Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 800293

.pdf
Скачиваний:
49
Добавлен:
01.05.2022
Размер:
1.35 Mб
Скачать

A

DB

0

Вызов блока данных.

 

 

:

Независимо от значения VKE активируется блок

 

 

.

данных. Выполнение программы не прерывается.

 

 

255

Все последующие команды над данными произво-

 

 

 

дятся с вызванным блоком. Вызываемый блок дол-

 

 

 

жен быть создан до его вызова

Е

DB

0

Создание и стирание блока данных.

 

 

:

Независимо от значения VKE устанавливается об-

 

 

.

ласть памяти RAM для загрузки данных. Длина бло-

 

 

255

ка данных указывается перед выполнением команды

 

 

 

в AKKU1. При указании значения длины 0 блок дан-

 

 

 

ных стирается. Блоки данных DB0 и DB1 зарезерви-

 

 

 

рованы для списка адресов блоков и списка назначе-

 

 

 

ния маркеров связи

BE

 

 

Конец блока.

 

 

 

Завершение текущего блока независимо от значения

 

 

 

VKE. Программа продолжает выполняться в блоке,

 

 

 

из которого был сделан переход. VKE учитывается,

 

 

 

но не устанавливается

ВЕА

 

 

Конец блока безусловный.

 

 

 

Независимо от VKE завершается обработка текуще-

 

 

 

го блока (аналогично команде ВЕ)

ВЕВ

 

 

Конец блока по условию.

 

 

 

При VKE = 1 обработка текущего блока завершается.

 

 

 

После перехода VKE =1. При VKE = 0 операция не

 

 

 

выполняется. VKE устанавливается в ―1‖ и програм-

 

 

 

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

3. КОМАНДЫ ЯЗЫКА STEP 5

Язык программирования STEP 5 содержит три типа команд:

основные операции, которые можно программировать в программных, шаговых, организационных и функциональных блоках. За исключением операций сложения (+F), вычитания (-F) и организационных операций, все они могут быть введены или выведены на дисплей программатора во всех трех видах представлений (KOP, FUP или AWL);

дополнительные операции, как, например, команды замещения, функции контроля, операции сдвига и преобразования;

системные операции, которые имеют возможность доступа непосредственно к операционной системе. Их должен использовать только квалифицированный программист.

10

 

 

 

 

3.1. Логические операции

 

 

 

 

 

Команда

Операнд

 

Описание

О

 

 

 

Операция ―ИЛИ‖ над функциями ―И‖. Выполнение

 

 

 

 

операции ИЛИ над VKE предыдущей и последующей

 

 

 

 

функций И

