基于LabVIEW与OPC的船舶机舱报警系统设计

2009-05-25 09:59李垣江
现代电子技术 2009年1期
关键词:机舱上位通讯

朱 青 王 直 李垣江 胡 煜

摘 要:设计了基于LabVIEW与OPC船舶机舱报警监控系统。上位机采用LabVIEW软件实现,下位机采用SIEMENS S7-300。利用OPC标准驱动方式和LabVIEW中的DataSocket实现了PC与S7-300的实时通讯,实现了良好的人机界面与可靠的系统控制。它能够对机舱主、辅机的温度、压力、转速等参数具有显示以及超限报警功能,并且具有利用数据库实现数据的记录以及查询;实现历史数据和实时数据的波形显示与简单动态分析功能。

关键词:LabVIEW;OPC;DataSocket;S7-300;船舶机舱

中图分类号:U664.82 文献标识码:B

文章编号:1004-373X(2009)01-129-03

Design of Alarm System for Engine-room Based on LabVIEW and OPC

ZHU Qing,WANG Zhi,LI Yuanjiang,HU Yu

(Jiangsu University of Science and Technology,Zhenjiang,212003,China)

Abstract:An alarm and control system for engine room of ships is developed by means of LabVIEW and OPC.OPC standards-driven approach and DataSocket of LabVIEW is used,PC and S7-300 real-time communications are realized,and a good human-computer interface and reliable control system are achieved.It is capable of displaying the temperature, pressure,speed and other parameters of the main and auxiliary cabin.It also has the exceeding alarm function.Meanwhile,the data and history can be recorded in database.The system can display historical data,real-time data waveform and achieve simple dynamic analysis.

Keywords:LabVIEW;OPC;DataSocket;S7-300;engine-room

0 引 言

船舶机舱监控系统是现代自动化船舶中最基本和最重要的系统,目前船舶集中监控系统大多采用分布式结构,而集散式控制、分布式控制的船舶自动化监控系统将逐步被以现场总线为基础的集中监控系统所取代,从而最大程度地实现船舶航行的安全性、可靠性和经济性。相对于在传统开发环境(VB,VC ++,C等)下开发机舱监控系统周期长,运行速度慢,调试和维护困难,系统采用LabVIEW作为编程语言,它编程高效、灵活、面向对象,其强大的图形编程能力及可视化编程环境得到很多软件开发人员的青睐。PLC作为现代控制技术的重要支柱之一,以其可靠性高、抗干扰能力强等特点在现代控制系统中得到广泛的应用,它能适应船舶机舱的恶劣环境。把LabVIEW与PLC相结合应用到船舶机舱系统,具有很好的应用价值和前景。

该系统运用Profibus现场总线控制,采用一种基于OPC的PC与SIEMENS PLC S7-300实时通讯的LabVIEW实现方法,将虚拟仪器技术与PLC技术结合到一起开发船舶机舱上位机控制系统,以实现良好的人机界面与可靠的系统控制。实现LabVIEW与PLC S7-300的实时、稳定的数据交换,是该系统的关键与难点。

1 系统实现

1.1 系统软硬件条件

软件:LabVIEW 8.2,SIMATIC NET(OPC Include),Step7 v5.3 SQL数据库。其中LabVIEW 8.2用于上位机编程,SIMATIC NET用于对通信进行组态并配置OPC Server,Step 7 v5.3用于对SIEMENS PLC S7-300进行编程。

硬件:PC机,SIEMENS PLC S7-300(CPU315-2 DP),SIEMENS CP5611通讯卡,Profibus总线。Profibus总线是SIEMENS公司的一种用于工业控制的现场总线,在100 m范围内通信速率可达12 Mb/s。CP5611是一种PCI通讯卡,用于PC与Profibus连接。

1.2 系统流程图

