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

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

Thema: Programm für Schmierstoffpumpe

  1. #1
    Beginner09 Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,

    als erstes bin ich im Schaltschrankbau und nicht als Programmierer tätig - nun aber stehe ich vor dem Problem dass unser Programmierer ausfällt und ich bei einem Kunden ein bestehendes Programm ändern soll.
    Das "Handling" der S7 Hardware & Software ist mir noch aus Schulzeiten bekannt, sa dass ich es eigentlich hinbekommen sollte.

    Der Kunde hat eine Anlage von uns in der eine Schmierstoffpumpe nachgerüstet werden soll - kann mir da jemand einen Code schreiben oder mir Starthilfe geben um dieses zu realiesieren.
    Folgende Anforderungen sind gegeben:
    - nach Ablauf einer Pausenzeit wird die Schmierstoffpumpe eingeschaltet.
    - die Laufzeit der Pumpe wird durch einen INI gesteuert der an einem Fettverteiler nach der Pumpe angebracht ist.
    - die Pumpe soll so lange Fett fördern bis der INI 1,2 oder 3 Impulse liefert.
    - während die Pumpe läuft soll im Hintergrund eine fest eingestellte Zeit zur Überwachung ablaufen. Kommt kein Impuls in eingestellter Zeit wird eine Störmeldung ausgegeben.
    - ist die eingestellte Impulszahl erreicht, wird die Pumpe abgeschaltet und die Pausenzeit beginnt von neuem.

    Als Hardware ist eine S7-400 verwendet, die Programmiersprache ist AWL und FUP.

    Ich wäre euch sehr Dankbar wenn mir jemand weiterhelfen könnte.


    Grüße, Beginner09
    Zitieren Zitieren Programm für Schmierstoffpumpe  

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

    Standard

    Glaube nicht, dass Dir das wer ausprogrammiert.

    Ansatz:
    - nach Ablauf einer Pausenzeit wird die Schmierstoffpumpe eingeschaltet.
    Code:
    UN #PUMPE
    L S5T#ZEIT
    SE T1
    U T1
    FP Mx.y
    S #PUMPE
    R Z1
    - die Laufzeit der Pumpe wird durch einen INI gesteuert der an einem Fettverteiler nach der Pumpe angebracht ist.
    - die Pumpe soll so lange Fett fördern bis der INI 1,2 oder 3 Impulse liefert.
    Code:
    U #INI
    ZV Z1
    
    L Z1
    L #ANZAHL  //1,2 oder 3
    ==I
    R #PUMPE
    - während die Pumpe läuft soll im Hintergrund eine fest eingestellte Zeit zur Überwachung ablaufen. Kommt kein Impuls in eingestellter Zeit wird eine Störmeldung ausgegeben.
    - ist die eingestellte Impulszahl erreicht, wird die Pumpe abgeschaltet und die Pausenzeit beginnt von neuem.
    Code:
    U #PUMPE_RM
    UN #INI
    L S5T#ÜBERWACHUNGSZEIT
    SE T2
    U T2
    S #ALARM

  3. Folgender Benutzer sagt Danke zu borromeus für den nützlichen Beitrag:


  4. #3
    Registriert seit
    20.02.2008
    Beiträge
    332
    Danke
    16
    Erhielt 40 Danke für 37 Beiträge

    Standard

    Ich habe da noch schnell einen Vorschlag im leichteren FUP für Dich:Vorschlag.JPGummern

    Achja: Achte auf die Timer und Zählern, die dürfen nicht woanders schon verwendet werden. Siehe Extras-->Referenzdaten
    Geändert von asci25 (13.06.2012 um 07:26 Uhr)
    Also wenn das die Lösung sein soll ................................................................................ ......... dann hätte ich gerne mein Problem zurück.

  5. Folgender Benutzer sagt Danke zu asci25 für den nützlichen Beitrag:


  6. #4
    Beginner09 Gast

    Standard

    Dankeschön, jetzt habe ich zumindest mal einen "Ansatz" womit ich sicher etwas hinbekommen sollte!

    Für weitere Vorschläge, Änderungen oder Ideen bin ich natürlich sehr offen!


  7. #5
    Beginner09 Gast

    Standard

    Hallo nochmal,

    soweit habe ich alles hinbekommen und es funktioniert auch "fast" wie gewünscht.

    Ich würde noch gerne wissen wollen wie ich einen Timer oder Zähler realisieren kann der den eigenen ist wert speichert.
    Bei meinem aktuellen Programm habe ich das Problem dass bei ausschalten der Maschine zwar der Timer stehen bleib, bei erneutem Zuschalten aber wieder beim
    Eingestellten Wert beginnt rückwärts zu laufen.
    Mein Problem ist dass unter bestimmten umständen die Schmierstoffpumpe nie angesteuert wird wenn zb bei eingestellten 3 stunden zufällig immer jemand nach 2:59h die maschine
    stoppt und wieder startet.
    Zum starten der Zeit verwende ich ein Signal welches mir sagt dass der Hauptmotor dreht - eine andere Möglichkeit dehe ich da leider nicht.

    Danke

  8. #6
    Registriert seit
    20.02.2008
    Beiträge
    332
    Danke
    16
    Erhielt 40 Danke für 37 Beiträge

    Standard

    Da gäbe es die Möglichkeit, eine Integer-Variable je Sekunde (Taktmerker) und wenn der Hauptmotor "ein" ist hochzuzählen (I=I+1) und bei >=10800 (s = 3h) die Pumpe zu starten und die Integer-Variable wieder auf Null setzen.

    Mit Timern geht das nicht umzusetzen.
    Hier noch ein ungetestetes Beispiel:

    Code:
          L   #Zähler      //Integer
          U   Mx.5         //x: Taktmerker MBx (anpassen)
          FP  Mx.x
          U   #HauptmotorEin
          UN  #StartSchmierpumpe
          SPBN ZAEH
          INC  1
    ZAEH: T   #Zähler
          L   #ZählerMax   //10800s = 3h
          <I
          SPB NRES
          L   0
          T   #Zähler
          SET
          S   #StartSchmierpumpe
    NRES: NOP 0
    Also wenn das die Lösung sein soll ................................................................................ ......... dann hätte ich gerne mein Problem zurück.

  9. Folgender Benutzer sagt Danke zu asci25 für den nützlichen Beitrag:


  10. #7
    Beginner09 Gast

    Standard

    U E2.0 //Maschine läuft
    FP M2.5 //PLC-Blinker 1S
    = M100.0
    SPBN _end
    L DB58.DBW 2 //DB58.DBW2 Schmierstoffpumpe
    + 1
    T DB58.DBW 2 //DB58.DBW2 Schmierstoffpumpe
    end: NOP 0


    Würde das bei mir bedeuten dass sobald die Maschiene läuft ich den PLC-Blinker abfrage und in den DB58.DBW2 schreibe und immer um 1 erhöhe?
    Wenn ja, bis wieviel kann ich da dann hochzählen?

    Ich würde es gerne so lösen da der Rest vom Programm ja besteht und auch funktioniert - natürlich nur wenn möglich...
    Geändert von Beginner09 (02.07.2012 um 21:05 Uhr)

  11. #8
    Registriert seit
    20.02.2008
    Beiträge
    332
    Danke
    16
    Erhielt 40 Danke für 37 Beiträge

    Standard

    Das was Du da schreibst, wird nicht funktionieren, abgesehen von einigen Übersetzungsfehlern. Das kann übrigens leicht nach hinten losgehen. (FP M2.5)

    Ich würde Dir empfehlen, Dich eng an mein Beispiel zu halten, es ersetzt den Start-Timer.

    Hier habe ich schon mal einiges, was Du gerade bekanntgegeben hast mal ausgetauscht:

    Code:
          L   DB58.DBW    2      //Integer
          U   M2.5         //x: Taktmerker MBx (anpassen)
          FP  Mx.x
          U   E2.0         //Maschine läuft
          UN  #StartSchmierpumpe
          SPBN ZAEH
          INC  1 
    ZAEH: T   DB58.DBW    2
          L   #ZählerMax   //10800s = 3h
          <I
          SPB NRES
          L   0
          T   #Zähler
          SET
          S   #StartSchmierpumpe 
    NRES: NOP 0
    Was ist M100.0?, Wie willst Du den Zähler reseten? Gib mal mehr von dem bestehenden Programm, dann kann ich Dir das besser ausformen.

    Zu der Frage, wie weit der Zähler geht: von -32768 bis 32767 also in diesem Fall sinnigerweise von 0 bis 32767. Wenn Du <I gegen <D austauscht, dann kannst Du bis L#65535 hochzählen. Wenn Du weiter willst, musst Du satt einem Datenbausteinwort ein Datenbausteindoppelwort nehmen.
    Also wenn das die Lösung sein soll ................................................................................ ......... dann hätte ich gerne mein Problem zurück.

  12. Folgender Benutzer sagt Danke zu asci25 für den nützlichen Beitrag:


  13. #9
    Registriert seit
    07.07.2004
    Beiträge
    3.285
    Danke
    38
    Erhielt 584 Danke für 382 Beiträge

    Standard

    Hallo,

    Edit ............

    Question_mark
    Geändert von Question_mark (02.07.2012 um 22:26 Uhr)
    ''Ich habe wirklich keine Vorurteile.
    Meine Meinung ist nur die Summe der Erfahrungen" ... (Question_mark)
    Zitieren Zitieren Rofl  

  14. #10
    Beginner09 Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    anbei mal der aktuell funktionsfähige Baustein.1.png2.jpg3.png4.png


    Grüße

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 13.12.2011, 09:29
  2. S7 Programm für S5 nutzen
    Von 4nD1 im Forum Simatic
    Antworten: 27
    Letzter Beitrag: 09.11.2011, 12:50
  3. Programm für Getreidelager
    Von rogseut im Forum Programmierstrategien
    Antworten: 30
    Letzter Beitrag: 13.03.2011, 13:28
  4. VB 6 Programm für Primzahlen
    Von godi im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 19.06.2007, 11:22
  5. Iropa Programm für S5
    Von drunkenmunky im Forum Programmierstrategien
    Antworten: 0
    Letzter Beitrag: 08.05.2005, 18:34

Lesezeichen

Berechtigungen

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