Руководство пользователя контроллера DL06. Номер руководства D0-06USER-M-RUS - 23

 

  Главная      Учебники - Разные     Руководство пользователя контроллера DL06. Номер руководства D0-06USER-M-RUS (часть 1)

 

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

 

 

 

 

 

 

 

 

 

 

 

содержание      ..     21      22      23      24     ..

 

 

 

Руководство пользователя контроллера DL06. Номер руководства D0-06USER-M-RUS - 23

 

 

Глава

 5: 

Стандартные

 

команды

 RLL. 

5—141

 

» 

 

Табличные

 

команды

 

Move (MOV) 

 

Команда

 Move 

перемещает

 

значения

 

из

 

одной

 

таблицы

 V-

памяти

 

в

 

другую

 

таблицу

 V-

памяти

 

с

 

такой

 

же

 

длиной

Функциональные

 

параметры

 

загружаются

 

в

 

первый

 

уровень

 

стека

 

аккумулятора

 

и

 

в

 

аккумулятор

 

двумя

 

дополнительными

 

командами

Ниже

 

показаны

 

шаги

необходимые

 

для

 

программирования

 

функции

 Move. 

 

Шаг

 1:

 

загрузите

 

число

 

перемещаемых

 

ячеек

 V-

памяти

 

в

 

первый

 

уровень

 

стека

 

аккумулятора

Этот

 

параметр

 

должен

 

быть

 

шестнадцатиричным

 

значением

Шаг

 2:

 

загрузите

 

начальную

 

ячейку

 V-

памяти

 

для

 

ячеек

перемещаемых

 

в

 

аккумулятор

Этот

 

параметр

 

должен

 

быть

 

шестнадцатеричным

 

значением

Шаг

 3:

 

вставьте

 

команду

 Move, 

которая

 

указывает

 

стартовую

 

ячейку

 V-

памяти

 

(Vaaa) 

для

 

таблицы

 

места

 

назначения

Полезная

 

подсказка

:

 

Для

 

параметров

которые

 

требуют

 

шестнадцатиричных

 

значений

 

при

 

ссылке

 

на

 

ячейки

 

памяти

может

 

быть

 

использована

 

команда

 

LDA 

для

 

преобразования

 

восьмеричного

 

адреса

 

в

 

шестнадцатиричный

 

эквивалент

 

и

 

загрузки

 

значения

 

в

 

аккумулятор

 

Тип

 

данных

 

операнда

 DL06 

Диапазон

 

 A

aaa 

V-

память

 

V

Смотри

 

карту

 

памяти

 

Указатель

 

P

Смотри

 

карту

 

памяти

 

 

Флаги

  

Описание

 

SP53 «1», 

когда

 

значение

 

операнда

 

больше

чем

 

значение

с

 

которым

 

может

 

работать

 

аккумулятор

 

 

 

В

 

следующем

 

примере

когда

 

Х

включен

константа

  (

К

6) 

загружается

 

в

 

аккумулятор

используя

 

команду

 Load. 

Это

 

значение

 

указывает

 

длину

 

таблицы

 

и

 

помещается

 

в

 

первой

 

ячейке

 

стека

 

после

 

выполнения

 

команды

 

Load Address. 

Восьмеричный

 

адрес

 2000 (V2000), 

который

 

является

 

начальной

 

ячейкой

 

для

 

исходной

 

таблицы

загружается

 

в

 

аккумулятор

Ячейка

 

таблицы

 

места

 

назначения

 (V2030) 

указывается

 

в

 

команде

 Move. 

5—142

 

Глава

 5: 

Стандартные

 

команды

 RLL.

 

» 

 

Move Memory Cartridge(MOVMC) /Load Label (LDLBL) 

 

Команда

 Move Memory Cartridge 

используется

 

для

 

копирования

 

данных

 

между

 V-

памятью

 

и

 

памятью

 

программы

Команда

 Load Label 

используется

 

только

 

с

 

командой

 MOVMC 

при

 

копировании

 

данных

 

из

 

памяти

 

программы

 

в

 V-

память

.  

Чтобы

 

копировать

 

данные

 

между

 V-

памятью

 

и

 

памятью

 

программы

функциональные

 

параметры

 

загружаются

 

в

 

первые

 

два

 

уровня

 

стека

 

аккумулятора

 

и

 

аккумулятор

 

двумя

 

дополнительными

 

командами

Ниже

 

показаны

 

шаги

необходимые

 

для

 

программирования

 

функций

 Move Memory Cartridge 

и

 Load Label. 

 

 

 

Шаг

 1:

 

загрузите

 

число

 

копируемых

 

слов

 

во

 

второй

 

уровень

 

стека

 

аккумулятора

Шаг

 2:

 

загрузите

 

смещение

 

для

 

области

 

метки

 

данных

 

в

 

памяти

 

программы

 

и

 

начальный

 

блок

 V-

памяти

 

в

 

первый

 

уровень

 

стека

 

аккумулятора

Шаг

 3:

 

загрузите

 

исходную

 

метку

 

данных

 (LDLBL Kaaa) 

в

 

аккумулятор

 

при

 

копировании

 

данных

 

из

 

памяти

 

программы

 

в

 V-

память

Загрузите

 

исходный

 

адрес

 

в

 

аккумулятор

 

при

 

копировании

 

данных

 

из

 V-

памяти

 

в

 

память

 

программы

Это

 

адрес

откуда

 

значение

 

будет

 

скопировано

Если

 

исходный

 

адрес

 

является

 

ячейкой

 V-

памяти

то

 

значение

 

должно

 

быть

 

