Alarms
Codesys 后端
Codesys 集成用于在 PLC 逻辑中处理报警的激活和取消。它通过变量绑定与报警前端进行直接通信。
所需库文件
要在 Codesys 项目中使用报警功能,必须包含以下库:
- 万可慧视(PLCVisu) – 用于通信和 UI 支持的框架
- ELA_MessageSystem – 核心报警处理库(包含在万可慧视库中)
Codesys 中的符号配置
要实现 Codesys 与 HMI 之间的报警通信,必须在符号配置中暴露与报警相关的变量。这些变量必须被选中并允许外部访问。

请确保所有必要的报警结构和变量均已启用外部访问,否则报警将在 HMI 中无法正确显示。
报警实现
alarmPrg
处理报警初始化及事件的 PLC 程序。通常包含在 PLC_PRG 中,也可以放在独立任务中执行。
alarmingManagerPrg
负责执行报警激活与取消逻辑的程序。
setActive
使用可选参数与翻译占位符激活一个报警:
setActive(msgId : UINT,
param1 : STRING := '',
param2 : STRING := '',
param3 : STRING := '',
param4 : STRING := '',
param5 : STRING := '',
trans1 : STRING := '',
trans2 : STRING := '',
trans3 : STRING := '',
trans4 : STRING := '',
trans5 : STRING := '',
moduleId : UINT := 0);
setInactive
取消一个已激活的报警:
setInactive(msgId : UINT,
moduleIndex : UINT := 0,
tag : STRING := '');
manage
以触发器作为输入参数,用于替代 setActive 和 setInactive:
alarmingPrg.alarming.manage(444, iErrorTrigger > 95);
这些方法通常在结构化报警管理程序 alarmManagerPrg 中调用。
示例
alarmManagerPrg
alarmingPrg.alarming.manage(444, iErrorTrigger > 95);
setInactive
setActive
setInactive(msgId : UINT,
moduleIndex : UINT := 0,
tag : STRING := '');
setActive(msgId : UINT,
param1 : STRING := '',
param2 : STRING := '',
param3 : STRING := '',
param4 : STRING := '',
param5 : STRING := '',
trans1 : STRING := '',
trans2 : STRING := '',
trans3 : STRING := '',
trans4 : STRING := '',
trans5 : STRING := '',
moduleId : UINT := 0);
PLC_PRG

