Programmation Mesure de Puissance dans M340

Forum traitant des automates industriels de marque Schneider - Telemecanique
Waoux
Asservi son premier moteur
Asservi son premier moteur
Messages : 23
Inscription : 21 janv. 2018, 19:15

Re: Programmation Mesure de Puissance dans M340

Message 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
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2076
Inscription : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: Programmation Mesure de Puissance dans M340

Message 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 !
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Waoux
Asservi son premier moteur
Asservi son premier moteur
Messages : 23
Inscription : 21 janv. 2018, 19:15

Re: Programmation Mesure de Puissance dans M340

Message 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.
Waoux
Asservi son premier moteur
Asservi son premier moteur
Messages : 23
Inscription : 21 janv. 2018, 19:15

Re: Programmation Mesure de Puissance dans M340

Message par Waoux »

Par contre, j'ai ma courbe qui ne marche pas
Waoux
Asservi son premier moteur
Asservi son premier moteur
Messages : 23
Inscription : 21 janv. 2018, 19:15

Re: Programmation Mesure de Puissance dans M340

Message 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
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2076
Inscription : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: Programmation Mesure de Puissance dans M340

Message par philou77 »

si tu veux une valeur sans signe, prend la valeur absolue...il y a une instruction pour ça.
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
bastof
Apprend le binaire
Apprend le binaire
Messages : 5
Inscription : 20 août 2018, 13:52

Re: Programmation Mesure de Puissance dans M340

Message 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
Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7035
Inscription : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Programmation Mesure de Puissance dans M340

Message 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;
Automaticien privé (de tout)
itasoft@free.fr
bastof
Apprend le binaire
Apprend le binaire
Messages : 5
Inscription : 20 août 2018, 13:52

Re: Programmation Mesure de Puissance dans M340

Message par bastof »

Un grand merci itasoft ;)
Je l'avais fait en ladder mais je regarderai ça demain
Répondre