首页 > 其他分享 >Modbus入门知识

Modbus入门知识

时间:2022-12-12 11:37:44浏览次数:32  
标签:RTU 入门 协议 知识 TCP Modbus 串口 ASCII

Modbus在7层OSI参考模型中属于第七层应用层,数据链路层有两种:基于标准串口协议和TCP协议,物理层可使用3线232、2线485、4线422,或光纤、网线、无线等多种传输介质。

Modbus入门知识_TCP

Modbus协议是一种请求/应答方式的交互过程,主机主动发起通讯请求,从机响应主机的请求,从机在没有收到主机的请求时,不会主动发送数据,从机之间不会进行通讯。

Modbus协议规定,进行读写操作的数据类型,按照读写属性和类型可分为以下4种:

  • 离散量输入(Discretes Input  ):1位,只读
  • 线圈(Coils):1位,读写
  • 输入寄存器(Input Registers  ):16位,只读
  • 保持寄存器(Holding Registers):16位,读写

Modbus入门知识_TCP_02

3种传输模式

  • 基于串口的Modbus-RTU数据按照标准串口协议进行编码,是使用最广泛的一种Modbus协议,采用CRC-16_Modbus校验算法。
  • 基于串口的Modbus-ASCII所有数据都是ASCII格式,一个字节的原始数据需要两个字符来表示,效率低,采用LRC校验算法。
  • 基于网口的Modbus-TCPModbus-TCP基于TCP/IP协议,占用502端口,数据帧主要包括两部分:MBAP(报文头)+PDU(帧结构),数据块与串行链路是一致的。

大部分人习惯分为两种:基于串行链路的和基于以太网TCP/IP

所以当我们提及Modbus协议时,要确定是哪种模式:RTU、ASCII或TCP

Modbus RTU和Modbus ASCII使用相同的协议。唯一的区别是通过线路传输的字节用RTU表示为二进制,用Modbus RTU表示为可读ASCII。关于RTU的重要注意事项是RTU消息没有Start_of_text指示。通信中的接收方 使用“静默”时间以确定新消息的开始。ASCII确实有一个文本开头标记。二进制消息比ASCII短,因此理论上传输/接收速度更快。您可能很高兴在HMI / SCADA中看到大约100 ms的更新速率,并且可以选择任一通信。

即:

  • 使用RTU是可能的
  • 如果RTU在WinNT上出现超时问题或者使用300 bps或拨号调制解调器等慢速通信媒体时使用ASCII,大多数用于Modbus的OPC服务器都支持ASCII和RTU通信。

标签:RTU,入门,协议,知识,TCP,Modbus,串口,ASCII
From: https://blog.51cto.com/u_15515702/5929274

相关文章

  • 小程序开发入门及多端开发浅析
    前言现在小程序虽然不是最火的时间段,但是小程序“触手可及,用完即走”的理念对于未知开发者保持一定的神秘和吸引力,应后端同学对小程序开发的热情,笔者在疫情期间也开发上线了......
  • vue面试考察知识点全梳理
    一、简介vue几个核心思想:数据驱动组件化虚拟dom、diff局部最优更新源码目录介绍Vue.js的源码在src目录下,其目录结构如下。src├──compiler#编译......
  • 近视手术,是福音还是噩梦,知道这些危害,你还敢做吗,眼科小知识都在这里
    Hi,大家好,这是一篇非技术性文章,这篇主要想介绍激光近视手术的危害,让每个想做近视手术的朋友心里有个预期,当然这些问题发生的概率可能很小,但是落在你身上就是100%,请看完之后......
  • Jenkins实践指南-04-Groovy基础知识03
    2.4.5操作符2.4.5.1常规算术操作符  [作者:Surpassme]常见的算术操作符主要如下所示:操作符说明示例+相加1+2=3-相减1-2=-1*相乘2*2=4/......
  • Git从入门到实战
    Git从入门到实战一、Git概述1.1、Git简介Git是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。Git仓库来存储和管理这些文件,Git仓库分为两种:......
  • 入门练习2-3
    #include<stdio.h>intmain(){doublex;printf("请输入一个实数:");scanf("%lf",&x);printf("你输入的是%f\n",x);return0;}......
  • 入门练习2-4
    #include<stdio.h>intmain(){inta,b,c,d;doublex,y,z,n;a=5/2;b=5.0/2.0;c=5.0/2;d=5/2.0;x=5/2;y=5.0/2.0;z=5.0......
  • vue3简易入门剖析
    vue3入门本章内容vue3简介vue3项目构建工具vitevue3组合式APIvue3响应式原理–Proxy+Object.defineProperty()computed计算属性watch侦听器函数的使用新增内置组件一、vue3......
  • 【MobX】390- MobX 入门教程(上)
    点击上方“前端自习课”关注,学习起来~本文考虑到篇幅问题,将《MobX入门教程》分成上、下两篇文章,方便阅读。分配安排:一、MobX介绍首先看下官网介绍:★MobX是一个经过战火......
  • 入门练习2-1
    #include<stdio.h>intmain(){intx,y;puts("请输入两个整数。");printf("整数x:");scanf("%d",&x);printf("整数y:");scanf("%d",&y);printf("x的值是......