首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ST (Twincat2)中用TRUE初始化布尔数组?

如何在ST (Twincat2)中用TRUE初始化布尔数组?
EN

Stack Overflow用户
提问于 2019-09-06 19:51:13
回答 3查看 646关注 0票数 0

如何用TRUE初始化结构化文本(Twincat2)中的布尔数组?

例如:

代码语言:javascript
复制
VAR

    a_referenz_array : ARRAY[0..2] OF BOOL := TRUE, FALSE ; (* This does not work !! *)

END_VAR
EN

回答 3

Stack Overflow用户

发布于 2019-09-06 20:09:32

你可以在你的初始化部分使用FOR循环(它在启动PLC时实现一次):

代码语言:javascript
复制
FOR I:=0 TO 2 DO
   a_referenz_array[I]:=TRUE;
END_FOR
票数 0
EN

Stack Overflow用户

发布于 2019-09-06 21:02:10

Google/Beckhoff infosys是你的朋友。谷歌"Arrays TwinCAT":https://infosys.beckhoff.com/english.php?content=../content/1033/tcplccontrol/html/TcPlcCtrl_ARRAY.htm&id=

In TwinCAT2: arr1 :Array1..2 OF BOOL := TRUE,FALSE;

TwinCAT3: arr1 :Array1..2 OF BOOL := TRUE,FALSE;

编辑,应该更正确地检查您的问题。这在TwinCAT3中有效,显然在TwinCAT2中不起作用:-)

票数 0
EN

Stack Overflow用户

发布于 2019-09-11 23:25:33

您的代码将按预期工作,我在TC2中对其进行了测试。但它有几个问题在测试时可能会令人困惑……

  • 你的数组有3个布尔值,但你只初始化了2,这意味着只有索引0和1会被初始化,取决于你的其余代码,你可能会发现它,也可能不会发现它。
  • 该数组将仅在PLC重置后进行初始化,因此更改代码、重新编译和在线监控可能不会产生任何影响。你应该发送一个复位命令到可编程控制器,然后重新运行程序。
  • My TC2 version 2.11.2301...可能性很小,但如果你的年龄很大,这也可能是原因。--

你的代码:

代码语言:javascript
复制
VAR
    a_referenz_array : ARRAY[0..2] OF BOOL := TRUE, FALSE ;
END_VAR
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57821480

复制
相关文章

相似问题

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