SPS möchte mir PZ-Main senden

  • Bei timeout wird das Signal zur SPS gesetzt

    Die SPS kann daraufhin dann pptomain senden…..

    Wenn ich sowas mache das unbedingt ein pptomain folgen muss , benutze ich immer Exit.

    Nur das zurücksetzen funktioniert so nicht , das musst du bei Start Main mit als erstes zurück setzen

    Nach PP to Main Springe ich doch als erstes in meine Initialisierung rein wo ich alles resette.

    Dann sollte doch alles wieder gut sein.

  • ANZEIGE
  • StartATMain und PPtoMain machen das gleiche und ich komme immer oben in der ersten Zeile von der Main raus.


    Aber nur der PPtoMain bricht auch bei einem WaitDi ab. Hab ich das richtig verstanden?



    Stört euch bitte nicht am GoTo, ich weiss das es schöner geht.

  • Der unterschied ist hauptsächlich der:

    Entweder hast du zwei getrennte Signale(PPtoMain und dann Start) oder du hast nur eins das beides macht (StartATMain).


    Der Schlüssel ist, wie die Kollegen schon geschrieben haben, dass du dir mit dem SPSler einig sein musst wie der Ablauf ist. z.B.

    1. Warten auf Signal

    2. Roboter->SPS: sendet Signal Timeout

    3. SPS->Roboter: Systeminput StartAtMain


    Wenn du so vorgehst kannst du ohne Probleme das Beispiel aus Post 4 nehmen

  • Und jetzt setze ich noch einen drauf:

    Man kann das ganze auch mit der Fehlerbehandlungsroutine erschlagen:

    Ist evtl. etwas eleganter, da man hier viele Wait Befehle an einer einzigen Stelle abhandeln kann, und nicht nach jedem Wait Befehl das Flag abfragen muss.

  • Break stoppt sofort, ohne das Vorlauf Ende abzuwarten, und eine evtl. vorhandene Stop Event Routine wird nicht aufgerufen.

    Bei Stop ist alles genau anders: wartet den Vorlauf ab, Stop Event wird ausgeführt. Steht zumindest so im Handbuch.

  • Stop Event..OK ... leuchtet ein

    Vorlauf Ende abwarten..... :/ ...da haben wir ihn wieder den öminösen Vorlaufzeiger =O


    Das was der Vorlauf schon ausgeführt hat is ja eh schon durch, aber die Bewegung wird doch trotzdem sofort angehalten bei stop über Sys input zumindest.

    Stop im Rapid, wird da die Bewegung zum Finepunkt oder hält er am Beginn der Zone an??.

    Meine Güte man benutzt oft Sachen ohne sich ständig Gedanken zu machen was eigentlich genau passiert und wo die Unterschiede liegen. Oft ist es ja egal oder macht eben keinen Unterschied, aber so manchmal eben auch nicht.

  • Jetzt hab ich doch auch noch eine Frage aus aktuellen Anlass zu den Thema:


    folgendes ist mir heute passiert, habe es leider nur aus gewisser Entfernung gesehen

    SPS wollte PZ auf Main setzen ( welches Signal verwendet wurde erfahre ich erst morgen)

    Der Roboter hat daraufhin aber noch kurz sein normal fortgesetzt und erst etwas später pz Main ausgeführt.


    Im Log war dann folgendes zu sehen (Gedächtniss Protokoll)

    • PZ Main konnte nicht ausgeführt werden
    • Programm wird normal wieder gestartet
    • Programmzeiger wurde auf Main zurückgesetzt
    • Programm gestartet

    Das ist so ziemlich genau das was ich gesehen habe.

    Ich hoffe mal der Fehler liegt in der SPS und nicht im Roboter so nach den Motto:

    Oha! PZMain geht nicht...... starte ich halt wieder normal

  • Aus dem Bauch heraus würde ich sagen, dass es da eine Überschneidung in der Kommunikation mit der SPS gab. SPS schickt z.B. ein StartAtMain obwohl das Programm noch läuft.

    Ist aber ohne den Log bzw. Fehlernummern reine Spekulation.

  • das war im Log drin:


    10062 Ein Modul wurde bearbeitet. 21.02.2022 17:49

    10052 Wiederanfahren gestartet 21.02.2022 17:49

    20143 Start von "main" unzulässig 21.02.2022 17:49

    10053 Wiederanfahren fertig 21.02.2022 17:49

    10156 Programm neu gestartet 21.02.2022 17:49

    10125 Programm gestoppt 21.02.2022 17:49

    210002 Programmzeiger wurde zurückgesetzt 21.02.2022 17:49

    10052 Wiederanfahren gestartet 21.02.2022 17:49

    10053 Wiederanfahren fertig 21.02.2022 17:49

    10151 Programm gestartet. 21.02.2022 17:49

    10125 Programm gestoppt 21.02.2022 17:49



    Es schein schon so zu sein, zuerst ist wieder mornal gestartet worden,

    darum wurde der PZ Main nicht ausgeführt....


    Ich warte auf mal meinen SPSler....

  • Ja das elendige Thema mit der Echtzeitfähigkeit...
    Bei uns läuft die SPS mit einer Zykluszeit von 1ms, wäre schön wenn das der Roboter auch könnte.

  • Das hat weniger mit Echtzeitfähigkeit zu tun, sondern mehr mit purer Faulheit der SPS-Programmierer. Ich habe noch keinen SPS-Programmierer getroffen, der sich wirklich mal die 100 Seiten der ABB-Dokumentation zum Thema System-Ein-/Ausgänge durchgelesen hat und entsprechend der dort angeführten Rahmenbedingungen für das Senden eines Signals (wie zB. MotorsOn, Start, PZMain etc...) diese auch überprüft.


    Diese wollen halt einfach nur START schicken, wenn Roboter nicht läuft, dass hierfür aber auch das STOP Signal nicht anliegen darf, die Runchain OK sein muss, Motoren EIN etc... - das wird nicht überprüft.


    Ein Apell an alle SPS Programmierer: Bitte programmiert die Roboteransteuerung über Systemsignale einmal robust und mit zumindest den Checks die Offensichtlich sind.


    Ich habe mir hierfür die 100 PDF Seiten aus dem Manuel extrahiert, damit ich das dann den jeweiligen SPSlern direkt zeigen kann. Außerdem hab ich die wichtigsten Signale + Bedingungen nochmal auf einem Handout zusammengefasst.


    Tut mir Leid, falls mich das Thema etwas triggert, aber ich habe nicht erst einmal erlebt, dass das Log eines ABB-Roboters mit Meldungen "Start nicht zulässig" im Milisekunden-Takt zugespammt wurde, weil die SPS das signal einfach permanent schickt, solange der Roboter nicht läuft....

  • Ich kenne das nur von Yaskawa. ABB hat da, auch in der aktuellen RW, nichts


    Das einzige das ich kenne ist das:

    Code
    IF IsStopStateEvent (\PPToMain) THEN
    ! PP has been moved to main routine during the last program stop
    ENDIF

    Kann man dann z.B. in das StartEvent packen. Ich selbst habe das aber noch nie verwendet. Kann also nicht sagen wie die Feinheiten in der Verwendung aussehen

  • Hi, könntest du das hier mal bitte online stellen damit ich das meinem SPSler geben kann. Das wäre echt super von dir.

  • Mein Handout geht klar...


    Hoffe das ist hilfreich :)


    PS: Bei PZMain ist keine weitere Ausführung dabei, habe ich gerade festgestellt. Vermutlich funktioniert das nur, wenn aktuell kein Programm ausgeführt wird und auch nur auf NORMAL-Tasks.


    PPS: genauere Infos zu den ganzen Sys Signalen findet ihr im "Technischen Referenzhandbuch - Systemparameter" ab Seite 274 ca...

Hilfe und Support für ABB Roboter Programmierung, Konfiguration, Inbetriebnahme finden Sie hier im ABB Roboter Forum. ABB Rapid Programmierung ist einfach, die Roboterforum Community hilft sehr gerne.

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden