模拟串口通讯-RTU
演示用的版本poll(),slave(7.3.0)
首先配置slave从机。打开软件。第一个界面。id=1表示从机地址。F=03表示协议功能码。03就是读保持寄存器。
选择工具栏的setup-slave definition(快捷键F8)。这里代表的意思已标注。配置好以后点击ok
选择工具栏的setup-Connection-connect,出现如下界面,配置好后点击ok。这里参数比较多,说明下
connection: Serial port 表示传输方式是串行端口
Serial setting: 设置刚刚的虚拟端口
9600 Baud 波特率
8data bits 数据位
Parity 校验位
stop bit 停止位
mode :rtu
这里就是设置串口参数
配置好以后点击ok,就会出现如下界面
至此,从机的配置我们做完了,接着我们操作poll(主机)。同样的打开poll,
出现如下界面:
tx =0 发送0次命令
err =0错误次数0,
id = 从机ID,
f = 功能号03,
sr= 轮询间隔1000ms
选择工具栏的setup-slave definition(快捷键F8).这里就是设置要通讯的从机地址1,功能码。寄存器地址数量,和轮询时间
选择工具栏的setup-Connection-connect。串口参数和传输模式得和从机一致。
端口是com1-com2.
点击ok以后。就会发现连接成功
为了方便调试,我们可以查看通讯数据帧。选择工具栏中的Display-Communication.
可以显示出当前发送命令和接受的数据。图下图就是收发的数据帧。
这里的数据帧含义解析:
Rx表示接收的数据帧
Tx表示发送的数据帧
000089这样的6位表示序列号
随便看一条数据
Tx:000090-01 03 00 00 00 0A C5 CD
01 从机地址
03 功能码
00 00 00 0A 数据
C5 CD 校验