Page 4 sur 5

Re: Programmation Mesure de Puissance dans M340

Posté : 27 mars 2018, 20:12
par Waoux
Salut Philou77,

Désolé, mais j'ai vraiment du mal avec ces conversions.

Donc si j'ai bien compris :

- Ma valeur reçu en INT je la convertie en DINT
- puis ma valeur DINT en UDINT

J'ai bien une FFB pour la première conversion, par contre je n'ai pas trouvé de FFB pour la seconde.

Sinon, si tu pas un script qui fait la conversion, je serai preneur aussi.

Merci pour tes réponses

Re: Programmation Mesure de Puissance dans M340

Posté : 28 mars 2018, 23:16
par philou77
Salut,

Ta valeur est en DINT dans l'automate.. ok

Déclare ta valeur dans l'ihm en UDINT... et elle sera non signée pour l'ihm...

Mais tu ne pourra pas dépasser 65535 car tu pars d'une valeur en 16 bits (int) qui elle ne peut pas dépasser cette limite !

Re: Programmation Mesure de Puissance dans M340

Posté : 31 mars 2018, 14:36
par Waoux
Salut Philou77

Avant de lire ton message, j'ai fait ce qui suit :

Dans l'automate j'ai converti ma mesure "Table Recept(1)" avec une FFB INT_TO_UINT puis renvoyé en sortie dans un %MW500.

Après une mise à jour des variables dans l'IHM, ce dernier affiche bien la bonne valeur de puissance.
La machine ne dépassant pas 655 cela est bon.

Par contre maintenant, si ma puissance passe en négatif sur la machine mon affichage bascule à 655.
Cela était prévisible puisque la valeur est maintenant non signé.

Y a-t-il une possibilité de pouvoir afficher la même valeur que celle de affiché sur la centrale de mesure (en positif et négatif) ou est-on obligé de faire un compromis ?

A savoir que mon automate va lire la valeur en décimal dans la centrale de mesure, il y a possibilité de lui faire lire en Hexa.
Je ne sais pas si cela peut résoudre ce point.

Re: Programmation Mesure de Puissance dans M340

Posté : 31 mars 2018, 17:00
par Waoux
Par contre, j'ai ma courbe qui ne marche pas

Re: Programmation Mesure de Puissance dans M340

Posté : 31 mars 2018, 19:20
par Waoux
Salut Philou77,

Merci pour ton aide.

Ma courbe fonctionne.

Il ne reste plus que cette histoire lorsque la machine passe en négatif

Re: Programmation Mesure de Puissance dans M340

Posté : 31 mars 2018, 23:33
par philou77
si tu veux une valeur sans signe, prend la valeur absolue...il y a une instruction pour ça.

Re: Programmation Mesure de Puissance dans M340

Posté : 20 août 2018, 13:59
par bastof
Bonjour,

Désolé de m'incrust sur le poste, mais je dois aussi faire communiquer un M340 avec une centrale Diris... et j'ai malheureusement quelques problèmes

J'ai suivi le tuto de la page Schneider et j'ai une erreur entre le bloc ADDM et le read_var
pour commencer, d'un coté la sortie est en type ADDM et l'entrée ADR du read var attend un bool
Et a la génération j'ai ces messages
E1092 les types de données ne correspondent pas ('$LINK24088:ADDM_TYPE'<->'$LINK24088:ADDM_TYPE')
E1092 les types de données ne correspondent pas ('READ_VAR.ADR:ANY_ARRAY_INT'<->'$LINK24089:BOOL')




Il y a quelque chose que je ne comprend pas, quelqu'un pourrait il m'aiguiller

Merci

Re: Programmation Mesure de Puissance dans M340

Posté : 20 août 2018, 14:50
par itasoft
@bast
EXEMPLE:
(* sur le port série ModBus integré voie 0 *)

(* sur le port série ModBus integré voie 0
Lecture du compteur horaire l'adresse 768
et rangement de la valeur lue dans le variable COMPTEUR Type DINT
*)

%M6:=%S6;
if RE(%M6) AND NOT Management[0].0 then
Management[0]:=0;
Management[1]:=0;
Management[2]:=20; (*TimeOut*)
READ_VAR(ADDM('0.0.0.0'), '%MW', 50768, 2, Management, Receiving_Array);
end_if;
(* Conversion *)
COMPTEUR:= INT_AS_DINT(Receiving_Array[0], Receiving_Array[1]);


(* Ecriture primaire du TP = 420V à l'adresse 57352 *)
PRIMAIRE_TP:=420;
(* Ranger la valeur dans 2 mots INT du tableau *)
Transmit_Array[0]:=LOW_INT(PRIMAIRE_TP);
Transmit_Array[1]:=HIGH_INT(PRIMAIRE_TP);

if FE(%M6) AND NOT Management[0].0 then
Management[0]:=0;
Management[1]:=0;
Management[2]:=20; (*TimeOut*)
WRITE_VAR(ADDM('0.0.0.0'),'%MW', 57352, 2, Transmit_Array, Management);
end_if;

Re: Programmation Mesure de Puissance dans M340

Posté : 20 août 2018, 16:56
par bastof
Un grand merci itasoft ;)
Je l'avais fait en ladder mais je regarderai ça demain

Re: Programmation Mesure de Puissance dans M340

Posté : 11 juil. 2024, 10:00
par Noodle
Aujourd'hui je sors ma pelle et je creuse pour déterrer un sujet de l'âge de pierre :lol:

Ma question :
J'ai 7 DIRIS dans lequel je vais venir chercher une valeur de puissance (c'est bateau), je me dit que pour pas me faire **** je vais faire un tableau dans lequel je vais ranger mes TableGest, TableRecept et autre INT de compteur de requête, mais voilà, si c'était aussi facile, les tableaux dynamique sont interdits sur le READ_VAR... :roll:
Est ce que vous avez une astuce pour m'éviter de créer 7 fois les variables TableGest1, TableGest2 / TableRecept1, TableRecept2 etc...?

Merci ;)

EDIT : Bon bah j'ai trouvé ! Comme un boulet j'avait pas coché la case "Autoriser les tableaux dynamiques" (ANY_ARRAY_XXX) dans Option du projet -> Variables