英威腾 InoTouch Editor 软件中报警历史记录不显示,是现场调试与维护中最常见、最易被误判为“软件故障”或“触摸屏损坏”的典型问题。但绝大多数情况下,它并非硬件或软件缺陷,而是触发条件位地址配置错误所致——即:系统找不到“哪个地址一变,就该记一笔报警”。
以下内容为你逐层拆解该问题的完整因果链、定位方法、修正步骤及预防要点。全文无废话,只讲你打开软件后下一步该做什么。
一、先确认:你遇到的确实是“触发条件位地址问题”,而非其他原因
在动手修改前,请用 30 秒完成以下 4 项快速筛查。只要其中任意一项为“否”,本指南后续步骤将不适用,请立即转向其他排查路径(如通讯中断、存储空间满、工程未下载等):
- 报警组已启用:在
报警管理 → 报警组设置中,目标报警组的“使能”复选框已被勾选。 - 报警变量已绑定正确地址:在
报警管理 → 报警变量设置中,每个报警变量的“PLC 地址”列明确填写了类似M100、D200、%M100的有效地址(非空、非乱码、非0)。 - 报警历史页面已插入控件:在画面编辑状态下,目标画面中已拖入
报警历史列表控件(非实时报警列表,二者功能完全不同)。 - 触摸屏运行时,PLC 对应地址确实在变化:用 PLC 编程软件在线监控,确认你设定的报警触发地址(如
M100)在故障发生时确实由0 → 1或1 → 0(取决于边沿类型)。
✅ 若以上 4 项全部为“是”,则 99% 确认为触发条件位地址配置错误。继续往下。
二、核心原理:报警历史记录不是“自动扫描所有报警变量”,而是“只响应特定地址的跳变”
InoTouch Editor 的报警历史机制采用事件驱动设计,而非轮询扫描。它不会持续读取所有报警变量的当前值,而是监听一个专用的触发条件位地址(Trigger Bit Address)。只有当该地址发生指定边沿跳变(上升沿或下降沿)时,系统才执行一次“抓取当前所有已使能报警变量的状态,并存入历史记录”。
这个地址不等于报警变量地址本身,而是一个独立配置的、全局唯一的控制位。它的作用相当于一个“拍照快门按钮”——按一下,系统才拍一张当前报警快照。
该地址在软件中的正式名称为:
“报警历史触发地址”(部分版本界面显示为 History Trigger Address 或 Alarm Log Trigger)
它默认为空,且不会随报警变量地址自动同步。这是绝大多数用户遗漏的关键点。
三、定位并修正触发条件位地址(实操步骤)
1. 进入报警历史触发地址配置界面
双击工程树中的 报警管理 节点 → 切换到 报警历史 选项卡 → 滚动到底部,找到 触发地址设置 区域。
⚠️ 注意:此区域不在“报警变量设置”页,也不在“报警组设置”页,而是独立存在于
报警历史页最下方。很多用户因找错位置而反复重设报警变量地址,无效。
2. 填写正确的触发地址
在 触发地址 输入框中,填入一个PLC 中实际可用、且你可自由支配的位地址。推荐方案如下:
| 推荐类型 | 示例地址 | 说明 |
|---|---|---|
| M 区位寄存器 | M1000 |
最常用。确保该地址未被其他逻辑占用,且 PLC 支持 M 区断电保持(如需掉电保存历史,选带保持属性的 M 地址,如 M8000 起始段) |
| SM 区特殊继电器 | SM0.0 |
❌ 禁止使用。SM0.0 是常 ON 位,会导致连续触发,历史记录爆炸式增长甚至卡死 |
| Q 区输出点 | Q0.5 |
可用,但需确保 PLC 程序中该点仅用于触发,不参与实际控制回路 |
| 自定义符号地址 | ALARM_TRIG |
若 PLC 已定义符号名,此处可直接输入(需确保符号名在通讯协议中已映射) |
✅ 正确填写示例:M1000
❌ 错误填写示例:M1000.0(InoTouch 不接受带小数点的位地址格式)、D100(D 区为字,非位)、空、0、X0(三菱风格地址,需确认 PLC 类型匹配)
3. 设置触发边沿类型
在 触发方式 下拉菜单中,选择:
- 上升沿触发(
Rising Edge):当M1000从0 → 1时记录一次历史; - 下降沿触发(
Falling Edge):当M1000从1 → 0时记录一次历史。
✅ 推荐选 上升沿触发。因其与 PLC 常见的“故障置位”逻辑一致(如温度超限 → M1000 = 1)。
4. 将触发地址写入 PLC 程序(关键!)
仅在软件中设置地址无效。你必须在 PLC 梯形图/指令表中,显式地对 M1000 执行一次 SET 或 RST 操作,且该操作必须与真实报警条件关联。
例如(以西门子 S7-200 SMART 为例):
Network 1
LD I0.0 // 温度传感器故障输入
AND T37.Q // 定时器确认持续超限
= M1000 // 上升沿触发地址 → 此行必须存在!
⚠️ 常见错误:
- 仅用
M1000作为报警变量地址(如报警变量1 → M1000),但 PLC 中从未主动给M1000赋值; - 用
M1000做中间逻辑,但未做SET/=操作,导致其状态由其他线圈间接控制,时序不可控; - 触发地址与报警变量地址混用同一寄存器(如
报警变量 → M100,触发地址 → M100),造成逻辑冲突。
✅ 正确做法:触发地址 M1000 专位专用,仅由一条明确的、带条件的 = M1000 指令驱动。
5. 下载并测试
点击工具栏 下载 按钮 → 选择 下载所有(确保参数+画面+报警配置全部更新)→ 在触摸屏上进入报警历史画面 → 在 PLC 中强制 M1000 = 1(模拟一次触发)→ 观察历史列表是否新增一条记录。
若成功:记录时间、报警名、状态均正确显示;
若失败:返回第 2 步,用 PLC 软件确认 M1000 是否真被写入(在线监控该位)。
四、进阶校验:验证触发地址与报警变量的时序关系
报警历史记录的“准确性”依赖于触发时刻与报警变量状态的严格同步。若 PLC 中触发地址 M1000 的置位晚于报警变量(如 M101)的置位,则历史中该报警可能显示为 0(未触发)。
解决方法:在 PLC 程序中,确保触发地址 M1000 的置位指令位于所有相关报警变量置位指令之后,且在同一扫描周期内完成。
例如(优化后):
Network 1
LD I0.0
AND T37.Q
= M101 // 报警变量:温度超限
Network 2
LD M101 // 依赖上一网络结果
= M1000 // 触发地址:必须在此处,且紧随其后
✅ 此结构保证:
M101和M1000在同一 PLC 扫描周期内同时变为1,历史记录捕获到准确状态。
❌ 错误结构:M1000由独立定时器触发,与M101不同步,导致历史记录“漏报”。
五、配置参数对照表(供快速核对)
以下表格列出 报警历史 页中所有关键参数及其合法取值范围。请逐项比对你的工程设置:
| 参数名 | 允许值 | 错误示例 | 后果 |
|---|---|---|---|
触发地址 |
M0–M8191、Q0.0–Q15.7(依 PLC 类型)、%M100(支持协议) |
D100、VW100、空、X0 |
地址无效,不触发 |
触发方式 |
上升沿触发、下降沿触发 |
电平触发、高电平、留空 |
无法识别跳变,无记录 |
历史记录数 |
10–10000(整数) |
0、10001、10.5 |
0:不存记录;超限:自动截断 |
日期时间格式 |
YYYY-MM-DD HH:MM:SS 或 MM/DD/YYYY HH:MM |
DD-MM-YYYY、无 |
时间显示错乱,但不影响记录功能 |
存储介质 |
内部Flash(默认)、U盘(需提前格式化为 FAT32) |
SD卡(不支持)、网络路径 |
存储失败,提示“存储异常” |
六、一次性根治:建立标准化配置流程
为避免重复踩坑,建议在新建工程时,固化以下 3 条铁律:
-
地址规划表前置:在 PLC 编程开始前,用 Excel 列出:
M100–M199:报警变量区(每报警占 1 位)M200–M209:报警触发地址区(M200=总触发,M201=急停触发…)M300–M399:历史查询控制位(如M300=清空历史)
-
InoTouch 配置模板化:
- 创建一个标准工程模板,其中
报警历史页已预设触发地址=M200、上升沿触发、历史数=1000; - 每次新建项目,直接导入该模板,再修改报警变量即可。
- 创建一个标准工程模板,其中
-
PLC 程序加注释规范:
在触发地址赋值行上方,强制添加注释:// 【报警历史触发】对应 InoTouch 触发地址 M200,上升沿记录 // 必须与 M101/M102 等报警变量同周期置位
七、附:常见报错信息与精准应对
| InoTouch 屏幕提示 | 真实原因 | 直接操作 |
|---|---|---|
| “报警历史为空” | 触发地址未动作,或历史数设为 0 |
检查 M200 是否被 PLC 写入;核对 历史记录数 参数 |
| “存储失败” | Flash 空间满(>95%),或 U 盘未识别 | 进入 系统设置 → 存储管理,点击 清理历史;拔插 U 盘并重新格式化 |
| “时间错误” | PLC 未同步时间,或触摸屏 RTC 电池失效 | 在 系统设置 → 时间设置 中手动校准,或更换屏内纽扣电池 |
| “地址无效” | 触发地址超出 PLC 支持范围(如对汇川 H2U 设 M10000) |
查阅 PLC 手册,改用 M1000 等安全地址 |
八、终极验证:用最小工程复现并固化方案
-
新建空白工程,仅添加:
- 1 个报警变量:
M100,名称“测试报警”; - 报警历史触发地址:
M200,上升沿; - 1 个画面,插入报警历史列表控件。
- 1 个报警变量:
-
PLC 编写最简程序:
LD I0.0 = M100 // 报警变量 = M200 // 触发地址(同周期) -
下载 → 强制
I0.0 = 1→ 历史列表立即出现 1 条记录。
此最小工程可作为团队交接标准件,确保任何新人 5 分钟内掌握正确配置逻辑。
修改触发地址 M200 并在 PLC 中添加对应 = M200 指令,下载后测试触发。

暂无评论,快来抢沙发吧!