affichage d'un rapport sous CodeSys

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

affichage d'un rapport sous CodeSys

Message par blackjack67 » 13 juin 2017, 11:12

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
Fichiers joints
Capture forum3.PNG
Capture forum3.PNG (2.82 Kio) Vu 582 fois
capture forum2.PNG
capture forum2.PNG (2.43 Kio) Vu 582 fois
Capture forum1.PNG

filou59
Première mise en service
Première mise en service
Messages : 75
Enregistré le : 20 oct. 2015, 23:26

Re: affichage d'un rapport sous CodeSys

Message par filou59 » 13 juin 2017, 13:12

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
Enregistré le : 31 mai 2017, 11:01
Localisation : Lyon

Re: affichage d'un rapport sous CodeSys

Message par blackjack67 » 13 juin 2017, 16:29

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

filou59
Première mise en service
Première mise en service
Messages : 75
Enregistré le : 20 oct. 2015, 23:26

Re: affichage d'un rapport sous CodeSys

Message par filou59 » 14 juin 2017, 15:27

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

BOOT_TO_INT
BYTE_TO_WORD
etc...

Répondre