Вопрос: в процессе работы контроллера иногда возникает ошибка "Processor load watchdog of all IEC-tasks detected". В чем причина ее появления?
photo_2020-08-26_13-18-30.jpg Безымянный.png
Ответ: данная ошибка означает, что сработал сторожевой таймер, который контролирует загрузку CPU и генерирует исключение, если она в течение нескольких секунд превышает 99%.
Этот механизм, в частности, используется для детектирования возникновения бесконечного цикла в программе пользователя.
В редких случаях превышение загрузки ЦПУ может быть вызвано внешними факторами - например, сетевым штормом.
В подобных ситуациях остановка работы контроллера может быть нежелательной (если допускается остановка выполнения программы на ограниченный интервал времени).
Для отключения генерации исключения в подобных ситуациях - нужно подключиться к контроллеру через утилиту WinSCP и отредактировать файл CODESYSControl.cfg, который расположен в рабочей директории контроллера (пути к рабочей директории для разных контроллеров см. в документе CODESYS V3.5. FAQ). В файле в секции [CmpSchedule] следует присвоить параметру ProcessorLoad.Maximum значение 0 и перезапустить CODESYS (в web-конфигураторе: ПЛК - Настройки - Перезапустить CODESYS).
26-08-2020 12-47-11.png