摘要: 為了對閥門進行遠程監(jiān)控,本文作者通過CAN總線將各個閥門電動執(zhí)行器連接在一起,在與上位機相連時,選擇了CAN接口卡,并對通信的數據格式進行了定義,從而編寫了上位機界面程序,其中對于一個CAN節(jié)點也進行了電路設計。
關鍵詞: 閥門電動執(zhí)行器CAN總線CAN-bus遠程通訊監(jiān)控
1.前言
在工業(yè)生產中閥門電動執(zhí)行器的應用越來越廣泛,為了實現對閥門的遠程控制,閥門電動執(zhí)行器應當具有網絡化控制的接口。通過網絡接口,閥門電動執(zhí)行器可以接受中央計算機的控制。目前主要的現場總線有五種:CAN(Control Area Network)總線,FF(Foundation Fieldbus,基金會現場總線),Profitbus(Processfieldbus),Lonworks(Local Operating Network,局部操作網絡),HART(Highway Addressable Remote Transducer)。其中CAN總線因為具有突出的差錯檢測機制,抗干擾能力強,價格低廉,故筆者采用了CAN總線來實現電動執(zhí)行器的網絡連接[1]。
2.CAN-bus遠程監(jiān)控實現探討
要想使PC機方便地連到CAN總線上,實現CAN連接通訊,需要CAN-bus接口卡來實現連接功能。各個型號的CAN接口卡可以通過PCI、ISA、USB、COM、LPT、LAN接口與PC進行連接。采用的是PCI-9840四路非智能CAN接口卡[2]。
PCI-9840非智能CAN接口卡是一款高性能價格比的CAN-bus總線通訊適配卡,集成4路電氣隔離的CAN通道,使PC機方便地連接到CAN總線,實現CAN2.0B協議(兼容2.0A)的數據通訊。該接口卡符合PCI2.1規(guī)范,硬件上采用SMD表面安裝技術,集成光電隔離模塊,實現完全電氣隔離的CAN接口,PCI控制電路,抗干擾能力強,是一款硬件上更穩(wěn)定、更可靠的CAN接口卡。
PCI-9840非智能CAN接口卡產品提供強大的軟件支持,其中包括測試工具、多語言版本的簡單應用例程。軟件支持通用的ZLGVCI驅動程序接口,可進行軟件上完全獨立的4通道CAN相關操作,驅動支持Linux、Win98、Win2K及WinXP,適合于不同層次的開發(fā)人員在VC++、VB、Delphi和C++Builder等開發(fā)環(huán)境下進行設計,實現CAN-bus在高層協議中的應用。
ZLGCAN系列接口卡還向用戶提供一個附加的小型CAN-bus數據監(jiān)控分析軟件ZLGCANtest軟件,供用戶分析、控制、測試CAN-bus總線上的傳輸數據。
以下是筆者設計的CAN-bus遠程通訊監(jiān)控實現結構圖:
3.閥門電動執(zhí)行器與上位機在應用層的數據幀
上位機主要對下位機進行閥門開度和流量的設定,可定義如下數據幀:
Typedef struct HostCmd
{ char CommandCode;?搖?搖 ?搖 //---操作指令
unsigned char ValveAdd;?搖?搖?搖?搖 ?搖 //---閥門地址
char[n]CommanData; ?搖?搖?搖?搖?搖//----設定數據
}
其中命令碼CommandCode規(guī)定進行何種操作。
定義如下:
#define SET_OPEN 0X32?搖?搖?搖?搖?搖?搖?搖?搖?搖?搖?搖?搖//---設置開度
//(數據0~100,占用一個字節(jié))
例如給第3號閥門設定開度是75%,則按HostCmd的數據結構給閥門發(fā)送的是數據為{0x32,0x03,0x4B}
#define SET_FLOW 0X33?搖?搖?搖?搖?搖?搖?搖?搖?搖?搖?搖//------設置流量
例如給第13號閥門設定流量是100L/min,則按HostCmd的數據結構給閥門發(fā)送的是數據為{0x82,0x0D,0x64}
4.上位機通訊程序的設計
如圖2所示,本系統利用VB設計了如下上位機監(jiān)控界面:
在本系統中,操作人員可以對閥門的開度和流量進行遠程設定,閥門的工作狀態(tài)參數可以通過CAN通訊在上位機中實時顯示出來,觀察非常方便。
5.CAN節(jié)點的設計
由CAN-bus遠程通訊監(jiān)控結構圖可以看出,在使用CAN連網時,電動執(zhí)行器是網絡中的一個節(jié)點。以下對電動執(zhí)行器的控制器與CAN-bus的連接進行設計。
(1)CAN控制器。采用C8051F040內部集成的CAN控制器。C8051F040內部集成的CAN控制器是Bosch全功能CAN模塊的完全實現,完全符合規(guī)范CAN2.0B。
(2)CAN收發(fā)器。C8051F040內部集成的CAN控制器只是個協議控制器,不提供物理層驅動,所以在使用時還需加CAN總線收發(fā)器。筆者采用PHILIPS的PCA82C250,是控制器局域網CAN協議控制器和物理總線之間的接口,可以在低至5Kbps的傳輸速率下工作,滿足遠距離傳輸數據時的低速率要求。
下圖為一個節(jié)點的CAN收發(fā)器的原理圖。其中CANTX、CANRX為C8051F040單片機的兩個引腳[3]。
6.結語
使用CAN總線技術對閥門實行遠程、集散控制非常方便。尤其是在一些人為對閥門觀察和設定不太方便的場合,遠程通訊技術顯得就更為重要了。筆者設計的系統已經在試驗室通過了模擬試驗,為以后產品化打下了堅實的技術基礎。
參考文獻:
[1]夏德海.現場總線技術[M].北京:中國電力出版社,2003:1-13.
[2]廣州周立功單片機發(fā)展有限公司.PCI-9840非智能4通道CAN接口卡[Z].廣州周立功單片機發(fā)展有限公司.
[3]廣州周立功單片機發(fā)展有限公司.CAN-bus應用方案(1)[Z].廣州周立功單片機發(fā)展有限公司.