在优化块中,临时结构变量在PLC初始化时接收初始值。
描述
在非优化块中,临时变量不进行初始化,换句话说,如果在使用之前没有被初始化,临时变量将被赋予一个随机值,临时存储区的变量仅在一个周期内有效。
图.1
“typeMotorData”数据类型中定义的默认值被DB中定义的变量用作起始值,例如在本例中定义的数据类型“Array[1..10]of typeMotorData”。
图.2显示了一个数据块结构体,DB中“motorField”为变量,数据类型为“Array[1..10]of typeMotorData”
图.2
在本例中,使用FOR指令来初始化DB中的变量“motorField”。应用SCL语言中的FOR指令,一直循环执行到“tempCount”到达设定值。由于数据类型是“Array[1..10]oftypeMotorData”的数组类型,必需循环10次(“1 TO 10 DO”)来初始化结构变量中的所有数组元素。
图. 3
注意:在已经声明的PLC数据类型中可以定义初始值,每一个基于PLC数据类型的变量都以此为起始值。如果你想对一个运行的设备进行程序复位,只需要初始化结构变量,在从STOP到RUN的上电过程中,从装载存储区中调用初始值响应复位操作。
系统函数“READ_DBL”
使用扩展指令“READ_DBL”,同样可以初始化一个数据块的单个的变量。从装载存储区(MMC卡)的DB中拷贝数据到数据存储区的目标DB中,这一方法在下面的情形中也是特别有用的:
补充知识:
创建PLC数据类型
描述 使用SIMATIC S7-1500控制器用户可以创建PLC 数据类型。这些数据类型定义了数据结构可在程序中多次使用。这意味着 PLC 数据类型是与 SIMATIC S7-300/400 中的用户自定义数据类型 (UDT) 相对应的。在"PLC Data Types" 文件夹下创建数据类型。
说明
创建PLC数据类型更为详细的描述请参考STEP7(博途)的在线帮助。
例如,可以使用PLC数据类型配置一个数据块。通过此操作使得数据块获得一个预先定义的结构。
下面是使用PLC数据类型的优势。