Файл: Системы автоматизации с использованием программируемых логических контроллеров (Г.П. Митин, 2005).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.06.2025

Просмотров: 1624

Скачиваний: 6

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Пример операции дополнения до единицы

LAD

STL

1 14.0

EN

LD 14.0

I I

INVW АСО

II

АСО

- IN OUT - А С О

Применение

|

Обращение слова

АСО 1 llOi 0111 1001 0101

1

Обраоювание Д£шсш»евкя до 1

АСО 1 0010 I0OOQ1I0 1010

1

1.8. Операции передачи, сдвига и циклического сдвига

Передача байта

Операция Передача байта передает входной байт

(Ш) в выходной байт (OUT). Входной байт при этом

MOV в

не изменяется.

EN

Операнды IN: VB, IB, QB, MB, SMB, AC, кон­

TN OUT

станта, *VD, *AC, SB

ipii |ту1оув

OUT: VB, IB, QB, MB, SMB, AC, *VD*AC, SB

iKoijr

l|

Передача слова

Операция Передача слова передает входное слово

— - jENMOV W

(IN) в выходное слово (OUT). Входное слово при этом

ipii

не изменяется.

ipii

Операнды IN: VW, Т, С, IW, QW, MW, SMW, АС,

IN

OUT

AIW, константа, VD, *АС, SW

OUT: VW, Т, С, IW, QW, MW, SMW, АС, AQW,

iiiiil [MOVW

IHOUT

j l

*VD, *АС, SW

I

ipi

Передача двойного слова

I

Операция Передача двойного слова передает вход­

ное двойное слово (IN) в выходное двойное слово

MOVDW

(OUT). Входное двойное слово при этом не изменяется.

EN

Операнды IN: VD, ID, QD, MD, SMD, AC, HC,

IN

our

константа, *VD, *AC, &VB, &IB,&QB, &MB, &T, &C,

Ipfi

&SB, SD

IMOVD

lN,OLJT

:||

OUT: VD, ID, QD, MD, SMD, AC, *VD, *AC, SD

plii

iiii

113


Передача действительного числа

Ml

Ш:т:йу^ШШШ^тШ:т^ШШ^>А

Операция Передача действительного числа пе­

MOVR

редает входное действительное число (двойное слово

Щп

EN

Ipi

32 бита) (IN) в выходное двойное слово (OUT). Вход­

IN OUT

ное двойное слово при этом не изменяется.

Операнды IN: VD, ID, QD, MD, SMD, AC, HC,

константа, *VD, *AC,SD

i 1]^^!Ш^ЖШ1._....М

OUT: VD, ID, QD, MD, SMD, AC, *VD, *AC, SD

ш1

Блочная передача байтов

Ш^ШШШШл:шШтШШ:Шт-Ш

Операция Блочная передача байтов передает за­

ilii

BLKMOV_B

данное количество байтов (N) из входного массива,

начинающегося с IN, в выходной массив, начинаю­

IN

щейся с OUT. N может лежать в диапазоне от 1 до

255.

N OLTT

Ipi J™B.iHajT,N

$LKMOV_W

EN

HTN

-IN

o u r

lBMw.m,oirr,N..,

rEN IN

Операнды IN, OUT: VB, IB, QB, MB, SMB, *VD, *AC, SB

N:VB, IB, QB, MB, SMB, AC, константа, *VD, II *AC, SB

Блочная передача слов

Операция Блочная передача слов передает задан­ ное количество слов (N) из входного массива, начи­ нающегося с IN, в выходной массив, начинающийся с OUT. N может лежать в диапазоне от 1 до 255.

Операнды: IN, OUT: VW, Т, С, IW, QW, MW, SMW, AIW,*VD, *АС, SW

N: VB, IB, QB, MB, SMB, AC, константа, *VD, *AC, SB

Обмен байтов в слове

Операция Обмен байтов в слове меняет места­ ми старший и младший байты в слове (IN).

Операнды: IN: VW, Т, С, IW, QW, MW, SMW, SW,AC, *VD, *АС, SW

w fsWAP IN ft 1

114


115

Пример операций передачи и обмена

12.1

MOV_B

LD

12.1

И

1

EN

MOVB

