Added versioning to robot project
This commit is contained in:
13
robot/MXLAB/Controller1/Controller1.controller
Normal file
13
robot/MXLAB/Controller1/Controller1.controller
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LocalController xmlns="http://www.staubli.com/robotics/controller/1">
|
||||
<Version>s7.9.1</Version>
|
||||
<Properties>
|
||||
<Property type="SRS.VAL3Studio.Services.RobotSkinControllerProperty">
|
||||
<RobotSkin xmlns="http://www.staubli.com/robotics/robotskincontrollerproperty/1">TX60L-HB-L-WS</RobotSkin>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Target hostname="">
|
||||
<Context type="RemoteConnection" port="5653" username="default" />
|
||||
<Context type="ClientRemoteAccess" port="800" username="default" />
|
||||
</Target>
|
||||
</LocalController>
|
||||
10
robot/MXLAB/Controller1/usr/applicom/Modbus/modbus.xml
Normal file
10
robot/MXLAB/Controller1/usr/applicom/Modbus/modbus.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
|
||||
<TOPICSLIST>
|
||||
<TOPIC Name="Modbus" Card="0" Channel="0" Equipment="0" RefreshPeriod="200" Actif="1">
|
||||
<MODULE Tag_name_root="Bit" IDModule="BOOLEAN" InputSize="" OutputSize="0">
|
||||
</MODULE>
|
||||
<MODULE Tag_name_root="Word" IDModule="WORD" InputSize="" OutputSize="1264">
|
||||
<ITEM Name="M1" Syntaxe="%IW0" Offset="0"/><ITEM Name="M2" Syntaxe="%IW1" Offset="1"/><ITEM Name="M3" Syntaxe="%IW2" Offset="2"/><ITEM Name="M4" Syntaxe="%IW3" Offset="3"/><ITEM Name="M5" Syntaxe="%IW4" Offset="4"/><ITEM Name="M6" Syntaxe="%IW5" Offset="5"/><ITEM Name="STATUS" Syntaxe="%IW6:6" Offset="6"/><ITEM Name="COMMAND" Syntaxe="%QW12" Offset="12"/><ITEM Name="REQUEST" Syntaxe="%QW13" Offset="13"/><ITEM Name="ACKNOWLEDGE" Syntaxe="%IW14" Offset="14"/><ITEM Name="RETURN" Syntaxe="%IW15:32" Offset="15"/><ITEM Name="ARGUMENTS" Syntaxe="%QW47:32" Offset="47"/></MODULE>
|
||||
</TOPIC>
|
||||
<GENERAL_PARAMETERS TopicName="Modbus" TCP_Port="502" ConnectionNumber="2"/>
|
||||
</TOPICSLIST>
|
||||
22
robot/MXLAB/Controller1/usr/configs/arm.cfx
Normal file
22
robot/MXLAB/Controller1/usr/configs/arm.cfx
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<arm>
|
||||
<String name="arm" value="tx60l-S1" />
|
||||
<String name="tuning" value="" />
|
||||
<String name="mount" value="floor" />
|
||||
<FloatArray name="zeroOffset">
|
||||
<Float index="0" value="0.0000000" />
|
||||
<Float index="1" value="0.0000000" />
|
||||
<Float index="2" value="0.0000000" />
|
||||
<Float index="3" value="0.0000000" />
|
||||
<Float index="4" value="0.0000000" />
|
||||
<Float index="5" value="0.0000000" />
|
||||
</FloatArray>
|
||||
<FloatArray name="factoryMark">
|
||||
<Float index="0" value="0.0000001" />
|
||||
<Float index="1" value="0.0000000" />
|
||||
<Float index="2" value="0.0000000" />
|
||||
<Float index="3" value="0.0000000" />
|
||||
<Float index="4" value="0.0000000" />
|
||||
<Float index="5" value="0.0000000" />
|
||||
</FloatArray>
|
||||
</arm>
|
||||
35
robot/MXLAB/Controller1/usr/configs/bio.cfx
Normal file
35
robot/MXLAB/Controller1/usr/configs/bio.cfx
Normal file
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<bio>
|
||||
<bioDin index="0" name="bIn0" mode="notInverted" />
|
||||
<bioDin index="1" name="bIn1" mode="notInverted" />
|
||||
<bioDin index="2" name="bIn2" mode="notInverted" />
|
||||
<bioDin index="3" name="bIn3" mode="notInverted" />
|
||||
<bioDin index="4" name="bIn4" mode="notInverted" />
|
||||
<bioDin index="5" name="bIn5" mode="notInverted" />
|
||||
<bioDin index="6" name="bIn6" mode="notInverted" />
|
||||
<bioDin index="7" name="bIn7" mode="notInverted" />
|
||||
<bioDin index="8" name="bIn8" mode="notInverted" />
|
||||
<bioDin index="9" name="bIn9" mode="notInverted" />
|
||||
<bioDin index="10" name="bIn10" mode="notInverted" />
|
||||
<bioDin index="11" name="bIn11" mode="notInverted" />
|
||||
<bioDin index="12" name="bIn12" mode="notInverted" />
|
||||
<bioDin index="13" name="bIn13" mode="notInverted" />
|
||||
<bioDin index="14" name="bIn14" mode="notInverted" />
|
||||
<bioDin index="15" name="bIn15" mode="notInverted" />
|
||||
<bioDout index="0" name="bOut0" mode="notInverted" />
|
||||
<bioDout index="1" name="bOut1" mode="notInverted" />
|
||||
<bioDout index="2" name="bOut2" mode="notInverted" />
|
||||
<bioDout index="3" name="bOut3" mode="notInverted" />
|
||||
<bioDout index="4" name="bOut4" mode="notInverted" />
|
||||
<bioDout index="5" name="bOut5" mode="notInverted" />
|
||||
<bioDout index="6" name="bOut6" mode="notInverted" />
|
||||
<bioDout index="7" name="bOut7" mode="notInverted" />
|
||||
<bioDout index="8" name="bOut8" mode="notInverted" />
|
||||
<bioDout index="9" name="bOut9" mode="notInverted" />
|
||||
<bioDout index="10" name="bOut10" mode="notInverted" />
|
||||
<bioDout index="11" name="bOut11" mode="notInverted" />
|
||||
<bioDout index="12" name="bOut12" mode="notInverted" />
|
||||
<bioDout index="13" name="bOut13" mode="notInverted" />
|
||||
<bioDout index="14" name="bOut14" mode="notInverted" />
|
||||
<bioDout index="15" name="bOut15" mode="notInverted" />
|
||||
</bio>
|
||||
35
robot/MXLAB/Controller1/usr/configs/bio2.cfx
Normal file
35
robot/MXLAB/Controller1/usr/configs/bio2.cfx
Normal file
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<bio>
|
||||
<bio2Din index="0" name="b2In0" mode="notInverted" />
|
||||
<bio2Din index="1" name="b2In1" mode="notInverted" />
|
||||
<bio2Din index="2" name="b2In2" mode="notInverted" />
|
||||
<bio2Din index="3" name="b2In3" mode="notInverted" />
|
||||
<bio2Din index="4" name="b2In4" mode="notInverted" />
|
||||
<bio2Din index="5" name="b2In5" mode="notInverted" />
|
||||
<bio2Din index="6" name="b2In6" mode="notInverted" />
|
||||
<bio2Din index="7" name="b2In7" mode="notInverted" />
|
||||
<bio2Din index="8" name="b2In8" mode="notInverted" />
|
||||
<bio2Din index="9" name="b2In9" mode="notInverted" />
|
||||
<bio2Din index="10" name="b2In10" mode="notInverted" />
|
||||
<bio2Din index="11" name="b2In11" mode="notInverted" />
|
||||
<bio2Din index="12" name="b2In12" mode="notInverted" />
|
||||
<bio2Din index="13" name="b2In13" mode="notInverted" />
|
||||
<bio2Din index="14" name="b2In14" mode="notInverted" />
|
||||
<bio2Din index="15" name="b2In15" mode="notInverted" />
|
||||
<bio2Dout index="0" name="b2Out0" mode="notInverted" />
|
||||
<bio2Dout index="1" name="b2Out1" mode="notInverted" />
|
||||
<bio2Dout index="2" name="b2Out2" mode="notInverted" />
|
||||
<bio2Dout index="3" name="b2Out3" mode="notInverted" />
|
||||
<bio2Dout index="4" name="b2Out4" mode="notInverted" />
|
||||
<bio2Dout index="5" name="b2Out5" mode="notInverted" />
|
||||
<bio2Dout index="6" name="b2Out6" mode="notInverted" />
|
||||
<bio2Dout index="7" name="b2Out7" mode="notInverted" />
|
||||
<bio2Dout index="8" name="b2Out8" mode="notInverted" />
|
||||
<bio2Dout index="9" name="b2Out9" mode="notInverted" />
|
||||
<bio2Dout index="10" name="b2Out10" mode="notInverted" />
|
||||
<bio2Dout index="11" name="b2Out11" mode="notInverted" />
|
||||
<bio2Dout index="12" name="b2Out12" mode="notInverted" />
|
||||
<bio2Dout index="13" name="b2Out13" mode="notInverted" />
|
||||
<bio2Dout index="14" name="b2Out14" mode="notInverted" />
|
||||
<bio2Dout index="15" name="b2Out15" mode="notInverted" />
|
||||
</bio>
|
||||
68
robot/MXLAB/Controller1/usr/configs/cell.cfx
Normal file
68
robot/MXLAB/Controller1/usr/configs/cell.cfx
Normal file
@@ -0,0 +1,68 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<cell>
|
||||
<String name="language" value="english" />
|
||||
<Uint name="coderCounts" value="1024" />
|
||||
<String name="valve1Mode" value="notInverted" />
|
||||
<String name="valve2Mode" value="notInverted" />
|
||||
<String name="vreg1Mode" value="inverted" />
|
||||
<String name="vreg2Mode" value="inverted" />
|
||||
<String name="vreg1_enMode" value="inverted" />
|
||||
<String name="vreg2_enMode" value="inverted" />
|
||||
<String name="usrIn0Mode" value="notInverted" />
|
||||
<String name="usrIn1Mode" value="notInverted" />
|
||||
<Bool name="longEsOut" value="true" />
|
||||
<Uint name="magicFlag" value="0" />
|
||||
<Float name="cycleTime" value="-1" />
|
||||
<Float name="val3WatchdogPeriod" value="-1" />
|
||||
<Float name="maxManuCartSpeed" value="250" />
|
||||
<Float name="maxStartMonitorSpeed" value="10" />
|
||||
<FloatArray name="minCellJointPos" >
|
||||
<Float index="0" value="-99999" />
|
||||
<Float index="1" value="-99999" />
|
||||
<Float index="2" value="-99999" />
|
||||
<Float index="3" value="-99999" />
|
||||
<Float index="4" value="-99999" />
|
||||
<Float index="5" value="-99999" />
|
||||
</FloatArray>
|
||||
<FloatArray name="maxCellJointPos" >
|
||||
<Float index="0" value="99999" />
|
||||
<Float index="1" value="99999" />
|
||||
<Float index="2" value="99999" />
|
||||
<Float index="3" value="99999" />
|
||||
<Float index="4" value="99999" />
|
||||
<Float index="5" value="99999" />
|
||||
</FloatArray>
|
||||
<CellJntRange>
|
||||
</CellJntRange>
|
||||
<String name="refPos" value="FactoryMarks" />
|
||||
<FloatArray name="refPos1" >
|
||||
<Float index="0" value="0" />
|
||||
<Float index="1" value="0" />
|
||||
<Float index="2" value="0" />
|
||||
<Float index="3" value="0" />
|
||||
<Float index="4" value="0" />
|
||||
<Float index="5" value="0" />
|
||||
</FloatArray>
|
||||
<FloatArray name="refPos2" >
|
||||
<Float index="0" value="0" />
|
||||
<Float index="1" value="0" />
|
||||
<Float index="2" value="0" />
|
||||
<Float index="3" value="0" />
|
||||
<Float index="4" value="0" />
|
||||
<Float index="5" value="0" />
|
||||
</FloatArray>
|
||||
<Bool name="parkCheckInAutoMode" value="false" />
|
||||
<String name="robotName" value="" />
|
||||
<autoStart name="" location="" />
|
||||
<String name="initWorkingMode" value="manual" />
|
||||
<CellDynamicParams>
|
||||
<VectCart name="gravity" x="0" y="0" z="-9.81" />
|
||||
</CellDynamicParams>
|
||||
<Bool name="miniJog" value="true" />
|
||||
<Bool name="useUsUnits" value="false" />
|
||||
<String name="T1_key" value="valve1" />
|
||||
<String name="T2_key" value="valve2" />
|
||||
<String name="T3_key" value="" />
|
||||
<String name="defaultUser" value="default" />
|
||||
<Float name="monitorSpeed" value="10" />
|
||||
</cell>
|
||||
27
robot/MXLAB/Controller1/usr/configs/cio.cfx
Normal file
27
robot/MXLAB/Controller1/usr/configs/cio.cfx
Normal file
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<cio>
|
||||
<cioDin index="0" name="cDin0" mode="notInverted" />
|
||||
<cioDin index="1" name="cDin1" mode="notInverted" />
|
||||
<cioDin index="2" name="cDin2" mode="notInverted" />
|
||||
<cioDin index="3" name="cDin3" mode="notInverted" />
|
||||
<cioDin index="4" name="cDin4" mode="notInverted" />
|
||||
<cioDin index="5" name="cDin5" mode="notInverted" />
|
||||
<cioDin index="6" name="cDin6" mode="notInverted" />
|
||||
<cioDin index="7" name="cDin7" mode="notInverted" />
|
||||
<cioDout index="0" name="cDout0" mode="notInverted" />
|
||||
<cioDout index="1" name="cDout1" mode="notInverted" />
|
||||
<cioDout index="2" name="cDout2" mode="notInverted" />
|
||||
<cioDout index="3" name="cDout3" mode="notInverted" />
|
||||
<cioDout index="4" name="cDout4" mode="notInverted" />
|
||||
<cioDout index="5" name="cDout5" mode="notInverted" />
|
||||
<cioDout index="6" name="cDout6" mode="notInverted" />
|
||||
<cioDout index="7" name="cDout7" mode="notInverted" />
|
||||
<cioAin index="0" name="cAin0" coefA="1" coefB="0" />
|
||||
<cioAin index="1" name="cAin1" coefA="1" coefB="0" />
|
||||
<cioAin index="2" name="cAin2" coefA="1" coefB="0" />
|
||||
<cioAin index="3" name="cAin3" coefA="1" coefB="0" />
|
||||
<cioAout index="0" name="cAout0" coefA="1" coefB="0" />
|
||||
<cioAout index="1" name="cAout1" coefA="1" coefB="0" />
|
||||
<cioAout index="2" name="cAout2" coefA="1" coefB="0" />
|
||||
<cioAout index="3" name="cAout3" coefA="1" coefB="0" />
|
||||
</cio>
|
||||
37
robot/MXLAB/Controller1/usr/configs/controller.cfx
Normal file
37
robot/MXLAB/Controller1/usr/configs/controller.cfx
Normal file
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<controller>
|
||||
<String name="testMode" value="Demo" />
|
||||
<Bool name="buildBio" value="true" />
|
||||
<Bool name="buildBio2" value="true" />
|
||||
<Bool name="buildMio" value="true" />
|
||||
<Bool name="buildCio" value="false" />
|
||||
<String name="cioBoardConfig" value="" />
|
||||
<Bool name="buildSerial1" value="false" />
|
||||
<Bool name="buildSerial2" value="false" />
|
||||
<Bool name="buildSerial3" value="false" />
|
||||
<Bool name="buildSerial4" value="false" />
|
||||
<Bool name="buildSerial5" value="false" />
|
||||
<Bool name="buildSerial6" value="false" />
|
||||
<Bool name="buildSerial7" value="false" />
|
||||
<Bool name="buildSerial8" value="false" />
|
||||
<String name="UserApp" value="usrapp" />
|
||||
<String name="templateDir" value="templates" />
|
||||
<Bool name="buildStarc2" value="true" />
|
||||
<starc2Slot index="0" board="" />
|
||||
<starc2Slot index="1" board="" />
|
||||
<starc2Slot index="2" board="" />
|
||||
<uniVALparams>
|
||||
<String name="config" value="axis" />
|
||||
<String name="fieldbus" value="" />
|
||||
</uniVALparams>
|
||||
<String name="simulMode" value="simulation" />
|
||||
<String name="serialNumber" value="" />
|
||||
<Bool name="buttonWorkingMode" value="true" />
|
||||
<Bool name="traceSignals" value="false" />
|
||||
<Bool name="logging" value="true" />
|
||||
<Uint name="loggerSize" value="1048576" />
|
||||
<Float name="powerShutdownDelay" value="-1" />
|
||||
<String name="standardFiles" value="" />
|
||||
<Float name="lliCycleTime" value="-1" />
|
||||
<Float name="powerHourCount" value="0" />
|
||||
</controller>
|
||||
45
robot/MXLAB/Controller1/usr/configs/encoder.cfx
Normal file
45
robot/MXLAB/Controller1/usr/configs/encoder.cfx
Normal file
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<encoders>
|
||||
<encoderBoard index="0" >
|
||||
<encoder index="0" >
|
||||
<encoderCfg index="0" name="e00PrstPos" value="0" />
|
||||
<encoderCfg index="1" name="e00Counts" value="4096" />
|
||||
<encoderCfg index="2" name="e00LatchEdgFall" value="0" />
|
||||
<encoderCfg index="3" name="e00LatchFilter" value="0" />
|
||||
</encoder>
|
||||
<encoder index="1" >
|
||||
<encoderCfg index="0" name="e01PrstPos" value="0" />
|
||||
<encoderCfg index="1" name="e01Counts" value="4096" />
|
||||
<encoderCfg index="2" name="e01LatchEdgFall" value="0" />
|
||||
<encoderCfg index="3" name="e01LatchFilter" value="0" />
|
||||
</encoder>
|
||||
</encoderBoard>
|
||||
<encoderBoard index="1" >
|
||||
<encoder index="0" >
|
||||
<encoderCfg index="0" name="e10PrstPos" value="0" />
|
||||
<encoderCfg index="1" name="e10Counts" value="4096" />
|
||||
<encoderCfg index="2" name="e10LatchEdgFall" value="0" />
|
||||
<encoderCfg index="3" name="e10LatchFilter" value="0" />
|
||||
</encoder>
|
||||
<encoder index="1" >
|
||||
<encoderCfg index="0" name="e11PrstPos" value="0" />
|
||||
<encoderCfg index="1" name="e11Counts" value="4096" />
|
||||
<encoderCfg index="2" name="e11LatchEdgFall" value="0" />
|
||||
<encoderCfg index="3" name="e11LatchFilter" value="0" />
|
||||
</encoder>
|
||||
</encoderBoard>
|
||||
<encoderBoard index="2" >
|
||||
<encoder index="0" >
|
||||
<encoderCfg index="0" name="e20PrstPos" value="0" />
|
||||
<encoderCfg index="1" name="e20Counts" value="4096" />
|
||||
<encoderCfg index="2" name="e20LatchEdgFall" value="0" />
|
||||
<encoderCfg index="3" name="e20LatchFilter" value="0" />
|
||||
</encoder>
|
||||
<encoder index="1" >
|
||||
<encoderCfg index="0" name="e21PrstPos" value="0" />
|
||||
<encoderCfg index="1" name="e21Counts" value="4096" />
|
||||
<encoderCfg index="2" name="e21LatchEdgFall" value="0" />
|
||||
<encoderCfg index="3" name="e21LatchFilter" value="0" />
|
||||
</encoder>
|
||||
</encoderBoard>
|
||||
</encoders>
|
||||
67
robot/MXLAB/Controller1/usr/configs/mio.cfx
Normal file
67
robot/MXLAB/Controller1/usr/configs/mio.cfx
Normal file
@@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<mio>
|
||||
<mioDin index="0" name="mIn0" mode="notInverted" />
|
||||
<mioDin index="1" name="mIn1" mode="notInverted" />
|
||||
<mioDin index="2" name="mIn2" mode="notInverted" />
|
||||
<mioDin index="3" name="mIn3" mode="notInverted" />
|
||||
<mioDin index="4" name="mIn4" mode="notInverted" />
|
||||
<mioDin index="5" name="mIn5" mode="notInverted" />
|
||||
<mioDin index="6" name="mIn6" mode="notInverted" />
|
||||
<mioDin index="7" name="mIn7" mode="notInverted" />
|
||||
<mioDin index="8" name="mIn8" mode="notInverted" />
|
||||
<mioDin index="9" name="mIn9" mode="notInverted" />
|
||||
<mioDin index="10" name="mIn10" mode="notInverted" />
|
||||
<mioDin index="11" name="mIn11" mode="notInverted" />
|
||||
<mioDin index="12" name="mIn12" mode="notInverted" />
|
||||
<mioDin index="13" name="mIn13" mode="notInverted" />
|
||||
<mioDin index="14" name="mIn14" mode="notInverted" />
|
||||
<mioDin index="15" name="mIn15" mode="notInverted" />
|
||||
<mioDin index="16" name="mIn16" mode="notInverted" />
|
||||
<mioDin index="17" name="mIn17" mode="notInverted" />
|
||||
<mioDin index="18" name="mIn18" mode="notInverted" />
|
||||
<mioDin index="19" name="mIn19" mode="notInverted" />
|
||||
<mioDin index="20" name="mIn20" mode="notInverted" />
|
||||
<mioDin index="21" name="mIn21" mode="notInverted" />
|
||||
<mioDin index="22" name="mIn22" mode="notInverted" />
|
||||
<mioDin index="23" name="mIn23" mode="notInverted" />
|
||||
<mioDin index="24" name="mIn24" mode="notInverted" />
|
||||
<mioDin index="25" name="mIn25" mode="notInverted" />
|
||||
<mioDin index="26" name="mIn26" mode="notInverted" />
|
||||
<mioDin index="27" name="mIn27" mode="notInverted" />
|
||||
<mioDin index="28" name="mIn28" mode="notInverted" />
|
||||
<mioDin index="29" name="mIn29" mode="notInverted" />
|
||||
<mioDin index="30" name="mIn30" mode="notInverted" />
|
||||
<mioDin index="31" name="mIn31" mode="notInverted" />
|
||||
<mioDout index="0" name="mOut0" mode="notInverted" />
|
||||
<mioDout index="1" name="mOut1" mode="notInverted" />
|
||||
<mioDout index="2" name="mOut2" mode="notInverted" />
|
||||
<mioDout index="3" name="mOut3" mode="notInverted" />
|
||||
<mioDout index="4" name="mOut4" mode="notInverted" />
|
||||
<mioDout index="5" name="mOut5" mode="notInverted" />
|
||||
<mioDout index="6" name="mOut6" mode="notInverted" />
|
||||
<mioDout index="7" name="mOut7" mode="notInverted" />
|
||||
<mioDout index="8" name="mOut8" mode="notInverted" />
|
||||
<mioDout index="9" name="mOut9" mode="notInverted" />
|
||||
<mioDout index="10" name="mOut10" mode="notInverted" />
|
||||
<mioDout index="11" name="mOut11" mode="notInverted" />
|
||||
<mioDout index="12" name="mOut12" mode="notInverted" />
|
||||
<mioDout index="13" name="mOut13" mode="notInverted" />
|
||||
<mioDout index="14" name="mOut14" mode="notInverted" />
|
||||
<mioDout index="15" name="mOut15" mode="notInverted" />
|
||||
<mioDout index="16" name="mOut16" mode="notInverted" />
|
||||
<mioDout index="17" name="mOut17" mode="notInverted" />
|
||||
<mioDout index="18" name="mOut18" mode="notInverted" />
|
||||
<mioDout index="19" name="mOut19" mode="notInverted" />
|
||||
<mioDout index="20" name="mOut20" mode="notInverted" />
|
||||
<mioDout index="21" name="mOut21" mode="notInverted" />
|
||||
<mioDout index="22" name="mOut22" mode="notInverted" />
|
||||
<mioDout index="23" name="mOut23" mode="notInverted" />
|
||||
<mioDout index="24" name="mOut24" mode="notInverted" />
|
||||
<mioDout index="25" name="mOut25" mode="notInverted" />
|
||||
<mioDout index="26" name="mOut26" mode="notInverted" />
|
||||
<mioDout index="27" name="mOut27" mode="notInverted" />
|
||||
<mioDout index="28" name="mOut28" mode="notInverted" />
|
||||
<mioDout index="29" name="mOut29" mode="notInverted" />
|
||||
<mioDout index="30" name="mOut30" mode="notInverted" />
|
||||
<mioDout index="31" name="mOut31" mode="notInverted" />
|
||||
</mio>
|
||||
29
robot/MXLAB/Controller1/usr/configs/network.cfx
Normal file
29
robot/MXLAB/Controller1/usr/configs/network.cfx
Normal file
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<network>
|
||||
<Bool name="dhcpClient" value="false" />
|
||||
<Int name="dhcpClientType" value="-1" />
|
||||
<String name="dhcpClientAddress" value="" />
|
||||
<Inet name="ipAddress" value="129.129.126.74" />
|
||||
<Inet name="ipMask" value="255.255.0.0" />
|
||||
<Inet name="ipAddress2" value="172.31.0.1" />
|
||||
<Inet name="ipMask2" value="255.255.0.0" />
|
||||
<Uint name="remotePort" value="800" />
|
||||
<Uint name="fieldbusConsolePort" value="5001" />
|
||||
<Uint name="telnetPort" value="23" />
|
||||
<soapServer>
|
||||
<String name="host" value="" />
|
||||
<Uint name="port" value="851" />
|
||||
<Int name="sendTimeout" value="60" />
|
||||
<Int name="receiveTimeout" value="1" />
|
||||
<Int name="acceptTimeout" value="0" />
|
||||
<Uint name="maxKeepAlive" value="2147483647" />
|
||||
<Float name="sessionTimeout" value="3600" />
|
||||
<Int name="backLog" value="100" />
|
||||
</soapServer>
|
||||
<sntpClient>
|
||||
<Bool name="enable" value="false" />
|
||||
<Inet name="serverIp" value="0.0.0.0" />
|
||||
<Int name="gmt" value="0" />
|
||||
<Int name="timeout" value="3000" />
|
||||
</sntpClient>
|
||||
</network>
|
||||
21
robot/MXLAB/Controller1/usr/configs/profiles/default.cfx
Normal file
21
robot/MXLAB/Controller1/usr/configs/profiles/default.cfx
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Profile>
|
||||
<Password name="password" value="" />
|
||||
<Password name="connectionPassword" value="" />
|
||||
<Bool name="writeAccess" value="true" />
|
||||
<Bool name="readAccess" value="true" />
|
||||
<Bool name="armWriteAccess" value="false" />
|
||||
<Bool name="recovery" value="true" />
|
||||
<Bool name="ioWriteAccess" value="false" />
|
||||
<Bool name="123KeysControl" value="false" />
|
||||
<Bool name="manualMode" value="true" />
|
||||
<Bool name="testMode" value="true" />
|
||||
<Bool name="localMode" value="true" />
|
||||
<Bool name="remoteMode" value="true" />
|
||||
<Bool name="monitorSpeed" value="true" />
|
||||
<Bool name="powerButton" value="true" />
|
||||
<Bool name="moveHoldKey" value="true" />
|
||||
<Bool name="stopKey" value="true" />
|
||||
<Bool name="menuKey" value="true" />
|
||||
<Bool name="hardwareFaultAck" value="true" />
|
||||
</Profile>
|
||||
21
robot/MXLAB/Controller1/usr/configs/profiles/maintenance.cfx
Normal file
21
robot/MXLAB/Controller1/usr/configs/profiles/maintenance.cfx
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Profile>
|
||||
<Password name="password" value="c20519dd1699f3ee" />
|
||||
<Password name="connectionPassword" value="7107f0212d" />
|
||||
<Bool name="writeAccess" value="true" />
|
||||
<Bool name="readAccess" value="true" />
|
||||
<Bool name="armWriteAccess" value="true" />
|
||||
<Bool name="recovery" value="true" />
|
||||
<Bool name="ioWriteAccess" value="true" />
|
||||
<Bool name="123KeysControl" value="true" />
|
||||
<Bool name="manualMode" value="true" />
|
||||
<Bool name="testMode" value="true" />
|
||||
<Bool name="localMode" value="true" />
|
||||
<Bool name="remoteMode" value="true" />
|
||||
<Bool name="monitorSpeed" value="true" />
|
||||
<Bool name="powerButton" value="true" />
|
||||
<Bool name="moveHoldKey" value="true" />
|
||||
<Bool name="stopKey" value="true" />
|
||||
<Bool name="menuKey" value="true" />
|
||||
<Bool name="hardwareFaultAck" value="true" />
|
||||
</Profile>
|
||||
11
robot/MXLAB/Controller1/usr/configs/sio.cfx
Normal file
11
robot/MXLAB/Controller1/usr/configs/sio.cfx
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<sio>
|
||||
<socketSrv>
|
||||
<String name="name" value="sSIO" />
|
||||
<String name="desc" value="" />
|
||||
<Uint name="portNumber" value="1000" />
|
||||
<Int name="endOfString" value="10" />
|
||||
<Float name="timeOut" value="1" />
|
||||
<Bool name="nagle" value="true" />
|
||||
</socketSrv>
|
||||
</sio>
|
||||
304
robot/MXLAB/Controller1/usr/configs/systemios.cfx
Normal file
304
robot/MXLAB/Controller1/usr/configs/systemios.cfx
Normal file
@@ -0,0 +1,304 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<SystemCards>
|
||||
|
||||
<!-- ======= -->
|
||||
<!-- CS8 IOs -->
|
||||
<!-- ======= -->
|
||||
<Cs8>
|
||||
|
||||
<!-- Common Cards -->
|
||||
<CommonCards>
|
||||
|
||||
<Card name="UserIO" type="DIGITAL">
|
||||
<DInputs>
|
||||
<DInput name="usrIn0" description="" />
|
||||
<DInput name="usrIn1" description="" />
|
||||
<DInput name="vreg1" description="" />
|
||||
<DInput name="vreg2" description="" />
|
||||
</DInputs>
|
||||
<DOutputs>
|
||||
<DOutput name="vreg1_en" description="" />
|
||||
<DOutput name="vreg2_en" description="" />
|
||||
<DOutput name="valve1" description="" />
|
||||
<DOutput name="valve2" description="" />
|
||||
</DOutputs>
|
||||
</Card>
|
||||
|
||||
<Card name="CpuIO" type="ANALOGIC">
|
||||
<AInputs>
|
||||
<AInput name="CPU_TEMP" description="" />
|
||||
</AInputs>
|
||||
<AOutputs />
|
||||
</Card>
|
||||
|
||||
<Card name="UsbiIO" type="ANALOGIC">
|
||||
<AInputs>
|
||||
<AInput name="CBT_TEMP" description="" />
|
||||
</AInputs>
|
||||
<AOutputs />
|
||||
</Card>
|
||||
|
||||
</CommonCards>
|
||||
|
||||
</Cs8>
|
||||
|
||||
|
||||
|
||||
<!-- ======== -->
|
||||
<!-- CS8C IOs -->
|
||||
<!-- ======== -->
|
||||
<Cs8C>
|
||||
|
||||
<!-- Common Cards -->
|
||||
<CommonCards>
|
||||
|
||||
<Card name="PtCFaultIO" type="DIGITAL">
|
||||
<DInputs>
|
||||
<DInput name="MOTOR_1_2_GEAR_1" description="" />
|
||||
<DInput name="MOTOR_3_4" description="" />
|
||||
<DInput name="MOTOR_1_3" description="" />
|
||||
<DInput name="MOTOR_2_4" description="" />
|
||||
<DInput name="MOTOR_1_3_5" description="" />
|
||||
<DInput name="MOTOR_2_4_6" description="" />
|
||||
<DInput name="CASTING" description="" />
|
||||
<DInput name="DSI_BOARD" description="" />
|
||||
<DInput name="EXCHANGER" description="" />
|
||||
<DInput name="GLOBAL_PTC" description="" />
|
||||
</DInputs>
|
||||
<DOutputs />
|
||||
</Card>
|
||||
|
||||
<Card name="CpuIO" type="ANALOGIC">
|
||||
<AInputs>
|
||||
<AInput name="CPU_TEMP" description="" />
|
||||
</AInputs>
|
||||
<AOutputs />
|
||||
</Card>
|
||||
|
||||
<Card name="UserIO" type="DIGITAL">
|
||||
<DInputs>
|
||||
<DInput name="usrIn0" description="" />
|
||||
<DInput name="usrIn1" description="" />
|
||||
</DInputs>
|
||||
<DOutputs>
|
||||
<DOutput name="valve1" description="" />
|
||||
<DOutput name="valve2" description="" />
|
||||
</DOutputs>
|
||||
</Card>
|
||||
|
||||
<Card name="FastIO" type="DIGITAL">
|
||||
<DInputs>
|
||||
<DInput name="fIn0" description="" />
|
||||
<DInput name="fIn1" description="" />
|
||||
<DInput name="SECTEUR_OK" description="" />
|
||||
</DInputs>
|
||||
<DOutputs>
|
||||
<DOutput name="fOut0" description="" />
|
||||
</DOutputs>
|
||||
</Card>
|
||||
|
||||
<Card name="RsiIO" type="ANALOGIC">
|
||||
<AInputs>
|
||||
<AInput name="CBT_TEMP" description="" />
|
||||
</AInputs>
|
||||
<AOutputs />
|
||||
</Card>
|
||||
|
||||
</CommonCards>
|
||||
|
||||
<!-- Starc 1 -->
|
||||
<Starc1Cards>
|
||||
|
||||
<Card name="EncoderIO" type="ANALOGIC_DIGITAL">
|
||||
<AInputs>
|
||||
<AInput name="cCurrPos" description="" />
|
||||
<AInput name="cLatchPos" description="" />
|
||||
</AInputs>
|
||||
<AOutputs>
|
||||
<AOutput name="cCounts" description="" />
|
||||
<AOutput name="cPrstPos" description="" />
|
||||
</AOutputs>
|
||||
<DInputs>
|
||||
<DInput name="cLatch" description="" />
|
||||
<DInput name="cHwErr" description="" />
|
||||
<DInput name="cOvsErr" description="" />
|
||||
</DInputs>
|
||||
<DOutputs>
|
||||
<DOutput name="cEnLatch" description="" />
|
||||
<DOutput name="cEnPrst" description="" />
|
||||
<DOutput name="cRstErr" description="" />
|
||||
</DOutputs>
|
||||
</Card>
|
||||
|
||||
</Starc1Cards>
|
||||
|
||||
<!-- Starc 2 -->
|
||||
<Starc2Cards>
|
||||
|
||||
<Card name="EncoderIO-B0_0" type="ANALOGIC_DIGITAL">
|
||||
<AInputs>
|
||||
<AInput name="e00CurrPos" description="" />
|
||||
<AInput name="e00LatchPos" description="" />
|
||||
<AInput name="e00CountsMes" description="" />
|
||||
</AInputs>
|
||||
<AOutputs>
|
||||
<AOutput name="e00Counts" description="" />
|
||||
<AOutput name="e00PrstPos" description="" />
|
||||
<AOutput name="e00LatchFilter" description="" />
|
||||
</AOutputs>
|
||||
<DInputs>
|
||||
<DInput name="e00LatchSig" description="" />
|
||||
<DInput name="e00Latch" description="" />
|
||||
<DInput name="e00PowerErr" description="" />
|
||||
<DInput name="e00HwErr" description="" />
|
||||
<DInput name="e00OvsErr" description="" />
|
||||
<DInput name="e00CountsErr" description="" />
|
||||
</DInputs>
|
||||
<DOutputs>
|
||||
<DOutput name="e00EnLatch" description="" />
|
||||
<DOutput name="e00EnPrst" description="" />
|
||||
<DOutput name="e00RstErr" description="" />
|
||||
<DOutput name="e00LatchEdgFall" description="" />
|
||||
</DOutputs>
|
||||
</Card>
|
||||
|
||||
<Card name="EncoderIO-B0_1" type="ANALOGIC_DIGITAL">
|
||||
<AInputs>
|
||||
<AInput name="e01CurrPos" description="" />
|
||||
<AInput name="e01LatchPos" description="" />
|
||||
<AInput name="e01CountsMes" description="" />
|
||||
</AInputs>
|
||||
<AOutputs>
|
||||
<AOutput name="e01Counts" description="" />
|
||||
<AOutput name="e01PrstPos" description="" />
|
||||
<AOutput name="e01LatchFilter" description="" />
|
||||
</AOutputs>
|
||||
<DInputs>
|
||||
<DInput name="e01LatchSig" description="" />
|
||||
<DInput name="e01Latch" description="" />
|
||||
<DInput name="e01PowerErr" description="" />
|
||||
<DInput name="e01HwErr" description="" />
|
||||
<DInput name="e01OvsErr" description="" />
|
||||
<DInput name="e01CountsErr" description="" />
|
||||
</DInputs>
|
||||
<DOutputs>
|
||||
<DOutput name="e01EnLatch" description="" />
|
||||
<DOutput name="e01EnPrst" description="" />
|
||||
<DOutput name="e01RstErr" description="" />
|
||||
<DOutput name="e01LatchEdgFall" description="" />
|
||||
</DOutputs>
|
||||
</Card>
|
||||
|
||||
<Card name="EncoderIO-B1_0" type="ANALOGIC_DIGITAL">
|
||||
<AInputs>
|
||||
<AInput name="e10CurrPos" description="" />
|
||||
<AInput name="e10LatchPos" description="" />
|
||||
<AInput name="e10CountsMes" description="" />
|
||||
</AInputs>
|
||||
<AOutputs>
|
||||
<AOutput name="e10Counts" description="" />
|
||||
<AOutput name="e10PrstPos" description="" />
|
||||
<AOutput name="e10LatchFilter" description="" />
|
||||
</AOutputs>
|
||||
<DInputs>
|
||||
<DInput name="e10LatchSig" description="" />
|
||||
<DInput name="e10Latch" description="" />
|
||||
<DInput name="e10PowerErr" description="" />
|
||||
<DInput name="e10HwErr" description="" />
|
||||
<DInput name="e10OvsErr" description="" />
|
||||
<DInput name="e10CountsErr" description="" />
|
||||
</DInputs>
|
||||
<DOutputs>
|
||||
<DOutput name="e10EnLatch" description="" />
|
||||
<DOutput name="e10EnPrst" description="" />
|
||||
<DOutput name="e10RstErr" description="" />
|
||||
<DOutput name="e10LatchEdgFall" description="" />
|
||||
</DOutputs>
|
||||
</Card>
|
||||
|
||||
<Card name="EncoderIO-B1_1" type="ANALOGIC_DIGITAL">
|
||||
<AInputs>
|
||||
<AInput name="e11CurrPos" description="" />
|
||||
<AInput name="e11LatchPos" description="" />
|
||||
<AInput name="e11CountsMes" description="" />
|
||||
</AInputs>
|
||||
<AOutputs>
|
||||
<AOutput name="e11Counts" description="" />
|
||||
<AOutput name="e11PrstPos" description="" />
|
||||
<AOutput name="e11LatchFilter" description="" />
|
||||
</AOutputs>
|
||||
<DInputs>
|
||||
<DInput name="e11LatchSig" description="" />
|
||||
<DInput name="e11Latch" description="" />
|
||||
<DInput name="e11PowerErr" description="" />
|
||||
<DInput name="e11HwErr" description="" />
|
||||
<DInput name="e11OvsErr" description="" />
|
||||
<DInput name="e11CountsErr" description="" />
|
||||
</DInputs>
|
||||
<DOutputs>
|
||||
<DOutput name="e11EnLatch" description="" />
|
||||
<DOutput name="e11EnPrst" description="" />
|
||||
<DOutput name="e11RstErr" description="" />
|
||||
<DOutput name="e11LatchEdgFall" description="" />
|
||||
</DOutputs>
|
||||
</Card>
|
||||
|
||||
<Card name="EncoderIO-B2_0" type="ANALOGIC_DIGITAL">
|
||||
<AInputs>
|
||||
<AInput name="e20CurrPos" description="" />
|
||||
<AInput name="e20LatchPos" description="" />
|
||||
<AInput name="e20CountsMes" description="" />
|
||||
</AInputs>
|
||||
<AOutputs>
|
||||
<AOutput name="e20Counts" description="" />
|
||||
<AOutput name="e20PrstPos" description="" />
|
||||
<AOutput name="e20LatchFilter" description="" />
|
||||
</AOutputs>
|
||||
<DInputs>
|
||||
<DInput name="e20LatchSig" description="" />
|
||||
<DInput name="e20Latch" description="" />
|
||||
<DInput name="e20PowerErr" description="" />
|
||||
<DInput name="e20HwErr" description="" />
|
||||
<DInput name="e20OvsErr" description="" />
|
||||
<DInput name="e20CountsErr" description="" />
|
||||
</DInputs>
|
||||
<DOutputs>
|
||||
<DOutput name="e20EnLatch" description="" />
|
||||
<DOutput name="e20EnPrst" description="" />
|
||||
<DOutput name="e20RstErr" description="" />
|
||||
<DOutput name="e20LatchEdgFall" description="" />
|
||||
</DOutputs>
|
||||
</Card>
|
||||
|
||||
<Card name="EncoderIO-B2_1" type="ANALOGIC_DIGITAL">
|
||||
<AInputs>
|
||||
<AInput name="e21CurrPos" description="" />
|
||||
<AInput name="e21LatchPos" description="" />
|
||||
<AInput name="e21CountsMes" description="" />
|
||||
</AInputs>
|
||||
<AOutputs>
|
||||
<AOutput name="e21Counts" description="" />
|
||||
<AOutput name="e21PrstPos" description="" />
|
||||
<AOutput name="e21LatchFilter" description="" />
|
||||
</AOutputs>
|
||||
<DInputs>
|
||||
<DInput name="e21LatchSig" description="" />
|
||||
<DInput name="e21Latch" description="" />
|
||||
<DInput name="e21PowerErr" description="" />
|
||||
<DInput name="e21HwErr" description="" />
|
||||
<DInput name="e21OvsErr" description="" />
|
||||
<DInput name="e21CountsErr" description="" />
|
||||
</DInputs>
|
||||
<DOutputs>
|
||||
<DOutput name="e21EnLatch" description="" />
|
||||
<DOutput name="e21EnPrst" description="" />
|
||||
<DOutput name="e21RstErr" description="" />
|
||||
<DOutput name="e21LatchEdgFall" description="" />
|
||||
</DOutputs>
|
||||
</Card>
|
||||
|
||||
</Starc2Cards>
|
||||
</Cs8C>
|
||||
|
||||
|
||||
</SystemCards>
|
||||
4
robot/MXLAB/Controller1/usr/configs/val3version.xml
Normal file
4
robot/MXLAB/Controller1/usr/configs/val3version.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<Versions xmlns="http://www.staubli.com/robotics/VAL3/Config/1">
|
||||
<Version name="val3" compatibility='7'>s7.9.1</Version>
|
||||
</Versions>
|
||||
@@ -0,0 +1,87 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Database xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.staubli.com/robotics/VAL3/Data/2">
|
||||
<Datas>
|
||||
<Data name="jSafe" access="private" xsi:type="array" type="jointRx" size="1">
|
||||
<Value key="0" j1="68.451859" j2="12.0998448" j3="75.745245" j4="-7.951387E-16" j5="92.15491" j6="-257.185421" />
|
||||
</Data>
|
||||
<Data name="mNomSpeed" access="private" xsi:type="array" type="mdesc" size="1" />
|
||||
<Data name="pForce1" access="private" xsi:type="array" type="pointRx" size="1">
|
||||
<Value key="0" x="177.353535" y="513.634231" z="-23.304373" rx="-0.00095359" ry="-179.999632" rz="34.36272" fatherId="world[0]" />
|
||||
</Data>
|
||||
<Data name="pForce2" access="private" xsi:type="array" type="pointRx" size="1">
|
||||
<Value key="0" x="-94.656318" y="513.634233" z="-23.253066" rx="1.08559E-05" ry="-179.999615" rz="34.362403" fatherId="world[0]" />
|
||||
</Data>
|
||||
<Data name="bContact" access="private" xsi:type="array" type="bool" size="1" />
|
||||
<Data name="bInZone" access="private" xsi:type="array" type="bool" size="1" />
|
||||
<Data name="mSlow" access="private" xsi:type="array" type="mdesc" size="1">
|
||||
<Value key="0" leave="10" reach="10" />
|
||||
</Data>
|
||||
<Data name="nJntForce" access="private" xsi:type="array" type="num" size="6">
|
||||
<Value key="0" value="0.62658" />
|
||||
<Value key="1" value="-1.962937" />
|
||||
<Value key="2" value="-2.381452" />
|
||||
<Value key="3" value="-0.772125" />
|
||||
<Value key="4" value="-1.706145" />
|
||||
<Value key="5" value="-0.557219" />
|
||||
</Data>
|
||||
<Data name="nJntMaxForce" access="private" xsi:type="array" type="num" size="6" />
|
||||
<Data name="nJntMaxMeasured" access="private" xsi:type="array" type="num" size="6" />
|
||||
<Data name="JF" access="private" xsi:type="array" type="aio" size="6">
|
||||
<Value key="0" link="ModbusSrv-0\Modbus-Word\M1" />
|
||||
<Value key="1" link="ModbusSrv-0\Modbus-Word\M2" />
|
||||
<Value key="2" link="ModbusSrv-0\Modbus-Word\M3" />
|
||||
<Value key="3" link="ModbusSrv-0\Modbus-Word\M4" />
|
||||
<Value key="4" link="ModbusSrv-0\Modbus-Word\M5" />
|
||||
<Value key="5" link="ModbusSrv-0\Modbus-Word\M6" />
|
||||
</Data>
|
||||
<Data name="wAcknowlege" access="private" xsi:type="array" type="aio" size="1">
|
||||
<Value key="0" link="ModbusSrv-0\Modbus-Word\ACKNOWLEDGE" />
|
||||
</Data>
|
||||
<Data name="wReturn" access="private" xsi:type="array" type="aio" size="12">
|
||||
<Value key="0" link="ModbusSrv-0\Modbus-Word\RETURN[0]" />
|
||||
<Value key="1" link="ModbusSrv-0\Modbus-Word\RETURN[1]" />
|
||||
<Value key="2" link="ModbusSrv-0\Modbus-Word\RETURN[2]" />
|
||||
<Value key="3" link="ModbusSrv-0\Modbus-Word\RETURN[3]" />
|
||||
<Value key="4" link="ModbusSrv-0\Modbus-Word\RETURN[4]" />
|
||||
<Value key="5" link="ModbusSrv-0\Modbus-Word\RETURN[5]" />
|
||||
<Value key="6" link="ModbusSrv-0\Modbus-Word\RETURN[6]" />
|
||||
<Value key="7" link="ModbusSrv-0\Modbus-Word\RETURN[7]" />
|
||||
<Value key="8" link="ModbusSrv-0\Modbus-Word\RETURN[8]" />
|
||||
<Value key="9" link="ModbusSrv-0\Modbus-Word\RETURN[9]" />
|
||||
<Value key="10" link="ModbusSrv-0\Modbus-Word\RETURN[10]" />
|
||||
<Value key="11" link="ModbusSrv-0\Modbus-Word\RETURN[11]" />
|
||||
</Data>
|
||||
<Data name="wStatus" access="private" xsi:type="array" type="aio" size="6">
|
||||
<Value key="0" link="ModbusSrv-0\Modbus-Word\STATUS[0]" />
|
||||
<Value key="1" link="ModbusSrv-0\Modbus-Word\STATUS[1]" />
|
||||
<Value key="2" link="ModbusSrv-0\Modbus-Word\STATUS[2]" />
|
||||
<Value key="3" link="ModbusSrv-0\Modbus-Word\STATUS[3]" />
|
||||
<Value key="4" link="ModbusSrv-0\Modbus-Word\STATUS[4]" />
|
||||
<Value key="5" link="ModbusSrv-0\Modbus-Word\STATUS[5]" />
|
||||
</Data>
|
||||
<Data name="wRequest" access="private" xsi:type="array" type="aio" size="1">
|
||||
<Value key="0" link="ModbusSrv-0\Modbus-Word\REQUEST" />
|
||||
</Data>
|
||||
<Data name="wCommand" access="private" xsi:type="array" type="aio" size="1">
|
||||
<Value key="0" link="ModbusSrv-0\Modbus-Word\COMMAND" />
|
||||
</Data>
|
||||
<Data name="wArguments" access="private" xsi:type="array" type="aio" size="12">
|
||||
<Value key="0" link="ModbusSrv-0\Modbus-Word\ARGUMENTS[0]" />
|
||||
<Value key="1" link="ModbusSrv-0\Modbus-Word\ARGUMENTS[1]" />
|
||||
<Value key="2" link="ModbusSrv-0\Modbus-Word\ARGUMENTS[2]" />
|
||||
<Value key="3" link="ModbusSrv-0\Modbus-Word\ARGUMENTS[3]" />
|
||||
<Value key="4" link="ModbusSrv-0\Modbus-Word\ARGUMENTS[4]" />
|
||||
<Value key="5" link="ModbusSrv-0\Modbus-Word\ARGUMENTS[5]" />
|
||||
<Value key="6" link="ModbusSrv-0\Modbus-Word\ARGUMENTS[6]" />
|
||||
<Value key="7" link="ModbusSrv-0\Modbus-Word\ARGUMENTS[7]" />
|
||||
<Value key="8" link="ModbusSrv-0\Modbus-Word\ARGUMENTS[8]" />
|
||||
<Value key="9" link="ModbusSrv-0\Modbus-Word\ARGUMENTS[9]" />
|
||||
<Value key="10" link="ModbusSrv-0\Modbus-Word\ARGUMENTS[10]" />
|
||||
<Value key="11" link="ModbusSrv-0\Modbus-Word\ARGUMENTS[11]" />
|
||||
</Data>
|
||||
<Data name="sSio" access="private" xsi:type="array" type="sio" size="1">
|
||||
<Value key="0" link="Socket\sSIO" />
|
||||
</Data>
|
||||
<Data name="events" access="private" xsi:type="array" type="string" size="10" />
|
||||
</Datas>
|
||||
</Database>
|
||||
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://www.staubli.com/robotics/VAL3/Project/3">
|
||||
<Parameters version="s7.9" stackSize="5000" millimeterUnit="true" />
|
||||
<Programs>
|
||||
<Program file="comModbus.pgx" />
|
||||
<Program file="comTcp.pgx" />
|
||||
<Program file="detect.pgx" />
|
||||
<Program file="getContact.pgx" />
|
||||
<Program file="onCommandModbus.pgx" />
|
||||
<Program file="onCommandTcp.pgx" />
|
||||
<Program file="resetData.pgx" />
|
||||
<Program file="sendEventTcp.pgx" />
|
||||
<Program file="setInZone.pgx" />
|
||||
<Program file="setOutZone.pgx" />
|
||||
<Program file="simulateEvents.pgx" />
|
||||
<Program file="start.pgx" />
|
||||
<Program file="startDetection.pgx" />
|
||||
<Program file="startTraining.pgx" />
|
||||
<Program file="stop.pgx" />
|
||||
<Program file="train.pgx" />
|
||||
</Programs>
|
||||
<Database>
|
||||
<Data file="ForceDetection.dtx" />
|
||||
</Database>
|
||||
<Libraries />
|
||||
</Project>
|
||||
@@ -0,0 +1,55 @@
|
||||
<?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="comModbus">
|
||||
<Locals>
|
||||
<Local name="l_nJointForce" type="num" xsi:type="array" size="6" />
|
||||
<Local name="i" type="num" xsi:type="array" size="1" />
|
||||
<Local name="cmd" type="num" xsi:type="array" size="1" />
|
||||
<Local name="req" type="bool" xsi:type="array" size="1" />
|
||||
<Local name="ret" type="num" xsi:type="array" size="32" />
|
||||
<Local name="args" type="num" xsi:type="array" size="32" />
|
||||
<Local name="error" type="num" xsi:type="array" size="1" />
|
||||
</Locals>
|
||||
<Code><![CDATA[begin
|
||||
req = false
|
||||
aioSet(wAcknowlege,0)
|
||||
aioSet(wReturn,0)
|
||||
while true
|
||||
//Record the joint force (comment out next line for use with expansion add-on)
|
||||
getJointForce(l_nJointForce)
|
||||
for i=0 to 5
|
||||
aioSet(JF[i], l_nJointForce[i]*100)
|
||||
endFor
|
||||
|
||||
|
||||
if !req
|
||||
if aioGet(wRequest) != 0
|
||||
req = true
|
||||
cmd = aioGet(wCommand)
|
||||
args = aioGet(wArguments)
|
||||
error = 1
|
||||
for i=0 to size(ret)-1
|
||||
ret[i]=0
|
||||
endFor
|
||||
call onCommandModbus(cmd, args, ret, error)
|
||||
for i=0 to size(wReturn)-1
|
||||
aioSet(wReturn[i],ret[i])
|
||||
endFor
|
||||
if error == 0
|
||||
error = 1
|
||||
endIf
|
||||
aioSet(wAcknowlege,error)
|
||||
endIf
|
||||
else
|
||||
if aioGet(wRequest) == 0
|
||||
req = false
|
||||
aioSet(wAcknowlege,0)
|
||||
endIf
|
||||
endIf
|
||||
|
||||
|
||||
delay(0)
|
||||
endWhile
|
||||
end]]></Code>
|
||||
</Program>
|
||||
</Programs>
|
||||
85
robot/MXLAB/Controller1/usr/usrapp/ForceDetection/comTcp.pgx
Normal file
85
robot/MXLAB/Controller1/usr/usrapp/ForceDetection/comTcp.pgx
Normal file
@@ -0,0 +1,85 @@
|
||||
<?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="comTcp">
|
||||
<Locals>
|
||||
<Local name="rx" type="string" xsi:type="array" size="1" />
|
||||
<Local name="tx" type="string" xsi:type="array" size="1" />
|
||||
<Local name="rec_val" type="num" xsi:type="array" size="1" />
|
||||
<Local name="rec_count" type="num" xsi:type="array" size="1" />
|
||||
<Local name="msg" type="string" xsi:type="array" size="1" />
|
||||
<Local name="msg_id" type="string" xsi:type="array" size="1" />
|
||||
<Local name="index" type="num" xsi:type="array" size="1" />
|
||||
<Local name="cmd" type="string" xsi:type="array" size="1" />
|
||||
<Local name="args" type="string" xsi:type="array" size="10" />
|
||||
<Local name="arg" type="num" xsi:type="array" size="1" />
|
||||
<Local name="ex" type="string" xsi:type="array" size="1" />
|
||||
<Local name="array_separator" type="string" xsi:type="array" size="1" />
|
||||
</Locals>
|
||||
<Code><![CDATA[begin
|
||||
rx=""
|
||||
sioCtrl(sSio,"timeout",1)
|
||||
sioCtrl(sSio, "endOfString", 10)
|
||||
array_separator = "|"
|
||||
while true
|
||||
while sioGet(sSio,rec_val) >0
|
||||
if rec_val>31
|
||||
rx=rx+chr(rec_val)
|
||||
elseIf rec_val==10
|
||||
if len(rx)<4
|
||||
rx = ""
|
||||
else
|
||||
msg_id = left(rx, 4)
|
||||
if msg_id == "EVT "
|
||||
rx=""
|
||||
if events[0] == ""
|
||||
sSio = msg_id
|
||||
else
|
||||
sSio = msg_id + events[0]
|
||||
for index=0 to 8
|
||||
events[index]= events[index+1]
|
||||
endFor
|
||||
events[9] = ""
|
||||
endIf
|
||||
else
|
||||
msg = right(rx, len(rx)-4)
|
||||
rx=""
|
||||
for index=0 to 9
|
||||
args[index]=""
|
||||
endFor
|
||||
index = find(msg, " ")
|
||||
if index < 0
|
||||
cmd = msg
|
||||
else
|
||||
cmd = left(msg, index)
|
||||
msg = right(msg, len(msg) - index -1)
|
||||
arg=0
|
||||
while (len(msg) > 0 and (arg < 10))
|
||||
index = find(msg, array_separator)
|
||||
if index<0
|
||||
args[arg] = msg
|
||||
msg =""
|
||||
else
|
||||
args[arg] = left(msg, index)
|
||||
msg = right(msg, len(msg) - index -1)
|
||||
endIf
|
||||
arg = arg+1
|
||||
endWhile
|
||||
endIf
|
||||
tx = ""
|
||||
ex = ""
|
||||
call onCommandTcp(cmd,args, tx, ex)
|
||||
if len(ex) == 0
|
||||
sSio = msg_id + tx
|
||||
else
|
||||
msg_id = replace (msg_id,"*",1,3)
|
||||
sSio = msg_id + ex
|
||||
endIf
|
||||
endIf
|
||||
endIf
|
||||
endIf
|
||||
endWhile
|
||||
delay(0)
|
||||
endWhile
|
||||
end]]></Code>
|
||||
</Program>
|
||||
</Programs>
|
||||
76
robot/MXLAB/Controller1/usr/usrapp/ForceDetection/detect.pgx
Normal file
76
robot/MXLAB/Controller1/usr/usrapp/ForceDetection/detect.pgx
Normal file
@@ -0,0 +1,76 @@
|
||||
<?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="detect">
|
||||
<Parameters xmlns="http://www.staubli.com/robotics/VAL3/Param/1">
|
||||
<Parameter name="x_nTolPercent" type="num" xsi:type="element" />
|
||||
</Parameters>
|
||||
<Locals>
|
||||
<Local name="l_nIndex" type="num" xsi:type="array" size="1" />
|
||||
<Local name="l_bCondition" type="bool" xsi:type="array" size="1" />
|
||||
<Local name="l_sDisplay" type="string" xsi:type="array" size="1" />
|
||||
<Local name="x_nThreshold" type="num" xsi:type="array" size="1" />
|
||||
<Local name="l_nPerc" type="num" xsi:type="array" size="1" />
|
||||
</Locals>
|
||||
<Code><![CDATA[begin
|
||||
//-----------------------------------------------------------------------
|
||||
//Header begin
|
||||
//Description of program
|
||||
// Reads the current joint force values to compare them to the trained ones (a tolerance can be added).
|
||||
// If the force on a joint becomes greater than the trained value for this joint +
|
||||
// the tolerance, the robot is stopped and the motion stack is emptied.
|
||||
//
|
||||
//Input paramaters
|
||||
// num x_nTolPercent :
|
||||
// role : tolerance percentage to apply to the trained values.
|
||||
//
|
||||
//History
|
||||
// Creation : 23-04-08 - f.Rob
|
||||
// Modification: 11-03-09 - ffab
|
||||
//Header end
|
||||
//-----------------------------------------------------------------------
|
||||
// Wait to be in the zone
|
||||
wait(bInZone)
|
||||
|
||||
cls()
|
||||
gotoxy(0,7)
|
||||
put("MaxForc Thresld Measur % %max")
|
||||
|
||||
// Detect contact while robot into the zone
|
||||
while bInZone
|
||||
//Record the joint force (comment out next line for use with expansion add-on)
|
||||
getJointForce(nJntForce)
|
||||
//Uncomment next line for use with expansion add-on
|
||||
//$getJntForce(nJntForce)
|
||||
// Compare with the trained values
|
||||
for l_nIndex=0 to 5
|
||||
x_nThreshold = abs(nJntMaxForce[l_nIndex])+abs(x_nTolPercent*nJntMaxForce[l_nIndex]/100)
|
||||
l_nPerc = abs(nJntForce[l_nIndex]/nJntMaxForce[l_nIndex] *100)
|
||||
if l_nPerc>nJntMaxMeasured[l_nIndex]
|
||||
nJntMaxMeasured[l_nIndex]=l_nPerc
|
||||
endIf
|
||||
l_bCondition=abs(nJntForce[l_nIndex]) > x_nThreshold
|
||||
|
||||
gotoxy(0,8+l_nIndex)
|
||||
put(toString(".2",nJntMaxForce[l_nIndex]))
|
||||
gotoxy(8,8+l_nIndex)
|
||||
put(toString(".2",x_nThreshold))
|
||||
gotoxy(16,8+l_nIndex)
|
||||
put(toString(".2",abs(nJntForce[l_nIndex])))
|
||||
gotoxy(24,8+l_nIndex)
|
||||
put(toString(".2",l_nPerc))
|
||||
gotoxy(32,8+l_nIndex)
|
||||
put(toString(".2",nJntMaxMeasured[l_nIndex]))
|
||||
|
||||
if l_bCondition
|
||||
stopMove()
|
||||
resetMotion()
|
||||
bContact=true
|
||||
l_sDisplay="Contact: force on joint "+toString("",l_nIndex+1)+" = "+toString("",abs(nJntForce[l_nIndex]))
|
||||
logMsg(l_sDisplay)
|
||||
endIf
|
||||
endFor
|
||||
delay(0)
|
||||
endWhile
|
||||
end]]></Code>
|
||||
</Program>
|
||||
</Programs>
|
||||
@@ -0,0 +1,25 @@
|
||||
<?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="getContact" access="public">
|
||||
<Parameters xmlns="http://www.staubli.com/robotics/VAL3/Param/1">
|
||||
<Parameter name="x_bContact" type="bool" xsi:type="array" use="reference" />
|
||||
</Parameters>
|
||||
<Code><![CDATA[begin
|
||||
//-----------------------------------------------------------------------
|
||||
//Header begin
|
||||
//Description of program
|
||||
// Returns the boolean bContact that is set to true when a collision is
|
||||
// detected.
|
||||
//
|
||||
//Output parameters
|
||||
// bool& x_bContact
|
||||
// role: collision flag, turns true when a collision is detected
|
||||
//
|
||||
//History
|
||||
// Creation : 23-04-08 - f.Rob
|
||||
//Header end
|
||||
//-----------------------------------------------------------------------
|
||||
x_bContact=bContact
|
||||
end]]></Code>
|
||||
</Program>
|
||||
</Programs>
|
||||
@@ -0,0 +1,27 @@
|
||||
<?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="onCommandModbus">
|
||||
<Parameters xmlns="http://www.staubli.com/robotics/VAL3/Param/1">
|
||||
<Parameter name="cmd" type="num" xsi:type="element" />
|
||||
<Parameter name="args" type="num" xsi:type="array" use="reference" />
|
||||
<Parameter name="ret" type="num" xsi:type="array" use="reference" />
|
||||
<Parameter name="error" type="num" xsi:type="element" use="reference" />
|
||||
</Parameters>
|
||||
<Code><![CDATA[begin
|
||||
switch(cmd)
|
||||
case 1
|
||||
aioSet(wStatus[5], 1)
|
||||
ret[0]=100
|
||||
break
|
||||
case 2
|
||||
aioSet(wStatus[5], 2)
|
||||
ret[1]=200
|
||||
break
|
||||
default
|
||||
//Unknown command
|
||||
error = 2
|
||||
break
|
||||
endSwitch
|
||||
end]]></Code>
|
||||
</Program>
|
||||
</Programs>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?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" />
|
||||
</Locals>
|
||||
<Code><![CDATA[begin
|
||||
switch(cmd)
|
||||
case "eval"
|
||||
tx=$exec(cmd)
|
||||
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>
|
||||
@@ -0,0 +1,29 @@
|
||||
<?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="resetData" access="public">
|
||||
<Locals>
|
||||
<Local name="l_nIndex" type="num" xsi:type="array" size="1" />
|
||||
</Locals>
|
||||
<Code><![CDATA[begin
|
||||
//-----------------------------------------------------------------------
|
||||
//Header begin
|
||||
//Description of program
|
||||
// Reset the specified data set to -9999.
|
||||
// on all 6 values
|
||||
//
|
||||
//Example
|
||||
// call resetData()
|
||||
//
|
||||
//History
|
||||
// Creation : 23-04-08 - f.Rob
|
||||
// Modification: 11-03-09 - ffab
|
||||
//Header end
|
||||
//-----------------------------------------------------------------------
|
||||
// Reset Values
|
||||
for l_nIndex=0 to 5
|
||||
nJntMaxForce[l_nIndex]=-9999
|
||||
nJntMaxMeasured[l_nIndex]=0
|
||||
endFor
|
||||
end]]></Code>
|
||||
</Program>
|
||||
</Programs>
|
||||
@@ -0,0 +1,23 @@
|
||||
<?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="sendEventTcp">
|
||||
<Parameters xmlns="http://www.staubli.com/robotics/VAL3/Param/1">
|
||||
<Parameter name="ev" type="string" xsi:type="element" />
|
||||
</Parameters>
|
||||
<Locals>
|
||||
<Local name="msg" type="string" xsi:type="array" size="1" />
|
||||
<Local name="index" type="num" xsi:type="array" size="1" />
|
||||
</Locals>
|
||||
<Code><![CDATA[begin
|
||||
//How to break a for?
|
||||
for index=0 to 9
|
||||
if ev != ""
|
||||
if events[index] == ""
|
||||
events[index] = ev
|
||||
ev = ""
|
||||
endIf
|
||||
endIf
|
||||
endFor
|
||||
end]]></Code>
|
||||
</Program>
|
||||
</Programs>
|
||||
@@ -0,0 +1,21 @@
|
||||
<?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="setInZone" access="public">
|
||||
<Code><![CDATA[begin
|
||||
//-----------------------------------------------------------------------
|
||||
//Header begin
|
||||
//Description of program
|
||||
// Specifies when the robot is inside the force controlled zone
|
||||
// which means that the training or monitoring of the forces needs
|
||||
// to begin.
|
||||
//
|
||||
//History
|
||||
// Creation : 23-04-08 - f.Rob
|
||||
// Modification: 11-03-09 - ffab
|
||||
//Header end
|
||||
//-----------------------------------------------------------------------
|
||||
// Turn on bInzone
|
||||
bInZone=true
|
||||
end]]></Code>
|
||||
</Program>
|
||||
</Programs>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?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="setOutZone" access="public">
|
||||
<Code><![CDATA[begin
|
||||
//-----------------------------------------------------------------------
|
||||
//Header begin
|
||||
//Description of program
|
||||
// Specifies when the robot is outside of the force controlled zone
|
||||
// which means that the training or monitoring of the forces needs
|
||||
// to end.
|
||||
//
|
||||
//History
|
||||
// Creation : 23-04-08 - f.Rob
|
||||
// Modification: 11-03-09 - ffab
|
||||
//Header end
|
||||
//-----------------------------------------------------------------------
|
||||
// Turn off bInzone
|
||||
bInZone=false
|
||||
bContact=false
|
||||
end]]></Code>
|
||||
</Program>
|
||||
</Programs>
|
||||
@@ -0,0 +1,19 @@
|
||||
<?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="simulateEvents">
|
||||
<Locals>
|
||||
<Local name="str" type="string" xsi:type="array" size="1" />
|
||||
</Locals>
|
||||
<Code><![CDATA[begin
|
||||
while true
|
||||
delay(3)
|
||||
if isPowered()
|
||||
str = "ON"
|
||||
else
|
||||
str = "OFF"
|
||||
endIf
|
||||
call sendEventTcp(str)
|
||||
endWhile
|
||||
end]]></Code>
|
||||
</Program>
|
||||
</Programs>
|
||||
65
robot/MXLAB/Controller1/usr/usrapp/ForceDetection/start.pgx
Normal file
65
robot/MXLAB/Controller1/usr/usrapp/ForceDetection/start.pgx
Normal file
@@ -0,0 +1,65 @@
|
||||
<?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="start">
|
||||
<Locals>
|
||||
<Local name="l_bTrain" type="bool" xsi:type="array" size="1" />
|
||||
<Local name="l_bContact" type="bool" xsi:type="array" size="1" />
|
||||
</Locals>
|
||||
<Code><![CDATA[begin
|
||||
//Trining mode for the first cicle
|
||||
l_bTrain=true
|
||||
resetMotion(jSafe)
|
||||
|
||||
taskCreate "com_modbus",10,comModbus()
|
||||
taskCreate "com_tcp",10,comTcp()
|
||||
taskCreate "sim_ev",10,simulateEvents()
|
||||
|
||||
while true
|
||||
movel(pForce1,flange,mNomSpeed)
|
||||
waitEndMove()
|
||||
|
||||
//Force controling section
|
||||
if (l_bTrain)
|
||||
// Reset joint force limits
|
||||
call resetData()
|
||||
// Start training of force limits
|
||||
call startTraining()
|
||||
else
|
||||
// Start forces monitoring
|
||||
call startDetection(20)
|
||||
endIf
|
||||
// Activate force controlled zone
|
||||
call setInZone()
|
||||
|
||||
|
||||
movel(pForce2,flange,mNomSpeed)
|
||||
waitEndMove()
|
||||
|
||||
|
||||
if l_bTrain
|
||||
call setOutZone()
|
||||
else
|
||||
//Detection mode, check if collision was detected
|
||||
//BEFORE terminating force monitoring
|
||||
call getContact(l_bContact)
|
||||
//Terminate force monitoring
|
||||
call setOutZone()
|
||||
if l_bContact
|
||||
//A collision was detected, inform user and move up
|
||||
popUpMsg("Collision detected . Press Enter to proceed.")
|
||||
//gotoxy(0,0)
|
||||
//put("Collision detected . Press Enter to proceed.")
|
||||
wait(getKey()==270)
|
||||
resetMotion(jSafe)
|
||||
waitEndMove()
|
||||
else
|
||||
//No collision detected, move up from last point
|
||||
endIf
|
||||
endIf
|
||||
//Set to detection mode after the end of the first cycle
|
||||
l_bTrain=false
|
||||
|
||||
endWhile
|
||||
end]]></Code>
|
||||
</Program>
|
||||
</Programs>
|
||||
@@ -0,0 +1,36 @@
|
||||
<?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="startDetection" access="public">
|
||||
<Parameters xmlns="http://www.staubli.com/robotics/VAL3/Param/1">
|
||||
<Parameter name="x_nTolPercent" type="num" xsi:type="element" />
|
||||
</Parameters>
|
||||
<Code><![CDATA[begin
|
||||
//-----------------------------------------------------------------------
|
||||
//Header begin
|
||||
//Description of program
|
||||
// Reads the current joint force values to compare them to the trained ones (a tolerance can be added).
|
||||
// If the force on a joint becomes greater than the trained value for this joint +
|
||||
// the tolerance, the robot is stopped and the motion stack is emptied.
|
||||
// The monitoring is active when the robot is inside the specified zone (function setInZone()).
|
||||
// This functions sets the boolean “bContact” when an overrun is detected.
|
||||
//
|
||||
//Input parameters
|
||||
// num x_nTolPercent :
|
||||
// role : tolerance percentage to apply to the trained values.
|
||||
//
|
||||
//Example
|
||||
// call startDetection(20)
|
||||
//
|
||||
//History
|
||||
// Creation : 23-04-08 - f.Rob
|
||||
// Modification: 11-03-09 - ffab
|
||||
//Header end
|
||||
//-----------------------------------------------------------------------
|
||||
// Wait the previous task is ended
|
||||
bInZone=false
|
||||
wait(taskStatus("train")==-1 and taskStatus("detect")==-1)
|
||||
// Create the task
|
||||
taskCreate "detect",100,detect(x_nTolPercent)
|
||||
end]]></Code>
|
||||
</Program>
|
||||
</Programs>
|
||||
@@ -0,0 +1,31 @@
|
||||
<?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="startTraining" access="public">
|
||||
<Locals>
|
||||
<Local name="l_nIndex" type="num" xsi:type="array" size="1" />
|
||||
</Locals>
|
||||
<Code><![CDATA[begin
|
||||
//-----------------------------------------------------------------------
|
||||
//Header begin
|
||||
// Reads and store the current joint force values.
|
||||
// It is used to record the forces required for a specific robot cycle
|
||||
// that will need to be monitored for collisions afterwards.
|
||||
// The recording is active when the robot is inside the specified zone
|
||||
// (function setInZone()).
|
||||
//
|
||||
//Example
|
||||
// call startTraining()
|
||||
//
|
||||
//History
|
||||
// Creation : 23-04-08 - f.Rob
|
||||
// Modification: 11-03-09 - ffab
|
||||
//Header end
|
||||
//-----------------------------------------------------------------------
|
||||
// Wait the previous task is ended
|
||||
bInZone=false
|
||||
wait(taskStatus("train")==-1 and taskStatus("detect")==-1)
|
||||
// Create the task
|
||||
taskCreate "train",100,train()
|
||||
end]]></Code>
|
||||
</Program>
|
||||
</Programs>
|
||||
@@ -0,0 +1,7 @@
|
||||
<?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="stop" access="private" >
|
||||
<Code><![CDATA[begin
|
||||
end]]></Code>
|
||||
</Program>
|
||||
</Programs>
|
||||
28
robot/MXLAB/Controller1/usr/usrapp/ForceDetection/train.pgx
Normal file
28
robot/MXLAB/Controller1/usr/usrapp/ForceDetection/train.pgx
Normal file
@@ -0,0 +1,28 @@
|
||||
<?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="train">
|
||||
<Locals>
|
||||
<Local name="l_nIndex" type="num" xsi:type="array" size="1" />
|
||||
</Locals>
|
||||
<Code><![CDATA[begin
|
||||
// Modification: 11-03-09 - ffab
|
||||
//
|
||||
// Wait to be in the zone
|
||||
wait(bInZone)
|
||||
// Update the data while robot into the zone
|
||||
while bInZone
|
||||
//Record the joint force (comment out next line for use with expansion add-on)
|
||||
getJointForce(nJntForce)
|
||||
//Uncomment next line for use with expansion add-on
|
||||
//$getJntForce(nJntForce)
|
||||
// Record data
|
||||
for l_nIndex=0 to 5
|
||||
if abs(nJntForce[l_nIndex])>nJntMaxForce[l_nIndex]
|
||||
nJntMaxForce[l_nIndex]=abs(nJntForce[l_nIndex])
|
||||
endIf
|
||||
endFor
|
||||
delay(0)
|
||||
endWhile
|
||||
end]]></Code>
|
||||
</Program>
|
||||
</Programs>
|
||||
4
robot/MXLAB/MXLAB.cell
Normal file
4
robot/MXLAB/MXLAB.cell
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Cell xmlns="http://www.staubli.com/robotics/cell/1">
|
||||
<File path="Controller1\Controller1.controller" />
|
||||
</Cell>
|
||||
@@ -220,3 +220,4 @@ def fit(ydata, xdata = None, draw_plot = True):
|
||||
print "Invalid gaussian fit: " + str(mean)
|
||||
return (None, None, None)
|
||||
|
||||
context = get_context()
|
||||
Reference in New Issue
Block a user