globaler Interrupt

  • Sehr geehrte Community,

    ich habe ein paar Schwierigkeiten mit der einpflege von Interrupts. Ich habe eine Interrupt Routine erstellt, über die der Roboter stehen bleibt und zusätzliche Komponenten mittels DO= 0 ausschaltet sobald der Status wieder Okay ist, geht wieder alles und der Roboter setzt seine Arbeit fort. Das ganze funktioniert in der Main-Routine aber ich hätte es gerne Global eingepflegt, so das ich die Routine in einer System Datei habe.
    Wo und wie kann ich das Einpflegen?

    Vielen Dank im Voraus.

  • ANZEIGE
  • Also wenn ich das Richtig versanden habe, sollte das kein Problem sein.


    Die machst ein neues System Modul.


    Darin erstellst du eine Routine z.B. mit dem Namen InitInterrupt.

    In dieser routine kopiertst du alles was zum erzeugen des Interrupts notwendig ist, sowie die Trap-Routine.


    Dann initalisiert du alles bei PZ Main und fertig.


    zum Beispiel so

  • Erst mal vielen Dank für die schnelle Reaktion.


    die pntloop ist die Main meiner Systemdateien. Anfangs wollte ich es auch dort einpflegen aber auf diese kann ich nicht zugreifen, weil es sich hierbei um eine Datei handelt, die im "Release" Ordner gespeichert ist.


    Habe es versucht in der Custmain einzupflegen, aber hier werden die Pre- und PostCustom nicht abgearbeitet.

  • Auf die Idee bin ich auch gekommen aber wie könnte ich dann zusätzliche Signale die nicht automatisch bei einem Stopp ausgeschaltet werden Verändern?

  • was meinst du mit "zusätzlichen" Signalen? Ich hätte gesagt, dass du sie in einer neuen Prozedur auf 0 setzen kannst..

    Code
    PROC allesAus()
      SetDO doEins,0;
      SetDO doZwei,0;
      SetDO doDrei,0;
    ENDPROC

    und diese wird dann bei jedem Programmstopp aufgerufen..


    Oder habe ich jetzt grundsätzlich etwas falsch verstanden?


    MfG


    Oder h

  • Vielen Dank für deine Unterstützung.

    Habe es vielleicht ein bisschen verwirrend formuliert.


    Ich habe die Situation, das sporadisch ein Sensor eine Meldung ausgibt (Signale 1 oder 0) bei dem die Anlage nicht in einer Störsituation ist, sondern einfach nur stoppen muss und die lackierpistole ausschalten muss. Aber der Roboter soll nicht komplett stoppen, sondern einfach nur in eine Warteposition, solange bis das Signal wieder weg ist.


    Und Event-Fenster was du gezeigt hast reagiert ja nur, wenn der Roboter gestoppt wird... aber das wäre in meiner situation leider nicht so sinnvoll.


    Wollte das ganze über die InitCustMain() machen, aber die wird bei mir irgendwie nicht abgearbeitet..... obwohl sie in der main() von pntloop drinnen ist.

  • Ja, habe ich.


    Wenn ich aber eine neue Station erstelle und das selbe Robotermodell auswähle, funktioniert die InitCustmain() so wie du sie oben beschrieben hast. Deswegen bin ich auch ein bisschen verwirrt, warum es nicht funktioniert obwohl in der pntloop auch die InitCustMain aufgerufen wird.

  • ohje... dann weiß ich aber so aus der Ferne mit null Kenntnissen und Einblick leider auch keinen Rat mehr. Außer vielleicht noch dir die ABB-Standardfrage zu stellen: "Haben Sie schon einmal einen I-Start versucht?" ;)

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