
Глава 5: Стандартные команды RLL. 5—147
Руководство пользователя контроллера DL06 (D0-06USER-M-RUS)/ Перевод ООО «ПЛКСистемы»
Find (FIND)
Команда Find используется для поиска заданной
величины в таблице до 255 ячеек V-памяти.
Функциональные параметры загружены в первый
и второй уровни стека аккумулятора и сам
аккумулятор тремя дополнительными
командами. Ниже перечислены шаги
необходимые при использовании функции Find.
Шаг 1:— Загрузите число ячеек V-памяти во второй уровень стека
аккумулятора. Этот параметр должен быть шестнадцатиричным числом в
пределах от 0 до FF.
Шаг 2:— Загрузите начальный адрес яче й ки V-памяти для таблицы в первый
уровень стека аккумулятора. Этот параметр должен быть
шестнадцатиричным числом.
Шаг 3:— Загрузите в аккумулятор смещение ячейки, с которой начинается
поиск. Этот параметр должен быть шестнадцатиричным числом.
Шаг 4:— Вставьте команду Find определяющую значение, которое должно
быть найдено в таблице.
Результат:—
Смещение от начального адреса до первой ячейки V-памяти, которая
содержит значение поиска, возвращается в аккумулятор. SP53 будет
установлен на том случае, если адрес в смещении определен вне таблицы,
или значение не найдено. Если значение не найдено в аккумулятор будет
возвращено значение «0».
Полезный совет: — Вы можете использовать команду LDA для
преобразования восьмиричного адреса в шестнадцатиричный.
Тип данных операнда Диапазон DL06
A aaa
V-память V Смотри карту памяти
Указатель P Смотри карту памяти
Константа K 0-FFFF
Флаги Описание
SP53 «1», когда не найдено искомое значение в указанной таблице
ПРИМЕЧАНИЕ. Флаги состояния действительны только до того момента, когда
будет выполнена другая команда, использующая те же самые флаги.
Указатель для этой команды может начинаться с 0 и сохраняется в
аккумуляторе
В следующем примере, когда X1 включен, константа загружается в
аккумулятор, используя команду Load. Это значение определяет длину
таблицы и помещается во второй уровень стека, при выполнении следующих
команд Load Address и Load. Восьмеричный адрес 1400 (V1400) - начальная
ячейка таблицы загружается в аккумулятор. Это значение помещается в
первый уровень стека аккумулятора, при выполнении следующей команды
Load. Смещение (K2) загружается в младшие 16 бит аккумулятора, используя
команду Load. Значение, которое будет найдено в таблице определено в
команде Find. Если найдено значение равное значению поиска, смещение (от
начальной ячейки таблицы), где значение размещено, сохраняется в
аккумуляторе.