ECAN-101是億佰特研發(fā)生產(chǎn)的小型CAN總線與RS485串口協(xié)議數(shù)據(jù)轉(zhuǎn)換設備,具有體積小巧、方便安裝等特點的高性價比CAN轉(zhuǎn)設備。前文前文介紹了CAN轉(zhuǎn)RS485協(xié)議轉(zhuǎn)換設備透明轉(zhuǎn)換模式、CAN轉(zhuǎn)RS485協(xié)議轉(zhuǎn)換設備透明帶標識轉(zhuǎn)換模式,本文繼續(xù)講解CAN轉(zhuǎn)RS485串口設備的modbus轉(zhuǎn)換模式。
Modbus協(xié)議是一種標準的應用層協(xié)議,廣泛應用于各種工控場合。該MODBUS協(xié)議開放,實時性強,通訊驗證機制好,非常適用于通信可靠性要求較高的場合,DTU模塊在串口側使用的是標準Modbus RTU協(xié)議格式,所以CAN DTU模塊不僅支持用戶使用Modbus RTU協(xié)議,CAN轉(zhuǎn)設備也可以直接和其它支持Modbus RTU協(xié)議的設備相接口。在CAN側,制定了一個簡單易用的分段通訊格式來實現(xiàn)Modbus通訊,一個長度大于一個CAN報文最大數(shù)據(jù)長度的信息進行分段以及重組的方法,“數(shù)據(jù)1”用于分段標識數(shù)據(jù),傳輸?shù)?/span>Modbus協(xié)議內(nèi)容即可從“數(shù)據(jù)2”字節(jié)開始,如果協(xié)議內(nèi)容大于7個字節(jié),那么將剩下的協(xié)議內(nèi)容照這種分段格式繼續(xù)轉(zhuǎn)換,直到轉(zhuǎn)換完成。當CAN總線上不存在其他數(shù)據(jù),可以不設置幀過濾器。即可完成通訊。當總線上面有其他數(shù)據(jù)則需要設置過濾器。區(qū)分設備接收數(shù)據(jù)來源。根據(jù)此方式??梢詫崿F(xiàn)一條總線上面存在多個主機的通訊。在CAN總線上傳輸?shù)臄?shù)據(jù)不需要CRC效驗方式。CAN總線上的數(shù)據(jù)效驗已經(jīng)具有更加完善的效驗方式。CAN轉(zhuǎn)設備在modbus轉(zhuǎn)換模式下,設備支持的是Modbus驗證和轉(zhuǎn)發(fā),而不是Modbus的主機或者從機,用戶按照Modbus協(xié)議通訊即可。
分段傳輸協(xié)議:
一個長度大于一個CAN報文最大數(shù)據(jù)長度的信息進行分段以及重組的方法,CAN報文時,“數(shù)據(jù)1”用于分段標識數(shù)據(jù),分段報文格式如下,傳輸?shù)?/span>Modbus協(xié)議內(nèi)容即可從“數(shù)據(jù)2”字節(jié)開始,如果協(xié)議內(nèi)容大于7個字節(jié),那么將剩下的協(xié)議內(nèi)容照這種分段格式繼續(xù)轉(zhuǎn)換,直到轉(zhuǎn)換完成。
分段標記:表明該報文是否是分段報文。該位為0表示單獨報文,為1表示屬于被分段報文中的一幀。
分段類型:表明是第一段、中間段的還是最后段。
分段計數(shù)器:每一個段的標志,表示該段在整個報文中的序號,如果是第幾個段,計數(shù)器的值就是幾。這樣在接收時就能夠驗證是否有分段被遺失。共使用5Bit,范圍為0~31。
串行接口采用的是標準的Modbus RTU協(xié)議,所以用戶幀符合此協(xié)議即可。如果傳輸?shù)膸环?/span>Modbus RTU格式,那么模塊會將接收到的幀丟棄,而不予轉(zhuǎn)換。
對于CAN總線的Modbus協(xié)議數(shù)據(jù),無需做循環(huán)冗余校驗(CRC16),模塊按照分段協(xié)議接收,接收完一幀解析后自動加上循環(huán)冗余校驗(CRC16),轉(zhuǎn)換成Modbus RTU幀發(fā)送至串行總線。如果接收到的數(shù)據(jù)不符合分段協(xié)議,則將該組數(shù)據(jù)丟棄不予轉(zhuǎn)換。
串口側Modbus RTU數(shù)據(jù)(十六進制):
01 03 14 00 0A 00 00 00 00 00 14 00 00 00 00 00 17 00 2C 00 37 00 C8 4E 35
第一個字節(jié)01是Modbus RTU的地址碼,轉(zhuǎn)換成CAN報文幀的ID.7-ID.0:最后2個字節(jié)(4E 35)為Modbus RTU的CRC校驗,丟掉不轉(zhuǎn)換。
最終轉(zhuǎn)成CAN數(shù)據(jù)報文如下:
第1幀CAN報文:81 01 03 14 00 0A 00 00
第2幀CAN報文:a2 00 00 00 14 00 00 00
第3幀CAN報文:a3 00 00 17 00 2C 00 37
第4幀CAN報文:c4 00 c8
CAN報文的幀類型(標準幀或擴展幀)通過配置軟件設置;
每個CAN報文的第一個數(shù)據(jù)都有分段信息來填充(81、a2、a3和c4),該信息不轉(zhuǎn)換到Modbus RTU幀中,僅做為報文的確認控制信息。
相關文章推薦:
什么是控制器局域網(wǎng)CAN,can總線有哪些優(yōu)勢及特點?
【教程】Ebyte CAN分析軟件—ECAN Tools工具
基于CAN報文固定協(xié)議轉(zhuǎn)換器轉(zhuǎn)發(fā)教程
CAN轉(zhuǎn)RS485數(shù)據(jù)ECAN-101智能協(xié)議轉(zhuǎn)換設備AT指令集
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動化的發(fā)展,提升資源利用率,更多CAN模組、CAN DTU協(xié)議轉(zhuǎn)換設備等產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)和企業(yè)公眾號(微信號:cdebyte)進行了解,也可以直接撥打400電話咨詢技術專員!