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

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

Thema: Wegmesssystem - CPU 312

  1. #1
    Registriert seit
    05.10.2006
    Beiträge
    324
    Danke
    11
    Erhielt 8 Danke für 7 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich bin gerade mal wieder an ner zehn Jahre alten Anlage und könnte verzweifeln.

    Es geht um einen Taktautomat welcher eine Kanüle mit einem Verschluss moniert. Dies ist über einen mechanischen Stößel realisiert welcher mit dem Takttischantrieb gekoppelt ist. Der Stößel drückt in der Taktpause den Verschluss auf die Kanüle.

    Dabei können zwei mögliche Fehler entstehen.

    1. Kanüle fehlt im takttisch => Stößel fährt zu weit raus
    2. Kanüle ist schräg im takttisch => Stößel fährt nicht ganz aus

    Dies ist über ein wegmesssystem und einem Nocken als trigger realisiert.

    Die Anlage wurde früher über eine S5 gesteuert und wurde nun auf eine S7 312 umgebaut. Ladespeicher = 128kb

    Das Wegmesssystem gibt 2 digitale Ausgänge an die Steuerung.

    1. Ausgang = Min wert unterschritten
    2. Ausgang = Max Wert überschritten

    Das Messsystem hat eine messrate von 16 Messungen pro Sekunde.

    Wenn ich den Tisch langsam von Hand drehe funktioniert das alles auch gut.

    Nur wenn das alles mit 2000Upm läuft erkennt die Steuerung nur noch schlechtteile irgendwie stimmt das mit den Ausgängen des Messsystems nicht mehr!

    Hat jemand von euch ne Idee an was das liegen kann....ist die CPU zu langsam???

    Grüße Pico
    Zitieren Zitieren Wegmesssystem - CPU 312  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    Hallo,
    ein paar Dinge verstehe ich gerade nicht.
    Wie schnell drehst du den Tisch wenn es funktioniert ? Wieviele Messungen finden dann so pro Sekunde statt ?
    Wie schnell ist deine CPU aktuell (OB1-Zykluszeit) ?
    2000 Umdrehungen/Minute sind der Tisch-Antrieb. Wie schnell dreht sich dann die "Scheibe" und wieviele Messungen finden dann statt ?

    Gruß
    Larry

  3. #3
    Pico1184 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.10.2006
    Beiträge
    324
    Danke
    11
    Erhielt 8 Danke für 7 Beiträge

    Standard

    Programmiert hatte ich es zuerst so:

    Min Ausgang Messsystem = false wenn Wert unterschritten
    Max Ausgang Messsystem = true wenn Wert überschritten

    Code:
    //Nockenflanke
    U #Nocken
    FP #Flanke_Nocken
    = #FP_Nocken
    
    //Gutteil
    U #FP_Nocken
    U #Min_Mess
    UN #Max_Mess
    S "DB_Register".Register[1].Gutteil
    
    //Schlechtteil 1
    U #FP_Nocken
    UN #Min_Mess
    UN #Max_Mess
    S "DB_Register".Register[1].Schlechtteil
    
    //Schlechtteil 2
    U #FP_Nocken
    UN #Min_Mess
    U #Max_Mess
    S "DB_Register".Register[1].Schlechtteil
    
    //Schlechtteil 3
    U #FP_Nocken
    U #Min_Mess
    U #Max_Mess
    S "DB_Register".Register[1].Schlechtteil
    
    ....
    Wie gesagt, wenn ich langsam mit der Hand drehe funktioniert das, nur bei voller Geschwindigkeit bekomme ich nur Schlechtteile!

    Habe dann gedacht, dass ich es vielleicht besser ist diese Prüfung über die gesamte Nockenlänge zu tätigen!

    Code:
    //Nockenflanke Positiv
    U #Nocken
    FP #Flanke_Nocken_Pos
    = #FP_Nocken
    
    //Nockenflanke Negativ
    U #Nocken
    FN #Flanke_Nocken_Neg
    = #FN_Nocken
    
    //Nocken aktiv
    U #FP_Nocken
    S #Nocken_aktiv
    
    //Min wert unterschritten
    U #Nocken_aktiv
    UN #Min_Mess
    R #Nocken_aktiv
    
    U #FN_Nocken
    UN #Nocken_aktiv
    S "DB_Register".Register[1].Schlechtteil
    
    U #FN_Nocken
    U #Nocken_aktiv
    S "DB_Register".Register[1].Gutteil
    R #Nocken_aktiv
    
    //Max Wert überschritten
    ........
    Dies funktioniert schon besser, leider habe ich immer wieder pseudoausschuss!

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    ... ich hatte erstmal gar nicht (ich gebe zu entgegen meiner sonstigen Angewohnheit) nach deinem Code gefragt. Ich würde mich freuen, wenn du mir meine Fragen zunächst beantworten könntest, da ich nämlich annehme, dass du die angestrebte Geschwindigkeit einmal nicht verarbeiten kannst (Zykluszeit SPS) und dein Mess-System damit auch nicht klar kommt (Reaktionszeit etc.).

    Aber ... by the way ... hatte das ursprüngliche S5-System die gleiche Grund-Hardware (inkl. Mess-System) ?

    Gruß
    Larry

  5. #5
    Pico1184 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.10.2006
    Beiträge
    324
    Danke
    11
    Erhielt 8 Danke für 7 Beiträge

    Standard

    Wie schnell drehst du den Tisch wenn es funktioniert ? Wieviele Messungen finden dann so pro Sekunde statt ?
    Den Tisch drehe ich da von Hand ganz langsam! Das Messsystem macht intern 16 Messungen pro Sekunde. Die Werte frage ich aber nur an einem bestimmten Zeitpunkt ab (Nocken).

    Wie schnell ist deine CPU aktuell (OB1-Zykluszeit) ?
    3ms aktuell, längste 5ms, kürzeste 1ms

    2000 Umdrehungen/Minute sind der Tisch-Antrieb. Wie schnell dreht sich dann die "Scheibe" und wieviele Messungen finden dann statt ?
    Gefordert sind 70 Takte pro Minute das wären die 2000Upm d.h. der Nocken bzw. der Trigger welcher die Ausgänge des Messsystems abfrägt kommt 70 mal in der Minute!

    Aber ... by the way ... hatte das ursprüngliche S5-System die gleiche Grund-Hardware (inkl. Mess-System) ?
    Das Messsystem war schon vorhanden! Welche S5 vorhanden war kann ich erst am Montag sagen, muss mir erst mal die alte Hardeware genauer anschauen, leider habe ich das System vorher noch nie gesehen und auch nicht selbst ausgelegt!

    Grüße Pico
    Geändert von Pico1184 (25.11.2012 um 13:20 Uhr)

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    OK ... hast du noch nachgeschoben ...
    Mit den Daten hast du ja alle Zeit der Welt ...
    Dein Mess-System liefert dir die Ausgänge "Gut" bzw. "Schlecht" wenn du ihm den Trigger gibst und nimmt dieser wieder weg, wenn dein Trigger wegfällt ? Oder wie werden die Ausgänge des Systems geschaltet ? Geht der Nocken nur in die SPS oder auch zeitgleich an das Mess-System ?

  7. #7
    Pico1184 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.10.2006
    Beiträge
    324
    Danke
    11
    Erhielt 8 Danke für 7 Beiträge

    Standard

    Dein Mess-System liefert dir die Ausgänge "Gut" bzw. "Schlecht" wenn du ihm den Trigger gibst und nimmt dieser wieder weg, wenn dein Trigger wegfällt
    Nee die Ausgänge des Messsystems stehen dauerhaft an, ich beachte sie nur beim Triggerzeitpunkt!

    Geht der Nocken nur in die SPS oder auch zeitgleich an das Mess-System ?
    Am Messsystem ist leider kein trigger Eingang vorhanden, daher geht er nur auf die Steuerung!

    Grüße Pico

  8. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    Vom Ablauf her würde ich das Ganze aber eher als Schrittkette realisieren :
    Code:
    U #Schritt1
    U #Nocken
    S #Schritt2
    R #Schritt1
    
    U #Schritt1
    UN #Nocken
    S #Schritt2  // Schlecht-Teil
    R #Schritt1
    
    U#Schritt1
    U#min
    UN #max
    S #Schritt3  //Gut-Teil
    R #Schritt1
    
    U #Schritt2
    U #Bewertung_gebucht
    S #Schritt1
    R #Schritt2
    
    U #Schritt3
    U #Bewertung_gebucht
    UN #Nocken
    S #Schritt1
    R #Schritt3
    ... ist ungetestet - sollte aber funktionieren ...

    Gruß
    Larry

  9. #9
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    Zitat Zitat von Pico1184 Beitrag anzeigen
    Nee die Ausgänge des Messsystems stehen dauerhaft an, ich beachte sie nur beim Triggerzeitpunkt!
    Dann solltest du diese erst auswerten wenn Trigger da ist und eine kurze Zeitverzögerung (50 - 100ms) abgelaufen ist.
    Das kannst du aber m.E. ganz gut in die Schrittkette (oben) mit einbauen ...

  10. #10
    Pico1184 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.10.2006
    Beiträge
    324
    Danke
    11
    Erhielt 8 Danke für 7 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Dann solltest du diese erst auswerten wenn Trigger da ist und eine kurze Zeitverzögerung (50 - 100ms) abgelaufen ist.
    Du meinst die Zeit damit ich in den Zyklus des Messsystems komme???

    Das kannst du aber m.E. ganz gut in die Schrittkette (oben) mit einbauen ...
    Das mit der Schrittkette verstehe ich nicht ganz welche Vorteile soll das bringen???

    Normalerweise mache ich die Nockenbearbeitung immer über die POS Flanke und aktiviere die Kontrolle und mit der NEG Flanke schließe ich die Kontrolle ab und Werte aus!

    Grüße Pico

Ähnliche Themen

  1. CPU 312 oder 314
    Von virk im Forum Simatic
    Antworten: 19
    Letzter Beitrag: 22.03.2011, 21:50
  2. Antworten: 1
    Letzter Beitrag: 02.08.2010, 11:50
  3. Cpu 312 ifm
    Von kev19 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 14.08.2009, 14:25
  4. CPU 312 - Merkerproblem
    Von intelit im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 21.11.2008, 06:13
  5. CPU 312 programmieren
    Von Headman im Forum Simatic
    Antworten: 27
    Letzter Beitrag: 13.09.2007, 16:08

Lesezeichen

Berechtigungen

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