(U)FILL_BLK
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、UDINT。
4. 如果接收区域的变量个数小于COUNT,则只传送可接收的区域的数据。如果激活指令的ENO功能,则ENO=False。
(U)FILL_BLK的使用
实现功能:清空图3的DB27和图4的Tag_2中的所有变量,如图5所示。
图5 例子程序
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !