Modbus 教程 6:数据记录控件(串口屏 Modbus 告警记录)

免费免费技术资料

这篇内容可直接阅读,适合用于基础学习和搜索引流。

本文目录
  1. 1. 1 适用范围与开发环境
  2. 2. 2 串口屏 Modbus 协议基础
  3. 3. 3 Modbus 协议与变量配置
  4. 4. 3.1 屏作主机配置项
  5. 5. 3.2 建立变量
  6. 6. 4 教程实现:数据记录控件做告警记录
  7. 7. 4.1 准备工程素材
  8. 8. 4.2 功能实现
  9. 9. 5 下载工程
  10. 10. 6 工程实操要点(踩坑提示)

数据记录控件是大彩串口屏里专门用来做告警/事件记录的工具。在 Modbus 工程里,它最常干两件事:把从机(PLC、变频器、温控模块)上来的报警状态记下来,按时间排好,显示在屏上。本教程以「当前告警」和「历史告警」两种记录类型为例,走一遍从协议配置到画面联调的完整流程。文档整理自广州大彩光电科技有限公司《MODBUS 教程_数据记录控件 V1.0》,版权归大彩。

1 适用范围与开发环境

该文档适用于大彩所有支持 Modbus 协议的串口屏产品:基本型、经济型、商业型、F 型、物联型、86 盒、485 系列。NANO 系列除外(NANO 仅支持大彩组态协议,不支持 Modbus)。

搭建工程前先确认版本够用,版本不够会在编译或运行期出诡异问题,调半天发现是固件旧了:

软件 / 固件 最低版本要求 查看方式
VisualTFT 上位机 V3.0.0.1037 及以上 启动页右上角 / 软件右下角
基本型 / 经济型 / 商业型 固件 MB 2.22.912.259 及以上 屏背面贴纸,或文本控件绑「系统变量→固件版本号」
物联型固件 V3.0.301.0 及以上 同上
F 型固件 V4.1.66.0 及以上 同上

本例程硬件验证平台为大彩基本型 7 寸屏 DC80480B070,其它尺寸串口屏照此教程即可。上位机用大彩自研的 VisualTFT,官网 http://www.gz-dc.com 下载。

2 串口屏 Modbus 协议基础

大彩除 NANO 外的所有系列串口屏,都同时支持两种协议版本:大彩组态协议、Modbus RTU 协议。屏的串口物理规格固定为:1 起始位 / 8 数据位 / 无校验 / 1 停止位(8N1)。波特率范围:RS232 支持 1200~921600bps(典型 115200),RS485 支持 1200~115200bps(典型 9600)。

开发 Modbus 工程时,你在 VisualTFT 里配好的变量和协议,编译后会固化进工程包下到屏里。屏作主机时,按你设的轮询周期周期性地往从机发读指令,收到从机应答后解析,刷新绑定的控件或触发预设动作;屏作从机时则响应外部主站的轮询。

3 Modbus 协议与变量配置

打开 VisualTFT 菜单【工具】→【协议与变量设置】,左侧选文件路径,右侧协议设置栏设协议类型。数据记录控件本身不绑定具体寄存器读取,它显示的是「变量」的状态变化,而变量是从 Modbus 寄存器映射上来的——所以协议和变量是前置条件。

3.1 屏作主机配置项

配置项 默认值 说明
启用协议 必须勾上才支持 Modbus
协议类型 选「Modbus 主机」;本例程即主机模式
轮询周期 1 秒 周期性读变量的间隔
轮询延时 100 毫秒 相邻两条读命令之间的间隔
应答超时 100 毫秒 允许从机的最大响应延时
连续读取 连续地址变量一次性最大读取数
优化读取 开启后只读本画面相关的变量,省串口带宽
存储设置 不存储 / 全部存储 / 存储指定变量(推荐后者,存很少改的系统参数)
存储标记 数据格式改了手动改这个值,防止读到旧版本存储

存储设置里「全部存储」不推荐——频繁写 Flash 会加速坏块。要掉电保存的,用「存储指定变量」勾选特定变量即可。屏作从机时配置项少一些:启用协议、协议类型选「Modbus 从机」、从机地址(默认 1)、存储设置、存储标记。

3.2 建立变量

添加变量节点后在属性窗口设置。几个关键属性:

属性 说明
名称 默认 Variable1/2/3…,建议改成有意义的,如「机组状态」;分段变量默认 Field1/2/3…,可改「开/关机」
格式 / 符号 短整型、长整型、单精度浮点、字符串;可设无符号 / 有符号
读写设置 可读写 / 只读取 / 只写入
数值转换 实际值 = 原始值 × 缩放 + 平移,比如 0.1 倍率把寄存器整数转成带小数工程量
数组类型 开启后从该地址连续操作 N 个寄存器
是否储存 协议开启存储设置后,此处勾选可掉电保存

变量参数里:变量类型支持线圈、离散输入、保持寄存器、输入寄存器、内存变量、系统变量;屏作主机时才需要填从机地址变量地址(16 进制填写);「初始化从机」是上电后把变量值写回从机;「读取失败归零」是读不到时变量归零(报警场合慎用,可能误显)。

4 教程实现:数据记录控件做告警记录

数据记录控件支持三种记录类型:当前告警历史告警历史告警与解除(比「历史告警」多了每条告警的解除时间)。本例程对前两种做示范。整体分三步:准备素材 → 功能实现 → 下载工程。

4.1 准备工程素材

硬件用 DC80480B070 基本型 7 寸屏;软件用 VisualTFT;UI 用准备好的美工图。工程结构采用首页导航 + 分画面:首页放两个按钮切到【当前告警】和【历史告警】画面,每个子画面有返回首页按钮。另外配【当前告警说明】和【历史告警说明】两个纯说明画面。

4.2 功能实现

流程:新建工程 → 配置 Modbus 协议 → 建变量 + 配置画面控件 → 运行预览。核心在【工具】→【协议与变量设置】。

4.2.1 新建工程

菜单【文件】→【新建工程】,填工程名、路径、设备类型,确定。

4.2.2 配置 Modbus 主机

进入【工具】→【协议与变量设置】,协议类型设「Modbus 主机」,参数按 3.1 节。轮询周期 1 秒、轮询延时 100ms、应答超时 100ms 是默认,一般不用动。

4.2.3 画面与控件配置

首页放两个按钮(控件 ID:1),触控类型「切换画面」,目标画面分别指【当前告警】和【历史告警】。

Modbus 教程 6:数据记录控件(串口屏 Modbus 告警记录)插图

首页按钮(控件 ID:1)属性里把触控类型设为「切换画面」、目标画面选【当前告警】,另一个同理。

Modbus 教程 6:数据记录控件(串口屏 Modbus 告警记录)插图1

4.2.4 当前告警画面

从机产生报警时,数据记录控件显示当前的告警和触发时间;报警解除后控件不再显示该条。配置步骤:

  1. 画面加一个数据记录控件(控件 ID:1),把「记录类型」设为当前告警
  2. 在「告警解析」里设置各事件 ID 的数值、显示颜色、描述;
  3. 针对每个事件 ID,加一条用途为「事件记录[触发]」的逻辑处理,执行条件设成该位 == 1。

记录类型下拉有四个选项:当前告警 / 历史告警 / 当前告警与解除 / 历史告警与解除,按需求选。

Modbus 教程 6:数据记录控件(串口屏 Modbus 告警记录)插图2

「告警解析」对话框三列:告警 ID(事件号)、颜色 ID、告警描述。本例建了离散输入类型变量「机组故障」,取它的前 4 个位分别映射为:压缩机故障、风机故障、烟感报警、过滤网堵塞。

Modbus 教程 6:数据记录控件(串口屏 Modbus 告警记录)插图3

每个事件 ID 对应一条「事件记录[触发]」逻辑。逻辑写法形如:事件记录[触发] / (事件ID, 1, 条件&数值, '压缩机故障' == 1),即该位为 1 时触发一条告警记录。四个事件分别为压缩机故障(2)、风机故障(3)、烟感报警(4)、过滤网堵塞(5)——事件 ID 要和「告警解析」里填的数值对上。

Modbus 教程 6:数据记录控件(串口屏 Modbus 告警记录)插图4

4.2.5 历史告警画面

