下面列出了 Machine Expert - Safety 用户界面的基本信息以及安全相关代码和变量的特性。
有关更多信息和详情,请参阅 EcoStruxure Machine Expert - Safety - User Guide。
POU 被组织整理在 窗口中。
安全相关项目只包含 IEC 61131-3 程序类型的一个名为 Main 的 POU。此 POU 无法删除或重命名,也无法添加其他用户定义的 IEC 61131-3 程序(仅 FB)。
执行此程序的安全相关任务也是预定义的,但在 Machine Expert - Safety 中不显示。无法编辑此任务配置。
您可以创建用户定义的安全相关功能块(根据 IEC 61131-3),但无法创建功能。
您可以插入提供安全相关功能和功能块的库。
每个 POU 均由一个或多个代码工作表以及包含局部变量声明的变量表组成。双击树图标,可打开相应的工作表以供编辑。
全局变量声明包含在单独的变量网格中。单击主工具栏上的 图标,可打开此表格。
提供功能和功能块。在(通过项目树中 文件夹的上下文菜单)添加了 POU 库之后,可以单独的 选择所包含的功能块。
安全相关代码和标准代码在 Machine Expert - Safety 中进行了严格的区分。因此,同样也区分了安全相关变量和标准变量,或者更准确地讲,区分了安全相关数据类型和标准数据类型。比如,无法将标准数据类型的变量连接到需要安全相关变量的形式参数。
安全相关变量在显示时,其代码的背景色为红色背景。标准数据类型的变量在显示时没有背景色。
安全相关系统 FU/FB 以及安全相关库 FB 显示为红色。标准功能块显示为灰蓝色。用户 FU/FB 显示为绿色。
在混用安全相关变量和标准变量时,Machine Expert - Safety 对 FBD/LD 代码执行数据流分析,并突出显示(即,以红色粗线来显示)网络的主要安全相关信号路径。安全相关路径始终以安全相关输出变量结尾,或者如果是标准输出变量,则以位于此输出之前的最后一个对象输入结尾。如果标准信号路径以安全相关输出结尾,则此输出显示为红色阴影背景。
下面的简单程序考虑了示例项目中配置的 TM5 I/O 模块。下面的章节介绍了此示例的开发过程。
请参阅 EcoStruxure Machine Expert User Guide 中的 FBD/LD 代码开发,详细了解编辑器功能。
TM5SDI4DFS 模块的输入信号 SafeDigitalInput01 通过 AND_S 功能读取并映射到 TM5SDO4TFS 模块的输出信号 SafeDigitalOutput01。得益于 AND_S 功能,可评估安全相关 I/O 模块的 SafeModuleOK 诊断信号。如果在任何模块中检测到故障,则会切断 SafeDigitalOutput01 信号 (SAFEFALSE)。
此外,SafeDigitalOutput01 被写入到布尔交换变量 SLC2LMC_Bool0_7_0,此变量属于在 Logic Builder 中 SLC 设备配置中配置的 SLC2LMC 交换数据。这样,标准应用程序就能够读取输出状态。(SafeDigitalOutputxx 信号可用于数字量输出模块。它向标准应用程序指示安全应用程序是否设置了安全相关输出)。由于允许从安全相关数据类型转换成标准数据类型,因此安全相关变量能够直接连接到标准交换变量 SLC2LMC_Bool0_7_0。
定时器功能块 TON_S 使 ReleaseOutput01 信号延迟。这个释放信号会禁用已激活的重启禁止功能,并启用 TM5SDO4TFS 模块 SafeDigitalOutput01 信号的输出通道。延迟时间设置为 50 ms。
为 AND_S 功能和 TON_S 功能块执行以下步骤:
|
步骤 |
操作 |
|---|---|
|
1 |
双击 中 程序工作表的图标,从而打开此工作表。 |
|
2 |
在 选择区域,选择所需的功能块。 如果功能块未显示,必须先选择 。 |
|
3 |
将功能块从 选择区域拖入代码工作表中,左键单击并插入功能块轮廓,然后再次通过鼠标左键单击,将其放在所需的位置上。 |
|
4 |
如果是功能块(示例中为 TON_S),则必须声明实例变量。 结果:显示 对话框,其中提供了一个实例名称,如有需要,可以修改此名称。 |
|
5 |
在 对话框中,单击 。 结果:功能块实例被插入代码中,相关的实例变量被插入 POU 的局部声明中。您可以通过单击主工具栏中的 图标来打开声明工作表。 |
|
6 |
在示例中,AND_S 功能需要四个输入。如要调整功能,请右键单击功能块图标,然后从上下文菜单中选择 。在 列表中选择 ,然后单击两次 ,添加两个另外的输入。单击 ,关闭对话框。 |
以下过程适用于 窗口中设备节点下方所提供的设备信号。其中包括为 SLC 定义的交换变量以及安全相关 I/O 模块的诊断和控制信号。
Machine Expert - Safety 中的操作:
|
步骤 |
操作 |
|---|---|
|
1 |
打开要插入信号的代码工作表。 |
|
2 |
在 窗口中,打开左侧的设备树,然后展开相应模块 (SL1.SMx) 的节点。 |
|
3 |
将所需信号拖入代码工作表。 结果:放开鼠标按键时,显示 对话框。 |
|
4 |
在 对话框中,接受所提议的名称,选择现有全局变量,或者声明新的全局变量。示例中所使用的变量名称如图所示。 |
|
5 |
单击 ,确认 对话框,然后通过左键单击的方式,将变量放到所需的位置。 结果:变量被插入代码中,其变量声明被自动插入全局变量工作表中。 您可以将变量直接拖到功能块输出或输入上,从而在插入时将其连接。 |
比如,按下述方法插入以下信号:
将 TM5SDI4DFS 模块的 SafeDigitalInput01 连接到 AND_S 输入。
将每个 I/O 模块的 SafeModuleOK 连接到 AND_S 输入。
将 TM5SDO4TFS 模块的 SafeDigitalOutput01 连接到 AND_S 输出。
第二次插入此变量,并将其放在无连接的空位置。
将 TM5SDO4TFS 模块的 ReleaseOutput01 连接到 TON_S 输出。
将 SLC 的 SLC2LMC_Bool0_7_0 交换变量连接到未连接的 SafeDigitalOutput01 变量的输入(蓝色连接点)。这样,输出变量就被写入到布尔交换变量。
以下过程介绍了如何将字面量插入代码。必须使用字面量,才能将常量值输入到代码中。它们可以在不指定声明的情况下使用。
|
步骤 |
操作 |
|---|---|
|
1 |
您可以插入未连接或已连接/已赋值的常量:
结果:显示 对话框。 |
|
2 |
指定 = 。 |
|
3 |
组合框中提议了数据类型。如有需要,可调整此设置。 |
|
4 |
在 字段中输入所需的字面量(常量)。 请注意此表格下方的规则要求。 |
|
5 |
按 。 结果:常量被插入 FBD/LD 代码。 |
有关常量以及特例“全局常量”的更多详细信息,请参阅 EcoStruxure Machine Expert User Guide 中的常量(字面量):插入和声明 。
常量规则:
必须始终输入包含数据类型的字面量(比如,SAFEINT#1000)。
例外:TRUE 和 FALSE 始终被视为 BOOL 类型,SAFETRUE/SAFEFALSE 始终被视为 SAFEBOOL 类型。比如,不必输入 BOOL#TRUE。
标准 INT 常量在输入时可以不包含数据类型(比如,1000 是指 INT#1000),因为十进制输入被自动视为 INT。
例外:在与布尔数据类型一起使用时的 0 和 1。
有关 IEC 61131-3 标准字面量的更多信息,请参阅 EcoStruxure Machine Expert User Guide 中的章节 Constants vs. Literals。
以下过程介绍了如何将新变量插入代码。声明会自动插入相应的声明工作表中。
|
步骤 |
操作 |
|---|---|
|
1 |
您可以插入未连接或已连接/已赋值的变量:
结果:显示 对话框。 |
|
2 |
选择变量的 。 结果:对于局部变量,声明被插入当前 POU(需使用 图标打开)的声明工作表中。全局声明被插入全局声明工作表中,此全局声明工作表可以通过单击 图标来打开。 |
|
3 |
指定新变量的数据类型,输入变量 ,并定义其他属性。 |
|
4 |
按 。 结果:变量被插入 FBD/LD 代码,且声明被插入相应的声明工作表中。 |
也可以通过其他方式来声明变量。有关详细信息,请参阅 EcoStruxure Machine Expert User Guide 中的章节 Variables: Inserting and Declaring。
安全相关项目不得包含未使用的安全相关 TM5/TM7 模块。未使用是指 Machine Expert - Safety 窗口中设备节点下方列出的所有信号都未在安全相关项目中使用。必须将每个模块的至少一个信号分配到 Machine Expert - Safety 中的全局安全相关变量。否则,编译器将报错。
这同样适用于 Logic Builder 中定义的 SLC 交换信号(请参阅章节为安全 PLC 交换数据配置)。
以下步骤适用于 Machine Expert - Safety 窗口中提供的每种信号类型:
|
步骤 |
操作 |
|---|---|
|
1 |
在 Machine Expert - Safety 中,单击工具栏上的 图标,从而打开全局变量工作表。 |
|
2 |
右键单击网格,并从上下文菜单中选择 。 结果:创建了具有缺省名称(您可以修改此名称)的新变量。 |
|
3 |
在 窗口中,打开左侧的设备树。展开要使用设备终端的设备的树节点。 |
|
4 |
将要连接的设备信号拖入全局变量工作表,并放在所需的声明上。 结果:
|
如要将声明的变量插入代码中,请使用 对话框,您可以通过编辑器工具栏上的 图标来打开此对话框。有关详细信息,请参阅 EcoStruxure Machine Expert - Safety - User Guide 中的章节 Variables: Inserting and Declaring。
在完成对安全相关项目的开发之后,必须对其进行编译。(如果项目树中的 POU 标有星号 (*),则说明此项目在变量或代码编辑完成之后尚未编译。在成功编译后,会删除星号。)
Machine Expert - Safety 中的操作:
|
步骤 |
操作 |
|---|---|
|
1 |
按 ,或者单击工具栏上的 图标。 |
|
2 |
纠正被编译器检测到并在消息窗口中报告的任何错误。 双击错误消息,可跳转到嫌疑错误位置。 |
|
3 |
在正确无误地编译了项目之后,将项目下载到 SLC。请参阅章节下载安全相关应用程序。 |