首先,在開始實例演示前,我們需要了解ECAN-401設備是怎么實現CAN轉ModBus通信的:ECAN-401在串口側使用的是標準ModBus RTU協議格式,所以ECAN-401不僅支持用戶使用ModBus RTU協議,模塊也可以直接和其它支持ModBus RTU協議的設備相接口。
在CAN側,制定了一個簡單易用的分段通訊格式來實現ModBus通訊,一個長度大于一個CAN報文最大數據長度的信息進行分段以及重組的方法,“數據 1”用于分段標識數據,傳輸的ModBus協議內容即可從“數據 2”字節開始,如果協議內容大于7個字節,那么將剩下的協議內容照這種分段格式繼續轉換,直到轉換完成。在CAN總線上傳輸的數據不需要CRC效驗方式。CAN總線上的數據效驗已經具有更加完善的效驗方式。
此模式下,設備支持的是ModBus驗證和轉發,而不是ModBus的主機或者從機,用戶按照ModBus協議通訊即可。針對于“數據1”的分段標識協議,以下表格和示例可以幫助理解:
分段標記:表明該報文是否是分段報文。該位為 0 表示單獨報文,為 1 表示屬于被分段報文中的一幀。
分段類型:表明是第一段、中間段的還是最后段。
分段計數器:每一個段的標志,表示該段在整個報文中的序號,如果是第幾個段,計數器的值就是幾。這樣在接收時就能夠驗證是否有分段被遺失。共使用5Bit,范圍為 0~31。
示例: 幀ID為013,串口接收到的ModBus數據是:01 03 00 00 00 01 84 0A。除去ModBus的校驗數據后,數據長度為 6 ,CAN除去分段協議占用的數據位后,能接收的長度是7。小于我們要接受的數據長度。
此時CAN總線上的數據1的分段報文標記為0;分段類型為0;分段計數器為1。將以上數據按照分段傳輸協議定義,將數據填入指定的位置,CAN總線的數據1即可得到數據1的二進制數據位0000 0001,轉換為16進制數據即為0x01。在將ModBus數據填入到后續對應的位置即可得到CAN總線上數據:
在了解了ECAN-401的CAN轉ModBus功能后,我們可以開始實際操作。準備以下設備:
ECAN-401一臺
CAN分析儀ECAN-U01一臺
ModBus POLL軟件
這里我們使用ECAN-401做數據轉換工具,ECAN-U01發送和接收CAN報文,ModBus Poll軟件模擬ModBus 設備發送ModBus 指令。將ECAN-401與ECAN-U01的CAN_L和CAN_H連接,ECAN-401的485接口通過485換USB轉換器連接到電腦,如下圖所示:
通過ECAN-401的上位機,將設備通訊模式切換為ModBus模式,參數配置如下圖:
打開CAN分析儀ECAN-U01以及ModBus Poll軟件,使用ModBus Poll 軟件模擬出一個ModBus設備,通過ECAN-401的485串口發送ModBus 指令,這里可以看到ECAN-U01設備已經接收到了ECAN-401所轉換出來的數據:
ECAN-401的485串口支持的是ModBus RTU協議,接收到的ModBus 指令為01 03 00 00 00 0A C5 CD,經過處理后轉換到ECAN-U01的CAN數據后為01 01 03 00 00 00 0A。這里可以看到CAN幀的第一位數據01是經過處理后添加的分段標識,也自動去掉了CRC校驗位,真實數據為01 03 00 00 00 0A。
這樣就成功通過ECAN-401實現ModBus與CAN數據格式的轉換。
審核編輯:湯梓紅
-
CAN
+關注
關注
57文章
2769瀏覽量
464377 -
MODBUS
+關注
關注
28文章
1820瀏覽量
77309 -
計數器
+關注
關注
32文章
2261瀏覽量
94981 -
串口
+關注
關注
14文章
1557瀏覽量
77036 -
RTU
+關注
關注
0文章
417瀏覽量
28763
原文標題:【教程】使用ECAN-401實現ModBus轉CAN
文章出處:【微信號:cdebyte,微信公眾號:億佰特物聯網應用專家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
![](https://file.elecfans.com/web2/M00/8F/B5/poYBAGPlqsqAMJQcAANjEPEATNc102.png)
Modbus TCP轉Modbus RTU的實現
什么時候會需要用到modbus轉CAN網關
【推薦】Ebyte CAN分析軟件——ECAN Tools
![【推薦】Ebyte <b class='flag-5'>CAN</b>分析軟件——<b class='flag-5'>ECAN</b> Tools](https://file.elecfans.com/web2/M00/3E/6A/pYYBAGJhBGGAGyDYAACBPQuBZQI711.png)
【教程】CAN報文自定義協議轉發
![【教程】<b class='flag-5'>CAN</b>報文自定義協議轉發](https://file.elecfans.com/web2/M00/3E/6A/pYYBAGJhBGGAGyDYAACBPQuBZQI711.png)
穩聯技術的CAN轉Modbus TCP協議網關技術
CAN轉modbus轉換器要滿足哪些需求
CAN轉Modbus TCP主站協議網關(YC-CAN-TCP)
![<b class='flag-5'>CAN</b><b class='flag-5'>轉</b><b class='flag-5'>Modbus</b> TCP主站協議網關(YC-<b class='flag-5'>CAN</b>-TCP)](https://file1.elecfans.com/web2/M00/04/2B/wKgZombL9j6Aay5RAAEtMiyEmSY767.png)
評論