Page 1 sur 2
[M580] Information de broche DFB
Posté : 23 nov. 2022, 17:12
par Ewwyz
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
Re: [M580] Information de broche DFB
Posté : 23 nov. 2022, 18:03
par philou77
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 !
Re: [M580] Information de broche DFB
Posté : 24 nov. 2022, 08:21
par Laurent
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;
Re: [M580] Information de broche DFB
Posté : 24 nov. 2022, 09:27
par Jambe
Tu peux affecter une valeur numérique directement sur ta broche et la mettre à 1. Elle sera toujours vraie

- 1.png (2.04 Kio) Vu 1490 fois

- 2.png (1.98 Kio) Vu 1490 fois
Re: [M580] Information de broche DFB
Posté : 24 nov. 2022, 09:38
par Ewwyz
Jambe a écrit : ↑24 nov. 2022, 09:27
Tu peux affecter une valeur numérique directement sur ta broche et la mettre à 1. Elle sera toujours vraie
1.png2.png
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
Re: [M580] Information de broche DFB
Posté : 24 nov. 2022, 09:39
par itasoft
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
Re: [M580] Information de broche DFB
Posté : 24 nov. 2022, 09:52
par Ewwyz
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
Re: [M580] Information de broche DFB
Posté : 24 nov. 2022, 10:10
par Jambe
Il faut raccorder quelque chose à la sortie de Is_par_con()
Re: [M580] Information de broche DFB
Posté : 24 nov. 2022, 10:17
par Ewwyz
Effectivement c'était juste ça ...
Ca va venir avec l'expérience
Encore merci à vous tous pour les réponses
Re: [M580] Information de broche DFB
Posté : 24 nov. 2022, 10:26
par Jambe
Ç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.