首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ST中定义条件中的多个变量

在ST中定义条件中的多个变量
EN

Stack Overflow用户
提问于 2018-09-18 20:22:09
回答 1查看 894关注 0票数 0

我目前正在CODESYS中编程/模拟一个小型工厂。我有几个输出(对应于引擎),我需要测试几次,所以我想创建一个条件,结合这个测试,所以我不需要写整个条件。例如,我的条件是验证是否

A=TRUE和B=TRUE,C=TRUE和D=TRUE

我可以创建像“验证引擎”这样的条件来每次使用吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-09-19 05:42:24

做这件事有很多方法(如果我正确理解你的话)。

例如,这里有两种方法:

1.创建一个具有条件结果的变量并使用该变量。您必须在开始时分配变量,然后可以使用变量而不是长代码。

代码语言:javascript
复制
VAR
    EnginesOK   : BOOL;
END_VAR

//Check engines
EnginesOK := (A = TRUE AND B = TRUE AND C = TRUE AND D = TRUE); 

//.. Later ..

IF EnginesOK THEN
    //Do something
END_IF

2.创建一个函数,例如,包含检查并将状态作为BOOL返回的F_VerifyEngines。注意:在本例中,A、B、C和D需要是全局变量。您还可以将它们作为函数的参数传递。

代码语言:javascript
复制
FUNCTION F_VerifyEngines : BOOL
VAR_INPUT
    //Add A,B,C,D here if needed
END_VAR
VAR
END_VAR

//Return the result
F_VerifyEngines := (A = TRUE AND B = TRUE AND C = TRUE AND D = TRUE); 

然后,您可以在代码中使用该函数:

代码语言:javascript
复制
IF F_VerifyEngines() THEN
    //Do something
END_IF

第二条路可能是你想的那条路。

顺便说一句,没有必要编写A = TRUE AND B = TRUE AND C = TRUE AND D = TRUE,在我看来,当您使用A AND B AND C AND D时,阅读就更清楚了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52394076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档