基于CANbus和SNMP的起重力矩監(jiān)控系統(tǒng)
管理端向代理發(fā)送Get 請求,要求返回壓力、角度等數(shù)據(jù)。代理接受請求后,對PDU 進(jìn)行解析處理,并調(diào)用相應(yīng)的子功能模塊,從MIB 文件中讀出“壓力”、“角度”、“長度”等變量的值,然后代理調(diào)用編碼模塊,將這些數(shù)據(jù)打包成相應(yīng)的PDU 發(fā)送給管理端作為對Get 請求的響應(yīng)。管理端接收到相應(yīng)數(shù)據(jù)后,將它們與預(yù)先設(shè)定的參考值作比較,根據(jù)實(shí)際值與設(shè)定值之間的偏差,判斷起重力矩是否超過限制,并據(jù)此發(fā)出相應(yīng)的開關(guān)控制命令。
(2)Set 操作
Set 請求的原理與Get 類似,不過是將某一新的值寫給相應(yīng)的變量,而不是讀,從而實(shí)現(xiàn)對被管理設(shè)備的控制。在該系統(tǒng)中,管理端向代理發(fā)送Set 請求,以設(shè)置各開關(guān)的狀態(tài)變量。代理接受請求后,向MIB 文件中寫入各“開關(guān)”變量的新值,并通過現(xiàn)場的CAN 總線傳遞給輸出控制模塊來控制上升、下降、左轉(zhuǎn)、右轉(zhuǎn)開關(guān)的動作。
3.3 MIB 的編寫
MIB 是有關(guān)被管理目標(biāo)對象的數(shù)據(jù)庫,其數(shù)據(jù)結(jié)構(gòu)呈樹形。本系統(tǒng)中的MIB 文件存儲了現(xiàn)場傳感器采集的各種信號以及開關(guān)的狀態(tài),通過讀取和設(shè)置這些MIB 對象的值,管理端完成監(jiān)測和控制。MIB 文件編寫中最關(guān)鍵的一點(diǎn)是確定要定義的變量。在該系統(tǒng)的MIB 設(shè)計(jì)中定義的變量如表1 所示。
表1 遠(yuǎn)程起重力矩監(jiān)控系統(tǒng)MIB 變量表
MIB 變量名 | 含義 | 類型 |
DegreeValue | 角度的實(shí)際值 | Integer |
LengthValue | 長度的實(shí)際值 | Integer |
PressureValue | 壓力的實(shí)際值 | Integer |
UpSwitch | 上升開關(guān)狀態(tài) | Integer |
DownSwitch | 下降開關(guān)狀態(tài) | Integer |
LeftSwitch | 左轉(zhuǎn)開關(guān)狀態(tài) | Integer |
RightSwitch | 右轉(zhuǎn)開關(guān)狀態(tài) | Integer |
3.4 代理與管理端程序的開發(fā)
采用AdventNet Agent Toolkit C Edition 工具包來開發(fā)代理程序,該工具包提供了一個(gè)廣泛而完整的開發(fā)環(huán)境,并帶有代理信息定義編輯器、編譯器等一系列代理開發(fā)工具及測試工具,降低了代理開發(fā)的復(fù)雜性。所開發(fā)的代理僅占用極小的空間,卻具有較高的性能,而且代理的擴(kuò)展幾乎不會影響到應(yīng)用和設(shè)備的性能。在編寫好MIB 文件后,依據(jù)Agent Toolkit C Edition 工具的開發(fā)流程編寫代理程序,其主要功能是對MIB 文件進(jìn)行管理,并實(shí)現(xiàn)對網(wǎng)絡(luò)端口的偵聽,SNMP 數(shù)據(jù)報(bào)的解碼及編碼,對管理端的請求進(jìn)行處理,以及對硬件的管理。
在VC++.NET 開發(fā)平臺下利用NET-SNMP 開發(fā)包來編寫管理端程序。NET-SNMP 開發(fā)包是目前最為流行的基于C++的SNMP 協(xié)議開發(fā)包之一,開發(fā)包中的SNMP 協(xié)議模塊為用戶使用SNMP 協(xié)議來構(gòu)建網(wǎng)絡(luò)管理應(yīng)用層軟件提供了良好的協(xié)議通訊的基礎(chǔ),它提供了一系列的API 函數(shù)可供開發(fā)者使用。本系統(tǒng)的管理端程序運(yùn)行在遠(yuǎn)程監(jiān)控計(jì)算機(jī)上,與工作現(xiàn)場工控機(jī)上駐留的代理之間進(jìn)行遠(yuǎn)程數(shù)據(jù)通信,主要完成Get 和Set 操作兩項(xiàng)任務(wù)。
5 結(jié)論
CAN 總線因其自身的諸多優(yōu)點(diǎn)適合于對實(shí)時(shí)性、可靠性、安全性要求十分嚴(yán)格的機(jī)械控制網(wǎng)絡(luò)。SNMP 協(xié)議簡潔,可擴(kuò)展性強(qiáng),基于SNMP 協(xié)議的網(wǎng)絡(luò)傳輸以Internet 作為媒介,傳輸距離不受限制,可進(jìn)一步拓展CAN 總線的優(yōu)勢。本文的創(chuàng)新點(diǎn)在于,結(jié)合這兩種技術(shù)的優(yōu)點(diǎn),實(shí)現(xiàn)了基于CAN 總線和SNMP 協(xié)議的起重力矩遠(yuǎn)程監(jiān)控系統(tǒng),該方案可以保障可靠、實(shí)時(shí)的遠(yuǎn)程數(shù)據(jù)傳輸和命令執(zhí)行,確保起重機(jī)械的安全運(yùn)行。項(xiàng)目經(jīng)濟(jì)效益達(dá)20 萬元。
評論