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

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

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

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

Добавлен: 16.06.2025

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

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

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

Пример операции «Запись значения в таблицу»

13.0

LAD

STL

AD_T_TBL

LD

13.0

EN

ATT VWIOO, VW200

VWIOO -i DATA

VW200

TABLE

Применение

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

После выполнением операции ATT

VWIOO

' \?^4

' TL (макс, количество

TL (макс, количество

VW200

~00б6

1

записей)

VW200

1

0006

записей)

VW202

0002

ЕС (число записей)

VW202

1 0003

ЕС (число записей)

VW204

5431

dO (запись 0)

VW204

5431

dO (запись 0)

VW206

8942

dl (запись 1)

VW206

8942

dl (запись 1)

VW208

хххх

1

•-^шгоз

1234

d2 (запись 2)

VW210

хххх

1

VW210

1

хххх

VW212

хххх

1

VW212

1

хххх

VW214

КХХУ

1

VW214

УШИ

LIFO

Операция Стирание последней записи в таблице

и

LIFO

(LIFO) стирает последнюю запись в таблице (TABLE)

р

-EN

и выводит значение по адресу DATA. Каждый раз, ко­

гда выполняется данная операция, количество записей

TABLE

(ЕС) уменьшается на «1».

DATA

Операцды TABLE: VW, Т, С, IW, QW, MW,

SMW, *VD, *АС, SW

\L JJFTFO TABLE, DAT/Щ

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

*VD, *АС, SW

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

122


Пример операции LIFO

LAD

STL

14.0

EN

LIFO

LD 14.0

1 1

LIFOVW200,VW300

VW200

- TABLE

DATA - VW300

Применение

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

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

i

TL (макс, число

1-*- VW300

1 1234

TL (макс, число

VW200

0006

записей)

VW200

0006

записей)

VW202

0003

ЕС (число записей)

VW202

0002

ЕС (число записей)

VW204

5431

dO (запись 0)

VW204

5431

dO (запись 0)

VW206

8942

dl (запись 1)

VW206

8942

dl (запись !)

VW208

1234

