唐會成
(中國煤炭科工集團 太原研究院有限公司, 山西 太原 030006)
近年來隨著電力電子技術的發展, 交流變頻控制技術變革速度加快, 走向成熟的變頻產品在國民經濟的各個行業有廣泛的應用。 工業控制領域的控制方式從傳統的接線控制走向現場總線控制, 常見的有ModBus、Profibus DP、DeviceNet、CANopen 等。 國內外的變頻器生產商為提高產品適應性、競爭力,對現場總線通訊控制支持度也越來越高,CANopen 是以CAN 總線為基礎, 建立網絡層以上高級通訊協議,具有硬件結構簡單、抗干擾能力強、短幀高效、高實時性等優點,廣泛應用于汽車、機械制造、傳感測量等自動化控制領域,因此國外特別是歐洲的變頻器廠商其產品都提供了CANopen 接口。 使用CANopen 協議可以簡化控制系統布線, 提高開發速度降低成本,通過CANopen 總線可以獲取變頻器更多的參數信息,本文通過對CANopen 協議運行機理的剖析,給出了變頻器通過CANopen 總線通訊技術的控制方法[1]。
CANopen 是一個基于CAN 串行總線系統,CANopen是基于CAN 總線的應用層協議, 廣泛應用于運動控制和自動化控制領域,CANopen 設備主要于通訊接口、對象字典、 應用層協議構成, CANopen 設備結構如圖1所示[2]。

圖1 CANopen 設備結構Fig.1 CANopen device structure
掌握CANopen 協議的關鍵是理解對象字典,對象字典是一組有序排列的對象組,是通訊與應用程序的接口,其定義了數據類型、通信及應用對象,通過16 位的索引尋址確定要訪問的位置,8 位的子索引確定唯一的應用對象,CANopen 設備基本的網絡訪問都是通過對象字典實現的[3]。 CANopen 設備的“應用對象”可以是設備的名字、設備參數、設備功能和其它相關數據等。 CANopen 通訊模型如圖2 所示。

圖2 CANopen 通訊模型Fig.2 CANopen communication model
CANopen 通訊主要由3 種報文格式。管理報文(NMT):主要用來管理和檢測網絡, 如CANopen 網絡節點初始化、 啟動、 停止, 檢測網絡節點狀態等; 服務數據對象(SDO):優先級比PDO 低,SDO 使客戶機能夠讀取遠端設備對象字典。主站通過SDO 可以對CANopen 總線上的從設備進行配置, 還可以在設備之間傳輸大的低優先級數據;PDO 過程數據對象:設備間傳輸實時數據,通過PDO數據可以從一個節點傳到一個或多個, 設備間預先設好接收和發送區不需要問答數據直接發送到對方指定區域,提高實時性;一個PDO 最多傳送8 字節,PDO 分為兩種:發送TPDO 以及接收RPDO。PDO 可以用同步或異步的方式傳送:同步的PDO 是由SYNC 訊息觸發,而異步的PDO 是由節點內部的條件或其他外部條件觸發[4]。
CANopen 總線網絡由1 個主節點和多個從節點構成,每個節點分別由不同COB-ID 做為標識符,主節點通過NMT 報文管理從節點,CANopen 設備總線網絡組網原理如圖3 所示[5]。當系統上電后,網絡中主站首先發送通信復位報文使所有設備復位,報文格式如表1,數據偵由2 個字節組成, 字節0 內數字是命令字,0x82 表示節點復位,字節1 內數字是節點ID,如果是00 則表示網絡內所有節點; 從站接收到報文后返回Boot-up 報文, 之后就進入預操作狀態,報文格式如表2,字節70x 中x 表示節點ID。
主站接收到網絡中從站返回Boot-up 報文便可以知道網絡中存在的從站節點, 之后對存在的設備依次進行配置;對每個從站,首先發送預操作指令,如表3,這里是為了確保其在預操作狀態,在此狀態,通過SDO 進行參數配置;配置完成后,主站啟動相應從站,報文格式如表4。 從站返回狀態為5,則說明從站進入操作狀態,可以進行PDO 報文傳輸了,報文格式如表5。

圖3 CANopen 組網原理圖Fig.3 CANopen networking diagram

表1 通信復位報文格式Tab.1 Communication reset message format

表2 Boot- up 報文格式Tab.2 Boot- up message format

表3 預操作報文格式Tab.3 Pre- operation message format

表4 啟動從站x 報文格式Tab.4 Start slave x message format

表5 從站返回報文格式Tab.5 Slave return message format
主站PLC 通過CANopen總線控制變頻器,通信數據主要包含SDO 服務數據對象和PDO 過程數據對象, 其中SDO 服務數據對象主要用于設置變頻器固定參數如:變頻器最高運行頻率、加減速時間、矢量控制時電機參數、變頻器運行模式VF 控制模式、轉矩控制模式還是矢量控制等;PDO 過程數據對象是主控制器通過CANopen 總線發送給變頻器控制數據如變頻器啟動、停止、故障復位;變頻器發送給主控制器的運行參數:系統供電電壓、電機轉速、IGBT 溫度、變頻器輸出電流、直流母線電壓等參數是變頻器發送過程數據對象來實現。通過CANopen 總線對變頻器控制部分據幀舉例如表6,以變頻器站號2 為例,控制器通過發送PDO 對變頻器進行控制,PDO 包含控制參數、控制命令;變頻器接收到控制命令,發送PDO 把運行狀態等參數給主站,總線上的數據幀如表6[6]。

表6 控制器與變頻器通信數據幀Tab.6 Controller and frequency converter communication data frame
(1)通過SDO 對變頻器運行參數設定。 如COB-ID=0x602 ,DATA=23 49 60 01 30 02 00 00 表 示 給 對 象0x6049,子索引01,寫入減速度0x0230;COB-ID=0x582的數據幀表示SDO 的應答;
(2)通過RPDO 給變頻器發送控制字,控制模式等。如 表 中COB-ID=0x202,DATA=0f 00 c8 00 07 00 00 00表示啟動變頻器,變頻器設定運行速度200 轉/min,控制模式7 等。
(3) 變頻器運行參數通過變頻器發送給PLC 的TP DO 數據。如COB-ID=0x282,DATA=20 31 08 00 5e c3 14 00 表示故障代碼為0x3120,控制模式為07,溫度為0,直流母線電壓為0x0014c35e 等。
變頻器CANopen 總線控制網絡中變頻器為從站節點,控制器是CANopen 通訊網絡主站。 控制器上電后首先完成系統的初始化,CANopen 通訊網絡初始化,然后將所有從節點變頻器添加為網絡節點并啟動各從站變頻器節點的心跳監測, 從節點發送的周期性心跳報文(Heartbeat),用于檢測變頻器是否在線。控制器與變頻器主從節點采用PDO 信息傳輸[7]。 軟件控制流程如圖4 所示。

圖4 軟件控制流程Fig.4 Software control process
本文通過闡述CANopen 總線的基本概念,將CANopen 總線應用于變頻器的控制,構建了基于CANopen的變頻器總線控制方法, 通過分析主站控制器與從站變頻器組網時的數據偵, 可用于解決組網中遇到的問題,具有一定的借鑒意義。 實際使用過程中有效避免模擬控制方式帶的干擾,實際應用結果表明CANopen 總線控制技術,可使系統控制線路簡單、有利于系統安裝和調試,提高了控制系統的可靠性和實時性。