3.4 ЯзыкInstructionList(il)
Язык Список команд (InstructionList) – это унификация интерфейса языка программирования низкого уровня, неориентированного на какую-либо микропроцессорную архитектуру. Происхождение базовых конструкций языка –STEP5 (Siemens). У языкаILесть очень важное качество: на его основе можно создавать оптимальные по быстродействию программные единицы.
Программа, написанная на языке IL, состоит из набора инструкций, выполняемых ПЛК последовательно (рис 3.3). Каждая инструкция состоит из кода инструкций и операнда.
Например: LD%I 1.0, гдеLD– код инструкции,I 1.0 – операнд.
Инструкции активизируют:
Входы/выходы ПЛК.
Стандартные системные управляющие функции (таймеры, счетчики).
Арифметические и логические операции и операции пересылки.
Внутренние переменные ПЛК.
Существуют два типа инструкций:
Проверочные инструкции, которые содержат условия, необходимые для того, чтобы выполнилось действие, например, LD,AND,OR.
Инструкции действия, которые активизируют действие, следующее за проверочной последовательностью, например, ST,STN,R.
Рис. 3.3. Фрагмент программы на языке IL
Список базовых инструкций языкаILприведен в таблице 3.6.
Таблица 3.6. Базовые инструкции языка IL
Наименование | Инструкции | Описание |
Проверочные инструкции | LD,LDN,LDR,LDF | Инструкции загрузки |
AND,ANDN,ANDR,ANDF | Инструкции логического И | |
OR,ORN, ORR, ORF | Инструкции логического ИЛИ | |
AND, OR | (8 уровней вложения) | |
XOR,XORN,XORR,XORF | исключающее ИЛИ | |
| ||
MPS MRD МРР |
| |
N | отрицание | |
Инструкции действия | ST, STN, S, R | –( )– –( / )– –( S )– –( R )– |
JMP, JMPC, JMPCN | Используется для перехода (безусловного, условного при булевском результате равном 1, или условного при булевском результате равном 0) на помеченную инструкцию, которая может быть расположена в списке инструкций как перед текущей инструкцией, так и после нее. | |
SRn | Используется для перехода к началу подпрограммы. | |
RET, RETC, RETCN | Возврат из подпрограммы (безусловный, условный при булевском результате, равном 1, условный при булевском результате, равном 0). | |
END,ENDC,ENDCN | Конец программы (безусловный, условный при булевском результате, равном 1, условный при булевском результате, равном 0). | |
HALT | Выполнение программы останавливается. | |
Проверочные элементы | Блоки: таймер; счетчик; одновибратор; регистр; контроллер барабана | Существуют инструкции для управления каждым из стандартных функциональных блоков. Для активизации вводов/выводов функциональных блоков используется специальная структурная форма. |
LD[.....] AND[.....] OR[.....] Пример: LD[%MW10<1000] | Используются для сравнения двух операндов. Выход становится равным 1, если при выполнении проверочной операции получаем истинный результат. Результат равен 1, если содержимое ячейки памяти для переменной MW10 меньше 1000. | |
Элементы действия | [.......] | Элементы выполняют логические, арифметические и другие операции. Используется синтаксис языка ST. |
Пример: [%MW10:=%MW0+100] | К содержимому ячейки памяти для переменной MW0 прибавляется 100; полученная сумма размещена в ячейке памяти внутренней переменной MW10. |
Программой является последовательность инструкций. Каждая последовательность должна содержать одну или несколько проверочных инструкций. Результаты проверочных инструкций используются в одной или нескольких инструкциях действия. Каждая инструкция занимает одну строку. Последовательность инструкций начинается с восклицательного знака (он формируется автоматически). Восклицательный знак может включать комментарий и может быть идентифицирован меткой.
Пример:
! | (*Waitingfordrying*) |
| %L2: |
| LD%I0.1 |
| AND %М10 |
| ST%Q2.5 |
Комментарий может быть расположен в начале последовательности инструкций. Он может занимать до 3-х строк (т.е. 222 алфавитно-цифровых символов) и должен быть обрамлен символами (*и*). На мониторе воспроизводится только первая строка комментария. Если последовательность удаляется, то удаляется также связанный с ней комментарий.
Метка может быть назначена один раз для единственной последовательности инструкций в данном программном объекте. Для обеспечения соответствующих связей при программном переходе последовательность должна быть помечена.
Система сканирует последовательность инструкций в том порядке, как они были введены независимо от значений чисел, используемых при формировании меток.
Круглые скобки могут быть использованы в инструкциях ANDиOR. Действие скобок наглядно демонстрируется при сопоставлении с соответствующими Лестничными Диаграммами. Открывающаяся круглая скобка связана с соответствующей инструкцией AND или OR. Закрывающаяся круглая скобка является инструкцией и обязательна для каждой открытой скобки.
Пример:AND(
| LD | % I1.0 |
AND | %I1.1 | |
OR | %I1.2 | |
ST | % Q2.0 | |
|
| |
LD | %I1.0 | |
AND( | %I1.1 | |
OR | %I1.2 | |
) |
| |
ST | %Q2.0 |
Для круглых скобок допускается до восьми уровней вложения. При их применении следует соблюдать следующие правила:
За каждой открывающей круглой скобкой должна последовать закрывающая скобка.
Метки не должны располагаться в выражении между круглыми скобками. Это правило справедливо также для инструкций перехода и вызова подпрограмм.
Инструкции обозначенные – ST,STN,SиRне могут быть запрограммированы между круглыми скобками.
Существуют три типа инструкций, которые используются для обработки содержимого ячеек в особом порядке. Они используют буфер в виде стека, который способен запоминать вплоть до трех битов булевских данных.
Инструкция MPS (Memory PuSh) запоминает на вершине стека последний результат проверочной инструкции и сдвигает другие данные в направлении дна стека.
Инструкция MRD (Memory ReaD) считывает содержимое вершины стека.
Инструкция МРР (Memory PoP) считывает вершину стека и сдвигает другие данные в нем в направлении вершины стека.
Эти инструкции не используются в выражениях между круглыми скобками.
Программы списка команд выполняются последовательно – инструкция за инструкцией.
Первой инструкцией обязательно должна быть либо LD, либо инструкция безусловного перехода (JMP). Все инструкции (за исключениемLDиJMP) используют булевский результат предыдущей инструкции.
Пример:
LD | %I1.1 | Булевский результат = состоянию бита %.I1.1. |
AND | %М0 | Булевский результат = ANDпредыдущего булевского результата и состояния бита %М0. |
OR | %М10 | Булевский результат = ORпредыдущего булевского результата и состояния бита %М10. |
ST | %Q2.0 | Бит %Q2.0 принимает состояние предыдущего булевского результата. |
Последовательность инструкций может быть изменена инструкциями JMPи вызова подпрограмм. Пример:
! | LD | %М0 |
| Если %М0=1, то переход на метку %L10 | |
| JMPC | %L10 | |||
! | LD | %I1.1 | |||
| AND | %М10 | |||
| ST | %Q2.0 | |||
! | %L10: |
| |||
| LD | %I1.3 | |||
| AND | %М20 | |||
………………….. |
- Микропроцессорные средства автоматизации
- Содержание
- Глава 14. Применение микро-эвм в системах регулирования и управления 184
- Введение
- 1. Основные определения и классификация микропроцессорных средств автоматизации
- 2. Дискретная автоматика
- 2.1. Формы представления информации
- 2.2. Способы представления дискретной информации
- 2.3. Системы счисления, используемые в вычислительной технике
- 2.3.1. Способы представлений информации для микропроцессора
- 2.4. Булевы функции
- 2.4.1. Система равносильных преобразований
- 2.5. Синтез систем дискретной автоматики
- 2.5.1. Синтез дискретных схем по таблицам состояний.
- 2.5.2. Синтез многотактных систем дискретной автоматики
- 3. Промышленные сети
- 3.1. Структура промышленных сетей
- 3.1.1. Топология промышленных сетей
- 3.2. Аппаратные интерфейсы пк
- 3.2.1. СтандартRs-232c
- 3.2.2. Последовательная шинаUsb
- 3.3. Универсальный асинхронный приемопередатчик
- 3.4. Физические интерфейсы
- 3.4.1. ИнтерфейсRs-485
- 3.4.1.1. Автоматический преобразователь интерфейсовUsb/rs-485 овен ас4
- 3.4.2. Интерфейс «Токовая петля»
- 3.4.2.1. Адаптер интерфейса овен ас 2
- 3.5. Протоколы промышленных сетей
- 3.5.1. ПротоколModbus
- 3.5.2.Hart-протокол
- 3.5.4. Сеть profibus
- 3.5.5. Описание шиныCan
- 2.8.1.1. Организация сети can
- 2.8.1.2. Физический уровень канала can.
- 2.8.1.3. Арбитраж шины can.
- 2.8.1.4. Структура формата передачи данных
- 2.8.1.1. Форматы кадра
- Механизм обработки ошибок.
- Адресация и протоколы высокого уровня
- 5.8. Универсальная сеть Foundation Fieldbus
- 5.9. Физическая среда передачи данных
- 3. Языки программирования логических контроллеров
- 3.1 Объекты адресации языков программирования плк
- 3.2 ЯзыкLadderDiagram(ld)
- 3.3 Язык Functional Block Diagrams (fbd)
- 3.4 ЯзыкInstructionList(il)
- 3.5. Язык структурированного текста
- 3.5.1. Применение управляющих структур Условное действиеIf...End_if
- Условное итеративное действие while...End_while
- Условное итеративное действиеRepeat...End_repeat
- Повторяющееся действиеFor...End_for
- Выход из цикла посредством инструкции exit
- 3.6. Язык последовательных функциональных схем
- 5.4. Пример
- 4. Элементы микропроцессорных устройств
- 4.1 Цифро-аналоговые преобразователи
- 4.1.1 Принципы построения основных узлов цап.
- 4.2 Аналого-цифровые преобразователи
- 4.2.1 Метод последовательного счета
- 4.2.2 Метод поразрядного кодирования
- 4.2.3 Метод считывания
- 5. Мини-контроллеры
- 5.1. Мини-контроллеры серииAlpha
- 5.2. Миниатюрные программируемые устройстваEasy
- 5.2.1. Управляющее релеEasy500
- 5.2.2. Управляющее реле Easy 700
- 5.2.3. Управляющее реле Easy 800
- 5.2.4. Модули расширенияEasy
- 5.2.5. Средства коммуникации устройств Easy
- 5.3. Интеллектуальные релеZelioLogic
- 5.3.1. Компактные и модульные интеллектуальные реле
- 5.3.2. Общие технические характеристики релеZelio Logic
- 5.3.3. ПреобразователиZelioAnalog
- 5.3.4. Средства коммуникации интеллектуальных релеZelio Logic
- 5.3.4.1. Коммуникационный модемный интерфейс
- 5.3.4.2. Протокол связиModbusslave
- 5.3.4.3. Протокол связиEthernetserver
- 5.3.5. Программное обеспечение интеллектуального реле
- 5.4. Универсальный логический модульLogo!
- 5.4.1. Типы базовых модулей logo!Basic
- 5.4.2. Модули расширения ввода/вывода сигналовLogo!
- 5.4.3. Коммуникационные модули logo!
- 5.4.4. ФункцииLogo!
- 5.4.4.1.6. Биты регистра сдвига
- 5.4.4.1.7. Клавиши управления курсором
- 5.4.4.1.8. Постоянные уровни
- 5.4.4.2. Группа базовых функций
- 5.4.4.3. Специальные функции
- 5.4.4.3.1. Список специальных функций
- 5.4.4.3.2. Примеры специальных функций
- 5.4.5. Объем памяти и размер коммутационной программы
- 6. Программируемы логические контроллеры
- 6.1. Программируемые контроллеры simatic s7-22x
- 6.1.1. Модули расширения вводов-выводов
- 6.1.2. Коммуникационные модули
- 6.1.3. Человеко-машинный интерфейс
- 6.2. Программируемый логический контроллер simatics7-224xp
- 6.2.1. Основы функционирования плк
- 6.2.1.1. Порядок чтения входов
- 6.2.1.2. Исполнение программы
- 6.2.1.3. Запись значений в выходы
- 6.2.2. Доступ к данным s7-200
- 6.2.3. Адресация встроенных входов/выходов и входов/выходов модулей расширения
- 6.2.4. Обмен данными в сети
- 6.3. Программируемые контроллеры simatic s7-300
- 6.3.1. Области применения
- 6.3.2. Состав
- 6.3.3. Сертификаты
- 6.4. Программируемые контроллеры simatic s7-400
- Модификации контроллеров
- 6.4.1. Области применения
- 6.4.2. Состав
- 6.4.3. Сертификаты
- 6.6 Контроллер логический программируемый овен плк150
- Глава 14. Применение микро-эвм в системах регулирования и управления
- 14.1. Управляющие эвм
- 14.2. Использование микро-эвм для оптимизации резки катаной заготовки ножницами
- 14.4. Система управления положением вторичного зеркала телескопа
- 14.5. Прямое цифровое регулирование
- 14.8. Микропроцессор как универсальный регулятор
- 14.9. Микропроцессор как основа нового поколения систем автоматизации
- 7 Системы диспетчерского управления и сбора данных
- 7.1 Scada-система InTouch ("Wonderware", сша)
- 7.2 Scada-система Trace Mode ("AdAstra Research Group", Россия)
- 7.3Scada-системаSimaticWinCc("Siemens", Германия)
- 7.4Scada-системы, встраиваемые в плк
- 9. Методика выбора по различных производителей
- Список литературы