Skip to main content

SF_ModeSelector

提示

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

适用的安全标准

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

重要

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

接口说明

该功能块选择系统运行模式,如手动、自动、半自动等。

姓名

数据类型

初始值

说明、参数值

Activate

BOOL

FALSE

常规输入参数

S_Mode0

SAFEBOOL

FALSE

变量或常数。

输入 0 模式选择开关

FALSE:操作员未请求模式 0

TRUE:操作员请求模式 0。

S_Mode1

SAFEBOOL

FALSE

变量或常数。

模式选择开关输入0

FALSE:操作员未请求模式 1

TRUE:操作员请求模式 1。

S_Mode2

SAFEBOOL

FALSE

变量或常数。

输入 2 模式选择开关

FALSE:操作员未请求模式 2

TRUE:操作员请求模式 2。

S_Mode3

SAFEBOOL

FALSE

变量或常数。

输入 3 模式选择开关

FALSE:操作员未请求模式 3

TRUE:操作员请求模式 3。

S_Mode4

SAFEBOOL

FALSE

变量或常数。

输入 4 模式选择开关

FALSE:操作员未请求模式 4

TRUE:操作员请求模式 4。

S_Mode5

SAFEBOOL

FALSE

变量或常数。

输入 5 模式选择开关

FALSE:操作员未请求模式 5

TRUE:操作员请求模式 5。

S_Mode6

SAFEBOOL

FALSE

变量或常数。

输入 6 模式选择开关

FALSE:操作员未请求模式 6

TRUE:操作员请求模式 6。

S_Mode7

SAFEBOOL

FALSE

变量或常数。

输入 7 模式选择开关

FALSE:操作员未请求模式 7

TRUE:操作员请求模式 7。

S_Unlock

SAFEBOOL

FALSE

变量或常数。

锁定选定的模式。

FALSE:当前 S_ModeXSel 输出被锁定,因此任何改变 S_ModeX 输入不会导致改变 S_ModeXSel 输出,即使在设置模式的上升沿的情况下。

TRUE:选定 S_ModeXSel 未锁定;可以更改模式选择

S_SetMode

SAFEBOOL

FALSE

变量(或常数) FALSE, 以防万一 AutoSetMode = TRUE

设置选定的模式。

操作员确认模式设置。任何对新模式的更改 S_ModeX = TRUE 导致 S_AnyModeSel/S_ModeXSel = FALSE,只有上升 SetMode 触发边缘将导致一个新的 S_ModeXSel = TRUE

AutoSetMode

BOOL

FALSE

持续的

参数化确认模式。

FALSE:模式变更必须由操作员通过以下方式确认 SetMode

TRUE:有效变更 S_ModeX 输入到另一个 S_ModeX 自动导致 S_ModeXSel 无需操作员确认 SetMode (只要它没有被 S_Unlock)。

ModeMonitorTime

TIME

T#0

持续的

允许改变选择输入的最大时间。

ModeMonitorTime 必须遵守警告说明。

Reset

BOOL

FALSE

常规输入参数

模式监控时间

对于扩展级别的开发人员: ModeMonitorTime 输入必须设置为常量值。这意味着调用时该值不能改变。

24. 变量输出

姓名

数据类型

初始值

说明、参数值

Ready

SAFEBOOL

FALSE

常规输出参数

S_Mode0Sel

SAFEBOOL

FALSE

表示选择并确认模式0。

FALSE:模式 0 未选择或未激活。

TRUE:模式 0 被选择并处于活动状态。

S_Mode1Sel

SAFEBOOL

FALSE

表示选择并确认模式1。

FALSE:模式 1 未选择或未激活。

TRUE:模式 1 已选择并处于活动状态。

S_Mode2Sel

SAFEBOOL

FALSE

表示选择并确认模式2。

FALSE:模式 2 未选择或未激活。

TRUE:模式 2 已选择并处于活动状态。

S_Mode3Sel

SAFEBOOL

FALSE

表示选择并确认模式3。

FALSE:模式 3 未选择或未激活。

TRUE:模式 3 已选择并处于活动状态。

S_Mode4Sel

SAFEBOOL

FALSE

表示选择并确认模式4。

FALSE:模式 4 未选择或未激活。

TRUE:模式 4 已选择并处于活动状态。

S_Mode5Sel

SAFEBOOL

FALSE

表示选择并确认模式5。

FALSE:模式 5 未选择或未激活。

TRUE:模式 5 已选择并处于活动状态。

S_Mode6Sel

SAFEBOOL

FALSE

表示选择并确认模式6。

FALSE:模式 6 未选择或未激活。

TRUE:模式 6 已选择并处于活动状态。

S_Mode7Sel

SAFEBOOL

FALSE

表示选择并确认模式7。

FALSE:模式 7 未选择或未激活。

TRUE:模式 7 已选择并处于活动状态。

S_AnyModeSel

SAFEBOOL

FALSE

表示选择并确认了 8 种模式中的一种。

