![Diatron Abacus + Service Manual Download Page 91](http://html.mh-extra.com/html/diatron/abacus/abacus_service-manual_2494683091.webp)
Abacus
+
Service Manual
rev 1.09
91
10.2.8.Serial Protocol 3.0
This version utilizes a new approach to record transmitting:
It sends the INIT package, where instrument and PC should establish the communication.
After connection is established, will send an „X‟ package with the XML file to give a
description to the binary data sent in the „F‟ (FULL) package.
From then on, „F‟ packages are sent, and receiver software must interpret the binary data
using the descriptors in the XML file.
Structures, and data for interpreting „F‟ record, without using an XML parser to get data
based on <Record> tag of XML file (these structures are “locked” to HMII SW 2.68m):
typedef struct _DateTime
{
unsigned minute : 6; // 0..59 (64 = 2^6 : 6 bits)
unsigned hour : 5; // 0..23 (32 = 2^5 : 5 bits)
unsigned day : 5; // 1..31 (32 = 2^5 : 5 bits)
unsigned month : 4; // 1..12 (16 = 2^4 : 4 bits)
unsigned year : 12; // 0..4095 (4096 = 2^12 : 12 bits)
} DateTime;
#define MaxParams 23
struct TMeasData
{
WORD RecNo; // 2 bytes
DateTime TimeStamp; // 4 bytes
WORD OperatorID; // 2 bytes
char SampleID[8]; // 8 bytes
char PatientID[20]; // 20 bytes
char Name[32]; // 32 bytes
DateTime BirthDate; // 4 bytes
BYTE Sex; // 1 byte
char Doctor[16]; // 16 bytes
float LimitsLow[MaxParams];// 23 * 4 = 92 bytes
float LimitsHigh[MaxParams];// 23 * 4 = 92 bytes
char PatTypeName[20]; // 20 bytes
WORD VetMode; // 2 bytes
BYTE HistoRBC[256]; // 256 bytes
BYTE HistoPLT[256]; // 256 bytes
BYTE HistoWBC[256]; // 256 bytes
BYTE PLTlo; // 1 byte
BYTE PLThi; // 1 byte
BYTE RBClo; // 1 byte
BYTE WBClo; // 1 byte
BYTE LYMhi; // 1 byte
BYTE GRAlo; // 1 byte
float Param[MaxParams]; // 23 * 4 = 92 bytes
BYTE Flag[MaxParams]; // 23 * 1 = 23 bytes
DWORD Warning; // 4 bytes
float Lyse; // 4 bytes
float Lyse_2; // 4 bytes
WORD Options; // 2 bytes
WORD PrVMinW; // 2 bytes
WORD PrVMaxW; // 2 bytes
WORD PrVMinR; // 2 bytes
WORD PrVMaxR; // 2 bytes
WORD PrVMinW2; // 2 bytes
WORD PrVMaxW2; // 2 bytes
BYTE Age; // 1 byte
char ClogReport[29]; // 29 bytes
// Total: 1240 bytes
};