基于CAN總線的船用閥門控制系統(tǒng)的設(shè)計(jì)

2013-07-19 盛巍巍 工業(yè)控制計(jì)算機(jī)

  傳統(tǒng)船用閥門存在控制精度低、通訊性能差、智能化、數(shù)字化程度不高及未實(shí)現(xiàn)網(wǎng)絡(luò)化等問題。設(shè)計(jì)了一種基于CAN總線的船用閥門系統(tǒng),詳細(xì)介紹了系統(tǒng)(上、下位機(jī))硬件和軟件的設(shè)計(jì)方法。船用閥門控制器主要由控制器和通信接口的設(shè)計(jì)組成?刂破鞯脑O(shè)計(jì)以單片機(jī)89C51作為處理器,集測(cè)量、控制和遠(yuǎn)程傳輸于一體。通信部分的設(shè)計(jì)采用工業(yè)控制計(jì)算機(jī),通過CAN總線與電液閥控制器通信,可以實(shí)現(xiàn)遠(yuǎn)程控制閥門開關(guān)等,實(shí)時(shí)顯示閥門的各相關(guān)信息等等。

  本文首先介紹了船用閥門控制系統(tǒng)的總體結(jié)構(gòu),將微控制技術(shù)與CAN總線技術(shù)相結(jié)合應(yīng)用到船用閥門控制系統(tǒng)中,與工業(yè)控制計(jì)算機(jī)構(gòu)成控制系統(tǒng)。

1、系統(tǒng)的總體結(jié)構(gòu)

  本文提出的船用閥門控制系統(tǒng)采用了集中管理,分散控制的上、下位機(jī)兩級(jí)控制的系統(tǒng)總體結(jié)構(gòu),如圖1所示。

基于CAN總線船用閥門控制系統(tǒng)總體結(jié)構(gòu)圖

圖1 基于CAN總線船用閥門控制系統(tǒng)總體結(jié)構(gòu)圖

  上位機(jī)可對(duì)下位機(jī)發(fā)送命令控制閥門進(jìn)行相應(yīng)的操作。另外,上位機(jī)提供操作方便的人機(jī)操作界面,能夠?qū)崿F(xiàn)系統(tǒng)中各個(gè)閥門的信息的采集和管理,便于控制系統(tǒng)的維護(hù)。下位機(jī)引入了微控制技術(shù),既支持現(xiàn)場(chǎng)的操作,也支持上位機(jī)的遠(yuǎn)程控制。另外,下位機(jī)以微控制器為核心控制單元嵌入到船用閥門中。CAN節(jié)點(diǎn)主要由微控制器模塊、數(shù)據(jù)采集與檢測(cè)模塊、通信功能模塊、閥門電動(dòng)執(zhí)行機(jī)構(gòu)模塊組成。系統(tǒng)的上、下位機(jī)之間通過CAN總線技術(shù)進(jìn)行通信。CAN總線通信協(xié)議簡(jiǎn)單,只包含數(shù)據(jù)鏈路層和物理層,信號(hào)傳輸采用短幀結(jié)構(gòu),每一幀的有效字節(jié)數(shù)為8,傳輸時(shí)間短,受干擾的概率低?偩通信速率最高可1Mbps/40m,直接傳輸距離最遠(yuǎn)可達(dá)10km/5Kbps,總線上可掛節(jié)點(diǎn)數(shù)最多可達(dá)110個(gè),完全滿足實(shí)際需要。

2、硬件設(shè)計(jì)

  由前文所述可知,系統(tǒng)硬件的設(shè)計(jì)包括上位機(jī)硬件和下位機(jī)硬件設(shè)計(jì)。

  2.1、上位機(jī)系統(tǒng)

  上位機(jī)硬件系統(tǒng)由工業(yè)控制計(jì)算機(jī)和PCI-CAN總線接口卡組成。PC主機(jī)選用PCI7841適配卡,可直接將其安裝在主板的PCI卡槽內(nèi)。PCI7841適配卡集成了1路CAN通道,可以直接通過CAN總線與PC機(jī)進(jìn)行數(shù)據(jù)通信。

  PCI7841適配卡產(chǎn)品提供了CANTools工具軟件,可直接進(jìn)行CAN總線的配置,發(fā)送和接收數(shù)據(jù)。另外還提供了DLL動(dòng)態(tài)連接庫、VC/VB例程編寫自己的應(yīng)用程序,方便開發(fā)CAN系統(tǒng)應(yīng)用軟件產(chǎn)品。

  2.2、下位機(jī)系統(tǒng)

  下位機(jī)系統(tǒng)的硬件設(shè)計(jì)主要是對(duì)單元控制器(即前面介紹的CAN節(jié)點(diǎn))的設(shè)計(jì)與研究。下位機(jī)從結(jié)構(gòu)上分為4個(gè)部分:微控制器模塊、數(shù)據(jù)采集與檢測(cè)模塊、閥門電動(dòng)執(zhí)行機(jī)構(gòu)、CAN通信模塊。下面將一一介紹各個(gè)模塊。圖2給出了CAN節(jié)點(diǎn)的硬件框結(jié)構(gòu)圖。