FALSE: 不 S_ModeX 已选定。

TRUE:8 个之一 S_ModeX 已被选定且处于活动状态。

Error

BOOL

FALSE

常规输出参数

DiagCode

WORD

16#0000

诊断代码



58. 功能块:SF_ModeSelector
功能块:SF_ModeSelector


功能描述

此功能块选择系统操作模式,如手动、自动、半自动等。启动控制器时,应假定机器处于安全模式。启动机器时,必须通过设备输入(例如机器的 START 按钮)启动到模式选择器设置的模式的转换。

默认状态之后 FB 的激活是 ModeChanged 状态。这也是 FB 的安全状态,其中所有 S_ModeXSelS_AnyModeSelFALSE

. 当FB处于ModeChanged状态时:
  • 新的 S_ModeX 必须用上升确认输入 S_SetMode 触发边缘(如果 AutoSetMode = FALSE), 这导致了一个新的 S_ModeXSel 输出。

  • 新的 S_ModeX 输入自动导致 S_ModeXSel 输出(如果 AutoSetMode = TRUE)。

  • 这种从状态到 80058000 仅当 S_ModeX 输入是 TRUE.只要所有 S_ModeX 为 FALSE,FB 保持状态 8005,即使 S_SetMode 備份。

ModeChangedModeSelected 状态,即 S_SetMode 由操作员设置,不受计时器监控。

当 FB 处于 ModeSelected 状态,同时发生新的 S_ModeX 输入(较高优先级)和 NOT S_Unlock 信号(较低优先级)导致 ModeChanged 状态。

S_ModeX 不用于模式选择的输入参数应分配默认值 FALSE 以简化程序的验证。

小心

AutoSetMode 仅当保证 S-PLC 启动时不会发生危险时,才应激活输入。

状态图

59. 状态图:SF_Modeselector
状态图:SF_Modeselector


提示

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

典型时序图

60. 时序图1:SF_ModeSelector
时序图1:SF_ModeSelector


61. 时序图 2:SF_ModeSelector,模式输入的错误条件 2
时序图 2:SF_ModeSelector,模式输入的错误条件 2


62. 时序图3:SF_ModeSelector
时序图3:SF_ModeSelector


错误检测

. FB 检测未选择任何模式输入的情况。在以下情况下会检测到此无效条件: ModeMonitorTime 到期:
  • 在每个下降触发沿重新启动 S_ModeX 输入

  • 那么在 ModeChanged 状态,该状态跟随 FB 的激活。

相比之下,FB 直接检测是否存在多个 S_ModeX 输入同时被选择。

当 FB 处于错误状态时,会检测到静态复位条件 C001 或者 C002

错误行为

如果发生错误事件, S_ModeXSelS_AnyModeSel 输出设置为安全状态(FALSE)。 这 DiagCode 输入显示相关错误代码和 Error 输出设置为 TRUE

必须使用上升触发沿来检测错误 Reset BOOL 输入。FB 从错误状态切换到 ModeChanged 状态。

FB 特定的状态和错误代码

25. FB 特定的错误代码

DiagCode

雕像名称

状态描述及输出设置

16#C001

Error

Short-circuit

FB 检测到两个或多个 S_ModeX 为真(例如,线路短路)。

Ready = TRUE

Error = TRUE

S_AnyModeSel = FALSE

全部 S_ModeXSel = FALSE

16#C002

Error

Open-circuit

FB 检测到所有 S_ModeXFALSE. 下降后的时间间隔 S_ModeX 触发沿超出 ModeMonitorTime(例如,线路短路)

Ready = TRUE

Error = TRUE

S_AnyModeSel = FALSE

全部 S_ModeXSel = FALSE

16#C003

Reset Error 1

状态中检测到静态复位信号 C001

Ready = TRUE

Error = TRUE

S_AnyModeSel = FALSE

全部 S_ModeXSel = FALSE

16#C004

Reset Error 2

状态中检测到静态复位信号 C002

Ready = TRUE

Error = TRUE

S_AnyModeSel = FALSE

全部 S_ModeXSel = FALSE



26. FB 特定的状态代码(无错误)

DiagCode

雕像名称

状态描述及输出设置

16#0000

Idle

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

Ready = FALSE

Error = FALSE

S_AnyModeSel = FALSE

全部 S_ModeXSel = FALSE

16#8005

ModeChanged

激活后的状态或 S_ModeX 已改变(锁定除外)或错误状态重置后

Ready = TRUE

Error = FALSE

S_AnyModeSel = FALSE

全部 S_ModeXSel = FALSE

16#8000

ModeSelected

有效模式选择,但尚未锁定。

Ready = TRUE

Error = FALSE

S_AnyModeSel = TRUE

S_ModeXSel = 已选择 XTRUE;其他的是 FALSE

16#8004

ModeLocked

有效模式选择已被锁定。

Ready = TRUE

Error = FALSE

S_AnyModeSel = TRUE

S_ModeXSel = 已选择 XTRUE;其他的是 FALSE