[RESOLU] Mise à l'heure IHM via SoMachine

Forum traitant des automates industriels de marque Schneider - Telemecanique
Répondre
Vassili
Apprend le binaire
Apprend le binaire
Messages : 9
Enregistré le : 30 juil. 2019, 10:09
Localisation : Pays de la Loire

[RESOLU] Mise à l'heure IHM via SoMachine

Message par Vassili »

Bonjour,
J'ai un problème sur la mise à l'heure de mon IHM. Celui-ci se dérègle à chaque chargement, ou mise hors tension.

Ma configuration :
TM241CE40T/U + HMIS5T
SoMachine v4.3 + Vijeo Designer v6.2.7.17

J'ai donc voulu utiliser la technique de ce tuto : ici
Mais j'ai un soucis, sur SoMachine les variables ne possèdent pas d'adresse (%SW52, ou autres), ou en tout cas pas explicitement, donc pour trouver ces variables "systèmes", aucune idée...

J'ai "fabriqué" ces variables, via ces lignes :

Code : Tout sélectionner

horodateur := getRtc();
temps := horodateur MOD 86400;
secondes := temps MOD 60;
minutes := (temps / 60) MOD 60;
heures := (temps / 3600) MOD 60;
J'ai donc des variables, que j'ai exporter vers mon IHM, qui contiennent des informations sur la date et l'heure.
Variables.PNG
Et là, parce que SoMachine, c'est jamais simple (en tout cas c'est mon impression), un autre problème : dans mon script, je n'arrive pas à "appeler" mes variables API... Peut-être parce qu'elles sont dans un dossier ?
Script.PNG
J'ai donc court-circuiter l'heure IHM en mettant un objet "Time_Display_01" de la bibliothèque SoMachine.
Time_Display.PNG
Time_Display.PNG (10.06 Kio) Vu 2686 fois
En trichant comme ça, au moins j'ai une horloge fonctionnelle, le problème reste pour l'heure des alarmes, des logs d'événement, etc...

Donc, y-a-t’il une solution pour affecter ces variables aux variables systèmes de l'IHM ?
Ou est-ce que je m'y prends comme un pied et il n'y a pas besoin de tout ça ?

Merci d'avance,

PP
Modifié en dernier par Vassili le 22 août 2019, 14:27, modifié 1 fois.
HolyBobby
Apprend le binaire
Apprend le binaire
Messages : 4
Enregistré le : 01 avr. 2019, 17:16

Re: Mise à l'heure IHM via SoMachine

Message par HolyBobby »

Bonjour,

Ceci t'aidera peut-être :
https://www.proface.com/support/index?p ... 67281&prd=
(Ne pas faire attention au terme "Proface")

Désolé je ne peux pas tester, car je suis sur HMISAC, donc pas de config.

Bonne chance (parfois il en faut sur Soma)
Vassili
Apprend le binaire
Apprend le binaire
Messages : 9
Enregistré le : 30 juil. 2019, 10:09
Localisation : Pays de la Loire

Re: Mise à l'heure IHM via SoMachine

Message par Vassili »

Bonjour,
Tout d'abord, merci pour ta réponse.
Cependant j'avais déjà regardé il y a un moment pour utiliser les tableaux de dialogue, mais il ne sont pas accessibles sous SoMachine (J'ai testé avec un automate sous Unity ça marche nickel).
Tableau de dialogue (ou pas).PNG
Tableau de dialogue (ou pas).PNG (11.32 Kio) Vu 2573 fois
Au final, j'ai trouvé une solution : on peut utiliser le nom de la variable comme adresse ?!
Variables.PNG
C'est alors bien plus simple, et je peux faire mon script sans problème, simplifié du tuto :

Code : Tout sélectionner

int hh = Heure.getIntValue();
int mn = Minute.getIntValue();
int ss = Seconde.getIntValue();

Sys.setTime(hh,mn,ss);
Au passage j'ai trouvé une solution "plus simple" (enfin bon, ça reste SoMachine) que la technique des MOD et des divisions sur l'horodateur que je montrais dans mon premier message. En effet en ajoutant une bibliothèque liée à la gestion du temps, j'ai pu ajouter ce bloc, qui me permet d'avoir plein d'infos sur l'heure et la date et qui gère changements d'heure, années bissextiles etc.
Bloc de gestion du temps.PNG
Si intéressé la variable Date_et_heure est de type SYSTIMEDATE, ajouté par la bibliothèque, et les infos en sortie sont des INT.
Le tutoriel complet de l'ajout de la bibliothèque et autres infos sur la gestion du temps ici. J'ai donc pu compléter mon script pour mettre à jour la date aussi :

Code : Tout sélectionner

int aaa = Annee.getIntValue();
int mm = Mois.getIntValue();
int jj = Jour.getIntValue();

Sys.setDate(aaa,mm,jj);
Ce script était conditionné un événement au démarrage, mais il ne me renvoyait que des 0, donc je me suis arrangé autrement mais ça revient au même, et ça marche très bien...
HolyBobby a écrit : 21 août 2019, 11:50 Bonne chance (parfois il en faut sur Soma)
Parfois ??? :lol: Je sais pas comment tu fais pour garder autant d'espoir !

Je ne sais pas si d'autres auront besoin de ce type de programme, mais on sait jamais; normalement le lien + les images suffisent mais si il y a des questions ou si quelqu'un veut le projet, n'hésitez pas !
HolyBobby
Apprend le binaire
Apprend le binaire
Messages : 4
Enregistré le : 01 avr. 2019, 17:16

Re: [RESOLU] Mise à l'heure IHM via SoMachine

Message par HolyBobby »

Merci pour l'info, ça peut être utile ;)
Arrrf Soma à ses avantages par rapport à Unity (gestion de fichiers, CSV, log, etc ) mais il est vrai que j'allume un cierge tout les matins :p
Répondre