Jump to content
  • PLC programming technology and HMI interface design Russian database

    PLC, DCS, HMI and SCADA product application technical articles

    • leikang
      Когда вы работаете в системе промышленной автоматизации для программирования ПЛК, у вас есть требования, при которых вам необходимо контролировать процесс постепенно или поэтапно.
      Алгоритмы управления
      Вы не можете напрямую включить или отключить логику выполнения своей работы. Это может оказать неблагоприятное воздействие на фактический выходной сигнал ПЛК. По этой причине в программе ПЛК доступны различные типы методов управления для соответствующих действий.

      В этом посте мы увидим различные методы алгоритмов управления, которые используются в программе ПЛК.
      ПИД-регулятор
      Это, безусловно, самый известный метод контроля. ПИД-регулятор использует механизм замкнутого контура управления. Это означает, что сначала он получит обратную связь и в зависимости от вашего желания будет соответствующим образом изменять выходные данные.
      Для этого ПИД-регулятор использует внутренние математические вычисления с тремя параметрами – пропорцией, интегралом и производной. Итак, если вы хотите управлять чиллером с компрессором, то ПЛК будет управлять выходной мощностью компрессора, сначала измеряя фактическую температуру и сверяя ее с тем, сколько требуется пользователю.
      В зависимости от этой разницы каждый раз мощность компрессора будет либо регулироваться постепенно, либо включаться-выключаться для поддержания температуры. Для этого в программе ПЛК для выполнения этой задачи будет использоваться блок ПИД.
      Генератор функций
      Это очень простой тип метода управления. В генераторе функций вам необходимо определить входную таблицу из n значений. Аналогичным образом определите выходную таблицу из n значений.
      Так, например, если мы определим 10 таблиц значений как на входной, так и на выходной стороне, у нас будет элемент размером 10. Теперь эти 10 элементов будут иметь разные значения. Если вы установили 0-100 на входной стороне, то мы установили 0-50 на выходной стороне. Эти 10 элементов представляют собой 10 диапазонов, то есть 0–10, 10–20, 20–30 и так далее.
      Соответственно, выходная сторона будет распределена на 10 элементов от 0 до 5, 5–10, 10–15 и так далее до 50. Когда ввод в реальном времени находится между любым значением на входной стороне, соответствующий масштабированный выход будет прошедший. Здесь у вас есть полная гибкость в установке значений входных и выходных таблиц.
      Нечеткое логическое управление
      Нечеткая логика — относительно очень хороший метод управления выходными данными. Обычно у вас есть два двоичных состояния – 0 и 1. Итак, давайте рассмотрим, может ли клапан быть открыт или закрыт. Но что, если клапан застрял между ними? Мы не знаем, находится ли клапан в открытом или закрытом состоянии. В этом случае помогает, если существует состояние между 0 и 1. Это помогает хотя бы приблизиться к возможности. Это называется суетливая логика.
      Здесь вы можете определить значения около 0 и 1. Это может быть 0,9 или 0,2. Соответственно, вы можете контролировать выходы, когда они приближаются к этим значениям. И когда он достигнет крайнего предела, то есть 0 или 1, можно полностью открыть или закрыть клапан.
      До этого можно постепенно управлять клапанами. Это обеспечивает более точный контроль процесса. Итак, этот блок управления позволяет собирать значения, которые могут быть полезны в непредсказуемых ситуациях. Требуется много знаний и опыта, чтобы правильно установить значения и наборы, чтобы логика работала правильно.
      Позиция пропорциональная
      Эта логика будет открывать или закрывать устройство, импульсно открывая или закрывая контакты в определенный заранее заданный таймер, установленный пользователем. Это делается для ширины импульса, пропорциональной отклонению между требуемым положением и текущим положением.
      Вам необходимо установить параметры управления, такие как минимальное и максимальное значение ограничения выхода, продолжительность, в течение которой выход будет оставаться включенным, скорость, с которой устройство должно открываться или закрываться в %/секунду и т. д.
      Функциональный блок принимает фактическую обратную связь, оценивает внутренние таймеры и проверяет, происходит ли открытие или закрытие с желаемой скоростью или нет. Если нет, то будет подан соответствующий импульс открытия или закрытия.
      Таким образом, мы увидели различные методы алгоритмов управления, используемые в программировании ПЛК.

    • Документация ПЛК представляет собой очень важную инженерную документацию этапов управления процессом, и, как и все технические описания, необходимы точные подробные инженерные записи.
      Без точных чертежей изменения и модификации, необходимые для модернизации и диагностики, крайне затруднены или невозможны.
      Документация по системе ПЛК

      Каждый провод от ПЛК к оборудованию мониторинга и управления должен быть четко промаркирован и пронумерован на обоих концах и записан на электрической схеме.
      ПЛК должен иметь полные и актуальные лестничные схемы (или на другом утвержденном языке), и каждая ступенька должна быть помечена полным описанием ее функции.
      Основными документами в системе ПЛК являются:
      Обзор системы и полное описание работы управления; Структурная схема блоков системы; Полный список всех входов и выходов, пунктов назначения и номеров; Схема подключения модулей ввода-вывода, обозначение адреса для каждой точки ввода-вывода и расположение стоек; Лестничная диаграмма с описанием, номером и функцией ступени. Также необходимо иметь возможность моделировать лестничную программу в автономном режиме на персональном компьютере или в фоновом режиме в ПЛК, чтобы можно было выполнять изменения, обновления и моделирование неисправностей, не прерывая нормальную работу ПЛК. , а эффект от изменений и обновлений можно оценить до их внедрения.

    • Инструкции сравнения в ПЛК используются для проверки пар значений, чтобы обеспечить логическую непрерывность цепочки.
      Таким образом, инструкции сравнения редко, если вообще когда-либо, будут последней инструкцией в цепочке.
      Типы инструкций сравнения

      В качестве примера предположим, что инструкция LES представлена двумя значениями. Если первое значение меньше второго, то инструкция сравнения верна.
      Команда равенства (EQU)

      Используйте инструкцию EQU, чтобы проверить, равны ли два значения. Если источники A и источники B равны, инструкция логически верна. Если эти значения не равны, инструкция логически ложна.
      Источник A должен быть адресом.
      Источник B может быть либо программной константой, либо адресом.
      Значения хранятся в дополняющей друг друга форме.
      Инструкция «Не равно» (NEQ)

      Используйте инструкцию NEQ, чтобы проверить, не равны ли два значения.
      Если источники A и источники B не равны, инструкция логически верна.
      Источник A должен быть адресом.
      Источник B может быть либо программной константой, либо адресом.
      Значения хранятся в дополняющей друг друга форме.
      Инструкция «Меньше чем» (LES)

      Используйте инструкцию LES, чтобы проверить, меньше ли одно значение (источник A) другого (источник B).
      Если значение источника A меньше значения источника B, инструкция логически верна.
      Источник A должен быть адресом.
      Источник B может быть либо программной константой, либо адресом.
      Значения хранятся в дополняющей друг друга форме.
      Инструкция «Меньше или равно» (LEQ)

      Используйте инструкцию LEQ, чтобы проверить, меньше ли одно значение (источник A) другого (источник B) или равно ему.
      Если значение в источнике A меньше или равно значению в источнике B, инструкция логически верна.
      Источник A должен быть адресом.
      Источник B может быть либо программной константой, либо адресом.
      Значения хранятся в дополняющей друг друга форме.
      Инструкция «Больше, чем (GRT)»

      Используйте инструкцию GRT, чтобы проверить, больше ли одно значение (источник A) другого (источник B).
      Если значение в источнике A больше, чем значение в источнике B, инструкция логически верна.
      Инструкция «Больше или равно» (GEQ)

      Используйте команду GEQ, чтобы проверить, больше ли одно значение (источник A) другого (источник B) или равно ему.
      Если значение в источнике A больше или равно значению в источнике B, инструкция логически верна.
      Маскированное сравнение равных (MEQ)

      Используйте инструкцию MEQ для сравнения данных по адресу источника с данными по адресу сравнения.
      Использование этой инструкции позволяет маскировать части данных отдельным словом.
      Источник — это адрес значения, которое вы хотите сравнить.
      Маска — это адрес маски, через которую инструкция перемещает данные.
      Маска может быть шестнадцатеричным значением.
      Сравнение — это целое число или адрес ссылки.
      Если 16 бит данных по адресу источника равны 16 битам данных по адресу сравнения (без маскированных битов), инструкция верна.
      Инструкция становится ложной, как только обнаруживается несоответствие.
      Инструкция по предельному тесту (LIM)
       
      M)
      Используйте инструкцию LIM для проверки значений в пределах или за пределами указанного диапазона, в зависимости от того, как вы установили пределы.
      Значения нижнего предела, теста и верхнего предела могут быть адресами слов или константами, ограниченными следующими комбинациями:
      Если параметр Test является программной константой, параметры Low Limit и High Limit должны быть адресами слов. Если параметр «Тест» представляет собой адрес слова, параметры «Нижний предел» и «Верхний предел» могут быть либо программной константой, либо адресом слова. Статус true/false инструкции LIM
      Если значение нижнего предела равно или меньше верхнего предела, инструкция верна, когда тестовое значение находится между пределами или равно любому из пределов.

      Если нижний предел имеет значение, превышающее верхний предел, инструкция является ложной, если тестовое значение находится между пределами.


    • В современном мире промышленной автоматизации данные играют очень важную роль. Получение мгновенных данных из источников и использование их для различных целей так же важно, как и запуск системы.
      Обычно каждый знает, как интегрировать SCADA с различными системами баз данных, например с SQL-серверами. Однако многие игнорируют возможности ПЛК в интеграции с базами данных. Их тоже можно использовать для этой цели.
      ПЛК с базой данных SQL

      Если мы используем ПЛК, программисты могут работать с ними в чрезвычайных ситуациях, таких как сбой SCADA, и выполнять свою работу, правильно ее кодируя. В этом посте мы увидим, как использовать ПЛК с базой данных SQL.
      Для тех, кто не знаком с SQL-сервером, это инструмент управления базой данных, который последовательно хранит большой объем данных в формате реального времени, и запросы для получения данных записываются в него либо через какой-то внешний источник, например ПЛК.
      Для хранения данных в нем написана логика в ПЛК, который при выполнении сохраняет данные в SQL. Это простая концепция, которая более кратко объясняется в статье из-за ее преимуществ.
      Планировщик ПЛК
      Предположим, у вас очень крупномасштабная система, в которой оператору ежедневно приходится вводить сотни графиков времени для работы определенных функций. Вместо того, чтобы использовать обширное кодирование и переменные в ПЛК для хранения данных, введенных в SCADA, и использовать их, когда придет время, просто передавайте все переменные данные на SQL-сервер через ПЛК каждый раз, когда создается новый рецепт.
      SQL будет хранить дату и время введенных значений в реальном времени и предоставит операторам возможность выбирать их в соответствии с отфильтрованной датой и временем. Например, в SQL есть пять записей с 1 по 5 октября для различных типов введенных расписаний. Преимущество в том, что оператор может выбрать любой необходимый и затем запустить систему.
      Если бы SQL не было, ему пришлось бы запускать только один вариант: 1 октября или любую другую дату. В противном случае ему пришлось бы использовать память SCADA или ПЛК, что является пустой тратой данных и кодирования. То же самое становится проще благодаря SQL-серверу.
      Еще одним преимуществом является то, что размер кода SCADA уменьшается и его можно использовать для других целей. Планирование используется во многих приложениях, а использование для него ПЛК вместе с SQL делает систему более эффективной.
      Последовательность действий
      Рассмотрим растение, имеющее 10 последовательностей. В каждой последовательности имеется считыватель штрих-кодов для запуска действия с необходимым продуктом. Если штрих-код считывается в SCADA, то соответствующие данные передаются в ПЛК или, короче говоря, SCADA является промежуточным средством для инициирования связи между ПЛК и данными; затем просто подключите ПЛК напрямую к SQL.
      SQL будет напрямую взаимодействовать с ПЛК для определения штрих-кодов и других данных для запуска или остановки последовательности. Такие большие объемы данных о последовательностях объектов помогают сократить количество кода в SCADA и ускоряют работу системы. Поскольку ПЛК написан с кодировкой для последовательной работы, почему бы не соединить его напрямую с SQL и не использовать систему.
      Синхронизировать несколько ПЛК
      Существует множество приложений, в которых одному ПЛК в одном месте для выполнения работы требуются данные из другого местоположения ПЛК. В этом случае традиционно для интеграции всех ПЛК и управления ими используется SCADA.
      В том случае, если ПЛК напрямую подключены к SQL-серверу, данные будут синхронизироваться по дате и времени SQL; таким образом, устраняются проблемы синхронизации нескольких RTC (часов реального времени) ПЛК.
      Кроме того, ПЛК будет напрямую связываться с другим ПЛК для запроса каких-либо данных или предоставления каких-либо данных через сервер SQL. Любой сигнал тревоги или событие в ПЛК также будет передано на другой ПЛК и поможет отслеживать записи в реальном времени.
      Подтверждение связи
      Квитирование — это процесс, при котором одна сторона подтверждает другой стороне, что задание выполнено. По сути, это реакция, необходимая для того, чтобы партия могла начать другую работу. Этот метод хорошо работает с серверами PLC и SQL.
      SQL-сервер может напрямую взаимодействовать с ПЛК, отправляя уведомления о событиях в режиме реального времени или данные уведомлений о тревогах в режиме реального времени. Это означает, что предположим, что выполнение задания заняло 3 дня.
      Затем подтверждение завершения будет отправлено в ПЛК как отдельное событие, и, поскольку в нем также содержатся данные за 3 дня, оператор может легко просмотреть весь процесс в отчетах SCADA. Таким образом, квитирование является важной причиной для прямой связи ПЛК с SQL.
      Основы базы данных ПЛК
      Установите соединение между ПЛК и базой данных SQL с помощью промежуточного программного обеспечения или шлюза, который облегчает взаимодействие между протоколами промышленных сетей и языками баз данных. Выберите протокол связи, понятный как ПЛК, так и базе данных SQL, например OPC UA, Modbus TCP или любой другой протокол, поддерживаемый вашим ПЛК и промежуточным программным обеспечением. Настройте ПЛК для отправки и получения данных, настроив необходимые параметры, регистры или теги, которые будут считываться или записываться. Это может включать программирование ПЛК с использованием соответствующего программного обеспечения, чтобы убедиться, что он готов к обмену данными. Настройте базу данных SQL, создав новую базу данных или настроив существующую для хранения данных из ПЛК. Определите таблицы, столбцы и типы данных, соответствующие структуре данных, отправляемых из ПЛК. Сопоставьте каждую точку данных ПЛК с соответствующим полем в базе данных SQL. Убедитесь, что типы данных совместимы и что сопоставление имеет логический смысл для нужд приложения. Реализуйте логику передачи данных с помощью сценариев или хранимых процедур базы данных. Определите, как часто данные должны передаваться, при каких условиях и должна ли передача запускаться по событиям или по расписанию. Тщательно проверьте связь между ПЛК и базой данных SQL. Проверьте наличие ошибок или несоответствий данных и убедитесь, что система ведет себя должным образом в различных условиях. Постоянно контролируйте работоспособность системы, точность данных и любые аномалии. Настройте оповещения или уведомления о системных ошибках или важных событиях. Регулярно проверяйте и обновляйте систему по мере необходимости, чтобы учесть изменения в настройке ПЛК, структуре базы данных или дополнительных требованиях. Постоянно обновляйте документацию на предмет любых изменений в системе. Обеспечьте наличие мер безопасности как для ПЛК, так и для базы данных SQL для защиты от несанкционированного доступа и утечки данных. Рассмотрите возможность внедрения шифрования, межсетевых экранов и протоколов безопасного доступа.

    • В этом посте я дам несколько основных инструкций, основанных на моем личном опыте, чтобы дать вам представление о том, как устранять неполадки в системах автоматизации (ПЛК/РСУ): Устранение неполадок в системах автоматизации в целом имеет ту же тактику, чтобы найти решение. вины системы.
      Тем не менее, в зависимости от сложности и размера приложения и конкретной системы автоматизации этапы устранения неполадок будут немного другими или более сложными. Лучшие знания можно получить на практике и в реальных условиях устранения неполадок. По моему мнению, практика снова и снова – это решение. Любые дополнения и комментарии приветствуются!!
      Устранение неполадок в системе ПЛК

      Прежде чем продолжить, мы согласны с тем, что современные системы автоматизации имеют ПЛК для управления приложением. Если у нас небольшое приложение, то в системе, возможно, есть микроПЛК (или наноПЛК) или другой тип компактного контроллера (во многих случаях это зависит от приложения). Я сказал «современные системы автоматизации», потому что в прошлом (до появления ПЛК/других компактных контроллеров) хорошо известный и используемый компаниями-разработчиками средств автоматизации), управление системой автоматизации осуществлялось только с помощью реле.
      Исследуйте программу контроллера
      Первое, что нам нужно сделать, это выяснить, выполняются ли у нас правильные условия для ошибочной операции. Для этого нам нужно найти «разум» нашей системы. Этим «разумом» является контроллер (либо это своего рода ПЛК, либо другой тип компактного контроллера). Если у нас не выполняются правильные условия, нам следует изучить программу контроллера, чтобы выяснить причину проблемы (ВСЕГДА проверяйте сообщения в SCADA. Это поможет быстрее найти решение, поскольку в SCADA появляется важная информация, такая как неисправность). /описание сигнала тревоги или конкретный адрес в ПЛК). То, что мы обнаружим, - это либо неисправный сигнал от аппаратного обеспечения (например, цифровой сигнал от кнопки, или цифровой сигнал от механического переключателя, или цифровой сигнал от контакта реле, который «не приходит» на вход контроллера или аналоговый сигнал, имеющий неправильные значения) или ошибочный сигнал от другой программной системы (например, SCADA).
      Исследуйте условия, исходящие от оборудования
      Когда мы сделаем вывод о причине проблемы, мы оставляем на некоторое время программу контроллера и выходим проверить наши выводы. Мы уже должны найти чертежи системы автоматизации, чтобы увидеть соединения компонентов, которые мы хотим проверить. Например, если мы обнаруживаем, что у нас есть цифровой сигнал с кнопки, который «не приходит» на вход контроллера, то берем мультиметр и идем проверять кнопку. Если кнопка в порядке, то исследуем, есть ли любой предохранитель между кнопкой и входом контроллера. Если есть, то проверяем. Если предохранитель в порядке, то исследуем трассу кабеля. Возможно, у нас перерезан кабель. Если кабель в порядке, то, возможно, у нас аппаратная проблема со входом контроллера и, возможно, нам следует заменить этот входной модуль на новый или как-то починить его (ремонт должен выполнять квалифицированный персонал).
      Исследуем аппаратную часть после выходов нашего контроллера
      Если мы пришли к выводу, что у нас правильные условия, то нам следует проверить компоненты, которые находятся между контроллером и неисправным оборудованием (имеется в виду оборудование, которое не работает должным образом). Например, если у нас есть промышленная печь, которая не закрывает свою дверь (хотя у нас есть условия для закрытия двери из программы), возможно у нас неисправно реле, которое питается от ПЛК (или другого контроллера) на закрытие двери. Если реле в порядке, то возможно у нас проблема проблема с моторчиком, который отвечает за закрытие двери. Мы должны проверить состояние двигателя (обмотки двигателя, механические части). Если двигатель в порядке, мы должны проверить значения напряжения, поступающие на вход двигателя (с помощью нашего мультиметра), а также проверить состояние кабеля, если измерения мультиметра неверны. Если напряжение и кабель в порядке, то, возможно, у нас заклинило где-то в конструкции дверцы печи.
      Силовые агрегаты – это «плюс»!
      Как правило, когда в нашей системе автоматизации есть силовые агрегаты (приводы) для привода двигателя, нам необходимо иметь вместе руководство конкретного силового агрегата. Это потому, что силовые агрегаты имеют цифровой дисплей, 7-сегментные светодиодные дисплеи или простые Светодиоды информируют нас о неисправности, которая существует внутри них или на ведомом двигателе. Это очень полезно для инженеров и техников. Кроме того, современные силовые агрегаты имеют специальные алгоритмы проверки состояния двигателя, значений напряжения, тока и т. д. Например, если двигатель перегрелся, привод сообщит нам об этом, поскольку постоянно проверяет датчик температуры (например, термистор), который находится внутри. Корпус двигателя. Затем мы должны проверить двигатель, не перегрелся ли он на самом деле или у нас неисправен датчик температуры, который следует заменить.
      Проверьте статус контроллеров
      Иногда, когда ЦП нашего ПЛК обнаруживает неприемлемое состояние в ходе выполнения программы, он переходит в режим «СТОП» и, возможно, мигает светодиод, указывая на эту неисправность. Кроме того, если в системе происходит какая-либо другая неисправность, некоторые Светодиоды указывают тип неисправности (дополнительную информацию см. в руководстве по эксплуатации контроллера). Такое же поведение наблюдается в целом у любого типа контроллера, установленного в системе автоматизации.
      Системы безопасности
      Многие системы автоматизации (часто производственные машины) имеют в своей конструкции некие «системы безопасности», такие как «Pilz» или «Siemens Sirius». Это умные компактные контроллеры для мониторинга таких ситуаций, как открытие защитной двери или аварийный останов. При возникновении чего-либо из вышеперечисленного система безопасности прекращает работу системы автоматизации для защиты человека и машины. Для возврата системы автоматизации в функциональное состояние в руководствах по системам безопасности имеются специальные указания.
      Вывод из всего вышесказанного — иметь пошаговую тактику устранения неполадок. Со временем и набравшись опыта, возможно, мы пропустим некоторые шаги, особенно если мы являемся персоналом, ответственным за обслуживание системы, с которой мы сталкиваемся каждый день. Однако хорошая тактика — быть организованными и терпеливыми. Удачи в ваших усилиях!

    • Эта статья посвящена методу устранения неполадок при программировании ПЛК. В промышленных ПЛК, где используются тысячи входов и выходов, и мы знаем, насколько продолжительны программы ПЛК, это зависит от приложения или использования предприятия.
      Устранение неполадок в программах ПЛК Siemens
      Иногда люди могут неосознанно изменить логические параметры, что может привести к неисправности. Даже некоторые ошибки возникают на этапе проектирования логики из-за сложности конструкции. Программное обеспечение Siemens plc включает в себя различные удобные инструменты для устранения ошибок, возникающих в программах.
      Ошибки могут быть такими, как перекрытие адресации, несколько одинаковых экземпляров вывода, перекрытие адресов битов памяти, многократное использование одной программы для работы снова и снова и т. д.
      Чтобы обнаружить такие проблемы, в программном обеспечении Siemens доступны четыре типа окон, которые помогут нам устранить проблемы.
      Они есть:
      Перекрестная ссылка Структура звонка Список назначений Структура зависимостей Давайте обсудим, как их использовать в нашей программе для устранения неполадок и где их найти в программном обеспечении.
      Перекрестная ссылка
      Перекрестные ссылки используются для поиска всех цифровых и аналоговых входов и выходов, используемых в логике. Это поможет нам узнать, сколько раз входы/выходы используются в программе, а также направит пользователей непосредственно к конкретному месту ввода/вывода на страницах логики.
      Вот пример одной из программ, в которой можно увидеть, как выглядит таблица перекрестных ссылок. Он содержит всю информацию, такую как адресация, язык программы, используемые входы и выходы и т. д.

      Структура звонка
      Если вы хотите узнать, какой блок используется в программировании, используется структура вызова.
      Это обращение функции перекрестных ссылок, в которой мы узнаем, сколько раз SFC, блок FB используются в OB (организационном блоке), и здесь мы узнаем, сколько раз OB используется в SFC и FB.

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

      Структура зависимостей
      Структура зависимостей используется, чтобы показать, где каждый блок используется в программировании.
      Но на шаге 7 он не доставит вас прямо на локацию, а в TIA PORTAL перенесет вас туда, где написана программа.

      ПРИМЕЧАНИЕ:
      Чтобы открыть эти окна на шаге 7, используйте информацию, как показано на рисунке. После нажатия на дисплей у вас есть варианты.

      В TIA PORTAL выполните следующий шаг, показанный на рисунке.


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

      Фильтры цифрового входа ПЛК
      Давайте сначала рассмотрим цифровой вход. Роль входа с фильтром состоит в том, чтобы принять входной сигнал цифрового поля и передать его в схему обработки через фильтр.
      Если вы видите изображение ниже, оно состоит из двух частей.
      Прежде всего, зеленый кружок указывает, что изменение ввода будет принято, а красный кружок показывает, что изменение ввода не будет передано.
      В первой (выше) части есть два изменения, в которых много колебаний, и эти входные изменения будут обойдены.
      Есть два изменения, при которых нет колебаний, и это входное изменение будет передано в схему обработки. То же самое и со второй (ниже) частью теории. Это возможно с помощью фильтрации.

      Фильтрация определяется фактором или временем. Предположим, вы установили время 3 мс. Роль фильтра состоит в том, чтобы принимать только те входные изменения, которые остаются выше 3 мс.
      Если входные данные изменятся раньше, чем через 3 мс, то эти входные данные не будут учитываться и будут игнорироваться. Это означает, что короткими и высокочастотными импульсами помех можно будет пренебречь.
      Эта логика аналогична таймеру устранения дребезга, который мы прописываем в логике ПЛК.
      На изображении ниже лампа включится только тогда, когда входной сигнал кнопки запуска остается высоким в течение 3 секунд.
      Это та же самая логика, которая используется в цифровом проходном фильтре. Он передаст изменение входа в обрабатывающую часть только тогда, когда этот вход сохраняет состояние (высокий или низкий) в течение установленного времени.

      Помимо времени, как уже говорилось, некоторые ПЛК имеют возможность установки коэффициента вместо времени.
      Фактор рассчитывает внутреннее время и определяет уровень фильтрации. Чем выше значение коэффициента, тем выше мощность фильтрации.
      Фильтры аналогового входа ПЛК
      Теперь давайте посмотрим на фильтрацию аналоговых входов. Поскольку аналоговые входы по своей природе являются переменными, логика фильтра для них не может быть реализована так же, как для цифровых входов.
      Итак, в аналоговых входах используется логика усреднения. Фильтр усредняет значения, полученные за определенное время, и выдает среднее конечное значение за это время.
      Обратитесь к изображению ниже для исследования.

      Первый – синий цвет имеет коэффициент 1.
      Второй – зеленый цвет имеет коэффициент 2.
      Третий – оранжевый цвет имеет коэффициент 3.
      Четвертый – коричневый цвет имеет коэффициент 4.
      По мере увеличения значения коэффициента фильтра вы можете видеть, что форма сигнала улучшается за счет фильтрации сигнала с более резким значением.
      Через заданное время фильтр усреднит значения, полученные от входных данных; и на основе формул, используемых внутри него, он выдаст окончательный средний результат за раз.
      Таким образом, по мере увеличения коэффициента фильтра или веса мы получаем более точное значение аналогового сигнала с меньшими помехами. Обычно для этой цели используется фильтр первого прохода.
      Таким образом, мы приходим к выводу, что фильтрация очень полезна для уменьшения нежелательного шума на входе поля и передачи правильных значений, что также защитит входную цепь ПЛК от повреждения; если возникают какие-либо высокие или нежелательные пики.

    • Самыми элементарными объектами программирования лестничных диаграмм являются контакты и катушки, предназначенные для имитации контактов и катушек электромеханических реле.
      Контакты и катушки представляют собой дискретные элементы программирования, работающие с логическими состояниями переменных (1 и 0; включено и выключено; истинно и ложно).
      Каждый контакт в программе ПЛК лестничной схемы представляет собой чтение одного бита в памяти, а каждая катушка представляет запись одного бита в памяти.
      Дискретные входные сигналы ПЛК от реальных переключателей считываются программой лестничных диаграмм с помощью контактов, привязанных к этим входным каналам.
      В устаревших системах ПЛК каждый дискретный входной канал имеет определенный адрес, который необходимо применить к контакту(ам) в этой программе.
      В современных системах ПЛК каждый дискретный входной канал имеет имя тега, созданное программистом, которое применяется к контакту(ам) в программе.
      Аналогичным образом, дискретные выходные каналы, на которые ссылаются символы катушек на лестничной диаграмме, также должны иметь некоторую форму адреса или метки имени тега.
      Для иллюстрации представим себе построение и программирование резервной системы обнаружения пламени для контроля состояния пламени горелки с помощью трех датчиков.
      Целью данной системы будет индикация «зажженной» горелки, если хотя бы два из трех датчиков покажут пламя.
      Если только один датчик указывает на пламя (или если ни один из датчиков не указывает на пламя), система объявит горелку не зажженной.
      Статус горелки будет визуально обозначаться лампочкой, которую операторы смогут легко видеть внутри диспетчерской.
      Схема подключения нашей системы показана на следующей схеме:

      Каждый датчик пламени выдает сигнал постоянного напряжения, указывающий на обнаружение пламени на горелке, либо включенной (24 В постоянного тока), либо выключенной (0 В постоянного тока).
      Эти три дискретных сигнала напряжения постоянного тока воспринимаются первыми тремя каналами карты дискретного ввода ПЛК.
      Индикаторная лампа представляет собой лампочку на 120 В, поэтому ее питание должно осуществляться от карты дискретного выхода переменного тока, показанной здесь в последнем слоте ПЛК.
      Чтобы сделать лестничную программу более читабельной, мы назначим имена тегов (символические адреса) каждому входному и выходному биту ПЛК, описывая его реальное устройство в легко интерпретируемом формате.
      Мы обозначим первые три дискретных входных канала как датчик IN A, датчик IN B и датчик IN C, а выход — как горит горелка OUT.
      Здесь показана лестничная программа, позволяющая определить, обнаруживают ли по крайней мере два из трех датчиков пламя, с именами тегов, относящимися к каждому контакту и катушке:

      Последовательно соединенные контакты в лестничной схеме выполняют логическую функцию И, а параллельные контакты выполняют логическую функцию ИЛИ. Таким образом, эту программу обнаружения пламени «два из трех» можно словесно описать так:
      «Горелка горит, если либо A и B, либо B и C, либо либо A и C»
      Альтернативный способ выразить это — использовать обозначения булевой алгебры, где умножение представляет функцию И, а сложение представляет функцию ИЛИ:
      Burner_lit = AB + BC + AC
      Еще один способ представить эту логическую связь — использовать символы логических элементов:

      Чтобы проиллюстрировать, как будет работать эта программа, мы рассмотрим случай, когда датчики пламени B и C обнаруживают пламя, а датчик A — нет (Примечание 1).
      Это представляет собой два из трех хороших условий, и поэтому мы ожидаем, что ПЛК включит индикатор «Горелка горит», как запрограммировано.
      Со стороны стойки ПЛК мы видим, как на плате дискретного входа загораются светодиоды-индикаторы датчиков B и C, а также светодиод-индикатор выходного канала лампы:
      Примечание 1. Наиболее вероятной причиной того, что один из двух датчиков пламени может не обнаружить наличие пламени, является некоторая форма смещения или загрязнения датчика пламени.
      Фактически, это веская причина для использования системы обнаружения пламени 2 из 3, а не симплексной схемы детектора (1 из 1): сделать систему более устойчивой к случайным проблемам с датчиками без ущерба для горелки. безопасность.

      Эти два входных канала, находящихся под напряжением, «устанавливают» биты (состояние 1) в памяти ПЛК, представляющие состояние датчиков пламени B и C. Бит датчика пламени A будет «чистым» (состояние 0), поскольку соответствующий входной канал обесточен.
      Тот факт, что светодиод выходного канала включен (и горит индикаторная лампа «Горелка горит»), говорит нам, что программа ПЛК «установила» соответствующий бит в регистре выходной памяти ПЛК в состояние «1».
      Отображение битов входного и выходного регистра показывает состояния «установки» и «сброса» ПЛК в данный момент времени:

      Исследуя программу Ladder Diagram с включенной индикацией состояния, мы видим, что только средняя пара контактов передает «виртуальную мощность» на выходную катушку:

      Напомним, что целью контакта в программе ПЛК является чтение состояния бита в памяти ПЛК.
      Эти шесть «виртуальных контактов» считывают три входных бита, соответствующие трем датчикам пламени.
      Каждый нормально разомкнутый «контакт» «замыкается», когда соответствующий бит имеет значение 1, и «размыкается» (переходит в нормальное состояние), когда соответствующий бит имеет значение 0.
      Таким образом, мы видим здесь, что два контакта, соответствующие датчику A, появляются без подсветки (что означает отсутствие «проводимости» в схеме виртуального реле), поскольку бит для этого входа сброшен (0).
      Два контакта, соответствующие датчику B, и два контакта, соответствующие датчику C, отображаются выделенными (представляющими «проводимость» в виртуальной схеме), поскольку оба их бита установлены (1).
      Напомним также, что назначение катушки в программе ПЛК — запись состояния бита в память ПЛК.
      Здесь «активированная» катушка устанавливает бит для выхода 0 ПЛК в состояние «1», тем самым активируя реальный выход и отправляя электроэнергию на лампу «Горелка горит».
      Обратите внимание, что цветовое выделение не означает, что виртуальный контакт проводит виртуальную энергию, а лишь указывает на то, что он способен проводить энергию. Однако цветовая подсветка вокруг виртуальной катушки указывает на наличие виртуальной «мощности» в этой катушке.
      Контакты и реле полезны не только для реализации простых логических функций, но также могут выполнять функции фиксации.
      Очень распространенным применением этого в промышленных системах ПЛК является программа запуска/останова с фиксацией для управления электродвигателями с помощью кнопочных переключателей с мгновенным контактом.
      Как и раньше, эта функциональность будет проиллюстрирована с помощью гипотетического примера схемы и программы:

      В этой системе два кнопочных переключателя подключены к дискретным входам ПЛК, а ПЛК, в свою очередь, подает питание на катушку контактора двигателя посредством одного из своих дискретных выходов.
      Контакт перегрузки подключается непосредственно последовательно с катушкой контактора, чтобы обеспечить защиту двигателя от перегрузки по току даже в случае отказа ПЛК, когда канал дискретного вывода остается под напряжением (примечание 2). Лестничная программа для этой системы управления двигателем будет выглядеть так:
      Примечание 2. Хотя можно подключить контакт перегрузки к одному из дискретных входных каналов ПЛК, а затем запрограммировать виртуальный контакт перегрузки последовательно с выходной катушкой для остановки двигателя в случае тепловой перегрузки, эта стратегия будет основываться на ПЛК для выполнения функции безопасности, которую, вероятно, лучше выполняет проводная схема.

      Нажатие кнопки «Пуск» активирует канал дискретного входа 6 ПЛК, который «замыкает» виртуальный контакт в программе ПЛК, обозначенный IN-переключателем «Пуск».
      Нормально закрытый виртуальный контакт для входного канала 7 (кнопка «Стоп») по умолчанию уже закрыт, когда кнопка «Стоп» не нажата, поэтому виртуальная катушка будет получать «питание» при нажатии кнопки «Старт». нажата, а кнопка «Стоп» — нет.
      Обратите внимание на герметичный контакт с той же маркировкой, что и на катушке: контактор OUT. На первый взгляд может показаться странным, что и контакт, и катушка в программе ПЛК имеют одинаковую маркировку (примечание 3), поскольку контакты чаще всего связаны с входами, а катушки с выходами, но это имеет смысл, если вы понимаете истинный смысл контакты и катушки в программе ПЛК: как операции чтения и записи битов в памяти ПЛК.
      Катушка с надписью OUT contactor записывает состояние этого бита, а контакт с надписью OUT contactor считывает состояние того же бита. Цель этого контакта, конечно, состоит в том, чтобы зафиксировать двигатель во включенном состоянии после того, как человек-оператор отпустит палец с кнопки «Пуск».
      Примечание 3. Очень распространенное заблуждение среди студентов, впервые изучающих программирование лестничных диаграмм ПЛК, заключается в том, что контакты всегда связываются с входами ПЛК, а катушки с выходами ПЛК, поэтому кажется странным, что контакт имеет ту же маркировку, что и выход. Однако это ложная ассоциация. В действительности контакты и катушки представляют собой инструкции чтения и записи, поэтому ПЛК может читать один из своих собственных выходных битов как часть некоторой логической функции. Что было бы действительно странно, так это маркировать катушку адресом входного бита или именем тега, поскольку ПЛК электрически не способен устанавливать реальный статус включения каких-либо входных каналов.
      Этот метод программирования известен как обратная связь, где выходная переменная функции (в данном случае переменная обратной связи — выходной контактор) также является входом той же функции.
      Путь обратной связи в программировании лестничных диаграмм является скорее неявным, чем явным, причем единственным признаком обратной связи является общее имя, общее для катушки и контакта.
      Другие языки графического программирования (например, функциональные блоки) имеют возможность отображать пути обратной связи как соединительные линии между выходами и входами функций, но эта возможность не существует в лестничной диаграмме.
      Пошаговая последовательность, показывающая работу и состояние этой простой программы, иллюстрирует, как работает герметичный контакт в ходе цикла запуска и остановки двигателя:

      Эта последовательность помогает проиллюстрировать порядок оценки или порядка сканирования программы лестничной диаграммы. ПЛК читает лестничную диаграмму слева направо, сверху вниз в том же порядке, в котором человек читает предложения и абзацы, написанные на английском языке.
      Однако, согласно стандарту IEC 61131-3, программа ПЛК должна оценивать (считывать) все входы (контакты) функции, прежде чем определять состояние выхода функции (катушки или катушек).
      Другими словами, ПЛК не принимает никакого решения о том, как установить состояние катушки, пока не будут прочитаны все контакты, обеспечивающие питание этой катушки.
      Как только статус катушки будет записан в память, все контакты, имеющие одно и то же имя тега, будут обновляться с этим статусом на последующих ступенях программы.
      Шаг 5 в предыдущей последовательности особенно показателен. Когда человек-оператор нажимает кнопку «Стоп», активируется входной канал для IN-переключателя Stop, который «открывает» нормально замкнутый виртуальный контакт IN-выключателя Stop.
      При следующем сканировании этой цепочки программы ПЛК оценивает все входные контакты (выключатель IN Start, переключатель IN Stop и контактор OUT), чтобы проверить их состояние, прежде чем решить, какое состояние записать в катушку контактора OUT.
      Видя, что стоп-контакт переключателя IN был принудительно разомкнут в результате активации соответствующего дискретного входного канала, ПЛК записывает состояние «0» (или «Ложь») на катушку контактора OUT.
      Однако контакт обратной связи выходного контактора не обновляется до следующего сканирования, поэтому на этапе 5 он по-прежнему выделяется цветом.
      Потенциальная проблема этой системы в ее конструкции заключается в том, что человек-оператор теряет контроль над двигателем в случае обрыва проводки в любой из цепей кнопочного переключателя.
      Например, если провод отвалился от винтового контакта цепи кнопочного переключателя «Пуск», двигатель не мог быть запущен, если он уже был остановлен.
      Аналогичным образом, если провод отвалился от винтового контакта цепи кнопочного выключателя «Стоп», двигатель не мог быть остановлен, если он уже работал.
      В любом случае обрыв проводного соединения действует так же, как «нормальное» состояние кнопочного переключателя, то есть удерживает двигатель в его текущем состоянии.
      Для некоторых приложений этот режим отказа не будет серьезной проблемой. Однако во многих приложениях довольно опасно иметь работающий двигатель, который невозможно остановить.
      По этой причине принято проектировать системы запуска/остановки двигателя несколько иначе, чем показано здесь.
      Чтобы построить систему управления двигателем «при отказе» с помощью нашего ПЛК, мы должны сначала перемонтировать кнопочный переключатель, чтобы использовать его нормально замкнутый (НЗ) контакт:

      Благодаря этому канал дискретного входа 7 остается активным, когда кнопка не нажата. При нажатии оператором кнопки «Стоп» контакт выключателя принудительно размыкается и входной канал 7 обесточивается.
      Если провод выпадет из винтовой клеммы в цепи переключателя «Стоп», входной канал 7 обесточится точно так же, как если бы кто-то нажал кнопку «Стоп», что автоматически отключит двигатель.
      Чтобы программа ПЛК работала правильно с этой новой проводкой переключателя, виртуальный контакт для переключателя IN Stop должен быть изменен с нормально закрытого (NC) на нормально разомкнутый (NO):

      Как и раньше, виртуальный контакт остановки переключателя IN находится в «закрытом» состоянии, когда никто не нажимает переключатель «Стоп», что позволяет двигателю запуститься в любое время при нажатии переключателя «Пуск».
      Аналогичным образом, виртуальный контакт остановки переключателя IN размыкается каждый раз, когда кто-то нажимает переключатель «Стоп», тем самым прекращая подачу виртуальной «мощности» на катушку контактора ВЫХОДА.
      Хотя это очень распространенный способ создания систем запуска/остановки двигателя, управляемых ПЛК – с кнопочным переключателем НЗ и виртуальным контактом «Стоп» NO – студенты, плохо знакомые с программированием ПЛК, часто находят этот логический разворот запутанным.
      Возможно, наиболее распространенной причиной этой путаницы является неправильное понимание «нормальной» концепции контактов переключателя, реальных или виртуальных. Виртуальный контакт остановки переключателя IN запрограммирован как нормально разомкнутый (НО), но обычно он находится в закрытом состоянии.
      Напомним, что «нормальным» состоянием любого переключателя является его состояние в состоянии покоя без стимуляции, а не обязательно его состояние, когда процесс находится в «нормальном» рабочем режиме.
      «Нормально открытый» виртуальный контакт IN-переключателя Stop обычно находится в закрытом состоянии, поскольку соответствующий ему входной канал обычно находится под напряжением благодаря нормально замкнутому контакту кнопочного переключателя, который передает реальную электрическую мощность на входной канал, в то время как никто нажимает переключатель.
      Тот факт, что переключатель настроен как нормально разомкнутый, не обязательно означает, что он обычно находится в разомкнутом состоянии! Состояние любого контакта переключателя, реального или виртуального, зависит от его конфигурации (НО или НЗ) и приложенного к нему воздействия.
      Еще одна проблема, связанная с реальными проблемами с проводкой, заключается в том, что будет делать эта система, если цепь катушки контактора двигателя разомкнется по какой-либо причине.
      Разрыв цепи может возникнуть в результате падения провода с винтовой клеммы или из-за размыкания контакта тепловой перегрузки из-за перегрева. Проблема с нашей системой запуска/остановки двигателя в том виде, в котором она спроектирована, заключается в том, что она «не знает» о реальном состоянии контактора.
      Другими словами, ПЛК «думает», что контактор будет под напряжением каждый раз, когда на канал дискретного выхода 2 будет подано напряжение, но на самом деле это может быть не так, если в цепи катушки контактора происходит обрыв.
      Это может привести к опасной ситуации, если позже будет устранено открытое замыкание в цепи катушки контактора. Представьте себе, что оператор нажимает кнопку «Пуск», но замечает, что двигатель на самом деле не запускается.
      Задаваясь вопросом, почему это может быть, он или она идет посмотреть на реле перегрузки, чтобы убедиться, что оно не сработало. Если он сработал и оператор нажимает кнопку «Сброс» на блоке защиты от перегрузки, двигатель немедленно запустится, поскольку дискретный выход ПЛК остается под напряжением все время после нажатия переключателя «Пуск».
      Запуск двигателя сразу после сброса тепловой перегрузки может стать неожиданностью для эксплуатационного персонала, и это может быть весьма опасно, если кто-нибудь окажется рядом с оборудованием с приводом от двигателя во время его запуска.
      Что было бы безопаснее, так это система управления двигателем, которая отказывается «фиксироваться», если на контактор не подается питание при нажатии кнопки «Пуск». Чтобы это было возможно, ПЛК должен иметь какой-то способ определения состояния контактора.
      Чтобы ПЛК «знал» о реальном состоянии контактора, мы можем подключить контакт вспомогательного переключателя к одному из неиспользуемых дискретных входных каналов ПЛК, например:

      Теперь ПЛК может определять состояние контактора в реальном времени через входной канал 5.
      Мы можем изменить программу ПЛК, чтобы распознавать это состояние, назначив этому входу новое имя тега (дополнительный входной контактор) и используя нормально разомкнутый виртуальный контакт с этим именем в качестве герметичного контакта вместо бита выходного контактора:

      Теперь, если на контактор по какой-либо причине не подается питание, когда оператор нажимает переключатель «Пуск», выход ПЛК не сможет зафиксироваться при отпускании переключателя «Пуск».
      Когда обрыв в цепи катушки контактора устранен, двигатель не запустится сразу, а будет ждать, пока оператор снова не нажмет кнопку «Пуск», что является гораздо более безопасной рабочей характеристикой, чем раньше.
      Особый класс виртуальной «катушки», используемый в лестничном программировании ПЛК, о котором следует упомянуть, — это «защелкивающаяся» катушка. Обычно они бывают двух видов: катушка установки и катушка сброса.
      В отличие от обычной «выходной» катушки, которая положительно записывает бит в память ПЛК при каждом сканировании программы, катушки «установки» и «сброса» записывают бит в память только при включении виртуальной энергии. В противном случае биту разрешается сохранить свое последнее значение.
      Очень простую программу запуска/остановки двигателя можно написать всего лишь с двумя входными контактами и двумя фиксирующими катушками (обе имеют одно и то же имя тега и записывают в один и тот же бит памяти):

      Обратите внимание на использование нормально разомкнутого (НО) контакта кнопочного переключателя (снова!), без вспомогательного контакта, обеспечивающего индикацию состояния контактора для ПЛК. Это очень минимальная программа, показанная исключительно с целью проиллюстрировать использование фиксирующих катушек «установки» и «сброса» в программировании лестничных диаграмм ПЛК.
      Катушки «Установка» и «Сброс» (называемые катушками «Фиксация» и «Разблокировка») являются примерами того, что известно в мире программирования ПЛК как сохраняемые инструкции. «Сохраняющая» инструкция сохраняет свое значение после того, как она фактически «обесточена» в «схеме» лестничной диаграммы.
      Стандартная выходная катушка не удерживается, что означает, что она не «фиксируется» при обесточивании. Концепция сохраняемых и несохраняемых инструкций появится снова, когда мы будем изучать программирование ПЛК, особенно в области таймеров.
      Обычно мы стараемся избегать использования нескольких катушек с одной и той же меткой в программе лестничной схемы ПЛК. Поскольку каждая катушка представляет команду «записи», несколько катушек с одинаковым именем представляют несколько операций «записи» в один и тот же бит в памяти ПЛК.
      Здесь, при использовании катушек с фиксацией, конфликта нет, поскольку каждая из катушек записывает данные в бит контактора OUT только тогда, когда соответствующий контакт находится под напряжением. Пока одновременно нажимается только один из кнопочных переключателей, конфликта между катушками с одинаковыми названиями не возникает.
      Возникает вопрос: что произойдет, если одновременно нажать оба кнопочных переключателя? Что произойдет, если на катушки «Установка» и «Сброс» одновременно будет подано напряжение? В результате бит контактора OUT сначала будет «установлен» (записан в значение 1), а затем «сброшен» (записан в значение 0) в том порядке, в котором две цепочки программы сканировались сверху вниз. .
      ПЛК обычно не обновляют свои регистры дискретного ввода-вывода во время сканирования программы лестничной диаграммы (эта операция происходит либо до, либо после каждого сканирования программы), поэтому реальное состояние канала дискретного вывода будет таким, каким оно было указано в последней операции записи. , в данном случае «сброс» (0 или выкл.).
      Даже если дискретный выход не «перепутан» из-за конфликтующих операций записи обмоток «Установка» и «Сброс», это могут быть и другие ступени программы, записанные между цепочками «Установка» и «Сброс».
      Рассмотрим, например, случай, когда после цепочек «Установить» и «Сброс» были другие цепочки программы, считывающие для какой-то цели состояние бита контактора ВЫХОДА.
      Эти другие цепочки действительно войдут в «замешательство», поскольку они увидят бит контактора OUT в состоянии «установлено», в то время как фактический дискретный выход ПЛК (и любые цепочки после цепочки «Сброс») увидят бит контактора OUT в состоянии «установлено». состояние «перезагрузки»:

      По этой причине несколько (несохраняемых) выходных катушек с одним и тем же адресом памяти почти всегда являются ошибкой программирования, но даже сохраняющие катушки, которые предназначены для использования в согласованных парах, могут вызвать проблемы, если не предвидятся последствия одновременного включения.
      Несколько контактов с одинаковыми адресами не представляют никакой проблемы, поскольку несколько операций «чтения» одного и того же бита памяти никогда не вызовут конфликта.
      Стандарт программирования ПЛК IEC 61131-3 определяет контакты, чувствительные к переходу, а также более привычные «статические» контакты. Контакт, чувствительный к переходу, будет «срабатывать» только на время одного сканирования программы, даже если соответствующий ему бит остается активным.
      В стандарте IEC определены два типа контактов лестничной схемы, чувствительных к переходу: один для положительных переходов, а другой для отрицательных переходов.
      В следующем примере показана схема подключения, программа лестничной диаграммы и временная диаграмма, показывающая, как каждый тип контакта, чувствительного к переходу, работает при стимулировании реальным (электрическим) входным сигналом на дискретный канал:

      When the pushbutton switch is pressed and the discrete input energized, the first test lamp will blink “on” for exactly one scan of the PLC’s program, then return to its off state.
      The positive transition contact (with the letter “P” inside) activates the coil OUT test1 only during the scan it sees the status of IN test transition from “false” to “true,” even though the input remains energized for many scans after that transition.
      Conversely, when the pushbutton switch is released and the discrete input de-energizes, the second test lamp will blink “on” for exactly one scan of the PLC’s program then return to its off state.
      The negative-transition contact (with the letter “N” inside) activates the coil OUT test2 only during the scan it sees the status of IN test transition from “true” to “false,” even though the input remains de-energized for many scans after that transition:
      It should be noted that the duration of a single PLC program scan is typically very short: measured in milliseconds. If this program were actually tested in a real PLC, you would probably not be able to see either test lamp light up, since each pulse is so short-lived.
      Transitional contacts are typically used any time it is desired to execute an instruction just one time following a “triggering” event, as opposed to executing that instruction over and over again so long as the event status is maintained “true.”
      Contacts and coils represent only the most basic of instructions in the Ladder Diagram PLC programming language.

    • Программируемый логический контроллер (ПЛК) Вопросы и ответы
      Этот ПЛК используется для запуска и остановки электродвигателя, а также для его автоматического выключения при возникновении любого из трех условий «выключения»:
      Чрезмерная вибрация Перегрузка по току (перегрузка контакта нагревателя) Высокая температура обмотки Логика отключения двигателя с использованием программирования ПЛК

      Статус каждого контакта отключения следующий:
      Вибрационный контакт: закрывается, когда все в порядке, размыкается, когда вибрация становится чрезмерной. Контакт перегрузки: закрывается в норме, размыкается при перегрузке Температурный контакт: размыкается, когда все в порядке, закрывается, когда жарко. Нарисуйте программу релейной логики ПЛК для запуска и остановки этого двигателя.
      Обязательно сделайте программу фиксируемой, чтобы оператору не приходилось удерживать кнопку «Пуск», чтобы двигатель работал.
      Отвечать:
      Находите ли вы ошибки в логике? Поделитесь с нами через комментарии.


    • Существует множество ситуаций управления, требующих инициирования действий, когда в ПЛК реализуется определенная комбинация условий логических функций.
      Логические функции ПЛК
      Скажем, для автоматического сверлильного станка может быть условие, что двигатель сверла должен активироваться при активации концевых выключателей, которые указывают на наличие заготовки и положение сверла как находящееся на поверхности заготовки.
      Такая ситуация включает в себя логическую функцию И, причем условие A И условие B должны быть реализованы для того, чтобы произошел выходной сигнал. В этом разделе рассматриваются такие логические функции.
      ПЛК И ЛОГИКА
      На рисунке 1.7a показана ситуация, когда на выход не подается питание, пока два нормально разомкнутых переключателя не замкнуты. Переключатель A и переключатель B должны быть замкнуты, что, таким образом, дает логическую ситуацию «И».
      Мы можем думать об этом как о системе управления с двумя входами A и B (рис. 1.7b). Выход есть только тогда, когда A и B включены. Таким образом, если мы используем 1 для обозначения сигнала включения и 0 для обозначения сигнала выключения, то для того, чтобы на выходе была 1, мы должны, чтобы A и B оба были равны 1.
      Говорят, что такая операция контролируется логическим вентилем, а взаимосвязь между входами логического вентиля и выходами заносится в таблицу в форме, известной как таблица истинности. Таким образом, для вентиля И мы имеем:

      Примером логического элемента «И» является система блокировки управления станком, так что ею можно управлять только тогда, когда защитное ограждение находится на своем месте и включено питание.
      На рис. 1.8а показана система логических элементов И на лестничной диаграмме. Лестничная диаграмма начинается с j j, нормально разомкнутого набора контактов, обозначенного входом A, для обозначения переключателя A, и последовательно с ним j j, другого нормально разомкнутого набора контактов, обозначенного входом B, для обозначения переключателя B.
      Затем строка заканчивается буквой O, обозначающей вывод. Для того чтобы был выход, должны присутствовать как вход A, так и вход B, т. е. контакты входа A и входа B должны быть замкнуты (рис. 1.8б). В общем:
      На лестничной диаграмме контакты на горизонтальной ступени, то есть последовательные контакты, представляют собой логические операции И.

      ПЛК ИЛИ ЛОГИКА
      На рисунке 1.9а показана электрическая цепь, в которой на выход подается питание, когда переключатель A или B, оба нормально разомкнутые, замкнуты.
      Это описывает логический вентиль ИЛИ (рис. 1.9b), в котором вход A или вход B должен быть включен, чтобы был выход.
      Таблица истинности:

      На рисунке 1.10a показана система логических элементов ИЛИ на лестничной диаграмме, на рисунке 1.10b показан эквивалентный альтернативный способ построения той же схемы.
      Лестничная диаграмма начинается с j j, нормально разомкнутых контактов, обозначенных входом A, для обозначения переключателя A, и параллельно с ним j j, нормально разомкнутых контактов, обозначенных входом B, для обозначения переключателя B.
      Чтобы на выход подавалось напряжение, вход A или вход B должен быть закрыт.
      (рисунок 1.10в). Затем строка заканчивается буквой O, обозначающей вывод. В общем:
      Альтернативные пути, предоставляемые вертикальными путями из главной ступени лестничной диаграммы, т. е. параллельные пути представляют собой логические операции ИЛИ.
      Примером системы управления воротами операционной является конвейерная лента, транспортирующая продукты в бутылках к упаковке, где активируется дефлекторная пластина для отклонения бутылок в контейнер для отходов, если вес не находится в определенных пределах или на бутылке нет крышки.

      ПЛК НЕ ЛОГИЧЕСКИЙ
      На рис. 1.11а показана электрическая цепь, управляемая нормально замкнутым выключателем. Когда на переключатель подается вход, он размыкается, и ток в цепи отсутствует.
      Это иллюстрирует вентиль НЕ, в котором есть выход, когда нет входа, и нет выхода, когда есть вход (рис. 1.11c). Ворота иногда называют инвертором.
      Таблица истинности:

      На рисунке 11.11b показана система вентилей НЕ на лестничной диаграмме. Контакты входа А показаны как нормально замкнутые.
      Это последовательно с выходом ( ). При отсутствии входа на вход А контакты замкнуты, поэтому есть выход. Когда есть вход на вход А, он открывается, и тогда выхода нет.
      Примером системы управления воротами НЕ является свет, который включается, когда становится темно, т. е. когда нет входа света на датчик освещенности, есть выход.

      ПЛК NAND LOGIC
      Предположим, что мы следуем за логическим элементом И с логическим элементом НЕ (рис. 1.12a). Следствием наличия вентиля НЕ является инвертирование всех выходов вентиля И.
      Альтернатива, дающая точно такие же результаты, — поместить вентиль НЕ на каждый вход, а затем выполнить ИЛИ (рис. 1.12б).
      Встречается та же самая таблица истинности, а именно:

      Оба входа A и B должны быть 0, чтобы на выходе была 1.
      Выход имеется, когда вход A и вход B не равны 1.
      Комбинация этих вентилей называется вентилем И-НЕ (рис. 1.13).

      Примером системы управления воротами NAND является сигнальная лампа, которая загорается, если на станке не был активирован предохранительный выключатель и не активирован концевой выключатель, сигнализирующий о наличии заготовки.
      ПЛК НОР ЛОГИК
      Предположим, что мы следуем за логическим элементом ИЛИ логическим элементом НЕ (рис. 1.14a).
      Следствием наличия логического элемента НЕ является инвертирование выходов логического элемента ИЛИ.
      Альтернативный вариант, который дает точно такие же результаты, состоит в том, чтобы поместить вентиль НЕ на каждый вход, а затем вентиль И для результирующих инвертированных входов (рис. 1.14b).
      Ниже представлена результирующая таблица истинности:

      Комбинация вентилей ИЛИ и НЕ называется вентилем ИЛИ. Выход существует, когда ни вход A, ни вход B не равен 1.
      На рис. 1.15 показана лестничная диаграмма системы NOR.
      Когда вход A и вход B не активированы, имеется выход 1. Когда X400 или X401 равны 1, выходной сигнал равен 0.

      Логика исключающего ИЛИ (XOR) ПЛК
      Логический элемент ИЛИ выдает выходной сигнал, когда один или оба входа равны 1.
      Однако иногда возникает необходимость в вентиле, который выдает выход, когда любой из входов равен 1, но не когда оба равны 1, т. е. имеет таблицу истинности:

      Такой вентиль называется исключающим ИЛИ или исключающим ИЛИ.
      Один из способов получения такого вентиля — использование вентилей НЕ, И и ИЛИ, как показано на рисунке 1.16.

      На рис. 1.17 показана лестничная диаграмма системы вентилей «исключающее ИЛИ». Когда вход A и вход B не активированы, выходной сигнал равен 0.
      Когда активирован только вход A, верхняя ветвь приводит к выходу, равному 1. Когда активируется только вход B, тогда нижняя ветвь приводит к выходу, равному 1.
      Когда оба входа A и вход B активированы, выходной сигнал отсутствует.
      В этом примере логического элемента вход A и вход B имеют два набора контактов в цепях, один из которых нормально разомкнут, а другой нормально закрыт.
      При программировании ПЛК каждый вход может иметь столько наборов контактов, сколько необходимо.

      ПЛК Эксклюзивная логика NOR (XNOR)


    • Каждый программируемый логический контроллер должен иметь средства приема и интерпретации сигналов от реальных датчиков, таких как переключатели и энкодеры, а также иметь возможность осуществлять контроль над реальными элементами управления, такими как соленоиды, клапаны и двигатели.
      Это обычно известно как возможность ввода/вывода или ввода/вывода. Монолитные («кирпичики») ПЛК имеют фиксированное количество возможностей ввода-вывода, встроенных в устройство, тогда как модульные («стоечные») ПЛК используют отдельные «карты» печатной платы для обеспечения настраиваемых возможностей ввода-вывода.
      Модули ввода-вывода ПЛК

      Преимущества использования сменных карт ввода-вывода вместо монолитной конструкции ПЛК многочисленны.
      Во-первых и наиболее очевидным является тот факт, что отдельные карты ввода-вывода можно легко заменить в случае неисправности без необходимости замены всего ПЛК.
      Для пользовательских приложений можно выбрать конкретные карты ввода-вывода, отдавая предпочтение дискретным картам для приложений, использующих множество входов и выходов включения/выключения, или отдавая предпочтение аналоговым картам для приложений, использующих множество сигналов 4–20 мА и аналогичных сигналов.
      Некоторые ПЛК даже предлагают функцию горячей замены карт, что означает, что каждую карту можно извлечь и вставить новую без отключения питания процессора ПЛК и стойки.
      Обратите внимание, что не следует предполагать, что какая-либо система имеет карты с возможностью горячей замены, поскольку если вы попытаетесь заменить карту «вживую» в системе без этой функции, вы рискуете повредить карту и/или остальную часть устройства. он подключен!

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

      Альтернативной схемой расширения системы является объединение нескольких ПЛК в сеть, где каждый ПЛК имеет собственную выделенную стойку и процессор.
      С помощью инструкций связи один ПЛК можно запрограммировать на чтение данных из другого ПЛК и/или запись данных в него, эффективно используя другой ПЛК в качестве расширения своего собственного ввода-вывода.
      Хотя этот метод дороже, чем удаленный ввод-вывод (когда в удаленных стойках отсутствуют собственные выделенные процессоры), он обеспечивает возможность автономного управления в случае разрыва сетевого соединения между процессорами ПЛК.
      Возможности ввода/вывода программируемых логических контроллеров бывают трех основных разновидностей: дискретные, аналоговые и сетевые.

    • Основы лестничной диаграммы в программировании ПЛК
      Первоначально релейная логика представляла собой письменный метод документирования проектирования и изготовления релейных стоек, используемых в производстве и управлении технологическими процессами. Каждое устройство в релейной стойке должно было быть представлено символом на лестничной схеме с указанием соединений между этими устройствами. Кроме того, на лестничной диаграмме также будут показаны другие элементы, внешние по отношению к релейной стойке, такие как насосы, нагреватели и т. д.
      Релейная логика превратилась в язык программирования, который представляет программу в виде графической схемы, основанной на принципиальных схемах аппаратных средств релейной логики. Релейная логика используется для разработки программного обеспечения для программируемых логических контроллеров (ПЛК), используемых в приложениях промышленного управления. Название основано на наблюдении, что программы на этом языке напоминают лестницы с двумя вертикальными перекладинами и рядом горизонтальных перекладин между ними. Хотя лестничные диаграммы когда-то были единственной доступной формой записи программ программируемого контроллера, сегодня другие формы стандартизированы в IEC 61131-3.
      Релейная логика широко используется для программирования ПЛК, где требуется последовательное управление процессом или производственной операцией. Лестничная логика полезна для простых, но важных систем управления. Поскольку программируемые логические контроллеры стали более сложными, они также стали использоваться в очень сложных системах автоматизации. Часто программа лестничной логики используется вместе с программой HMI, работающей на компьютерной рабочей станции.
      Пример простой программы лестничной логики
      Сам язык можно рассматривать как набор связей между логическими контролерами (контактами) и исполнительными механизмами (катушками). Если между левой стороной ступеньки и выходом можно проследить путь через подтвержденные (истинные или «замкнутые») контакты, ступенька истинна, а бит хранения выходной катушки установлен или истинен. Если путь не проследить, то на выходе ложный сигнал (0) и «катушка» по аналогии с электромеханическими реле считается «обесточенной».
      Лестничная логика имеет контакты, которые замыкают или размыкают цепи управления катушками. Каждая катушка или контакт соответствует состоянию одного бита в памяти программируемого контроллера. В отличие от электромеханических реле, лестничная программа может ссылаться на состояние одного бита любое количество раз, что эквивалентно реле с неопределенно большим количеством контактов.
      Так называемые «контакты» могут относиться к физическим («жестким») входам программируемого контроллера от физических устройств, таких как кнопки и концевые выключатели, через встроенный или внешний модуль ввода, или могут представлять состояние битов внутренней памяти, которые могут быть сгенерированы. в другом месте программы.
      Каждая ступень лестничного языка обычно имеет одну катушку в крайнем правом углу. Некоторые производители могут допускать использование более одной выходной катушки на ступеньке.
      —( )— Обычная катушка, на которую подается напряжение всякий раз, когда ее ступенька замыкается.
      —()— Катушка «нет», на которую подается напряжение всякий раз, когда ее ступенька разомкнута.
      —[ ]— Обычный контакт, замыкающийся всякий раз, когда на соответствующую катушку или вход, который им управляет, подается напряжение.
      —[]— Контакт «нет», замыкается, когда соответствующая катушка или вход, который им управляет, не находится под напряжением.
      «Катушка» (выход цепочки) может представлять собой физический выход, который управляет каким-либо устройством, подключенным к программируемому контроллеру, или может представлять собой бит внутренней памяти для использования в другом месте программы.
      Логическое И
        ------[ ]--------------[ ]----------------( )
          Ключевой переключатель 1 Ключевой переключатель 2 Двигатель двери
      Вышеупомянутое реализует функцию: Дверной двигатель = ключевой переключатель 1 и ключевой переключатель 2.
      На этой схеме показаны два выключателя с ключом, которые охранники могут использовать для активации электродвигателя на двери банковского хранилища. Когда нормально разомкнутые контакты обоих переключателей замыкаются, электричество может поступать на электродвигатель, который открывает дверь.
      Логическое И с НЕ
        ------[ ]--------------[]----------------( )
          Закрыть дверь. Препятствие. Двигатель двери.
      Вышеупомянутое реализует функцию: Двигатель двери = Закрыть дверь И НЕ (Препятствие).
      На этой схеме изображена кнопка, закрывающая дверь, и детектор препятствий, который определяет, есть ли что-то на пути закрывающейся двери. Когда нормально разомкнутый контакт кнопки закрывается и нормально закрытый детектор препятствий закрывается (препятствие не обнаружено), электричество может поступать на двигатель, который закрывает дверь.
      Логическое ИЛИ
        --+-------[ ]-------+-----------------( )
          | Внешняя разблокировка | Разблокировать
          | |
          +-------[ ]-------+
            Разблокировка салона
      Вышеупомянутое реализует функцию: Разблокировка = Внутренняя разблокировка ИЛИ Внешняя разблокировка.
      На этой схеме показаны две вещи, которые могут вызвать срабатывание дверных замков автомобиля. Удаленный приемник всегда находится под напряжением. Соленоид замка получает питание, когда любой набор контактов замкнут.
      Промышленный СТОП/СТАРТ
      В обычной промышленной логике пуска/останова с фиксацией у нас есть кнопка «пуск» для включения контактора двигателя и кнопка «стоп» для выключения контактора.
      При нажатии кнопки «пуск» вход активируется через нормально замкнутый контакт кнопки «стоп». Когда входной сигнал «работа» становится истинным, герметичный НО контакт «пуск» параллельно с НО контактом «пуск» закроется, поддерживая истинную входную логику (зафиксирован или закрыт). После того, как цепь защелкнута, можно нажать кнопку «стоп», что приведет к размыканию ее нормально замкнутого контакта и, следовательно, к ложному срабатыванию входа. Затем размыкается «рабочий» нормально разомкнутый контакт, и логика схемы возвращается в свое состояние покоя.
        --+----[ ]--+----[]----( )
          | начать | хватит бежать
          | |
          +----[ ]--+
               бегать
        -------[ ]--------------( )
               запустить мотор
      Вышеприведенное реализует функцию: run = (start OR run) AND ( NOT stop )
      Обратите внимание на использование круглых скобок для группировки логической функции ИЛИ перед вычислением логической функции И (которая имеет более высокий приоритет операции). Также обратите внимание на использование NOT для обозначения логики нормально замкнутого контакта «стоп».
      Такая конфигурация защелки является общепринятой идиомой в релейной логике. В лестничной логике это называется логикой запечатывания. Ключом к пониманию защелки является признание того, что переключатель «пуск» — это переключатель мгновенного действия (как только пользователь отпускает кнопку, переключатель снова размыкается). Как только соленоид «работа» срабатывает, он замыкает размыкающий контакт «пуск», который фиксирует соленоид. Размыкание переключателя «Пуск» не оказывает никакого эффекта.
      По соображениям безопасности аварийный останов и/или останов должны быть подключены последовательно с пусковым выключателем, и логика реле должна это отражать.
        --[]----[]----+--[ ]--+---------( )
          ЕС Стоп | Начало | Мотор
                        | |
                        +--[ ]--+
                           Бегать
      Сложная логика
      Вот пример того, как могут выглядеть две ступени в программе релейной логики. В реальных приложениях могут быть сотни или тысячи ступеней.
      Обычно сложная релейная логика «читается» слева направо и сверху вниз. Поскольку каждая из линий (или ступеней) оценивается, выходная катушка ступени может поступать на следующий этап лестницы в качестве входного сигнала. В сложной системе на лестнице будет много «ступенек», которые пронумерованы в порядке оценки.
        1. ----[ ]---------+----[ ]-----+----( )
             Переключатель | ПриветТемп | кондиционер
                           | |
                           +----[ ]-----+
                               Влажный
        2. ----[ ]----[]--------------------( )
               Кондиционер Обогрев Охлаждение
      Линия 1 реализует функцию: A/C = Переключатель И (HiTemp ИЛИ Влажность)
      Линия 2 реализует функцию: Охлаждение = кондиционер И (НЕ обогрев)
      Это представляет собой немного более сложную систему для ступени 2. После оценки первой линии выходная катушка «A/C» подается на ступень 2, которая затем оценивается, и выходная катушка «Охлаждение» может быть подана в выходную ступень. устройство «Компрессор» или на третью ступень лестницы. Эта система позволяет разбивать и оценивать очень сложные логические конструкции.
      Дополнительный функционал
      Дополнительные функциональные возможности могут быть добавлены в реализацию релейной логики производителем ПЛК в виде специального блока. Когда специальный блок включен, он выполняет код с заранее определенными аргументами. Эти аргументы могут отображаться в специальном блоке.
                                     +-------+
         -----[ ]--------------------+ А +----
          Удаленная разблокировка +-------+
                                  Удаленный счетчик
                                     +-------+
         -----[ ]--------------------+ B +----
          Разблокировка салона +-------+
                                 Внутренняя стойка
                             +--------+
         --------------------+ А + Б +-----------
                             | в C |
                             +--------+
                                Сумматор
      В этом примере система подсчитает количество нажатий кнопок внутренней и дистанционной разблокировки. Эта информация будет храниться в ячейках памяти A и B. В ячейке памяти C будет храниться общее количество раз, когда дверь была отперта электронным способом.
      ПЛК имеют множество типов специальных блоков. Они включают в себя таймеры, арифметические операторы и сравнения, поиск в таблицах, обработку текста, ПИД-регулятор и функции фильтрации. Более мощные ПЛК могут работать с группой ячеек внутренней памяти и выполнять операцию с диапазоном адресов, например, для моделирования физического последовательного барабанного контроллера или конечного автомата. В некоторых случаях пользователи могут определять свои собственные специальные блоки, которые по сути являются подпрограммами или макросами. Большая библиотека специальных блоков наряду с высокой скоростью исполнения позволили использовать ПЛК для реализации очень сложных систем автоматизации.

    • В конце 1960-х годов американская компания Bedford Associates выпустила вычислительное устройство, названное MODICON. В качестве аббревиатуры оно означало «Модульный цифровой контроллер», а позже стало названием подразделения компании, занимающегося разработкой, производством и продажей этих управляющих компьютеров специального назначения.
      Другие инженерные фирмы разработали свои собственные версии этого устройства, и в конечном итоге оно стало известно в непатентованных терминах как ПЛК или программируемый логический контроллер.
      ПЛК
      Целью ПЛК была прямая замена электромеханических реле в качестве логических элементов, заменив вместо этого твердотельный цифровой компьютер с хранимой программой, способный имитировать соединение множества реле для выполнения определенных логических задач.
      ПЛК имеет множество «входных» терминалов, через которые он интерпретирует «высокие» и «низкие» логические состояния и аналоговые значения от переключателей и датчиков.
      Он также имеет множество выходных клемм, через которые он выводит сигналы «высокого» и «низкого» напряжения на источники питания, соленоиды, контакторы, небольшие двигатели и другие устройства, подходящие для управления включением/выключением, а также аналоговый выход для управления регулирующими клапанами, двигателем. контроль скорости и т. д.
      Чтобы упростить программирование ПЛК, их язык программирования был разработан так, чтобы напоминать диаграммы лестничной логики. Таким образом, инженер, привыкший читать схемы релейной логики, будет чувствовать себя комфортно, программируя ПЛК для выполнения тех же функций управления.
      Программирование ПЛК
      На следующем рисунке показан простой ПЛК, как он может выглядеть спереди.
      Две винтовые клеммы обеспечивают подключение к источнику питания для питания внутренней схемы ПЛК, обозначенной L1 и L2.
      Шесть винтовых клемм с левой стороны обеспечивают подключение к устройствам ввода, причем каждая клемма представляет собой отдельный входной «канал» со своей меткой «X».
      Нижняя левая винтовая клемма представляет собой «общее» соединение, которое обычно подключается к L2 (нейтраль) источника питания 120 В переменного тока.

      Внутри корпуса ПЛК, подключенного между каждой входной клеммой и общей клеммой, находится оптоизоляционное устройство (светоизлучающий диод), которое подает электрически изолированный «высокий» логический сигнал в схему компьютера (фототранзистор интерпретирует свет светодиода). ) при подаче напряжения 120 В переменного тока между соответствующей входной клеммой и общей клеммой.
      Индикаторный светодиод на передней панели ПЛК визуально указывает на то, что вход находится под напряжением:

      Выходные сигналы генерируются компьютерной схемой ПЛК, активирующей коммутационное устройство (транзистор, симистор или даже электромеханическое реле), соединяющее клемму «Источник» с любой из выходных клемм с маркировкой «Y-».
      Клемма «Источник», соответственно, обычно подключается к стороне L1 источника питания 120 В переменного тока.
      Как и для каждого входа, индикаторный светодиод на передней панели ПЛК визуально указывает на то, что выход находится под напряжением:

      Таким образом, ПЛК может взаимодействовать с реальными устройствами, такими как переключатели и соленоиды.
      Фактическая логика системы управления устанавливается внутри ПЛК с помощью компьютерной программы.
      Эта программа определяет, какой выход будет под напряжением при каких входных условиях.
      Хотя сама программа выглядит как схема релейной логики с символами переключателей и реле, внутри ПЛК нет реальных контактов переключателя или катушек реле, которые могли бы создавать логические связи между входом и выходом.
      Это воображаемые контакты и катушки, если хотите. Программа вводится и просматривается через персональный компьютер, подключенный к порту программирования ПЛК.
      Рассмотрим следующую схему и программу ПЛК:

      Когда кнопочный переключатель не задействован (не нажат), питание на вход X1 ПЛК не подается.
      Следуя программе, которая показывает нормально разомкнутый контакт X1 последовательно с катушкой Y1, на катушку Y1 не будет подаваться «энергия». Таким образом, выход Y1 ПЛК остается обесточенным, а подключенная к нему контрольная лампа остается темной.
      Однако если кнопочный переключатель нажат, питание будет подано на вход X1 ПЛК.
      Все контакты X1, появляющиеся в программе, примут активированное (ненормальное) состояние, как если бы они были контактами реле, срабатывающими при подаче питания на катушку реле с именем «X1».
      В этом случае подача питания на вход X1 приведет к тому, что нормально разомкнутый контакт X1 «закроется», отправив «питание» на катушку Y1.
      Когда на катушку Y1 программы «подается питание», на реальный выход Y1 подается напряжение, зажигая подключенную к нему лампу:

      Надо понимать, что контакт X1, катушка Y1, соединительные провода и «питание», появляющееся на дисплее компьютера (технической системы, в которую загружено программное обеспечение ПЛК) – все это виртуальные.
      Они не существуют как настоящие электрические компоненты. Они существуют как команды в компьютерной программе — всего лишь части программного обеспечения — которая напоминает настоящую принципиальную схему реле.
      Не менее важно понимать, что компьютер, используемый для отображения и редактирования программы ПЛК, не требуется для непрерывной работы ПЛК.
      После загрузки программы в ПЛК с компьютера компьютер можно отключить от ПЛК, и ПЛК продолжит выполнять запрограммированные команды.
      Я включил дисплей компьютера в эти иллюстрации исключительно ради вас, чтобы помочь понять взаимосвязь между реальными условиями (замыкание переключателя и состояние лампы) и состоянием программы («питание» через виртуальные контакты и виртуальные катушки).
      Истинная мощь и универсальность ПЛК раскрываются, когда мы хотим изменить поведение системы управления. Поскольку ПЛК является программируемым устройством, мы можем изменить его поведение, изменяя подаваемые ему команды, без необходимости переконфигурировать подключенные к нему электрические компоненты.
      Например, предположим, что мы хотим заставить эту схему выключателя и лампы работать в инвертированном виде: нажать кнопку, чтобы лампа погасла, и отпустить ее, чтобы она включилась.
      «Аппаратное» решение потребует замены нормально замкнутого кнопочного переключателя вместо нормально разомкнутого переключателя, который в настоящее время находится на месте.
      «Программное» решение гораздо проще: просто переделать программу так, чтобы контакт Х1 был нормально замкнутым, а не нормально разомкнутым.
      На следующем рисунке мы видим измененную систему, показанную в состоянии, когда кнопка не нажата (не нажата):

      На следующем рисунке переключатель показан активированным (нажатым):

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

      Чтобы построить эквивалентную схему с использованием электромеханических реле, необходимо использовать три реле с двумя нормально разомкнутыми контактами каждое, чтобы обеспечить два контакта на каждый входной переключатель.
      Однако, используя ПЛК, мы можем запрограммировать столько контактов, сколько пожелаем, для каждого входа «X» без добавления дополнительного оборудования, поскольку каждый вход и каждый выход представляют собой не что иное, как один бит в цифровой памяти ПЛК (либо 0, либо 1). , и его можно вызывать столько раз, сколько необходимо.
      Более того, поскольку каждый выход ПЛК представляет собой не что иное, как бит в его памяти, мы можем назначить контакты в программе ПЛК, «активируемой» статусом выхода (Y).
      Возьмем, к примеру, следующую систему — схему управления пуском и остановкой двигателя:

      Кнопочный переключатель, подключенный к входу Х1, выполняет функцию выключателя «Пуск», а переключатель, подключенный к входу Х2, выполняет функцию «Стоп».
      Другой контакт в программе, названный Y1, напрямую использует состояние выходной катушки в качестве герметичного контакта, так что контактор двигателя продолжает оставаться под напряжением после отпускания кнопки «Пуск».
      Вы можете увидеть, как нормально закрытый контакт X2 появляется в цветном блоке, показывая, что он находится в закрытом («электропроводящем») состоянии.
      Если бы мы нажали кнопку «Пуск», вход X1 подал бы напряжение, тем самым «замкнув» контакт X1 в программе, подав «питание» на «катушку» Y1, подав питание на выход Y1 и подав напряжение 120 В переменного тока на настоящая катушка контактора двигателя.
      Параллельный контакт Y1 также «замкнется», таким образом зафиксировав «цепь» во включенном состоянии:

      Теперь, если мы отпустим кнопку «Пуск», нормально разомкнутый «контакт» X1 вернется в свое «разомкнутое» состояние, но двигатель продолжит работать, поскольку герметичный «контакт» Y1 продолжает обеспечивать «непрерывность». для «питания» катушки Y1, таким образом сохраняя выход Y1 под напряжением:

      Чтобы остановить двигатель, мы должны на мгновение нажать кнопку «Стоп», которая подаст напряжение на вход X2 и «разомкнет» нормально закрытый «контакт», разорвав цепь на «катушке Y1»:

      При отпускании кнопки «Стоп» вход Х2 обесточивается, возвращая «контакт» Х2 в нормальное, «замкнутое» состояние.
      Однако двигатель не запустится снова, пока не будет нажата кнопка «Пуск», поскольку «запечатывание» Y1 потеряно:

      Здесь важно отметить, что отказоустойчивая конструкция так же важна в системах, управляемых ПЛК, как и в системах, управляемых электромеханическими реле.
      Всегда следует учитывать последствия неисправности (обрыва) проводки на управляемом устройстве или устройствах.
      В этом примере схемы управления двигателем у нас есть проблема: если входная проводка для X2 (переключатель «Стоп») выйдет из строя, остановить двигатель будет невозможно!
      Решением этой проблемы является изменение логики между «контактом» X2 внутри программы ПЛК и реальным кнопочным переключателем «Стоп»:

      Когда нормально замкнутый кнопочный переключатель «Стоп» не задействован (не нажат), на вход X2 ПЛК подается питание, таким образом «замыкается» «контакт» X2 внутри программы.
      Это позволяет запустить двигатель, когда на вход X1 подается питание, и позволяет ему продолжать работу, когда кнопка «Пуск» больше не нажата.
      При нажатии кнопки «Стоп» вход X2 обесточивается, тем самым «размыкая» «контакт» X2 внутри программы ПЛК и отключая двигатель.
      Итак, мы видим, что между этой новой конструкцией и предыдущей нет никакой функциональной разницы.
      Однако, если входная проводка на входе X2 выйдет из строя, вход X2 обесточится таким же образом, как и при нажатии кнопки «Стоп».
      В результате неисправности проводки на входе X2 двигатель немедленно отключится.
      Это более безопасная конструкция, чем показанная ранее, в которой отказ проводки переключателя «Стоп» привел бы к невозможности выключения двигателя.
      Помимо входных (X) и выходных (Y) программных элементов, ПЛК имеют «внутренние» катушки и контакты, не имеющие внутренней связи с внешним миром.
      Они используются почти так же, как «реле управления» (CR1, CR2 и т. д.) используются в стандартных релейных схемах: для обеспечения инверсии логического сигнала, когда это необходимо.
      Чтобы продемонстрировать, как можно использовать одно из этих «внутренних» реле, рассмотрим следующий пример схемы и программы, предназначенных для эмуляции функции логического элемента И-НЕ с тремя входами.
      Поскольку элементы программы ПЛК обычно обозначаются отдельными буквами, я буду называть внутреннее реле управления «C1», а не «CR1», как это принято в схемах управления реле:

      В этой схеме лампа будет гореть до тех пор, пока какая-либо из кнопок остается ненажатой (ненажатой).
      Чтобы лампа погасла, нам придется активировать (нажать) все три переключателя, вот так:


    • Пример программирования ПЛК для управления несколькими двигателями для начинающих с использованием программного обеспечения ПЛК Schneider Electric EcoStruxure Machine Expert Basic.
      Обратите внимание, что этот пример ПЛК предназначен для студентов-инженеров, которые заинтересованы в изучении и практике упражнений с ПЛК. Программы промышленных ПЛК реального времени будут разработаны с большим количеством функций безопасности и защиты.
      Пример программирования ПЛК на мультидвигателе
      Разработайте релейную логику ПЛК для следующего приложения.
      Мы используем три тумблера для управления тремя двигателями.
      Если переключатель 1 включен, то двигатель I, двигатель II и двигатель III будут включены. Если переключатель 2 включен, то двигатель I и двигатель II будут включены. Если переключатель 3 включен, то двигатель I, двигатель II и двигатель III будут выключены. Цифровые входы
      В этом примере программы требуются следующие цифровые входы (DI). Также упоминаются назначенные адреса DI ПЛК.
      Переключатель 1: I0.0
      Переключатель 2: I0.1
      Переключатель 3: I0.2
      Цифровые выходы
      В этом примере программы требуются следующие цифровые выходы (DO). Также упоминаются назначенные адреса DO ПЛК.
      Двигатель 1: Q0.0
      Двигатель 2: Q0.1
      Двигатель 3: Q0.2
      Лестничная диаграмма для управления несколькими двигателями

      Описание программы
      Для этого приложения мы использовали программное обеспечение Ecostruxure Machine Expert Basic v1.2 для программирования. В приведенной выше программе мы использовали нормально разомкнутый контакт для переключателя 1 (I0.0), нормально закрытые контакты для переключателя 2 (I0.1) и переключателя 3 (I0.2). Переключатель 1 и переключатель 3 соединены последовательно для двигателя 1 и двигателя 2, таким образом реализуя логический элемент И. Для двигателя 3 переключатель 1, переключатель 2 и переключатель 3 соединены последовательно, реализуя таким образом логический элемент И. Чтобы двигатель 1 и двигатель 2 были включены, переключатель 1 должен быть включен, а переключатель 3 должен быть выключен. Когда переключатель 1 включен, переключатель 2 и переключатель 3 выключены, двигатель 3 будет включен. Включение переключателя 3 выключит все двигатели, т. е. двигатель 1, двигатель 2 и двигатель 3 будут выключены. Двигатель 3 выключится, когда переключатель 2 будет включен. Когда переключатель 1 включен, все двигатели включатся, поскольку ток также будет проходить через переключатель 2 и переключатель 3, поскольку это нормально замкнутые контакты. Если не выключить переключатель 1, двигатель 1 и двигатель 2 останутся включенными, но двигатель 3 выключится, когда переключатель 2 будет включен. При включении переключателя 2 он не будет передавать ток на двигатель 3. Все двигатели выключатся при включении переключателя 3, даже если другие переключатели включены. Когда переключатель 1 включен
      Ток протекает через переключатель 1, когда он находится в истинном состоянии. В ложном состоянии переключатель 3 и переключатель 4 также пропускают ток на выходы.

      Когда переключатель 2 включен
      Ток не протекает через переключатель 2, когда он включен. В истинном состоянии нормально закрытый контакт разрывает цепь.

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


    • Разработайте примеры программирования ПЛК для промышленной автоматизации в соответствии с логикой, приведенной ниже:
      Пила, вентилятор и масляный насос включаются при нажатии кнопки пуска. Если пила проработала менее 20 с, масляный насос должен выключиться при выключении пилы, а вентилятор должен поработать еще 5 с после выключения пилы. Если пила проработала более 20 с, вентилятор должен оставаться включенным до тех пор, пока не будет выполнен сброс отдельной кнопкой сброса вентилятора, а масляный насос должен оставаться включенным еще в течение 10 с после выключения пилы. Напишите программу ПЛК, которая будет реализовывать этот процесс. Примеры программирования ПЛК

      Описание программы:
      Ранг 0000:
      Пуск/аварийный останов PB фиксируется с помощью памяти B3:0/0.
      Ранг 0001:
      B3:0/0 включен для включения пилы (O: 0/0), вентилятора (O: 0/1) и масляного насоса (O:0/2).
      Нормально закрытый контакт выключателя «Стоп» включен последовательно. Выход пилы отключается.
      Переключатель сброса вентилятора и таймер T4:0 подключены для отключения вентилятора при выполнении условий.
      Таймер Т4:2 отработал немного и бит памяти предназначен для отключения масляного насоса.
      Ранг 0002:
      При нажатии кнопки «Стоп» в соответствии с логикой, упомянутой в пункте 2, выход вентилятора (O: 0/2) должен отключиться через 5 с.
      Блок компаратора ограничивает запуск таймера T4:0 после 20 с работы пилы.
      Ранг 0003:
      Таймер Т4:1 срабатывает при нажатии кнопки «Пуск». Когда кнопка остановки нажата в любой момент после 20 с, выход пилы отключится.
      Через 10 секунд масляный насос отключится. Эту операцию выполняет Таймер Т4:2. Бит выполнения таймера T4:0 используется для ограничения работы таймера T4:1, когда T4:0 включен.
      Ранг 0004:
      Меньше блока компаратора используется для выполнения логики, упомянутой в пункте 2, для отключения вентилятора, когда работа выходного сигнала пилы составляет менее 20 с.
      Выход программы:
      Теперь мы видим симуляцию вышеуказанной лестничной логики для различных условий, как указано ниже.
      При нажатии кнопки Старт ПБ

      Когда переключатель «Стоп» нажат до 20 с.

      Когда переключатель «Стоп» нажат после 20 с.

      При нажатии переключателя сброса вентилятора

      Заключение:
      Мы можем использовать этот пример, чтобы понять логику программирования в ПЛК Allen Bradley.

    • Это программа ПЛК для контроля въезда/выезда из подвала или подземной парковки.
      ПЛК Автостоянка
      описание проблемы
      Из-за переполненности мест мы сталкиваемся с множеством проблем с парковкой транспортных средств в подвалах или подземных помещениях торговых центров, гостиниц, комплексов и т. д. Это происходит из-за противоречия между быстро растущим количеством транспортных средств и ограниченным количеством парковочных мест в торговых центрах, магазинах и комплексах в городах. Результатом является явление «трудной парковки и беспорядочной парковки». Существующая проблема парковки оказывает серьезное влияние на качество жизни людей и состояние дорог.
      Диаграмма проблемы

      Решение проблемы
      С помощью простой автоматизации мы можем уменьшить проблему парковки автомобилей в подвале или под землей в торговых центрах, гостиницах, комплексах и т. д. Вход/выход в подвале представляет собой однополосный проход, и для управления автомобилями необходимы светофоры. Здесь мы рассматриваем две световые индикации для контроль автомобилей. Красный свет запрещает въезд и выезд автомобилей, а зеленый свет разрешает въезд и выезд автомобилей. Когда автомобиль въезжает в проход со стороны входа на первый этаж, оба красных света (первый этаж и подвал) будут включены. Въезд и выезд других автомобилей запрещен. во время процесса, пока автомобиль не пройдет через единственный проход. Когда проход свободен, оба зеленого света (первый этаж и подвал) будут включены и позволят другим автомобилям въехать с первого этажа или подвала.
      Первоначально мы будем держать зеленый свет включенным, а красный свет выключенным.
      Список входов и выходов
      Список входов
      Главный ПЕРЕКЛЮЧАТЕЛЬ: I0.0 Датчик S1 для входа/выхода первого этажа: I0.1 Датчик S2 для входа/выхода в подвал: I0.2 Список выходов
      Зеленый свет (вход/выход на первом этаже): Q0.0 Зеленый свет (вход/выход из подвала): Q0.1 Красный свет (вход/выход на первом этаже): Q0.2 Красный свет (вход/выход из подвала): Q0.3 Список катушек памяти M
      M10.0: Горит, когда автомобиль проезжает мимо датчика S1. M10.3: Горит, когда автомобиль проезжает мимо датчика S2. M0.0: Положительный фронт системы ВКЛ. M0.1 и M11.0: Положительный фронт датчика S1. M0.3 и M11.1: Положительный фронт датчика S2. M11.2 : Отрицательный фронт датчика S2. M11.3 : Отрицательный фронт датчика S1. Лестничная схема ПЛК для контроля въезда/выезда с автостоянки








      Описание программы
      В этом приложении для программирования мы использовали ПЛК Siemens S7-300 и программное обеспечение TIA Portal.
      Сеть 1:
      В соответствии с приведенным выше объяснением в первой сети, когда система включена (I0.0), первоначально оба зеленых индикатора (первый этаж (Q0.0) и подвал (Q0.1)) будут включены. Команда SET выполняется и устанавливает оба выхода Q0.0 и Q0.1.
      Сеть 2:
      Согласно приведенному выше объяснению во второй сети, когда система включена (I0.0), первоначально оба красных фонаря (первый этаж (Q0.2) и подвал (Q0.3)) будут выключены.) Команда RESET выполняется и она сбрасывается. оба выхода Q0.2 и Q0.3.
      Сеть 3:
      Когда автомобиль въезжает в пустой проход с первого этажа, срабатывает датчик S1 (I0.1) и с помощью этого триггера устанавливается катушка памяти M10.0.
      Сеть 4:
      Когда автомобиль въезжает в пустой проход из подвала, срабатывает датчик S2 (I0.2) и с помощью этого триггера устанавливается катушка памяти M10.3.
      Сеть 5:
      Оба красных фонаря загораются либо положительным срабатыванием датчика S1, либо датчика S2. Поскольку, когда автомобиль въезжает в пустой проезд, оба красных света (Q0.2 и Q0.3) запрещают въезд/выезд автомобиля с обеих сторон.
      Сеть 6:
      Здесь мы взяли отрицательный триггер обоих датчиков S1 (I0.1) и S2 (I0.2). поэтому, когда они сработают, красные огни (Q0.2 и Q0.3) будут выключены. Когда автомобиль полностью проедет пустой проезд, красные огни (Q0.2 и Q0.3) должны быть выключены.
      Сеть 7:
      В этой сети зеленые огни (Q0.0 и Q0.1) будут гореть, когда красные огни выключены. Зеленые огни (Q0.0 и Q0.1) разрешают въезд или выезд другого автомобиля.
      Сеть 8:
      Если красные индикаторы (Q0.2 и Q0.3) горят в это время, зеленые индикаторы (Q0.0 и Q0.1) должны быть выключены. Таким образом, в этой сети, когда красные индикаторы (Q0.2 и Q0.3) включаются в будет выполнена команда сброса времени, и зеленые индикаторы (Q0.0 и Q0.1) погаснут.
      Сеть 9:
      Если ПЕРЕКЛЮЧАТЕЛЬ ВКЛ (I0.0) системы ВЫКЛЮЧЕН, тогда все ячейки памяти должны быть равны 0. Здесь мы взяли команду MOVE для перемещения нуля во всех ячейках (MB0, QB0 и MB10).
      Этот пример предназначен только для объяснения концепции, в этом примере учитываются не все параметры (например, система открытия/закрытия дверей, сигналы тревоги и т. д.).
      Результат

      Примечание. Приведенная выше логика ПЛК дает базовое представление о применении ПЛК для управления парковкой въездных/выездных ворот. Логика является ограниченным и неполным приложением.

    • Это программа ПЛК для реализации программы подсчета объектов на движущемся конвейере.
      Подсчет движущихся объектов на конвейере
      Предметы движутся по конвейеру. Нам нужно подсчитать общее количество предметов, собранных в конце конвейера, и отобразить его на локальной панели управления.
      Напишите программу ПЛК для этого приложения.
      Диаграмма проблемы

      Решение проблемы
      Здесь мы используем лестничную программу ПЛК для реализации этой логики.
      Чаще всего для обнаружения объектов используются датчики приближения. Здесь мы устанавливаем датчик приближения для обнаружения частей или объектов, движущихся по конвейеру.
      Индуктивный датчик в основном используется для обнаружения металлических предметов. Для других типов объектов мы используем емкостный датчик приближения для обнаружения объектов, движущихся по конвейеру. Мы подключаем этот датчик к ПЛК и, используя логику счетчика, подсчитываем количество объектов и отображаем общее количество на дисплее локальной панели управления.
      Здесь мы используем счетчик UP для подсчета собранных объектов в конце конвейера.
      Примечание: – Здесь мы рассмотрели простое приложение для подсчета объектов. Мы рассмотрели датчик приближения для обнаружения объектов. Датчик приближения обнаружит объект, а счетчик PLC UP подсчитает собранные объекты.
      Список входов и выходов
      Цифровые входы
      Начало:- I0.0 Стоп:- I0.1 Близость:- I0.2 (обнаружение объектов) Сброс счетчика PB:- I0.3 Цифровой выход
      Цикл ВКЛ:- Q0.0 М-память
      Сброс счетчика: - M0.1 Всего собрано объектов: - MW10 ПЛК Лестничная логика для подсчета объектов на конвейере

      Объяснение лестничной логики
      Для этого приложения мы используем ПЛК S7-300 и портальное программное обеспечение TIA для программирования. Мы также можем реализовать эту логику, используя другой ПЛК.
      Сеть 1:
      В первой сети мы использовали схему блокировки для включения цикла. Здесь мы использовали START PB (I0.0) для запуска цикла и STOP PB (I0.1) для остановки цикла.
      Сеть 2:
      Команда счетчика ПЛК используется для подсчета количества объектов. Датчики приближения устанавливаются рядом с конвейером.
      Когда объект приближается к датчику приближения (I0.2), он обнаруживает объект, и выход датчика включается или переходит в состояние ВКЛ.
      Когда рядом с датчиком приближения нет объекта, выход датчика обесточивается или переходит в состояние ВЫКЛ.
      Счетчик ПЛК считает инкрементно. Общее количество подсчитанных объектов будет сохранено в слове памяти или регистре (MW10).
      Примечание. Вышеуказанное приложение может отличаться от фактического. Этот пример предназначен только для пояснения. Мы можем реализовать эту логику и в других ПЛК. Это простая концепция счетчика UP. Используя эту концепцию, мы можем подсчитывать объекты, движущиеся по конвейеру или в любом другом приложении для подсчета. Эта логика является лишь частью или предназначена только для логики конкретного приложения.
      Все параметры, рассмотренные в примере, предназначены только для пояснения, в реальных приложениях параметры могут отличаться.
      Результат


    • Расширенное программирование ПЛК для сортировки дефектных деталей, позволяющее различать хорошие и плохие детали, а затем транспортировать их по конвейерам.
      Расширенное программирование ПЛК для сортировки дефектных деталей
      Приведенное ниже моделирование показывает идентификацию хороших и плохих продуктов и сортировку продуктов по их качеству с использованием релейной логики ПЛК.
      Конвейеры используются для перемещения продукции. Конвейеры запускаются и останавливаются при доставке продукции на конвейер и во время бурения.
      Сверлильный станок используется для сверления изделий согласно проекту. Иногда операция сверления может повредить продукцию.
      Датчик определяет качество продуктов, и толкатель перемещает некачественные продукты в другой складской отсек.

      Входы и выходы ПЛК
      В таблице ниже перечислены необходимые входы и выходы системы ПЛК.
      Тип                          № устройства    Имя устройства                     Действие
      Вход                        X0 Св                   ерление                                     включено во время сверления.
      Вход                        X1                         Деталь под сверлом             Одна деталь подается, когда Y0 включен: Большой                                                                                                                        металлический куб.
      Вход                        X2                         «Просверлено правильно»  ВКЛ, когда деталь просверлена правильно.                                                                                                                                      Предыдущий результат очищается при начале сверления.
      Вход                        X3                         Просверлено неправильно  ВКЛ, когда деталь обнаружена на левом конце.
      Датчик входа       X4                         включается,                              когда деталь обнаружена на правом конце.
      Датчик входа       X5                         ВКЛ, когда                                 деталь обнаружена перед толкателем.
      Входной датчик   X10                       включается,                              когда деталь просверлена неправильно.                                                                                                                                           Предыдущий результат очищается при начале сверления.
      Выход                     Y0                         Команда подачи                      Конвейер движется вперед, когда Y1 включен.
      Выход                     Y1                         Конвейер вперед                     Конвейер движется вперед, когда Y3 включен.
      Выход                     Y2                         Начать сверление                   Начинает сверление, когда Y2 включен                                                                                                                                              (технологический цикл, который нельзя остановить на полпути).
      Выход                     Y3                         Конвейер вперед                   Выдвигается, когда Y5 включен, и втягивается,                                                                                                                               когда Y5 выключен. Толкатель не может быть остановлен в середине хода.
      Выходной толкатель Y5                  Выдвигается,                          когда Y5 включен, и втягивается, когда Y5                                                                                                                                       выключен. Толкатель не может быть остановлен в середине хода.
      Описание программы
      Целью этого проекта является различение хороших и дефектных деталей с помощью датчиков и их соответствующая сортировка. Проект состоит из двух ключевых направлений: общий контроль и контроль бурения.
      Общий контроль
      На панели управления имеется кнопка PB1 (X20). Когда вы нажимаете PB1, активируется команда подачи (Y0) для бункера, заставляя его подавать детали. При отпускании PB1 команда подачи деактивируется и бункер останавливается.
      На панели управления имеется переключатель SW1 (X24). Когда вы включаете SW1, конвейеры начинают двигаться вперед. Выключение SW1 останавливает конвейеры.
      Управление сверлом
      Теперь обсудим управление дрелью:
      Когда деталь под датчиком сеялки (X1) внутри сеялки активируется, конвейер останавливается.
      Процесс сверления начинается при подаче команды «Начать сверление» (Y2). Он останавливается, когда активируется датчик сверления (X0).
      После одного полного цикла работы сверла, если активирована функция «Начать сверление» (Y2), срабатывает датчик «Просверлено правильно» (X2) или «Просверлено неправильно» (X3).
      Обратите внимание, что дрель нельзя остановить во время работы. В этом моделировании ПЛК каждая третья деталь считается дефектной (деталь с несколькими отверстиями также попадает в категорию дефектных).
      Когда датчик обнаружения детали (X10) в толкателе обнаруживает дефектную деталь, конвейер останавливается, и толкатель перемещает деталь на «дефектный» лоток.
      Помните, что при подаче команды на толкатель он полностью выдвигается. Когда команда ВЫКЛ, толкатель полностью втягивается.
      Деталь, прошедшая проверку, продолжает движение по конвейеру к лотку «ОК», расположенному в правом конце.
      Программирование ПЛК


    • Основное различие между РСУ и ПЛК — это бизнес-модель, которую мы обсуждали при сравнении архитектуры РСУ и ПЛК.
      РСУ и архитектура ПЛК
      Можно сказать, что бизнес-модель DCS основана на монолитной интегрированной системе, созданной одним производителем.
      Архитектура РСУ
      В РСУ контроллер, подсистема ввода-вывода, программное обеспечение сервера базы данных, инженерное программное обеспечение и программное обеспечение оператора представляют собой единый монолитный блок, разработанный вместе и работающий только друг с другом.
      Использование компонентов сторонних производителей невозможно. Ни один из этих компонентов невозможно использовать в какой-либо другой системе.
      РСУ использует сеть подсистемы ввода-вывода и сеть управления на основе стандартного Ethernet, но с собственным прикладным протоколом и, как правило, только с определенной утвержденной моделью коммутаторов Ethernet.

      Рисунок 1. В РСУ все компоненты поставляются одним и тем же производителем.
      Разрешена только определенная версия Windows и только один тип одобренного компьютера, поставляемого производителем DCS.
      Эти ограничения позволяют производителю РСУ очень тщательно тестировать все вместе, в очень больших масштабах, с большой нагрузкой, с множеством контроллеров и рабочих станций.
      Такие приложения, как пакетное управление, расширенное управление, автонастройка и т. д., также тестируются вместе. Это гарантирует отсутствие конфликтов совместимости и непредвиденных зависимостей.
      Тщательное крупномасштабное тестирование возможно, поскольку по существу существует только один тип каждого компонента, то есть только одна или очень мало комбинаций.
      Стороннее программное обеспечение допускается только на отдельных «станциях приложений», где оно не может конфликтовать с собственными приложениями DCS и должно быть протестировано и одобрено производителем DCS; внесен в белый список.
      РСУ представляет собой монолитную систему, в которой используются подсистема ввода-вывода, контроллер и программное обеспечение одной марки, а также единый компьютер и платформа операционной системы. Это было тщательно протестировано в очень больших масштабах.
      Долгосрочная поддержка DCS
      Системы обычно остаются работоспособными в течение 15 лет и более. В течение этого времени будет выпущено несколько версий Windows, пакеты обновлений, исправления, множество обновлений описаний вирусов, а также потребуется заменить компьютерное оборудование.
      Обычно DCS поддерживает только один тип антивирусного программного обеспечения, и всякий раз, когда появляется новое определение вируса или пакет обновления или исправление операционной системы Windows, весь монолитный набор всего аппаратного и программного обеспечения снова тестируется системой. поставщика перед выпуском, гарантируя, что определение вируса и пакет обновления могут быть развернуты без каких-либо конфликтов совместимости.
      Обновление РСУ
      Версии РСУ также обновляются как единый монолитный блок всего аппаратного и программного обеспечения, такого как встроенное ПО карты ввода-вывода, встроенное ПО контроллера, серверное программное обеспечение, программное обеспечение инженерной станции, программное обеспечение операторской станции, а также любое другое программное обеспечение, которое обновляется вместе.
      Каждый раз, когда появляется новая версия системы, все эти компоненты предварительно тщательно тестируются в большом масштабе производителем системы, чтобы гарантировать их совместимость друг с другом.
      Более того, процесс онлайн-переключения с более ранней версии на новую был тщательно протестирован в больших масштабах, что обеспечивает плавное развертывание на объекте.
      Именно эта уверенность, обеспечиваемая тщательными и крупномасштабными испытаниями, делает DCS очень популярной на крупных объектах, таких как нефтехимические комплексы. Такое тестирование становится практичным благодаря небольшому количеству комбинаций в монолитной системе.
      Архитектура ПЛК/Бизнес-модель
      Можно сказать, что бизнес-модель ПЛК основана на гибкой архитектуре системного интегратора (SI).
      Архитектура ПЛК
      Архитектура ПЛК очень гибкая: каждый компонент можно свободно выбирать от любого из множества поставщиков. ПЛК — это ЦП с программным обеспечением для настройки и подсистемой ввода-вывода.
      Иногда подсистема ввода-вывода может быть сторонней. Даже карты ввода-вывода, подключаемые к объединительной плате, могут быть изготовлены сторонними производителями.
      Программное обеспечение HMI обычно производится сторонними производителями. Обычно лучше всего использовать собственный OPC-сервер от производителя ПЛК, но иногда используются OPC-серверы сторонних производителей.

      Рисунок 2. В ПЛК интегрированы компоненты разных производителей.
      По сути, любой ПЛК работает с любой подсистемой ввода-вывода, сервером OPC и программным обеспечением HMI, поскольку используются стандартные протоколы, такие как PROFIBUS-DP, PROFINET, Modbus/RTU, Modbus/TCP, DeviceNet и EtherNet/IP, а также OPC и т. д. .
      Сетевое оборудование, компьютеры и версию Windows можно выбирать свободно. Некоторые компоненты, признанные неработающими, занесены в черный список.

      Рисунок 3. DCS использует одного поставщика, тогда как решения PLC объединяют нескольких поставщиков, что приводит к большому количеству комбинаций.
      Примечание. В настоящее время также доступен единый поставщик пакетов ПЛК.
      Такая гибкость позволяет использовать сотни комбинаций аппаратного и программного обеспечения, что делает невозможным для этих производителей собраться вместе для тестирования всех возможных комбинаций своего аппаратного и программного обеспечения на каждой версии Windows, прежде чем завод примет решение о покупке.
      Некоторые комбинации могут быть протестированы участвующими производителями, но они могут быть или не быть в больших масштабах с большой нагрузкой.
      ПЛК допускает любую комбинацию подсистемы ввода-вывода, ЦП и программного обеспечения HMI/SCADA на широком спектре компьютеров и платформ операционных систем. Любая комбинация не может быть проверена.
      Производитель ПЛК может поставлять все аппаратные и программные компоненты от того же производителя, поскольку многие производители ПЛК приобрели компании HMI. Если да, то эта конкретная комбинация, возможно, была протестирована более тщательно, чем другие протестированные комбинации.
      Вспомогательные сторонние приложения, такие как управление партиями, расширенное управление, автонастройка и т. д., как правило, не тестируются вместе, поскольку это приводит к еще большему количеству комбинаций.
      ПЛК использует собственное программное обеспечение для настройки, как и DCS. То есть вы не можете использовать стороннее программное обеспечение для настройки вашего ПЛК, как и РСУ.
      Собственный OPC-сервер для ПЛК лучше, чем сторонний OPC-сервер, поскольку программное обеспечение для настройки ПЛК обычно автоматически настраивает адресное пространство для OPC-сервера.
      Долгосрочная поддержка ПЛК
      В течение 15 или более лет типичной работы системы будет существовать несколько версий Windows, пакетов обновлений, оперативных исправлений, множества обновлений описаний вирусов, а также потребуется заменить компьютерное оборудование.
      Обычно ПЛК не имеет ограничений на антивирусное программное обеспечение или версию операционной системы Windows, поэтому количество комбинаций описаний вирусов, пакетов обновлений и оперативных исправлений становится слишком большим и непрактичным для этих производителей, чтобы собраться вместе и протестировать каждую возможную новую комбинацию перед развертывание на предприятиях, чтобы гарантировать отсутствие конфликтов совместимости при развертывании на большом количестве комбинаций аппаратного и программного обеспечения.
      Производитель ПЛК может ограничиться одним антивирусным программным обеспечением и версией Windows. Если да, то эта конкретная комбинация, возможно, была протестирована более тщательно, чем другие тестируемые ими комбинации.
      Обновление ПЛК
      Для ПЛК аппаратные и программные компоненты обновляются индивидуально. То есть встроенное ПО подсистемы ввода-вывода, встроенное ПО ЦП и программное обеспечение для настройки, OPC-сервер, программное обеспечение HMI, а также любое другое программное обеспечение обновляются независимо друг от друга.
      С учетом разных вариантов каждого варианта комплектующих количество комбинаций становится на порядки больше.
      Такая гибкость делает непрактичным для этих производителей собираться вместе для тестирования всех возможных комбинаций новых версий перед их внедрением на заводах.
      Тестирование горячего переключения одной комбинации версий на другую становится практически невозможным.
      Производитель ПЛК может поставлять все аппаратные и программные компоненты, ограничиться одним антивирусным программным обеспечением и версией Windows, которые тестируются перед развертыванием, а также ограничиться одним контроллером сервера базы данных подсистемы ввода-вывода/операторской станцией ПЛК/ЧМИ, РСУ, системой ПЛК. широкие обновления версий и тестирование горячего переключения перед развертыванием.
      Таким образом, от гибкости ПЛК можно будет отказаться в пользу надежности РСУ.

    • Программирование лестничных диаграмм (LD)
      Наиболее распространенным языком, используемым для программирования ПЛК, является релейная диаграмма (LD), также известная как релейная логика (RLL).
      Это графический язык, показывающий логические связи между входами и выходами, как если бы они были контактами и катушками в проводной схеме электромеханического реле.
      Этот язык был изобретен специально для того, чтобы сделать программирование ПЛК «естественным» для электриков, знакомых с релейной логикой и схемами управления. Хотя программирование лестничных диаграмм имеет множество недостатков, оно остается чрезвычайно популярным в автоматизации промышленности.
      Каждая программа лестничных диаграмм устроена так, чтобы напоминать электрическую схему, что делает ее графическим (а не текстовым) языком программирования.
      Лестничные диаграммы следует рассматривать как виртуальные цепи, в которых виртуальная «энергия» течет через виртуальные «контакты» (когда они закрыты) для подачи питания на виртуальные «обмотки реле» для выполнения логических функций.
      Ни один из контактов или катушек, видимых в программе ПЛК лестничной схемы, не является реальным; скорее, они действуют на биты в памяти ПЛК, логические взаимосвязи между этими битами выражаются в форме диаграммы, напоминающей схему. редактируется на персональном компьютере:
      Программирование лестничных диаграмм
      На следующем снимке экрана компьютера показана типичная программа лестничной диаграммы.

      Контакты выглядят так же, как на логической схеме электрического реле – как короткие вертикальные сегменты линий, разделенные горизонтальным пространством.
      Нормально разомкнутые контакты пусты в пространстве между сегментами линий, а нормально закрытые контакты имеют диагональную линию, пересекающую это пространство.
      Катушки несколько отличаются друг от друга и выглядят как кружки или пары круглых скобок. Другие инструкции отображаются в виде прямоугольных прямоугольников.
      Каждая горизонтальная линия называется ступенькой, точно так же, как каждая горизонтальная ступенька стремянки называется «ступенью».
      Общей особенностью редакторов программ лестничных диаграмм, как видно на этом снимке экрана, является возможность выделения цветом тех виртуальных «компонентов» в виртуальной «схеме», готовых «проводить» виртуальную «энергию».
      В этом конкретном редакторе цвет, используемый для обозначения «проводимости», светло-синий.
      Другая форма индикации состояния, наблюдаемая в этой программе ПЛК, — это значения определенных переменных в памяти ПЛК, показанные красным текстом.
      Например, вы можете видеть, что катушка Т2 находится под напряжением в правом верхнем углу экрана (закрашена голубым цветом), а катушка Т3 — нет.
      Соответственно, каждый нормально разомкнутый контакт Т2 отображается цветным, что указывает на его «закрытое» состояние, тогда как каждый нормально закрытый контакт Т2 не имеет цвета.
      Напротив, каждый нормально разомкнутый контакт T3 не имеет цвета (поскольку катушка T3 обесточена), в то время как каждый нормально закрытый контакт T3 показан цветным, чтобы указать его проводящий статус.
      Аналогично, текущие значения счетчика таймеров T2 и T3 отображаются как 193 и 0 соответственно. Выходное значение поля математических инструкций равно 2400 и также показано красным текстом.
      Цветовое выделение компонентов лестничной диаграммы работает, конечно, только тогда, когда компьютер, на котором работает программное обеспечение для редактирования программы, подключен к ПЛК и ПЛК находится в режиме «запуска» (и функция «показать статус» программного обеспечения для редактирования включена). ).
      В противном случае лестничная диаграмма представляет собой не что иное, как черные символы на белом фоне.
      Подсветка состояния не только очень полезна при отладке программ ПЛК, но также служит неоценимой диагностической цели, когда технический специалист анализирует программу ПЛК, чтобы проверить состояние реальных устройств ввода и вывода, подключенных к ПЛК.
      Это особенно актуально, когда статус программы просматривается удаленно через компьютерную сеть, что позволяет обслуживающему персоналу исследовать системные проблемы, даже не находясь рядом с ПЛК!

    • Программируемые логические контроллеры предназначены для ввода различных типов сигналов (дискретных, аналоговых), выполнения алгоритмов управления на этих сигналах, а затем вывода сигналов в ответ на процессы управления. Сам по себе ПЛК обычно не имеет возможности отображать значения сигналов и переменные алгоритма операторам-человекам.
      Техник или инженер, имеющий доступ к персональному компьютеру и необходимому программному обеспечению для редактирования программы ПЛК, может подключиться к ПЛК и просматривать состояние программы «онлайн» для мониторинга значений сигналов и состояний переменных, но это непрактичный способ для эксплуатационного персонала. для регулярного мониторинга того, что делает ПЛК.
      Чтобы операторы могли отслеживать и корректировать параметры внутри памяти ПЛК, нам нужен другой тип интерфейса, позволяющий читать и записывать определенные переменные без ущерба для целостности ПЛК, предоставляя слишком много информации или позволяя любому неквалифицированному лицу изменять программу. сам.
      Одним из решений этой проблемы является специальный компьютерный дисплей, запрограммированный для обеспечения избирательного доступа к определенным переменным в памяти ПЛК, обычно называемый человеко-машинным интерфейсом или HMI.
      HMI могут принимать форму компьютеров общего назначения («персональных»), на которых установлено специальное графическое программное обеспечение для взаимодействия с ПЛК, или компьютеров специального назначения, предназначенных для установки на лицевой панели из листового металла и не выполняющих никаких задач, кроме интерфейса оператора-ПЛК. .
      На этой первой фотографии показан пример обычного персонального компьютера (ПК) с установленным на нем программным обеспечением HMI:

      Показанный здесь дисплей предназначен для мониторинга примера процесса вакуумной кач-адсорбции (VSA) для очистки кислорода, извлеченного из окружающего воздуха. Где-то ПЛК (или совокупность ПЛК) контролирует и контролирует этот процесс VSA, а программное обеспечение HMI действует как «окно» в память ПЛК для отображения соответствующих переменных в форме, удобной для интерпретации операционным персоналом. Персональный компьютер, на котором установлено это программное обеспечение HMI, подключается к ПЛК через цифровые сетевые кабели, например Ethernet.
      Примечание. Раньше для панели интерфейса оператора использовался термин «человеко-машинный интерфейс» или «MMI».
      На следующей фотографии показан пример специальной панели HMI, разработанной и изготовленной специально для использования в промышленных условиях:

      Эти панели HMI на самом деле представляют собой не что иное, как «защищенные» персональные компьютеры, построенные прочно и в компактном формате, чтобы облегчить их использование в промышленных средах.
      Большинство промышленных панелей HMI оснащены сенсорными экранами, позволяющими операторам нажимать кончиками пальцев на отображаемые объекты для переключения экранов, просмотра деталей отдельных частей процесса и т. д.

      Техники и/или инженеры программируют дисплеи HMI для чтения и записи данных через цифровую сеть в один или несколько ПЛК.
      Графические объекты, расположенные на экране дисплея HMI, часто имитируют реальные индикаторы и переключатели, чтобы обеспечить знакомый интерфейс для оперативного персонала.
      Например, объект «кнопка» на лицевой панели панели HMI будет настроен на запись одного бита данных в ПЛК, аналогично реальному переключателю, записывающему один бит данных во входной регистр ПЛК.
      Современные панели и программное обеспечение HMI почти исключительно основаны на тегах: каждый графический объект на экране связан как минимум с одним именем тега данных, которое, в свою очередь, связано с точками данных (битами или словами) в ПЛК посредством тега. файл базы данных имен, находящийся в HMI.
      Графические объекты на экране HMI либо принимают (читают) данные из ПЛК для предоставления полезной информации оператору, либо отправляют (записывают) данные в ПЛК из ввода оператора, либо и то, и другое.
      Задача программирования устройства HMI состоит из создания базы данных имен тегов, а затем рисования экранов, иллюстрирующих процесс с таким уровнем детализации, который потребуется операторам для его запуска.
      Здесь показан пример снимка экрана таблицы базы данных имен тегов для современного HMI:

      Доступ к базе данных имен тегов и ее редактирование осуществляется с помощью того же программного обеспечения для создания графических изображений в HMI.
      В этом примере вы можете увидеть несколько имен тегов (например, КНОПКА ПУСКА, ТАЙМЕР РАБОТЫ ДВИГАТЕЛЯ, СООБЩЕНИЕ ОБ ОШИБКЕ, СКОРОСТЬ ДВИГАТЕЛЯ), связанных с точками данных в памяти ПЛК (в этом примере адреса ПЛК показаны в формате регистра Modbus).
      Во многих случаях редактор имен тегов сможет отображать соответствующие точки памяти ПЛК таким же образом, как они отображаются в программном обеспечении редактора программирования ПЛК (например, I:5/10, SM0.4, C11 и т. д.).
      Важная деталь, которую следует отметить при отображении базы данных имен тегов, — это атрибуты чтения/записи каждого тега.
      Обратите особое внимание на то, что четыре из показанных тегов доступны только для чтения: это означает, что HMI имеет разрешение только на чтение значений этих четырех тегов из памяти ПЛК, но не на запись (изменение) этих значений.
      Причина этого в случае с этими четырьмя тегами заключается в том, что эти теги относятся к точкам входных данных ПЛК. Например, тег START PUSHBUTTON относится к дискретному входу в ПЛК, на который подается питание от реального кнопочного переключателя.
      Таким образом, эта точка данных получает свое состояние от подачи питания на клемму дискретного входа. Если бы HMI было предоставлено разрешение на запись для этой точки данных, скорее всего, возник бы конфликт.
      Предположим, что на входную клемму ПЛК было подано напряжение (бит START PUSHBUTTON установлен в состояние «1»), и HMI одновременно попытался записать состояние «0» в тот же тег.
      Один из этих двух источников данных выиграет, а другой проиграет, что может привести к неожиданному поведению программы ПЛК.
      По этой причине точки данных в ПЛК, связанные с реальными входами, всегда должны быть ограничены разрешением «только для чтения» в базе данных HMI, чтобы HMI не мог создать конфликт.
      Однако вероятность конфликта данных существует и для некоторых других точек базы данных.
      Хорошим примером этого является бит MOTOR RUN, который в программе ПЛК сообщает реальному двигателю о необходимости работы.
      Предположительно, этот бит получает данные из катушки в программе лестничных диаграмм ПЛК. Однако, поскольку он также присутствует в базе данных HMI с разрешением на чтение/запись, существует вероятность того, что HMI перезапишет (т. е. приведет к конфликту) этот же бит в памяти ПЛК.
      Предположим, кто-то запрограммировал переключаемый экранный объект «кнопка» в HMI, связанный с этим тегом: нажатие этой виртуальной «кнопки» на экране HMI попытается установить бит (1), а повторное нажатие попытается сбросить бит (0 ).
      Однако, если в этот же бит записывается катушка в программе ПЛК, существует явная вероятность того, что объект «кнопка» ЧМИ и катушка ПЛК будут конфликтовать: кто-то пытается сообщить биту значение «0», в то время как другой пытается сообщить этому биту значение «1».
      This situation is quite similar to the problem experienced when multiple coils in a Ladder Diagram program are addressed to the same bit.
      The general rule to follow here is never allow more than one element to write to any data point. In my experience teaching PLC and HMI programming, this is one of the more common errors students make when first learning to program HMIs: they will try to have both the HMI and the PLC writing to the same memory locations, with weird results.
      One of the lessons you will learn when programming large, complex systems is that it is very beneficial to define all the necessary tag names before beginning to lay out graphics in an HMI.
      The same goes for PLC programming: it makes the whole project go faster with less confusion if you take the time to define all the necessary I/O points (and tag names, if the PLC programming software supports tag names in the programming environment) before you begin to create any code specifying how those inputs and outputs will relate to each other.
      Maintaining a consistent convention for tag names is important, too. For example, you may wish to begin the tag name of every hard-wired I/O point as either INPUT or OUTPUT (e.g. INPUT PRESSURE SWITCH HIGH, OUTPUT SHAKER MOTOR RUN, etc.).
      The reason for maintaining a strict naming convention is not obvious at first, since the whole point of tag names is to give the programmer the freedom to assign arbitrary names to data points in the system.
      However, you will find that most tag name editors list the tags in alphabetical order, which means a naming convention organized in this way will present all the input tags contiguously (adjacent) in the list, all the output tags contiguously in the list, and so on.
      Another way to leverage the alphabetical listing of tag names to your advantage is to begin each tag name with a word describing its association to a major piece of equipment.
      Take for instance this example of a process with several data points defined in a PLC control system and displayed in an HMI:

      If we list all these tags in alphabetical order, the association is immediately obvious:
      Exchanger effluent pump Exchanger effluent temp out Exchanger preheat pump Exchanger preheat temp in Exchanger preheat valve Reactor bed temp Reactor feed flow Reactor feed temp Reactor jacket valve As you can see from this tag name list, all the tags directly associated with the heat exchanger are located in one contiguous group, and all the tags directly associated with the reactor are located in the next contiguous group.
      In this way, judicious naming of tags serves to group them in hierarchical fashion, making them easy for the programmer to locate at any future time in the tag name database.
      You will note that all the tag names shown here lack space characters between words (e.g. instead of “Reactor bed temp”, a tag name should use hyphens or underscore marks as spacing characters: “Reactor bed temp”), since spaces are generally assumed by computer programming languages to be delimiters (separators between different variable names).
      Like programmable logic controllers themselves, the capabilities of HMIs have been steadily increasing while their price decreases.
      Modern HMIs support graphic trending, data archival, advanced alarming, and even web server ability allowing other computers to easily access certain data over wide-area networks.
      The ability of HMIs to log data over long periods of time relieves the PLC of having to do this task, which is very memory-intensive.
      This way, the PLC merely “serves” current data to the HMI, and the HMI is able to keep a record of current and past data using its vastly larger memory reserves.
      If the HMI is based on a personal computer platform (e.g. Rockwell RSView, Wonderware, FIX/Intellution software), it may even be equipped with a hard disk drive for enormous amounts of historical data storage.
      Some modern HMI panels even have a PLC built inside the unit, providing control and monitoring in the same device.
      Such panels provide terminal strip connection points for discrete and even analog I/O, allowing all control and interface functions to be located in a single panel-mount unit.

    • Это полное руководство по релейной логике ПЛК для управления частотно-регулируемым приводом (ЧРП) для управления скоростью двигателя с выбором скорости с полевой локальной панели или с помощью графики SCADA.
      Этапы выполнения:
      Подготовьте чертеж управления и мощности. Ввод в эксплуатацию и программирование параметров в VFD Подготовьте программу ПЛК Подготовить проект SCADA Как управлять ЧРП с помощью ПЛК?

      Схема управления и питания

      Ввод в эксплуатацию и программирование параметров в VFD
      Ввод в эксплуатацию необходим для правильной работы ЧРП. Необходимые параметры, такие как данные паспортной таблички двигателя, входное напряжение, тип двигателя, частота, следует ввести в ЧРП во время быстрого ввода в эксплуатацию. После успешного быстрого ввода в эксплуатацию пришло время выполнить расширенный ввод в эксплуатацию. Этот ввод в эксплуатацию необходим для получения подробной информации обо всех цифровых и аналоговых входах и выходах, например  
      Информация о цифровых входах команды «Пуск» и команды «Выбор скорости». Информация о цифровых выходах, например, статус работы привода, отказ привода и т. д. Информация об аналоговых входах, таких как вход скорости 1 и вход скорости 2. Информация об аналоговых выходах, таких как ток и частота двигателя Программа ПЛК
      Сеть 1:

      В этой Сети 1 мы проверяем, готов ли ЧРП к запуску. Этот сигнал поступит, когда все условия в норме, а также активны обратные связи безопасности и питания.
      Сеть 2:

      В сети 2 при нажатии кнопки запуска будет установлен бит VFD Drive_DO, если там есть Ready_to_Start и No Error.
      Сеть 3:

      Это логика остановки. При нажатии кнопки остановки происходит сброс бита Drive_DO.
      Сеть 4:

      В этой сети 4 эта логика необходима для обеспечения безопасности, как только будет установлен бит Drive_DO, и если в каком-либо случае ЧРП не будет работать из-за какой-либо неисправности, то после заранее определенного времени ожидания, здесь мы рассматривали его как Run_FB_Time, он сбросит бит Drive_DO и генерировать ошибку.
      Эту ошибку вы можете подтвердить из SCADA после устранения ошибки на месте.
      Сеть 5:

      В этой сети 5, если ЧРП потребляет больший ток и выдает ошибку перегрузки, он сбрасывает бит Drive_DO и генерирует ошибку.
      Эту ошибку вы можете подтвердить из SCADA после устранения ошибки на месте.
      Сеть 6:

      Это цифровой выход выбора скорости. Если вы выбираете вход скорости как локальный, то он не активирует бит выбора скорости, в результате чего Speed_DO отсутствует, а если вы выбираете вход скорости как удаленный, то он активирует бит выбора скорости, в результате чего присутствует Speed_DO.
      СКАДА-проектирование
      Нормальное состояние

      Это нормальное состояние мотора. Ошибок нет, бит готовности также находится в нормальном состоянии.
      Также выбор скорости осуществляется в ЛОКАЛЬНОМ режиме.
      Текущее состояние

      Это состояние показывает, что бит готовности имеет высокий уровень и двигатель работает без каких-либо ошибок.
      Состояние ошибки

      Имеется высокий бит ошибки, и двигатель также показывает состояние ошибки.
      Примечание :
      В некоторых отраслях желтый цвет также используется для обозначения состояния ошибки. Красный цвет используется для обозначения состояния остановки двигателя.

    • Связь Modbus между ПЛК «дельта» (DVP 14SS2) и преобразователем частоты «треугольник» (серия VFD-L). Двигатель должен управляться непосредственно с ЧМИ (DOP-107CV) с использованием связи Modbus.
      Связь Modbus с ПЛК Delta и ЧРП
      Асинхронный двигатель должен управляться непосредственно с ЧМИ вместе с контролем скорости. Управление скоростью таково, что в HMI должно быть две кнопки, которые увеличивают и уменьшают скорость двигателя с шагом в один герц (предположим). Существует преобразователь переменного тока типа «треугольник» серии VFD-L, который запускает двигатель на основе команд, полученных от ПЛК. Во-первых, в приводе необходимо настроить параметры связи и другие параметры, соответствующие всем его конфигурациям с ПЛК, такие как скорость передачи данных, четность, режим связи и т. д.; за исключением идентификатора подчиненного устройства (адреса станции), который должен отличаться от адреса станции ПЛК. По умолчанию адрес станции ПЛК равен единице (1). Это означает, что адрес станции привода должен быть любым в определенном диапазоне, кроме единицы (1). Подробные параметры, которые необходимо установить для режима связи, следующие:
      2-00 = 4 2-01 = 4
      Параметры связи

      Нам необходимо установить параметры связи согласно приведенной выше таблице. (взято из мануала).
      9-00 = 2 (можно установить любое значение, кроме 1) 9-01 = 1 9-04 = 7 (режим RTU, стоповые биты равны 1 и четность — четность) DVP 14SS2 имеет два порта связи, а именно RS232 и RS485 отдельно. Теперь необходимо выполнить настройки порта связи 2 в соответствии с установленными параметрами VFD, которые заключаются в следующем.
      Откройте программу WPL. (Программное обеспечение ПЛК Delta) Нажмите на значок «Коммуникационная программа» на странице программирования.
      Выберите COM2 и нажмите «Далее».

      Установите параметры в соответствии с параметрами связи привода VFD и нажмите «Далее». Здесь они подаются согласно параметрам, заданным в погружении VFD-L.
      Адрес станции ПЛК равен 1 (см. левый нижний угол).

      Проверьте выделенное и нажмите «Далее».

      Вы можете поставить галочки ниже и написать условия.
      Здесь мы пропускаем это окно и вместо этого напишем логику непосредственно в режиме релейной диаграммы.
      Нажмите «Готово».

      Теперь в результате указанных выше условий генерируется следующая релейная логика.

      Лестничная схема в ступени 2 выполняется каждый раз при получении отправленного запроса. Лестничная схема в ступени 3 выполняется каждый раз после чтения или записи любых данных на диск. Теперь, прежде чем двигаться дальше, написать логику запуска и остановки двигателя и управления его скоростью, нам необходимо узнать Modbus-адреса привода, через который будет выполняться сказанное. Для серии VFD-L 2000H — это адрес Modbus для запуска и остановки привода, а 2001H — для изменения частоты. Здесь H означает шестнадцатеричное число. В этой теме мы здесь, чтобы использовать десятичный формат для конкретного адреса. Поэтому шестнадцатеричный формат необходимо изменить на десятичный.
      С помощью кода 8421 мы преобразуем следующим образом:
      2000 (шестнадцатеричный) = 8192 (декабрь) 2001(шестнадцатеричный) = 8193 (декабрь) Таким образом, вместо 200H и 2001H будут использоваться 8192K и 8193K. Убедитесь, что 8192 и 8193 — это только адреса Modbus.
      Если 8192K имеет значение, равное 10, двигатель запустится. Если 8192K имеет значение, равное 1, двигатель остановится. Если 8193K имеет значение, равное 5000, то двигатель будет работать на частоте 50 Гц. Это означает, что если скорость двигателя необходимо увеличить на 1 Гц, к существующему значению необходимо добавить 100 и наоборот.
      Объяснение программы ПЛК
      Теперь перейдем к деталям программы ПЛК.
      Бит запроса на отправку M1122 устанавливается каждый раз, когда VFD подается какая-либо команда в цепочке 5.

      MODRW K2 K6 K8192 D70 K1
      MODRW представляет собой чтение и запись модов. K2 представляет адрес станции VFD. K6/K3 представляет код функции для записи или чтения. Здесь k6 представляет собой запись. K8192 представляет адрес Modbus, на который записываются данные. Данные в D70 записываются в k8192 K1 — длина данных
      10 (десятичный) и 1 (десятичный) перемещаются в D70, когда в цепочках 6 и 7 подаются команды запуска и остановки. В то же время происходит передача данных, т.е. данные в D70 записываются по адресу 8192k VFD в ступенька 8 для запуска и остановки двигателя.
      100 (десять) добавляется к значению D100 в цепочке 10, чтобы увеличить скорость на 1 Гц при получении импульса увеличения скорости (M4). 100 (дес.) вычитается из значения D100 в цепочке 9, чтобы уменьшить скорость на 1 Гц при получении импульса уменьшения скорости (M5).
      В то же время происходит передача данных, т.е. данные в D100 записываются по адресу 8193k ЧРП в цепочке 11 для запуска и остановки двигателя.

      ЧМИ
      Теперь перейдем к настройке HMI.
      После выбора модели HMI установите приведенную ниже конфигурацию, поскольку здесь конфигурация ПЛК-HMI осуществляется по RS232. (Вам необходимо настроить его в соответствии с моделью HMI)

      Возьмите четыре кнопки мгновенного действия, назначьте адреса и спроектируйте экран HMI следующим образом:

      Начало = М0 Стоп = М1 Увеличение скорости = M4 Уменьшить скорость = M5 Проверьте процесс Проектирование HMI не рассматривается в этой статье.

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

      Решение проблемы
      Эту проблему можно решить, используя простую автоматизацию.
      Здесь мы рассмотрели один искусственный пруд с рыбой, четыре датчика уровня и три насоса для мониторинга и управления системой.
      Здесь мы напишем программу, которая будет управлять всей системой. Система будет поддерживать нормальный уровень и не позволит уровню воды повышаться или понижаться для поддержания нормального уровня.
      Если уровень воды упадет по сравнению с нормальным уровнем, система будет подавать воду в пруд для разведения рыбы, а если уровень воды повысится от нормального уровня, система будет сливать воду из пруда для разведения рыбы.
      Список входов/выходов
      Список входов
      Датчик уровня, L0: I0.0 (L0=1, когда уровень воды превышает уровень сигнализации). Датчик уровня, L1: I0.1 (L1=1, когда уровень воды выше нормального уровня) Датчик уровня, L2: I0.2 (L2=1, когда вода выше нормального уровня) Датчик уровня, L3: I0.3 (L3=1, когда уровень воды выше аварийного уровня) Список выходов
      Подающий насос:- Q0.0 Дренажный насос 1:- Q0.1 Дренажный насос 2:- Q0.2 Сигнальная лампа:- Q0.3 ПЛК Ladder Logic для мониторинга уровня воды в искусственном пруду с рыбой





      Логика объяснена
      В этой задаче мы рассмотрим ПЛК S7-300 и портальное программное обеспечение TIA для программирования.
      Сеть 1:
      В этой сети мы написали логику для дренажного насоса 1 (Q0.1). Когда уровень воды превышает самый высокий уровень сигнализации (L3 = I0.3), в это время включается дренажный насос 1 (Q0.1).
      Сеть 2:
      Если уровень воды ниже аварийного уровня, следует запустить питательный насос (Q0.0). Итак, здесь мы взяли нормально замкнутый контакт L1 (I0.1), когда уровень ниже нормального, тогда питательный насос (Q0.0) ВКЛЮЧИТСЯ и наполнит воду в пруду.
      Сеть 3:
      Если уровень воды выше нормального уровня, то дренажный насос 2 (Q0.2) будет включен. Здесь уровень воды выше нормального уровня, а не уровня тревоги, поэтому будет работать только дренажный насос 2 (Q0.1).
      Сеть 4:
      Здесь мы использовали два условия в логическом элементе ИЛИ: либо уровень ниже нормального уровня (L1 = I0.1), либо выше нормального уровня (L1 = I0.1), тогда мигающая схема будет активирована и сигнальная лампа (Q0.3) загорится. НА.
      Сеть 5:
      Таймер 2 для мигающей цепи.
      Сеть 6:
      Здесь мы использовали два условия в логическом элементе ИЛИ: либо уровень ниже нормального уровня (L1=01), либо выше нормального уровня, тогда сигнальная лампа (Q0.3) будет автоматически мигать с 5-секундным интервалом.
      Уровень выше уровня тревоги (L0=1, L1=1, L2=1, L3=1) или ниже уровня тревоги (L0=0, L1=0, L2=0, L3=0). ЗАТЕМ автоматически загорится индикатор тревоги. Интервал 5 секунд.
      Уровень выше уровня тревоги (L0=0, L1=0, L2=0, L3=0), тогда запустится дренажный насос 1 и 2, а если уровень воды выше нормы, запустится только дренажный насос 2.
      Примечание. Приведенный выше пример предназначен только для пояснения, учитываются не все параметры или блокировки. Для этой простой логики нет необходимости использовать ПЛК S7-300, мы использовали этот ПЛК для целей обсуждения.
      Результат


    • Контроль температуры ПЛК: В сосуде есть три нагревателя, которые используются для контроля температуры сосуда.
      Программирование контроля температуры ПЛК
      Мы используем три термостата для измерения температуры на каждом обогревателе. также еще один термостат для безопасного отключения в случае неисправности или чрезвычайной ситуации или во избежание перегрева.
      Все эти нагреватели имеют разные уставки или разные температурные диапазоны, в которых нагреватели могут быть включены соответствующим образом (в таблице ниже показаны температурные диапазоны).
      Система контроля температуры состоит из четырех термостатов. В системе работают три тепловых агрегата. Термостаты (TS1/TS2/TS3/TS4 настроены на 55°C, 60°C, 65°C и 70°C. При температуре ниже 55°C три нагревателя (H1,H2,H3) должны находиться во включенном состоянии. При температуре 55°C – 60°C два нагревателя (H2,H3) должны находиться во включенном состоянии. При температуре 60–65 °C один нагреватель (H3) должен находиться во включенном состоянии. При температуре выше 70°C все нагреватели должны быть выключены. Имеется предохранительное отключение (реле CR1) на случай, если какой-либо нагреватель сработает по ошибке. Главный выключатель включает и выключает систему. Решение ПЛК
      Есть четыре термостата; предположим, что они находятся в состоянии NC, когда заданное значение не достигнуто. Пусть имеется управляющее реле (CR1), работающее в качестве защитного отключения. Главный переключатель: Пусковой выключатель имеет нормально разомкнутый тип, а стоповый выключатель — нормально замкнутый. В таблице ниже показаны диапазоны температур, в которых состояние термостатов (TS1, TS2, TS3, TS4) будет отображаться в соответствии со значением температуры.
      Также статус нагревателей (H1,H2,H3), при котором эти нагреватели будут включены или выключены в зависимости от значения температуры.

      Релейная логика ПЛК

      Лестничная логическая операция
      Первая ступень:
      Он имеет кнопку ПУСК (контакт по умолчанию НО) и кнопку СТОП (контакт НЗ по умолчанию). Реле CR1 используется для управления нагревателями в зависимости от состояния термостатов.
      Термостат TS4 подключается между СТОПом и реле. Если TS4 активирован (означает, что контакт TS4 меняется с нормально замкнутого на нормально разомкнутый), то все нагреватели будут ВЫКЛЮЧЕНЫ.
      НО контакт реле CR1 используется рядом с кнопкой ПУСК для фиксации или удержания команды ПУСК.
      Вторая ступень:
      НО контакт реле CR1 используется для управления нагревателями (H1,H2,H3) при состоянии термостатов (TS1,TS2,TS3).
      После подачи команды ПУСК этот НО контакт становится НЗ контактом. если температура ниже 55 градусов C, TS1, TS2 и TS3 будут в закрытом состоянии, поэтому все нагреватели будут включены.
      если температура находится в диапазоне от 55 до 60 градусов Цельсия, то TS1 будет открыт, поэтому нагреватель H1 будет ВЫКЛЮЧЕН.
      затем, если температура находится в пределах от 60 до 65 градусов Цельсия, то TS2 также будет открыт, поэтому нагреватель H2 будет ВЫКЛЮЧЕН.
      если температура находится в диапазоне от 65 до 70 градусов Цельсия, то TS3 также будет открыт, поэтому нагреватель H3 будет ВЫКЛЮЧЕН.
      Имеется защитное отключение, которое используется во избежание неисправностей термостатов или перегрева.
      если температура превысит 70 градусов Цельсия, то TS4 активируется и обесточивает реле, таким образом, все нагреватели будут ВЫКЛЮЧЕНЫ.
      Примечание. Здесь нагреватели H1, H2, H3 представляют собой либо реле, либо контакторы, на которые мы подаем питание. поэтому замыкающий контакт этих реле подключен к фидерным цепям электронагревателя (MCC). Эти цепи электропитателя будут управляться в соответствии с этими сигналами, и, соответственно, нагреватели будут либо ВКЛЮЧЕНЫ, либо ВЫКЛЮЧЕНЫ.

    • Изучите пример программирования ПЛК по управлению светодиодами с использованием лестничной логической схемы и изучите описание программы.
      Этот пример ПЛК предназначен для студентов-инженеров, которые заинтересованы в изучении и практике упражнений с ПЛК. Программы промышленного ПЛК реального времени будут оснащены дополнительными функциями безопасности.
      Программирование ПЛК Управление светодиодами
      Разработайте релейную логику ПЛК для следующего приложения.
      Мы используем три тумблера для управления тремя светодиодами.
      Если тумблер 1 и тумблер 2 включены, то светодиод 1 и светодиод 2 будут гореть. Если тумблер 2 и тумблер 3 включены, то светодиод 2 будет выключен, а светодиод 3 будет гореть. Цифровые входы
      Необходимые входные данные перечислены ниже.
      Тумблер 1: I0.0
      Тумблер 2: I0.1
      Тумблер 2: I0.1
      В наших следующих обсуждениях мы будем называть эти тумблеры просто «Переключатель». Но помните, что это тумблеры.
      Цифровые входы
      Необходимые результаты перечислены ниже.
      Светодиод 1: Q0.0
      Светодиод 2: Q0.1
      Светодиод 3: Q0.2
      Лестничная диаграмма для управления светодиодами

      Описание программы ПЛК
      Для этого приложения мы использовали программное обеспечение EcoStruxure Machine Expert Basic v1.2 для программирования.
      В приведенной выше программе мы использовали нормально разомкнутые контакты для переключателя 1 (I0.0), переключателя 2 (I0.1) и переключателя 3 (I0.2). Мы также использовали нормально закрытый контакт для переключателя 3 (I0.2). Переключатель 1 и переключатель 2, присутствующие в цепочке 0, соединены последовательно для светодиода 1 и светодиода 2, таким образом реализуя логический вентиль И. При использовании переключателя 1 и переключателя 2 переключатель 3 подключен к светодиоду 3 как нормально замкнутый контакт. Для светодиода 3 переключатель 2 и переключатель 3, присутствующие в цепочке 1, соединены последовательно, реализуя таким образом логический элемент И. Чтобы светодиод 1 был включен, переключатель 1 и переключатель 2 должны быть включены. Когда переключатель 1 и переключатель 2 включены, а переключатель 3 выключен, светодиод 2 будет гореть. Когда переключатель 2 и переключатель 3 включены, светодиод 3 будет гореть. Включение переключателя 3 приведет к выключению светодиода 2. Когда переключатель 1 и переключатель 2 включены

      В цепочке 0 сигнал через переключатель 1 и переключатель 2 при включении.
      В результате светодиод 1 и светодиод 3 загорятся. Переключатель 3 используется в качестве нормально замкнутого контакта для переключателя 3, когда он находится в ложном состоянии, что позволяет подать сигнал на включение светодиода 2.
      Когда переключатель 2 и переключатель 3 включены

      Сигнал через переключатель 2 и переключатель 3 в цепочке 1 включает светодиод 3.
      В Rung0 переключатель 3 рассматривается как нормально закрытый контакт, в истинном состоянии он не пропускает через себя сигнал. В результате светодиод 2 погаснет. Переключатель 3 подключен к светодиоду 1 и, следовательно, он будет оставаться включенным.

    • Нам нужно контролировать уровень баков, которые соединены последовательно. Внедрить программу для последовательного контроля уровня в резервуарах с использованием лестничного программирования ПЛК.
      Серия резервуаров контроля уровня
      Два бака соединены последовательно. Нам необходимо управлять обоими танками, которые соединены последовательно.
      Реализуйте программу ПЛК для этого приложения.
      Диаграмма проблемы

      Решение проблемы
      На химических предприятиях имеется множество материалов, которые используются в технологических процессах, а также хранятся в резервуарах для хранения различных процессов.
      Здесь мы рассматриваем два резервуара: 1. Резервуар для хранения и 2. Резервуар подачи.
      Резервуар для хранения имеет большую емкость, чем резервуар для подачи. Резервуар для хранения предназначен для хранения материала, а резервуар для подачи — для подачи материала для других процессов.
      Два реле уровня используются для определения уровня и один впускной клапан для контроля подачи материала.
      Рассмотрим один ручной выпускной клапан, и он может управляться по требованию оператора.
      Для этого приложения мы можем использовать ПЛК, мы напишем программу ПЛК для этого приложения.
      Список входов и выходов
      Цифровые входы
      Цикл СТАРТ:- I0.0 Цикл СТОП:- I0.1 Резервуар низкого уровня (LL1):- I0.3 Питающий бак низкого уровня (LL2):- I0.4 Резервуар высокого уровня (LH1):- I0,5 Емкость подачи высокого уровня (LH2): - I0.6 Цифровой выход
      Впускной клапан:- Q0.0 М-память
      Бит включения цикла: - M0.0 Состояние закрытия впускного клапана:- M0.1 Лестничная диаграмма ПЛК для контроля уровня в серийных резервуарах


      Описание программы
      Для этого приложения мы использовали ПЛК S7-300 и портальное программное обеспечение TIA для программирования. Мы также можем реализовать эту логику, используя другой ПЛК.
      Сеть 1:
      Сеть 1 предназначена для схемы фиксации. Каждый раз при нажатии кнопки СТАРТ (I0.0) бит включения цикла (M0.0) будет включен. Цикл можно остановить, нажав STOP PB (I0.1).
      Сеть 2:
      Если обнаружен низкий уровень в накопительном резервуаре (I0.3) или низкий уровень в питательном резервуаре (I0.4), впускной клапан (Q0.0) будет включен. (Состояние закрытия впускного клапана не должно присутствовать).
      Сеть 3:
      Обнаружены высокие уровни (I0.5 и I0.6) в обоих резервуарах, будет активировано условие закрытия впускного клапана, и впускной клапан (Q0.0) закроется. Здесь выпускной клапан представляет собой ручной клапан, им может управлять оператор в соответствии с требованиями.
      Примечание. Вышеуказанное приложение может отличаться от фактического. Этот пример предназначен только для пояснения. Мы можем реализовать эту логику и в других ПЛК.
      Результат


    • Программирование ПЛК основывалось на истории и ссылках на электрические чертежи. Со временем стало трудно устранять неисправности в электрических системах, связанных с автоматизацией, возникла необходимость в каком-то контроллере, который мог бы выполнять логику и делать все необходимое. Это привело к появлению систем ПЛК.
      Как вы знаете, для программирования ПЛК существует множество типов языков, и исходным языком является лестничный язык. Следует знать, что электрические схемы также помогают преобразовать ее в лестничную логику. В этом посте мы увидим, как преобразовать электрическую схему в программу ПЛК.
      Понимать электрическую схему
      Прежде всего, необходимо разобраться с электрической схемой. См. изображение ниже. Любая цепь имеет два конца – положительный и отрицательный. Ток начинается с положительного конца и течет через отрицательный конец.
      Между ними появляются электрические компоненты и устройства. Если вы обратитесь к изображению ниже, то увидите четыре компонента: кнопку запуска, кнопку остановки, вспомогательный контакт лампы и лампу.

      Питание начинается с положительного конца и поступает на вход кнопки пуска (НО контакт). Выход кнопки пуска поступает на вход кнопки остановки (размыкающий контакт). Выход кнопки остановки поступает на вход лампы.
      Выход лампы подключен к отрицательному концу питания. Параллельно кнопке запуска от входа кнопки к вспомогательному контакту лампы идет еще один провод. Выход этого контакта обратно соединен с выходом кнопки.
      При подаче питания и нажатии кнопки запуска лампа включится, поскольку она получит путь для тока. Теперь если кнопку отпустить, то лампа погаснет так как ей не попадает путь.
      Итак, чтобы зафиксировать его, мы размещаем контакт лампы параллельно, который будет удерживать путь подачи питания. При нажатии кнопки «стоп» путь электропитания прерывается и лампа гаснет.
      Преобразование схемы подключения в программу ПЛК
      Теперь, когда вы поняли схему подключения, начните интерпретировать ее таким же образом для программирования ПЛК. См. изображение ниже.
      Лестничная логика будет иметь два силовых конца – левый и правый. Левый эквивалент соответствует положительному концу мощности, а правый соответствует отрицательному концу мощности.
      Вам потребуются четыре компонента программирования ПЛК: кнопка запуска -> НО контакт, кнопка остановки -> НЗ контакт, лампа -> выходная катушка и НО контакт лампы.

      Сначала установите разомкнутый контакт кнопки запуска. Параллельно ему поставьте лампу на Н.О. контакт. После этого установите размыкающий контакт кнопки остановки. В конце поставьте лампу на Н.О. контакт.
      Работа будет такой же, как описано для схемы подключения. Вы видели, что один и тот же электрический рисунок был интерпретирован и преобразован в лестничную логику.
      Общие советы, которым следует следовать:
      1. Поймите схему подключения входной и выходной мощности. Между ними посмотрите, какие компоненты где расположены и как они подключены.
      2. В проводке определите входные и выходные части и отметьте их разными цветами.
      3.Начните программирование, следуя схеме и разместив компоненты так же, как было выполнено подключение.
      4.Запустите программу и посмотрите, как она работает.

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

      Логика программы:
      Разработайте программу лестничной логики в соответствии с логикой, приведенной ниже:
      Кнопка пуска/останова предназначена для управления двумя входными двигателями насосов P1 и P2. Кнопочная станция «Пуск/Стоп» используется для управления насосом P1. Когда бак заполнен, двигатель сливного насоса P3 запускается автоматически и работает до тех пор, пока не сработает датчик низкого уровня. После 3-х наполнений бака насосом Р1 управление автоматически переключается на насос Р2. Работа кнопки пуска/останова теперь управляет насосом P2. После 3-х наполнений бака насосом Р2 последовательность действий повторяется. Программа ПЛК:

      Описание программы:
      Ранг 0000:
      Пуск/Стоп PB фиксируется с помощью памяти B3:0/0.
      Ранг 0001:
      B3:0/0 включен для включения B3:0/1, который включает ВКЛЮЧЕНИЕ НАСОСА P1 (O:0/0), когда датчик низкого уровня (I:0/3) включается, а датчик высокого уровня (I: 0/2) находится в выключенном состоянии. B3:0/1 фиксируется датчиком низкого уровня, поскольку насос p1 не должен выключаться, как только вода начала подниматься.
      Ранг 0002:
      Контакты памяти используются для включения PUMP P1 (O:0/0) со счетчиком (C5:0).
      Поскольку мы собираемся переключить работу насоса с P1 на P2, для переключения между Pl и P2 используются два счетчика.
      Счетчик C5:1 используется для включения НАСОСА P2(O:0/2).
      Ранг 0003 и 0004:
      B3:0/0 включен для включения B3:0/2, который включает НАСОС P3(O:0/1), когда датчик высокого уровня (I:0/2) включается, а датчик низкого уровня (I: 0/3) находится в выключенном состоянии. B3:0/2 фиксируется датчиком высокого уровня, поскольку насос p3 не должен выключаться, как только вода начала уменьшаться.
      Ранг 0005:
      Когда насос 3 (O: 0/1) работает, включается датчик низкого уровня, который выключает насос p3 и включает насос P1 (O:0/0).
      Ранг 0006:
      Сброс обоих счетчиков выполняется после включения бита завершения второго счетчика (C5:1).
      Заключение:
      Мы можем использовать этот пример, чтобы понять логику программирования в ПЛК AB.

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

      Формулы:
      EU = ((EUSpan x (DATA – DataOffset))/DataSpan) + EUOffset
      ProcessValue = ЕС/ФАКТОР
      DataOffset = данные во входном регистре при токе 4 мА (или нулевой аналоговый сигнал любого диапазона – например, 0 В постоянного тока на передатчике 0–10 В постоянного тока)
      DataSPan = Данные при 20 мА – Данные при 4 мА
      ФАКТОР = произвольный коэффициент (кратный 10), необходимый для получения надлежащего разрешения и точности.
      ЕС = Инженерные единицы x ФАКТОР
      EUOffset = Технические единицы @ 4 мА x ФАКТОР
      EUSpan = (Инженерные единицы при 20 мА – Технические единицы при 4 мА) x ФАКТОР
      ДАННЫЕ = фактическое чтение данных во входном регистре.
      Например,
      Датчик давления с диапазоном от 0 до 60 фунтов на квадратный дюйм, ман., подключен к плате аналогового входа ПЛК. Необработанный счетчик карты аналогового входа ПЛК начинается с 6240 для 4 мА и 31 208 для 20 мА. ПЛК считывает 18975 необработанных данных и рассчитывает эквивалентные показания датчика давления.
      Примечание. Необработанные значения ПЛК могут различаться в зависимости от системы.
      0–60 фунтов на квадратный дюйм в диапазоне 4–20 мА с разрешением 0,1 фунтов на квадратный дюйм: ман.
      ФАКТОР = 10
      Данные при 4 мА = 6240
      Данные при 20 мА = 31208
      Смещение Данных = 6240
      DataSpan = 31208 – 6240 = 24968
      EUOffset = 0 x 10 = 0
      EUSpan = (60 – 0) x 10 = 600
      ДАННЫЕ = 18975
      EU = ((EUSpan x (DATA – DataOffset))/DataSpan) + EUOffset
      ЕС = ((600 х (18975 – 6240)) / 24968) + 0 = 306
      ProcessValue = ЕС/ФАКТОР
      Значение процесса = 306/10 = 30,6 фунтов на квадратный дюйм, ман.

    • В отличие от дискретно-цифровой схемы (вкл./выкл.), аналоговые сигналы изменяются в диапазоне напряжения или тока. Если взять тот же сосуд, описанный ранее в примере с цифровой проводкой, как изменится проводка, если мы заменим переключатель датчиком уровня?
      Методы подключения аналоговых сигналов ПЛК
      На рисунке ниже показана та же панель автоматического выключателя, но теперь она питается от источника постоянного тока.
      Источник питания может находиться в отдельном шкафу или в распределительной панели. В любом случае мощность постоянного тока распределяется на распределительном щите. Один предохранитель может питать несколько цепей, или каждая цепь может быть защищена предохранителями.

      На положительную клемму передатчика подается +24 В постоянного тока. Токовый сигнал 4–20 мА поступает с клеммы (-) передатчика на ПЛК.
      Кабель представляет собой витую пару и экранирован. Сигнальный кабель пронумерован по номеру передатчика, а провода внутри пронумерованы для предоставления информации об источнике питания.
      Экран подключается к распределительной панели, где все экраны собираются и подключаются к заземляющему наконечнику, изолированному от шкафа. Примечание. Необходимо следить за тем, чтобы экран был заземлен только в одной точке.
      Экраны, заземленные более чем в одной точке, могут создавать в сигнале большие шумовые всплески. Это состояние называется контуром заземления, и его может быть очень сложно изолировать, поскольку проблема носит периодический характер.
      «Тихое» заземление следует использовать для заземления всех экранов в одной точке. «Тихое» заземление — это заземление, которое либо подключено к специальной триаде заземления, либо подключено к центральному отводу изолирующего трансформатора.
      Шумным заземлением будет то, которое физически расположено далеко от трансформатора, а также то, которое обслуживает двигатели, фонари или другие шумные объекты. Это базовая двухпроводная схема аналогового входа.
      Ниже приводится некоторая конкретная информация о различных аналоговых возможностях:
      а. Защита цепи (предохранители)
      Аналоговые цепи всегда имеют низкое напряжение, обычно 24 В постоянного тока. В результате для безопасности персонала не требуется соединение отдельных аналоговых цепей. Кроме того, большинство аналоговых модулей ввода-вывода имеют встроенные схемы ограничения тока.
      Таким образом, для защиты модулей обычно не требуется плавкий предохранитель. Если эти два условия верны (и разработчик должен подтвердить это у производителя), то при желании можно избежать поточечного плавления.
      Если проектировщик желает сэкономить деньги, не объединяя каждую точку, следует рассмотреть возможность группировки цепей в зоны контроля повреждений.
      Например, если есть пара насосов, основной и резервный, приборы для них должны быть в отдельных группах предохранителей, чтобы один перегоревший предохранитель не вывел их обоих из строя. Дополнительные сведения см. в разделе Разделение ввода-вывода в указателе.
      б. Шумоустойчивость
      Аналоговые схемы чувствительны к электронному шуму. Если, например, аналоговый кабель пролегает рядом с высоковольтным кабелем двигателя, то кабель аналогового сигнала будет действовать как антенна, улавливая магнитно-связанный шум, создаваемый двигателем.
      Существуют и другие источники шума, такие как радиочастотное (РЧ) излучение рации. Шум в кабеле аналогового сигнала может вызвать ошибки в считывании значения сигнала, что, в свою очередь, может вызвать множество проблем в системе управления.
      Некоторые способы снижения шума включают в себя:
      • Кабели «витая пара»:
      Электронный шум можно значительно снизить за счет использования кабеля витой пары. Большинство приборов используют два провода для передачи сигналов. Ток течет к устройству по одному проводу и обратно от устройства по другому.
      Если эти провода скручены, то наведенный шум будет почти одинаковым в каждом проводе.
      Величина индуцированного тока одинакова в каждом проводнике, но он течет в противоположных направлениях, тем самым подавляя большую часть шума.
      • Экранирование:
      Еще одним усовершенствованием подавления помех является экранирование, т. е. использование заземленной оплетки или экрана из фольги вокруг проводников. Как упоминалось ранее, экран никогда не следует заземлять более чем в одном месте, чтобы избежать контуров заземления.
      Большинство производителей приборов рекомендуют заземлять экран полевого прибора. Однако лучше всего это сделать на распределительной панели.
      Проще проверять и управлять основаниями, если они находятся в одном месте. Кроме того, в этот момент можно обеспечить хорошее заземление.
      • Кабелепровод:
      Последним усовершенствованием в области подавления шума является заземленный металлический кабелепровод. Это требуется редко, за исключением кабелей передачи данных и особо ответственных цепей.
      в. Температурный детектор сопротивления (RTD)
      RTD состоит из специального куска провода, электрическое сопротивление которого изменяется предсказуемым образом, когда провод подвергается воздействию различных температур.
      Сегодня предпочтительным материалом является платина сопротивлением 100 Ом, хотя иногда используются и другие типы, например медь сопротивлением 10 Ом. Для платинового термометра сопротивления номинал составляет 100 Ом при 0°C.
      Изменения сопротивления в зависимости от температуры очень малы, вызывая изменения напряжения в диапазоне милливольт.
      ТПС подключаются к мостовой схеме Уитстона, которая настроена на РДТ. Но эта настройка происходит на стенде.
      А как насчет полевой среды? Мы уже обсуждали трудности с затуханием линии, присущие милливольтовым сигналам (глава 4). Эта проблема решается в схеме RTD за счет использования одного или двух сенсорных входов.
      Эти входы помогают свести на нет влияние потерь в меди из-за длинных линий и изменений температуры вдоль них и представляют собой дополнительные провода, которые должны быть включены в кабель RTD, отсюда и термины «трехпроводные» и «четырехпроводные RTD».
      д. Термопара
      Как мы уже говорили, термопара использует электродвижущую силу (ЭДС), возникающую в результате изменений температуры, воздействующих на два разнородных металла, ламинированных вместе.
      Эта ЭДС проявляется как сигнал милливольт (постоянный ток). Когда соединяются определенные комбинации этих разнородных металлов, получается предсказуемая кривая зависимости температуры от напряжения при изменении температуры на соединении.
      Сигнал измеряется на открытом конце двух проводов, а для преобразования напряжения в инженерные единицы используется шкала милливольт на градус.
      Таким образом, термопара представляет собой двухпроводное устройство. Он чувствителен к излучаемому и наведенному шуму, поэтому его обычно размещают в экранированном кабеле, если его протянуть на очень большое расстояние. Сигнал термопары также подвержен ухудшению из-за потерь в линии, поэтому желательно минимизировать длину кабеля.
      Кроме того, важно использовать правильный удлинитель. Термопара обычно поставляется с коротким кабелем, к которому необходимо подсоединить удлинительный провод. Если для передачи сигнала на ПЛК используется провод из другого материала, например медь, создается ложный «холодный спай», вызывающий обратную ЭДС, которая частично нейтрализует сигнал.
      Поэтому следует использовать соответствующий удлинительный провод или установить между медной проводкой и проводкой термопары устройство, называемое компенсатором холодного спая или эталоном точки замерзания.
      Модули ввода/вывода термопар уже имеют встроенную компенсацию холодного спая, поэтому необходимо использовать соответствующий удлинительный провод для термопары.
      Конкретные типы термопар имеют разные температурные характеристики. Термопара типа J образуется путем соединения железной проволоки с константановой проволокой.
      Эта конфигурация обеспечивает относительно линейную кривую в диапазоне от 0 до 750°C.8 Термопара типа K имеет никель-хромовую проволоку, соединенную с никель-алюминиевой проволокой, иногда называемой хромель/алюмель.
      Термопара типа K охватывает полезный диапазон температур от -200 до 1250°C. Другие комбинации дают разные кривые отклика.
      е. 0–10 милливольт (мВ) аналоговый
      Аналоговые сигналы сначала генерировались путем модуляции напряжения. Раньше передатчик генерировал слабый сигнал, который нужно было уловить, а затем отфильтровать и усилить, чтобы его можно было использовать для перемещения ручки на самописце или иглы на манометре. Ахиллесова пята милливольтового сигнала — его восприимчивость к электрическим шумам.
      Проблема соотношения сигнал/шум возрастает в зависимости от длины кабеля. Поэтому передатчик должен был находиться в непосредственной близости от индикатора или самописца.
      Сегодня милливольтовые сигналы, как правило, подаются на преобразователи, которые преобразуют слабый сигнал в ток или в другие среды (например, значения цифровых данных), менее чувствительные к шуму и потерям в децибелах (дБ), прежде чем покинуть пределы чувствительного элемента. Однако некоторые регистраторы и системы сбора данных по-прежнему работают на милливольтовом сигнале.
      ф. 4–20 миллиампер (мА) аналоговый
      Стремление преодолеть недостатки линейного затухания милливольтового сигнала привело к разработке токовой петли 4–20 мА.
      Благодаря значительному увеличению производительности этот метод передачи аналоговых сигналов быстро стал отраслевым стандартом. Большинство полевых приборов, представленных на рынке, имеют чувствительный элемент (датчик) и передающий элемент.
      Передатчик настроен на датчик, который может выдавать любой тип сигнала: от частотно-модулированного аналога до милливольт постоянного тока.
      Какой бы ни была форма сигнала, передатчик интерпретирует его и преобразует в выходной ток от 4 до 20 мА, который в этом диапазоне пропорционален по величине входному току. Процесс настройки выхода на вход называется масштабированием.
      Таким образом, передатчик становится так называемым источником переменного тока. Точно так же, как аккумулятор, как источник напряжения, пытается поддерживать постоянное напряжение независимо от величины приложенной к нему нагрузки, источник тока пытается поддерживать постоянный ток (для данного входного сигнала) независимо от нагрузки.
      Поскольку ток является общим во всех точках последовательной цепи, проблема длины кабеля, отмеченная как проблема с милливольтовым сигналом, сводится на нет.
      Конечно, способность устройства пропускать постоянный ток через цепь можно преодолеть, если приложить достаточную нагрузку. Поэтому проектировщик должен знать, сколько энергии способен произвести источник тока.
      Как правило, современные приборы способны поддерживать ток 20 мА при сопротивлении цепи 1000 Ом. Поскольку типовой прибор имеет входное сопротивление не более 250 Ом, можно питать несколько приборов от одного источника тока без необходимости использования изолятора.
      Например, один передатчик должен иметь возможность передавать свой сигнал на ПЛК, самописец и сумматор при стоимости 750 Ом плюс сопротивление линии. Это все равно должно находиться в зоне комфорта типичного передатчика.
      Примечание. На рынке все еще существуют приборы с номиналом 600 Ом, поэтому проектировщику следует всегда проверять его, когда рассматривается сложная схема.
      Чтобы определить энергию, доступную для схемы, разработчик должен иметь возможность идентифицировать поставщика этой энергии. Эта задача иногда не так проста, как может показаться, и ответ на вопрос сильно повлияет на схему подключения схемы.
      Существует два основных типа аналоговых схем, описанных с точки зрения передатчика. Двухпроводные передатчики считаются пассивными устройствами, поглощающими ток, а четырехпроводные передатчики — активными устройствами, генерирующими ток.
      На рисунке ниже изображены три датчика температуры, каждый из которых подключен к разным точкам ввода-вывода одного и того же модуля ПЛК.
      Один передатчик имеет прямое питание (т. е. четырехпроводное), а остальные - косвенное (т. е. двухпроводное). Каждый передатчик подключен к устройству управления — в данном случае к входу ПЛК.
      С точки зрения ПЛК, все токовые входы 4–20 мА на самом деле являются входами напряжения. Резисторы, предоставленные пользователем внешние, как показано здесь, или внутренние, используются для преобразования тока в напряжение.
      Сами компьютерные точки фактически представляют собой вольтметры с высоким сопротивлением, что обеспечивает им превосходную изоляцию от полевых устройств и минимизирует дополнительную нагрузку на входную цепь.
      Точки ввода-вывода на ПЛК показаны с внутренним питанием, доступным для каждой точки, поэтому модуль может быть источником напряжения для контура.

      Ниже приводится подробный комментарий к различиям между двухпроводными и четырехпроводными устройствами:
      1. Четырехпроводная схема
      Как показано ниже, четырехпроводный передатчик — это тот, который обеспечивает энергию для питания контура и генерации модулированного по току сигнала.
      Например, большинство датчиков уровня являются четырехпроводными устройствами. Четырехпроводные устройства помимо сигнальных соединений всегда имеют силовые соединения. Однако не все такие передатчики с питанием являются четырехпроводными.
      Если выход питаемого передатчика отмечен как пассивный, то с точки зрения сигнальной цепи устройство можно рассматривать как двухпроводное устройство.
      Большинство записывающих устройств имеют внешнее питание, но являются пассивными в схеме. В этих случаях внешнее питание предназначено только для внутренней электроники устройства.
      Сигнальная цепь изолирована от этого источника питания. Обратите внимание, что рекордер, показанный на нижней схеме, представляет собой пассивное устройство с питанием.
      2. Двухпроводная схема.
      Говорят, что двухпроводное устройство имеет питание по контуру. Это означает, что устройство функционирует, поглощая энергию, необходимую для генерации сигнала из токовой петли.
      Это также называется «токовым опусканием». Эта номенклатура может немного сбивать с толку, поскольку передатчик, потребляющий ток, по-прежнему остается источником сигнала для схемы. Питание для токового контура подается в другом месте.
      Передатчик, классифицированный как двухпроводной, обычно должен быть первым устройством в цепи по протеканию тока.
      Другими словами, положительная клемма передатчика должна быть напрямую подключена к положительной клемме источника напряжения. Источником напряжения обычно является источник питания 24 В постоянного тока.
      (а) Двухпроводные схемы с автономным источником питания
      На рисунке выше точка ввода-вывода ПЛК 2 изображает двухпроводную цепь с внешним источником питания постоянного тока.
      Обратите внимание, что провода должны быть свернуты (в соответствии с полярностью) в ПЛК, чтобы обеспечить правильную полярность в точке ввода-вывода.
      Это связано с тем, что поток тока теперь обратный по сравнению с предыдущим примером, поскольку передатчик должен стать первой нагрузкой в контуре, а не быть источником энергии для контура.
      (б) Двухпроводные схемы с внутренним источником питания ПЛК
      Большинство современных систем ПЛК способны сами генерировать контурный ток, просто подключив положительный вывод передатчика к другому выводу ПЛК.
      Отрицательный вывод передатчика затем подсоединяется к положительному выводу точки ввода-вывода, а отрицательный вывод точки ввода-вывода подключается к общему проводу постоянного тока системы ПЛК.
      Это показано на примере точки ввода-вывода 3. В этом примере в цикл добавлен рекордер.

    • На технологическом предприятии управление включением/выключением осуществляется через ПЛК или РСУ.
      На рисунке ниже представлен обзор одной дискретной/цифровой (вкл./выкл.) схемы, показывающий весь процесс от источника питания через датчик до ПЛК.
      Методы подключения цифровых сигналов ПЛК

      На рисунке выше реле уровня установлено на резервуаре. Переключатель контролируется модулем цифрового ввода ПЛК. Питание цепи осуществляется через автоматический выключатель (CB2) на панели питания прибора.
      Основное питание подается на распределительную панель, где питание разделяется на несколько цепей с предохранителями. Предохранитель 03FU является главным размыкающим предохранителем, а остальные предохранители являются распределительными. Предохранитель 06FU питает нашу цепь.
      Горячий (электрически находящийся) провод 06A подается в распределительную коробку (FJB) как один провод в многожильном кабеле. Этот кабель, иногда называемый хоумраном или основным кабелем, разводится в полевой распределительной коробке (FJB), где, в этом примере, два неэкранированных кабеля витой пары подводятся к конечному устройству LSH-47.
      В результате остается один запасной проводник. Горячий провод 06A попадает на клемму + контакта формы A и перемыкается на клемму H для подачи питания на электронику реле уровня.
      Номер провода на контакте реле изменится на 06B. Этот провод передает сигнал обратно на FJB, откуда сигнал передается обратно в оконечный шкаф через многожильный кабель.
      Там сигнал и нейтраль соединяются и передаются в модуль ПЛК. Обратите внимание, что обратный нейтральный провод, обозначенный 02N (поскольку это обратный провод для CB2), подведен к ПЛК и реле уровня.
      ПРИМЕЧАНИЕ. При подключении к системе ПЛК всегда рекомендуется использовать витую пару. Кабели витой пары обладают превосходной помехозащищенностью, что особенно полезно при подключении к нагрузкам с высоким импедансом, например, в модулях ввода-вывода ПЛК/РСУ.
      Нагрузка с высоким импедансом может быть особенно чувствительна к шуму, поскольку сопутствующий ток очень мал, а объем фактической работы минимален.
      Вот и все, в двух словах. Ниже приводится комментарий по вопросам подключения, связанным с проводкой сигналов ПЛК/РСУ.
      а. Поглощение и поиск
      Термины сток и источник используются для описания того, как конкретный компонент схемы связан с потоком мощности. Эти термины на самом деле пришли из времен транзисторной логики.
      В этом обсуждении транзистор можно рассматривать как простой переключатель (рисунок ниже).

      DC (+) — положительная клемма постоянного тока, DCC — общая клемма постоянного тока.
      Транзистору этого типа требуется небольшое сопротивление на коллекторе (верхняя сторона) для ограничения тока.
      В примере случая 1:
      резистор на месте, нагрузка включена последовательно с эмиттером транзистора. Когда транзистор проводит ток, ток течет через резистор, транзистор, а затем через нагрузку.
      Эта схема не использовалась очень часто, поскольку ток распределяется по внутренней схеме, в результате чего остается меньше мощности для управления нагрузкой и повышения температуры в модуле ввода-вывода.
      Случай 2
      Это обеспечивает более типичную схему источника, в которой выход ПЛК при отключении переключает ток полной нагрузки для управления нагрузкой. Когда выход включается, транзистор проводит ток, вызывая шунтирование большей части тока через него, вызывая голодание нагрузки и тем самым обесточивая ее.
      Недостатком этой конфигурации является то, что небольшой ток утечки будет продолжать присутствовать в нагрузке, поскольку определенная величина тока будет продолжать направляться через нагрузку, хотя обычно этого недостаточно, чтобы заставить нагрузку оставаться под напряжением. Однако при поиске неисправностей на обесточенной нагрузке будет обнаружено небольшое напряжение.
      В примере случая 3:
      Нагрузка — коллекторный резистор. Когда транзистор проводит ток, на нагрузку подается напряжение. С точки зрения электроники платы это лучшая конфигурация, поскольку большая часть тепла рассеивается нагрузкой.
      Недостатком этой конфигурации является то, что «переключение нейтрали» противоречит здравому смыслу и может быть небезопасным, поскольку полное напряжение присутствует как на положительной, так и на отрицательной клемме нагрузки, когда она обесточена.
      По этим причинам вариант 2 превратился в наиболее распространенную конфигурацию вывода. Эту концепцию стока/источника можно распространить на любую схему.
      б. Защита цепи (предохранители)
      Большинство модулей ввода/вывода имеют внутренние предохранители. Однако для пользователя это не так уж много значит. Хотя внутренний предохранитель ограничивает повреждение самого модуля, в большинстве случаев модуль все равно необходимо отправить на завод для ремонта. Таким образом, конечный результат для пользователя один и тот же — сломанный модуль.
      В результате рекомендуется добавлять к каждой точке ввода-вывода внешние предохранители с номиналом чуть ниже номинала предохранителя на печатной плате модуля. Хотя это ограничивает размер нагрузки, которая может управляться непосредственно модулем, внутренний предохранитель и модуль защищены.
      Внимание: Если дискретные выходы с внутренними предохранителями встроены в цепи блокировки или если они находятся в цепях, которые зависят от нормально замкнутых контактов для инициирования мер безопасности, то следует использовать другой тип модуля без предохранителей.
      Или можно использовать промежуточные реле. Точка ввода-вывода может работать нормально (например, замыкать ее контакты и сообщать программе, что она их закрыла), но при этом не передавать питание из-за перегоревшего внутреннего предохранителя.
      в. Цепи цифрового входа (DI)
      Модули цифрового ввода (DI) постоянно сканируют свои входные точки на наличие или отсутствие напряжения. Если напряжение присутствует, в ячейку памяти записывается 1. Если напряжение отсутствует, там пишется 0.
      Требуемый тип и величина напряжения — два фактора, которые отличают один модуль DI от другого.
      Большинство точек цифрового входа имеют высокий импеданс, что сводит к минимуму величину потребляемого тока и поэтому оказывает относительно незначительное влияние на систему распределения электроэнергии.
      Каждую точку цифрового входа можно рассматривать как лампочку, которая либо включена, либо выключена. Модули DI могут быть электрически изолированы между точками или сгруппированы посредством внутренней шины ввода-вывода.
      Большинство модулей сегодня сгруппированы, поскольку группировка обеспечивает более высокую плотность. Как мы видели, плотность точек до 32 точек на модуль является обычным явлением в сгруппированной конфигурации.
      На рисунке ниже показаны два разных модуля DI. Первый модуль обеспечивает внутреннюю шину цепи постоянного тока (+). Затем точка ввода-вывода передает питание на полевое устройство.
      Этот тип модуля называется модулем поиска. Эта конфигурация необычна. Переключение общей стороны в поле обычно не производится.

      Если модуль подключает внутреннюю шину к общей стороне цепи постоянного тока, то модуль считается принимающим модулем.
      Точка ввода-вывода завершает путь к общему разъему постоянного тока. Эта конфигурация используется в подавляющем большинстве случаев, поскольку она позволяет индивидуально защитить каждую точку ввода-вывода рядом с источником питания перед подачей питания на полевое устройство.
      В любом случае ток течет в одном и том же направлении через переключатель, монтируемый на месте эксплуатации.
      д. Цепи цифрового выхода (DO)
      Контакты реле считаются устройствами вывода, поскольку они заставляют другие устройства реагировать при изменении своего состояния. Цифровые выходы ПЛК можно рассматривать как контакты реле.
      Во многих случаях это именно то, что они есть. В других случаях переключающий элемент может быть каким-либо полупроводниковым устройством. Даже в этом случае аналогия с реле работает до тех пор, пока проектировщик не забывает учитывать ток утечки.
      Модули DO включают и выключают напряжение, чтобы заставить внешнее устройство изменить состояние. Эти модули бывают «изолированными» или «неизолированными». Если модуль неизолирован, то он либо потребляет, либо потребляет.
      1. Изолированные цепи дискретного выхода.
      Изолированная схема DO — это схема, в которой источник питания может быть изолирован между точками ввода-вывода. Источник не подключен к внутренней шине. Стоимость — два терминала на точку, поэтому это дорого.

      Существует три источника влажной энергии: точки 1, 2, 4, 5 и 6 изолированы от точки 3 и точек 7 и 8.
      В этом примере переменный ток подается в точку 3, а сигналы постоянного тока подаются в остальные точки. Это демонстрирует возможности. На практике рекомендуется разделять сигналы переменного и постоянного тока, если это вообще возможно.
      2. Неизолированные цифровые цепи.
      Как и в случае с модулем DI PLC, плотность точек является важной особенностью модулей DO. Как видно из изолированного модуля на рисунке, за изоляцию приходится платить.
      Модуль с 16 клеммами имеет плотность точек всего восемь, поскольку на каждую точку требуется две клеммы. За счет внутренней шины можно значительно улучшить плотность точек.
      Однако в результате получается неизолированный модуль, налагающий ограничения на разработчика. Источниками питания необходимо управлять. В большинстве случаев это не является проблемой, поскольку возможно расширение мощности ввода-вывода ПЛК на полевое устройство.
      Однако если полевое устройство должно подавать собственный сигнал, то в цепь необходимо добавить промежуточное реле для обеспечения изоляции.

      На рисунке выше показаны два разных модуля цифрового вывода. Первый обеспечивает внутреннюю шину стороны постоянного тока (+) схемы. Затем точка ввода-вывода обеспечивает путь к питанию, превращая ее в модуль источника.
      Если модуль подключается к общей стороне цепи постоянного тока, как показано на рисунке выше, пример 1, то модуль считается принимающим модулем. Точка ввода-вывода завершает путь к общему.
      Этот тип модуля сегодня используется редко из-за переключения на общей стороне. Пример 2 гораздо более распространен, поскольку в нем коммутационное действие опережает нагрузку с точки зрения протекания тока.

    • Один мудрый программист ПЛК однажды сказал мне, что первое, что любой начинающий программист должен узнать о ПЛК, который он собирается запрограммировать, — это то, как организована цифровая память этого ПЛК. Это мудрый совет для любого программиста, особенно в системах, где память ограничена и/или где ввод-вывод имеет фиксированную связь с определенными местами в памяти системы.
      Практически каждая система управления на базе микропроцессора поставляется с опубликованной картой памяти, показывающей организацию ее ограниченной памяти: сколько доступно для определенных функций, какие адреса связаны с какими точками ввода-вывода, на какие разные места в памяти должны ссылаться программист.
      Каналы дискретного ввода и вывода ПЛК соответствуют отдельным битам в массиве памяти ПЛК. Аналогично, каналы аналогового ввода и вывода в ПЛК соответствуют многобитовым словам (непрерывным блокам битов) в памяти ПЛК.
      Связь между точками ввода-вывода и ячейками памяти ни в коем случае не стандартизирована между разными производителями ПЛК или даже между разными моделями ПЛК, разработанными одним и тем же производителем. Это затрудняет написание общего руководства по адресации ПЛК, поэтому мой главный совет — обратиться к инженерным справочникам по системе ПЛК, которую вы собираетесь программировать.
      Наиболее распространенной маркой ПЛК является Allen-Bradley (Rockwell), в которой используется уникальная форма адресации ввода-вывода (примечание 1), что обычно сбивает студентов с толку. По этим двум причинам (популярность и путаница) большую часть этого раздела я сосредоточусь на правилах обращения Аллена-Брэдли.
      Примечание 1. В большинстве современных ПЛК Allen-Bradley практически отказались от адресации ввода-вывода с фиксированным местоположением, вместо этого выбрав адресацию ввода-вывода на основе имени тега. Однако в промышленности все еще существует достаточно устаревших систем ПЛК Allen-Bradley, чтобы гарантировать соблюдение этих соглашений об адресации.
      Карта памяти ПЛК
      В следующей таблице показана частичная карта памяти для ПЛК Allen-Bradley SLC 500.

      Карта памяти также называется таблицей данных. Эта карта показывает адресацию областей памяти, зарезервированных для программ, введенных пользователем. В процессоре SLC 500 существуют и другие области памяти, но эти области недоступны техническим специалистам, пишущим программы ПЛК.
      Обратите внимание, что использование Алленом-Брэдли слова «файл» отличается от языка персональных компьютеров. В контроллере SLC 500 «файл» — это блок оперативной памяти, используемый для хранения данных определенного типа.
      Напротив, «файл» на персональном компьютере представляет собой непрерывный набор битов данных, имеющих коллективное значение (например, файл текстового редактора или файл электронной таблицы), обычно хранящийся на жестком диске компьютера.
      В каждом из «файлов» ПЛК Allen-Bradley имеется несколько «элементов», каждый элемент состоит из набора битов (8, 16, 24 или 32), представляющих данные.
      Элементы адресуются по номеру, следующему через двоеточие после обозначения файла, а отдельные биты внутри каждого элемента адресуются по номеру, следующему за косой чертой. Например, первый бит (бит 0) второго элемента в файле 3 (двоичный) будет адресоваться как B3:2/0.
      В ПЛК Allen-Bradley, таких как модели SLC 500 и PLC-5, файлы 0, 1 и 2 зарезервированы исключительно для дискретных выходов, дискретных входов и битов состояния соответственно.
      Таким образом, буквенные обозначения O, I и S (типы файлов) избыточны по сравнению с числами 0, 1 и 2 (номера файлов).
      Другие типы файлов, такие как B (двоичные), T (таймеры), C (счетчики) и другие, имеют свои собственные номера файлов по умолчанию (3, 4 и 5 соответственно), но также могут использоваться в некоторых пользовательских файлах. определенные номера файлов (10 и выше).
      Например, файл 7 в контроллере Allen-Bradley зарезервирован для данных «целочисленного» типа (N), но целочисленные данные также могут храниться в любом файле с номером 10 или выше по усмотрению пользователя.
      Таким образом, номера файлов и буквы типов файлов для типов данных, отличных от выходного (O), входного (I) и статуса (S), всегда отображаются вместе.
      Обычно вы не увидите целочисленное слово, адресованное, например, как N:30 (целочисленное слово 30 в памяти ПЛК), а скорее как N7:30 (целочисленное слово 30 в файле 7 памяти ПЛК), чтобы отличить его от другого целочисленного слова. 30, которые могут существовать в других файлах памяти ПЛК.
      Эта файловая нотация адресации требует дальнейшего пояснения. Когда адрес появляется в программе ПЛК, для отделения (или «ограничения») различных полей друг от друга используются специальные символы.
      Общая схема ПЛК Allen-Bradley SLC 500 показана здесь:

      Не для всех типов файлов требуется различать отдельные слова и биты. Например, целочисленные файлы (N) состоят из одного 16-битного слова для каждого элемента. Например, N7:5 будет 16-битным целым словом номер пять, хранящимся в седьмом файле.
      Однако тип дискретного входного файла (I) должен рассматриваться как отдельные биты, поскольку каждая отдельная точка ввода-вывода относится к одному биту. Таким образом, I:3/7 будет битом номер семь, находящимся во входном элементе три.
      Символ косой черты необходим при адресации дискретных битов ввода-вывода, поскольку мы не хотим ссылаться на все шестнадцать битов в слове, когда имеем в виду только одну точку входа или выхода ПЛК.
      Целые числа, напротив, представляют собой наборы по 16 бит каждый в карте памяти SLC 500, поэтому обычно к ним обращаются как к целым словам, а не побитно.
      Некоторые типы файлов, такие как таймеры, более сложны. Каждый «элемент» таймера состоит из двух разных 16-битных слов (одно для накопленного значения таймера, другое для целевого значения таймера) в дополнение не менее чем к трем битам, объявляющим состояние таймера (бит «Включен», бит «Время» и бит «Готово»).
      Таким образом, мы должны использовать как десятичную точку, так и косую черту при обращении к данным внутри таймера. Предположим, мы объявили в нашей программе ПЛК таймер с адресом T4:2, который будет таймером номер два, содержащимся в четвертом файле таймеров.
      Если бы мы хотели обратиться к текущему значению этого таймера, мы бы сделали это как T4:2.ACC (слово «Аккумулятор» таймера номер два в четвертом файле). Бит «Готово» того же таймера будет иметь адрес T4:2/DN (бит «Готово» второго таймера в четвертом файле).
      Отличительной чертой схемы адресации SLC 500, общей для многих устаревших систем ПЛК, является то, что метки адреса для входных и выходных битов явно ссылаются на физическое расположение каналов ввода-вывода.
      Например, если 8-канальная плата дискретного ввода вставлена в слот 4 ПЛК Allen Bradley SLC 500, и вы хотите указать второй бит (бит 1 из диапазона от 0 до 7), вы должны адресовать его с помощью следующая этикетка: I:4/1.
      Для обращения к седьмому биту (бит номер 6) на карте дискретного вывода, подключенной к слоту 3, потребуется метка O:3/6. В любом случае числовая структура этой метки точно указывает, где реальный входной сигнал подключается к ПЛК.
      Пример отображения памяти ПЛК
      Чтобы проиллюстрировать взаимосвязь между физическим вводом-выводом и битами в памяти ПЛК, рассмотрим этот пример ПЛК Allen-Bradley SLC 500, показывающий, что один из его дискретных входных каналов находится под напряжением (переключатель используется в качестве «пускового» переключателя для электрического мотор):

      Если карта ввода или вывода имеет более 16 бит – как в случае с 32-битной платой дискретного вывода, показанной в слоте 3 примера стойки SLC 500 – схема адресации далее подразделяет каждый элемент на слова и биты (каждое «слово» »имеет длину 16 бит).
      Таким образом, адрес бита номер 27 32-битного модуля ввода, подключенного к слоту 3, будет I:3.1/11 (поскольку бит 27 эквивалентен биту 11 слова 1 – слово 0 адресует биты с 0 по 15 и слово 1 адресует биты с 16 по 31):

      На фотографии крупным планом 32-битной платы ввода постоянного тока для системы ПЛК Allen-Bradley SLC 500 показана такая многословная адресация:

      Первые шестнадцать входных точек на этой плате (левая группа светодиодов с номерами от 0 до 15) имеют адреса от I:X.0/0 до I:X.0/15, где «X» относится к номеру слота, в котором находится карта. подключен в. Следующие шестнадцать входных точек (правая группа светодиодов с номерами от 16 до 31) имеют адреса от I:X.1/0 до I:X.1/15.
      Устаревшие системы ПЛК обычно обозначают каждый из каналов ввода-вывода такими метками, как «I:1/3» (или эквивалентными), указывающими фактическое расположение клеммы входного канала на блоке ПЛК.
      Стандарт программирования IEC 61131-3 называет эту канальную адресацию точек данных ввода-вывода прямой адресацией. Синонимом прямой адресации является абсолютная адресация.
      Адресация битов ввода-вывода непосредственно по меткам их карт, слотов и/или клемм может показаться простой и элегантной, но становится очень обременительной для больших систем ПЛК и сложных программ.
      Каждый раз, когда техник или программист просматривает программу, он должен «перевести» каждую из этих меток ввода-вывода на какое-либо реальное устройство (например, «Вход I:1/3 на самом деле является кнопкой запуска двигателя смесителя средней емкости). »), чтобы понять функцию этого бита.
      Более поздней попыткой повысить ясность программирования ПЛК стала концепция адресации переменных в памяти ПЛК с помощью произвольных имен, а не фиксированных кодов.
      Стандарт программирования IEC 61131-3 называет это символической адресацией в отличие от «прямой» (на основе канала) адресации, что позволяет программистам произвольно называть каналы ввода-вывода способами, которые имеют смысл для системы в целом.
      Если использовать наш простой пример переключателя «Пуск» двигателя, то теперь программист может назначить вход I:1/3 (пример прямого адреса) как «Выключатель запуска двигателя» (пример символического адреса) внутри программы, что значительно повышает читаемость программы ПЛК.
      Первоначальные реализации этой концепции поддерживали прямые адреса для точек ввода-вывода, при этом символические имена появлялись как дополнения к абсолютным адресам.
      Современная тенденция в адресации ПЛК заключается в том, чтобы вообще избегать использования прямых адресов, таких как I:1/3, чтобы они не появлялись нигде в программном коде.
      Серия программируемых логических контроллеров Allen-Bradley «Logix» является наиболее ярким примером этой новой конвенции на момент написания этой статьи.
      Каждой точке ввода-вывода, независимо от типа или физического местоположения, присваивается имя тега, имеющее смысл в реальном мире, и эти имена тегов (или символы, как их альтернативно называют) привязаны к абсолютным местоположениям каналов ввода-вывода. по файлу базы данных.
      Важным требованием к именам тегов является отсутствие пробелов между словами (например, вместо «Выключатель запуска двигателя» в имени тега должны использоваться дефисы или знаки подчеркивания в качестве пробелов: «Выключатель запуска двигателя»), поскольку обычно предполагаются пробелы. языками программирования в качестве разделителей (разделителей между разными переменными).
      Введя нотацию адресации Аллена-Брэдли для ПЛК модели SLC 500, я теперь откажусь от нее в пользу современного соглашения о символической адресации в остальных статьях, чтобы избежать привязки примеров программирования к конкретной марке или модели. Каждая точка данных в моих программах ПЛК будет иметь собственное имя тега, а не метку прямого (на основе канала) адреса.

    • При разработке логики ПЛК вам необходимо позаботиться об именах, которые вы присваиваете тегам. Он должен быть легко понятен и интерпретирован любым программистом. Оно не должно быть ни слишком длинным, ни слишком коротким.
      Соглашение об именах важно, поскольку неправильное присвоение тегов может вызвать у программистов проблемы при устранении неполадок. Кроме того, присвоение длинных имен приведет к использованию памяти ПЛК. Таким образом, каждый программист должен следовать правилам именования перед написанием программы ПЛК. В этом посте мы рассмотрим концепцию соглашений об именах тегов ПЛК.
      Соглашения об именах тегов ПЛК

      Прежде всего, давайте поймем, какую важную роль в программировании ПЛК играет соглашение об именовании тегов. У вас есть двигатель с командой запуска и обратной связью по запуску в качестве ввода-вывода ПЛК.
      Двигатель расположен в воздуходувной камере и используется в качестве воздушного компрессора. Имя тега двигателя в P&ID — M-101. Теперь для программиста ПЛК важно определить местоположение тега. Итак, существует два типа мышления, которые обычно определяют программиста ПЛК.
      Первый попытается дать как можно больше информации в имени тега; поэтому он может назвать команду запуска двигателя M101_Compressor_Run_Command. Второй попытается дать имя Q_M101_Comp.
      Второй вариант мышления выглядит очень ясным, поскольку он дает короткие имена и сохраняет их длину как можно меньше. Именно по этой причине присвоение имени тегу ПЛК важно, поскольку оно освобождает программиста от чтения таких длинных тегов в ситуациях, когда требуется срочное устранение неполадок. (Следует отметить, что в именах тегов ПЛК не допускается никаких специальных символов, кроме подчеркивания (_)).
      Имя тега ПЛК должно содержать информацию, которая может помочь программисту понять его значение. Обычно это подразумевает следующую информацию:
      тип данных (например, логический, целочисленный), поток данных (например, ввод, вывод), область действия (например, локальная, глобальная), тип прибора или устройства (например, двигатель, клапан, датчик), параметр процесса (например, давление, расход, температура) и расположение устройства. Стили имен тегов
      В соответствии со стандартами IEC существуют различные стили, которым необходимо следовать для правильного наименования.
      Давайте посмотрим на некоторые из наиболее часто используемых:
      Верблюжий стиль, Паскаль Стиль, Змеиный стиль, Префикс со стилем типа данных Верблюжий стиль
      В этом стиле между ними нет подчеркивания. Полное имя дается всему слову, но каждое слово в нем начинается с заглавной буквы. Например, возьмем рассмотренный выше пример.
      M101_Compressor_Run_Command будет записан как m101CompressorRunCommand. Каждое слово можно определить по заглавной букве.
      Первая буква будет обязательной строчной. Этот стиль хорошо смотрится, если слово маленькое. Это предотвращает использование подчеркивания и снижает потребление памяти.
      Паскаль Стиль
      Это похоже на верблюжий стиль; с той лишь разницей, что первая буква будет обязательно заглавной.
      Например, наш тег будет записан как M101CompressorRunCommand.
      Змеиный стиль
      Пример, который мы обсуждали ранее, — это стиль змеи. Здесь каждое слово будет отделено подчеркиванием.
      Префикс со стилем типа данных
      Здесь тег будет иметь префикс типа данных имени тега. В нашем случае тип тега был логическим. Согласно стандартам IEC, логическому тегу обычно присваивается префикс «x».
      Итак, наш стиль будет записан как xM101CompressorRunCommand. Это помогает программисту определить, какой тип данных используется для этого конкретного тега.
      Советы по присвоению имен тегам при программировании ПЛК
      Первое и главное правило: длина тега должна быть небольшой, но не настолько, чтобы ее никто не мог понять. Как обсуждалось, длина должна содержать соответствующую информацию правильной длины. Следует строго избегать длинных названий.
      Следуйте общим стилям именования тегов, которые обсуждались. Они соответствуют стандартам IEC и делают логику аккуратной и понятной.
      Чтобы уменьшить количество ошибок при создании тегов, используйте файлы Excel. Excel значительно снижает рабочую нагрузку, поскольку дублирование и копирование становится очень простым. В файлах Excel практически не возникают ошибки.
      Не всегда необходимо использовать для слова полное имя. Например, клапан можно записать как vlv, а температуру — как temp.
      Не делайте тег полностью заглавными. Это выглядит громоздко и неуместно для чтения.

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

      Решение проблемы
      Существует множество способов написать программу для управления светофором, например: метод вывода секвенсора, но при этом обычном вводе используются выходные данные и таймеры. Таймеры используются для задержки времени включения и выключения выхода. Катушка сброса используется в конце для непрерывного запуска программы. Блоки компараторов используются для уменьшения количества используемых таймеров. Программа выполнена в программном обеспечении AB RSLogix 500. Список входов и выходов для системы управления дорожным движением

      Программа ПЛК для системы управления трехсторонним движением


      В столбце ниже приведены шаги или последовательность выходов для включения.

      Логическое описание ПЛК для трехсторонней системы управления движением
      РУНГ000 :
      Это фиксирующая ступень для управления системой посредством главного запуска и остановки PB.
      RUNG001 и RUNG0002:
      Запускаем таймер для включения первого выхода West Green, поэтому восток и запад должны быть красными.
      Компараторы в параллельной цепочке используются для выключения восточного красного цвета через 15 секунд. Бит синхронизации таймера T4:2 в параллельном контакте используется для повторного включения восточного красного цвета на 5-м и 6-м шагах. (Пояснения см. в столбце таблицы выше)
      РУГ 0003 :
      Включение North Red до 3-го шага с использованием бита синхронизации таймера T4:0 и T4:1 и блоков компаратора.
      Ранг 0004:
      Включите Восток-желтый на 5 секунд, используя блоки компаратора. (Шаг 2-й)
      Звонок 0005-0006-0007-0008-0009-0010:
      Те же самые процедуры были выполнены для включения дальнейших выходов. (Последовательность операций см. в столбце таблицы)
      ЗУЧОК 0011:
      Катушка сброса включается с использованием бита готовности T4:2, чтобы перезапустить цикл с начала.
      Программа работает непрерывно до тех пор, пока не будет нажата кнопка STOP PB.
      Заключение:
      Вышеописанное трехстороннее управление светофором с использованием ПЛК приведено только в качестве примера. Оно может отличаться от реального времени. Мы можем использовать этот пример программы, чтобы понять работу таймеров и функции блока компаратора в ПЛК AB.

    • Эта статья о программировании двуручного управления, используемого в печатной отрасли.
      Целью этой программы является обеспечение безопасности для предотвращения несчастных случаев со смертельным исходом. Ниже показано, как выглядит пресс-машина и почему мы заботимся о безопасности. Как видите, для управления прессом используются кнопки. Центральная пластина прижимается к поверхности заготовки, когда мы нажимаем кнопки.
      Для управления прессом необходимо одновременно нажать две кнопки, как показано на анимации ниже.

      Когда оператор одной рукой нажимает кнопку, а второй рукой прижимает пластину к поверхности, он может пораниться. Мощная сила толкания пластины может легко сжать руки, если оператор попытается маневрировать в спешке.
      Ниже я объяснил программу, используемую для предотвращения подобных инцидентов с помощью портала Siemens TIA.
      На рисунке ниже показан пресс-машина, имеющая два входа и один выход. Входы подключены к модулю цифровых входов (DI) ПЛК, а один выход подключен к модулю цифровых выходов (DO).
      Ниже приведен список входов и выходов, используемых для программы.
      Входы:
      Кнопка (PB_1): I0.0 Кнопка (PB_2): I0.2 Выходы:
      Выход пресс-машины: Q0.0 Логика двуручного управления

      Логическое описание
      Сеть 1:
      Здесь две кнопки PB_1 и PB_2 соединены последовательно. Когда обе кнопки нажаты одновременно, сигнал пройдет через размыкающий контакт таймера Т0 и активирует выход.
      Сеть 2:
      Теперь, если нажата любая отдельная кнопка PB_1 или PB_2, то включается таймер задержки включения таймера T0 (S_ODT), в нашем случае через 5 секунд.
      Здесь также используется нормально замкнутый контакт выхода пресса после нажатия кнопки, потому что, если выход включен, он не позволит таймеру включиться.
      Таким образом, на выходе машины будет подаваться питание только тогда, когда обе кнопки будут нажаты вместе.

    • Хотя кажется, что каждая модель ПЛК имеет свой собственный стандарт программирования, существует международный стандарт программирования контроллеров, которому большинство производителей ПЛК, по крайней мере, пытаются соответствовать. Это стандарт IEC 61131-3, который станет стандартом
      Следует утешаться тем, что, несмотря на различия в деталях программирования ПЛК от одного производителя к другому и от одной модели к другой, основные принципы во многом одинаковы.
      Между различными языками программирования общего назначения (например, C/C++, BASIC, FORTRAN, Pascal, Java, Ada и т. д.) существуют гораздо большие различия, чем между языками программирования, поддерживаемыми разными ПЛК, и этот факт не мешает программистам быть «многоязычным».
      Я лично написал и/или проанализировал программы для более чем полдюжины различных производителей ПЛК (Allen-Bradley, Siemens, Square D, Koyo, Fanuc, Moore Products APACS и QUADLOG и Modicon), с несколькими моделями ПЛК в большинстве этих брендов, и я могу вам сказать, что различия в соглашениях по программированию в основном незначительны.
      Научившись программировать одну модель ПЛК, довольно легко адаптироваться к программированию других марок и моделей ПЛК.
      Языки программирования ПЛК
      Стандарт IEC 61131-3 определяет пять различных форм языка программирования для промышленных контроллеров:
      Лестничная диаграмма (LD) Структурированный текст (СТ) Список инструкций (IL) Функциональная блок-схема (FBD) Последовательная функциональная схема (SFC) Не все программируемые логические контроллеры поддерживают все пять языковых типов, но почти все они поддерживают лестничные диаграммы (LD), которым и будет посвящена данная книга.
      Языки программирования для многих промышленных устройств ограничены дизайном.
      Одной из причин этого является простота: любой язык программирования, достаточно простой по структуре для понимания человеком, не имеющим формальных знаний в области компьютерного программирования, будет ограничен в своих возможностях.
      Другой причиной ограничений программирования является безопасность: чем более гибким и неограниченным является язык программирования, тем больше вероятность непреднамеренного создания сложных ошибок «время выполнения» при программировании.
      Стандарт безопасности ISA номер 84 классифицирует промышленные языки программирования как языки фиксированного программирования (FPL), языки ограниченной вариативности (LVL) или языки полной вариативности (FVL).
      Программирование лестничных диаграмм и функциональных блок-схем считается языками «ограниченной вариативности», тогда как список инструкций (и традиционные языки компьютерного программирования, такие как C/C++, FORTRAN, BASIC и т. д.) считаются языками «полной вариативности» со всеми сопутствующий потенциал для сложных ошибок.

    • Возможно, самая важная, но неуловимая концепция, которую нужно усвоить при обучении программированию ПЛК, — это взаимосвязь между электрическим состоянием точек ввода-вывода ПЛК и состоянием переменных и других «элементов» в его программировании.
      Это особенно актуально для программирования лестничных диаграмм (LD), где сама программа напоминает электрическую схему.
      Установление мысленной связи между «реальным» миром переключателей, контакторов и других электрических устройств, подключенных к ПЛК, и «воображаемым» миром программы ПЛК, состоящей из виртуальных контактов и «обмоток» реле, является наиболее фундаментальным.
      Первое фундаментальное правило, которое следует иметь в виду при изучении программы ПЛК с релейной диаграммой, заключается в том, что каждый виртуальный контакт, показанный в программе, срабатывает всякий раз, когда он считывает состояние «1» в соответствующем бите, и находится в состоянии покоя всякий раз, когда он считывает «0». состояние в соответствующем бите (в памяти ПЛК).
      Если контакт относится к нормально открытому (НО) типу, он размыкается, когда его бит равен 0, и закрывается, когда его бит равен 1. Если контакт относится к нормально закрытому типу (НЗ), он закрывается, когда его бит равен 0. и открывается, когда его бит равен 1.
      Состояние 0 бит приводит к тому, что контакт находится в «нормальном» (покойном) состоянии, тогда как состояние 1 бит активирует контакт, переводя его в ненормальное (сработанное) состояние.
      Еще одно правило, которое следует помнить при изучении программы ПЛК с релейной диаграммой, заключается в том, что программное обеспечение для программирования предлагает цветовое выделение (Примечание 1) для отображения виртуального состояния каждого элемента программы: цветной контакт закрыт, а неокрашенный контакт открыт.
      Хотя наличие или отсутствие символа косой черты указывает на нормальное состояние контакта, его цветовая подсветка, отображаемая программным обеспечением ПЛК, показывает «проводящее» состояние элементов в реальном времени.
      Примечание 1: Следует отметить, что в некоторых ситуациях программное обеспечение для программирования не сможет правильно раскрасить контакты, особенно если их состояние меняется слишком быстро, чтобы канал связи программного обеспечения мог успевать за ним, и/или если бит(ы) меняют состояние несколько раз. раз за одно сканирование программы. Однако для простых программ и ситуаций это правило справедливо и является большим подспорьем для начинающих программистов, когда они изучают взаимосвязь между условиями реального мира и условиями в «виртуальном» мире ПЛК.
      Заблуждения о лестничной логике ПЛК
      В следующей таблице показано, как два типа контактов в программе лестничной диаграммы ПЛК реагируют на состояния битов, используя красный цвет для обозначения виртуальной проводимости каждого контакта:

      Точно так же, как контакты реле давления срабатывают в условиях высокого давления, контакты реле уровня срабатывают в условиях высокого уровня, а контакты температурного реле срабатывают в условиях высокой температуры, так и виртуальный контакт ПЛК срабатывает в условиях высокого давления. битовое состояние (1). В контексте любого переключателя активированное состояние является противоположностью его нормального состояния (покоя).
      На следующей упрощенной иллюстрации (электрическая проводка, показанная на этой схеме, неполная, для простоты «Общая» клемма показана неподключенной) показан небольшой ПЛК, два дискретных входных канала которого находятся под электрическим напряжением, в результате чего эти два бита имеют «1». » статусы.
      Выделенные цветом контакты на дисплее программного редактора программирования показывают набор контактов, адресованных этим входным битам в различных состояниях (цветной = замкнутый; неокрашенный = разомкнутый).
      Как видите, каждый контакт, адресованный «установленному» биту (1), находится в активированном состоянии, тогда как каждый контакт, адресованный «сброшенному» биту (0), находится в нормальном состоянии:

      Помните, что цветной контакт — это закрытый контакт. Контакты, выделенные цветом, являются либо нормально замкнутыми контактами с состоянием бита «0», либо нормально разомкнутыми контактами с состоянием бита «1».
      Именно комбинация состояния бита и типа контакта (НО или НЗ) определяет, будет ли виртуальный контакт разомкнутым (нецветным) или закрытым (цветным) в любой момент времени.
      Соответственно, это комбинация цветного выделения и типа виртуального контакта, которая указывает реальное состояние подачи питания на конкретный вход ПЛК в любой момент времени.
      Основная проблема студентов/инженеров при понимании программ релейных диаграмм ПЛК заключается в том, что они чрезмерно упрощают и пытаются напрямую связать реальные переключатели, подключенные к ПЛК, с соответствующими контактными инструкциями внутри программы ПЛК.
      Студенты/инженеры ошибочно полагают, что реальный переключатель, подключаемый к ПЛК, и соответствующий контакт виртуального переключателя внутри программы ПЛК — это одно и то же, хотя это совсем не так.
      Скорее, реальный переключатель подает питание на вход ПЛК, который, в свою очередь, контролирует состояние виртуальных контактов, запрограммированных в ПЛК.
      В частности, я вижу, что студенты/инженеры регулярно впадают в следующие заблуждения:
      Ошибочно полагать, что тип инструкции контакта (НО или НЗ) должен совпадать с типом связанного с ним реального переключателя. Ошибочно думать, что цветовая подсветка команды контакта эквивалентна электрическому состоянию соответствующего реального входа ПЛК. Ошибочно полагать, что замыкание реального переключателя должно приводить к команде замыкания контакта в работающей программе ПЛК. Чтобы внести ясность, вот основные правила, которые следует учитывать при интерпретации контактных инструкций в программах ПЛК релейных диаграмм:
      Каждый входной бит в памяти ПЛК будет равен «1», когда на его входной канал подается питание, и будет равен «0», когда его входной канал обесточен. Каждый виртуальный контакт, показанный в программе, срабатывает всякий раз, когда он считывает состояние «1» в соответствующем бите, и находится в состоянии покоя, когда он считывает состояние «0» в соответствующем бите. Цветной контакт закрыт (передает виртуальное питание в программе ПЛК), а неокрашенный контакт открыт (блокирует виртуальное питание в программе ПЛК). При попытке понять программы лестничных диаграмм ПЛК важность этих правил невозможно переоценить.
      На самом деле между реальным переключателем и статусом контактной инструкции существует причинно-следственная цепочка, а не прямая эквивалентность.
      Реальный переключатель контролирует, достигает ли электрическая мощность входного канала ПЛК, что, в свою очередь, определяет, будет ли бит входного регистра равным «1» или «0», что, в свою очередь, определяет, будет ли активирована команда контакта или нет. отдых.
      Таким образом, виртуальные контакты внутри программы ПЛК контролируются соответствующими реальными переключателями, а не просто идентичны своим реальным аналогам, как склонны предполагать новички.
      Следуя этим правилам, мы видим, что инструкции нормально разомкнутых (НО) контактов будут имитировать то, что делают их реальные переключатели, тогда как инструкции нормально замкнутых (НЗ) контактов будут действовать противоположно своим реальным аналогам.
      Цветовое выделение инструкций катушки в программе ПЛК лестничной схемы подчиняется аналогичным правилам. Катушка будет включена (цветная), когда все команды контактов перед ней замкнуты (цветные).
      Цветная катушка записывает «1» в соответствующий бит памяти, а инструкция неокрашенной катушки записывает «0» в соответствующий бит памяти. Если эти биты связаны с реальными дискретными выходными каналами ПЛК, их состояния будут управлять реальной подачей питания на устройства, электрически подключенные к этим каналам.
      Чтобы дополнительно прояснить эти фундаментальные концепции, мы рассмотрим работу простой системы ПЛК, предназначенной для подачи питания на сигнальную лампу в случае, если в технологическом сосуде возникает высокое давление жидкости.
      Задача ПЛК состоит в том, чтобы включить сигнальную лампу, если давление в технологическом резервуаре когда-либо превысит 270 фунтов на квадратный дюйм, и поддерживать эту сигнальную лампу включенной, даже если давление упадет ниже точки срабатывания 270 фунтов на квадратный дюйм. Таким образом, операторы будут получать оповещения как о прошлых, так и о текущих событиях, связанных с избыточным давлением в технологическом резервуаре.
      «Линейное» питание 120 В переменного тока (L1 и L2) обеспечивает электроэнергию для работы ПЛК, а также потенциал сигнала для входных переключателей и питание контрольной лампы.
      К входу этого ПЛК подключаются два переключателя: один нормально разомкнутый кнопочный переключатель, действующий как сброс аварийного сигнала (нажатие этого переключателя «разблокирует» сигнальную лампу), и один нормально разомкнутый переключатель давления, действующий как чувствительный элемент высокого давления в технологическом резервуаре:

      Кнопка сброса подключается к дискретному входу X1 ПЛК, а переключатель давления подключается к дискретному входу X4. Контрольная лампа подключается к дискретному выходу Y5.
      Красные светодиодные индикаторы рядом с каждой клеммой ввода-вывода визуально указывают электрическое состояние точек ввода-вывода, а выделение красным цветом показывает состояние виртуального питания (Примечание 2) «контактов» и «обмоток» в программе ПЛК. отображается на экране персонального компьютера, подключенного к ПЛК через кабель программирования.
      Если никто не нажимает кнопку сброса, этот переключатель будет в своем нормальном состоянии, которое для «нормально разомкнутого» переключателя разомкнуто.
      Аналогично с реле давления: при технологическом давлении ниже точки срабатывания 270 фунтов на квадратный дюйм реле давления также будет находиться в нормальном состоянии, которое для «нормально разомкнутого» переключателя разомкнуто.
      Поскольку ни один из переключателей в данный момент не проводит электричество, ни дискретный вход X1, ни X4 не будут под напряжением. Это означает, что «виртуальные» контакты внутри программы ПЛК также будут находиться в своих нормальных состояниях.
      Таким образом, любой виртуальный контакт, изображенный как нормально разомкнутый, будет разомкнут (не передавая виртуальную энергию), а любой виртуальный контакт, изображенный как нормально закрытый (диагональная косая черта через символ контакта), будет закрыт.
      Вот почему два нормально открытых виртуальных контакта X4 и Y5 не имеют подсветки, а нормально закрытый виртуальный контакт X1 имеет цветную подсветку, обозначающую способность передавать виртуальную мощность.
      Примечание 2. Для контакта программы ПЛК затенение представляет виртуальную «проводимость». Для программной катушки ПЛК затенение представляет собой установленный (1) бит.
      Если в технологическом сосуде оказывается высокое давление (> 270 фунтов на квадратный дюйм), сработает реле давления, закрывая его нормально разомкнутый контакт. Это подаст напряжение на вход X4 ПЛК, что «замкнет» виртуальный контакт X4 в лестничной программе.
      При этом виртуальная мощность передается на виртуальную «катушку» Y5, которая, в свою очередь, замыкается через виртуальный контакт Y5 (примечание 3), а также подает питание на реальный дискретный выход Y5 для включения контрольной лампы:

      Примечание 3: Стоит отметить правомерность ссылки виртуальных контактов на выходные биты (например, контакт Y5), а не только на входные биты.
      «Виртуальный контакт» внутри программы ПЛК — это не что иное, как команда процессору ПЛК прочитать состояние бита в памяти. Не имеет значения, связан ли этот бит с физическим входным каналом, физическим выходным каналом или каким-то абстрактным битом в памяти ПЛК.
      Однако было бы неправильно связывать виртуальную катушку с входным битом, поскольку инструкции катушки записывают значения битов в память, а входные биты должны управляться исключительно состояниями включения их физических входных каналов.
      Если теперь технологическое давление упадет ниже 270 фунтов на квадратный дюйм, реле давления вернется в свое нормальное состояние (разомкнуто), тем самым обесточивая дискретный вход X4 на ПЛК.
      Однако из-за фиксирующего контакта Y5 в программе ПЛК выход Y5 остается включенным, чтобы сигнальная лампа оставалась включенной:

      Таким образом, контакт Y5 выполняет функцию уплотнения, сохраняя бит Y5 установленным (1) даже после устранения состояния высокого давления.
      Это в точности та же концепция, что и «запечатываемый» вспомогательный контакт в проводной цепи пускателя двигателя, где электромеханический контактор сохраняет напряжение после отпускания кнопки «Пуск».
      Единственный способ для человека-оператора переустановить контрольную лампу — это нажать кнопку.
      Это приведет к подаче питания на вход X1 ПЛК, тем самым размыкая виртуальный контакт X1 (нормально закрытый) в программе, тем самым прерывая виртуальное питание виртуальной катушки Y5, тем самым выключая сигнальную лампу и разблокируя виртуальное питание в программа:


    • Счетчик — это инструкция ПЛК, которая либо увеличивает (считает вверх), либо уменьшает (считает вниз) значение целого числа при появлении запроса на переход бита от 0 к 1 («ложь» на «истина»).
      Инструкции счетчика бывают трех основных типов:
      счетчики вверх, счетчики вниз и счетчики вверх/вниз. Команды счетчиков «вверх» и «вниз» имеют одиночные входы для запуска счетчиков, тогда как счетчики «вверх/вниз» имеют два триггерных входа: один для увеличения счетчика, а другой для уменьшения счетчика.
      Инструкции счетчика ПЛК
      Чтобы проиллюстрировать использование команды счетчика, мы проанализируем систему на базе ПЛК, предназначенную для подсчета объектов, проходящих по конвейерной ленте:

      В этой системе непрерывный (непрерывный) световой луч заставляет датчик освещенности замыкать выходной контакт, подавая питание на дискретный канал IN4.
      Когда объект на конвейерной ленте прерывает световой луч от источника к датчику, контакт датчика размыкается, прерывая подачу питания на вход IN4.
      Кнопочный переключатель, подключенный для активации дискретного входа IN5, при нажатии будет служить ручным «обнулением» значения счета.
      Индикаторная лампа, подключенная к одному из каналов дискретного вывода, будет служить индикатором превышения значения счетчика объектов некоторого заданного предела.
      Теперь мы проанализируем простую программу лестничной диаграммы, предназначенную для увеличения команды счетчика каждый раз, когда световой луч прерывается:

      Эта конкретная команда счетчика (CTU) является инкрементным счетчиком, что означает, что она ведет счет «вверх» при каждом переходе из выключенного состояния во включенное на свой вход «CU».
      Нормально закрытый виртуальный контакт (объект датчика IN) обычно удерживается в «разомкнутом» состоянии, когда световой луч непрерывен, поскольку датчик удерживает этот дискретный входной канал под напряжением, пока луч непрерывен.
      Когда луч прерывается проходящим по конвейерной ленте объектом, входной канал обесточивается, в результате чего объект датчика виртуального контакта IN «замыкается» и отправляет виртуальную мощность на вход «CU» инструкции счетчика.
      Это увеличивает счетчик так же, как передний край объекта разрывает луч. Второй вход блока инструкций счетчика («R») является входом сброса, на который поступает виртуальная энергия от контакта IN, переключателя сброса при каждом нажатии кнопки сброса. Если этот вход активирован, счетчик немедленно сбрасывает свое текущее значение (CV) на ноль.
      Индикация состояния отображается в этой программе лестничной диаграммы, при этом заданное значение счетчика (PV) 25 и текущее значение счетчика (CV) 0 показаны синим цветом.
      Заданное значение — это то, что запрограммировано в инструкции счетчика перед вводом системы в эксплуатацию, и оно служит порогом для активации выхода счетчика (Q), который в этом случае включает индикаторную лампу счета (катушка OUT отсчетов достигла).
      Согласно стандарту программирования IEC 61131-3, этот выход счетчика должен активироваться всякий раз, когда текущее значение равно или превышает заданное значение (Q активен, если CV ≥ PV).
      Это состояние той же программы после прохождения тридцати объектов мимо датчика на конвейере.
      Как видите, текущее значение счетчика увеличилось до 30, превысив заданное значение и активировав дискретный выход:

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

      Здесь вход «нагрузка» приводит к тому, что текущее значение счетчика становится равным заданному значению (25) при активации.
      С каждым полученным импульсом датчика инструкция счетчика уменьшается. Когда он достигает нуля, активируется выход Q.
      Потенциальная проблема в любой версии этой системы подсчета объектов заключается в том, что ПЛК не может различать движение вперед и назад на конвейерной ленте.
      Если, например, конвейерная лента когда-либо поменяет направление, датчик продолжит считать объекты, которые уже прошли мимо (в прямом направлении), когда эти объекты отступят на ленту.
      Это будет проблемой, поскольку система будет «думать», что по ленте прошло больше объектов (что указывает на большую производительность), чем на самом деле.
      Одним из решений этой проблемы является использование реверсивного счетчика, способного как увеличивать (подсчитывать в сторону увеличения), так и уменьшать (отсчитывать в обратном направлении), и оснастить этот счетчик двумя датчиками светового луча, способными определять направление движения.
      Если два световых луча ориентированы параллельно друг другу, ближе ширины самого узкого объекта, проходящего по конвейерной ленте, у нас будет достаточно информации, чтобы определить направление движения объекта:

      Это называется синхронизацией квадратурного сигнала, поскольку два импульсных сигнала находятся на расстоянии примерно 90 градусов (одна четверть периода) друг от друга по фазе.
      Мы можем использовать эти два сдвинутых по фазе сигнала для увеличения или уменьшения команды реверсивного счетчика, в зависимости от того, какой импульс опережает, а какой отстает.
      Здесь показана программа ПЛК Ladder Diagram, предназначенная для интерпретации квадратурных импульсных сигналов, в которой используются контакты с отрицательным переходом, а также стандартные контакты:

      Счетчик будет увеличиваться (отсчитывать вверх), когда датчик B обесточивается, только если датчик A уже находится в обесточенном состоянии (т. е. световой луч A прерывается раньше B).
      Счетчик будет уменьшаться (обратный отсчет) при обесточивании датчика A только в том случае, если датчик B уже находится в обесточенном состоянии (т. е. световой луч B прерывается раньше A).
      Обратите внимание, что реверсивный счетчик имеет как вход «сброс» (R), так и вход «загрузка» («LD») для форсирования текущего значения.
      Активация входа сброса приводит к обнулению текущего значения счетчика (CV), как мы видели в случае с инструкцией счетчика «вверх».
      Затем активация входа нагрузки переводит текущее значение счетчика в заданное значение (PV), как мы видели в случае с инструкцией счетчика «вниз».
      В случае реверсивного счетчика имеется два выхода Q: QU (выход вверх), чтобы указать, когда текущее значение равно или больше заданного значения, и QD (выход вниз), чтобы указать, когда текущее значение значение равно или меньше нуля.
      Обратите внимание, как текущее значение (CV) каждого отображаемого счетчика связано с собственным именем тега, в данном случае подсчитываются части.
      Целое число текущего значения счетчика (CV) является переменной в памяти ПЛК, точно так же, как логические значения, такие как входной датчик A и сброс переключателя IN, и может быть точно так же связано с именем тега или символическим адресом.
      Это позволяет другим инструкциям в программе ПЛК считывать (а иногда и записывать!) значения из этой ячейки памяти и в нее.

    • Как мы видели на примере счетчиков и таймеров, некоторые инструкции ПЛК генерируют цифровые значения, отличные от простых логических сигналов (вкл/выкл).
      Счетчики имеют регистры текущего значения (CV), а таймеры — регистры прошедшего времени (ET), оба из которых обычно представляют собой целочисленные значения.
      Многие другие инструкции ПЛК предназначены для получения и обработки небулевых значений, подобных этим, для выполнения полезных функций управления.
      Стандарт IEC 61131-3 определяет множество инструкций сравнения данных для сравнения двух нелогических значений и генерации логических выходных данных.
      Инструкции по сравнению данных ПЛК
      Основные операции сравнения «меньше» (<), «больше» (>), «меньше или равно» (≤), «больше или равно» (≥), «равно» (=) , а «не равно» (6=) можно найти в стандарте IEC как серию «коробочных» инструкций:

      Выход Q для каждого «блока» команд активируется, когда оцениваемая функция сравнения имеет значение «истина» и вход разрешения (EN) активен.
      Если вход разрешения остается активным, но функция сравнения ложна, выход Q деактивируется. Если вход разрешения деактивируется, выход Q сохраняет свое последнее состояние.
      Практическое применение функции сравнения — это так называемое попеременное управление двигателем, при котором отслеживается время работы двух резервных электродвигателей, при этом ПЛК определяет, какой двигатель включить следующим, исходя из того, какой двигатель работал меньше всего:

      В этой программе два сохраняемых таймера задержки включения отслеживают общее время работы каждого электродвигателя, сохраняя значения времени работы в двух регистрах в памяти ПЛК:
      Время работы двигателя A и время работы двигателя B. Эти два целочисленных значения вводятся в поле инструкции «больше чем» для сравнения.
      Если двигатель A проработал дольше, чем двигатель B, двигатель B сможет запуститься при следующем нажатии кнопки «пуск».
      Если двигатель A проработал меньше времени или столько же времени, что и двигатель B (сценарий, показанный индикаторами состояния, выделенными синим цветом), двигатель A сможет запуститься.
      Два последовательно соединенных виртуальных контакта OUT Motor A и OUT Motor B гарантируют, что сравнение времени работы двигателя не будет производиться до тех пор, пока оба двигателя не будут остановлены.
      Если бы сравнение производилось постоянно, могла бы возникнуть ситуация, когда оба двигателя запустятся, если кто-то случайно нажмет кнопку «Пуск», когда один из двигателей уже работает.

    • Стандарт IEC 61131-3 определяет несколько специальных лестничных инструкций для выполнения арифметических вычислений. Некоторые из них показаны здесь:
      Математические инструкции ПЛК

      Как и в случае с инструкциями сравнения данных, каждая из этих математических инструкций должна быть активирована подачей сигнала на вход разрешения (EN). Входные и выходные значения связаны с каждой математической инструкцией по имени тега.
      Здесь показан пример использования таких инструкций, преобразующий измерение температуры в градусах Фаренгейта в градусы Цельсия.
      В этом конкретном случае программа вводит измеренное значение температуры 138 градусов по Фаренгейту и вычисляет эквивалентную температуру 58,89 градусов по Цельсию:

      а также специальную переменную (X), используемую для хранения промежуточных вычислений между «коробками» вычитания и деления.
      Хотя это не указано в стандарте IEC 61131-3, многие программируемые логические контроллеры поддерживают математические инструкции лестничных диаграмм, позволяющие прямой ввод произвольных уравнений.
      Например, программирование Rockwell (Allen-Bradley) Logix5000 имеет функцию «Вычисление» (CPT), которая позволяет вычислить любое типизированное выражение с помощью одной инструкции, а не использовать несколько специальных математических инструкций, таких как «Сложение», «Вычитание». ," и т. д.
      Математические инструкции общего назначения значительно сокращают длину лестничной программы по сравнению с использованием специальных математических инструкций для любых приложений, требующих нетривиальных вычислений.
      Например, та же программа преобразования температур по Фаренгейту в Цельсия, реализованная в программировании Logix5000, требует только одной математической инструкции и не требует объявления промежуточных переменных:


    • Таймер — это инструкция ПЛК, измеряющая время, прошедшее после события.
      Инструкции таймера бывают двух основных типов: таймеры задержки включения и таймеры задержки выключения. Команды таймера «задержка включения» и «задержка выключения» имеют одиночные входы, запускающие таймерную функцию.
      Таймер задержки включения активирует выход только тогда, когда вход был активен в течение минимального периода времени.
      Инструкции таймера ПЛК
      Возьмем, к примеру, эту программу ПЛК, предназначенную для подачи звукового сигнала сирены перед запуском конвейерной ленты.
      Чтобы запустить двигатель конвейерной ленты, оператор должен нажать и удерживать кнопку «Пуск» в течение 10 секунд, в течение этого времени звучит сирена, предупреждающая людей о необходимости покинуть конвейерную ленту, которая вот-вот запустится.
      Только после этой 10-секундной задержки двигатель фактически запускается (и фиксируется во включенном состоянии):

      Подобно счетчику «вверх», значение истекшего времени (ET) таймера задержки включения увеличивается один раз в секунду до тех пор, пока не будет достигнуто заданное время (PT), после чего активируется его выход (Q).
      В этой программе заданное значение времени составляет 10 секунд, что означает, что выход Q не активируется, пока переключатель «Пуск» не будет нажат в течение 10 секунд.
      Выход тревожной сирены, который не активируется таймером, включается сразу же при нажатии кнопки «Старт».
      Важная деталь, касающаяся работы этого конкретного таймера, заключается в том, что он не сохраняет данные.
      Это означает, что инструкция таймера не должна сохранять значение прошедшего времени, когда вход деактивирован.
      Вместо этого значение прошедшего времени должно сбрасываться обратно в ноль каждый раз, когда вход деактивируется. Это гарантирует автоматический сброс таймера, когда оператор отпускает кнопку «Старт».
      Напротив, таймер задержки включения с сохранением сохраняет значение истекшего времени, даже когда вход деактивирован. Это делает его полезным для хранения «общего» времени для какого-либо события.
      Большинство ПЛК предоставляют сохраняемые и несохраняемые версии инструкций таймера задержки включения, так что программист может выбрать подходящую форму таймера задержки включения для любого конкретного приложения.
      Однако стандарт программирования IEC 61131-3 решает проблему таймеров с сохранением и таймеров без сохранения немного по-другому.
      В соответствии со стандартом IEC 61131-3 команда таймера может быть указана с дополнительным входом разрешения (EN), который заставляет команду таймера вести себя без сохранения при активации и с сохранением при деактивации.
      Общая концепция входа разрешения (EN) заключается в том, что команда ведет себя «нормально», пока вход разрешения активен (в этом случае действие по времени без сохранения считается «нормальным» в соответствии со стандартом IEC 61131-3). , но инструкция «приостанавливает» все выполнение всякий раз, когда вход разрешения деактивируется.
      Такое «замораживание» работы приводит к сохранению значения текущего времени (CT), даже если входной сигнал деактивируется.
      Например, если бы мы хотели добавить в нашу систему управления конвейером таймер с сохранением данных для регистрации общего времени работы двигателя конвейера, мы могли бы сделать это, используя «включенную» инструкцию таймера IEC 61131-3, например:

      Когда бит контактора двигателя (контактор OUT) активен, таймер включается и ему разрешено отсчитывать время.
      Однако, когда этот бит деактивируется (становится «ложным»), инструкция таймера в целом отключается, что приводит к ее «зависанию» и сохранению текущего значения времени (CT) (Примечание 1).
      Это позволяет запускать и останавливать двигатель, при этом таймер ведет подсчет общего времени работы двигателя.
      Примечание 1: Сигнал «выход разрешения» (ENO) в команде таймера служит для указания статуса команды: он активируется, когда активируется вход разрешения (EN), и деактивируется, когда либо вход разрешения деактивируется, либо команда генерирует сигнал разрешения. состояние ошибки (как определено внутренним программированием производителя ПЛК). Выходной сигнал ENO не служит никакой полезной цели в этой конкретной программе, но он доступен, если есть необходимость, чтобы другие звенья программы были «осведомлены» о состоянии таймера времени выполнения.
      Если бы мы хотели дать оператору возможность вручную сбросить значение общего времени работы до нуля, мы могли бы подключить дополнительный переключатель к карте дискретного входа ПЛК и добавить в программу контакты «сброса» следующим образом:

      Всякий раз, когда нажимается переключатель «Сброс», таймер включается (EN), но вход синхронизации (IN) отключается, что заставляет таймер (без сохранения) сбросить свое текущее значение времени (CT) на ноль.
      Другим основным типом инструкций таймера ПЛК является таймер задержки выключения. Эта инструкция таймера отличается от команды с задержкой включения тем, что функция отсчета времени начинается сразу после деактивации инструкции, а не при ее активации.
      Таймер задержки выключения применяется для управления двигателем охлаждающего вентилятора большого промышленного двигателя.
      В этой системе ПЛК запускает электрический вентилятор охлаждения, как только обнаруживается, что двигатель вращается, и поддерживает работу этого вентилятора в течение двух минут после выключения двигателя для рассеивания остаточного тепла:

      Когда вход (IN) этой инструкции таймера активируется, выход (Q) немедленно активируется (без задержки вообще), чтобы включить контактор двигателя охлаждающего вентилятора.
      Это обеспечивает охлаждение двигателя, как только он начинает вращаться (что определяется переключателем скорости, подключенным к дискретному входу ПЛК).
      Когда двигатель перестает вращаться, переключатель скоростей возвращается в нормально разомкнутое положение, деактивируя входной сигнал таймера, который запускает отсчет времени.
      Выход Q остается активным, пока таймер отсчитывает от 0 до 120 секунд.
      Как только оно достигает 120 секунд, выход деактивируется (отключается двигатель охлаждающего вентилятора), а значение прошедшего времени остается на уровне 120 секунд до тех пор, пока вход снова не активируется, после чего он сбрасывается обратно на ноль.
      На следующих временных диаграммах сравниваются таймеры задержки включения и таймеры задержки выключения:

      Хотя инструкции ПЛК с задержкой включения, предлагаемые как в сохраняемой, так и в несохраняемой форме, являются обычным явлением в наборах команд почти каждого производителя и модели ПЛК, найти инструкции таймера выключения с сохраняемой задержкой практически невозможно. Обычно таймеры задержки выключения не сохраняют свою работоспособность (Примечание 2).
      Примечание 2: Входные сигналы разрешения (EN), указанные в стандарте программирования IEC 61131-3, делают возможным использование таймеров задержки отключения с сохранением (путем деактивации входа разрешения, сохраняя при этом вход «IN» в неактивном состоянии), но учитываются при этом. Имейте в виду, что большинство реализаций таймеров ПЛК не имеют отдельных входов EN и IN. Это означает, что (для большинства инструкций таймера ПЛК) единственным входом, доступным для активации таймера, является вход «IN», и в этом случае невозможно создать сохраняемый таймер с задержкой выключения (поскольку значение истекшего времени такого таймера будет немедленно восстановлено). -устанавливается на ноль каждый раз при повторной активации входа).

×
×
  • Create New...