COM MOBUS SOFREL vers ATV 312

Partie du forum pour tout ce qui concerne les variateurs de vitesse dans l'industrie. Forum, conseil, astuce et entraide sur les variateurs de fréquence .
Avatar de l’utilisateur
getzed
Apprend le binaire
Apprend le binaire
Messages : 6
Inscription : 19 févr. 2020, 11:42
Localisation : Lyon

COM MOBUS SOFREL vers ATV 312

Message par getzed »

Bonjour/Bonsoir à tous,
Actuellement alternant en BTS électrotechnique,
j'ai pour projet de faire communiquer un SOFREL S550 avec un SCHNEIDER ATV 312
par l'intermédiaire d'une carte SOFREL RS485A et le port MODBUS de l'ATV 312 afin de piloter des pompes (moteurs) essentiellement en marche avant avec une surveillance du couple (si seui haut couple atteint = faire tourner les pompes en marche arriere pendant 2 min )


voici un petit synoptique :

Image



J'ai traduis la documentation des variables modbus de l'ATV 312 Schreier en français.
On m'a dit que dans mon programme, dans un premier temps, je dois intégrer sa :


Image
Avatar de l’utilisateur
Bernardo59
Dieu du process
Dieu du process
Messages : 957
Inscription : 20 oct. 2015, 05:48
Localisation : Nimes

Re: COM MOBUS SOFREL vers ATV 312

Message par Bernardo59 »

Bonjour,

Avec les images, c'est mieux...
Avatar de l’utilisateur
getzed
Apprend le binaire
Apprend le binaire
Messages : 6
Inscription : 19 févr. 2020, 11:42
Localisation : Lyon

Re: COM MOBUS SOFREL vers ATV 312

Message par getzed »

les images ne s'affichent pas?

lien direct de l'image 1 : https://zupimages.net/up/20/09/h4lr.png


image 2 : https://zupimages.net/up/20/09/ccxb.png
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: COM MOBUS SOFREL vers ATV 312

Message par itasoft »

slts,
Les commandes se font par écriture de valeur dans le mot de commande du variateur CMD registre ModBus @8501
valeur H,000F pour marche H,0007 pour arrêt
Automaticien privé (de tout)
itasoft@free.fr
Avatar de l’utilisateur
getzed
Apprend le binaire
Apprend le binaire
Messages : 6
Inscription : 19 févr. 2020, 11:42
Localisation : Lyon

Re: COM MOBUS SOFREL vers ATV 312

Message par getzed »

On ma dit de convertir le Hexadecimal en decimal dans mon programme sofrel,
// Commande démarrage du variateur de la pompe 1

IF Var_1_Pret and Cmd_Ppe_1 then
MOT_VAR_1 := REAL(Cmd_Marche_Var_1)*15.0;
END_IF;


// Commande arret du variateur de la pompe 1

IF Var_1_Active and (Def_Couple_Var_1 or not Cmd_Ppe_1) then
MOT_VAR_1 := REAL(Cmd_Arret_Var_1)*7.0;
END_IF;

// Commande arriere du variateur de la pompe 1

IF Var_1_Pret and Def_Couple_Var_1 and Cmd_Ppe_1 and not Var_1_Active
(* et consigne temporisation arriere *) then
MOT_VAR_1 := REAL(Cmd_Arriere_Var_1)*2063.0;
END_IF;
je ne comprend pas pourquoi je dois y convertir en décimal...
lamjer65
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 113
Inscription : 09 avr. 2016, 14:30

Re: COM MOBUS SOFREL vers ATV 312

Message par lamjer65 »

Bonsoir getzed,
Tu dois absolument déclarer une variable d’automatisme adressé dans ton Sofrel. Deux formats existent seulement TS (tout ou rien) ou TM (real).
Les autres formats existent dans l’atelier d’automatisme mais malheureusement il faudra les convertir pour les adresser donc en real.
De ce fait ta variable est et restera en décimal. Le choix 8, 16, 32, 64 bits s’effectue dans les blocs de lecture ou d’écriture vers ton variateur.

Bon courage
Gillou53
Code sa première boucle
Code sa première boucle
Messages : 12
Inscription : 19 août 2020, 13:11

Re: COM MOBUS SOFREL vers ATV 312

Message par Gillou53 »

Bonjour,

Je me doute que mon commentaire arrive un peu tard, mais espère qu'il éclaircira les choses pour les autres, sachant qu'il est difficile de trouver de l'aide sur la programmation Sofrel sur internet.


le problème n'est pas temps l'hexadécimale, que le fait que le type entier (un nombre en hexadécimal est de type entier, ou registre) n'existe pas pour les variable indexées (celles créées en dehors de l'atelier d'automatisme). Donc tu pourrais utiliser l'hexadécimal, mais en l'associant à une conversion vers réel pour l'écrire dans un dataxxx qui sera envoyé via ta carte de COM RS485.

Rien ne t’empêche d'écrire :

Code : Tout sélectionner

IF Var_1_Pret and Cmd_Ppe_1 then
MOT_VAR_1 := REAL(Cmd_Marche_Var_1)*REAL(16#0F);
END_IF;
pour rappel, il est possible d'extraire des bits de mots sans utiliser de formules ou l'atelier d'automatisme, en créant une information interne de type "recopie logique"; on indiquera alors le numéro de l'information contenant le bit à extraire et le numéro de ce bit (entre 0 et 31); On prendras bien sur garde à mettre les tempo d'apparition et de disparition à 0 au risque d'avoir de mauvaises surprises avec l'automatisme; à moins que vous en ayez réellement besoin (par défaut toujours à 5 secondes !); il reste toujours possible de créer une autre copie de cette même information en la temporisant (le nombre de copie d'une information n'est pas limité); la recopie logique permet : l'inversion logique, la temporisation et l'extraction de bits; alors que la recopie numérique permet d'appliquer une loi de conversion Affine; pour toute autre loi de conversion, il vous faudra passer par une table de conversion.

d'autre part, vous pouvez créer votre programme afin de reconstituer l'état du variateur selon le diagramme d'état que tu a indiqué en convertissant le mot d'état que tu récupère depuis le variateur en entier à l'aide de la fonction :
Dint := ANA(Real); //conversion analogique/Numérique = Réel/Entier)
Une fois le mot de commande créé ; la commande REAL, que tu connais, fera le travail inverse.
:ugeek: Automaticien dans le domaine de l'eau depuis plus de 10 ans.
Je travail sur les gammes TSX et M340, ainsi qu'avec les IHM Schneider.
Je travail également avec des systèmes de télégestion.
Répondre