Jump to content

Лестничная логика

Лестничная логика изначально представляла собой письменный метод документирования проектирования и изготовления релейных стоек , используемых в производстве и управлении технологическими процессами . [1] Каждое устройство в релейной стойке будет представлено символом на лестничной схеме с указанием соединений между этими устройствами. Кроме того, на лестничной диаграмме также будут показаны другие элементы, внешние по отношению к релейной стойке, такие как насосы, нагреватели и т. д.

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

Часть лестничной схемы, включая контакты и катушки, блоки сравнения, таймеры и моностабильные мультивибраторы.

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

Мотивацией для представления последовательной логики управления в виде лестничной диаграммы было дать возможность заводским инженерам и техническим специалистам разрабатывать программное обеспечение без дополнительной подготовки для изучения такого языка, как ФОРТРАН или другого компьютерного языка общего назначения. Разработка и обслуживание были упрощены из-за сходства со знакомыми аппаратными системами реле. [2] Реализации релейной логики могут иметь такие характеристики, как последовательное выполнение и поддержка функций потока управления, которые делают аналогию с аппаратным обеспечением несколько неточной.

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

Синтаксис и примеры

[ редактировать ]

Сам язык можно рассматривать как набор связей между логическими контролерами (контактами) и исполнительными механизмами (катушками). Если между левой стороной ступеньки и выходом можно проследить путь через подтвержденные (истинные или «замкнутые») контакты, ступенька истинна, а бит хранения выходной катушки установлен (1) или истинен. Если путь не проследить, то на выходе ложь (0) и «катушка» по аналогии с электромеханическими реле считается «обесточенной». Аналогия между логическими предложениями и статусом релейного контакта принадлежит Клоду Шеннону .

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

Так называемые «контакты» могут относиться к физическим («жестким») входам программируемого контроллера от физических устройств, таких как кнопки и концевые выключатели, через встроенный или внешний модуль ввода, или могут представлять состояние битов внутренней памяти, которые могут быть сгенерированы. в другом месте программы.

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

Вход цепочки
Шашки (контакты)
  • —[ ]— Нормально разомкнутый контакт, замыкается всякий раз, когда соответствующая катушка или вход, который им управляет, находится под напряжением. (Открытый контакт в состоянии покоя.)
  • —[\]— Нормально закрытый («не») контакт, замкнутый, когда соответствующая катушка или вход, который им управляет, не находится под напряжением. (Замкнутый контакт в состоянии покоя.)
Выход цепочки
Актуаторы (катушки)
  • —( )— Обычно неактивная катушка, на которую подается напряжение всякий раз, когда ее ступенька замкнута. (Неактивен в состоянии покоя.)
  • —(\)— Обычно активная («не») катушка, на которую подается напряжение всякий раз, когда ее ступенька разомкнута. (Активен в состоянии покоя.)

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

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

Логическое И

[ редактировать ]
 -----[ ]-------------[ ]------------------( )
   Key switch 1    Key switch 2        Door motor

Вышеупомянутое реализует функцию: Дверной двигатель = Ключевой переключатель 1 И Ключевой переключатель 2.

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

Логическое И с НЕ

[ редактировать ]
 ------[ ]--------------[\]----------------( )
   Close door      Obstruction         Door motor

Вышеупомянутое реализует функцию: Двигатель двери = Закрыть дверь И НЕ (Препятствие).

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

Логическое ИЛИ

[ редактировать ]
 --+-------[ ]-------+-----------------( )
   | Exterior unlock |                 Unlock
   |                 |
   +-------[ ]-------+
     Interior unlock

Вышеупомянутое реализует функцию: Разблокировка = Внутренняя разблокировка ИЛИ Внешняя разблокировка.

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

Промышленный СТОП/СТАРТ

[ редактировать ]

В обычной промышленной логике пуска/останова с фиксацией у нас есть кнопка «Пуск» для включения контактора двигателя и кнопка «Стоп» для выключения контактора.

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

 --+----[ ]--+----[\]----( )
   |   Start |   Stop    Run
   |         |
   +----[ ]--+
        Run
 -------[ ]--------------( )
        Run             Motor

Вышеупомянутое реализует функцию: Run = (Start OR Run) AND ( NOT Stop)

