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

Ergebnis 1 bis 7 von 7

Thema: Anfängerfragen zum Programmablauf

  1. #1
    Registriert seit
    08.08.2011
    Beiträge
    20
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ich habe ein paar grundsätzliche Fragen zum Ablauf von SPS Programmen, da diese wohl ein paar Besonderheiten haben.

    Ich versuche zur Zeit ein kleines Programm zu entwerfen, welches einen Motor referenzieren soll. Sprich, an jeder Seite ans Ende seines Bewegungsspielraums fahren und dort die Position vom analogen Eingang speichern. Am Ende soll der Motor genau in der Mitte positioniert werden.

    Das Problem verstehe ich, aber beim Programmablaufplan habe ich schon große Schwierigkeiten.

    Im Anhang ist die Übersicht zu einer solchen Unterfunktion bzw Funktionsbaustein.

    Meine Probleme:
    1) Wie bekomme ich da eine Abbruchbedingung rein? Wenn der Motor fertig ist soll das ganze Programm übersprungen werden, obwohl der Schalter auf "on" bleibt. Wen ich am Anfang des Programm auf eine Variable abfrage und diese am Ende des Programm auf Null setze komme ich nie wieder in das Programm? Könnte man die Variable mit der Anschalt-Flanke vom ON-Schalter auf "eins" setzen? Wie wird das dargestellt?

    2) Wie und wo werden Variablen initialisiert? Ich kann mir nicht vorstellen, dass ich das richtig gemacht habe. Es muss aber irgendwie eine Verzweigung vor die Initialisierung, da sie sonst ständig zurückgesetzt werden.

    3) So wie ich das verstanden habe, darf man innerhalb der Funktionen keine Schleifen einbauen und die ganze Referenzierung am Stück abarbeiten. Ist das richtig?

    4) Darf ich den Motor drehen und direkt danach die Position des Gebers mit der gespeicherten Position abgleichen? Ich habe keine Vorstellung davon, wie schnell die SPS arbeitet. Wird man eine Veränderung feststellen können? Gibt es andere Möglichkeiten zu überprüfen ob sich der Motor bzw. der Geber bewegt?

    Ich würde mich auch über grundsätzliche Tipps freuen, wie man ein solches Problem angeht. Der Stoff ist neu für mich und ich bastel eher auf "gut Glück".

    danke
    Casi
    Angehängte Grafiken Angehängte Grafiken
    • Dateityp: jpg pap.jpg (367,5 KB, 54x aufgerufen)
    Zitieren Zitieren Anfängerfragen zum Programmablauf  

  2. #2
    Registriert seit
    27.07.2007
    Beiträge
    223
    Danke
    17
    Erhielt 42 Danke für 40 Beiträge

    Standard

    Sorry, ich weiß nicht wie man Beiträge löscht.
    Geändert von Hohlkörper (23.08.2011 um 18:23 Uhr) Grund: geistiger Müll

  3. #3
    Registriert seit
    03.04.2008
    Beiträge
    6.205
    Danke
    237
    Erhielt 817 Danke für 691 Beiträge

    Standard

    Zitat Zitat von Casimyr Beitrag anzeigen
    Hallo,
    ich habe ein paar grundsätzliche Fragen zum Ablauf von SPS Programmen, da diese wohl ein paar Besonderheiten haben.

    Ich versuche zur Zeit ein kleines Programm zu entwerfen, welches einen Motor referenzieren soll. Sprich, an jeder Seite ans Ende seines Bewegungsspielraums fahren und dort die Position vom analogen Eingang speichern. Am Ende soll der Motor genau in der Mitte positioniert werden.

    Das Problem verstehe ich, aber beim Programmablaufplan habe ich schon große Schwierigkeiten.

    Im Anhang ist die Übersicht zu einer solchen Unterfunktion bzw Funktionsbaustein.

    Meine Probleme:
    1) Wie bekomme ich da eine Abbruchbedingung rein? Wenn der Motor fertig ist soll das ganze Programm übersprungen werden, obwohl der Schalter auf "on" bleibt. Wen ich am Anfang des Programm auf eine Variable abfrage und diese am Ende des Programm auf Null setze komme ich nie wieder in das Programm? Könnte man die Variable mit der Anschalt-Flanke vom ON-Schalter auf "eins" setzen? Wie wird das dargestellt?

    2) Wie und wo werden Variablen initialisiert? Ich kann mir nicht vorstellen, dass ich das richtig gemacht habe. Es muss aber irgendwie eine Verzweigung vor die Initialisierung, da sie sonst ständig zurückgesetzt werden.

    3) So wie ich das verstanden habe, darf man innerhalb der Funktionen keine Schleifen einbauen und die ganze Referenzierung am Stück abarbeiten. Ist das richtig?

    4) Darf ich den Motor drehen und direkt danach die Position des Gebers mit der gespeicherten Position abgleichen? Ich habe keine Vorstellung davon, wie schnell die SPS arbeitet. Wird man eine Veränderung feststellen können? Gibt es andere Möglichkeiten zu überprüfen ob sich der Motor bzw. der Geber bewegt?

    Ich würde mich auch über grundsätzliche Tipps freuen, wie man ein solches Problem angeht. Der Stoff ist neu für mich und ich bastel eher auf "gut Glück".

    danke
    Casi
    Den Start würde ich über ein Flanke vom Einschalter machen und wenn der Motor fertig ist diesen Merker zurücksetzen.
    Du willst den Motor auf Block fahren und dann rechtzeitig erkennen, steht an und dann stopp?
    Dann muss da noch einiges an Informationen kommen.
    Welche Art von Motor ist es? Leistung und Drehzahl und ggF m/min.

    Welche Art Geber ist verbaut?
    Welche CPU hast du zur Verfügung.

    Ist das mal wieder eine Hausaufgabe oder ein reales Projekt?


    bike

  4. #4
    Casimyr ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    08.08.2011
    Beiträge
    20
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Den Start würde ich über ein Flanke vom Einschalter machen und wenn der Motor fertig ist diesen Merker zurücksetzen.
    ok, danke

    Du willst den Motor auf Block fahren und dann rechtzeitig erkennen, steht an und dann stopp?
    japp

    Dann muss da noch einiges an Informationen kommen.
    Welche Art von Motor ist es? Leistung und Drehzahl und ggF m/min.

    Welche Art Geber ist verbaut?
    Welche CPU hast du zur Verfügung.
    Ich soll erstmal überlegen, wie man das Problem lösen kann. Danach wird die Hardware passend bestellt. Es geht mir allgemein darum wie man so ein Problem löst.

    Ist das mal wieder eine Hausaufgabe oder ein reales Projekt?
    Im Zusammenhang mit meinem Studium muss ich mich in das Thema einarbeiten. Ich habe die Aufgabenstellung quasi als Übung für mich bekommen.

  5. #5
    Registriert seit
    03.04.2008
    Beiträge
    6.205
    Danke
    237
    Erhielt 817 Danke für 691 Beiträge

    Standard

    Zitat Zitat von Casimyr Beitrag anzeigen
    Ich soll erstmal überlegen, wie man das Problem lösen kann. Danach wird die Hardware passend bestellt. Es geht mir allgemein darum wie man so ein Problem löst.
    Wenn der Motor nicht zu viel Moment hat und keinen zu hohen Wirkungsgrad, kann der so für 100 ms blockiert werden.
    Dann würde ich die Position alt mit neu vergleichen und wenn der Unterschied zu gering wird, stopp ausgeben.
    Das Signal kann in diesem Fall analog sein oder auch von einem Encoder kommen.
    Als Luxus wäre natürlich ein geregelter Motor, der bei Block den Strom selbst minimiert und der PLC mehr Zeit zum auswerten gibt.


    bike

  6. #6
    Casimyr ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    08.08.2011
    Beiträge
    20
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ok, danke.

    Ich sehe aber noch ein Problem darin, dass der Vergleich zwischen Geber und der letzten gespeicherten Position "zu früh" kommt. Also, dass die SPS zu schnell arbeitet und deshalb keine Differenz zwischen den Werten sieht und den Motor anhält.

    Ich weiß nicht wie so ein Code aussieht, aber sinngemäß steht da ja:

    drehe Motor

    und in der nächsten Zeile

    Vergleiche Werte

    Schafft ein Motor eine messbare Bewegung in dieser Zeit?
    Wie wird das sonst gelöst?
    Kann man die SPS ein paar ms warten lassen, bis sich der Motor auf jeden Fall ein Stück weiter bewegt hat?

  7. #7
    Registriert seit
    03.04.2008
    Beiträge
    6.205
    Danke
    237
    Erhielt 817 Danke für 691 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Casimyr Beitrag anzeigen
    ok, danke.

    Ich sehe aber noch ein Problem darin, dass der Vergleich zwischen Geber und der letzten gespeicherten Position "zu früh" kommt. Also, dass die SPS zu schnell arbeitet und deshalb keine Differenz zwischen den Werten sieht und den Motor anhält.

    Ich weiß nicht wie so ein Code aussieht, aber sinngemäß steht da ja:

    drehe Motor

    und in der nächsten Zeile

    Vergleiche Werte

    Schafft ein Motor eine messbare Bewegung in dieser Zeit?
    Wie wird das sonst gelöst?
    Kann man die SPS ein paar ms warten lassen, bis sich der Motor auf jeden Fall ein Stück weiter bewegt hat?
    Wenn es S7 CPU ist, dann würde ich mich einmal über OB 35 klug machen.
    Oder vielleicht andere OB oder über Taktmerker den Vergleich starten.
    Es kommt immer darauf an wie schnell und und wie genau alles sein darf/muss


    bike

Ähnliche Themen

  1. SCL Anfängerfragen
    Von Gerri im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 04.10.2009, 11:25
  2. Probleme beim Programmablauf der Logo
    Von dr schwob im Forum Sonstige Steuerungen
    Antworten: 6
    Letzter Beitrag: 19.10.2007, 17:21
  3. Programmablauf
    Von Deep Blue im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 30.05.2007, 13:54
  4. PCS 7 - Programmablauf
    Von SchoberGabriel im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 07.03.2007, 10:58
  5. Antworten: 5
    Letzter Beitrag: 08.04.2004, 10:47

Lesezeichen

Berechtigungen

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