
- •1. Общие сведения о программировании программируемых логических контроллерах (плк)
- •1.1 Области памяти и их функции
- •1.2 Непосредственная и прямая адресация
- •1.3 Битовые логические операции
- •1.4 Операции со счетчиками
- •1.5 Таймерные команды
- •1.6 Преобразование форматов данных
- •1.7 Команды сдвига и циклического сдвига
- •1.8 Операции с блоками данных
- •1.9 Команды перехода
- •1.10Метка Литература
1.7 Команды сдвига и циклического сдвига
Команды сдвига
Команды сдвига
Вы можете использовать команды сдвига, чтобы сдвигать содержимое входа IN бит за битом влево или вправо. Сдвиг влево умножает содержимое входа IN на 2 в степени n (2n); сдвиг вправо делит содержимое входа IN на 2 в степени n (2n). Например, если вы сдвигаете двоичный эквивалент десятичного числа 3 влево на 3 бита, то получаете в аккумуляторе двоичный эквивалент десятичного числа 24. Если вы сдвигаете двоичный эквивалент десятичного числа 16 вправо на 2 бита, то получаете в аккумуляторе двоичный эквивалент десятичного числа 4. Число, которым вы снабжаете входной параметр N, определяет количество битов, на которое происходит сдвиг. Двоичные разряды, освобождаемые командой сдвига, заполняются или нулями, или состоянием сигнала знакового бита (0 означает положительное значение, а 1 означает отрицательное значение).
Сдвиг влево слова
Состояние сигнала 1 на разрешающем входе (EN) активизирует команду Сдвинуть влево слово. Эта команда поочередно сдвигает влево биты с 15 по 0 входа IN. Перенос в бит 16 не происходит. Вход N определяет количество битов, на которое происходит сдвиг. Если N больше, чем 16, то команда записывает 0 в младшее слово аккумулятора 1 и сбрасывает биты СС 0 и OV слова состояния в 0. Двоичные разряды справа заполняются нулями. Результат операции сдвига может быть просмотрен на выходе OUT.
Состояние сигнала 1 на входе 10.0 активизирует команду. Слово памяти MW0 сдвигается влево на число битов, указанное в слове памяти MW2. Результат помещается в слово памяти MW4.
Рис.13
Команды циклического сдвига
Описание
Вы можете использовать команды циклического сдвига для того, чтобы выполнять циклический сдвиг всего содержимого входа IN бит за битом влево или вправо. Освобождаемые разряды заполняются состояниями сигналов тех битов, которые выталкиваются из содержимого входа IN. Число, которым вы снабжаете входной параметр N, определяет число битов, на которое происходит циклический сдвиг.
Циклический сдвиг влево двойного слова
Состояние сигнала 1 на разрешающем входе (EN) активизирует команду Выполнить циклический сдвиг двойного слова влево. Эта команда циклически сдвигает влево бит за битом все содержимое входа IN. Вход N определяет количество битов, на которое происходит сдвиг. Если N больше, чем 32, то двойное слово циклически сдвигается на количество разрядов, равное ((N-1) по модулю 32) +1). Двоичные разряды справа заполняются состояниями сигналов циклически сдвигаемых битов. Результат операции циклического сдвига может быть просмотрен на выходе OUT.
Состояние сигнала 1 на входе 10.0 активизирует команду.
Двойное слово памяти MD0 циклически сдвигается влево на число битое, указанное в слове памяти MW4.
Р
езультат
помещается в двойное слово памяти MD10.
Рис.14
Загрузить программную среда Simatic manager подготовить программы Рис.13,Рис.14 Проверить отработку этих программ в симуляторе.
1.8 Операции с блоками данных
Открытие блока данных: DB или DI
Описание
Вы можете использовать команду Открыть блок данных: DB или DI, чтобы открыть уже существующий блок данных как DB или DI. Номер блока данных передается в регистр DB или DJ.
Последующие команды DB и DI обращаются к соответствующим блокам в зависимости от содержимого регистра.
Таблица 1.8.1 Элемент "Открытие блока данных: DB или DI" и параметры, с указанием международного краткого имени |
||||
Элемент КОР |
Параметр |
Тип данных |
Область памяти |
Описание |
|
Номер DB или DI |
BLOCK_DB |
|
Диапазон номеров DB или DI зависит от вашего CPU. |
DB 10 - это блок данных, открытый в данный момент времени. Именно поэтому опрос DBX0.0 относится к биту 0 байта 0 блока данных DB 10. Состояние сигнала этого бита присваивается выходу Q 4.0.