Opération sur données Type Time_Of_Day

Forum traitant des automates industriels de marque Siemens.
Répondre
AMINE
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 105
Enregistré le : 01 nov. 2015, 23:00

Opération sur données Type Time_Of_Day

Message par AMINE »

Bonjour tout le monde,
j'ai un pti projet ou je manipule l'heure de la CPU en TOD en le comparant a deux consignes de même type, ces deux dernière provient d'une IHM
à première vu une simple comparaison peux faire l'affaire du Genre (TIME>CONSIGNE_DEM AND TIME<CONSIGNE_ARR) mais cette comparaison n'est pas toujours vrai par exemple si ma consigne démarrage est régler a 23H00 et l’arrêt a 2H00 la comparaison sera eronné
y'a t'il une certain maniére ou une fonction spécial qui traite ça SVP
Merci par avance chers automaticiens
PS : je travail en TIA PORTAL V15 S7-1200
Avatar du membre
ProfnovA
Créateur de langage
Créateur de langage
Messages : 526
Enregistré le : 21 oct. 2015, 08:21

Re: Opération sur données Type Time_Of_Day

Message par ProfnovA »

Utilise le bloc T_COMP avec des types de données Date_And_Time
AMINE
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 105
Enregistré le : 01 nov. 2015, 23:00

Re: Opération sur données Type Time_Of_Day

Message par AMINE »

bonjour
aucun bloc appelé T_COMP est disponible sur TIA PORTAL S7_1200 ???????
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2081
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: Opération sur données Type Time_Of_Day

Message par philou77 »

Salut !

Dans le cas que tu donnes (démarrage à 23h , arrêt à 2h), c'est pas le même jour, tu est passé par minuit !!
sinon tu passes par des égalités :
HHMM = Consigne demarrage ET secondes = 00 = Frm Marche
HHMM = Co,signe Arrêt ET Secondes = 00 -> Frm Arrêt

Attention, dans ce cas, pas de démarrage ou d'arrêt si l'automate est en stop ou hors tension au moment fatidique !
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Cedric39
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 117
Enregistré le : 05 déc. 2015, 09:47

Re: Opération sur données Type Time_Of_Day

Message par Cedric39 »

Sinon tu dit que tu est a l'arret si heure courante 2<h<23 , sinon marche.
AMINE
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 105
Enregistré le : 01 nov. 2015, 23:00

Re: Opération sur données Type Time_Of_Day

Message par AMINE »

philou77 a écrit : 04 oct. 2022, 18:23 Salut !

Dans le cas que tu donnes (démarrage à 23h , arrêt à 2h), c'est pas le même jour, tu est passé par minuit !!
sinon tu passes par des égalités :
HHMM = Consigne demarrage ET secondes = 00 = Frm Marche
HHMM = Co,signe Arrêt ET Secondes = 00 -> Frm Arrêt

Attention, dans ce cas, pas de démarrage ou d'arrêt si l'automate est en stop ou hors tension au moment fatidique !
Bonjour Philou j'ai pensé à cette solution mais comme vous l'avez dit, si l'automate est hors tension au moment voulu y'aura un grand probléme donc je doit travailler par des comparaison, est il possible de détecter le passage par minuit ?????
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2081
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: Opération sur données Type Time_Of_Day

Message par philou77 »

Re !

à Minuit, c'est le seul moment ou HH, MM, SS = 00.

Sinon, Associe les jours de la semaine dans tes comparaisons
Pour chaque jour de la semaine, tu as un démarrage et un arrêt

Lundi - Stop 2 h - Marche 23h
Mardi - Stop 2h - Marche 23hh
Etc...

Mais tu auras le même problème, à savoir qu'a minuit , tu as changé de jour.. donc pour la comparaison, c'est pas gagné !
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
AMINE
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 105
Enregistré le : 01 nov. 2015, 23:00

Re: Opération sur données Type Time_Of_Day

Message par AMINE »

Bonjour tout le monde
j'ai resolu mon probléme
j'ai utiliser l'astuce suivante :
diviser la plage horaire en deux plage
Jour 1 H_dem .......23:59:59
Jour2 00:00 .......H_arr
et le tour est joué
merci pour votre aide chérs amis
Répondre