
Сообщение от
Move
Если я правильно понял это адрес модуля, допустим %QD6.4.3.0.0 , а где мне взять адреса для WORDов, или я не правильно понимаю работу функции?
Вот вариант проще
Код:
FUNCTION_BLOCK Swap_BYTE
VAR_INPUT
rIn:REAL; (*входная переменная типа REAL*)
END_VAR
VAR_OUTPUT
rOut:REAL; (*переменная rOut с переставленными местами БАЙТами*)
END_VAR
VAR
pInput : POINTER TO ARRAY[0..3] OF BYTE; (* указатели на массивы *)
pOutput : POINTER TO ARRAY[0..3] OF BYTE;
END_VAR
___________________________________________
pInput :=ADR(rIn);
pOutput := ADR(rOut); (* Обязательно объявить блок в разделе переменных и в теле программы PLC_PRG *)
pOutput^[ 0 ] := pInput^[ 3 ]; (* Перестановка байт *)
pOutput^[ 1 ] := pInput^[ 2 ];
pOutput^[ 2 ] := pInput^[ 1 ]; (* Перестановка байт *)
pOutput^[ 3 ] := pInput^[ 0 ];