日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

canopen服务器协议,CANopen

發(fā)布時間:2025/4/16 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 canopen服务器协议,CANopen 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

CAN應用層和CANopen

CANopen 概述

CANopen是附加了一套設備子協(xié)議的高層(第7層)CAN通信協(xié)議。作為一種標準化、高度可配置的嵌入式網絡解決方案,它廣泛應用于實時工業(yè)應用、機器人、醫(yī)療、交通、汽車和航空等領域。CANopen設備子協(xié)議系列規(guī)定了各種標準化的通信機制和設備功能,以服務于各種應用程序。CANopen標準由CAN in Automation (CiA)國際用戶和制造商協(xié)會維護保持。

CANopen的優(yōu)勢

通過應用程序和網絡活動服務,使具備高度靈活配置能力的嵌入式應用標準化。

標準化的設備、接口和應用程序配置有助于CANopen系統(tǒng)和高度模塊功能的充分集成,并提供互操作性和互換性。

眾多國際供應商支持的高度標準化協(xié)議。

實時數(shù)據(jù)交換,同步與異步,循環(huán)與非循環(huán),事件驅動。

具有高效尋址方案的對象字典,允許系統(tǒng)工程師和應用程序開發(fā)人員在CANopen基本配置文件上進行擴展,并提供擴展設備配置和診斷功能。

SDO(服務數(shù)據(jù)對象)報文與對象字典相結合,為系統(tǒng)設計者提供了通過網絡進行設備配置的途徑。

各種通信對象都允許系統(tǒng)設計者為過程數(shù)據(jù)通信、錯誤顯示和網絡控制,設計編程所需的網絡功能。

通過專用同步SYNC(同步對象)和TIME(時間標識對象)實現(xiàn)高效同步。

通過Node Guarding (節(jié)點監(jiān)測) 進行可靠的節(jié)點監(jiān)測和診斷。

高效靈活的設備狀態(tài),實現(xiàn)耐用性、容錯性和恢復能力。

觀看由CAN in Automation組提供的有關“ CANopen FD”的更新。

CANopen協(xié)議

CiA 通過一系列文件維護保持 CANopen 設備和通訊協(xié)議規(guī)定。CANopen 的CiA 文件 包括下列3類:

CiA規(guī)定 – 為實施協(xié)議,對硬件及軟件配置的功能規(guī)定。

CiA建議 – 關于最適宜解決方案的信息。

CiA 實施和用戶指南– 關于怎樣使用CiA 功能和建議的說明。

基本配置由CiA 301規(guī)范定義。它被命名為“CANopen應用層和通信配置”,并規(guī)定了CANopen應用層。這些規(guī)范包括:

1. CANopen對象字典中的數(shù)據(jù)類型、編碼規(guī)則和對象

2. CANopen通信服務和協(xié)議

3. CANopen 網絡管理服務和協(xié)議

4. CANopen 通訊配置 – 物理層

5. 預定義的通信對象標識符連接數(shù)集、與緊急事件相關的對象、時間標識和同步通信對象

此基本 CiA 301配置規(guī)定由其他CiA文件進行了補充和擴展,為一些具體領域的設備和功能規(guī)定了設備、應用程序和接口配置。下面是其中幾個例子:

CiA 302 – CANopen 附加應用層功能

CiA 303-1 – 布線和接頭管腳分配

CiA 303-3 – 指示器規(guī)范

CiA 306 – CANopen 電子數(shù)據(jù)表規(guī)范

CiA 309 – 從其他網絡接入CANopen

CiA 315 – CANopen 通用框架

CiA 401 – 通用I/O模塊的CANopen設備配置

CiA 402 – 驅動和運動控制的CANopen設備配置

CANopen設備模型

每個CANopen設備都遵循一個通用的設備模型,因此不同的設備能依據(jù)同樣的CANopen標準。CANopen設備模型的三個組成部分是:

通訊

對象字典

應用軟件

通訊

CANopen通過不同的通訊模式在節(jié)點之間傳輸報文:

生產/消費模式: 它是一個廣播連接,以推送模式工作(信號生產節(jié)點向消費節(jié)點發(fā)送無任何特定要求的信息)和引入模式(消費節(jié)點向信號生產節(jié)點要求特定信息)。

用戶機/服務器模式: 通過SDO協(xié)議,用戶節(jié)點向服務器節(jié)點要求數(shù)據(jù)(對象字典索引),然后服務器節(jié)點通過發(fā)送在指定索引處的對象內容來響應。

