Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Ventilsteuerung mit Näherungsschaltern

  1. #1
    Registriert seit
    15.07.2009
    Beiträge
    19
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,
    ich bin blutiger Anfänger und probiere mich gerade daran eine Ventilsteuerung zu programmieren.

    Insgesamt sind es 4 Ventile und 8 Näherungsschalter die jeweils AUF bzw. ZU zurückgeben.

    Ich hab jetzt ein Programm geschrieben welches soweit auch funktioniert aber ich kann mir nicht vorstellen, dass das auch so in der Praxis programmiert wird.

    Prinzipiell beginnen die 4 Ventile mit einer bestimmten Grundstellung, nach 5min müssen sie eine bestimmte Stellung einnehmen (jedes Ventil wird nacheinander bis zur neuen Stellung angesteuert) nach 5min müssen sie dann genau rückwärts nacheinander wieder in die Grundstellung gebracht werden sie dürfen nur gestellt werden, wenn die Näherungsschalter die entsprechende AUF ZU Information liefern. Sollte dies nicht der Fall sein soll die Anlage auf Störung umspringen.

    Jetzt zu meiner Frage:
    Ich bin folgendermaßen vorgegangen:
    Ich beginne mit der o.g. Grundstellung mit der Einnahme der Grundstellung fängt der erste Zähler das laufen an. Nach 5 min gibt er eine logische 1 raus und die Kette beginnt. Also er beginnt das erste Ventil zu schalten, wenn dieses zu ist dann gehts mit dem nächsten weiter u.s.w. wenn die Kette durchlaufen ist beginnt ein Zähler 2 zu zählen an, der wiederum stößt wieder einen Prozess an und die Ventile werden nacheinander wieder geschaltet mit dem Schalten des letzten Ventils beginnt wieder Zähler 1 zu laufen....

    Das ganze passiert in einem Funktionsbaustein.

    Viel lieber würde ich aber für jede Stellung einen Funktionsbaustein erstellen.

    Also z.B. FC1 erste Stellung am Ende noch eine Kontrolle, ob wirklich alle Ventile in der richtigen Stellung sind.
    ist diese Bedingung erfüllt soll der FC2 aufgerufen werden. Dort soll dann die zweite Stellung eingenommen werden wieder kontrolliert werden und dann soll wieder FC1 aufgerufen werden.

    Wenn ich das so versuche zu programmieren geht die CPU sofort auf STOP.

    Ich hoffe das sind jetzt nicht zu viele Informationen.

    Vielleicht habt ihr eine Idee wie man das ganze möglichst einfach programmieren kann.

    Dazu kommt noch das alles auch noch im "HAND" Betrieb geschaltet werden soll.

    Vielen Dank euch allen
    Ich kann meinen FC auch mal reinstellen allerdings ist der wie gesagt recht kompliziert ...weiß nicht ob das viel Sinn hat

    Danke !!!!!!!!!!!!
    Zitieren Zitieren Ventilsteuerung mit Näherungsschaltern  

  2. #2
    Dr.Oetker ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    15.07.2009
    Beiträge
    19
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    hier mal den FC in FUP
    Angehängte Dateien Angehängte Dateien
    • Dateityp: pdf FC3.pdf (14,3 KB, 145x aufgerufen)

  3. #3
    Registriert seit
    30.06.2007
    Ort
    In der Pfalz
    Beiträge
    503
    Danke
    72
    Erhielt 77 Danke für 65 Beiträge

    Standard

    Hallo Dr. Oetker,

    jetzt erst einmal ein Paar gegenfrage:

    Läuft ein Zähler oder eine Zeit? (Ich tippe auf Zeit)
    Hast du einen FC (Funktion) oder einen FB (Funktionsbaustein)
    programmiert?
    Was für eine Diagnosemeldung kommt von der CPU wenn sie auf Stopp geht?


    Also für jedes Ventil einen eigenen FC oder FB zu schreiben halte ich für übertrieben.
    Eventuell könnte man die Grundstellungsdiagnose, die Schrittkette und die Ausgabe der Ausgänge in getrennte Bausteinen unterbringen.
    Bei zu vielen Bausteinen wird es auch wieder unübersichtlich.

    Den FC kannst du auf jeden Fall mal reinstellen.
    Kann mir nicht vorstellen das er zu kompliziert ist.

  4. #4
    Registriert seit
    31.05.2007
    Ort
    Hagen
    Beiträge
    66
    Danke
    12
    Erhielt 1 Danke für 1 Beitrag

    Ausrufezeichen

    Hallo Dr.Oetker,

    ich programmiere Ventile mit 2 Endlagen immer mit einem FB, den ich als Multiinstanz in einem zum Ventil gehörenden FB aufrufe. Also bei bspw. 3 Ventilen gibt es den FB zum ansteuern des Ventils (FB120) und dann für jedes Ventil einen eigenen FB (FB1, FB2, FB3). Im FB1, FB2 und FB3 wird der FB120 aufgerufen. Dieser beinhaltet eine Hand/Automatik umschaltung (parametrierbar), weiterhin Eingänge für die Inis und auch eine dekativierbare Iniüberwachung, da ja nicht immer jedes Ventil zwingend für jede Endlage einen Ini hat.

    Des weiteren muss der Baustein über einen Eingang freigegeben werden, damit ein Ausgang angesteuert werden kann. Für die Laufzeitüberwachung wird eine Zeit vorgegeben, welche startet und herunterzählt, bis der zu erwartende Ini (bei eingeschalteter Überwachung) meldet, dass die Endlage erreicht ist. Ansonsten generiert der Baustein eine Störmeldung.
    Ich lasse den jeweiligen Ausgang für die Bewegung immer angesteuert, auch im Falle einer Störung, da diese Störmeldung bei einem Ventil meistens auf einen defekten Ini hindeutet.

    Ich gebe dir mal die Schnittstellenbeschreibung zu dem FB120:

    Code:
    VAR_INPUT
      FREIGABE : BOOL ;    //Notwendige Freigabe um die Ventile anzusteuern
      AUTO : BOOL ;    //1=Automatikbetrieb aktiv / 0=Handbetrieb
      FRG_AS : BOOL ;    //Freigabe für die Bewegung in Arbeitsstellung (Nur beim Aktivieren notwendig)
      FRG_GS : BOOL ;    //Freigabe für die Bewegung in Grundstellung (Nur beim  Aktivieren notwendig)
      TAST_AS : BOOL ;    //Taster im Handbetrieb in Arbeitsstellung fahren (Bedienpult)
      TAST_GS : BOOL ;    //Taster im Handbetrieb in Grundstellung fahren (Bedienpult)
      TAST_LT : BOOL ;    //Taster Lampentest (Bedienpult)
      INIT_AS : BOOL ;    //Initiator für Arbeitsstellung erreicht
      INIT_GS : BOOL ;    //Initiator für Grundstellung erreicht
      INIT_AS_AKTIV : BOOL ;    //Aktivierung der Überwachung des INIT_AS
      INIT_GS_AKTIV : BOOL ;    //Aktivierung der Überwachung des INIT_GS
      AUTO_AS : BOOL ;    //Ansteuerung für Autobetrieb Arbeitsstellung SELBSTHALTEND
      AUTO_GS : BOOL ;    //Ansteuerung für Autobetrieb Grundstellung SELBSTHALTEND
      QUIT : BOOL ;    //Quittierung von Störmeldung
      ANLAUF : BOOL ;    //Anlaufmerker(Rücksetzer): Soll bei Neustart für einen Zyklus gesetzt werden
      _10Hz : BOOL ;    //Taktmerker 10Hz [0,1s]
      LM_BLINKER_1 : BOOL ;    //Taktmerker für Meldeleuchten
      SELBSTHALTUNG_AKTIV : BOOL ;    //Selbsthaltung der TAST_AS und TAST_GS Aktivieren
      LAUFZEIT : TIME ;    //Laufzeitüberwachung in 0,1s. Nur Aktiv wenn die entsprechenden INIT_AS/GS_Aktiv
      SELBSTHALTUNG : TIME ;    //Verzögerung für Selbsthaltung in 0,1s. Nur Aktiv wenn Selbsthaltung_Aktiv=1
    END_VAR
    VAR_OUTPUT
      AUTO_ML : BOOL ;    //Automatikbetrieb aktiv
      LAMP_AUTO_ML : BOOL ;    //ML Automatikbetrieb aktiv
      LAMP_AS : BOOL ;    //ML Arbeitstellung: Blinkt beim Anfahren Leuchtet wenn Position erreicht(INI)
      LAMP_GS : BOOL ;    //ML Grundstellung: Blinkt beim Anfahren Leuchtet wenn Position erreicht(INI)
      VENT_AS : BOOL ;    //Ventil für Arbeitsstellung aktivieren = 1                   
      VENT_GS : BOOL ;    //Ventil für Grundstellung aktivieren = 1                      
      STM : BOOL ;    //Endlagenstörung
      VISU_Y_AS : BOOL ;    //Ventil Ansteuerung Bewegung Arbeitsstellung für VISU
      VISU_Y_GS : BOOL ;    //Ventil Ansteuerung Bewegung Grundstellung für VISU
      VISU_B_AS : BOOL ;    //Ventil Endlage Arbeitsstellung angefahren für VISU
      VISU_B_GS : BOOL ;    //Ventil Endlage Grundstellung angefahren für VISU
      VISU_STM : BOOL ;    //Ventil Störung Allgemein für Farbumschlag für VISU
    Hoffe ich konnte dir etwas weiterhelfen.

  5. #5
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.697 Danke für 1.949 Beiträge

    Standard

    Ich machs mal ganz kurz.

    Zuerst suche mal hier im Forum mit dem Stichwort "Schrittketten".

    Ich programmiere i.A. wie folgt.
    Automatikabläufe in einer Schrittkette. Dazu habe ich einen eigenen Baustein, der die Schrittkettenweiterschaltung, Fehlerbehandlung, Automatik- Stepbetrieb etc. abhandelt. Die Schrittkette gibt in einem Schritt, wenn nötig ein Signal für einen Aktor aus und kontrolliert als Weiterschaltbedingung z.Bsp. die Endlagen dieses Aktors. Für Aktoren habe ich wiederum eigenen Bausteine, z.Bsp. für Monostabile Ventile, Bistabile Ventile, Motore, Rundtakttische etc. Diese Bausteine haben, neben einigen anderen, folgende Hauptinputs:

    Automatik
    Hand
    Grundstellungsfahrt
    Freigabe
    Auto/Step Aktor in Arbeitsstellung
    Auto/Step Aktor in Grundstellung
    Hand Aktor in Arbeitsstellung
    Hand Aktor in Grundstellung

    Je nach Anwahl der Betriebsart wirken so entweder die Auto/Step-Inputs oder die Hand-Inputs.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  6. #6
    Dr.Oetker ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    15.07.2009
    Beiträge
    19
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    sorry, es läuft eine Zeit

    hab mich vielleicht falsch ausgedrückt.

    Es soll für jede Ablaufkette ein FC programmiert werden, also zwei FC´s

    Danke

  7. #7
    Registriert seit
    30.06.2007
    Ort
    In der Pfalz
    Beiträge
    503
    Danke
    72
    Erhielt 77 Danke für 65 Beiträge

    Standard

    Wie schon von Ralle geschrieben am besten mal nach Schrittkette suchen.

    Ach dem rest den Ralle geschrieben hat würde ich so absolut zusteimmen.

    Für die Schrittkette solltest du einen FB und keinen FC verwenden, da bei der Schrittkette Zustände über die Bausteinbearbeitung hinaus gespeichert werden müssen.

  8. #8
    Dr.Oetker ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    15.07.2009
    Beiträge
    19
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke für die Anregungen

    ...dann werde ich mich daran probieren

  9. #9
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.252
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Hab da mal was runtergetippelt, was in etwa das macht was Du brauchst.
    Störungen werden keine abgefangen, lässt sich aber einfach durch rücksetzen der M1.0 und M2.0 realisieren.


    lG
    Karl
    Angehängte Dateien Angehängte Dateien
    • Dateityp: pdf FC1.pdf (11,1 KB, 136x aufgerufen)

  10. #10
    Dr.Oetker ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    15.07.2009
    Beiträge
    19
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Vielen Dank borromeus,

    das sieht ja mal recht "simpel" aus. Werde ich morgen gleich mal ausprobieren.

    Im Moment quäle ich mich mit Theorie. Was sind DB´s wozu brauche ich die was sind Schrittketten bzw. Ablaufsteuerungen.

    Habt ihr evtl. Vorschläge für gute Übungsbücher mit Lösungen ?

    Danke !!!!!!!!!!!

Ähnliche Themen

  1. Regner / Ventilsteuerung mit LOGO
    Von langer70 im Forum Feldbusse
    Antworten: 4
    Letzter Beitrag: 16.06.2008, 08:06
  2. Drehzahlerfassung mit 2 Näherungsschaltern
    Von capri-fan im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 06.09.2004, 18:49

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •