Функция выполняет последовательное чтение буфера RXD для каждого выхода valueX. Чтение начинается с индекса index. Функция читает size байт и передает их на выход valueX. Затем индекс чтения смещается на size, после чего производится чтение для следующего выхода valueX. В результате из буфера будет прочитан диапазон байт от index до (index+(size*N)-1).
При работе функции используется буфер RXD
В меню функций | На схеме |
---|---|
![]() |
![]() |
Название | Тип значения | Описание |
---|---|---|
index |
int32 |
Позиция в буфере RXD, начиная с которой необходимо выполнить чтение. Самый первый элемент буфера имеет индекс 0. |
size |
int32 |
Количество байт, которые необходимо прочитать из буфера RXD в каждый выход valueX. Допустимые значения от 1 до 4 |
Название | Тип значения | Описание |
---|---|---|
value0 |
см. примечание | Прочитанное значение 0. |
... | ... | ... |
valueN-1 |
см. примечание | Прочитанное значение N-1. Количество выходных линий, регулируется настройкой "Количество выходов". |
Логика работы функции зависит от типа данных:
➜ Если к выходу valueX подключена переменная с типом FLOAT и вход size = 4, то функция читает данные из буфера по стандарту IEEE754. Такой способ необходимо использовать для значений, которые хранятся в формате Float (например, значение 12.6).
➜ Иначе функция записывает данные как Int32.
Конвертация выполняется автоматически при помощи скрытых функций FROM_FLOAT и TO_FLOAT.
Название | Описание |
---|---|
Количество выходов | Количество выходов value. |
Порядок байт | Порядок байт, который будет использован при копировании элементов буфера на выход value. Например RXD = [01,02,03,04,05,...] , index = 0, size = 4:«Младшим вперед» value = «Старшим вперед»0х04030201 value = «Старшим вперед (2 байта)»0х01020304 value = 0х03040102 |
Со знаком | Если флаг установлен, то функция будет воспринимать прочитанные данные как отрицательное число, если старший бит равен 1. |