UserTech Statustasten


  • Program:


    <?xml version="1.0" encoding="utf-8"?>

    <KukaTechDescription xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">


    <Application Name="Beispiel" SOT="TRUE" SOC="TRUE">


    <StatkeyBar Name="BeispielKeyBar">

    <SK Name="Key1" Pos="1" />

    <SK Name="Key2" Pos="2" />

    <SK Name="Key3" Pos="3" />

    <SK Name="Key4" Pos="4" />

    </StatkeyBar>


    <Set Name="BeispielKeyBar" Enable="TRUE" UserMode="" Style="" Next="">

    <SK Name="Key1" Pos="1" />

    <SK Name="Key2" Pos="2" />

    <SK Name="Key3" Pos="3" />

    <SK Name="Key4" Pos="4" />

    </Set>


    </Application>


    </KukaTechDescription>

    <!--checksum 15856428413 -->



    UND MENU :


    <configuration>

    <configSections>

    <section name="Ade.AdeComponentFramework.Components" type="Ade.Internal.ConfigurationSectionHandler, Ade.ComponentsImpl" allowExeDefinition="MachineToLocalUser" />

    <section name="KukaRoboter.SmartHMI.Menu" type="Ade.Internal.ConfigurationSectionHandler, Ade.ComponentsImpl" allowExeDefinition="MachineToLocalUser" />

    </configSections>

    <Ade.AdeComponentFramework.Components type="Ade.Components.ComponentReferenceConfiguration, Ade.Components">

    <Component Type="KukaRoboter.UserTech.StatKeys.ViewModels.UserkeyBarRepository, KukaRoboter.UserTech.StatKeys" />

    </Ade.AdeComponentFramework.Components>

    <KukaRoboter.SmartHMI.Menu type="KukaRoboter.SmartHMI.UIFramework.Menu.MenuRootImpl, SmartHMI">

    <MenuRoot SystemName="MainMenu">

    <MenuFolder SystemName="Config">

    <MenuFolder SystemName="ConfigStatKeys">

    <MenuItem DisplayName="Beispiel Tasten" MergeOrder="200">

    <CommandCall Target="UserkeyBarManager.OpenUserkeyBar" Right="OperationTP">

    <Argument Name="UserkeyBarRepository">KukaRoboter.UserTech.StatKeys.ViewModels.UserkeyBarRepository</Argument>

    <Argument Name="UserkeyBarID"> Beispiel.BeispielKeyBar </Argument>

    </CommandCall>

    </MenuItem>

    </MenuFolder>

    </MenuFolder>

    </MenuRoot>


    </KukaRoboter.SmartHMI.Menu>

    </configuration>


    (Config Dati das funktioniert, weil leiste mit nahmen "Beispiel Tasten" kommt.)


    So schaut Programm jetzt aus. Alle, nicht notwendige Sache habe weg gemacht, das ich testen kann, ob jetzt Statustastenleiste deklariert wird o. nicht, aber kein Erfolg..:)


    Gestern würde auch andre Meldung angezeigt und zwar :

    Could not load KFDX file<C:\KRC\TPUserTech\Template\Testy.kfdx>! Error:There is an error in XML document (29,8)


    (Testy.kfdx ist Programm Name ,was ich erstellt habe)


    Möglich mache ich mit kdfx Datei was falsch? nicht richtig anlegen usw.?


    Danke!!

    Edited 3 times, last by Almayer ().

  • KUKA Handwerk
    Anzeige
  • Ehrlich gesagt habe ich keine Lust, Code ohne Formatierung und Zeilennummern zu lesen ...


    Der Code sollte in das Quellcode-Tag eingeschlossen werden:



    Möglich mache ich mit kdfx Datei was falsch?

    genau...


    KeyBar ist definiert und Tasten zugewiesen, aber die Tasten 1-4 sind nicht definiert. alle abhängigen Objekte müssen definiert werden

    Code
    <StatkeyBar Name="BeispielKeyBar">
        <SK Name="Key1" Pos="1" />
        <SK Name="Key2" Pos="2" />
        <SK Name="Key3" Pos="3" />
        <SK Name="Key4" Pos="4" />
    </StatkeyBar>


    Also jede Taste braucht sowas :

    Code
        <StatKey Name="Key1" Style="#SWITCH" Next="" Enable="TRUE" UserMode="">
          <Picture Default="C:\KRC\TP\UserTech\TEMPLATE\Bild1.ico" KeyDown="C:\KRC\TP\UserTech\TEMPLATE\Bild2.ico" KeyDownMinus="" />
          <Text Top="" Center="" Bottom="Key1" />
          <Needs SafetySwitch="TRUE" DrivesOk="TRUE" Prostate0="Free|Stop|Reset|End|Active" Prostate="Free|Stop|Reset|End" ModeOp="T1|T2" />
          <Scripts OnKeyDown="Key1_Down" OnKeyUp="Key1_Up" OnKeyShow="" OnKeyDownMinus="" OnKeyUpMinus="" OnKeyRepeat="" OnKeyRepeatMinus="" />
        </StatKey>    


    Dasselbe gilt für Skripte. jeder Aufruf benötigt eine Deklaration, und Taste ruft zwei Skripte


    " <Scripts OnKeyDown="Key1_Down" OnKeyUp="Key1_Up" OnKeyShow="" OnKeyDownMinus="" OnKeyUpMinus="" OnKeyRepeat="" OnKeyRepeatMinus="" />"


    Deshalb:

    Code
        <Script Name="Key1_Down">
           < Message Text="Taste #1 gedrueckt..." /> 
           <SetVar Fullpath="$OUT[1]" Value="TRUE" />
        </Script>
        
        <Script Name="Key1_Up">
           < Message Text="Taste #1 gelassen..." /> 
           <SetVar Fullpath="$OUT[1]" Value="FALSE" />
        </Script>

    Edited once, last by panic mode ().

  • ...

    und was passiert dann, wenn ich nur zwei taste oder sogar eins brauche? Muss man trotzdem alle setzen\definieren.

    weil zwei Möglichkeiten gibt SETZEN und DEFINIREN. Muss man in Programm beide schreiben o.

    geht nur einen (Z.B setzen)? wenn eine, was ist leichter?



    Hast du recht gehabt. das alles ist WIRKLICH pingelig... Katastrophe :)

    hat Eine weile sogar was funktioniert ... jetzt nicht mehr.

    Edited 2 times, last by Almayer ().

  • Ich immer definire alles und setze wehn gebraucht. Es hilft eine Attrappe Taste definieren, die nicht aktiviert ist. Danach als Platzhalter verwendet werden um nicht benutzte tasten deaktivieren...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now