# Codesys Programmieren



## Shierasse (11 Dezember 2009)

Hallo vielleicht kann mir einer von euch weiterhelfen....
baue gerade eine Fertigungsbegleitende Prüfung mit dem 750-841 controller  auf und alles funktioniert soweit.
1. Mein eingangssignal meines Temperaturfühlers wird erst in meine volt schön umgewandelt und dann in temperatur umgerechnet und wieder gegeben alles gut soweit. 

Mein Problem:
Habe fünf thermoschalter ,die jetzt mit einem Einschaltpunkt un einem ausschaltpunkt gemessen werden sollen und die Bedingungen für einen Thermoschalter sind so.
Wenn die Temperatur < 77 grad ist und > als 66,4 und der Thermoschalter true (also Kontakt)ist,ist er gut, bei allem anderen soll er schlecht sein.
Beim Auschaltpunkt soll er zwischen 46 und 34 grad ausschalten also Thermoschalter muss dann false sein.
Meine Ein- und Ausschaltpunkte soll er mir aber noch in Temperatur anzeigen können. 
Weiß jemand wie ich das am besten programmiere, 
würde mich über jede hilfe freuen ..
falls möglich könnt ihr mir einen vorschlag gerne an meine addresse schicken
marcus172@gmx.de
Im voraus vielen Dank


----------



## Solaris (12 Dezember 2009)

Shierasse schrieb:


> falls möglich könnt ihr mir einen vorschlag gerne an meine addresse schicken



Hallo Markus, 

das hier ist ein öffentliches Forum, da wollen Andere auch was vom Spaß abhaben, wie soll das funktionieren wenn die Antworten auf Deine E-Mailadresse geschickt werden?
In Codesys gibt es eine meiner Meinung nach einen super Simulator, damit kann man schonmal viele Möglichkeiten abklopfen. Hast Du schon einen Anfang?

Gruß Soli


----------



## Shierasse (12 Dezember 2009)

*codesys*

mein entwurf sah so aus 
für einen schalter:

Einschaltpunkt1=true
if temperatur>77
and temperatur <64
and thermoschalter1=true 
and Einschaltpunkt=false
than einschaltpunkt=true,Anzeige1=Temperatur;

das einschaltpunkt=false in der 5 Zeile schreib ich rein damit er mir nur den ersten wert einmal wiedergibt und wenn er den text wiederholt beim 2 mal abschaltet weil einschaltpunkt dann schon true war 
variablen schauen so bei mir aus :
Anzeige1=INT
temperatur ist real
t12=Bool
weiß aber nicht genau wie ich das schreiben muss 
da er mir dann syntaxfehler beim übersetzten wiedergibt 
hoffe der ansatz ist richtig 
grüße marcus


----------



## Matze001 (12 Dezember 2009)

Eine IF-Bedingung geht so:


IF Bedingung1 AND Bedingung 2 OR Bedingung 3 THEN

Variable:=Inhalt;

ELSIF Bedingung 4

Variable2:=Inhalt;

ELSE

Variable3:=Inhalt;

END_IF

Ein schönes Syntaxbeispiel gibt dir aber auch die Hilfe!

Drück F1, gibt IF ein... und lies 

MfG

Marcel


----------



## Shierasse (12 Dezember 2009)

*danke*

Danke werde es dann gleich mal ausprobieren ..
aslo würde es dann so schreiben 


IF Temperatur>77                                                                    
AND Temperatur<64 
OR T1=true 
THEN Anzeige1:=Temperatur; 
ELSE Anzeige1:=0;

                                                                   Var                                                                       
t1=BOOL
Temperatur=Real 
                                            Anzeige1=Real
Nur mein Problem wäre dann das wenn dies die ganze zeit stimmen würde er mir die letzte temperatur anzeigt solange all dies erfüllt ist , möchte aber erreichen das sobald er das erst mal geschalten hat sofort anzeigt bei wieviel grad oder???

grüße


----------



## Matze001 (15 Dezember 2009)

Hallo,



```
var
R_TRIG_BOOL: R_TRIG;
thermoschalter1: BOOL;
Temperatur_Speicher: REAL;
Temperatur: REAL;
var_end
 
R_TRIG_BOOL(CLK:= (temperatur > 77) AND (temperatur < 64) AND thermoschalter1);
 
IF R_TRIG_BOOL.Q THEN
Temperatur_Speicher:= Temperatur;
END_IF
```
 
Dieses Programm speichert dir bei ner Positiven Flanke von deiner Bedingung die Aktuelle Temperatur in die Variable Temperatur_speicher.


MfG

Marcel


----------

