那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CANopen協議架構和應用原理

analog_devices ? 來源:亞德諾半導體 ? 2024-11-04 13:49 ? 次閱讀

穩健的通信協議和接口工業電機控制應用中發揮著重要作用。在工業驅動應用中,當需要多個處理器元件來持續通信以完成復雜任務時,CANopen因其易于集成、高度可配置,以及支持高效、可靠的實時數據交換等特性,受到了眾多工程師青睞。本文從低功耗電機控制應用的角度深入探討CANopen。

控制器局域網的背景

控制器局域網(CAN)由Robert Bosch Gmbh于1983年研發,是一種高度穩健的通信協議和接口,創建之初是為了克服RS232等傳統串行通信網絡的局限性,這些網絡無法支持多個控制器之間的實時通信。汽車行業要求多個傳感器連續同步傳輸數據,因而率先采用CAN。CAN允許多個節點使用短小的消息相互通信,因此成為汽車應用的理想選擇。

隨著時間推移,CAN憑借其經過驗證的穩健性和諸多優勢,在各行各業越來越受歡迎。然而,受限于專有編碼規則,利用CAN協議將來自不同供應商的多個設備集成到單個系統中頗有挑戰性,有時甚至是天方夜譚。為了克服這一限制,自動化領域CAN (CiA)的國際用戶和制造商協會開發了一種高層協議CANopen。

本文接下來將探討CANopen協議架構及其在控制多軸電機驅動器中的應用。本文將深入探究這種高層通信協議的復雜之處及其對電機和運動控制領域的影響。為了讓讀者了解CANopen協議,我們會分析 ADI Trinamic TMCM-6212 多軸電機控制器/驅動器模塊與 QSH4218-35-10-027 步進電機的實時通信日志。具體來說,我們將重點關注網絡管理(NMT)狀態和基于客戶端-服務器的CANopen協議。此外,我們還將通過案例研究來展示如何解讀通信日志并確定驅動器的狀態。

CANopen架構

本節講解CANopen協議的各種應用原理,包括NMT和SDO(服務數據對象)。

網絡管理:NMT是CANopen中的關鍵通信原則,每個CANopen兼容設備都必須遵守。它作為狀態機運行,在協調CANopen框架內的應用方面發揮著重要作用。

網絡管理狀態機架構:NMT狀態機如圖1所示,由三個不同的狀態組成,詳情如下:

初始化狀態

預運行狀態

運行狀態

dcb6517a-98c6-11ef-a511-92fbcf53809c.svg

圖1. NMT狀態機

客戶端節點承擔著監督不同運行狀態下,相關服務器節點通信狀態的關鍵角色。這是通過實施NMT機制來實現的。可通過心跳和節點守護兩種不同方法,使客戶端節點能夠評估服務器節點的通信完整性。TMCM-6212采用心跳技術來驗證通信是否正確。每個節點利用對象 1017h,以用戶可配置的循環時間間隔(以毫秒為單位)發出心跳信號。這種方式確保所有節點都處于活動狀態,可以進行通信。

表1列出了不同通信狀態下使用的所有通信對象的組合。設備上電或復位后進入初始化狀態時,會產生啟動消息。然后,設備轉換到預運行狀態,準備好執行期望的操作。在預運行狀態下,網絡中的所有節點可以傳輸與SDO、心跳/節點守護、緊急情況和時間/同步相關的所有對象。在運行狀態下,除了預運行狀態下可用的所有對象之外,還可以映射PDO對象。最后,在停止狀態下,設備會禁用所有SDO和PDO對象的通信,僅允許執行NMT命令。

dcbfd182-98c6-11ef-a511-92fbcf53809c.png

表1. NMT通信中的狀態配置

服務數據對象:SDO通信協議主要用于NMT狀態機的預運行狀態。它以客戶端-服務器配置運行,其中客戶端可以訪問所有連接的服務器(節點)的對象字典中可用的所有對象。在該協議中,客戶端總是發起服務器的讀/寫事務,并由服務器確認任務完成。此過程可確保SDO中的每個事務都得到確認。

圖2顯示了多節點網絡中SDO協議的基于客戶端-服務器的配置。每個節點都被分配一個通道,通過該通道可以與客戶端進行通信。在這種情況下,Trinamic TMCM-6212六步進電機驅動器/控制器充當服務器,而連接的PC充當客戶端,發起與特定節點(本例中為NODE-1)的讀/寫事務。雖然所有節點都會收到SDO客戶端消息,但只有目標節點會響應,而其他服務器會忽略客戶端請求。

