Page 1 sur 1
[M340] Format REAL sur Unity Pro XL
Posté : 09 nov. 2022, 09:22
par Demasked
Bonjour à tous,
Je rencontre un petit souci sur Unity Pro XL (V11.0) au niveau du format REAL. (Sur automate M340)
Dans une variable de type REAL, j’ai besoin d’enregistrer une valeur numérique de 10 chiffres « non arrondi »….
J’entre, dans un champ sur Vijéo Designer (V6.2), un nombre compris entre 4 et 10 chiffres, et je souhaiterais le retrouver à l’identique coté Unity.
Je peux choisir n’importe quel type de variable et faire ce que je veux coté IHM et automate mais à la sortie j’ai besoin d’un REAL avec une valeur strictement identique à celle rentrée sur l’IHM (En gros j’ai de l’enregistrement de données à faire sur un vieux système de supervision sur lequel je n’ai pas la main et ce dernier n’accepte que le format REAL…..alors que l’idéal dans mon cas serait d’utiliser du STRING)
Passé 7 chiffres, Unity m’arrondi automatiquement la valeur (pourtant j’arrive bien à récupérer une valeur à 10 chiffres maxi coté supervision sauf que celle-ci est arrondi)
Quelqu’un connais une astuce/fonction ou dans tous les cas c’est impossible à faire ?
Grand merci à celui qui pourra me répondre
Re: [M340] Format REAL sur Unity Pro XL
Posté : 09 nov. 2022, 10:19
par itasoft
Slts,
Dans le M340 il faut créer une variable de type REAL à l’adresse absolue %MW100
Dans Vijeo-designer il faut créer une variable de type REAL à l’adresse du périphérique %MF100
Dans Vijeo-designer créer un champs de saisie avec cette variable REAL
Re: [M340] Format REAL sur Unity Pro XL
Posté : 09 nov. 2022, 10:41
par Demasked
Bien le bonjour
Je viens d'essayer comme ça mais j'ai toujours le même problème....
Par exemple si je rentre 123456789 coté IHM (REAL adresse %MF100) -> Je retrouve coté automate (en table d'animation) 1.234568E+008 (dans le REAL %MW100)
Et si je renvois cette variable automate (%MW100) vers un champs d'affichage coté vijéo (en REAL adresse %MF900), cela m'affiche 12345784...... (La valeur qui va donc être enregistré coté supervision)
Après je travaille avec le simulateur (unity et vijeo). Peut être que c'est ça le souci

Re: [M340] Format REAL sur Unity Pro XL
Posté : 09 nov. 2022, 11:00
par itasoft
Après je travaille avec le simulateur (unity et vijeo). Peut être que c'est ça le souci
surement
Re: [M340] Format REAL sur Unity Pro XL
Posté : 09 nov. 2022, 11:57
par philou77
Salut !
ton problème vient de vijeo..
le format real n'est GARANTI que jusqu'à 7 décimales.. ensuite le calcul est approximatif.
pour la précision des données, utiliser des entiers !
dixit l'aide de vijeo chapitre 6.2 configuration des variables
Re: [M340] Format REAL sur Unity Pro XL
Posté : 09 nov. 2022, 12:15
par Bruce33
Bonjour.
Le problème ne vient pas ni de Vijeo ni des simulateurs, mais du type REAL.
Un mot flottant de 32 bits est composé de : 1 bit de signe + 8 bits pour l'exposant + 23 bits pour la mantisse.
C'est la mantisse qui fait la précision. Cela donne 7 chiffres significatifs environ (au maximum 8).
S'il faut une précision à l'unité près, alors le type DINT (valeur entière sur 32 bits) est le meilleur.
Re: [M340] Format REAL sur Unity Pro XL
Posté : 09 nov. 2022, 12:46
par itasoft
lui demander pour quelle raison il entre cette valeur (Par exemple si je rentre 123456789)
Re: [M340] Format REAL sur Unity Pro XL
Posté : 09 nov. 2022, 13:39
par Demasked
Merci pour vos réponses !!
itasoft :
Cette valeur, 123456789 dans mon exemple (mais ca peut être n'importe quelle chiffre entre 7 et 10 chiffres) correspond à ce que je veux enregistrer dans la supervision. Dans mon cas il s'agit d'un numéro de lot à rentrer manuellement par un opérateur à chaque OF pour gérer un suivi.
En effet un DINT ou un STRING serait l'idéal mais mon type de sortie vers la supervision est un REAL.... Et la modification coté supervision implique un autre service avec lequel je n'avais aucune envie de travailler
Mais à priori je crois que je ne vais pas avoir le choix
Re: [M340] Format REAL sur Unity Pro XL
Posté : 09 nov. 2022, 13:47
par itasoft
dans ton cas il faut un STRING
Re: [M340] Format REAL sur Unity Pro XL
Posté : 09 nov. 2022, 15:56
par philou77
Bruce33 a écrit : ↑09 nov. 2022, 12:15
Bonjour.
Le problème ne vient pas ni de Vijeo ni des simulateurs, mais du type REAL.
Un mot flottant de 32 bits est composé de : 1 bit de signe + 8 bits pour l'exposant + 23 bits pour la mantisse.
C'est la mantisse qui fait la précision. Cela donne 7 chiffres significatifs environ (au maximum 8).
S'il faut une précision à l'unité près, alors le type DINT (valeur entière sur 32 bits) est le meilleur.
Oui bruce, tu as raison..
quelque vidéos bien explicatives sur le net à propos des real...