affichage d'un rapport sous CodeSys

Forum traitant des automates industriels de marque Wago et du logiciel codesys
blackjack67
Apprend le binaire
Apprend le binaire
Messages : 5
Inscription : 31 mai 2017, 11:01
Localisation : Lyon

affichage d'un rapport sous CodeSys

Message par blackjack67 »

Bonjour,
Je travaille sous CodeSys 2.3 avec un automate WAGO 762 3401.
Mon but est d'afficher le rapport entre deux consignes sur une visualisation, cependant celui ci ne fonctionne pas.
J'utilise le langage ST et j'ai testé différents types d'affichage (%s %f etc) mais le rapport affiche 1 quand les valeurs sont proches ou égales, sinon 0.
Les valeurs consignes sont de type INT et ma variable de rapport est de type REAL.
Auriez vous une solution pour que le rapport exact s'affiche?

voici les variables : Consigne_1_PV : INT;
Consigne_1_GV : INT;
Consigne_2_PV : INT;
Consigne_2_GV : INT;
Rapport : REAL;

le code : IF PV THEN
Rapport := (Consigne_1_PV/Consigne_2_PV);
ELSIF GV THEN
Rapport := (Consigne_1_GV/Consigne_2_GV);
END_IF;

(PV et GV sont 2 modes de fonctionnement différents, le rapport change en fonction)

Cordialement,

Blackjack67
Pièces jointes
Capture forum3.PNG
Capture forum3.PNG (2.82 Kio) Consulté 2769 fois
capture forum2.PNG
capture forum2.PNG (2.43 Kio) Consulté 2769 fois
Capture forum1.PNG
Avatar de l’utilisateur
filou59
Forcené des structures
Forcené des structures
Messages : 184
Inscription : 20 oct. 2015, 23:26
Localisation : Nord

Re: affichage d'un rapport sous CodeSys

Message par filou59 »

Déja dans un 1er temps ne te soucie pas de la visu.

quand tu es en ligne tu as vérifier ce que tu as dans ta variable ?

Tu fais une opération avec des INTEGER dans une variable REAL, ca ne peut pas fonctionner. enfin le resultat ne peut pas être correct.

Il faut convertir tes variables en real avant.

Code : Tout sélectionner

Rapport := (INT_TO_REAL(Consigne_1_PV)/INT_TO_REAL(Consigne_2_PV));

PS : Tu es sur de ta reférence ? C'est pas plutot 762-3104 ? C'est un Afficheur avec PLC intégré ?
blackjack67
Apprend le binaire
Apprend le binaire
Messages : 5
Inscription : 31 mai 2017, 11:01
Localisation : Lyon

Re: affichage d'un rapport sous CodeSys

Message par blackjack67 »

Je me disais qu'il pouvait s'agir d'un problème de variables mais j'avais besoin du INT pour pouvoir entrer la valeur directement depuis la visu via un pad numérique. Pour la référence tu as raison c'est un 3104 mes doigts on déparés :roll:
Du coup avec INT_TO_REAL (que je ne connaissais pas) ça fonctionne parfaitement merci pour ton aide !
Au passage est ce que ça fonctionne pour tout type de variable du coup? pcq c'est bien pratique
cordialement,

blackjack67
Avatar de l’utilisateur
filou59
Forcené des structures
Forcené des structures
Messages : 184
Inscription : 20 oct. 2015, 23:26
Localisation : Nord

Re: affichage d'un rapport sous CodeSys

Message par filou59 »

Tu as plein de commande pour convertir presque tout dans presque tout.

BOOT_TO_INT
BYTE_TO_WORD
etc...
Répondre