Skip to main content

基础级别的编程示例

文档“PLCopen – 技术委员会 5 安全软件技术规范第 2 部分:用户示例版本 1.01 – 正式发布”中的“带 EDM 的双手控制”示例用作 CODESYS Safety Extension 基础级别程序的编程示例,图示为 CODESYS Safety Extension FBD 实现。

提示

有关基础级别编程的更多信息,请参阅文档“PLCopen - 技术委员会 5 安全软件”。

安全功能的功能描述

本例中使用了以下安全功能:

  • 按下紧急停止按钮时,必须停止所有危险动作(通过 SF_EmergencyStop

    紧急停止具有最高优先级。松开后 EStop 按钮,需要通过 S0 复位进行复位。

  • 按下双手控制的两个按钮即可激活安全输出。松开任何双手按钮都会停用安全输出并通过开关装置停止危险运动 K1K2 (通过 SF_TwoHandControlTypeII

  • 所连接开关设备的基本状态和操作状态均受到监控。如果检测到错误,则安全输出无法运行。(通过 SF_EDM

  • 开启安全或功能应用程序后,或在紧急停止条件后,必须释放双手控制并再次启动,以重新激活安全输出(通过 SF_OutControl)。为了确保功能重启,功能应用程序的过程信号连接到 Activate 双手控制 FB 的输入 THC_S2_S3。(如果在双手控制激活时重新启动应用程序进程,则设备将进入状态 C0003,表示激活时两个按钮均被按下的错误,并阻止重新启动。)

在此示例中,仅存在一种操作状态。

123. 编程示例的变量声明:带 EDM 的双手控制
编程示例的变量声明:带 EDM 的双手控制


124. 编程示例的实现:使用 EDM 进行双手控制
编程示例的实现:使用 EDM 进行双手控制


105. 输入:

姓名

数据类型

描述

S1_S_EStopIn

SAFEBOOL

紧急停止按钮S1

S2_S_Switch1

SAFEBOOL

开关S2与双手控制按钮1相连

S3_S_Switch2

SAFEBOOL

开关S3与双手控制按钮2相连

K1_S_EDM1

SAFEBOOL

反馈外部设备K1

K2_S_EDM2

SAFEBOOL

反馈外部设备K2

S0_Reset

BOOL

开发人员使用开关 S0 重置(源自功能应用程序)

Process

BOOL

通过流程释放运动(源自功能应用)



106. 输出:

姓名

数据类型

描述

S_EDM_Out_EDM_K1_K2

SAFEBOOL

通过控制执行器 K1K2

Error_EStop_S1

BOOL

错误标志 EStop_S1

Error_THC_S2_S3

BOOL

错误标志 THC_S2_S3

Error_OC_K1_K2

BOOL

错误标志 OC_K1_K2

Diag_EStop_S1

WORD

诊断代码 EStop_S1

16#8xxx:正常运行,

16#Cxxx 如果 EStop_S1 出现错误

Diag_THC_S2_S3

WORD

诊断代码 THC_S2_S3

16#8xxx:正常运行,

16#Cxxx 如果发生错误 THC_S2_S3

Diag_OC_K1_K2

WORD

诊断代码 OC_K1_K2

16#8xxx:正常运行,

16#Cxxx 如果发生错误 OC_K1_K2



其他说明

此示例还可以用于 SF_TwoHandControlTypeIII

输入 激活 设置为 TRUE 为了简单起见。这可以用应用程序中的变量来代替。

107. 有关使用的 FB 参数的信息

功能块

输入

常数值

描述

EStop_S1

S_StartReset

FALSE

S-PLC启动时无自动复位。

S_AutoReset

FALSE

无自动重置,需开发人员重置/确认

OC_K1_K2

S_StartReset

TRUE

S-PLC启动时允许自动复位。

S_AutoReset

TRUE

自动重置,无需开发人员重置/确认

Static Control

FALSE

在功能块激活或触发安全功能后,请求动态改变 Appl_Control 信号(上升沿) (S_SafeControlFALSE

EDM_K1_K2

S_StartReset

FALSE

S-PLC启动时无自动复位。

MonitoringTime

T#200ms

两个反馈信号的最大响应时间

S_EDM1S_EDM2