在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

CANopen的起源,CANopen從何而來?

倩倩 ? 來源:伺服與運動控制 ? 作者:伺服與運動控制 ? 2022-09-09 14:25 ? 次閱讀

1. CANopen的起源,CANopen從何而來?

德國Bosch公司于1983年研發CAN協議,用于汽車傳動系統的網絡通訊。之后稱為國際標準ISO11898,目前CANopen由非營利組織CiA(CAN in Automaion)進行標準的起草及審核工作,基本的 CANopen 設備及通訊子協定定義在 CAN in Automation (CiA) draft standard 301. 中。針對個別設備的子協定以 CiA 301 為基礎再進行擴充,如針對 I/O 模組的 CiA401 及針對運動控制的 CiA402。

2. CANopen硬件的優勢?

CAN協議最大的突出特點是錯誤檢測,限制和處理。當CAN設備檢測到總線錯誤時,會拒絕之前接收到的位序列,然后發送“錯誤幀”,其完全由CAN芯片本身處理,不需要人為編程

支持多主站,類似Profibus DP,總線上每個設備都是主站,也是從站,免除了人為仲裁的過程,方便用戶開發。

報文短幀結構,CAN報文通常只有8個字節,數據幀非常短,在抗干擾能力上具有先天的優勢。解釋一下,為什么短幀結構抗干擾好?如果通訊報文長,發送一幀耗時也就長,假如遇到干擾,辛辛苦苦好不容發送了一條報文,結果因為干擾對方還沒有收到,只能嚎啕大哭。

成本低廉,CAN外設基本在現在主流芯片上都可以找到,20幾塊錢的MCU都支持CAN外設,有的還支持兩個CAN。這里有CiA的積極推廣作用。

3. CANopen軟件優勢?

CANopen主要有CiA在推廣,是非盈利組織,CANopen協議資料,網上一堆,任何人都可以下載到,我們常用的DS301(Draft Standand),DS402,CAN粉絲幾乎人手一本,猶如葵花寶典,一定要珍藏一本。

CANopen協議開發,開源項目非常多,CanFestival就是其中一個,我做過移植,在步科MT4414TE-CAN觸摸屏,用在8位單片機上,此源碼有點耗費資源,網上有很多基于MCU的精簡源碼。

開發完整的CANopen協議棧,是很艱辛的工作,想要做好非常難。難點就在于你對CANopen協議的理解上,比如EMCY,復位節點,是否需要“NO Initialization”,heartbeat,Node guard是否需要?如何處理?這條不能算是其優點。

4. 為什么如此多公司在推廣CANopen?

CANopen對于運動控制來說是一款優秀的通訊協議,采用了面向對象的一些設計思路,比如對象字典,過程數據對象(PDO),服務數據對象(SDO)等等。

CANopen在歐洲已成為最普通的協議,任何一家自動化公司都有CANopen的通訊接口,也成了低配。低配并不代表不好,只是說明其性價比更高。CANopen定義了完整的同步控制機制,使其成為主流的運動控制協議,除了在CAN總線上運行外,還被搬到了以太網上(CANopen over Ethernet),形成了著名的PowerLink,EtherCat工業以太網協議。

在這里多廢話幾句,所謂的運動控制總線標準,沒有多大意義,因為運動控制技術都掌握在各個廠商手里,每一個稍微大一點的廠商,都有自己的專用運動控制協議,如三菱的SSCNET,安川的MECHATROLINK,倍福的CANOPEN以及EtherCat,施耐德的CANopen,西門子SiMotion,貝加萊的PowerLink,博世力士樂的SERCOS。

由于CANopen(可以看DS402,伺服控制標準)在運動控制的優勢,尤其是同步控制,不管幾流的廠商,在運動控制系統中,多多少少都加入了自己的東西,導致運動控制系統通常是封閉的,很少走互聯路線,事實上要做到互聯也非常困難。

二三流廠家,開發自己的CANopen協議,根據自己的需求,將其移至到不同的物理層上去運行,形成自己的運動控制系統,其性能優劣就在于其對CANopen協議的理解程度了。

基礎:CANopen世界里的九個晦澀概念

1. DCF

