MANB&W公司的DieselA/S系列柴油机控制柜的通讯接口采用的是标准的MODBUSASCII协议,作为下位机(Slave)通信。它的通信电路接口标准是5线制RS-422接口(Rx+、Rx-、Tx+、Tx-、GND)。MODBUSASCII协议读取命令的所有数据字节都在协议转换时转换为2位十六进制的ASCII格式,或一个字转化为4位ASCII字符。数据通讯消息帧有如下格式:
[:][SLAVE][FCT][DATA][CHECKSUM][CR][LF];
包括1位开始位,2位从机地址位、2位功能码、2n位数据位、2位LRC校验位、1位数据停止位以及1位结束符。但在PLC发送请求和接收数据时的[DATA]位有所不同,发送请求的数据头包含要读取的数据存储地址,而接收到的数据头包含的是接收的数据位数。
当柴油机接收到来自PLC的发送请求命令时,先根据数据的起始地址计算出LRC校验码,然后再与接收到的LRC校验码相比较,如果一致,则向PLC发送数据,否则不作响应。
对于西门子S7-300与MANB&M柴油机通讯,对CP-340通讯模块参数设置如下:
a、接收帧结束方式;
b、通讯方式:9600baud,8databits,1stopbit,noparity;
c、接口方式:RS-422,其余的设置为默认方式。
CP-340有4个专用功能块:发送功能块FB3,接收功能块FB2,读RS-232C接口信号状态功能块FC5和接口信号状态设置功能块FC6。本系统中主要采用FB2和FB3接收、发送功能块。
首先要对CP-340起始地址,发送数据的背景数据块号、开始发送的字节号、字节长度、出错处理等属性进行设置,然后在主程序中循环中断调用这些命令,实现模块化的通讯目的。其中,可以通过对DONE,ERROR,STATUS等属性的设置,来监控数据交换的状态。最后,从数据存储区(DB块)中取出接收到的设备运行参数数据,进行字节处理后,通过PLC的模拟量、数字量输出模块(SM)将实时数据显示到机舱监控台上来。图2(a)(b)就是CP-340发送与接收数据的简单例子(本系统的程序设计采用功能块图(FBD)语言实现)。因此只需要一个发送数据DB块。对于不同的参数,只需要变换相应的地址和校验码即可。而接收数据的DB块,只需要定义成BYTE类型的数组,并且长度不小于39字节就可以了,对于每次从柴油机中读取的数据则放入到不同的DB块中。
(a)发送
(b)接收
图2 CP-340模块发送与接收程序
//REQ:为定时时钟脉冲;R:屏蔽发送/接收块位;LADDR:CP-340地址;DB_NO:数据块地址;
//DBB_NO:数据起始位;LEN:发送数据长度;
整个程序的设计采用主程序(OB1)顺序循环执行,PLC与柴油机的通讯通过调用循环中断组织块(OB35)来处理PLC的发送(FB3)和接收(FB2)通信功能块。由于PLC程序运行速度很快(OB35循环时间默认为100ms),所以完全可以满足实时性的要求。
程序框图如图3所示:
图3 程序流程图
4 系统功能
4.1 故障报警功能
根据实际需要,在程序中可以对每一个监测数据量设置阈值,当监测到参数超过设定值时,则在监控台上立即发出铃声和灯光报警。
4.2 故障排除检测功能
当出现故障报警时,监控台上的相应项的指示灯不停闪烁,蜂鸣器发出报警声。当按下消音按钮后,报警声响停止,报警信号灯由闪烁变为常亮,只有在故障排除并恢复正常后,报警灯才熄灭不再指示报警,达到故障排除检测功能。
4.3 实时数据显示功能
系统在监控台上显示所有需要监测并显示的参数,并可将实时数据以模拟表、棒型图和变化曲线等形式在监控台上显示出来,使操作人员方便快捷的获取这些设备运行参数的变化情况。
5 结束语
该系统集实时性、稳定性、可操作性、安全性和经济性于一体,并在某公司4800吨油轮机舱内得到很好的实践与应用。经实际运行表明,该系统完全满足船舶航行的各项性能指标要求,极大的提高了机舱自动化水平,具有很广的应用范围和前景,并能为企业创造显著的经济效益。
参考文献
[1]宋建成.可编程序控制器原理及应用教程[M].北京:科学出版社,2004
[2]廖常初.大中型PLC应用教程[M].北京:机械工业出版社,2005
[3]西门子公司SIEMNSS7-300PLC梯形图(LAD)编程手册[Z].西门子公司,2002
[4]廖常初.S7-300/400PLC应用技术[M].北京:机械工业出版社,2005
[5] 龚仲华.S7-200/300/400 PLC应用技术--提高篇[M].北京.人民邮电出版社,2008