西门子PLC模块代理商|昆明
西门子PLC数组的生成与使用教程
(1)生成数组
可以在数据块中定义数组,也可以在逻辑块的变量声明表中定义它。下面介绍在数据块中定义的方法。在SIMATIC管理器中用菜单命令“插入”→“S7块”→“数据块”生成数据块DB4。双击打开它,默认的显示方式为声明视图方式。声明视图用于定义、删除和修改共享数据块中的变量,*它们的名称、数据类型和初始值。
在新生成的数据块的一行和后一行标有STRUCT(结构)和END_STRUCT(结构结束)。在这两行中间有一个自动生成的临时占位符变量。
将该行的名称改为数组的名称“PRESS”(见图4-7),变量的名称只能使用字母、数字和下划线,不能使用中文。用鼠标右键点击该行的“类型”列,执行弹出的快捷菜单中的“复杂类型”→“ARRAY”
(数组)命令,在出现的“ARRAY 【】”的方括号中输入
“1..2,1.3”,即*二维数组PRESS有2×3个元素。在“注释”列按回车键,在AR-RAY下面一行的“类型”列输入“INT”,定义数组元素为16位整数,INT所在行的“地址”列自动生成的“*2.0”表示一个数组元素占用2B。地址列的“ 12.0”表示该数组的6个元素一共占用12B,地址列的内容是自动生成的。可以用中文给每个变量加上注释。
数组PRESS的1个元素为PRESS【1,1】(见图4-6和图4-8),4个元素为PRESS【2,1】,6个元素为PRESS【2,3】。
(2)给数组元素赋初值
STEP7根据变量的数据类型给出默认的初始值,用户可以修改初始值。定义数组时可以在ARRAY所在的行的“初始值”列中给数组元素赋初值,各元素的初值之间用英语逗号分隔,例如上例中6个元素的初值可以写成“22,30,-5,0,0,0,结束时不用标点符号。
若相邻元素的初值相同可以简写,上述初值可以简写为“22,30,-5,3(0)”(见图4-7)。
执行菜单命令“视图”→“数据视图”,切换到数据视图方式,将显示数组和结构中各元素的初始值和实际值(见图4-8)。
在数据视图方式,显示变量的初始值和实际值,用户只能修改变量的实际值,修改后需要下载数据块。如果用户输入的实际值与变量的数据类型不符,将用红色显示错误的数据。在数据视图方式,用菜单命令“编辑”→“初始化数据块”,可以恢复变量的初始值。1 800
(3)访问数组中的数据
本例中的数组是数据块的一部分,访问数组中的数据时,需要指出数据块和数组的名称,以及数组元素的下标,例如”TANK”.PRESS【2,1】。其中的TANK是数据块DB4的符号名,PRESS是数组的名称,它们用英语的句号分开。方括号中是数组元素的下标,该元素是数组中的4个元素(见图4-8)。
(4)用数组传递参数
如果在块的变量声明表中声明形参的类型为ARRAY,可以将整个数组作为参数来传递(见图4-23)。在调用块时也可以将某个数组元素赋值给同一数据类型的参数。
(5)用数组定义数据块的大小
数据块的大小与数据块中定义的变量的个数和数据类型有关。如果需要一个容量很大的数据块,可以用数组来定义数据块的大小。如果在数据块中只定义一个数组ARRAY 【1..500】,数组元素的数据类型为字,则该数据块的大小为1000B。可以用**地址和任意的简单数据类型来访问该数据块中的存储单元。如果访问数据块中未定义的,将会出现错误信息“读取时发生区域长度错误”。
(6)设置数据块的参数
用鼠标右键点击某个数据块,执行出现的快捷菜单中的“对象属性”命令,在出现的属性对话框的“常规-2部分”选项卡中,可以用复选框设置数据块的属性。各参数具体的意义见在线帮助。
(7)使用程序状态功能监视数据块
点击数据块工具栏上的@按钮,自动切换到“数据视图”显示方式,数据块内的存储单元在线的数值在“实际值”列中显示。程序状态被后,不能切换为“声明视图”方式。
程序状态结束后,“实际值”列将显示程序状态之前的有效内容,在线数值不能传送到离线的数据块。