- •Содержание
- •5. Элементы языка программирования 66
- •6. Библиотека стандартных функциональных блоков 77
- •Введение
- •Общие сведения
- •Программистская модель плк с300
- •Внешний вид контроллера
- •Модули ввода/вывода
- •Распределение памяти контроллера
- •Программистская модель контроллера.
- •Регистры и флаги
- •Области операндов контроллера
- •Отображение входов и выходов
- •Область данных
- •Область меток
- •Область таймеров
- •Область счётчиков
- •Область периферии
- •Область расширенной периферии
- •Структура и обработка технологических программ
- •Система команд лмк
- •Логические команды
- •Команды присвоения битных операндов
- •Команды опроса битных переменных
- •Команды переходов
- •Команды пересылки
- •Арифметические команды
- •Команды сравнения
- •Логические байтовые и словные команды
- •Байтовые и словные команды сдвига
- •Индексная адресация.
- •Счетчики
- •Команды обработки счётчиков
- •Последовательность программирования счётчика
- •Примеры программирования счётчика
- •U е 5.0 ;Если сработал фотоэлемент на входе e5.0
- •Формат слова уставки счётчика
- •Таймеры
- •Команды обработки таймеров
- •Последовательность программирования таймера
- •Примеры программирования таймера
- •Формат слова уставки таймера
- •Организационные команды
- •Команды вызова, активизации и завершения блоков
- •Команды блокировки, деблокировки, задания допустимой длительности скана
- •Команды структурирования текста
- •Команды обработки канала связи
- •Элементы языка программирования
- •Организационные блоки
- •Особенности прерывания циклической обработки блоками ob2...Ob18
- •Программные блоки
- •Функциональные блоки
- •Формат функциональных блоков
- •Особенности использования формальных параметров
- •Блоки данных
- •Формат и использование блока назначений nb0
- •Комментарии к программе
- •Комментарий к строке
- •Комментарий к операнду
- •Комментарий к элементу цепи ркс и к цепи ркс
- •Библиотека стандартных функциональных блоков
- •Блоки организации связи по каналу “эвм”
- •Блоки обработки системы реального времени
- •Арифметические блоки
- •Блоки обработки модулей расширенной периферии
- •Системные блоки
- •Блоки регулирования
Система команд лмк
Логические команды
К логическим командам относятся команды, имеющие дело с логическим аккумулятором LA и битными операндами: входами, выходами, метками, логическими входами и выходами таймеров и счётчиков, битами в байтах и словах данных и расширенной периферии. Последовательность логических команд осуществляет опрос нескольких операндов друг за другом, связывает между собой их логические значения и результат помещает в LA. Многие другие команды могут прервать эту последовательность. Такие команды “заканчивают опрос”.
Команды присвоения битных операндов
В этих командах производится операция с указанным битным операндом.
1) = - присвоение.
Формат команды:
=Ех.у - присвоение значения LA биту из отображения входов;
= Aх.у - присвоение значения LA биту из отображения выходов;
= Мх.у - присвоение значения LA биту из области меток;
= =fo - присвоение значения LA формальному параметру.
где х - номер байта; y - номер бита; fo - формальный параметр (Ех.у, Aх.у, Мх.у).
Команда присваивает битному операнду инвертированное значение логического аккумулятора LA. Команда не меняет аккумуляторы и флаги.
Формат индексной команды = (подробнее см. п. 4.9 «Индексная адресация»):
B DWx(MWx) += Ex.y |
B DWx(MWx) += Aх.y |
B DWx(MWx) += Мх.y |
где DWx(MWx) - номер слова данных или меток, содержащего индекс; х - номер байта для входов, выходов и меток (Е, A, М); y - номер бита.
Во всех рассмотренных выше случаях применения команда = “заканчивает опрос”.
2) =N - инвертированное присвоение.
Формат команды:
=N Ех.у - присвоение инвертированного значения LA биту из отображения входов;
=N Aх.у - присвоение инвертированного значения LA биту из отображения выходов;
=N Мх.у - присвоение инвертированного значения LA биту из области меток;
=N =fo - присвоение инвертированного значения LA формальному параметру.
где х - номер байта; y - номер бита; fo - формальный параметр (Ех.у, Aх.у, Мх.у).
Команда присваивает битному операнду инвертированное значение логического аккумулятора LA. Команда не меняет аккумуляторы и флаги.
Формат индексной команды =N:
B DWx(MWx) +=N Ex.у |
B DWx(MWx) +=N Ax.у |
B DWx(MWx) +=N MX.у |
где DWx(MWx) - номер слова данных или меток, содержащего индекс; х - номер байта для входов, выходов и меток (Е, A, М); y - номер бита.
Во всех рассмотренных выше случаях применения команда =N “заканчивает опрос”.
3) =0 - присвоение значения 0.
Формат команды:
=0 Ех.у - присвоение значения 0 биту из отображения входов;
=0 Aх.у - присвоение значения 0 биту из отображения выходов;
=0 Мх.у - присвоение значения 0 биту из области меток;
=0 =fo - присвоение значения 0 формальному параметру.
где х - номер байта; y - номер бита; fo - формальный параметр (Ех.у, Aх.у, Мх.у).
Команда присваивает значение 0 битному операнду. Команда не меняет аккумуляторы и флаги.
Формат индексной команды =0:
B DWx(MWx) +=0 Ex.у |
B DWx(MWx) +=0 Aх.у |
B DWx(MWx) +=0 Мх.у |
где DWx(MWx) - номер слова данных или меток, содержащего индекс; х - номер байта для входов, выходов и меток (Е, A, М); y - номер бита.
Во всех рассмотренных выше случаях применения команда =0 “заканчивает опрос”.
4) =1 - присвоение значения 1.
Формат команды:
=1 Ех.у - присвоение значения 1 биту из отображения входов;
=1 Aх.у - присвоение значения 1 биту из отображения выходов;
=1 Мх.у - присвоение значения 1 биту из области меток;
=1 =fo - присвоение значения 1 формальному параметру
где х - номер байта; y - номер бита; fo - формальный параметр (Ех.у, Aх.у, Мх.у).
Команда присваивает значение 1 битному операнду. Команда не меняет аккумуляторы и флаги.
Формат индексной команды =1:
B DWx(MWx) +=1 Ex.у |
B DWx(MWx) +=1 Aх.у |
B DWx(MWx) +=1 Мх.у |
где DWx(MWx) - номер слова данных или меток, содержащего индекс; х - номер байта для входов, выходов и меток (Е, A, М); y - номер бита.
Во всех рассмотренных выше случаях применения команда =1 “заканчивает опрос”.
5) S - установка в 1.
Формат команды:
S Ех.у - установка в 1 бита из отображения входов, если LA=1;
S Aх.у - установка в 1 бита из отображения выходов, если LA=1;
S Мх.у - установка в 1 бита из области меток, если LA=1;
S =fo - установка в 1 формального параметра, если LA=1.
где х - номер байта; y - номер бита; fo - формальный параметр (Ех.у, Aх.у, Мх.у).
Команда устанавливает в 1 битный операнд, если LA=1, иначе битный операнд не изменяется. Изменяются флаги ZF, SF, PF. Флаги CF и OF сбрасываются в 0.
Формат индексной команды S:
B DWx(MWx) +S Ex.у |
B DWx(MWx) +S Aх.у |
B DWx(MWx) +S Мх.у |
где DWx(MWx) - номер слова данных или меток, содержащего индекс; х - номер байта для входов, выходов и меток (Е, A, М); y - номер бита.
Во всех рассмотренных выше случаях применения команда S “заканчивает опрос”.
6)R - сброс в 0.
Формат команды:
R Ех.у - сброс в 0 бита из отображения входов, если LA =1;
R Aх.у - сброс в 0 бита из отображения выходов, если LA=1;
R Мх.у - сброс в 0 бита из области меток, если LA=1;
R =fo - сброс в 0 формального параметра в ноль, если LA=1.
где х - номер байта; y - номер бита; fo - формальный параметр (Ех.у, Aх.у, Мх.у).
Команда сбрасывает в 0 битный операнд, если LA=1, иначе битный операнд не изменяется. Изменяются флаги ZF, SF, PF. Флаги CF и OF сбрасываются в 0.
Формат индексной команды R:
B DWx(MWx) +R Ex.у |
B DWx(MWx) +R Aх.у |
B DWx(MWx) +R Мх.у |
где DWx(MWx) - номер слова данных или меток, содержащего индекс; х - номер байта для входов, выходов и меток (Е, A, М); y - номер бита.
Во всех рассмотренных выше случаях применения команда R “заканчивает опрос”.
7) SU - установка бита слова данных в 1.
Формат команды:
SU DWх.у - установка бита слова данных в 1;
SU =fo.у - установка бита формального параметра в 1.
где х - номер слова данных; y - номер бита; fo - формальный параметр (DWx).
Команда устанавливает в 1 бит слова данных. Изменяются флаги ZF, SF, PF. Флаги CF и OF сбрасываются в 0.
Формат индексной команды SU:
B DWx(MWx)
+SU DWх.у
где DWx(MWx) - номер слова данных или меток, содержащего индекс; х - номер слова данных; y - номер бита.
Во всех рассмотренных выше случаях применения команда SU “заканчивает опрос”.
8) RU - сброс бита слова данных в 0.
Формат команды:
RU DWx.y - сброс бита слова данных в 0;
RU =fo.у - сброс бита формального параметра в 0.
где х - номер слова данных; y - номер бита; fo - формальный параметр (DWx).
Команда устанавливает в 1 бит слова данных. Изменяются флаги ZF, SF, PF. Флаги CF и OF сбрасываются в 0.
Формат индексной команды RU:
B DWx(MWx)
+RU DWх.у
где DWx(MWx) - номер слова данных или меток, содержащего индекс; х - номер слова данных; y - номер бита.
Во всех рассмотренных выше случаях применения команда RU “заканчивает опрос”.