Softkey in KR C1

  • Hallo zusammen,
    ich habe ein Problem bei der Einrichtung von SOftkeys bei der Steuerung KRC1.
    Ich möchte ein Pneumatikventil betreiben (5/3-Wege), welches 2 Signale braucht um es zu schalten.
    Es gibt also die 3 Zustände
    - Signal130 true + Signal131 false
    - Signal130 false + Signal131 true
    - Signal130 false + Signal131 false


    nun möchte ich dieses über einen Softkey schalten z.B. den STATKEY [4]
    also schreibe ich eine gripper.kfd ins Templateverzeichnis, die folgendermaßen aussieht:


    Code:
    DEFTP Gripper
    DECL STATKEY KEY4={NEED_MODEOP 3, NEED_PROSTATE 30, NEED_SAFETYSWITCH FALSE}


    DEFSCRIPT G_AUF
    SET KEY4={PICTURE[] "C:\KRC\ROBOTER\TEMPLATE\greifer_zu.ico"}
    SETVAR(FULLPATH[] "$OUT[130]",VALUE[] "FALSE")
    SETVAR(FULLPATH[] "$OUT[131]",VALUE[] "TRUE")
    ENDSCRIPT


    DEFSCRIPT G_ZU
    SET KEY4={PICTURE[] "C:\KRC\ROBOTER\TEMPLATE\greifer_auf.ico"}
    SETVAR(FULLPATH[] "$OUT[130]",VALUE[] "TRUE")
    SETVAR(FULLPATH[] "$OUT[131]",VALUE[] "FALSE")
    ENDSCRIPT


    DEFSCRIPT G_ISTAUF
    SET KEY4={PICTURE[] "C:\KRC\ROBOTER\TEMPLATE\greifer_zu.ico"}
    ENDSCRIPT


    DEFSCRIPT G_ISTZU
    SET KEY4={PICTURE[] "C:\KRC\ROBOTER\TEMPLATE\greifer_auf.ico"}
    ENDSCRIPT


    DEFSCRIPT G_Aktion
    SWITCH "$OUT[130]"
    CASE "FALSE" DO G_SCRIPT
    CASE "TRUE" DO G_AUF
    ENDSWITCH
    ENDSCRIPT


    DEFSCRIPT G_SCRIPT
    SWITCH "$OUT[131]"
    CASE "FALSE" DO G_AUF
    CASE "TRUE" DO G_ZU
    ENDSWITCH
    ENDSCRIPT


    DEFSCRIPT G_Startroutine
    SWITCH "$OUT[130]"
    CASE "FALSE" DO G_START_SCRIPT
    CASE "TRUE" DO G_ISTZU
    ENDSWITCH
    ENDSCRIPT


    DEFSCRIPT G_START_SCRIPT
    SWITCH "$OUT[131]"
    CASE "FALSE" DO G_ISTZU
    CASE "TRUE" DO G_ISTAUF
    ENDSWITCH
    ENDSCRIPT


    DECL STATKEYBAR EALEISTE
    SET KEY4={OnKeyDown G_Aktion,OnKeyShow G_Startroutine}
    SET EALEISTE={STATKEY[2] KEY2,STATKEY[3] KEY3,STATKEY[4] KEY4}
    ENDTP


    Code Ende;


    Nun bringt die Steuerung aber beim Hochlauf folgende Fehlermeldungen und es wird kein Icon angezeigt:


    Fehler:
    -In SWITCH "OUT[130]";CASE "FALSE" DO G_SCRIPT referenziertes Objekt G_SCRIPT unbekannt
    -SCRIPT"GRIPPER.G_Aktion" Anweisung %2 fehlerhaft Folgefehler sind zu erwarten
    -Obejektbeschreibung nicht eindeutig MODUL: C:\KRC\ROBOTER\TEMPLATE\GRIPPER.KFD Zeile 69
    -Obejektbeschreibung nicht eindeutig MODUL: C:\KRC\ROBOTER\TEMPLATE\GRIPPER.KFD Zeile 70


    -In SWITCH "OUT[130]";CASE "FALSE" DO G_START_SCRIPT referenziertes Objekt G_START_SCRIPT unbekannt
    -SCRIPT"GRIPPER.G_Startroutine" Anweisung %2 fehlerhaft Folgefehler sind zu erwarten
    -Obejektbeschreibung nicht eindeutig MODUL: C:\KRC\ROBOTER\TEMPLATE\GRIPPER.KFD Zeile 105
    -Obejektbeschreibung nicht eindeutig MODUL: C:\KRC\ROBOTER\TEMPLATE\GRIPPER.KFD Zeile 106


    -In STATKEY GRIPPER.KEY4 als ONKEYDOWN referenziertes Objekt G_Aktion ist unbekannt
    -Obejektbeschreibung nicht eindeutig MODUL: C:\KRC\ROBOTER\TEMPLATE\GRIPPER.KFD Zeile 139


    Fehler Ende;


    Also rein Logisch betrachtet ist mein Code für mich richtig. ABer er meckert ja, also muss ja was falsch sein.
    Könnt ihr mir sagen wo die Fehler stecken?


    Danke im Vorraus.


    Gruß Chris

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


    wo die Fehler stecker zeigt Dir der Compiler/Linker mit Zeilennummer schon an !!!


    Wenn es trotzdem nicht klappt - schick mir Dein KFD

    Wer nach allen Seiten offen ist kann nicht ganz dicht sein

  • Ich denke ist das die Reihenfolge der Scripts nicht richtig ist.


    Wenn ein Script mit "DO" aufgerufen wird muss es davor definiert sein.


    also


    DEFSCRIPT G_AUF ...
    DEFSCRIPT G_ZU ...
    DEFSCRIPT G_ISTAUF ...
    DEFSCRIPT G_ISTZU ...
    DEFSCRIPT G_SCRIPT ...
    DEFSCRIPT G_Aktion ...
    DEFSCRIPT G_START_SCRIPT ...
    DEFSCRIPT G_Startroutine ...

    Kontrolle ist eine Illusion, denn niemand weiss was als nächstes passiert.

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