HART设备相关命令的使用
以西门子流量计M6000为例,说明如何通过设备相关命令171读取累积量。
命令代码 | 命令 | 返回数据 |
171(读取累计量) | Byte 0 累计量序号: 0:返回值为累计量1 1:返回值为累计量2 | Byte 0 累计量单位 Byte1-4 累计量数值 Byte 5 累计量序号 |
累积量1和2的含义可以通过流量计菜单进行设置,在该例中累计量1对应正向累积量,如下图所示:
图3-1设置累积量1
累积量2对应正向体积累积量,如下图所示:
图3-2设置累积量2
(1)创建命令发送数据块DB1,用来存放命令171对应的数据帧。
图3-3创建DB1
其中DB3.DBB4为命令代包含的数据,比如发送命令171时需要1个byte来读取累计量1还是累计量2,如下表所示:
命令代码 | 命令 | 返回数据 |
171 (读取累计量) | Byte 0 累计量序号 0:返回值为累计量1 1:返回值为累计量2 | Byte 0 累计量单位 Byte1-4 累计量数值 Byte 5 累计量序号 |
DB3.DBB3为命令中包含的数据的长度,比如命令171需要1个byte,命令3中不包含任何数据。
(2)创建DB2用于接收命令171的返回数据
图3-4创建DB2
(3)在OB1中通过SFC58/59发送命令和接收数据
图3-5调用SFC58/59
(4)在变量表中进行调试
将M0.1置1,PLC通过SFC58发送命令171给仪表:
图3-6在变量表中置位M0.1
将M0.3置1,通过SFC59读取累计量1,如下图所示:
图3-7读取到的累积量1
修改DB3中的命令参数,实现通过命令171读取累计量2:
图3-8读取累积量2的命令171
将M0.3置1,通过SFC59读取累计量2,如下图所示:
图3-9读取到的累积量2