UserTech Statustasten

  • Schritt für Schritt zum Roboterprofi!
  • Statustasten Skript soll einfach mehrere SETVAR Anweisungen haben... zB.


    Code
    DEFSCRIPT Key3_L1_Down 
      ; Taste gedrueckt...
      SETVAR (FULLPATH[] "$OUT[1130]", VALUE[] "FALSE")
      SETVAR (FULLPATH[] "$OUT[1131]", VALUE[] "TRUE")
    ENDSCRIPT
  • UserTech V 4.0.18.Sind KFDX Dateien. Aber ich muss sagen, ich bin ganz am Anfang mit wissen. Ich Weiß es das ich in Note ++ schreiben kann, aber ich habe keine Ahnung wie und wo ich anfangen kann\soll :) .

    Deswegen bessere Anleitungen, Videos. Anleitung von KUKA und ein Video aus Youtube ist nicht gerade hilfreich .

    Danke


  • UserTech komt mit Program um KFD auf KFDX wandel. Also, alles gebraucht ist in Handbuch...


    hab schnell ein Beispiel gebastelt aber nicht getested... solte etwa so ausehen und wahrscheinlich funzt.. viel Spass...


    C:\KRC\SmartHMI\smarthmi.exe.Beispiel.config


    C:\KRC\TP\UserTech\TEMPLATE\Beispiel.kfdx

  • So, danke für Geduld :) . Aber gehen wir von Anfang an :

    1. ich schreibe Programm in Note ++

    2.dann kopiere ich Programm auf usb und dann auf Steuerung C-KRC/TP/userTech/Templete

    3.steuerun konvert das .

    dass gleiche mache ich mit die Bilder was ich haben will?

  • Neulich (KSS8.6 und KSS8.7) UserTech nutzt KFDX Dataien (XML Struktur). Vorher Dataien waren in KFD format. Wehn KFD zur Hand ist, aber KRC mit neuer KSS/UserTech betrieben ist, KFD-> KFDX konversion ist hilfreich. Aber Beispiel ist bereits als KFDX vorbereitet, keine Wandlung ist noetig.


    Weil KFD/KFDX Dateien sehr wichtig sind, nichts passierts ohne passende menu Datai (*.config).


    So, danke für Geduld :) . Aber gehen wir von Anfang an :

    1. ich schreibe Programm in Note ++

    2.dann kopiere ich Programm auf usb und dann auf Steuerung C-KRC/TP/userTech/Templete

    3.steuerun konvert das .

    dass gleiche mache ich mit die Bilder was ich haben will?

    nein....


    lese...




    wehn es von Anfang gehts:

    1. schreibe Program in Notepad++ . das kann entweder KFD order KFDX sein. KFDX ist nur auf KSS8.6/8.7 nutzbar (UserTech 4.x+).

    2. kopiere KFD/KFDX samt Bilder auf KRC (C:\KRC\TP\UserTech\Template)

    3. schreibe passende Menu Datei (*.config)

    4. Menu Datai nach KRC uebertragen (C:\KRC\SmartHMI\)

    5. KaltStart mit "dateien neulesen" (English: 'Reload Files')

    6. status key bar anwaehlen (menu Configuration>Status Keys>Beispiel)

    Einmal editiert, zuletzt von panic mode ()

  • schreibe passende Menu Datei (*.config)

    Das habe ich ebenfalls ins Notepad geschrieben, dann einfach kopiert dann SmartHMI.exe.UserTech.KeyBar.config neue dock. erstellt und rein kopiert. prasst so?

  • Tipp:



    Kaltstart ist nur bei Änderungen in CONFIG erforderlich.

    KFD/KFDX Änderungen erfordern keinen Neustart:


    Geändertes KFD (vor UserTech 4.x) kann nach UderTech-Neuinitialisierung schnell ausprobiert werden. (menu Configuration>Miscellaneous>Reinitialize UserTech)

    Mit KFDX (UserTech4.x) gibt es so etwas nicht mehr und Änderungen sind meist sofort nutzbar.


    Wenn sich Änderungen auf die KeyBar auswirken, sollte KeyBar einfach wieder ausgewählt werden...

    (menu Sonfiguration>StausKeys>...)

  • wehn menu fehlerhaft ist, rote notiz-fenster ist gezeigt (Unhandled Error), BOF startet nicht und muss runtergefahren (stuertzt ab).


    wehn KFD/KFDX fehlerhaft ist, BOF startet aber fehlerhafte UserTech functionen sind nicht da und weitere Meldungen zu erwarten sind.


    Beispiel:

    Einmal editiert, zuletzt von panic mode ()

  • denn Fehler habe ich auch bekommen...

    wenn ich erstelle neue doku.in config.dat oder kopiere dazu zum Beispiel o. lösche aller raus und dann kopiere rein , funktioniert Garnichts. aber wenn ich bearbeite nur denn Beispiel, was schon drinnen liegst dann geht... Was mache ich falsch?


    Bei Programm geht garnichts . Schreibt, Variable ist nicht definiert.


    <Set Name="Schweissen" Enable="true" UserMode="0"

    Style="switch" Next="schweissen off">

    <Picture Default="C:\KRC\TP\UserTech\Template\gelb.ICO" KeyDown="C:\KRC\TP\UserTech\Template\schwartz1.ICO"

    KeyDownMinus="C:\KRC\TP\UserTech\Template\gelb.ICO" />

    <Text Top="String" Center="String" Bottom="String" />

    <Needs SafetySwitch="Fals" DrivesOk="Fals"

    Prostate0="32" Prostate="32"

    ModeOp="3" />


    <Scripts OnKeyDown="Einschalten" OnKeyUp="Ausschalten"

    OnKeyShow="Script" OnKeyDownMinus="Script"

    OnKeyUpMinus="Script" OnKeyRepeat="Script"

    OnKeyRepeatMinus="Script" />

    </Set>


    <Set Name="SchweissenAUT">

    <SK Name="Schweissen" pos="1" />

    <SK Name="test1" pos="2" />

    <SK Name="Stest2" pos="3" />

    <SK Name="test3" pos="4" />

    </Set>


    <Applikation Name="Ausgang1">

    <Skript Name="Einschalten">

    <SetVar Fullpath="$OUT[3030]" Value="True" />

    </Skript>

    <Applikation Name="Ausgang1">


    <Applikation Name="Ausgang2">

    <Skript Name="Ausschalten">

    <SetVar Fullpath="$OUT[3030]" Value="Fals" />

    </Skript>

    </Applikation>

    </Set>


    <Do Skript="Einschalten"/>


    <Do Skript="Ausschalten"/>


    Ist nicht perfekt geschrieben, aber irgendwo muss ich anfangen. (ist nur Beispiel!)


    Und egal was ich mache, kommt die Meldung: Die angeforderte Statustastenleiste nicht definiert (egal, gebe ich mein Beispiel oder dein)

    Einmal editiert, zuletzt von Almayer ()

  • Dateien mussen aufeinander angepast sein.

    XML syntax ist pingelig - alle Namen und Strukturen mussen stimmen... (Anfang un Ende)

    KRL Variablen mussen als Global deklariert sein.

    usw.



    Was mache ich falsch?

    Eine Menge:


    Quellcode nicht in Quellcode block </>

    Code nicht komplet, nur KFDX Teile

    Falsche Syntax,

    Dopplet deklarierte Applikation, usw.


    zB.


    "Fals" ist falsch, sollte "FALSE" sein

    "<Scripts..." ist falsch, sollte "<Script ..." sein

    Script soll nicht innerhalb Set definiert sein..

  • Wieso kommt die Meldung? ich habe alles gleich gemacht, wie beim Test Beispiel. In das Menu ist Keybar "BEISPIEL TASTEN" wahlbar . Weil hat nicht funktioniert mit mein Programm, habe dein Genommen ,gleiche schmoren :) . Wo soll ich dass definieren?

    KRL Variablen mussen als Global deklariert sein.

    in Buch steht:.

    Variablen und Datenobjekte gelten lokal, d. h. in einer definierten Techno-

    logie, wenn sie zwischen der Anweisung <Application> … </Application>

    deklariert sind.

    wieso müssen Global sein? Für jetzt, brauche ich nicht dass das Global ist, ich möchte nur, das funktioniert :)


    <Text Top="String" Center="String" Bottom="String" />

    <Needs SafetySwitch="Bool" DrivesOk="Bool"

    Prostate0="Activation value" Prostate="Activation value"

    ModeOp="Activation value" />

    <Scripts OnKeyDown="Script" OnKeyUp="Script"

    OnKeyShow="Script" OnKeyDownMinus="Script"

    OnKeyUpMinus="Script" OnKeyRepeat="Script"

    OnKeyRepeatMinus="Script" />

    </Set>

    Dass ist aus Buch. wenn in das Buch falsch ist, dann mache ich alles falsch? =O

    2 Mal editiert, zuletzt von Almayer ()

  • wie gesagt, XML syntax ist pingelig... struktur ist wichtig. achtung ist noetig bei vershactelung...


    zB


    Code
    <Param>...</Param>

    und

    Code
    <Application>...</Application>


    verschachtelt

    Code
    <Application><Param>...</Param></Application>

    oder

    Code
    <Application>
      <Param>...</Param>
    </Application>

    oder

    Code
    <KukaTechDescription>
      <Application>
        <Param>...</Param>
        <Param>...</Param>
        <Param>...</Param>
        <Param>...</Param>
        <InlineForm>...</InlineForm>
        <Set>...</Set>
      </Application>
    </KukaTechDescription>

    usw.


    Und wie gezeigt, Technologie (oder Application) kann mehrere Teile haben.

    zB.


    was bereitstellt:


    BeispielAppXYZ.BeispielKeyBar

    BeispielAppXYZ.GreiferKeyBar

    BeispielAppXYZ.ZangeKeyBar


    und Menu soll entsprechend angepast, sonst gibts:

  • um alle Eintraege ins Menu einbinden


    BeispielAppXYZ.BeispielKeyBar

    BeispielAppXYZ.GreiferKeyBar

    BeispielAppXYZ.ZangeKeyBar


    config Datai soll etwa so ausehen:

  • KRL Variablen mussen als Global deklariert sein.

    KRL Variablen mussen in DAT als Global deklariert sein. Nur dann UserTech scripts koennen Zugrif auf solche Variablen haben.

    in Buch steht:.

    Variablen und Datenobjekte gelten lokal, d. h. in einer definierten Techno-

    logie, wenn sie zwischen der Anweisung <Application> … </Application>

    deklariert sind.

    wieso müssen Global sein?

    Nicht daselbe... Buch beschreibt UserTech Variablen und Objekten - nicht KRL Variablen...!



    in KRL Ausgang ist zB $OUT[1]

    Dass ist eine globale Variable.


    UserTech had damit keine Probleme

    Code
    <SetVar FullPath="$OUT[1]" Value="TRUE />

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