西门子PLC故障安全功能-SFDOOR(附功能块案例下载)
西门子的故障安全模块是在工业控制系统中广泛应用的一种安全装置,其主要目的是保证设备的运行安全和可靠性。
以下将从四个方面介绍西门子安全功能当中的 SFDOOR:
问题描述;指令介绍;使用方法;拓展思考;
1 问题描述
在工业领域中,安全门是防止意外伤害和提高生产效率的关键设备之一。安全门可以确保员工和其他相关人员的身体健康和安全,并降低机器操作时发生事故的风险。
为确保工人的安全,在机器的封闭部分设置了一扇门,并安装了一个安全联锁开关来指示门的状态以确保机器或过程的安全。限位开关是最常见的安全门联锁设置,通常在门上安装两个相对的限位开关。当打开或关闭门时,只有一个限位开关会关闭,如下图所示。
图 1 显示,当门打开时,开关 1 将被关闭,开关 2 将打开。当门关闭时,情况相反,开关 1 打开,开关 2 关闭。这种设置提供了额外的安全和监控级别,因为两个开关不能同时关闭或打开。如果发生这种情况,则表示其中一个开关出现故障,将触发安全功能。
另外,根据冗余原则,开关 1 和 2 可能是双通道开关,每个开关都有两个独立的通道。在该示例中,我们假设每个开关都具有双通道。因此,安全 PLC 将按如下方式监控系统:
安全 PLC 将相互监控每个开关的双通道,并始终保持它们处于同一位置,否则开关内部可能会出现故障。安全 PLC 将相互监控两个开关 1 和 2,始终保持它们彼此相对,否则其中一个开关可能会故障。在任何情况下,安全 PLC 都将触发安全功能并确认所有安全条件直到恢复。
2 指令介绍
STEP7 V16 中创建和编写安全程序的过程与标准程序几乎相同。可使用 F-FBD 或 F-LAD 编程语言编写故障安全 FB 和 FC 程序,使用 F-DB 编程语言创建故障安全 DB。STEP7 Safety Advanced V16 提供了一些典型的可在安全程序中使用的故障安全应用程序块。编译安全程序时,将自动执行安全检查,并插入用于错误检测和故障响应的其它故障安全块。这将确保可以检测到故障和错误,并触发适当的响应,以使 F 系统保持在安全状态或进入安全状态。除安全程序之外,标准用户程序也可以在 F-CPU 上运行。
打开安全主程序块 FB1,在右侧安全功能库中调用 SFDOOR 功能块
将功能块拖拽到主程序当中
该指令主要包含以下几个参数
当输入 IN1 或 IN2 中一个信号状态为 0 时,使能信号 Q 将立即复位为 0(安全门打开)。仅当发生以下情况时,使能信号才可复位为 1:
• 在打开门之前,输入 IN1 和 IN2 的信号状态均为 0(安全门已完全打开)
• 之后,输入 IN1 和 IN2 的信号状态将都为 1(安全门关闭)
• 发生确认按照在输入 ACK_NEC 处的参数分配对使能进行确认:
• 如果 ACK_NEC = 0,则将自动进行确认。
• 如果 ACK_NEC = 1,则必须使用输入 ACK 处的上升沿来对使能进行确认。
输出 ACK_REQ = 1 用于发送信号,指示为了确认需要在输入 ACK 上输入一个用户确认。门关闭时,该指令将 ACK_REQ 立即设置为 1。确认后,该指令将 ACK_REQ 复位为 0。
如果要该指令可识别是否仅由于钝化相关的 F-I/O 而导致输入 IN1 和 IN2 为 0,则需要为输入 QBAD_IN1 或 QBAD_IN2 提供相关 F-I/O 的 QBAD 信号或相关通道的 QBAD_I_xx 信号/取反的值状态。此外,由于钝化了 F-I/O,因此可防止在确认之前完全打开安全门。
• OPEN_NEC = 0 时,在重新集成相关的 F-I/O 后两个输入 IN1 和 IN2 首次具有信号状态 1(安全门关闭)时,将独立于 ACK_NEC,立即直接进行自动确认。
• OPEN_NEC = 1 时,或者如果重新集成关联的 F-I/O 之后,IN1 和 IN2 输入中至少一个信号状态仍为 0,将按照 ACK_NEC 进行自动确认或者必须为使能在输入 ACK 处使用一个上升沿。确认之前,输入 IN1 和 IN2 的信号状态必须先为 0(安全门已完全打开),然后再为 1(安全门关闭)。
DIAG 输出将提供有关错误的非故障安全信息,用于检修。可以通过操作员监视和控制系统读取该信息,也可以在标准用户程序中评估该信息(如果适用)。
3 使用方法
在首次开机上电时,虽然 IN1 和 IN2 为 1(安全门已关闭),但是仍然没有输出,ACK = 1 也不会复位故障,因为 OPEN_NEC = 1 时,必须再次打开和关闭门。
在打开和关闭门后,ACK_REQ = 1,需要给 ACK 一个上升沿,确认报警。因为 ACK_NEC = 1。
复位后,Q = 1 ,输出正常。
如果开关 IN1 和开关 IN2 的状态变化之间存在时间滞后,则会触发安全功能,并且输出不会打开。正常情况下开关 1 和开关 2 是同步的,如果有滞后,系统会判断开关出现故障,所以会停止输出。
4 拓展思考
SFDOOR 功能块只能在带 F 的 PLC 中调用,如果我们想在常规的 PLC 中使用,我们能否编写一个反馈的程序呢。
首先我们先定义输入输出接口,如图:
这次我们使用 SCL 语言编程,程序如下图:
我们在程序里调用,测试也可以满足使用条件。因为没有认证及百万级的测试,更没有安全 PLC 的冗余和诊断功能,如果工程上有需要,还是请购买西门子安全性 PLC。
您可以下载我编写好的功能块进行模拟测试,同时与安全模块进行对比。也可以按需修改后应用在自己的项目当中。
PLC 安全逻辑的密码是:123
下载地址:
https://share.weiyun.com/eqIXJu3m
加入剑指工控技术群,联系各群群管理员获得提取码。
未入群的工控友人
联系美女管理员入群
这篇文章是我在项目中遇到的一些问题后整理的笔记,旨在记录并分享给大家。后续将会推出一系列文章,介绍西门子故障安全模块的使用方法以及应用场景等内容。
2023年5月