历史告警与当前告警配置几乎一样,唯一区别是记录类型选历史告警。不同点:报警解除后,历史告警的这条记录仍然留在表格里;如果在 Modbus 协议里开了存储设置,还能掉电保存,重新上电不丢。

4.2.6 运行预览

本例程屏作主机,用 Modbus Slave 软件模拟从机应答。运行虚拟屏,与 Modbus Slave 联机即可看到效果。具体操作参考大彩《【MODBUS】串口屏_应用文档_V1.0.pdf》。

Modbus 教程 6:数据记录控件(串口屏 Modbus 告警记录)插图5

5 下载工程

VisualTFT 编译成功后输出窗口会提示「编译成功」,再下到屏里,两种方式:

  • USB 下载:点菜单【下载到设备】,用 USB 线把配置下进屏;
  • SD 卡下载:菜单【工具】→【量产向导】→ 选「SD 卡下载」,把弹窗里所有文件拷到 SD 卡根目录,插屏后重新上电,烧录完取下 SD 卡。

6 工程实操要点(踩坑提示)

  • 事件 ID 必须对齐:「告警解析」里填的 ID 数值,和「事件记录[触发]」逻辑里的事件 ID 是同一个东西,对不上屏上就不显示那条告警。这是最容易漏的点。
  • 位映射要数清楚:本文「机组故障」是离散输入变量,前 4 个位(bit0~bit3)分别对应压缩机/风机/烟感/滤网。写逻辑时变量名要绑到具体的位,别整字节比。
  • 历史告警要掉电保存,记得开存储:只在 Modbus 协议配置里开了「存储设置 = 存储指定变量」,且变量属性里勾了「是否储存」,历史告警断电后才不丢。两处都要设,只设一处不生效。
  • 当前告警 vs 历史告警的语义:当前告警是「活的」——解除即消失;历史告警是「记账」——解除也留痕。选型时想清楚你要的是实时状态还是审计记录。
  • 轮询周期别太狠:从机响应慢或总线设备多时,1 秒轮询 + 100ms 延时要酌情放大,否则会出现读到一半超时、报警跳变。

整理自广州大彩光电科技有限公司《MODBUS 教程_数据记录控件 V1.0》(www.gz-dc.com),版权归大彩所有。如需联机调试细节,参见大彩《【MODBUS】串口屏_应用文档_V1.0.pdf》。

技术术语(共 9 个)—— 点击展开
Modbus RTU基于串行链路的Modbus协议,使用二进制编码和CRC校验
RS485工业常用的差分串行通信标准,支持多点通信
RS232点对点串行通信标准,常用于短距离设备通信
寄存器Modbus 寄存器存储数据单元,分线圈/离散输入/保持/输入寄存器四类
PLC可编程逻辑控制器,工业自动化控制的核心设备
波特率串行通信每秒传输符号数,Modbus RTU常用9600/19200
串口计算机与外部设备进行串行通信的物理接口
线圈Modbus位可读写数据,地址从00001开始
保持寄存器Modbus 16位可读写数据,地址从40001开始
来源/工具信息 —— 点击展开
来源 Modbus中文网(modbus.cn) —— 国内领先的Modbus通信协议技术社区 分类 Modbus 协议文档 / Modbus 协议标准 / 触控屏开发文档 字数 3423 字 · 阅读约 9 分钟 更新 2026-08-07 永久链接 https://www.modbus.cn/52186.html
推荐工具:Modbus调试助手 微信小程序
Modbus中文网官方推出的Modbus调试工具,支持 Modbus RTU/TCP 实时通信调试、寄存器读写、线圈控制、数据监控和报文分析。 无需安装,微信搜索「Modbus调试助手」即可使用。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
📝 作者声明
本文由 Modbus中文网技术团队 原创撰写,内容基于实际项目案例与技术文档,力求为读者提供准确、实用的参考信息。
把这篇资料用于真实项目?

进入工具中心进行报文解析、CRC 校验和设备调试,或提交需求获取选型与接入建议。

工程师会员

把这篇文章变成可执行的调试资料

开通后可使用高级报文解析、资料包下载、代码示例、工程案例和优先技术支持,适合真实项目交付。

高级工具不限次
资料包与代码包
完整工程案例库
优先技术支持入口

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注