habe nach dem Urlaub an meinem WP Script ein paar Werte ergänzt nach der TXT Liste dann waren alle Werte die Empfangen wurden nur noch 0!
Leider habe ich mir den funktionierenden Code vorher nicht kopiert...
Habe mittlerweile alles probiert... habe jetzt mal auf nur drei Werte reduziert um es etwas übersichtlicher zu halten.
Gleiches Ergebnis!
Habe eine AI WP Luxtronik 2 Ver 1.76
mit folgendem Code im Lox Prog. Baustein:
#define BUFF_SIZE 1500
#define RD_BLOCK_SIZE 4
char szTmpBuffer;
int nCnt;
int nBytesReceived = 0;
int i = 0;
unsigned char szBuffer[1500];
int nLen;
int wert1;
int wert2;
int wert3;
int wert4;
float Temperatur_TVL;
float Temperatur_TRL;
float Temperatur_TA;
while(TRUE)
{
STREAM* stream = stream_create("/dev/tcp/192.168.123.123/8888",0,0);
if (stream != NULL)
{
i=0;
printf("Novelan READ");
szBuffer[0] = 0x00;
szBuffer[1] = 0x00;
szBuffer[2] = 0x0b;
szBuffer[3] = 0xbc;
stream_write(stream,szBuffer,4);
stream_flush(stream);
printf("Stream 3004");
szBuffer[0] = 0x00;
szBuffer[1] = 0x00;
szBuffer[2] = 0x00;
szBuffer[3] = 0x00;
stream_write(stream,szBuffer,4);
stream_flush(stream);
printf("Stream 0");
nLen = stream_read(stream,szBuffer,4,1000);
printf("Read Feedback");
printf("Novelan Len=%d",nLen);
nLen = stream_read(stream,szBuffer,4,1000);
printf("Read Status");
printf("Novelan Len=%d",nLen);
nLen = stream_read(stream,szBuffer,4,1000);
printf("Read Länge");
printf("Novelan Len=%d",nLen);
nLen = stream_read(stream,szBuffer,sizeof(szBuffer),1000) ;
printf("Novelan Len=%d",nLen);
stream_close(stream);
printf("Novelan 40=%d",szBuffer[40]);
szTmpBuffer=(szBuffer[40]);
wert1=(szTmpBuffer);
printf("Novelan 41=%d",szBuffer[41]);
szTmpBuffer=(szBuffer[41]);
wert2=(szTmpBuffer);
printf("Novelan 42=%d",szBuffer[42]);
szTmpBuffer=(szBuffer[42]);
wert3=(szTmpBuffer);
printf("Novelan 43=%d",szBuffer[43]);
szTmpBuffer=(szBuffer[43]);
wert4=(szTmpBuffer);
Temperatur_TVL=(wert1*256*256*256+wert2*256*256+we rt3*256+wert4)*0.1;
printf("Novelan Temperatur_TVL=%f",Temperatur_TVL);
printf("Novelan 44=%d",szBuffer[44]);
szTmpBuffer=(szBuffer[44]);
wert1=(szTmpBuffer);
printf("Novelan 45=%d",szBuffer[45]);
szTmpBuffer=(szBuffer[45]);
wert2=(szTmpBuffer);
printf("Novelan 46=%d",szBuffer[46]);
szTmpBuffer=(szBuffer[46]);
wert3=(szTmpBuffer);
printf("Novelan 47=%d",szBuffer[47]);
szTmpBuffer=(szBuffer[47]);
wert4=(szTmpBuffer);
Temperatur_TRL=(wert1*256*256*256+wert2*256*256+we rt3*256+wert4)*0.1;
printf("Novelan Temperatur_TRL=%f",Temperatur_TRL);
printf("Novelan 60=%d",szBuffer[60]);
szTmpBuffer=(szBuffer[60]);
wert1=(szTmpBuffer);
printf("Novelan 61=%d",szBuffer[61]);
szTmpBuffer=(szBuffer[61]);
wert2=(szTmpBuffer);
printf("Novelan 62=%d",szBuffer[62]);
szTmpBuffer=(szBuffer[62]);
wert3=(szTmpBuffer);
printf("Novelan 63=%d",szBuffer[63]);
szTmpBuffer=(szBuffer[63]);
wert4=(szTmpBuffer);
Temperatur_TA=(wert1*256*256*256+wert2*256*256+wer t3*256+wert4)*0.1;
printf("Novelan Temperatur_TA=%f",Temperatur_TA);
setio("VI16",Temperatur_TVL);
setio("VI17",Temperatur_TRL);
setio("VI22",Temperatur_TA);
setio("VI2",1);
}
else
{
printf("Novelan no connection");
setio("VI2",0);
}
sleeps(60); // wait 60 second
}
Im Log bekomme ich dann überall nur 0 zurück.
VI2 ist aber 1 was auf eine funktionierende Verbindung deuten lässt!
Vielleicht kennt jemand die Ursache?!?
Kommentar