直接跳到内容
本页目录

EXTRACT(位提取指令)

  • 位置

sys_utils.aclib

  • 功能说明

位提取指令,将输入变量IN的第N位输出,N从0开始计数。

img

  • 参数说明
输入参数数据类型描述常量
INDWORD输入值×
NBYTE输入值待提取的位数,从0开始×
输出参数数据类型描述常量
EXTRACTBOOL第N位值×
  • 示例:提取常量81(二进制:2#1010001)的第4位,输出值为TRUE。

    • CFC示例

    img

    • ST示例

      img

    • LD示例

      img

    • IL示例

      img

PUTBIT

  • 位置

sys_utils.aclib

  • 功能说明

位赋值指令,将输入值IN的第N位置为指定值BITVALUE,N从0开始计数。

img

  • 参数说明
输入参数数据类型描述常量
INDWORD输入值×
NBYTE待修改位,从0开始×
BITVALUEBOOL指定位的值×
输出参数数据类型描述常量
PUTBITDWORD输出值×
  • 示例

  • CFC示例

    img

  • ST示例

    img

  • LD示例

    img

  • IL示例

img

PACK

  • 位置

sys_utils.aclib

  • 功能说明

位整合指令,将八个 BOOL 类型的字节输入 BIT0, BIT1, ..., BIT7 转化为 BYTE。与UNPACK指令相反。

img

  • 参数说明
输入参数数据类型描述常量
BIT0BOOL第0位值×
BIT1BOOL第1位值×
BIT2BOOL第2位值×
BIT3BOOL第3位值×
BIT4BOOL第4位值×
BIT5BOOL第5位值×
BIT6BOOL第6位值×
BIT7BOOL第7位值×
输出参数数据类型描述常量
PACKBYTE整合值×
  • 示例:将 TRUE , FALSE , TRUE , FALSE , FALSE , TRUE , FALSE , FALSE进行整合,结果是37(2#100101)

  • CFC示例

img

  • ST示例

    img

  • LD示例

    img

  • IL示例

    img

UNPACK

  • 位置

sys_utils.aclib

  • 功能说明

位拆分指令,将输入IN的第7位->第0位依次取出赋值给BIT7->BIT0。与PACK指令相反。

img

  • 参数说明
输入参数数据类型描述常量
INBYTE输入值×
输出参数数据类型描述常量
BIT0BOOL第0位值×
BIT1BOOL第1位值×
BIT2BOOL第2位值×
BIT3BOOL第3位值×
BIT4BOOL第4位值×
BIT5BOOL第5位值×
BIT6BOOL第6位值×
BIT7BOOL第7位值×
  • 示例:常量37(2#100101),位拆分后,BIT0~BIT1的值:TRUE , FALSE , TRUE , FALSE , FALSE , TRUE , FALSE , FALSE

  • CFC示例

    img

  • ST示例

    img

  • LD示例

    img

  • IL示例

img

SIZEOF

  • 功能说明

此运算符是IEC 61131-3标准的一个扩展,用于获取变量需要的字节数量。SIZEOF 运算符总是产生一个UDINT的输出。

  • 示例:如下数组,SIZEOF结果是16

    • CFC示例

      img

    • ST示例

      img

    • LD示例

      img

    • IL示例

img

EXTRACT(位提取指令)已经加载完毕