1 概述
HART 通信是在4-20mA上叠加一个幅值为±0.5mA的正弦波,通过正弦波的来表示0和1,如下图所示1200Hz表示1,2200Hz表示0。
HART通信是基于请求/响应的,即主站向从站发送请求命令,从站收到请求命令后,将数据返回给主站。
图1-1 叠加在4-20mA上的Hart
接下来以通用HART命令3和设备特定HART命令171为例,介绍西门子8通道HART通信模块6ES7 331-7TF01-0AB0,如何发送命令给仪表,如何接收仪表返回数据。
2 HART通用命令3的使用
以西门子电磁流量计MAG6000为例,说明如何通过HART通用命令3读取瞬时流量和累计流量。
相关及硬件:
STEP V5.5 SP2
6ES7 153-0BA02-0XB0
6ES7 331-7TF01-0AB0 (E-Stand: 3)
电磁流量计MAG 6000
HART 通信模块 FDK: 085U0226 V2.01
图2-1 相关硬件
命令3为HART通用命令,所有厂家的HART设备都支持该命令,通过该命令可以读取设备的输出电流,以及四个动态变量PV、SV、TV和QV,不同仪表对四个变量有不同的定义。
对于西门子电磁流量计MAG6000,命令3返回的具容
2.1硬件组态及设置
打开硬件组态窗口,在ET200M下HART模块,如下图所示:
图2-2 硬件组态
图2-3 Hart模块
如果该电脑上安装了SIMATIC PDM,可以在相应通道HART Field Device,这样双击该通道即可进入该仪表的参数化界面。
HART 6ES7331-7TF01-0AB0时,一定要V3.X版本的,如下图所示。
因为只有V3.X版本模块发送HART命令时,支持表2-1所示的紧凑信息格式:
图2-4 选择V3.x版本的Hart模块
表2-1 紧凑信息格式
注意:同样是HART模块6ES7331-7TF01-0AB0,如果E-Stand版本小于3,那么在硬件组态时需要选择下图所示的模块。
在发送HART命令时,必须使用信息格式(除命令0外,其它命令必须使用HART长地址,即必须包含厂家ID、设备ID等地址信息),具体操作请参考目录1。
下文以紧凑型数据格式为例进行说明。
图2-5 低版本的Hart模块
设置模块属性,如下图所示:
图2-6 Hart模块的参数设置
设置完成之后,编译保存并下载到CPU中。
2.2 编程调试
首先,按照如下结构,创建一个共享DB(例如DB1):
图2-7 创建DB1
接下来,创建数据返回数据块DB2,内容如下:
图2-8 创建DB2
后,在OB1中调用SFC58和SFC59。
HART模块6ES7 331-7TF01-0AB0有8个通道,每个通道可以连接一块HART仪表。
每个通道对应两个记录,分别用于命令的发送和数据的接收,对应SFC58/59的RECNUM管脚。
通道1
通道2
通道3
通道4
通道5
通道6
通道7
通道8
发送
80
82
84
86
88
90
92
94
接收
81
83
85
87
89
91
93
95
现在我们将电磁流量计连接在通道1,所以需要通过SFC 58 的RECNUM=80(即16#50)发送命令,然后通过SFC59的RECNUM=81(即16#51)接收仪表返回的数据。
图2-9 调用程序
在变量表中进行调试,首先将M0.1置1,PLC通过SFC58发送命令3给仪表,然后将M0.3置1,接收仪表返回数据。
(注意:不要将M0.1和M0.3同时置1。
)
图2-10 读取到的数据
其它通信状态,含义如下图所示:
西门子主机模块销售代理