深入探討適用於低功耗工業電機控製的CANopen協議
發布時間:2024-09-22 責任編輯:lina
【導讀】wenjiandetongxinxieyihejiekouzaigongyedianjikongzhiyingyongzhongfahuizhezhongyaozuoyong。zaigongyequdongyingyongzhong,dangxuyaoduogechuliqiyuanjianlaichixutongxinyiwanchengfuzarenwushi,CANopen®因其易於集成、高度可配置,以及支持高效、可靠的實時數據交換等特性,受到了眾多工程師青睞。本文從低功耗電機控製應用的角度深入探討CANopen。
摘要
wenjiandetongxinxieyihejiekouzaigongyedianjikongzhiyingyongzhongfahuizhezhongyaozuoyong。zaigongyequdongyingyongzhong,dangxuyaoduogechuliqiyuanjianlaichixutongxinyiwanchengfuzarenwushi,CANopen®因其易於集成、高度可配置,以及支持高效、可靠的實時數據交換等特性,受到了眾多工程師青睞。本文從低功耗電機控製應用的角度深入探討CANopen。
控製器局域網的背景
控製器局域網(CAN)由Robert Bosch Gmbh於1983年研發,是一種高度穩健的通信協議和接口,創建之初是為了克服RS232等(deng)傳(chuan)統(tong)串(chuan)行(xing)通(tong)信(xin)網(wang)絡(luo)的(de)局(ju)限(xian)性(xing),這(zhe)些(xie)網(wang)絡(luo)無(wu)法(fa)支(zhi)持(chi)多(duo)個(ge)控(kong)製(zhi)器(qi)之(zhi)間(jian)的(de)實(shi)時(shi)通(tong)信(xin)。汽(qi)車(che)行(xing)業(ye)要(yao)求(qiu)多(duo)個(ge)傳(chuan)感(gan)器(qi)連(lian)續(xu)同(tong)步(bu)傳(chuan)輸(shu)數(shu)據(ju),因(yin)而(er)率(lv)先(xian)采(cai)用(yong)CAN。CAN允許多個節點使用短小的消息相互通信,因此成為汽車應用的理想選擇。
隨著時間推移,CAN憑借其經過驗證的穩健性和諸多優勢,在各行各業越來越受歡迎。然而,受限於專有編碼規則,利用CAN協議將來自不同供應商的多個設備集成到單個係統中頗有挑戰性,有時甚至是天方夜譚。為了克服這一限製,自動化領域CAN (CiA)的國際用戶和製造商協會開發了一種高層協議CANopen。
本文接下來將探討CANopen協(xie)議(yi)架(jia)構(gou)及(ji)其(qi)在(zai)控(kong)製(zhi)多(duo)軸(zhou)電(dian)機(ji)驅(qu)動(dong)器(qi)中(zhong)的(de)應(ying)用(yong)。本(ben)文(wen)將(jiang)深(shen)入(ru)探(tan)究(jiu)這(zhe)種(zhong)高(gao)層(ceng)通(tong)信(xin)協(xie)議(yi)的(de)複(fu)雜(za)之(zhi)處(chu)及(ji)其(qi)對(dui)電(dian)機(ji)和(he)運(yun)動(dong)控(kong)製(zhi)領(ling)域(yu)的(de)影(ying)響(xiang)。為(wei)了(le)讓(rang)讀(du)者(zhe)了(le)解(jie)CANopen協議,我們會分析ADI Trinamic™ TMCM-6212多軸電機控製器/驅動器模塊與QSH4218-35-10-027步進電機的實時通信日誌。具體來說,我們將重點關注網絡管理(NMT)狀態和基於客戶端-服務器的CANopen協議。此外,我們還將通過案例研究來展示如何解讀通信日誌並確定驅動器的狀態。
CANopen架構
本節講解CANopen協議的各種應用原理,包括NMT和SDO(服務數據對象)。
網絡管理:NMT是CANopen中的關鍵通信原則,每個CANopen兼容設備都必須遵守。它作為狀態機運行,在協調CANopen框架內的應用方麵發揮著重要作用。
網絡管理狀態機架構:NMT狀態機如圖1所示,由三個不同的狀態組成,詳情如下:
►初始化狀態
►預運行狀態
►運行狀態

圖1.NMT狀態機
客戶端節點承擔著監督不同運行狀態下,相關服務器節點通信狀態的關鍵角色。這是通過實施NMT機製來實現的。可通過心跳和節點守護兩種不同方法,使客戶端節點能夠評估服務器節點的通信完整性。TMCM-6212采用心跳技術來驗證通信是否正確。每個節點利用對象1017h,以用戶可配置的循環時間間隔(以毫秒為單位)發出心跳信號。這種方式確保所有節點都處於活動狀態,可以進行通信。
初始化 預運行 運行 停止
啟動 •
SDO • •
緊急情況 • •
同步/時間 • •
心跳/節點守護 • • •
PDO(過程數據對象) •

