基于CAN總線的船用閥門控制系統(tǒng)的設計
傳統(tǒng)船用閥門存在控制精度低、通訊性能差、智能化、數(shù)字化程度不高及未實現(xiàn)網(wǎng)絡化等問題。設計了一種基于CAN總線的船用閥門系統(tǒng),詳細介紹了系統(tǒng)(上、下位機)硬件和軟件的設計方法。船用閥門控制器主要由控制器和通信接口的設計組成。控制器的設計以單片機89C51作為處理器,集測量、控制和遠程傳輸于一體。通信部分的設計采用工業(yè)控制計算機,通過CAN總線與電液閥控制器通信,可以實現(xiàn)遠程控制閥門開關等,實時顯示閥門的各相關信息等等。
本文首先介紹了船用閥門控制系統(tǒng)的總體結構,將微控制技術與CAN總線技術相結合應用到船用閥門控制系統(tǒng)中,與工業(yè)控制計算機構成控制系統(tǒng)。
1、系統(tǒng)的總體結構
本文提出的船用閥門控制系統(tǒng)采用了集中管理,分散控制的上、下位機兩級控制的系統(tǒng)總體結構,如圖1所示。

圖1 基于CAN總線船用閥門控制系統(tǒng)總體結構圖
上位機可對下位機發(fā)送命令控制閥門進行相應的操作。另外,上位機提供操作方便的人機操作界面,能夠實現(xiàn)系統(tǒng)中各個閥門的信息的采集和管理,便于控制系統(tǒng)的維護。下位機引入了微控制技術,既支持現(xiàn)場的操作,也支持上位機的遠程控制。另外,下位機以微控制器為核心控制單元嵌入到船用閥門中。CAN節(jié)點主要由微控制器模塊、數(shù)據(jù)采集與檢測模塊、通信功能模塊、閥門電動執(zhí)行機構模塊組成。系統(tǒng)的上、下位機之間通過CAN總線技術進行通信。CAN總線通信協(xié)議簡單,只包含數(shù)據(jù)鏈路層和物理層,信號傳輸采用短幀結構,每一幀的有效字節(jié)數(shù)為8,傳輸時間短,受干擾的概率低。總線通信速率最高可1Mbps/40m,直接傳輸距離最遠可達10km/5Kbps,總線上可掛節(jié)點數(shù)最多可達110個,完全滿足實際需要。
2、硬件設計
由前文所述可知,系統(tǒng)硬件的設計包括上位機硬件和下位機硬件設計。
2.1、上位機系統(tǒng)
上位機硬件系統(tǒng)由工業(yè)控制計算機和PCI-CAN總線接口卡組成。PC主機選用PCI7841適配卡,可直接將其安裝在主板的PCI卡槽內。PCI7841適配卡集成了1路CAN通道,可以直接通過CAN總線與PC機進行數(shù)據(jù)通信。
PCI7841適配卡產(chǎn)品提供了CANTools工具軟件,可直接進行CAN總線的配置,發(fā)送和接收數(shù)據(jù)。另外還提供了DLL動態(tài)連接庫、VC/VB例程編寫自己的應用程序,方便開發(fā)CAN系統(tǒng)應用軟件產(chǎn)品。
2.2、下位機系統(tǒng)
下位機系統(tǒng)的硬件設計主要是對單元控制器(即前面介紹的CAN節(jié)點)的設計與研究。下位機從結構上分為4個部分:微控制器模塊、數(shù)據(jù)采集與檢測模塊、閥門電動執(zhí)行機構、CAN通信模塊。下面將一一介紹各個模塊。圖2給出了CAN節(jié)點的硬件框結構圖。

圖2 CAN節(jié)點硬件整體結構圖
1)微控器模塊是整個下位機的核心部分,通過單片機協(xié)調各個模塊的工作,完成下位機系統(tǒng)的控制。系統(tǒng)采用89C51型單片機,具有4K的閃爍存儲器,128字節(jié)的內部RAM,32個I/O口線,2個16位定時/計數(shù)器,一個5向量兩級中斷結構,一個全雙工串口通信接口,片內振蕩器及時鐘振蕩電路。這里,還包括復位電路、時鐘電路和穩(wěn)壓源電路等基本電路的設計。
2)數(shù)據(jù)采集、檢測模塊是下位機重要的輸入輸出模塊,主要完成對電機電機電流、閥門開度的采集控制,電機堵轉的處理。這里不詳細介紹。
3)閥門電動執(zhí)行機構:船用閥門控制系統(tǒng)中被控對象是電液閥,控制目的要去實現(xiàn)閥門的開啟和關閉,邏輯非常簡單。因此,在系統(tǒng)中引入固定繼電器SSR與電機相連,閥門的動作是通過電機的正反轉帶動液壓流動來實現(xiàn)的。
4)CAN通信模塊是系統(tǒng)研究的重點部分,也是與上位機通信的核心部分。CAN通信接口方案有兩種:采用帶CAN控制器的微控制器和CAN收發(fā)器組成通信接口;采用獨立CAN控制器和CAN收發(fā)器組成通信接口。系統(tǒng)采用第二種方案,使用Philips公司的獨立CAN控制器SJA1000和CAN收發(fā)器82C250構成通信接口。為了防止干擾,CAN通信模塊中加入光電隔離器6N137組成光電隔離電路,如圖3所示。

