ajouter X jours à une date

Forum traitant des automates industriels de marque Siemens.
JeremAuto07
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 145
Enregistré le : 23 sept. 2019, 18:21

ajouter X jours à une date

Message par JeremAuto07 »

Bonjour !

Je vous expose le process:
Pour des besoins de maintenances d'un système de filtration d'eau il faut que tout les X temps j'affiche un message pour que les opérateurs changes les filtre du système.

IHM: Image

La première date correspond à la dernière maintenance effectué (3INT)
La seconde date correspond à la date que l'opérateur va rentrer il s'agit du jour mois et année de la maintenance effectuée (3INT)
La dernière date correspond à la fréquence de la maintenance "touts les x jour = maintenance) (1INT)

La programme consiste a récupérer la date de la dernière maintenance puis à y ajouter le nombre de jour souhaité et comparer cette nouvelle date à la date local. Si les deux dates sont égales alors je signalise qu'il faut faire la maintenance.
Et malheureusement je ne trouve pas de moyen d'additionner une date comportant Jour / Mois / années a un jour.

Si quelqu'un peut m'aider ....
Avatar du membre
Bruce33
Dieu du process
Dieu du process
Messages : 932
Enregistré le : 28 oct. 2015, 06:54
Localisation : Pas-de-Calais

Re: ajouter X jours à une date

Message par Bruce33 »

JeremAuto07 a écrit : 05 mars 2021, 16:05 Et malheureusement je ne trouve pas de moyen d'additionner une date comportant Jour / Mois / années a un jour.
Où comptez-vous faire ce calcul ? Dans l'afficheur ou dans un automate ?
Pouvez-vous préciser le matériel / le logiciel ?
JeremAuto07
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 145
Enregistré le : 23 sept. 2019, 18:21

Re: ajouter X jours à une date

Message par JeremAuto07 »

Ha lala je suis bête.....

Je compte réaliser le programme sous TIA V16 avec une CPU 1214C (S7-1200)

Voici ce que j'avais imaginer mais cela ne fonctionne pas..

Image

Image
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: ajouter X jours à une date

Message par philou77 »

Salut !

1 - quoi qui fonctionne pas ?
2 - le format DATETIME est en BCD.. (as-tu converti tes années mois et jours de int vers BCD ?)
3 - est tu sûr que la comparaison ne compare QUE la DATE (et pas les heures avec ) ?
4 - Le format Time est en ms.... donc 12 jours = (12 j * 86400 Secondes * 1000 ms)
alors pas besoin de TIMEofDAY.... (qui te converti un INT en heure/min/sec d'ailleurs)
autre chose, le max est de 24 jours et des brouettes pour le Time
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
JeremAuto07
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 145
Enregistré le : 23 sept. 2019, 18:21

Re: ajouter X jours à une date

Message par JeremAuto07 »

Le problème c'est que j'ai parfois des nombre ne jours allants jusqu'à 180 et le système ne fonctionne pas.

Admettons que la dernière maintenance est été effectuée le 02/02/2021 que la prochaine maintenance doit être réalisée dans 180J soit le 01/08/2021.
Cette nouvelle date est comparée en permanence à la date actuelle et quand elles sont égales il faut faire la maintenance.

Le gros souci c'est que je n'arrive pas a rajouter +180J sur une date au format DTL
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: ajouter X jours à une date

Message par philou77 »

Le max étant 24 jours.... 180 c'est pas possible....
sauf si tu décomposes... par bouts de 24jours puis le reste (pour 180 jour, ça fait 8 boucles au total)
ou bien tu décomptes 1 jour, chaque jour à minuit..mais tu contournes le pb
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Peio
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 108
Enregistré le : 22 oct. 2015, 19:51

Re: ajouter X jours à une date

Message par Peio »

Bonjour,

Regardes dans les LGF (Library Global Function) de Siemens

Peut être le FB LGF_TimerSwitch te conviendrait !!!

Cordialement
Avatar du membre
JC87
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2243
Enregistré le : 20 oct. 2015, 13:00
Localisation : Nouvelle Aquitaine

Re: ajouter X jours à une date

Message par JC87 »

Bonjour,

Dans la librairie OSCAT qu'on trouve facilement sur le Net il y a une fonction qui s'appelle "DAY_OF_YEAR" qui te donne le numéro du jour qu'on appelle aussi quantième et ce à partir d'une date. C'est pour STEP7 mais comme ces blocs sont écrit en SCL ça doit pouvoir s'adapter sans trop de problème en TIA et à partir de là tu pourra calculer facilement un intervalle de jours.

Autre solution que j'ai déjà utilisé avec un afficheur MP277 et Wincc Flexible c'est d'utiliser un script vbs car dans ce langage il y a aussi une fonction toute faite qui calcule le quantième mais là c'est depuis le 1er janvier 1900 comme le fait Excel ou autres outils Microsoft. Il y a donc aussi une adaptation à faire mais là on peut faire le job directement dans l'afficheur. A voir si sur les afficheurs plus récents cette fonction existe encore.

JC
"On veut faire du zéro défaut mais on a zéro bonhomme et zéro budget, et bien à la fin on a zéro résultat..."
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7806
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: ajouter X jours à une date

Message par itasoft »

@JC
Si ya le VB c'est la fonction DateAdd( IntervalType, Number, FirstDate) plus simple tu meurs, lol
ps:
pour une fois les "teutons" sont plus inspirés avec le VB plutôt que le Vijeo-designer avec le JAVA que personne ne connait
Automaticien privé (de tout)
itasoft@free.fr
JeremAuto07
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 145
Enregistré le : 23 sept. 2019, 18:21

Re: ajouter X jours à une date

Message par JeremAuto07 »

Merci pour vos réponses !

Mon IHM est un proface LT3300s (pas tout jeune).
Je suis désolé mais je n'ai pas le logiciel step 7 et étant novice dans le domaine je suis un peux submergé par tout ça
Répondre