if (!len) {
// Nouvelle demande
send_telegramm („2402");
len = get_telegramm (buffer);
// Toujours sans réception de télégramme
if (!len) return 1;
}
// Augmenter le compteur de télégramme
GetTele ++;
// Longueur des données utilisateur transmises
len = (ahex(buffer[7]) * 0x10 + ahex(buffer[8])) / 2;
// Conversion chaîne ASCII en chaîne de nombres utilisable
for (i = 0; i < (string); i++)
chaîne de chiffres [i] = (ahex(buffer[10 + (2*i)]) * 0x10 +
ahex(buffer[11 + (2*i)]));
// Calcul des paquets de données transmis
data = ((len) / SIZE_DATA2);
// Analyse de tous les paquets de données
for (i = 0; i < data; i++)9{
len = 0;
// Écrire l'heure et la date dans le fichier
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 (chaîne de chiffres[i*SIZE_DATA2]){
//Vérifier l'absence d'erreurs système dans les enregistrements cycliques
status = chaîne de chiffres[6+i*SIZE_DATA2]*0x100+
chaîne de chiffres[7+i*SIZE_DATA2];
// Interroger l'ensemble des erreurs système (voir «
Thermo Scientific
GetError ++;
case EVENT_STATUS:
if (status & INFO_ERROR){
str_cpy (&excelstring[len], „Error active;", 13);
len += 13;
}
else{
12
Communication de données
Exemple de codage de l'enregistreur de données
Aperçu des enregistrements d'événements en codage
HERA
CELL VIOS
160i / 250i CR
12-19