введено

 

в

 

шестнадцатиричном

 

коде

Шаг

 4:

 

вставьте

 

команду

 MOVMC, 

которая

 

указывает

 

адрес

 

назначения

 

(Aaaa). 

Это

 

адрес

куда

 

значение

 

будет

 

скопировано

 

 

 

 

 

Тип

 

данных

 

операнда

 DL06 

Диапазон

 

 A

aaa 

V-

память

 

V

Смотри

 

карту

 

памяти

 

 

Глава

 5: 

Стандартные

 

команды

 RLL. 

5—143

 

» 

 

Копирование

 

данных

 

из

 

области

 

меток

 

данных

 

в

 V-

память

 

 

В

 

следующем

 

примере

 

данные

 

копируются

 

из

 

области

 

меток

 

данных

 (Data 

Label Area) 

в

 V-

память

Когда

 

Х

включен

константа

  (

К

4) 

загружается

 

в

 

аккумулятор

используя

 

команду

 Load. 

Это

 

значение

 

указывает

 

длину

 

таблицы

 

и

 

помещается

 

во

 

второй

 

ячейке

 

стека

 

после

 

выполнения

 

следующих

 

команд

 Load 

и

 Load Label (LDLBL). 

Константа

 (

К

0) 

загружается

 

в

 

аккумулятор

используя

 

команду

 Load. 

Это

 

значение

 

указывает

 

смещение

 

для

 

исходной

 

таблицы

 

и

 

адресата

и

 

помещается

 

в

 

первую

 

ячейку

 

стека

 

после

 

выполнения

 

команды

 LDLBL. 

Исходный

 

адрес

откуда

 

копируются

 

данные

загружается

 

в

 

аккумулятор

используя

 

команду

 LDLBL. 

Команда

 MOVMC 

указывает

 

стартовую

 

ячейку

 

адресата

 

и

 

выполняет

 

копирование

 

данных

 

из

 

области

 

метки

 

данных

 

в

 V-

память

 

 

 

5—144

 

Глава

 5: 

Стандартные

 

команды

 RLL.

 

» 

 

SETBIT 

 

Команда

 Set Bit 

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

 

отдельный

 

бит

 

в

 

единицу

 

в

 

указанном

 

диапазоне

 V-

памяти

RSTBIT 

 

Команда

 Reset Bit 

сбрасывает

 

отдельный

 

бит

 

в

 

ноль

 

в

 

указанном

 

диапазоне

 V-

памяти

 

Следующее

 

описание

 

подходит

 

к

 

обоим

 

табличным

 

командам

 Set Bit 

и

 Reset Bit . 

 

Шаг

 1:

 

загрузите

 

длину

 

таблицы

число

 

ячеек

 V-

памяти

в

 

первый

 

уровень

 

стека

 

аккумулятора

Этот

 

параметр

 

должен

 

быть

 

шестнадцатиричным

 

значением

 

в

 

пределах

 

от

 0 

до

 FF.  

Шаг

 2:

 

загрузите

 

адрес

 

начальной

 

ячейки

 

таблицы

 

в

 V-

памяти

Этот

 

параметр

 

должен

 

быть

 

шестнадцатиричным

 

значением

Вы

 

можете

 

использовыать

 

команду

 

LDA 

для

 

преобразования

 

восьмиричного

 

адреса

 

в

 

шестнадцатиричный

Шаг

 3:

 

вставьте

 

команду

 Set Bit 

или

 Reset Bit. 

Значение

 

по

 

данному

 

адресу

 

в

 

команде

   

определяет

 

номер

 

бита

который

 

Вы

 

хотите

 

установить

 

или

 

сбросить

Номер

 

бита

 

должен

 

быть

 

восьмиричным

 

числом

 

и

 

первый

 

бит

 

в

 

таблице

 

имеет

 

номер

 «0». 

Полезный

 

совет

:

 — 

Помните

что

 

каждая

 

ячейка

 V-

памяти

 

содержит

 16 

бит

Таким

 

образом

биты

 

первого

 

слова

 

таблицы

 

пронумерованы

 

от

 0 

до

 17 

в

 

восьмеричном

 

виде

Например

если

 

длина

 

таблицы

 - 

шесть

 

слов

то

 6 

слов

 = (6 x 16) 

бит

, = 

96(

десятичное

 

число

)  

бит

или

 140(

восьмеричное

). 

Допустимый

 

диапазон

 

числа

 

бит

 

для

 

данной

 

ссылки

 

был

 

бы

 

от

 0 

до

 137(

восьмеричное

 

число

). SP 53 

будет

 

установлен

если

 

указанный

 

бит

 

будет

 

находится

 

вне

 

диапазона

 

таблицы

 

Тип

 

данных

 

операнда

 DL06 

Диапазон

 

 A

aaa 

V-

память

 

V

Смотри

 

карту

 

памяти

 

 

Флаги

  

Описание

 

SP53 «1», 

когда

 

значение

 

операнда

 

больше

чем

 

значение

с

 

которым

 

может

 

работать

 

аккумулятор

 

 

 

ПРИМЕЧАНИЕ

Флаги

 

состояния

 

действительны

 

только

 

до

 

того

 

момента

когда

 

будет

 

выполнена

 

другая

 

команда

использующая

 

те

 

же

 

самые

 

флаги

 

 

 

Например

предположим

что

 

мы

 

имеем

 

таблицу

начинающуюся

 

с

 V3000, 

и

 

длиной

 

в

 

два

 

слова

как

 

показано

 

справа

 

Каждое

 

слово

 

в

 

таблице

 

содержит

 16 

