INTERRUPT DECL mit Prio-Ausdruck ?

  • Hi KUKA-Spezies,


    kann es sein, dass man in KRL (4.1) bei:
    INTERRUPT DECL Prio ....
    für Prio nur literale numerische Ausdrücke verwenden darf, also keine symbolischen Konstanten/Variablen etc. ?


    In der Doku steht, dass für Prio ein arithmetischer Ausdruck verwendet werden darf/muß.
    Ein arithmetischer Ausdruck ist (laut KUKA Definition):
    "Ein Ausdruck ist ein Konstrukt aus Datenobjekten und Operatoren und besitzt einen eigenen
    Datentyp und Wert. Ein Ausdruck heißt arithmetisch, wenn sein Ergebnis die Datentypen INT oder REAL
    hat."
    [...]


    Bei mir kommt eine entsprechende Fehlermeldung ("Wert für PRIO nicht zulässig" oder so ähnlich) wenn ich eine symbolische Konstante (oder auch Variable) dafür verwenden will.
    Konstante ist deklariert in der Datenliste z.B. so:
    DECL CONST INT CBMESS_IRPT=10


    Habe schon alles Mögliche ausprobiert (Dekl. in $config.dat, verschiedene Schreibweisen etc.) aber ohne Erfolg.
    Hat das schonmal einer hinbekommen, oder ist die KUKA-Doku diesbzgl. einfach falsch, oder bin ich zu doof ? :wallbash:


    Thx für Aufklärung
    rmac

  • Schritt für Schritt zum Roboterprofi!
  • Hallo,


    einen Interrupt deklarie=rt man so: Interrupt decl <Nr. 1 ... 32> when ..., nicht zu verwchseln mit
    trigger WHEN distance = <Schaltpunkt auf der Bahn> delay = <> DO UP () prio = <Nr 1 ...39, 81...128>


    Gruß


    PA

  • Na supi, das ist mir auch klar... :kiss:


    Die Frage war eigentlich die: ich möchte statt:


    INTERRUPT DECL 10 WHEN not inBMessSens DO IR_BMess()


    lieber


    INTERRUPT DECL CBMESS_IRPT WHEN not inBMessSens DO IR_BMess()


    schreiben, um die Interrupt-Nr zentral in einer symbolischen Konstanten "unterzubringen",
    damit man die bei Änderung nur einmal im Quelltext editieren muß und nicht 50mal in 12 Dateien oder so.
    Zweifelsfrei einer der vielen Vorteile von symbolischen Konstanten..... :ylsuper:


    Das kann eigentlich jede Deppen-Programmiersprache....frage mich nur ob KRL auch dazu gehört.... :huh:


    Gruß
    rmac

  • Hallo,


    aufgrund der 1. Frage


    kann es sein, dass man in KRL (4.1) bei:
    INTERRUPT DECL Prio ....


    konnte ich nicht den Eindruck haben: Na supi, das ist mir auch klar...


    Gruß


    PA

  • Hallo PA,


    ich will ja nicht unhöflich sein, aber ich denke, dass -im Gegensatz zu einigen anderen Fragen hier im Forum-
    mein Betreff und die anschließende Frage doch (eigentlich) recht unmissverständlich formuliert war,
    zumal im KUKA-Ref.-Guide die entsprechende Deklaration auch so beschrieben ist:
    INTERRUPT DECL Prio WHEN Ereignis DO Unterprogramm
    wobei es sich (laut Doku) bei Prio um einen "Arithmetischer Ausdruck, der die Priorität der Unterbrechung
    angibt.
    " handelt.


    Im Übrigen hätte zu deiner Antwort die passende Frage "Wie deklariert man einen Interrupt?"
    lauten müssen. :???:


    Nichts für ungut, trotzdem Danke für deine Beteiligung...
    Gruß
    rmac

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