并行分支

概述

并行分支可让您实施逻辑元素的并行计算。该计算通过名为短路计算 (SCE) 的方法完成。如果将特定并行条件计算为 TRUE,SCE 可让您通过布尔值输出绕过功能块的执行。在 LD 编辑器中,可用功能块分支的并行分支来表示该条件。SCE 条件由该分支内的 1 个或多个触点定义,这些触点以并行或顺序方式连接。

并行执行的短路求值分支的垂直连接由双线表示,以便将其与由单线表示的 OR 构造相区分(请参见图梯形图网络中 SCE 的并行分支)。

注: 分支一词也用于分离信号流的另一种元素。该分支与并行分支相反,没有连接点。

并行分支的工作方式如下:首先它将接受解析,确定是否有不包含功能块的分支。如果这类分支中有 1 个被计算为 TRUE,则将不会调用并行分支中的功能块,并且功能块分支的输入处的值将传递至输出。如果 SCE 条件计算为 FALSE,则将调用功能块,并且将传递功能块执行调用的布尔值结果。

如果所有分支都包含功能块,则将从上到下对它们进行计算,并将它们的输出与逻辑 OR 运算组合。如果没有包含功能块调用的分支,则会执行普通 OR 运算。

要用 SCE 功能插入并行分支,可选择功能块运算块并执行命令插入并联上触点插入并联下触点。这仅在功能块的第一个输入和主输出类型为 BOOL 时可行。

下面是为给定网络生成的语言模型的示例。

SCE 示例

功能块实例 x1 (TON) 具有布尔值输入和布尔值输出。如果并行分支中的条件计算为 TRUE,则可跳过其执行。该条件值得自连接触点 cond1cond2cond3ORAND 运算。

梯形图网络中 SCE 的并行分支

1 双垂直连接线表示执行了 SCE 的构造。

2 单垂直连接线表示 OR 构造。

处理如下所示,其中 P_INP_OUT 分别表示并行分支输入处(分离点)以及输出处(连接点)的布尔值。

P_IN := b1 AND b2;
IF ((P_IN AND cond1) AND (cond2 OR cond3)) THEN
   P_OUT := P_IN;
ELSE
   x1(IN := P_IN, PT := {p 10}t#2s);
   tElapsed := x1.ET;
   P_OUT := x1.Q;
END_IF
bRes := P_OUT AND b3;

下图显示了执行功能块(得自 cond1cond2cond3 的条件为 FALSE)或绕过功能块(条件为 TRUE)时的数据流(蓝色)。

条件=FALSE,执行功能块:

条件=TRUE,绕过功能块: