基于CANopen協議的電動執(zhí)行機構設計

2013-06-27 胥布工 華南理工大學自動化科學與工程學院

  針對常規(guī)型電動執(zhí)行機構的現場接線方式存在著布線工作量大、操作維護困難、可靠性不高、網絡通信能力差等方面的問題,提出了一種基于CANopen協議的總線型電動執(zhí)行機構設計方案。在簡要介紹電動執(zhí)行機構架構的基礎上,首先給出了電動執(zhí)行機構控制器的硬件設計方法,其中主要介紹了電動執(zhí)行機構控制單元電路和CAN總線通訊接口電路的設計;接著給出了軟件設計的思路,重點介紹了對象字典的設計及CANopen通訊程序的設計,針對通訊程序設計中的難點,提出了一種基于隊列方式的報文處理模式。最后,在實際工程中成功地應用了所提出的設計方案,應用結果表明這種總線型電動執(zhí)行機構具有智能化、信息化、數字化等特點,能夠滿足工業(yè)控制系統(tǒng)的網絡化發(fā)展需求。

1、引言

  電動執(zhí)行機構是工業(yè)過程控制系統(tǒng)不可缺少的部分,被廣泛用于石油化工、電廠等領域。近年來,伴隨著微電子技術和控制技術的迅速發(fā)展,電動執(zhí)行機構也獲得了快速的發(fā)展,國外一些生產廠商在這幾年中相繼推出了常規(guī)的、帶現場總線通信協議的總線型電動執(zhí)行機構。而國內起步晚,目前生產的主要是常規(guī)的電動執(zhí)行機構,它采取傳統(tǒng)的現場接線方式,如每臺電動執(zhí)行機構至少需要通過7~14根控制線才能將其參數傳遞到控制系統(tǒng)的控制模板上。這種方式安裝、維護代價高,系統(tǒng)的可擴展性差,且易受現場操作人員的技術水平、精神狀態(tài)及工作情緒等人為因素的影響,誤操作較多。另外,對于一些有著特殊要求的環(huán)境,如易燃易爆、輻射、或人們不易到達的地方,這種傳統(tǒng)控制方式難以勝任。為解決上述問題就要求執(zhí)行機構向數字化、智能化、網絡化方向發(fā)展。鑒于此,本文提出了一種基于CAN open協議的電動執(zhí)行機構設計方案。

2、設計方案概述

  CAN open協議是一種在歐洲非常流行的CAN高層協議,該協議清晰、透明、精煉,便于系統(tǒng)配置和功能重構,在工業(yè)控制中有著良好的應用前景。本文提出的設計方案是在常規(guī)電動執(zhí)行機構設計中加入CAN總線通訊模塊,使其成為一種具備總線通訊能力的智能電動執(zhí)行機構。這種智能電動執(zhí)行機構采取總線控制方式,只需通過2根信號線就能完成所有信息的傳輸,更重要的是由于其具備了總線通訊功能,操作人員只需在控制室就可對執(zhí)行機構實行遠程控制。

3、電動執(zhí)行機構硬件設計

  電動執(zhí)行機構硬件設計是建立在了解其基本架構的基礎之上的,為此,在硬件設計前先簡要介紹一下電動執(zhí)行機構的架構。

  1)電動執(zhí)行機構的架構電動執(zhí)行機構是根據調節(jié)器(或上位機)給出的控制信號產生推力或位移的一種裝置,主要由控制器、伺服電機、位置檢測裝置和減速器四部分組成,其構成如圖1所示。

基于CANopen協議的電動執(zhí)行機構設計

圖1 電動執(zhí)行機構的架構

  控制器采集閥位給定信號和位置反饋信號,閥位給定信號由上位調節(jié)裝置經總線系統(tǒng)發(fā)送,由現場總線接口接收。減速輸出的信號經位置檢測裝置后形成位置反饋信號送給控制器,控制器輸出經過一個采用晶閘管作為開關元件的繼電器非線性環(huán)節(jié)去控制電機的運轉,電機帶動減速器來驅動輸出軸產生相應的位移。

  2)控制器的硬件設計控制器系統(tǒng)硬件由電動執(zhí)行機構控制單元和CAN總線接口單元組成,如圖2所示。

基于CANopen協議的電動執(zhí)行機構設計

圖2 控制器的硬件結構

  整個電動執(zhí)行機構設計采用模塊化設計,選用LPC2292作為這兩個單元模塊的中央處理器。LPC2292是Philip公司的內嵌有CAN控制器的高性能單片機,工作頻率高達30MHz,非常適合用于總線控制系統(tǒng)。電動執(zhí)行機構控制單元含位置檢測電路、電機驅動電路、故障檢測/報警電路及液晶顯示電路。位置檢測電路用導電塑料精密旋轉電位器作為位置傳感器,電機驅動電路由固態(tài)繼電器和正反互鎖邏輯電路組成,完成電機的正反轉啟動、停止等控制。故障檢測/報警輸出電路經光電隔離電路采集限位、過熱等報警信號,輸出報警信息;液晶顯示采用128*128,4級灰度的點陣液晶屏,液晶界面為現場操作人員提供了良好的操作平臺。

  CAN通訊接口單元是總線型智能電動執(zhí)行機構硬件上所特有的,它提供了總線訪問的接口,其電路,如圖3所示。

