唐會(huì)成
(中國(guó)煤炭科工集團(tuán) 太原研究院有限公司, 山西 太原 030006)
近年來(lái)隨著電力電子技術(shù)的發(fā)展, 交流變頻控制技術(shù)變革速度加快, 走向成熟的變頻產(chǎn)品在國(guó)民經(jīng)濟(jì)的各個(gè)行業(yè)有廣泛的應(yīng)用。 工業(yè)控制領(lǐng)域的控制方式從傳統(tǒng)的接線控制走向現(xiàn)場(chǎng)總線控制, 常見的有ModBus、Profibus DP、DeviceNet、CANopen 等。 國(guó)內(nèi)外的變頻器生產(chǎn)商為提高產(chǎn)品適應(yīng)性、競(jìng)爭(zhēng)力,對(duì)現(xiàn)場(chǎng)總線通訊控制支持度也越來(lái)越高,CANopen 是以CAN 總線為基礎(chǔ), 建立網(wǎng)絡(luò)層以上高級(jí)通訊協(xié)議,具有硬件結(jié)構(gòu)簡(jiǎn)單、抗干擾能力強(qiáng)、短幀高效、高實(shí)時(shí)性等優(yōu)點(diǎn),廣泛應(yīng)用于汽車、機(jī)械制造、傳感測(cè)量等自動(dòng)化控制領(lǐng)域,因此國(guó)外特別是歐洲的變頻器廠商其產(chǎn)品都提供了CANopen 接口。 使用CANopen 協(xié)議可以簡(jiǎn)化控制系統(tǒng)布線, 提高開發(fā)速度降低成本,通過(guò)CANopen 總線可以獲取變頻器更多的參數(shù)信息,本文通過(guò)對(duì)CANopen 協(xié)議運(yùn)行機(jī)理的剖析,給出了變頻器通過(guò)CANopen 總線通訊技術(shù)的控制方法[1]。
CANopen 是一個(gè)基于CAN 串行總線系統(tǒng),CANopen是基于CAN 總線的應(yīng)用層協(xié)議, 廣泛應(yīng)用于運(yùn)動(dòng)控制和自動(dòng)化控制領(lǐng)域,CANopen 設(shè)備主要于通訊接口、對(duì)象字典、 應(yīng)用層協(xié)議構(gòu)成, CANopen 設(shè)備結(jié)構(gòu)如圖1所示[2]。
圖1 CANopen 設(shè)備結(jié)構(gòu)Fig.1 CANopen device structure
掌握CANopen 協(xié)議的關(guān)鍵是理解對(duì)象字典,對(duì)象字典是一組有序排列的對(duì)象組,是通訊與應(yīng)用程序的接口,其定義了數(shù)據(jù)類型、通信及應(yīng)用對(duì)象,通過(guò)16 位的索引尋址確定要訪問的位置,8 位的子索引確定唯一的應(yīng)用對(duì)象,CANopen 設(shè)備基本的網(wǎng)絡(luò)訪問都是通過(guò)對(duì)象字典實(shí)現(xiàn)的[3]。 CANopen 設(shè)備的“應(yīng)用對(duì)象”可以是設(shè)備的名字、設(shè)備參數(shù)、設(shè)備功能和其它相關(guān)數(shù)據(jù)等。 CANopen 通訊模型如圖2 所示。
圖2 CANopen 通訊模型Fig.2 CANopen communication model
CANopen 通訊主要由3 種報(bào)文格式。管理報(bào)文(NMT):主要用來(lái)管理和檢測(cè)網(wǎng)絡(luò), 如CANopen 網(wǎng)絡(luò)節(jié)點(diǎn)初始化、 啟動(dòng)、 停止, 檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)狀態(tài)等; 服務(wù)數(shù)據(jù)對(duì)象(SDO):優(yōu)先級(jí)比PDO 低,SDO 使客戶機(jī)能夠讀取遠(yuǎn)端設(shè)備對(duì)象字典。主站通過(guò)SDO 可以對(duì)CANopen 總線上的從設(shè)備進(jìn)行配置, 還可以在設(shè)備之間傳輸大的低優(yōu)先級(jí)數(shù)據(jù);PDO 過(guò)程數(shù)據(jù)對(duì)象:設(shè)備間傳輸實(shí)時(shí)數(shù)據(jù),通過(guò)PDO數(shù)據(jù)可以從一個(gè)節(jié)點(diǎn)傳到一個(gè)或多個(gè), 設(shè)備間預(yù)先設(shè)好接收和發(fā)送區(qū)不需要問答數(shù)據(jù)直接發(fā)送到對(duì)方指定區(qū)域,提高實(shí)時(shí)性;一個(gè)PDO 最多傳送8 字節(jié),PDO 分為兩種:發(fā)送TPDO 以及接收RPDO。PDO 可以用同步或異步的方式傳送:同步的PDO 是由SYNC 訊息觸發(fā),而異步的PDO 是由節(jié)點(diǎn)內(nèi)部的條件或其他外部條件觸發(fā)[4]。
CANopen 總線網(wǎng)絡(luò)由1 個(gè)主節(jié)點(diǎn)和多個(gè)從節(jié)點(diǎn)構(gòu)成,每個(gè)節(jié)點(diǎn)分別由不同COB-ID 做為標(biāo)識(shí)符,主節(jié)點(diǎn)通過(guò)NMT 報(bào)文管理從節(jié)點(diǎn),CANopen 設(shè)備總線網(wǎng)絡(luò)組網(wǎng)原理如圖3 所示[5]。當(dāng)系統(tǒng)上電后,網(wǎng)絡(luò)中主站首先發(fā)送通信復(fù)位報(bào)文使所有設(shè)備復(fù)位,報(bào)文格式如表1,數(shù)據(jù)偵由2 個(gè)字節(jié)組成, 字節(jié)0 內(nèi)數(shù)字是命令字,0x82 表示節(jié)點(diǎn)復(fù)位,字節(jié)1 內(nèi)數(shù)字是節(jié)點(diǎn)ID,如果是00 則表示網(wǎng)絡(luò)內(nèi)所有節(jié)點(diǎn); 從站接收到報(bào)文后返回Boot-up 報(bào)文, 之后就進(jìn)入預(yù)操作狀態(tài),報(bào)文格式如表2,字節(jié)70x 中x 表示節(jié)點(diǎn)ID。
主站接收到網(wǎng)絡(luò)中從站返回Boot-up 報(bào)文便可以知道網(wǎng)絡(luò)中存在的從站節(jié)點(diǎn), 之后對(duì)存在的設(shè)備依次進(jìn)行配置;對(duì)每個(gè)從站,首先發(fā)送預(yù)操作指令,如表3,這里是為了確保其在預(yù)操作狀態(tài),在此狀態(tài),通過(guò)SDO 進(jìn)行參數(shù)配置;配置完成后,主站啟動(dòng)相應(yīng)從站,報(bào)文格式如表4。 從站返回狀態(tài)為5,則說(shuō)明從站進(jìn)入操作狀態(tài),可以進(jìn)行PDO 報(bào)文傳輸了,報(bào)文格式如表5。
圖3 CANopen 組網(wǎng)原理圖Fig.3 CANopen networking diagram
表1 通信復(fù)位報(bào)文格式Tab.1 Communication reset message format
表2 Boot- up 報(bào)文格式Tab.2 Boot- up message format
表3 預(yù)操作報(bào)文格式Tab.3 Pre- operation message format
表4 啟動(dòng)從站x 報(bào)文格式Tab.4 Start slave x message format
表5 從站返回報(bào)文格式Tab.5 Slave return message format
主站PLC 通過(guò)CANopen總線控制變頻器,通信數(shù)據(jù)主要包含SDO 服務(wù)數(shù)據(jù)對(duì)象和PDO 過(guò)程數(shù)據(jù)對(duì)象, 其中SDO 服務(wù)數(shù)據(jù)對(duì)象主要用于設(shè)置變頻器固定參數(shù)如:變頻器最高運(yùn)行頻率、加減速時(shí)間、矢量控制時(shí)電機(jī)參數(shù)、變頻器運(yùn)行模式VF 控制模式、轉(zhuǎn)矩控制模式還是矢量控制等;PDO 過(guò)程數(shù)據(jù)對(duì)象是主控制器通過(guò)CANopen 總線發(fā)送給變頻器控制數(shù)據(jù)如變頻器啟動(dòng)、停止、故障復(fù)位;變頻器發(fā)送給主控制器的運(yùn)行參數(shù):系統(tǒng)供電電壓、電機(jī)轉(zhuǎn)速、IGBT 溫度、變頻器輸出電流、直流母線電壓等參數(shù)是變頻器發(fā)送過(guò)程數(shù)據(jù)對(duì)象來(lái)實(shí)現(xiàn)。通過(guò)CANopen 總線對(duì)變頻器控制部分據(jù)幀舉例如表6,以變頻器站號(hào)2 為例,控制器通過(guò)發(fā)送PDO 對(duì)變頻器進(jìn)行控制,PDO 包含控制參數(shù)、控制命令;變頻器接收到控制命令,發(fā)送PDO 把運(yùn)行狀態(tài)等參數(shù)給主站,總線上的數(shù)據(jù)幀如表6[6]。
表6 控制器與變頻器通信數(shù)據(jù)幀Tab.6 Controller and frequency converter communication data frame
(1)通過(guò)SDO 對(duì)變頻器運(yùn)行參數(shù)設(shè)定。 如COB-ID=0x602 ,DATA=23 49 60 01 30 02 00 00 表 示 給 對(duì) 象0x6049,子索引01,寫入減速度0x0230;COB-ID=0x582的數(shù)據(jù)幀表示SDO 的應(yīng)答;
(2)通過(guò)RPDO 給變頻器發(fā)送控制字,控制模式等。如 表 中COB-ID=0x202,DATA=0f 00 c8 00 07 00 00 00表示啟動(dòng)變頻器,變頻器設(shè)定運(yùn)行速度200 轉(zhuǎn)/min,控制模式7 等。
(3) 變頻器運(yùn)行參數(shù)通過(guò)變頻器發(fā)送給PLC 的TP DO 數(shù)據(jù)。如COB-ID=0x282,DATA=20 31 08 00 5e c3 14 00 表示故障代碼為0x3120,控制模式為07,溫度為0,直流母線電壓為0x0014c35e 等。
變頻器CANopen 總線控制網(wǎng)絡(luò)中變頻器為從站節(jié)點(diǎn),控制器是CANopen 通訊網(wǎng)絡(luò)主站。 控制器上電后首先完成系統(tǒng)的初始化,CANopen 通訊網(wǎng)絡(luò)初始化,然后將所有從節(jié)點(diǎn)變頻器添加為網(wǎng)絡(luò)節(jié)點(diǎn)并啟動(dòng)各從站變頻器節(jié)點(diǎn)的心跳監(jiān)測(cè), 從節(jié)點(diǎn)發(fā)送的周期性心跳報(bào)文(Heartbeat),用于檢測(cè)變頻器是否在線??刂破髋c變頻器主從節(jié)點(diǎn)采用PDO 信息傳輸[7]。 軟件控制流程如圖4 所示。
圖4 軟件控制流程Fig.4 Software control process
本文通過(guò)闡述CANopen 總線的基本概念,將CANopen 總線應(yīng)用于變頻器的控制,構(gòu)建了基于CANopen的變頻器總線控制方法, 通過(guò)分析主站控制器與從站變頻器組網(wǎng)時(shí)的數(shù)據(jù)偵, 可用于解決組網(wǎng)中遇到的問題,具有一定的借鑒意義。 實(shí)際使用過(guò)程中有效避免模擬控制方式帶的干擾,實(shí)際應(yīng)用結(jié)果表明CANopen 總線控制技術(shù),可使系統(tǒng)控制線路簡(jiǎn)單、有利于系統(tǒng)安裝和調(diào)試,提高了控制系統(tǒng)的可靠性和實(shí)時(shí)性。