Heure ,jour semaine et mois d'un M3

bonjour, qu’elle est l’astuce pour afficher sur widget du dasboard l’heure ,jour semaine et mois d’un M3.
J’ai essayé de faire dans « Parametre"un masque avec »&0000000011111111" mais ça ne marche pas.
Changer de type E/S…
Dans votre documentation ce serait bien que les copies d’écran soit téléchargeables pour pouvoir plus facilement zoomer sur les instructions.
Sinon BRAVO pour ce plugin.
Bonne continuation

Si @ Bebel27 ( ou un autre) lit ce message : en installant la version bêta c’est jouable ( afficher les mots 33 et 34 sur le plugin du dashboard) ?
Il faut supprimer la version stable avant ?
Merci d’avance. Bon week-end

Bonjour @DomJack,

je ne connais pas les spécifications d’un automate M3, si vous me faites parvenir la table d’adresses Modbus, je saurai vous répondre.
Le fait de passer le plugin en bêta ne nécessite pas une suppression, la bêta nettoie les fichiers (que j’ai vus et su identifier) dont elle n’a pas besoin lors de l’installation.

A+
Michel

bjr, merci pour votre réponse .
je vous joins la doc du xn05 pas facile à trouver sur internet.
j’ai pris celle du logiciel M3.
xn05.pdf (494,2 Ko)

bonne journée

Bonjour,
d’après ce que je vois :
image

On Il faut mettre dans valeur de ce qui est écrit en adresse 33 :

#une commande qui contient l'heure# * 256 + #une commande qui contient les minutes#

Pour autant que l’ordre des octets est bien configuré. Même principe pour les adresses 34 et 35.

Pour l’adresse 32, comme le jour de la semaine est calculé, il suffit sans doute de l’ignorer et d’écrire :

#une commande qui contient les secondes# * 256

edit: Il est aussi possible de mettre ces valeurs en dur et de lancer la commande action tous les jours à une certaine heure…


PS : La multiplication par 256 permet, en binaire, de décaler de 8 bits

bjr, j’ai fait des essais :
-dans un virtuel j’ai créé 3 infos qui représente en binaire heure-minutes, heure et minutes (H-M, H, M) voir photo mod1. Ma variable c’est le mot 33 voir photo: plugin-modbus. Sur la dasboard le virtuel c’est la photo :
virtuel-modbus. Je vois que H-M = H suivi de M mais en convertissant ce n’est pas l’heure ni minutes. Minutes est bien actualisée régulièrement. J’ai forcé la mise à l’heure est ça fonctionne (= 0H30). Peut être le code nous renseignerait sur le comment faire…
Je pense que la mise à l’heure du M3 par le plugin perturbe mon programme qui justement à cette heure là fait des RàZ de valeurs. Pour cela je viens de le désactiver donc pas assez de recul.
Sinon je vais envoyer par une sortie mot du M3 les valeurs heure, minutes, date en les faisant défiler pour ne utiliser toutes mes sorties (il y en a 8).
Encore merci.


instruct-modbus.txt (234 Octets)
virtuel-modbus

Bonjour,

Je vois que vous utilisez quand même le plugin en version stable… On va pas s’en sortir.

Votre commande H-M est fausse, il ne s’agit pas seulement de concaténer H et M en binaire, il faut mettre H suivi de M compléter par des 0 (devant) pour que M soit sur 8 digits.

H: 110011 = 51 (pas possible)
M: 110010 = 50 // soit 00110010 sur 8 bit
→ H-M vaut donc 1101100110010

Mais vu les valeurs de H et M, il doit y avoir une erreur quelque part…
Heures-Minutes vaut combien en décimal ?

Quelles sont les formules que vous utilisez pour H et M ?

Un exemple de 3 valeurs consécutives serait le bienvenu.

Quelles sont les formules que vous utilisez pour H et M ?
H-M decbin(hexdec(#[alarmes et défauts][MonM3][Heures-Minutes]#)!)
H substr(decbin(hexdec(#[alarmes et défauts][MonM3][Heures-Minutes]#)!),0,-8)
M substr(decbin(hexdec(#[alarmes et défauts][MonM3][Heures-Minutes]#)!),-8,8)
Un exemple de 3 valeurs consécutives serait le bienvenu.
mon M3 est à l’heure du PC.

13h37
13h36
13h35

Et trois valeurs de Heures-Minutes consécutives SVP (en décimal) ?

Bjr, excusez moi…je me suis précipité pour répondre…
je refais. H-M=heure-minute, H heure, M minute
10h47
H-M 10011000000111
H 00100110
M 00000111


10h48
H-M 10011000001000
H 00100110
M 00001000


10h49
H-M 10011000001001
H 00100110
M 00001001

j’ai rajouté des zéros au début des variables pour avoir 8 bits.
Dans minute M j’ai bien l’unité mais pas la dizaine.
ex 10h49 M 00001001 et égale à 9. 49 c’est 0011 0001.
c’est mon découpage du mot d’origine 10011000001001 mais non !
j’ai changé le type E/S dans l’équipement (holding register, coil,…) mais pas mieux.
je joins photos.
10h49
10h48
10h47
bonne journée

En fait ce qui m’intéresserait ce serait Heures-Minutes en décimal sur 3 minutes consécutives pour savoir si vos formules sont bonnes.

Je me suis trompé dés le début. la lecture du mot est converti par jeedom en décimal et pas en hexa. Donc voici les formules en mode pas à pas.
lecture du mot 33 heures-minutes en décimal
#[alarmes et défauts][MonM3][Heures-Minutes]#
puis convertion en binaire pour séparer heures et minutes
heure-binaire
substr(decbin(#[alarmes et défauts][MonM3][Heures-Minutes]#!),0,-8)
minutes-binaire
substr(decbin(#[alarmes et défauts][MonM3][Heures-Minutes]#!),-8,8)
puis convertion de heure-binaire en heures-décimale
bindec(substr(decbin(#[alarmes et défauts][MonM3][Heures-Minutes]#!),0,-8))
puis convertion de heure-binaire en heures-décimale
bindec(substr(decbin(#[alarmes et défauts][MonM3][Heures-Minutes]#!),-8,8))
Grand merci à vous.
16h01

si ça peut rendre service…

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.