并行分支可让您实施逻辑元素的并行计算。该计算通过名为短路计算 (SCE) 的方法完成。如果将特定并行条件计算为 TRUE,SCE 可让您通过布尔值输出绕过功能块的执行。在 LD 编辑器中,可用功能块分支的并行分支来表示该条件。SCE 条件由该分支内的 1 个或多个触点定义,这些触点以并行或顺序方式连接。
并行执行的短路求值分支的垂直连接由双线表示,以便将其与由单线表示的 OR 构造相区分(请参见图梯形图网络中 SCE 的并行分支)。
并行分支的工作方式如下:首先它将接受解析,确定是否有不包含功能块的分支。如果这类分支中有 1 个被计算为 TRUE,则将不会调用并行分支中的功能块,并且功能块分支的输入处的值将传递至输出。如果 SCE 条件计算为 FALSE,则将调用功能块,并且将传递功能块执行调用的布尔值结果。
如果所有分支都包含功能块,则将从上到下对它们进行计算,并将它们的输出与逻辑 OR 运算组合。如果没有包含功能块调用的分支,则会执行普通 OR 运算。
要用 SCE 功能插入并行分支,可选择功能块运算块并执行命令BOOL 时可行。
或 。这仅在功能块的第一个输入和主输出类型为下面是为给定网络生成的语言模型的示例。
功能块实例 x1 (TON) 具有布尔值输入和布尔值输出。如果并行分支中的条件计算为 TRUE,则可跳过其执行。该条件值得自连接触点 cond1、cond2 和 cond3 的 OR 和 AND 运算。
梯形图网络中 SCE 的并行分支
1 双垂直连接线表示执行了 SCE 的构造。
2 单垂直连接线表示 OR 构造。
处理如下所示,其中 P_IN 和 P_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;
下图显示了执行功能块(得自 cond1、cond2 和 cond3 的条件为 FALSE)或绕过功能块(条件为 TRUE)时的数据流(蓝色)。
条件=FALSE,执行功能块:
条件=TRUE,绕过功能块: