<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=CANopen</id>
	<title>CANopen - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=CANopen"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=CANopen&amp;action=history"/>
	<updated>2026-07-08T18:23:51Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=CANopen&amp;diff=360070&amp;oldid=prev</id>
		<title>61.216.101.115：​/* 同步（SYNC）協定 */</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=CANopen&amp;diff=360070&amp;oldid=prev"/>
		<updated>2022-02-22T09:56:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;同步（SYNC）協定&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{noteTA&lt;br /&gt;
|1=zh-hans:对象; zh-hant:物件;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CANopen&amp;#039;&amp;#039;&amp;#039;是一種架構在[[控制器區域網路]]（Controller Area Network, CAN）上的高層[[通訊協定]]，包括通訊子協定及設備子協定常在[[嵌入式系統]]中使用，也是工業控制常用到的一種[[現場總線]]。&lt;br /&gt;
&lt;br /&gt;
CANopen實作了[[OSI模型]]中的[[網路層]]以上（包括網路層）的協定。CANopen標準包括定址方案、數個小的通訊子協定及由設備子協定所定義的[[應用層]]。CANopen支援網路管理、設備監控及節點間的通訊，其中包括一個簡易的[[傳輸層]]，可處理資料的分段傳送及其組合。一般而言[[資料鏈結層]]及[[實體層]]會用CAN來實作。除了CANopen外，也有其他的通訊協定（如[[POWERLINK]]及[[EtherCAT]]）實作CANopen的設備子協定。&lt;br /&gt;
&lt;br /&gt;
基本的CANopen設備及通訊子協定定義在CAN in Automation (CiA) draft standard 301.&amp;lt;ref&amp;gt;CiA Draft Standard 301，在[http://www.can-cia.org CAN in Automation] {{Wayback|url=http://www.can-cia.org/ |date=20080516033351 }}網站上&amp;lt;/ref&amp;gt;。針對個別設備的子協定以CiA 301為基礎再進行擴充。如針對I/O模組的CiA401&amp;lt;ref&amp;gt;CiA Draft Standard 401&amp;lt;/ref&amp;gt;及針對運動控制的CiA402&amp;lt;ref&amp;gt;CiA Draft Standard 402&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
== 設備模型 ==&lt;br /&gt;
&lt;br /&gt;
以下是所有CANopen設備都要具備的功能：&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;通訊單元&amp;#039;&amp;#039;&amp;#039;處理和網路上其他模組通訊所需要的通訊協定。&lt;br /&gt;
* 設備的啟動及重置由&amp;#039;&amp;#039;&amp;#039;狀態機（state machine）&amp;#039;&amp;#039;&amp;#039;控制。狀態機需包括以下的幾個狀態：Initialization, Pre-operational, Operational及Stopped。當接收到網路管理（NMT）通訊物件，狀態機會轉換到對應的狀態。&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;物件字典（Object Dictionary）&amp;#039;&amp;#039;&amp;#039;是一個有16位元索引（Index）的變數陣列。每個變數可以（但非必須）有8位元的子索引（Subindex）。變數可用來調整設備的組態，也可以對應設備量測的資料或設備的輸出。&lt;br /&gt;
* 當狀態機設定為operational　之後，設備的&amp;#039;&amp;#039;&amp;#039;應用（application）&amp;#039;&amp;#039;&amp;#039;部份就會實現設備預期的機能。此部份可以由物件字典中的變數調整其設定，而資料由通訊層傳收或接收。&lt;br /&gt;
&lt;br /&gt;
=== 物件字典 ===&lt;br /&gt;
&lt;br /&gt;
CANopen設備都需要具備物件字典，用來設定設備組態及進行非即時的通訊。物件字典的entry定義如下：&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;索引（Index）&amp;#039;&amp;#039;&amp;#039;：物件16位元的位址。&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;物件名稱（Object name）&amp;#039;&amp;#039;&amp;#039;：一個代表物件的symbolic type，可以是陣列、紀錄或只是一個變數。&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;名稱（Name）&amp;#039;&amp;#039;&amp;#039;：描述此entry的字串。&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;形態（Type）&amp;#039;&amp;#039;&amp;#039;：變數的資料形態。&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;屬性（Attribute）&amp;#039;&amp;#039;&amp;#039;：提供此entry是否可讀／可寫的資料，有下列四種：可讀/寫、唯讀、唯寫、唯讀常數。&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;必須（Mandatory）/可選（Optional）&amp;#039;&amp;#039;&amp;#039;欄位定義屬於特定設備規範下的設備，是否必須實現某些物件。&lt;br /&gt;
&lt;br /&gt;
在CANopen標準中定義了物件字典中的基本資料型態，包括邏輯值、整數及浮點數。也定義了複合物件：如陣列、記錄及字串。複合物件用一個8位元的數值作為其子索引（subindex）。記錄或陣列中子索引0的位置記錄此資料結構的元素個數，資料型態為UNSIGNED8。&lt;br /&gt;
&lt;br /&gt;
例如在CiA301標準中，設備通訊的參數放在索引範圍0x1000 - 0x1FFF（通訊行規區）。此區域的前幾項如下：&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 索引&lt;br /&gt;
! 物件名稱&lt;br /&gt;
! 名稱&lt;br /&gt;
! 形態&lt;br /&gt;
! 屬性&lt;br /&gt;
! M/O&lt;br /&gt;
|-&lt;br /&gt;
| 0x1000&lt;br /&gt;
| VAR&lt;br /&gt;
| device type&lt;br /&gt;
| UNSIGNED32&lt;br /&gt;
| 唯讀&lt;br /&gt;
| M&lt;br /&gt;
|-&lt;br /&gt;
| 0x1001&lt;br /&gt;
| VAR&lt;br /&gt;
| error register&lt;br /&gt;
| UNSIGNED8&lt;br /&gt;
| 唯讀 &lt;br /&gt;
| M&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| 0x1008&lt;br /&gt;
| VAR&lt;br /&gt;
| manufacturer device name&lt;br /&gt;
| Vis-String&lt;br /&gt;
| 常數&lt;br /&gt;
| O&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
若配合適當的工具，可以用編輯電子資料表（electronic data sheet, EDS)檔案的方式規劃一個設備，並且將變數的數值上傳到設備中。EDS檔案的格式通常會是[[INI檔]]。&lt;br /&gt;
&lt;br /&gt;
== 通訊 ==&lt;br /&gt;
=== 通訊物件 ===&lt;br /&gt;
&lt;br /&gt;
CANopen的物理層CANbus每次傳送的資料量不大，其中包括11位元的ID、遠端傳輸請求（RTR）位元及大小不超過8位元組的資料。CANopen將CANbus 11位元的ID分為4位元的功能碼及7位元的CANopen節點ID。7位元的ID共有128種不同的組合，其中ID 0不使用，因此一個CANopen網路上最多允許127台設備。CANbus在CAN 2.0 B規格中允許29位元的ID，因此若配合CAN 2.0 B使用，CANopen網路上可以超過127台設備，不過在實際運用中，大多數的CANopen網路上設備數量均低於此數值。&lt;br /&gt;
&lt;br /&gt;
CANopen將CANbus的11位元ID稱為通訊物件ID（COB-ID）。當傳輸資料出現碰撞時，CANbus的仲裁機制會使COB-ID最小的訊息繼續傳送，不用等待或重傳。COB-ID的前4個位元是CANopen的功能碼，因此數值小的功能碼表示對應的功能重要，允許的延遲時間較短。&lt;br /&gt;
&lt;br /&gt;
以下是一個標準的CANopen頁框（frame）：&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ROWSPAN=2|&lt;br /&gt;
! COLSPAN=2|COB-ID&lt;br /&gt;
! ROWSPAN=2|RTR&lt;br /&gt;
! ROWSPAN=2|資料長度&lt;br /&gt;
! ROWSPAN=2|資料&lt;br /&gt;
|-&lt;br /&gt;
! 功能碼&lt;br /&gt;
! 節點ID&lt;br /&gt;
|-&lt;br /&gt;
! 長度 &lt;br /&gt;
| 4位元&lt;br /&gt;
| 7位元&lt;br /&gt;
| 1位元&lt;br /&gt;
| 4位元&lt;br /&gt;
| 0-8位元組&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
在CANopen標準中，部份COB-ID被保留作網路管理及SDO通訊用。而在設備初始化後，有些功能碼和COB-ID會對映到標準的功能，不過後續仍可以規劃為其他用途。&lt;br /&gt;
&lt;br /&gt;
=== 通訊模型 ===&lt;br /&gt;
&lt;br /&gt;
CANopen設備間的通訊可分為以下三種通訊模型。&lt;br /&gt;
&lt;br /&gt;
*在&amp;#039;&amp;#039;&amp;#039;主從&amp;#039;&amp;#039;&amp;#039;（&amp;#039;&amp;#039;&amp;#039;master/slave模型&amp;#039;&amp;#039;&amp;#039;）中，一個CANopen設備為master，負責傳送或接收其他設備（稱為slave）的資料。NMT協定就使用了master/slave模型。&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;客户端/服务器&amp;#039;&amp;#039;&amp;#039;（&amp;#039;&amp;#039;&amp;#039;client/server&amp;#039;&amp;#039;&amp;#039;）&amp;#039;&amp;#039;&amp;#039;模型&amp;#039;&amp;#039;&amp;#039;定義在SDO協定中，SDO client將物件字典的索引及子索引傳送給SDO server，因此會產生一個或數個需求資料（物件字典中，索引及子索引對應的內容）的SDO封包。&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;生產者／消費者&amp;#039;&amp;#039;&amp;#039;（&amp;#039;&amp;#039;&amp;#039;producer/consumer&amp;#039;&amp;#039;&amp;#039;）&amp;#039;&amp;#039;&amp;#039;模型&amp;#039;&amp;#039;&amp;#039;用在Heartbeat and Node Guarding協定。由一個生產者送出資料給消費者，同一個生產者的資料可能給一個以上的消費者。又可分為二種：&lt;br /&gt;
**push-model：生產者會自動送出資料給消費者。&lt;br /&gt;
**pull-model：消費者需送出請求訊息，生產者才會送出資料。&lt;br /&gt;
&lt;br /&gt;
=== 协议 ===&lt;br /&gt;
==== NMT协议 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NMT&amp;#039;&amp;#039;&amp;#039;（&amp;#039;&amp;#039;&amp;#039;網路管理&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;Network management&amp;#039;&amp;#039;&amp;#039;）协议是用来发布（設備內部）狀態機的狀態變更命令（如啟動設備或停止設備）、以及监测遠端設備启动及故障情形。&lt;br /&gt;
&lt;br /&gt;
NMT master使用的&amp;#039;&amp;#039;&amp;#039;模組控制協定&amp;#039;&amp;#039;&amp;#039;可變更設備的狀態。其COB-ID為0，其功能碼及節點ID均為0，因此網路上的所有節點均會處理這個訊息。在此訊息的資料部份會有此訊息實際針對節點的ID，此ID也可為0，表示所有節點都要變更為指定的狀態。&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;心跳協定&amp;#039;&amp;#039;&amp;#039;（&amp;#039;&amp;#039;&amp;#039;Heartbeat protocol&amp;#039;&amp;#039;&amp;#039;）是用[[心跳機制]]來監控網路中的節點及確認其正常工作。心跳訊息的生產者（一般是slave設備）週期性的送出功能碼1110、ID為本身節點ID的訊息，訊息的資料部份有一個表示節點狀態的位元。而心跳訊息的消費者負責接收上述資料，若在指定時間（於設備的物件字典中定義）內，消費者均未收到訊息，可採取相關行動（例如顯示錯誤或重置該設備）。&lt;br /&gt;
&lt;br /&gt;
其格式為：    &lt;br /&gt;
       COBID + DATA (status of node)  &lt;br /&gt;
&lt;br /&gt;
CANopen設備需要在bootup時自動從Initializing狀態切換至Pre-operational狀態，設備會在切換完成後送出一個心跳訊息，這就是心跳協定。&lt;br /&gt;
&lt;br /&gt;
有一種pull model的NMT協定，稱作節點監控（Node guarding）協定，也可以作從機的監控。&lt;br /&gt;
&lt;br /&gt;
==== 服務資料物件（SDO）協定 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;服務資料物件&amp;#039;&amp;#039;&amp;#039;（&amp;#039;&amp;#039;&amp;#039;SDO&amp;#039;&amp;#039;&amp;#039;）可用來存取遠端節點的物件字典，讀取或設定其中的資料。提供物件字典的節點稱為SDO server，存取物件字典的節點稱為SDO client。SDO通訊一定由SDO client開始，並提供初始化相關的參數。&lt;br /&gt;
&lt;br /&gt;
在CANopen的術語中，&amp;#039;&amp;#039;&amp;#039;上傳&amp;#039;&amp;#039;&amp;#039;是指由SDO server中讀取資料，而&amp;#039;&amp;#039;&amp;#039;下載&amp;#039;&amp;#039;&amp;#039;是指設定SDO server的資料。&lt;br /&gt;
&lt;br /&gt;
由於物件字典中的資料長度可能超過8個位元組，無法只用一個CAN頁框傳輸，SDO也支援長訊息的分割（segmentation）和合併（desegmentation）。這樣的物件有二種：&amp;#039;&amp;#039;&amp;#039;SDO下載/上傳&amp;#039;&amp;#039;&amp;#039;（&amp;#039;&amp;#039;&amp;#039;SDO download/upload&amp;#039;&amp;#039;&amp;#039;）及&amp;#039;&amp;#039;&amp;#039;SDO區塊下載/上傳&amp;#039;&amp;#039;&amp;#039;（SDO Block download/upload）。CANopen協定較新版本支援SDO區塊傳輸，可以允許傳輸大量的資料，且傳輸的overhead可以較低。&lt;br /&gt;
&lt;br /&gt;
負責處理SDO資料傳輸的COB ID可在物件字典中設定。在物件字典的索引0x1200至0x127F可設定SDO server的COB ID，最多可設定到127個。而SDO client可以在物件字典的索引0x1280至0x12FF中設定。不過&amp;#039;&amp;#039;&amp;#039;預定義連結&amp;#039;&amp;#039;&amp;#039;（&amp;#039;&amp;#039;&amp;#039;pre-defined connection set&amp;#039;&amp;#039;&amp;#039;）定義在開機後（Pre-operational狀態）可用來設定設備組態的SDO。接收用的COB ID為0x600 +節點ID，而傳送用的COB為0x580 +節點ID。&lt;br /&gt;
&lt;br /&gt;
以下用SDO下載來說明SDO的協定，SDO client在要啟始下載時，會送出CAN訊息，其ID為接收端SDO channel的COB ID，而CAN頁框的資料欄位內容如下：&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! COLSPAN=8|CAN頁框的資料欄位&lt;br /&gt;
|-&lt;br /&gt;
! COLSPAN=5|位元組1&lt;br /&gt;
! ROWSPAN=2|位元組2-3&lt;br /&gt;
! ROWSPAN=2|位元組4&lt;br /&gt;
! ROWSPAN=2|位元組5-8&lt;br /&gt;
|-&lt;br /&gt;
! 3位元&lt;br /&gt;
! 1位元&lt;br /&gt;
! 2位元&lt;br /&gt;
! 1位元&lt;br /&gt;
! 1位元&lt;br /&gt;
|-&lt;br /&gt;
| ccs=1 &lt;br /&gt;
| 保留（=0）&lt;br /&gt;
| n&lt;br /&gt;
| e&lt;br /&gt;
| s&lt;br /&gt;
| 索引&lt;br /&gt;
| 子索引&lt;br /&gt;
| 資料&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;ccs&amp;#039;&amp;#039;&amp;#039;是SDO傳輸時client指令的識別碼，可分為以下幾種：&lt;br /&gt;
** 0：SDO區域下載&lt;br /&gt;
** 1：啟始下載&lt;br /&gt;
** 2：啟始上傳&lt;br /&gt;
** 3：SDO區域上傳&lt;br /&gt;
** 4：中斷SDO傳輸&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039;為此訊息中實際資料的長度，只有在e和s設定時有效&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;e&amp;#039;&amp;#039;&amp;#039;若設為1，表示是快速傳輸（expedited transfer），目前訊息即包括了所有要傳輸的資料。若設為0，表示要傳輸的資料無法用一個訊息傳送，會分割為數個訊息。   &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;s&amp;#039;&amp;#039;&amp;#039;若設為1，且&amp;#039;&amp;#039;&amp;#039;e&amp;#039;&amp;#039;&amp;#039;也設為1，表示資料長度記錄在&amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039;。若&amp;#039;&amp;#039;&amp;#039;e&amp;#039;&amp;#039;&amp;#039;設為0，表示實際完整資料的長度會放在此訊息中的資料欄位中。&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;索引&amp;#039;&amp;#039;&amp;#039;是要存取資料的物件字典索引。&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;子索引&amp;#039;&amp;#039;&amp;#039;是要存取變數的子索引。&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;資料&amp;#039;&amp;#039;&amp;#039;在快速傳輸（e=1）時是要上傳的資料，若s=1且e=0，則是實際資料的長度。&lt;br /&gt;
&lt;br /&gt;
==== -{zh-hans:进程数据对象; zh-tw:程序資料物件}-（PDO）協定 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;-{zh-hans:进程数据对象; zh-tw:程序資料物件}-&amp;#039;&amp;#039;&amp;#039;（&amp;#039;&amp;#039;&amp;#039;PDO&amp;#039;&amp;#039;&amp;#039;）協定可用來在許多節點之間交換即時的資料。可透過一個PDO，傳送最多8位元組（64位元）資料給一設備，或由一設備接收最多8位元組（64位元）的資料。一個PDO可以由物件字典中幾個不同索引的資料組成，規劃方式則是透過物件字典中對應PDO mapping及PDO參數的索引。&lt;br /&gt;
&lt;br /&gt;
PDO分為兩種：傳送用的TPDO及接收用的RPDO。一個節點的TPDO是將資料由此節點傳輸到其他節點，而RPDO則是接收由其他節點傳輸的資料。一個節點分別有4個TPDO及4個RPDO。&lt;br /&gt;
&lt;br /&gt;
PDO可以用同步或非同步的方式傳送：同步的PDO是由SYNC訊息觸發，而非同步的PDO是由節點內部的條件或其他外部條件觸發。例如若一個節點規劃為允許接受其他節點產生的TPDO請求，則可以由其他節點送出一個沒有資料但有設定RTR位元的TPDO（TPDO請求），使該節點送出需求的資料。　   &lt;br /&gt;
&lt;br /&gt;
藉由RPDO也可以使兩個或兩個以上的設備同時啟動。只要將其RPDO對應到相同的TPDO即可。&lt;br /&gt;
&lt;br /&gt;
==== 同步（SYNC）協定 ====&lt;br /&gt;
同步協定使用生產者/消費者模型。同步生產者（Sync-Producer）會定時產生同步訊號供同步消費者（Sync-Consumer）使用。當同步消費者收到訊號，即可進行已規劃好的同步工作。&amp;lt;ref&amp;gt;{{cite web|url=http://www.can-cia.org/index.php?id=206|title=SYNC protocol|accessdate=2009-08-04|work=CAN in Automation (CiA)|publisher=|date=|deadurl=yes|archiveurl=https://web.archive.org/web/20101022192414/http://can-cia.org/index.php?id=206|archivedate=2010-10-22}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
同步訊號會定時產生，若有 PDO 是由同步訊號引發，透過 PDO 傳送時間及同步訊號傳送週期之間的調整，可以使感測器定期的取様，而致動器也可以根據最新的輸入訊號產生對應的輸出。&lt;br /&gt;
&lt;br /&gt;
在物件字典中，同步物件的索引為0x1005，可透過編輯此物件啟動同步協定。&lt;br /&gt;
&lt;br /&gt;
==== 時間標記物件（TIME）協定 ====&lt;br /&gt;
一般而言，時間標記物件的內容是從1984年1月1日午夜之後到現在之間經過的時間，單位為[[毫秒]]。為一個48位元（6位元組）的數值。&lt;br /&gt;
&lt;br /&gt;
不過有些應用會要求時間要非常精確，這種情形會需要精準的同步，尤其是在大型網路，通訊速度受限時更是如此。此時需要將各設備的時鐘同步，精準度要到毫秒的等級。這個要求可透過高解析度的同步信號達成，在同步信號中也包括了另一種時間標記，可供各設備調整時鐘用。&lt;br /&gt;
&lt;br /&gt;
同步信號中的時間標記型態為unsigned32，單位為1毫秒，因此時間標記會在每72分鐘歸零重新計數。&amp;lt;!--It is configured by mapping the high resolution time-stamp (object 1013h) into a PDO.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 緊急物件（EMCY）協定 ====&lt;br /&gt;
&lt;br /&gt;
=== 初始化 ===&lt;br /&gt;
以下是在master初始化2個壓力感測器（ID分別為1和2）中，通訊的資料。&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! CAN ID&lt;br /&gt;
! 資料長度&lt;br /&gt;
! 資料&lt;br /&gt;
! 說明&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 2&lt;br /&gt;
| 1 0&lt;br /&gt;
| master將系統設定為operational mode&lt;br /&gt;
|-&lt;br /&gt;
| 0x80&lt;br /&gt;
| 0&lt;br /&gt;
|&lt;br /&gt;
| Master送出SYNC訊息，使設備送出資料&lt;br /&gt;
|-&lt;br /&gt;
| 0x181&lt;br /&gt;
| 4&lt;br /&gt;
| CD 82 01 00&lt;br /&gt;
| ID 1的節點（CID-0x180），讀到的壓力為0x0182CD (99021) [[帕]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x182&lt;br /&gt;
| 4&lt;br /&gt;
| E5 83 01 00&lt;br /&gt;
| ID 2的節點（CID-0x181），讀到的壓力為0x0183E5 (99301) [[帕]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== CANopen專有名詞 ==&lt;br /&gt;
&lt;br /&gt;
*PDO程序資料物件 - 對應實際物理量的輸入及輸出。資料的單位可能是RPM, V, Hz, mAmp...。&lt;br /&gt;
*SDO服務資料物件 - 一般來說是組態設定的資料，如節點位置、節點ID、通訊速度、位移、增益等……。&lt;br /&gt;
*COB-ID - CAN物件編號&lt;br /&gt;
*CAN ID - CAN Identifier.是在每個CAN訊息前面的訊息識別碼，共11位元。&lt;br /&gt;
*EDS - 電子資料檔（Electronic data sheet）是INI格式的檔案。&lt;br /&gt;
*DCF - 設備組態檔案（Device configuration file），是加強版的EDS，可以設定節點ID及通訊速度。&lt;br /&gt;
&lt;br /&gt;
== 參照 ==&lt;br /&gt;
* [[控制器區域網路]]（CAN）&lt;br /&gt;
* [[DeviceNet]]（另一種使用CAN的工業通訊定）&lt;br /&gt;
&lt;br /&gt;
== 參考資料 ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 外部連結 ==&lt;br /&gt;
*[http://www.can-cia.org/can-knowledge/canopen/canopen/ CAN in Automation的CANopen簡介]{{Wayback|url=http://www.can-cia.org/can-knowledge/canopen/canopen/ |date=20160816094147 }}&lt;br /&gt;
*[http://www.esacademy.com/myacademy/classes/CANopenIntro/CANopenIntro_files/frame.htm?category=&amp;amp; CANopen簡介（www.esacademy.com）]{{Wayback|url=http://www.esacademy.com/myacademy/classes/CANopenIntro/CANopenIntro_files/frame.htm?category=&amp;amp; |date=20080219103651 }}&lt;br /&gt;
*[http://www.softing.com/home/en/industrial-automation/products/can-bus/more-can-open/communication/reference-model.php CANopen的教學網頁（softing.com）]{{Wayback|url=http://www.softing.com/home/en/industrial-automation/products/can-bus/more-can-open/communication/reference-model.php |date=20080308124350 }}&lt;br /&gt;
*[https://web.archive.org/web/20070930121500/http://www.canopendesign.com/ CANopen開發資料（canopendesign.com）]&lt;br /&gt;
*[http://www.can-wiki.info/CanOpen CAN-wiki中CANopen的頁面]{{Wayback|url=http://www.can-wiki.info/CanOpen |date=20080421112709 }}&lt;br /&gt;
*[https://web.archive.org/web/20080219010750/http://www.industrialcontroldesignline.com/showArticle.jhtml?articleID=192200423 CANopen: An Introduction]&lt;br /&gt;
*[http://www.canopenslutions.com/english/about_canopen/about_canopen.shtml 關於About CANopen（canopensolutions.com）]{{dead link|date=2017年11月 |bot=InternetArchiveBot |fix-attempted=yes }}&lt;br /&gt;
*[http://en.canopen-lift.org/ CANopen-Lift社群的WIKI]{{Wayback|url=http://en.canopen-lift.org/ |date=20190924182232 }}&lt;br /&gt;
*[http://www.canopen-solutions.com/canopen_fundamentals_en.html Introduction to CANopen基礎介紹（www.canopen-solutions.com）]{{Wayback|url=http://www.canopen-solutions.com/canopen_fundamentals_en.html |date=20080520124505 }}&lt;br /&gt;
* [http://www.canfestival.org/ CanFestival - 一個開放源碼多平台CANopen的計劃]{{Wayback|url=http://www.canfestival.org/ |date=20080516175036 }}&lt;br /&gt;
&lt;br /&gt;
[[Category:网络协议]]&lt;br /&gt;
[[Category:自动控制]]&lt;br /&gt;
[[Category:工業自動化]]&lt;br /&gt;
[[Category:CAN bus]]&lt;/div&gt;</summary>
		<author><name>61.216.101.115</name></author>
	</entry>
</feed>