TSerialConnection - Exemples
| TSerialConnection = class (TObject) | Interface de TSerialConnection | Exemples de TSerialConnection |
Exemple de connexion à une balance KERN 440
uses SerialConnections, System.Info;
var connParams := new TStrings;
// Définition des paramètres de connexion
connParams.Values['Machine']:='127.0.0.1:1341'; // Adresse IP + port du QubesRouter
connParams.Values['COMPort']:='6';
connParams.Values['BaudRate']:='9600';
connParams.Values['DataBits']:='8';
connParams.Values['StopBits']:='1';
connParams.Values['Parity']:='None';
var timeout := SystemMilliseconds + 5000; // connection timeout = 5s
// Connexion
var serial := TSerialConnection.Create(connParams.CommaText);
// il faut laisser à la connexion le temps de s'établir
while True do begin
Sleep(10);
if serial.ConnectedAndIdentified then
break;
if SystemMilliseconds > timeout then
raise Exception.Create('La connexion avec le Router ou la balance n''a pu être établie!');
end;
// On purge le buffer de réception
serial.Flush;
// On demande à la balance de nous envoyer le poids stabilisé
serial.Send('s');
PrintLn('Demande envoyée');
// On attend jusqu'à réception des données
timeout := SystemMilliseconds + 5000; // receiving timeout = 5s
while (serial.InBytes<18) do begin
Sleep(100);
if SystemMilliseconds > timeout then
raise Exception.Create('Temps d''attente de la réponse dépassé');
end;
// Affichage des données réceptionnées
PrintLn(serial.Receive(18));
var connParams := new TStrings;
// Définition des paramètres de connexion
connParams.Values['Machine']:='127.0.0.1:1341'; // Adresse IP + port du QubesRouter
connParams.Values['COMPort']:='6';
connParams.Values['BaudRate']:='9600';
connParams.Values['DataBits']:='8';
connParams.Values['StopBits']:='1';
connParams.Values['Parity']:='None';
var timeout := SystemMilliseconds + 5000; // connection timeout = 5s
// Connexion
var serial := TSerialConnection.Create(connParams.CommaText);
// il faut laisser à la connexion le temps de s'établir
while True do begin
Sleep(10);
if serial.ConnectedAndIdentified then
break;
if SystemMilliseconds > timeout then
raise Exception.Create('La connexion avec le Router ou la balance n''a pu être établie!');
end;
// On purge le buffer de réception
serial.Flush;
// On demande à la balance de nous envoyer le poids stabilisé
serial.Send('s');
PrintLn('Demande envoyée');
// On attend jusqu'à réception des données
timeout := SystemMilliseconds + 5000; // receiving timeout = 5s
while (serial.InBytes<18) do begin
Sleep(100);
if SystemMilliseconds > timeout then
raise Exception.Create('Temps d''attente de la réponse dépassé');
end;
// Affichage des données réceptionnées
PrintLn(serial.Receive(18));