Wie sorge ich am besten für eine Abschaltung meiner Ausgänge?

Tigerkroete

Level-1
Beiträge
245
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich programmiere gerade meine erste Anlage. Dort gibt es drei Betriebsarten: Handbetrieb, Automatik_1 und Automatik_2.
Dazu habe ich eine Frage, folgendes Szenario:

Ich habe im Automatikbetrieb_1 den Merker M0.0 auf "1", welcher wiederum in meiner Ausgangsansteuerung den Ausgang A0.0 setzt. Nun schalte ich von Automatikbetrieb_1 in einen anderen Betrieb. Falls dort nicht der besagte Merker vorkommt, weil ich z.B. den Ausgang in dieser Betriebsart garnicht benötige, wir er niemals zurückgesetzt und mein Ausgang läuft immer. Wie verhindert man das in der Praxis?

Mir fallen nun zwei Dinge ein:
1.: Wenn ich eine Betriebsart verlasse, wird in der Hauptfunktion, die immer durchlaufen wird, ein Flankenmerker gesetzt, der entweder eine Funktion aufruft oder einen Sprung bewirkt an welcher Stelle erstmal grundsätzlich alle Merker, die auf Ausgänge gehen, zurückgesetzt werden.

2.: In der Ausgangsansteuerung frage ich nicht nur den Merker ab, sondern Und-Verknüpfe ihn auch mit seiner Betriebsart.

Wie sollte man sowas lösen?

Danke und Gruß,
Tigerkroete
 
Hallo,

ich würde die drei Betriebsarten gegeneinander Verriegeln.

u BA1
unBA2
unBA3
= BA1

oder so.

So habe ich es bei einem Programm gemacht in dem ich drei Betriebsarten habe.


MFG

Robert
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Eher so:

U M0.0
U BA 1
= A0.0

BA 1, 2 ... X sind natürlich gegeneinander verriegelt, so daß immer nur eine Betriebsart aktiv ist. Die Progammteile in denen die Ausgänge geschaltet werden nicht umspringen, sondern immer durchlaufen!
 
bin mir nicht sicher, ob ich deine audführung richtig interpretiere.
es scheint mir so, das du deine verschiedenen betriebsarten nur 'bedingt' bearbeitest.
das ist imho keine gute lösung.

ich progge für jede betriebsart eine allgemeine freigabe.
sollte diese freigabe fehlen, werden alle schritte der entsprechenden kette zurückgesetzt (bedingt; kommt natürlich auf die anwendung an)

solltest du mehrere ketten haben, die den gleiche a steuern, sollte in den ketten die entsprechende freigabe verknüpft sein.
in der ausgangsebene werden die 'koppelmerker' auf den a gelegt.
(um das mal ganz grob zu beschreiben)
freigaben die den a direkt betreffen schreibe ich meist direkt zu a.
z.b. bei einem motor der motorschutz.

grobes beispiel:
(
o m10.0 //s1.1 motor ba1 ein
o m20.0 //s2.1 motor ba2 ein
o m30.0 //s3.1 motor ba3 ein
)
u e 1.0 //mms motor
= a 1.0
 
Zurück
Oben