0

我目前正在编写一个 PLC 代码来执行我希望在特定扫描周期执行的某些命令。

有没有一种方法可以将结构化文本中的程序编码到可以将语句标记为仅在“n”扫描周期执行的地方?

提前致谢。

4

1 回答 1

1

您可以使用在每个扫描周期递增一的计数器,然后使用 case 结构来控制在每次扫描时哪些命令处于活动状态:

VAR
  i: INT;
END_VAR

(* Main code to be executed at each scan cycle *)
(* The commands could be either actions to MAIN() or separate POUs *)
i := i + 1;
IF i > 10 THEN
  i := 1;
END_IF;

CASE i OF
  1: (* Call one command *)
    Command1(); 
  2, 4, 6, 8, 10: (* These scans all call the same command *)
    Command2();
  5: (* Call 3 different commands *)
    Command3();
    Command4();
    Command5();
  (* Scans 3, 7 and 9 do nothing *)
END_CASE;
于 2016-07-14T14:43:26.963 回答