03������������������,Modbus

组态王软件是工业自动化行业应用的界面软件,主要面向现场应用适合现场工程人员、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

主机发送的数据和字节含义如下图所示。

该功能码,从机所回复的数据和主机下发的数据是一致的。该条指令的含义为:主机想给1号从机的0x32寄存器中写入0x1232数据,最后所跟的是校验码。

预置多个寄存器功能码0x10

16功能码也是写寄存器但是与06所不同的是,该功能码可以连续写多个寄存器,主机下发的数据结构为:地址、功能码、寄存器起始地址、寄存器个数、要写入数据的字节数、数据、校验码等。从机回复的数据格式为:地址、功能码、寄存器起始地址、寄存器个数、校验码等。

数据格式举例和字节含义如下图所示。

所表示的含义是,从0x0034开始连续写入四个字节的数据到2个寄存器中,最后两个字节是校验码。

以上三个功能码都是非常常用的,除此之外,还有很多个功能码,每个功能码都代表不通的含义,以上数据都是需要编程来实现的。

Modbus-RTU常用功能码03,06,16介绍 - 云+社区 - 腾讯云微信,是一个生活方式 - QQ1.00e+02和2.34e-03 表示什么意思?好像是个数值_百度知道 ...长沙市中级人民法院2021年公开招聘合同制法官助理、书记员 ...189阳光高考_教育部高校招生阳光工程指定平台 - chsi.com.cn新浪首页携程旅行网官网:酒店预订,机票预订查询,旅游度假,商旅管理河南农信个人网银关于fwrite写文件,文件尾出现乱码的问题?java io流字符乱码问题'\0'于'0'的区别python requests 读取url 输出中文乱码Caltech行人数据集转化VOC数据集解决问题:使用nvm use出现exit status 1与exit status 145乱码使用idea开发的时候,出现乱码现象,想了很多办法怎么也解决不了,不说了,看图!!!logback乱码最快解决办法DefaultVFS - Reader entry: ���� 4 O乱码问题билды по расписанию падаютオラクル カーソルの使用在处理中文字符串的时候,如何处理这个字符IDEA控制台乱码问题,原因&解决方式,解决不了算我输IO使用BufferedReader字符流读取文件中文乱码问题Eclipse控制台键盘输入乱码问题的解决Token解密出错:The string "此处为乱码'' doesn't have a valid JSON format(已解决)根据乱码分析编码错误原因Android Studio 中文注释导致编译失败的解决方法中文乱码恢复IDEA中maven项目控制台的日志出现乱码问题解决方案实测记java之String.getBytes()遇到的字符编码的坑PHP中strrev翻转中文乱码问题的解决办法Java注释中文乱码问题eclipse里java文件注释是乱码的问题htmlunit爬取Ajax动态生成的网页获取不到生成后的结果的问题的解决ɢ�֣�Ԥף���ʥ������解决Maven控制台输出乱码、Tomcat乱码、每次导入项目都要下载 真实有效!!!!!!!...出现error stray \357 in program的根源小程序wx.uploadFile出现中文无法上传或者出现乱码mplayer出错ERROR:Could not open required direcshow codec drvc.dllidea 使用点击maven clean/install或maven其他命令失败,显示:乱码+archetypeCatalog=internal