Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#6

AW: TCP/ASCII - Protocoll2000/3000 über Indy

  Alt 26. Apr 2013, 13:59
Das Protocol 3000 gibt's hier: http://www.kramerelectronics.com/dow..._3000_full.pdf

Delphi-Quellcode:
// Erzeuge eine HostMessage für das Protocol 3000
function BuildHostMessage(const Message:AnsiString; const DestId:AnsiString=''):AnsiString;
const
  CR = #13;
begin
  result := '#';
  if DestId <> 'then
    Result := Result + DestId + '@';
  Result := Result + Message + CR;
end;
Am Besten du fängst damit an, dem Gerät eine leere Message zu schicken:
Delphi-Quellcode:
var s : Ansistring;
s := BuildHostMessage(''); // leere Message (protocol handshaking)
IdTCPClient1.Socket.Write(s);
Das Gerät sollte mit ~OK[CR][LF] antworten.
Die Tilde am Anfang und die CR/LF am Ende gehören nicht zu den Nutzdaten, sondern stellen das Start- und die Endezeichen dar.
Die Message vom Geräte ist also effektiv "OK" als Antwort auf eine leere Message.
  Mit Zitat antworten Zitat