论文部分内容阅读
摘要:本文主要讨论Honeywell PKS系统与Tricon PLC之间通过Modbus协议进行实时通讯的开发与应用,介绍了Modbus协议的特点,对两系统的结构、硬件配置和软件组态方面作了较为详细的说明。
关键词:Modbus通信协议;PKS系统;Tricon PLC
1引言:
辽阳石化140万吨/年连续重整装置控制系统采用DCS(集散控制系统)、PLC(可编程控制器)相结合的方式完成对整个装置的自动控制。其中DCS系统采用霍尼韦尔新一代的Experion PKS控制系统,实现对整个装置的整体控制。PLC采用TRICON控制系统,完成对循环氢气压缩机组K261的控制。Tricon PLC独立于PKS系统,在正常情况下,TRICON系统自动运行,不需要人为干预。但为了DCS操作人员监视压缩机过程数据,有必要将压缩机的关键数据传至DCS中进行显示,这就涉及到PKS与TRICON之间的数据通讯问题。这里我们利用MODBUS通讯协议实现Honeywell PKS系统与Tricon PLC之间的串行通讯。
2 Modbus协议简介
Modbus是Modicon公司于1979年提出的一种通讯协议,经过多年的实际应用,已经成为一种应用于工业控制器上的标准通讯协议。有了它,不同厂商生产的控制系统可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通讯的。它描述了控制器请求访问其它设备的过程,以及怎样侦测错误并记录,它制定了消息域格局和内容的公共格式。当在Modbus网络上通讯时,此协议决定了每个控制器需要知道它们的设备地址,识别按地址发来的消息,决定要产生何种动作。如果需要回应,控制器将产生反馈信息,并用Modbus协议发出。
2.1 Modbus报文
如图1所示,Modbus通讯使用查询-响应会话技术,即主设备初始化查询,从设备做出响应。主设备单独和从设备通讯,也能以广播方式和所有从设备通讯。Modbus主设备查询的格式:从设备地址、功能代码、起始地址、所查询的数据量、错误检测域。从设备响应消息的格式:从设备地址、功能代码、数据长度、响应的数据、错误检测域。
2.2 Modbus传输方式
Modbus协议有两种传输模式:ASCII(美国标准信息交换代码)或RTU(远程终端单元)。它定义了在这些网络上连续传输的消息段的每一位,以及决定怎样将信息打包成消息域和如何解码。用户选择想要的模式,包括串口通信参数(波特率、校验方式等)。在配置每个控制器的时候,在一个Modbus网络上的所有设备都必须选择相同的传输模式和串口参数。ASCII模式通信的主要优点是字符发送的时间间隔可达到1秒而不产生错误。RTU模式通信的主要优点是:在同样的波特率下,可比ASCII方式传送更多的数据。
2.3 错误检测方法
标准的Modbus串行网络采用两种错误检测方法。奇偶校验对每个字符都可用,帧检测(LRC或CRC)应用于整个消息。其中CRC(循环冗余校验)用于RTU模式;LRC(纵向冗余校验)用于ASCII模式。它们都是在消息发送前由主设备产生的,从设备在接收过程中检测每个字符和整个消息帧。用户要给主设备配置一预先定义的超时时间间隔,这个时间间隔要足够长,以使任何从设备都能作出正常响应。如果从设备侦测到传输错误,消息将不会被接收,也不会向主设备作出回应。这样超时事件将触发主设备来处理错误。发往不存在的从设备的地址也会产生超时错误。
3 系统结构及TRICON系统组态
如图2所示,Honeywell PKS系统采用冗余结构,通过CISCO(思科)Catalyst 2960系列交换机把控制器、服务器、操作站连接在一个FTE(容错以太网)网络中。基本网段IP地址为10.1.0.1;子网掩码为255.255.255.0。Tricon系统采用三重化冗余的结构,主要包括3块控制器、2块冗余通讯卡及其它I/O卡件。两套系统通过串口服务器Moxa NPort5630连接在一起。
3.1 通讯模件配置
TCM 4351(Tricon通讯模块)作为Tricon专有通讯卡件支持多种通讯协议及物理连接方式。具有2个网口,4个串口,1个专用调试口,可以实现10/100M以太网,RS232/485等。冗余的4351通讯卡安装在Tricon主机架的第7个槽位,保障了通讯的可靠性及安全性。每一个串口具有一个唯一的地址,并且可以被組态为MODBUS主站或者从站。我们采用PLC与DCS point-to-point(点对点)的拓扑结构,采用RS-485两线制半双工的数据传输方式,连接头为DB9标准接口。最大传输距离为1220m。
如图3所示,使用TriStation 1131组态软件设置TCM卡的串口参数。设置通讯协议为MODBUS SLAVE RTU;从站地址为1;允许写端口;波特率为19200;8位数据传输格式;1位停止位;进行奇校验;传输模式为RS485,两线制的RS485必须勾选握手协议。
3.2 数据地址
如表1所示,Modbus地址由5位数字组成,包括起始的数据类型代号,以及后面的偏移地址。
如表2所示,实型数据的地址比较特殊。Tricon控制器通过Modbus协议传输32位浮点型数据需要使用特殊的映射通讯地址。它把一个32位的浮点型数据映射为两个16位的整型数据,其中高16位映射为一个Modbus整型地址n,低16位映射为n+1。例如:地址为41001的Memory REAL,Read/Write(可读/写内存实型)数据,对应的MODBUS地址高16位为42001,低16位为42002。
3.3 串口服务器组态 MOXA串口服务器Nport 5630-8为串口设备连接到以太网提供了便捷的传输方式。只需要做一些简单的配置任务,就可以使现有的串口设备做好了联网的准备。此外,NPort5630系列可以直接进行串口和以太网接口的双向传输数据;同时集中管理串口设备和分散的主机系统。其特点如下:
·简单易用的LCM状态显示及设置。
·10/100 M自适应以太网络。
·8个RS-485/422串口。
·所有串口信号带突波保护(15 KV ESD)。
·提供TCP Server,TCP Client,UDP等操作模式。
·提供ARP、web console、telnet console等进行设置。
·提供SNMP MIB-II来提供网络管理。
·支持静态IP、DHCP、BOOTP协议。
主要参数设置如下:
网络设置
IP CONFIG:STATIC;IP 地址:10.1.0.79/80;子网掩码:255.255.255.0,网关:10.1.0.254。
串口设置
波特率:19200;数据位:8;停止位:1;奇偶校验:奇;接口:RS485 2wire;操作模式:TCP server;PORT1端口号:4001。
如图4所示,串口服务器端的物理连接采用RJ-45接口,其中引脚5接Data-、引脚6接Data+、引脚7接GND。Tricon TCM端采用标准DB9 Female连接头。
4 Experion PKS系统组态
Experion PKS系统主要采用Configuration Studio组态软件包中的Quick Builder软件实现第三方通讯点的组态。包括:Channel(通道)、Controller(控制器)、Point(点)三方面的组态设置。为了更好地理解,我们以TIC2605(K261压缩机组润滑油温度控制回路)为例说明组态过程。整个控制回路包括4个参数,分别为测量值(PV)、设定值(SP)、输出值(OP)以及操作模式(MD)。
4.1 通道组态
通道组态用于建立MODBUS通讯协议的连接,参数的设置要跟串口服务器相对应。定义一个名称为K261CH的Modbus通道。主要参数设置如下:通讯报警边缘限Marginal Alarm Limit(MAL)用于产生一个高优先级的通讯故障报警。MAL的计算公式:控制器数量开方X每个控制器MAL值。通讯失败报警限Fail Alarm Limit(FAL)一设置般为通道MAL的2倍。端口类型选择Terminal Server;协议为Modbus RTU;Terminal Server TCP Host Name(串口服务器TCP IP地址)为10.1.0.79、冗余端口设置为10.1.0.80;Terminal Server TCP Port No(串口服务器TCP端口号)为4001,对应Nport 5630第一个端口。
4.2 控制器组态
这里建立的控制器是依据Modbus协议定义的逻辑控制器,而不是物理上的控制器。控制器对应具体的数据类型,我们建立4个Modbus控制器,分别为K261CTLAI(只读模拟量控制器)、K261CTLAIH(可读/写模拟量控制器)、K261CTLDI(只读数字量控制器)、K261CTLDO(可读/写数字量控制器),对应的数据类型分别为Input Register、Holding Register、Digital Input和Digital Output。PLC Station ID(从站地址)设为1,Channel Name(通道名称)是K261CH。
4.3 点组态
如图5所示,我们建立一个名称为TIC2605的模拟量点,必须指定Parent Asset(区域),这里为REF;扫描周期一般设置为5秒;量程为0-100°C。控制点的Source Address(源地址)设置是关键也是难点,设置的正确与否将直接影响通讯结果的正误。源地址的格式为“控制器 地址 解析码”,其中控制器和解析码由控制点的数据类型决定,地址为去掉功能号的Modbus通讯地址。TIC2605控制回路的源地址组态参数详见表3。
整型数据是Modbus通讯中一种常见的数据类型,PKS系统提供了一些常用的16位整型数据解析码,详见表4。
Tricon PLC中输入整型测量值PV的数据范围为819-4095,PKS系统没有合适的解析码。
我们使用PKS系统软件包中的“User-defined Data Format”工具建立自定义的数据格式。打开Station软件,从菜单栏中选择 Configure > Application Development > User-defined Data Formats。建立一个名称为KJC_1的解析码,其中Data type(数据类型):INT2(16位整型);Conversion type(转换类型):Linear(线性);Field value(现场值):Node1 =819;Node2=4095;Converted value(转换值):Node1 =0;Node2=1。这样解析码KJC_1就把数据819-4095进行线性量程转换成为0-1。
对于32位的实型数据,PKS系统提供4种常用的解析码,分别为:IEEEFPB(大端格式);IEEEFPBB(字节交换的大端格式);IEEEFPL(小端格式);IEEEFPLB(字节交换的小端格式)。我们以设定值SP为例说明实型数据的读取方式。例如SP值为47,对应的32位浮点数为3C 42 00 00。在Tricon內存中为大端存取模式,其中MSB(最高有效位)3c 42两个字节存放在低地址42001中,LSB(最低有效位)00 00两个字节存放在高地址42002中。PKS系统读取Modbus浮点型数据是按address、address-1方式读取。所以读取到的数据格式为00 00 3c 42,这种数据格式也就是交换字节的小端格式IEEEFPLB。
5 总结
PKS系统与Tricon PLC之间的通信已经完成,两系统流程图画面上显示的数值完全一致,能够很好地对这些数据进行监控。PKS系统与Tricon PLC之间的顺利通信,使操作人员在监视工艺过程运行情况的同时,还能及时监视压缩机组某些重要测量点的实时值,不但减小了PKS系统的控制负荷,提高了控制精度,而且费用较低、安装方便,降低了系统的投资成本。
参考文献:
[1] Honeywel1.Experion Quick Builder Guide.EP-DSX285,R310,2007,11:75—131.
[2] TRICON.Communication Guide for Tricon v9–v10 Systems.Tricon Manual,2009,11:74—88.
[3]王刚,王玉琪,王冰.用Modbus协议实现DCS与PLC之间的串行通讯. 自动化技术与应用,2010,29(4):45—47.
作者简介:
赵钊,男,1982年出生,工程师,学士,研究方向:仪表自动化设备应用与维护。
关键词:Modbus通信协议;PKS系统;Tricon PLC
1引言:
辽阳石化140万吨/年连续重整装置控制系统采用DCS(集散控制系统)、PLC(可编程控制器)相结合的方式完成对整个装置的自动控制。其中DCS系统采用霍尼韦尔新一代的Experion PKS控制系统,实现对整个装置的整体控制。PLC采用TRICON控制系统,完成对循环氢气压缩机组K261的控制。Tricon PLC独立于PKS系统,在正常情况下,TRICON系统自动运行,不需要人为干预。但为了DCS操作人员监视压缩机过程数据,有必要将压缩机的关键数据传至DCS中进行显示,这就涉及到PKS与TRICON之间的数据通讯问题。这里我们利用MODBUS通讯协议实现Honeywell PKS系统与Tricon PLC之间的串行通讯。
2 Modbus协议简介
Modbus是Modicon公司于1979年提出的一种通讯协议,经过多年的实际应用,已经成为一种应用于工业控制器上的标准通讯协议。有了它,不同厂商生产的控制系统可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通讯的。它描述了控制器请求访问其它设备的过程,以及怎样侦测错误并记录,它制定了消息域格局和内容的公共格式。当在Modbus网络上通讯时,此协议决定了每个控制器需要知道它们的设备地址,识别按地址发来的消息,决定要产生何种动作。如果需要回应,控制器将产生反馈信息,并用Modbus协议发出。
2.1 Modbus报文
如图1所示,Modbus通讯使用查询-响应会话技术,即主设备初始化查询,从设备做出响应。主设备单独和从设备通讯,也能以广播方式和所有从设备通讯。Modbus主设备查询的格式:从设备地址、功能代码、起始地址、所查询的数据量、错误检测域。从设备响应消息的格式:从设备地址、功能代码、数据长度、响应的数据、错误检测域。
2.2 Modbus传输方式
Modbus协议有两种传输模式:ASCII(美国标准信息交换代码)或RTU(远程终端单元)。它定义了在这些网络上连续传输的消息段的每一位,以及决定怎样将信息打包成消息域和如何解码。用户选择想要的模式,包括串口通信参数(波特率、校验方式等)。在配置每个控制器的时候,在一个Modbus网络上的所有设备都必须选择相同的传输模式和串口参数。ASCII模式通信的主要优点是字符发送的时间间隔可达到1秒而不产生错误。RTU模式通信的主要优点是:在同样的波特率下,可比ASCII方式传送更多的数据。
2.3 错误检测方法
标准的Modbus串行网络采用两种错误检测方法。奇偶校验对每个字符都可用,帧检测(LRC或CRC)应用于整个消息。其中CRC(循环冗余校验)用于RTU模式;LRC(纵向冗余校验)用于ASCII模式。它们都是在消息发送前由主设备产生的,从设备在接收过程中检测每个字符和整个消息帧。用户要给主设备配置一预先定义的超时时间间隔,这个时间间隔要足够长,以使任何从设备都能作出正常响应。如果从设备侦测到传输错误,消息将不会被接收,也不会向主设备作出回应。这样超时事件将触发主设备来处理错误。发往不存在的从设备的地址也会产生超时错误。
3 系统结构及TRICON系统组态
如图2所示,Honeywell PKS系统采用冗余结构,通过CISCO(思科)Catalyst 2960系列交换机把控制器、服务器、操作站连接在一个FTE(容错以太网)网络中。基本网段IP地址为10.1.0.1;子网掩码为255.255.255.0。Tricon系统采用三重化冗余的结构,主要包括3块控制器、2块冗余通讯卡及其它I/O卡件。两套系统通过串口服务器Moxa NPort5630连接在一起。
3.1 通讯模件配置
TCM 4351(Tricon通讯模块)作为Tricon专有通讯卡件支持多种通讯协议及物理连接方式。具有2个网口,4个串口,1个专用调试口,可以实现10/100M以太网,RS232/485等。冗余的4351通讯卡安装在Tricon主机架的第7个槽位,保障了通讯的可靠性及安全性。每一个串口具有一个唯一的地址,并且可以被組态为MODBUS主站或者从站。我们采用PLC与DCS point-to-point(点对点)的拓扑结构,采用RS-485两线制半双工的数据传输方式,连接头为DB9标准接口。最大传输距离为1220m。
如图3所示,使用TriStation 1131组态软件设置TCM卡的串口参数。设置通讯协议为MODBUS SLAVE RTU;从站地址为1;允许写端口;波特率为19200;8位数据传输格式;1位停止位;进行奇校验;传输模式为RS485,两线制的RS485必须勾选握手协议。
3.2 数据地址
如表1所示,Modbus地址由5位数字组成,包括起始的数据类型代号,以及后面的偏移地址。
如表2所示,实型数据的地址比较特殊。Tricon控制器通过Modbus协议传输32位浮点型数据需要使用特殊的映射通讯地址。它把一个32位的浮点型数据映射为两个16位的整型数据,其中高16位映射为一个Modbus整型地址n,低16位映射为n+1。例如:地址为41001的Memory REAL,Read/Write(可读/写内存实型)数据,对应的MODBUS地址高16位为42001,低16位为42002。
3.3 串口服务器组态 MOXA串口服务器Nport 5630-8为串口设备连接到以太网提供了便捷的传输方式。只需要做一些简单的配置任务,就可以使现有的串口设备做好了联网的准备。此外,NPort5630系列可以直接进行串口和以太网接口的双向传输数据;同时集中管理串口设备和分散的主机系统。其特点如下:
·简单易用的LCM状态显示及设置。
·10/100 M自适应以太网络。
·8个RS-485/422串口。
·所有串口信号带突波保护(15 KV ESD)。
·提供TCP Server,TCP Client,UDP等操作模式。
·提供ARP、web console、telnet console等进行设置。
·提供SNMP MIB-II来提供网络管理。
·支持静态IP、DHCP、BOOTP协议。
主要参数设置如下:
网络设置
IP CONFIG:STATIC;IP 地址:10.1.0.79/80;子网掩码:255.255.255.0,网关:10.1.0.254。
串口设置
波特率:19200;数据位:8;停止位:1;奇偶校验:奇;接口:RS485 2wire;操作模式:TCP server;PORT1端口号:4001。
如图4所示,串口服务器端的物理连接采用RJ-45接口,其中引脚5接Data-、引脚6接Data+、引脚7接GND。Tricon TCM端采用标准DB9 Female连接头。
4 Experion PKS系统组态
Experion PKS系统主要采用Configuration Studio组态软件包中的Quick Builder软件实现第三方通讯点的组态。包括:Channel(通道)、Controller(控制器)、Point(点)三方面的组态设置。为了更好地理解,我们以TIC2605(K261压缩机组润滑油温度控制回路)为例说明组态过程。整个控制回路包括4个参数,分别为测量值(PV)、设定值(SP)、输出值(OP)以及操作模式(MD)。
4.1 通道组态
通道组态用于建立MODBUS通讯协议的连接,参数的设置要跟串口服务器相对应。定义一个名称为K261CH的Modbus通道。主要参数设置如下:通讯报警边缘限Marginal Alarm Limit(MAL)用于产生一个高优先级的通讯故障报警。MAL的计算公式:控制器数量开方X每个控制器MAL值。通讯失败报警限Fail Alarm Limit(FAL)一设置般为通道MAL的2倍。端口类型选择Terminal Server;协议为Modbus RTU;Terminal Server TCP Host Name(串口服务器TCP IP地址)为10.1.0.79、冗余端口设置为10.1.0.80;Terminal Server TCP Port No(串口服务器TCP端口号)为4001,对应Nport 5630第一个端口。
4.2 控制器组态
这里建立的控制器是依据Modbus协议定义的逻辑控制器,而不是物理上的控制器。控制器对应具体的数据类型,我们建立4个Modbus控制器,分别为K261CTLAI(只读模拟量控制器)、K261CTLAIH(可读/写模拟量控制器)、K261CTLDI(只读数字量控制器)、K261CTLDO(可读/写数字量控制器),对应的数据类型分别为Input Register、Holding Register、Digital Input和Digital Output。PLC Station ID(从站地址)设为1,Channel Name(通道名称)是K261CH。
4.3 点组态
如图5所示,我们建立一个名称为TIC2605的模拟量点,必须指定Parent Asset(区域),这里为REF;扫描周期一般设置为5秒;量程为0-100°C。控制点的Source Address(源地址)设置是关键也是难点,设置的正确与否将直接影响通讯结果的正误。源地址的格式为“控制器 地址 解析码”,其中控制器和解析码由控制点的数据类型决定,地址为去掉功能号的Modbus通讯地址。TIC2605控制回路的源地址组态参数详见表3。
整型数据是Modbus通讯中一种常见的数据类型,PKS系统提供了一些常用的16位整型数据解析码,详见表4。
Tricon PLC中输入整型测量值PV的数据范围为819-4095,PKS系统没有合适的解析码。
我们使用PKS系统软件包中的“User-defined Data Format”工具建立自定义的数据格式。打开Station软件,从菜单栏中选择 Configure > Application Development > User-defined Data Formats。建立一个名称为KJC_1的解析码,其中Data type(数据类型):INT2(16位整型);Conversion type(转换类型):Linear(线性);Field value(现场值):Node1 =819;Node2=4095;Converted value(转换值):Node1 =0;Node2=1。这样解析码KJC_1就把数据819-4095进行线性量程转换成为0-1。
对于32位的实型数据,PKS系统提供4种常用的解析码,分别为:IEEEFPB(大端格式);IEEEFPBB(字节交换的大端格式);IEEEFPL(小端格式);IEEEFPLB(字节交换的小端格式)。我们以设定值SP为例说明实型数据的读取方式。例如SP值为47,对应的32位浮点数为3C 42 00 00。在Tricon內存中为大端存取模式,其中MSB(最高有效位)3c 42两个字节存放在低地址42001中,LSB(最低有效位)00 00两个字节存放在高地址42002中。PKS系统读取Modbus浮点型数据是按address、address-1方式读取。所以读取到的数据格式为00 00 3c 42,这种数据格式也就是交换字节的小端格式IEEEFPLB。
5 总结
PKS系统与Tricon PLC之间的通信已经完成,两系统流程图画面上显示的数值完全一致,能够很好地对这些数据进行监控。PKS系统与Tricon PLC之间的顺利通信,使操作人员在监视工艺过程运行情况的同时,还能及时监视压缩机组某些重要测量点的实时值,不但减小了PKS系统的控制负荷,提高了控制精度,而且费用较低、安装方便,降低了系统的投资成本。
参考文献:
[1] Honeywel1.Experion Quick Builder Guide.EP-DSX285,R310,2007,11:75—131.
[2] TRICON.Communication Guide for Tricon v9–v10 Systems.Tricon Manual,2009,11:74—88.
[3]王刚,王玉琪,王冰.用Modbus协议实现DCS与PLC之间的串行通讯. 自动化技术与应用,2010,29(4):45—47.
作者简介:
赵钊,男,1982年出生,工程师,学士,研究方向:仪表自动化设备应用与维护。