Hallo,
Ich möchte nur wiesen, kann man mit KUKA Usertech ein o. mehrere Ausgange steuern mit dem Statustasten ? Wenn ja, wie?
Hallo,
Ich möchte nur wiesen, kann man mit KUKA Usertech ein o. mehrere Ausgange steuern mit dem Statustasten ? Wenn ja, wie?
Leider bin zu dumm dafür, weil mir geht Garnichts. Ich kann nicht Bilder einfügen für statustasten.
hat wer möglich, bessere Anleitungen dafür?
besser als...?
Softwareversionen sind nicht bekant... wo sind die KFD oder KFDX Dataien?
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
<?xml version="1.0"?>
<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>
Alles anzeigen
C:\KRC\TP\UserTech\TEMPLATE\Beispiel.kfdx
<?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">
<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>
<StatKey Name="Key2" Style="#SWITCH" Next="" Enable="TRUE" UserMode="">
<Picture Default="C:\KRC\TP\UserTech\TEMPLATE\Bild22.ico" KeyDown="C:\KRC\TP\UserTech\TEMPLATE\Bild21.ico" KeyDownMinus="" />
<Text Top="" Center="" Bottom="Key2" />
<Needs SafetySwitch="TRUE" DrivesOk="TRUE" Prostate0="Free|Stop|Reset|End|Active" Prostate="Free|Stop|Reset|End" ModeOp="T1|T2" />
<Scripts OnKeyDown="Key2_Down" OnKeyUp="Key2_Up" OnKeyShow="" OnKeyDownMinus="" OnKeyUpMinus="" OnKeyRepeat="" OnKeyRepeatMinus="" />
</StatKey>
<StatKey Name="Key3" Style="#SWITCH" Next="" Enable="TRUE" UserMode="">
<Picture Default="C:\KRC\TP\UserTech\TEMPLATE\Bild31.ico" KeyDown="" KeyDownMinus="" />
<Text Top="" Center="" Bottom="Key3" />
<Needs SafetySwitch="TRUE" DrivesOk="TRUE" Prostate0="Free|Stop|Reset|End|Active" Prostate="Free|Stop|Reset|End" ModeOp="T1|T2" />
<Scripts OnKeyDown="Key3_Down" OnKeyUp="Key3_Up" OnKeyShow="" OnKeyDownMinus="" OnKeyUpMinus="" OnKeyRepeat="" OnKeyRepeatMinus="" />
</StatKey>
<StatKey Name="Key4" Style="#SWITCH" Next="" Enable="TRUE" UserMode="">
<Picture Default="C:\KRC\TP\UserTech\TEMPLATE\Bild32.ico" KeyDown="" KeyDownMinus="" />
<Text Top="" Center="" Bottom="Key4" />
<<Needs SafetySwitch="TRUE" DrivesOk="TRUE" Prostate0="Free|Stop|Reset|End|Active" Prostate="Free|Stop|Reset|End" ModeOp="T1|T2" />
<Scripts OnKeyDown="Key4_Down" OnKeyUp="Key4_Up" OnKeyShow="" OnKeyDownMinus="" OnKeyUpMinus="" OnKeyRepeat="" OnKeyRepeatMinus="" />
</StatKey>
<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>
<Script Name="Key2_Down">
<Message Text="Key2_Down" />
<SetVar Fullpath="$OUT[2]" Value="TRUE" />
</Script>
<Script Name="Key2_Up">
<Message Text="Key2_Up" />
<SetVar Fullpath="$OUT[2]" Value="FALSE" />
</Script>
<Script Name="Key3_Down">
<SetVar Fullpath="$OUT[3]" Value="TRUE" />
<Message Text="Key3_Down" />
</Script>
<Script Name="Key3_Up">
<Message Text="Key3_Up" />
<SetVar Fullpath="$OUT[3]" Value="FALSE" />
</Script>
<Script Name="Key4_Down">
<SetVar Fullpath="$OUT[4]" Value="TRUE" />
<Message Text="Key4_Down" />
</Script>
<Script Name="Key4_Up">
<Message Text="Key4Up" />
<SetVar Fullpath="$OUT[4]" Value="FALSE" />
</Script>
<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>
Alles anzeigen
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?
oder muss ich Programm schon vorher konvertieren und dann auf Steuerung laden ?
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)
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?
genau...
KFD,KFDX und CONFIG sind alle nur text Dateien.
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>...)
Sicht man irgendwo wen Fehler beim schreiben ist? Weil funktioniert es nicht. Den Menu was du geschickt hast, habe auch nicht.
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:
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)
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?
wie gesagt, XML syntax ist pingelig... struktur ist wichtig. achtung ist noetig bei vershactelung...
zB
und
verschachtelt
oder
oder
<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.
<KukaTechDescription>
<Application Name="BeispielAppXYZ">
<Param>...</Param>
<Param>...</Param>
<Param>...</Param>
<Param>...</Param>
<Script>...</Script>
<Script>...</Script>
<InlineForm>...</InlineForm>
<InlineForm>...</InlineForm>
<InlineForm>...</InlineForm>
<StatkeyBar Name="BeispielKeyBar">...</StatkeyBar>
<StatkeyBar Name="GreiferKeyBar>...</StatkeyBar>
<StatkeyBar Name="ZangeKeyBar>...</StatkeyBar>
<Set>...</Set>
</Application>
</KukaTechDescription>
Alles anzeigen
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
Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können