表1.NMT通信中的狀態配置
表1列(lie)出(chu)了(le)不(bu)同(tong)通(tong)信(xin)狀(zhuang)態(tai)下(xia)使(shi)用(yong)的(de)所(suo)有(you)通(tong)信(xin)對(dui)象(xiang)的(de)組(zu)合(he)。設(she)備(bei)上(shang)電(dian)或(huo)複(fu)位(wei)後(hou)進(jin)入(ru)初(chu)始(shi)化(hua)狀(zhuang)態(tai)時(shi),會(hui)產(chan)生(sheng)啟(qi)動(dong)消(xiao)息(xi)。然(ran)後(hou),設(she)備(bei)轉(zhuan)換(huan)到(dao)預(yu)運(yun)行(xing)狀(zhuang)態(tai),準(zhun)備(bei)好(hao)執(zhi)行(xing)期(qi)望(wang)的(de)操(cao)作(zuo)。在(zai)預(yu)運(yun)行(xing)狀(zhuang)態(tai)下(xia),網(wang)絡(luo)中(zhong)的(de)所(suo)有(you)節(jie)點(dian)可(ke)以(yi)傳(chuan)輸(shu)與(yu)SDO、心跳/節點守護、緊急情況和時間/同步相關的所有對象。在運行狀態下,除了預運行狀態下可用的所有對象之外,還可以映射PDO對象。最後,在停止狀態下,設備會禁用所有SDO和PDO對象的通信,僅允許執行NMT命令。
服務數據對象:SDO通信協議主要用於NMT狀態機的預運行狀態。它以客戶端-服務器配置運行,其中客戶端可以訪問所有連接的服務器(節點)的對象字典中可用的所有對象。在該協議中,客戶端總是發起服務器的讀/寫事務,並由服務器確認任務完成。此過程可確保SDO中的每個事務都得到確認。
圖2顯示了多節點網絡中SDO協議的基於客戶端-服務器的配置。每個節點都被分配一個通道,通過該通道可以與客戶端進行通信。在這種情況下,Trinamic TMCM-6212六步進電機驅動器/控製器充當服務器,而連接的PC充當客戶端,發起與特定節點(本例中為NODE-1)的讀/寫事務。雖然所有節點都會收到SDO客戶端消息,但隻有目標節點會響應,而其他服務器會忽略客戶端請求。

圖2.多節點SDO配置
服務數據對象數據報
圖2顯示了SDO數據報的完整結構。SDO報頭由COB-ID(連接對象ID)組成,該ID是分配給特定任務(例如讀寫功能)的唯一編號。因此,SDO通信需要兩個COB-ID。第一個COB-ID代表客戶端上載/下載請求的NODE-ID+功能代碼,即600h + NODE-ID。第二個COB-ID(580h + NODE-ID)用於服務器的響應。

圖3.SDO數據報結構
SDO消息中的第一個字節為說明符,對於確定消息的性質至關重要,可表明客戶端是打算寫入(下載)還是讀取(上傳)數據,而且還通過中止消息表示事務中的任何錯誤。說明符字節分為8位,如圖3所示。位7-5為客戶端命令說明符(CCS),提供有關消息性質的關鍵信息。客戶端命令說明符根據客戶端的操作(例如讀取、寫入、分段/快速傳輸或事務中的錯誤)而有不同的配置。在服務器的響應中,說明符(SCS,服務器命令說明符)的三位用於確定事務是否成功。表2列出了不同操作中CCS和SCS位的各種組合。說明符數據報中的位4是超過四字節的數據傳輸中使用的切換位。位3-2不包含任何數據,並且僅當設置了位0-1時才有效。位1決定通過SDO通道傳輸的消息類型,指示它是分段傳輸還是快速傳輸。在SDO數據報中,如圖3所示,最後四個字節專門用於存放需要傳輸的數據。如果數據超過四個字節,則會以分段方式發送。另一方麵,如果SDO數據報包含完整數據,則其被視為快速傳輸。因此,位1為高電平表示快速傳輸,位1為低電平表示分段傳輸。在分段傳輸中,數據以數據包的形式傳輸。為了響應客戶端的初始讀/寫請求,服務器在數據字段中提供數據大小。然後,隨著每個數據包傳輸到客戶端,第四位(切換位)開始切換。最後,如果說明符數據報中的位0已設置,則位3-2會指示數據大小,如前所述。
操作 客戶端請求(CCS) 服務器響應(SCS)

