Функция выполняет последовательное чтение буфера 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х04030201value = «Старшим вперед (2 байта)»0х01020304value = 0х03040102 |
| Со знаком | Если флаг установлен, то функция будет воспринимать прочитанные данные как отрицательное число, если старший бит равен 1. |