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

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

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

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

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