表2.CCS和SCS配置
SDO數據報中的字節2-3和4分別對應索引和子索引字節,如圖3所(suo)示(shi)。這(zhe)些(xie)字(zi)節(jie)用(yong)於(yu)訪(fang)問(wen)設(she)備(bei)對(dui)象(xiang)字(zi)典(dian)中(zhong)可(ke)用(yong)的(de)所(suo)有(you)對(dui)象(xiang)。對(dui)象(xiang)字(zi)典(dian)包(bao)含(han)所(suo)有(you)設(she)備(bei)參(can)數(shu),用(yong)戶(hu)可(ke)根(gen)據(ju)實(shi)時(shi)應(ying)用(yong)需(xu)求(qiu)配(pei)置(zhi)設(she)備(bei)的(de)功(gong)能(neng)。通(tong)過(guo)設(she)備(bei)剖(pou)析(xi),無(wu)論(lun)是(shi)像(xiang)驅(qu)動(dong)器(qi)這(zhe)樣(yang)的(de)控(kong)製(zhi)設(she)備(bei),還(hai)是(shi)簡(jian)單(dan)的(de)I/O器件,我們都可以實現行為標準化。如前所述,SDO數據報中的最後四個字節專門用於存放需要通過SDO層傳輸的數據。
一旦發生錯誤,SDO傳輸就會中止,傳輸停止的原因可以參考目標設備手冊中提供的錯誤代碼解釋來確定。在這種情況下,CCS位的值為4,索引和子索引指定傳輸期間設備中受影響的參數,最後四個字節表示錯誤代碼。
實時通信分析
本節使用機器處於預運行狀態下的實時通信日誌窗口來解釋SDO數據報。ADI Trinamic TMCM-6212六軸步進電機驅動器/控製器4與QSH4218-35-10-027 [5]步進電機配合使用。對於此設置,電機的最大電流(對象2003h)設置為200。利用目標設置的軟件界麵日誌窗口中突出顯示的消息,客戶端和服務器之間的上傳和下載事務得到進一步解釋,如圖4所示。

圖4.CANopen IDE
情形1:客戶端與服務器之間的下載操作
由客戶端發起:0x601:2f 03 20 c8 00 00 00(圖5)。

圖5.客戶端發起下載請求
服務器響應:0x581:60 03 20 00 00 00 00(圖6)。

圖6.服務器的下載響應
在圖6所示的操作中,CCS和SCS位的組合顯示了客戶端的成功寫入操作和服務器的響應,這在表2中也有體現。
情形2:客戶端與服務器之間的上傳操作
由客戶端發起:0x601:40 03 20 00 00 00 00(圖7)。
圖7.客戶端發起上傳請求
服務器響應:0x581:4f 03 20 00 c8 00 00 00(圖8)
圖8.服務器的上傳響應
結論
CCS和SCS位wei的de組zu合he指zhi示shi在zai客ke戶hu端duan和he服fu務wu器qi之zhi間jian成cheng功gong執zhi行xing上shang傳chuan操cao作zuo。本ben文wen提ti到dao的de示shi例li可ke以yi推tui廣guang到dao設she備bei對dui象xiang字zi典dian中zhong的de其qi他ta對dui象xiang,幫bang助zhu我wo們men深shen入ru了le解jie機ji器qi的de狀zhuang態tai。本ben次ci演yan示shi的de主zhu要yao目mu的de是shi幫bang助zhu用yong戶hu解jie讀du通tong信xin日ri誌zhi並bing監jian視shi驅qu動dong器qi的de狀zhuang態tai。用yong戶hu可ke以yi實shi時shi排pai除chu錯cuo誤wu,更geng高gao效xiao地di探tan索suoADI Trinamic CANopen的高級特性。ADI產品中集成CANopen協議為客戶帶來了靈活性。客戶可以將自己的PLC與ADI Trinamic模塊集成,從而實現多供應商係統的開發。此界麵對於從事實驗室自動化、機器人、液體處理、半導體處理等複雜應用領域的客戶特別有價值。本CANopen係列的下一篇文章將深入分析過程數據對象(PDO) CANopen協議,同時探索TMCM-6212針對電機控製應用的更高級特性。
參考文獻
1 Olaf Pfeiffer、Andrew Ayre和Christian Keydel,“采用CAN和CANopen的嵌入式網絡”,Copperhill Technologies Corporation,2008年。
2 “TMCM-6212 CANopen固件手冊”,Trinamic Motion Control,2018年。
(來源:ADI公司,作者:Atul Kumar,應用工程師)
免責聲明:本文為轉載文章,轉載此文目的在於傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯係小編進行處理。
推薦閱讀:
DigiKey與 Lippincott 合作品牌煥新項目榮獲2025年度 Graphis 設計大賽金獎
貿澤電子、Silicon Labs和Arduino聯手讚助2024 Matter挑戰賽比賽現已開放報名
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 1200餘家企業齊聚深圳,CITE2026打造電子信息產業創新盛宴
- 掌握 Gemini 3.1 Pro 參數調優的藝術
- 築牢安全防線:電池擠壓試驗機如何為新能源產業護航?
- Grok 4.1 API 實戰:構建 X 平台實時輿情監控 Agent
- 電源芯片國產化新選擇:MUN3CAD03-SF助力物聯網終端“芯”升級
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall





