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

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

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

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

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

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

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

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

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

2、硬件設(shè)計

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  2.3、抗干擾設(shè)計

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

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

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

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

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

3、軟件設(shè)計

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

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

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

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

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

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

下位機主程序流程圖

圖4 下位機主程序流程圖

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

CAN中斷服務(wù)程序

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

4、結(jié)束語

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

參考文獻

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

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

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

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

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

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

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