FreeModbus快速入门指南
本文为Modbus快速使用指南,不涉及过多深入内容
协议描述
MODBUS 协议定义了一个与基础通信层无关的简单协议数据单元(PDU,Protocol Data Unit)。特定总线或网络上的MODBUS 协议映射能够在应用数据单元(ADU)上引入一些附加域。
- 启动MODBUS 事务处理的客户机创建MODBUS应用数据单元,功能码向服务器指示将执行哪种操作。
- 客户机向服务器设备发送的报文数据域包括附加信息,服务器使用这个信息执行功能码定义的操作。这个域还包括离散项目和寄存器地址、处理的项目数量以及域中的实际数据字节数。
- 在某种请求中,数据域可以是不存在的(0长度),在此情况下服务器不需要任何附加信息。功能码仅说明操作。
- 如果在一个正确接收的MODBUS ADU 中,不出现与请求MODBUS 功能有关的差错,那么服务器至客户机的响应数据域包括请求数据。如果出现与请求MODBUS 功能有关的差错,那么域包括一个异常码,服务器应用能够使用这个域确定下一个执行的操作。
- 当服务器对客户机响应时,它使用功能码域来指示正常(无差错)响应或者出现某种差错(称为异常响应)。对于一个正常响应来说,服务器仅对原始功能码响应。
- 对于异常响应,服务器返回一个与原始功能码等同的码,设置该原始功能码的最高有效位为逻辑1。
PDU
MODBUS 协议定义了三种PDU。它们是:
- MODBUS请求PDU,mb_req_pdu
- MODBUS响应PDU,mb_rsp_pdu
- MODBUS异常响应PDU,mb_excep_rsp_pdu
mb_req_pdu
mb_req_pdu = { function_code, request_data},其中
function_code - [1个字节] ,功能码
request_data - [n个字节],这个域与功能码有关,并且通常包括诸如可变参考、变量、数据偏移量、子功能码等信息。
mb_rsp_pdu
mb_rsp_pdu = { function_code, response_ data},其中
function_code - [1个字节],功能码
response_data - [n个字节],这个域与功能码有关,并且通常包括诸如可变参考、变量、数据偏移量、子功能码等信息。
mb_excep_rsp_pdu
mb_excep_rsp_pdu = { function_code, request_data},其中
function_code - [1个字节],功能码+ 0x80
exception_code - [1个字节],异常码。
数据模型
基本表格 | 对象类型 | 访问类型 | 内容 |
---|---|---|---|
离散量输入 | 1 bit | 只读 | 读取服务器端位状态 |
线圈 | 1 bit | 读写 | 读、写服务器端位状态 |
输入寄存器 | 16 bits | 只读 | 读取服务器端寄存器 |
保持寄存器 | 16 bits | 读写 | 读、写服务器端寄存器 |
通常使用较多的是输入寄存器、保持寄存器。
举栗子
FreeModbus快速入门指南相关推荐
- BERT模型超酷炫,上手又太难?请查收这份BERT快速入门指南!
点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来自 | GitHub 作者 | Jay Alammar 转自 | 机器之心 如 ...
- BERT模型超酷炫,上手又太难?请查收这份BERT快速入门指南
2019-12-31 10:50:59 选自GitHub 作者:Jay Alammar 参与:王子嘉.Geek AI 如果你是一名自然语言处理从业者,那你一定听说过最近大火的 BERT 模型.本文是一 ...
- RMAN快速入门指南
RMAN快速入门指南 1. What is RMAN? 什么是RMAN? 4 2. Terminology 专业词汇解释 4 2.1. Backup sets 备份集合 4 2. ...
- 150页书籍《PyTorch 深度学习快速入门指南》附PDF电子版
为什么说是极简教程,首先本书只涵盖了150页.内容比较精简,特别适合作为 PyTorch 深度学习的入门书籍.为什么这么说呢?因为很多时候,一份厚重的书籍往往会削弱我们学习的积极性,在学习一门新的语言 ...
- h5py快速入门指南
h5py是Python语言用来操作HDF5的模块.下面的文章主要介绍h5py的快速入门指南,翻译自h5py的官方文档:http://docs.h5py.org/en/lates... .该翻译仅为个人 ...
- 2017 Vue.js 2快速入门指南
注意,据部分读者反映本文水多,怕湿身者勿进.后续推荐详解 Vue & Vuex 实践 2017 Vue.js 2快速入门指南翻译自Vue.js 2 Quickstart Tutorial 20 ...
- Flux快速入门指南
翻译自 http://www.jackcallister.com/2015/02/26/the-flux-quick-start-guide.html 2015年2月26日 本文将概述如何使用Flux ...
- AngularJS快速入门指南09:SQL
我们可以将之前章节中的代码用来从数据库中读取数据. 通过PHP Server从MySQL数据库中获取数据 <div ng-app="myApp" ng-controller= ...
- AngularJS快速入门指南03:表达式
AngularJS通过表达式将数据绑定到HTML. AngularJS表达式 AngularJS表达式写在双大括号中:{{ 表达式语句 }}. AngularJS表达式绑定数据到HTML的方式与ng- ...
最新文章
- 你奋斗这么辛苦,这辈子要证明什么?
- 关于 @ngrx/Store 下 obj 的扩展问题
- 【机器学习算法-python实现】K-means无监督学习实现分类
- 【北航oj】(线段树取模运算)
- 【操作系统复习】操作系统的发展与分类
- android 字母索引三方,Android 字母索引动态自定义布局
- 【英语学习】【WOTD】despot 释义/词源/示例
- 网页中多层效果的灵活使用
- 零基础学习java------day1------计算机基础以及java的一些简单了解
- Nginx流媒体服务器搭建
- 通俗讲解深度学习和神经网络!
- Python办公自动化——发票开具明细汇总
- 2020年开始,中国程序员前景一片灰暗,是这样吗?
- vue 导出表格到xlsx中
- excel柱状图自定x轴y轴_《excel柱状图自定x轴y轴》 如何更改EXCEL 图表中X轴的名称...
- hdu6438(优先队列)
- 使用电容触摸屏做一个画板--原理(一)
- django多任务开启rabbitmq,并进行声明队列、发送、阻塞监听消息
- 服务器显示中国移动,中国移动服务器地址是什么
- SpringBoot XStream整合
热门文章
- MySQL将多条数据合并成一条
- 工信部数字电视标准符合性检测中心发布的
- 社会工程学三本_1.9万人报考,扩招近千人!被戏称为“大三本”的985——东南大学,低调有实力!...
- 宜信敏捷数据中台建设实践
- SqlServer数据库配置大小写敏感
- 1.1到底什么是云计算
- 和老板比,员工弱爆了
- (五)Android资源访问
- Kafka SASL SCRAM授权java开发demo
- 个人简历网页搭建(快速搭建GitHub Pages和Apache)
点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来自 | GitHub 作者 | Jay Alammar 转自 | 机器之心 如 ...
2019-12-31 10:50:59 选自GitHub 作者:Jay Alammar 参与:王子嘉.Geek AI 如果你是一名自然语言处理从业者,那你一定听说过最近大火的 BERT 模型.本文是一 ...
RMAN快速入门指南 1. What is RMAN? 什么是RMAN? 4 2. Terminology 专业词汇解释 4 2.1. Backup sets 备份集合 4 2. ...
为什么说是极简教程,首先本书只涵盖了150页.内容比较精简,特别适合作为 PyTorch 深度学习的入门书籍.为什么这么说呢?因为很多时候,一份厚重的书籍往往会削弱我们学习的积极性,在学习一门新的语言 ...
h5py是Python语言用来操作HDF5的模块.下面的文章主要介绍h5py的快速入门指南,翻译自h5py的官方文档:http://docs.h5py.org/en/lates... .该翻译仅为个人 ...
注意,据部分读者反映本文水多,怕湿身者勿进.后续推荐详解 Vue & Vuex 实践 2017 Vue.js 2快速入门指南翻译自Vue.js 2 Quickstart Tutorial 20 ...
翻译自 http://www.jackcallister.com/2015/02/26/the-flux-quick-start-guide.html 2015年2月26日 本文将概述如何使用Flux ...
我们可以将之前章节中的代码用来从数据库中读取数据. 通过PHP Server从MySQL数据库中获取数据 <div ng-app="myApp" ng-controller= ...
AngularJS通过表达式将数据绑定到HTML. AngularJS表达式 AngularJS表达式写在双大括号中:{{ 表达式语句 }}. AngularJS表达式绑定数据到HTML的方式与ng- ...