100 lines
3.4 KiB
XML
100 lines
3.4 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Programs xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.staubli.com/robotics/VAL3/Program/2">
|
|
<Program name="onCommandTcp">
|
|
<Parameters xmlns="http://www.staubli.com/robotics/VAL3/Param/1">
|
|
<Parameter name="cmd" type="string" xsi:type="element" />
|
|
<Parameter name="args" type="string" xsi:type="array" use="reference" />
|
|
<Parameter name="tx" type="string" xsi:type="element" use="reference" />
|
|
<Parameter name="ex" type="string" xsi:type="element" use="reference" />
|
|
</Parameters>
|
|
<Locals>
|
|
<Local name="index" type="num" xsi:type="array" size="1" />
|
|
<Local name="puck" type="num" xsi:type="array" size="1" />
|
|
<Local name="sample" type="num" xsi:type="array" size="1" />
|
|
<Local name="bOk" type="bool" xsi:type="array" size="1" />
|
|
<Local name="aux" type="num" xsi:type="array" size="1" />
|
|
<Local name="ret" type="num" xsi:type="array" size="1" />
|
|
<Local name="count" type="num" xsi:type="array" size="1" />
|
|
</Locals>
|
|
<Code><![CDATA[begin
|
|
switch(cmd)
|
|
case "eval"
|
|
tx=$exec(args[0])
|
|
|
|
// if (find(cmd,"numRet")!=-1)
|
|
// stringReturn = stringReturn+toString("4.4",numRet)
|
|
// call notify:setString("NumericalReturn",toString("4.4",numRet))
|
|
// endIf
|
|
// if (find(cmd,"Power")!=-1)
|
|
// call notify:setBool("IsPowered",isPowered())
|
|
// endIf
|
|
|
|
// for i=0 to len(stringReturn)-1 step 1
|
|
// numericalReturn[i]=asc(stringReturn,i)
|
|
// endFor
|
|
|
|
|
|
break
|
|
case "get_var"
|
|
ret = getData(args[0], aux)
|
|
switch(ret)
|
|
case -1
|
|
ex = "The variable does not exists"
|
|
break
|
|
case -2
|
|
ex = "The variable library does not exists"
|
|
break
|
|
case -3
|
|
ex = "The index is out of range"
|
|
break
|
|
case -4
|
|
ex = "The data's type does not match the variable's type"
|
|
break
|
|
default
|
|
tx = toString(".4", ret)
|
|
break
|
|
endSwitch
|
|
break
|
|
|
|
case "get_arr"
|
|
toNum(args[1], count, bOk)
|
|
tx = ""
|
|
for index = 0 to count
|
|
ret = getData(args[0] + "[" + toString("", index )+ "]", aux)
|
|
switch(ret)
|
|
case -1
|
|
ex = "The variable does not exists"
|
|
return
|
|
break
|
|
case -2
|
|
ex = "The variable library does not exists"
|
|
return
|
|
break
|
|
case -3
|
|
ex = "The index is out of range"
|
|
return
|
|
break
|
|
case -4
|
|
ex = "The data's type does not match the variable's type"
|
|
return
|
|
break
|
|
default
|
|
tx = tx + toString(".4", ret) + "|"
|
|
break
|
|
endSwitch
|
|
endFor
|
|
break
|
|
|
|
|
|
case "mount"
|
|
toNum(args[0], puck, bOk)
|
|
toNum(args[1], sample, bOk)
|
|
tx = "Mounting sample " + toString("", puck) + ":" + toString("", sample)
|
|
break
|
|
default
|
|
ex = "Invalid command: " + cmd
|
|
break
|
|
endSwitch
|
|
end]]></Code>
|
|
</Program>
|
|
</Programs> |