“黑匣子”是飛機專用的電子記錄設備之一,即航空飛行記錄器。它能夠把飛行相關技術數(shù)據(jù)和狀態(tài)信息等記錄下來,必要時取出來,供實驗、事故分析用。如今,“黑匣子”已經(jīng)成功“著陸”,被更多的民用交通工具使用,比如汽車黑匣子、機車黑匣子、船舶黑匣子等?!昂谙蛔印奔夹g在起重機上也大有作為。自動記錄式力矩限制器能夠自動記錄起重機非正常狀態(tài)和某些參數(shù),在功能和結構上,都與傳統(tǒng)的“黑匣子”相似,亦可稱為起重機“黑匣子”,主要功能有:
(1)分析故障:起重機調(diào)試和維護中,可以利用其記錄的故障數(shù)據(jù),幫助分析調(diào)試時的狀態(tài)和維修重點。
(2)超載記錄:自動記錄超載相應信息,便于車主或主管部門翻查分析。
(3)狀態(tài)監(jiān)視:“黑匣子”與安全警告裝置聯(lián)系緊密,發(fā)生故障或超載的時候,向操作人員報警。
(4)修改參數(shù):將起重機一些參數(shù)存儲到“黑匣子”里,通過通訊手段就可以方便的進行修改,使得力限器能夠適應不同的起重機的要求。
1.硬件設計
起重機“黑匣子”除具有傳統(tǒng)的事后事故分析功能外,還能在發(fā)生故障和超載的時候,利用液晶字段顯示、指示燈和蜂鳴器等一些聲光手段提醒操作人員采取相應的措施。此外還采用了一系列防潮、防水、防腐蝕、抗干擾、抗撞擊的技術,比如采用鐵質外殼來屏蔽系統(tǒng),使用防水隔潮橡膠圈等。
1.1 芯片的選擇
片外存儲芯片選用AT28C64B,它具有8K尋址空間,軟硬件數(shù)據(jù)保護措施,寫入的同時自動擦除,寫入周期短(10ms),掉電數(shù)據(jù)不丟失,斷電后數(shù)據(jù)保存10年,功耗低,而且它不需要其他部件、能夠像普通的靜態(tài)RAM那樣進行讀寫操作。時鐘芯片選用DS1302串行實時時鐘,它可對秒、分、時、日、周、月以及帶閏年補償?shù)哪赀M行計數(shù),功耗低。串行通訊芯片選用MAXIM公司的MAX232CPA,其功耗低,波特率高,使用普遍,與PC機通訊很方便。單片機采用WINBOD公司的W78E58,52系列單片機,32K片內(nèi)EPROM,256字節(jié)片內(nèi)RAM,64K片外尋址空間,1個全雙工串口。
1.2 工作原理
系統(tǒng)框圖如圖一所示。單片機將采集到的傳感器信號代入計算程序進行分析處理,根據(jù)鍵盤掃描信號所決定的顯示對象,將處理后要顯示的數(shù)據(jù)傳輸過去。如果在工作中出現(xiàn)故障或超載,單片機會將當時的時間、相關起重數(shù)據(jù)和狀態(tài)等信息存放到AT28C64B的固定地址中,完成“黑匣子”的數(shù)據(jù)采集工作。需要向上位機(如筆記本電腦)傳輸故障區(qū)數(shù)據(jù)、超載數(shù)據(jù)以及更改起重機某些參數(shù)的時候,需要從AT28C64B中讀取出相應的數(shù)據(jù),利用MAX232CPA按字節(jié)發(fā)送到上位機上,完成數(shù)據(jù)通訊工作。這些參數(shù)變量要代入力矩計算公式進行計算的,它們的改變將直接影響力限器的計算結果。力矩計算公式具有一定的代表性和適用性,實際上改變參數(shù)的值意味著滿足不同起重機對力限器的要求。
1.3 AT28C64的存儲方法
“黑匣子”記錄的數(shù)據(jù)存儲到EEPROM需要統(tǒng)籌規(guī)劃,不僅考慮尋址方便,而且盡量壓縮空間的使用便于今后擴展,這三種記錄的數(shù)據(jù)按類型分片管理。
起重機參數(shù)變量分成兩種:單字節(jié)數(shù)據(jù),如工況,調(diào)零調(diào)滿值等;雙字節(jié)數(shù)據(jù),如基本臂臂長,二節(jié)臂臂長等。故障分為10種,分別放在10個故障區(qū),每區(qū)占用250個字節(jié)。超載區(qū)最多存放100條超載記錄,每條包括超載發(fā)生的相關時間信息、峰值、當時的工況、幅度等,根據(jù)這些參數(shù)就能知道超載發(fā)生時起重機的狀況,這是起重機“黑匣子”的主要功能。涉及到記錄浮點數(shù)的,一律將其轉變?yōu)檎麛?shù)進行存儲。上位機接收后,再把它們轉換回相應的浮點數(shù)進行處理和顯示。這樣不僅節(jié)省了空間,而且便于上位機處理。
2.軟件設計
2.1串行通訊原理簡介
串行通訊分為同步和異步兩種模式,異步使用較多。串行通訊雙方只有遵守一定的通信規(guī)則才能正常工作,該規(guī)則就是通信端口的初始化,包括設置數(shù)據(jù)傳輸速度、發(fā)送單位、起始位或停止位以及校驗碼。
2.2 串行通訊的步驟
單片機上電自檢后,液晶屏上會出現(xiàn)“————”,表示當前處于串行通訊狀態(tài)。如果此時接收到握手信號,系統(tǒng)將處于串行通訊狀態(tài)并向上位機發(fā)送反饋信號,否則進入正常工作狀態(tài)。進入串行通訊狀態(tài),單片機會按上位機發(fā)出的指令與其進行通訊。通訊流程圖見圖二所示。指令分為兩大類:松手指令和正常通訊指令。松手指令雙方可以相互約定不易混淆的代碼充當。正常通訊指令由三部分組成的:指令代碼(讀/寫)、操作對象地址、操作對象數(shù)量范圍,以此指導單片機尋址、操作。指令設定八位一個字節(jié),作為最小的通訊單位,單片機一次最多發(fā)送256個字節(jié)(單片機本身所限)。指令代碼的設置應具有一定的安全性,穩(wěn)定性,可靠性。
3.上位機軟件
3.1 VB6.0串行通訊控件及其界面簡介
起重機“黑匣子”如實地將起重機非正常狀態(tài)記錄下來以后,還需要在上位機上通過專用軟件再現(xiàn)出來才算完成完整的功能。系統(tǒng)利用VB6.0有效地完成我們完成串行通訊的任務。VB6.0自帶的MSComm控件提供了事件響應功能開發(fā)串行通訊工程,另外還可以利用定時器或是DO…Loop,以輪詢來達到自動化的目的。為了節(jié)省系統(tǒng)資源,上位機對串行數(shù)據(jù)的讀取采用事件觸發(fā)方式。接收緩沖區(qū)接收到數(shù)據(jù)便會觸發(fā)OnComm事件,根據(jù)CommEvent屬性值的當時值,建立一個事件驅動的通訊程序進行處理。
上位機通訊軟件界面如圖三所示。該界面能夠完成多種功能。開始運行時,軟件按選擇的端口不斷發(fā)出握手信號,直到接收到單片機正確的反饋信號。這時便處于連通狀態(tài),可進行多種操作:選擇故障區(qū)并讀取和保存、讀取超載區(qū)并保存、選擇讀或寫起重機參數(shù)變量、松手退出等。寫入?yún)?shù)時,會有提示框彈出防止誤操作,輸入數(shù)據(jù)超過指定范圍,軟件拒絕寫入。
3.2 上位機軟件內(nèi)部處理
上位機從單片機得到的是二進制代碼,但是顯示的對象有單、雙字節(jié)之分,這就要將其轉變成相應的10進制數(shù)據(jù)。單字節(jié)數(shù)據(jù)轉變?yōu)?0進制數(shù)據(jù)相對簡單,調(diào)用VB6.0相應函數(shù)即可。雙字節(jié)數(shù)據(jù)需要兩個字節(jié)連在一起轉換,涉及到數(shù)據(jù)正負的問題:轉換后的數(shù)據(jù)最高位是1的話,VB6.0認為是符號位,自動將其變成負數(shù)。遇到這種情況,只要將最高位的1以0代替,將得出的10進制數(shù)加上32768就能解決。時間數(shù)據(jù)按單字節(jié)數(shù)據(jù)的轉換、顯示方法處理。
5.結論
隨著“黑匣子”技術的民用化的普及,起重機安裝“黑匣子”已是大勢所趨。文章基于單片機系統(tǒng)開發(fā)出一種適應范圍廣泛的起重機“黑匣子”,并已完成現(xiàn)場調(diào)試。實踐證明,起重機“黑匣子”具有反應靈敏、操作方便、性能穩(wěn)定、成本低廉,深受客戶好評。