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

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

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

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

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