系统设计采用机舱报警和延伸报警互为补充。整个监控系统共有84个工况参数,其中开关量共71个,模拟量共13个。废气锅炉综合故障、应急配电板DC 24 V失电、1号左燃油舱高位等71个开关量和所有如燃油进机压力、滑油进主轴承压力、汽缸冷却高温淡水出口温度等13个模拟量均直接接入PLC的输入输出模块,通过传感器将信号实时地读入PLC的数据映像区。用PPI电缆将PLC和PC(RS 232标准串口)相连,上位机PC监控软件采用LabVIEW程序进行编写,通过LabVIEW与PLC的接口将所有开关量和模拟量数据从PLC中取出,实现数据的显示、报警、存储、实时曲线和历史曲线分析,故障诊断等功能。该系统还可通过上位机程序向PLC发出指令,以实现对设备的远程控制,系统结构流程如图1所示。

1.3 通信方案及实现

1.3.1 通信方案

在以上硬件条件下,要在LabVIEW中实现PC与PLC的实时通信,关键在于如何在LabVIEW编程环境中驱动SIEMENS CP5611通讯卡。CP5611被驱动后,PC机即可通过CP5611与Profibus总线连接,从PLC S7-300地址块中读出数据或往地址块中写入数据。SIEMENS CP5611目前没有LabVIEW的驱动程序,如果要在LabVIEW环境中开发SIEMENS PLC的上位控制系统,可以采取两种方案:

(1) 开发者自己开发CP5611的驱动程序,从底层的动态链接库编起;

(2) 找到并安装SIEMENS的OPC Server应用程序,利用NI的OPC Client与之进行数据交互。

显然,第二种方案对开发者更方便、快捷,因而本文选用第二种方案。OPC(OLE for Process Control)是基于Windows NT技术的OLE,COM/DCOM接口的扩展,其本质是OPC Client用一种开放的、标准化的通讯方式与OPC Server进行通讯。OPC规范定义的标准接口,使得不同厂家之间软硬件的集成易于实现。使用第三方硬件时,只要硬件开发商提供OPC Server,软件开发人员无需编写低层的驱动程序,通过用户软件的OPC Client即可与之进行数据交互。

1.3.2 LabVIEW与PLC数据通信的建立

(1) OPC Server的配置

SIEMENS公司为S7-300/S7-400提供的OPC Server接口集成在SIMATIC NET软件包内,在本系统中西门子S7系统提供OPC Server,LabVIEW作为OPC Client进行数据通信。

(1) 首先要进行OPC配置,在成功安装SIMATIC NET和CP5611的驱动程序后,重新启动计算机,开始使用SIMATIC NET软件组态PC Station。

(2) 组态好后在Step7v5.3中OPC Server与CPU315-2 DP进行连接。

(3) 连接好之后要下载,特别注意访问点的(Access points)的设置,Options-PG/PCINTERFACE,下载到本地服务器要选本地访问点PC internal(local)下载到CPU315-2 DP,访问点要改成CP5611。

(4) 属性中设定local(本地)IP地址,比如192.168.6.174,partner是CP5611,它的IP地址也要设定好,比如192.168.6.132。这样,配置完成后,如果PC Station中小图标变为彩色,表示OPC Server配置好了。

(2) DataSocke与OPC的通信

LabVIEW的图形化变成平台集成了当前测控领域中各种先进的软件开发技术,可采用多种方案对OPC服务器进行访问。由于LabVIEW软件平台支持DataSocket技术,DataSocket能实现实时数据共享,本文采用DataSocket技术实现对OPC服务器的访问。DataSocket技术是基于Microsoft COM和ActiveX,源于TCP/IP协议并对其进行高度封装,面向测量和自动化应用,用于共享和发布实时数据,是一种易用的高性能数据交换编程接口。但它不必像TCP/IP编程那样把数据转换为非结构化的字节流,而是以自己特有的编码格式传输各种类型的数据,包括字符串、数字、布尔量以及波形等,还可以在现场数据和用户自定义属性之间建立联系,一起传送。尽管DataSocket与OPC的实现原理有所不同,但DataSocket与OPC在体系上比较相似,二者结构上都是客户机/服务器模式,都为跨网络传输数据定义了各自的传输协议,并以URL的方式访问服务器数据项目。LabVIEW中可通过DataSocket VI功能子模板上DataSocket VIs支持OPC应用。在LabV IEW中与一个OPC Sever通过调用DataSocketOpen Connection.vi图标实现,并将对应于OPCseverURL传给该Vi。OPC URL的基本结构为:OPC://主机名//OPC服务器名/数据项目/刷新率。

