Skip to main content

SF_TestableSafetySensor

提示

此处描述的功能块版本与最新版本的功能块相对应 功能块版本列表

适用的安全标准

SF_TestableSafetySensor 是经过认证的 PLCopen 功能块。有关应用标准的详细信息,请参阅“PLCopen – 技术委员会 5 – 安全软件”。

重要

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

接口说明

该 FB 用于可测试电子/光学传感器或 2 型电敏防护设备 (ESPE)。FB 还可用于外部可测试安全传感器(ESPE:电敏防护设备,例如光束)。它还监控安全传感器的状态。

50. 变量输入

姓名

数据类型

初始值

说明、参数值

Activate

BOOL

FALSE

常规输入参数

S_OSSD_In

SAFEBOOL

FALSE

多变的

传感器输出的状态,例如光栅。

FALSE:安全传感器处于测试状态或请求安全导向响应。

TRUE:传感器处于正常工作状态

StartTest

BOOL

FALSE

多变的

输入以启动传感器测试。设置 S_TestOut 并启动FB内部的时间监视功能。

FALSE:未要求测试。

TRUE:请求测试

TestTime

TIME

T#10ms

常数。范围: 0 … 150 ms

安全传感器的测试时间。

必须遵守‘TestTime’警告说明。

NoExternalTest

BOOL

FALSE

持续的

指示是否支持外部手动传感器测试。

FALSE:支持外部手动传感器测试。自动传感器测试出现故障后,只有完成手动传感器切换序列后才能再次进行自动测试。

TRUE:不支持外部手动传感器测试。自动传感器测试出现故障后,可以再次进行自动测试 - 无需手动切换传感器。

S_StartReset

SAFEBOOL

FALSE

常规输入参数

S_AutoReset

SAFEBOOL

FALSE

常规输入参数

Reset

BOOL

FALSE

常规输入参数



测试时间

对于扩展级别的开发人员: TestTime 输入必须设置为常量值。此值不得因调用而更改。

51. 变量输出

姓名

数据类型

初始值

说明、参数值

Ready

BOOL

FALSE

常规输出参数

S_OSSD_Out

SAFEBOOL

TRUE

显示 ESPE 状态的安全导向输出。

FALSE:传感器有安全导向动作需求,或测试错误。

TRUE:传感器没有安全导向动作的需求,且测试错误。

S_TestOut

SAFEBOOL

TRUE

与传感器的测试输入相结合。尽管规定为 SAFEBOOL,在实践中,信号通常连接到 BOOL 输出。

FALSE:已发送测试请求

TRUE:无测试请求

TestPossible

BOOL

FALSE

向过程提供反馈信号。

FALSE:无法进行自动传感器测试。

TRUE:可以进行自动传感器测试。

TestExecuted

BOOL

FALSE

正信号边缘表示自动传感器测试成功执行。

FALSE

  • 自动传感器测试尚未执行。

  • 自动传感器测试处于活动状态。

  • 自动传感器测试失败。

TRUE:传感器测试已成功完成。

Error

BOOL

FALSE

常规输出参数

DiagCode

WORD

16#0000

诊断代码



提示

OSSD 代表: Output Signal Switching Device

82. 功能块:SF_TestableSafetySensor
功能块:SF_TestableSafetySensor


功能描述

类型 2 ESPE 用于定期测试。其目的是检测危险错误(例如,传感器故障、响应时间超过规定时间)。测试信号应模拟测量控制的操作,定期测试的持续时间不应超过 150 毫秒。测试应验证每个光束是否按用户指定的方式运行。如果测试应由外部安全导向控制系统(例如机器)启动,则 ESPE 应配备合适的输入设备(例如终端)。

重要

ESPE 必须按照产品标准以及标准所要求的类别进行选择。

必须使用单独的功能进行监控,以确保在适当的时间间隔内启动测试。

小心

S_StartResetS_AutoReset 仅当确保 S-PLC 启动时不会出现危险情况时,才可激活输入。

过程. 测试模式
  1. StartTest = TRUESTestOut = FALSE. 监测时间开始

  2. S_TestOut 信号停止发射机(监测 TestTime 首次启动)

  3. S_OSSD_In 切换自 TRUEFALSE (监测 TestTime 第二次开始)

  4. S_TestOut 切换自 FALSETRUE

  5. 启动发射机

  6. 传感器 S_OSSD_In 切换自 FALSETRUE

  7. 停止监控时间

  8. S_OSSD_OutTRUE 在测试期间

. 可选启动锁
  • 激活 FB 后启动锁定

  • 守卫中断后启动锁定

状态图

