西门子一级代理商
西门子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)使用程序状态功能监视数据块
点击数据块工具栏上的@按钮,自动切换到“数据视图”显示方式,数据块内的存储单元在线的数值在“实际值”列中显示。程序状态被激活后,不能切换为“声明视图”方式。
程序状态结束后,“实际值”列将显示程序状态之前的有效内容,在线数值不能传送到离线的数据块。
有一种力量,正在支持我们前行,源于博大精深,同心致远。
浔之漫智控技术(上海)有限公司长期低价销售西门子PLC200.300.400.S1200.S1500.ET200.Smart200,6SE70变频器.70备件.6SY7000/7010.C98面板,6RA70/28/24直流调速器,6XV电缆,6EP电源,3RW30/40/44软启动器,6AV人机触摸屏,LOGO!,6SL系列G110.G120.S120.V10.V20,MM440/430/420变频,6DR阀门定位器,7ML.7ME.7MF.7MH仪表仪器,6FC.6SN伺服数控,电机等西门子系列产品
《销售态度》:质量保证、诚信服务、及时到位!
《销售宗旨》:为客户创造价值是我们永远追求的目标!
《服务说明》:现货配送至全国各地含税(13%)含运费!
《产品质量》:原装**,全新原装!
《产品优势》:专业销售 薄利多销 信誉好,口碑好,价格低,货期短,大量现货,服务周到!
真心的对待每一份报价,真诚的对待每一位客户。
(1)结构的生成
可以在数据块中或逻辑块的变量声明表中定义结构,下面介绍在数据块中定义的方法。在图4-7的数据块DB4中,同时定义了一个数组和一个结构。名为STACK的结构由3个不同数据类型的变量组成。
选中图4-7“ARRAY”下面的“INT”,按回车键,在该单元的下面生成一个空白行。在“名称”列输入结构的名称“STACK”,用鼠标右键点击空白行的“类型”列单元,执行弹出的快捷菜单中的“复杂类型”→“STRUCT”(也可以直接输入STRUCT),连续按回车键后,在该行的下面出现新的行,新的行下面一行增加的“END_STRUCT”(结束结构)是自动生成的,表示该结构的结束。在新的行输入结构的第一个元素“AMOUNT”和它的数据类型。如果没有输入该元素的初值,将会自动生成默认的初值0。用同样的方法生成结构的其他元素。选中结构的“END_STRUCT”单元后按回车键,在下面出现的新的行中定义一个名为Fault、长度为20个字符的字符串。
图4-7的STACK所在行的地址列中的 12.0表示结构在数据块中的起始地址为DBB12。结构各元素的地址列中的“ 2.0”等表示结构元素在结构中的相对起始地址,“=8.0”表示该结构一共占用8B。*后一行地址列中的“=42.0”表示DB4中的数组、结构和字符串一共占用42B。可以为结构中各个元素设置初始值和加上注释。在图4-7中输入实数的初始值102.4后,被自动转换为1.024000e 002(1.024×10²)。
用鼠标点击结构的第一行或*后一行(即有关键字STRUCT或END_STRUCT的行)的地址列中的单元,将选中整个结构,结构各行的背景变为黑色,字变为白色(称为反色)。若要选中结构中的某一参数,用鼠标点击该行的地址单元,仅该行反色。
(2)访问结构中的元素
可以用结构中的元素的**地址或符号地址来访问结构中的元素。访问结构中的数据时,需要指出结构所在的数据块的名称、结构的名称,以及结构元素的名称,数据块TANK 内结构STACK的元素AMOUNT应表示为“TANK”.STACK.AMOUNT。因为AMOUNT从数据块TANK(DB4)的第12号字节开始存放,它的**地址为DB4.DBW12。
(3)用结构传递参数
如果在块的变量声明表中,声明形参的类型为数组或结构,可以将整个数组或结构而不是它们的某个元素作为参数来传递。调用块时也可以将某个数组或结构的元素赋值给同一类型的参数。
将复杂数据类型的变量作为参数传递时,作为形参和实参的两个变量必须具有相同的数据结构,例如两个结构应具有相同数据类型的结构元素和相同的排列顺序。
用户定义数据类型的生成与使用
选中SIMATIC管理器左边窗口中的“块”,执行菜单命令“插人”→“S7块”→“数据类型”,生成新的UDT。在生成UDT的元素时,可以设置它的初始值和加上注释。从表面上看,图4-9的UDT1与图4-7中定义的结构STACK完全相同,但是它们有本质的区别。
结构(STRUCT)是在数据块的声明视图方式或在逻辑块的变量声明表中与别的变量一起定义的,但是UDT必须在特殊的数据块内单独定义,并单独存放在一个数据块内。生成UDT后,在定义变量时将它作为一个数据类型来多次使用,例如在变量声明表中定义一个变量,其数据类型为UDT1,名称为ProData(见图4-10)。由该例可以看出,UDT在数据块中的使用方法与其他数据类型(例如INT)是一样的。
UDT可以在逻辑块(FC、FB和OB)的变量声明表中作为基本数据类型或复杂数据类型来使用,或者在数据块(DB)中作为变量的数据类型来使用。
要访问数据块Heater中数据类型为UDT1的结构ProData中的元素AMOUNT,其符号地址为“Heater”.ProData. AMOUNT。
可以将具有用户定义数据类型的变量作为参数来传递。如果在块的变量声明表中,声明形参的数据类型为UDT1,在调用块时应使用具有相同数据类型的变量来传递参数。在调用块时也可以将用户定义数据类型中的元素赋值给同一类型的形参。
用户定义数据类型也可以用来作为生成具有相同数据结构的数据块的摸板。
西门子网上总代理. .西门子网上代理 ..西门子代理. .西门子总代理 ..
西门子全球总代理. .西门子亚洲总代理.. 西门子中国总代理. .西门子上海总代理
西门子松江总代理.. 西门子工业总代理 ..西门子工业自动化总代理.. 西门子驱动技术总代理
西门子工业自动化产品商务总代理.. 西门子总代理旗舰代理商. .西门子授权指定总代理
西门子推荐**中国总代理.. 西门子总代理**经销商. .西门子**合作伙伴.. 西门子PLC总代理
西门子SIMATIC S7 系列总代理.. 西门子逻辑控制模块LOGO!总代理.
西门子SITOP系列直流电源总代理24V DC.. 西门子HMI 触摸屏总代理.. 西门子交流变频器总代理..
西门子全数字直流调速装置总代理 西门子数控总代理 西门子伺服总代理 西门子总代理
西门子代理.. 西门子总代理旗舰代理商 ..西门子电缆总代理