TADAM6000.StartPulse
| TADAM6000 = class (TObject) | Interface de TADAM6000 | Exemples de TADAM6000 |
Qubes 6.0 Démarrage du pulse d'une sortie numérique
Syntaxe
function StartPulse(numDO: Integer; lowDuration: Integer; highDuration: Integer): Boolean
numDO: numéro de la sortie numérique (entre 0 et N-1)
lowDuration: durée du niveau bas, en 1/10ème ms
highDuration: durée du niveau haut, en 1/10ème ms
Remarques
- L'utilisation de cette fonction n'est possible que si le module possède des sorties numériques qui supportent le pulse.
- StartPulse démarre un pulse perpétuel. Pour l'arrêter, il faut utiliser StopPulse.
- une valeur négative pour lowDuration et highDuration sera ignorée et la propriété correspondante actuellement réglée dans le module sera conservée.
- Il est possible de déclencher un nombre fini de pulses en utilisant SetPulse.
Exemples
uses SysUtils, Networking.ADAM;
var boitier : TADAM6000;
var lstValues : TStrings;
var i : Integer;
lstValues:=TStrings.Create;
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 de 4 pulses (créneau haut dure 1s, créneau bas dure 0.5s)
// sur la sortie numérique n°2 (DO1)
boitier.SetPulse(1, 500, 1000, 4, 0);
// On attend au minimum 10 secondes (le train de 4 pulses dure 6 secondes)
Sleep(10000);
// Activation du pulse de la sortie numérique n°2 (DO1)
// sans changer les paramètres temporels
boitier.StartPulse(1, -1, -1);
// On attend au minimum 10 secondes
Sleep(10000);
// Arrêt du pulse de la sortie numérique n°2 (DO1)
boitier.StopPulse(1);
finally
lstValues.Free;
boitier.Free;
end;
var boitier : TADAM6000;
var lstValues : TStrings;
var i : Integer;
lstValues:=TStrings.Create;
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 de 4 pulses (créneau haut dure 1s, créneau bas dure 0.5s)
// sur la sortie numérique n°2 (DO1)
boitier.SetPulse(1, 500, 1000, 4, 0);
// On attend au minimum 10 secondes (le train de 4 pulses dure 6 secondes)
Sleep(10000);
// Activation du pulse de la sortie numérique n°2 (DO1)
// sans changer les paramètres temporels
boitier.StartPulse(1, -1, -1);
// On attend au minimum 10 secondes
Sleep(10000);
// Arrêt du pulse de la sortie numérique n°2 (DO1)
boitier.StopPulse(1);
finally
lstValues.Free;
boitier.Free;
end;