主機/從機模式: 主機節(jié)點可在任何時候向從機節(jié)點發(fā)送或要求數(shù)據(jù)。例如:NMT協(xié)議通信。

CANopen通信單元由必要的通信接口和協(xié)議軟件組成,通過總線在節(jié)點之間進行通信對象的發(fā)送和接收。各種CANopen通信對象用于實現(xiàn)各種類型的通信,如過程數(shù)據(jù)、網絡管理、節(jié)點監(jiān)控、同步信號錯誤控制和緊急報文。這些對象及其說明如下:

CANopen幀

它由下列場組成:

11位 CAN幀id,也稱為CANopen通信對象標識符(COB-ID)。它進一步分為4位功能代碼(代表一個CANopen通信對象)和7位節(jié)點id。

1位遠程傳輸請求 (RTR)。

4位數(shù)據(jù)長度。

0 – 8字節(jié)的數(shù)據(jù)。

對象字典

對象字典(OD)是CANopen協(xié)議的核心概念。它是一組預定義的CANopen對象,通過網絡使用索引和子索引訪問對象。對象字典提供了應用程序和設備之間的溝通方式,提供了配置該設備的途徑,和與設備通信的方法。作為對象索引存儲在對象字典中的信息包括:

通信和應用程序配置參數(shù)

標準化設備配置參數(shù)

制造商特定設備配置文件參數(shù)

設備配置靜態(tài)數(shù)據(jù)類型

設備配置復雜數(shù)據(jù)類型

復雜和靜態(tài)數(shù)據(jù)類型

制造商特定數(shù)據(jù)類型

其他

從上述對象說明可以清楚地看出,制造商可以通過擴展由標準設備配置和數(shù)據(jù)類型規(guī)范要求的標準設備功能,來增強其設備的功能。他可以按照CANopen標準的指導,以預定義的方式添加自己特定的制造商配置和數(shù)據(jù)類型。

對象字典條目中的場包括:

主索引: 16位索引,直接對應對象字典中的條目。對于簡單變量,該索引直接引用變量值;對于復雜類型,該索引對應整個記錄或數(shù)組。

索引: 對應具體數(shù)據(jù)場的8位子索引,如主索引指向的復雜數(shù)據(jù)結構中的數(shù)組項或記錄值。

對象: 條目中對象類型的符號名稱。例如:變量、數(shù)組、記錄等。

名稱: 描述條目的字符串。

類型: 條目的數(shù)據(jù)類型限定詞。例如:UNSIGNED32、BOOLEAN等。

屬性: 此條目的訪問權限值。例如:讀取和書寫,只讀取,只書寫。

必須/可選/Optional: 設備必須實現(xiàn)此具體對象條目,還是可以選擇執(zhí)行。

各種對象參數(shù)組按索引范圍排列如下:

通訊配置的范例索引

引用復雜或結構化數(shù)據(jù)類型條目的子索引示例

這些條目用于單通道RS-232適配器,其通信參數(shù)在索引6092H處以單一結構數(shù)據(jù)類型存在。然后,各個通信參數(shù)存在于子索引6092H中,范圍從0起。

上述對象字典項的C編程語言結構定義為:

CANopen的網絡管理

CANopen的網絡管理采取主機/從機通信模式。整個網絡被設置為一個“狀態(tài)機”,其中一個設備被指定為NMT主機,另一個設備被指定為NMT從機。NMT主機控制和監(jiān)控NMT從機的狀態(tài)。通過NMT主機觸發(fā),NMT從機進行狀態(tài)轉換,實現(xiàn)CANopen網絡的各個階段。

通過具體的NMT協(xié)議,如啟動協(xié)議、模塊控制協(xié)議、心跳協(xié)議(Heartbeat Protocol)和節(jié)點監(jiān)測,從主機向從機發(fā)出狀態(tài)更改命令,進行這些狀態(tài)轉換。NMT主機向特定節(jié)點或所有節(jié)點發(fā)送NMT命令代碼以改變狀態(tài)。

NMT從狀態(tài)機的初始狀態(tài)序列從開機,或從關機事件的恢復開始,然后是設備初始化。然后,NMT從機將自動轉換到預運行狀態(tài)。在錯誤監(jiān)測和診斷期間的內部設備重置(重置應用程序和重置通信)也會使NMT從機進入初始化狀態(tài),然后進入預運行狀態(tài)。在此轉換之前,該從機將使用啟動協(xié)議向總線發(fā)送啟動報文,以表明啟動過程。

