基于LabVIEW与PLC的船舶柴油机监控系统
2010-04-01张永根
张永根
(南京市轮渡公司,江苏南京 210011)
0 引言
可编程逻辑控制器简称PLC,以其运行可靠、集成度高、可扩展性强在工业控制中得到广泛的应用,而且各个PLC生产厂家提供了多种通讯模块,如工业以太网Ethernet模块、点到点串行通讯模块等。因此可以利用 PLC的通讯模块读取柴油机数据存储区的数据,然后通过 PLC中的现场总线模块连延伸报警模块能将实时的报警信息传递到船员房接到监控系统中达到完美的结合[1]。
LabVIEW(Laboratory Virtual Instrument EngineeringWorkbench)是美国国家仪器公司(National Instruments)推出的一种基于图形语言(G语言)的开发环境,编程非常方便,人机交互界面直观友好,用户可以创建独立的可执行文件,能够脱离开发环境而单独运行,是目前最流行的虚拟仪器编程平台,广泛应用于测试测量、过程控制、实验室研究与自动化等方面。将LabVIEW与PLC结合起来应用于工程实践,不仅可以大大降低成本、缩短开发周期,而且可以使得控制操作方便、界面美观[3]。
在设计中,需要将柴油机及其他设备的各参数读取到Siemens公司的S7-300 PLC中,参与实际的监测控制。为了能够将仪表的参数读入到Siemens PLC中,采用了Siemens公司的点到点通讯模块CP340,利用集成在CP340通讯模块中ASCII码通讯协议,通过 RS2422网络读取数据,并将LabVIEW与PLC结合起来,在上位机进行实时显示、报警、控制、记录。
1 系统硬件构成
与传统的柴油机数据采集方式相比,该种MAN B&W柴油机将所有重要参数都存放于 4个数据存储区中,通过通讯接口,外围设备(如PLC,PC机等)可以从中实时的读取设备运行参数,了解设备的运行情况。鉴于LabVIEW软件可方便实现数据采集和信号处理,具有强大的外部接口能力,而且采用LabVIEW编写控制程序主界面,既简单美观,又能节约开发时间,大大提高了程序设计效率等优点,上位机的控制程序采用LabVIEW编写。将西门子S7-300作为终端,CP340作为通讯模块,并采用LabVIEW作为上位机软件是本系统的一大特点。
在以上软硬件条件下,要在LabVIEW中实现PC与PLC的实时通信,关键在于如何在LabVIEW编程环境中驱动SIEMENSCP5611通讯卡。CP5611被驱动后PC机即可通过CP5611与Profibus总线连接,从 S7-300地址块中读出数据或往地址块中写入数据。SIEMENS CP5611目前没有LabVIEW的驱动程序,如果要在LabVIEW环境中开发SIEMENSPLC的上位机控制系统,可以采取两种方案:
(1)开发者自己开发 CP5611的驱动程序,从底层的动态链接库编起;
(2)找到并安装SIEMENS的OPC Server应用程序,利用NI的OPC Client与之进行数据交互。
显然,第二种方案对开发者更方便、快捷,因而本文选用第二种方案。OPCOLE for Process Control是基于Windows NT技术的OLE,COM/DCOM接口的扩展,其本质是OPC Client用一种开放的、标准化的通讯方式与OPC Server进行通讯。OPC规范定义的标准接口,使得不同厂家之间软硬件的集成易于实现。使用第三方硬件时,只要硬件开发商提供OPC Server,软件开发人员无需编写低层的驱动程序,通过用户软件的OPC Client即可与之进行数据交互[2]。
整个监控系统共有79个工况参数,其中开关量共 66个,模拟量共 13个。废气锅炉综合故障、应急配电板 DC24V失电、1号左燃油舱高位等 35个开关量均直接接入PLC的输入输出模块,通过传感器将信号实时的读入 PLC的输入映像区。进涡轮增压器前排气温度高,主机应急控制电源故障等 31个开关量通过通讯模块采集数据。所有模拟量如燃油进机压力表、滑油进主轴承压力表、汽缸冷却高温淡水出口温度表等也由CP340通讯模块完成数据采集。所有通过 CP340读取的源数据均从柴油机数据存储区中取得。系统硬件结构、软件设计流程如图1、2所示。
图1 系统结构图
图2 软件设计流程图
2 软件设计
2.1 PLC与柴油机通讯
S7-300与柴油机通讯,可以对 CP340设置接收帧结束方式;通讯方式:9 600,8,n,1;接口方式: RS2422,其余的设置为默认方式。丹麦 MAN B&W公司的柴油机采用的是MODBUSASCII协议,电路接口标准为 RS2422。读取命令的数据格式包括开始位、功能码、数据起始地址、数据量、LRC校验码、停止位以及结束符。接收命令的数据格式与其基本相同,只是包含了数据量。当柴油机接收到来自PLC的发送请求命令时,先根据数据的起始地址计算出LRC校验码,然后再与接收到的LRC校验码相比较,如果一致,则向PLC发送数据,否则,不做出响应。
PLC读取数据命令实际上就是将不同的地址和校验码填入预先定义好的 DB块中,然后按照上述的通讯格式,调用 CP340功能模块将请求发送出去。因此,只需要一个发送数据 DB块。而接收数据的DB块,只需要定义成BYTE类型的数组,并且长度不小于 39字节,对于不同的监测量,每次从柴油机中读取的数据则放入到不同的DB块中。对于不同的参数,只需要变换相应的起始地址和LRC校验码即可。
CP340有4个专用功能块:发送功能块FB3,接收功能块FB2,读RS2232C接口信号状态功能块FC5和接口信号状态设置功能块FC6。系统中采用FB2和FB3功能块。
首先要对FB2与FB3的属性进行设置:FB3发送功能块需要设置的属性包括上升沿触发(REQ), CP340起始地址(LADDR),发送数据块号(DBNO),开始字节号(DBB-NO),字节长度(LEN);FB2接收功能块需设置的属性包括接收使能(ENR), CP340起始地址(LADDR),数据放置块号(DBNO),开始字节号(DBB-NO)。
2.2 LabVIEW与PLC通讯
2.2.1 OPC Server的配置
SIEMENS公司为S7-300/S7-400提供的OPServer接口集成在SIMATIC NET软件包内,在本系统中西门子S7系统提供OPC Server,LabVIEW作为OPC Client进行数据通信。
(1)首先要进行OPC配置,在成功安装 SIMATINET和CP5611的驱动程序后,重新启动计算机,开始使用SIMATIC NET软件组态PC Station。
(2)组态好后在Step7v513软件中OPC Server模板与CPU315-2DP进行连接。
(3)连接好之后要下载,特别注意访问点的 Access points的设置,Options-PG/PCINTERFACE,下载到本地服务器要选本地访问点PC internal local;下载到CPU315-2DP,访问点要改成CP5611。
(4)属性中设定local本地IP地址,比如192. 168.0.8,partner是CP5611,它的IP地址也要设定好,比如 192.168.0.132。这样,配置完成后,如果PC station中小图标变为彩色,表示OPCServer配置成功。
2.2.2 DataSocket与OPC的通信
由于LabVIEW软件平台支持DataSocket技术,本文采用DataSocket技术实现对OPC服务器的访问。
DataSocket技术是基于Microsoft COM和ActiveX,源于TCP/IP协议并对其进行高度封装,面向测量和自动化应用,用于共享和发布实时数据,是一种易用的高性能数据交换编程接口。但它不必像TCP/IP编程那样把数据转换为非结构化的字节流,而是以自己特有的编码格式传输各种类型的数据,包括字符串、数字、布尔量以及波形等,还可以在现场数据和用户自定义属性之间建立联系,一起传送。尽管DataSocket与OPC的实现原理有所不同,但DataSocket与OPC在体系上比较相似,二者结构上都是客户机/服务器模式,都为跨网络传输数据定义了各自的传输协议,并以 URL的方式访问服务器数据项目。LabVIEW中可通过DataSocket VI功能子模板上DataSocket VI支持OPC应用。在Lab-VIEW中与一个OPC Sever通过调用DataSocket Open Connection.vi图标实现,并将对应于OPC sever URL传给该Vi。OPC URL的基本结构为:OPC: //主机名//OPC服务器名/数据项目/刷新率。
2.3 系统功能
2.3.1 越限或故障报警处理
每一个监测点都已设置阈值上限、下限或两者都有,凡监测到的参数超过阈值时,都检测其报警条件是否满足,若满足则应立即发出声光报警。报警界面如图 3所示。
图3 报警界面
2.3.2 报警显示和消声消闪功能
当出现报警时,控制面板上的一个指示灯不停的闪烁、蜂鸣器发出声响;当按下消声按钮后,报警声响停止,报警灯光信号由闪烁变为常亮;只有在故障排除并恢复正常状态后,报警指示灯才熄灭。
2.3.3 实时数据显示
能在控制面板显示所有监测点参数,并可将实时数据、历史数据以模拟表、棒型图和变化曲线等形式在工控机界面显示,直观地反映这些参数的变化状态。柴油机监控界面如图4所示,历史数据查询如图5所示。
图4 柴油机监测界面
图5 历史数据查询
3 结语
经实际运行,系统完全满足船舶航行的要求。该系统具有实时性高、操作方便、运行稳定等特点。运用LabVIEW自带的DataSocket与OPC通信实时可靠,适用于SIEMENS几乎所有的通讯总线和通讯卡,具有很强的灵活性。总之,该方案大大提高了机舱自动化监控水平,具有显著的经济效益。
[1] 李垣江,等.基于总线控制的船舶柴油机监控系统[J].船海工程,2005,(6):47-49.
[2] 朱青,等.基于LabV IEW与OPC的船舶机舱报警系统设计[J].现代电子技术,2009,(1):129-131.
[3] 陈锡辉,张银鸿.LabVIEW 8.20程序设计从入门到精通[M].北京:清华大学出版社,2007.