基于CANbus和SNMP的起重力矩監控系統
1 概述
本文引用地址:http://dyxdggzs.com/article/163509.htm在工程機械的控制系統中,計算機技術(shù)、網(wǎng)絡(luò )通訊技術(shù)的應用日趨廣泛。CAN 總線(xiàn)由于其數據傳輸高可靠性和高實(shí)時(shí)性的特點(diǎn),已經(jīng)成為工業(yè)現場(chǎng)數據傳輸方式的事實(shí)標準之一,現已被廣泛應用于汽車(chē)、工業(yè)控制、智能樓宇、煤礦設備等各個(gè)行業(yè)的數據通訊。CAN 總線(xiàn)采用短幀報文結構,實(shí)時(shí)性好,并具有完善的數據校驗、錯誤處理以及檢錯機制,此外CAN 總線(xiàn)節點(diǎn)在嚴重錯誤下會(huì )自動(dòng)脫離總線(xiàn),對總線(xiàn)通訊沒(méi)有影響[1]。CAN 總線(xiàn)網(wǎng)絡(luò )中,數據收發(fā)、硬件檢錯均由CAN 控制器硬件完成,大大增強了CAN 總線(xiàn)網(wǎng)絡(luò )的抗電磁干擾能力,因此非常適用于對實(shí)時(shí)性、安全性要求十分嚴格的機械控制網(wǎng)絡(luò )。
SNMP 作為TCP/IP 協(xié)議族的一個(gè)子協(xié)議,是IEITF 研究小組提出的網(wǎng)絡(luò )管理解決方案之一,它作為一種簡(jiǎn)潔而流行的網(wǎng)絡(luò )管理協(xié)議在工業(yè)界獲得了廣泛的應用。SNMP 網(wǎng)絡(luò )管理模型中的重要組成部分包括:網(wǎng)絡(luò )管理協(xié)議、管理端(Manager)、代理(Agent )和管理信息庫(MIB)。其管理的基本思想是,通過(guò)管理端與代理之間的相互合作,以分布方式執行網(wǎng)絡(luò )管理活動(dòng)[2]。管理端負責管理網(wǎng)絡(luò )中各種資源和設備,采用輪詢(xún)(polling )或手動(dòng)方式向遠程的代理發(fā)送Get(讀?。┖?/span>Set(設置)請求命令,以獲取信息或實(shí)施控制。代理駐留在設備上,負責設備的實(shí)際管理和控制,響應和執行管理端的管理命令,并且返回應答信息。MIB 存放被管對象資源的所有信息,管理端通過(guò)代理來(lái)讀取和設置MIB 文件中的變量值,以實(shí)現對被管理設備的監控。每個(gè)網(wǎng)絡(luò )設備上的MIB 又由代理負責維護。SNMP 最大的優(yōu)點(diǎn)是協(xié)議簡(jiǎn)潔,可擴展性強,只要將新的MIB 裝載在管理軟件上就可以實(shí)現對新的終端的控制與訪(fǎng)問(wèn)。
起重力矩限制系統是起重機械運行中重要的安全保障裝置,其核心在于對規定動(dòng)作執行的精確度,這不僅有賴(lài)于傳感器和執行器的精度,還有賴(lài)于數據采集信號和命令的執行速度。比如起落桿的左右轉動(dòng)角度信號,通過(guò)數據采集模塊將信號標準化,主控工控機接收到該信號后和預先設定的參數做比較,并根據偏差指揮左轉或右轉開(kāi)關(guān)動(dòng)作,并最終到位。傳統的起重力矩控制系統采用基于RS485 的信號傳輸,其通訊波特率僅為57.6Kbps ,系統穩定性差,電動(dòng)機和其他大功率設備常常影響系統的正常運行。而采用CAN 總線(xiàn)傳輸信號則不僅提高系統的抗電磁干擾能力,而且可使通訊波特率大大提高。基于SNMP 協(xié)議的遠程通信,傳輸距離不受限制,這相對于其他工業(yè)控制總線(xiàn)有不可比擬的優(yōu)勢。本文提出的方案結合應用CAN 總線(xiàn)和SNMP 協(xié)議的優(yōu)點(diǎn),構建遠程起重力矩監控系統,現場(chǎng)數據傳輸速率可高達500Kbps ,并具有硬件自動(dòng)校驗和錯誤自動(dòng)重發(fā)功能。該方案可以保障可靠、實(shí)時(shí)的數據傳輸和命令執行,保障起重機械的安全運行。
2 系統硬件結構與特點(diǎn)
在起重機工作現場(chǎng),通過(guò)CAN 總線(xiàn)實(shí)現對各傳感器信號的采集以及對輸出裝置的控制,具有抗干擾能力強、可靠性高、實(shí)時(shí)響應性好,線(xiàn)纜少易敷設、成本低等優(yōu)點(diǎn)?,F場(chǎng)工控機與遠程監控計算機之間的通信采用Internet 作為媒介,使用基于SNMP 協(xié)議的遠程傳輸,進(jìn)一步拓展了CAN 總線(xiàn)的優(yōu)勢。
現場(chǎng)起重機工作的角度、長(cháng)度、壓力等信號由各類(lèi)傳感器采集,輸入iCAN 數據采集模塊,經(jīng)過(guò)CAN 總線(xiàn)傳給現場(chǎng)工控機,并存儲在駐留工控機內的MIB 文件中,供運行在遠程監控計算機中的管理端軟件查詢(xún)調用。同時(shí),各開(kāi)關(guān)的狀態(tài)變量也存儲在該MIB 文件中,根據管理端發(fā)來(lái)的設置值變更成新值,再經(jīng)由現場(chǎng)CAN 總線(xiàn)網(wǎng)絡(luò )傳遞給輸出控制模塊以控制各開(kāi)關(guān)的狀態(tài),達到起重力矩遠程監控的目的。系統結構如圖1 所示。
其中,iCAN-4017 AI 功能模塊具有8 路模擬量輸入通道,符合CAN2.0B 協(xié)議規范,用于采集傳感器的輸入信號,將輸入信號經(jīng)多路開(kāi)關(guān)、AD 轉換后經(jīng)光耦隔離模塊,通過(guò)CAN 總線(xiàn)通訊將輸入的模擬量信號傳送給現場(chǎng)工控機[3]。iCAN-2404 繼電器功能模塊有4 路具有自保持功能的繼電器輸出通道,它在工作時(shí),工控機通過(guò)CAN 總線(xiàn)將輸出的繼電器控制數據傳送給該模塊,模塊通過(guò)光電隔離后輸出驅動(dòng)繼電器,實(shí)現對上升、下降、左轉、右轉開(kāi)關(guān)的控制。
3 系統軟件工作原理及實(shí)現
系統的軟件主要分為兩部分,其一是為了提取和設置CANbus 現場(chǎng)總線(xiàn)中的據,其二是基于SNMP 協(xié)議實(shí)現數據的遠程通信。
3.1 提取和設置現場(chǎng)總線(xiàn)中的數據
為了對傳感器數據進(jìn)行處理,實(shí)時(shí)獲取系統工作狀態(tài),并對各執行器進(jìn)行相應的控制,我們利用iCAN 模塊附帶的函數庫在VC++開(kāi)發(fā)平臺下編寫(xiě)了相應的程序來(lái)通過(guò)各iCAN 模塊采集傳感器的信號,控制各開(kāi)關(guān)的狀態(tài)。iCAN 主站函數庫以動(dòng)態(tài)鏈接庫(DLL)的形式提供,內部封裝了iCAN 協(xié)議,屏蔽訪(fǎng)問(wèn)控制細節,提供對現場(chǎng)總線(xiàn)iCAN 網(wǎng)絡(luò )中設備訪(fǎng)問(wèn)的接口[3]。通過(guò)調用此函數庫,可以使PC-CAN 主站卡和iCAN 從站模塊進(jìn)行通訊,完成工控機與現場(chǎng)總線(xiàn)上各節點(diǎn)設備之間的信息交換。
3.2 基于SNMP 協(xié)議的通信實(shí)現
為了基于SNMP 協(xié)議在遠程監控計算機與現場(chǎng)工控機之間進(jìn)行通信,需要開(kāi)發(fā)兩部分的程序,即管理端程序和代理程序。管理端程序運行在遠程監控計算機中,代理程序駐留在與現場(chǎng)CAN 總線(xiàn)相連的工控機上,代理中還包括管理信息庫MIB,MIB 存儲被管理對象的信息,包括角度、壓力數據,各開(kāi)關(guān)的開(kāi)閉狀態(tài)等。管理端以輪詢(xún)方式向遠程的代理發(fā)送Get(讀?。┖?/span>Set(設置)請求命令,以獲取角度、長(cháng)度和壓力信息或實(shí)施開(kāi)關(guān)控制。代理將根據請求的內容從本地 MIB 中提取所需信息,并以響應報文方式將結果回送給管理端。具體地,它一方面不斷地檢查本地的狀態(tài),更新MIB 庫中的變量值;另一方面,循環(huán)偵聽(tīng)管理端的請求報文,并作出相應的響應,讀取或修改 MIB 中的變量值,將結果返回給管理端。通信交互過(guò)程如圖2 所示[4] 。
圖2 管理端與代理的通信交互過(guò)程
評論