84 lines
6.5 KiB
XML
84 lines
6.5 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
<configuration xmlns="http://www.psi.ch/~ebner/models/scan/1.0">
|
|
<data fileName="Check Linearity.fda"/>
|
|
<scan>
|
|
<preAction xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ShellAction" exitValue="0" command="/bin/sleep 2"/>
|
|
<preAction xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ChannelAction" value="50" channel="PO2TC-NCS-{DEVICE}:MOTOR.VELO"/>
|
|
<preAction xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ChannelAction" value="350" channel="PO2TC-NCS-{DEVICE}:DEMAND"/>
|
|
<dimension>
|
|
<positioner xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="PseudoPositioner" settlingTime="0.02" id="idCOUNT">
|
|
<counts>200</counts>
|
|
</positioner>
|
|
|
|
<!-- Motor Drive Status -->
|
|
<detector xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ScalarDetector" name="PO2TC-NCS-{DEVICE}:MOTOR.MSTA" id="idMSTA"/>
|
|
|
|
<!-- Position Counter: Raw -->
|
|
<detector xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ScalarDetector" name="PO2TC-NCS-{DEVICE}:MOTOR.RVAL" id="idRVAL"/>
|
|
|
|
<!-- Position Readback: Raw -->
|
|
<detector xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ScalarDetector" name="PO2TC-NCS-{DEVICE}:MOTOR.RRBV" id="idRRBV"/>
|
|
|
|
<!-- Position Readback: USER -->
|
|
<detector xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ScalarDetector" name="PO2TC-NCS-{DEVICE}:MOTOR.RBV" id="idRBV"/>
|
|
|
|
<!-- Position Counter: Processed -->
|
|
<detector xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ScalarDetector" name="PO2TC-NCS-{DEVICE}:MOTOR.VAL" id="idVAL"/>
|
|
|
|
<!-- Motor Home Switch -->
|
|
<detector xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ScalarDetector" name="PO2TC-NCS-{DEVICE}:MOTOR.ATHM" id="idATHM"/>
|
|
|
|
<!-- Enocder Raw -->
|
|
<detector xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ScalarDetector" name="PO2TC-NCS-{DEVICE}:ENCODERraw" id="idENCODERraw"/>
|
|
|
|
<!-- Encoder Processed -->
|
|
<detector xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ScalarDetector" name="PO2TC-NCS-{DEVICE}:ENCODER" id="idENCODER"/>
|
|
|
|
<!-- Ready -->
|
|
<detector xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ScalarDetector" name="PO2TC-NCS-{DEVICE}:RDY" id="idRDY"/>
|
|
|
|
<!-- Interlock -->
|
|
<detector xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ScalarDetector" name="PO2TC-NCS-{DEVICE}:ILK" id="idILK"/>
|
|
</dimension>
|
|
<postAction xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ChannelAction" value="270" channel="PO2TC-NCS-{DEVICE}:MOTOR.VELO"/>
|
|
<postAction xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ChannelAction" value="0" channel="PO2TC-NCS-{DEVICE}:DEMAND"/>
|
|
<manipulation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ScriptManipulation" id="idDiff">
|
|
<mapping xsi:type="IDParameterMapping" refid="idRBV" variable="a"/>
|
|
<mapping xsi:type="IDParameterMapping" refid="idENCODER" variable="b"/>
|
|
<mapping xsi:type="IDParameterMapping" refid="idCOUNT" variable="count"/>
|
|
<script>def process(a,b,count):
|
|
return a-b</script>
|
|
</manipulation>
|
|
<manipulation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ScriptManipulation" id="idResult">
|
|
<mapping xsi:type="IDParameterMapping" refid="idDiff" variable="diff"/>
|
|
<mapping xsi:type="IDParameterMapping" refid="idCOUNT" variable="count"/>
|
|
<script>def process(diff,count):
|
|
if (count < 160) and (diff < -5):
|
|
return( 1, "The motor/encoder position difference signal exceeded the lower limit (-5 deg)" )
|
|
if (count < 160) and (diff > 5):
|
|
return( 2, "The motor/encoder position difference signal exceeded the upper limit (+5 deg)" )
|
|
if (count > 160) and (diff < -0.5):
|
|
return ( 3, "Note: The position difference at the end of movement was too great (more than -0.5 deg)" )
|
|
if (count > 160) and (diff > 0.5):
|
|
return ( 4, "Note: The position difference at the end of movement was too great (more than 0.5 deg)" )
|
|
if (count < 160):
|
|
return ( 0, "Note: The motor drive linearity check did not yet complete.")
|
|
else:
|
|
return ( 0, "The motor drive linearity was within the acceptable limits.")
|
|
</script>
|
|
</manipulation>
|
|
</scan>
|
|
<visualization xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="LinePlot" y="idMSTA" x="idCOUNT" title="Motor Status (MSTA)"/>
|
|
<visualization xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="LinePlot" y="idResult" x="idCOUNT" title="RESULT (0=OK)"/>
|
|
<visualization xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="LinePlot" y="idRVAL" x="idCOUNT" title="Motor Step Count (RVAL)"/>
|
|
<visualization xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="LinePlot" y="idVAL" x="idCOUNT" title="Motor Position (VAL)"/>
|
|
<visualization xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="LinePlot" y="idRRBV" x="idCOUNT" title="Motor Position Readback Raw (RRBV)"/>
|
|
<visualization xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="LinePlot" y="idRBV" x="idCOUNT" title="Motor Position Readback (RBV)"/>
|
|
<visualization xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="LinePlot" y="idATHM" x="idCOUNT" title="Motor Home Switch (ATHM)"/>
|
|
<visualization xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="LinePlot" y="idENCODERraw" x="idCOUNT" title="Encoder Count (ENCODERraw)"/>
|
|
<visualization xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="LinePlot" y="idENCODER" x="idCOUNT" title="Encoder Position (ENCODER)"/>
|
|
<visualization xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="LinePlot" y="idDiff" x="idCOUNT" title="Motor/Encoder Diff"/>
|
|
<visualization xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="LinePlot" y="idRDY" x="idCOUNT" title="Drive Ready (RDY)"/>
|
|
<visualization xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="LinePlot" y="idILK" x="idCOUNT" title="Drive interlock (ILK)"/>
|
|
</configuration>
|