功能描述
数据类型为 BYTE、WORD、DWORD 或 LWORD 的变量解析为单个位,并保存在 ARRAY of BOOL、匿名 STRUCT 或仅包含有布尔型元素的 PLC 数据类型中。
IN接口处的实参必须和OUt处的实参数据长度相同。比如IN接口处的实参数据类型为byte,则OUT处的实参为8个元素。
执行条件
1.使能输入 EN 的信号状态不能为“0”。
2.ARRAY、STRUCT 或 PLC 数据类型中包含的 BOOL 元素数目和IN接口的实参数据长度相等。
接口参数
参数 | 声明 | 数据类型(1200) | 数据类型(1500) | 存储区 | 说明 |
---|---|---|---|---|---|
EN | Input | BOOL | BOOL | I、Q、M、D、L 或常量 | 使能输入 |
ENO | Output | BOOL | BOOL | I、Q、M、D、L | 使能输出 |
IN | Input | BYTE, WORD, DWORD | BYTE, WORD, DWORD, LWORD | I、Q、M、D、L | 解析的位序列 |
OUT | Output | ARRAY[*] of BOOL、STRUCT 或 PLC 数据类型 *:8、16、32 或 64 个元素 | ARRAY[*] of BOOL、STRUCT 或 PLC 数据类型 *:8、16、32 或 64 个元素 | I、Q、M、D、L | 保存 ARRAY、STRUCT 或 PLC 数据类型中的各个位 |
程序举例
1.创建DB块
2.创建FB块,添加功能指令,并添加到OB1调用。IN接口的实参数据长度要和OUT接口的实参数据长度相等。
仿真演示
当IN接口的实参为16进制的12时,通过进制转换,16进制的12转换为10进制为18。
18= 16 + 2 = 2 * *4 +2 ** 1。解析后的数据结构为0100 1000 0000 0000 0000 0000 0000 0000。OUT处的实参也就得出来了