一、Modbus介绍
Modbus 协议是应用于电子控制器上的一种通用语言。Modbus 是一个请求/应答协议。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。因为有了Modbus协议,不同厂商生产的控制设备可以连成工业网络,进行集中监控。Modbus 协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。
MODBUS协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。
二、Modbus采集配置
MODBUS协议具体采集配置配合设备仪表:
例如:
1.协议类型:Modbus-RTU协议
2.物理层:(这是配合网关接线以及要配置的数据)
(1)传输接口:RS-485(差分)
(2)通讯地址:1~247
(3)通讯波特率:4800 bps或9600 bps或19200 bps或38400bps
(4)通讯介质:屏蔽双绞线
3.数据链路层
(1)一个数据帧格式:1位起始位,8位数据,2位停止位。
(2)一个数据包格式:(该仪表为BIT 数据)
地址 Address | 功能 Function | 数据 Data | 校验码 CRC |
8 bits | 8 bits | N×8 bits | 16 bits |
以微控Modbus配置软件来讲解网关接口属性:
配置设备属性:
4.变量地址分配
变量地址分配是具体仪表以及设备功能去做的配置,以实现数据采集。以下图设备寄存器地址进行演示配置:
配置变量地址:
5.读数据功能码3(03H):
三、Modbus通讯报文
一个报文就是一帧数据,一个数据帧就一个报文:指的是一串完整的指令数据,就像上面的一串数据。
报文模型:
网关报文发出与接受:
TX为发出报文,RX为接收报文
四、modbus转发配置
本次采用模拟TCP 设备发出的数据。ModbusTCP是运行在TCP/IP上的Modbus报文传输协议。通过此协议,控制器相互之间通过网络(例如以太网)和其他设备之间可以通信。ModbusTCP是开放的协议,IANA给Modbus协议赋予TCP编口号为502,这是目前在仪表与自动化行业中唯一分配到的端口号。
(modsim32)
流程图:
采用公司产品 网关 网口(NET1)接受数据。具体配置如下:
Modbus 转发配置如下:
通讯方式选择:TCPClient
IP要转发的的地址,
端口号要与转发端口设置一致,
驱动选择:DeliverModbus
建立转发设备数据如下图:
云服务接受转发的数据(118.190.90.201)配置如下:
在网口NET做配置:
通讯方式:TCPSever
IP 以及端口号要与转发端一致
驱动:Modbus
字节流:TCP
建立接收设备配置 如下图:
连接成功后:连接状态为1 ,发送字节和接收字节 都有数据。
五、Modbus通讯报文
Modbus TCP 通讯报文
发出报文解析:
06:报文长度 01:地址 03:功能码 0000:寄存器起始地址 0002:寄存器长度
接收报文解析:
07:报文长度 01:地址 03:功能码 04:数据字节长度 00000000:为4个字节长度(00一个字节长度)
本文暂时没有评论,来添加一个吧(●'◡'●)