[M580] Information de broche DFB
[M580] Information de broche DFB
Bonjour,
J'aimerais savoir si à votre connaissance il est possible de mettre une variable à 1 lorsqu'elle est branchée sur une broche d'entrée de bloc BFD ?
En gros mon dans mon cas je dois faire un bloc "AND" qui prend en compte des invalidités pour chaque entrée donc la pas de soucis avec un "OR" je m'en sors, le problème survient sur la fonction "AND que j'utilise dans le DFB le but étant de faire un Bloc "AND_INV" générique avec plusieurs entrées.
J'ai donc fait un bloc avec 6 entrées mais le bloc doit pouvoir être fonctionnel s'il y a simplement 2 ou 3 ou 4 entrées tout en ne s'activant au bout de 2 entrées pas lorsque j'ai 4 entrées de plugger sur mon bloc.
J'ai réussi en forçant les entrées de mon bloc à 1 et quand je mets une variable en face celle-ci passe à 0 mais ce n'est pas fiable dans tous les cas de figure la solution ultime (selon moi) serait un bit qui s'actualise lorsqu'il y a une variables sur une broche de mon bloc.
J'espère que j'ai réussi à être assez claire
Merci d'avance pour vos retours
J'aimerais savoir si à votre connaissance il est possible de mettre une variable à 1 lorsqu'elle est branchée sur une broche d'entrée de bloc BFD ?
En gros mon dans mon cas je dois faire un bloc "AND" qui prend en compte des invalidités pour chaque entrée donc la pas de soucis avec un "OR" je m'en sors, le problème survient sur la fonction "AND que j'utilise dans le DFB le but étant de faire un Bloc "AND_INV" générique avec plusieurs entrées.
J'ai donc fait un bloc avec 6 entrées mais le bloc doit pouvoir être fonctionnel s'il y a simplement 2 ou 3 ou 4 entrées tout en ne s'activant au bout de 2 entrées pas lorsque j'ai 4 entrées de plugger sur mon bloc.
J'ai réussi en forçant les entrées de mon bloc à 1 et quand je mets une variable en face celle-ci passe à 0 mais ce n'est pas fiable dans tous les cas de figure la solution ultime (selon moi) serait un bit qui s'actualise lorsqu'il y a une variables sur une broche de mon bloc.
J'espère que j'ai réussi à être assez claire
Merci d'avance pour vos retours
Emile
-
philou77
- Mi homme - Mi automate

- Messages : 2142
- Enregistré le : 21 oct. 2015, 10:00
- Localisation : Ile de France
Re: [M580] Information de broche DFB
Salut !
Pas tout compris mais :
dans ton prg, tu programmes :
- un bit toujours à 0
- un bit toujours à 1
utilise l'un de ces deux bits sur les entrées (du dfb) que tu n'utilises pas !
Pas tout compris mais :
dans ton prg, tu programmes :
- un bit toujours à 0
- un bit toujours à 1
utilise l'un de ces deux bits sur les entrées (du dfb) que tu n'utilises pas !
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! 
-
Laurent
- Générateur de blocs fonctions

- Messages : 124
- Enregistré le : 20 oct. 2015, 11:16
- Localisation : Oise et Ile-de-France / France
Re: [M580] Information de broche DFB
Salut,
dns le code du DFB, tu peux tester si quelque chose est "connecté à une broche" avec la fonction élémentaire IS_PAR_CON().
Ça peut donner quelque chose comme ça :
dns le code du DFB, tu peux tester si quelque chose est "connecté à une broche" avec la fonction élémentaire IS_PAR_CON().
Ça peut donner quelque chose comme ça :
Code : Tout sélectionner
tor1_valide := is_par_con( tor1 );
tor2_valide := is_par_con( tor2 );
tor3_valide := is_par_con( tor3 );
if tor1_valide and tor2_valide
then
toto := tor1 and tor2;
if tor3_valide
then
toto := toto and tor3;
end_if;
end_if;
Laurent
Re: [M580] Information de broche DFB
Tu peux affecter une valeur numérique directement sur ta broche et la mettre à 1. Elle sera toujours vraie
Re: [M580] Information de broche DFB
Oui c'est la solution que j'avais mise en place en attendant de trouver plus viable car si la première entrée qui elle n'est pas forcée venez lors de la modification de programme à être supprimé ça ne marcherait plus
Emile
- itasoft
- Mi homme - Mi automate

- Messages : 7806
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: [M580] Information de broche DFB
Slts,
Je ne connaissais pas cette instruction, jamais eu le besoin, en principe on ne laisse pas une entrée de DFB en l’air,
si pas utilisée on la met à false. Ceci dit c'est toujours bon à savoir
Je ne connaissais pas cette instruction, jamais eu le besoin, en principe on ne laisse pas une entrée de DFB en l’air,
si pas utilisée on la met à false. Ceci dit c'est toujours bon à savoir
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: [M580] Information de broche DFB
Laurent a écrit : ↑24 nov. 2022, 08:21 Salut,
dns le code du DFB, tu peux tester si quelque chose est "connecté à une broche" avec la fonction élémentaire IS_PAR_CON().
Ça peut donner quelque chose comme ça :Code : Tout sélectionner
tor1_valide := is_par_con( tor1 ); tor2_valide := is_par_con( tor2 ); tor3_valide := is_par_con( tor3 ); if tor1_valide and tor2_valide then toto := tor1 and tor2; if tor3_valide then toto := toto and tor3; end_if; end_if;
Bonjour,
Oui c'est exactement ce type de fonction que je cherche par contre ceci ne marche qu'en ST ?
quand j'essaie de le mettre en place en FBD ça ne marche pas j'ai l'info uniquement lorsque ma variable est à 1 et pas quand elle est simplement connectée
Emile
Re: [M580] Information de broche DFB
Il faut raccorder quelque chose à la sortie de Is_par_con()
Re: [M580] Information de broche DFB
Effectivement c'était juste ça ...
Ca va venir avec l'expérience
Encore merci à vous tous pour les réponses
Ca va venir avec l'expérience
Encore merci à vous tous pour les réponses
Emile
Re: [M580] Information de broche DFB
Ça donne l’impression que tu te compliques la vie avec ton DFB.
Utilises un AND de base et tu adaptes le nombre de broche au besoin. Pour les broches inversées, mets des négations sur les broches en question et ça va rouler.
Si tu peux partage le contenu de ton DFB.
Utilises un AND de base et tu adaptes le nombre de broche au besoin. Pour les broches inversées, mets des négations sur les broches en question et ça va rouler.
Si tu peux partage le contenu de ton DFB.

