Note de ce sujet :
  • Moyenne : 5 (1 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Contrôleur logique ABA S/1.2.1 : partage de blocs fonctions
#80
 Convertir des secondes en années, jours, heures, minutes et secondes

La sortie "comptage" de certains actionneurs exprime en secondes le temps de la fermeture (ou l'ouverture) du relais.
Elle est codée en 4 octets, DPT 12.100.

Au bout d'un certain temps, la lecture du temps en secondes devient absconse. Il est alors plus intuitif de la traduire en valeurs intelligibles.
Exemple : 501039 secondes, c'est 5jours, 19heures, 10minutes et 39 secondes.

La logique utilisée pour la translation est la suivante :

https://postimg.cc/WtS3mn5c

Si on n'utilise pas le bloc SUB (soustraction) avant d'effectuer une division, le bloc DIV renverra la valeur avec une virgule et le bloc d'entrée arrondira cette valeur par excès ou par défaut. Ainsi, 1000 secondes divisés par 60 renverront 16.66 qui seront arrondis à 17.

D'autres actionneurs sortent la valeur en heures (DPT 7.007 - 2octets). Auquel cas il faudra adapter la logique en supprimant les blocs minutes et secondes, et bien évidemment remplacer les blocs d'entrée et de sortie par le format ad hoc.

Note : la valeur maxi envoyée pour une sortie 4 octets est (2^32)-1, soit 4 294 967 295 secondes. Ainsi exprimé, c'est 136 années, 70 jours, 6 heures, 28 minutes et 15 secondes...  Confused
Polo
Polo
Répondre


Messages dans ce sujet
RE: Contrôleur logique ABA S/1.2.1 : partage de blocs fonctions - par Polo46 - 10/01/2025, 18:08:17

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)