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

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

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

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

Добавлен: 16.06.2025

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

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

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

Эти операции влияют на специальные маркеры: SM1.0 (нуль); SMl.l (переполнение)

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

ШШ!^^ШШШШШШУШ

Операции Сдвиг двойного слова вправо и Сдвиг

Ш

SHR

DW

двойного слова влево сдвигают значение двойного сло­

EN

-

ва (ЕЧ) на величину сдвига (N) вправо или влево и

IN

1 -

загружают результат в выходное двойное слово

N

our

(OUT).

Операнды: IN: VD, Ш, QD, MD, SMD, АС, НС,

SHL

DW

константа, *VD, *АС, SD

LN

-

N: VB, Ю, QB, MB, SMB, АС, константа, *VD,

IN

*АС, SB

N

our

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

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

шIsRDW 01J'1-,N

гаемых» битов нулями.

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

(ill JSLDW OUI',N

(двойное слово), то значение сдвигается максимум 32

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

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

Операции «Сдвиг двойного слова вправо» и «Сдвиг двойного слова влево» не учитывают знака.

Эти операции влияют на специальные маркеры: SM1.0 (нуль); SM1.1 (переполнение)

Циклический сдвиг слова вправо и влево '

Операции Циклический сдвиг слова вправо и Цик­

лический сдвиг слова влево циклически сдвигают зна­

чение слова (IN) на величину сдвш а (N) вправо или

4

влево и загружают результат в выходное слово (OUT).

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

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

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

*АС, SB

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

*AC, SW

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

RRW

01Я,Н

(слово), то перед циклическим сдвигом выполняется

RLW

OUT,N

операция по модулю 16. Отсюда получается величина

сдвига в диапазоне от О до 15, Если величина сдвига

равна нулю, то циклический сдвиг не происходит. Если циклический сдвиг происходит, то значение циклически «выдвигаемого» бита копируется в маркер переполнения.

118


Операции «Циклический сдвиг слова вправо» и «Циклический сдвиг слова влево» не учитывают знака.

Эти операции влияют на специальные маркеры: SM1.0 (нуль); SM1.1 (переполнение)

Циклический сдвиг двойного слова вправо и влево

Операции Циклический сдвиг двойного слова впра­

1

во и Циклический сдвиг двойного слова влево цикличе­

ROR DW

ски сдаигают значение даойного слова (IN) на величи­

LN

-

ну сдвига (ТЧ) вправо или влево и загружают результат

-

IN

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

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

N

OUJ"

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

ROL DW

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

IN

*AC, SB

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

N

GUI

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

шшм-шш(/>тш}<<-хш^шщ

(двойное слово), то перед циклическим сдвигом вы­

RRD

0U'1;N

1

полняется операция по модулю 32. Отсюда получается

RLD

Oi;r,N

1

величина сдаига в диапазоне от О до 31. Если величина I

сдвига равна нулю, то циклический сдаиг не происходат. Если циклический сдвиг происходит, то значение циклически «выдаигаемого» бита копируется в маркер переполнения.

Операции «Циклический сдвиг двойного слова вправо» и «Цикличе­ ский сдвиг двойного слова влево» не учитывают знака.

Эт^и операции влияют на специальные маркеры: SM1.0 (нуль); SM1.1 (переполнение)

119


el w^^mi^mf:Vimm^^M!yMvf-
i l l mm
IN
N our
mmp i JFILLTHOlinN
EN
И1Х yV

Пример операций сдвига и циклического сдвига

14.0

1

ROR W

LD 14.0

1

1-N

RRW

AGO, 2

1

1

- IN

SLW

VW200,3

АСО

2

- N

OlJil • ACO

SHL

W j

L-N

"

VW200

- IN

3

- N

our

Применение

Циклический сдвиг

Сдвиг

i {ярсд садайто>г

ACfi

0100 0000 0000 0001

VW300

11110 00101010 1101

11<эбш? первюга тшхлнчсского

яспис

ACO - H I

010 0000 0000 оооо"Н"*{П

vwioe

1000101 0101 101(i

- Щ ]

11ЬШЗ Bf0|ЮШ

J tC|lCTKMb

ГШКЯ»*!£!СЖШЧ> <Щ11йГа

itcnite

nctrac

АО)

01010000 0000 0000 И М ( П

vw^oe

iQOO 1010 1011 oiod

^-^9^

{}flq*tc TpcTbvJra с^«йг»

ггсггий

чп

vwaoo*—I

0001 oioi 0110 looflj

Заполнение памяти битовой комбинацией

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

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

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

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

120


Пример заполнения памяти битовой комбинацией

LAD

STL

12.1

FILL N

Сбросить

LD 12.1

^ 1 1Г

EN

VW200 - V

FILL 0,VW200,10

0

- IN

10

- N OUT

VW200

Применение

заггисать ^ память

VW2&0

VW202

VW21g

I 0

[ I 0

II -

0

1.9. Табличные операции и операции поиска

Запись значения в таблицу

Операция Запись значения в таблицу вносит зна­

п

чения слов (DATA) в таблицу (TABLE)

AD Т TBL

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

LN

- DMA

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

TABLE: VW, Т, С, IW, QW, MW, SMW,

*VD,

lABLL

*АС, SW

Первое значение в таблице задает максимальную

V

1|ЛГ1

длину таблицы (TL). Второе значение задает количе­

DA гл. lABLli i

ство записей в таблице (ЕС). Новые данные добавля­

г

\

ются в таблице после последней записи. Каждый раз, когда записываются новые данные, количество записей увеличивается на «1». Таблица может содержать максимум 100 записей, исключая параметры, задающие макси­ мальную длину таблицы и фактическое количество записей.

Эта операция влияет на специальные маркеры: SM1.4 устанавливает­ ся в «1», если Вы пытаетесь записать в таблицу слишком много значений.

121