Сообщение от
Валенок
Если там int64 - да. Только DH/DL образуйте - вначале.
И можно еще на 1000 разделить. Так ведь привычней будет ?
PS
Что разобраццо с порядком - можно на определенное время включить определенную нагрузку. И просмотреть рез-ты до и после.
Вот так вот изменил и вроде заработало. Но не знаю что будет показывать, когда появятся значения в А1 и А4.
Код:
FUNCTION int64_to_real : REAL
VAR_INPUT
A1,A2:WORD;
A3,A4:WORD;
END_VAR
VAR
DL,DH : DWORD;
M : BOOL;
END_VAR
----------------------------
M := DH.31;
DH := A4 * 65536 + A3; DL := A1 * 65536 +A2;
IF M THEN
DH := (NOT DH) + SEL(DL = 0,0,1);
DL := (NOT DL) + 1;
END_IF
int64_to_real:= (DH * 65536.0 + DL) * SEL(M,1,-1);
int64_to_real:=int64_to_real /1000;
Т.к. У меня последовательность (адресация в программе):
А1(3204)=0;
А2(3205)=88;
А3(3206)=17500;
А4(3207)=0;
Так видны значения в CoDeSys. Как там дальше будет, посмотрим.
Валенок, благодарю очень сильно за полезную помощь.
И всем остальным ребятам огромное спасибо.