KRC2: Programm CELL, Roboter springt in falsches Case (falscher Auftrag)

  • Hallo Leute, frohes neues Jahr wünsche ich Euch!!! :blumen:


    Ich habe fogende Situation:
    Die Auswahl der Hauptprogramme erfolgt über die KUKA-Standard-Routine CELL.


    HP001 nimmt eine Honbrille vom Standard-Zuführband, legt es auf den Motorblock und setzt dann die


    Schrauben ein.
    HP002 nimmt eine Honbrille vom Aus-/Einschleußeband, legt es auf den Motorblock und setzt dann die


    Schrauben ein.
    HP003 nimmt eine Honbrille, als n.i.O. erkannt wird vom Standard-Zuführband und legt es auf das


    Aus-/Einschleußeband.


    Bekommt der Roboter den Auftrag 3 (Honbrille Ausschleußen), so arbeitet er das HP003 korrekt ab und


    steht anschließend wieder in Home bei "Warte Auftrag".
    Sendet der Roboter "In Home" und "Bereit für Auftrag", werden alle Auftragbits auf FALSE gesetzt, bevor er einen neuen Auftrag bekommt. SPS-Signale "Auftrag übernehmen" und "Auftrag starten" werden auf FALSE gesetzt, sobald der Roboter "Auftrag übernommen" und "Auftrag läuft" meldet.
    Der Roboter steht nach Abarbeitung wieder in Homeposition auf "Warte gültige Auftragsnummer".


    Soll der Roboter nun die Wartungsposition anfahren, so bekommt er zwar die Auftragbits für Case 101,


    springt aber dennoch in Case HP003 und wartet dann unendlich auf die Freigabe, eine Honbrille vom


    Standard-Band zu holen, die er natürlich nicht bekommen kann, weil das ja nicht sein Auftrag ist, Reagiert auch erst beim zweiten drücken der SPS-Funktion "In Wartungspos fahren" auf den Interrupt (Glob. Deklarierung in CELL, Aktivierung in UP Homfahrt).
    Er sendet sogar die Bits-Kombination für Auftrag 101 an die SPS zurück, obwohl er in Case 3 gesprungen ist.



    Die Standard-KUKA-Auftragsrountine ist unverändert, lediglich ADVANCE_DEFAULT ist auf 5 gesetzt.



    Signale Automatik Extern:
    IN_1 Externer Start
    IN_2 IR_Fahrfreigabe $MOVE_ENABLE (Autom. Extern)
    IN_3 Externe Quittung $CONF_MESS (Autom. Extern)
    IN_4 Extern Antriebe aus $DRIVES_OFF (Autom. Extern)
    IN_5 Extern Antriebe ein $DRIVES_ON (Autom. Extern)
    IN_6 Externe Automatik Anforderung $I_O_ACT (Autom. Extern)
    IN_7 Reserve (Autom.Extern)
    IN_8 Reserve (Autom.Extern)
    IN_9 IR Soforthalt
    IN_10 Auftragsbit 1 Programmnummer 2^0
    IN_11 Auftragsbit 2 Programmnummer 2^1
    IN_12 Auftragsbit 3 Programmnummer 2^2
    IN_13 Auftragsbit 4 Programmnummer 2^3
    IN_14 Auftragsbit 5 Programmnummer 2^4
    IN_15 Auftragsbit 6 Programmnummer 2^5
    IN_16 Auftragsbit 7 Programmnummer 2^6
    IN_17 IR_Auftrag uebernehmen
    IN_18 IR_Auftrag starten
    IN_19 Reserve
    IN_20 Halt nach Taktende
    IN_21 IR in Grundstellung fahren
    IN_22 IR in Stand By_Position fahren ( Wartungsposition )
    IN_23 IR in RefPos Honbrille fahren
    IN_24 Greifer drehen Grundstellung
    IN_25 Greifer drehen Arbeitsstellung
    IN_26 Greifer Honbrille Oeffnen
    IN_27 Greifer Honbrille Schliessen
    IN_28 Greifer Schraube Oeffnen
    IN_29 Greifer Schraube Schliessen



    OUT_1 KRC_Steuerung bereit $RC_RDY1 (Autom. Extern)
    OUT_2 IR Bereit an SPS $PERI_RDY (Autom. Extern)
    OUT_3 IR Extern_Schnittstelle aktiv $I_O_ACTCONF (Autom. Extern)
    OUT_4 IR_Systemmeldungen liegen an $STOP_MESS (Autom. Extern)
    OUT_5 IR_Programm aktiv $PRO_ACT (Autom. Extern)
    OUT_6 IR_Programmbewegung aktiv $PRO_MOVE (Autom. Extern)
    OUT_7 Roboter nicht in Bewegung $ROB_STOPPED (Autom. Extern)
    OUT_8 IR ist in Automatik Extern $EXT (Autom. Extern)
    OUT_9 Reserve
    OUT_10 Auftragsbit 1 Programmnummer 2^0
    OUT_11 Auftragsbit 2 Programmnummer 2^1
    OUT_12 Auftragsbit 3 Programmnummer 2^2
    OUT_13 Auftragsbit 4 Programmnummer 2^3
    OUT_14 Auftragsbit 5 Programmnummer 2^4
    OUT_15 Auftragsbit 6 Programmnummer 2^5
    OUT_16 Auftragsbit 7 Programmnummer 2^6
    OUT_17 IR_Auftrag_uebernommen
    OUT_18 IR_Auftrag laeuft
    OUT_19 Auftrag beendet an SPS
    OUT_20 IR bereit fuer Auftrag an SPS
    OUT_21 IR in Grundstellung an SPS
    OUT_22 IR in Stand By_Position (Wartungsposition) an SPS
    OUT_23 IR in Referenzposition an SPS
    OUT_24 IR_Stoerung im Programmablauf an SPS



    Programm CELL ist angehängt!!!

  • Schritt für Schritt zum Roboterprofi!
  • Hallo Gerre,
    Versuch es einmal indem du dem Paritätsbit(PGNO_PARITY) Null zuweist. Und einen Kaltstart machen.
    Und in der Config.dat die Nummern und Namen für die Programme richtig vergeben.


    ; Table for assign SPS program number to program name
    INT MAX_SPS_PROG=12
    DECL SPS_PROG_TYPE SPS_PROG[12]
    SPS_PROG[1]={PROG_NR 1,PROG_NAME[] "HP01() "}
    SPS_PROG[2]={PROG_NR 2,PROG_NAME[] "HP02() "}


    MFG Michael

    Einmal editiert, zuletzt von michel ()

  • Hallo Michael, erst mal Danke für die schnelle Antwort :danke:


    PGNO_PARITY steht auf NULL (Config.dat ist erstem Beitrag angehängt) und die Namensdeklaration für SPS-Programme ist meines Wissen nur für den KRC1 von nöten. Lasse mich da aber gerne eines besseren belehren und nehme Deinen Beitrag zu Problemlösung mit auf.

  • Hallo,
    Mit der Namensänderung ist nur eine Schönheitssache. Aber stell das Paritätsbit mal auf eins danach wieder auf Null und Kaltstart.
    Hat bei mir schon öfter geholfen.
    Michael

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