83. 状态图:SF_TestableSafetySensor
状态图:SF_TestableSafetySensor


提示

注意:从任何状态到 Idle 国家发起 Activate = FALSE,未显示。在每种情况下,这些转换都具有最高优先级。

时序图

84. 时序图:SF_TestableSafetySensor
时序图:SF_TestableSafetySensor


错误检测

以下情况会强制转换为错误状态:

  • 无延迟传感器反馈的测试超时

  • 无传感器信号反馈测试

  • 进程中的静态 Reset 信号无效

  • 监控时间设置的合理性检查

错误行为

如果发生错误事件, S_OSSD_Out 输出设置为 FALSE 并保持此状态。一旦错误得到纠正并且传感器处于运行状态(S_OSSD_In = TRUE),复位将消除错误状态并设置 S_OSSD_Out 输出至 TRUE

如果 S_AutoReset = FALSE,则复位时需要一个上升触发沿。

S_OSSD_InTRUE,可选的启动锁可以通过在上升沿重新启动 Reset 输入。

功能块激活后,可选启动锁可通过触发上升沿重新启动 Reset 输入。

FB 特定的错误和状态代码

52. FB 特定的错误代码

DiagCode

雕像名称

状态描述及输出设置

16#C000

Parameter Error

TestTime 参数的值无效

值介于 0 ms150 ms 是可能的。

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = TRUE

16#C001

Reset Error 1

FB 激活后检测到静态复位条件

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#C002

Reset Error 2

静止的 Reset 状态中检测到的情况 8003

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = TRUE

16#C003

Reset Error 3

状态中检测到静态复位条件 C010

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = TRUE

16#C004

Reset Error 4

状态中检测到静态复位条件 C020

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = TRUE

16#C005

Reset Error 5

状态中检测到静态复位条件 8006

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = TRUE

16#C006

Reset Error 6

状态中检测到静态复位条件 C000

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = TRUE

16#C007

Reset Error 7

状态中检测到静态复位条件 8013

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = TRUE

Error = TRUE

16#C010

Test Error 1

状态:测试时间已到 8020

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted= FALSE

Error = TRUE

16#C020

Test Error 2

状态:测试时间已到 8030

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted= FALSE

Error = TRUE



53. FB 特定的状态代码

DiagCode

雕像名称

状态说明及输出设定

16#0000

Idle

功能块未激活(基本状态)。

Ready = FALSE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8001

Init

功能块检测到激活。

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8002

ESPE Interrupted 1

FB 检测到了安全要求。

该交换机尚未进行自动测试。

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8003

Wait for Reset 1

等待状态后上升触发沿 16#8002

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8004

External Function Test

自动传感器测试失败。

需要进行外部手动传感器测试。

功能块上已激活对必要的外部手动传感器测试的支持(NoExternalTest = FALSE)。

传感器处需要一个负信号边缘。

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8005

ESPE Interrupted

External Test

自动传感器测试失败。

需要进行外部手动传感器测试。

功能块上已激活对必要的外部手动传感器测试的支持(NoExternalTest = FALSE)。

一个 TRUE 传感器处需要信号。

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8006

End External Test

自动传感器测试失败。

需要进行外部手动传感器测试。

功能块上已激活对必要的外部手动传感器测试的支持(NoExternalTest = FALSE)。

外部手动测试已完成。

设备检测到完整的传感器开关周期(外部控制)。

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8010

ESPE Free No Test

FB 未检测到安全要求。

传感器未自动测试。

Ready = TRUE

S_OSSD_Out = TRUE

S_TestOut = TRUE

TestPossible = TRUE

TestExecuted = FALSE

Error = FALSE

16#8020

Test Request

自动传感器测试已激活。测试计时器首次启动。变送器信号已被功能块关闭。

接收器的信号必须遵循发射器的信号。

Ready = TRUE

S_OSSD_Out = TRUE

S_TestOut = FALSE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8030

Test Active

自动传感器测试已激活。测试计时器第二次启动。传感器的发射器信号已由功能块打开。

接收器的信号必须遵循发射器的信号。

Ready = TRUE

S_OSSD_Out = TRUE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8000

ESPE Free Test ok

FB 未检测到安全要求。

传感器已自动测试。

Ready = TRUE

S_OSSD_Out = TRUE

S_TestOut = TRUE

TestPossible = TRUE

TestExecuted =TRUE

Error = FALSE

16#8012

ESPE Interrupted 2

FB 检测到安全要求。开关已自动测试。

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted =TRUE

Error = FALSE

16#8013

Wait for Reset 2

等待状态后复位的上升触发沿 16#8012

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted =TRUE

Error = FALSE