Codesys nach zyklischer Bearbeitung Funktionsblöcke und Variablen resetten

lasek1998

Level-1
Beiträge
1
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Sehr geehrte Community,

zu meiner Person, mein Name ist Lars ich studiere im 6 Semester Elektrotechnik und arbeite derzeit an meiner Bachelorarbeit.
Ich entwickle eine neuartige Steuerung für Gärsysteme und habe leider ein paar Probleme mit meiner Programmierung.

Ich nutze Codesys V3.5 und programmiere eine Sotware-SPS auf einem Raspberry PI 3B, welcher letztlich ein Relaisboard ansteuert. Das Interface wird mittels Codesys Web Visualisierung auf einem Tablet initialisiert.

Aufbau meines Programms:
Mein PLC_PRG ist in Ablaufsprache Programmiert um die einzelnen Zyklen oder Schritte (Vorkuehlen, Kuehlphase, Lagerphas...) besser zu verdeutlichen.
Den jeweiligen Schritten sind Aktionen zugeordnet welche jeweils die dazugehörigen Funktionsblöcke ( es sind nur zwei FB_Temperaturregler und FB_Timer für die Lagerzeiten) aufrufen. Diese sind in FUP programmiert.

Ablauf meines Programms:
Der Anwender stellt über die Visualisierung die Verschieden Temperaturen und Zeiten der Verschiedenen Phasen ein (Vorkuehltemperatur; Lagertemperatur und Lagerzeit etc. ) Speicherung in einer Globalen Retain Variable.
Wenn alles eingestellt ist und der Benutzer betätigt die Schaltfläche Starten, wird die Zyklische Abarbeitung der Schritte im PLC_PRG gestartet und funktioniert mittlerweile auch sehr gut.

Nun zu meinem Problem:
Wenn das Programm einmal komplett durchgelaufen ist, also wieder beim Initialisierungsschritt angekommen ist sind alle meine Variablen die das Betätigen der verschiedenen Transitionen steuern bereits Ausgelöst also auf True ( Die Transition werden ausgelöst wenn der im FB_Timer aufgerufene Timer abgelaufen ist dieser wird allerdings erst aktiviert wenn die eingestellte Temperatur erreicht ist) . Durch Trigger (Flankenerkennung) werden die Transitionen nur einmal ausgelöst und gehen danach wieder in den False zustand. Wenn ich die Kontakte die meine Trigger in meinen Tranitionsbedingungen ansteuern mit Set und Reset Aktionen im PLC_PRG in Ablaufsprache Aktivieren oder Zurücksetzen möchte lösen meine Transitionen nicht mehr aus.

Mein Ziel:
Ich möchte das nach jeder Abarbeitung im Bestenfall alle Variablen meiner Aktionen des PLC_PRG und meiner Funktionsblöcke wieder in den Ausgangszustand zurückversetzt werden. Damit nach beendigung des Programmes alles wieder neu eingestellt werden kann. Die vor eingestellten Temperaturen und Zeiten welche Global als Retain gespeichert sind sollen so bleiben.

Hat jemand eine Idee wie man dieses Problem lösen kann?

Ich bin für jeden Tipp dankbar!

Mit freundlichsten Grüßen und bleiben Sie gesund,PLC_PRG.pngAktion Vorkuehlen des PLC_PRG.pngTransitionsbedingung.png
Lars
 
Füge eine Ausgangstransition hinzu, in der Du die Bedingung wieder zurücksetzt. Dann ist die auch nicht mehr True, wenn das Programm erneut in den Schritt läuft.
 
Zurück
Oben