一個CANopen的應用樣例
在基本的運行CANopen框架的演示項目中,除了一個已經運行CANopenNode組件程序的CANopen節點,還需要一臺運行PCAN-View軟件的PC機和USB-CAN轉換器PEAK-CAN,模擬一個接入CAN總線的CANopen主站設備節點。在運行演示項目時,可以使用PCAN-View軟件,通過CAN總線發現運行了CANopen設備節點,并接收來自CANopen節點發出的心跳消息包,然后發送一系列網絡管理命令,控制CANopen從站節點對本機的CANopen協議棧程序停止、啟動、復位等操作。
- PCAN-USB驅動
- PCAN-View 安裝包
- PCAN-View使用說明
figure-can-connection-between-pc-and-mcu
圖x PC模擬的CAN主站同CAN從站之間的連接之后,開發者可以試著通過PCAN-View軟件接入CAN總線的CANopen節點發送控制命令,并觀察CAN總線上的消息。
這里用到了一個PEAK-CAN轉接設備,如圖x所示。
PCAN-CAN轉接設備實物務必先將PEAK-CAN轉接設備接入電腦后,再啟動PCAN-View軟件。在剛啟動PCAN-View時,會彈出配置連接的對話框,其中顯示已經識別到的PEAK-CAN設備,以及配置通信速率的對話框。在本例中,使用 500kbit/s,同剛移植的canopen_demo工程配置保持移植。配置連接對話框的界面如圖x所示。
figure-pcan-view-connect
圖x PCAN-View識別到的PEAK-CAN設備以及配置通信速率確認之后,啟動PCAN-View軟件,即可在界面中看到CANopen節點已經在CAN總線上發送的消息幀了。如圖x所示。
figure-pcan-view-startup
圖x 運行PCAN-View軟件這里需要注意的是,在Receive/Transmit
標簽頁中看到的消息幀是以CAN-ID分類的,總會顯示當前已經出現的CAN-ID消息幀的最新狀態。如果想看每一幀按照時間順序排列的歷史信息,可在Trace
標簽頁中,啟動記錄后查看。
上線和心跳消息
CANopen節點上電后接入CAN總線,會向總線發送上線消息。PCAN-View軟件將會收到上線消息如下:
CAN-ID | Length | Data |
---|---|---|
0x70A | 1 | 0x00 |
之后,該CANopen從站節點將以1000ms為時間間隔,持續向CAN網絡發送節點心跳報文。此時,PCAN-View軟件將以1000ms的時間間隔收到心跳報文如下:
CAN-ID | Length | Data |
---|---|---|
0x70A | 1 | 0x05 |
figure-canopen-msg-heartbeat-at-power-up
圖x CANopen節點發送上線報文和心跳包至此,可驗證該CANopen節點成功啟動,并開始正常運行。
此處對心跳消息展開解釋一下。在本例中使用的心跳消息使用CAN-ID的值為0x70A
,二進制碼為0b11100001010
,按照CANopen協議對COB-ID的規定,11位的CAN標準幀被拆分為前4位的功能碼(FUNCTION CODE)和后7位的節點地址碼(NODE ID CODE)。如圖x所示。此處心跳消息的功能碼對應0b1110
,與圖x中表格列出的值一致。
figure-canopen-cob-id
圖x CANopen中的COB-ID本例中的節點地址碼0b001010
,即0xA
,則來自于canopen_demo工程CO_OD.c文件中對對象字典的配置。
/***** Definition for ROM variables *******************************************/
struct sCO_OD_ROM CO_OD_ROM = { //constant variables, stored in flash
CO_OD_FIRST_LAST_WORD,
...
/*2101*/ 0x0A, /* local NODE-ID. */
/*2102*/ 0x1F4, /* local bitrate. */
...
CO_OD_FIRST_LAST_WORD
};
其實對象字典里還配置了更多有用的屬性,例如,本節點的CAN總線通信的位速率就在對象字典中索引號為2102
的元素上,0x1F4
對應十進制數500
,表示500kbit/s
。
(未完待續。。。)
-
轉換器
+關注
關注
27文章
8627瀏覽量
146872 -
CAN總線
+關注
關注
145文章
1936瀏覽量
130631 -
CAN
+關注
關注
57文章
2719瀏覽量
463377 -
程序
+關注
關注
116文章
3777瀏覽量
80853 -
CANopen
+關注
關注
8文章
249瀏覽量
43546
發布評論請先 登錄
相關推薦
評論