陳 寧,王之民,包國治,李雯文,張爭鳴
(江蘇科技大學能源與動力工程學院,江蘇鎮(zhèn)江212003)
駕駛模擬器是仿真技術應用于船舶領域的一項重要成果,可應用于船舶駕駛訓練[1],人們利用虛擬現(xiàn)實技術營造虛擬的駕駛訓練環(huán)境,通過模擬器的操作部件與虛擬的環(huán)境進行交互,從而進行船舶駕駛操作訓練.文中介紹了一種模擬船舶駕駛器主機起動邏輯回路設計.在LabVIEW環(huán)境下,搭建了基于LabVIEW和PLC的船舶駕駛模擬器主機起動邏輯回路控制平臺,一方面利用LabVIEW和PLC的數(shù)據通信,實現(xiàn)了主機起動邏輯回路的控制;另一方面搭建 LabVIEW SQL Toolkit與 SQL Server的主機報警監(jiān)控系統(tǒng),利用LabVIEW SQL Toolkit建立LabVIEW和SQL Server數(shù)據庫管理系統(tǒng)之間的連接,實現(xiàn)LabVIEW與SQL Server之間的數(shù)據傳輸,并可對監(jiān)控報警界面數(shù)據實時更新[2].系統(tǒng)具有良好的軟件交互界面,編程簡單,控制效果良好,對培訓船員具有一定實用意義.
船舶駕駛模擬器現(xiàn)如今已經廣泛應用于航海教育和培訓當中,《STCW公約馬尼拉修正案》規(guī)定,船員在取得適任證書之前,必須經過駕駛模擬器培訓,其中就包括檢查和操作駕駛臺設備以及設備和裝置的主要部件一旦出現(xiàn)故障時應采取的行動.因此文中研究了船舶駕駛模擬器主機起動邏輯和船舶監(jiān)控報警系統(tǒng).
船舶駕駛模擬器操縱及監(jiān)控報警系統(tǒng)是基于江蘇科技大學輪機工程實驗室船舶駕駛模擬器仿真平臺開發(fā)的.該實驗室的船舶駕駛模擬器是在Visual C++,Matlab,SQL Server 2000,MapX,力控組態(tài)軟件的平臺上,針對實船駕駛操縱系統(tǒng)所具有的功能進行開發(fā)出的,是由多個系統(tǒng)分布式所構成的三維立體視景平臺.其通過預留的外部接口,將Matlab中的Simulink模塊中實船運動模型計算結果從數(shù)據庫中讀取出來并賦值給船舶運動矩陣[3].
操縱及監(jiān)控報警系統(tǒng)針對船舶主機起動邏輯條件,運用LabVIEW與PLC模擬出船舶起動運行過程中的基本起動條件,并在操縱平臺上顯示,相應的車鐘信號和油門信號通過PLC模擬量擴展模塊,傳遞到SQL數(shù)據庫,再從SQL數(shù)據庫傳遞給Simulink模塊輸入端[4],以實時仿真船舶運動,并將運動參數(shù)顯示在船舶監(jiān)控報警系統(tǒng)中.駕駛臺操縱系統(tǒng)包括車鐘、駕駛臺-集控室通訊按鈕、顯示報警指示燈、應急停車按鈕和應急車鐘等.
系統(tǒng)開發(fā)主要應用了LabVIEW與PLC之間的數(shù)據通信——OPC技術,通過 LabVIEW SQL Toolkit實現(xiàn)LabVIEW與SQL Server數(shù)據庫之間的互訪.硬件部分包括數(shù)據采集與控制的硬設備、各平臺之間以及平臺與硬件設備之間的數(shù)據通信內容.
船舶駕駛模擬系統(tǒng)中軟硬件系統(tǒng)之間所采用的數(shù)據通信方式如圖1.
圖1 系統(tǒng)數(shù)據通信方式Fig.1 System data communication
起動邏輯回路的基本功能是根據操縱指令來自動檢查主機是否滿足起動的邏輯條件,是主機遙控系統(tǒng)中最為基本的邏輯控制回路.當所有起動條件都得到滿足時,能自動控制輸出起動信號來開啟主起動閥,對主機進行起動.當主機達到發(fā)火轉速時,自動撤銷起動信號,關閉主起動閥結束起動,確保主機在供油狀態(tài)下運行.
起動準備邏輯條件大多數(shù)是在備車的時候完成的.為方便起見,用字母和符號表示主要的準備條件,分別說明有如下:
盤車機脫開信號(TG)、主起動閥位置信號(MV)、起動空氣壓力信號(PA)、操作空氣壓力信號(PO)、滑油壓力信號(PL)、遙控系統(tǒng)電源信號(ES)、操縱部位轉換信號(PS)、模擬實驗開關位置信號(TS)、故障停車復位信號(ST)、三次起動失敗信號(F3)、起動限時信號(TM)、起動轉速信號(NS)[5].
不同機型起動準備邏輯條件是不完全相同的,但是,起動準備邏輯條件必須全部滿足,因此它們之間是“與”的關系,其邏輯表達式為:
YSC=1,表示主機滿足起動準備邏輯條件;YSC=0,表示主機不滿足起動準備條件,不能對其進行起動.
起動鑒別邏輯是指判定車令與凸輪軸位置是否一致.當有操車指令時,只有車令與凸輪軸的位置一致,才允許發(fā)出起動信號.用YSL表示起動的鑒別邏輯,其邏輯表達式為:
式中:IH為有無正車車令,IS為有無倒車車令,CH為凸輪軸是否在正車位置,CS為凸輪軸是否在倒車位置.
YSL=1,表示所給車令與凸輪軸位置一致,滿足起動鑒別邏輯;YSL=0,說明所給車令與凸輪軸位置不一致,不能滿足起動鑒別邏輯,不允許發(fā)出起動信號.
起動邏輯回路發(fā)出起動信號,必須滿足起動準備邏輯條件和起動鑒別邏輯條件,其邏輯表達式為:
YSO=1,表示滿足的起動準備邏輯條件,主起動閥正在開啟對主機進行起動.
主機起動邏輯判斷控制界面如圖2.當駕駛模擬器起動后,系統(tǒng)默認上述條件全部滿足,駕駛臺上正常的指示燈亮.如果指導教師想要考察培訓學員對主機起動條件掌握情況,可以在控制機上設置相應的故障,這時,未滿足起動條件的指示燈會亮,并發(fā)出蜂鳴報警,培訓人員需根據指示燈上的信號,回答出指導教師設置的故障并采取措施排除故障.
培訓人員要排除故障,只需在控制臺上找到對應滿足起動條件的指示燈按鈕并按下,這時,滿足起動的指示燈亮,故障指示燈滅,蜂鳴報警消除.
圖2 主機邏輯起動判斷控制界面Fig.2 Control interface of main engine logic start judgment
系統(tǒng)中,正常與故障指示燈是利用兩個不具自鎖功能的常開按鈕控制的,為了讓其具有互鎖和保持功能,通過在PLC中添加相應的程序來實現(xiàn)[6],其梯形圖如圖3.
當指導教師設置故障之后,系統(tǒng)會自動將指導老師設置的故障內容、故障設置時間記錄下來[7],故障記錄程序如圖4.
圖3 起動邏輯梯形圖Fig.3 Ladder of start logic
圖4 故障記錄程序Fig.4 Procure of fault logger
LabVIEW SQL Toolkit是用于數(shù)據庫訪問的附加工具包,其集成了一系列的高級功能模塊,這些模塊封裝了大多數(shù)的數(shù)據庫操作和一些高級的數(shù)據庫訪問功能.其主要功能有:①支持ADO所支持的所有數(shù)據庫引擎;②具有高度的可移植性;在任何情況下,通過改變DB Tools Open Connection VI的輸入參數(shù)Connection String就可以更換數(shù)據庫;③支持所有與ODBC或OLE DB兼容的數(shù)據庫驅動程序;④ 與SQL完全兼容[8].
由于database不能夠直接訪問數(shù)據庫,故還需要配置一個*.UDL的數(shù)據庫連接文件.直接打開該數(shù)據庫文件,在屬性里面選擇建立的數(shù)據源名稱即可.以后再訪問數(shù)據的時候路徑就用此*.UDL.
S7-200系列PLC的CPU模塊帶有通信端口,主要支持2種通信模式:PPI模式和自由端口模式[9].PPI通信協(xié)議是西門子公司自主開發(fā)的通信協(xié)議,其性質是一種主從協(xié)議;主站器件發(fā)送要求到從站器件,從站器件響應,主站靠一個PPI協(xié)議管理的共享連接來與從站通信.而自由口模式允許應用程序來控制S7-200的通信端口,用戶可以在自由模式下,使用用戶定義的通信協(xié)議來實現(xiàn)與多種類型智能設備的通信.
在PPI模式下,S7-200內部存儲器的數(shù)據,可以通過簡單的數(shù)據綁定來實現(xiàn)PLC與LabVIEW的通信,該方法無需編寫任何PLC程序且LabVIEW程序也十分簡單,硬件上需要USB/PPI或RS232/PPI電纜,軟件上只需安裝西門子公司針對S7-200系列PLC的OPC應用開發(fā)的PC Access軟件,并在其項目窗口中創(chuàng)建指向PLC內存地址的條目,然后設置相應的LabVIEW控件的數(shù)據綁定位置即可[10].
船船在運行過程中,工況復雜,監(jiān)測所涉及的范圍非常廣,單靠人工對船舶的各個位置進行監(jiān)控,工作量不但龐大煩雜,而且可能由于人為疏忽造成遺漏,導致嚴重的后果.因此,近年來,通過計算機信號采集技術與傳感器技術結合開發(fā)的監(jiān)控報警系統(tǒng),在船舶監(jiān)控領域得到了非常廣泛地應用.船舶駕駛模擬器是一個船員訓練的平臺,是針對真實船舶的具體功能而進行設計的,因此,船舶的監(jiān)控報警系統(tǒng)在船舶駕駛模擬器上是必不可少的.
以13 000 DWT散貨船為原型.利用Simulink搭建的船舶運動仿真系統(tǒng)是平臺中船舶運動的核心,船舶的實時運行信息利用Matlab圖形建模和仿真環(huán)境Simulink在外部模式下計算得到.在系統(tǒng)運行過程中,Simulink相當于運算服務器,它利用Real Time Windows Target輸入/出模塊中的標準網卡設備與外界進行通信,實時接收數(shù)據庫服務器中的控制信號,傳入Simulink模型,更改Simulink參數(shù),同時,再利用標準網卡設備將計算出的數(shù)據傳出,存于數(shù)據庫服務器[11].為此,基于LabVIEW和SQL Servers,建立了船舶駕駛模擬器機艙監(jiān)控系統(tǒng),并開發(fā)了一套LabVIEW環(huán)境下的檢測軟件.
文中搭建的船舶監(jiān)控報警系統(tǒng)運用LabVIEW的database connectivity toolkit(DCT)工具包讀取Microsoft SQL數(shù)據庫中數(shù)據參量[12].首先建立UDL鏈接,UDL是文本鏈接方式,建立鏈接后請測試是否成功.打開SQL server中相應數(shù)據庫表采用DB Tools Open Connection.vi這個NI官方設計的子VI函數(shù),然后利用SQL語言,選擇想要顯示的數(shù)據,采用DB tools Execute Query.vi選擇所需數(shù)據后通過DB Tools Fetch Recordset Data.vi取出想要顯示的數(shù)據,從數(shù)據庫讀出的數(shù)據是變量,需要通過database variant to data這個函數(shù)將變量轉換成數(shù)據并顯示出來,最后需要釋放該操作,同時關閉鏈接,達到節(jié)省上位機內存的目的[12].利用DCT模塊顯示 SQL Server中數(shù)據的程序框圖如圖5.
圖5 數(shù)據庫連接程序框圖Fig.5 Procure of database connection
主機系統(tǒng)是船舶的心臟,必須保證主機在航行期間可靠、穩(wěn)定運行.在此期間,監(jiān)控系統(tǒng)要求時刻檢測主機系統(tǒng)的轉速、渦輪機扭矩、冷卻水溫度、中冷器進出口溫度、燃油進出口溫度、空氣流量、螺旋槳轉速、滑油進出口溫度、壓氣機轉速、操舵指示以及主機排氣溫度等.該監(jiān)控報警系統(tǒng)實現(xiàn)了多樣化的顯示模式,可以實現(xiàn)參數(shù)的查詢、報警上下限值的修改、更改報警延時時間、設置報警阻塞、報警手動查詢及打印、自動打印設置、修改報警模式等.
此監(jiān)控系統(tǒng)通過LabVIEW SQL Toolkit實時讀取Simulink模塊計算后存儲到SQL數(shù)據庫的運行參數(shù),并連續(xù)將這些參數(shù)送入顯示單元,在顯示屏上顯示各個檢測點的當前值;一旦有檢測發(fā)生越限,報警信號將被送入延伸報警控制單元、報警記錄顯示單元、打印記錄單元、以及警報器控制單元.如果有需要,打印記錄單元可以即時打印發(fā)生報警的各參數(shù)值.
監(jiān)控系統(tǒng)運行效果如圖6,圖中可以看出,程序在運行后其參數(shù)值均為設定或默認的初始值.
圖6 監(jiān)控系統(tǒng)運行效果Fig.6 Operation rendering of monitoring system
文中控制系統(tǒng)充分利用了LabVIEW軟件具有眾多通信模塊,可與其他電子設備直接通信的優(yōu)點和PLC控制的穩(wěn)定性,簡潔、直觀地實現(xiàn)了駕駛模擬器主機起動邏輯的模擬和船舶監(jiān)控報警系統(tǒng)的開發(fā),給出船舶柴油機在起動操縱時參數(shù)的物力變化儀表顯示量,以及操縱過程中視景變化的效果,對船舶駕駛訓練具有實際意義.
References)
[1] DNV.Standard for certification of maritime simulator systems[S].Norway,2007.
[2] 王業(yè),王聰,許加慶.基于LabVIEW與SQL Server的心電數(shù)據庫設計[J].計算技術與自動化,2013,32(2):128-132.Wang Ye,Wang Cong,Xu Jiaqing.Design of the ECG database based on LabVIEW and SQL Server[J].Computing Technology and Automation,2013,32(2):128 -132.(in Chinese)
[3] 陳寧,聶壘鑫,劉煒,等.基于OSG的海洋漫游場景的開發(fā)[J].江蘇科技大學學報:自然科學版,2013,27(4):386-390.Chen Ning,Nie Leixin,Liu Wei,et al.Development of the ocean scene ramble system based on OSG[J].Journal of Jiangsu University of Science and Technology:Natural Science Edition,2013,27(4):386 - 390.(in Chinese)
[4] 佘建國,施維振,陳寧.數(shù)據庫技術在船舶動力裝置系統(tǒng)仿真中的應用[J].江蘇科技大學學報:自然科學版,2010,24(4):362-366.She Jianguo,Shi Weizhen,Chen Ning.Database technology in simulation of marine power plant system[J].Journal of Jiangsu University of Science and Technology:Natural Science Edition,2010,24(4):362 - 366.(in Chinese)
[5] 王春芳,葉偉強.輪機自動化[M].遼寧大連:大連海事大學出版社,2011.
[6] 石靈丹,華斌,朱歆州,等.基于OPC技術的PC與西門子PLC的實時通訊[J].船電技術,2011,31(1):9-12.Shi Lingdan,Hua Bin,Zhu Xinzhou,et al.Real-time communication between PC and siemens PLC based on OPC [J].Marine Electric & Electronic Technology.2011,31(1):9 -12.(in Chinese)
[7] 美國National Instrument公司.LABVIEW幫助文件[Z].2009.
[8] 雷琴,周興武.LabVIEW中遠程訪問SQL Server數(shù)據庫[J].現(xiàn)代科學儀器,2007(2):46-48.Lei Qin,Zhou Xingwu.Access to remote SQL database in LabVIEW[J].Modern Scientific Instruments,2007(2):46 -48.(in Chinese)
[9] 陳仲凱,吳萌陵,左建勇.基于S7-200的PLC數(shù)據通信研究[J].工業(yè)儀表與自動化裝置,2011(4):78-89.Chen Zhongkai,Wu Mengling,Zuo Jianyong.The study of data communication based on S7 -200 PLC[J].Industrial Instrumentation & Automation,2011(4):78-89.(in Chinese)
[10] 陳志凱,徐善林.基于PLC的船舶主機邏輯程序控制系統(tǒng)的研究[J].船電技術,2010,30(8):45-48.Chen Zhikai,Xu Shanlin.Study on logic program control system based on programmable logic controller in marine[J].Marine Electric & Electronic Technology,2010,30(8):45 -48.(in Chinese)
[11] 李榮川,基于視景的船舶駕駛模擬器設計開發(fā)[D].江蘇鎮(zhèn)江:江蘇科技大學,2012:12-26.
[12] 朱飛,洪榮晶,陳捷,等.基于LabVIEW的回轉支承測控系統(tǒng)數(shù)據庫的訪問[J].軸承,2010(10):51-55.Zhu Fei,Hong Rongjing,Chen Jie,et al.Access to database based on LabVIEW in slewing bearing testing and control system[J].Bearing,2010(10):51 - 55.(in Chinese)