CAN節(jié)點(diǎn)硬件整體結(jié)構(gòu)圖

圖2 CAN節(jié)點(diǎn)硬件整體結(jié)構(gòu)圖

  1)微控器模塊是整個(gè)下位機(jī)的核心部分,通過單片機(jī)協(xié)調(diào)各個(gè)模塊的工作,完成下位機(jī)系統(tǒng)的控制。系統(tǒng)采用89C51型單片機(jī),具有4K的閃爍存儲(chǔ)器,128字節(jié)的內(nèi)部RAM,32個(gè)I/O口線,2個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串口通信接口,片內(nèi)振蕩器及時(shí)鐘振蕩電路。這里,還包括復(fù)位電路、時(shí)鐘電路和穩(wěn)壓源電路等基本電路的設(shè)計(jì)。

  2)數(shù)據(jù)采集、檢測(cè)模塊是下位機(jī)重要的輸入輸出模塊,主要完成對(duì)電機(jī)電機(jī)電流、閥門開度的采集控制,電機(jī)堵轉(zhuǎn)的處理。這里不詳細(xì)介紹。

  3)閥門電動(dòng)執(zhí)行機(jī)構(gòu):船用閥門控制系統(tǒng)中被控對(duì)象是電液閥,控制目的要去實(shí)現(xiàn)閥門的開啟和關(guān)閉,邏輯非常簡(jiǎn)單。因此,在系統(tǒng)中引入固定繼電器SSR與電機(jī)相連,閥門的動(dòng)作是通過電機(jī)的正反轉(zhuǎn)帶動(dòng)液壓流動(dòng)來實(shí)現(xiàn)的。

  4)CAN通信模塊是系統(tǒng)研究的重點(diǎn)部分,也是與上位機(jī)通信的核心部分。CAN通信接口方案有兩種:采用帶CAN控制器的微控制器和CAN收發(fā)器組成通信接口;采用獨(dú)立CAN控制器和CAN收發(fā)器組成通信接口。系統(tǒng)采用第二種方案,使用Philips公司的獨(dú)立CAN控制器SJA1000和CAN收發(fā)器82C250構(gòu)成通信接口。為了防止干擾,CAN通信模塊中加入光電隔離器6N137組成光電隔離電路,如圖3所示。

CAN通信結(jié)構(gòu)圖

圖3 CAN通信結(jié)構(gòu)圖

  2.3、抗干擾設(shè)計(jì)

  在船用閥門控制系統(tǒng)中,下位機(jī)系統(tǒng)需要嵌入到閥門的腔體中,電磁干擾非常嚴(yán)重,系統(tǒng)中采用多種硬件抗干擾設(shè)計(jì)。

  1)在檢測(cè)電機(jī)電流時(shí),信號(hào)經(jīng)過A/D轉(zhuǎn)換連接光電耦合電路再與微控制器相連,目的是增強(qiáng)電路的抗干擾能力。

  2)CAN總線的兩端加有兩個(gè)120Ω的電阻,對(duì)于總線阻抗的匹配起著相當(dāng)重要的作用。

  3)為了增強(qiáng)總線節(jié)點(diǎn)的抗干擾能力,SJA1000并不直接與82C250相接,而是通過光電耦合器6N137與AT82C250相接。實(shí)現(xiàn)了總線上各節(jié)點(diǎn)間的電氣隔離,但是光耦電路用的2個(gè)電源必須完全隔離,方法是采用小功率電源隔離模塊。雖然增加了接口電路的復(fù)雜性,但卻提高了節(jié)點(diǎn)的穩(wěn)定性和安全性。

  4)為了減少現(xiàn)場(chǎng)環(huán)境對(duì)CAN節(jié)點(diǎn)的干擾,現(xiàn)場(chǎng)安裝時(shí)使用屏蔽雙絞線。