是CAN網絡的配置(Config)的數據存檔文件。其作用不大,在Codesys軟件里就有此選項。

2. EDS

電子數據表格,是描述一臺從站設備的屬性,參數的文件,是對從站設備對象字典的描述。比如一臺伺服驅動器,如果其內部參數(每個參數對應對象字典中的一個位置,由index,sub-index決定)沒有更改,其對應的EDS文件就不會更改。多說一句,不是所有的主控制器都需要使用EDS,比如Beckhoff就不需要,他需要你對CANopen DS301,DS402足夠熟悉,人工對齊配置;步科FD,JD伺服按照DS402標準制定EDS文件,用戶可直接配置,降低開發周期。

3. 復位節點

當設備遇到異常(如從站斷線后重連,使用M258測試步科FD伺服),主控會發送“復位節點”,步科的ED伺服復位節點,驅動器恢復出廠值,而且連CAN通訊參數也恢復成默認值。FD,JD伺服是除了CAN通訊參數外,其他配置參數恢復出廠值。

4. EMCY

緊急報文,從站如伺服,在斷電后會發送一條緊急報文,告訴主控其狀態,一般伺服斷電后,其電容電量能保證其發送該條報文。

5. 心跳,節點保護

配置心跳參數,設置心跳周期,心跳消費時間,這個消費者時間實際上是作為一個超時參數。主站收到一個心跳后,開始計時,如果在超時時間內沒有收到下一個心跳,則認為從站離線,并報告錯誤,按照用戶配置的錯誤處理方法處理。

網絡中的每個節點都可以配置心跳,主站可以監聽從站,從站可以監聽主站,從站還可以監聽從站。這里有一個生產者、消費者的概念,總線上的設備定義自己是心跳的生產者,還是消費者。生產者產生心跳,消費者監聽心跳,然后在捕捉到異常后做出對應的處理。

個人認為心跳作用不大,假設某個設備斷線,重連后復位節點,而此設備剛好是使用了原點功能的伺服呢?斷電上電后,原點位置改變。所以在一些客戶應用中,出現此情況,小伙子,你麻利的,趕快斷電重啟吧。

節點保護,其作用類似心跳,但可以讀取從站設備的CANopen通訊狀態(初始化,預操作,操作中,停止),屬于DS301的范疇。

6. DS301和DS402的區別

DS301就是一個通訊協議棧,DS402是建立在DS301的上層協議,屬于伺服類的控制協議,協議中規定好每個對象字典值得作用,比如0x6040,是控制字。DS402把一個伺服應該具有的功能都定義好了,開發廠家按照協議定義即可。

7. 對象字典

從軟件的角度來說,對象字典本質就是一些數據結構的集合。可以這么理解,把對象字典看做是一本書,CANopen設備的行為準則是要參考這本書的,不管它做什么,只要它的行為要參考對象字典,就必須先查閱字典,再決定要不要做。比如它什么時候發送TPDO,這個行為是需要查詢對象字典中對應于TPDO的傳輸類型以及Event timer。還有就是像PDO映射的原理,比如我要發送的數據,都是去查詢這本書,看下它那里寫的什么內容,然后我在把這部分內容以PDO的形式發送出去。

例如你的程序收到了一筆CAN報文,由于可以訪問對象字典的對象是SDO,首先要判斷它是SDO對象,那么你的程序就需要按照SDO中指定的索引和子索引去查找對象字典(一個排好序的數據結構集),找到相應的對象后按照SDO中的指令去操作這個對象,例如把一個值賦給字典中的變量。

8. SDO

這個很簡單,就是類似串口的一發一回模式,主站發送請求幀,從站回復應答幀。

大家看幾個例子就明白了。

To write the 1 byte data : 0xFD in the object dictionary of node 5, at index 0x1400, subindex 2, sends :

605 2F 00 14 02 FD 00 00 00

If success, the node 5 responds :

585 60 00 14 02 00 00 00 00

To write the 4 bytes data : 0x60120208 in the object dictionary of node 5, at index 0x1603, subindex 1, sends :

605 23 03 16 01 08 02 12 60

If success, the node 5 responds :

