Page 1 sur 1

multiplication entier par bool

Posté : 25 mai 2021, 15:52
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

Re: multiplication entier par bool

Posté : 25 mai 2021, 16:39
par Vicnnet
Pas possible à mon avis
Il faudrait passer par une variable intermédiaire (Entier) ;)

Re: multiplication entier par bool

Posté : 25 mai 2021, 16:46
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

Re: multiplication entier par bool

Posté : 25 mai 2021, 17:01
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

Re: multiplication entier par bool

Posté : 25 mai 2021, 17:14
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...

Re: multiplication entier par bool

Posté : 09 août 2021, 13:34
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

Re: multiplication entier par bool

Posté : 09 août 2021, 16:19
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 ?

Re: multiplication entier par bool

Posté : 09 août 2021, 19:41
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