首先,在開始案例演示之前,我們需要知道ECAN-401智能協(xié)議轉(zhuǎn)換器設(shè)備是如何實現(xiàn)設(shè)備CAN轉(zhuǎn)ModBus協(xié)議數(shù)據(jù)通信轉(zhuǎn)換的:ECAN-401標(biāo)準(zhǔn)用于串口側(cè)ModBus RTU通信協(xié)議。因此,ECAN-401設(shè)備不僅支持用戶使用ModBus RTU協(xié)議格式,模塊和其他支持ModBusRTU協(xié)議設(shè)備也可以直接進行數(shù)據(jù)通信。
在CAN協(xié)議數(shù)據(jù)轉(zhuǎn)換器側(cè)面,制定了一個簡單易用的分段通信格式來實現(xiàn)ModBus通信,一個長度大于一個長度CAN報文最大數(shù)據(jù)長度的信息分割和重組方法,“數(shù)據(jù)1”用于分段識別數(shù)據(jù)和傳輸ModBus協(xié)議內(nèi)容可以從“數(shù)據(jù)2”從字節(jié)開始,如果協(xié)議內(nèi)容大于7個字節(jié),則按照這個分段格式繼續(xù)轉(zhuǎn)換剩余的協(xié)議內(nèi)容,直到轉(zhuǎn)換完成。
在CAN總線上傳輸?shù)臄?shù)據(jù)不需要CRC效驗方式。
CAN總線上的數(shù)據(jù)效驗已經(jīng)有了更加完善的效驗方法。
此模式下,設(shè)備支持的是ModBus驗證和轉(zhuǎn)發(fā),而不是ModBus的主機或者從機,用戶按照ModBus協(xié)議通訊即可。
針對于“數(shù)據(jù)1”的分段標(biāo)識協(xié)議,以下表格和示例可以幫助理解:
分段標(biāo)記:表明該報文是否是分段報文。該位為0 表示單獨報文,為1 表示屬于被分段報文中的一幀。
分段類型:表明是第一段、中間段的還是最后段。
分段計數(shù)器:每一個段的標(biāo)志,表示該段在整個報文中的序號,如果是第幾個段,計數(shù)器的值就是幾。這樣在接收時就能夠驗證是否有分段被遺失。共使用5Bit,范圍為0~31。
示例: 幀ID為013,串口接收到的ModBus數(shù)據(jù)是:01 03 00 00 00 01 84 0A。除去ModBus的校驗數(shù)據(jù)后,數(shù)據(jù)長度為 6 ,CAN數(shù)據(jù)除去分段協(xié)議占用的數(shù)據(jù)位后,能接收的長度是7。小于我們要接受的數(shù)據(jù)長度。
此時CAN總線上的數(shù)據(jù)1的分段報文標(biāo)記為0;分段類型為0;分段計數(shù)器為1。將以上數(shù)據(jù)按照分段傳輸協(xié)議定義,將數(shù)據(jù)填入指定的位置,CAN總線的數(shù)據(jù)1即可得到數(shù)據(jù)1的二進制數(shù)據(jù)位0000 0001,轉(zhuǎn)換為16進制數(shù)據(jù)即為0x01。在將ModBus數(shù)據(jù)填入到后續(xù)對應(yīng)的位置即可得到CAN總線上數(shù)據(jù):
在了解了ECAN-401的CAN轉(zhuǎn)ModBus協(xié)議功能完成后,我們可以開始實際操作,準(zhǔn)備以下設(shè)備:ECAN-401數(shù)據(jù)轉(zhuǎn)換器can轉(zhuǎn)設(shè)備一臺,CAN分析儀ECAN-U01一臺,ModBus POLL軟件。
這里我們使用ECAN-401做數(shù)據(jù)轉(zhuǎn)換工具,ECAN-U01發(fā)送和接收CAN報文,ModBusPoll軟件模擬ModBus設(shè)備發(fā)送ModBus指令。
將ECAN-401與ECAN-U01的CAN_L和CAN_H連接,ECAN-401的RS485接口通過RS485通信換USB數(shù)據(jù)轉(zhuǎn)換器連接到電腦,如下圖所示:
通過ECAN-401的上位機,將設(shè)備通訊模式切換為ModBus模式,參數(shù)配置如下圖:
打開CAN分析儀ECAN-U01以及ModBus Poll軟件,使用ModBus Poll 軟件模擬出一個ModBus設(shè)備,通過ECAN-401的485串口發(fā)送ModBus指令,這里可以看到ECAN-U01設(shè)備已經(jīng)接收到了ECAN-401所轉(zhuǎn)換出來的數(shù)據(jù):
ECAN-401的485串口支持的是ModBus RTU協(xié)議,接收到的ModBus 指令為01 03 00 00 00 0A C5 CD,經(jīng)過處理后轉(zhuǎn)換到ECAN-U01的CAN數(shù)據(jù)后為01 01 03 00 00 00 0A。這里可以看到CAN幀的第一位數(shù)據(jù)01是經(jīng)過處理后添加的分段標(biāo)識,也自動去掉了CRC校驗位,真實數(shù)據(jù)為01 03 00 00 00 0A。這樣就成功通過ECAN-401實現(xiàn)ModBus與CAN數(shù)據(jù)格式的轉(zhuǎn)換。
查看技術(shù)文章和免費咨詢技術(shù)問題可以訪問成都億佰特電子科技有限公司官網(wǎng)及各官方平臺:
微信號:cdebyte
今日頭條:億佰特
新浪微博:成都億佰特
7 X 24 銷售服務(wù)熱線
4000-330-990深圳辦事處柯經(jīng)理:18218726658 無錫辦事處劉經(jīng)理:13558641933
成都總部銷售經(jīng)理:
秦 科(無線模塊):18884314654 馮子恒(無線模塊):18828049434
蔡友銀(無線模塊):13882211021 葛宇龍(通信設(shè)備):19138800613
胡兵(外貿(mào)銷售經(jīng)理):18584911141、 sales06@ebyte.com
業(yè)務(wù)郵箱:support@cdebyte.com 全國銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號B5棟(前臺座機:028-61543675)
?? 成都億佰特電子科技有限公司【版權(quán)所有】 蜀ICP備13019384號