Page 1 sur 1

Erreur : expression trop complexe! Use temporary results

Posté : 18 mai 2017, 16:24
par pittyWoa
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

Re: Erreur : expression trop complexe! Use temporary results

Posté : 19 mai 2017, 00:03
par Ulairi
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;

Re: Erreur : expression trop complexe! Use temporary results

Posté : 19 mai 2017, 08:55
par itasoft
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;

Re: Erreur : expression trop complexe! Use temporary results

Posté : 27 mai 2017, 07:00
par filou59
pittyWoa a écrit : 18 mai 2017, 16:24 alarme_haute:=%IW0>50;
Cette syntaxe fonctionne sous Codesys, Post ton programme ou fait des copier coller de ta syntaxe exact (declaration de variable + porgramme) pour voir d'ou ca vient.