1.4 监控系统界面

在上位机中显示的1#主机5个参数的实时参数值,运用DataSocke和OPC可以进行实时稳定的通信显示。仪表盘中,绿色表示参数在安全的情况下运行;黄色表示参数正处于临界的状态,即将要达到超限的状态;而红色即表示参数已经超限。参数超限时,仪表下面的报警灯随即红亮,图3中的第三个仪表已经报警,显示的是1#主机转速超限。此时可以根据要求发送指令到PLC,或者通过PLC编程自动切换或停车。处理后PLC可将处理结果返回给LabVIEW显示并存储。表头下面的三个曲线利用LabVIEW强大的数据显示功能,通过设置显示数据历史长度设置当前一段时间内的实时数据曲线,如图3所示。

结合数据库用户可以对日志、报警记录、控制处理结果以及各器件的历史运行状态进行查询。图4是主机的历史曲线显示分析界面,从历史曲线可以看出系统参数的历史趋势。经过分析可得出曲线整体走势平缓,各参数在大部分时间是在正常范围内的,其中有个别点与其他点不同,说明过去存在参数报警。

2 结 语

该系统开发周期短、人机界面直观友好、控制可靠、维护方便。运用LabVIEW自带的DataSocket与OPC通信实时可靠,适用于SIEMENS几乎所有的通讯总线和通讯卡。如使用不同的通讯总线和不同类型的通讯卡,组态时选取相应的总线型号和通讯卡型号即可。采用OPC作为数据交换的接口,具有可拓展性,可以将其他的系统融合进来,构成综合监控系统。实践证明此系统在通沙汽渡五号上已经运行一年多,性能稳定,大大提高船舶机舱自动化水平。

参考文献

[1]王晶,孟宪尧.基于局域网的船舶机舱监控和综合桥楼系统[J].国内外机电一体化技术,2007,10(7):22-23.

[2]戴晓强,刘维亭,朱志宇.基于LabVIEW的船舶机舱自动化平台的实现方法[J].微计算机信息200622(4Z):158-161.

[3]李红梁.基于OPC的PC与PLC实时通讯的LabVIEW实现[J].计算机应用研究,2003,20(12):115-118.

[4]高德欣,杨清,刘军,等.利用OPC接口实现SCADA系统与PLC之间的通讯[J].青岛科技大学学报,2006,27(2): 66-69.

[5]陈欣,王浩宇,郎朗.基于OPC技术的上位机与西门子PLC的通信[J].自动化与仪器仪表,2008(1):70-73.

[6]乔毅,栾美艳,袁爱进,等.基于LabVIEW和OPC的数据通信的实现[J].控制工程,2005,12(2):153-155.

[7]杨芷,鲁五一,熊红云.基于OPC技术的LabVIEW和PLCs通讯[J].长沙航空技术学院学报,2006,6(2):62-65.

[8]王翠兰,周岩松.基于PROFIBUS现场总线的复卷机电控系统设计[J].现代电子技术,2007,30(19):154-156.

[9]栾美艳.采用虚拟测控软件LabVIEW实现控制系统的监控功能[D].大连:大连交通大学,2005.

[10]Madalin Stefan Vlad,Valentin Sgarciu.Distance Process Monitoring Using LabVIEW Environment[A].Automation,Quality and Testing,Robotics(AQTR),IEEE International Conference on.2006:214-219.

作者简介朱 青 女,1983年出生,江苏盐城人,江苏科技大学电子信息学院,硕士研究生。主要研究方向为船舶机舱自动化。

王 直 男,1962年出生,江苏滨海人,副教授,江苏科技大学科技处。主要研究方向为船舶导航、机器人控制。

李垣江 男,1981年出生,山西运城人,信号与信息处理硕士。江苏科技大学电子信息学院教师。

猜你喜欢
机舱上位通讯
《茶叶通讯》简介
《茶叶通讯》简介
通讯报道
船舶机舱火灾的原因分析及预防
船舶机舱通风相关要求及常见关闭装置分析
船舶机舱常见消防隐患及防控
特斯拉 风云之老阿姨上位
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
通讯简史