multiplication entier par bool

Forum traitant des automates industriels de marque Allen Bradley et Rockwell
insat07
Asservi son premier moteur
Asservi son premier moteur
Messages : 23
Inscription : 29 août 2016, 11:36

multiplication entier par bool

Message par insat07 »

Bonjour
je veux faire l operation suivante y=val1*n1+val2*n2 avec n1 et n2 de type BOOL
Comment je peux multilplier un entier avec booleen. J utilise rslogix5000 (strutured text)
Merci
Vicnnet
Asservi son premier moteur
Asservi son premier moteur
Messages : 23
Inscription : 03 févr. 2018, 20:43

Re: multiplication entier par bool

Message par Vicnnet »

Pas possible à mon avis
Il faudrait passer par une variable intermédiaire (Entier) ;)
insat07
Asservi son premier moteur
Asservi son premier moteur
Messages : 23
Inscription : 29 août 2016, 11:36

Re: multiplication entier par bool

Message par insat07 »

Vicnnet a écrit : 25 mai 2021, 16:39 Pas possible à mon avis
Il faudrait passer par une variable intermédiaire (Entier) ;)
merci comment on peut le faire
Vicnnet
Asservi son premier moteur
Asservi son premier moteur
Messages : 23
Inscription : 03 févr. 2018, 20:43

Re: multiplication entier par bool

Message par Vicnnet »

Avec un bout de code de ce style par exemple :

IF n1 THEN
n1temp :=1;
ELSE
n1temp :=0;
END_IF;

//SIMILAIRE POUR n2...

y=val1*n1temp +val2*n2temp
DurandO
Expert de l'héxadécimal
Expert de l'héxadécimal
Messages : 396
Inscription : 21 mars 2021, 15:31

Re: multiplication entier par bool

Message par DurandO »

Bonjour,

Code : Tout sélectionner

y:=0;
IF n1 THEN
y := y + val1;
END_IF;
IF n2 THEN
y := y + val2;
END_IF;
Etc...
AC23
Forcené des structures
Forcené des structures
Messages : 174
Inscription : 29 mars 2021, 10:59

Re: multiplication entier par bool

Message par AC23 »

Bonjour,


il ya aussi la solution suivante:

Code : Tout sélectionner

IF n1 AND n2 THEN
	y := val1+val2;
ELSIF n1 THEN
	y := val1;
ELSIF n2 THEN
	y := val2;
ELSE
	y := 0;
END_IF
<< La vie d'un homme passe par trois phases : apprentissage, apprentissage et apprentissage. >>
Et j'ai même pas fini la première phase
Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7037
Inscription : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: multiplication entier par bool

Message par itasoft »

slts,
par équation booléenne:
n1_INT.0:=n1;
n2_INT.0:=n2;

------------
ça veut dire que si n1 et n2 sont false y=0 c'est bien ça que tu veux ?
Automaticien privé (de tout)
itasoft@free.fr
Lorent2
Maître du binaire
Maître du binaire
Messages : 484
Inscription : 27 déc. 2015, 08:52

Re: multiplication entier par bool

Message par Lorent2 »

insat07 a écrit : 25 mai 2021, 15:52 Bonjour
je veux faire l operation suivante y=val1*n1+val2*n2 avec n1 et n2 de type BOOL
Comment je peux multilplier un entier avec booleen. J utilise rslogix5000 (strutured text)
Merci
Tests :
Si n1 = 0 & n2 =0 : y = 0
Si n1 = 0 & n2 =1 : y = val2
Si n1 = 1 & n2 =0 : y = val1
Si n1 = 1 & n2 =1 : y = val1 + val2
Si quelquefois tu te sens petit, inutile, démoralisé ou dépressif, n'oublies jamais que tu as été un jour le plus rapide et le meilleur spermatozoïde de ta bande ...
Répondre