宋 磊, 楊翠玉, 楊卓懿, 李鵬玉
(山東交通學(xué)院 船舶與輪機(jī)工程學(xué)院, 山東 威海 264209)
隨著船舶行業(yè)的蓬勃發(fā)展,海洋經(jīng)濟(jì)發(fā)展隨之崛起,與此同時,船舶自動化程度越來越高,人們更加關(guān)注海上船舶的安全運(yùn)輸問題。目前船舶上應(yīng)用各種新型設(shè)備、自動化監(jiān)控設(shè)備、電力設(shè)備等,在一定程度上,不僅減輕工作人員的壓力,而且操作簡單,但要求工作人員達(dá)到必要的熟練程度,減少現(xiàn)代化設(shè)備的操作失誤,保證海洋運(yùn)輸安全[1-2]。因此,迫切需要開發(fā)一套能夠進(jìn)行人員安全訓(xùn)練、設(shè)備開發(fā)的船舶駕控測試系統(tǒng)。
受海洋氣候、設(shè)備成本及安全因素的制約,船舶駕駛?cè)藛T較少到海洋中進(jìn)行實(shí)船訓(xùn)練,為此需要采用船舶駕控測試系統(tǒng),提高船員的駕駛能力,更好地進(jìn)行海洋運(yùn)輸。趙欣欣[3]總結(jié)車鐘的應(yīng)用類型,并分析各種類型的利弊,設(shè)計(jì)一款以單片機(jī)為核心、應(yīng)用控制器局域網(wǎng)絡(luò)(Controller Area Network, CAN)總線通信的船舶車鐘系統(tǒng)。黃曉雪等[4-5]為深入研究深水鋪管船駕控臺操作特點(diǎn),采用GL Studio軟件,并結(jié)合VC++混合編程,對駕控臺儀表進(jìn)行仿真。張少明等[6]設(shè)計(jì)一種基于可編輯邏輯控制器(Programmable Logic Controller, PLC)控制的船舶車鐘模擬裝置,詳細(xì)說明其硬件選型及電路設(shè)計(jì),并進(jìn)行系統(tǒng)的軟件及人機(jī)界面設(shè)計(jì),可以為內(nèi)河船舶或小型電推船舶車鐘控制系統(tǒng)設(shè)計(jì)提供借鑒。趙恒等[7]基于GPS全球定位技術(shù),設(shè)計(jì)一種應(yīng)用于新型船舶的車鐘記錄儀。鄭紅霞[8]重點(diǎn)研究船舶車鐘記錄儀多通道數(shù)據(jù)采集架構(gòu),利用虛擬化技術(shù)設(shè)計(jì)車鐘記錄儀數(shù)據(jù)采集與處理顯示系統(tǒng),以LabVIEW為平臺進(jìn)行模擬開發(fā),并對多通道數(shù)據(jù)采集平臺進(jìn)行仿真調(diào)試。上述各項(xiàng)研究船型單一,而新型船舶駕控測試系統(tǒng)則要求可適用于多種類型船舶,與傳統(tǒng)駕控設(shè)備相比,更為復(fù)雜、技術(shù)要求更高、涉及層面更廣[9]。
嵌入式車鐘系統(tǒng)的硬件包括總體架構(gòu)和信號采集模塊2個部分。
對基于船舶駕控測試系統(tǒng)的嵌入式車鐘系統(tǒng)進(jìn)行設(shè)計(jì),首先需要確定車鐘系統(tǒng)的功能需求,進(jìn)而明確車鐘系統(tǒng)的設(shè)計(jì)方案?!皞滠嚒薄巴\嚒薄巴贶嚒薄扒斑M(jìn)1~4擋”“后退1~4擋”等11個指示燈組成車鐘控制面板。在硬件模式下,由11擋旋轉(zhuǎn)按鈕控制;在通信模式下,由仿真調(diào)試軟件控制。
嵌入式車鐘系統(tǒng)結(jié)構(gòu)如圖1所示,由具備信號接收電路、數(shù)模轉(zhuǎn)換(Digital to Analog, D/A)電路的船舶操縱信號采集模塊和具備微型控制器、撥碼模塊等在內(nèi)的單片機(jī)模塊組成。其單片機(jī)部分實(shí)現(xiàn)旋鈕和指示燈的對應(yīng)功能,使用基于lpc1768fbd100核心芯片進(jìn)行系統(tǒng)設(shè)計(jì),是一個具有USB功能和高速模數(shù)(Analog to Digital, A/D)轉(zhuǎn)換器的微型控制器。
“中國市場是民族企業(yè)的根,把根維護(hù)好有助于企業(yè)的良好發(fā)展,但如果想要擴(kuò)大品牌影響和企業(yè)實(shí)力,海外市場是檢驗(yàn)民族企業(yè)的真正考場?!碑吙傉f,“如今,比亞迪叉車已經(jīng)在海外市場取得了一定成功,如在歐美市場,比亞迪叉車與來自德國、美國、日本等眾多知名品牌同臺競技,不僅沒有依靠價格優(yōu)勢去占領(lǐng)市場,反而因?yàn)樵阡囯婎I(lǐng)域的技術(shù)優(yōu)勢,獲得了極好的市場認(rèn)可度和保有量,市場能有這樣的反應(yīng),用兩個字概括——便是‘品質(zhì)’?!?/p>
圖2 嵌入式車鐘系統(tǒng)核心板
社會的進(jìn)步和人類技術(shù)的進(jìn)步使人們不斷地從環(huán)境中獲得越來越多的元素。這些對人們的環(huán)境有很大的影響。此外,它還造成了一系列的環(huán)境問題和人類生存危機(jī)。近年來,建筑業(yè)在能源消費(fèi)中所占的比重不斷上升。這種情況也決定了建筑綠色時代的到來??梢?,建筑業(yè)在節(jié)能減排方面有很大的潛力。室內(nèi)設(shè)計(jì)的發(fā)展并不長,但通過了解可以知道,大多數(shù)材料都有一定的污染。因此,在這種情況下,人們開始思考如何保護(hù)生態(tài)環(huán)境,綠色生態(tài)審計(jì)的概念應(yīng)運(yùn)而生。
嵌入式車鐘系統(tǒng)的軟件包括固件程序、上位機(jī)通信軟件、軟件通信協(xié)議等3個部分。
為使船舶駕控測試系統(tǒng)效果更加真實(shí),在嵌入式車鐘系統(tǒng)中,上位機(jī)通信測試軟件以C Sharp作為基本語言進(jìn)行編碼,USB驅(qū)動程序運(yùn)轉(zhuǎn)。在此編碼環(huán)境下,通過調(diào)用應(yīng)用程序接口(Application Programming Interface, API)函數(shù),做出邏輯判斷,使得車鐘面板和上位機(jī)測試界面均得到正常響應(yīng)[3]。圖4為用C Sharp語言編寫出來的上位機(jī)通信軟件界面,在通信指令下,圖示1為上位機(jī)軟件直接控制“后退2”燈狀態(tài),圖示2為正確讀取“停車”燈狀態(tài)。
軟件通信協(xié)議可劃分為RS485通信協(xié)議和Modbus通信協(xié)議,可以控制船舶模擬信號的傳輸距離、方向等屬性。
圖3 嵌入式車鐘系統(tǒng)設(shè)計(jì)流程
我最初在柳江古鎮(zhèn)撐起畫板,就是在離那棵黃葛樹五十米開外的地方。我想把那棵歷盡風(fēng)雨滄桑的古樹描繪下來,正當(dāng)我要落筆的時候,樹下來了一個女人,她大大方方坐在樹下那塊長條形的石墩上,然后用自己長長的辮子逗著懷里的娃娃。又粗又黑的辮子不住地?fù)现尥薜哪樀昂透熘C,女人“哦——哦——咿——啊……”的聲音有節(jié)奏地從樹下傳來。我的注意力完全被女人手里的那對時而揚(yáng)起時而落下的辮子牽制住了。我慢慢去接近她,就在離女人不足十米的地方,我不由得停了下來,我清清楚楚地看到,女人懷里的娃娃,竟然是一個毫無生機(jī),而且是個破舊不堪的洋娃娃。
圖4 嵌入式車鐘系統(tǒng)上位機(jī)通信軟件界面
固件程序可以直接控制車鐘系統(tǒng),即旋鈕旋到一定擋位,相應(yīng)擋位的燈亮。固件程序設(shè)計(jì)包括lpc1768fbd100單片機(jī)軟件設(shè)計(jì)和串口調(diào)試助手軟件設(shè)計(jì),其中后者是在PC機(jī)上向單片機(jī)定時發(fā)送測試數(shù)據(jù)。單片機(jī)軟件使用Keil uVision4進(jìn)行設(shè)計(jì),通過J-Link仿真器燒錄到單片機(jī)中;上位機(jī)使用VS2015編寫,通過串口向單片機(jī)定時發(fā)送測試數(shù)據(jù)。嵌入式車鐘系統(tǒng)設(shè)計(jì)流程如圖3所示。首先需要接通電源,系統(tǒng)進(jìn)行各指示燈、撥碼盤的初始化,然后系統(tǒng)做出判斷,判斷撥碼盤的“0”或“1”值來決定執(zhí)行某一種作業(yè)模式。當(dāng)為硬件指令時,此時處于硬件模式,旋轉(zhuǎn)按鈕發(fā)揮作用,旋鈕旋到一定擋位,相應(yīng)擋位的燈亮。當(dāng)為通信指令時,此時處于通信模式,即撥碼為“1000”時,既可以用上位機(jī)測試軟件控制燈狀態(tài),又可以用旋轉(zhuǎn)按鈕控制燈狀態(tài),并不妨礙上位機(jī)正常讀取燈狀態(tài)。
圖2為嵌入式車鐘系統(tǒng)核心板。圖示1為微控制單元(Microcontroller Unit, MCU),芯片為lpc1768fbd100,程序下載到該芯片中,使得車鐘系統(tǒng)發(fā)揮作用;圖示2為電源適配器,在電壓不穩(wěn)、電流過大等特殊情況下,起到保護(hù)作用,提高板子安全性能;圖示3為串行調(diào)試(Serial Wire Debug, SWD),利用J-Link仿真器,一端連接板子,另一端連接電腦,下載程序;圖示4為撥碼模塊,通過改變撥碼燈的狀態(tài),為車鐘系統(tǒng)提供不同的控制模式;圖示5 為輸入端,電路板接收旋鈕輸出的正電平;圖示6 為輸入端,電路板給燈輸出正電平;圖示7為電源模塊,提供24 V電壓。該車鐘系統(tǒng)核心板由模塊式組成,便于拆卸、檢查問題;板四周鉆有小孔,易于固定模塊進(jìn)行調(diào)試,延長板的壽命[10]。
在選擇設(shè)備儀表接口時,首先考慮的是RS232接口,這種接口可以實(shí)現(xiàn)通信,但是不能實(shí)現(xiàn)聯(lián)網(wǎng)功能,而RS485恰好解決這一問題[11]。在進(jìn)行設(shè)備儀表連接時,RS485采用符合通信潮流的半雙工方式,并且在通信網(wǎng)絡(luò)中,運(yùn)用主從通信模式,能更好地解決實(shí)際設(shè)計(jì)中遇到的問題。
采集模塊由D/A電路和船舶信號接收電路2個部分組成。D/A電路可將離散的量變化為連續(xù)的量,即由航行數(shù)字信號轉(zhuǎn)換為模擬信號,傳遞到控制器,以保證船舶測試系統(tǒng)準(zhǔn)確性[8]。船舶信號接收電路,一方面接收旋鈕發(fā)出的信息,另一方面將信息傳到微型控制器模塊,再上發(fā)到上位機(jī),以確保上位機(jī)做出反饋,完成船舶駕控測試功能。
式中:Z為某垃圾填埋場適宜性總分;i為第i項(xiàng)制約因素,i=1,2,…n,;n為垃圾填埋場制約因素個數(shù);Zi為第i項(xiàng)制約因素之總分。
在上位機(jī)測試軟件中,會用到幀結(jié)構(gòu)語句。一個Modbus的幀結(jié)構(gòu)由4個部分構(gòu)成。第1部分是地址域,在通信作業(yè)模式下,連接設(shè)備儀表時,代表通信地址。第2部分是功能碼,通過讀寫數(shù)據(jù)達(dá)到通信的目的,此時功能碼代表目標(biāo)事件,雖然Modbus 本身功能碼較多,但是在通信模式下,常用的是“讀”和“寫”,讀的功能碼為03,寫的功能碼為16。第3部分是數(shù)據(jù),數(shù)據(jù)是指需要傳遞的消息,為最終需要達(dá)到的目的。第4部分是差錯校驗(yàn),就是用約定的各種計(jì)算方法,如偶校驗(yàn)、奇校驗(yàn)、停止位等,可以清楚地知道所輸入的幀結(jié)構(gòu)是否正確;若出現(xiàn)錯誤,可以及時地做出修改,使車鐘系統(tǒng)發(fā)揮正常的功能。
在調(diào)試車鐘系統(tǒng)的過程中,船舶模擬器產(chǎn)生的信號,大都是雜亂無章的數(shù)字信號,在軟件通信協(xié)議的設(shè)定下,這些數(shù)字信號會整合成連貫的模擬信號,按照一定的順序排列,方便進(jìn)行測試、模擬[12]。為保證模擬的準(zhǔn)確性,前期需要對數(shù)據(jù)進(jìn)行測試、整合,選擇符合要求的數(shù)據(jù),從而保證正常通信。上位機(jī)測試軟件對信號的控制條件如表1所示。寄存器地址及數(shù)據(jù)位編寫到程序中,通過上位機(jī)軟件進(jìn)行輸出測試,測試得到車鐘系統(tǒng)的狀態(tài)與設(shè)計(jì)完全一致。
表1 上位機(jī)測試軟件對信號的控制條件
基于船舶駕控測試系統(tǒng)的嵌入式車鐘系統(tǒng)設(shè)計(jì),在實(shí)際運(yùn)行、測試過程中,遇到一些不可避免的硬件布局及上位機(jī)程序測試問題,需要進(jìn)行深入的研究,以增強(qiáng)實(shí)踐性。隨著信息技術(shù)的快速發(fā)展,未來船舶一定會朝著更加智能化、綜合化、安全化的方向發(fā)展。