3、軟件設(shè)計(jì)

  上面對(duì)船用閥門控制系統(tǒng)的硬件進(jìn)行設(shè)計(jì)。一個(gè)系統(tǒng)能否正?煽康剡\(yùn)行,除了要求硬件電路正確合理地設(shè)計(jì)之外,很大程度上取決于功能完善的軟件設(shè)計(jì)。這里,軟件的設(shè)計(jì)同樣包括上位機(jī)系統(tǒng)和下位機(jī)系統(tǒng)。

  3.1、上位機(jī)系統(tǒng)

  上位機(jī)軟件的主要任務(wù)是對(duì)系統(tǒng)所有下位機(jī)控制系統(tǒng)的信息采集、處理與遠(yuǎn)程監(jiān)控等。該系統(tǒng)使用VisualBasic6.0實(shí)現(xiàn)監(jiān)控程序設(shè)計(jì),它是一種開發(fā)圖形用戶界面的基于Basic的可視化程序設(shè)計(jì)語言。上位機(jī)經(jīng)過PCI7841接口卡實(shí)現(xiàn)與下位機(jī)的通信,購買產(chǎn)品時(shí)廠家配套提供卡驅(qū)動(dòng)程序、應(yīng)用程序接口函數(shù)庫,以及對(duì)接口函數(shù)庫的說明和使用方法等。因此,涉及到通信層軟件部分不需要編寫,只要通過與接口函數(shù)的連接就能實(shí)現(xiàn)軟件的通信功能。

  上位機(jī)首先對(duì)PCI7841適配卡及自身初始化,然后發(fā)送命令通知特定節(jié)點(diǎn)向CAN總線上發(fā)送數(shù)據(jù),經(jīng)適配卡轉(zhuǎn)換后,再由上位機(jī)進(jìn)行相應(yīng)的處理。上位機(jī)采用定時(shí)輪循環(huán)方式向各個(gè)節(jié)點(diǎn)發(fā)送命令,采用中斷方式接收數(shù)據(jù)。

  3.2、下位機(jī)系統(tǒng)

  下位機(jī)軟件的主要任務(wù)是現(xiàn)場(chǎng)信息的采集、控制閥門、通信以及報(bào)警等。編程采用KeilC51,使程序模塊化,容易移植。系統(tǒng)軟件的設(shè)計(jì)思想是在系統(tǒng)上電后首先對(duì)AT89C51和SJA1000初始化,以確定工作頻率、SJA1000的工作方式、波特率、輸出特性等。下位機(jī)主程序流程圖如圖4所示。

下位機(jī)主程序流程圖

圖4 下位機(jī)主程序流程圖

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

CAN中斷服務(wù)程序

圖5 CAN中斷服務(wù)程序

4、結(jié)束語

  基于CAN總線的船用閥門控制系統(tǒng)的設(shè)計(jì),由于采用了微控制器技術(shù)和CAN總線技術(shù),克服了傳統(tǒng)船用閥門的缺點(diǎn),實(shí)現(xiàn)了船用閥門控制的智能化與網(wǎng)絡(luò)化。在課題研究過程中,掌握了CAN總線智能節(jié)點(diǎn)的設(shè)計(jì),并在實(shí)踐中得到了應(yīng)用。

參考文獻(xiàn)

  [1]邵昱,陳棘,唐石青.船用閥門網(wǎng)絡(luò)控制系統(tǒng)設(shè)計(jì)[J].上海造船,2006(3):33-36

  [2]陽憲惠.現(xiàn)場(chǎng)總線技術(shù)及其應(yīng)用[M].北京:清華大學(xué)出版社,2008:61-98

  [3]鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1996

  [4]溫丹麗.基于CAN的液壓驅(qū)動(dòng)閥門智能控制系統(tǒng)[J].微計(jì)算機(jī)信息,2009(1):50-53

  [5]周正干.基于CAN總線的閥門智能控制網(wǎng)絡(luò)系統(tǒng)[J].自動(dòng)化儀表,2004(5):8-11

  [6]安振東,魏東.CAN總線智能閥門網(wǎng)絡(luò)控制系統(tǒng)在污水處理中的應(yīng)用[J].自動(dòng)化技術(shù)與應(yīng)用,2004(5):37-40

  [7]溫陽東,唐黎江,黃璐.基于CAN總線的油庫閥門控制系統(tǒng)[J].工業(yè)控制計(jì)算機(jī),2007(4):36-40