一、Modbus通信概览
1.Modbus是一种串行通讯协议,是为了PLC的数据通信而设计发明的,广泛用于串口,以太网等物理链路上,基于Master/slave模式,一主多从(多主多从)
寄存器种类 | 说明 | PLC IO | 举例 |
---|---|---|---|
线圈 Cool | 可读可写 | DO 数字量输出 | 电磁阀,二极管 |
离散输入 Discrete Input | 只读 | DI数字量输入 | 拨码开关,接近开关 |
保持寄存器 Holding Register | 可读可写 | AO模拟量输出 | 电压值,PID参数 |
输入寄存器 Input Register | 只读 | AI模拟量输入 | 温度传感器 |
寄存器种类 | 寄存器地址 | 常用功能码 | 读取权限 |
---|---|---|---|
线圈 Cool | 00001-09999 | 01,05,0F | 读写 |
离散输入 Discrete Input | 10001-19999 | 02 | 只读 |
保持寄存器 Holding Register | 30001-39999 | 04 | 读写 |
输入寄存器 Input Register | 40001 | 03,06,0F | 只读 |
1.介质区分
名称 | 连接方式 | 工作状态 | 区别 |
---|---|---|---|
RS232 | 点对点链接 | 全双工 | 使用一根TX线一根RX线连接,所以只能进行点对点连接,即一主一从的连接,由于收发线相互独立,可以进行全双工通讯 |
RS485 | 总线型链接 | 半双工 | 一种总线型的连接,可以把多个设备串接在一起形成一种菊花链拓扑,由于采用两根双绞线组成的一种差分信号传输,所以只能同时进行传输或接收中的一种 |
RS422 | 总线型链接 | 全双工 | 相对于485,采用了两对如485的差分信号,所以可以同时收发 |
Ethernet | 灵活拓扑 | 全双工 | 以太网,支持的拓扑结构非常灵活 |
2.Modbus分类
常见的三种模式:
名称 | 备注 |
---|---|
Modbus RTU(UART) | 自行填写CRC、二进制数据 |
Modbus ASCII(UART) | 自行填写CRC、ASCII码数据 |
Modbus TCP(Ethernet TCP/IP) | TCP协议栈负责CRC、丢包由TCP协议栈处理、二进制数据 |
前两种区别在于ASCII码可以读懂,比二进制占用更多的数据,报文会更长。在串行通讯中,都需要自行填写CRC校验字段。
3.Modbus on B&R
在进行modbus通讯之前,要根据设备选取通讯方式(选取是串口还是以太网)
3.1串口方式
主栈
第一步到logical view中添加库,在B&R libraries中找到DRV-mbus,并添加到libraries的文件夹下。
第二步,添加这个库的例程,选择Library Samples,选中DRV-mbus这个库,把对应的例程添加。
在添加的例程中可以看到一个主栈,一个从栈两个对应的功能模式,并且都是使用的DRV-mbus这个库。
对于主栈,需要结合一个datamod使用,打开datamod,在datamod中需要填写一个配置文件,这个配置文件就是用来控制主栈如何访问从结点的行为,且有对应说明。
第一段 | 第二段 | 第三段 | 第四段 | 第五段 | 第六段 |
---|---|---|---|---|---|
控制变量 | 功能码 | 从栈地址 | 主栈上的变量 | 寄存器的偏移 | 寄存器的数量 |
当控制变量为真,执行modbus功能码 |
通过填写这样一个配置文件的方式,来实现串行的modbus的通讯。对应的在程序当中,也会调用modbus的功能块,会先进行打开,在进行一个周期性的调用。
从栈
对于从栈来说,就不需要填写这样的一个配置文件。从栈相当于被动的等待主栈的请求访问。
在调用从栈功能块的时候,除了要设置好串行口的地址以及串行口的参数以外,主要要填写四个寄存器对应的程序当中的变量。例如填写ADR(MB[0]),当主栈进行读写请求的时候访问到的就是这些变量里的值,这个就是所介绍的串行的modbus通讯的方式。
3.2以太网Modbus TCP通讯方式
在Modbus TCP一个应用当中可以通古以太网的configuration来实现我们所需要的功能(在physical View中找到),打开以太网配置并拉到底部,可以通过配置激活一个modbus功能,可以同时打开主,从功能,这里的操作会在下一节里介绍。
内容来源为链接: Modbus Overview.
版权声明:本文为CSDN博主「moehre」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/moehre/article/details/122566636
一、Modbus通信概览
1.Modbus是一种串行通讯协议,是为了PLC的数据通信而设计发明的,广泛用于串口,以太网等物理链路上,基于Master/slave模式,一主多从(多主多从)
寄存器种类 | 说明 | PLC IO | 举例 |
---|---|---|---|
线圈 Cool | 可读可写 | DO 数字量输出 | 电磁阀,二极管 |
离散输入 Discrete Input | 只读 | DI数字量输入 | 拨码开关,接近开关 |
保持寄存器 Holding Register | 可读可写 | AO模拟量输出 | 电压值,PID参数 |
输入寄存器 Input Register | 只读 | AI模拟量输入 | 温度传感器 |
寄存器种类 | 寄存器地址 | 常用功能码 | 读取权限 |
---|---|---|---|
线圈 Cool | 00001-09999 | 01,05,0F | 读写 |
离散输入 Discrete Input | 10001-19999 | 02 | 只读 |
保持寄存器 Holding Register | 30001-39999 | 04 | 读写 |
输入寄存器 Input Register | 40001 | 03,06,0F | 只读 |
1.介质区分
名称 | 连接方式 | 工作状态 | 区别 |
---|---|---|---|
RS232 | 点对点链接 | 全双工 | 使用一根TX线一根RX线连接,所以只能进行点对点连接,即一主一从的连接,由于收发线相互独立,可以进行全双工通讯 |
RS485 | 总线型链接 | 半双工 | 一种总线型的连接,可以把多个设备串接在一起形成一种菊花链拓扑,由于采用两根双绞线组成的一种差分信号传输,所以只能同时进行传输或接收中的一种 |
RS422 | 总线型链接 | 全双工 | 相对于485,采用了两对如485的差分信号,所以可以同时收发 |
Ethernet | 灵活拓扑 | 全双工 | 以太网,支持的拓扑结构非常灵活 |
2.Modbus分类
常见的三种模式:
名称 | 备注 |
---|---|
Modbus RTU(UART) | 自行填写CRC、二进制数据 |
Modbus ASCII(UART) | 自行填写CRC、ASCII码数据 |
Modbus TCP(Ethernet TCP/IP) | TCP协议栈负责CRC、丢包由TCP协议栈处理、二进制数据 |
前两种区别在于ASCII码可以读懂,比二进制占用更多的数据,报文会更长。在串行通讯中,都需要自行填写CRC校验字段。
3.Modbus on B&R
在进行modbus通讯之前,要根据设备选取通讯方式(选取是串口还是以太网)
3.1串口方式
主栈
第一步到logical view中添加库,在B&R libraries中找到DRV-mbus,并添加到libraries的文件夹下。
第二步,添加这个库的例程,选择Library Samples,选中DRV-mbus这个库,把对应的例程添加。
在添加的例程中可以看到一个主栈,一个从栈两个对应的功能模式,并且都是使用的DRV-mbus这个库。
对于主栈,需要结合一个datamod使用,打开datamod,在datamod中需要填写一个配置文件,这个配置文件就是用来控制主栈如何访问从结点的行为,且有对应说明。
第一段 | 第二段 | 第三段 | 第四段 | 第五段 | 第六段 |
---|---|---|---|---|---|
控制变量 | 功能码 | 从栈地址 | 主栈上的变量 | 寄存器的偏移 | 寄存器的数量 |
当控制变量为真,执行modbus功能码 |
通过填写这样一个配置文件的方式,来实现串行的modbus的通讯。对应的在程序当中,也会调用modbus的功能块,会先进行打开,在进行一个周期性的调用。
从栈
对于从栈来说,就不需要填写这样的一个配置文件。从栈相当于被动的等待主栈的请求访问。
在调用从栈功能块的时候,除了要设置好串行口的地址以及串行口的参数以外,主要要填写四个寄存器对应的程序当中的变量。例如填写ADR(MB[0]),当主栈进行读写请求的时候访问到的就是这些变量里的值,这个就是所介绍的串行的modbus通讯的方式。
3.2以太网Modbus TCP通讯方式
在Modbus TCP一个应用当中可以通古以太网的configuration来实现我们所需要的功能(在physical View中找到),打开以太网配置并拉到底部,可以通过配置激活一个modbus功能,可以同时打开主,从功能,这里的操作会在下一节里介绍。
内容来源为链接: Modbus Overview.
版权声明:本文为CSDN博主「moehre」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/moehre/article/details/122566636
暂无评论