TADAM6000.StartCounter
| TADAM6000 = class (TObject) | Interface de TADAM6000 | Exemples de TADAM6000 |
Qubes 6.0 Démarrage du comptage des impulsions sur une entrée numérique
Syntaxe
function StartCounter(numCounter: Integer): Boolean
numCounter: numéro du compteur (entre 0 et N-1)
Remarques
- L'utilisation de cette fonction n'est possible que si le module possède des compteurs.
- Si le compteur est arrêté, cela redémarre son comptage à la valeur précédente.
Pour le remettre à zéro, il faut utiliser ResetCounter. - Pour arrêter le comptage, il faut utiliser StopCounter.
Exemples
uses SysUtils, Networking.ADAM;
var boitier : TADAM6000;
var i : Integer;
boitier:=TADAM6000.ConnectModbusTCP('6052', '192.168.0.30');
try
// Attente que la connexion soit établie
while not boitier.Connected do begin
if i>=20 then Raise Exception.Create('Connexion impossible avec le module ADAM');
Sleep(100);
Inc(i);
end;
// Activation du compteur de l'entrée numérique n°2 (DI1)
boitier.StartCounter(1);
// On attend au minimum 5 secondes
// durant lesquelles on provoque des impulsions sur l'entrée numérique n°2
Sleep(5000);
// On lit la valeur courante du compteur
InformationDlg(IntToStr(boitier.ReadCounterValue(1)));
// On attend au minimum 5 secondes
// durant lesquelles on provoque des impulsions sur l'entrée numérique n°2
Sleep(5000);
// On arrête le comptage
boitier.StopCounter(1);
// On relit le compteur
InformationDlg(IntToStr(boitier.ReadCounterValue(1)));
// On réinitialise le compteur
boitier.ResetCounter(1);
// Autre exemple : on lit le statut d'overflow du compteur
InformationDlg(IntToStr(boitier.ReadCounterProperty(1, 2)));
// Autre exemple : on réinitialise le Latch Status
boitier.WriteCounterProperty(1, 3, 0);
finally
boitier.Free;
end;
var boitier : TADAM6000;
var i : Integer;
boitier:=TADAM6000.ConnectModbusTCP('6052', '192.168.0.30');
try
// Attente que la connexion soit établie
while not boitier.Connected do begin
if i>=20 then Raise Exception.Create('Connexion impossible avec le module ADAM');
Sleep(100);
Inc(i);
end;
// Activation du compteur de l'entrée numérique n°2 (DI1)
boitier.StartCounter(1);
// On attend au minimum 5 secondes
// durant lesquelles on provoque des impulsions sur l'entrée numérique n°2
Sleep(5000);
// On lit la valeur courante du compteur
InformationDlg(IntToStr(boitier.ReadCounterValue(1)));
// On attend au minimum 5 secondes
// durant lesquelles on provoque des impulsions sur l'entrée numérique n°2
Sleep(5000);
// On arrête le comptage
boitier.StopCounter(1);
// On relit le compteur
InformationDlg(IntToStr(boitier.ReadCounterValue(1)));
// On réinitialise le compteur
boitier.ResetCounter(1);
// Autre exemple : on lit le statut d'overflow du compteur
InformationDlg(IntToStr(boitier.ReadCounterProperty(1, 2)));
// Autre exemple : on réinitialise le Latch Status
boitier.WriteCounterProperty(1, 3, 0);
finally
boitier.Free;
end;