4.1.1 Opérations mathématiques. Campbell Scientific CR200 CR211, CR200 CR206, CR200 CR295, CR200 CR216, CR200
Chapitre 4. Langage de programmation – CRBasic
4.5 Evaluation des expression logiques
4.5.1 Qu’est-ce qui est vrai ?
Certains mots sont utilisés afin de décrire une condition ou le résultat d’un test. L’expression, X>5, est soit « vraie » soit « fausse ». Lorsqu’on parle de l’état d’un port de contrôle ou d’un drapeau, les mots « activé » et « désactivé », ou « haut » et « bas » sont plus facilement utilisés. En
CRBasic il y a plusieurs tests conditionnels ou plusieurs paramètres d’instructions, qui peuvent
être décrits par un ou plusieurs mots du tableau 4.5-1. La CR200 évalue le test ou le paramètre en tant que numéro ; 0 si le résultat est faux, différent de 0 si c’est vrai.
Tableau 4.5-1 Synonymes pour « vrai » ou « faux »
Constante prédéfinie Vrai (-1) Faux (0)
Synonyme Haut Bas
Synonyme Activé Désactivé
Synonyme Oui Non
Nombre
Port numérique
≠ 0
5 Volts
0
0 Volts
4.5.2 Evaluation de l’expression
Les test conditionnels nécessitent à la CR200 d’évaluer une expression, et de suivre une voie si la condition est vraie, ou une autre voie si elle est fausse. Par exemple :
IF X>=5 then Y=0
Donnera la valeur 0 à la variable Y si la variable X est supérieure ou égale à 5.
La CR200 pourra aussi évaluer des expressions multiples liées par des « and » ou des « or ».
Par exemple :
If X>=5 and Z=2 then Y=0
Donnera la valeur 0 à Y seulement si X est supérieur ou égal à 5 et si Z est égal à 2.
If X>=5 or Z=2 then Y=0
Donnera la valeur 0 à Y si l’une des deux conditions est vraie (X supérieur ou égal à 5 ou Z = 2).
Voir le descriptif de « And » et « Or » au chapitre 8. Une condition peut prendre en compte plusieurs « And » et plusieurs « Or ».
4.5.3 Résultats numériques de l’évaluation de l’expression
La fonction d’évaluation de la CR200, évalue une expression, et donne un chiffre en résultat. Une expression conditionnelle utilise le chiffre afin de décider quel chemin prendre. L’expression est fausse si le chiffre est égal à 0, et vraie si le chiffre est différent de 0.
Par exemple :
If 6 then Y=0,
Est une condition qui est toujours vraie ; Y sera toujours mis à 0 à chaque fois que l’expression conditionnelle sera exécutée.
If 0 then Y=0
Est toujours fausse; Y ne sera jamais mis à 0 par cette expression conditionnelle.
La fonction d’évaluation de la CR200, évalue l’expression, X>=5, et donne le résultat –1, si l’expression est vraie, et 0, si l’expression est fausse.
W=(X>Y)
Donnera –1 à la variable W si X est supérieur à Y, ou donnera la valeur 0 à la variable W, si X est inférieur ou égal à Y.
4-5
Manuel de la CR200
La CR200 utilise la valeur –1 plutôt qu’un autre chiffre différent de 0, parce que les opérateurs
« and » et « or » sont les mêmes pour des états logiques et des comparaisons binaire de comparaison de bits (voir « and » et « or » au chapitre 8). Le chiffre –1 est exprimé en binaire, avec tous les bits égaux à 1, alors que le chiffre 0 a tous les bits égaux à 0. Lorsque –1 est ajouté à n’importe quel autre chiffre, le résultat est identique à l’autre chiffre, en s’assurant que si l’autre chiffre est différent de zéro (vrai), le résultat sera différent de zéro.
4.6 Les drapeaux (Flags)
N’importe quelle variable peut être utilisé en tant que « drapeau », pour autant que des tests logiques soient utilisés avec le CRBasic. Si la valeur de la variable est différent de zéro, alors l’état du drapeau est l’état haut. Si la valeur de la variable est zéro, alors le drapeau est à l’état bas
(paragraphe 4.5).
4.7 Les types de paramètre
Les paramètres des instructions permettent d’entrer différent types de choses en entrée ; ces différents types d’entrée sont listées ci-dessous, et sont repris dans les chapitres suivant, ou dans le menu d’aide à la programmation du CRBasic.
Constante
Variable
Variable ou ligne de données
Constante, variable ou expression
Constante, variable, ligne de données ou expression
Nom
Nom ou liste de noms
Variable ou expression
Variable, ligne de données ou expression
Le tableau 4.7-1 donne la liste des longueurs maximales et des caractères autorisés pour ce qui est du nom des variables, des lignes de constante etc.
Nom pour
Variable ou Ligne de données
Tableau 4.7-1 Règles pour l’établissement des noms
Longueur maximum
(nombre de caractères)
Caractères admis
16
Alias 16
Nom d’un tableau de sauvegarde
8
Le CRBasic n’est pas « case sensitive » (pas de différence entre un nom avec majuscule ou sans majuscule).
Nom d’un champ
(colonne)
16
4.7.1 Expressions dans les paramètres
Plusieurs paramètres donnent la possibilité de mettre des expressions à l’intérieur du paramètre. Si l’expression est une comparaison, le résultat de la comparaison sera –1 si la comparaison est vraie, et 0 si elle est fausse (voir paragraphe 4.5.3). Un exemple d’utilisation de cela, est dans l’instruction DataTable, pour la condition de basculement (« trigger »), qui peut être une expression. Si l’on suppose que la variable TC(1) est une mesure de thermocouple :
DataTable(Name,TrigVar,Size)
DataTable(Temp,TC(1)>100,5000)
Le fait d’entrer une condition de basculement dans l’expression, TC(1)>100, va induire le fait que l’enregistrement n’aura lieu que lorsque la température de TC(1) sera supérieure à 100.
4-6
Chapitre 4. Langage de programmation – CRBasic
4.7.2 Lignes de données de multiplicateurs et d’offsets pour la calibrage de capteurs
Si l’on utilise des lignes de données variables, lors de mesures effectuées avec des répétitions, alors l’instruction de mesure utilisera automatiquement les multiplicateurs et offset définis comme ligne de donnée, à mesure que la centrale fait les mesures sur les voies consécutives. Cela permet à une seule instruction de mesure, d’effectuer la mesure de plusieurs capteurs préalablement calibrés individuellement, en appliquant le coefficient adéquat pour chaque capteur. Si le multiplicateur et l’offset ne sont pas définis dans une ligne de donnée, le même multiplicateur et le même offset sont alors utilisés pour chacune des répétitions.
VoltSE(Dest,Reps,SEChan,Mult,Offset)
‘Facteurs de calibrage :
Mult(1)=0.123 : Offset(1)=0.23
Mult(2)=0.115 : Offset(2)=0.234
Mult(3)=0.114 : Offset(3)=0.224
VoltSE(Pressure(),3,1,Mult(),Offset())
4.8 Accès du programme aux tableaux de données
Les données enregistrées dans les tableaux de sauvegarde, peuvent être accessibles depuis le programme. Le format utilisé est le suivant :
Tablename.Fieldname(fieldname index,records back)
Tablename est le nom du tableau de sauvegarde dans lequel les mesures que l’on souhaite lire, sont stockées. Fieldname est le nom du champ (colonne) dans le tableau. Le champs Fieldname est toujours une ligne de donnée, même s’il ne n’est constitué que d’une seule variable. Le fieldname
index doit toujours être spécifié. Ce qui correspond à Records back, est le numéro d’enregistrement antérieur au dernier enregistrement présent dans le tableau de sauvegarde (1 est l’enregistrement le plus récent, 2 est l’enregistrement enregistré juste avant le plus récent etc.).
L’expression :
Tdiff=AvgTemp.SoilT(1,1)-AvgTemp.SoilT(1,2) pourrait être utilisée dans l’exemple de programme (paragraphe 4.3) afin de calculer le changement de température sur la première thermistance, entre la moyenne la plus récente et celle qui a été enregistrée pour l’heure précédente.
En plus du fait d’accéder au données réellement enregistrées dans un tableau de sauvegarde, il existe certains pseudo fichiers associés au tableau de sauvegarde, qui peuvent être récupérés :
Tablename.record(1,n) = le numéro d’enregistrement de l’enregistrement enregistré « n » enregistrement auparavant.
Tablename.output(1,1) = 1 si les données ont été enregistrées la dernière fois que le tableau de sauvegarde a été appelé, = 0 si aucune donnée n’a été enregistrée.
Tablename.timestamp(m,n) = élément « m » de l’enregistrement du temps (« timestamp ») enregistré « n » enregistrements auparavant, où : timestamp(1,n) = microsecondes depuis 1990 timestamp(2,n) = microsecondes dans l’année à laquelle nous sommes timestamp(3,n) = microsecondes dans le mois où nous sommes timestamp(4,n) = microsecondes dans la journée présente timestamp(5,n) = microsecondes dans l’heure présente timestamp(6,n) = microsecondes dans la minute présente
4-7
4-8
Manuel de la CR200
Chapitre 5. Déclarations dans un programme
Alias
Cette instruction est utilisée afin de donner un second nom à une variable.
La syntaxe est la suivante :
Alias
VariableA = VariableB
Remarques :
Les Alias permettent de donner un second nom à une variable. A l’intérieur du programme de la centrale de mesure, l’un ou l’autre des deux noms peuvent être utilisés. Lorsqu’on regarde les valeurs « Public » (PublicTable), et si une variable a un Alias, c’est le nom de l’Alias qui est affiché en tant que nom de la variable. L’Alias est aussi utilisé afin d’être le nom prioritaire utilisé pour identifier les noms des colonnes dans les tableaux de sauvegarde.
Avec des Alias, le programme peut avoir l’efficacité de la mesure et du traitement des données appliquée aux lignes de données, couplée à des noms individualisés pour le descriptif des mesures effectuées.
Exemple de déclaration d’Alias
L’exemple suivant montre une façon d’utiliser la déclaration d’Alias.
Dim Temp(4)
Alias Temp(1)= CoolanT
Alias Temp(2)= ManifoldT
Alias Temp(3)= ExhaustT
Alias Temp(4)= CatConvT
Const
Cette instruction est utilisée afin de déclarer des constantes symboliques que l’on utilise à la place d’entrées numériques.
La syntaxe est la suivante :
Const
nomdelaconstante = expression
Remarques :
La fonction Const est constituée des parties suivantes:
Partie
nomdelaconstante
Description
Nom de la constante
expression
Note
Expression que l’on assigne à la constante. Cela peut être une expression littérale (du type 1.0), une autre constante, ou un des opérateurs logiques arithmétiques.
Le fait d’utiliser des constantes, peut rendre votre programme auto-documenté et facile à modifier. Contrairement aux variables, les constantes ne peuvent pas être modifiées pendant que votre programme est en cours d’exécution.
Attention Les constantes doivent être définies avant qu’on ne les appelle.
Note
Il est conseillé d’utiliser des lettres majuscules pour le nom des constantes, afin de les reconnaître facilement dans votre programme.
Exemple de déclaration de constante
L’exemple suivant est utilisé afin de définir la constante symbolique PI.
Const PI = 3.141592654 ‘Définition de la constante
Dim Aire, Circonf, Rayon ‘Déclaration des variables
Rayon = Volt(1)
Circonf = 2 * PI * Rayon ‘Calcul de la circonférence
Aire = PI * ( Rayon ^ 2)
Prise de la mesure
‘Calcul de l’aire
Manuel de la CR200
Dim
Déclare les variables et alloue un espace mémoire. En CRBasic, TOUTES les variables
DOIVENT être déclarées.
Dans la CR200 il y a de la place pour 60 variables déclarées en tant que Dim et/ou Public et les instructions de sauvegarde qui créent des espaces mémoires « scratch » pour le calcul intermédiaire.
Syntaxe
Dim varname[(subscripts]) [, varname[([subscripts])]]
Remarques :
La fonction Dim est constituée des parties suivantes:
Partie
varname
subscripts
Description
Nom de la constante
Dimensions d’une variable de type ligne de variable. On peut déclarer plusieurs dimensions.
Les argument des « subscripts » ont la synthaxe suivante :
Taille [taille, taille]
En CRBasic l’option de base est toujours 1.
Cela signifie que plus petit nombre de dimension est 1 et non 0.
Dim A(3)
La CR200 ne permet d’utiliser des ligne de données qu’à une seule dimension. Si un programme utilise un paramètre de « subscript » qui est supérieur à la valeur dimensionnée, une erreur
(subscript out of bounds error) est enregistrée.
Quand les variables sont initialisées, elles sont mises à la valeur 0.
Note
On met la déclaration des variables Dim en début de programme.
Public
Déclare une variable en tant que variable publique, ce qui la rend accessible à la consultation dans le tableau « Public » de la CR200.
Dans la CR200 il y a de la place pour 60 variables déclarées en tant que Dim et/ou Public et les instructions de sauvegarde qui créent des espaces mémoires « scratch » pour le calcul intermédiaire.
Syntaxe
Public(liste de variables [dimensionnées] qui constituent le tableau Public)
Remarques
On peut utiliser plusieurs fois la déclaration « Public ».
Exemple de déclaration de variable publique
L’exemple montre l’utilisation de la déclaration « Public » :
Public x, y, z(3)
Public w
5-2
Chapitre 5. Déclarations dans un programme
Units
Ceci associe un nom d’unité de mesure, à un champ associé à une variable.
Syntaxe
Units Variable = UnitName
Remarques
L’emploi de l’instruction « Units » permet d’assigner un nom d’unité de mesure, à une colonne.
L’unité de mesure apparaît dans l’en-tête du fichier de données sauvegardées. Le nom de l’unité est contenue dans un champs texte, ce qui permet à l’utilisateur d’étiqueter les données. Quand l’utilisateur modifie les unités, le texte donné n’est pas vérifié par l’éditeur de programme de la
CR200.
Exemple
Dim Temp(1)
Units Temp(1) = Deg_C
Sub, Exit Sub, End Sub
Ces instructions déclarent le nom et le code nécessaires à l’écriture d’un sous-programme (subroutine).
Syntaxe
Sub Subname
[statementblock]
[Exit Sub]
[statementblock]
End Sub
La fonction Sub est constituée de ces parties :
Partie
Sub
SubName
Statementblock
Exit Sub
End Sub
Description
Marque le début du sous-programme
Donne un nom au sous-programme. Etant donné que les noms des sousprogrammes sont reconnus par toutes les procédures et tous les modules, le nom du sous-programme (subname), ne peut pas être le même que celui d’une autre variable globalement reconnue dans le programme.
N’importe quel groupement d’instructions qui est exécuté à l’intérieur du sous-programme.
Cela permet de sortir immédiatement du sous-programme. Le programme poursuit son chemin, à la suite de l’instruction qui a appelé le sousprogramme. N’importe quel nombre d’instructions Exit Sub peuvent être utilisées dans un sous-programme.
Cela marque la fin du sous-programme.
Les sous-programmes sont des procédures qui peuvent prendre des variables, faire des séries d’instructions, et changer les valeurs des variables. Cependant, un sous-programme ne peut pas
être utilisé à l’intérieur d’une expression. Vous pouvez appeler un sous-programme en utilisant simplement son nom. Reportez-vous à l’instruction « Call » pour voir comment appeler un sousprogramme.
La CR200 ne permet pas de passer des variables dans le sous-programme. Les sous-programmes peuvent fonctionner avec les variables, Dim ou Public, déclarées dans le programme général.
ATTENTION: Les sous-programmes peuvent être récursifs ; cela implique qu’ils peuvent s’appeler les uns les autres afin d’effectuer une tâche précise. Mais cela peut conduire à d’étonnant résultat
5-3
5-4
Manuel de la CR200
Chapitre 6. Déclarations du tableau de sauvegarde et instructions de traitement de sauvegarde
6.1 Déclaration du tableau de sauvegarde
DataTable (Name, TrigVar, Size)
Output trigger modifier
Export data destinations
Output processing instructions
EndTable
L’instruction DataTable est utilisée pour définir / déclarer un tableau de sauvegarde. Le nom du tableau, la condition de basculement (trigger) et la taille du tableau occupé dans la RAM, sont fixés dans l’instruction DataTable. La déclaration du tableau doit être placée au début du code, avant l’instruction BeginProg. La déclaration du tableau débute par l’instruction DataTable, et se termine par l’instruction EndTable. A l’intérieur de la déclaration on donne des conditions de basculement pour la sauvegarde, l’appareil de sauvegarde vers lequel on envoie les données, et les instructions de sauvegarde qui décrivent le type de données du tableau de sauvegarde.
Entrée Paramètres
& type de donnée
Name
Nom
TrigVar
Constante,
Variable ou
Expression
Le nom du tableau de données. Le nom du tableau est limité à huit caractères.
Size
Constante
Le nom de la variable à tester pour la condition de basculement. Les modificateurs de condition de basculement ajoutent des conditions supplémentaires.
Valeur Résultat
0
≠ 0
Ne pas effectuer de basculement
Basculer
La taille que l’on donne pour faire le tableau de données. Le nombre de jeu de données (enregistrements) pour lequel on prévoit de la place dans la mémoire. A chaque fois qu’une variable ou une condition de basculement prédéfinie est atteinte, une ligne (ou une colonne) de données est envoyée en sortie, avec le nombre de valeurs déterminées par les instructions de sauvegarde à l’intérieur du tableau. Ce type de données est appelé un enregistrement. Le nombre total d’enregistrements stockés est égal à la taille.
Note :
Si vous entrez une valeur négative, la taille attribuée au tableau pour cette valeur négative, sera la taille restante par rapport aux tableaux ayant une taille définie positivement (qui doivent être définis auparavant), ou bien sera répartie entre touts les tableaux ayant une valeur négative pour leur taille. L’algorithme de partitionnement essaye de faire en sorte que les tableaux soient remplis au même moment.
Exemple de Tableau de Données - voir le langage de programmation au chapitre 4.
EndTable
Utilisé afin de marquer la fin du tableau de données.
Voir l’instruction DataTable.
Manuel de la CR200
6.2 Modifications des conditions de basculement (Trigger modifiers)
DataInterval (TintoInt, Interval, Units)
Cette instruction est utilisée afin de fixer un intervalle de temps pour un tableau de sauvegarde de données. Cette instruction est insérée à l’intérieur de la déclaration du tableau de sauvegarde, à la suite de l’instruction DataTable, afin de définir un intervalle de temps fixe. L’instruction
DataInterval n’influence pas la condition de basculement dans l’instruction DataTable. Si la condition de basculement n’est pas mise à une valeur positive de façon à ce qu’elle soit toujours vraie, cela devient une condition qui doit être atteinte en plus de la condition de temps définie, afin que les données soient enregistrées.
L’intervalle (Interval) détermine la fréquence avec laquelle les données sont enregistrées dans le tableau de sauvegarde. L’intervalle est synchronisé avec l’heure de la centrale de mesure. L’heure est conservée par la centrale en tant que durée écoulée depuis le 1 er
janvier 1990 à 0h00min00sec.
Quand l’intervalle de temps est un multiple du temps écoulé, cela devient l’heure pour effectuer la sauvegarde (le MOD du temps écoulé devient = à 0). Si on entre la valeur 0 dans l’intervalle, il prend alors la valeur de l’intervalle d’exécution (scan Interval).
Le paramètre TintoInt (temps à l’intérieur de l’intervalle) permet à l’utilisateur de fixer le moment
à l’intérieur de l’intervalle ou l’offset par rapport à l’heure de la centrale, auquel la sauvegarde s’effectuera ([temps écoulé + temps à l’intérieur de l’intervalle] MOD intervalle = 0). Si par exemple vous avez un temps à l’intérieur de l’intervalle qui est égal à 360 (TintoInt), et un intervalle (Int) égal à 720 en minutes (pour l’Unité - Units), alors la sauvegarde devrait se produire à 6h et 18h, avec un intervalle de 720 minutes (12 heures) calé sur minuit (00h00). On donne la valeur 0 au paramètre TintoInt si l’on souhaite garder la synchronisation par rapport à l’heure de la centrale de mesure.
Paramètres
& type de donnée
TintoInt
Constante
Entrée
Interval
Constante
Le temps à l’intérieur de l’intervalle (offset par rapport à l’intervalle), auquel seront enregistrées les données à sauvegarder. L’unité de temps est la même que l’unité de l’intervalle de temps.
Entrez la durée de l’intervalle, à laquelle les données doivent être enregistrées dans le tableau. L’intervalle est à définir en minutes ou en heures, dans le paramètre d’Unités. On entre la valeur 0 si on souhaite que la sauvegarde s’effectue à chaque intervalle de scrutations. L’intervalle de temps minimum est la minute.
Units (Unités)
Constante
Les unités pour le paramètre de temps sont indiquées ci-dessous. Seul l’instruction « PowerOff » utilise des heures ou des jours.
Code alphanumérique Code numérique Unité
MIN
HR
3
4
Minutes
Heures
6-2
Chapitre6 Déclarations du tableau de sauvegarde et instructions de traitement de sauvegarde
6.3 Instructions de sauvegarde
Average (Reps, Source, DisableVar)
Cette instruction permet de stocker la valeur moyenne à chaque intervalle de sauvegarde, pour la variable source, ou chaque élément spécifié dans la ligne de données spécifiée.
Paramètres
& type de donnée
Reps
Constante
Entrée
Le nombre de moyennes à calculer. Quand le nombre de répétitions est supérieur à
1, la source doit être une ligne de données.
Comprend le nom de la variable qui doit être moyennée.
Source
Variable
DisableVar
Constante,
Variable, ou
Expression
Une valeur différente de 0 désactivera le traitement intermédiaire. En général on entre la valeur 0 afin que toutes les entrées soient traitées. Par exemple, avec une instruction de moyenne, et si la variable de désactivation est « différent de 0 » ( sont produites lorsque la variable de désactivation portait la valeur 0.
Valeur Résultat
≠0 ou <>0), la valeur du moment ne sera pas incluse dans la moyenne. La moyenne qui sera éventuellement sauvegardée, sera la moyenne des valeurs en entrée, qui se
≠ 0
≠ 0
On prend en compte la valeur actuelle de la variable
On ne prend pas en compte la valeur actuelle de la variable
ETo (Temp, RH, u2, Rs, Longitude, Latitude, Altitude, DisableVar)
L’instruction ETo permet de calculer l’évapotranspiration, à partir de mesures effectuées par l’utilisateur, et de constantes définies dans le programme. D’autres données météorologiques sont aussi récupérées. Cette instruction est plus particulièrement adaptée aux intervalles de sauvegarde courts (inférieurs à 24 heures). Pour des sauvegardes journalières, on utilisera « EtoDaily ».
Cette instruction donne comme résultat 5 valeurs, qui sont calculées pour la période de sauvegarde définie. Les valeurs sont : la température moyenne (en °C), l’humidité relative moyenne (en %), la vitesse du vent moyenne (en m/sec), le rayonnement solaire moyen (en W/m²), et l’évapotranspiration (en mm). Cette instruction utilise l’équation d’évapotranspiration de référence standardisée de type ASCE (ASCE Standardized Reference Evapotranspiration equation).
EtoDaily (Temp, RH, u2, Rs, Longitude, Latitude, Altitude, DisableVar)
L’instruction EtoDaily permet de calculer l’évapotranspiration, à partir de mesures effectuées et de constantes définies par l’utilisateur dans le programme. D’autres données météorologiques sont aussi récupérées. Cette instruction est plus particulièrement adaptée aux intervalles de sauvegarde importants
(par exemple 24 heures). Pour des intervalles de sauvegarde plus courts, on utilisera « ETo ».
Cette instruction donne comme résultat 9 valeurs, qui sont calculées pour la période de sauvegarde définie. Les valeurs sont : la température maximum (en °C), le moment où a eu lieu le température moyenne (mois/jour/année heure:minute), la température minimum, le moment où a eu lieu la température minimum (mois/jour/année heure:minute), l’humidité relative maximum (en %), l’humidité relative minimum (en %), la vitesse moyenne du vent (en m/sec), le rayonnement solaire moyen (en MJ/m²), et l’évapotranspiration Eto (en mm). Cette instruction utilise l’équation d’évapotranspiration de référence standardisée de type ASCE (ASCE Standardized Reference
Evapotranspiration equation).
6-3
Manuel de la CR200
Paramètres
& type de donnée
Temp
Variable
RH
Variable
u2
Variable
Rs
Variable
Longitude
Variable ou constante
Latitude
Variable ou constante
Altitude
Variable ou constante
DisableVar
Constante,
Variable, ou
Expression
Entrée
La variable dans laquelle la mesure de température est stockée, et qui sera utilisée dans le calcul de l’ET0. La température doit être en °C.
La variable dans laquelle la mesure d’Humidité Relative est stockée, et qui sera utilisée dans le calcul de l’ET0. La mesure d’HR doit être en %.
La variable dans laquelle la mesure de vitesse du vent est stockée, et qui sera utilisée dans le calcul de l’ET0. Elle doit être en m/sec et est supposée
être prise à 2m de hauteur par rapport au sol.
La variable dans laquelle la mesure de rayonnement solaire est stockée, et qui sera utilisée dans le calcul de l’ET0. Elle doit être en W/m².
La variable ou la constante qui fournit la longitude de la station météo. La longitude doit être comprise entre –180 et + 180.
La variable ou la constante qui fournit la latitude de la station météo. La latitude doit être comprise entre –90 et + 90.
La valeur de la hauteur où se trouve la station météo, en mètres.
Une valeur différente de 0 désactivera le traitement intermédiaire. En général on entre la valeur 0 afin que toutes les entrées soient traitées. Par exemple, si la variable de désactivation est différente de 0, on ne cherchera pas à trouver une nouvelle valeur minimum sur l’intervalle de sauvegarde.
Ainsi la valeur minimum qui est éventuellement sauvegardée, est la valeur minimum des valeurs en entrée, qui se sont produites lorsque la variable de désactivation portait la valeur 0.
Valeur Résultat
≠ 0
≠ 0
On prend en compte la valeur actuelle dans les calculs
On ne prend pas en compte la valeur actuelle dans les calculs
FieldNames « list of fieldnames »
L’instruction « FieldNames » peut être utilisée afin de remplacer le nom des champs qui sont crées par la CR200, et attribués aux colonnes des tableaux de sauvegarde. L’instruction Fieldname doit
être positionnée immédiatement après l’instruction de sauvegarde qui crée le tableau de sauvegarde. Le nom des champs est limité à 19 caractères. Des dénominations individuelles peuvent être entrées pour chaque résultat généré par l’instruction de sauvegarde précédente, ou bien on peut utiliser une ligne de données afin de donner un nom à plusieurs champs. Lorsque le programme est compilé, le compilateur déterminera combien de champs sont créés. Si la liste de noms est supérieure au nombre de champs, les noms supplémentaires seront ignorés. Si le nombre de champs est supérieur au nombre de descriptifs texte entrés par l’instruction Fieldnames, les noms par défaut seront utilisés pour les champs restant.
Exemples
Sample(4, Temp(1))
Fieldnames « IntakeT, CoolerT, PlenumT, ExhaustT »
Les 4 variables de la ligne de variable de température, sont stockées dans le tableau de sauvegarde, avec les noms IntakeT, CoolerT, PlenumT et ExhaustT.
Sample(4, Temp(1))
Fieldnames « IntakeT, CoolerT »
Les 4 variables de la ligne de variable de température, sont stockées dans le tableau de sauvegarde, avec deux noms individuels et deux noms par défaut : IntakeT, CoolerT, Temp(3) et Temp(4).
Sample(4, Temp(1))
Fieldnames « IntakeT(2) »
6-4
Chapitre6 Déclarations du tableau de sauvegarde et instructions de traitement de sauvegarde
Les 4 variables de la ligne de variable de température, sont stockées dans le tableau de sauvegarde, avec deux noms individuels de type ligne de donnée (IntakeT) et deux noms par défaut :
IntakeT(1), IntakeT(2), Temp(3) et Temp(4).
Maximum (Reps, Source, DisableVar, Time)
L’instruction de maximum est une instruction qui enregistre le maximum de la valeur indiquée dans la variable source, durant l’intervalle de sauvegarde. L’heure associée à la valeur maximale, peut être enregistrée de façon optionnelle si l’on donne le paramètre approprié dans l’instruction de mesure, pour le paramètre « Time ».
Paramètres
& type de donnée
Reps
Constante
Source
Variable
DisableVar
Constante,
Variable, ou
Expression
Time
Constante
Entrée
Le nombre de maximum à calculer. Quand le nombre de répétitions est supérieur à 1, la source doit être une ligne de données.
Comprend le nom de la variable qui est la donnée source.
Une valeur différente de 0 désactivera le traitement intermédiaire. En général on entre la valeur 0 afin que toutes les entrées soient traitées. Si la variable de désactivation est différente de 0, la valeur du moment ne sera pas prise en compte pour l’obtention du nouveau maximum. Le maximum qui sera sauvegardé sera le maximum des valeurs en entrée, qui se seront produit lorsque la variable de désactivation portait la valeur 0.
Valeur Résultat
≠ 0
≠ 0
On prend en compte la valeur actuelle dans le calcul
On ne prend pas en compte la valeur actuelle dans le calcul
Option afin d’enregistrer le moment où a eu lieu le maximum. Quand le temps est sauvegardé, les maximums de chaque répétition sont enregistrés, suivis par le moment auxquels ils se sont déroulés.
Valeur Résultat
0
1
On n’enregistre pas l’heure
On enregistre l’heure
Minimum (Reps, Source, DisableVar, Time)
L’instruction de minimum est une instruction qui enregistre le minimum de la valeur indiquée dans la variable source, durant l’intervalle de sauvegarde. L’heure associée à la valeur minimale, peut
être enregistrée de façon optionnelle si l’on donne le paramètre approprié dans l’instruction de mesure, pour le paramètre « Time ».
Paramètres
& type de donnée
Reps
Constante
Source
Variable
DisableVar
Constante,
Variable, ou
Expression
Time
Constante
Entrée
Le nombre de minimum à calculer. Quand le nombre de répétitions est supérieur à 1, la source doit être une ligne de données.
Comprend le nom de la variable qui est la donnée source.
Une valeur différente de 0 désactivera le traitement intermédiaire. En général on entre la valeur 0 afin que toutes les entrées soient traitées. Si la variable de désactivation est différente de 0, la valeur du moment ne sera pas prise en compte pour l’obtention du nouveau minimum. Le minimum qui sera sauvegardé sera le minimum des valeurs en entrée qui se seront produites lorsque la variable de désactivation portait la valeur 0.
Valeur Résultat
≠ 0
≠ 0
On prend en compte la valeur actuelle dans le calcul
On ne prend pas en compte la valeur actuelle dans le calcul
Option afin d’enregistrer le moment où a eu lieu le minimum. Quand le temps est sauvegardé, les minimums de chaque répétition sont enregistrés, suivis par le moment auxquels ils se sont déroulés.
Valeur Résultat
0
1
On n’enregistre pas l’heure
On enregistre l’heure
6-5
Manuel de la CR200
Sample (Reps, Source)
Cette instruction sauvegarde la ou les valeur(s) actuellement présente(s) dans la variable ou la ligne de donnée de variables spécifiées (prend un échantillon).
Paramètres
& type de donnée
Reps
Constante
Source
Variable
Entrée
Le nombre d’échantillons à prendre. Quand le nombre de répétitions est supérieur à 1, la source doit être une ligne de données.
Comprend le nom de la variable qui doit être échantillonnée.
StdDev (Reps, Source, DisableVar)
L’instruction StdDev calcule l’écart type de la (les) source(s) durant la période définie pour l’intervalle de sauvegarde.
1
σ
( x )
=
⎛
⎜ i i
=
N
∑ ∑
=
1 x i
2
− i
=
N i
=
1 x i
2
/ N / N
⎞
⎟
2
⎝ ⎠
Où
σ (x) est l’écart type de x, et N est le nombre d’échantillons.
Paramètres
& type de donnée
Reps
Constante
Source
Variable
DisableVar
Constante,
Variable, ou
Expression
Entrée
Le nombre d’écarts type à calculer. Quand le nombre de répétitions est supérieur à 1, la source doit être une ligne de données.
Comprend le nom de la variable qui est la donnée source.
Une valeur différente de 0 désactivera le traitement intermédiaire. En général on entre la valeur 0 afin que toutes les entrées soient traitées. Si la variable de désactivation est différente de 0, la valeur du moment ne sera pas prise en compte pour le calcul de l’écart type. L’écart type qui sera sauvegardé sera celui calculé à partir des valeurs en entrée, lorsque la variable de désactivation portait la valeur 0.
Valeur Résultat
≠ 0
≠ 0
On prend en compte la valeur actuelle dans le calcul
On ne prend pas en compte la valeur actuelle dans le calcul
Totalize (Reps, Source, DisableVar)
Cette instruction enregistre le total de la (les) valeur(s) source, sur la durée de l’intervalle de sauvegarde.
Paramètres
& type de donnée
Reps
Constante
Entrée
Le nombre de totaux à calculer. Quand le nombre de répétitions est supérieur à 1, la source doit être une ligne de données.
Comprend le nom de la variable qui est la donnée source.
Source
Variable
DisableVar
Constante,
Variable, ou
Expression
Une valeur différente de 0 désactivera le traitement intermédiaire. En général on entre la valeur 0 afin que toutes les entrées soient traitées. Si la variable de désactivation est différente de 0, la valeur du moment ne sera pas prise en compte pour le calcul du total. Le total qui sera sauvegardé sera celui calculé à partir des valeurs en entrée, lorsque la variable de désactivation portait la valeur 0.
Valeur Résultat
≠ 0
≠ 0
On prend en compte la valeur actuelle dans le calcul
On ne prend pas en compte la valeur actuelle dans le calcul
6-6
Chapitre6 Déclarations du tableau de sauvegarde et instructions de traitement de sauvegarde
WindVector
(Speed/East, Direction/North, DisableVar, SensorType, OutputOpt)
L’instruction WindVector calcule la vitesse et la direction du vent à partir de capteurs de type polaires (vitesse et direction du vent) ou orthogonaux (hélices fixées à l’Est et au Nord). Elle utilise les données brutes afin de générer le vecteur unitaire principal de direction du vent, la magnitude principale du vecteur vent, la direction principale du vecteur vent sur l’ensemble de l’intervalle de sauvegarde. Il existe deux façons différentes de calculer la direction du vecteur vent
(et l’écart type de la direction du vent), dont l’une qui pondère la vitesse du vent.
Paramètres
& type de donnée
Speed / East
Dir / North
Variables ou
Lignes de variables
DisableVar
Constante,
Variable, ou
Expression
Entrée
Les variables source pour la vitesse et la direction du vent, ou dans le cas des capteurs orthogonaux, pour le vent d’Est et de Nord. Si la répétition est supérieure à 1, les variables sources doivent être des lignes de variables contenant des éléments pour chacune des répétitions.
SensorType
Constante
OutputOpt
Constante
Une valeur différente de 0 désactivera le traitement intermédiaire. En général on entre la valeur 0 afin que toutes les entrées soient traitées. Si la variable de désactivation est différente de 0, la valeur du moment ne sera pas prise en compte pour le calcul. Le résultat qui sera sauvegardé sera celui calculé à partir des valeurs en entrée, lorsque la variable de désactivation portait la valeur 0.
Valeur Résultat
≠ 0
≠ 0
On prend en compte la valeur actuelle dans le calcul
On ne prend pas en compte la valeur actuelle dans le calcul
Type du capteur de vent :
Valeur Type de capteur
0
1
Valeur
0
Vitesse et direction
Vitesse Est et Nord
Type de donnée sauvegardée
1. Vitesse moyenne du vent horizontal, S
2. Vecteur unitaire de la direction moyenne du vent,
Θ1
3. Ecart type de la direction du vent,
σ(Θ1)
L’écart type est calculé avec l’algorithme de Yamartino.
Cette option est en accord avec les recommandations de l’EPA, sur les modèles de dispersion rectiligne Gaussien pour la modélisation du transport d’un panache.
1
2
1. Vitesse moyenne du vent horizontal, S
2. Vitesse unitaire de la direction moyenne du vent,
Θ1
1. Vitesse moyenne du vent horizontal, S
2. Résultante de la vitesse moyenne du vent, U
3. Résultante de la direction moyenne du vent,
ΘU
4. Ecart type de la direction du vent,
σ(ΘU)
Cet écart type est calculé à partir de l’algorithme de
Campbell Scientific, pondéré par la vitesse du vent.
L’utilisation de la résultante de la direction moyenne du vent horizontal n’est pas recommandée pour le modèle de dispersion rectiligne Gaussien, mais peut être utilisé pour la modélisation de la direction de transport dans une modélisation à trajectoire variable.
Lorsqu’elle est utilisée avec des capteurs polaires, l’instruction fait un modulo par 360, de la direction du vent, ce qui permet à la direction du vent (en degrés) de varier entre 0 et 360, 0 et 540, moins de 0, ou plus de 540. Il est utile de pouvoir traiter facilement des valeurs négatives, dans le cas où il est difficile d’atteindre la girouette qui n’est pas orientée correctement. Si par exemple la lecture de la girouette est de 0 degrés au lieu de la valeur réelle de 340 degrés, la solution la plus simple est d’entrer un offset de –20 dans l’instruction qui mesure la girouette, et le résultat sera la valeur réelle en degrés de 0 à 360, après le modulo.
Quand un échantillon de vitesse de vent est de 0, l’instruction utilise 0 pour traiter le scalaire ou le vecteur de vitesse de vent résultant, mais l’échantillon n’est pas comptabilisé dans le calcul de la direction du vent. L’utilisateur peut souhaiter ne pas utiliser un échantillon inférieur au seuil de démarrage du capteur utilisé, pour le calcul de l’écart type. Si tel est le cas, écrivez un programme afin de vérifier la vitesse du vent et, si elle est inférieure au seuil, donnez la valeur 0 à la vitesse du vent avant d’appeler le tableau de sauvegarde.
6-7
Valeurs brutes mesurées :
S i
= vitesse horizontale du vent
Θ i
= direction horizontale du vent
Ue i
= composante Est-Ouest du vent
Un i
= composante Nord-Sud du vent
N = nombre d’échantillons
Calculs :
North
s n
Θu
s
1
U s
2
s
3
s
4
East
Manuel de la CR200
Figure 6.3-1 Vecteurs échantillonnés en entrée.
Sur la figure 6.3-1, les petits vecteurs sont des vecteurs échantillonnés en entrée décrits par S i
et
Θ i
, les échantillons de vitesse et de direction du vent, ou par Ue i et Un i
, les composantes Est et Nord du vecteur échantillon. A la fin de l’intervalle de sauvegarde T, la somme des vecteurs échantillons est décrite par le vecteur de magnitude U et de direction Θu. Si l'intervalle de scrutation est t, le nombre d'échantillons dans l’intervalle de sauvegarde T est N = T / t. La magnitude du vecteur moyen est = U / N.
Scalaire de la vitesse moyenne du vent horizontal, S:
S=(
ΣS i
)/N avec dans le cas de capteurs orthogonaux :
S i
=(Ue i2
+Un i2
)
1/2
Vecteur unitaire de la direction moyenne du vent,
Θ
1
:
Θ
1
=Arctan (Ux/Uy) où
Ux=(
Σsin Θ i
)/N
Uy=(
Σcos Θ i
)/N et avec, dans le cas des capteurs orthogonaux :
Ux=(
Σ(Ue i
/U i
))/N
Uy=(
Σ(Un i
/U i
))/N où U i
=(Ue i2
+Un i2
)
1/2
Ecart type de la direction du vent,
σ(Θ1), équation de Yamartino :
σ(Θ1)=arc sin(ε)[1+0,1547 ε 3
] où
ε=[1-((Ux) 2
+(Uy)
2
)]
1/2 et Ux et Uy sont définis comme ci-dessus.
Résultante de la vitesse moyenne du vent horizontal, Ū:
Ū =(Ue
2
+Un
2
)
1/2
6-8
Chapitre6 Déclarations du tableau de sauvegarde et instructions de traitement de sauvegarde
Un
U
Ue
Figure 6.3-2 Vecteur vent moyen
et pour les capteurs polaires :
Ue=(
ΣS i sin
Θ i
)/N
Un=(
ΣS i cos Θ i
)/N ou, dans le cas de capteurs orthogonaux :
Ue=(
ΣUe i
)/N
Un=(
ΣUn i
)/N
Résultante de la direction moyenne du vent,
Θu :
Θu= Arctan (Ue/Un)
Ecart type de la direction du vent
σ(Θu),en utilisant l’équation de Campbell Scientific :
σ(Θu)= 81(1- Ū /S) 1/2
L’algorithme pour
σ(Θu) est développé en notant que (voir figure 6.4-4)
Cos (
Θ i
′) = U i
/s i
; où
Θ i
′ =
Θ i
-
Θ u
U
U i
Θu
Θ'
i s i
Figure 6.3-3 Ecart type pour la direction.
La série de Taylor pour la fonction Cosinus, tronquée après 2 termes, est :
Cos (
Θ i
′) = 1- (
Θ i
′)
2
/2
Pour des déviations de moins de 40 degrés, l’erreur dans l’approximation est de moins de 1%. A des déviations de 60 degrés, l’erreur est de 10%.
La vitesse d’échantillonnage peut être exprimée en tant que déviation autour de la vitesse moyenne, s i
= s i
′+S
On pose l’équation pour les deux expressions pour Cos (
θ’) et on utilise l’équation précédente pour s
i
;
1-(
Θ i
′)
2
/2 = U i
/(s i
′+S)
La résolution de cette équation avec (
Θ i
′)
2 donne :
(
Θ i
′)
2
= 2-2U i
/ S-(
Θ i
′)
2 s i
′/S+2s i
′/S
6-9
6-10
Manuel de la CR200
La somme de ( bien que la somme du dernier terme est égale à 0.
N
Θ i
′)
2
sur N échantillons et en divisant par N, conduit à la variance sur
Θu. Notez
N
(σ(
Θu′)) 2
=
∑
( Θ
i
′)
2
/
N
= 2(1-
Ū
/
S
)-
∑
((( Θ
i
′)
2 s
i
′)/
NS
i=1 i=1
Le terme
∑
((( Θ
i
′)
2 s
i
′)/
NS
, est égal à 0 si les déviations par rapport à la vitesse, ne sont pas corrélées avec une déviation de la direction. Cette hypothèse a été vérifiée lors de tests effectués sur données de vent provenant de différents sites, par Campbell Scientific aux USA. Lors de ces test, la différence maximale dans l’équation
σ(
Θu) = (
∑
(
Θ
i
′)
2
/
N
)
1/2
et σ(
Θu) = (2(1-
Ū
/
S
))
1/2 n’a jamais été supérieure à quelques degrés.
On parvient à la formule finale en convertissant les radians en degrés (57.296 degrés / radian).
σ(
Θu) = (2(1-
Ū
/
S
))
1/2
= 81(1-
Ū
/
S
)
1/2
Chapitre 7. Instructions de mesure
Une mesure de pont combine une excitation et une mesure de tension afin de mesurer des capteurs qui changent de résistance en réponse à un phénomène qui doit être mesuré. Ces capteurs comprennent des capteurs de type thermistance ou potentiomètre.
applique une tension d’excitation, attend un temps spécifié par l’utilisateur, puis effectue une mesure de tension unipolaire
ExciteV –Met la voie de tension d’excitation commutée spécifiée, à la tension spécifiée
Mesure la période ou la fréquence d’un signal sur une voie de mesure unipolaire
Lit l’état d’un ou deux ports de contrôle
Configure l’état des ports de contrôle
Pour effectuer de mesures d’impulsion, de fréquence
Commute la tension de la voie « SwBatt » du bornier
Manuel de la CR200
7.1 Mesures de tension
VoltSE (Dest, Reps, SEChan, Mult, Offset)
S.E. Chanel
Ground
Sensor
Cette instruction mesure la tension d’une entrée unipolaire, par rapport à la terre.Avec un multiplicateur égal à 1, et un offset égal à 0, le résultat est en millivolts.
Paramètres
& type de donnée
Entrée
Dest
Variable ou Ligne de
données
Les variables dans lesquelles on stocke le résultat des instructions.
Quand on utilise des répétitions, les données sont sauvegardées dans des lignes de donnée ayant le nom de la variable. Une ligne de donnée doit être dimensionnée afin d’avoir des éléments pour chaque répétition.
Le nombre de répétitions pour la mesure ou l’instruction.
Reps
Constante
SEChan
Constante
Mult, Offset
Constante, Variable,
Ligne de donnée ou
Expression
Le numéro de la voie unipolaire sur laquelle on effectue la première mesure. Lorsque des répétitions sont utilisées, des mesures seront effectuées sur les voies de mesure consécutive à celle indiquée ici.
Un multiplicateur et un offset qu’on utilise pour mettre à l’échelle les résultats de la mesure brute. Voir la description de la mesure pour connaître l’unité de la mesure brute ; un multiplicateur de 1 et un offset de 0 sont nécessaires afin d’obtenir une valeur brute pour résultat.
7.2 Demi pont
ExDelSE (Dest, Reps, SEChan, ExChan, ExmV, Delay, Mult, Offset)
Cette instruction applique une tension d’excitation, attend un certain temps, puis effectue une mesure de tension unipolaire. Le résultat de la mesure effectuée avec un multiplicateur égal à 1 et un offset égal à 0, est la tension mesurée en millivolts.
7-2
Chapitre7 Instructions de mesure
Paramètres
& type de donnée
Dest
Variable ou Ligne de
données
Entrée
Les variables dans lesquelles on stocke le résultat des instructions. Quand on utilise des répétitions, les données sont sauvegardées dans des lignes de donnée ayant le nom de la variable. Une ligne de donnée doit être dimensionnée afin d’avoir des éléments pour chaque répétition.
Le nombre de répétitions pour la mesure ou l’instruction.
Reps
Constante
SEChan
Constante
ExChan
Constante
ExmV
Constante
Delay
Constante
Mult, Offset
Constante, Variable,
Ligne de donnée ou
Expression
Le numéro de la voie unipolaire sur laquelle on effectue la première mesure. Lorsque des répétitions sont utilisées, des mesures seront effectuées sur les voies de mesure consécutive à celle indiquée ici.
Le numéro de la voie d’excitation où effectuer la première mesure.
Code lettre
Code / n° de voie
Résultat
EX1
EX2
1
2
Les voies d’excitation commutée sont activées pendant les mesures / désactivées entre les mesures.
La tension d’excitation en mV.
Code Résultat
mV2500 mV5000
Donne une excitation de 2500mV
Donne une excitation de 5000mV
Le temps, en microsecondes, est le délai après la stabilisation de l’excitation et avant de faire la mesure de tension. Le délai minimum est de 500 microsecondes ; toute valeur inférieure à celle-ci causera une erreur à la compilation.
Un multiplicateur et un offset qu’on utilise pour mettre à l’échelle les résultats de la mesure brute.
Therm109 (Dest, Reps, SEChan, ExChan, Mult, Offset)
L’instruction Therm109 est utilisée afin de mesurer la thermistance 109. Cette instruction effectue une mesure de demi pont, puis en déduit le résultat en utilisant l’équation de Steinhart-Hart afin de calculer la température de la thermistance à partir de la résistance de la thermistance. Le résultat de la mesure effectuée avec un multiplicateur égal à 1 et un offset égal à 0, est la température en °C.
Paramètres
& type de donnée
Dest
Variable ou Ligne de
données
Entrée
Les variables dans lesquelles on stocke le résultat des instructions. Quand on utilise des répétitions, les données sont sauvegardées dans des lignes de donnée ayant le nom de la variable. Une ligne de donnée doit être dimensionnée afin d’avoir des éléments pour chaque répétition.
Le nombre de répétitions pour la mesure ou l’instruction.
Reps
Constante
SEChan
Constante
ExChan
Constante
Mult, Offset
Constante, Variable,
Ligne de donnée ou
Expression
Le numéro de la voie unipolaire sur laquelle on effectue la première mesure. Lorsque des répétitions sont utilisées, des mesures seront effectuées sur les voies de mesure consécutive à celle indiquée ici.
Le numéro de la voie d’excitation où effectuer la première mesure.
Code lettre
Code / n° de voie
Résultat
EX1
EX2
1
2
Les voies d’excitation commutée sont activées pendant les mesures / désactivées entre les mesures.
Un multiplicateur et un offset qu’on utilise pour mettre à l’échelle les résultats de la mesure brute. Avec un multiplicateur de 1 et un offset de 0, la température est mesurée en °C. Avec un multiplicateur de 1,8 et un offset de 32, elle est mesurée en °F.
7-3
Manuel de la CR200
7.3 Excitation / Sortie de tension en continu
ExciteV (ExChan, ExmV,)
Cette instruction applique l’excitation spécifiée à la voie d’excitation commutée indiquée. Une fois que la voie d’excitation est mise sous tension de 2500 ou 5000mV par l’instruction ExciteV, la voie d’excitation reste dans cet état jusqu’à ce qu’une autre instruction affecte une nouvelle tension d’excitation. Le fait de laisser les voies d’excitation en position activée, accroît la consommation de la CR200 d’environ 300mA, en plus du courant fourni par la voie d’excitation.
Si une tension d’excitation continue n’est pas nécessaire, il faut utiliser une autre instruction qu’ExciteV afin de ramener la tension à 0mV avant la fin de l’exécution du programme, afin de réduire la consommation en courant.
Paramètres
& type de donnée
ExChan
Constante
ExmV
Constante
Entrée
Le numéro de la voie d’excitation où effectuer la première mesure.
Code lettre
Code / n° de voie
Résultat
EX1
EX2
1
2
La tension d’excitation en mV.
Les voies d’excitation commutée sont activées pendant les mesures / désactivées entre les mesures.
Code Résultat
mV0 mV2500 mV5000
Donne une excitation de 0mV
Donne une excitation de 2500mV
Donne une excitation de 5000mV
7.4 Mesure ne nécessitant pas de capteur
Battery (Dest)
Cette instruction lit l’état de la tension de la batterie, et stocke le résultat dans une variable de destination. L’unité de mesure de la batterie est le Volt.
7.5 Port de contrôle E/S
AnalogPortGet (Dest, SEChan)
La CR200 a la capacité d’utiliser des voies de mesure analogiques en tant qu’entrée numériques
(AnalogPortGet) ou en tant que sortie (AnalogPortSet). Lorsqu’elles sont utilisées en tant qu’entrées, une résistance de 100 Kohm doit être connectée entre la voie de mesure et la masse, afin de s’assurer que la voie est à l’état bas lorsqu’elle n’est pas commandée par un signal extérieur. Le fait d’exécuter l’instruction AnalogPortGet, configure la voie en tant qu’entrée (c’est
à dire que la voie n’est pas mise en état haut ni en état bas) ; les instructions AnalogPortSet précédentes, deviendront inactives.
Paramètres
& type de donnée
Dest
Variable ou
Ligne de
données
Entrée
La variable qui contient le code résultat pour une voie spécifiée. Les codes sont :
Code Description
0
1
La voie est à l’état bas (Low)
La voie est à l’état haut (High)
Le numéro de la voie unipolaire à tester (entre 1 et 5).
SEChan
Constante
7-4
Chapitre7 Instructions de mesure
AnalogPortSet (SEChan, State)
La CR200 a la possibilité d’utiliser les voies analogiques en tant qu’entrées numériques
(AnalogPortGet) ou en tant que sorties (AnalogPortSet).
Paramètres
& type de donnée
SEChan
Constante
State
Constante, Variable ou
Expression
Entrée
La voie unipolaire à tester (entre 1 et 6 ; 6 est la voie marquée P_SW).
La variable qui contient le code de résultat pour la voie spécifiée.
Les codes sont :
Valeur Résultat
≠
0
≠ 0
La voie est à l’état bas (Low)
La voie est à l’état haut (High)
PeriodAvg (Dest, SEChan, PAOption, Cycles, Timeout, Port, Mult, Offset)
Cette instruction mesure la période d’un signal, sur une voie unipolaire. Le nombre de cycles spécifiés, sont espacés dans le temps avec une résolution de 136ns, ce qui donne une résolution de la mesure de période égale à 136ns, divisé par le nombre de cycles choisis.
Le signal doit avoir une transition entre moins de 0,9 volt et plus de 2,1 volts, afin d’être comptabilisée. Un genre de signal typiquement mesurable, et un signal carré 0 à 2,5V.
Paramètres
& type de donnée
Dest
Variable ou Ligne de
données
Entrée
SEChan
Constante
PAoption
Les variables dans lesquelles on stocke le résultat des instructions. Quand on utilise des répétitions, les données sont sauvegardées dans des lignes de donnée ayant le nom de la variable. Une ligne de donnée doit être dimensionnée afin d’avoir des éléments pour chaque répétition.
Le numéro de la voie unipolaire sur laquelle on effectue la première mesure.
Lorsque la voie est indiquée avec un signe négatif, toutes les répétitions sont effectuées sur cette même voie.
Indique si on prend la période en µs ou la fréquence en kHz.
Code numérique Résultat retourné
0
1
La période du signal
La fréquence du signal
Le nombre de cycles à mesurer pour effectuer le calcul de la moyenne.
Cycles
Constante
Timeout
Constante
Port
Constante
Mult, Offset
Constante, Variable,
Ligne de donnée ou
Expression
La durée maximum (en msec) qu’attendra la centrale afin de mesurer le nombre de cycles nécessaires au calcul de la moyenne.
Le port de contrôle ou le voie analogique qu’il faut mettre à l’état haut au début de la mesure, et à l’état bas une fois qu’elle est effectuée. Le port peut
être utilisé afin de commuter l’alimentation d’un capteur tel que le réflectomètre de teneur en eau CS625
Code Description
0
C1
C2
Aucune
Port de contrôle n° 1
Port de contrôle n° 2
3
4
5
P_SW
Voie de mesure analogique n° 3
Voie de mesure analogique n° 4
Voie de mesure analogique n° 5
Voie de mesure analogique n° 6 / P_SW
Un multiplicateur et un offset qu’on utilise pour mettre à l’échelle les résultats de la mesure brute.
7-5

Public link updated
The public link to your chat has been updated.