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, который остался в неизменном положении.
|