Ablaufsteuerung blockiert alles andere

smile1

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich arbeite derzeit an meiner Facharbeit für meinen Technikerabschluss (Mechatronik).
Kurz zu mir: Dies ist meine erste Arbeit mit Codesys, in meiner Ausbildung (Mechatroniker) und auch jetzt in der Weiterbildung hatte/habe ich nur mit Siemens-SPS zu tun. Allgemein bin ich mit dem Umgang einer SPS wenig erfahren. Jedoch programmiere ich schon rund 12 Jahre Webseiten mit PHP/Javascript etc. bin also kein Programmieranfänger ;) und bin mit Codesys schon recht gut vertraut.
Kurze Erklärung zum Projekt: Hochvakuumpumpstand soll mit Hilfe einer Wago-SPS (750-881) gesteuert werden, Visualisierung über PC.

Nun zu meinem Problem:
An o.g. Pumpstand werden 2 Pumpen (Vorvakuum, Hochvakuum), 8 Ventile und 3 Ampelleuchten gesteuert werden. Druckmessung erfolgt über insgesamt 4 Messröhren mit Spannungsausgabe. Soweit habe ich schon ziemlich viel Grundlegendes programmieren können (Ventilverriegelungen, Pumpenüberwachungen etc.), mit Hilfe der Visualisierung kann ich auch alles manuell Schalten so wie ich will. Jedoch soll das Gerät vorwiegend automatisch laufen. Dafür ist es nötig mit einem Knopfdruck die Anlage in einen Standby-Zustand zu bringen, von dem aus dann weitere Sequenzen laufen sollen. Genauer gesagt müssen die beiden Pumpen eingeschalten werden und ein bestimmter Bereich abgepumpt werden.

Zu diesem Zweck habe ich eine Ablaufsteuerung erstellt welche dies bewerkstelligen soll. Soweit klappt das auch, aber wenn diese Sequenz abgelaufen ist (Sprung in den Init-Schritt) kann ich keine manuelle Operation mehr durchführen (z.B. Ventile schließen/öffnen, Pumpe abschalten etc.). In der Schrittkette habe ich die einzelnen Variablen (Pumpe_Ein etc.) mit dem Qualifier 'S' gesetzt, da diese ja auch nach Ablauf der Sequenz eingeschaltet bleiben sollen. Nur warum kann man diese nicht wieder zurücksetzen? Auch ein weiteres AS-Programm zum herunterfahren kann diese Variablen nicht mehr ändern. Nur über die Globalen Variablen kann ich die Werte ändern. Habe ich einen Denkfehler oder etwas übersehen?

Danke für's lesen :smile:

Gruß Maik
 
OK -Projekt habe ich geöffnet.
Geht es um die Startup-Schrittkette?
Dort hast du ja z.b. Variabel TP1_Ein als Aktion assoziiert mit S ... diese mußt du natürlich auch irgendwo wieder zurücksetzen (R) z.b. im letzten Schritt, bevor du wieder nach Init springst.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
OK -Projekt habe ich geöffnet.
Geht es um die Startup-Schrittkette?
Dort hast du ja z.b. Variabel TP1_Ein als Aktion assoziiert mit S ... diese mußt du natürlich auch irgendwo wieder zurücksetzen (R) z.b. im letzten Schritt, bevor du wieder nach Init springst.

Wenn ich die aber zurücksetze geht ja die Pumpe wieder aus, soll aber eingeschaltet bleiben. Die Buttons in der Visu sind nur für Wartungen etc. vorgesehen, der normale Anwender kann die später nicht betätigen.
Ich habe aber mittlerweile rausgefunden, dass sobald ich im PLC_PRG den Aufruf für die Schrittkette drin habe, die manuelle Bedienung grundsätzlich nicht funktioniert. Nur wenn ich per SFCInit die Schrittkette "pausiere", kann ich die Variablen ändern. Warum? Solange "Start ungleich True" sollte doch von dem AS-Baustein keine Aktion ausgeführt werden?!?

Nochmal kurz erklärt was ich brauche: RP1 muss eingeschaltet werden -> warten bis Druck entsprechenden Wert unterschritten hat -> Ventil öffnen -> wieder auf Druck warten -> TP1 einschalten, wenn diese Pumpe dann "Normal" meldet ist die Anlage in Bereitschaft. So soll sie dann ohne weiteren Eingriff weiter laufen. Nur irgendwie scheint der AS-Baustein alles zu blockieren, ohne ihn kann ich alles manuell schalten so wie es soll.

Danke erstmal für deine Hilfe.
 
..noch was:
in der AS "StartUP" hast du die Variable "Start"als VAR_Input deklariert, das geht auch nicht, da es ja nicht vom Typ FB ist.
Schreibe stattdessen die Variablen von PLC_PRG: Startupseq,Notaus_OK, Air_OK etc. als UND Verknüpfung in die AS"Start_UP": Start (also doppelklick auf die Start-Transition-> FUP und dann diese Variablen eingeben).
TIP:
Wenn du die Ganze Schrittkette "von außen" resetten willst , nimm unter VAR_Input : SFCReset (schau malt mit F1 in der Hilfe)
oder auch andere SFC-Funktionen

schaue mir den Rest jetzt mal nicht weiter an,bißchen sollst du ja auch machen:ROFLMAO:
Melde dich wenn du noch Fragen hast..
Gruß Thomas
 
.. Ja eben
Du solltest Handfunktionen und Automatikvariablen aufteilen. Wenn die AS"Startup" RP1_ein setzt, wird in der Visu durch die Eingabetaste die Var wieder zurückgesetzt.
So wie ich es kenne, z.b. in ST

Ausgang:=(Hand/Automerker and Handvar) or (not Hand/Automerker and Automatikvar);(Wobei der Button bei dir Handvar ist und die RP1_ein Var die Automatikvar ist)

Desweiteren ist das Programm doch sehr verzweigt, dass macht die Sache für dich (und gerade für andere) unübersichtlich.
Nur mal so als Tip.
 
Zurück
Oben