Advertisement

CAN转Modbus-RTU网关 SG-CAN-Modbus,详细介绍

阅读量:

一、产品概述

SG_CAN_Modbus是一款遵循Modbus RTU标准的协议式转换装置,在不更换现有硬件配置的前提下为设备提供CAN-Bus通讯接口,并集成单路RS-232通道、单路RS-485通道及单路CAN-Bus通道。使用本产品即可实现RS-232或RS-485设备与CAN-Bus网络之间的连接和数据传输。该装置可支持多种常用波特率参数设置(范围:1,2 Kbps至115.2 Kbps),并可配置多种常用CAN传输速率(范围:5 Kbps至500 Kbps)。

二、规格特性

实现 CAN-Bus 与 RS-232/RS-485 的双向数据通讯;

支持 CAN2.0A 和 CAN2.0B 协议,符合 ISO/DIS 11898 规范;

集成 1 路 CAN-bus 通讯接口,通讯速率在 5K~500Kbps;

集成 1 路 RS-232 和 1 路 RS-485 通讯接口,通讯速率在 1200~115200bps;

涵盖三种数据转换方案:包括透明传输方案、带有标志位的编码方案以及基于Modbus协议的设计方案。其中透明传输方案与带有标志位的编码方案均兼容RS-232接口及CAN总线;同时支持Modbus RTU协议以及基于Modbus协议的设计方案则兼容RS-485接口及CAN总线。

电源:DC 9-24 V,典型值 12V 50mA;

内置终端电阻,短接端口使能;

工作温度:-40℃ ~ 85℃。

性能参数:每秒传输 7,000 字节(无额外处理传输;其中 RS-232 接口的数据传输速率为 115,200 bps;以 CAN 总线接口实现的数据传输速率为 5,0, 线程)),内置有 21 千字节的接收缓存空间(能够有效处理突发数据流量而不发生数据丢失)

三、外观与接口定义

3.1 产品外观

3.2 接口定义

VIN+、VIN-分别为电源的正负极;

Res1+与Res1-位于CAN-Bus总线上作为使能端配置的固定阻值为120欧姆的终端电阻,在该节点配置需求满足时可直接短接这两个端子完成电路连接;系统中已预先设置好阻值为120欧姆的标准电阻

CAN_H、CAN_L 为 CAN 信号的连接端;

Res2+与Res2-为485总线上的120欧姆匹配电阻启用端;若该节点需120欧姆匹配电阻,则应将这两个接口短路;已预先配置好120Ω阻值的电阻。

485_A、485_B 为 485 信号的连接端,且已内置 150K 上下拉电阻;

STEND、MODE和SET是模式选择接口,在分别通过短接MODE和SET连接到设备后并进行重送电操作以切换至配置状态;同样地,在分别通过短接MODE和STEND连接到设备后并进行重送电操作以切换至收发状态。

RS-232 接口使用 DB9 母头接口,接口定义如下

3.3 指示灯说明

仅当存在数据传输时指示灯才会点亮(时间短暂),而连续的数据流会导致指示灯频繁闪烁。

3.4 接线说明

为了提高CAN-bus通信系统的稳定性,在设计CAN-bus总线网络时通常会引入终端匹配电阻(固定为120Ω),这一做法适用于设备连接到CAN-Bus总线的情况。具体而言,在设备连接至CAN-Bus末端时,则需要并联接入该阻值的终端匹配电阻;此时只需将引脚Res1+与Res1-进行短接即可(其中阻值为120Ω的标准阻器已预先配置完成)。

采用双绞线或屏蔽双绞线作为通信线路是CAN总线系统的基本配置。当通信距离超过1公里时,则要求通信线路的截面积必须至少为1.0毫米²。详细规格需根据具体需求确定,在实际应用中通常的做法是随着通信距离的增长而增大线路直径或截面积。

RS-485 采用了差分电平通信方式,在传输距离较长或传输速率较快的情况下会存在回波干扰现象;因此需要在通信线路的两端并联120欧姆的负载电阻用于匹配电路。建议当线路长度超过300米时才考虑安装匹配电阻以减少反射失真对信号的影响。若采用短路配置则需连接Res2+与Res2以完成阻抗匹配。

四、软件说明

4.1 软件参数

注意事项:

软件会自动失能无关选项。

标 准 帧 ID 共 11 位 范 围 0x001--0x7FF , 扩 展 帧 ID 共 29 位 范 围 0x00000000--0x1FFFFFFF。

串行帧占用两个字节(十六位)中低位表示标准帧,在更高位置时则使用四个字节(三十二位)中的低位部分来标识扩展帧

在开启透明传输模式时若启用了"将 CAN 帧 ID 转发至串行框选项"

在采用带有标志位的转换模式时会将串行帧中的ID字段位数据编码为CAN发送字节,并将其发送至相应的CAN通道位置。建议在接收扩展帧时,请将ID字段长度设置为4个字节以确保准确性;否则可能导致错误信息的传递。

在Modbus转换模式下,系统会将485通道接收的每帧数据中的首字节(即地址)转译为CAN发送ID.同时,CAN总线接收的CAN帧ID的最低8位(相当于一个字节)被相应地转译为Modbus应答帧的第一个字节(地址)。

帧间距离用于判断...完成与否。
若在超过...的时间内未接收下一字节,则认为当前的一组数据已结束。
其单位相当于设定的波特率下的一个字节持续时间。
按照Modbus RTU通信协议规定,在波特率不超过19,200的情况下...;而当波特率超过该值时,则采用固定时长为...的处理方式。
因此,本设备的三种转换模式同样遵循这一规定,即(帧间距离÷波特率)不得低于(3.5÷19,200)。

4.2 配置说明

