(图片来源网络,侵删)
LAD和SCL均为(U))FILL_BLK指令(U)FILL_BLK指令是当EN条件满足时,实现用输入变量批量填充输出区域的功能FILL_BLK和UFILL_BLK的区别是UFILL_BLK不会被中断打断,并且最多16kB的数据量如图1所示为指令详情,如图2所示为指令位置图1 指令位置图2 指令详情注意:1. IN只能是基本数据类型,或者常数,不能是Struct、UDT、DTL等复杂数据类型2. OUT可以是和IN相同类型的数组中的元素,例如图3中的\"DB27\".Static_1[0],TIA 博途 V14之后也可以是Struct、UDT中的连续相同数据类型的变量,例如图3中的\"DB27\".Static_2.Static_1如果I、Q区是UDT类型的连续相同数据类型的变量,OUT也支持该变量此外,如果IN是常数,IN只支持OUT数据范围的常数例如,如果OUT是INT类型,则IN的范围为-32768~32767图3 DB27详情图4 Q点详情3. COUNT是传输个数,可以是正整数的常数,如果是变量,数据类型支持USINT、UINT、UDINT4. 如果接收区域的变量个数小于COUNT,则只传送可接收的区域的数据如果激活指令的ENO功能,则ENO=False(U)FILL_BLK的使用实现功能:清空图3的DB27和图4的Tag_2中的所有变量,如图5所示图5 例子程序
0 评论