Ecrire toutes les entrées physiques dans un mot

Forum traitant des automates industriels de marque Schneider - Telemecanique
corolian
Code sa première boucle
Code sa première boucle
Messages : 14
Enregistré le : 08 sept. 2021, 20:09

Ecrire toutes les entrées physiques dans un mot

Message par corolian »

Bonjour,

J'ai un automate Schneider M340. Il est composé de modules de 64 entrées TOR et 64 sorties TOR, un module de 4 entrées thermocouples, et un module de 8 entrées analogiques.
Côté IHM, j'ai un panel PC de chez Siemens.

Je souhaite réaliser une page sur mon IHM de l'état des entrées/sorties. Pour ce faire, j'aimerais enregistrer mes variables sur tia. J'ai tenté de les enregistrer avec l'adresse physique des entrées mais ça n'a pas marché (j'ai une connexion modbus TCP/IP entre mon automate et mon IHM ce qui limite les types de données), du coup je cherche une solution sur écostruxure pour écrire toutes les entrées physiques dans un mot.

Existe il une solution ? autre bien sûr que celle de passer bit par bit chaque entrée physique.

Cordialement,
Corolian
corolian
Code sa première boucle
Code sa première boucle
Messages : 14
Enregistré le : 08 sept. 2021, 20:09

Re: Ecrire toutes les entrées physiques dans un mot

Message par corolian »

Est il possible de faire un operate sur Ecostruxure de ce style :
%I0.3.0 to %I0.3.31:=Copie_entrees_1
En sachant que copie entrée 1 est un double mot ?
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7804
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Ecrire toutes les entrées physiques dans un mot

Message par itasoft »

slts,
Copie_entrees_1:=%I0.3.0:32;
Automaticien privé (de tout)
itasoft@free.fr
Avatar du membre
JC87
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2231
Enregistré le : 20 oct. 2015, 13:00
Localisation : Nouvelle Aquitaine

Re: Ecrire toutes les entrées physiques dans un mot

Message par JC87 »

Bonjour,

Il faut utiliser la fonction "MOVE_AREBOOL_INT" qui permet de copier un tableau de booléens dans un INT.

JC
"On veut faire du zéro défaut mais on a zéro bonhomme et zéro budget, et bien à la fin on a zéro résultat..."
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7804
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Ecrire toutes les entrées physiques dans un mot

Message par itasoft »

slts,
enfer et damnation, j'ai confondu avec le PL7-PRO

MOVE_AREBOOL_DINT(%I0.3.0:32,Copie_entrees_1);
Automaticien privé (de tout)
itasoft@free.fr
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: Ecrire toutes les entrées physiques dans un mot

Message par philou77 »

salut !

il faut en plus :

dans le menu "Outils/Options de Projet..." de Unity, cocher la case "Autoriser les tableaux dynamiques (ANY_ARRAY_XXX)",
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
corolian
Code sa première boucle
Code sa première boucle
Messages : 14
Enregistré le : 08 sept. 2021, 20:09

Re: Ecrire toutes les entrées physiques dans un mot

Message par corolian »

ça marche pour l'instruction move arebool, top !

On peut pas le faire avec un Dword ?
corolian
Code sa première boucle
Code sa première boucle
Messages : 14
Enregistré le : 08 sept. 2021, 20:09

Re: Ecrire toutes les entrées physiques dans un mot

Message par corolian »

par contre on est bien d'accord que c'est de 0 à 31 pour 32 bits
corolian
Code sa première boucle
Code sa première boucle
Messages : 14
Enregistré le : 08 sept. 2021, 20:09

Re: Ecrire toutes les entrées physiques dans un mot

Message par corolian »

ça marche pour la première :
MOVE_AREBOOL_DINT(%I0.3.0:31,Copie_entrees_1);

et pour la deuxième ça marche pas :
MOVE_AREBOOL_DINT(%I0.3.32:63,Copie_entrees_2);
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: Ecrire toutes les entrées physiques dans un mot

Message par philou77 »

je devance Itasoft ;-)

32 c'est le nombre de bit à copier à partir de 0 !!

et pour la deuxième instruction, tu démarre bien à l'adresse 32 mais pour 32 bits ... pas 63 !!
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Répondre