U(

 

 

 

Операция ―И‖ над выражением в скобках. VKE выра-

 

 

 

 

жения в скобках взаимодействует с VKE предыдущей

 

 

 

 

функции ―И‖

О(

 

 

 

Операция ―ИЛИ‖ над выражением в скобках. VKE вы-

 

 

 

 

ражения в скобках взаимодействует с VKE предыду-

 

 

 

 

щей функции ―ИЛИ‖

)

 

 

 

Закрывающая скобка. Эта операция завершает выра-

 

 

 

 

жение в скобках

U

Х

Х

 

Операция ―И‖, опрос сигнала на ―1‖. Результат опроса

 

 

 

 

―1‖, если соответствующий операнд имеет состояние

 

 

 

 

сигнала ―1‖. В противном случае – результат опроса

 

 

 

 

―0‖. Этот результат устанавливает VKE в процессоре

 

 

 

 

после выполнения функции ―И‖

О

Х

Х

 

Операция ―ИЛИ‖, опрос сигнала на ―1‖. Результат оп-

 

 

 

 

роса ―1‖, если соответствующий операнд имеет состоя-

 

 

 

 

ние сигнала ―1‖. В противном случае – результат опро-

 

 

 

 

са ―0‖. Этот результат устанавливает VKE в процессоре

 

 

 

 

после выполнения функции ―ИЛИ‖

UN

Х

Х

 

Операция ―И‖, опрос сигнала на ―1‖. Результат опроса

 

 

 

 

―1‖, если соответствующий операнд имеет состояние

 

 

 

 

сигнала ―0‖. В противном случае – результат опроса

 

 

 

 

―0‖. Этот результат устанавливает VKE в процессоре

 

 

 

 

после выполнения функции ―И‖

ON

Х

Х

 

Операция ―ИЛИ‖, опрос сигнала на ―1‖. Результат оп-

 

 

 

 

роса ―1‖, если соответствующий операнд имеет состоя-

 

 

 

 

ние сигнала ―0‖. В противном случае – результат опро-

 

 

 

 

са ―0‖. Этот результат устанавливает VKE в процессоре

 

 

 

 

после выполнения функции ―ИЛИ‖

Обозначение

Параметр операнда

E, A

 

. . .

127.7

M

 

. . .

255.7

T, Z

 

0 . . . 127

С помощью функции ―И‖ опрашивается одновременность выполнения различных условий.

11

Пример. На выходе А3.5 индицируется ―1‖, если на всех трех входах одновременно присутствует ―1‖. На выходе А3.5 ―0‖, если хотя бы на одном из входов ―0‖. Количество опросов и последовательность программирования произвольны.

AWL

 

 

FUP

 

 

 

 

 

 

KOP

 

 

 

 

 

 

 

U

E

1.1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E

1.1

 

&

 

 

 

 

 

E1.3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

U

E

1.3

E

1.3

 

 

 

 

 

 

 

 

 

 

 

 

 

( )

 

 

 

U

E

1.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E

1.5

 

 

 

A 3.5

 

E1.1

E1.5 A 3.5

 

 

=

A

3.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

С помощью функции ‖ИЛИ‖ выясняется, выполняется ли хотя бы одно из нескольких условий.

Пример. На выходе А3.2 индицируется ―1‖, если по крайней мере на одном из входов присутствует ―1‖. На выходе А3.2 ―0‖, если на всех входах одновременно ―0‖.

AWL

 

 

FUP

 

 

 

 

 

 

KOP

 

 

 

 

О

E

1.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E

1.2

 

>=1

 

 

 

 

 

 

 

 

 

 

 

О

E

1.4

 

 

 

 

 

 

 

 

 

( )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

О

E

1.6

E

1.4

 

 

 

 

 

E1.1

 

A 3.5

 

 

 

 

 

 

 

 

 

 

 

 

=

A

3.2

E

1.6

 

 

 

A 3.2

 

 

 

 

 

 

 

 

 

 

 

 

 

E1.3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E1.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Операция ―И‖ перед ―ИЛИ‖

Пример. На выходе А3.1 индицируется ―1‖, если по крайней мере одна из операций ―И‖ выполнена (имеет на выходе ―1‖). На выходе А3.1 ―0‖, если ни одна из операций ―И‖ не выполнена.

AWL

 

 

 

 

FUP

 

 

 

 

 

 

KOP

U

E

1.3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E 1.3

 

 

&

 

 

 

 

 

E1.3 E1.4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

U

E

1.4

E 1.4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( )

 

 

 

 

 

 

 

 

>=1

 

 

 

 

 

 

 

 

 

 

 

 

 

О

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A 3.1

 

 

U

E

1.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E 1.5

 

 

&

 

 

A 3.1

 

E1.5

E1.6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

U

E

1.6

E 1.6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

A

3.1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12

Операция ―ИЛИ‖ перед ―И‖

Пример. На выходе А2.2 индицируется ―1‖, если выполнено по крайней мере одно из условий: а) на входе 6.0 сигнал ―1‖; б) на входе 6.1 и на одном из входов 6.2. или 6.3. установлен сигнал ―1‖.

На выходе А2.2 ―0‖, если ни одна из операций ―И‖ не выполнена.

AWL

 

 

FUP

 

 

 

 

 

 

 

 

 

KOP

 

 

 

 

О

E

6.0

E 6.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

>=1

 

 

 

 

 

 

 

 

 

 

 

 

О

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

U

E

6.1

E 6.1

 

 

 

 

 

&

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E 6.0

A 2.2

 

U(

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

O

E

6.2

E 6.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

>=1

 

 

 

 

 

 

 

E 6.1 E 6.2

 

 

 

 

O

E

6.3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A 2.2

 

 

 

 

 

 

 

 

 

 

)

 

 

E 6.3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

A

2.2

 

 

 

 

 

 

 

 

 

E 6.3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Операция ―ИЛИ‖ перед ―И‖

Пример. На выходе А 3.2 ―1‖, если обе операции ―ИЛИ‖ выполнены.

AWL

 

 

FUP

 

 

 

 

 

 

KOP

