Hilfe bei Programmierung( verriegeln von 10 Ausgängen)

Sonstige Fragen, die nicht passend sind zu den anderen Themen.

Moderatoren: Matthias, Weiss_MHJ

Antworten
frankydoo73
SPSTreff-User
Beiträge: 3
Registriert: 16 Jan 2014, 10:43

Hilfe bei Programmierung( verriegeln von 10 Ausgängen)

Beitrag von frankydoo73 »

Hallo SPSler..

Ich möchte gerne folgendes realisieren:
Ein Auswahlbord mit 10 Köpfen welche Magnetventile steuern.
Bedingung:
Es darf nur immer 1 von 10 aktiv sein.
Beispiel:
Ich wähle ein Ventil aus. Dies wird für 10 min Füllzeit aktiviert und danach zurückgesetzt.( das iss kein Problem mit Timer und RS) Da ich jedoch darauf achten muss das immer nur 1 Kreis aktiviert sein darf muss ich natürlich die anderen 9 als Bedingung mit einfliessen lassen. Wie kann ich das Programmiertechnisch einfach implementieren? die klassische Verriegelung mit RS gliedern wird ja megaaufwendig. Wer würde mir das programmieren? Die Software für FBD Programmierung würde ich dann zukommen lassen. Bei Interesse: frankydoo73@yahoo.de
Zuletzt geändert von frankydoo73 am 01 Apr 2014, 12:59, insgesamt 1-mal geändert.

Benutzeravatar
mhj
Site Admin
Beiträge: 350
Registriert: 09 Jan 2010, 11:35
Kontaktdaten:

Beitrag von mhj »

Am schnellsten:

Prüfen ob das Wort > 0 ist. Wenn ja, dann ist mind. Ventil eingeschaltet.

So muss man nicht alle Ventile auf 0/1 prüfen.

frankydoo73
SPSTreff-User
Beiträge: 3
Registriert: 16 Jan 2014, 10:43

Beitrag von frankydoo73 »

kannst du mir das genauer erklären?
ich komme aus der klassischen Schützen-Gesellschaft. Arbeite das erste mal mit SPS. Hatte das zwar mal alles vor Urzeiten...aber vieles iss halt weg...wie und mit welchen bausteinen realisiere ich das?

Benutzeravatar
mhj
Site Admin
Beiträge: 350
Registriert: 09 Jan 2010, 11:35
Kontaktdaten:

Beitrag von mhj »

Hallo,

wenn wir annehmen, dass alle Ventile an den Ausgängen
A0.0 - A1.1 angeschlossen sind:

Damit belegen die Ausgänge das Ausgangsbyte AB0 und AB1.
Folglich wird das Ausgangswort AW0 belegt.

Jetzt kann man einen Integervergleich mit diesem Ausgangswort durchführen:

Code: Alles auswählen

       L    AW        0                  //alle Ventile 
       L    0
       ==I                               //mit Null vergleichen 
       =    M        10.0                //Alle Ventile ausgeschaltet 
Wenn das Merkerbit M10.0 '1' ist, dann sind alle Ventile ausgeschaltet.
Wenn der Merkerbit M10.0 '0' ist, ist mindestens ein Ventil eingeschaltet.

Antworten