Skip to main content

SF_Equivalent

适用的安全标准

SF_Equivalent 是经过认证的 PLCopen 功能块。有关应用标准的详细信息,请参阅:“PLCopen – Technical Committee 5 – Safety Software”

重要

用户必须满足标准中列出的要求。

接口说明

该功能块将两个等效的 SAFEBOOL 输入(两者 NO 或者 NC) 为一 SAFEBOOL 输出具有差异时间监控。该 FB 不应该单独使用,因为它没有重启联锁。需要将输出连接到其他安全相关功能。

8. VAR_INPUT

姓名

数据类型

初始值

说明,参数值

Activate

BOOL

FALSE

通用输入参数

S_ChannelA

SAFEBOOL

FALSE

多变的

输入 A 用于逻辑连接

FALSE: 接触 A 打开

TRUE: 接触 A 关闭

S_ChannelB

SAFEBOOL

FALSE

多变的

输入 B 用于逻辑连接

FALSE: 接触 B 打开

TRUE: 接触 B 关闭

DiscrepancyTime

TIME

T#0ms

持续的

两个输入的差异状态的最大监控时间

必须遵守警告说明“DiscrepancyTime”。



DiscrepancyTime

适用于扩展级别的开发人员: DiscrepancyTime 输入必须用一个常数值激活。因此,不得更改调用的值。

9. VAR_OUTPUT

姓名

数据类型

初始值

说明,参数值

Ready

BOOL

FALSE

一般输出参数

S_EquivalentOut

SAFEBOOL

FALSE

安全相关输出

FALSE: 一个输入信号的最小值是 FALSE 或监控时间之外的状态变化

TRUE:两个输入信号都“激活”并且状态在监控时间内发生变化。

SafetyDemand

BOOL

FALSE

一般输出参数

Error

BOOL

FALSE

一般输出参数

DiagCode

WORD

16#0000

诊断代码



提示

对于某些(较低)级别的安全要求,可以允许使用 BOOL 作为输入和 SAFEBOOL 作为输出。但是,这必须通过应用程序的 FMEA 进行评估。在图书馆里,应该区分 SAFEBOOLBOOL 版本。

10. 功能块: SF_Equivalent
功能块: SF_Equivalent


功能说明

该功能块将两个等效的 SAFEBOOL 输入(两者 NO 或者 NC) 为一 SAFEBOOL 输出具有差异时间监控。两个渠道相互依存。功能块输出显示两个通道的评估结果。

Wenn sich das Signal eines Kanals 从 TRUEFALSE,输出立即切换到 FALSE 出于安全原因。

差异时间监控:差异时间是两个输入可能具有不同状态而功能块未检测到错误的最长时间。当输入状态发生变化时,差异时间监控开始。一旦差异时间过去,当两个输入具有不同的状态时,功能块会检测到错误。

两个输入必须对称切换。这意味着对两个输入进行监视以从 TRUEFALSE 以及从 FALSETRUE.

10. 输入输出逻辑表

输入

输出

Activate

S_ChannelA

S_ChannelB

DiscrepancyTime

Ready

S_EquivalentOut

SafetyDemand

Error

DiagCode

FALSE

FALSE

TRUE

没有开始

FALSE

FALSE

FALSE

FALSE

0000

TRUE

FALSE

FALSE

没有开始

TRUE

FALSE

TRUE

FALSE

8801

TRUE

TRUE

FALSE

开始

TRUE

FALSE

TRUE

FALSE

8802

TRUE

TRUE

FALSE -> TRUE

开始

TRUE

TRUE

FALSE

FALSE

8000

TRUE

TRUE

TRUE

没有开始

TRUE

TRUE

FALSE

FALSE

8000

TRUE

TRUE

TRUE -> FALSE

开始

TRUE

FALSE

TRUE

FALSE

8806

TRUE

TRUE -> FALSE

FALSE

开始

TRUE

FALSE

TRUE

FALSE

8801

TRUE

FALSE

FALSE

没有开始

TRUE

FALSE

TRUE

FALSE

8801

TRUE

FALSE

FALSE -> TRUE

开始

TRUE

FALSE

TRUE

FALSE

8804

TRUE

FALSE -> TRUE

TRUE

开始

TRUE

TRUE

FALSE

FALSE

8000



提示

在逻辑表中,箭头 -> 代表转换。 TRUE -> FALSE 表示变量 jas 的值从 TRUEFALSE.

状态图

11. 状态图: SF_Equivalent
状态图: SF_Equivalent


提示

从任何状态过渡到 Idle 状态由于 Activate = FALSE 未显示。然而,这些转换具有最高优先级。

典型时序图

12. 时序图1: SF_Equivalent
时序图1: SF_Equivalent


13. 时序图2: SF_Equivalent
时序图2: SF_Equivalent


错误检测

功能块监控通道之间的差异时间 S_ChannelA 和渠道 S_ChannelB, 当切换到 TRUE 以及切换到 FALSE.

错误行为

输出 S_EquivalentOut 设定为 FALSE. Error 设定为 TRUE. DiagCode 表示错误状态。没有复位定义为与错误复位相结合的输入。只要一组输入值正确 S_EquivalentOut 存在, ErrorFALSE 再次。

FB 特定错误和状态代码

11. FB 特定的错误代码

DiagCode

州名

状态说明及输出设定

16#C010

Error 1

状态中经过的时间差异 16#8802

Ready = TRUE

S_EquivalentOut = FALSE

SafetyDemand = FALSE

Error = TRUE

16#C020

Error 2

状态中经过的时间差异 16#8804

Ready = TRUE

S_EquivalentOut = FALSE

SafetyDemand = FALSE

Error = TRUE

16#C030

Error 3

状态中经过的时间差异 16#8806

Ready = TRUE

S_EquivalentOut = FALSE

SafetyDemand = FALSE

Error = TRUE



12. FB 特定状态代码

DiagCode

州名

状态说明及输出设定

16#0000

Idle

功能块未激活(初始状态)。

Ready = FALSE

S_EquivalentOut =FALSE

SafetyDemand = FALSE

Error = FALSE

16#8801

Init

FB 已检测到激活,现在 FB 已激活。

Ready = TRUE

S_EquivalentOut = FALSE

SafetyDemand = TRUE

Error = FALSE

16#8000

Safety Output Enabled

输入切换到 TRUE 在等效模式下。

Ready = TRUE

S_EquivalentOut = TRUE

SafetyDemand = FALSE

Error = FALSE

16#8802

Wait for Channel B

S_ChannelA 已切换到 TRUE – 等待 S_ChannelB;差异计时器启动。

Ready = TRUE

S_EquivalentOut = FALSE

SafetyDemand = TRUE

Error = FALSE

16#8804

Wait for Channel A

S_ChannelB 已切换到 TRUE – 等待 S_ChannelA;差异计时器启动。

Ready = TRUE

S_EquivalentOut = FALSE

SafetyDemand = TRUE

Error = FALSE

16#8806

From Active Wait

已切换到一个频道 FALSE;等待切换到另一个频道 FALSE, 差异计时器启动。

Ready = TRUE

S_EquivalentOut = FALSE

SafetyDemand = TRUE

Error = FALSE