Можно ли указать выполнение ПЛК в определенном цикле сканирования n в структурированном тексте?
В настоящее время я работаю над кодированием ПЛК для выполнения определенных команд, в которых я хотел бы выполнять определенные циклы сканирования.
Есть ли способ, которым я мог бы закодировать программу в структурированном тексте, где я могу пометить операторы для выполнения только в цикле 'n' сканирования?
Заранее спасибо.
1 ответ
Вы можете использовать счетчик, который увеличивается на единицу для каждого цикла сканирования, а затем структуру случая, чтобы контролировать, какие команды активны при каждом сканировании:
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;