Методом проб и ошибок нашел, что вразумительное приведение можно сделать через присваивание.
- Код: Выделить всё
- //Коррекция показаний датчиков
int Dav, Kor0, Kor1
short DavS, Kor0S, Kor1S
//ДД1
GetData(a, "Local HMI", "ErrGl_DD1", 1)
if a==0 then
GetData(Kor0S, "Local HMI", "DD1k0", 1)
GetData(Kor1S, "Local HMI", "DD1k1", 1)
GetData(DavS, "MODBUS RTU (Zero-based Addressing)", "DD1", 1)
Kor0=Kor0S
Kor1=Kor1S
Dav=DavS
Dav=( ((Dav+Kor0)*Kor1)+500 )/1000
DavS=Dav
SetData(DavS, "Local HMI", "DD1k", 1)
end if
Арифметика превращается в танцы с бубнами. Как тут писать?!