時間:2009-04-03 16:08:19來源:ronggang
摘 要:針對多電機監控系統信息量大、布線復雜、調試不方便等特點,本文介紹了一種基于現場總線技術和虛擬儀器技術的監控系統的設計方案,使用Modbus協議與CAN總線協議,通過串口總線與CAN總線的轉換,將現場總線技術和虛擬儀器有機結合起來,實現了結構簡單、實時性高、擴展性強的多電機蓄電池車輛控制系統。實際使用情況表明本系統,達到了設計要求。
關鍵詞:CAN總線;虛擬儀器;Modbus協議;串口
Abstract: To resolve problems of traditional multi-motor monitor/control system, such as excessive information exchange, complex wiring, and inconvenient installation and debugging, this paper provide a design based on field bus and virtual instrument technology. With the help of Modbus protocol, CAN (Control Area Networks) bus, and serial port, combines field bus technology and virtual instrument technology, realizes the convenience, real time, expandability, multi-motor car control system. It goes well in practice and has met the requirements.
Keywords: CAN; Virtual Instrument; Modbus; Serial Port
1 引言
目前,在控制領域,虛擬儀器系統的應用多局限于采集-反饋-控制的點對點方式。而對于多電機的系統,特別是多電機驅動的蓄電池車輛系統,則需要實現大量的信息采集、分布式的協調控制、實時的反應速度等功能。傳統方式硬件組成復雜、走線繁瑣、調試安裝不便、不易擴展,且沒有發揮虛擬儀器的優勢,因此本文提出了一種基于CAN(Controller Area Network)總線的虛擬儀器系統的設計方案,將計算機通訊、現場總線技術和虛擬儀器的概念很好的結合起來,設計出了一套結構簡單、實時性高、擴展性強的分布式監控系統,在復雜控制系統中實現了多電機控制與監測的實時調節、控制效果的數字化和圖形化。
2 總體方案的提出
圖1 系統的總框圖
設計系統原則是在實用、可靠、經濟的原則基礎上,保證系統不僅能滿足應用需要,而且要有靈活性、可擴展性和通用性。該系統是由虛擬儀器技術、Modbus總線協議、CAN總線優化組合成而成,系統的構成原理圖如圖1所示。系統是利用PC機實現對多臺電機、多組電池及其它輔助設備進行監控。主要由上位機、電池管理系統、電機控制系統、其它輔助控制系統組成。各個控制器之間通過CAN總線進行通信,以實現控制指令的發送和接收、傳感器測量數據的共享等,從而提高系統的控制性能。
電機控制器實現采集電機的電樞電流、電機轉速,判斷工況,接收設定轉速等功能;電池管理控制器實現采集電池溫度、電壓、電流、接收控制指令等功能。上位機用圖形化編程語言LabVIEW編寫,程序以虛擬儀表的形式實時顯示電機轉速、車速、電池的荷電狀態等值,并通過操作上位機發控制指令,控制電機電池的狀態。CAN節點是本系統的核心部分,通過它把各個分散的部分連接成統一的系統。每個CAN節點使用統一的硬件平臺,實現不同的工作方式,每個節點都可以獨立的選擇所連接設備及工作方式。
3 CAN節點硬件設計
對于車用電控單元來說,為了簡化設計,提高可靠性,采用集成的自帶CAN總線控制器的微處理器。自帶CAN總線控制器的微處理器,不占用處理器的端口資源,可以大大簡化接口電路的設計,減少程序的復雜程度,提高系統的穩定性,本系統選用Philips的高性能微控制器P87C591。圖2為節點硬件設計的功能框圖,針對節點功能要求與所選擇微處理器資源,敘述如下:
(1)全雙工增強型UART,帶有可編程波特率發生器,按規定的Modbus協議來完成RS232/RS485通訊;在硬件實現上,RS485總線端使用的是收發器MAX481;RS232總線端使用的是收發器MAX232。為了實現串口通道的切換,在該系統中專門設置了跳線槽,用于手動選擇,通過設定不同的輸入信號值,選擇相應的數據通道。
圖2 節點硬件功能框圖
(2)微處理器P87C591片內集成并增強了SJA1000(獨立的CAN控制器)的功能,完全兼容CAN2.0協議,可完成CAN總線數據的收發等通信任務;CAN接口電路使用CAN總線收發器PCA82C250,為了增加系統的可靠性和抗干擾能力,在P87C591和PCA82C250之間增加相應的光電隔離電路。
(3)自帶的6路模擬輸入的10位ADC,可設置為8位快速ADC,可以基本滿足本系統對采集的精度要求,完成對電機、電池狀態的測量任務;對模擬信號的采集,采集電路將各個測試點傳感器電信號進行調理(濾波、放大、電量轉換)后,接入微處理器的ADC接口。為抑制共模干擾,放大器基本采用差動輸入。
(4)2個8位分辨率的脈寬調制輸出(PWM)為電機控制器提供控制信號,完成對電機速率的調節。與51系列兼容的可編程I/O口(準雙向、推挽、高阻和開漏),為數字信號提供通道,負責開關量的讀取與設置。
(5)16K字節內部程序存儲器,可以滿足本系統的程序空間。帶字節方式主和從功能的I2C總線串行I/O口,可方便的和外圍存儲芯片接口,實現數據的存儲功能。
硬件部分除了以上主要部分外,還有電源電路、擴展存儲器、以及看門狗電路。電源電路提供所需隔離電源,用于提高節點的穩定性和安全性;E2PROM通過I2C串行總線存放系統的某些參數;看門狗電路主要是保證系統運行的穩定性,在上電、掉電以及警戒情況下復位輸出。
4 系統軟件設計
4.1上位機軟件的設計
虛擬儀器軟件主要分為用戶應用層、虛擬設備驅動程序層及硬件設備驅動層三個層次。用戶應用層和用戶需求緊密相關,它主要完成兩個任務:一、為用戶提供各類測試儀器的虛擬界面,進行人機交互,也就是通常所說的界面設計,通過它來顯示收集實測數據和狀態信息,提供用戶與系統的交互平臺;二、完成對數據的分類、判斷、處理,串口通信,數據的存取操作等任務。
圖3 上位機程序示意圖
其中串口的設備驅動是由VISA完成的,LabVIEW所提供的VISA是虛擬儀器軟件結構體系(Virtual Instrument Software Architecture)簡稱。VISA是在所有LabVIEW工作平臺上控制VXI、GPIB、RS232以及其他種類儀器的接口程序庫。VISA是由組成VXI plug&play系統聯盟的35家最大的儀器儀表公司所統一采用的標準。采用了VISA標準,就可以不考慮時間及儀器 I/O選擇項,驅動軟件可以相互兼容使用。
4.2節點程序設計
圖4 節點主程序框圖
圖4為主程序框圖。它描述了通用模塊設計的基本流程,根據讀入跳線的狀態和讀入存儲器中設定的狀態,決定本模塊的作用及本模塊的工作方式。選定了工作方式以后,重新進行各自的初始化,主要包括I/O端口的配置、CAN中斷的設置、驗收濾波器的設置、串口工作方式設置、定時器方式設置、波特率設置以及串口I2C的相關設置。在完成初始化設置后,就可以回到工作狀態,進入各自的主循環。以下分別介紹各個工作方式的實現:
1)總線轉換的實現
通用串口到CAN接口轉換工作方式的設計,主要是實現CAN總線數據與RS232/485總線數據之間的互連通信以及系統的升級。通過內置CAN控制器控制總線工作狀態,結合軟件設計,實現通用串口與CAN接口通信的目的。Modbus規定了兩種傳輸模式ASCII或RTU,本系統選擇使用RTU模式。Modbus協議報文與CAN總線報文相互轉化時,由于標準的CAN協議有11位ID,而Modbus協議的地址為一個字節,為便于轉換將其ID分為3位和8位兩部分,前3位用于判斷報文所屬類型,后8位為每個模塊的ID值。例如11位Modbus協議報文向CAN口轉發時轉化格式規定如圖5。CAN總線向串口轉發時需經過收集、排隊、轉發三個過程。收集是因為作為上位機操作的返回幀,有時會返回多個節點的數
圖5 Modbus11位報文轉換為CAN標準幀
據,CAN作為串口總線也必須分時的通知并接收每個指定要求返回值的節點的數據。排隊是因為如果有上位機的返回請求,就把這種數據先發送,其它數據暫存,發送返回后再發送,否則會認為返回的值是錯誤的。經過排隊的數據依次向上位機發送。
2)監控電機的實現
此工作方式完成電機的監控,首先要初始化包括(串口關閉、I2C設定,CAN的初始化,設置接收濾波器),讀取設定參數后進入主循環。該節點是智能節點,已經具備獨立控制電機運行的能力,上位機只負責向其發送控制繼電器開斷的開關量與設定電機速度的數字量,節點收到后會自動調節電機使其達到設定的工作速率,此方式可以大大減輕總線負擔,提高系統的實時性。作為智能節點本身負責根據預設控制算法調節電機外,還肩負著采集電機運行狀態(電流、電壓、溫度、轉速)、判斷異常狀態、實時發送數據等工作。
3)監控電池的實現
電機是由電池提供的電能驅動的,電池的狀態不僅反映本身的工作狀態而且可以間接反映電機的運行狀態。電池的電流、電壓、溫度都有各自的閥值,正常工況下,各個節點按照規定的時序向上位機發送自身狀態;當處于不正常工作狀態時,模塊判斷出現問題的原因并采取相應的措施,并及時的通過CAN總線向上位機報告。如果是不可修復的通信錯誤,不能繼續通訊,本節點自動完成關閉電池、電機的任務,本套驅動器自動退出工作,并使電機處于浮動狀態,保證正常運行的車輛不受阻礙。
4)模塊設定的實現
根據跳線的設置,程序開啟時會判斷什么時候進入設定工作方式。當用戶需要對某一節點設置時,上位機運行設置軟件,上位機與模塊通過串口相連接,節點進入設定工作方式(此方式是針對單一模塊逐一設置的),上位機發送相應功能碼讀取模塊參數,發送相應功能碼修改模塊參數。可以設置的模塊參數包括本模塊的地址、與模塊相連的設備、串口與設備通信的波特率等,這些參數都是存儲在I2C接口的存儲器中。
5)其它標準設備的實現
Modbus規約是MODICOM公司開發的一個為很多廠商支持的開放規約,標準的Modbus是使用RS-232C兼容串行接口,本模塊串口通訊就是遵循Modbus協議,因此在擴展上有更大的靈活性,只要上位機有一定的程序相對應,符合Modbus協議的工控設備就可以通過本模塊輕松的掛接在CAN總線上。
5 結束語
采用總線技術與虛擬技術相結合的設計思路,使系統功能劃分更清晰,設備功能實現更明確,設備對外連線更簡潔,系統擴展與集成更容易。實現了軟件平臺的通用化、軟件協議的標準化、硬件結構的統一化,從而保證了系統的可移植性和可擴展性,為監控系統的設計提供了一種新思路。系統實際運作情況表明,系統設計思路正確,系統實時性、穩定性、靈活性均能達到該車輛的設計要求。
本文作者創新點:把虛擬儀器技術、Modbus協議與CAN總線組成一個統一的系統,并且在統一的硬件平臺上滿足了各種不同功能需求。
參考文獻
[1]、饒運濤、鄒繼軍,現場總線CAN原理與應用,北京航空航天大學出版社,2003年6月。
[2]、楊樂平,LabVIEW程序設計與應用(第2版),電子工業出版社,2005年1月。
[3]、MODICON, Inc. Modbus Protocol Reference Guide [Z], 1996.
[4]、李雪菊、鄒澎,基于LabVIEW和單片機串口的高頻同軸開關轉換電路,微計算機信息(嵌入式與SOC)2005年第21卷第7-2期,p86
標簽:
中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-05-19
2025-04-30
2025-04-11
2025-04-08
2025-03-31
2025-03-26