摘要:采用HART通信协议的现场仪表广泛应用于过程控制系统。在构建西门子PCS7作为主控制器的控制系统时,shou先要解决好主控Profibus-DP网络与HART仪表的通信问题。选择网关将HART协议数据上传给Profibus-DP网络时,主控系统无法正确显示HART协议数据所代表的过程变量。在对数据结构和存储方式分析的基础上,自主研发程序,将主控系统接收的现场信号进行数据转换,并编写功能块FB、连续功能图CFC程序,实现主控系统对现场设备运行状态和过程变量等信息的识别,为HART与Profibus-DP异构协议兼容系统的构建提供数据通信基础。
高速可寻址变送器(HighwayAddressableRemoteTransducer,HART)协议是在4mA~20mA模拟信号上叠加频率信号,使模拟信号与数字信号双向通信同时进行,互不干扰[1]。基于HART协议的仪表既有模拟仪表的性能,又兼顾数字通信的性能,在不对现有系统进行改造的情况下即可实现仪表的数字化,所以在过程控制系统中得到广泛应用。通过手操器可以实现HART仪表硬件、工程单位、过程参数量程的上下限以及节点地址等设定,也可以提取并显示仪表设备编号、设备类型以及生产厂商信息[2-4]。在构建以HART仪表为现场设备、以西门子PCS7为主控制器的控制系统时,通过网关使HART仪表与Profibus-DP网络通信,实现异种协议的现场总线系统集成。由于HART仪表传输的数据类型复杂,尽管网关将HART仪表输出信号传给了远程的PCS7,但PCS7读取的信息,无法从接受数据中提取现场设备的运行状况、过程参数信息,没有根本上解决协议兼容的问题。本文通过在线采集现场HART仪表的运行参数,进行数据结构和存储方式分析,应用自主研发程序,并编写功能块(FunctionBlock)FB、连续功能图CFC(ContinuousFunctionChart,CFC)程序,将PCS7接收的现场信号进行数据转换,从而保证主控系统对HART信息的识别,实现了HART与Profibus-DP的通信兼容[5]。
通信协议
1.1Profibus-DP协议
Profibus是ProcessFieldbus的缩写,是一种面向工厂自动化和流程自动化的国际性现场总线标准。主要包含Profibus-DP、Profibus-FMS、Profibus-PA三种协议。Profibus-DP面向工业现场,在可编程控制器、传感器、执行器等设备之间传递数据信息,采用RS-485的物理连接方式,其传输速率为9.6kbit/s~12Mbit/s,#大传输距离为1000m,使用中继器可达10km。西门子PCS7系统在自动控制站间、自动控制站与现场设备之间的数据交换采用Profibus-DP通信协议,该协议支持主从通信方式,#多可挂接127个从站,有3种从站类型:PLC控制器,分布式远程I/O,智能现场设备。主站具有对总线的控制权,可主动发送信息。从站等待主站请求指令,然后执行数据交换[6-7]。
1.2HART协议
HART协议方式是在4mA~20mA模拟信号上叠加数字量信号,在二线制变送器与电源之间串接250Ω以上电阻,以保证数字量信号的传输,模拟量和数字量双向通信同时进行,传输速率为1200bit/s,支持挂接15个现场设备。HART命令可分为:通用命令,适用于所有的HART智能设备,指令代码为1-30;普通专用命令,适用于大多数HART变送器,指令代码为32-126;设备专用命令,针对每一种具体设备的特殊性,指令代码为128-253。HART仪表通过命令与上位级实现数据交换[8-9]。
2、Profibus-DP与HART异构兼容系统
搭建HART仪表与西门子PCS7之间的数据交换系统,主控系统PCS7可以监视HART仪表的测量参数、设备运行状态、设备序列号等基本信息,也可以采集参数报警、维护状态等实时监管信息,从而提高整个系统运行的可靠性和安全性[10]。
2.1异构兼容系统设计方案
Profibus-DP与HART异构兼容系统以西门子PCS7系统为上位级,罗斯蒙特3051压力变送器和若干现场设备为下位级。因西门子PCS7系统采用Profibus-DP现场总线通信协议,而现场智能设备罗斯蒙特3051压力变送器采用HART现场总线通信
协议,需要解决异构协议兼容问题,增加网间协议转换器(网关),实现不同现场总线协议标准的兼容。选取能够支持HART/Profibus-DP协议数据转换的网关,完成数据格式的转换和数据的读写操作,将HART协议网络与Profibus-DP协议网络进行硬连接,实现西门子PCS7上位级对现场智能设备的监视与管理。
2.2系统硬件组成
该异构兼容系统包括上位监控PC机、主控系统PCS7、罗斯蒙特3051压力变送器、网关等设备,系统结构如图1所示。
上位监控PC机既是上位级的服务器、操作员站以及工程师站,承担PCS7组态、数据采集、信息交换和系统维护工作。PC机与控制站S7-400PLC通过工业以太网实现信息交互。网关选用上海泗博公司生产的网关HPM-610。西门子S7-400PLC与网关HPM-610通过Profibus-DP连接,西门子S7-400PLC是Profibus-DP的主站,网关HPM-160是Profibus-DP从站,网关HPM-160与罗斯蒙特3051压力变送器通过HART总线联接,网关HPM-160是HART主站,罗斯蒙特3051压力变送器是HART从站[11-13]。
3通信检测与数据转换
在成功搭建硬件系统以后,进行系统组态与调试,即PCS7组态、HPM-610配置、罗斯蒙特3051压力变送器组态,以及各部分和全系统的通信测试与调试,检测数据交互的正确性与实时性。
3.1PCS7读取HART仪表标识码
主控PCS7要获取并在监控画面显示罗斯蒙特3051压力变送器的设备信息,需要在网关HPM-160的专用软件HT-123中作相应配置。网关HPM-610依据组态中的命令功能,从现场级提取数据,向上位主控系统传送现场设备信息、运行参数、过程
值变量等数据[14-15]。
命令0的功能是读取现场HART仪表的设备类型代码、版本和设备标识码,并传送到主控系统。命令0执行后在PCS7分配给网关的存储区中占用14个字节,前两个字节为设备的现场状态信息,后面的数据对应设备类型的具体信息,存储区中字节所代表的设备信息如图2所示,从字节0到字节11表示网关采集现场设备的标识码信息。字节1为制造商ID号,字节2是制造商设备类型,字节3为HART数据帧的前导码信息。
在执行命令0之前,shou先诊断命令0检测到的现场设备信息,诊断结果见图3(a)所示。然后执行命令0,主控PCS7获取到3051压力变送器的设备信息,存储于主控PCS7分配给网关的地址寄存器中。如图3(b)所示,从IW550到IW562的值即执行命令0的返回信息。
IW550的值W#16#0040(2个字节),表示现场设备的通信状态,从IW552到IW562共12个字节是罗斯蒙特3051压力变送器标识码,数制是十六进制,转换为十进制后见表1所示,与图3(a)所示字节的十进制数值完全相同,表明命令0可以检测到现场设备信息并正确上传给主控系统。而且,命令0返回的现场设备信息可以在监控画面上显示。
3.2PCS7读取HERT仪表的过程变量值
主控PCS7读取且在监控画面上显示罗斯蒙特3051压力变送器的过程变量(PV)值,需在HT-123软件上作相应配置后,使用命令1,命令1的功能是以浮点数类型返回主变量的值,返回路径为:现场总线智能仪表将现场过程值送到网关HPM-610,网关HPM-610将数据上传到PCS7系统,PCS7接收到十六进制现场过程变量值转换为浮点数在监控画面上显示。
在执行命令1指令后,PCS7系统从网关读取并显示的数据是十六进制数,存储在IW512到IW518地址中,如图4所示,占用4个字,8个字节,前两个字节为设备的现场状态信息,后面的数据对应过程变量值。IW512字节表示现场设备的状态信息,IW514的高字节16#ED表示过程变量的单位MPa,IW514的低位字节、IW516字节和IW518的高位字节共4个字节,表示现场过程量。这4个字节以十六进制的形式存储在3个字中,目前要用一个双字(4个字节)表示现场过程变量,并且在上位系统监控画面显示,在对PCS7系统接收到的数据进行提取、数制转换、整合等数据转换过程后,#终以十进制浮点数的形式在监控画面上实时显示[16]。
以现场压力测量值0.55MPa为例,分析PCS7系统接收的数据结构,进行数据转换。由图4可知,命令1返回到PCS7的数据由8个字节组成:分别是IW512;IW514;IW516;IW518。其中:IW512为现场设备状态信息;IW514的高字节ED表示现场过程变量单位(MPa),低字节3F是测量值的有效数据;IW516是测量值的有效数据;IW518的高字节CE是测量值的有效数据,这4个字节数据对应现场压力测量值。即:3F,0D7F,CE表示现场过程量。
上位监控系统以单精度浮点数的形式显示现场压力测量值,是一个双字,即4个字节32位,存储在一个双字寄存器中,以浮点数的形式在监控画面上显示现场过程量,而PCS7接收的数据是4个字节,放在4个输入寄存器中,并非一个完整的双字。故需要对当前PCS7接收到的数据进行转换,从返回的4个字中提取出有效数据的4个字节,整合后存放在一个双字存储器中,再将这个双字转换为单精度浮点数,即现场压力测量值,然后在监控画面上显示。
数据转换过程的程序流程如图5所示:①定义PCS7接收到的数据为:HART通道1-HART通道4;②将HART通道2(IW514)据转换为双字,向左移24位并保存在中间存储器,即3F保存在双字的#高位。③将HART通道3(IW516)数据转换为双字,向左移8位并保存在中间存储器,即0D7F存到双字的中间位置。④将HART通道4(IW518)数据转换为双字,向右移8位并保存在中间存储器,即CE存到双字的#低位。⑤用“或”指令将三个双字移位整合为一个双字;⑥用双字与浮点数的转换指令将双字转为单精度浮点数0.55(MPa)。
数据转换程序使用西门子结构化控制语言StructruedText(STL)编写,生成功能块(Function Block) FB678,可在程序中直接调用,实现了主控系 统接受数据与现场测量值的数值类型的一致性转 换,确保主控系统可以实时检测并正确显示现场测 量值。数据转换的部分程序如图 6 所示。 FUNCTION_BLOCK FB678 HART_01: WORD; / /HART 输入通道 01 N_IN_02: WORD: = 16#0018; / /通道 02 位移_6 移 DATA_01: DWORD; / /通道 01 双字输出 N_OUT_01: WORD; / /通道 01 位移位数输出 DATA_DWORD_04: =WORD_TO_DWORD( HART_04) ; DATA_04: =DATA_DWORD_04; N_OUT_04: =N_IN_04; / /通道 04 数据类型转换为双字
图 6 数据转换的部分程序
4 远程监视
主控系统对现场的远程监控是实现智能化、无 人化工厂的基本条件。在西门子 PCS7 系统组态操 作员站,创建监控变量,创建监控画面,通过连续功 能图 Continuous Function Chart( CFC) 编写程序,调用功能块 FB678 和显示模块,并建立变量与监控画 面的连接,现场过程变量值就可以直接在 WinCC 监 控画面上实时显示,实现了 PCS7 对生产过程的远程实时在线监控[17-18]。 主控系统的监控画面是异构系统的人机接口。通过画面信息,运行人员可以监视和管理现场设备 的运行状态,而不需要在现场、或者依赖就地运行人 员传送数据。监控画面可根据用户的需要进行组 态,主要信息包括: 罗斯蒙特 3051 压力变送器的设备版本号、设备 ID 号、实时压力测量值、设定的压力 信号上下限值等,如图 7 所示。
5 结论
通过搭建 Profibus-DP 与 HART 协议的异构兼 容系统,基于 HART 协议的现场智能仪表可以直接 上传设备运行参数,实现了不同协议的信息交互。 在研究现场数据与主控系统采集到的数据不同数制 的情况下,编写了数据转换程序,确保主控系统可以 查看相同数制下的过程变量。通过 CFC 编程,将变 量信息与监视画面进行连接,远程监控画面显示现 场智能仪表参数与运行状况,实现了异构兼容系统的远程监控。 这种异构现场总线协议兼容系统可以拓展 HART 协议智能仪表的应用。在模拟仪表向数字仪 表的过渡过程中,完善了 HART 智能仪表数据转 换,实现了主控系统对智能仪表的远程管控,该方案 可为智能一体化远程系统建设提供参考。