圖3 CAN通信結構圖
2.3、抗干擾設計
在船用閥門控制系統(tǒng)中,下位機系統(tǒng)需要嵌入到閥門的腔體中,電磁干擾非常嚴重,系統(tǒng)中采用多種硬件抗干擾設計。
1)在檢測電機電流時,信號經(jīng)過A/D轉換連接光電耦合電路再與微控制器相連,目的是增強電路的抗干擾能力。
2)CAN總線的兩端加有兩個120Ω的電阻,對于總線阻抗的匹配起著相當重要的作用。
3)為了增強總線節(jié)點的抗干擾能力,SJA1000并不直接與82C250相接,而是通過光電耦合器6N137與AT82C250相接。實現(xiàn)了總線上各節(jié)點間的電氣隔離,但是光耦電路用的2個電源必須完全隔離,方法是采用小功率電源隔離模塊。雖然增加了接口電路的復雜性,但卻提高了節(jié)點的穩(wěn)定性和安全性。
4)為了減少現(xiàn)場環(huán)境對CAN節(jié)點的干擾,現(xiàn)場安裝時使用屏蔽雙絞線。
3、軟件設計
上面對船用閥門控制系統(tǒng)的硬件進行設計。一個系統(tǒng)能否正常可靠地運行,除了要求硬件電路正確合理地設計之外,很大程度上取決于功能完善的軟件設計。這里,軟件的設計同樣包括上位機系統(tǒng)和下位機系統(tǒng)。
3.1、上位機系統(tǒng)
上位機軟件的主要任務是對系統(tǒng)所有下位機控制系統(tǒng)的信息采集、處理與遠程監(jiān)控等。該系統(tǒng)使用VisualBasic6.0實現(xiàn)監(jiān)控程序設計,它是一種開發(fā)圖形用戶界面的基于Basic的可視化程序設計語言。上位機經(jīng)過PCI7841接口卡實現(xiàn)與下位機的通信,購買產(chǎn)品時廠家配套提供卡驅動程序、應用程序接口函數(shù)庫,以及對接口函數(shù)庫的說明和使用方法等。因此,涉及到通信層軟件部分不需要編寫,只要通過與接口函數(shù)的連接就能實現(xiàn)軟件的通信功能。
上位機首先對PCI7841適配卡及自身初始化,然后發(fā)送命令通知特定節(jié)點向CAN總線上發(fā)送數(shù)據(jù),經(jīng)適配卡轉換后,再由上位機進行相應的處理。上位機采用定時輪循環(huán)方式向各個節(jié)點發(fā)送命令,采用中斷方式接收數(shù)據(jù)。
3.2、下位機系統(tǒng)
下位機軟件的主要任務是現(xiàn)場信息的采集、控制閥門、通信以及報警等。編程采用KeilC51,使程序模塊化,容易移植。系統(tǒng)軟件的設計思想是在系統(tǒng)上電后首先對AT89C51和SJA1000初始化,以確定工作頻率、SJA1000的工作方式、波特率、輸出特性等。下位機主程序流程圖如圖4所示。

圖4 下位機主程序流程圖
在下位機的軟件設計中,難點是CAN總線通信程序的設計。上位機向下位機發(fā)出數(shù)據(jù)請求或命令時,下位機直接進入CAN中斷服務程序。下面給出了CAN中斷服務程序如圖5所示。

圖5 CAN中斷服務程序
4、結束語
基于CAN總線的船用閥門控制系統(tǒng)的設計,由于采用了微控制器技術和CAN總線技術,克服了傳統(tǒng)船用閥門的缺點,實現(xiàn)了船用閥門控制的智能化與網(wǎng)絡化。在課題研究過程中,掌握了CAN總線智能節(jié)點的設計,并在實踐中得到了應用。
參考文獻
[1]邵昱,陳棘,唐石青.船用閥門網(wǎng)絡控制系統(tǒng)設計[J].上海造船,2006(3):33-36
[2]陽憲惠.現(xiàn)場總線技術及其應用[M].北京:清華大學出版社,2008:61-98
[3]鄔寬明.CAN總線原理和應用系統(tǒng)設計[M].北京:北京航空航天大學出版社,1996
[4]溫丹麗.基于CAN的液壓驅動閥門智能控制系統(tǒng)[J].微計算機信息,2009(1):50-53
[5]周正干.基于CAN總線的閥門智能控制網(wǎng)絡系統(tǒng)[J].自動化儀表,2004(5):8-11
[6]安振東,魏東.CAN總線智能閥門網(wǎng)絡控制系統(tǒng)在污水處理中的應用[J].自動化技術與應用,2004(5):37-40
[7]溫陽東,唐黎江,黃璐.基于CAN總線的油庫閥門控制系統(tǒng)[J].工業(yè)控制計算機,2007(4):36-40