ПЛК в режиме слейв читает регистры данных в обратной последовательности, необходимо поменять местами первые 2 байта данных и последние. Можно сделать такое преобразование в ПЛК через указатель на массив из 2 элементов типа word.
var_input
f1:REAL; (* значение с панели*)
f1_res: REAL; (*преобразованное значение*)
pIn: POINTER TO ARRAY[0..1] OF WORD;
pInRes: POINTER TO ARRAY[0..1] OF WORD;
end_var
pIn:=ADR(f1);
pInRes:=ADR(f1_res);
pInRes^[0]:=pIn^[1];
pInRes^[1]:=pIn^[0];




Ответить с цитированием