Jump to content

xiangjinjiao

Staff group
  • Content Count

    21
  • Joined

  • Last visited

Community Reputation

0 Neutral

About xiangjinjiao

  • Rank
    Beginner PLC Programming Learner - 3
  1. Программируемые логические контроллеры предназначены для ввода различных типов сигналов (дискретных, аналоговых), выполнения алгоритмов управления на этих сигналах, а затем вывода сигналов в ответ на процессы управления. Сам по себе ПЛК обычно не имеет возможности отображать значения сигналов и переменные алгоритма операторам-человекам. Техник или инженер, имеющий доступ к персональному компьютеру и необходимому программному обеспечению для редактирования программы ПЛК, может подключиться к ПЛК и просматривать состояние программы «онлайн» для мониторинга значений сигналов и состояний переменных, но это непрактичный способ для эксплуатационного персонала. для регулярного мониторинга того, что делает ПЛК. Чтобы операторы могли отслеживать и корректировать параметры внутри памяти ПЛК, нам нужен другой тип интерфейса, позволяющий читать и записывать определенные переменные без ущерба для целостности ПЛК, предоставляя слишком много информации или позволяя любому неквалифицированному лицу изменять программу. сам. Одним из решений этой проблемы является специальный компьютерный дисплей, запрограммированный для обеспечения избирательного доступа к определенным переменным в памяти ПЛК, обычно называемый человеко-машинным интерфейсом или 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.
  2. Программирование лестничных диаграмм (LD) Наиболее распространенным языком, используемым для программирования ПЛК, является релейная диаграмма (LD), также известная как релейная логика (RLL). Это графический язык, показывающий логические связи между входами и выходами, как если бы они были контактами и катушками в проводной схеме электромеханического реле. Этот язык был изобретен специально для того, чтобы сделать программирование ПЛК «естественным» для электриков, знакомых с релейной логикой и схемами управления. Хотя программирование лестничных диаграмм имеет множество недостатков, оно остается чрезвычайно популярным в автоматизации промышленности. Каждая программа лестничных диаграмм устроена так, чтобы напоминать электрическую схему, что делает ее графическим (а не текстовым) языком программирования. Лестничные диаграммы следует рассматривать как виртуальные цепи, в которых виртуальная «энергия» течет через виртуальные «контакты» (когда они закрыты) для подачи питания на виртуальные «обмотки реле» для выполнения логических функций. Ни один из контактов или катушек, видимых в программе ПЛК лестничной схемы, не является реальным; скорее, они действуют на биты в памяти ПЛК, логические взаимосвязи между этими битами выражаются в форме диаграммы, напоминающей схему. редактируется на персональном компьютере: Программирование лестничных диаграмм На следующем снимке экрана компьютера показана типичная программа лестничной диаграммы. Контакты выглядят так же, как на логической схеме электрического реле – как короткие вертикальные сегменты линий, разделенные горизонтальным пространством. Нормально разомкнутые контакты пусты в пространстве между сегментами линий, а нормально закрытые контакты имеют диагональную линию, пересекающую это пространство. Катушки несколько отличаются друг от друга и выглядят как кружки или пары круглых скобок. Другие инструкции отображаются в виде прямоугольных прямоугольников. Каждая горизонтальная линия называется ступенькой, точно так же, как каждая горизонтальная ступенька стремянки называется «ступенью». Общей особенностью редакторов программ лестничных диаграмм, как видно на этом снимке экрана, является возможность выделения цветом тех виртуальных «компонентов» в виртуальной «схеме», готовых «проводить» виртуальную «энергию». В этом конкретном редакторе цвет, используемый для обозначения «проводимости», светло-синий. Другая форма индикации состояния, наблюдаемая в этой программе ПЛК, — это значения определенных переменных в памяти ПЛК, показанные красным текстом. Например, вы можете видеть, что катушка Т2 находится под напряжением в правом верхнем углу экрана (закрашена голубым цветом), а катушка Т3 — нет. Соответственно, каждый нормально разомкнутый контакт Т2 отображается цветным, что указывает на его «закрытое» состояние, тогда как каждый нормально закрытый контакт Т2 не имеет цвета. Напротив, каждый нормально разомкнутый контакт T3 не имеет цвета (поскольку катушка T3 обесточена), в то время как каждый нормально закрытый контакт T3 показан цветным, чтобы указать его проводящий статус. Аналогично, текущие значения счетчика таймеров T2 и T3 отображаются как 193 и 0 соответственно. Выходное значение поля математических инструкций равно 2400 и также показано красным текстом. Цветовое выделение компонентов лестничной диаграммы работает, конечно, только тогда, когда компьютер, на котором работает программное обеспечение для редактирования программы, подключен к ПЛК и ПЛК находится в режиме «запуска» (и функция «показать статус» программного обеспечения для редактирования включена). ). В противном случае лестничная диаграмма представляет собой не что иное, как черные символы на белом фоне. Подсветка состояния не только очень полезна при отладке программ ПЛК, но также служит неоценимой диагностической цели, когда технический специалист анализирует программу ПЛК, чтобы проверить состояние реальных устройств ввода и вывода, подключенных к ПЛК. Это особенно актуально, когда статус программы просматривается удаленно через компьютерную сеть, что позволяет обслуживающему персоналу исследовать системные проблемы, даже не находясь рядом с ПЛК!
  3. Основное различие между РСУ и ПЛК — это бизнес-модель, которую мы обсуждали при сравнении архитектуры РСУ и ПЛК. РСУ и архитектура ПЛК Можно сказать, что бизнес-модель 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, которые тестируются перед развертыванием, а также ограничиться одним контроллером сервера базы данных подсистемы ввода-вывода/операторской станцией ПЛК/ЧМИ, РСУ, системой ПЛК. широкие обновления версий и тестирование горячего переключения перед развертыванием. Таким образом, от гибкости ПЛК можно будет отказаться в пользу надежности РСУ.
  4. Расширенное программирование ПЛК для сортировки дефектных деталей, позволяющее различать хорошие и плохие детали, а затем транспортировать их по конвейерам. Расширенное программирование ПЛК для сортировки дефектных деталей Приведенное ниже моделирование показывает идентификацию хороших и плохих продуктов и сортировку продуктов по их качеству с использованием релейной логики ПЛК. Конвейеры используются для перемещения продукции. Конвейеры запускаются и останавливаются при доставке продукции на конвейер и во время бурения. Сверлильный станок используется для сверления изделий согласно проекту. Иногда операция сверления может повредить продукцию. Датчик определяет качество продуктов, и толкатель перемещает некачественные продукты в другой складской отсек. Входы и выходы ПЛК В таблице ниже перечислены необходимые входы и выходы системы ПЛК. Тип № устройства Имя устройства Действие Вход 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) в толкателе обнаруживает дефектную деталь, конвейер останавливается, и толкатель перемещает деталь на «дефектный» лоток. Помните, что при подаче команды на толкатель он полностью выдвигается. Когда команда ВЫКЛ, толкатель полностью втягивается. Деталь, прошедшая проверку, продолжает движение по конвейеру к лотку «ОК», расположенному в правом конце. Программирование ПЛК
  5. Это программа ПЛК для реализации программы подсчета объектов на движущемся конвейере. Подсчет движущихся объектов на конвейере Предметы движутся по конвейеру. Нам нужно подсчитать общее количество предметов, собранных в конце конвейера, и отобразить его на локальной панели управления. Напишите программу ПЛК для этого приложения. Диаграмма проблемы Решение проблемы Здесь мы используем лестничную программу ПЛК для реализации этой логики. Чаще всего для обнаружения объектов используются датчики приближения. Здесь мы устанавливаем датчик приближения для обнаружения частей или объектов, движущихся по конвейеру. Индуктивный датчик в основном используется для обнаружения металлических предметов. Для других типов объектов мы используем емкостный датчик приближения для обнаружения объектов, движущихся по конвейеру. Мы подключаем этот датчик к ПЛК и, используя логику счетчика, подсчитываем количество объектов и отображаем общее количество на дисплее локальной панели управления. Здесь мы используем счетчик 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. Используя эту концепцию, мы можем подсчитывать объекты, движущиеся по конвейеру или в любом другом приложении для подсчета. Эта логика является лишь частью или предназначена только для логики конкретного приложения. Все параметры, рассмотренные в примере, предназначены только для пояснения, в реальных приложениях параметры могут отличаться. Результат
  6. Это программа ПЛК для контроля въезда/выезда из подвала или подземной парковки. ПЛК Автостоянка описание проблемы Из-за переполненности мест мы сталкиваемся с множеством проблем с парковкой транспортных средств в подвалах или подземных помещениях торговых центров, гостиниц, комплексов и т. д. Это происходит из-за противоречия между быстро растущим количеством транспортных средств и ограниченным количеством парковочных мест в торговых центрах, магазинах и комплексах в городах. Результатом является явление «трудной парковки и беспорядочной парковки». Существующая проблема парковки оказывает серьезное влияние на качество жизни людей и состояние дорог. Диаграмма проблемы Решение проблемы С помощью простой автоматизации мы можем уменьшить проблему парковки автомобилей в подвале или под землей в торговых центрах, гостиницах, комплексах и т. д. Вход/выход в подвале представляет собой однополосный проход, и для управления автомобилями необходимы светофоры. Здесь мы рассматриваем две световые индикации для контроль автомобилей. Красный свет запрещает въезд и выезд автомобилей, а зеленый свет разрешает въезд и выезд автомобилей. Когда автомобиль въезжает в проход со стороны входа на первый этаж, оба красных света (первый этаж и подвал) будут включены. Въезд и выезд других автомобилей запрещен. во время процесса, пока автомобиль не пройдет через единственный проход. Когда проход свободен, оба зеленого света (первый этаж и подвал) будут включены и позволят другим автомобилям въехать с первого этажа или подвала. Первоначально мы будем держать зеленый свет включенным, а красный свет выключенным. Список входов и выходов Список входов Главный ПЕРЕКЛЮЧАТЕЛЬ: 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). Этот пример предназначен только для объяснения концепции, в этом примере учитываются не все параметры (например, система открытия/закрытия дверей, сигналы тревоги и т. д.). Результат Примечание. Приведенная выше логика ПЛК дает базовое представление о применении ПЛК для управления парковкой въездных/выездных ворот. Логика является ограниченным и неполным приложением.
  7. Разработайте примеры программирования ПЛК для промышленной автоматизации в соответствии с логикой, приведенной ниже: Пила, вентилятор и масляный насос включаются при нажатии кнопки пуска. Если пила проработала менее 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.
  8. Пример программирования ПЛК для управления несколькими двигателями для начинающих с использованием программного обеспечения ПЛК 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 представляет собой нормально закрытый контакт. Когда он включен, он не пропускает через себя ток. В результате ни один из выходов не будет включен.
  9. В конце 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», как это принято в схемах управления реле: В этой схеме лампа будет гореть до тех пор, пока какая-либо из кнопок остается ненажатой (ненажатой). Чтобы лампа погасла, нам придется активировать (нажать) все три переключателя, вот так:
  10. Основы лестничной диаграммы в программировании ПЛК Первоначально релейная логика представляла собой письменный метод документирования проектирования и изготовления релейных стоек, используемых в производстве и управлении технологическими процессами. Каждое устройство в релейной стойке должно было быть представлено символом на лестничной схеме с указанием соединений между этими устройствами. Кроме того, на лестничной диаграмме также будут показаны другие элементы, внешние по отношению к релейной стойке, такие как насосы, нагреватели и т. д. Релейная логика превратилась в язык программирования, который представляет программу в виде графической схемы, основанной на принципиальных схемах аппаратных средств релейной логики. Релейная логика используется для разработки программного обеспечения для программируемых логических контроллеров (ПЛК), используемых в приложениях промышленного управления. Название основано на наблюдении, что программы на этом языке напоминают лестницы с двумя вертикальными перекладинами и рядом горизонтальных перекладин между ними. Хотя лестничные диаграммы когда-то были единственной доступной формой записи программ программируемого контроллера, сегодня другие формы стандартизированы в 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 будет храниться общее количество раз, когда дверь была отперта электронным способом. ПЛК имеют множество типов специальных блоков. Они включают в себя таймеры, арифметические операторы и сравнения, поиск в таблицах, обработку текста, ПИД-регулятор и функции фильтрации. Более мощные ПЛК могут работать с группой ячеек внутренней памяти и выполнять операцию с диапазоном адресов, например, для моделирования физического последовательного барабанного контроллера или конечного автомата. В некоторых случаях пользователи могут определять свои собственные специальные блоки, которые по сути являются подпрограммами или макросами. Большая библиотека специальных блоков наряду с высокой скоростью исполнения позволили использовать ПЛК для реализации очень сложных систем автоматизации.
  11. Каждый программируемый логический контроллер должен иметь средства приема и интерпретации сигналов от реальных датчиков, таких как переключатели и энкодеры, а также иметь возможность осуществлять контроль над реальными элементами управления, такими как соленоиды, клапаны и двигатели. Это обычно известно как возможность ввода/вывода или ввода/вывода. Монолитные («кирпичики») ПЛК имеют фиксированное количество возможностей ввода-вывода, встроенных в устройство, тогда как модульные («стоечные») ПЛК используют отдельные «карты» печатной платы для обеспечения настраиваемых возможностей ввода-вывода. Модули ввода-вывода ПЛК Преимущества использования сменных карт ввода-вывода вместо монолитной конструкции ПЛК многочисленны. Во-первых и наиболее очевидным является тот факт, что отдельные карты ввода-вывода можно легко заменить в случае неисправности без необходимости замены всего ПЛК. Для пользовательских приложений можно выбрать конкретные карты ввода-вывода, отдавая предпочтение дискретным картам для приложений, использующих множество входов и выходов включения/выключения, или отдавая предпочтение аналоговым картам для приложений, использующих множество сигналов 4–20 мА и аналогичных сигналов. Некоторые ПЛК даже предлагают функцию горячей замены карт, что означает, что каждую карту можно извлечь и вставить новую без отключения питания процессора ПЛК и стойки. Обратите внимание, что не следует предполагать, что какая-либо система имеет карты с возможностью горячей замены, поскольку если вы попытаетесь заменить карту «вживую» в системе без этой функции, вы рискуете повредить карту и/или остальную часть устройства. он подключен! Некоторые ПЛК имеют возможность подключения к удаленным стойкам без процессора, заполненным дополнительными картами или модулями ввода-вывода, что позволяет увеличить количество каналов ввода-вывода сверх возможностей базового блока. Соединение главного ПЛК с удаленными стойками ввода-вывода обычно принимает форму специальной цифровой сети, которая может охватывать большие физические расстояния: Альтернативной схемой расширения системы является объединение нескольких ПЛК в сеть, где каждый ПЛК имеет собственную выделенную стойку и процессор. С помощью инструкций связи один ПЛК можно запрограммировать на чтение данных из другого ПЛК и/или запись данных в него, эффективно используя другой ПЛК в качестве расширения своего собственного ввода-вывода. Хотя этот метод дороже, чем удаленный ввод-вывод (когда в удаленных стойках отсутствуют собственные выделенные процессоры), он обеспечивает возможность автономного управления в случае разрыва сетевого соединения между процессорами ПЛК. Возможности ввода/вывода программируемых логических контроллеров бывают трех основных разновидностей: дискретные, аналоговые и сетевые.
  12. Существует множество ситуаций управления, требующих инициирования действий, когда в ПЛК реализуется определенная комбинация условий логических функций. Логические функции ПЛК Скажем, для автоматического сверлильного станка может быть условие, что двигатель сверла должен активироваться при активации концевых выключателей, которые указывают на наличие заготовки и положение сверла как находящееся на поверхности заготовки. Такая ситуация включает в себя логическую функцию И, причем условие 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)
  13. Программируемый логический контроллер (ПЛК) Вопросы и ответы Этот ПЛК используется для запуска и остановки электродвигателя, а также для его автоматического выключения при возникновении любого из трех условий «выключения»: Чрезмерная вибрация Перегрузка по току (перегрузка контакта нагревателя) Высокая температура обмотки Логика отключения двигателя с использованием программирования ПЛК Статус каждого контакта отключения следующий: Вибрационный контакт: закрывается, когда все в порядке, размыкается, когда вибрация становится чрезмерной. Контакт перегрузки: закрывается в норме, размыкается при перегрузке Температурный контакт: размыкается, когда все в порядке, закрывается, когда жарко. Нарисуйте программу релейной логики ПЛК для запуска и остановки этого двигателя. Обязательно сделайте программу фиксируемой, чтобы оператору не приходилось удерживать кнопку «Пуск», чтобы двигатель работал. Отвечать: Находите ли вы ошибки в логике? Поделитесь с нами через комментарии.
  14. Самыми элементарными объектами программирования лестничных диаграмм являются контакты и катушки, предназначенные для имитации контактов и катушек электромеханических реле. Контакты и катушки представляют собой дискретные элементы программирования, работающие с логическими состояниями переменных (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.
  15. В этом посте мы поймем, как фильтровать цифровые и аналоговые входы в ПЛК. Как сказано в теме, фильтрация — это средство удаления нежелательных всплесков сигналов, поступающих в ПЛК. Его роль заключается в устранении флуктуаций и передаче в ПЛК только правильных изменений сигнала в определенный момент времени. Внутри ПЛК сначала идет схема фильтра, а затем схема обработки ввода ПЛК, которая принимает окончательный отфильтрованный входной сигнал и использует его для своей логики. Фильтры цифрового входа ПЛК Давайте сначала рассмотрим цифровой вход. Роль входа с фильтром состоит в том, чтобы принять входной сигнал цифрового поля и передать его в схему обработки через фильтр. Если вы видите изображение ниже, оно состоит из двух частей. Прежде всего, зеленый кружок указывает, что изменение ввода будет принято, а красный кружок показывает, что изменение ввода не будет передано. В первой (выше) части есть два изменения, в которых много колебаний, и эти входные изменения будут обойдены. Есть два изменения, при которых нет колебаний, и это входное изменение будет передано в схему обработки. То же самое и со второй (ниже) частью теории. Это возможно с помощью фильтрации. Фильтрация определяется фактором или временем. Предположим, вы установили время 3 мс. Роль фильтра состоит в том, чтобы принимать только те входные изменения, которые остаются выше 3 мс. Если входные данные изменятся раньше, чем через 3 мс, то эти входные данные не будут учитываться и будут игнорироваться. Это означает, что короткими и высокочастотными импульсами помех можно будет пренебречь. Эта логика аналогична таймеру устранения дребезга, который мы прописываем в логике ПЛК. На изображении ниже лампа включится только тогда, когда входной сигнал кнопки запуска остается высоким в течение 3 секунд. Это та же самая логика, которая используется в цифровом проходном фильтре. Он передаст изменение входа в обрабатывающую часть только тогда, когда этот вход сохраняет состояние (высокий или низкий) в течение установленного времени. Помимо времени, как уже говорилось, некоторые ПЛК имеют возможность установки коэффициента вместо времени. Фактор рассчитывает внутреннее время и определяет уровень фильтрации. Чем выше значение коэффициента, тем выше мощность фильтрации. Фильтры аналогового входа ПЛК Теперь давайте посмотрим на фильтрацию аналоговых входов. Поскольку аналоговые входы по своей природе являются переменными, логика фильтра для них не может быть реализована так же, как для цифровых входов. Итак, в аналоговых входах используется логика усреднения. Фильтр усредняет значения, полученные за определенное время, и выдает среднее конечное значение за это время. Обратитесь к изображению ниже для исследования. Первый – синий цвет имеет коэффициент 1. Второй – зеленый цвет имеет коэффициент 2. Третий – оранжевый цвет имеет коэффициент 3. Четвертый – коричневый цвет имеет коэффициент 4. По мере увеличения значения коэффициента фильтра вы можете видеть, что форма сигнала улучшается за счет фильтрации сигнала с более резким значением. Через заданное время фильтр усреднит значения, полученные от входных данных; и на основе формул, используемых внутри него, он выдаст окончательный средний результат за раз. Таким образом, по мере увеличения коэффициента фильтра или веса мы получаем более точное значение аналогового сигнала с меньшими помехами. Обычно для этой цели используется фильтр первого прохода. Таким образом, мы приходим к выводу, что фильтрация очень полезна для уменьшения нежелательного шума на входе поля и передачи правильных значений, что также защитит входную цепь ПЛК от повреждения; если возникают какие-либо высокие или нежелательные пики.
×
×
  • Create New...