Такая конфигурация защелки является общепринятой идиомой в релейной логике. Ее также можно назвать логикой запечатывания . Ключом к пониманию защелки является признание того, что переключатель «Пуск» является переключателем мгновенного действия (как только пользователь отпускает кнопку, переключатель снова размыкается). Как только соленоид «Работа» срабатывает, он замыкает NO-контакт «Работа», который фиксирует соленоид. Размыкание переключателя «Пуск» не оказывает никакого эффекта.

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

По соображениям безопасности аварийный останов («ES») может быть подключен последовательно с выключателем «Пуск», и логика реле должна это отражать.

 --[\]----[\]----+--[ ]--+---------( )
   ES    Stop    | Start |        Run
                 |       |
                 +--[ ]--+
                    Run
 -------[ ]--------------( )
        Run             Motor

Вышеупомянутое реализует функцию: Run = ( NOT ES) AND ( NOT Stop) AND (Start OR Run)

Сложная логика

[ редактировать ]

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

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

  1. Реализация функции: A/C = Переключатель И (Высокая температура ИЛИ Влажность).
        ----[ ]---------+----[ ]-----+----( )
          Switch        |   HiTemp   |    A/C
                        |            |
                        +----[ ]-----+
                            Humid
    
  2. Реализация функции: Охлаждение = кондиционер И ( НЕ обогрев).
        ----[ ]----[\]--------------------( )
            A/C    Heat                 Cooling
    

Это представляет собой немного более сложную систему для ступени 2. После оценки первой линии выходная катушка «A/C» подается на ступень 2, которая затем оценивается, и выходная катушка «Охлаждение» может быть подана в выходную ступень. устройство «Компрессор» или на третью ступень лестницы. Эта система позволяет разбивать и оценивать очень сложные логические конструкции.

Дополнительный функционал

[ редактировать ]

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

                              +-------+
  -----[ ]--------------------+  A    +----
   Remote unlock              +-------+
                           Remote counter
                              +-------+    
  -----[ ]--------------------+  B    +----
   Interior unlock            +-------+      
                          Interior counter 
                      +--------+
  --------------------+ A + B  +-----------
                      | into C |
                      +--------+
                         Adder

В этом примере система подсчитает количество нажатий кнопок внутренней и дистанционной разблокировки. Эта информация будет храниться в ячейках памяти A и B. В ячейке памяти C будет храниться общее количество раз, когда дверь была отперта электронным способом.

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

Ограничения и последующие языки

[ редактировать ]

Лестничная запись лучше всего подходит для задач управления, где только двоичные переменные требуются и где блокировка и последовательность двоичных данных являются основной проблемой управления. Как и во всех языках параллельного программирования , последовательный порядок операций может быть неопределенным или неясным; условия логической гонки Возможны , которые могут привести к неожиданным результатам. Чтобы избежать этой проблемы, сложные ступени лучше разбить на несколько более простых шагов. Некоторые производители избегают этой проблемы, явно и полностью определяя порядок выполнения цепочки, однако у программистов все еще могут возникнуть проблемы с полным пониманием возникающей сложной семантики.

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

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

Популярность

[ редактировать ]

В 2019 году IEEE Spectrum поставил релейную логику на 50-е место из 52-го в списке популярных языков программирования. [3]

См. также

[ редактировать ]
  1. ^ «Основы лестничной логики» . Лестничная логика использует контакты переключателей или реле для реализации логических выражений. В прошлые годы релейная логика стала возможной благодаря дискретным реле, и ее иногда называли релейной логикой.
  2. ^ Эдвард В. Кеймен, Промышленный контроль и производство , (Academic Press, 1999) ISBN   0123948509 , Глава 8. Релейные логические схемы и реализации ПЛК.
  3. ^ «Интерактив: лучшие языки программирования» . IEEE-спектр . Архивировано из оригинала 18 сентября 2019 г.

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 60cbaae9c7d73d0d6e2c92f6fd637938__1719785280
URL1:https://arc.ask3.ru/arc/aa/60/38/60cbaae9c7d73d0d6e2c92f6fd637938.html
Заголовок, (Title) документа по адресу, URL1:
Ladder logic - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)