基于CAN總線的船用閥門控制系統的設計

2013-07-19 盛巍巍 工業控制計算機

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

  本文首先介紹了船用閥門控制系統的總體結構,將微控制技術與CAN總線技術相結合應用到船用閥門控制系統中,與工業控制計算機構成控制系統。

1、系統的總體結構

  本文提出的船用閥門控制系統采用了集中管理,分散控制的上、下位機兩級控制的系統總體結構,如圖1所示。

基于CAN總線船用閥門控制系統總體結構圖

圖1 基于CAN總線船用閥門控制系統總體結構圖

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

2、硬件設計

  由前文所述可知,系統硬件的設計包括上位機硬件和下位機硬件設計。

  2.1、上位機系統

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

  PCI7841適配卡產品提供了CANTools工具軟件,可直接進行CAN總線的配置,發送和接收數據。另外還提供了DLL動態連接庫、VC/VB例程編寫自己的應用程序,方便開發CAN系統應用軟件產品。

  2.2、下位機系統

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

CAN節點硬件整體結構圖

圖2 CAN節點硬件整體結構圖

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

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

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

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

CAN通信結構圖

圖3 CAN通信結構圖

  2.3、抗干擾設計

  在船用閥門控制系統中,下位機系統需要嵌入到閥門的腔體中,電磁干擾非常嚴重,系統中采用多種硬件抗干擾設計。

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

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

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

  4)為了減少現場環境對CAN節點的干擾,現場安裝時使用屏蔽雙絞線。

3、軟件設計

  上面對船用閥門控制系統的硬件進行設計。一個系統能否正常可靠地運行,除了要求硬件電路正確合理地設計之外,很大程度上取決于功能完善的軟件設計。這里,軟件的設計同樣包括上位機系統和下位機系統。

  3.1、上位機系統

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

  上位機首先對PCI7841適配卡及自身初始化,然后發送命令通知特定節點向CAN總線上發送數據,經適配卡轉換后,再由上位機進行相應的處理。上位機采用定時輪循環方式向各個節點發送命令,采用中斷方式接收數據。

  3.2、下位機系統

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

下位機主程序流程圖

圖4 下位機主程序流程圖

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

CAN中斷服務程序

圖5 CAN中斷服務程序

4、結束語

  基于CAN總線的船用閥門控制系統的設計,由于采用了微控制器技術和CAN總線技術,克服了傳統船用閥門的缺點,實現了船用閥門控制的智能化與網絡化。在課題研究過程中,掌握了CAN總線智能節點的設計,并在實踐中得到了應用。

參考文獻

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

  [2]陽憲惠.現場總線技術及其應用[M].北京:清華大學出版社,2008:61-98

  [3]鄔寬明.CAN總線原理和應用系統設計[M].北京:北京航空航天大學出版社,1996

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

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

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

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