西门子博图功能指令位序列 ARRAY 的元素解析为单个位

位序列 ARRAY 的元素解析为单个位

西门子博图功能指令位序列 ARRAY 的元素解析为单个位

位序列 ARRAY 的元素解析为单个位

功能描述

将 BYTE、WORD、DWORD 或 LWORD 数据类型的 ARRAY 分解为单个位,并保存在元素类型仅为布尔型的 ARRAY of BOOL、匿名 STRUCT 或 PLC 数据类型中。

在 COUNT_IN 参数中,可指定待解析源 ARRAY 中的元素数目。

IN 参数中源 ARRAY 的元素数量可能多于 COUNT_IN 参数中的指定数量。

要保存所解析位序列的各个位,ARRAY of BOOL、匿名 STRUCT 或 PLC 数据类型中必须包含足够的元素数量。即OUT实参数据长度要大于或者等于需要解析位序列的数据长度。具体请参看仿真情况

西门子博图功能指令位序列 ARRAY 的元素解析为单个位

执行条件

  1. 使能输入 EN 的信号状态不能为“0”。
  2. 源 ARRAY 中的元素数量不能少于 COUNT_IN 参数中的指定数量。
  3. 目标 ARRAY 的索引以 BYTE、WORD、DWORD 或 LWORD 限制开始。

接口参数

参数 声明 数据类型(1200) 数据类型(1500) 存储区 说明
EN Input BOOL BOOL I、Q、M、D、L 或常量 使能输入
ENO Output BOOL BOOL I、Q、M、D、L 使能输出
IN Input ARRAY[*] of <位序列> 的元素 ARRAY[*] of <位序列> 的元素 I、Q、M、D、L 所解析的 ARRAY of <位序列>
COUNT_IN Input USINT, UINT, UDINT USINT, UINT, UDINT, ULINT I、Q、M、D、L 用于对要解析的源 ARRAY 的元素数量进行计数
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 数据类型中的各个位

其中IN接口的实参可以是ARRAY[*] of <位序列> 的第n个 元素,比如 例子中的**“DataClass2”.Data3.ArrayByte[2]**,OUT接口处的实参也是一样。

另外IN接口处的实参不能直接是ARRAY[*] of <位序列>, 而是在Struct结构下创建此数据结构
西门子博图功能指令位序列 ARRAY 的元素解析为单个位

程序举例

1.创建DB块,添加数据结构

西门子博图功能指令位序列 ARRAY 的元素解析为单个位

2.创建FB块,添加功能指令,并在OB1调用

西门子博图功能指令位序列 ARRAY 的元素解析为单个位

程序演示

西门子博图功能指令位序列 ARRAY 的元素解析为单个位

将操作数的前两个字节Byte解析为单个位bool(16)。第一个字节为16进制的2,转换为二进制为0100 0000.第二个字节为16进制的13,转换为二进制为1100 1000

上一篇:PostgreSQL 数据库备份脚本


下一篇:Highcharts属性介绍