Modbus-RTU常用功能代码03、06、16的介绍
Kingview软件是工业自动化行业中使用的一种界面软件,主要用于现场应用,适用于现场工程师,FAE编程等,具有内置的通用通信模块,通用接口组件等。
它可以与其他设备完成数据通信设备通过RS232接口,RS485接口和以太网接口。
Modbus协议主要有两种版本,RTU和TCP / IP。
RTU可以通过RS485接口实现,而TCP / IP可以通过以太网端口实现。
这两个协议通常用于工业控制行业和自动化行业。
下面介绍通过RS485接口和Modbu-RTU进行数据通信的过程。
Modub-RTU协议的特定内容。
该协议是主从通信模式。
一个主站可以连接到多个从站,每个从站都有一个唯一的地址来标识身份,并通过不合理的功能代码来实现所需的功能。
读/写的内容。
作为一个简单的应用程序,它主要涉及0x03的功能代码以读取保持寄存器,0x06的功能代码以预置一个寄存器,以及0x10的功能代码预置多个寄存器。
读取保持寄存器功能代码0x03主机发送03功能代码时,表明它主要是想获取从机某个寄存器中的内容。
完成的命令包括主机发送的数据和从机返回的数据。
示例如下::01 03 00 32 00 02 xx xx主机回复:01 03 04 a5 d4 1812 xx xx数据和字节的含义如下图所示。
主机发送的命令表明它要读取从1号从机的0x32开始的2个寄存器的内容,并且从机回复0x32和0x33寄存器中的数据,共4个字节。
最后两个字节是校验码。
主机使用预设的单寄存器功能代码0x06 06功能代码将数据写入从机的某个寄存器,并一次智能操作一个寄存器。
主机发送的数据示例如下:主机发送:01 06 00 32 12 32 xx xx主机发送的数据和字节的含义如下图所示。
使用此功能代码,从机返回的数据与主机发送的数据一致。
该指令的含义是:主机希望将0x1232数据写入1号从机的0x32寄存器中,并在最后执行校验码。
预设多个寄存器功能代码0x 10 16个功能代码也是写寄存器,但与06不同,该功能代码可以连续写入多个寄存器。
主机发送的数据结构为:地址,功能代码,寄存器起始地址,寄存器数,要写入的数据字节数,数据,校验码等。
从机返回的数据格式为:地址,功能代码,寄存器起始地址,寄存器数量,校验代码等。
数据格式和字节含义的示例如下图所示。
含义是,从0x0034开始,将四个字节的数据写入两个寄存器,最后两个字节是校验码。
以上三个功能代码非常常用。
此外,还有许多功能代码。
每个功能代码代表一个不合理的含义。
以上数据需要编程才能实现。
免责声明:本文内容经21ic授权后发布,版权归原作者所有。
该平台仅提供信息存储服务。
本文仅代表作者的个人观点,并不代表该平台的立场。
如有任何疑问,请与我们联系,谢谢!