dcc94f8c-98c6-11ef-a511-92fbcf53809c.svg

圖2. 多節點SDO配置

服務數據對象數據報

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

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會指示數據大小,如前所述。

dce3a15c-98c6-11ef-a511-92fbcf53809c.svg

圖3. SDO數據報結構

dcf3884c-98c6-11ef-a511-92fbcf53809c.png

表2. CCS和SCS配置

SDO數據報中的字節2-3和4分別對應索引和子索引字節,如圖3所示。這些字節用于訪問設備對象字典中可用的所有對象。對象字典包含所有設備參數,用戶可根據實時應用需求配置設備的功能。通過設備剖析,無論是像驅動器這樣的控制設備,還是簡單的I/O器件,我們都可以實現行為標準化。如前所述,SDO數據報中的最后四個字節專門用于存放需要通過SDO層傳輸的數據。

一旦發生錯誤,SDO傳輸就會中止,傳輸停止的原因可以參考目標設備手冊中提供的錯誤代碼解釋來確定。在這種情況下,CCS位的值為4,索引和子索引指定傳輸期間設備中受影響的參數,最后四個字節表示錯誤代碼。

實時通信分析

本節使用機器處于預運行狀態下的實時通信日志窗口來解釋SDO數據報。ADI Trinamic TMCM-6212六軸步進電機驅動器/控制器4與 QSH4218-35-10-027 [5]步進電機配合使用。對于此設置,電機的最大電流(對象 2003h) 設置為200。利用目標設置的軟件界面日志窗口中突出顯示的消息,客戶端和服務器之間的上傳和下載事務得到進一步解釋,如圖4所示。

dd0fc8a4-98c6-11ef-a511-92fbcf53809c.jpg

圖4. CANopen IDE

情形1:客戶端與服務器之間的下載操作

由客戶端發起:0x601:2f 03 20 c8 00 00 00(圖5)。

dd138bf6-98c6-11ef-a511-92fbcf53809c.svg

圖5. 客戶端發起下載請求

服務器響應:0x581:60 03 20 00 00 00 00(圖6)。

dd2184cc-98c6-11ef-a511-92fbcf53809c.svg

圖6. 服務器的下載響應

在圖6所示的操作中,CCS和SCS位的組合顯示了客戶端的成功寫入操作和服務器的響應,這在表2中也有體現。

情形2:客戶端與服務器之間的上傳操作

由客戶端發起:0x601:40 03 20 00 00 00 00(圖7)。

dd42f1d4-98c6-11ef-a511-92fbcf53809c.svg

圖7. 客戶端發起上傳請求

服務器響應:0x581:4f 03 20 00 c8 00 00 00(圖8)

dd4a0fb4-98c6-11ef-a511-92fbcf53809c.svg

圖8. 服務器的上傳響應

結論

CCS和SCS位的組合指示在客戶端和服務器之間成功執行上傳操作。本文提到的示例可以推廣到設備對象字典中的其他對象,幫助我們深入了解機器的狀態。本次演示的主要目的是幫助用戶解讀通信日志并監視驅動器的狀態。用戶可以實時排除錯誤,更高效地探索ADI Trinamic CANopen的高級特性。ADI產品中集成CANopen協議為客戶帶來了靈活性。客戶可以將自己的PLC與ADI Trinamic模塊集成,從而實現多供應商系統的開發。此界面對于從事實驗室自動化、機器人、液體處理、半導體處理等復雜應用領域的客戶特別有價值。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    112

    文章

    16444

    瀏覽量

    179427
  • 通信協議
    +關注

    關注

    28

    文章

    915

    瀏覽量

    40437
  • 接口
    +關注

    關注

    33

    文章

    8691

    瀏覽量

    151908
  • CANopen
    +關注

    關注

    8

    文章

    270

    瀏覽量

    43741
  • 工業電機
    +關注

    關注

    0

    文章

    98

    瀏覽量

    15746

原文標題:深入探討適用于低功耗電控的CANopen協議

