读可读写模拟量寄存器:

发送命令(主机向从机)格式:

[设备地址] [命令号03] [起始寄存器地址高8位] [低8位] [读取的寄存器数高8位] [低8位] [CRC校验的低8位] [CRC校验的高8位]

例:[11][03][00][6B][00][03][CRC低][CRC高]

意义例如以下:

11:设备地址,样例中的地址是11,溶氧传感器端默认的地址是1,。

03:读模拟量的命令号固定为03,这是Modbus协议规定的。

00、6B:起始地址高8位(00)、低8位(6B):表示想读取的模拟量的起始地址,比方样例中的起始地址为107。这个006B表示一个完整的地址,注意这里的地址是高8位在前,低8位在后。

00、03:寄存器数高8位(00)、低8位(03):表示从起始地址開始读多少个模拟量(返回的每个模拟量是用两个字节表示的)。样例中为3个模拟量。注意,在返回的信息中一个模拟量须要返回两个字节同一时候这里的地址也是高8位在前,低8位在后。

[CRC低][CRC高]:帧尾的CRC-16校验,尤其须要注意的一点是校验结果的低8位在前,高8位在后,这个顺序不同于起始地址以及读取深度的地址顺序。

设备响应:[设备地址] [命令号03] [返回的字节个数][数据1][数据2]...[数据n][CRC校验的低8位] [CRC校验的高8位]

例:[11][03][06][02][2B][00][00][00][64][CRC低][CRC高]

意义例如以下:

11:设备地址(从机地址)。

03:命令号。

06:返回的字节个数(不高扩两字节的校验码):表示数据的字节个数,也就是数据1,2...n中的n的值。样例中返回了3个模拟量的数据,由于一个模拟量须要2个字节所以共6个字节。

数据1...n:当中[数据1][数据2]各自是第1个模拟量的高8位和低8位,[数据3][数据4]是第2个模拟量的高8位和低8位,以此类推。样例中返回的值各自是555,0,100。

[CRC低][CRC高]:CRC校验同上。

写单个模拟量寄存器:

发送命令(主机向从机)格式:

[设备地址] [命令号06] [需下置的寄存器地址高8位] [低8位] [下置的数据高8位] [低8位] [CRC校验的低8位] [CRC校验的高8位]

例:[11][06][00][01][00][03][CRC低][CRC高]

意义例如以下:

11:设备地址和上面的同样。

06:写模拟量的命令号固定为06。

00、01:要被写入的寄存器地址高8位,低8位。

00、03:要被写入的数据高8位,低8位。比方样例中就把1号寄存器的值设为3。

注意此命令一条仅仅能写入一个模拟量的状态。

[CRC校验的低8位] [CRC校验的高8位]:同上。

设备响应:假设成功把计算机发送的命令原样返回,否则不响应。

