西门子LOGO 6ED1055-1MM00-0BA2 扩展模块
- 供应商
- 上海工智达电气技术有限公司
- 认证
- 报价
- ¥550.00元每台
- 西门子
- LOGO扩展模块
- LOGO
- 6ED1055-1MM00-0BA2
- 中国
- 净重0.132KG
- 手机号
- 15221760199
- 联系人
- 田子龙
- 所在地
- 上海市松江区科技园区平原街880弄65号201
- 更新时间
- 2024-10-19 07:05
位序列的组合与分解(lad和scl)包括如图1所示4个指令:
图1 指令位置
其中scatter(_blk)是将位序列(数组)分解成若干bool变量,gather(_blk)是将若干bool变量组合成位序列(数组)。
版本:
1. tia 博途 v14sp1开始,s7-1200 v4.2支持v1.0版本
2. tia 博途 v15开始,s7-1200 v4.2支持v1.1版本
scatter图2 scatter指令详情
v1.0版本:scatter指令是将位序列(byte、word、dword)分解成bool数组,其中byte分解成8bool元素的数组,word分解成16bool元素的数组,dword分解成32bool元素的数组。lad需要在下拉框“???”选择输入类型(byte、word、dword),scl无需选择。in是待分解的位序列变量,out是bool数组名,元素数量必须正好符合要求。
v1.1版本:out除bool数组之外,可以是struct、udt类型的变量,变量内是连续的8bool、16bool、32bool,out处填写struct、udt类型的变量名。
注:lad版本的scatter,如果调用该块的ob\fb\fc如果没有激活iec检查,in变量支持整数、字符、time、date、tod类型。
使用举例,如图3-5所示:
1. 将word变量"db66".static_1分解成array[0..15] ofbool变量"db66".static_2,将byte变量"db66".static_3分解成udt中的连续8个bool变量tag_3
图3 db66的定义
图4 q点在plc变量表的定义
图5 程序详情
scatter_blk图6 scatter_blk指令详情
v1.0版本:scatter_blk指令是将位序列(byte、word、dword)数组分解成bool数组。lad需要在下拉框选择输入数组in的类型(byte、word、dword),count_in的类型(usint、uint、udint),scl无需选择。in是待分解的位序列数组起始元素,count_in是待分解的位序列数组元素个数,out是接收的bool数组起始元素。
v1.1版本:out除bool数组之外,可以是struct、udt类型的变量,变量内是连续的bool变量,out处填写struct、udt类型内的接收的bool起始变量。
注意:
1. 当count_in超过了位序列数组元素个数,将不执行指令。如果激活指令的eno功能,则eno=false。
2. 当所需的boo数量超过了已有的bool数量,指令正常执行,多余部分被舍弃。
3. 当bool数组起始
使用举例,如图7-8所示:
1.将"db67".static_1,从第3个元素开始的2个byte变量分解成"db67".static_2,从第1个元素开始
2.将"db67".static_3,从第1个元素开始的2个byte变量变量分解成"db67".static_4,从这个struct个变量开始
图7 db67中的定义
图8 程序详情
gather图9 gather指令详情
v1.0版本:gather指令是将bool数组合并成位序列(byte、word、dword),其中8bool元素的数组合并成byte,16bool元素的数组合并成word,32bool元素的数组合并成dword。lad需要在下拉框选择输出类型(byte、word、dword),scl无需选择。in是bool数组名,元素数量必须正好符合要求,out是合并后的位序列变量。
v1.1版本:in除bool数组之外,可以是struct、udt类型的变量,变量内是连续的8bool、16bool、32bool,out处填写struct、udt类型的变量名。
使用举例,如图10-12所示:
1. 将array[0..15] ofbool变量"db68".static_1合并成word变量"db68".static_2,将udt中的连续8个bool变量tag_4合并成byte变量"db68".static_3
图10 db68中的定义
图11 i点在plc变量表的定义
图12 程序详情
gather_blk图13 gather_blk指令详情
v1.0版本:gather_blk指令是将bool数组合并成位序列(byte、word、dword)数组。lad需要在下拉框选择输出数组out的类型(byte、word、dword),count_in的类型(usint、uint、udint),scl无需选择。in是待合并的bool数组起始元素,count_in是合并后的位序列数组元素个数,out是位序列数组起始元素。
v1.1版本:in除bool数组之外,可以是struct、udt类型的变量,变量内是连续的bool变量,in处填写struct、udt类型内的接收的bool起始变量。
注意:
2. 当所需的boo数量超过了已有的bool数量,将不执行指令,如果激活指令的eno功能,则eno=false。
使用举例,如图14-15所示:
1.将"db69".static_2,从第1个bool元素开始合并成"db69".static_1,从第3个元素开始的2个byte变量
2.将"db69".static_4,从struct第1个元素开始合并成"db69".static_3,从第1个元素开始的2个byte变量
图14 db69中的定义
展开全文