Инструкции сдвига и циклического сдвига
Программирование в функциональном плане (FBD) для S7-300 и S7-400
11-8 A5E00261409-01
Описание
Инструкция Сдвиг двойного слова влево активируется состоянием сигнала
“1” на разрешающем входе (EN) и побитно сдвигает влево биты входа IN,
имеющие номера с 0 по 31. Вход N задает, на сколько бит происходит сдвиг.
Если N больше, чем 32, то команда записывает 0 на выходе OUT и
сбрасывает биты СС0 и OV слова состояния в ”0”. Освобождающиеся справа
битовые позиции заполняются нулями. Результат операции сдвига Вы
можете
опрашивать на выходе OUT.
Инструкция, запущенная при не равном нулю N, всегда сбрасывает биты CC0
и OV слова состояния в ”0”.
Биты слова состояния
BR CC 1 CC 0 OV OS OR STA RLO FC
Записывает X X X X - X X X 1
Пример
SHL_DW
EN
ENON
OUTIN
I 0.0
MD0
MW4
MD10
Q 4.0
S
Инструкция активируется, если I0.0 равно1. Двойное меркерное слово MD0
смещается влево на количество бит, заданное в MW4. Результат
сохраняется в MD10. Выход Q4.0 устанавливается, если последний
сдвинутый бит имеет состояние сигнала 1.
11.1.7 SHR_DW : Сдвиг двойного слова вправо
Обозначение
SHR_DW
EN
ENON
OUTIN
Параметр Тип данных Область памяти Описание
EN BOOL I, Q, M, L, D, T, C Разрешающий вход
IN DWORD I, Q, M, L, D Сдвигаемое значение
N WORD I, Q, M, L, D Количество битовых разрядов,
на которое производится сдвиг
OUT DWORD I, Q, M, L, D Результат операции сдвига
ENO BOOL I, Q, M, L, D Разрешающий выход