UserTech Statustasten aktualisieren

  • Hallo Robotergemeinde,
    ich habe auf einer KRC2 Vers.5.4.14 mit UserTech 2.3 eine Statustaste angelegt mit der eine Kamera ein/aus geschaltet werden kann. Die Freigabe der Taste ist von einer Variablen abhängig, das sieht in der entsprechenden *.kfd wie folgt aus. Hier ein Auszug.


    ;********Login Abfrage einlesen
    DEFSCRIPT LoginCamOn
    SET Key1 = { ENABLE TRUE}
    ENDSCRIPT
    DEFSCRIPT LoginCamOff
    SET Key1 = { ENABLE FALSE}
    ENDSCRIPT
    DEFSCRIPT LoginCam
    SHOWVAR(FULLPATH[] "VarCam1_Enable", PARAM Login_ok)
    SWITCH "%Login_ok"
    CASE 1000 DO LoginCamOn
    CASE ELSE DO LoginCamOff
    ENDSWITCH
    ENDSCRIPT


    SET Key1 = {ONKEYSHOW LoginCam}


    Funktioniert alles wie gewünscht. Wenn die Variable "VarCam1_Enable" den Wert 1000 hat ist die Taste beim Aufruf der Technologie freigegeben, sonst ist diese deaktiviert.
    Nachteil ist, ändert sich die Variable während die Technologie aktiv ist, ändert sich die Freigabe der Taste natürlich nicht, da durch den Befehl SET Key1 = {ONKEYSHOW LoginCam} nur ein Einlesen beim Aufruf festgelegt ist.
    Meine Frage: Kennt jemand eine andere Möglichkeit die Statustasten zu aktualisieren außer mit "Konfiguration" -> Statustasten -> meineTechnologie?


    Gruß explorers16

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


    was passiert wenn Du



    SET Key1 = {ONKEYSHOW LoginCam, ONKEYDOWN LoginCam} schreibst ?


    oder ={ONKEYSHOW LoginCam, ONKEYUP LoginCam}


    Vielleicht klappt's....



    ODER


    SET Key2 = { ONKEYDOWN LoginCam} wenn noch ne Taste frei ist....




    Milarm

    Einmal editiert, zuletzt von milarm ()

  • Hallo Milarm,


    sorry, ich hatte vergessen zu erwähnen, die anderen Tasten sind alle schon belegt. Eventuell kann ich eine zweite Technologie anlegen, nur für die Kamera. Ich dachte, es gäbe vielleicht sowas wie einen cwrite Befehl o.ä., welcher die eigene UserTech neu aufruft, ohne es über den besagten Aufruf "Konfiguration" -> Statustasten -> MyTechxxxx. zu machen.
    Die Variable VarCam1_Enable wird nach 2 min über einen Timer zurückgesetzt. Ist jetzt die Tech noch aktiv, kann man die Taste trotzdem noch bedienen. Erst nach erneuten Aufruf der Tech ist die Taste deaktiv.
    Gruß explorers16

  • Soweit ich weiß, wird UserTech nicht zyklisch durchlaufen?! Das würde dein Problem erklaeren.Ich hatte mal ein aehnliches Problem und habe dann aber die eigentliche Verarbeitung in der sps.sub gelegt. Dann wird halt dein Symbol wird dann halt nicht sofort geaendert, sondern erst beim naechsten Tastendruck. Hilft das weiter? Gruss

  • Ich kann es leider nicht testen, aber probiere mal ONEKEYREPEAT/ONEKEYREPEATMINUS
    Dies steht in der DOKU dazu:
    ONKEYREPEAT Name des Skripts, das ausgeführt wird, wenn die
    Taste mit der PLUS-Funktion länger gedrückt
    wird
    Das Skript wird bis zum Loslassen der Taste wiederholt
    ausgelöst. Die Zeitabstände werden dabei
    immer geringer.


    ONKEYREPEATMINUS Name des Skripts, das ausgeführt wird, wenn die
    Taste mit der MINUS-Funktion länger gedrückt
    wird
    Das Skript wird bis zum Loslassen der Taste wiederholt
    ausgelöst. Die Zeitabstände
    Gruss

  • Hallo Pat-187,


    Danke für den Tipp. Hab alles schon durchprobiert was die Doku zu bierten hat. Muss letztlich sicher eine Taste opfern, wenn ich auf die Aktualisierung bestehen möchte.


    Gruß explorers16

  • Hallo Explorers16,
    mal andere Ansätze zu Deinem Problem:
    was spricht dagegen, dies zu Lösen über eine Dialogmeldung und Belegung einer / zweier Softkeytasten aus dem Submitinterpreter.
    Da hast Du alle Möglichkeiten, es programmtechnisch zu Steuern über die Variable.
    Muss halt ziemlich sauber ausprogrammiert werden, da zyklischer Durchlauf, Programmstop, etc.


    Andere Möglichkeit wäre was zu gestalten in der Variablenübersicht mit 2 boolschen Variablen. (Configmon.ini)
    Wird sehr oft für allerlei Programm-Inputs verwendet. Lässt man dann Offen rechte Seite Bildschirm stehen.


    Oder "beleuchtbarer" Taster montieren, 1 In / 1 Output und in Submit handeln.


    Gruss SJX

    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

  • Hallo SJX,


    ich hatte auch schon an andere Lösungen gedacht, ähnlich deiner Submitinterpreter Variante, aber mir gefiel eben der UserTech Ansatz recht gut, zumal ich damit noch nie gearbeitet hatte. Deswegen wollte ich lieber mal fragen, bevor ich es zu schnell verwerfe.


    Danke für die Tipps.
    Gruß explorers16

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