在預運行狀態(tài)下,應用程序配置工具可以使用SDO通信,配置NMT從機和設置參數(shù)。由于設備尚未開始運行,因此在此狀態(tài)下不能使用PDO通信。

一旦狀態(tài)從預運行變?yōu)檫\行狀態(tài),節(jié)點中的所有通信對象都將變?yōu)榛钴S狀態(tài),并且運行節(jié)點之間均可進行PDO和SDO通信。在此階段,也可以通過SDO訪問對象字典。當節(jié)點狀態(tài)更改為停止時,PDO和SDO通信都將停止。

CANopen中的節(jié)點監(jiān)測

NMT主機定期使用遠程幀詢問從機的當前狀態(tài),并將其與網絡數(shù)據(jù)庫中記錄的早期狀態(tài)相比較。任何不匹配和缺少PDO傳輸?shù)臓顟B(tài)都會以適當?shù)腻e誤代碼表示,然后應用程序將采取適當?shù)牟僮?#xff0c;如設備重置或錯誤標識。這稱為節(jié)點監(jiān)測,是通過使用節(jié)點監(jiān)測協(xié)議得以實現(xiàn)。NMT從機使用一種稱為生命監(jiān)測的技術,通過在預定義的時間間隔里,內部檢查節(jié)點監(jiān)測幀的接收,來檢測NMT主機的缺失。

現(xiàn)代設備設計使用Heartbeat協(xié)議進行節(jié)點監(jiān)視,其中NMT從設備(Heartbeat Producer心跳發(fā)出者)將周期性地向NMT主設備(Heartbeat Consumer心跳使用者)發(fā)送Heartbeat報文。這些報文之間的間隔是可配置的,并在主、從兩個設備的對象字典中Heartbeat producer time(心跳產生時間)對象上都進行設置。如果心跳報文在此時間限制內未到達,則發(fā)出者將被視為關機,使用者將采取補救措施,如設備重置或錯誤顯示。

預定義的連接數(shù)組

對于只有1個主機和最多127個從機的簡單通信結構,CANopen提供了CAN報文標識符的預定義分配,這被稱為預定義連接數(shù)集。此方法的主要目的是減少簡單網絡中僅需要點對點連接的的配置數(shù)量。此預定義的主從機連接機制支持按設備分配通信對象,如下所示:

一個緊急狀況對象

SYNC和時間標識對象

一個 SDO 連接

NMT節(jié)點監(jiān)測 (節(jié)點監(jiān)測/心跳)

最多 4個輸出和4 個輸入PDO

電子數(shù)據(jù)表格和 CANopen 系統(tǒng)配置

一個電子數(shù)據(jù)表(EDS)是一個標準化的電子文件,描述為CANopen設備定義的通信功能和對象。此供應方生成的文件有3個區(qū)域:

關于EDS文件的信息

一般設備信息

具有默認變量的對象字典

EDS文件可用作CANopen設備的配置和網絡設置工具。

CANopen 和 Kvaser

Kvaser 開發(fā)了 Kvaser CANopen Stack, 這是一個使用便捷、存儲高效的AAPI,能實現(xiàn)CANopen設備的高性能運行 。它完全符合CANopen標準,并完全支持CANopen主機和從機功能。

CANopen在工業(yè)中的應用

Vector Informatik GmbH 是CCANalyzer的的開發(fā)商 – 這是 CANopen 網絡分析和模擬的最佳軟件工具之一。

Port GmbH 開發(fā)了大量CANopen 工具,包括:

用于CANopen設備開發(fā)的CANopen Design Tool。

CANopen 主機/從機協(xié)議庫

CANopen 模塊和配置文件

CANopen 設備監(jiān)測

CANopen 網關服務器

National Instruments提供一個1-Port C系列CANopen接口模塊,用于幫助CANopen應用程序開發(fā)。

有許多其他CANopen商業(yè)工具,以及開源API和協(xié)議棧,比如CANopenNode,它們使用CANopen的開放架構,借助于此協(xié)議的高度標準化、詳細的建議和指南,發(fā)展新的應用。

更多資源

獲取與CANopen兼容的協(xié)議棧和軟件。搜索軟件

請聯(lián)繫專門從事CANopen應用的Kvaser技術助理之一。搜索助理

總結

以上是生活随笔為你收集整理的canopen服务器协议,CANopen的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。