VB50,A(:0

1

SWAP

A( 0

VB5()

- IN

ni П

SWAP

EN

Ас:«

~ IN

Применение

Передача

Обмек бай'1«и в слове

liiiiiE3l

ЛСО |Р6СЗ

I

liBilEQl

АСй |СЗР6

[

Пример операции блочной передачи

1

LAD

STL

1

1LKMOy_B

Исрсдача массива 1 (VB20-

LD 12.1

I I

EN

УВ23)вмассив2

ВМВ

VB20,VB100,4

(VB100-VB103)

м

VB20 - IN

1

N

OiJi- " VB100

^ ~

Применение

ушй

увз1

уш1

уваэ

массйм

ШЗ

с ю

СзЦ] 1,33,J

УВ1Ш

УЩШ

V i | 0 2

У В Ш

Массив!

1 30 [

1 31 [

1 32 1

] 33

1

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

I

Операция Ввод значения в регистр сдвига вводит

значение DATA в регистр сдвига. S_BIT задает млад­

SHRB

ший бит регистра сдвига, N показывает длину регистра

EN

сдвига и направление, в котором происходит сдвиг

DATA

(положительный

сдвиг

= N,

отрицательный

сдвиг =

S BIT

-N).

1 "

Операнды DATA, S_BIT: I, Q, М, SM, Т, С, V, S

N

N: VB, IB, QB, MB, SMB, AC, константа, *VD,

ipli

*AC, SB

iii [SHRB DATA, S_BIT, N Щ


Описание операции «Ввод значения в регистр сдвига»

Операция «Ввод значения в регистр сдвига» предоставляет простой способ упорядочивания потока изделий или данных и управления ими, С помощью операции «Ввод значения в регистр сдвига» можно один раз за цикл сдвигать на один бит весь регистр сдвига. Регистр сдвига определяет­ ся младшим битом (S_BIT) и количеством битов, задаваемых длиной (N).

Адрес старшего бита в регистре сдвига (MSB.b) можно вычислить с помощью следующего уравнения:

MSB.b =[(байт, включающий S_BIT) + ([N] - 1 + (номер бита S__BIT в байте)) / 8]. [остаток от деления на 8]

Вы должны вычесть один бит, так как SBIT принадлежит к битам регистра сдвига.

Пример: Если S_BIT - V33.4 и N = 14, то MSB.b = V35.1 или:

MSB.b = V33 + ([14] - 1 +4)/8 = V33 + 17/8 = V33 + 2 с остатком от деления 1 = V35.1

При отрицательной функции сдвига, отображаемой отрицательным значением длины (N), входные данные (DATA) вводятся в старший бит ре­ гистра сдвига. Младший бит (S_BIT) выводится из регистра сдвига.

При положительной функции сдвига, отображаемой положительным значением длины (N), входные данные (DATA) вводятся в младший бит регистра сдвига, отображаемый через (SBIT). Старший бит выводится из регистра сдвЕта.

«Выдвигаемые» данные записываются в маркер переполнения (SM1.1). Регистр сдвига имеет максимальную длину 64 бита (положитель­ ную или отрицательную). На рис.П,2 показаны функции сдвига с положи­ тельным и отрицательным значениями длины N.

i

i S BIT

ыт

i S BiT

"Г—

к

1

|о 1

V33

1?

|-*—

V34

-, 1

.

L

'

1

1

=П71—1

V

"

|о 1

1

1 f^ "*

]

Q U#««J

V55

7 1

Ы^

V35

|7 1

1

f

MSB р&пяегра сдвига

MSB |)ешст|)8 сдййга

Рис.П.2

116


Пример операции ''Ввод значения в регистр сдвига"

LAD

STL

И"?-) Р EN

EU

SHRB

LD Г0.2

SHRB 10.3, VI 00.0,4

E0.3-J DATA

VI 00.0

8_ВГТ

4

Импульсная диаграмма

10.2г

Парастагоший фронт (Р)

10.3

Пфвая опсрття сдвига

Вторая операция сдвига

MSB

LSB

Перед первой

О

S_BIT

VI00

li

h — Г0.3

операцией сдвига

псрсполпсгше (SM1.1)

^

После первой

VI00 '

— г — I — I — 1

^-^^'^

операции сдвига

1

|o

|l

|l

]-*—10.3

псрсполпсиие (SMISMl.l)

fol

После второй

VI00

- Г — I — I — Г — 1

^-"^^^

операции сдвига

|o

|i

|i

|o

H — ГО.З

ncpeno.TiieiiHe(SMl. 1

Сдвиг слова вправо и сдвиг слова влево

Операции Сдвиг слова вправо и Сдвиг слова влево сдвигают значение слова (IN) на величину сдвига (N) вправо или влево и загружают результат

в выходное слово (OUT).

Операнды IN: VW, Т, С, IW, MW, SMW, АС,

QW,AQW, константа, *VD, *АС, SW

SHR W

N: VB, IB, QB, MB, SMB, AC, константа, *VD,

EN

*AC, SB

1 IN

OUT: VW, T, C, IW, QW, MW, SMW, AC,*VD,

*AC, SW

N OUT

Эти операции сдвига заполняют места "выдвигае­

SHL W

EN

мых" битов нулями.

- IN

Если величина сдвига (N) больше или равна 16

N

OUT

(слово), то значение сдвигается максимум 16 раз. Если

величина сдвига больше нуля, то маркер переполнения

принимает значение «выдвигаемого» бита.

SRW

()UT,N

Щ

Операции «Сдвиг слова вправо» и «Сдвиг слова

JSLW

OUT, N

i

влево» не учитывают знака.

1

117