SHL: Сдвиг влево
Описание функции
Эта функция сдвигает битовую комбинацию на входе IN влево на n битов (значение на входе N).
Системный бит %S17 используется как бит переноса, т.е. в нем сохраняется состояние сдвинутого бита
Справа добавляются нули.
Типы данных входа IN и выхода OUT должны быть идентичны.
Примечание: Для совместимости с IEC 61131-3 эта функция также работает с типом BOOL . Здесь это не важно.
EN и ENO могут быть сконфигурированы как дополнительные параметры.
Дополнительные доступные функции
Библиотека Obsolete содержит следующие дополнительные функции:
SHL_DINT
SHL_INT
Эти функции идентичны функции SHL.
Представление:
Описание параметров
Описание входных параметров:
Параметр | Тип данных | Значение |
IntputPattern | Для SHL: BOOL, BYTE, WORD, DWORD Для SHL_INT: INT Для SHL_DINT: DINT | это битовая комбинация, которая будет сдвинута Пример: IntputPattern = 2#0100000011110001. |
Number | Для SHL: UINT Для SHL_INT, SHL_DINT: INT | это число позиций, на которые будет сдвинута последовательность Пример: Number = 4. |
Описание выходного параметра:
Параметр | Тип данных | Значение |
ShiftedPattern | Для SHL: BOOL, BYTE, WORD, DWORD Для SHL_INT: INT Для SHL_DINT: DINT | это сдвинутая последовательность Пример: для данных из предыдущей таблицы результат: ShiftedPattern = 2#0000111100010000 |
В качестве переменных IntputPattern и ShiftedPattern, я выбрал тип WORD, Number соответственно - UINT.
Краткое описание по типу:
WORD
Слово кодируется в 16-битном формате.
В этой таблице показаны нижние / верхние пределы для оснований, которые могут использоваться:
Основание | Нижний предел | Верхний предел |
Шестнадцатеричное | 16#0 | 16#FFFF |
Восьмеричное | 8#0 | 8#177777 |
Двоичное | 2#0 | 2#1111111111111111 |
Примеры представления:
Содержимое данных | Представление по одному из оснований |
0000000011010011 | 16#D3 |
1010101010101010 | 8#125252 |
0000000011010011 | 2#11010011 |
Запускаем программу для проверки выполненных действий.
На рисунке прекрасно показаны параметры переменных в 16 битовом формате.
Далее открываем таблицу, чтобы изменить входной параметр:
Для начала изменим входной параметр переменной IntputPattern на 1, отсюда следует что, выходной параметр принял входные данные.
Теперь произведем сдвиг, прежде откроем таблицу и изменим параметры переменной Number на 3:
Отсюда следует, что выходной параметр примет другие данные не зависимо от входящего параметра IntputPattern, который остался в неизменном положении.