基于CANopen協(xié)議的電動執(zhí)行機構(gòu)設(shè)計

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

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

1、引言

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

2、設(shè)計方案概述

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

3、電動執(zhí)行機構(gòu)硬件設(shè)計

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

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

基于CANopen協(xié)議的電動執(zhí)行機構(gòu)設(shè)計

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

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

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

基于CANopen協(xié)議的電動執(zhí)行機構(gòu)設(shè)計

圖2 控制器的硬件結(jié)構(gòu)

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

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

基于CANopen協(xié)議的電動執(zhí)行機構(gòu)設(shè)計

圖3 CAN通訊接口電路

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

4、電動執(zhí)行機構(gòu)的軟件設(shè)計

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

  1)CANopen協(xié)議通信機理

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

基于CANopen協(xié)議的電動執(zhí)行機構(gòu)設(shè)計

圖4 CANopen通訊模型

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

  2)對象字典的設(shè)計

  對象字典(Object Dictionary)是CAN open協(xié)議的核心,它是一個有序的對象集合,包含了CAN open網(wǎng)絡(luò)中設(shè)備的所有信息,每個設(shè)備的對象字典具有結(jié)構(gòu)相同、內(nèi)容不同的特點。

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

表1 PDO報文屬性

基于CANopen協(xié)議的電動執(zhí)行機構(gòu)設(shè)計

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

基于CANopen協(xié)議的電動執(zhí)行機構(gòu)設(shè)計

圖5 映射封裝PDO

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

  3)CANopen通訊程序設(shè)計

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

基于CANopen協(xié)議的電動執(zhí)行機構(gòu)設(shè)計

圖6 CANopen通訊流程圖

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

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

基于CANopen協(xié)議的電動執(zhí)行機構(gòu)設(shè)計

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