一、概述
1.1 功能
本网关可通过自带的配置软件设置成两种不同的通信网关:
(1)CANopen 做主站/Modbus 做从站网关:CANopen 主站协议与 Modbus从站协议之间的转换,可实现单个 CANopen 从站设备与 Modbus 主站之间的数 据通信,典型应用拓扑如下:
(2)CANopen 做从站/Modbus 做主站网关:Modbus 主站协议与 CANopen从站协议之间的转换,可实现多个 Modbus 从站设备与 CANopen 主站之间的数 据通信,典型应用拓扑如下:
1.2 硬件说明
1.2.1 指示灯说明
1.2.2 接线端子说明
二、 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.2.1 Modbus 主站控制 CANopen 从站状态的原理
为了使 Modbus 主站控制和获取 CANopen 从站的状态,网关另外分配了状 态输入缓冲区和控制命令输出缓冲区,且状态输入缓冲区与 512 字节的输入缓冲 区是一个连续的数据存储区,控制命令输出缓冲区与 512 字节的输出缓冲区是一 个连续的数据存储区,所以 2 个状态缓冲区起始地址均为 256,每个地址可以存 放 2 个字节的数据。
Modbus 主站通过网关获取和设置 CANopen 从站状态的原理图如下:
如上图,Modbus 主站可通过 4 号功能码来读取 CANopen 从站的状态、 通过 6 和 16 号功能码将控制命令写入输出缓冲区,网关收到控制命令后会通过NMT 命令控制 CANopen 从站的状态。
三、CANopen 做从站/Modbus 做主站
3.1 功能特点
(1)自带网关配置软件,配置信息可通过 PC 的 USB 口下载进网关设备,设备 自动保存最新配置信息,设备断电再上电后无需加载配置;
(2)网关在 CANopen 网络上是 CANopen 从站,在 Modbus 网络上是 Modbus主站,可实现 CANopen 主站与多个 Modbus 从站之间的数据通信;
(3)CANopen 支持 CANopen DS301;支持 Heartbeat、64 个 8 字节 TPDO 和 64个 8 字节 RPDO、支持 SDO 对输入输出缓冲区的访问;
(4)支持 CAN 波特率:5K~1Mbps,默认 20K;
(5)Modbus 从站支持功能码:1、2、3、4、5、6、15、16 号功能码,Modbus命令最大支持 64 条;
(6)支持串口波特率 1200~115200bps,默认 9600bps;
(7)支持 RTU 通讯格式;8 位数据位,无校验、奇校验、偶校验可选,默认无 校验,1 停止位、2 停止位可选,默认 1 停止位; (8)数据交换缓存区包括 512 字节的输入缓冲区和 512 字节的输出缓冲区; (9)内置 120 欧姆终端电阻。
3.2 工作原理
512 字节输入缓冲区包括 160 字节(1280bits)的数字量输入(DI)缓冲区(用 于存放离散量输入数据)和 352 字节的模拟量输入(AI)缓冲区(用于存放输入寄 存器数据)。输入缓冲区被映射到 CANopen 的 TPDO 中,网关可通过 Modbus读命令获取 Modbus 从站的离散量输入和输入寄存器数据,如果数据发生变化, 则触发对应的 TPDO 将数据发送给 CANopen 主站。
512 字节输出缓冲区包括 160 字节(1280bits)的数字量输出(DO)缓冲区(用于线圈状态数据)和 352 字节的模拟量输出(AO)缓冲区(用于存放保持寄存器数 据)。输出缓冲区被映射到 CANopen 的 RPDO 中,网关可通过 RPDO 接收CANopen 主站发来的数据,保存在输出缓冲区中,网关轮询 modbus 命令时,会 把最新数据发送给 Modbus 从站。
https://item.taobao.com/item.htm?spm=a21dvs.23580594.0.0.1d292c1bPrlKoL&ft=t&id=760587252675
标签:Modbus,网关,CN,CANopen,RTU,缓冲区,输入,字节 From: https://blog.csdn.net/ddjy8/article/details/141635780