如何使地址指针化?

说明:
使用地址指针化,可以通过指针变量分别去改变地址区域。n

地址指针化的用途
地址指针化允许通过一个变量(指针变量)去调用控制器地址区域中的多个存储区域。不必为这些多个存储区域定义独立的变量,就可以对它们进行读写操作。对于处理大量的数据,这是一种非常有效的方法。n

应用要求

  • 基于 Windows 的设备
    指针化对于使用 SIMATIC WinAC,SIMATIC S7-300,SIMATIC S7-400 或者 SIMOTION 作为控制器时才有效。n
  • 文本设备
    地址指针化只对 OP 7,OP 17 和 TD 17 有效。
    可以使用 SIMATIC S7-300,SIMATIC S7-400 或者 SIMATIC S7-NC 作为控制器。

注意:
存储区域中的值仅在下一个变量更新周期才能被有效地读到。
例如,若在脚本中使用指针变量,每次改变存储区域后不要直接访问其内容。n

注意:
避免在脚本内改变指针变量的索引值和访问这些变量。
改变指针变量的索引值并且访问这些变量(例如在相同的脚本内部)可能导致数据不一致!n

样例程序:
使用间接寻址可以配置如下这种应用情况:
操作员从选择列表中选择多台机器中的一个。根据操作员的选择,相应机器的过程值显示在输入或输出域中。
n

序号 操作说明
1 创建变量 n

  • 在 ProTool 中创建集成项目(例如 TP270 10")。n
  • 在项目树中单击“Tags”并且创建数据类型为“INT”(DB1.DBW10)名称为“Multiplex”的变量。n
  • 然后创建如下变量,它们的地址由指针变量(Multiplex)在运行时来指定:
    n
    变量 数据类型 地址
    Set_rotation_speed INT DB [mux] DBW0
    Actual_rotation_speed INT DB [mux] DBW2
    Current INT DB [mux] DBW4
    Temperature INT DB [mux] DBW6
    Motor_on BOOL DB [mux] DBX 8.0
    Fault BOOL DB [mux] DBX 8.1

如何使地址指针化?
图 01

2创建一个文本列表 n

  • 在符号列表图标上右键单击,然后选择“Text/Graphic List insert...”。n
  • 指定“Motors”为符号列表名称并输入如下文本作为参数(值): n

    文本

    1Motor 1
    2Motor 2
    3Motor 3

如何使地址指针化?
图 02

3创建一个画面并添加文本域 n

  • 创建一个新画面并定义它为起始画面。n
  • 添加六个文本域,名称如下:
    - "Drive"
    - "Set rotation speed"
    - "Actual rotation speed"
    - "Temperature"
    - "Current"
    - "Fault"

如何使地址指针化?
图 03

4添加输入输出域 n

  • 添加一个输入域和四个输出域。n
  • 连接“Set_rotation_speed”变量到输入域。n
  • 连接如下四个变量到输出域:
    - "Actual_rotation_speed"
    - "Temperature"
    - "Current"
    - "Fault"n
  • 添加一个组合列表框到画面,并连接指针变量“Multiplex”和“Motors”符号列表。

如何使地址指针化?
图 04

5添加按钮和矩形 n

  • 创建一个矩形,它能覆盖所有的插入对象,并将其置于背景。为此,右键单击并选择“Align > To The Back”。n
  • 然后添加一个开关类型的状态按钮。对于按钮的“Pressed”状态设定标识为“ON”,“Released”状态对应为“OFF”。n
  • 为按钮连接变量“Motor_on”。n
  • 添加四个文本域作为单位标识“rpm”,“°C”和“A”。

如何使地址指针化?
图 05

6配置控制器 n

  • 在 STEP 7 中配置控制器(例如 CPU315 2-DP)并连接面板到控制器。n
  • 按照如下参数创建数据块“DB1”:
    n
    名称 数据类型 地址
    Set_Rotation_speed INT +0.0
    Actual_Rotation_speed INT +2.0
    Current INT +4.0
    Temperature INT +6.0
    Motor_on Boolean +8.0
    Fault Boolean +8.1
    Mux INT +10.0
  • 将该数据块制作两个拷贝并将其名称修改为“DB2”和“DB3”。

如何使地址指针化?
图 06

7启动运行系统

  • 将工程下载到控制器或 S7-PLCSIM 并切换 CPU 到 RUN。
  • 下载工程(ProTool)到面板或启动运行系统。
  • 选择“Motor_1”并输入设定转速值。
  • 然后在选择域中选择“Motor_2”。

如何使地址指针化?
图 07

功能
操作员通过文本列表选择一个电机。通过文本列表的索引,一个合适的值被读入。基于该数值,相关的 DB 块被打开并且高亮显示数据。

下载:
样例工程包含如上的示例。使用的面板是 TP270 10"。

如何使地址指针化? 附件_1:ProTool_AddressMux.zip ( 283 KB )

可运行及测试环境:
下表列出了用于创建本文档及校验所述功能已使用的组件。

组件 软件及版本
PC operating system Microsoft WindowsXP SP2
Standard tools -
Engineering tool -
HMI software ProTool V6.0 SP3 HF3
HMI system -

关键词:
变量指针化,地址指针化,间接寻址

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc337605.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论