Travail de doubles mots sur Proface
Travail de doubles mots sur Proface
Bonjour à tous,
Je travail en ce moment avec GPPro Ex en V04.09.600 et un ET6400-WA, et j'ai le besoin de travailler du double mot.
Je m'explique, je reçois un double mot en Modbus TCP avec une valeur de pression en Pa et je dois la traiter dans mon afficheur en la divisant par 100 pour travailler en HPa et faire une comparaison avec un autre mot. Aujourd'hui je n'arrive pas à travailler avec un double mot pour récupérer cette valeur dans mon programme Proface.
Des idées ou pistes ?
Je travail en ce moment avec GPPro Ex en V04.09.600 et un ET6400-WA, et j'ai le besoin de travailler du double mot.
Je m'explique, je reçois un double mot en Modbus TCP avec une valeur de pression en Pa et je dois la traiter dans mon afficheur en la divisant par 100 pour travailler en HPa et faire une comparaison avec un autre mot. Aujourd'hui je n'arrive pas à travailler avec un double mot pour récupérer cette valeur dans mon programme Proface.
Des idées ou pistes ?
Re: Travail de doubles mots sur Proface
C'est possible! Mettre en 32 bit dec
Re: Travail de doubles mots sur Proface
Ça c'est pour l'affichage de ce double mot mais ça ne me permet pas de travailler ce mot en script ou autre
Du moins si j'ai bien compris
Du moins si j'ai bien compris
- Béryl
- Mi homme - Mi automate

- Messages : 1953
- Enregistré le : 20 oct. 2015, 12:00
- Localisation : localhost
Re: Travail de doubles mots sur Proface
En fouillant dans mes programmes, j'ai trouvé ça :
Ça charge un compteur rapide dans une variable integer qui monte jusqu'à 380 000.
Affichage en 32 bits dec.
Affichage en 32 bits dec.
Re: Travail de doubles mots sur Proface
Merci, mais c'est le mot que je reçois qui est en 32bits, je travaille avec un logo qui lui ne gère pas non plus de double mots si j'ai bien compris et le proface me propose que des Adresses de mots et pas de doubles 
-
Guigui744
- Asservi son premier moteur

- Messages : 22
- Enregistré le : 08 avr. 2024, 17:03
- Localisation : Annecy
Re: Travail de doubles mots sur Proface
Avec des scripts, on peut definir que notre mot est double:
Exemple ici, je recupere mon double mot, et j'ajoute un offset en 32 bits.
//Initialisation
//USR0000: Double mot a traiter
//Ajout offset pour valeur final
//W32s signifie Word 32 bits signé
[w32s:Valeur_Analogique_Haut]=[w32s:[#INTERNAL]USR00000]+[w32s:Offset_Bouterolleuse_Haut]
[w32s:Valeur_Analogique_Bas]=[w32s:[#INTERNAL]USR00000]+[w32s:Offset_Bouterolleuse_Bas]
Exemple ici, je recupere mon double mot, et j'ajoute un offset en 32 bits.
//Initialisation
//USR0000: Double mot a traiter
//Ajout offset pour valeur final
//W32s signifie Word 32 bits signé
[w32s:Valeur_Analogique_Haut]=[w32s:[#INTERNAL]USR00000]+[w32s:Offset_Bouterolleuse_Haut]
[w32s:Valeur_Analogique_Bas]=[w32s:[#INTERNAL]USR00000]+[w32s:Offset_Bouterolleuse_Bas]
Re: Travail de doubles mots sur Proface
Merci pour l'aide, je progresse, j'arrive à afficher mon double mot comme je le souhaite, par contre en utilisant :
[w32s:[#INTERNAL]USR00018]=[w32s:[#INTERNAL]USR00016]/100
le résultat donne 0 dés lors que je divise par plus de 1
[w32s:[#INTERNAL]USR00016] est un flottant en 32 bits et j'aimerais travailler sa valeur mais diviser par 100
Je dois avoir un problème de syntaxe mais je n'arrive pas à trouver la bonne.
[w32s:[#INTERNAL]USR00018]=[w32s:[#INTERNAL]USR00016]/100
le résultat donne 0 dés lors que je divise par plus de 1
[w32s:[#INTERNAL]USR00016] est un flottant en 32 bits et j'aimerais travailler sa valeur mais diviser par 100
Je dois avoir un problème de syntaxe mais je n'arrive pas à trouver la bonne.
-
Guigui744
- Asservi son premier moteur

- Messages : 22
- Enregistré le : 08 avr. 2024, 17:03
- Localisation : Annecy
Re: Travail de doubles mots sur Proface
Il est impossible de faire des calcul de flottants dans des scripts:
-
Guigui744
- Asservi son premier moteur

- Messages : 22
- Enregistré le : 08 avr. 2024, 17:03
- Localisation : Annecy
Re: Travail de doubles mots sur Proface
Par contre, on peut definir deux variables en float:
Puis dans le scirpt, dir que valeur = USR:
!! Verifier que Bit Lenght = 32 bit et pas 16 bit Puis dans le probgramme ladder, vaire comme ca: La valeur "Final" aura donc la valeur de notre USR diviser par 100
!! Verifier que Bit Lenght = 32 bit et pas 16 bit Puis dans le probgramme ladder, vaire comme ca: La valeur "Final" aura donc la valeur de notre USR diviser par 100
Re: Travail de doubles mots sur Proface
Merci beaucoup Guigui744, avec ton aide je pense que j'ai résolu mes problèmes.

