Здравствуйте,
Подскажите пж как правильно переставить байты в переменной тип REAL - это нужно для корректного отображения переменной на SCADA стороннего производителя,
правильно переставить байты переменной Real для SCADA
Re: правильно переставить байты переменной Real для SCADA
0 <-> 3
1 <-> 2
1 <-> 2
Re: правильно переставить байты переменной Real для SCADA
Ну, это понятно, спс, а как это сделать в SCL? Может есть какая-то стандартная функция ???
Re: правильно переставить байты переменной Real для SCADA
Стандартной нет.
В STL есть инструкции CAW и CAD.
А на чистом SCL придётся использовать конструкцию AТ, чтобы на входной и выходной REALы наложить массивы из 4-х байт.
В STL есть инструкции CAW и CAD.
А на чистом SCL придётся использовать конструкцию AТ, чтобы на входной и выходной REALы наложить массивы из 4-х байт.
Code: Select all
VAR_TEMP
...
rValue : REAL;
rValueBytes AT rValue : ARRAY[0..3] OF BYTE ;
bTmp : BYTE ;
...
END_VAR
...
bTmp := rValueBytes[0];
rValueBytes[0] := rValueBytes[3];
rValueBytes[3] := bTmp;
bTmp := rValueBytes[1];
rValueBytes[1] := rValueBytes[2];
rValueBytes[2] := bTmp;
...