d2 (за!1ИГК / J

1 VW208

хххх

VW210

хххх

VW210

хххх

VW212

хххх

VW212

хххх

VW214

хххх

VW2I4

хххх

FIFO

Операция Стирание первой записи в таблице

г

(FIFO) стирает первую запись в таблице (TABLE) и

FIFO

выводит значение по адресу DATA. Все остальные

EN

записи сдвигаются на одну позицию вверх. Каждый

-TABLE

раз, когда выполняется данная операция, количество

DATA

записей (ЕС) уменьшается на «1».

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

SMW, *VD, *АС, SW

г JPIFO TABLE, DATA 1

DATA: VW, Т, С, IW, QW, MW, SMW, АС,

AQW, *VD, *АС, SW

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

123


Пример операции FIFO

LAD

STL

'f'l

EN FIFO

LD 14.1

1 1

FIFO VW200, VW400

VW200

- TABLE

DATA - VW400

Применение

Перед вьшолнением операции FIFO

После Bbinoj1нения операции F(FO

TL (макс, число

1 -^

VW400

5431

TL (макс, число

VW200

особ

записей)

1

VW200

0006

записей)

ЕС (число записей)

VW202

0003

ЕС (число записей)

VW202

0002

do (запись 0)

VW204

5431

аО(за

VW204

8942

VW206

8942

dl (запись и

у^206

1234

VW208

1234

VW208

хххх

VW2I0

хххх

VW210

хххх

VW2I2

хххх

VW2I2

хххх

VW2I4

хххх

VW214

хххх

Поиск значения в таблице

Я

Операция Поиск значения в таблице просматрива­

TBL FIND

ет таблицу (SRC), начиная с записи таблицы, заданной

jllj

EN

параметром

INDX, в поисках значения

данных

SRC

(PATRN), соответствующего заданным критериям =, ^,

PATRN

< или >.

в LAD параметр CMD задает критерий числовым

INDX

значением от 1 до 4, что соответствует критерию =, ^,

i l l

CMD

<или>.

1 -

•i JFND=

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

SRC, PATRN. \ |

*VD, *АС, SW

1

I F N D O SRC, PATRN. i l

PATRN: VW, Т, С, IW, QW, MW, SMW, АС, AIW,

i

[NDX

|FND<

SRC,PAI'RN, ; |

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

| F N D >

SRC, PATRN, Щ

INDX: VW, Т, С, IW, QW, MW, SMW, АС, *VD,

1

*АС, SW

1 (-) 2 {^) 3 (<) 4 (>)

CMD:

Если соответствующая запись в таблице найдет­

ся,

то INDX указывает эту запись. Если в таблице нет подходящей записи,

то значение INDX соответствует количеству записей в таблице. Для того,

чтобы искать следующую запись, нужно сначала увеличить INDX

на «1».

Лишь тогда операция может быть вызвана снова.

Записи в таблице (область, где должен производиться поиск) прону­

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

124


Если используют операции поиска в таблицах, составленных с помо­ щью операций АТТ, LIFO и FIFO, то количество записей и записи давиых имеют прямое соответствие. В отличие от операций АТТ, LIFO и FIFO, где максимальное количество захшсей задается в слове, операции поиска не ис­ пользуют данное слово. Поэтому операнд SRC операции поиска располага­ ется на один адрес слова (два байта) выше, чем операнд таблицы, соответствующей операции АТТ, LIFO или FIFO, как показано на рис.П.З

Форма! таблицы д,1я ЛТТ, LIFO и FIFO

\Л\'20()

0006

TL (макс, число записей)

VW'2()2

0006

EC (чисю записей)

VW'204

xxxx

do (данные 0)

VW'2()6 - У Х Х У

d1 (данные 1)

VW20«

xxxx

d2 (данные 2)

VW2U)

d3 (данные 3)

VW'212

xxxx

d4 (данные 4)

\r^'2\4

d5 (данные 5)

-JQfiui

Фор.маг чаблицы лJ/я TBLFFND

VW2()2

0006

1

ТЬ(макс. число зап.)

VW204

xxxx

1

do (данные 0)

VW206

VYXX

1

dl (датгые 1)

VW208

xxxx

d2 (данные 2)

VW210

xxxx

1

d3 (данные 3)

VW212

xxxx

1

d4 (данные 4)

VW214

..Л£Ш

1

d5 (данные 5)

Рис.П.З

Пример операции поиска

LAD

. 12-1

TBL_n/VD

ED 12.1

Н I—

EN

Если активизирован 12.1

FND= \'W202,16#3130. ЛГ1

JSRC

TO в таб.пгице ищется

\W202

значение, равное

I<i#3130

PATRN

ЗПОИЕХ.

АС1

InsfDX

1CMD

Применение

Это таблица, которую Вы просматриваете. Если таблица была со.здана с помошью операции АТТ. LTFO или FIFO, то V>V200 содержит максиматьно доплстимое 'гасло записей и

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

VW202

3133

ЕС (число записей)

VW204

dO (запись 0)

V\^'206

dl (запись 1)

VW208

d2 (запись 2)

VW2iO

3Q3Q

d3 (запись 3)

d4 ('*апись 4)

VW212

d5 (запись 5)

VW214

. i ^ ^

АС1

1

0

1 АС] н>'жно сбросить в "О", чтобы вести поиск с самой верхней

записи таблицы.

Прсмотр таблицы

АС1 содержит номер первой записи, соответствующей

АГ1

1

2

1

критерию поиска.

АС.]

1

3

1

Уве:гичить TNDX на " 1" перед просмотром остальных записей

таб.тгацы

Прсмотр таблицы

АС] содержит номер второй записи, соотвегтствзтощей

АСА

!

4

1

критерию поиска.

ACI

1

5

1

Увеличить TNDX на " 1" перед просмотром остальных записей

таблицы.

Прсмотр таблицы

АС1 1

6

i

АС1 а1держ>1т значение, соогветствутощее числ>' записей в Tabelle таблице Вся таблица просмотрена, дальнейшие подходящие записи не найдены.

Д1ТЯ. по.'ту'чения возможжкти нового поиска в таблице нужно сбросить значение IMDX в "О".

125


1.10. Стековые операции

Логическое сопряжение через И первого и второго уровней стека

Операция Логическое сопряэюение через И пер­

ULD

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

через И первый и второй уровни стека. Результат за­

гружается в вершину стека. После операции ULD

стек содержит на один бит меньше.

Операнды: нет

Логическое сопряжение через ИЛИ первого и второго уровней стека

Операция Логическое сопряэюение через ИЛИ

OLD

первого и второго уровней стека логически связы­

вает через ИЛИ первый и второй уровни стека. Ре­

зультат загружается в вершину стека. После опера­

ции OLD стек содержит на один бит меньше.

Операнды: нет

Дублирование вершины стека

шт

Операция Дублирование вершины стека дубли­

рует значение, находящееся в вершине стека, и за­

• 1LPS

гружает его в стек. Самое нижнее значение стека

выталкивается из стека и теряется.

Операнды: нет

Копирование второго значения стека

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

LRD

ка копирует второе значение стека в вершину стека.

В стек ничего не загружается и не выталкивается,

но предыдущее значение в вершине стека замеща­

ется новым значением.

Операнды: нет

Выталкивание самого верхнего значения стека

Операция Выталкивание самого верхнего зна­

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

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

Операнды: нет

вершину стека.

126