- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于LabVIEW与OPC的船舶机舱报警系统设计
O 引 言
船舶机舱监控系统是现代自动化船舶中最基本和最重要的系统,目前船舶集中监控系统大多采用分布式结构,而集散式控制、分布式控制的船舶自动化监控系统将逐步被以现场总线为基础的集中监控系统所取代,从而最大程度地实现船舶航行的安全性、可靠性和经济性。相对于在传统开发环境(VB,VC++,C等)下开发机舱监控系统周期长,运行速度慢,调试和维护困难,系统采用LabVIEW作为编程语言,它编程高效、灵活、面向对象,其强大的图形编程能力及可视化编程环境得到很多软件开发人员的青睐。PLC作为现代控制技术的重要支柱之一,以其可靠性高、抗干扰能力强等特点在现代控制系统中得到广泛的应用,它能适应船舶机舱的恶劣环境。把LabVIEW与PLC相结合应用到船舶机舱系统,具有很好的应用价值和前景。
该系统运用Profibus现场总线控制,采用一种基于OPC的PC与SIEMENS PLC S7—300实时通讯的Lmb—VIEW实现方法,将虚拟仪器技术与PLC技术结合到一起开发船舶机舱上位机控制系统,以实现良好的人机界面与可靠的系统控制。实现LabVIEW与PLC S7—300的实时、稳定的数据交换,是该系统的关键与难点。
l 系统实现
1.1 系统软硬件条件
软件:LabVIEW 8.2,SIMATIC NET(OPCInclude),Step7 v5.3 SQL数据库。其中LabVIEW8.2用于上位机编程,SIMATIC NET用于对通信进行组态并配置OPC Server,Step 7 v5.3用于对SIE—MENS PLC S7—300进行编程。
硬件:PC机,SIEMENS PLC S7—300(CPU315—2DP),SIEMENS CP5611通讯卡,Profibus总线。Profibus总线是SIEMENS公司的一种用于工业控制的现场总线,在100 m范围内通信速率可达12 Mb/s。CP5611是一种PCI通讯卡,用于PC与Profibus连接。
1.2 系统流程图
系统设计采用机舱报警和延伸报警互为补充。整个监控系统共有84个工况参数,其中开关量共71个,模拟量共13个。废气锅炉综合故障、应急配电板DC24 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总线连接,从PLCS7—300地址块中读出数据或往地址块中写入数据。SIEMENS CP5611目前没有LabVIEW的驱动程序,如果要在LabVIEW环境中开发SIEMENS PLC的上位控制系统,可以采取两种方案:
(1)开发者自己开发CP5611的驱动程序,从底层的动态链接库编起;
(2)找到并安装SIEMENS的OPC Server应用程序,利用NI的OPC Client与之进行数据交互。
显然,第二种方案对开发者更方便、快捷,因而本文选用第二种方案。OPC(OLE for Process Contro1)是基于Windows NT技术的0LE,COM/DCOM接口的扩展,其本质是OPC Client用一种开放的、标准化的通讯方式与OPC Server进行通讯。OPC规范定义的标准接口,使得不同厂家之间软硬件的集成易于实现。使用第三方硬件时,只要硬件开发商提供OPC Server,软件开发人员无需编写低层的驱动程序,通过用户软件的OPC Client即可与之进行数据交互。
1.3.2 LabVIEW与PLC数据通信的建立
(1)OPC Server的配置
SIEMENS公司为S7—300/S7—400提供的OPCServer接口集成在SIMATIC NET软件包内,在本系统中西门子S7系统提供OPC Server,LabVIEW作为OPC Client进行数据通信。
(1)首先要进行OPC配置,在成功安装SIMATICNET和CP5611的驱动程序后,重新启动计算机,开始使用SIMATIC NET软件组态PC Station。
(2)组态好后在Step7v5.3中OPC Server与CPU315—2 DP进行连接。
(3)连接好之后要下载,特别注意访问点的(Access points)的设置,Options—PG/PCINTERFACE,下载到本地服务器要选本地访问点PC internal(1ocal)下载到CPU315—2 DP,访问点要改成CP5611。
(4)属性中设定local(本地)IP地址,比如192.168.6.174,partner是CP5611,它的IP地址也要设定好,比如192.168.6.132。这样,配置完成后,如果PCStation中小图标变为彩色,表示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通过调用DataSocke—tOpen Connection.vi图标实现,并将对应于OPC—severURL传给该Vi。OPC URL的基本结构为:OPC://主机名//OPC服务器名/数据项目/刷新率。
l.4 监控系统界面
在上位机中显示的1#主机5个参数的实时参数值,运用DataSocke和OPC可以进行实时稳定的通信显示。仪表盘中,绿色表示参数在安全的情况下运行;黄色表示参数正处于临界的状态,即将要达到超限的状态;而红色即表示参数已经超限。参数超限时,仪表下面的报警灯随即红亮,图3中的第三个仪表已经报警,显示的是1#主机转速超限。此时可以根据要求发送指令到PLC,或者通过PLC编程自动切换或停车。处理后PLC可将处理结果返回给LabVIEW显示并存储。表头下面的三个曲线利用LabVIEW强大的数据显示功能,通过设置显示数据历史长度设置当前一段时间内的实时数据曲线,如图3所示。
结合数据库用户可以对日志、报警记录、控制处理结果以及各器件的历史运行状态进行查询。图4是主机的历史曲线显示分析界面,从历史曲线可以看出系统参数的历史趋势。经过分析可得出曲线整体走势平缓,各参数在大部分时间是在正常范围内的,其中有个别点与其他点不同,说明过去存在参数报警。
2 结 语
该系统开发周期短、人机界面直观友好、控制可靠、维护方便。运用LabVIEW自带的DataSocket与OPC通信实时可靠,适用于SIEMENS几乎所有的通讯总线和通讯卡。如使用不同的通讯总线和不同类型的通讯卡,组态时选取相应的总线型号和通讯卡型号即可。采用OPC作为数据交换的接口,具有可拓展性,可以将其他的系统融合进来,构成综合监控系统。实践证明此系统在通沙汽渡五号上已经运行一年多,性能稳定,大大提高船舶机舱自动化水平。