Nous savons tous que les centrales d'acquisition de données Campbell Scientific sont excellentes pour prendre des mesures et stocker des données. Mais saviez-vous qu'elles peuvent aussi prendre des décisions et contrôler d'autres appareils? Mais oui c'est vrai! www.campbellsci.fr/tips-decisions. Alors que ces instructions sont toujours d'actualité et continueront à fonctionner dans vos centrales de mesure, je vais vous parler d'une nouvelle instruction, TimeIsBetween(). Elle a été ajouté au nouveau système d'exploitation OS 28 pour les CR3000, CR1000 et la série CR800 ainsi que pour la CR6 sur l'OS 01.

TimeIsBetween() donne le résultat TRUE si l'horloge en temps réel de la centrale d'acquisition de données correspond à la gamme spécifiée ; la fonction retourne FALSE. Comme l'instruction TimeIntoInterval(), nous intégrons souvent cela dans une instruction logique if / then.

     If TimeIsBetween (0,10,60,Min) Then
          SW12
(1) 'Alimentation du modem. 
     Else
          SW12
(0) 'Coupure de l'alimentation du modem.
     EndIf

TimeIsBetween() retourne TRUE pour l'ensemble de l'intervalle spécifié, alors que TimeIntoInterval() retourne TRUE seulement pour un scan ou échantillon qui correspond à l'intervalle spécifié.  

Par exemple: si vous avez envoyé un programme sur la centrale de mesure à une minute après l'heure, l'instructionTimeIsBetween(), en utilisant l'extrait de programme ci-dessus, évaluerait à TRUE sur le premier échantillonnage. L'instruction TimeIntoInterval() ,en utilisant l'extrait de programme ci-dessous, évaluerait à TRUE à l'heure suivante, 59 minutes plus tard.

     If TimeIntoInterval ( 0,60,Min) Then PortSet (9,1) 'Port “9” est le port SW12V. Alimentation sur on.
     If TimeIntoInterval (10,60,Min) Then PortSet (9,0) 'Alimentation sur off.

Note :  BeginTime est inclusive et EndTime est exclusif dans la gamme de temps qui va retourner un résultat TRUE. Par exemple : TimeIsBetween(0,10,60,Min) retournera TRUE à 8:00:00.00 et FALSE à 08:10:00.00. 

A bientôt. . . .