ADD_***_PL7 : ajouter une période
Traduction de la notice originale
Description de la fonction
La fonction ADD_***_PL7 ajoute une durée à une date ou à une heure exprimée au format DT ou TOD de PL7.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
Représentation en FBD
Représentation appliquée à une heure du jour :
Représentation en LD
Représentation appliquée à une heure du jour :
Représentation en IL
Représentation appliquée à une heure du jour :
LD Source_Value
ADD_TOD_PL7 Time_to_Add
ST Result_Value
Représentation en ST
Représentation appliquée à une heure du jour :
Result_Value := ADD_TOD_PL7(Source_Value, Time_to_Add);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Source_Value
ARRAY [0..3] OF INT
Date ou heure.
Table de 4 entiers.
Time_to_Add
Durée à ajouter à Source_Value
Note : ce temps est exprimé au format TIME de PL7 donc avec une précision de l’ordre du dixième de secondes. Comme Source_Value est exprimée à la seconde près, Time_to_Add est arrondie à la seconde.
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Result_Value
ARRAY [0..3] OF INT
Result_Value est de même type que Source_Value.
Tableau de 4 entiers.
NOTE : la gestion des années bissextiles est à prévoir dans l’application.
Erreurs d’exécution
Lorsque Source_Value est au format DINT (TOD de PL7), il y a changement de jour si Result_Value est supérieure à 24:00:00. Dans ce cas, le bit système %S18 est positionné à 1 et la valeur de Result_Value n’est significative qu’avec un modulo 24:00:00.
Lorsque Source_Value est au format ARRAY [0..3] OF INT (DT de PL7) et si Result_Value est hors de l’intervalle des valeurs autorisées, le bit système %S18 est positionné à 1 et la valeur de Result_Value est égale à la borne maximale.
Si l’un des paramètres d’entrée n’est pas interprétable et cohérent au format de la fonction alors le bit système %S18 est positionné à 1 et Result_Value vaut :