一、概述
1.1 功能
本网关可通过自带的配置软件设置成两种不同的通信网关: (1)CANopen 做主站/Modbus 做从站网关:CANopen 主站协议与 Modbus从站协议之间的转换,可实现单个 CANopen 从站设备与 Modbus 主站之间的数 据通信,典型应用拓扑如下:
(2)CANopen 做从站/Modbus 做主站网关:Modbus 主站协议与 CANopen从站协议之间的转换,可实现多个 Modbus 从站设备与 CANopen 主站之间的数 据通信,典型应用拓扑如下:
1.2 硬件说明
1.2.1 指示灯说明
设备共有 6 个指示灯,其功能如下图所示:
1.2.2 接线端子说明
1.2.3 拨码开关说明
拨码开关用于设置网关 CANopen 侧的节点 ID,即 nodeID,有效范围为 1~127(01h~7Fh),如下图所示,nodeID = 16*0 + 1*2= 2;如果在网关运行过程中改 变拨码开关的值,网关会在 3S 后自动重启,用户也可手动重启。
如果想通过配置软件给网关下载配置信息,需将 nodeID 设置为 0,此时 SYS灯熄灭,然后可下载配置,待弹出“配置成功”的窗口时,可关闭串口,并将 nodeID设置为想要的值即可。
如果 128,SYS 灯会快闪,指示 nodeID 设置错误,此时需 将 nodeID 设置为有效值,方可继续使用。
1.2.4 电源
二、 CANopen 做主站/Modbus 做从站
2.1 功能特点
(1)自带网关配置软件,配置信息可通过 PC 的 USB 口下载进网关设备,设备 自动保存最新配置信息,设备断电再上电后无需加载配置;
(2)网关在 CANopen 网络上是 CANopen 主站,在 Modbus 网络上是 Modbus从站,可以实现单个 CANopen 从站与 Modbus 主站之间的数据通信;
(3)CANopen 支持 CANopen DS301;支持 NMT、Heartbeat、64 个 8 字节 TPDO和 64 个 8 字节 RPDO、快速 Download SDO 和快速 Upload SDO 总共可配置 80个;
(4)支持 CAN 波特率:5K~1Mbps,默认 20K;
(5)Modbus 从站支持功能码:3、4、6、16 号功能码;
(6)支持串口波特率 1200~115200bps,默认 9600;
(7)支持 RTU 通讯格式;8 位数据位,无校验、奇校验、偶校验可选,默认无 校验,1 停止位、2 停止位可选,默认 1 停止位;
(8)数据交换缓存区包括 512 字节的输入缓冲区和 512 字节的输出缓冲区;
(9)内置 120 欧姆终端电阻。
2.2 工作原理
网关数据交换图如下图所示:
输入输出缓冲区地址范围均为 0~255Word。
512 字节输入缓冲区用于存放输入寄存器数据,输入缓冲区被映射到CANopen 的 RPDO 中,网关可通过 RPDO 和 SDO 读命令获取 CANopen 从站发 来的数据,并将数据保存在输入缓冲区中,Modbus 主站可通过 4 号功能码来读 取输入缓冲区中缓存的最新数据。
512 字节输出缓冲区用于存放保持寄存器数据,输出缓冲区被映射到CANopen 的 TPDO 中,当 Modbus 主站通过 6 和 16 号功能码向网关的输出缓冲 区写数据且写的数据与缓冲区原来的数据不一样时,会触发 TPDO 和 SDO 写命 令,将数据发送给 Canopen 从站。Modbus 主站也可通过 3 号功能码来读取网关 的输出缓冲区中的数据。
PDO 采用生产者/消费者模式来传输数据,只有请求没有应答,响应快,适 合对响应速度要求高的场合。SDO 采用客户机/服务器模式进行数据传输,有请 求也有应答,响应速度慢,但可靠性高。所以对可靠性要求比较高的数据可配置SDO 命令来传输数据,否则就配置 PDO 来传输数据。
2.3 Modbus 主站控制 CANopen 从站状态的原理
为了使 Modbus 主站控制和获取 CANopen 从站的状态,网关另外分配了状 态输入缓冲区和控制命令输出缓冲区,且状态输入缓冲区与 512 字节的输入缓冲 区是一个连续的数据存储区,控制命令输出缓冲区与 512 字节的输出缓冲区是一 个连续的数据存储区,所以 2 个状态缓冲区起始地址均为 256,每个地址可以存 放 2 个字节的数据。
Modbus 主站通过网关获取和设置 CANopen 从站状态的原理图如下:
如上图所示,Modbus 主站可通过 4 号功能码来读取 CANopen 从站的状态、 通过 6 和 16 号功能码将控制命令写入输出缓冲区,网关收到控制命令后会通过NMT 命令控制 CANopen 从站的状态。