Comparer deux dates avec M221 et somachine Basic

Forum traitant des automates industriels de marque Schneider - Telemecanique
Répondre
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Comparer deux dates avec M221 et somachine Basic

Message par philou77 »

Bonjour,

Je souhaite comparer deux dates (complètes avec les heures).
J'ai un M221 et somachine basic.

Ce dois être simple mais... je sèche

Merci de votre aide.
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
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: Comparer deux dates avec M221 et somachine Basic

Message par itasoft »

slts,
deux dates ça veut rien dire, sous quel format sont ces dates et c’est pour comparer avec la date de l’automate ?

le mieux serait d'expliquer ce que tu veux faire .

Si c’est pour déclencher des actions en fonction de la date et l’heure ya le « Bloc horodateur qui fait ça »
Automaticien privé (de tout)
itasoft@free.fr
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: Comparer deux dates avec M221 et somachine Basic

Message par philou77 »

Re !

Salut Itasoft.

Comparer deux dates :
IHM (HMIGTU) et Automate (M221).

Objectif, mettre Automate à l'heure automatiquement avec heure IHM.
Et cela pas en continu, seulement si dates différentes.
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
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: Comparer deux dates avec M221 et somachine Basic

Message par itasoft »

Slts,
Disons qu’il faut récupérer dans l’automate la date/heure de IHM en décimal
La convertir en BCD dans le même format que les %SW51, %SW52, %SW53

EX :
IHM_MM = le mois sur IHM en décimal
IHM_JJ = le jour sur IHM en décimal
IHM_AA = l’année sur IHM en décimal
IHM_HH = l’heure sur IHM en décimal
IHM_MN = les minutes sur IHM en décimal

Opérations de conversion date/heure IHM en BCD
MOIS_BCD_IHM:=INT_TO_BCD(IHM_MM)
JOUR_BCD_IHM:=INT_TO_BCD(IHM_JJ)
ANNEE_BCD_IHM:=INT_TO_BCD(IHM_AA)
HEURE_BCD_IHM:=INT_TO_BCD(HM_HH)
MINUT_BCD_IHM:=INT_TO_BCD(IHM_MN)


Mois/Jour IHM au format %SW52
MOIS_JOUR_BCD:=SHL(MOIS_BCD_IHM,8) OR JOUR_BCD_IHM

Heures/Minutes IHM au format %SW51
HEURE_MINUT_BCD:= SHL(HEURE_BCD_IHM,8) OR MINUT_BCD_IHM

Comparer :
MOIS_JOUR_BCD avec %SW52
ANNEE_BCD_IHM avec %SW53
HEURE_MINUT_BCD avec %SW51
Automaticien privé (de tout)
itasoft@free.fr
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: Comparer deux dates avec M221 et somachine Basic

Message par philou77 »

Re !

Merci Itasoft.

L'IHM transfert la date complète tout seul via la table de dialogue (format BCD, conversion déjà faite) donc :
Oui je compare les mots 1 par un, mais c'est pas très beau (c'est ce que j'avais fait), je cherchais une comparaison sur mot d'une table ou une instruction toute faite... mais bon je garde comme cela.

Encore merci de ton aide.
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
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: Comparer deux dates avec M221 et somachine Basic

Message par itasoft »

slts,
dans ce cas tu copie ces variables dans deux tableaux et tu fais une comparaison de tableaux,
MDR
LOL
PL4
Automaticien privé (de tout)
itasoft@free.fr
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: Comparer deux dates avec M221 et somachine Basic

Message par philou77 »

Re !

Oui Itasoft, mais la comparaison de tableau ne fonctionne que sur mot doubles ou flottant ;)
Il faut recopier les valeurs ailleurs, sortir les secondes et faire la comparaison sur deux mots doubles..
Je cherchais plus simple..;)

Merci quand même (j'ai égayé ta journée je crois :) )
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Répondre