585 60 03 16 01 00 00 00 00

9. PDO

分為TX-PDO,RX-PDO。

9a765512-2fff-11ed-ba43-dac502259ad0.png

9ab0524e-2fff-11ed-ba43-dac502259ad0.png

上圖,這就是PDO的配置過程,0x1402(接收PDO通訊參數),PDO使用的cob-id,傳輸類型,Inhibit time,EventTimer。

0x1602(映射對象),上例中映射為Controlword,Target position。

9ad7c6a8-2fff-11ed-ba43-dac502259ad0.png

這里著重講一下Transmission Type,上述是codesys中支持的集中方式:

acyclic sync(數值為0):同步PDO,同步方式由具體設備協議定義

Cyclic sync(數值為1-240):同步PDO,每個N個SYNC周期后,發送PDO

Sync rtr(數值253):同步PDO,收到遠程幀請求后發送PDO

Async(數值253):異步PDO,收到遠程幀后發送PDO

最后兩個Async(254,255),都是設備廠家定義的,也是大家最常用的,當事件發生時發送。各個廠家在這里基本都是使用數據變化時發送方式,FD,JD伺服兩種方法是一樣的,都是數據變化發送。要注意設置“禁止時間”,降低CANOPEN通訊帶寬。

具體案例

主控制器寫target position,mode of operation給伺服,此PDO的cob-id為0x200 node id。傳輸方式為255或者254,禁止時間為100,也就是10ms。

審核編輯 :李倩

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

    關注

    57

    文章

    2895

    瀏覽量

    466911
  • 伺服控制
    +關注

    關注

    5

    文章

    150

    瀏覽量

    20953
  • 運動控制系統

    關注

    0

    文章

    93

    瀏覽量

    14355

原文標題:為什么伺服控制中CANopen通訊這么火?