文章出處:【微信號:analog_devices,微信公眾號:analog_devices】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Profinet協議轉換為CanOpen協議來連接CanOpen伺服驅動器的應用

    在自動化控制領域,Profinet和CanOpen都是廣泛應用的通信協議。Profinet是一種基于以太網的通信協議,主要用于工業自動化領域的數據傳輸和遠程監控;而CanOpen是一種
    發表于 01-10 10:29

    CANopen協議

    CANopen協議,,
    發表于 09-16 17:56

    CANOPEN協議詳解

    CANOPEN協議詳解
    發表于 09-20 16:00

    Canopen協議讀后感想

    ,使得網絡自動構建,具有較高的智能化程度。4,CANopen實現不是非常復雜,可以運行在普通的微控制器之上。CANopen協議通常架構在CAN-bus之上,其需要底層總線具備雙向通信的
    發表于 09-21 12:58

    請問STM32官方筆記有CANopen協議嗎?

    如題 ,看到microchip官網 的應用筆記里面有canopen協議應用 ,在ST的官網沒有找到 。不知道ST有沒有canopen協議應用 ?在ST上用過
    發表于 01-23 07:42

    CANOpen協議概述

    CANOpen系列教程07_CANOpen協議概述
    發表于 12-31 06:10

    基于STM32的CANopen通訊協議的實現

    1_【基于STM32的CANopen通訊協議的實現】 CANopen分為三部分: 1、通信部分:PDO協議,SDO協議,NMT
    發表于 08-20 08:12

    CANopen協議

    CAN 在 ISO 層級中的位置、通信協議需求、CANopen協議誕生、設備子協議CANOpen設備結構
    發表于 08-23 09:02

    CANOpen協議簡析

    CANOpenCAN現場總線只定義了OSI網絡模型的第一層(物理層) 和第二層(數據鏈路層) ,而這兩層一般已被CAN硬件完全實現了。由于沒有規定應用層,本身并不完整。CANOpen屬于應用層協議
    發表于 09-09 08:32

    canopen簡單提要

    ?? canopen協議屬于應用層協議,是由一系列子協議組成,分為通訊子協議和設備子協議,通訊
    發表于 09-15 07:56

    canopen協議與can特點

    ?? canopen協議屬于應用層協議,是由一系列子協議組成,分為通訊子協議和設備子協議,通訊
    發表于 09-15 07:10

    CANopen協議講座(2)之CANopen協議簡介

    CANopen協議講座(2)之CANopen協議簡介 CANopen協議是在20世紀90年代末
    發表于 03-26 17:29 ?73次下載

    CANOpen系列教程07 _CANOpen協議概述

    CANOpen系列教程07_CANOpen協議概述
    的頭像 發表于 03-06 16:33 ?6157次閱讀

    虹科干貨 | CANopen協議基礎知識——LSS服務

    CANopen協議概述CANopen是一種架構在CAN串行總線系統上的高層通訊協議,常被用于嵌入式系統與工業控制領域,包括電機控制、機器人制
    的頭像 發表于 01-11 16:45 ?3639次閱讀
    虹科干貨 | <b class='flag-5'>CANopen</b><b class='flag-5'>協議</b>基礎知識——LSS服務

    智能樓宇系統canopen協議與ModbusTCP協議進行通訊

    通過CANopen轉ModbusTCP網關設備進行轉換:可以使用一個CANopen轉ModbusTCP網關設備,將CANopen協議轉換為Modbus TCP
    的頭像 發表于 01-03 15:20 ?528次閱讀
    智能樓宇系統<b class='flag-5'>canopen</b><b class='flag-5'>協議</b>與ModbusTCP<b class='flag-5'>協議</b>進行通訊
    大发888开户,| 外汇| 金沙足球投注网| 七胜百家乐娱乐城总统网上娱乐城大都会娱乐城赌场 | 赌百家乐的体会| 百家乐官网的打法技巧| 威尼斯人娱乐网反水| 杨公24山日课应验诀| 百家乐官网网上公式| 大发888游戏平台hgx2dafa888gw | 百家乐官网三多注码法| 大发888线上官方网站| 百家乐赌场娱乐城大全| 新世纪百家乐官网的玩法技巧和规则| 百家乐官网手机软件| 大发888娱乐场 d188| 网上百家乐是假还是真的| 新乐园百家乐官网娱乐城| 玩百家乐官网五湖四海娱乐城| 百家乐庄闲作千| 百家乐官网玩的技巧| 玩百家乐官网最好方法| 茂名市| 大发888游戏在线客服| 新东方百家乐官网的玩法技巧和规则 | 百家乐路单规则| 百家乐官网技巧和规律| 利博亚洲| 全讯网wn888.com| 威尼斯人娱乐城骰宝| 百家乐真人博彩的玩法技巧和规则| 百家乐投注方法投资法| 真钱百家乐开户试玩| 百家乐网上赌博| 网络百家乐可靠吗| 百家乐游戏机高手| 免费百家乐官网计划软件| 百家乐官网真人现场| 百家乐官网计划软件| 七乐百家乐现金网| 澳门百家乐官网必赢看|