SETAR_D - запись в массив 8 байт из числа DOUBLE

Назначение.
Функциональный блок SETAR_D применяется для записи в массив 8 байт из вещественного числа двойной точности. Содержимое остальных элементов массива не изменяется.
Состав структурной переменной.
Переменная со структурным типом SETAR_D будет добавлена в локальный словарь автоматически при добавлении блока в редактор.

Описание алгоритма.
-
На вход VAL передается вещественное число двойной точности, состоящее из 8 байт данных, а на вход INP - ссылка на массив байтов.
-
Если параметр SEQ=0 (по умолчанию), порядок следования байт не изменяется: нулевой (младший) байт числа VAL будет скопирован в элемент массива INP[OFF], первый байт в элемент INP[OFF+1] и т.д., как показано на следующем изображении.
3. При необходимости изменения порядка байт, значение параметра SEQ выбирается в зависимости от значения параметра CNT согласно таблице.SEQПорядок байтЗамена байтЗамена словЗамена двойных слов00-1-2-3-4-5-6-7---11-0-3-2-5-4-7-6Да--22-3-0-1-6-7-4-5-Да-33-2-1-0-7-6-5-4ДаДа-44-5-6-7-0-1-2-3--Да55-4-7-6-1-0-3-2Да-Да66-7-4-5-2-3-0-1-ДаДа77-6-5-4-3-2-1-0ДаДаДаПроцесс копирования байт с изменением их порядка (SEQ=4) представлен на следующем изображении.
При этом 8 байт данных с учетом смещения OFF должны умещаться в массив (OFF>=0 и OFF+8<=длине массива), иначе возникнет ошибка.
Пример синтаксиса на языке ST.
//вызов функционального блока
Block.SETAR_D(VAL, INP, OFF, SEQ);
//чтение кода ошибки
FAULT := Block.FAULT;
|
Список возможных ошибок на выходе FAULT.
|
