当前位置: 首页 > news >正文

【物联网-ModBus-ASCII】

物联网-ModBus-ASCII

  • ■ ModBus-ASCII-介绍
  • ■ ModBus-ASCII数据格式
    • ■(1)帧结构
    • ■(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,不是这个范围以外的显示屏上都看不到,会出现乱码,如果是串口助手的话就会显示□□□□。
:  = 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)表示下一行
:  = 58 = 0x3A
\r = 13 = 0x0D
\n = 10 = 0x0A

http://www.xdnf.cn/news/918433.html

相关文章:

  • vue3项目怎么适配不同尺寸的屏幕?
  • 计算机组成与体系结构:补码数制二(Complementary Number Systems)
  • FFmpeg 实现 100 台设备同屏的高效码流压缩
  • Python-进程
  • Playwright自动化测试全栈指南:从基础到企业级实践(2025终极版)
  • 柯尼卡美能达Konica Minolta bizhub 205i打印机信息
  • 线程池封装
  • ubuntu 22.04虚拟机配置静态IP
  • springBoot 通过模板导出Excel文档的实现
  • 几种简单的排序算法(C语言)
  • clickhouse 和 influxdb 选型
  • 【Android】浅析View.post()
  • rec_pphgnetv2完整代码学习(二)
  • 机器学习监督学习实战五:六种算法对声呐回波信号进行分类
  • [yolov11改进系列]基于yolov11引入轻量级下采样ContextGuided的python源码+训练源码
  • VBA之Word应用第三章第十节:文档Document对象的方法(三)
  • LeetCode--24.两两交换链表中的结点
  • Android USB 通信开发
  • 数组名作为函数参数详解 —— 指针退化及遍历应用示例
  • Oracle中的异常处理与自定义异常
  • Redis 与 MySQL 数据一致性保障方案
  • Ctrl-Crash 助力交通安全:可控生成逼真车祸视频,防患于未然
  • chili3d 笔记17 c++ 编译hlr 带隐藏线工程图
  • Jenkins持续集成CI,持续部署CD,Allure报告集成以及发送电子 邮件
  • STM32标准库-输入捕获
  • PySide6 GUI 学习笔记——常用类及控件使用方法(多行文本控件QTextEdit)
  • Redis高可用架构
  • CCPC chongqing 2025 H
  • PySide6 GUI 学习笔记——常用类及控件使用方法(单行文本控件QLineEdit)
  • Linux进程(中)