王秀蓮劉昭明畢大強
(1. 沈陽理工大學(xué),沈陽 1101682;2. 清華大學(xué)電動機系電力系統(tǒng)國家重點實驗室,北京 100084)
?
基于CANopen的DSP和ABB變頻器的通信與實現(xiàn)
王秀蓮1劉昭明1畢大強2
(1. 沈陽理工大學(xué),沈陽1101682;2. 清華大學(xué)電動機系電力系統(tǒng)國家重點實驗室,北京100084)
針對于CAN總線成本低、數(shù)據(jù)傳輸距離遠和傳輸速率快等特點。本文以DSP作為主節(jié)點,變頻器為從節(jié)點,利用CAN應(yīng)用層協(xié)議CANopen實現(xiàn)了變頻器的遠程控制。通過對CCS開發(fā)平臺上程序的調(diào)試,完成了DSP和變頻器的通信。同時介紹了變頻器RCAN-01適配器參數(shù)配置、通信參數(shù)含義及通信程序。通過該模塊用戶可以由DSP向變頻器發(fā)送控制命令或者獲取一些實時參數(shù)值,進而對現(xiàn)場工作狀態(tài)進行控制監(jiān)測。CAN通信的實現(xiàn)對于現(xiàn)場總線控制具有較強的操作性和實用性。
CAN;ABB變頻器;數(shù)字信號處理器;現(xiàn)場總線
CAN(Controller Area Network)即控制器局域網(wǎng)總線,最早應(yīng)用于20世紀(jì)80年代末的汽車和電子產(chǎn)品的研發(fā)中。是一種用于實時應(yīng)用的串行通信協(xié)議總線,具有抗干擾性強、通信速率高和開發(fā)靈活等優(yōu)點。針對于CAN這些優(yōu)越的性能,國內(nèi)的一些大型設(shè)備也開始對該協(xié)議進行使用,但是大多數(shù)CAN控制器只做到鏈路層或停留在通信幀的結(jié)構(gòu)分配上。隨著CAN技術(shù)在國內(nèi)的發(fā)展和應(yīng)用,對于應(yīng)用層的硬件設(shè)計也開始考慮,CANopen是 CAN應(yīng)用層的一種協(xié)議[1-2]。
為了對 CANopen協(xié)議的應(yīng)用和研發(fā),本文以DSP為主站,變頻器為從站,利用 CAN的應(yīng)用層協(xié)議CANopen實現(xiàn)了主站和從站的遠程控制。CAN通信的實現(xiàn)可以使操作員通過主站(DSP)的集成開發(fā)平臺CCS對設(shè)備進行人性化的控制和完成原動機模擬的實驗,比如水輪機,柴油機和汽輪機等的模擬,其突出的可靠性、準(zhǔn)確性在多種現(xiàn)場總線中應(yīng)用廣泛,可以滿足不同的實時要求。CANopen的實現(xiàn)在DSP的控制中具有不可替代的優(yōu)勢,為變頻器的高性能應(yīng)用與靈活控制提供條件。
1.1系統(tǒng)硬件連接
系統(tǒng)通信結(jié)構(gòu)如圖1所示,圖中,DSP和WinXP系統(tǒng)下 CCS軟件共同組成一個上位機開發(fā)控制平臺。在 CAN通信中,DSP為主節(jié)點,變頻器為從節(jié)點,帶動電動機運行。DSP和變頻器之間通過CAN的應(yīng)用層協(xié)議CANopen實現(xiàn)通信,CCS和DSP之間應(yīng)用仿真器實現(xiàn)程序的燒寫和在線調(diào)試。
圖1 硬件連接圖
1.2通信連接方法
本實驗用到了兩條信號線“CAN_H”和“CAN_L”,具體連線圖如圖2所示[2]。DSP開發(fā)軟件CCS通過XDS510U-PLUS仿真器與DSP的JTAG口相連,實現(xiàn)DSP程序的開發(fā)、在線調(diào)試和燒寫。變頻器和異步電動機通過電纜連接。
圖2 CAN通信線路圖
2.1RCAN-01
主站(DSP)集成了增強型CAN總線通信接口,變頻器可以通過可選模塊RCAN-01連接到CAN總線系統(tǒng)。通過RCAN-01可以實現(xiàn)以下功能[3]:
1)給變頻器發(fā)送控制命令,如起動、停止、運行使能等。
2)接收變頻器控制電動機運行的實際速度或轉(zhuǎn)矩值。
3)讀取變頻器的狀態(tài)值和實際值。
4)改變變頻器的參數(shù)值和復(fù)位變頻器的故障。
2.2變頻器CANopen通信參數(shù)配置
使用 RCAN-01進行通信時必須先將變頻器的參數(shù)98.02組參數(shù)設(shè)置為Fieldbus,此參數(shù)用于激活適配器。設(shè)置完成后才可以看到51組配置參數(shù),下面是51組參數(shù)設(shè)置的方法:
1)51.01 Module Type對通信的模型類型選擇,默認為CANopen,用戶無法改變其數(shù)值。
2)51.02 Node ID設(shè)置變頻器的節(jié)點號,設(shè)置為1。
3)51.03 BAUDRAT 設(shè)置通信的波特率,設(shè)置為4,即125kbit/s。
4)51.04 PD021Cfg.Loc設(shè)置PDO21組的變量是通過變頻器面板設(shè)置還是總線設(shè)置。本實驗設(shè)置為0,即通過總線進行變量的配置,配置51.05~51.25組參數(shù)。
5)51.26 Transparent/Profi設(shè)置RCAN-01和變頻器之間的通信協(xié)議,設(shè)置為2,即應(yīng)用CANopen協(xié)議進行通信。
節(jié)點和波特率的設(shè)置還可以通過適配器上3個旋轉(zhuǎn)按鈕S1、S2、S3進行設(shè)置。撥碼開關(guān)的設(shè)置如圖3所示。若通過面板配置,3個按鈕均選擇為0。撥碼開關(guān)S1用來設(shè)置波特率,S2、S3用來設(shè)置變頻器的ID號,設(shè)置后的ID=10×S2+S3。顯然,通過撥碼開關(guān)設(shè)置只能設(shè)置0~99之間的節(jié)點號,如果設(shè)置的ID在100~127時,只能將S2和S3均設(shè)置為0后,從變頻器的第51.02組參數(shù)設(shè)置。完成51組的參數(shù)設(shè)置還需對電動機的參數(shù)進行設(shè)置。設(shè)置99.05~99.09組對電動機銘牌進行設(shè)置。設(shè)置參數(shù)99.10選擇電動機的辨識模式(辨識勵磁)。其他參數(shù)的設(shè)置可以根據(jù)實際應(yīng)用進行設(shè)置。
圖3 撥碼開關(guān)設(shè)置
3.1CAN和CANopen
CAN是一種實時應(yīng)用的串行通信協(xié)議,CAN層的定義和開放系統(tǒng)互聯(lián)模型 Open System Interconnection Model(OSI)一致,表1為OSI開放式互聯(lián)模型的各層。CAN的基本協(xié)議只包含物理層和數(shù)據(jù)鏈路層,并沒有規(guī)定應(yīng)用層。在通信應(yīng)用中需要一個高層協(xié)議來定義 CAN消息中的標(biāo)識符和字節(jié)數(shù)據(jù)的使用。CANopen協(xié)議是一個基于CAN應(yīng)用層的子協(xié)議,具有很好的模塊化特性和較高的配置靈活性。
表1 開放系統(tǒng)互聯(lián)模型
CAN的數(shù)據(jù)幀由7個位場組成,其具體格式如圖4所示。CANopen規(guī)定了其中的仲裁場(11位標(biāo)識符和RTR位)和數(shù)據(jù)場(8位),數(shù)據(jù)場包含了所需要發(fā)送的數(shù)據(jù),它的長度為0~8個字節(jié),每個字節(jié)包含8位[4]。
圖4 數(shù)據(jù)幀格式
3.2CANopen協(xié)議設(shè)計
CANopen設(shè)備由通信部分、對象字典和應(yīng)用部分3部分組成,其設(shè)備模型如圖5所示。通過應(yīng)用層協(xié)議 CANopen和變頻器可以靈活地改變電動機的特性進而完成一些動態(tài)試驗的模擬。本實驗通信部分為變頻器的適配器RCAN-01的串口與DSP的CAN口相連接的部分,應(yīng)用部分連接到應(yīng)用相關(guān)的I/O數(shù)據(jù)端口,即適配器的輸出部分,與變頻器相連。通信部分和應(yīng)用部分之間是對象字典,對象字典包含了描述對象和主站執(zhí)行動作的所有參數(shù),它是CANopen協(xié)議的核心部分。
圖5 CANopen設(shè)備模型
CANopen通信部分定義了4種通信對象,過程數(shù)據(jù)對象(PDO)、服務(wù)數(shù)據(jù)對象(SDO)、網(wǎng)絡(luò)管理對象(NMT)和預(yù)定義報文或者特殊功能對象[5]。
CANopen設(shè)備在工作時具有4種狀態(tài),初始化、預(yù)運行、運行和停止?fàn)顟B(tài)。本文將部分對象執(zhí)行的動作作為模塊,將設(shè)備所處的狀態(tài)作為每種對象動作時的觸發(fā)條件,這樣就降低了編程難度,同時簡化了程序。在CANopen協(xié)議編寫時,程序的運行狀態(tài)流程圖如圖6所示。各觸發(fā)點命令含義見表2。
圖6 狀態(tài)運行流程圖
表2 觸發(fā)命令含義
初始化時主要是初始通信對象的參數(shù)。初始化結(jié)束后,設(shè)備開始進入預(yù)運行狀態(tài)。在預(yù)運行狀態(tài)時過程對象(PDO)不能進行通信,此時由過服務(wù)數(shù)據(jù)對象(SDO)進行參數(shù)配置。參數(shù)配置完成后設(shè)備進入運行狀態(tài)。在運行狀態(tài)所有對象都可以進行通信,既可以通過PDO傳輸報文也可以通過SDO訪問,修改參數(shù)等。如果主節(jié)點發(fā)送停止命令后設(shè)備可以從其他狀態(tài)直接進入停止?fàn)顟B(tài),在停止?fàn)顟B(tài),通信對象等待主節(jié)點發(fā)送命令進入其他狀態(tài)[6]。
3.3實驗程序
通信程序(部分)如圖7所示。在程序中,當(dāng)狀態(tài)值statues=1時,運用SDO訪問對象字典,即對適配器RCAN_01中參數(shù)組51.05~51.25進行參數(shù)配置,當(dāng)statues=2,判斷是否進行預(yù)操作和檢查參數(shù)是否配置正確,如果正確,轉(zhuǎn)到操作階段。此時狀態(tài)值為3,變頻器起動運行通信協(xié)議 ABBDrives,根據(jù)ABB Drives控制電動機,對變頻器的運行狀態(tài)進行監(jiān)控。
圖7 部分通信程序
3.4實驗結(jié)果
變頻器采用閉環(huán)控制方式直接轉(zhuǎn)矩進行控制,變頻器的起動和停止通過DSP上的用戶開關(guān)控制。電動機的實際參數(shù)反饋值如圖8所示。界面顯示的速度值為 675r/min,轉(zhuǎn)矩為額定轉(zhuǎn)矩的 5.97%,額定轉(zhuǎn)矩經(jīng)計算為9.5N·m,則實際轉(zhuǎn)矩為0.57N·m。電流值為1.92A,功率為額定功率的2.88%,額定功率為1.5kW,則實際功率為0.0432kW。
圖8 變頻器界面
主節(jié)點運用CCS軟件的Watchwindow窗口作為監(jiān)控界面,如圖9所示。狀態(tài)值為3表明變頻器已進入ABB Drives通信協(xié)議的運行階段。上位機的速度顯示值和給定值均為標(biāo)幺值,速度給定值為9000,實際速度比例為 20000,電動機的額定轉(zhuǎn)速為1500r/min,則電動機的實際轉(zhuǎn)速為
即實際轉(zhuǎn)速為 675r/min。轉(zhuǎn)矩和功率的顯示值為593和27,由比例關(guān)系可換算出實際值為額定轉(zhuǎn)矩的5.93%和額定功率的2.7%。換算值與變頻器的顯示值在允許的誤差范圍內(nèi),說明通信結(jié)果正確。
圖9 Watchwindow界面
本文運用變頻器 RCAN-01適配器和 DSP的CAN口完成硬件連接。應(yīng)用CAN通信的應(yīng)用層協(xié)議CANopen完成主節(jié)點(DSP)和從節(jié)點(變頻器)的CAN通信,從而實現(xiàn)對電動機和變頻器運行狀態(tài)的監(jiān)控。通過開發(fā)平臺CCS對CANopen的研發(fā)和編寫,可以完成一些動模實驗和工業(yè)現(xiàn)場中不同的實時性需求,為系統(tǒng)的二次開發(fā)和變頻器高性能的應(yīng)用提供條件。
[1] 寧改娣,曾翔君,駱一萍. DSP控制器原理及應(yīng)用[M]. 2版. 北京︰科學(xué)出版社,2009︰1-8.
[2] ABB適配器RCAN-01用戶手冊.
[3] 樊后世,尹麗娜,王為曉,等. 采煤機牽引變頻器CAN 適配器參數(shù)設(shè)置[J]. 工礦自動化,2011(12)︰101-103.
[4] 張厚林. CANopen通信協(xié)議與實現(xiàn)[D]. 武漢︰華中科技大學(xué),2009︰7-14.
[5] 肖海峰,楊柳. 基于TMS320F28335的CANopen協(xié)議從節(jié)點設(shè)計與實現(xiàn)[J]. 科技視界,2014(36)︰79,135.
[6] 賈運紅. 基于 CANopen的變頻器控制方法研究[J].煤礦機械,2015,36(3)︰253-255.
Communication and Implementation of DSP and ABB Drive based on CANopen Protocol
Wang Xiulian1Liu Zhaoming1Bi Daqiang2
(1. Shengyang Ligong University,Shengyang110168;2. Tsinghua University,Dept of Electrical Engineering,State Key Lab of Power Systems,Beijing100084)
In view of CAN Bus with the low cost,long distance and fast rate of data transmission,this paper takes Digital Signal Processor (DSP) as the main station,and the converter is the Slave station,realizes the remote control of inverter by utilizing CAN application layer protocol CANopen. Communication is completed by debugging on CCS development platform between DSP and ABB driver. This paper also introduces parameter configuration,implication of communication parameters and communication program of RCAN-01 in ABB driver. Users can send control commands,or get the values of real time parameter from DSP to ABB driver by this way,and then control and monitor the field state. The implementation of CAN communication has strong operability and practicability for the field bus control.
CAN Bus; ABB driver; DSP; field bus