Материал: Основы программирования микроконтроллеров на языке step 7. Слепокуров Ю.С

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

RLO. Результат логической операции

Бит 1 слова состояния называется битом RLO (RLO означает «result of logic operation [результат логической операции). Этот бит хранит результат битовой логической операции или операции сравнения. Например, вторая команда в цепи битовых логических команд опрашивает состояние сигнала операнда и дает результат 1 или 0. Затем эта команда логически сопрягает этот результат со значением, хранящимся в бите RLO слова состояния в соответствии с правилами булевой логики. Результат этой логической операции сохраняется в бите RLO слова состояния, заменяя предыдущее значение бита RLO. Каждая последующая команда в цепи выполняет логическую операцию с двумя значениями: результатом, полученным при опросе командой операнда, и текущим значением RLO. Вы можете устанавливать RLO в 1 безусловно с помощью команды SET; вы можете сбрасывать RLO в 0 безусловно с помощью команды CLR. Вы можете использовать булеву битовую логическую команду при первичном опросе для присваивания RLO состояния содержимого ячейки битовой памяти. Вы можете использовать RLO для запуска команд перехода.

STA. Бит состояния

Бит состояния (бит STA) сохраняет значение бита, к которому происходит обращение. Состояние битовой команды, которая имеет доступ к памяти на чтение (A, AN, O, ON, X, XN), всегда равно значению бита, опрашиваемого этой командой (т.е. бита, с которым она выполняет логическую операцию). Состояние битовой команды, которая имеет доступ к памяти на запись (S, R, =), равно значению бита, в который команда производит запись, или, если запись не производится, то оно равно значению бита, к которому команда обращается. Бит состояния не имеет значения для битовых команд, не обращающихся к памяти. Такие команды устанавливают бит состояния в 1 (STA=1). Бит состояния не опрашивается командой. Он интерпретируется только при тестировании программы (статус программы).

Бит OR

Бит OR необходим, если вы используете команду O при выполнении логического И перед операцией ИЛИ. Функция И может содержать следующие команды: A, AN A(, AN(, ) и NOT. Бит OR показывает этим командам, что ранее выполненная функция И дала значение 1, предвосхищая тем самым результат логической операции ИЛИ. Любая другая команда, обрабатывающая биты, сбрасывает бит OR .

OV. Бит переполнения

Бит переполнения (бит OV) указывает на ошибку. Он устанавливается арифметической командой или командой сравнения чисел с плавающей точкой

60

после возникновения ошибки (переполнение, недопустимая операция, недопустимое число с плавающей точкой). Этот бит устанавливается в соответствии с результатом следующей арифметической команды или команды сравнения.

OS. Бит сохраняемого переполнения

Бит сохраняемого переполнения (бит OS) устанавливается вместе сбитом OV, когда происходит ошибка. Так как бит OS остается установленным после устранения ошибки, то он сохраняет состояние бита OV и указывает, появлялась ли ошибка в одной из ранее выполненных команд. Следующие команды сбрасывают бит OS: JOS (переход после сохраняемого переполнения), команды вызова блока и команды конца блока.

CC1 и CC0. Код условия 1 и код условия 0

Биты CC 1 и CC 0 (коды условий) предоставляют информацию о следующих результатах или битах:

Результат арифметической операции;

Результат операции сравнения;

Результат цифровой операции;

Биты, выдвинутые командой сдвига или циклического сдвига.

Символическое имя

Таблица 2–3 показывает, как использовать символическое имя в качестве операнда команды. Вы можете использовать символические имена в операторах AWL только после того, как вы их описали: глобальные символические имена должны быть введены в таблицу символов, а локальные имена – в блок.

 

 

Табл. 2-3.

Оператор

Описание

Команда

Операнд

 

A

Motor.On

Выполнить логическую операцию И с битом,

 

 

имеющим символическое имя «Motor.On». В

 

 

этом примере символическое имя «Motor.On»

 

 

может представлять только один бит из

 

 

области памяти блока данных (D) или элемент

 

 

структуры «MOTOR».

L

SPEED

Загрузить значение в виде байта, слова или

 

 

двойного слова с символическим именем

 

 

SPEED в аккумулятор 1.

61

Блок данных и адрес в блоке данных

Таблица 2–4 показывает, как использовать блок данных и адрес в этом блоке данных в качестве операнда команды.

 

 

Табл. 2-4.

Оператор

Описание

Команда

Операнд

 

L

DB4.DBD10

Загрузить двойное слово данных DBD10 из

 

 

блока данных DB4 в аккумулятор 1.

A

SPEED

Выполнить логическую операцию И с битом

 

 

данных DBX4.3 из блока данных DB10.

Таблица 2–5 показывает, как использовать функцию (FC), функциональный блок (FB), встроенную системную функцию (SFC), встроенный системный функциональный блок (SFB) и номер функции или функционального блока в качестве операнда команды.

 

 

Табл. 2-5.

Оператор

Описание

Команда

Операнд

 

CALL

FB10, DB10

Вызвать функциональный блок FB10 с

 

 

экземплярным блоком данных DB10.

CALL

SFC43

Вызвать встроенную системную функцию

 

 

SFC43.

Идентификаторы операндов

Некоторые операнды включают в себя идентификатор операнда и адрес внутри области памяти, указанной в идентификаторе операнда.

Идентификатор операнда может быть одного из следующих трех основных типов:

Идентификатор операнда, указывающий область памяти и размер объекта данных в этой области следующим образом:

Область памяти, в которой команда находит значение (объект данных), с которым она должна выполнить операцию (например, «I» для области входов образа процесса);

Размер значения (объекта данных), с которым команда должна выполнить операцию (например, B для «байта,» W для «слова» и D

для «двойного слова»), Примеры: A I 0.0

L IB 10

TMB [MD10].

Идентификатор операнда, который указывает область памяти, но не

62

указывает размер объекта данных в этой области (например, идентификатор, указывающий область T для «таймера», C для «счетчика» или DB или DI для «блока данных» плюс номер этого таймера, счетчика или блока данных;

Примеры: OPN DB10 SP T 7.

Идентификатор операнда, который указывает размер объекта данных, но не область памяти. Область памяти закодирована в адресе, который следует за идентификатором операнда, например: A [AR1, P#4.3].

Работа со словом или двойным словом как с объектом данных

При работе с командой, идентификатор операнда которой задает область памяти программируемого логического контроллера, и с объектом данных, который по размеру является словом или двойным словом, то вы должны знать, что на адрес памяти всегда ссылаются как на адрес байта. Этот адрес байта является номером самого старшего байта слова или двойного слова, но при этом имеет наименьшее значение адреса. Например, операнд оператора L MD10, обращается к четырем следующим друг за другом байтам в области памяти M, начинающимся байтом 10 (MB10) и заканчивающимся байтом 13 (MB13).

15

MW 10

0 15

0

 

 

MW 12

MB 10

 

MB 11

MB 12

 

MB 13

 

 

 

MW 11

 

 

 

31 . . .

16

15 .

. .

0

MD 10

Области памяти и их функции

Большинство операндов в AWL обращаются к областям памяти. В следующей таблице перечислены области памяти и описаны функции каждой области.

Табл. 2.6.

Имя

Функция области

Доступ к области

Сокра-

через единицы

щение

области

 

следующего размера:

 

 

 

 

Вход

В начале цикла сканирования операционная

Входной бит

I

образа

система считывает входы из процесса и

Входной байт

IB

процесса

записывает эти значения в эту область.

Входное слово

IW

 

Программа может использовать эти

Входное двойное

ID

 

значения при циклической обработке.

 

слово

 

 

 

 

63

Имя

 

Доступ к области

Сокра-

Функция области

через единицы

щение

области

 

следующего размера:

 

 

 

 

Выход

При выполнении цикла сканирования

Выходной бит

Q

образа

программа рассчитывает выходные зна-

Выходной байт

QB

процесса

чения и помещает их в эту область. В конце

Выходное слово

QW

 

цикла сканирования операционная система

Выходное двойное

QD

 

считывает рассчитанные выходные

 

слово

 

 

значения из этой области и передает их на

 

 

выходы процесса.

 

 

Битовая

Эта область предоставляет место для

Бит памяти (меркер)

M

память

хранения промежуточных результатов,

Байт памяти

MB

 

рассчитанных в программе.

(меркерный байт)

 

 

 

 

 

 

Слово памяти

MW

 

 

(меркерное слово)

 

 

 

Двойное слово

MD

 

 

памяти (двойное

 

 

 

меркерное слово)

 

Перифе-

Эта область обеспечивает прямой доступ

Периферийный

PIB

рия:

программе пользователя к модулям ввода и

входной байт

 

внешний

вывода (т.е., к периферийным входам и

Периферийное

PIW

вход

выходам).

входное слово

 

 

PID

 

 

Периферийное

 

 

входное двойное

 

 

 

слово

 

Перифе-

 

Периферийный

PQB

рия:

 

выходной байт

 

внешний

 

Периферийное

PQW

выход

 

выходное слово

 

 

 

Периферийное

PQD

 

 

выходное двойное

 

 

 

слово

 

 

 

 

 

Таймеры

Таймеры – это функциональные элементы

Таймер (T)

T

 

программирования на AWL. Эта область

 

 

 

предоставляет место для хранения

 

 

 

таймерных ячеек. В этой области генератор

 

 

 

тактовых импульсов обращается к ячейкам

 

 

 

времени, чтобы обновить их путем

 

 

 

уменьшения значения времени, а таймерные

 

 

 

команды получают доступ к ячейкам

 

 

 

времени.

 

 

Счетчики

Счетчики – это функциональные элементы

Счетчик (C)

C

 

программирования на AWL. Эта область

 

 

 

предоставляет место для хранения

 

 

64

Смотрите также:

12
1673
271
2863
2994
3788
3857
54
5719
605