12
Datacommunicatie
Code-voorbeelden datalogger
Functies voor het opvragen datalogger
In het volgende code-voorbeeld voor het afvragen van de datalogger worden zes functies gebruikt:
• ahex
// verandert het ontvangen ASCII-teken in een hexadecimaal getal,
• send_telegramm
// verstuurt een verzoek aan de datalogger,
• get_telegramm
// ontvangt een antwoord van de datalogger,
• time_2_str
// maakt van een hex-waarde ASCII-tekens in tijdformaat,
• num_2_string
// maakt van hex-waarden ASCII-tekens bij de vermelding in een bestand,
• read_datalogger
// bewerkt de ontvangen gegevens en schrijft deze in een bestand.
Code-voorbeeld voor het opvragen datalogger
char ahex (char a)
char ahex(char a)
{
char i;
char hexa[16]="0123456789abcdef";
for (i = 0; i < 16; i++)
return 0;
}
send_telegramm
void send_telegramm(char *p)
{
char string [15];
unsigned char bcc = 0xFF;
char i;
// telegram samen kopiëren
strncpy (&string[0], „?:xxxx:00::00\r", 14);
// 4-cijferig adres invoegen
strncpy (&string[2], p, 4);
// controlegetal berekenen: geïnverteerde XOR van alle bytes
// zonder controlegetal en <CR>
for (i = 0; i < 11; i ++)
// controlegetal kopiëren
string[11] = hexa(bcc/16);
string[12] = hexa(bcc%16);
12-16
HERA
CELL VIOS
if (a == hexa[i])
return (i);
bcc = (bcc^string[i]);
160i LK / 250i LK
Thermo Scientific