Bonjour,
je suis tout nouveau en programmation, j'ai touché codesys il y a à peine 3 semaine ...
J'ai à ma disposition un automate wago, connecté à une sonde de température PT1000 (température_1 := %IW0) j'ai configurer mon entré ( carte d'aquisition 750-451)
Je cherche simplement à visualiser la valeur de ma sonde, et créer un alarme au dessus d'un certain seuil. (alarme_haute:=%IW0>50;)
Néanmoins lorsque je compile le projet, il m'annonce une erreur :"expression trop complexe! Use temporary results"
J'ai cherché un sur qq forum mais j'ai pas l'impression qu'ils parlent de la même chose ...
Help plz
Erreur : expression trop complexe! Use temporary results
Re: Erreur : expression trop complexe! Use temporary results
Bonjour,
Sur une entrée analogique de type PT1000, la valeur numérique correspondante aura une résolution de 0,1°C
Donc pour 50°C vous aurez %IW0=500.
La variable alarme_haute doit être binaire (type BOOL)
On écrira plutôt (pour un seuil d'alarme haute de 50°C sans hystérésis) :
IF %IW0>500 THEN alarme_haute:=1;
END_IF;
Sur une entrée analogique de type PT1000, la valeur numérique correspondante aura une résolution de 0,1°C
Donc pour 50°C vous aurez %IW0=500.
La variable alarme_haute doit être binaire (type BOOL)
On écrira plutôt (pour un seuil d'alarme haute de 50°C sans hystérésis) :
IF %IW0>500 THEN alarme_haute:=1;
END_IF;
Enseignant en BTS électrotechnique (Pas taper sur l'intru !)
- itasoft
- Mi homme - Mi automate
- Messages : 7037
- Inscription : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Erreur : expression trop complexe! Use temporary results
slts,
IF %IW0>500 THEN alarme_haute:=1;
END_IF;
un bon automaticien n'écris que des équations booléennes
alarme_haute:=%IW0>500;
ou
alarme_haute:=%IW0>500 OR alarme_haute;
IF %IW0>500 THEN alarme_haute:=1;
END_IF;
un bon automaticien n'écris que des équations booléennes
alarme_haute:=%IW0>500;
ou
alarme_haute:=%IW0>500 OR alarme_haute;
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr