Modbus协议及poll,slave仿真

1.Modbus协议包括

  1. MODBUS-RTU:用的多,Rtu走的是二进制,如1-1;10-0x0A/10dec
    在这里插入图片描述

  2. MODBUS-ASCII:ASCII走的是字符,10-0x31 0x30;

  3. MODBUS-TCP:

2.信息的交互

现行MODBUS标准中定义了19种交互流程,分别对应一种功能码,常用流程对应的功能码为01-06,15,16,主要完成数据的读写。——主机发送请求,从机响应数据。
由于MODBUS-RTU协议通常用于非平衡传输总线(RS485),协议要求严格遵守同步请求模式,即主机发送请求后直至接收从机回复数据或超时无响应,主机才能发送其他请求,同时总线上只能有一个主机。

RS485

RS-485又名TIA-485-A, ANSI/TIA/EIA-485或TIA/EIA-485。
RS485是一个定义平衡数字多点系统中的驱动器和接收器的电气特性的标准
多采用的是两线制接线方式,这种接线方式为总线式拓扑结构,在同一总线上最多可以挂接32个节点。
RS-485的电气特性:逻辑“1”以两线间的电压差为+(2—6)V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。

3.Modbus存储区

modbus与PLC是什么关系?

Modbus起初是为PLC开发的,所以寄存器的定义会参考PLC的一些寄存器配置,但Modbus并不仅限于PLC。

Modbus存储

数据类型:布尔量 寄存器
只读布尔量——叫做——输入线圈——规定——1区(10001,19999)
只读寄存器——输入寄存器——规定——3区(30001,39999)
读写布尔量——输出线圈——规定——0区(00001,09999)
读写寄存器——输出寄存器——规定——4区(40001,49999)

4.功能码

在这里插入图片描述

5.使用Modbuspoll,ModbusSlave,及VSPD仿真

ModbusPoll/ModbusSlave/VSPD
ModbusPoll ——客户端,主站
ModbusSlave——服务器,从站
VSPD扮演虚拟串口——是一对19,20,往COM19输数据,COM20能得到。串口波特率96N81
从站设置:
在这里插入图片描述
主站设置:
在这里插入图片描述

在这里插入图片描述
只要改从站上的值,主站上的寄存器值就会变。

6.看报文(从站观察)

在这里插入图片描述

从站收

000000-Rx:01 03 00 00 00 0A C5 CD——————这个是从站收
01——主站地址
03——功能码
00 00——起始地址
00 0A——数量10个寄存器,20个
C5 CD——校验
在这里插入图片描述

从站发

000001-Tx:01 03 14 00 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CC 5F——————这个是从站发,就是把从站的数据发到主站

01——主站地址
03——功能码
00 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00——10个值 如00 64表示第一个寄存器的值(2个字节)注意是16进制所以是0x64=100Dec。

在这里插入图片描述
Tip:其中的字节计数是可以变的,切合数据量匹配。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值