Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
Предположим, у вас в программе есть 3 PID-регулятора.
Каждый из них пользуется данными с датчика, опрашиваемого 10 раз в секунду.

Если Вы вставите вызов всех 3 PID в одну задачу - и будете вызывать её 1000 раз в секунду: код пидов будет выполнятся в 100 раз больше по процессорному времени, чем реально надо.

Теперь соптимизируем:
Создадим 3 задачи, в каждую поместим по вызову PIDа.
Вызов каждой задачи свяжем с событием - обновлением данных с соответствующего датчика.
В результате код пидов будет вызываться только тогда, когда нужно, и "пустая" нагрузка на ПЛК сократится в десятки (а то и в 100) раз.

Конкретная реализация - рекомендую для начала прочитать руководство по CoDeSys 2.3 на русском языке (см. прилагаемый диск). Там достаточно обстоятельно механизм создания и типы задач разобраны.
Вопрос.
Если сигнал с датчика не меняется, то ПИД не вызывается. Что произойдет если мне надо изменить уставку. Как будет вести себя ПИД.