0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【教程】使用ECAN-401实现ModBus转CAN

亿佰特物联网应用专家 2023-06-08 14:53 次阅读

首先,在开始实例演示前,我们需要了解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”的分段标识协议,以下表格和示例可以帮助理解:

bfc3c40a-00db-11ee-ba01-dac502259ad0.png

分段标记:表明该报文是否是分段报文。该位为 0 表示单独报文,为 1 表示属于被分段报文中的一帧。

分段类型:表明是第一段、中间段的还是最后段。

bfed6896-00db-11ee-ba01-dac502259ad0.png

分段计数器:每一个段的标志,表示该段在整个报文中的序号,如果是第几个段,计数器的值就是几。这样在接收时就能够验证是否有分段被遗失。共使用5Bit,范围为 0~31。

c01745e4-00db-11ee-ba01-dac502259ad0.png

示例: 帧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总线上数据:

c045c5e0-00db-11ee-ba01-dac502259ad0.png

在了解了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转换器连接到电脑,如下图所示:

c06488ea-00db-11ee-ba01-dac502259ad0.png

通过ECAN-401的上位机,将设备通讯模式切换为ModBus模式,参数配置如下图:

c10d49ee-00db-11ee-ba01-dac502259ad0.png

打开CAN分析仪ECAN-U01以及ModBus Poll软件,使用ModBus Poll 软件模拟出一个ModBus设备,通过ECAN-401的485串口发送ModBus 指令,这里可以看到ECAN-U01设备已经接收到了ECAN-401所转换出来的数据:

c137e29e-00db-11ee-ba01-dac502259ad0.png

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
    CAN
    +关注

    关注

    57

    文章

    2710

    浏览量

    463272
  • 通信
    +关注

    关注

    18

    文章

    5965

    浏览量

    135820
收藏 人收藏

    评论

    相关推荐

    OPCModbus网关是什么?有什么功能?

    在工业自动化领域,随着技术的不断发展和应用需求的多样化,不同设备和系统之间往往采用不同的通信协议。为了实现这些设备之间的无缝连接和数据交换,OPC(OLE for Process Control)
    的头像 发表于 10-09 14:00 166次阅读

    CANModbus TCP主站协议网关(YC-CAN-TCP)

    一,设备主要功能 远创智控YC-CAN-TCP网关实现连接CAN设备和网络到Modbus TCP网络系统。该网关可实现双向数据交换,既允许现
    的头像 发表于 08-26 11:29 277次阅读
    <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)

    Modbus RTU、Modbus TCPMQTT网关实现Modbus设备与云平台的无缝通信

    钡铼ModbusMQTT网关,简而言之,就是通过将Modbus协议(包括Modbus RTU和Modbus TCP)的数据转换为MQTT协
    的头像 发表于 07-23 16:58 2415次阅读
    <b class='flag-5'>Modbus</b> RTU、<b class='flag-5'>Modbus</b> TCP<b class='flag-5'>转</b>MQTT网关<b class='flag-5'>实现</b><b class='flag-5'>Modbus</b>设备与云平台的无缝通信

    CANmodbus转换器要满足哪些需求

    格式。这使得使用不同通信协议的设备之间能够相互通信和交换数据。 (2)设备集成与数据共享: 在远程监控系统和工业自动化中,各种设备可能采用不同的通信协议。通过使用CANModbus转换器,可以将这些使用不同协议的设备连接在一起
    的头像 发表于 06-13 17:29 699次阅读

    通讯协议转换ModbusProfinet网关

    ModbusProfinet网关是工业通信转换设备,能够实现Modbus协议与Profinet协议之间的有效转换和稳定传输。通过该网关,工业设备之间可以
    的头像 发表于 06-13 14:07 429次阅读
    通讯协议转换<b class='flag-5'>Modbus</b><b class='flag-5'>转</b>Profinet网关

    ProfiNetRS485/Modbus Rtu协议网关

    网关实现PNrs485、profinetRS485、Modbusprofinet、RS485
    的头像 发表于 06-13 08:55 606次阅读
    ProfiNet<b class='flag-5'>转</b>RS485/<b class='flag-5'>Modbus</b> Rtu协议网关

    PLC通过ProfinetModbus网关与流量计通讯案例

    ,可提供单路或多路RS485接口。Profinet Modbus网关每个串口可连接32个从站设备,可实现协议转换和接口转换。
    的头像 发表于 06-11 09:28 463次阅读
    PLC通过Profinet<b class='flag-5'>转</b><b class='flag-5'>Modbus</b>网关与流量计通讯案例

    ModbusProfinet网关替代伺服ethercat通讯现场调试案例

    ModbusProfinet网关(XD-MDPN100)可以实现Modbus协议和Profinet协议之间的转换和通信。Modbus
    的头像 发表于 06-05 21:06 735次阅读
    <b class='flag-5'>Modbus</b><b class='flag-5'>转</b>Profinet网关替代伺服ethercat通讯现场调试案例

    ModbusProfinet网关的实现方案

    ModbusProfinet网关(XD-MDPN100/200)具有广泛的应用价值。无论是汽车制造、机械加工还是能源管理,都可以通过使用该网关,实现设备之间的高效通信。其次,Modbus
    的头像 发表于 01-06 14:47 1189次阅读
    <b class='flag-5'>Modbus</b><b class='flag-5'>转</b>Profinet网关的<b class='flag-5'>实现</b>方案

    港口跨运车通信系统的ModbusTCPCAN协议的连接案例

    。 ModbusTCPCAN协议网关一侧与Modbus-TCP 连接,另一端CAN 用于实现跨运车中的
    的头像 发表于 01-03 13:53 367次阅读

    通过CANopenModbus TCP网关的伺服系统

    通过CANopenModbus TCP网关的伺服系统,我们能够实现CANopen协议与Modbus TCP协议之间的无缝转换,从而为伺服电机的通讯和控制带来更大的便利和灵活性。 首先
    发表于 01-02 16:51

    ModbusProfinet网关实现Modbus设备与Profinet设备的无缝连接

    ModbusProfinet网关(XD-MDPN100/2000)能够实现Modbus设备与Profinet设备的无缝连接。Modbus
    的头像 发表于 12-27 18:17 637次阅读
    <b class='flag-5'>Modbus</b><b class='flag-5'>转</b>Profinet网关<b class='flag-5'>实现</b><b class='flag-5'>Modbus</b>设备与Profinet设备的无缝连接

    ModbusEthernet网关在空调项目中的应用

    ModbusEthernet网关在空调项目中的应用主要是实现Modbus协议的设备与Ethernet网络的连接和数据传输。这种网关可以将Modbu
    发表于 12-26 19:26

    ModbusProfinet网关的作用

    ModbusProfinet网关(XD-MDPN100/2000)实现Modbus和Profinet协议的相互转换,支持多种Modbus
    的头像 发表于 12-25 09:21 369次阅读
    <b class='flag-5'>Modbus</b><b class='flag-5'>转</b>Profinet网关的作用

    ModbusCANopen协议相互转换在工业中的作用

    Modbus协议的消息解析为原始数据,例如传感器/执行器的状态或PLC的指令。2. 消息转换:将原始数据转换为CANopen协议的消息,以便在CAN总线上传输。 软件实现Modbus
    发表于 12-08 17:02