【物联网-ModBus-ASCII】

物联网-ModBus-ASCII

  • [■ ModBus-ASCII-介绍](#■ ModBus-ASCII-介绍)
  • [■ ModBus-ASCII数据格式](#■ ModBus-ASCII数据格式)
    • ■(1)帧结构
    • [■(2)CR(\r) 回车 LF(\n) 换行](#■(2)CR(\r) 回车 LF(\n) 换行)

■ ModBus-ASCII-介绍

■ ModBus-ASCII数据格式

一般只需要了解RTU协议,因为前面有说过,必须要有RTU协议的,所以只需要了解了RTU协议,就可以读出设备信息了,至于ACSII协议,做个大概了解即可。

----------------------------------------------
发送一个字节:0x12
采用 ASCII协议 ASCII 协议发送一个字节 则需要发送2个字 一个字节代表ASCII码1,一个代表ASCII码2,即0x31和0x32,才能代表0x12。 ASCII码发送数据量是RTU方式的2倍,所以ASCII码效率更低。所以,ASCII协议的效率比较低。 ASCII更符合串口打印查看,因为串口发送的数据一般都是文本模式(ASCII)。 那么ASCII码效率更低,数据发送量大为啥还采用这种方式呢? 采用ASCII方式(文本模式发送),因为文本模式发送0x03,就是发送ASCII码0和ASCII码3,是可以正常显示在计算机中端的。 ASCII多了帧头和帧尾,也就是说可以有用这个头尾判断一帧字节来判断是否结束;而RTU没有帧头和帧尾,所以协议里明确两帧之间要大于3.5个字节时间间隔,作为一帧结束的判断依据。
发送一个字节:0x03
采用RTU方式 计算机中端设备接收到0x03后是不可以显示的,就是不能把0x03打印出来。因为可见字符的ASCII码是从32---126,不是这个范围以外的显示屏上都看不到,会出现乱码,如果是串口助手的话就会显示□□□□。
c 复制代码
:  = 58 = 0x3A
\r = 13 = 0x0D
\n = 10 = 0x0A

■(1)帧结构

起始 : := 58 = 0x3A 地址 功能 数据 LRC 结束符 CR(\r) 回车 \r = 13 = 0x0D LF(\n) 换行 \n = 10 = 0x0A
1个字节 2个字节 2个字节 0-2*252字节 2个字节 2个字节

实例

■(2)CR(\r) 回车 LF(\n) 换行

CR(Carriage Return) 表示回车
LF(Line Feed) 表示换行
Dos和Windows采用回车+换行 CR+LF)表示下一行
而UNIX/Linux采用换行符(LF)表示下一行
苹果机(MAC OS系统)则采用回车符(CR)表示下一行
c 复制代码
:  = 58 = 0x3A
\r = 13 = 0x0D
\n = 10 = 0x0A

相关推荐
HZZD_HZZD4 小时前
大口径摄像水表白皮书拆解:DN40加装改造与字轮识别实测
运维·物联网·腾讯云
SL_staff5 小时前
设备离线时业务不中断:JVS-IOT高可用架构解析
java·物联网·产品
最强小杰6 小时前
minimax-m3 突然报 HTTP 529 怎么办?连续重试为何更难恢复,退避时间该怎么算?
网络·网络协议·http·ai
m0_639906947 小时前
TCP与UDP协议详解|原理、区别、粘包拆包、应用场景,面试总
网络协议·tcp/ip·udp
QianhangQianping9 小时前
WebSocket实时推送+ HTTP 定时轮询:一块大屏两套取数怎么不打架
前端·websocket·网络协议·http·低代码·架构·数据可视化
byte轻骑兵9 小时前
【LMP】规范精讲[11]: 暗房里的协议——产线射频测试是怎么指挥芯片的
物联网·通信协议·蓝牙协议·lmp·蓝牙链路管理
车载中间件通信10 小时前
[TC8测试]TCP_FLAGS_INVALID_13_Flag SYN,ACK
网络·网络协议·tcp/ip
车载中间件通信11 小时前
[TC8测试]TCP_FLAGS_PROCESSING_06
数据库·网络协议·tcp/ip·中间件·tc8
芯片人00711 小时前
GEK100系列芯片进入上市公司上海移远通信供应链
人工智能·单片机·嵌入式硬件·物联网·芯片
李纲明13 小时前
WordPress 全站 HTTPS 后仍显示「不安全」或锁被划掉:先清混合内容,再核证书链与强制跳转
网络协议·安全·https·wordpress·devdiy·混合内容