Курс 6 • Урок 1 из 2 • 5 акад. ч.

Циклическая задача, образ входов и конфигурация модулей

Цель: Связать физическое подключение с задачей контроллера и оценить ограничения времени реакции.

5 акад. ч. Лекция, работа с документацией, практическое задание на учебной модели или согласованном стенде и самопроверка.

Карта темы

Чтение входов → Исполнение задачи → Обновление выходов → Следующий цикл
Аппаратная конфигурация, временное поведение, типы данных и управляемый запуск после отключения.

Аппаратная и программная конфигурация

Проект ПЛК описывает не только код. В нём задаются процессор, модули, адреса, параметры каналов, задачи и вызываемые программы. Реальная комплектация должна соответствовать конфигурации. После замены модуля проверяют исполнение, совместимость версии, параметры каналов и диагностику — совпадение внешнего вида не является доказательством эквивалентности.

Для каждого физического канала должна существовать прослеживаемая привязка к переменной. Если программа обращается не к тому адресу, правильная логика обрабатывает чужой сигнал. Поэтому проверка ведомости I/O предшествует сложной отладке алгоритма.

Модель цикла и её границы

Удобная базовая модель: чтение входных данных, выполнение логики, обновление выходов. Но конкретный ПЛК может иметь несколько задач, асинхронный обмен, прямой доступ к периферии и отдельные быстрые механизмы. Нельзя считать, что любое чтение переменной мгновенно обращается к физической клемме. Поведение уточняют по платформе и проекту.

Период задачи и время исполнения — разные величины. Если задача вызывается каждые 10 мс и выполняется за 2 мс, это не означает вызов каждые 2 мс. Джиттер характеризует отклонение времени запуска или исполнения по принятому измерению. Контроль времени и watchdog помогают обнаружить выход за установленные ограничения, но не исправляют алгоритм сами по себе.

Время реакции

Оценка. Полезный вход обновляется каждые 10 мс, программа вызывается каждые 20 мс, выходной обмен имеет свой период. Реакция зависит от взаимного момента событий, фильтра и обмена. Нельзя обещать точное время 20 мс только по периоду программы. Для гарантии рассматривают весь путь и худший допустимый случай.

Бесконечный цикл ожидания входа внутри программы опасен для циклической модели: задача перестаёт вовремя обслуживать остальную логику. В ожидании события программа должна сохранять состояние и возвращаться на следующем вызове, а не блокировать процессор.

Практическое задание

В программном стенде задайте период MainTask 20 мс и посмотрите минимальное, максимальное время исполнения и счётчик циклов. Добавьте простую обработку входа и опишите путь к выходу. Составьте перечень составляющих задержки. Отдельно проверьте реакцию на ошибочную конфигурацию модуля и убедитесь, что диагностика видна наладчику. Проверку перегрузки задачи проводите только в модели, не на действующем объекте.

Что нужно запомнить

  • Период вызова и время исполнения не равны.
  • Конфигурация модулей — часть проекта.
  • Ожидание события не должно блокировать циклическую задачу.

Документация и дополнительное чтение

Проверка знаний

Вопросы по уроку

Нужно 75%
Загрузка вопросов…