Можно ли указать выполнение ПЛК в определенном цикле сканирования 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;
Другие вопросы по тегам