TADAM6000.ReadAllValues
| TADAM6000 = class (TObject) | Interface de TADAM6000 | Exemples de TADAM6000 |
Qubes 6.0 Lecture de toutes les données possibles du module ADAM6000
Syntaxe
procedure ReadAllValues(lstValues: TStrings)
lstValues: TStrings contenant les données lues
Remarques
Les données lues dépendent du modèle de module ADAM connecté.
Elles sont renvoyées dans une TStrings sous la forme Nom=Valeur.
NB : les données préalablement contenues dans la TStrings sont remplacées.
Si le module possède :
- N entrées numériques (DI), leurs noms seront de la forme 'DIx', où x est un nombre entier de 0 à N-1
- N sorties numériques (DO), leurs noms seront de la forme 'DOx', où x est un nombre entier de 0 à N-1
- N entrées analogiques (AI), leurs noms seront de la forme 'AIx', où x est un nombre entier de 0 à N-1
- N sorties analogiques (AO), leurs noms seront de la forme 'AOx', où x est un nombre entier de 0 à N-1
- N drapeaux dans la GCL, leurs noms seront de la forme 'GCLFlagx', où x est un nombre entier de 0 à N-1
Exemple : si le module possède 8 entrées numériques (DI), elles seront nommées DI0 à DI7.
Si le module possède la fonctionnalité :
- compteurs sur les entrées numériques, leurs noms seront de la forme 'DICounterx', où x est le numéro de l'entrée numérique correspondante
- fréquence (en 1/10ème Hz) sur les entrées numériques, leurs noms seront de la forme 'DIFrequencyx', où x est le numéro de l'entrée numérique correspondante
- pulse sur les sorties numériques, leurs noms seront de la forme 'DOPulseLowx' (durée du niveau bas, en 1/10ème ms), 'DOPulseHighx' (durée du niveau haut, en 1/10ème ms), 'DOPulseAbsolutex' (nombre de pulses), 'DOPulseIncrementalx' (nombre de pulses complémentaires), où x est le numéro de la sortie numérique correspondante
- calcul de la moyenne des entrées analogiques, son nom sera 'AIMoy'
- statuts des entrées analogiques, leurs noms seront de la forme 'AIStatusx', où x est le numéro de l'entrée analogique correspondante
- détection des burn-out des entrées analogiques, leurs noms seront de la forme 'AIBurnoutFlagx', où x est le numéro de l'entrée analogique correspondante
- alarme sur dépassement de seuil haut de la moyenne des entrées analogiques, son nom sera de la forme 'AIHighAlarmFlagMoy'
- alarme sur dépassement de seuil bas de la moyenne des entrées analogiques, son nom sera de la forme 'AILowAlarmFlagMoy'
- alarme sur dépassement de seuil haut des entrées analogiques, leurs noms seront de la forme 'AIHighAlarmFlagx', où x est le numéro de l'entrée analogique correspondante
- alarme sur dépassement de seuil bas des entrées analogiques, leurs noms seront de la forme 'AILowAlarmFlagx', où x est le numéro de l'entrée analogique correspondante
- historisation du maximum de la moyenne des entrées analogiques, son nom sera 'AIHistoricalMaxMoy'
- historisation du minimum de la moyenne des entrées analogiques, son nom sera 'AIHistoricalMinMoy'
- historisation du maximum des entrées analogiques, leurs noms seront de la forme 'AIHistoricalMaxValuex', où x est le numéro de l'entrée analogique correspondante
- historisation du minimum des entrées analogiques, leurs noms seront de la forme 'AIHistoricalMinValuex', où x est le numéro de l'entrée analogique correspondante
- réinitialisation du maximum de la moyenne des entrées analogiques, son nom sera 'AIResetHistoricalMaxMoy'
- réinitialisation du minimum de la moyenne des entrées analogiques, son nom sera 'AIResetHistoricalMinMoy'
- réinitialisation du maximum des entrées analogiques, leurs noms seront de la forme 'AIResetHistoricalMaxValuex', où x est le numéro de l'entrée analogique correspondante
- réinitialisation du minimum des entrées analogiques, leurs noms seront de la forme 'AIResetHistoricalMinValuex', où x est le numéro de l'entrée analogique correspondante
Exemples
uses SysUtils, Networking.ADAM;
var lstValues := TStrings.Create;
var boitier := TADAM6000.ConnectModbusTCP('6052', '192.168.0.30');
// Attente que la connexion soit établie
var i := 0;
while not boitier.Connected do begin
if i>=20 then
raise Exception.Create('Connexion impossible avec le module ADAM');
Sleep(100);
Inc(i);
end;
// Lecture de toutes les valeurs
boitier.ReadAllValues(lstValues);
// Affichage des valeurs
InformationDlg(lstValues.Text);
var lstValues := TStrings.Create;
var boitier := TADAM6000.ConnectModbusTCP('6052', '192.168.0.30');
// Attente que la connexion soit établie
var i := 0;
while not boitier.Connected do begin
if i>=20 then
raise Exception.Create('Connexion impossible avec le module ADAM');
Sleep(100);
Inc(i);
end;
// Lecture de toutes les valeurs
boitier.ReadAllValues(lstValues);
// Affichage des valeurs
InformationDlg(lstValues.Text);