BeckHoff(倍福) PLC 顺控器执行超时故障在北尔触摸屏显示的实现
一、概述
本文描述如何通过 倍福 PLC 程序逻辑 和 北尔触摸屏报警配置,实现工位序列超时故障的检测与可视化报警。核心流程为:
- PLC 内判断超时条件 → 2. 映射到诊断字 → 3. 北尔触摸屏关联诊断字位,触发报警显示。
二、实现步骤
步骤 1:PLC 程序中 “超时条件” 判断(功能块逻辑)
在倍福 PLC 的功能块 FB_SYS_SEQ_CONTROL_SFC
中,编写超时检测逻辑:
1.1 变量定义
- 输出变量:
bOut_ErrTimeOut : BOOL
(超时报警输出,用于向外传递超时信号)。
1.2 超时条件逻辑
当以下 3 个条件同时满足 时,判定为 “序列超时”:
- 条件 1:
stInOut_SEQ.bDisableTimeout = FALSE
(超时检测未被禁用)。 - 条件 2:
stInOut_SEQ.bRelease = TRUE
(工位处于激活运行状态)。 - 条件 3:
stInOut_SEQ.stXTimes.tStepRunTime >= (stInOut_SEQ.stXTimes.tn_DelayAct + stInOut_SEQ.stXTimes.TimeOut)
(步骤运行时间超过设定的超时阈值)。
1.3 代码实现(ST 语言)
IF NOT stInOut_SEQ.bDisableTimeout AND stInOut_SEQ.bRelease AND (stInOut_SEQ.stXTimes.tStepRunTime >= (stInOut_SEQ.stXTimes.tn_DelayAct + stInOut_SEQ.stXTimes.TimeOut)) THENbVar_ErrTimeOut := TRUE; // 内部变量标记超时
ELSEbVar_ErrTimeOut := FALSE;
END_IFbOut_ErrTimeOut := bVar_ErrTimeOut; // 输出超时信号
步骤 2:诊断字定义与信号映射(工位程序)
在具体工位的顺控程序(如 PRG_Cell2_ST01_Loading_SEQ
)中,将超时信号映射到 诊断字(WORD
类型,每一位对应一种故障):
2.1 诊断字定义
- 变量:
winOut_DIAGNOSE_SEQ : WORD
(诊断字,Bit0 定义为 “Sequence Time Out”)。
2.2 信号赋值
将功能块的超时输出 bOut_ErrTimeOut
赋值给诊断字的 Bit0:
st
winOut_DIAGNOSE_SEQ.0 := bOut_ErrTimeOut; // 超时信号映射到诊断字Bit0
步骤 3:诊断变量的集中管理(序列调用程序)
在序列调用程序(如 PRG_Cell2ac_SequencesCall
)中,通过 数组 集中管理所有工位的诊断字,方便后续调用:
3.1 变量定义
- 数组:
arr_Diagnose_KAT_SEQ[E_SequenceList_Cell12_ST1] : winOut_DIAGNOSE_SEQ
(工位 1 的诊断字实例化)。
3.2 作用
将每个工位的诊断字统一组织,便于 PLC 内部数据交互和触摸屏变量关联。
步骤 4:北尔触摸屏报警服务器配置
在北尔触摸屏的 报警服务器 中,配置报警规则,关联 PLC 诊断字的 Bit0:
4.1 操作流程
- 打开报警服务器:进入北尔工程软件的 “报警服务器” 编辑器。
- 添加报警项:
- 报警文本:填写故障描述(如
S 1.0: ST1_Loading_Sequence Time Out
,表示 “工位 1 载入序列超时”)。 - 关联变量:选择 PLC 中的诊断变量(如
%GV_SYS_DIAGNOSE.arrKCellX._xwKAT_SEQ_1_
,需与 PLC 程序变量名一致)。 - 触发条件:设置为
Bit0Set
(当诊断字 Bit0 置 1 时,触发报警)。
- 报警文本:填写故障描述(如
- 下载配置:将工程下载到触摸屏,完成报警关联。
三、关键逻辑说明
- PLC 侧:通过功能块封装超时判断逻辑,诊断字实现 “一位一故障” 的标准化管理,方便扩展其他故障(如 Bit1 可定义为 “通讯中断”)。
- 触摸屏侧:通过报警服务器绑定 PLC 变量的位信号,实现故障的可视化提示,简化运维排查。
通过以上步骤,即可完成 倍福 PLC 超时故障→北尔触摸屏报警 的端到端实现。