С точки зрения теории примерно так и есть. Только вроде название главной задачи не должно быть PLC_PRG, и ее тоже надо включить в конфигуратор задач как свободно выполняемую. Согласен с Aso,Если я правильно понял про конфигуратор задач, картина должна получиться следующаяМногозадачность отъедает ресурсы ПЛК.Ну зачем вообще все выносить в отдельные задачи?
Зачем?Надо менять психологию, многое из того что Вы программировали для микроконтроллера, в ПЛК делает операционная система (встроенная среда исполнения). Все датчики и так сканируются автоматически с периодом цикла выполнения программы, если значение на входе ПЛК изменяется в середине цикла выполнения программы, то программа и не заметит это изменение, и почему нельзя в каждом цикле устанавливать значения на выходах ПЛК (например 100 раз подряд за одну сек. будет записываться значение "ВКЛ" или один раз в сек. какая разница?). Время измерения аналоговых величин зависит от железа ПЛК и тоже имеет конкретные значения.получение температур 1 раз в секунду, сканирование датчиков 100 раз в секунду, вычисление регуляторов 1 раз в секунду
То, что весь алгоритм управления разбит на отдельные POU, это правильно, причем не обязательно их все делать программами можно и функциональными блоками, ф.блоки те же подпрограммы. Можно на этапе разработки всей программы разрабатывать конкретные POU по частям. Сначала POU c пустым оператором (; например), а затем наполнять их постепенно коддом и главная программа будет работать практически сразу.




Ответить с цитированием