comment vérifier la connexion d'une entrée et utiliser sa valeur sans variable intermédiaire
comment vérifier la connexion d'une entrée et utiliser sa valeur sans variable intermédiaire
Bonjour, j'essaie de créer un bloc pour faire la somme de 3 entrées réelles, les deux premières sont obligatoires mais la troisième est optionnelle, dans mon code je dois vérifier que la troisième entrée est connectée, si oui je l'ajoute, et si non je dois juste ajouter 0. Je dois faire cela sans utiliser de variables intermédiaires, voici la solution que j'ai mais la syntaxe n'est pas correcte, une idée de comment je peux corriger le code ?
resultat:= Entree1 + Entree2 +
(IF IS_PAR_CON(Entree3) THEN Entree3; ELSE 0 END_IF;);
resultat:= Entree1 + Entree2 +
(IF IS_PAR_CON(Entree3) THEN Entree3; ELSE 0 END_IF;);
-
MiGaNuTs
- Mi homme - Mi automate

- Messages : 1573
- Enregistré le : 12 nov. 2015, 21:02
- Localisation : 45 - Loiret
- Contact :
Re: comment vérifier la connexion d'une entrée et utiliser sa valeur sans variable intermédiaire
En supposant que ton IS_PAR_CON vaux soit 0, soit 1 tu peut faire
Mais bon, un bon vieux if propre c'est bien plus 'joli' pour celui que repasse derrière quelques années plus tard.
Vouloir tout coder sur une seule ligne ça sert juste a te la péter.
Code : Tout sélectionner
resultat = entrée1 + entrée2 + (IS_PAR_CON * entrée3);
Code : Tout sélectionner
if toto then
resultat = entrée1 + entrée2 + entrée3
else
resultat = entrée1 + entrée2
end if
-
Guigui744
- Asservi son premier moteur

- Messages : 22
- Enregistré le : 08 avr. 2024, 17:03
- Localisation : Annecy
Re: comment vérifier la connexion d'une entrée et utiliser sa valeur sans variable intermédiaire
Bonjour,
J'aurai fait comme ca:
IF IS_PAR_CON(Entree3) THEN
resultat:= Entree3;
ELSE
resultat:=0.0;
END_IF;
resultat:= Entree1 + Entree2 + resultat;
Je trouve plus lisible
J'aurai fait comme ca:
IF IS_PAR_CON(Entree3) THEN
resultat:= Entree3;
ELSE
resultat:=0.0;
END_IF;
resultat:= Entree1 + Entree2 + resultat;
Je trouve plus lisible
- Béryl
- Mi homme - Mi automate

- Messages : 1953
- Enregistré le : 20 oct. 2015, 12:00
- Localisation : localhost
Re: comment vérifier la connexion d'une entrée et utiliser sa valeur sans variable intermédiaire
C'est une forme de structure de contrôle que l'on retrouve dans certains langages comme le E ou les C et PHP sous une syntaxe différente.
Très pratique, mais malheureusement pas intégré dans le structuré normé de nos automates !
Les codes ci-dessus sont tout aussi corrects.
-
Laurent
- Générateur de blocs fonctions

- Messages : 124
- Enregistré le : 20 oct. 2015, 11:16
- Localisation : Oise et Ile-de-France / France
Re: comment vérifier la connexion d'une entrée et utiliser sa valeur sans variable intermédiaire
Salut,
Code : Tout sélectionner
resultat = entrée1 + entrée2 + SEL( G := IS_PAR_CON, IN0 := 0, IN1 := entrée3 );
Laurent
- Béryl
- Mi homme - Mi automate

- Messages : 1953
- Enregistré le : 20 oct. 2015, 12:00
- Localisation : localhost
Re: comment vérifier la connexion d'une entrée et utiliser sa valeur sans variable intermédiaire
Intéressant !Laurent a écrit : ↑02 août 2024, 08:54Code : Tout sélectionner
resultat = entrée1 + entrée2 + SEL( G := IS_PAR_CON, IN0 := 0, IN1 := entrée3 );
Je ne connaissais pas cette instruction SEL qui fait le job.
Certes, moins lisible qu'un IF, mais plus compact.
- itasoft
- Mi homme - Mi automate

- Messages : 7805
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: comment vérifier la connexion d'une entrée et utiliser sa valeur sans variable intermédiaire
-----------------Béryl a écrit : ↑02 août 2024, 10:43Intéressant !Laurent a écrit : ↑02 août 2024, 08:54Code : Tout sélectionner
resultat = entrée1 + entrée2 + SEL( G := IS_PAR_CON, IN0 := 0, IN1 := entrée3 );
Je ne connaissais pas cette instruction SEL qui fait le job.
Certes, moins lisible qu'un IF, mais plus compact.
je ne connaissais pas non plus, comment j'ai pu faire pour m'en passer ? je me le demande, lol
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
- andala
- Créateur de langage

- Messages : 505
- Enregistré le : 19 déc. 2016, 10:24
- Localisation : Atlantide
Re: comment vérifier la connexion d'une entrée et utiliser sa valeur sans variable intermédiaire
Oui apres... c'est le but d'u langage de programmation : au lieu d'ecrire en langage machine, on ecrit en ladder/ST/IL etc....
Une bonne action en entraine toujours une autre