Modbus读写模拟量寄存器具体解释的更多相关文章

  1. 0-20ma 0-5V,0-10V ,0-15V ,0-20V,0-30V模拟量(范围可以定制)多功能采集模块,支持1路继电器输出,2路Di输入,8路Ai输入,可电脑控制,支持485 modbus rtu协议。端口参数可以配置保存,支持定制修改。

    多功能模拟量采集模块MRD-5017具有8 通道模拟量采集(支持0-20mA,0-5V,0-10V混合测量),2路DI,1路继电器输出,1路485接口(支持MODBUS RTU),能实现8路AI(12 ...

  2. 4-20mA模拟量采集

    4-20mA模拟量采集 4-20mA模拟量采集可选卓岚ZLAN6802(485)/ZLAN6842(以太网)/ZLAN6844(无线wifi)他们不仅可以可采集4~20mA还可以采集 /0~5V/0~ ...

  3. STM32L476应用开发之二:模拟量数据采集

    采集模拟量数据在一台一起中是必不可少的功能.在本次实验中我们要采集的模拟量值主要包括氧气传感器的输出以及压力变送器的输出. 1硬件设计 我们需要采集数据对精度有一定的要求,而STM32L476自带AD ...

  4. 论EFMS模拟量部分采集电路的修改

    论1:电阻R11的作用 如图1是2014-3-11之前模拟量采集的部分硬件电路,图2是纠正后的正确电路. D5是SA20CA,TVS双向二极管,有效防止外接电源的浪涌冲击情况,保护电路.  D6是稳压 ...

  5. 4-20mA转RS485模拟量采集模块是怎么工作的?

    4-20mA信号是工业上常用的模拟信号,用来表示温度,距离,速度,角度等参数. 如果需要用PLC或者工控机来采集,通常要转换成数字信号.这时可以采购远向电子生产的模拟量采集模块. 常用的模拟量采集模块 ...

  6. modbus协议开关量采集模块

    modbus协议开关量采集模块是指的使用Modbus协议的进行信号的采集与控制的一种设备. Modbus 协议设备都具有唯一的 Modbus 地址,众山 DTU 默认 Modbus 地址为 100,用 ...

  7. 20170222==(MODBUS读取多个寄存器)

    MODBUS读取多个寄存器(功能码04) 为了简单我这里只用4个寄存器,当让你也可以用125个寄存器,但是最多也只能用125个寄存器的.每个寄存器有上面的表知道为一个字的大小即2个字节或者叫16比特位 ...

  8. 进阶之路(基础篇) - 004 I/O的模拟量输出

    /********************************* 代码功能:某输出模拟量 使用函数: analogWrite(引脚号,模拟量); //调用8位AD 创作时间:2016*10*08 ...

  9. AD采样模块采集带模拟量真空表值的实验

    实验采用带模拟量,分辨率为1-5V,量程为0--101kpa的真空表 数据采集模块采用DAM-8021,  16位模块 算法描述如下: 真空表读数范围: 0到-101kpa 模拟量输出: 1-5V 一 ...

随机推荐

  1. mysql5.7 主从复制的正常切换【转】

    目前环境如下: master server IP:172.17.61.131 slave server IP:172.17.61.132 mysql version: mysql-5.7.21-lin ...

  2. 数据库SQL语句性能优化

    选择最有效率的表名顺序 ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下 ...

  3. Flask源码解析:Flask上下文

    一.上下文(Context) 什么是上下文: 每一段程序都有很多外部变量.只有像Add这种简单的函数才是没有外部变量的.一旦你的一段程序有了外部变量,这段程序就不完整,不能独立运行.你为了使他们运行, ...

  4. 六、vue路由Vue Router

    一.基本概念 route, routes, router 1, route,它是一条路由,由这个英文单词也可以看出来,它是单数, Home按钮  => home内容, 这是一条route,  a ...

  5. 嵌入式telnet的安装

    一 在已经安装telnet上,执行查询命令将查到的命令拷贝的未安装telnet的134上. [NTP-Fedora20 system]#whereis xinetd xinetd: /usr/sbin ...

  6. java 重新抛出异常

    一.有时希望把刚捕获的异常重新抛出,尤其时在使用Exception捕获所以异常的时候,既然已经得到了对当前异常对象的引用,可以重新把它抛出: catch(Exception e){ System.ou ...

  7. 记2013年度成都MVP社区巡讲

    上个周六在天府软件园A区的翼起来咖啡举行了MVP社区巡讲成都站的活动,这个巡讲活动去年也搞过一次. MVP社区巡讲是 @微软中国MVP项目组 支持的,由各地的MVP担任讲师,给本地技术社区提供的一种社 ...

  8. net mvc中angular

    把angular项目整合到.net mvc中   之前的开发选择的是完全舍弃服务端,仅保留最简单web服务器提供angular经打包的静态资源,此外所有的业务与数据请求都访问一个分离的WebApi来实 ...

  9. 【深入Struts2】获取ServletAPI的三种方式

    一:获取servletAPI的三种方法 在传统的Web开发中,经常会用到Servlet API中的HttpServletRequest.HttpSession和ServletContext.Strut ...

  10. 搭建LDAP服务器

    1. 使用SSH 登陆服务器. 2. 更新有效的包. sudo apt-get update 3. 安装LDAP和一些其它LDAP相关的工具. sudo apt-get install slapd l ...