TIA Finde den Fehler (SR-FlipFlop)

der_fisch

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich bin gerade dabei einen Zweipunkt-Regler mit Hysterese auf einer 1215C zu realisieren.

Programmiere ich das ganze im OB1 funktioniert es. Programmiere ich das ganze in einem FC und rufe diesen im OB1 auf, dann bleibt das SR FlipFlop nicht gesetzt, wenn die untere Schaltschwelle überschritten wird. Siehe Bilder im Anhang. Als "Istwert" habe ich zur Zeit einen Kalibrator in Verwendung, der mir 0...10V liefert.

Ich gehe davon aus, dass ich vielleicht etwas beim Aufrufen des FC falsch mache (nur was?). Kann mich bitte jemand vom Schlauch schubsen, auf dem ich stehe? Vielen Dank!!!
 

Anhänge

  • zweipunktregler.pdf
    469,2 KB · Aufrufe: 109
Anfängerfehler

Temp Variablen sind wie der Name sagt. Temporär.
Um einen SR zu programmieren brauchst du dafür entweder eine Stat Variable (FB) oder eine Variable die über IN_OUT übergeben wird (ebenfalls statisch)

mfG René
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich gehe mal davon aus, das du temporäre Variablen nutzt, die länger als einen Zyklus lang ihren Wert halten sollen. Das geht dann schief, denn temporär bedeutet, am Zyklusbeginn ist der Wert unbestimmt, dann kann ein Wert zugewiesen werden, danach im FC genutzt werden und am Ende des FC geht die Gültigkeit dieses Wertes wieder verloren. Du mußt für Variablen, die ihren Wert über einen Zyklus behalten sollen (wie dein SR) entweder eine INOUT-Variable nutzen oder anstatt eines FC einen FB verwenden und diese Variablen als STAT-Var im FB definieren.
 
Gewöhnt Euch das besser gar nicht erst noch an.
Diese S5-Programmierweise ist mittlerweile weitestgehend überholt.

Furchtbar, dass das an Schulen immer noch als Erstes gelehrt wird.
Vor allen Dingen, wenn der- oder diejenige dann von Siemens ins Codesys Universum wechselt, wo es direkt keine DBs gibt, dann kommen wieder die Probleme auf, die @frank1973DA schon hier hatte.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich bin gerade dabei einen Zweipunkt-Regler mit Hysterese auf einer 1215C zu realisieren.

Programmiere ich das ganze im OB1 funktioniert es. Programmiere ich das ganze in einem FC und rufe diesen im OB1 auf, dann bleibt das SR FlipFlop nicht gesetzt, wenn die untere Schaltschwelle überschritten wird. Siehe Bilder im Anhang. Als "Istwert" habe ich zur Zeit einen Kalibrator in Verwendung, der mir 0...10V liefert.

Ich gehe davon aus, dass ich vielleicht etwas beim Aufrufen des FC falsch mache (nur was?). Kann mich bitte jemand vom Schlauch schubsen, auf dem ich stehe? Vielen Dank!!!
Hallo der_fisch, hast du es schon mal mit einem Datenbaustein anstelle der Merker probiert?
 
Zurück
Oben