SHR: Сдвиг вправо
Описание функции
Эта функция сдвигает битовую комбинацию на входе IN вправо на n битов (значение на входе N).
Системный бит %S17 используется как бит переноса, т.е. в нем сохраняется состояние сдвинутого бита
Слева добавляются нули.
Особый случай: Если в диалоговом окне Tools - Project Settings - Language extensions активирована опция INT/DINT вместо ANY_BIT и вход IN использует типы данных INT или DINT, тогда нули добавляются слева, если старший значащий бит 0. Если старший значащий бит 1, добавляются единицы. Старший значащий бит содержит знак для типов данных INT и DINT. Это гарантирует сохранность знака во время сдвига. Если знак не должен учитываться и всегда должны добавляться нули, функция SHRZ_*** из библиотеки Obsolete также может использоваться для контроллеров Premium.
Типы данных входа In и выхода OUT должны быть идентичны.
Примечание: Для совместимости с IEC 61131-3 эта функция также работает с типом BOOL . Здесь это не важно.
EN и ENO могут быть сконфигурированы как дополнительные параметры.
Представление:
Описание параметров
Описание входных параметров:
Параметр | Тип данных | Значение |
IntputPattern | BOOL, BYTE, WORD, DWORD | это битовая комбинация, которая будет сдвинута Пример: IntputPattern = 2#0100000011110001. |
Number | UINT | это число позиций, на которые будет сдвинута последовательность Пример: Number = 4. |
Описание выходного параметра:
Параметр | Тип данных | Значение |
ShiftedPattern | BOOL, BYTE, WORD, DWORD | это сдвинутая последовательность Пример: для данных из предыдущей таблицы результат: ShiftedPattern = 2#0000010000001111 |
Для начала создадим переменные IntputSHR и OutputSHR тип DWORD, number – UINT.
Запускаем программу, далее меняем параметры в таблице.