14 累積工作時(shí)間計(jì)算
由起重機(jī)的電氣控制原理可知 (見圖2),起升機(jī)構(gòu)電機(jī)由交流接觸器ZC、FC、DC及相應(yīng)回路控制,因此,采集線圈狀態(tài)并進(jìn)行累加即可統(tǒng)計(jì)起重機(jī)的累積工作時(shí)間,也可以通過起重量信息計(jì)算累積工作時(shí)間。
圖2 30t/10t橋式起重機(jī)主鉤控制原理
2 嵌入式起重機(jī)安全監(jiān)控系統(tǒng)組成
滿足GB/T28214—2012規(guī)定的安全監(jiān)控要求。嵌入式起重機(jī)安全監(jiān)控系統(tǒng)采用了freescaleiMX25系列 32位 ARM9核心微控制器 (MicroControlerUnit),主頻 400M,通過外圍電路擴(kuò)展,使該系統(tǒng)具有64MDDR2系統(tǒng)內(nèi)存,128MFlash存儲(chǔ)器。支持實(shí)時(shí)時(shí)鐘、大容量SD卡、1路以太網(wǎng)、多路串行通信 (包括RS232、RS485、GPRS/CDMA)、工業(yè)現(xiàn)場總線 (CAN)、工業(yè)標(biāo)準(zhǔn) TFT彩色LCD、4線制電阻觸摸屏、32路GPIO;支持WindowsCE60嵌入式實(shí)時(shí)系統(tǒng)。通過移植,支持嵌入式數(shù)據(jù)庫SQLite3。系統(tǒng)組成如圖3所示。
圖3 嵌入式起重機(jī)安全監(jiān)控系統(tǒng)
圖3中RS485和起重量限制器連接,實(shí)時(shí)獲取載荷信息,遠(yuǎn)程數(shù)據(jù)傳輸模塊GPRS(或CDMA)用于和后臺進(jìn)行數(shù)據(jù)交換,觸摸屏用于工作狀態(tài)顯示和參數(shù)設(shè)置,實(shí)時(shí)時(shí)鐘用于記錄故障信息的時(shí)間戳,SD卡則用于保存故障信息,GPIO則用于采集開關(guān)信號的狀態(tài)。
3 起重機(jī)安全監(jiān)控系統(tǒng)軟件設(shè)計(jì)
嵌入式起重機(jī)安全監(jiān)控系統(tǒng)基于WindowsCE60嵌入式實(shí)時(shí)系統(tǒng),移植了基于文件的嵌入式數(shù)據(jù)庫系統(tǒng)SQLite3,開發(fā)工具采用MicrosoftVisualStudio2005。系統(tǒng)組成如圖 3所示,上層是起重機(jī)安全監(jiān)控應(yīng)用程序,下層是嵌入式操作系統(tǒng)WindowsCE60和嵌入式數(shù)據(jù)庫SQLite3。起重機(jī)安全監(jiān)控應(yīng)用程序通過WindowsCE控制硬件操作。WindowsCE60支持多任務(wù),軟件設(shè)計(jì)應(yīng)利用多任務(wù)特性以提高程序運(yùn)行效率。起重機(jī)安全監(jiān)控系統(tǒng)需要執(zhí)行的主要任務(wù)有:
1)定時(shí)輪詢安全信號,如果相應(yīng)的信號被觸發(fā),則記錄信號值及發(fā)生的時(shí)間;
2)記錄起重機(jī)的工作載荷,記錄開始作業(yè)的時(shí)間和結(jié)束作業(yè)的時(shí)間;
其中1)和2)具有實(shí)時(shí)性,3)和4)則是非實(shí)時(shí)的,應(yīng)采用不同的方法進(jìn)行處理。實(shí)際中,針對第1種情況,采用了WindowsCE系統(tǒng)自帶的定時(shí)器,每隔100ms對I/O信號進(jìn)行采集,如果信號改變,則記錄相應(yīng)事件。針對第2種情況,采用了多線程和信號量機(jī)制確保及時(shí)正確的接收起重量限制器傳送的數(shù)據(jù)。針對第3種情況,采用了WindowsCE的消息機(jī)制更新界面元素。針對第4種情況,則利用了非作業(yè)時(shí)間進(jìn)行數(shù)據(jù)傳送。
軟件設(shè)計(jì)基于WindowsMFC,采用了面向?qū)ο蠹夹g(shù),圖4顯示了參與通信的各對象之間的交互。和起重量限制器通信過程中涉及了串口類(Serial)、起重量限制器類(LoadCel)、應(yīng)用程序類(App)和界面交互類(Dialog)。應(yīng)用程序類(App)用于實(shí)現(xiàn)安全監(jiān)控系統(tǒng)控制邏輯,初始化界面交互對象(1)、起重量限制器對象(2)和串口對象(3);界面交互類實(shí)現(xiàn)了輸入控制和信息顯示;串口類實(shí)現(xiàn)了串口初始化,并啟動(dòng)單獨(dú)的線程(receiver)接收起重量傳感器的數(shù)據(jù)(4)并進(jìn)行通信過程中的錯(cuò)誤處理,例如奇偶校驗(yàn)錯(cuò),然后將接收到的正確字節(jié)流數(shù)據(jù)傳遞給起重量限制器類(5);起重量限制器類對接收的字節(jié)流進(jìn)行緩存,并依據(jù)ModBus協(xié)議提取其中的載荷信息并進(jìn)行校驗(yàn)(6),之后將完整的起重量信息通過消息機(jī)制通知界面交互類(7);最后由界面交互類更新起重量信息(8)。
圖4 起重量限制器通信活動(dòng)圖
由于不同類型的起重機(jī)顯示的內(nèi)容差異大,不同類型的起重量限制器其通信協(xié)議、解析方法也不同,因此Dialog類、LoadCel類變化較大。而起重機(jī)安全監(jiān)控流程、接收起重量限制器之間的數(shù)據(jù)通信則是相同的,因此,App類、Serial類相對固定。通過類的抽象和接口定義,將安全監(jiān)控系統(tǒng)的控制流程和易于發(fā)生變化的部分進(jìn)行了封裝,提高了軟件復(fù)用。采用通道表示某個(gè)安全監(jiān)控信息源,每個(gè)通道隸屬某個(gè)機(jī)構(gòu),某個(gè)機(jī)構(gòu)可包括多個(gè)通道,例如起升機(jī)構(gòu)包含了上限位、下限位、超載等多個(gè)通道,借鑒設(shè)計(jì)模式中的復(fù)合模式,構(gòu)建了如圖5所示的類層次結(jié)構(gòu),Assembly類抽象了起重機(jī)機(jī)構(gòu),通過該類的Add方法將通道 (安全監(jiān)控信息源)進(jìn)行動(dòng)態(tài)分類,實(shí)現(xiàn)了安全監(jiān)控信息源的結(jié)構(gòu)化,利于信息的存儲(chǔ)、傳輸和檢索。
圖5 通道和機(jī)構(gòu)類層次
4 結(jié)論和展望
采用嵌入式系統(tǒng)對繼電器控制的32t/10t×225m(A5)通用橋式起重機(jī)進(jìn)行信息化改造,使該起重機(jī)初步具備了實(shí)施GB/T28264—2012規(guī)定的安全監(jiān)控的條件。通過面向?qū)ο蠹夹g(shù),將安全監(jiān)控信息源進(jìn)行了結(jié)構(gòu)化和層次化,以利于故障信息的存儲(chǔ)和檢索。同時(shí),利用LoadCel等類,將系統(tǒng)中變化部分進(jìn)行了隔離和封裝,提高了軟件復(fù)用。嵌入式系統(tǒng)配置靈活,軟硬件一體,性能強(qiáng)大,完全可以替代傳統(tǒng)的工業(yè)控制計(jì)算機(jī) (IPC),而成本只有后者的1/3,具有很高的性價(jià)比。