Методом проб и ошибок нашел, что вразумительное приведение можно сделать через присваивание.
- Код: Выделить всё
- //Коррекция показаний датчиков
- 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
Арифметика превращается в танцы с бубнами. Как тут писать?!