前些天一个公众号的朋友留言...................
新版本的UserTech的可编程按键,不得不说KUKA是真的有点烦呀,确实与之前的版本不太一样,之前也有三篇文章介绍说明过:KUKA 机器人UserTech 联机表格--自定义指令、KUKA机器人自定义4个工艺按键、KUKA机器人自定义按键输出信号置位复位(按键状态切换),大家可以参考看看。相比较大体上逻辑出入不太大,但是还是花了点时间,试了一下KUKA机器人自定义按键输出信号置位复位(按键状态切换)这个新版本的功能。直接修改自带的TestStat.kfdx文件,代码如下,修改完成后,以重新读入文件的方式重启。
<?xml version="1.0" encoding="utf-8"?>
<!--For an example how to add menu entries for UserTech StatkeyBars see file C:\KRC\TP\UserTech\SmartHMI\SmartHMI.exe.UserTech.KeyBar.config-->
<KukaTechDescription xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Application Name="StatkeyTest" SOT="TRUE" SOC="TRUE">
<Param Name="BildNr" ShortName="" ShortCut="" Unit="" Var="" Enable="">
<Value Type="Number" Default="1" Min="0" Max="2" Step="" Autolimit="" />
</Param>
<Param Name="StatKeyNr" ShortName="" ShortCut="" Unit="" Var="" Enable="">
<Value Type="Number" Default="1" Min="0" Max="3" Step="" Autolimit="" />
</Param>
<StatKey Name="Stat1" Enable="" UserMode="" Style="" Next="">
<Picture Default="C:\KRC\TP\UserTech\Template\Bild11.ICO" KeyDown="" KeyDownMinus="" />
<Text Top="" Center="" Bottom="" />
<Needs SafetySwitch="" DrivesOk="" Prostate0="" Prostate="" ModeOp="" />
<Scripts OnKeyDown="ST1" OnKeyUp="" OnKeyShow="" OnKeyDownMinus="" OnKeyUpMinus="" OnKeyRepeat="" OnKeyRepeatMinus="" />
</StatKey>
<StatKey Name="Stat2" Enable="" UserMode="" Style="" Next="">
<Picture Default="C:\KRC\TP\UserTech\Template\Bild21.ICO" KeyDown="" KeyDownMinus="" />
<Text Top="" Center="" Bottom="" />
<Needs SafetySwitch="" DrivesOk="" Prostate0="" Prostate="" ModeOp="" />
<Scripts OnKeyDown="ST2" OnKeyUp="" OnKeyShow="" OnKeyDownMinus="" OnKeyUpMinus="" OnKeyRepeat="" OnKeyRepeatMinus="" />
</StatKey>
<StatKey Name="Stat3" Enable="" UserMode="" Style="" Next="">
<Picture Default="C:\KRC\TP\UserTech\Template\Bild31.ICO" KeyDown="" KeyDownMinus="" />
<Text Top="" Center="" Bottom="" />
<Needs SafetySwitch="" DrivesOk="" Prostate0="" Prostate="" ModeOp="" />
<Scripts OnKeyDown="ST3" OnKeyUp="" OnKeyShow="" OnKeyDownMinus="" OnKeyUpMinus="" OnKeyRepeat="" OnKeyRepeatMinus="" />
</StatKey>
<StatKey Name="Stat4" Enable="" UserMode="" Style="" Next="">
<Picture Default="C:\KRC\TP\UserTech\Template\Bild41.ICO" KeyDown="" KeyDownMinus="" />
<Text Top="" Center="" Bottom="" />
<Needs SafetySwitch="" DrivesOk="" Prostate0="" Prostate="" ModeOp="" />
<Scripts OnKeyDown="CHGStatkey" OnKeyUp="" OnKeyShow="" OnKeyDownMinus="" OnKeyUpMinus="" OnKeyRepeat="" OnKeyRepeatMinus="" />
</StatKey>
<Script Name="StatKeyTrue">
<Message Text="$OUT %StatkeyNr = ON" />
</Script>
<Script Name="StatKeyFlase">
<Message Text="$OUT %StatkeyNr = OFF" />
</Script>
<Script Name="StatKeyBool">
<Switch Dialog="FALSE" Condition="%BildNr">
<Case Value="1" Do="StatKeyTrue" />
<Case Value="2" Do="StatKeyFlase" />
</Switch>
</Script>
<Script Name="OUT1TRUE">
<SetVar Fullpath="$OUT[1]" Value="True" />
</Script>
<Script Name="OUT1FALSE">
<SetVar Fullpath="$OUT[1]" Value="FALSE" />
</Script>
<Script Name="OUT2TRUE">
<SetVar Fullpath="$OUT[2]" Value="True" />
</Script>
<Script Name="OUT2FALSE">
<SetVar Fullpath="$OUT[2]" Value="FALSE" />
</Script>
<Script Name="OUT3TRUE">
<SetVar Fullpath="$OUT[3]" Value="True" />
</Script>
<Script Name="OUT3FALSE">
<SetVar Fullpath="$OUT[3]" Value="FALSE" />
</Script>
<Script Name="ST1">
<ShowVar Fullpath="1" Param="StatKeyNr" />
<Switch Dialog="FALSE" Condition="%BildNr">
<Case Value="1" Do="OUT1TRUE" />
<Case Value="2" Do="OUT1FALSE" />
</Switch>
<Do Script="StatKeyBool" />
</Script>
<Script Name="ST2">
<ShowVar Fullpath="2" Param="StatKeyNr" />
<Switch Dialog="FALSE" Condition="%BildNr">
<Case Value="1" Do="OUT2TRUE" />
<Case Value="2" Do="OUT2FALSE" />
</Switch>
<Do Script="StatKeyBool" />
</Script>
<Script Name="ST3">
<ShowVar Fullpath="3" Param="StatKeyNr" />
<Switch Dialog="FALSE" Condition="%BildNr">
<Case Value="1" Do="OUT3TRUE" />
<Case Value="2" Do="OUT3FALSE" />
</Switch>
<Do Script="StatKeyBool" />
</Script>
<Script Name="SKB1">
<ShowVar Fullpath="1" Param="BildNr" />
<Set Name="Stat1" Enable="" UserMode="" Style="" Next="">
<Picture Default="C:\KRC\TP\UserTech\Template\Bild11.ICO" KeyDown="" KeyDownMinus="" />
<Text Top="" Center="ON" Bottom="" />
<Needs SafetySwitch="" DrivesOk="" Prostate0="" Prostate="" ModeOp="" />
<Scripts OnKeyDown="" OnKeyUp="" OnKeyShow="" OnKeyDownMinus="" OnKeyUpMinus="" OnKeyRepeat="" OnKeyRepeatMinus="" />
</Set>
<Set Name="Stat2" Enable="" UserMode="" Style="" Next="">
<Picture Default="C:\KRC\TP\UserTech\Template\Bild21.ICO" KeyDown="" KeyDownMinus="" />
<Text Top="" Center="ON" Bottom="" />
<Needs SafetySwitch="" DrivesOk="" Prostate0="" Prostate="" ModeOp="" />
<Scripts OnKeyDown="" OnKeyUp="" OnKeyShow="" OnKeyDownMinus="" OnKeyUpMinus="" OnKeyRepeat="" OnKeyRepeatMinus="" />
</Set>
<Set Name="Stat3" Enable="" UserMode="" Style="" Next="">
<Picture Default="C:\KRC\TP\UserTech\Template\Bild31.ICO" KeyDown="" KeyDownMinus="" />
<Text Top="" Center="ON" Bottom="" />
<Needs SafetySwitch="" DrivesOk="" Prostate0="" Prostate="" ModeOp="" />
<Scripts OnKeyDown="" OnKeyUp="" OnKeyShow="" OnKeyDownMinus="" OnKeyUpMinus="" OnKeyRepeat="" OnKeyRepeatMinus="" />
</Set>
</Script>
<Script Name="SKB2">
<ShowVar Fullpath="2" Param="BildNr" />
<Set Name="Stat1" Enable="" UserMode="" Style="" Next="">
<Picture Default="C:\KRC\TP\UserTech\Template\Bild12.ICO" KeyDown="" KeyDownMinus="" />
<Text Top="" Center="OFF" Bottom="" />
<Needs SafetySwitch="" DrivesOk="" Prostate0="" Prostate="" ModeOp="" />
<Scripts OnKeyDown="" OnKeyUp="" OnKeyShow="" OnKeyDownMinus="" OnKeyUpMinus="" OnKeyRepeat="" OnKeyRepeatMinus="" />
</Set>
<Set Name="Stat2" Enable="" UserMode="" Style="" Next="">
<Picture Default="C:\KRC\TP\UserTech\Template\Bild22.ICO" KeyDown="" KeyDownMinus="" />
<Text Top="" Center="OFF" Bottom="" />
<Needs SafetySwitch="" DrivesOk="" Prostate0="" Prostate="" ModeOp="" />
<Scripts OnKeyDown="" OnKeyUp="" OnKeyShow="" OnKeyDownMinus="" OnKeyUpMinus="" OnKeyRepeat="" OnKeyRepeatMinus="" />
</Set>