В КУРСЕ?

Разбираемся в теме

S7-1200 выполняет программу снова и снова: почему важен цикл контроллера?

В обычном учебном примере программа дошла до конца и завершилась. У промышленного контроллера логика часто выполняется циклически: те же инструкции снова обрабатывают текущие данные. Понимание этого принципа помогает читать проекты S7-1200 в TIA Portal. Для первого разбора достаточно бумажной модели с условным индикатором, без реального механизма.

Отделяйте сигнал от переменной

Датчик относится к физическому миру, входной канал принимает его сигнал, а программа работает с определёнными значениями данных. Символическое имя переменной помогает понять назначение, но само по себе не доказывает, что выбран правильный адрес или тип. Например, для условного задания зададим две логические переменные: Запрос и Разрешение. Каждая принимает значение истина или ложь. Индикатор должен быть активен только при истинности обеих. Это учебная логическая зависимость, а не проект управления машиной. В реальном оборудовании нужно учитывать электрическую схему, назначение сигналов и требования безопасности.

Цикл использует образ процесса

При обычном автоматическом обновлении ввода и вывода S7-1200 передаёт значения образа выходов на физические выходы, считывает входы в образ процесса и выполняет циклическую пользовательскую программу. Затем последовательность повторяется. Образ процесса представляет значения в памяти, с которыми работают соответствующие обращения программы. Изменение физического входа не означает, что вся логика мгновенно увидела новое значение. Важен момент чтения. Прямой доступ к периферии и обработчики событий имеют особенности, поэтому простую схему цикла нельзя распространять на каждую инструкцию без проверки документации. Для начала полезно явно указать: пример использует обычную циклическую обработку.

OB1 задаёт место выполнения логики

Main, обычно OB1, относится к блокам циклического выполнения. Из него могут вызываться другие блоки. Контроллер способен выполнять несколько циклических организационных блоков в установленном порядке; кроме того, события могут прерывать циклическую обработку согласно приоритетам. Даже внутри простого задания порядок важен. Если одну переменную результата записывают в разных местах, более поздняя запись может изменить предыдущую. Поэтому при чтении программы недостаточно найти одну знакомую строку. Нужно проверить, кто ещё присваивает значение и когда. Комментарий полезен только тогда, когда совпадает с фактической логикой.

Проверяйте сценарии до подключения

Для двух логических входов существует четыре сочетания значений. Запишите ожидаемый результат для каждого и сравните с условием задания. У индикатора, который требует одновременно запроса и разрешения, активным будет только сочетание двух истинных значений. Такой разбор обнаруживает путаницу между логическими И и ИЛИ. Бумажная проверка и симуляция помогают исследовать алгоритм, но не подтверждают безопасность установки. Они не воспроизводят автоматически неисправности проводки, реальные нагрузки и все особенности оборудования. Нельзя переносить учебный индикатор на двигатель или защитную функцию без инженерной разработки. Версию среды, модель CPU и поддерживаемые возможности проверяют по актуальной документации.

Попробуйте на практике

Проследите три условных цикла на бумаге, не соединяя компьютер с ПЛК или исполнительными устройствами.

  1. Определите входы Запрос и Разрешение и результат Индикатор; все три имеют логический тип.
  2. Составьте четыре сочетания входов и ожидаемое значение результата для операции И.
  3. Выберите три последовательных набора входных значений и отметьте момент их условного чтения.
  4. Для каждого цикла отдельно запишите считанные данные и вычисленный образ выхода.
  5. Добавьте воображаемое изменение входа после чтения и объясните, почему текущий расчёт не обязан его учитывать.

Как проверить результат. Вы различаете физический сигнал, считанное значение и вычисленный результат. Все четыре сочетания проверены, а пример не выдан за безопасную схему управления оборудованием.

Частые вопросы

OB1 выполняется только один раз после запуска?

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

Если симуляция прошла, можно запускать реальную машину?

Нет. Требуются отдельные проверки конфигурации, подключения, защитных функций и поведения оборудования квалифицированными специалистами.

Самостоятельный разбор темы. Содержание конкретной обучающей программы здесь не представлено.

Зарегистрируйтесь, чтобы уточнить возможность доступа к этому материалу

Зарегистрироваться
← К списку материалов