SUB_***_PL7 : soustraire une période
Traduction de la notice originale
Description de la fonction
La fonction SUB_***_PL7 enlève une durée d’une date ou d’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
SUB_TOD_PL7 Time_to_Sub
ST Result_Value
Représentation en ST
Représentation appliquée à une heure du jour :
Result_Value := SUB_TOD_PL7(Source_Value, Time_to_Sub);
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.
Time_to_Sub
ARRAY [0..3] OF INT
Durée à déduire de Source_Value
Remarque : cette durée est exprimée au format TIME de PL7 (avec une précision de l’ordre du dixième de seconde). Comme les types DT et TOD de PL7 (convertis sous Control Expert en DINT ou tableaux de 4 INT) sont exprimés à la seconde près, Time_to_Sub est arrondi à la seconde la plus proche.
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.
NOTE : la gestion des années bissextiles est à prévoir dans l’application.
Erreurs d’exécution
Si Source_Value est au format DINT (TOD de PL7), il y a changement de jour si Result_Value est hors de l’intervalle des valeurs autorisées. Dans ce cas, le bit système %S18 est mis à 1 et la valeur de Result_Value n’est significative qu’avec un modulo 24:00:00.
Si Source_Value est au format ARRAY [0..3] OF INT (DT de PL7), si Result_Value est hors de l’intervalle des valeurs autorisées, le bit système %S18 est mis à 1 et la valeur de Result_Value est égale à la borne minimale.
Si l’un des paramètres d’entrée n’est pas interprétable et cohérent au format de la fonction, le bit système %S18 est mis à 1 et Result_Value vaut :