// Leer otros grupos de datos
send_telegramm ("2401");
}
len = get_telegramm (buffer);
// Ningún telegrama recibido
if (!len) {
GetError ++;
// requery
send_telegramm ("2402");
len = get_telegramm (buffer);
// Nuevamente ningún telegrama recibido
if (!len) return 1;
}
// Elevar contador de telegramas
GetTele ++;
// Longitud de los datos útiles enviados
len = (ahex(buffer[7]) * 0x10 + ahex(buffer[8])) / 2;
// Conversión de ristra ASCII en una ristra de números útil
for (i = 0; i < (len); i++)
zahlenstring [i] = (ahex(buffer[10 + (2*i)]) * 0x10 +
ahex(buffer[11 + (2*i)]));
// Cálculo de los paquetes de datos enviados
data = ((len) / SIZE_DATA2);
// Evaluación de todos los paquetes de datos
for (i = 0; i < data; i++)9{
len = 0;
// write time and date into file
len += time_2_str (zahlenstring[1+i*SIZE_DATA2],
&excelstring[len]);
excelstring[len ++] = '.';
len += time_2_str (zahlenstring[2+i*SIZE_DATA2],
&excelstring[len]);
excelstring[len ++] = '.';
len += time_2_str (zahlenstring[3+i*SIZE_DATA2],
&excelstring[len]);
excelstring[len ++] = ';';
len += time_2_str (zahlenstring[4+i*SIZE_DATA2],
&excelstring[len]);
excelstring[len ++] = ':';
len += time_2_str (zahlenstring[5+i*SIZE_DATA2],
&excelstring[len]);
excelstring[len ++] = ':';
len += time_2_str (0, &excelstring[len]);
excelstring[len ++] = ';';
switch (zahlenstring[i*SIZE_DATA2]){
case EVENT_STATUS:
// Comprobar entradas cíclicas en busca de fallos de aparato
status = zahlenstring[6+i*SIZE_DATA2]*0x100+
Heracell 150i / 240i GP 50159353_B_06-2020
174
Chapter 13 Comunicación de datos
Thermo Scientific