n
HART协议使用频移键控技术,在正常的4到20毫安的信号上叠加一个频率信号进行数字通讯。该协议最初由美国罗斯蒙特公司开发,现已在多种场合得到广泛应用。基于全集成自动化系统概念开发的PCS 7系统广泛支持各种通讯协议,其中就包括Hart通讯协议。
在PCS 7 V7.0 Sp1以上版本有如下卡件可以提供HART通讯:n
ET200M | |
SM 331 AI2x0/4...20mA HART, EX | 6ES7 331-7TB00-0AB0 |
SM 331 AI8x0/4...20mA HART | 6ES7 331-7TF00-0AB0 |
SM 331 AI8x0/4...20mA HART | 6ES7 331-7TF01-0AB0 |
SM332 AO 8x0/4...20mA HART | 6ES7 332-8TF00-0AB0 |
SM332 AO 8x0/4...20mA HART | 6ES7 332-8TF01-0AB0 |
ET200ISP | |
4 AI I 2WIRE HART | 6ES7 134-7TD00-0AB0 |
4 AI I 4WIRE HART | 6ES7 134-7TD50-0AB0 |
4 AO I HART | 6ES7 135-7TD00-0AB0 |
注:如果需要使用6ES7 331-7TF01-0AB0、6ES7 332-8TF01-0AB0卡件,则接口模块必须选用6ES7 153-2BA02-0XB0。n
当使用如上卡件进行数据读取时,除可以通过标准的4~20mA信号循环读取到现场信号外,还有通过Hart通讯协议定义的命令字借助于SFC58/59功能块同步读取和发送Hart仪表或执行器的辅助变量。此外,在上述列出的Hart卡件中的6ES7 331-7TF01-0AB0,6ES7 332-8TF01-0AB0和所有的ET200ISP卡件本身还支持循环读取Hart辅助变量的功能。即可以通过硬件组态设置卡件本身循环读取Hart仪表或执行器上的Hart辅助变量,并循环的发送到AS控制器中对应的输入输出映象区中,程序中只需要读取这些映象区的数据即可,无需人为编辑复杂的程序实现这部分的Hart变量通讯,Hart通讯命令由Hart卡件自动完成。
本文将以ET200M中6ES7 331-7TF01-0AB0卡件为例来演示PCS 7系统下这些卡件的自动读取Hart变量的功能。关于手动编程实现Hart辅助变量的读取方式,请参考相关卡件的手册。n
1 硬件组态及设置
打开SIMATIC Manager,创建项目并插入AS控制器站,组态其硬件。硬件组态中加入ET200M从站,型号选择为6ES7 153-2BA02-0XB0。从硬件选择列表中选择SM 331 AI8x16bit HART(6ES7 331-7TF01-0AB0)加入到相应的槽中,并将该卡件下的Hart Field Device加入到该卡件的子槽中,如下图所示。n
图表 1. 硬件组态中加入Hart卡件及Hart Field Device对象n
注意:加入Hart Field Device时,必须选择右侧硬件选择列表中该卡件下对应的Hart Field Device对象,不能选择其它卡件下的Hart Field Device对象。更不建议直接在ET200M中复制/粘贴其它卡件下的该对象。
双击卡件,打开卡件属性组态对话框,并激活Input页面中的Hart通讯选型,如下图所示。n
图表 2. Input页面激活Hart功能n
切换到Hart Variable页面,在该页面下可以为当前Hart卡件组态最多8个循环读取的Hart辅助变量,每个Hart仪表最多4个Hart变量。这些变量由Hart卡件自动发出Hart通讯命令从相应连接的Hart仪表中读取,并循环发送到相应的映象区地址中。在变量的右侧即为该Hart变量对应的映象区地址,如下图所示。n
图表 3. Hart Variables中组态循环读取的Hart辅助变量n
每个通道对应的仪表PV/SV/TV/QV值,可以通过仪表参数化软件PDM对其进行设置,下图为SIEMENS TH300温变模块的默认设置,如果该仪表连接在卡件的通道0上,则上述地址560中即可读取Sensor1的温度值。n
图表 4. Hart仪表中辅助变量设置n
编译保存硬件组态后,右键点击该卡件编辑符号表,为添加的Hart辅助变量定义符号名,如下图所示。n
图表 5. Hart辅助变量定义符号名n
注意:从上图可以看出,在卡件中为其分配的Hart辅助变量,每个变量将额外占用5个字节的映象区地址,前4字节定义为浮点型,存储Hart辅助变量的值,第5字节为质量代码,定义为字节型,代表当前Hart辅助变量的质量。由此可看出,一个7TF01的Hart卡件,8个通道的基本输入字节数为2×8=16 Bytes,如果分配满8个Hart辅助变量,则将额外占用5×8=40 Bytes数据,总共需要56 Bytes数据。一个ET200M站点基本的循环通讯数据是244 Bytes 输入/244 Bytes 输出。所以,在这种情况下每个ET200M站点最多只能组态244÷56 ≈ 4块该类型的Hart输入卡件。因此,在考虑每个ET200M站可插入多少I/O卡件时,请参考该计算方法。n
2 软件编程
在PCS7中读取这些Hart辅助变量可以使用CH_U_AI或PA_AI两种功能块。层级文件夹中插入CFC,打开CFC后插入PCS 7 Library V70/Blocks/DRIVER下的CH_U_AI或PA_AI功能块,并对相应管脚链接如下。
由于链接的仪表为Hart通讯的仪表,通过该方法生成的程序将会读取更多的现场仪表诊断信息并反馈到通道功能块CH_U_AI和PA_AI中,并为上位提供相应的Hart仪表的诊断消息。n
图表6. CH_U_AI功能块组态链接OUT和QC管脚n
图表7. PA_AI功能块组态链接VALUE和QC管脚n
注意:CH_U_AI功能块下的OUT/QC管脚默认为隐藏状态,需要人为将其显示出来后链接,此外管脚PA_ON和PQC也必须设置为1。
对于普通的4~20mA电流信号的读取,使用标准的CH_AI功能块即可,如下图所示:
图表 8. CH_AI读取标准4~20mA信号
按上述方式组态CFC后,编译并下载程序后,即可通过这些功能块的输出管脚V读取到这些辅助变量。
下图为通过标准4~20mA(CH_AI)方式和通过Hart通讯协议(CH_U_AI)读取到的现场温度值。
图表 9. 两种读取方式读取到的温度值
关于PCS 7中ET200ISP下读取 HART 二次变量的方式,请参考如下链接内容:23818072
关键词
Hart辅助变量,CH_U_AI,PA_AI
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc328453.html