02 ModBus TCP

目录

一、ModBus TCP 一帧数据格式

二、0x01 读线圈状态

三、0x03读保持寄存器

四、0x05写单个线圈

 五、0x06 写单个寄存器

六、0x0f写多个线圈 

七、0x10:写多个保持寄存器

八、通信过程

九、不同modbus通信模式的应用场景


一、ModBus TCP 一帧数据格式

其中MBAP报文头有7个字节,分别是:

长度描述
事物处理标识符2个字节用于事务处理配对,他是Modbus的事务处理码,每次通信后就要加一
协议标识符2个字节用于系统内的多路复用,当值为0是,表示使用ModBus协议
长度2个字节用于说明接下来还有多少字节的数量
单元标识符1个字节当ModBus客户端在请求设置这个域是,在响应中服务器必须利用相同的值返回这个域(同设备地址)

二、0x01 读线圈状态

注意:每次请求事物处理标识都应该不一样,例如每次通信后事物处理标识加1;线圈的单位是位,一个线圈只占一位

起始地址0x0013(0019)读取16个线圈的值

返回的3C 25(0011 1100 0010 0101)分别对应的就是(0019--0034)

三、0x03读保持寄存器

四、0x05写单个线圈

 

 五、0x06 写单个寄存器

六、0x0f写多个线圈 

 

七、0x10:写多个保持寄存器

modbus tcp发送数据的格式起始和modbus rtu类似

modbus tcp:mbap报文头+功能码+数据

modbus rtu:设备地址+功能码+数据+CRC校验 

八、通信过程

  1. 主站设备主动向从站设备发送请求
  2. 从站设备处理主站的请求后,向主站返回结果
  3. 如果从站设备处理请求出现异常,则向主站设备返回异常功能码

九、不同modbus通信模式的应用场景

modbus ASCII模式:主要用来调试,故障排查,数据量小(ASCII码字符可以用字母形式显示,可以显示更多的调试信息,更直观)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/288427.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

航空港务数据大屏为航空港的可持续发展提供有力支撑!

随着经济的发展,不断加建与扩建民用机场,空港行业规模不断扩大。在不断引进和消化发达国家先进技术的同时,中国深入开展了对新技术和新材料的研究,极大地丰富和发展了中国的机场建设技术。且各项机场建设计划均已落实推进&#xf…

uml超市进销存管理系统 实验报告.doc

实验报告规范 实 验 报 告 姓 名 学 号 班 级 成 绩 实验名称 超市进销存管理系统 实验日期 一.实验内容 完成一个超市进销存管理系统 要求: 软件系统模型包括8种建模图,其中至少包含三个主要用例的用例脚本描述、顺序…

宝塔nginx存放目录

文件位置 在线上服务器中,我们采用了宝塔面板进行管理,并且利用Nginx作为反向代理服务。然而,每个网站只能独立管理自己的Nginx配置文件,而在主配置文件中并未直接显现其他配置文件的详细内容。经过深入探究,我们了解…

机器学习 | 贝叶斯方法

不同于KNN最近邻算法的空间思维,线性算法的线性思维,决策树算法的树状思维,神经网络的网状思维,SVM的升维思维。 贝叶斯方法强调的是 先后的因果思维。 监督式模型分为判别式模型和生成式模型。 判别模型和生成模型的区别&#xf…

构建陪诊预约系统:技术实战指南

在医疗科技的飞速发展中,陪诊预约系统的应用为患者和陪诊人员提供了更为便捷和贴心的服务。本文将带领您通过技术实现,构建一个简单而实用的陪诊预约系统,以提升医疗服务的效率和用户体验。 技术栈选择 在开始之前,我们需要选择…

免费在线数据库表结构设计工具itbuilder

随着数据库规模日趋庞大,数据库设计者所面临的问题也越来越复杂,面对各个用户对数据库结构和内容的不同观点,权衡不同应用对于数据库组织和存取的不同需求,以及大量的结构信息和数据之间的复杂关系,面对这种设计环境&a…

【Linux】ip命令使用

ip命令 用于管理与配置网络接口和路由表。 ip命令的安装 ip 命令来自 iproute2 软件包,在 CentOS 7 中默认已安装。 yum install -y iproute 语法 ip [ OPTIONS ] OBJECT { COMMAND | help }ip [ -force ] -batch filename选项及作用 执行令 : ip …

SpringBoot知识点回顾01

Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。 Spring是如何简化Java开发的 为了降低Java开发的复杂性,Spring采用了以下4种关键策略: 1、基于POJO的轻量级和最小侵入性编程,所有东西都是bean; 2、通…

想用Facebook高效引流拓客?快来Get这些技巧!

在跨境电商领域,Facebook 是一个不能错过的重要平台,它能为卖家提供巨大的流量池。但是,如何吸引潜在客户却不是易事。为了高效地引流拓客,卖家需要了解一些技巧。本篇文章东哥将分享 Facebook 的引流拓客技巧,帮助卖家…

Dokit 开源库:简化 Android 应用开发的利器

Dokit 开源库:简化 Android 应用开发的利器 一、Dokit 简介二、Dokit 功能三、Dokit 使用3.1 DoKit Android 最新版本3.2 DoKit Android 接入步骤 四、总结 在 Android 应用开发过程中,我们经常需要处理调试、性能优化和用户体验等方面的问题。然而&…

DDD领域驱动设计(二)

软件系统复杂性的应对 解决复杂和大规模软件的武器可以粗略的归位三种:抽象 分治和知识 抽象: 使用抽象能够精简问题空间,而且问题越小越容易理解。比如你去一个地方 一开始的时候并不需要确定用什么方式到达。分治: 类似算法里面的dp用的就是分治的想法。分割后的…

动态规划--第N个泰波那契数

本题题目链接备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/n-th-tribonacci-number/ 个人主页:Lei宝啊 愿所有美好如期而遇 动态规划&#…