张 劲
(洛阳三隆安装检修有限公司)
基于Modbus协议的TCM4351A与Bently3500的通信
张 劲
(洛阳三隆安装检修有限公司)
介绍了基于Modbus通信协议的TCM4351A与Bently3500的数据通信方法,分析通信故障的可能原因并提出相应的解决对策,最后就此问题提出冗余改进建议。
Modbus通信 TCM4351A Bently3500 故障处理 组态改进
压缩机轴振动、轴位移等信号是反映压缩机运行情况的关键数据,也是上位监测和下位联锁控制的重要对象,因此数据的准确性和连贯性对整个压缩机系统至关重要。对于轴振动和轴位移信号的监测,通常采用专用监测仪表和装置,监测信号与中央PLC系统进行数据交换时既可以采用传统的硬接线方式,也可以采用无线通信方式。
Modbus是一种应用于电子控制器上的通用通信协议,通过Modbus,控制器之间、控制器经由网络和其他设备之间都可以进行通信[1]。在此,笔者基于Modbus通信协议,以某烷基化装置制冷压缩机Tricon控制系统通信模块TCM4351A和机组状态监测系统Bently3500通信模块3500/92为研究对象,对两者的通信过程进行阐述。
1.1 硬件配置
制冷压缩机控制系统通信模块TCM4351A采用两套单模块单电缆双工通信方式;Bently3500通信模块3500/92采用单模块双电缆通信方式,其输出为互为冗余的两路Modbus协议通道。TCM4351A与3500/92之间通过RS485通信电缆进行连接。冗余模式可使该制冷压缩机控制系统更加安全可靠地运行,其搭建主要由生产工艺的重要性和成本所决定。
1.2 参数设置
选择TCM4351A模块作为通信主站,3500/92模块作为从站。1#TCM4351A的SERIAL1与3500/92的Modbus1接口相连,2#TCM4351A的SERIAL1与3500/92的Modbus2接口相连。
采用TriStation 1131编程软件,在TCM4351A模块中完成Modbus Master参数设置。1#TCM4351A的设置参数为:传输比特率(19 200bit/s)、数据位(8)、停止位(1)、奇偶校验(无)、传输模式(RS485)、握手协议(无)、主逻辑站地址(1)、Modbus Range(0~32 767)、默认从站地址(1)。2#TCM4351A的设置参数为:传输比特率(19 200bit/s)、数据位(8)、停止位(1)、奇偶校验(无)、传输模式(RS485)、握手协议(无)、主逻辑站地址(2)、Modbus Range(0~32 767)、默认从站地址(1)。
采用3500 Software组态软件在3500/92模块中设置参数:PORT1和PORT2两个端口(激活)、地址(1)、比特率(19 200bit/s)、勾选Word Swapped和Floating Point两个选项(这样可避免数据传到PLC后再对它做高低位互换的操作工作)、浮点数起始地址(46001)。
1.3 通信程序
TCM4351A Modbus协议通信通过TriStation 1131编程软件调用库函数中的标准功能块MBREAD_REAL来实现数据的发送和读取操作。TCM4351A与Bently3500的通信程序如图1所示。
图1 TCM4351A与Bently3500的通信程序
2.1 故障现象与原因分析
随着制冷压缩机控制系统的不间断运行,出现通信故障的几率也会随之上升。如在压缩机人机操作界面上,机组状态监测的轴振动、轴位移等参数测量值均处于静止不更新状态或显示明显错误等。
出现此类故障的原因可能有以下几种:
a. 3500/92通信卡可能处于死机状态,无法发出数据;
b. 3500/92通信卡或其通信端口故障;
c. TCM4351A与Bently3500之间的通信电缆故障;
d. TCM4351A通信卡或其通信端口故障。
首先检查3500/92和TCM4351A通信卡的通信指示灯是否正常,有无任何报警灯亮。如果有报警,则根据报警灯信息说明查找原因。若从外观无法观察到任何异常,则需要借助软件进行诊断检查,例如在TriStation 1131中查看通信程序块MBREAD_REAL中的通信状态“STATUS”显示代码,然后查阅帮助文件了解代码含义进而判断故障原因。
针对2.1小节总结的4种可能的故障原因,根据作业风险程度,可以按以下步骤检查判断:
a. 对3500/92通信卡进行热插拔操作。分别拔下通信卡的前、后卡,稍等片刻后再将通信卡装回母槽中,如果监测值正常,则原因明确,否则进行步骤b。
b. 用电脑通过3500/20框架接口模块读取Bently3500系统内的卡件运行情况和报警记录,对收集的事件进行分析,帮助确定故障原因;此过程可配合替换法,即将该3500/92通信卡换下,用另一新卡替代,以检验该卡是否正常。
c. 用替换法对通信电缆进行替换验证,排除通信电缆故障的可能性。
d. 基于所搭建的冗余模式,从程序的通信模块中可以看到,2#TCM4351A通信卡处于3种冗余切换方式(热冗余、暖冗余和冷冗余)中的暖冗余状态,即设备在发生切换时有间隙或需要人为简单干预或预置才得以完善[2]。2#TCM4351A通信卡主站逻辑地址为2,据此将通信程序块中“PORT”的设定值由“1”改为“2”,再对程序进行编译、局部下装,判断故障所在。
2.2 通信组态的改进
基于不同的冗余模式,当出现通信故障时,要具体问题具体分析。本设计中,可以将暖冗余修改为热冗余,即对主站的端口状态进行判断,一旦出现通信故障,则可以自动切换。通过在程序块的“PORT”输入端加入判断选择功能模块DUL_SEL2(通过编程实现)(图2),以软件编程的方式来实现设备之间出现故障时的自动切换。
图2 在“PORT”输入端加入判断选择功能模块
笔者基于Modbus通信协议,介绍了一种TCM4351A与Bently3500之间的数据通信方法,并针对通信过程中出现的故障提出了相应的应对措施与通信组态改进建议。通过软件冗余方式保证了通信的可靠度,通过软件编程方式实现了设备之间出现故障时的自动切换,保证了制冷压缩机控制系统的安全稳定生产。
[1] 张利平,刘宁,董树泉.基于Modbus协议CP341与Bently3500之间的通讯[J].工业仪表与自动化装置,2011,(2):86~87.
[2] 陈子平.浅谈控制系统冗余控制的实现[J].自动化仪表,2005,26(9):4~6.
TH862+.7
B
1000-3932(2017)02-0212-03
2016-08-25)
张劲(1985-),工程师,从事化工自动化仪表维护和管理工作,zhangjing850@126.com。