битов

или

 

от

 

до

 17 

в

 

восьмеричном

 

виде

Чтобы

 

устанавливать

 

бит

 12 

в

 

втором

 

слове

мы

 

используем

 

восьмеричную

 

ссылку

 (

бит

 14). 

Затем

 

мы

 

вычисляем

 

восьмеричный

 

адрес

 

бита

 

от

 

начала

 

таблицы

как

 17+14=34 

(

восьмеричное

). 

На

 

следующей

 

странице

 

показана

 

программа

устанавливающая

 

этот

 

бит

 

в

 “1”. 

Глава

 5: 

Стандартные

 

команды

 RLL. 

5—145

 

» 

 

 

В

 

этом

 

примере

 

релейной

 

схемы

мы

 

используем

 

вход

 X0, 

чтобы

 

начать

 

выполнение

 

операцию

 

по

 

установки

 

бита

Сначала

мы

 

загрузим

 

длину

 

таблицы

 (2 

слова

в

 

стек

 

аккумулятора

Затем

мы

 

загружаем

 

начальный

 

адрес

 

в

 

аккумулятор

Затем

используя

 

команду

 LDA, 

преобразуем

 V3000, 

восьмиричное

 

число

в

 

шестнадцатеричный

 

вид

И

 

в

 

заключение

мы

 

используем

 

команду

 Set Bit (

или

 Reset Bit) 

и

 

указываем

 

восьмеричный

 

адрес

 

бита

 (

бит

 34), 

как

 

ссылку

 

на

 

таблицу

 

5—146

 

Глава

 5: 

Стандартные

 

команды

 RLL.

 

» 

 

Fill (FILL) 

 

Команда

 Fill 

заполняет

 

таблицу

 

до

 255 

ячеек

 V-

памяти

 

значением

 (Aaaa), 

который

 

является

 

ячейкой

 V-

памяти

 

или

 4-

х

 

разрядной

 

константой

Функциональные

 

параметры

 

загружены

 

в

 

первый

 

уровень

 

стека

 

и

 

аккумулятор

 

двумя

 

дополнительными

 

командами

 

Ниже

 

даны

 

шаги

 

необходимые

 

при

 

использовании

 

функции

 Fill. 

Шаг

 1:—

 

Загрузите

 

число

 

ячеек

 V-

памяти

 

который

 

необходимо

 

заполнить

 

в

 

первый

 

уровень

 

стека

 

аккумулятора

Этот

 

параметр

 

должен

 

быть

 

шестнадцатиричным

 

числом

 

в

 

пределах

 

от

 0 

до

 FF. 

Шаг

 2:—

 

Загрузите

 

начальный

 

адрес

 

ячейки

 V-

памяти

 

для

 

таблицы

 

в

 

аккумулятор

Этот

 

параметр

 

должен

 

быть

 

шестнадцатиричным

 

числом

Шаг

 3:—

 

Вставьте

 

команду

 Fill, 

которая

 

определяет

 

значение

 

для

 

заполнения

 

таблицы

.  

Полезный

 

совет

: — 

Вы

 

можете

 

использовать

 

команду

 LDA 

для

 

преобразования

 

восьмиричного

 

адреса

 

в

 

шестнадцатиричный

 

Тип

 

данных

 

операнда

 

Диапазон

 DL06 

 A 

aaa 

V-

память

 

Смотри

 

карту

 

памяти

 

Указатель

 P 

Смотри

 

карту

 

памяти

 

Константа

 

K 0-FFFF 

 

 

В

 

следующем

 

примере

когда

 X1 

включен

константа

 

загружается

 

в

 

аккумулятор

используя

 

команду

 Load. 

Это

 

значение

 

определяет

 

длину

 

таблицы

 

и

 

помещается

 

в

 

первый

 

уровень

 

стека

 

аккумулятора

когда

 

команда

 

Load Address 

будет

 

выполнена

Восьмеричный

 

адрес

 1600 (V1600) - 

начальная

 

ячейка

 

таблицы

загружается

 

в

 

аккумулятор

используя

 

инструкцию

 

Load Address. 

Значение

 

для

 

заполнения

 

таблицы

 (V1400) 

определяется

 

в

 

команде

 Fill. 

Глава

 5: 

Стандартные

 

команды

 RLL. 

5—147

 

» 

 

Find (FIND) 

 

Команда

 Find 

используется

 

для

 

поиска

 

заданной

 

величины

 

в

 

таблице

 

до

 255 

ячеек

 V-

памяти

Функциональные

 

параметры

 

загружены

 

в

 

первый

 

и

 

второй

 

уровни

 

стека

 

аккумулятора

 

и

 

сам

 

аккумулятор

 

тремя

 

дополнительными

 

командами

Ниже

 

перечислены

 

шаги

 

необходимые

 

при

 

использовании

 

функции

 Find. 

 

Шаг

 1:—

 

Загрузите

 

число

 

ячеек

 V-

памяти

 

во

 

второй

 

уровень

 

стека

 

аккумулятора

Этот

 

параметр

 

должен

 

быть

 

шестнадцатиричным

 

числом

 

в

 

пределах

 

от

 0 

до

 FF. 

Шаг

 2:—

 

Загрузите

 

начальный

 

адрес

 

ячейки

 V-

памяти

 

для

 

таблицы

 

в

 

первый

 

уровень

 

стека

 

аккумулятора

Этот

 

параметр

 

должен

 

быть

 

шестнадцатиричным

 

числом

Шаг

 3:—

 

Загрузите

 

в

 

аккумулятор

 

смещение

 

ячейки

с

 

которой

 

начинается

 

поиск

Этот

 

параметр

 

должен

 

быть

 

шестнадцатиричным

 

числом

Шаг

 4:—

 

Вставьте

 

команду

 Find 

определяющую

 

значение

которое

 

должно

 

быть

 

найдено

 

в

 

таблице

.  

Результат

:—

  

Смещение

 

от

 

начального

 

адреса

 

до

 

первой

 

ячейки

 V-

памяти

которая

 

содержит

 

значение

 

поиска

  (

шестнадцатиричное

 

значение

),  

возвращается

 

в

 

аккумулятор

. SP53 

будет

 

установлен

 

на

 

том

 

случае

если

 

адрес

 

в

 

смещении

 

определен

 

вне

 

таблицы

или

 

значение

 

не

 

найдено

Если

 

значение

 

не

 

найдено

 

в

 

аккумулятор

 

будет

 

возвращено

 

значение

 «0». 

Полезный

 

совет

: — 

Вы

 

можете

 

использовать

 

команду

 LDA 

для

 

преобразования

 

восьмиричного

 

адреса

 

в

 

шестнадцатиричный

 

Тип

 

данных

 

операнда

 

Диапазон

 DL06 

 A 

aaa 

V-

память

 

Смотри

 

карту

 

памяти

 

Указатель

 P 

Смотри

 

карту

 

памяти

 

Константа

 

K 0-FFFF 

 

Флаги

  

Описание

 

SP53 «1», 

когда

 

не

 

найдено

 

искомое

 

значение

 

в

 

указанной

 

таблице

 

 

 

ПРИМЕЧАНИЕ

Флаги

 

состояния

 

действительны

 

только

 

до

 

того

 

момента

когда

 

будет

 

выполнена

 

другая

 

команда

использующая

 

те

 

же

 

самые

 

флаги

Указатель

 

для

 

этой

 

команды

 

может

 

начинаться

 

с

 0 

и

 

сохраняется

 

в

 

аккумуляторе

 

 

 

В

 

следующем

 

примере

когда

 X1 

включен

константа

 

загружается

 

в

 

аккумулятор

используя

 

команду

 Load. 

Это

 

значение

 

определяет

 

длину

 

таблицы

 

и

 

помещается

 

во

 

второй

 

уровень

 

стека

при

 

выполнении

 

следующих

 

команд

 Load Address 

и

 Load. 

Восьмеричный

 

адрес

 1400 (V1400) - 

начальная

 

ячейка

 

таблицы

 

загружается

 

в

 

аккумулятор

Это

 

значение

 

помещается

 

в

 

первый

 

уровень

 

стека

 

аккумулятора

при

 

выполнении

 

следующей

 

команды

 

Load. 

Смещение

 (K2) 

загружается

 

в

 

младшие

 16 

бит

 

аккумулятора

используя

 

команду

 Load. 

Значение

которое

 

будет

 

найдено

 

в

 

таблице

 

определено

 

в

 

команде

 Find. 

Если

 

найдено

 

значение

 

равное

 

значению

 

поиска

смещение

 (

от

 

начальной

 

ячейки

 

таблицы

), 

где

 

значение

 

размещено

,  

сохраняется

 

в

 

аккумуляторе

5—148

 

Глава

 5: 

Стандартные

 

команды

 RLL.

 

» 

 

 

 

 

Find Greater Than (FDGT) 

 

Команда

 Find Greater Than 

используется

 

для

 

поиска

первого

 

местонахождение

 

значения

 

в

 

таблице

 V-

памяти

которое

 

является

 

больше

 

заданной

 

величины

 (Aaaa), 

которая

 

может

 

быть

 

или

 

ячекой

 V-

памяти

 

или

 4-

разрядная

 

константа

Функциональные

 

параметры

 

загружены

 

в

 

первый

 

уровень

 

стека

 

и

 

аккумулятор

 

двумя

 

дополнительными

 

инструкциями

Ниже

 

перечислены

 

шаги

необходимые

 

для

 

работы

 

с

 

командой

 Find Greater Than.

 

 

Шаг

 1:—

 

Загрузите

 

длину

 

таблицы

 

в

 V-

памяти

 

в

 

первый

 

уровень

 

стека

 

аккумулятора

Этот

 

параметр

 

должен

 

быть

 

шестнадцатиричным

 

числом

 

в

 

пределах

 

от

 0 

до

 FF. 

Шаг

 2:—

 

Загрузите

 

начальный

 

адрес

 

ячейки

 V-

памяти

 

для

 

таблицы

 

в

 

аккумулятора

Этот

 

параметр

 

должен

 

быть

 

шестнадцатиричным

 

числом

Шаг

 3:—

 

Вставьте

 

команду

 FDGT 

определяющую

 

значение

 

больше

 

указанного

.  

Результат

:—

 

Смещение

 

от

 

начального

 

адреса

 

до

 

первой

 

ячейки

 V-

памяти

которая

 

содержит

 

значение

 

больше

чем

 

указанное

  (

шестнадцатиричное

 

значение

), 

возвращается

 

в

 

аккумулятор

. SP53 

будет

 

установлен

 

в

 

том

 

случае

если

 

адрес

 

в

 

смещении

 

определен

 

вне

 

таблицы

или

 

значение

 

не

 

найдено

Если

 

значение

 

не

 

найдено

 

в

 

аккумулятор

 

будет

 

возвращено

 

значение

 «0». 

Полезный

 

совет

: — 

Вы

 

можете

 

использовать

 

команду

 LDA 

для

 

преобразования

 

восьмиричного

 

адреса

 

в

 

шестнадцатиричный

 

 

ПРИМЕЧАНИЕ

Эта

 

команда

 

не

 

имеет

 

смещения

типа

требуемого

 

для

 

команды

 Find. 

Глава

 5: 

Стандартные

 

команды

 RLL. 

5—149

 

» 

 

Тип

 

данных

 

операнда

 

Диапазон

 DL06 

 A 

aaa 

V-

память

 

Смотри

 

карту

 

памяти

 

Константа

 

K 0-FFFF 

 

Флаги

  

Описание

 

SP53 «1», 

когда

 

не

 

найдено

 

значение

 

больше

 

искомого

 

в

 

указанной

 

таблице

 

 

 

ПРИМЕЧАНИЕ

Флаги

 

состояния

 

действительны

 

только

 

до

 

того

 

момента

когда

 

будет

 

выполнена

 

другая

 

команда

использующая

 

те

 

же

 

самые

 

флаги

Указатель

 

для

 

этой

 

команды

 

может

 

начинаться

 

с

 0 

и

 

сохраняется

 

в

 

аккумуляторе

 

 

 

В

 

следующем

 

примере

когда

 X1 

включен

константа

 

К

загружается

 

в

 

аккумулятор

используя

 

команду

 Load. 

Это

 

значение

 

определяет

 

длину

 

таблицы

 

и

 

помещается

 

в

 

первый

 

уровень

 

стека

при

 

выполнении

 

следующей

 

команд

 Load Address. 

Восьмеричный

 

адрес

 1400 (V1400) - 

начальная

 

ячейка

 

таблицы

 

загружается

 

в

 

аккумулятор

Ячейка

значение

 

которой

 

будет

 

больше

 

указанного

 

определяется

 

в

 

команде

 Find Greater Than. 

Если

 

найдено

 

значение

 

больше

 

искомого

смещение

  (

от

 

начальной

 

ячейки

 

таблицы

), 

где

 

значение

 

размещено

сохраняется

 

в

 

аккумуляторе

Если

 

значение

 

больше

 

искомого

 

не

 

найдено

в

 

аккумулятор

 

помещается

 0 

и

 

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

 SP53 . 

 

5—150

 

Глава

 5: 

Стандартные

 

команды

 RLL.

 

» 

 

Table to Destination (TTD) 

 

Команда

 Table To Destination 

перемещает

 

значение

 

из

 

таблицы

 V-

памяти

 

в

 

ячеки

 V-

памяти

 

и

 

увеличивает

 

указатель

 

таблицы

 

на

 1. 

Первая

 

ячейка

 V-

памяти

 

в

 

таблице

 

содержит

 

указатель

 

таблицы

который

 

указывает

 

следующую

 

ячейку

 

в

 

таблице

которая

 

будет

 

перемещена

Инструкция

 

будет

 

выполнена

только

 

если

 

в

 

данном

 

цикле

 

сканирование

 

вход

 

включен

Указатель

 

таблицы

 

сбросится

 

в

 1, 

когда

 

значение

 

равно

 

последней

 

ячейке

 

в

 

таблице

Функциональные

 

параметры

 

загружаются

 

в

 

первый

 

уровень

 

стека

 

и

 

аккумулятор

 

двумя

 

дополнительными

 

инструкциями

Ниже

 

перечислены

 

шаги

необходимые

 

для

 

использования

 

команды

 Table To Destination

 

 

Шаг

 1:—

 

Загрузите

 

длину

 

таблицы

 (

число

 

ячеек

 V-

памяти

в

 

первый

 

уровень

 

стека

 

аккумулятора

Этот

 

параметр

 

должен

 

быть

 

шестнадцатиричным

 

числом

 

в

 

пределах

 

от

 0 

до

 FF. 

Шаг

 2:—

 

Загрузите

 

начальный

 

адрес

 

ячейки

 V-

памяти

 

для

 

таблицы

 

в

 

аккумулятор

помните

что

 

начальная

 

ячейка

 

используется

 

как

 

указатель

 

таблицы

). 

Этот

 

параметр

 

должен

 

быть

 

шестнадцатиричным

 

числом

Шаг

 3:—

 

Вставьте

 

команду

 TTD, 

которая

 

определяет

 

адрес

 

ячейки

 V-

памяти

 

(Vaaa). 

Полезный

 

совет

: — 

Вы

 

можете

 

использовать

 

команду

 LDA 

для

 

преобразования

 

восьмиричного

 

адреса

 

в

 

шестнадцатиричный

 

и

 

загрузки

 

его

 

в

 

аккумулятор

Полезный

 

совет

: —

 

Инструкция

 

будет

 

выполнятся

 

каждый

 

цикл

 

сканирования

если

 

входная

 

логика

 

включена

Если

 

Вы

 

не

 

хотите

чтобы

  

инструкция

 

выполнилась

 

для

 

более

 

чем

 

одно

 

сканирование

используйте

  

команду

 

одиночного

 

импульса

 PD 

во

 

входной

 

логике

.

 

Полезный

 

совет

: —

 

Ячейка

 

указателя

 

должна

 

быть

 

установлена

 

в

 

значение

 

начальной

 

ячейки

 

для

 

работы

 

с

 

таблицей

Необходимо

 

использовать

 

специальное

 

реле

 SP0 

или

 

команду

 

одиночного

 

импульса

 PD, 

в

 

этом

 

случае

 

значение

 

будет

 

установлено

 

только

 

в

 

одном

 

цикле

 

сканирования

 

и

 

не

 

будет

 

влиять

 

на

 

работу

 

команды

 

 

 

Тип

 

данных

 

операнда

 

Диапазон

 DL06 

 A 

aaa 

V-

память

 

Смотри

 

карту

 

памяти

 

 

Флаги

  

Описание

 

SP56 «1», 

когда

 

значение

 

указателя

 

таблицы

 

равно

 

длине

 

таблицы

 

 

ПРИМЕЧАНИЕ

Флаги

 

состояния

 (SP) 

не

 

только

 

допустимы

 

до

 

исполнения

 

другой

 

команды

которая

 

использует

,  

те

 

же

 

самые

 

флаги

или

 

конца

 

цикла

 

сканирования

но

и

 

указатель

 

для

 

этих

 

команд

 

сначала

 

равен

 0 

и

 

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

когда

 

достигнута

 

длина

 

таблицы

На

 

первый

 

взгляд

 

может

 

показаться

что

 

указатель

 

должен

 

сброситься

 

в

 0. 

Однако

он

 

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

 

в

 1. 

 

Глава

 5: 

Стандартные

 

команды

 RLL. 

5—151

 

» 

 

 

В

 

следующем

 

примере

когда

 X1 

включен

константа

 (K6) 

загружается

 

в

 

аккумулятор

используя

 

команду

 Load. 

Это

 

значение

 

определяет

 

длину

 

таблицы

 

и

 

помещается

 

в

 

первый

 

уровень

 

стека

 

после

 

того

как

 

команда

 Load 

Address 

будет

 

выполнена

Восьмеричный

 

адрес

 1400 (V1400) - 

начальная

 

ячейка

 

для

 

исходной

 

таблицы

 – 

загружается

 

в

 

аккумулятор

Помните

, V1400 

используется

 

как

 

ячейка

 

указателя

и

фактически

не

 

часть

 

таблицы

 

как

 

источника

 

данных

Адрес

 

ячейки

 (V1500) 

определен

 

в

 

команде

 Table to 

Destination. 

Указатель

 

таблицы

  (

в

 

этом

 

случае

 V1400) 

будет

 

увеличен

 

на

 “1” 

после

 

каждого

 

выполнения

 TTD 

инструкции

 

 

Важно

 

понять

как

 

пронумерованы

 

ячейки

 

таблицы

Если

 

Вы

 

рассмотрите

 

таблицу

 

в

 

примере

вы

 

увидите

что

 

первая

 

ячейка

 

данных

, V1401, 

будет

 

использоваться

когда

 

указатель

 

равен

 

нулю

и

 

снова

когда

 

указатель

 

равен

 

шести

Почему

Потому

что

 

указатель

 

равен

 

нулю

 

только

 

перед

 

самим

 

первым

 

выполнением

В

 

дальнейшем

он

 

увеличивается

 

от

 

одного

 

до

 

шести

и

 

затем

 

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

 

в

 

единицу

 

Наш

 

пример

также

 

использует

 

нормально

-

открытый

 

входной

 

контакт

 (X1), 

чтобы

 

управлять

 

выполнением

 

команды

Так

 

как

 

цикл

 

сканирования

 

процессора

 

совершается

 

за

 

минимальное

 

время

то

 

и

 

автоматическое

 

увеличение

 

указателя

 

таблицы

 

в

 

цикле

 

произойдет

 

очень

 

быстро

Если

 

такое

 

положение

 

вещей

 

является

 

для

 

Вас

 

проблемой

то

 

воспользуйтесь

 

специальным

 

реле

 SP56 

или

 

командой

 

одиночного

 

импульса

 (PD) 

с

 

защелкой

  (

например

 C1), 

чтобы

 

таблица

 

циклически

 

прошла

 

все

 

ячейки

 

и

 

затем

 

останавилась

Логика

показанная

 

здесь

 

не

 

обязательна

и

 

дана

 

как

 

пример

.

 

5—152

 

Глава

 5: 

Стандартные

 

команды

 RLL.

 

» 

 

 

На

 

следующем

 

рисунке

 

показаны

 

результаты

 

выполнения

 

нашего

 

примера

 

программы

 

в

 

каждом

 

цикле

Обратите

 

внимание

как

 

указатель

 

автоматически

 

изменяется

 

в

 

цикле

 

от

 0 

до

 6, 

и

 

затем

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

 

в

 1 

вместо

 0. 

Также

обратите

 

внимание

что

 SP56 

включается

 

только

 

при

 

окончании

 

цикла

.  

 

 

Глава

 5: 

Стандартные

 

команды

 RLL. 

5—153

 

» 

 

Remove from Bottom (RFB) 

 

Команда

 Remove From Bottom 

перемещает

 

значение

 

из

 

таблицы

 V-

памяти

 

в

 

ячеки

 V-

памяти

 

и

 

уменьшает

 

указатель

 

таблицы

 

на

 1. 

Первая

 

ячейка

 V-

памяти

 

в

 

таблице

 

содержит

 

указатель

 

таблицы

который

 

указывает

 

следующую

 

ячейку

 

в

 

таблице

которая

 

будет

 

перемещена

Инструкция

 

будет

 

выполнена

только

 

если

 

в

 

данном

 

цикле

 

сканирование

 

вход

 

включен

Команда

 

окончит

 

свое

 

выполнение

 

в

 

тот

 

момент

когда

 

указатель

 

таблицы

 

станет

 

равным

 0. 

Функциональные

 

параметры

 

загружаются

 

в

 

первый

 

уровень

 

стека

 

и

 

аккумулятор

 

двумя

 

дополнительными

 

командами

Ниже

 

перечислены

 

шаги

необходимые

 

для

 

использования

 

команды

 Remove From Bottom

 

 

Шаг

 1:—

 

Загрузите

 

длину

 

таблицы

 (

число

 

ячеек

 V-

памяти

в

 

первый

 

уровень

 

стека

 

аккумулятора

Этот

 

параметр

 

должен

 

быть

 

шестнадцатиричным

 

числом

 

в

 

пределах

 

от

 0 

до

 FF. 

Шаг

 2:—

 

Загрузите

 

начальный

 

адрес

 

ячейки

 V-

памяти

 

для

 

таблицы

 

в

 

аккумулятор

  (

помните

что

 

начальная

 

ячейка

 

используется

 

как

 

указатель

 

таблицы

). 

Этот

 

параметр

 

должен

 

быть

 

шестнадцатиричным

 

числом

Шаг

 3:—

 

Вставьте

 

команду

 RFB, 

которая

 

определяет

 

адрес

 

ячейки

 V-

памяти

 

(Vaaa). 

Полезный

 

совет

: — 

Вы

 

можете

 

использовать

 

команду

 LDA 

для

 

преобразования

 

восьмиричного

 

адреса

 

в

 

шестнадцатиричный

 

и

 

загрузки

 

его

 

в

 

аккумулятор

Полезный

 

совет

: —

 

Инструкция

 

будет

 

выполнятся

 

каждый

 

цикл

 

сканирования

если

 

входная

 

логика

 

включена

Если

 

Вы

 

не

 

хотите

чтобы

  

команда

 

выполнялась

 

более

 

чем

 

один

 

цикл

 

сканирования

используйте

  

команду

 

одиночного

 

импульса

 PD 

во

 

входной

 

логике

.

 

Полезный

 

совет

: —

 

Ячейка

 

указателя

 

должна

 

быть

 

установлена

 

в

 

значение

 

начальной

 

ячейки

 

для

 

работы

 

с

 

таблицей

Необходимо

 

использовать

 

специальное

 

реле

 SP0 

или

 

команду

 

одиночного

 

импульса

 PD, 

в

 

этом

 

случае

 

значение

 

будет

 

установлено

 

только

 

в

 

одном

 

цикле

 

сканирования

 

и

 

не

 

будет

 

влиять

 

на

 

работу

 

команды

 

 

 

 

Тип

 

данных

 

операнда

 

Диапазон

 DL06 

 A 

aaa 

V-

память

 

Смотри

 

карту

 

памяти

 

 

Флаги

  

Описание

 

SP56 «1», 

когда

 

указатель

 

таблицы

 

равен

 0. 

 

 

ПРИМЕЧАНИЕ

Флаги

 

состояния

 (SP) 

не

 

только

 

допустимы

 

до

 

исполнения

 

другой

 

команды

которая

 

использует

те

 

же

 

самые

 

флаги

или

 

конца

 

цикла

 

сканирования

но

и

 

указатель

 

для

 

данной

 

команды

 

должен

 

быть

 

установлен

 

до

 

начала

 

выполнения

Указатель

 

не

 

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

 

автоматически

Вы

 

должны

 

загрузить

 

значение

 

в

 

указатель

 

где

-

нибудь

 

в

 

вашей

 

программе

 

5—154

 

Глава

 5: 

Стандартные

 

команды

 RLL.

 

» 

 

 

В

 

следующем

 

примере

когда

 X1 

включен

константа

 (K6) 

загружается

 

в

 

аккумулятор

используя

 

команду

 Load. 

Это

 

значение

 

определяет

 

длину

 

таблицы

 

и

 

помещается

 

в

 

первый

 

уровень

 

стека

 

после

 

того

как

 

команда

 Load 

Address 

будет

 

выполнена

Восьмеричный

 

адрес

 1400 (V1400) - 

начальная

 

ячейка

 

для

 

исходной

 

таблицы

 – 

загружается

 

в

 

аккумулятор

Помните

, V1400 

используется

 

как

 

ячейка

 

указателя

и

фактически

не

 

часть

 

таблицы

 

как

 

источника

 

данных

Адрес

 

ячейки

 (V1500) 

определен

 

в

 

команде

 Remove From 

Bottom. 

Указатель

 

таблицы

  (

в

 

этом

 

случае

 V1400) 

будет

 

уменьшен

 

на

 “1” 

после

 

каждого

 

выполнения

 RFB 

инструкции

 

 

Важно

 

понять

как

 

пронумерованы

 

ячейки

 

таблицы

Если

 

Вы

 

рассмотрите

 

таблицу

 

в

 

примере

вы

 

увидите

что

 

первая

 

ячейка

 

данных

, V1401, 

будет

 

использоваться

когда

 

указатель

 

равен

 

единице

Вторая

 

ячейка

 

данных

, V1402, 

будет

 

использоваться

когда

 

указатель

 

равен

 

двойке

 

и

 

т

.

д

.

 

 

 

Наш

 

пример

также

 

использует

 

нормально

-

открытый

 

входной

 

контакт

 (X1), 

чтобы

 

управлять

 

выполнением

 

команды

Так

 

как

 

цикл

 

сканирования

 

процессора

 

совершается

 

за

 

минимальное

 

время

то

 

и

 

автоматическое

 

увеличение

 

указателя

 

таблицы

 

в

 

цикле

 

произойдет

 

очень

 

быстро

Если

 

такое

 

положение

 

вещей

 

является

 

для

 

Вас

 

проблемой

то

 

воспользуйтесь

 

командой

 

одиночного

 

импульса

 (PD), 

чтобы

 

удалить

 

одно

 

значение

каждый

 

раз

когда

 

входной

 

в

 

контакт

 

переходит

 

из

 

состояния

 

выключено

 

в

 

состояние

 

включено

.

 

 

Глава

 5: 

Стандартные

 

команды

 RLL. 

5—155

 

» 

 

 

На

 

следующем

 

рисунке

 

показаны

 

результаты

 

выполнения

 

нашего

 

примера

 

программы

 

в

 

каждом

 

цикле

Обратите

 

внимание

как

 

указатель

 

автоматически

 

изменяется

 

в

 

цикле

 

от

 6 

до

 0. 

Также

обратите

 

внимание

что

 SP56 

включается

 

только

 

при

 

окончании

 

цикла

.  

 

 

5—156

 

Глава

 5: 

Стандартные

 

команды

 RLL.

 

» 

 

Source to Table (STT) 

 

Команда

 Source To Table 

перемещает

 

значения

 

из

 

ячеек

 V-

памяти

 

в

 

таблицу

 V-

памяти

 

и

 

увеличивает

 

указатель

 

таблицы

 

на

 1. 

Когда

 

указатель

 

таблицы

 

достигает

 

конца

 

таблицы

то

 

он

 

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

 

в

 1. 

Первая

 

ячейка

 V-

памяти

 

в

 

таблице

 

содержит

 

указатель

 

таблицы

указывающий

 

на

 

следующую

 

ячейку

 

в

 

таблице

в

 

которой

 

будет

 

сохранено

 

значение

Инструкция

 

будет

 

выполнена

только

 

если

 

в

 

данном

 

цикле

 

сканирование

 

вход

 

включен

Функциональные

 

параметры

 

загружаются

 

в

 

первый

 

уровень

 

стека

 

и

 

аккумулятор

 

двумя

 

дополнительными

 

командами

Ниже

 

перечислены

 

шаги

необходимые

 

для

 

использования

 

команды

 

Source To Table

 

 

Шаг

 1:—

 

Загрузите

 

длину

 

таблицы

 (

число

 

ячеек

 V-

памяти

в

 

первый

 

уровень

 

стека

 

аккумулятора

Этот

 

параметр

 

должен

 

быть

 

шестнадцатиричным

 

числом

 

в

 

пределах

 

от

 0 

до

 FF. 

Шаг

 2:—

 

Загрузите

 

начальный

 

адрес

 

ячейки

 V-

памяти

 

для

 

таблицы

 

в

 

аккумулятор

помните

что

 

начальная

 

ячейка

 

используется

 

как

 

указатель

 

таблицы

). 

Этот

 

параметр

 

должен

 

быть

 

шестнадцатиричным

 

числом

Шаг

 3:—

 

Вставьте

 

команду

 STT, 

которая

 

определяет

 

начальный

 

адрес

 

ячейки

 

V-

памяти

 (Vaaa). 

Из

 

которой

 

начинается

 

перемещение

 

данных

 

в

 

таблицу

Полезный

 

совет

: — 

Вы

 

можете

 

использовать

 

команду

 LDA 

для

 

преобразования

 

восьмиричного

 

адреса

 

в

 

шестнадцатиричный

 

и

 

загрузки

 

его

 

в

 

аккумулятор

Полезный

 

совет

: —

 

Инструкция

 

будет

 

выполнятся

 

каждый

 

цикл

 

сканирования

если

 

входная

 

логика

 

включена

Если

 

Вы

 

не

 

хотите

чтобы

  

инструкция

 

выполнилась

 

более

 

чем

 

один

 

цикл

 

сканирования

 

всей

 

таблицы

то

 

используйте

  

команду

 

одиночного

 

импульса

 PD 

во

 

входной

 

логике

.

 

Полезный

 

совет

: —

 

Значение

 

счетчика

 

таблицы

 

должно

 

быть

 

установлено

 

в

 

значение

 

начальной

 

ячейки

 

для

 

работы

 

с

 

таблицей

При

 

этом

он

 

должен

 

быть

 

установлено

 

в

 

значение

которое

 

находится

 

в

 

пределах

 

длины

 

таблицы

Например

если

 

длина

 

таблицы

 - 6 

слов

то

 

допустимый

 

диапазон

 

значений

которые

 

могли

 

бы

 

быть

 

в

 

указателе

 

между

 0 

и

 6. 

Если

 

значение

 

находится

 

за

 

границами

 

этого

 

диапазона

данные

 

не

 

будут

 

перемещаться

Также

необходимо

 

использовать

 

команду

 

одиночного

 

импульса

 PD, 

в

 

этом

 

случае

 

значение

 

будет

 

установлено

 

только

 

в

 

первом

 

сканировании

 

и

 

будет

 

не

 

влиять

 

на

 

работу

 

команды

 

Тип

 

данных

 

операнда

 

Диапазон

 DL06 

 A 

aaa 

V-

память

 

Смотри

 

карту

 

памяти

 

 

Флаги

  

Описание

 

SP56 «1», 

когда

 

указатель

 

таблицы

 

равен

 

длине

 

таблицы

 

 

ПРИМЕЧАНИЕ

Флаги

 

состояния

 (SP) 

допустимо

 

использовать

 

до

 

исполнения

 

другой

 

команды

которая

 

использует

,  

те

 

же

 

самые

 

флаги

или

 

конца

 

цикла

 

сканирования

Указатель

 

для

 

этих

 

команд

 

сначала

 

равен

 0 

и

 

автоматически

 

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

 

в

 1, 

когда

 

достигнута

 

длина

 

таблицы

.  

 

 

 

 

 

 

 

 

содержание      ..     21      22      23      24     ..