float value=0;//C.SP value
int res=0;
res = OpenPort(0, spd_9600, prty_NONE, databits_8, stopbit_1, RS485CONV_AUTO);
if (res != ERR_OK) printf(" error opening port\n");
//---------- Read C.SP
char data[3];
DWORD dataSize = 0;
short znak; // znak according to 5.1.2
unsigned __int8 d8;
unsigned __int16 d16;
unsigned __int8 step; // stepen' according to 5.1.2
res = OwenIO(0, ADRTYPE_8BIT, 1, "C.SP", (char*)data, &dataSize);
if (res != ERR_OK) printf(" error reading C.SP\n");
//opredelenie C.SP soglasno p. 5.1.2 opisaniya protokola
d8=data[0];
if (( d8 & 0x80)>0) (znak = -1); else (znak = 1);
d8<<=1;
d8>>=5;
step=d8;
d8=data[0];
d16=d8;
d16<<=12;
d16>>=4;
d8=data[1];
d16=d16 | d8;
value=znak*pow(10,-step)*d16;