Программирование ПЛК имеет пять типов языков – релейная логика, список инструкций, структурированный текст, функциональная блок-схема и последовательная блок-схема. Каждый тип языка ПЛК имеет свои собственные достоинства и недостатки. Хотя некоторые языки выглядят хорошо визуально и просты в устранении неполадок, другие языки имеют меньшее потребление памяти и более высокую скорость обработки.
Одним из самых основных используемых языков ПЛК является список инструкций. Он не так известен, как другие языки, и используется только несколькими программистами ПЛК из-за устаревшей технологии, но все еще доступен почти во всем программном обеспечении производителей ПЛК. В этой статье мы рассмотрим концепцию языка списка инструкций в ПЛК.
Что такое список инструкций?
Программа ПЛК, написанная на языке списка инструкций, состоит из ряда инструкций, которые последовательно выполняются логическим контроллером. Каждая инструкция представлена одной строкой программы и состоит из следующих компонентов:
- Номер строки
- Текущее значение (только в режиме онлайн)
- Оператор инструкции
- Операнд(ы)
- Необязательный комментарий
По сути, если вы видели традиционный язык ассемблера, используемый в микропроцессорах, то вы легко поймете этот язык. Его также можно назвать смесью релейной логики и структурированного текста. Релейная логика в том смысле, что инструкции должны быть написаны линейным образом, и структурированный текст в том смысле, что мнемоники используются в словах.
Для большего понимания обратитесь к изображению ниже. На первом изображении показана логика ПЛК, написанная на релейном языке. Логика такова: %M3 включится, если включен %M0 и включен %M1 или включен %M2.
Теперь обратитесь к логике ниже для списка инструкций. Вы можете видеть, что каждая строка имеет только один компонент: в первой строке есть %M0, а во второй строке есть %M1, выполняющий логику И со следующей строкой.
Третья строка содержит %M2, выполняющий логику ИЛИ с предыдущей строкой, четвертая строка закрывает команды, а пятая строка включает выход %M3. Таким образом, это представление как релейной логики, так и структурированного текста.
Компоненты списка инструкций
Основные компоненты списка инструкций ПЛК указаны ниже.
- Номер строки — четырехзначные номера строк генерируются при создании новой строки программы и автоматически управляются программным обеспечением. На рисунке выше это можно увидеть как от 0000 до 0004.
- Текущие значения — в режиме онлайн вы можете видеть текущие значения каждого элемента, как показано на рисунке ниже. На изображении ниже во время онлайн-анимации это указано как истина или ложь.
- Операторы инструкций — этот оператор является типом команды для выполнения инструкции. Его также можно назвать входной и выходной стороной записанной логики. Это мнемонический символ, который используется для обозначения типа команды, которая должна быть выполнена на стороне выхода, а также того, как сторона выхода будет ее выполнять. Например, на изображении выше LD обозначает загрузку, которая начинает выполнение путем загрузки значения первого бита, AND/OR обозначает логические инструкции, а ST обозначает сохранение значений результата в бите назначения.
- Комментарий — это необязательно. Он позволяет программисту написать любой комментарий, который поможет ему легко устранить неполадки в логике.
Список инструкций в программировании ПЛК
Некоторые из списка инструкций ПЛК указаны ниже.
- LD — загружает логическое значение операнда в аккумулятор.
- LDN — загружает инвертированное логическое значение операнда в аккумулятор.
- LDR — загружает логическое значение операнда в аккумулятор, когда значение изменяется с 0 на 1 (нарастающий фронт).
- LDF — загружает логическое значение операнда в аккумулятор, когда значение изменяется с 1 на 0 (падающий фронт).
- AND — выполняет операцию AND между предыдущим результатом и текущим операндом.
- ANDN — выполняет операцию AND между предыдущим результатом и инверсией текущего операнда.
- ANDR — выполняет операцию AND между предыдущим результатом и нарастающим фронтом текущего операнда.
- ANDF — выполняет операцию AND между предыдущим результатом и спадающим фронтом текущего операнда.
- OR — выполняет операцию OR между предыдущим результатом и текущим операндом.
- NOT — выполняет обратную операцию операнда.
- ST — принимает значение сгенерированного результата.
- STN — принимает обратное значение сгенерированного результата.
- S — выполняет операцию установки операнда.
- R — выполняет операцию сброса операнда.
Помимо этого, в нем есть и другие инструкции, такие как переход, подпрограмма, конец, И с, ИЛИ с и т. д. в зависимости от производителя ПЛК.
Таким образом, мы увидели концепцию списка инструкций в программировании ПЛК.