工业通讯应用中主流的常用协议Modbus协议

news/2024/10/23 5:37:22/

智联物联技术分享,本期为大家介绍工业通讯常用的主流协议Modbus协议

Modbus协议的前身叫做Mod协议被用于Modicon公司的PLC控制器中,后来Modicon被Schneider收购后随之改名为我们如今所熟悉的modbus协议,现如今广泛应用在物联网的控制器、HMI和传感器与其他工控终端设备进行通讯,Modbus已然成为了工业通讯应用中主流的常用协议。

通过Modbus协议可以使控制器之间经由网络(例如以太网)和其他设备之间进行通信。Modbus协议可以让不同品牌的控制设备进行组网,方便运营对设备进行集中监控管理。

Modbus协议定义了控制器能认识使用的消息结构,描述控制器对其它设备的请求访问过程,对来自其它设备的请求进行回应,以及侦测错误数据并记录。Modbus协议制定了内容的公共格式与消息域格局。

 

Modbus协议功能码

Modbus协议的功能码用于表示信息帧的功能,03、04、06、16最为常用。

功能码03的名称是读取保持寄存器内容,在一个或多个保持寄存器中取得当前的二进制值。

功能码04的名称是读取输入寄存器内容,在一个或多个输入寄存器中取得当前的二进制值。

功能码06的名称是预置单寄存器,把具体二进制值装入一个保持寄存器。

功能码16的名称是预置多个寄存器,把具体的二进制值装入一串连续的保持寄存器。

 

Modbus协议03、04功能码

03读取保持寄存器内容和04读取输入寄存器内容两者之间到底存在着哪些功能差异呢?Modbus协议被常用于PLC通信的输入输出数字量信号以及模拟量信号。Modbus协议的04功能码输入寄存器就是从模拟量信号输入引申出来的,即输入寄存器只能从模拟量信号输入端改变寄存器,而主机则不能通过下发指令改变输入寄存器的数据;而保持寄存器则是用于输出模拟量信号的,主机是可以改变寄存器数据,对于主机来说输入寄存器是只读的,而保持寄存器是可以读写的。当主机用06、16功能码的指令去预置输入寄存器的时候,设备会返回一个代码为0x81的错误代码,即企图写只读寄存器。

 

Modbus协议的TCP、RTUASCII

Modbus RTU和Modbus ASCII协议基于串口通讯,如RS232或RS485等工业串口进行数据透传。

Modbus TCP协议则基于以太网通信,如双绞线、光纤、无线上传送

常见应用在PLC可编程逻辑控制器之间的通信中,由于PLC的开放性,可应用于现场设备、智能终端、仪器仪表中。

Modbus协议的映射地址

在使用Modbus协议经常会遇到3xxxx,4xxxx的寄存器数据类型,Modbus映射地址都是从0开始的,比如30009代表的是输入寄存器,这样的映射地址格式常用于PLC系统与组态软件中。

 


http://www.ppmy.cn/news/45376.html

相关文章

数据结构—单链表

目录 1.前言 2.了解单链表 3.单链表代码实现 3.1 单链表结构体实现 3.2 创建节点 3.3 打印单链表 3.4 尾插 3.5 头插 3. 6 头删 3.7 尾删 3.8 查找 3.9 插入 3.9.1 在pos位置之前插入 3.9.2 在pos位置之后插入(主要使用这种功能)---不需要找…

代码随想录训练营day44|完全背包;518、零钱兑换 II;377、组合总和 Ⅳ

完全背包和01背包问题唯一不同的地方就是,每种物品有无限件。 代码模板: //先遍历物品,再遍历背包 private static void testCompletePack(){int[] weight {1, 3, 4};int[] value {15, 20, 30};int bagWeight 4;int[] dp new int[bagWe…

zsh: command not found: python问题解决

项目场景: mac电脑python命令打印不出来 问题描述 zsh: command not found: python没有python命令,但是本地安装了puyhon 原因分析: 没有配置python环境 解决方案: 提示:这里填写该问题的具体解决方案: 如…

堆排序及top-k问题

堆排序及top-k问题 堆排序建堆向上调整建堆向下建堆 堆排序 top-k问题,建堆的应用 堆排序 堆排序,听名字就是要对堆进行排序,但当我们是无序数据时,首先我们就需要建立一个堆 建堆 这里让我们来回忆一下前面的堆,改…

【C/C++】C++ 四种强制转换

文章目录 基本概念适用场景及代码案例测试运行Demo 基本概念 C 中有四种强制转换方式,分别是: static_cast:用于基本数据类型之间的转换,以及具有继承关系的指针或引用之间的转换。static_cast 在编译时进行类型检查,…

计算机视觉的热门研究方向与发展趋势

计算机视觉产业链 工业界:对学术研究提出需求 最火的两个概念:自动驾驶和元宇宙 相关热点研究方向: (1)建图技术:三维重建技术,包括SLAM、定位、建图、更新等技术;(2&…

基于LDA+SVM实现人脸识别模型

基于LDASVM实现人脸识别模型 描述 人脸识别(图像识别)是机器学习领域十经典的应用,在本质上,人脸识别属于监督学习中的分类问题。前面章节中我们已经学习了支持向量机(SVM),该算法在图像分类领…

又一科研利器诞生!能对话的论文阅读器,hammerScholar

文|智商掉了一地 hammerScholar 新升级,用对话式读论文工具提升科研生产力~ 不得不说,自从 AIGC 这个概念出现以来,它极强的内容理解与生成能力也推动着各种生产力工具层出不穷,除了一些浏览器和代码插件以外&#xff…