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!!

    3 Mal editiert, zuletzt von Almayer ()

  • Schritt für Schritt zum Roboterprofi!
  • 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>

    Einmal editiert, zuletzt von 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.

    2 Mal editiert, zuletzt von 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...

  • Wie mach man das Ausgang Angesteuert bleibt (spricht True) wen taste losgelassen wird?

    Ich habe auch versucht für jede taste Meldung zu machen ( message), eins gecht, aber sobald mache ich auch für zweite o. dritte ist aus.


    Kann man mit UserTech genaue Roboter Position auslesen wie z.b. Variable $OUT?


    Muss man bei jede Änderungen in Programm, Steuerung neue starten? oder gibt was, das ich ohne neue Start, Initialisierung anforderst. Nämlich, bei mir funktioniert nur mit neue Start?


    Und ganz wichtig, wieso Programm was ich haben will funktioniert, aber sobald mache ich neue Start, gecht nicht mehr?


    Danke

    2 Mal editiert, zuletzt von Almayer ()

  • example showed StatusKey using two scripts - to both set and reset output. programmer can control what is or isn't in those scripts. for example one could not change output state when StatusKey is released


    it should be possible but exact robot position would need many outputs (6 axis * 32 bit/axis = 192 bits). it is recommended to read UserTech description about intended use.


    reboot is not needed unless changes are in the menu (*.config file)


    nobody knows what is inside the program that is not shared

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