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