读可读写模拟量寄存器:

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

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

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

ModBus的Ruby实现-RModBus 0.4.0 发布  http://www.linuxidc.com/Linux/2010-01/24200.htm

意义如下:

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位]:同上。

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

Linux c modbus 线程,Modbus读写模拟量寄存器详解相关推荐

  1. 三菱模块增益和偏置调整步骤_三菱PLC与西门子plc的模拟量编程详解

    三菱PLC与西门子plc的模拟量编程详解 Date:2015-01-01 origin:RCCN上海日成 Visit:2413 三菱和西门子的PLC都有自己的独特的长处的,先讲讲三菱2AD模块吧,2A ...

  2. linux c多进程多线程,linux下的C\C++多进程多线程编程实例详解

    linux下的C\C++多进程多线程编程实例详解 1.多进程编程 #include #include #include int main() { pid_t child_pid; /* 创建一个子进程 ...

  3. php curl 模拟多线程,php利用curl 多线程 模拟 并发的详解

    php利用curl 多线程 模拟 并发的详解 发布于 2014-12-07 10:17:25 | 265 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypert ...

  4. 创建三个并发进程linux,Linux下几种并发服务器的实现模式(详解)

    1>单线程或者单进程 相当于短链接,当accept之后,就开始数据的接收和数据的发送,不接受新的连接,即一个server,一个client 不存在并发. 2>循环服务器和并发服务器 1.循 ...

  5. 1 linux下tcp并发服务器的几种设计的模式套路,Linux下几种并发服务器的实现模式(详解)...

    1>单线程或者单进程 相当于短链接,当accept之后,就开始数据的接收和数据的发送,不接受新的连接,即一个server,一个client 不存在并发. 2>循环服务器和并发服务器 1.循 ...

  6. 单片机电流检测电路图大全(四款模拟电路设计原理图详解) - 信号处理电子电路图

    电路图简介: 本文主要介绍了单片机电流检测电路图大全(四款模拟电路设计原理图详解).它的主要功能是完成对过电压的瞬时值和峰值的检测.过电压次数的检测.电源输出电压和电流的检测,并通过键盘的操作显示出各 ...

  7. linux怎么读其实很简单 微星为你详解Z77主板BIOS设置

    近期,微星科技发布了大量的7系主板,它们全部配备厂商最新的军规三代组件技术,并且同时配备了PCI-E3.0,USB3.0还有SATA3.0技术,所以我们可以称呼它们为微星3.0主板.随着微星Z77主板 ...

  8. Linux Shell脚本入门--wget 命令用法详解

    Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能 ...

  9. linux Shell(脚本)编程入门实例讲解详解

    linux Shell(脚本)编程入门实例讲解详解 为什么要进行shell编程 在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具.Shell不仅仅是命令的收集, ...

最新文章

  1. 静态网页与动态的区别
  2. jenkins详细设置(二)
  3. 《长调》 :寻找我们共同失去的天堂
  4. 3_V1-类和对象 -- 默认成员函数
  5. 基于Linux CentOS搭建FTP服务
  6. Windows 10 预览版安装
  7. 第十三届“恩智浦”杯全国大学生智能汽车竞赛-信标对抗组比赛总结
  8. 用计算机名共享打印机不能打印,共享打印机无法打印怎么办解决教程
  9. 输出三角形字符阵列图形(C语言)
  10. 仪器校准证书和检定证书分别具有什么作用?区别是什么?
  11. KDD cup 2017 高速公路收费站交通流量预测 中文翻译(转载)
  12. 信息学奥赛一本通:1153:绝对素数
  13. rgb sw 线主板接口在哪_华硕ROG STRIX LC 360 RGB一体式水冷:与ROG主板更配
  14. oracle数据库中的系统自带表情_教你如何让数据库支持emoji表情符存储
  15. 如何将win10系统安装到U盘?
  16. 如何使用mac电脑远程你的windows电脑
  17. PW系列 | 用windres 编译.rc 资源文件
  18. 敏捷个人2012.5月份户外活动报道:0费用京郊经典户外路线【京西古道】
  19. UI设计规范技巧——切图格式
  20. 美图DPOS共识机制ETH节点网络启动和测试

热门文章

  1. 小技巧2 - 负边距居中法
  2. 20170819 - 今日技能封装 - A
  3. 事务日志已满,原因为“ACTIVE_TRANSACTION”
  4. valgrind 的一个小缺陷
  5. 程序员十大安全技巧(转)
  6. 终于有了属于自己的家,哈哈,很高兴~~
  7. keep alive PHP,vue中keep-alive使用方法详解
  8. mysql中decimal不能为空吗_程序员,知道Mysql中事务ACID的原理吗?
  9. 需要某个字体包才能正确显示此页面_如何做设计,才能做好设计
  10. 标准化工作导则2020_最新版 GB/T 1.12020 标准化工作导则 第 1 部分:标准化文件的结构和起草规则标准解读...