Page 1 sur 2

Partage heure d'un équipement externe avec M340

Posté : 22 nov. 2017, 17:55
par Nicat
Bonjour,

Je souhaiterais partager la date/heure d'un équipement externe (doté d'un serveur NTP) afin de la partager avec un automate M340, dans le but de ne pas avoir à gérer les changements d'heure mais également les décalages de l'heure interne de l'automate

Commençons (Par le commencement) :
-J'ai 4 variables INT dans mon équipement externe au format SS00, HHMM, DDMM, YYYY (Ex : Pour 2017-05-11-10:46:16, mes 4 entiers seront 1600, 1046, 0511, 2017)
-J'écris ces 4 variables dans l'automate dans un tableau de 4 entiers (Adresses %MW5000-->%MW5003)
-Ensuite, la fonction ARINT_TO_DT (Qui permet de convertir des entier en format Datetime) nécessitant en entrée des entiers au format BCD, je suis obligé de passer par une fonction INT_TO_BCD pour convertir mes entiers.
-Lorsque j'utilise la fonction INT_TO_BCD, ma variable prend une tout autre valeur (Ex : 2017 devient 25600), et cela m'embête.


Ma question est : Comment faire pour que ma variable garde la même valeur, afin que je puisse utiliser la fonction ARINT_TO_DT avec les bons paramètres d'entrée ? (Si mes entiers gardent les mêmes valeurs, la fonction sera OK, j'ai les bons paramètres).
Ou si ce n'est pas possible, y'a t-il une solution similaire ?


Merci ! ;)

Re: Partage heure d'un équipement externe avec M340

Posté : 22 nov. 2017, 22:39
par itasoft
slts,
si ils sont au format SS00, HHMM, DDMM, YYY ça veut dire qu'ils sont dejà en BCD

Re: Partage heure d'un équipement externe avec M340

Posté : 22 nov. 2017, 23:03
par philou77
Salut.. des entiers et le bcd c'est pas pareil !
je comprend pas comment tu trouve 25600 (c'est en quel format d'affichage? hexa, bcd, décimal)

1600 en entier c'est
1 6 0 0 (décimal) écrit en binaire = 11001000000
0001 0110 0000 0000 (BCD)

donc, le type de ta variable de départ c'est INT, mais quel est l'affichage ?

Re: Partage heure d'un équipement externe avec M340

Posté : 23 nov. 2017, 17:12
par Nicat
Salut,

Voici le bloc INT_TO_BCD qui "coince" :
Image

Je me suis trompé, pour "2017" je ne trouvais pas 26500 mais plutôt 8215 (cf capture ci-jointe). Ça serait plus logique d'obtenir 0010 0000 0001 0111 non ?

Je crois que je n'utilise pas la manière la plus simple...


- Pour résumer, depuis mon équipement je ne peux envoyer que des entiers (Que j'ai "concaténé" au format SS00, HHMM, DDMM, YYYY, puisqu'à la base je récupère 6 entiers au format SS, MM, HH, DD, MM, YYYY)
- Dans mon automate, j'ai besoin d'avoir des formats BCD pour affecter l'heure. Le problème est donc la conversion de ENTIER à BCD qui est foireuse.

N'y a t-il pas un moyen plus simple de faire cette conversion ? (Du genre récupérer mes 6 entiers et faire la concaténation puis la conversion en BCD dans l'automate)


Merci

Re: Partage heure d'un équipement externe avec M340

Posté : 23 nov. 2017, 20:24
par philou77
si tu as concaténé tes entiers, tu obtiens déjà ton BCD.. comme te l'as dit ITASOFT.
Pas de conversion à faire !
juste l'utiliser tes variables pour la mise à l'heure.

Re: Partage heure d'un équipement externe avec M340

Posté : 27 nov. 2017, 14:40
par Nicat
Bonjour,

Si j'ai bien compris, je dois simplement affecter mes mots internes %SW50 à %SW53 avec les 4 BCD que j'ai obtenu ?

Re: Partage heure d'un équipement externe avec M340

Posté : 27 nov. 2017, 20:26
par philou77
Salut!

non, faut passer par la fonction mise à l'heure...avec tes données en paramètre

Re: Partage heure d'un équipement externe avec M340

Posté : 29 nov. 2017, 13:55
par sinced
Le M340 ne supporte pas le NTP ?

Re: Partage heure d'un équipement externe avec M340

Posté : 29 nov. 2017, 20:50
par fish
sinced a écrit : 29 nov. 2017, 13:55 Le M340 ne supporte pas le NTP ?
Salut,
Y a qu'à demander : https://www.schneider-electric.fr/fr/faqs/FA22585/
;)

Re: Partage heure d'un équipement externe avec M340

Posté : 29 nov. 2017, 22:40
par sinced
Si le service est disponible pourquoi se farcir les tas de requêtes ?
S'il n y a pas un problème de budget mieux vaut installer un BMXNOE0100 et configurer le service NTP.