Problème Langage ST

Forum traitant des automates industriels de marque Schneider - Telemecanique
Répondre
dellkarim
Code sa première boucle
Code sa première boucle
Messages : 16
Enregistré le : 26 mai 2016, 09:05

Problème Langage ST

Message par dellkarim »

Bonjour tout le monde,

Dans le cadre de mon travail, j’étais amené a faire une analyse d'un programme sous PL7 Pro pour résoudre un petit problème de communication en Modbus entre l'automate et un boitier de mesure de température, le bloc qui récupère les données de ce boitier est écrit en ST ,présenté comme suivant

Les variables suivantes : station, Module, Esclave et Timeout sont déclarées comme entrées (WORD).
Si je me trompe pas la variable "Adresse" est un tableau c'est ça ? mais ce que je comprend pas c'est que à la fin dans la fonction READ_VAR elle va prendre quelle valeur ?

Donc si juste vous pouvez me clarifier cela , je serai très reconnaissant.

Merci pour votre aide.

IF Exec AND NOT Eant_exe THEN
(* préparation de la table adresse *)
Adresse[0]:=16#0600;

Motrav:=SHL(Station,8);
Adresse[1]:=Reseau OR Motrav;

Motrav:=SHL(Module,8);
Adresse[2]:=Rack OR Motrav;

Motrav:=SHL(Esclave,8);
Adresse[3]:=Voie OR Motrav;

Adresse[4]:=16#0000;
Adresse[5]:=16#0000;

(* paramétrage time-out en 1/10s *)
Gestion[2]:=Timeout;

(* lancer fonction de lecture *)
READ_VAR (Adresse,Objet,Adress,Nombre,Recep,Gestion);

END_IF;
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7175
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Problème Langage ST

Message par itasoft »

Slts,
C’est un adressage en dynamique ,
c’est pour que avec la même instruction READ_VAR il peut s’adresser à plusieurs esclaves différents sur plusieurs réseaux,
encore un tordu, de plus c’est pas bon car avant de lancer une requête il faut tester la non présence du bit d’activité (Gestion :X0) sinon ça peut les empiles jusqu’au blocage.


(* lancer fonction de lecture *)
IF NOT Gestion[0]:X0 THEN
Gestion:4=0;
Gestion[2]:=Timeout;
READ_VAR (Adresse,Objet,Adress,Nombre,Recep,Gestion);
END_IF;
Automaticien privé (de tout)
itasoft@free.fr
Avatar du membre
maxpeigne
Créateur de langage
Créateur de langage
Messages : 733
Enregistré le : 11 oct. 2015, 17:31
Localisation : Nord pas de calais

Re: Problème Langage ST

Message par maxpeigne »

Gestion est une longueur de 4 mots, Eant_exe est certainement le X0 du 1er mot.
http://automacile.fr - Site et tutoriels sur l'arduino.
Répondre