U knjizici koja dolazi uz FP 550 imas format sadrzaja paketa koji trebas da prosledis uredjaju. Potrebno je da komandu koju saljes upakujes u zadati format, zajedno sa odgovarajucim parametrima, uradis cheksum i pustis je na port. Posle slanja poruke osluskujes port dok ne vrati odgovor ili ne istekne max predvidjeno vreme za odgovor. Vreme je definisano protokolom uredjaja.
Evo kako moja komponenta (DmxFP) pakuje taj paket.
Posto se radi o komercijanoj stvari ne mogu da ti posaljem bas sve o tome, ali ti zapitkuj pa ces verovatno doci do nekog resenja. DmxFP komponenta za komunikaciju sa uredjajem koristi ComPort Library ver. 3.0 .
Code:
function TCustomFU.PakovanjePaketa(dCMD: integer; Data: string): string;
var
dDuzina, dSEQ: integer;
begin
Result := '';
dDuzina := Length(Data) + $4 + $20;
//$4(LEN,SEQ,CMD,Postamble) $20
Randomize;
repeat
dSEQ := RandomRange($20, $7F);
until dSEQ <> SEQ;
SEQ := dSEQ;
Result := Chr(dPreamble) + Chr(dDuzina) +
Chr(dSEQ) + //Sekvenca
Chr(dCMD) + //Komanda
Data + Chr(dPostamble);
Result := Result + BccStr(Copy(Result, 2, dDuzina)) + Chr(dTerminator);
end;
Marcha
-----------------------------------
Pretpostavka je majka zajeba.