U(

 

 

E 1.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

>=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

О

E

1.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

О

E

1.1

E 1.1

 

 

 

 

&

 

 

 

 

 

 

E 2.0

 

 

 

 

 

 

 

 

 

 

E 1.0

A 2.2

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

U(

 

 

E 2.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E 1.1

 

 

 

 

 

 

 

 

 

 

 

 

>=1

 

 

 

 

 

E 2.1

O

E

2.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

O

E

2.1

E 2.1

 

 

 

 

 

A 2.2

 

 

 

 

 

 

 

 

 

 

 

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

A

2.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.2.Операции памяти

Спомощью операций памяти можно сохранить результат операции, выполненной АЛУ контроллера, в виде состояния сигнала соответствующего операнда. Запоминание может быть динамическим (назначение) или статическим (установка и сброс).

13

S

Х

Х

 

Установка.

 

 

 

 

При первой обработке программы, если VKE = ―1‖, то

 

 

 

 

соответствующий операнд устанавливается в ―1‖.

 

 

 

 

Последующее изменение VKE не приводит к измене-

 

 

 

 

нию этого состояния сигнала

R

X

X

 

Сброс.

 

 

 

 

При первой обработке программы, если VKE = ―1‖, то

 

 

 

 

соответствующий операнд устанавливается в ―0‖.

 

 

 

 

Последующее изменение VKE не приводит к измене-

 

 

 

 

нию этого состояния сигнала

=

X

X

 

Назначение.

 

 

 

 

В каждом цикле выполнения программы соответст-

 

 

 

 

вующий операнд будет устанавливаться в состояние

 

 

 

 

согласно текущему состоянию VKE

Обозначение

Параметр операнда

E

 

0.0 . . . 127.7

A

 

0.0 . . . 127.7

M

 

0.0

. . . 255.7

RS – триггер (элемент памяти) для запоминания состояния сигнала

Пример. Сигнал ―1‖ на входе Е 2.7 вызывает установку элемента памяти А 3.5 в состояние ―1‖. Если состояние сигнала на входе Е 2.7 изменится на ―0‖, то это не повлияет на состояние RS-триггера. Появление ―1‖ на входе Е 1.4 приводит к сбросу RS-триггера. Если состояние сигнала на входе Е 1.4 изменится на ―0‖, то это не повлияет на состояние RS-триггера.

При одновременном поступлении ―1‖ на оба входа приоритет у последнего опроса, т.е. в данном случае - у сброса (Е 1.4).

AWL

 

 

FUP

 

 

 

 

 

 

 

KOP

 

 

 

U

E

2.7

 

 

 

 

A 3.5

 

 

 

A 3.5

 

 

 

 

 

 

 

 

 

 

 

 

 

S

A

3.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S

 

 

 

 

 

 

 

 

 

 

E

2.7

 

 

 

 

 

 

 

 

 

S

 

 

 

U

E

1.4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E2.7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R

A

3.5

E

1.4

 

 

 

R Q

 

 

 

R Q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E1.4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Используя логические операции и операции памяти, можно составить фрагмент программы, позволяющий определить фронт (как положительный, так и отрицательный) импульсного входного сигнала. Это так называемая импульсная метка, которая принимает состояние ―1‖ только в одном цикле программы. Ее можно использовать как признак для выполнения или отмены выполнения какого-либо фрагмента программы в момент обнаружения фронта входного сигнала.

14

 

Пример. При каждом положительном фронте сигнала на входе Е 1.7 вы-

полняется установка маркера М 2.0 на время выполнения одного цикла про-

граммы.

 

 

 

 

 

 

 

 

AWL

 

 

FUP

 

KOP

 

 

U

E

1.7

E 1.7

 

 

 

M 2.0 M 4.0

UN

M

4.0

&

M 4.0

E 1.7 M 4.0

=

M

2.0

M 4.0

M 2.0

 

#

S

U

M

2.0

#

S

 

 

 

 

 

 

 

 

R Q

S

M

4.0

 

 

 

 

 

 

E 1.7

R Q

 

 

 

UN

E

1.7

 

E 1.7

 

 

 

 

 

 

 

R

M

4.0

 

 

 

 

 

 

 

4. ФУНКЦИИ ЗАГРУЗКИ И ПЕРЕНОСА (ПЕРЕДАЧИ)

 

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

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

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

Операции загрузки и переноса отображаются только в виде таблицы команд. Исключение составляют операции загрузки в сочетании с операциями времени и счета.

4.1.Загрузка

Спомощью операции ―загрузка‖ информацию из областей операндов Е, А, М, Т, Z и D, а также константы и информацию из блоков ввода/вывода можно непосредственно загружать в аккумулятор.

Информация областей операндов Е, А, М и D загружается в аккумулятор

ввиде байтов, слов или двойных слов, а информация непосредственно с блоков ввода/вывода – как байты и слова.

Разрядность аккумулятора составляет, в зависимости от типа процессора, 16 или 32 бита. Информация с небольшой шириной (например – байт) загружается в аккумулятор ―по правую сторону‖. Остальные разряды заполняются ―0‖.

15

 

Пример загрузки байта:

 

 

 

 

 

 

 

Аккумулятор 1

 

 

 

 

 

 

Аккумулятор 2

 

aaaa

 

bbbb

cccc

dddd

 

 

eeee

 

ffff

gggg

hhhh

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

zzzz

 

Байт n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- - - -

zzzz

 

Слово данных n (младший байт)

 

 

 

 

 

 

 

 

zzzz

- - - -

 

Слово данных n (старший байт)

Аккумулятор 1

 

 

 

 

Аккумулятор 2

 

 

0000

 

0000

0000

zzzz

 

 

aaaa

 

bbbb

cccc

dddd

Так как область данных адресуется пословно, то при загрузке байтов следует указать ―правый байт‖ или ―левый байт‖.

 

L

EB 10 – загрузка 10-го байта входов (отображение процесса);

 

L

AB 10 – загрузка 10-го байта выходов (отображение процесса);

 

L MB 10 – загрузка 10-го байта меток;

 

 

 

 

 

L

PB 10 – загрузка 10-го байта периферии процесса;

 

 

 

L

DR 10 – загрузка правого байта 10-го слова данных;

 

L

DL 10 – загрузка левого байта 10-го слова данных.

 

При загрузке операндов словами (16 бит) в команде указывается номер

соответствующего более низкого байта.

 

 

 

 

 

 

 

Пример загрузки слова:

 

 

 

 

 

 

 

 

 

Аккумулятор 1

 

 

 

 

 

 

Аккумулятор 2

 

 

aaaa

 

bbbb

cccc

dddd

 

 

eeee

 

ffff

gggg

 

hhhh

 

 

 

 

байт n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yyyy

zzzz

 

Слово входов n

 

 

 

 

 

 

 

 

байт n+1

 

 

 

 

 

 

 

 

 

 

 

 

yyyy

zzzz

 

Слово меток n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yyyy

zzzz

 

Слово данных n

 

 

 

 

Аккумулятор 1

 

 

 

 

Аккумулятор 2

 

 

 

 

0000

 

0000

yyyy

zzzz

 

 

aaaa

 

bbbb

cccc

 

dddd

 

 

L

EW 10 – загрузка 10-го слова входов (отображение процесса);

 

L MW 10 – загрузка 10-го слова меток;

 

 

 

 

 

L

DW 10 – загрузка 10-го слова данных.

 

 

 

 

Следует обратить особое внимание на то, что для областей операндов, имеющих побайтную структуру организации (Е, А, М), байт загружаемого сло-

16

ва, имеющий более низкий номер (соответствующий номеру загружаемого слова), загружается в 8 – 15 разряды аккумулятора.

Аналогично загружаются операнды, имеющие разрядность двойного сло-

ва.

 

Аккумулятор 1

 

 

 

Аккумулятор 2

 

aaaa

 

bbbb

 

cccc

 

dddd

 

eeee

 

ffff

gggg

hhhh

n

 

 

n+1

n+2

n+3

номер байта

 

xxxx

 

vvvv

 

yyyy

 

zzzz

загрузка двойного слова входов n

 

Слово n

Слово n+1

 

 

 

 

xxxx

 

vvvv

 

yyyy

 

zzzz

загрузка двойного слова данных n

Аккумулятор 1

 

Аккумулятор 2

 

 

xxxx

 

vvvv

 

yyyy

 

zzzz

 

aaaa

 

bbbb

cccc

dddd

Загрузка констант

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

L KB

загрузка байта

0

255

L KF

загрузка константы с фиксированной точкой

-32768

32767

L KH

загрузка шестнадцатеричной константы

0000

FFFF

L DH

загрузка шестнадцатеричной константы

00000000

FFFFFFFF

L KT

загрузка времени

000.0

999.3

L KZ

загрузка счетчика

000

999

L KM

загрузка в двоичном представлении

16 ―0‖

16 ―1‖

L KG

загрузка 32-разрядного числа с плавающей

1701414 +/- 39

 

запятой

 

 

4.2.Перенос

Спомощью этой операции можно переносить информацию из аккумулятора в области операндов Е, А, М и D, а также непосредственно в блоки ввода/вывода.

Содержимое аккумулятора переносится байтами, словами или двойными словами, а в блоки ввода/вывода – байтами или словами. При этом содержимое аккумулятора не изменяется. Оно остается постоянным, что позволяет делать многократные переносы.

Если переносимая информация имеет разрядность меньше, чем разрядность аккумулятора, она выбирается из ―правой‖ части аккумулятора.

Перенос в блоки периферии касается только блоков вывода. Параметром от 0 до 127 адресуются двоичные выводы, относящиеся к отображению процесса. Перенос в эти блоки ведет одновременно к изменению соответствующего

17

параметра в отображении процесса. С помощью параметра от 128 до 255 можно обращаться, например, к аналоговым блокам вывода.

T

EB 10 – перенос в 10-й байт входов (отображение процесса);

T

AB 10 – перенос в 10-й байт выходов (отображение процесса);

T

MB 10 – перенос в 10-й байт меток;

T

PB 10 – перенос в 10-й байт периферии процесса;

T

DR 10 – перенос в правый байт 10-го слова данных;

T

DL 10 – перенос в левый байт 10-го слова данных.

При переносе байта в слово данных обязательно нужно указать ―правый‖ или ―левый‖ байт. Перенос производится в указанный байт, оставшийся байт слова данных не изменяется.

При адресации операндов Е, А, М и Р по байтам во время переноса слов указывается номер соответствующего более низкого байта в команде. Содержимое стоящего в аккумуляторе справа слова переносится в этот байт и в бли-

жайший байт более высокого номера:

 

 

 

 

 

Аккумулятор 1

 

 

 

Аккумулятор 2

 

aaaa

 

bbbb

 

cccc

dddd

 

eeee

 

ffff

gggg

hhhh

 

 

 

байт n

байт n+1

 

 

 

 

 

 

 

 

Сссс

dddd

Слово входов n

 

 

Аккумулятор 1

 

Аккумулятор 2

 

 

aaaa

 

bbbb

 

cccc

dddd

 

eeee

 

ffff

gggg

hhhh

Аналогично происходит операция переноса двойного слова:

Аккумулятор 1

 

Аккумулятор 2

 

 

aaaa

 

bbbb

 

cccc

dddd

 

eeee

 

ffff

gggg

hhhh

 

 

 

 

 

 

 

 

 

 

 

aaaa

 

bbbb

 

cccc

dddd

T AD 10

 

 

 

 

10

11

12

13

 

номер байта

 

5.ФУНКЦИИ ТАЙМЕРА

Спомощью таймеров управляют временными процессами в программе.

Команда

Операнд

Описание

SI

T

0…127

Запуск таймера в виде импульса.

 

 

 

Отсчет времени запускается по переднему фронту

 

 

 

VKE. По окончании отсчета заданного времени таймер

 

 

 

сбрасывается. При переходе VKE в состояние ―0‖ до

 

 

 

окончания отсчета временного интервала таймер уста-

 

 

 

навливается в ―0‖

SV

T

0…127

Запуск таймера в виде удлиненного импульса.

 

 

 

Отсчет времени запускается по переднему фронту

 

 

 

VKE. Таймер сбрасывается только после окончания от-

 

 

 

счета заданного времени независимо от состояния VKE

 

 

 

18

SE

T

0…127

Запуск таймера в виде задержки включения.

 

 

 

Отсчет времени запускается по переднему фронту

 

 

 

VKE. По окончании отсчета заданного времени, если

 

 

 

состояния сигнала VKE = ―1‖ устанавливается таймер

 

 

 

и сбрасывается при переходе VKE в состояние ―0‖. Ес-

 

 

 

ли VKE переходит в состояние ―0‖ до окончания от-

 

 

 

счета заданного времени, то время сбрасывается

SS

T

0…127

Запуск таймера в виде задержки включения с запоми-

 

 

 

нанием.

 

 

 

Отсчет времени запускается по переднему фронту

 

 

 

VKE. По окончании отсчета заданного времени таймер

 

 

 

устанавливается и переходит в состояние ―0‖ только

 

 

 

при сбросе таймера с помощью команды R

SA

T

0…127

Запуск таймера в виде задержки выключения.

 

 

 

При установке VKE в состояние ―1‖ таймер устанавли-

 

 

 

вается. Отсчет времени запускается по заднему фронту

 

 

 

VKE. По окончании отсчета заданного времени таймер

 

 

 

сбрасывается

R

T

0…127

Сброс таймера

5.1. Загрузка параметров таймеров

При запуске таймерной операции слово, находящееся в аккумуляторе, воспринимается как значение времени. Поэтому сначала надо загрузить значение времени в аккумулятор.

Значение времени может быть загружено с помощью константы таймера (КТ) или слова данных (DW), слова входов или выходов (EW, AW) или слова маркеров (MW). В последних четырех случаях данные должны быть представлены в BCD-коде.

Загрузка константы времени 60 c:

L KT 60.2

Базис времени (0 … 3) Значение (0 … 999) Операнд Операция

19