1 引言
在上期文章中介紹了CANopen協議相關概念及其組網方式,本期文章中將說明CANopen主站設備及其應用方法。
由于可靠性、實時性、低成本、抗干擾性、兼容能力等多個方面的優勢,CAN-bus與其高層協議CANopen已成為車輛數據通信系統的事實標準,并普遍應用于所有的可移動設施,例如船舶艦艇、客車火車、升降電梯、重載車輛、工程機械、運動系統、分布式控制網絡等。幾乎所有的通用I/O模塊、驅動器、智能傳感器、PLC、MMI設備的生產廠商都提供支持CAN-bus與CANopen標準的產品。只要符合CANopen協議標準及其設備協議子集標準的系統,就可以在功能和接口上保證各廠商設備的互用性和可交換性。
2 CANopen網絡特性
作為標準化應用,CANopen建立在設備對象描述的基礎上,設備對象描述規定了基本的通信機制及相關參數。CANopen可通過總線對設備進行在線配置,與生產廠商無關聯,支持網絡設備的即插即用(Plug and Play)。
CANopen支持2類基本數據傳輸機制:PDO實現高實時性的過程數據交換,SDO實現低實時性的對象字典條目的訪問。SDO也用于傳輸配置參數或用于長數據域的傳輸。
CANopen既規定了各種設備之間的通信標準,也定義了與其他通信網絡的互連規范。
3 CANopen網絡中的設備分類
在說明CANopen網絡設備分類之前,我們有必要先了解其網絡通信模型。
CAN-bus支持“生產者-消費者”通信模型,支持一個生產者和一個或多個消費者之間的通信關系。生產者提供服務,消費者接受則可以消費(或忽略)服務。需要注意,CANopen標準作為CAN-bus的應用層協議之一,除了支持上述服務類型外,還支持“客戶端-服務器”通信模型。客戶端設備通常稱為“CANopen主站”,而服務器端設備則稱為“CANopen從站”。
針對各個不同的行業應用,CANopen標準制定了各種設備子協議,通常命名編號為DS-4xx,目前已有十多個設備子協議被各行業認可。例如:通用 I/O 模塊(DS-401)、馬達驅動器(DS-402)、閉環測控儀器(DS-404)、可編程設備(DS-405)、旋轉與線性編碼器(DS-406)、角度測量儀(DS-410)、醫療器械(DS-412)、升降控制器(DS-417)、擠壓設備(DS-420)、市政車輛(DS-422)等,同時還有數個行業的設備子協議規范正在制定之中。符合同一類設備子協議的產品都具有類似的設備資源描述與屬性。
4 如何設計CANopen主站設備
CANopen標準定義了應用層、通信子協議以及各種應用規范。應用層提供服務,并定義通信對象。通信對象用于交換過程數據和服務數據,這些對象由它們的結構、傳輸類型和CAN標識符來定義。
DS-301規范除了對應用層、通信子協議進行了全面描述,還為特定的應用提供了擴展架構,定義了更多規則和特殊通信對象。例如,DS-301定義了網絡管理對象(節點保護、壽命保護),并定義了使用這些對象的詳細規則。
圖1為包含通信接口、應用過程以及對象字典的CANopen設備的基本模型。通信接口用于將設備連接到網絡,對象字典作為網絡和應用過程之間的接口。

作為一個CANopen 主站設備,為了滿足管理整個CANopen網絡的從站設備,通常需要提供以下功能:(1)支持PDO、SDO發送與接收;(2)支持NMT網絡管理;(3)支持PDO通信類型并能夠支持監控每一個PDO目標;(4)LSS層設置功能:從站波特率設置、從站節點編號設置;(5)支持從站管理功能:類型與名稱讀取、對象字典讀寫;(6)緊急報文發送功能;(7)擴展CANopen標準指示燈功能。
通過PC擴展一個CANopen主站通信卡,從而令PC具有管理CANopen通信網絡的能力,這是普遍選擇的方式。推薦使用PCI總線或USB總線來擴展CANopen通信卡,比如圖2所示的PCI-5010P或USBCAN-EP主站卡,令PC成為一個CANopen網絡的管理節點,可以開發或測試CANopen網絡、拓展連接其他網絡。
PCI-5010P通信卡內嵌1路隔離CAN接口,常用于工控場合,通過PCI總線連接工控PC機;USBCAN-2EP通信卡內嵌2路全隔離CAN接口,常用于便攜測試領域,通過USB總線連接測試PC機。這兩款設備的內嵌CAN接口都設計有增強隔離、ESD、EFT、EMI等多種保護措施,保障設備在干擾惡劣環境中的可靠通信。同時,配套各種CANopen支持軟件,有CANopen函數庫、編程示例、監控與測試軟件、OPC服務器、協議分析等。

另外,作為通用的CAN-bus通信接口卡,這兩款設備還具有硬件自動存儲報文、通用CAN報文收發、總線參數診斷等增強功能,方便進行復雜網絡的二次開發。
5 測試CANopen網絡與設備
PC運行一個CANopen測試軟件,通過致遠電子的PCI-5010P或USBCAN-2EP通信卡,可對CANopen從站設備進行測試、調試。軟件包括載入EDS文件、管理從站、CANopen服務、接收/發送報文測試等功能。
通過CANopen測試軟件導入一個CANopen從站設備的EDS文件后,可直接以SDO方式讀寫設備屬性,或與該從站設備執行PDO通信測試,配置或管理從站的I/O數據。圖3為CANopen測試軟件的運行簡圖。

6 怎樣分析CANopen網絡報文
工程師設計一個支持CANopen協議的設備時,往往會碰到這樣的問題:為什么設備收不到其他網絡節點發來的信息?為什么設備發出去的命令沒有收到響應?為什么設備工作一段時間后會發生通信異常?……,這時候就需要用到專業的CANopen網絡分析工具來分析CANopen報文與CAN-bus底層數據,這里推薦一款CANopen協議分析儀。
CANalyst分析儀可用于記錄CANopen網絡報文、錯誤狀態、網絡負載等,也可以模擬CANopen終端工作,是CANopen網絡設計的好助手,可以有效節省開發周期,方便實現網絡維護、查錯、管理等復雜操作。圖4為CANalyst分析儀的軟件操作界面。

7 判斷CANopen網絡的性能
CANopen網絡的性能主要取決于兩個關鍵因素:數據丟失率和實時性。
引起數據丟失的原因有很多,比如網絡通信距離超過CAN通信速率所能達到的最大值;多個從站不斷地主動發送PDO數據,導致總線瞬時負載過高等。
除了通信速率之外,從站數量、數據傳輸方式也是影響實時性的重要因素。從站數量過多,肯定會引起主站和單個從站的通信周期變長;如果從站主動上傳PDO數據量過大,則會出現一些從站數據堵塞或不斷重發的現象,也同樣會導致通信周期變長。
CAN總線作為新型成熟的現場總線已經應用到生活生產的各個領域。其中基于CAN總線的CANopen協議,以其獨特的優勢已經成為行業標準,CANopen也必將成為現場總線的發展趨勢。
廣州致遠電子有限公司提供功能全面的CANopen產品,包含各種接口的CANopen通信卡、CANopen終端設備(包括數據采集、電機控制等)、CANopen分析儀、網關及網橋、OPC服務器以及基于CANopen協議的整套組網方案及應用集成。
預告:下期文章將介紹CANopen從站的設計與應用。
