- {{item.name}}
8通道HART模拟量输入模块如何发送HART命令
- 0
- 1058
- 1174
1 概述
HART 通信是在4-20mA信号上叠加一个幅值为±0.5mA的正弦波信号,通过调整正弦波的频率来表示信号0和1,如下图所示1200Hz表示1,2200Hz表示0。HART通信是基于请求/响应的方式,即主站向从站发送请求命令,从站收到请求命令后,将数据返回给主站。
图1-1 叠加在4-20mA上的Hart信号
HART命令可以分为以下三类:
分类 | 特点 | 举例 |
通用HART命令 | 所有HART仪表都必须支持 | 0:读取厂家、设备、版本等标识 |
1:读取主过程变量及其单位 | ||
2:读取输出电流及其百分比 | ||
3:读取输出电流及四个预定义的动态变量 | ||
13/18:读、写取设备标签、描述和日期 | ||
常用HART命令 | 通常情况下,HART仪表都支持 | 35:设定量程范围 |
42:对仪表进行主复位 | ||
49/50:写动态变量分配 | ||
40:强制电流输出 | ||
设备特定的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返回的具体内容如下:
字节 | 含义 | MAG6000 |
Byte 0-3 | 输出电流 (mA) | 输出电流 (mA) |
Byte 4 | PV 单位 | m3/s |
Byte 5-8 | PV数值 | 瞬时流量 |
Byte 9 | SV单位 | m3 |
Byte 10-13 | SV 数值 | 累计量1(正向累计量) |
Byte 14 | TV 单位 | m3 |
Byte 15-18 | TV 数值 | 累计量2(反向累计量) |
Byte 19 | QV单位 | |
Byte 20-23 | QV数值 | 未分配 |
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 读取到的数据
其它通信状态,含义如下图所示:
3 HART设备相关命令的使用
以西门子质量流量计MASS6000为例,说明如何通过设备相关命令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
4 附录—早期版本HART模块通信
6ES7331-7TF00-0XB0和6ES7331-7TF01-0XB0 (Firmware Version < 3.0)不支持紧凑信息格式,HART模块只能通过下图所示的透明信息格式来发送命令。
举例:8通道HART AI 模块6ES7 131-7TF00-0AB0,第5个通道连接了一台Probe LU超声波物位计。
4.1 硬件组态
注:如果电脑上没有安装PDM软件,不必插入HART Device,因为此处插入HART Device的目的仅仅是通过双击该图标可以进入该仪表的参数化界面而已。
图4-1 在Hart模块下插入仪表
图4-2 Hart模块的参数设置
4.2 通过命令0获取制造商和设备信息
创建DB3,用来存放命令0对应的数据桢,内容如下:
Preamble:前导字符,可以为5-20个byte,一般选择5个即可;
Start_Address:必须设置为16#2,表示该书据桢为短桢,接下来发送的命令代码为0;
CHK:表示数据桢的校验,系统会自动计算,此处默认为0即可;
图4-3 创建命令DB
HART模块6ES7 331-7TF00-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 |
由于超声波液位计连接在通道5,所以需要通过SFC 58 的RECNUM=88(即16#58)发送命令,然后通过SFC59的RECNUM=89(即16#59)接收仪表返回的数据。
通过SFC58将DB3中的数据发送给HART设备,返回数据在DB2中(DB2的符号名为Read)。
图4-4 调用SFC58/59
通过命令0可以读取设备标识,包括下列内容:
字节 | 含义 |
Byte 0 | "254" (expansion) |
Byte 1 | manufacturer identification code |
Byte 2 | manufacturer's device type code |
Byte 3 | number of preambles required |
Byte 4 | universal command revision |
Byte 5 | device-specific command revision |
Byte 6 | software revision |
Byte 7 | hardware revision |
Byte 9-11 | device ID number |
Byte 12 ** | common-practice command revision |
Byte 13 ** | common tables revision |
Byte 14 ** | data link revision |
Byte 15 ** | device family code |
在DB2中可以监视到命令0返回的信息,如下所示,其中
manufacturer identification code:16#58
manufacturer's device type code:16#CD
device ID number:16# 402646,即4204102
图4-5 读取到的仪表标识信息
可以通过SIMATIC PDM软件验证:
图4-6 PDM读取到的仪表标识信息
4.3 通过HART通用命令3读取过程数据
首先,创建命令发送数据块DB1,用来存放命令3对应的数据
Start_Address:必须设置为16#82,表示该书据桢为长地址帧,数据桢中必须包括厂家、设备类型及设备ID;
Cmd: 为命令代码,每个HART仪表支持的HART命令可以在手册中查到。
图4-7 创建DB1,并将标识信息写入
然后在程序中调用SFC58和SFC59,发送命令DB1中存储的命令,同时在DB2中接收返回的数据:
图4-8 调用SFC58/59
命令3为HART通用命令,所有厂家的HART设备都支持该命令,通过该命令可以读取设备的输出电流,以及四个过程变量PV、SV、TV和QV,不同仪表对四个变量有不同的定义。对于西门子超声波液位计Probe LU,命令3返回的具体内容如下:
字节 | 含义 | 超声波液位计Probe LU |
Byte 0-3 | 输出电流 (mA) | 输出电流 (mA) |
Byte 4 | PV 单位 | m |
Byte 5-8 | PV数值 | 液位 |
Byte 9 | SV单位 | m |
Byte 10-13 | SV 数值 | 空高 |
Byte 14 | TV 单位 | m |
Byte 15-18 | TV 数值 | 距离 |
Byte 19 | QV单位 | m3 |
Byte 20-23 | QV数值 | 体积 |
图4-9 通过命令3读取到的数据
关键词
剩余80%未阅读,请登录后下载/查看文档
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
- 西门子HART 智能仪表通过HART双通道模板接入PLC 系统(更新版)
- 带 mA/HART 传感器输入的 SITRANS LT500
- PCS 7 V7.0 Sp1系统下如何读取Hart卡件中的Hart变量
- 如何通过CP343-1采集无线HART仪表的数据
- SITRANS Probe LU240 (mA/HART)
- SIPART PS2 - 4 至 20 mA/HART
- 支持 HART 的 SITRANS FUS060
- SITRANS TH100/TH100Slim/TH320/TH420/TR320/TR420/TF320/TF420,4 到 20 mA/HART
- SITRANS LR150, HART
- SITRANS LR110, HART
{{item.nickName}}