文章出處:【微信號:旺材伺服與運動控制,微信公眾號:旺材伺服與運動控制】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    協議大和解:ETHERCAT轉CANopen網關配置

    最近有同學后臺咨詢疆鴻智能EtherCAT轉CANopen的協議轉換網關如何配置,小編今天給大家詳細分享下配置的步驟。 一,設備主要功能 JH-ECT009 型網關是EtherCAT網絡
    的頭像 發表于 05-21 14:55 ?126次閱讀
    協議大和解:ETHERCAT轉<b class='flag-5'>CANopen</b>網關配置

    CANopen轉EtherCAT網關連接伺服驅動

    CANopen
    北京開疆智能技術有限公司
    發布于 :2025年05月14日 16:17:47

    三格電子-ProfiNet 轉CAN/CANopen網關

    CANopen
    三格電子科技
    發布于 :2025年03月31日 14:53:23

    使用ES32實現CANopen從機

    CANopen是一種基于CAN的通信協議,已在工業領域得到了廣泛應用。CAN提供可靠的底層數據傳輸,CANopen提供標準化的應用層協議。在CANopen協議中,每個CANopen設備
    的頭像 發表于 03-26 19:05 ?432次閱讀
    使用ES32實現<b class='flag-5'>CANopen</b>從機

    EtherCAT轉CANopen配置CANopen側的PDO映射

    在工業自動化領域,EtherCAT和CANopen是兩種廣泛應用的通信協議。它們各自具有獨特的優勢,但在某些應用場景下,需要將這兩種協議進行轉換以實現設備間的高效數據交換。本文將詳細介紹如何在
    的頭像 發表于 03-26 17:56 ?368次閱讀
    EtherCAT轉<b class='flag-5'>CANopen</b>配置<b class='flag-5'>CANopen</b>側的PDO映射

    EtherCAT轉CANOPEN:技術突破與未來展望!

    本文介紹了 EtherCAT 與 CANopen 的互操作性,興達易控 XD-ECCOM20 網關實現其無縫連接。網關通過將 EtherCAT 從站接口轉換為 CANopen 主站接口,實現數據透明傳輸。
    的頭像 發表于 03-24 10:06 ?254次閱讀
    EtherCAT轉<b class='flag-5'>CANOPEN</b>:技術突破與未來展望!

    CANOpen轉PROFINET網關連接低壓伺服系統

    CANOpen轉PROFINET網關連接低壓伺服系統是一個在工業自動化領域中常見的應用場景,以下是對該連接過程的詳細解析: 一、準備工作 1. 硬件準備: ● CANOpen轉PROFINET網關
    的頭像 發表于 03-24 07:35 ?289次閱讀
    <b class='flag-5'>CANOpen</b>轉PROFINET網關連接低壓伺服系統

    三格電子-MODBUS TCP轉CANOpen網關

    Modbus TCP轉CANopen網關 型號:SG-TCP-COE-210 產品用途 本網關可以實現將CANOpen接口設備連接到MODBUS TCP網絡中;并且用戶不需要了解具體的CANOpen
    的頭像 發表于 11-26 11:21 ?384次閱讀
    三格電子-MODBUS TCP轉<b class='flag-5'>CANOpen</b>網關

    Profinet轉CanOpen網關連接與CanOpen協議磁軌道實現高效連接

    項目旨在展示如何通過開疆智能Profinet轉Canopen網關實現西門子1200PLC與磁軌道之間的連接。以下是項目實施的步驟概要:安裝必要的GSD文件到西門子組態軟件中,確保系統能夠識別并使用Profinet轉Canopen網關設備。
    的頭像 發表于 11-14 10:01 ?489次閱讀
    Profinet轉<b class='flag-5'>CanOpen</b>網關連接與<b class='flag-5'>CanOpen</b>協議磁軌道實現高效連接

    CANopen協議架構和應用原理

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

    MODBUS TCP 轉 CANOpen

    產品概述 SG-TCP-COE-210 網關可以實現將 CANOpen 接口設備連接到 MODBUS TCP 網絡中。用戶不需要了解具體的 CANOpen 和 Modbus TCP 協議即可實現
    的頭像 發表于 09-24 13:59 ?489次閱讀
    MODBUS TCP 轉 <b class='flag-5'>CANOpen</b>

    DeviceNet轉CANopen協議網關(DeviceNet轉CANopen

    一,設備主要功能 捷米特JM-DNT-COP網關實現DeviceNet總線和CANopen網絡連接起來。本網關連接到DeviceNet總線中作為從站使用,連接到CANopen總線中作為主站
    的頭像 發表于 09-10 10:16 ?543次閱讀
    DeviceNet轉<b class='flag-5'>CANopen</b>協議網關(DeviceNet轉<b class='flag-5'>CANopen</b>)

    人工智能從何而來

    當大家都在討論人工智能的時候,有一個問題似乎很少有人關注,即:人工智能從何而來
    的頭像 發表于 09-06 09:27 ?1049次閱讀

    STM32H743怎么在FreeRTOS中移植canopen?

    STM32H743怎么在FreeRTOS中移植canopen?
    發表于 07-03 06:32
    主站蜘蛛池模板: 五月婷婷伊人网 | 奇米影视大全 | 人人草人人澡 | 男女激情做爰叫床声视频偷拍 | 黑色丝袜美女被视频网站 | 最好看的2019中文字幕1 | 男女一进一出抽搐免费视频 | 久久99热精品这里久久精品 | 亚洲午夜一区 | 最新激情网站 | 国产色妞妞在线观看 | 4438全国最大成人免费高清 | 在线电影亚洲 | 天天干天天做天天操 | www色午夜| 天天天干 | 亚1洲二区三区四区免费 | 成年网站在线播放 | 伊人久久大香线蕉综合网站 | 国产一级特黄的片子 | 天天拍天天色 | 国产美女一级高清免费观看 | 欧美久操 | 爽爽爽爽爽爽a成人免费视频 | 一品毛片 | 欧美sese| 免费观看a黄一级视频 | 亚州一级毛片 | 亚洲国产成人久久 | 国产女主播在线播放一区二区 | 一区二区三区四区免费视频 | 日韩在线免费看网站 | 日本资源在线观看 | 天天干天天爱天天射 | 久久狠狠第一麻豆婷婷天天 | 日本黄色小说视频 | 国产一级在线观看www色 | 福利在线看片 | tube 69sex 第一次 | 日日干夜夜草 | 久久亚洲成人 |