基于CANopen協議的電動執(zhí)行機構設計

圖3 CAN通訊接口電路

  電路中收發(fā)器模塊選用帶隔離功能的CTM1050芯片,通過它可以很好地實現CAN總線上各節(jié)點電氣、電源之間的完全隔離和獨立,極大地提高了CAN節(jié)點的穩(wěn)定性和抗干擾性。

4、電動執(zhí)行機構的軟件設計

  電動執(zhí)行機構軟件設計主要包括兩方面:執(zhí)行機構的控制程序和基于CANopen協議的CAN總線通訊程序。其中,控制程序主要實現閥門的位置控制功能,包含初始化、數據采集、處理及顯示等幾部分,且在常規(guī)型電動執(zhí)行機構中都已實現,不再贅述。本部分將重點介紹基于CANopen協議的CAN總線通訊程序設計,根據CANopen協議描述[4-5],把這部分程序設計分為對象字典的設計和CANopen通訊程序設計兩部分,而后者是難點。

  1)CANopen協議通信機理

  CAN協議只定義了物理層和數據鏈路層兩個底層協議,而CANopen協議在其基礎上規(guī)定了應用層協議,其通信模型,如圖4所示。

基于CANopen協議的電動執(zhí)行機構設計

圖4 CANopen通訊模型

  在CAN open的應用層,設備間通過相互交換通信對象進行通信。考慮到工業(yè)自動化系統(tǒng)中數據流量的不同需要,CAN open定義了4類標準通信對象,分別為過程數據對象(PDO)、服務數據對象(SDO)、管理對象(NMT)和特殊功能對象;其中,PDO對象主要用于傳輸實時數據,SDO對象用于傳送配置信息,NMT對象用于實現對CANopen網絡的管理,而特殊功能對象提供一些特殊服務。對這些通信對象的訪問都是通過對象字典來實現。

  2)對象字典的設計

  對象字典(Object Dictionary)是CAN open協議的核心,它是一個有序的對象集合,包含了CAN open網絡中設備的所有信息,每個設備的對象字典具有結構相同、內容不同的特點。

  CAN open設備訪問對象字典時,是通過一個16位索引和一個8位子索引的方式來尋址。由于對象字典包含條目眾多,不可能一一列舉,下面以使用最頻繁的PDO對象為例,從其報文屬性和數據封裝兩方面來介紹PDO對象的建立。根據電動執(zhí)行機構的控制需求,定義了PDO報文屬性,見表1。

表1 PDO報文屬性

基于CANopen協議的電動執(zhí)行機構設計

  對于在CAN open網絡中作為從節(jié)點的電動執(zhí)行機構來說,TPDO是其發(fā)送給主節(jié)點的實時數據,而RPDO則是接收來自于主節(jié)點發(fā)送的數據或命令信息。由表1可知,每個TPDO和RPDO都包含2個對象字典條目:通信參數和映射參數。下面以TPDO1為例說明通信參數和映射參數的索引、子索引之間的關系,以及PDO對象的數據封裝過程,詳細流程,如圖5所示。

基于CANopen協議的電動執(zhí)行機構設計

圖5 映射封裝PDO

  由圖5知,通信參數索引1800h下有5個子索引,分別規(guī)定了該PDO使用的COB_ID、傳輸類型、禁止時間及定時器周期等參數;而映射參數索引1A00h下有2個子索引,它們表示映射到該PDO中的2個對象,例如子索引1中的存放的是60000108h,表示把索引6000h,子索引01h,長度為8位的數據映射到TPDO1的第1個字節(jié),而60000108h里存放的是用戶規(guī)定的實際閥位值,當滿足通訊參數中規(guī)定的傳輸類型時,實際閥位值就能通過TPDO1發(fā)送給CANopen網絡主節(jié)點,從而實現主從節(jié)點之間的信息交互。

  3)CANopen通訊程序設計

  電動執(zhí)行機構的CANopen通訊程序流程,如圖6所示。

基于CANopen協議的電動執(zhí)行機構設計

圖6 CANopen通訊流程圖

  首先,執(zhí)行機構上電初始化,待初始化完成后,它發(fā)送Boo-tup報文,同時其通信狀態(tài)由初始化狀態(tài)切換到預操作狀態(tài),該狀態(tài)下僅能進行SDO通信;在收到NMT主節(jié)點的啟動報文后,節(jié)點通信狀態(tài)由預操作切換到操作狀態(tài),它是系統(tǒng)的正常工作狀態(tài),在該狀態(tài)下執(zhí)行機構應用程序循環(huán)調用CAN open stack函數實現CAN open基本通訊。

  CAN open基本通訊主要包含以下三方面:實現CANopen狀態(tài)轉換機制、調用CAN報文收發(fā)函數處理NMT,PDO,SDO等報文,根據報文處理結果刷新實際輸入和輸出。其中,第二個方面是難點,因為CAN open規(guī)定的通訊報文種類較多,如何快速有效地對這些報文進行分類,并調用相應函數處理是保證系統(tǒng)實時性的關鍵。為此,在程序設計時采取了一種基于隊列的分塊存取報文處理模式,其基本思想,如圖7所示。

基于CANopen協議的電動執(zhí)行機構設計

圖7 基于隊列的報文處理模式