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