Tableau d'adresses à optimiser
- Béryl
- Mi homme - Mi automate
- Messages : 1659
- Inscription : 20 oct. 2015, 12:00
- Localisation : localhost
Tableau d'adresses à optimiser
Amis cyborgs, bonjour !
Sur un M340 avec Unity 14.1, une passerelle AS-i/ModbusTCP et 8 vannes AS-i à piloter.
Voici le tableau d'adressage : Les adresses sont des %MW. Que du booléen, donc. Les 4 premières lignes sont des infos, les 3 dernières les actionneurs.
J'aurais bien vu une structure avec des accès variables de type : vanne1.fermee pour savoir si la vanne 1 est... fermée (merci de suivre).
Gag : l'adressage topologique d'une structure (comme d'un tableau) est souple comme une barre de fer. Vous entrez la première adresse et zou, les autres sont affectées en suivant.
Sauf que là, les adresses ne se suivent pas.
Je préfère éviter d'affecter chaque adresse à une variable indépendante, si possible. Surtout que le manifold où sont implantées ces vannes et appelé à grandir dans le futur !
Avez-vous une idée pour optimiser tout ça ?
Restant à votre disposition pour toute info supplémentaire, je vous prie d'agréer...
Sur un M340 avec Unity 14.1, une passerelle AS-i/ModbusTCP et 8 vannes AS-i à piloter.
Voici le tableau d'adressage : Les adresses sont des %MW. Que du booléen, donc. Les 4 premières lignes sont des infos, les 3 dernières les actionneurs.
J'aurais bien vu une structure avec des accès variables de type : vanne1.fermee pour savoir si la vanne 1 est... fermée (merci de suivre).
Gag : l'adressage topologique d'une structure (comme d'un tableau) est souple comme une barre de fer. Vous entrez la première adresse et zou, les autres sont affectées en suivant.
Sauf que là, les adresses ne se suivent pas.
Je préfère éviter d'affecter chaque adresse à une variable indépendante, si possible. Surtout que le manifold où sont implantées ces vannes et appelé à grandir dans le futur !
Avez-vous une idée pour optimiser tout ça ?
Restant à votre disposition pour toute info supplémentaire, je vous prie d'agréer...
- itasoft
- Mi homme - Mi automate
- Messages : 7035
- Inscription : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Tableau d'adresses à optimiser
slts,
5200.11 c'est %MW5200.11 si c'est le cas, obligé d'utiliser des variables à adressage absolu ?
5200.11 c'est %MW5200.11 si c'est le cas, obligé d'utiliser des variables à adressage absolu ?
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
-
- Mi homme - Mi automate
- Messages : 2076
- Inscription : 21 oct. 2015, 10:00
- Localisation : Ile de France
Re: Tableau d'adresses à optimiser
Salut !
Fais toi un bloc par vanne ou tu retranscris ton tableau (structure) vers/depuis les vrais adresses !
c'est pas élégant...mais ça devrait fonctionner
Fais toi un bloc par vanne ou tu retranscris ton tableau (structure) vers/depuis les vrais adresses !
c'est pas élégant...mais ça devrait fonctionner
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part !
- Béryl
- Mi homme - Mi automate
- Messages : 1659
- Inscription : 20 oct. 2015, 12:00
- Localisation : localhost
Re: Tableau d'adresses à optimiser
@Itasoft : oui ce sont les adresses en absolu 5200.11=%MW5200.11.
J'ai oublié de préciser : j'attaque la passerelle AS-i/ModbusTCP en I/O scanning.
@Philou : un bloc par vanne ? Tu veux dire une instance de structure ? J'ai essayé, mais je ne peux pas mixer les adresses topologiques.
J'aimerais éviter de me taper 56 variables indépendantes
J'ai oublié de préciser : j'attaque la passerelle AS-i/ModbusTCP en I/O scanning.
@Philou : un bloc par vanne ? Tu veux dire une instance de structure ? J'ai essayé, mais je ne peux pas mixer les adresses topologiques.
J'aimerais éviter de me taper 56 variables indépendantes
- Béryl
- Mi homme - Mi automate
- Messages : 1659
- Inscription : 20 oct. 2015, 12:00
- Localisation : localhost
Re: Tableau d'adresses à optimiser
Après, j'ai la solution de zaper l'I/O Scanning et de tout gérer par des Read et des Write_var.
Ça m'en fait 7 ou 8 à gérer. Et là, j'ai la main sur les variables déclarées.
Mais c'est tellement plus simple en I/O Scanning...
Ça m'en fait 7 ou 8 à gérer. Et là, j'ai la main sur les variables déclarées.
Mais c'est tellement plus simple en I/O Scanning...
- JC87
- Mi homme - Mi automate
- Messages : 1901
- Inscription : 20 oct. 2015, 13:00
- Localisation : Nouvelle Aquitaine
Re: Tableau d'adresses à optimiser
Bonjour,
Comme Philou je pense qu'il faut passer par un DFB qui affecterait la structure "vanne" a des adresses topologiques ou le contraire si il s'agit d'entrées. Si il y a beaucoup de vannes tu peut envisager un DFB générique avec indexage qui mettrait à jour x structures/adresses topologiques à la fois. yapuka
JC
Comme Philou je pense qu'il faut passer par un DFB qui affecterait la structure "vanne" a des adresses topologiques ou le contraire si il s'agit d'entrées. Si il y a beaucoup de vannes tu peut envisager un DFB générique avec indexage qui mettrait à jour x structures/adresses topologiques à la fois. yapuka
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..."
-
- Mi homme - Mi automate
- Messages : 2076
- Inscription : 21 oct. 2015, 10:00
- Localisation : Ile de France
Re: Tableau d'adresses à optimiser
Non,
tu fais ta structure
Vanne1_manif
.fermée
.ouverte
etc...
et dans un bloc (en début de scrutation) tu fais pour chaque vanne
Vanne1_manif.fermée= adresse physique // entrée
Vanne1_manif.ouverte= adresse physique // Entrée
adresse physique = Vanne1_manif.vanne // sortie
etc...
et utilises uniquement ta structure dans le reste du prg...
ca fait utiliser le double d'adresses mais bon...c'est pas trop grave
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part !
- Béryl
- Mi homme - Mi automate
- Messages : 1659
- Inscription : 20 oct. 2015, 12:00
- Localisation : localhost
Re: Tableau d'adresses à optimiser
Mouais, faudrait donc que je mette les adresses %MW en variable d'entrée si je veux un bloc générique.
Ou alors... ou alors... un dfb qui intègre TOUTES les adresses (%MW) et une variable d'entrée de numéro de vanne. En fonction, j'affecte les bonnes adresses.
C'est vraiment bricolo comme code, mais bon... J'ai pas mieux
Ou alors... ou alors... un dfb qui intègre TOUTES les adresses (%MW) et une variable d'entrée de numéro de vanne. En fonction, j'affecte les bonnes adresses.
C'est vraiment bricolo comme code, mais bon... J'ai pas mieux
-
- Mi homme - Mi automate
- Messages : 2076
- Inscription : 21 oct. 2015, 10:00
- Localisation : Ile de France
Re: Tableau d'adresses à optimiser
moi je ferais
- un bloc ST (Transciprtion_vannes)
- en début de MAST ou j'écris Toutes mes transcriptions en dur !!
par sections...
(* VANNE1_MANIF *)
..
..
(* VANNE2_MANIF *)
..
..
etc...
vu que tes adresses sont un peu dans tous les sens , ce sera plus simple à modifier et surtout l'unique endroit et ca reste utilisable en visu dynamique...
- un bloc ST (Transciprtion_vannes)
- en début de MAST ou j'écris Toutes mes transcriptions en dur !!
par sections...
(* VANNE1_MANIF *)
..
..
(* VANNE2_MANIF *)
..
..
etc...
vu que tes adresses sont un peu dans tous les sens , ce sera plus simple à modifier et surtout l'unique endroit et ca reste utilisable en visu dynamique...
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part !
Re: Tableau d'adresses à optimiser
Avec un coup d'excel de brute ou via le fichier unityVariablesManagement
je donnerai un joli nom aux variables issues de l'io/scanning
je ferai une structure vanne avec toutes les infos (commandes et états)
à coup d'excel je remplirai toutes les structures en litteral
une section qui lit les infos
une section qui écrit commandes
je ferai un DFB où on voit en entrée les condition d'ouverture, l'acquit...
j’appellerai un DFB par vanne dans une section en ladder en lui passant la structure
cette section en ladder serait entre les deux en littéral décrites au dessus
je donnerai un joli nom aux variables issues de l'io/scanning
je ferai une structure vanne avec toutes les infos (commandes et états)
à coup d'excel je remplirai toutes les structures en litteral
une section qui lit les infos
une section qui écrit commandes
je ferai un DFB où on voit en entrée les condition d'ouverture, l'acquit...
j’appellerai un DFB par vanne dans une section en ladder en lui passant la structure
cette section en ladder serait entre les deux en littéral décrites au dessus