在使用本产品之前必须按照配置软件的要求设置完成收发模式和参数。如果不按照配置软件的要求设置完成收发模式和参数,则软件将按最近一次配置模式进行工作。

在配置过程中将SET端与MODE端短接,在此之后使用USB转串口线将电脑与设备的232接口相连后重新开机。接着启动配置软件,在界面中设置设备型号为CAN网关,并依次选择相应的串口号,并开启后完成参数设置

正确设置参数后点击"配置"按钮即可将配置信息存储至设备中;随后软件将提示配置是否完成

五、转换方式

5.1 透明传输

5.1.1 串行帧到 CAN 通道

设备通过PC端软件预先设置的CAN帧类型与ID作为发送端的类型与ID,并持续不断地接收并通过RS-232接口传递数据。

当232接口接收连续的8位数据块或者未达到该数量但一帧结束时立即转发至CAN总线,在每一帧结束时发送足够的数据块直到最后一段时间不足为止;若一帧串口数据超过该数量,则逐次发送直至最后一段时间不足;若一帧串口数据少于或等于该数量,则一次性发送完毕。

在串行转CAN的过程中产生的帧信息中包含着标准或扩展类型的分组信息以及数据字节长度;其中该值是由软件配置设置好的,在整个配置期间其值保持不变。

5.1.2 CAN 通道到串行帧

当 CAN 总线接收一包 CAN 消息(每包不超过8个字节)时会立即转发至232端口。若启用"将 CAN 消息发送到串行框"功能,则消息将在首字节中填入;若启用"将 CAN 消息ID发送到串行框"选项,则消息将在后续的2个字节(标准框)或4个字节(扩展框)中填入,在此之后再填入数据部分。

5.2 带标志转换

5.2.1 串行帧到 CAN 通道

带有标志的转换操作可以通过配置软件参数设置来实现,在发送数据时的CAN协议中,具体应在串行帧中的哪个字节位置开始(从0号位开始),并确定其长度为多少(1至4位)。

232 接口接收一帧串行数据后会依据上述配置取出其ID并据此作为CAN发送该ID随后发送这一帧串行数据

采用带标志转换的方式同样是进行边收边转发的操作。当且仅当该接口接收到了包含完整ID的信息,并且所接收的数据量达到了8个字节或者达到了一个完整的帧时,则会立即执行转发操作。

如图所示:该系统采用标志式编码转换模式,并以标准帧格式发送数据。其中ID字段长度设置为2位,并起始于第2个字节(从0号位开始计数)。一旦接收端接收前4个字节的数据块即可识别该ID值。接收到完后立即启动发送流程:在确认前10个字节数据完整后立即开始输出数据包;随后每接收完8个字节的数据块后立即执行发送操作直至当前帧全部传输完毕。然后等待下一个连续帧段的开始传输

注意事项:串行帧中 ID 长度与 CAN 发送 ID 对应关系

5.2.2 CAN 通道到串行帧

每当接收一帧数据时都会立即转发至232接口,并将相应的CAN帧ID填入指定位置。由于串行总线帧格式的要求,从而要求软件配置中的CAN参数(如类型和ID长度)必须与网络配置保持一致。

注意事项:CAN 发送 ID 填充到串行帧规则

5.3 Modbus 转换

在Modbus转成CAN模式下运行时, 设备不会充当Modbus主站或从站, 只会负责将所有的Modbus帧通过CAN网络传输出去; 同时, 另一台遵循同一协议的设备会还原接收到的Modbus指令, 并将相应的响应帧发送至CAN网络

RS-485遵循Modbus RTU规范,在软件配置阶段必须保证设置满足Modbus RTU协议的要求

Modbus RTU 协议遵循规定其数据格式包括以下要素:起始标志、8位数据字段以及停止标志。其中偶数奇偶校验方案可选(若选择无奇偶校验则需将停止标志设置为两位)。系统采用16位循环冗余校验(CRC16)进行验证每帧最大长度限定为256个字节。

该装置在接收到完整的Modbus帧数据块时会执行模组数据完整性校验功能,在检验无误后将该完整的Modbus数据块传输至CAN总线网络中传输过程末尾的两个字节字段不会包含在内由于其极高的可靠性特征误码率极低因此无需单独发送

5.3.1 RS-485 通道到 CAN 通道

Modbus转成 Canonical与其他两种转换方式不同。仅在接收完整一帧 ModBus 之后, 设备将 ModBus 的第一 字节 (地址 字节)作为 Canonical 发送 ID,并采用以下分 段方式进行 拆解 并完成 Canonical 通道 的转发 。由于每 帧 Canonical 最多 包含8个 数据 因此为了能在另一 端正确地 完成 对一 基本 单元 的拼接 参考 DeviceNet 分 段报文传送 协议 进行 拆解 然后通过 Canonical 通 道发送 在另一 端按 此 协议重组

由于Modbus转换模式仅在接收完整一帧Modbus数据时才会转发,并遵循‘问答’型交互机制,在接收到相应响应后才可发送下一组Modbus数据;同样可以在超时未得到回应的情况下再次发送。若发送频率过高,在完成当前轮次查询后立即发下一个询问请求可能导致信息丢失或数据错误。

分段拆包格式如下:

分段标记:0 单独报文,1 分段报文中的一段;

分段类型:0 第一个分段,1 中间分段,2 最后分段

分段计数器:每一段的标志,该段在整个报文中的序号 0-31

5.3.2 CAN 通道到 RS-485 通道

该设备接收并解析来自CAN通道的数据帧,并按照拆包规则将其逆向组合;随后,在完成逆向组合后,在数据末尾添加两个字节的CRC校验码,并通过RS-485通信总线传输出去。

全部评论 (0)

还没有任何评论哟~