chenkui před 3 měsíci
rodič
revize
40d22dfd74

+ 7 - 5
CyberX8_RT/Config/Devices/AxisProviderCfg.xml

@@ -68,8 +68,8 @@
     <Driver>Beckhoff</Driver>
     <!-- <Driver>Sim</Driver> -->
     <Units>mm</Units>
-    <ScaleFactor>321.5</ScaleFactor>
-    <JogLimit>25</JogLimit>
+    <ScaleFactor>312.5</ScaleFactor>
+    <JogLimit>200</JogLimit>
 	<MinMoveTime>1.0</MinMoveTime>
 	<MotorPositionRate>1</MotorPositionRate>
   </Axis>
@@ -77,7 +77,8 @@
     <Driver>Beckhoff</Driver>
     <!-- <Driver>Sim</Driver> -->
     <Units>mm</Units>
-	<ScaleFactor>454.545</ScaleFactor>
+    <!-- Old gear head ScaleFactor>47784.1</ScaleFactor-->
+    <ScaleFactor>454.545</ScaleFactor>
     <JogLimit>25</JogLimit>
 	<MinMoveTime>1.0</MinMoveTime>
 	<MotorPositionRate>1</MotorPositionRate>
@@ -86,8 +87,8 @@
     <Driver>Beckhoff</Driver>
     <!-- <Driver>Sim</Driver> -->
     <Units>mm</Units>
-	  <ScaleFactor>321.5</ScaleFactor>
-    <JogLimit>25</JogLimit>
+    <ScaleFactor>312.5</ScaleFactor>
+    <JogLimit>200</JogLimit>
 	<MinMoveTime>1.0</MinMoveTime>
 	<MotorPositionRate>1</MotorPositionRate>
   </Axis>
@@ -101,6 +102,7 @@
 	<MinMoveTime>1.0</MinMoveTime>
 	<MotorPositionRate>1</MotorPositionRate>
   </Axis>
+  
   <Axis Name="PUF1.Rotation">
     <Driver>Beckhoff</Driver>
     <!-- <Driver>Sim</Driver> -->

+ 2 - 2
CyberX8_RT/Config/Devices/FestoControllerCfg.xml

@@ -15,8 +15,8 @@
 		<DO Name="c_LOADERB_BERNOULLI_BLADDER" Address="40004" Invert="false" Bit="3"/>
 		<DO Name="c_LoaderA_LS_Vacuum" Address="40004" Invert="true" Bit="4"/>
 		<DO Name="c_LoaderB_LS_Vacuum" Address="40004" Invert="true" Bit="5"/>
-		<DO Name="c_DPUF_A_CHUCK_A_RELEASE" Address="40004" Invert="true" Bit="6"/>
-		<DO Name="c_DPUF_A_CHUCK_B_RELEASE" Address="40004" Invert="true" Bit="7"/>
+		<DO Name="c_DPUF_A_CHUCK_A_RELEASE" Address="40004" Invert="false" Bit="6"/>
+		<DO Name="c_DPUF_A_CHUCK_B_RELEASE" Address="40004" Invert="false" Bit="7"/>
 		<DO Name="c_LOADERA_BERNOULLI_N2" Address="40005" Invert="false" Bit="0"/>
 		<DO Name="c_LOADERB_BERNOULLI_N2" Address="40005" Invert="false" Bit="1"/>
 		<DO Name="Festo.DO18" Address="40005" Invert="false" Bit="2"/>

+ 20 - 62
CyberX8_RT/Config/Devices/GalilControllerCfg.xml

@@ -1,18 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <GalilControllerConfig>
   <GalilDeviceConfig Module="PUF1" IpAddress="10.0.0.22" Port="58678" SendTimeout="2000" RecvTimeout="2000" GalilType="Galil40">
-	<Dig_In>
-		<DI Name="DI0" Address="0" Invert="false"/>
-		<DI Name="DI1"  Address="1" Invert="false"/>
-		<DI Name="DI2"  Address="2" Invert="false"/>
-		<DI Name="DI3"  Address="3" Invert="false"/>
-		<DI Name="DI4"  Address="4" Invert="false"/>
-		<DI Name="DI5"  Address="5" Invert="false"/>
-		<DI Name="DI6"  Address="6" Invert="false"/>
-		<DI Name="DI7"  Address="7" Invert="false"/>
-		<DI Name="DI8"  Address="8" Invert="false"/>
-		<DI Name="DI9"  Address="9" Invert="false"/>
-	</Dig_In>
 	<GalilAxisConfig Name="Flip" Index="0" Type="Galil" CNType="-1">
 		<Speed>1000000</Speed>
 		<Acceleration>2000000</Acceleration>
@@ -43,18 +31,6 @@
 	</GalilAxisConfig>
   </GalilDeviceConfig>
 	<GalilDeviceConfig Module="Loader1" IpAddress="10.0.0.20" Port="58678" SendTimeout="2000" RecvTimeout="2000" GalilType="Galil21">
-		<Dig_In>
-			<DI Name="DI0" Address="0" Invert="false"/>
-			<DI Name="DI1"  Address="1" Invert="false"/>
-			<DI Name="DI2"  Address="2" Invert="false"/>
-			<DI Name="DI3"  Address="3" Invert="false"/>
-			<DI Name="DI4"  Address="4" Invert="false"/>
-			<DI Name="DI5"  Address="5" Invert="false"/>
-			<DI Name="DI6"  Address="6" Invert="false"/>
-			<DI Name="DI7"  Address="7" Invert="false"/>
-			<DI Name="DI8"  Address="8" Invert="false"/>
-			<DI Name="DI9"  Address="9" Invert="false"/>
-		</Dig_In>
 		<GalilAxisConfig Name="LSA" Index="4" Type="GalilLipsel" CNType="-1">
 			<Speed>150000</Speed>
 			<Acceleration>200000</Acceleration>
@@ -92,7 +68,7 @@
 			<HomingTimeOut>60000</HomingTimeOut>
 			<HomingAcceleration>200000</HomingAcceleration>
 			<HomingDeceleration>10000000</HomingDeceleration>
-			<ReverseSoftwareLimit>-25000</ReverseSoftwareLimit>
+			<ReverseSoftwareLimit>-160000</ReverseSoftwareLimit>
 			<ForwardSoftwareLimit>270000</ForwardSoftwareLimit>
 			<NegativeTorqueLimit>130</NegativeTorqueLimit>
 			<PositiveTorqueLimit>20</PositiveTorqueLimit>
@@ -148,7 +124,7 @@
 			<HomingTimeOut>60000</HomingTimeOut>
 			<HomingAcceleration>200000</HomingAcceleration>
 			<HomingDeceleration>10000000</HomingDeceleration>
-			<ReverseSoftwareLimit>-25000</ReverseSoftwareLimit>
+			<ReverseSoftwareLimit>-160000</ReverseSoftwareLimit>
 			<ForwardSoftwareLimit>270000</ForwardSoftwareLimit>
 			<NegativeTorqueLimit>130</NegativeTorqueLimit>
 			<PositiveTorqueLimit>20</PositiveTorqueLimit>
@@ -156,22 +132,13 @@
 	</GalilDeviceConfig>
 	<GalilDeviceConfig Module="Transporter1" IpAddress="10.0.0.21" Port="58678" SendTimeout="2000" RecvTimeout="2000" GalilType="Galil21">
 		<Dig_In>
-			<DI Name="DI0" Address="0" Invert="false"/>
-			<DI Name="DI1"  Address="1" Invert="false"/>
-			<DI Name="DI2"  Address="2" Invert="false"/>
-			<DI Name="DI3"  Address="3" Invert="false"/>
-			<DI Name="r_TRANSPORT1_WS_HOLD_PRESENT"  Address="4" Invert="false"/>
-			<DI Name="DI5"  Address="5" Invert="false"/>
-			<DI Name="DI6"  Address="6" Invert="false"/>
-			<DI Name="DI7"  Address="7" Invert="false"/>
-			<DI Name="DI8"  Address="8" Invert="false"/>
-			<DI Name="DI9"  Address="9" Invert="false"/>
+			<DI Name="r_TRANSPORT1_WS_HOLD_PRESENT"  Address="0" Invert="true" Bit="4"/>
 		</Dig_In>
 		<GalilAxisConfig Name="Elevator" Index="0" Type="Galil" CNType="-1">
 			<Speed>200000</Speed>
 			<Acceleration>200000</Acceleration>
 			<Deceleration>200000</Deceleration>
-			<HomingSpeed>50000</HomingSpeed>
+			<HomingSpeed>10000</HomingSpeed>
 			<HomingOffset>0</HomingOffset>
 			<HomingTimeOut>60000</HomingTimeOut>
 			<HomingAcceleration>200000</HomingAcceleration>
@@ -183,37 +150,28 @@
 		</GalilAxisConfig>
 		<GalilAxisConfig Name="Gantry" Index="1" Type="Galil" CNType="1">
 			<Speed>400000</Speed>
-			<Acceleration>4000000</Acceleration>
-			<Deceleration>4000000</Deceleration>
-			<HomingSpeed>100000</HomingSpeed>
-			<HomingOffset>0</HomingOffset>
+			<Acceleration>400000</Acceleration>
+			<Deceleration>400000</Deceleration>
+			<HomingSpeed>10000</HomingSpeed>
+			<HomingOffset>1448437</HomingOffset>
 			<HomingTimeOut>60000</HomingTimeOut>
-			<HomingAcceleration>4000000</HomingAcceleration>
-			<HomingDeceleration>8000000</HomingDeceleration>
+			<HomingAcceleration>400000</HomingAcceleration>
+			<HomingDeceleration>800000</HomingDeceleration>
 			<ReverseSoftwareLimit>0</ReverseSoftwareLimit>
 			<ForwardSoftwareLimit>0</ForwardSoftwareLimit>
 			<NegativeTorqueLimit>130</NegativeTorqueLimit>
 			<PositiveTorqueLimit>20</PositiveTorqueLimit>
 		</GalilAxisConfig>
   </GalilDeviceConfig>
-	<GalilDeviceConfig Module="Transporter2" IpAddress="10.0.0.23" Port="58678" SendTimeout="2000" RecvTimeout="2000" GalilType="Galil21">
+  <GalilDeviceConfig Module="Transporter2" IpAddress="10.0.0.23" Port="58678" SendTimeout="2000" RecvTimeout="2000" GalilType="Galil21">
 		<Dig_In>
-			<DI Name="DI0" Address="0" Invert="false"/>
-			<DI Name="DI1"  Address="1" Invert="false"/>
-			<DI Name="DI2"  Address="2" Invert="false"/>
-			<DI Name="DI3"  Address="3" Invert="false"/>
-			<DI Name="r_TRANSPORT2_WS_HOLD_PRESENT"  Address="4" Invert="false"/>
-			<DI Name="DI5"  Address="5" Invert="false"/>
-			<DI Name="DI6"  Address="6" Invert="false"/>
-			<DI Name="DI7"  Address="7" Invert="false"/>
-			<DI Name="DI8"  Address="8" Invert="false"/>
-			<DI Name="DI9"  Address="9" Invert="false"/>
+			<DI Name="r_TRANSPORT2_WS_HOLD_PRESENT"  Address="0" Invert="true" Bit="4"/>
 		</Dig_In>
 		<GalilAxisConfig Name="Elevator" Index="0" Type="Galil" CNType="-1">
 			<Speed>200000</Speed>
 			<Acceleration>200000</Acceleration>
 			<Deceleration>200000</Deceleration>
-			<HomingSpeed>50000</HomingSpeed>
+			<HomingSpeed>10000</HomingSpeed>
 			<HomingOffset>0</HomingOffset>
 			<HomingTimeOut>60000</HomingTimeOut>
 			<HomingAcceleration>200000</HomingAcceleration>
@@ -223,19 +181,19 @@
 			<NegativeTorqueLimit>130</NegativeTorqueLimit>
 			<PositiveTorqueLimit>20</PositiveTorqueLimit>
 		</GalilAxisConfig>
-		<GalilAxisConfig Name="Gantry" Index="1" Type="Galil" CNType="1">
+		<GalilAxisConfig Name="Gantry" Index="1" Type="Galil" CNType="-1">
 			<Speed>400000</Speed>
-			<Acceleration>4000000</Acceleration>
-			<Deceleration>4000000</Deceleration>
-			<HomingSpeed>100000</HomingSpeed>
+			<Acceleration>400000</Acceleration>
+			<Deceleration>400000</Deceleration>
+			<HomingSpeed>10000</HomingSpeed>
 			<HomingOffset>0</HomingOffset>
 			<HomingTimeOut>60000</HomingTimeOut>
-			<HomingAcceleration>4000000</HomingAcceleration>
-			<HomingDeceleration>8000000</HomingDeceleration>
+			<HomingAcceleration>400000</HomingAcceleration>
+			<HomingDeceleration>800000</HomingDeceleration>
 			<ReverseSoftwareLimit>0</ReverseSoftwareLimit>
 			<ForwardSoftwareLimit>0</ForwardSoftwareLimit>
 			<NegativeTorqueLimit>130</NegativeTorqueLimit>
 			<PositiveTorqueLimit>20</PositiveTorqueLimit>
 		</GalilAxisConfig>
-	</GalilDeviceConfig>
+  </GalilDeviceConfig>
 </GalilControllerConfig>

+ 255 - 251
CyberX8_RT/Config/Devices/WagoControllerCfg.xml

@@ -59,24 +59,28 @@
 			<DO Name="DO15"  Address="527" Invert="false"/>
 		</DOGroup>
 		<DOGroup Name="N9">
-			<DO Name="DO16"  Address="527" Invert="false"/>
-			<DO Name="DO17"  Address="528" Invert="false"/>			
+			<DO Name="c_HVD_1_HIGH"  Address="528" Invert="false"/>
+			<DO Name="c_HVD_1_ENABLE"  Address="529" Invert="false"/>			
 		</DOGroup>
 		<DOGroup Name="N10">
-			<DO Name="DO18"  Address="529" Invert="false"/>
-			<DO Name="DO9"  Address="530" Invert="false"/>			
+			<DO Name="c_HVD_2_HIGH"  Address="530" Invert="false"/>
+			<DO Name="c_HVD_2_ENABLE"  Address="531" Invert="false"/>			
 		</DOGroup>
 		<DOGroup Name="N11">
-			<DO Name="DO20"  Address="531" Invert="false"/>
-			<DO Name="DO21"  Address="532" Invert="false"/>			
+			<DO Name="\c_Door_Unlock"  Address="532" Invert="false"/>
+			<DO Name="DO21"  Address="533" Invert="false"/>			
 		</DOGroup>
+		<DOGroup Name="N12">
+			<DO Name="c_CAMERA_1_TRIGGER"  Address="534" Invert="false"/>
+			<DO Name="c_CAMERA_2_TRIGGER"  Address="535" Invert="false"/>			
+		</DOGroup>	
 	</Dig_Out>
 	<Ano_In>
 		<AIGroup Name="N1">
 			<AI Name="AI1"  Address="0" Scaling="0=3276.7,-757=16383.5" DataType="short"/>
 			<AI Name="AI2"  Address="1" DataType="short"/>
-			<AI Name="AI3"  Address="2" DataType="short"/>
-			<AI Name="AI4"  Address="3" DataType="short"/>
+			<AI Name="r_HVD_1_ANALOG"  Address="2" Scaling="0=3276.7,-757=16383.5" DataType="short"/>
+			<AI Name="r_HVD_2_ANALOG"  Address="3" Scaling="0=3276.7,-757=16383.5" DataType="short"/>
 			<AI Name="r_LoaderA_LS_Vacuum_anlg"  Address="4" Scaling="0=3276.7,-757=16383.5" DataType="short"/>
 			<AI Name="r_LoaderB_LS_Vacuum_anlg"  Address="5" Scaling="0=3276.7,-757=16383.5" DataType="short"/>
 			<AI Name="AI6"  Address="6" DataType="short"/>
@@ -143,251 +147,251 @@
 	</Dig_Out>
 	<Ano_In>
 		<AIGroup Name="N60">
-			<AI Name="r_DPUF_A_CHUCK_A_VAC"  Address="0" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
-			<AI Name="r_DPUF_A_CHUCK_B_VAC"  Address="1" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
-			<AI Name="r_DIST_FRONT"  Address="2" Scaling="13=0,150=32767" DataType="short"/>
-			<AI Name="r_DIST_REAR"  Address="3" Scaling="13=0,150=32767" DataType="short"/>
+			<AI Name="r_DPUF_A_CHUCK_A_VAC"  Address="0" Scaling="0=3276.7,-757=16383.5" DataType="short"/>
+			<AI Name="r_DPUF_A_CHUCK_B_VAC"  Address="1" Scaling="0=3276.7,-757=16383.5" DataType="short"/>
+			<AI Name="r_DPUF_A_CHUCK_A_WFER_SNS_1"  Address="2" Scaling="13=0,150=32767" DataType="short"/>
+			<AI Name="r_DPUF_A_CHUCK_A_WFER_SNS_2"  Address="3" Scaling="13=0,150=32767" DataType="short"/>
 		</AIGroup>
 	</Ano_In>
 	<Ano_Out>
 	</Ano_Out>
-  </WagoDeviceConfig>
-	<WagoDeviceConfig Module="Wago2" IpAddress="10.0.0.10" Port="502" SendTimeout="2000" RecvTimeout="2000" Channel="1">
-		<Dig_In>
-			<DIGroup Name="20">
-				<DI Name="DI0"  Address="0" Invert="false"/>
-				<DI Name="DI1"  Address="1" Invert="false"/>
-				<DI Name="DI2"  Address="2" Invert="false"/>
-				<DI Name="DI3"  Address="3" Invert="false"/>
-				<DI Name="DI4"  Address="4" Invert="false"/>
-				<DI Name="DI5"  Address="5" Invert="false"/>
-				<DI Name="DI6"  Address="6" Invert="false"/>
-				<DI Name="DI7"  Address="7" Invert="false"/>
-				<DI Name="DI8"  Address="8" Invert="false"/>
-				<DI Name="DI9"  Address="9" Invert="false"/>
-				<DI Name="DI10"  Address="10" Invert="false"/>
-				<DI Name="DI11"  Address="11" Invert="false"/>
-				<DI Name="DI12"  Address="12" Invert="false"/>
-				<DI Name="DI13"  Address="13" Invert="false"/>
-				<DI Name="DI14"  Address="14" Invert="false"/>
-				<DI Name="DI15"  Address="15" Invert="false"/>
-			</DIGroup>
-			<DIGroup Name="21">
-				<DI Name="DI16"  Address="16" Invert="false"/>
-				<DI Name="DI17"  Address="17" Invert="false"/>
-				<DI Name="DI18"  Address="18" Invert="false"/>
-				<DI Name="DI19"  Address="19" Invert="false"/>
-				<DI Name="DI20"  Address="20" Invert="false"/>
-				<DI Name="DI21"  Address="21" Invert="false"/>
-				<DI Name="r_CONTAINMENT_FLUID"  Address="22" Invert="true"/>
-				<DI Name="r_DOOR_INLK_OK"  Address="23" Invert="false"/>
-				<DI Name="DI24"  Address="24" Invert="false"/>
-				<DI Name="DI25"  Address="25" Invert="false"/>
-				<DI Name="DI26"  Address="26" Invert="false"/>
-				<DI Name="DI27"  Address="27" Invert="false"/>
-				<DI Name="r_REAR_DOOR_INTLK"  Address="28" Invert="false"/>
-				<DI Name="r_SAMPLE_SYS_FLUID_NOT_PRESENT"  Address="29" Invert="false"/>
-				<DI Name="DI28"  Address="30" Invert="false"/>
-				<DI Name="DI29"  Address="31" Invert="false"/>
-			</DIGroup>
-			<DIGroup Name="22">
-				<DI Name="r_RES1_HI_LEVEL"  Address="32" Invert="false"/>
-				<DI Name="r_RES1_LOW_LEVEL"  Address="33" Invert="true"/>
-				<DI Name="r_RES2_HIGH_LEVEL"  Address="34" Invert="false"/>
-				<DI Name="r_RES2_LOW_LEVEL"  Address="35" Invert="true"/>
-				<DI Name="r_RES3_HIGH_LEVEL"  Address="36" Invert="false"/>
-				<DI Name="r_RES3_LOW_LEVEL"  Address="37" Invert="true"/>
-				<DI Name="r_RES4_HIGH_LEVEL"  Address="38" Invert="false"/>
-				<DI Name="r_RES4_LOW_LEVEL"  Address="39" Invert="true"/>
-				<DI Name="DI38"  Address="40" Invert="false"/>
-				<DI Name="DI39"  Address="41" Invert="false"/>
-				<DI Name="DI40"  Address="42" Invert="false"/>
-				<DI Name="DI41"  Address="43" Invert="false"/>
-				<DI Name="DI42"  Address="44" Invert="false"/>
-				<DI Name="DI43"  Address="45" Invert="false"/>
-				<DI Name="DI44"  Address="46" Invert="false"/>
-				<DI Name="DI45"  Address="47" Invert="false"/>
-			</DIGroup>
-			<DIGroup Name="30">
-				<DI Name="DI46"  Address="48" Invert="false"/>
-				<DI Name="DI47"  Address="49" Invert="false"/>
-			</DIGroup>
-		</Dig_In>
-		<Dig_Out>
-			<DOGroup Name="23">
-				<DO Name="c_CDA_ENABLE"  Address="512" Invert="false"/>
-				<DO Name="c_DI_ENABLE"  Address="513" Invert="false"/>
-				<DO Name="c_DI_FILL_ENABLE"  Address="514" Invert="false"/>
-				<DO Name="c_DI_REPLEN_ENABLE"  Address="515" Invert="false"/>
-				<DO Name="c_EXTERNAL_CDA_ENABLE"  Address="516" Invert="false"/>
-				<DO Name="c_HCW_ENABLE"  Address="517" Invert="false"/>
-				<DO Name="DO6"  Address="518" Invert="false"/>
-				<DO Name="c_N2_ENABLEc_QDRD1_LO_PRESSURE"  Address="519" Invert="false"/>
-				<DO Name="c_QDRD1_LO_PRESSURE"  Address="520" Invert="false"/>
-				<DO Name="c_QDRD2_LO_PRESSURE"  Address="521" Invert="false"/>
-				<DO Name="c_QDRD3_LO_PRESSURE"  Address="522" Invert="false"/>
-				<DO Name="c_QDRD4_LO_PRESSURE"  Address="523" Invert="false"/>
-				<DO Name="DO12"  Address="524" Invert="false"/>
-				<DO Name="DO13"  Address="525" Invert="false"/>
-				<DO Name="DO14"  Address="526" Invert="false"/>
-				<DO Name="DO15"  Address="527" Invert="false"/>
-			</DOGroup>
-			<DOGroup Name="24">
-				<DO Name="DO16"  Address="528" Invert="false"/>
-				<DO Name="DO17"  Address="529" Invert="false"/>
-				<DO Name="DO18"  Address="530" Invert="false"/>
-				<DO Name="DO19"  Address="531" Invert="false"/>
-				<DO Name="DO20"  Address="532" Invert="false"/>
-				<DO Name="DO21"  Address="533" Invert="false"/>
-				<DO Name="DO22"  Address="534" Invert="false"/>
-				<DO Name="DO23"  Address="535" Invert="false"/>
-				<DO Name="DO24"  Address="536" Invert="false"/>
-				<DO Name="DO25"  Address="537" Invert="false"/>
-				<DO Name="DO26"  Address="538" Invert="false"/>
-				<DO Name="DO27"  Address="539" Invert="false"/>
-				<DO Name="DO28"  Address="540" Invert="false"/>
-				<DO Name="DO29"  Address="541" Invert="false"/>
-				<DO Name="DO30"  Address="542" Invert="false"/>
-				<DO Name="DO31"  Address="543" Invert="false"/>
-			</DOGroup>
-			<DOGroup Name="25">
-				<DO Name="c_METAL1_PUMP_ON"  Address="544" Invert="false"/>
-				<DO Name="DO33"  Address="545" Invert="false"/>
-			</DOGroup>
-			<DOGroup Name="26">
-				<DO Name="c_METAL2_PUMP_ON"  Address="546" Invert="false"/>
-				<DO Name="c_HED1_POWER_ON"  Address="547" Invert="false"/>
-			</DOGroup>
-			<DOGroup Name="27">
-				<DO Name="c_HED2_POWER_ON"  Address="548" Invert="false"/>
-				<DO Name="DO37"  Address="549" Invert="false"/>
-			</DOGroup>
-			<DOGroup Name="28">
-				<DO Name="c_METAL3_PUMP_ON"  Address="550" Invert="false"/>
-				<DO Name="DO39"  Address="551" Invert="false"/>
-			</DOGroup>
-			<DOGroup Name="29">
-				<DO Name="c_RES3_POWER_ON"  Address="552" Invert="false"/>
-				<DO Name="DO41"  Address="553" Invert="false"/>
-			</DOGroup>
-		</Dig_Out>
-		<Ano_In>
-			<AIGroup Name="1">
-				<AI Name="r_pH2"  Address="0" Scaling="0=3276.7,14=32767" DataType="short"/>
-				<AI Name="AI1"  Address="1" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
-				<AI Name="AI2"  Address="2" Scaling="13=0,150=32767" DataType="short"/>
-				<AI Name="AI3"  Address="3" Scaling="13=0,150=32767" DataType="short"/>
-			</AIGroup>
-			<AIGroup Name="2">
-				<AI Name="AI4"  Address="4" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
-				<AI Name="AI5"  Address="5" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
-				<AI Name="r_PREWET_DI_PRESS"  Address="6" Scaling="0=3276.7,100=32767" DataType="short"/>
-				<AI Name="AI7"  Address="7" Scaling="13=0,150=32767" DataType="short"/>
-			</AIGroup>
-			<AIGroup Name="3">
-				<AI Name="AI8"  Address="8" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
-				<AI Name="AI9"  Address="9" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
-				<AI Name="r_PREWET_FLOW"  Address="10" Scaling="0=3276.7,40=32767" DataType="short"/>
-				<AI Name="r_DI_WATER_PRESSURE"  Address="11" Scaling="0=3276.7,100=32767" DataType="short"/>
-			</AIGroup>
-			<AIGroup Name="4">
-				<AI Name="r_PUMP1_FLOW"  Address="12" Scaling="0=3276.7,40=16383.5" DataType="short"/>
-				<AI Name="AI13"  Address="13" Scaling="0=3276.7,40=16383.5" DataType="short"/>
-				<AI Name="r_PUMP2_FLOW"  Address="14" Scaling="0=3276.7,40=16383.5" DataType="short"/>
-				<AI Name="AI15"  Address="15" Scaling="0=3276.7,40=16383.5" DataType="short"/>
-			</AIGroup>
-			<AIGroup Name="5">
-				<AI Name="r_PUMP3_FLOW"  Address="16" Scaling="0=3276.7,40=16383.5" DataType="short"/>
-				<AI Name="AI17"  Address="17" Scaling="0=3276.7,40=16383.5" DataType="short"/>
-				<AI Name="r_PUMP4_FLOW"  Address="18" Scaling="0=3276.7,40=16383.5" DataType="short"/>
-				<AI Name="AI19"  Address="19" Scaling="0=3276.7,40=16383.5" DataType="short"/>
-			</AIGroup>
-			<AIGroup Name="6">
-				<AI Name="AI20"  Address="20" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
-				<AI Name="AI21"  Address="21" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
-				<AI Name="AI22"  Address="22" Scaling="13=0,150=32767" DataType="short"/>
-				<AI Name="AI23"  Address="23" Scaling="13=0,150=32767" DataType="short"/>
-			</AIGroup>
-			<AIGroup Name="7">
-				<AI Name="AI24"  Address="24" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
-				<AI Name="AI25"  Address="25" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
-				<AI Name="AI26"  Address="26" Scaling="13=0,150=32767" DataType="short"/>
-				<AI Name="AI27"  Address="27" Scaling="13=0,150=32767" DataType="short"/>
-			</AIGroup>
-			<AIGroup Name="8">
-				<AI Name="r_QDRD1_WATER_LEVEL"  Address="28" Scaling="0=3276.7,100=32767" DataType="short"/>
-				<AI Name="r_QDRD2_WATER_LEVEL"  Address="29" Scaling="0=3276.7,100=32767" DataType="short"/>
-				<AI Name="r_QDRD3_WATER_LEVEL"  Address="30" Scaling="0=3276.7,100=32767" DataType="short"/>
-				<AI Name="r_QDRD4_WATER_LEVEL"  Address="31" Scaling="0=3276.7,100=32767" DataType="short"/>
-			</AIGroup>
-			<AIGroup Name="9">
-				<AI Name="AI32"  Address="32" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
-				<AI Name="AI33"  Address="33" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
-				<AI Name="AI34"  Address="34" Scaling="13=0,150=32767" DataType="short"/>
-				<AI Name="AI35"  Address="35" Scaling="13=0,150=32767" DataType="short"/>
-			</AIGroup>
-			<AIGroup Name="10">
-				<AI Name="r_RES_LEVEL_1_raw"  Address="36" Scaling="0=3276.7,100=32767" DataType="short"/>
-				<AI Name="r_RES_LEVEL_2_raw"  Address="37" Scaling="0=3276.7,100=32767" DataType="short"/>
-				<AI Name="r_RES_LEVEL_3_raw"  Address="38" Scaling="0=3276.7,100=32767" DataType="short"/>
-				<AI Name="r_RES_LEVEL_4_raw"  Address="39" Scaling="0=3276.7,100=32767" DataType="short"/>
-			</AIGroup>
-			<AIGroup Name="11">
-				<AI Name="AI40"  Address="40" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
-				<AI Name="AI41"  Address="41" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
-				<AI Name="AI42"  Address="42" Scaling="13=0,150=32767" DataType="short"/>
-				<AI Name="r_HCW_FLOW"  Address="43" Scaling="0=3276.7,40=32767" DataType="short"/>
-			</AIGroup>
-			<AIGroup Name="12">
-				<AI Name="r_CDA_EXTERNAL_PRESSURE"  Address="44" Scaling="0=3276.7,145=16383.5" DataType="short"/>
-				<AI Name="r_CDA_HIGH_PRESSURE"  Address="45" Scaling="0=3276.7,145=16383.5" DataType="short"/>
-				<AI Name="r_CDA_LOW_PRESSURE"  Address="46" Scaling="0=3276.7,145=16383.5" DataType="short"/>
-				<AI Name="AI47"  Address="47" Scaling="13=0,150=32767" DataType="short"/>
-			</AIGroup>
-			<AIGroup Name="13">
-				<AI Name="AI48"  Address="48" Scaling="0=3276.7,145=16383.5" DataType="short"/>
-				<AI Name="r_N2_1_LOW_PRESSURE"  Address="49" Scaling="0=3276.7,145=16383.5" DataType="short"/>
-				<AI Name="r_N2_1_PRESSURE"  Address="50" Scaling="0=3276.7,145=16383.5" DataType="short"/>
-				<AI Name="r_N2_2_LOW_PRESSURE"  Address="51" Scaling="0=3276.7,145=16383.5" DataType="short"/>
-			</AIGroup>
-			<AIGroup Name="14">
-				<AI Name="r_N2_2_PRESSURE"  Address="52" Scaling="0=3276.7,145=16383.5" DataType="short"/>
-				<AI Name="r_PROC_BALANCE_PRESSURE"  Address="53" Scaling="0=3276.7,14.5=16383.5" DataType="short"/>
-				<AI Name="r_SYSTEM_VACUUM"  Address="54" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
-				<AI Name="AI55"  Address="55" Scaling="13=0,150=32767" DataType="short"/>
-			</AIGroup>
-		</Ano_In>
-		<Ano_Out>
-			<AOGroup Name="15">
-				<AO Name="AO1"  Address="512" DataType="short"/>
-				<AO Name="AO2"  Address="513" DataType="short"/>
-				<AO Name="AO3"  Address="514" DataType="short"/>
-				<AO Name="AO4"  Address="515" DataType="short"/>
-			</AOGroup>
-			<AOGroup Name="16">
-				<AO Name="AO5"  Address="516" DataType="short"/>
-				<AO Name="AO6"  Address="517" DataType="short"/>
-				<AO Name="AO7"  Address="518" DataType="short"/>
-				<AO Name="AO8"  Address="519" DataType="short"/>
-			</AOGroup>
-			<AOGroup Name="17">
-				<AO Name="AO9"  Address="516" DataType="short"/>
-				<AO Name="AO10"  Address="517" DataType="short"/>
-				<AO Name="AO11"  Address="518" DataType="short"/>
-				<AO Name="AO8"  Address="519" DataType="short"/>
-			</AOGroup>
-			<AOGroup Name="18">
-				<AO Name="AO12"  Address="516" DataType="short"/>
-				<AO Name="AO13"  Address="517" DataType="short"/>
-				<AO Name="AO14"  Address="518" DataType="short"/>
-				<AO Name="AO15"  Address="519" DataType="short"/>
-			</AOGroup>
-			<AOGroup Name="19">
-				<AO Name="AO16"  Address="516" DataType="short"/>
-				<AO Name="AO17"  Address="517" DataType="short"/>
-				<AO Name="AO18"  Address="518" DataType="short"/>
-				<AO Name="AO19"  Address="519" DataType="short"/>
-			</AOGroup>
-		</Ano_Out>
-	</WagoDeviceConfig>
+</WagoDeviceConfig>
+<WagoDeviceConfig Module="Wago2" IpAddress="10.0.0.10" Port="502" SendTimeout="2000" RecvTimeout="2000" Channel="1">
+	<Dig_In>
+		<DIGroup Name="20">
+			<DI Name="DI0"  Address="0" Invert="false"/>
+			<DI Name="DI1"  Address="1" Invert="false"/>
+			<DI Name="DI2"  Address="2" Invert="false"/>
+			<DI Name="DI3"  Address="3" Invert="false"/>
+			<DI Name="DI4"  Address="4" Invert="false"/>
+			<DI Name="DI5"  Address="5" Invert="false"/>
+			<DI Name="DI6"  Address="6" Invert="false"/>
+			<DI Name="DI7"  Address="7" Invert="false"/>
+			<DI Name="DI8"  Address="8" Invert="false"/>
+			<DI Name="DI9"  Address="9" Invert="false"/>
+			<DI Name="DI10"  Address="10" Invert="false"/>
+			<DI Name="DI11"  Address="11" Invert="false"/>
+			<DI Name="DI12"  Address="12" Invert="false"/>
+			<DI Name="DI13"  Address="13" Invert="false"/>
+			<DI Name="DI14"  Address="14" Invert="false"/>
+			<DI Name="DI15"  Address="15" Invert="false"/>
+		</DIGroup>
+		<DIGroup Name="21">
+			<DI Name="DI16"  Address="16" Invert="false"/>
+			<DI Name="DI17"  Address="17" Invert="false"/>
+			<DI Name="DI18"  Address="18" Invert="false"/>
+			<DI Name="DI19"  Address="19" Invert="false"/>
+			<DI Name="DI20"  Address="20" Invert="false"/>
+			<DI Name="DI21"  Address="21" Invert="false"/>
+			<DI Name="r_CONTAINMENT_FLUID"  Address="22" Invert="true"/>
+			<DI Name="r_DOOR_INLK_OK"  Address="23" Invert="false"/>
+			<DI Name="DI24"  Address="24" Invert="false"/>
+			<DI Name="DI25"  Address="25" Invert="false"/>
+			<DI Name="DI26"  Address="26" Invert="false"/>
+			<DI Name="DI27"  Address="27" Invert="false"/>
+			<DI Name="r_REAR_DOOR_INTLK"  Address="28" Invert="false"/>
+			<DI Name="r_SAMPLE_SYS_FLUID_NOT_PRESENT"  Address="29" Invert="false"/>
+			<DI Name="DI28"  Address="30" Invert="false"/>
+			<DI Name="DI29"  Address="31" Invert="false"/>
+		</DIGroup>
+		<DIGroup Name="22">
+			<DI Name="r_RES1_HI_LEVEL"  Address="32" Invert="false"/>
+			<DI Name="r_RES1_LOW_LEVEL"  Address="33" Invert="true"/>
+			<DI Name="r_RES2_HIGH_LEVEL"  Address="34" Invert="false"/>
+			<DI Name="r_RES2_LOW_LEVEL"  Address="35" Invert="true"/>
+			<DI Name="r_RES3_HIGH_LEVEL"  Address="36" Invert="false"/>
+			<DI Name="r_RES3_LOW_LEVEL"  Address="37" Invert="true"/>
+			<DI Name="r_RES4_HIGH_LEVEL"  Address="38" Invert="false"/>
+			<DI Name="r_RES4_LOW_LEVEL"  Address="39" Invert="true"/>
+			<DI Name="DI38"  Address="40" Invert="false"/>
+			<DI Name="DI39"  Address="41" Invert="false"/>
+			<DI Name="DI40"  Address="42" Invert="false"/>
+			<DI Name="DI41"  Address="43" Invert="false"/>
+			<DI Name="DI42"  Address="44" Invert="false"/>
+			<DI Name="DI43"  Address="45" Invert="false"/>
+			<DI Name="DI44"  Address="46" Invert="false"/>
+			<DI Name="DI45"  Address="47" Invert="false"/>
+		</DIGroup>
+		<DIGroup Name="30">
+			<DI Name="DI46"  Address="48" Invert="false"/>
+			<DI Name="DI47"  Address="49" Invert="false"/>
+		</DIGroup>
+	</Dig_In>
+	<Dig_Out>
+		<DOGroup Name="23">
+			<DO Name="c_CDA_ENABLE"  Address="512" Invert="false"/>
+			<DO Name="c_DI_ENABLE"  Address="513" Invert="false"/>
+			<DO Name="c_DI_FILL_ENABLE"  Address="514" Invert="false"/>
+			<DO Name="c_DI_REPLEN_ENABLE"  Address="515" Invert="false"/>
+			<DO Name="c_EXTERNAL_CDA_ENABLE"  Address="516" Invert="false"/>
+			<DO Name="c_HCW_ENABLE"  Address="517" Invert="false"/>
+			<DO Name="DO6"  Address="518" Invert="false"/>
+			<DO Name="c_N2_ENABLEc_QDRD1_LO_PRESSURE"  Address="519" Invert="false"/>
+			<DO Name="c_QDRD1_LO_PRESSURE"  Address="520" Invert="false"/>
+			<DO Name="c_QDRD2_LO_PRESSURE"  Address="521" Invert="false"/>
+			<DO Name="c_QDRD3_LO_PRESSURE"  Address="522" Invert="false"/>
+			<DO Name="c_QDRD4_LO_PRESSURE"  Address="523" Invert="false"/>
+			<DO Name="DO12"  Address="524" Invert="false"/>
+			<DO Name="DO13"  Address="525" Invert="false"/>
+			<DO Name="DO14"  Address="526" Invert="false"/>
+			<DO Name="DO15"  Address="527" Invert="false"/>
+		</DOGroup>
+		<DOGroup Name="24">
+			<DO Name="DO16"  Address="528" Invert="false"/>
+			<DO Name="DO17"  Address="529" Invert="false"/>
+			<DO Name="DO18"  Address="530" Invert="false"/>
+			<DO Name="DO19"  Address="531" Invert="false"/>
+			<DO Name="DO20"  Address="532" Invert="false"/>
+			<DO Name="DO21"  Address="533" Invert="false"/>
+			<DO Name="DO22"  Address="534" Invert="false"/>
+			<DO Name="DO23"  Address="535" Invert="false"/>
+			<DO Name="DO24"  Address="536" Invert="false"/>
+			<DO Name="DO25"  Address="537" Invert="false"/>
+			<DO Name="DO26"  Address="538" Invert="false"/>
+			<DO Name="DO27"  Address="539" Invert="false"/>
+			<DO Name="DO28"  Address="540" Invert="false"/>
+			<DO Name="DO29"  Address="541" Invert="false"/>
+			<DO Name="DO30"  Address="542" Invert="false"/>
+			<DO Name="DO31"  Address="543" Invert="false"/>
+		</DOGroup>
+		<DOGroup Name="25">
+			<DO Name="c_METAL1_PUMP_ON"  Address="544" Invert="false"/>
+			<DO Name="DO33"  Address="545" Invert="false"/>
+		</DOGroup>
+		<DOGroup Name="26">
+			<DO Name="c_METAL2_PUMP_ON"  Address="546" Invert="false"/>
+			<DO Name="c_HED1_POWER_ON"  Address="547" Invert="false"/>
+		</DOGroup>
+		<DOGroup Name="27">
+			<DO Name="c_HED2_POWER_ON"  Address="548" Invert="false"/>
+			<DO Name="DO37"  Address="549" Invert="false"/>
+		</DOGroup>
+		<DOGroup Name="28">
+			<DO Name="c_METAL3_PUMP_ON"  Address="550" Invert="false"/>
+			<DO Name="DO39"  Address="551" Invert="false"/>
+		</DOGroup>
+		<DOGroup Name="29">
+			<DO Name="c_RES3_POWER_ON"  Address="552" Invert="false"/>
+			<DO Name="DO41"  Address="553" Invert="false"/>
+		</DOGroup>
+	</Dig_Out>
+	<Ano_In>
+		<AIGroup Name="1">
+			<AI Name="r_pH2"  Address="0" Scaling="0=3276.7,14=32767" DataType="short"/>
+			<AI Name="AI1"  Address="1" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+			<AI Name="AI2"  Address="2" Scaling="13=0,150=32767" DataType="short"/>
+			<AI Name="AI3"  Address="3" Scaling="13=0,150=32767" DataType="short"/>
+		</AIGroup>
+		<AIGroup Name="2">
+			<AI Name="AI4"  Address="4" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+			<AI Name="AI5"  Address="5" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+			<AI Name="r_PREWET_DI_PRESS"  Address="6" Scaling="0=3276.7,100=32767" DataType="short"/>
+			<AI Name="AI7"  Address="7" Scaling="13=0,150=32767" DataType="short"/>
+		</AIGroup>
+		<AIGroup Name="3">
+			<AI Name="AI8"  Address="8" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+			<AI Name="AI9"  Address="9" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+			<AI Name="r_PREWET_FLOW"  Address="10" Scaling="0=3276.7,40=32767" DataType="short"/>
+			<AI Name="r_DI_WATER_PRESSURE"  Address="11" Scaling="0=3276.7,100=32767" DataType="short"/>
+		</AIGroup>
+		<AIGroup Name="4">
+			<AI Name="r_PUMP1_FLOW"  Address="12" Scaling="0=3276.7,40=16383.5" DataType="short"/>
+			<AI Name="AI13"  Address="13" Scaling="0=3276.7,40=16383.5" DataType="short"/>
+			<AI Name="r_PUMP2_FLOW"  Address="14" Scaling="0=3276.7,40=16383.5" DataType="short"/>
+			<AI Name="AI15"  Address="15" Scaling="0=3276.7,40=16383.5" DataType="short"/>
+		</AIGroup>
+		<AIGroup Name="5">
+			<AI Name="r_PUMP3_FLOW"  Address="16" Scaling="0=3276.7,40=16383.5" DataType="short"/>
+			<AI Name="AI17"  Address="17" Scaling="0=3276.7,40=16383.5" DataType="short"/>
+			<AI Name="r_PUMP4_FLOW"  Address="18" Scaling="0=3276.7,40=16383.5" DataType="short"/>
+			<AI Name="AI19"  Address="19" Scaling="0=3276.7,40=16383.5" DataType="short"/>
+		</AIGroup>
+		<AIGroup Name="6">
+			<AI Name="AI20"  Address="20" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+			<AI Name="AI21"  Address="21" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+			<AI Name="AI22"  Address="22" Scaling="13=0,150=32767" DataType="short"/>
+			<AI Name="AI23"  Address="23" Scaling="13=0,150=32767" DataType="short"/>
+		</AIGroup>
+		<AIGroup Name="7">
+			<AI Name="AI24"  Address="24" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+			<AI Name="AI25"  Address="25" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+			<AI Name="AI26"  Address="26" Scaling="13=0,150=32767" DataType="short"/>
+			<AI Name="AI27"  Address="27" Scaling="13=0,150=32767" DataType="short"/>
+		</AIGroup>
+		<AIGroup Name="8">
+			<AI Name="r_QDRD1_WATER_LEVEL"  Address="28" Scaling="0=3276.7,100=32767" DataType="short"/>
+			<AI Name="r_QDRD2_WATER_LEVEL"  Address="29" Scaling="0=3276.7,100=32767" DataType="short"/>
+			<AI Name="r_QDRD3_WATER_LEVEL"  Address="30" Scaling="0=3276.7,100=32767" DataType="short"/>
+			<AI Name="r_QDRD4_WATER_LEVEL"  Address="31" Scaling="0=3276.7,100=32767" DataType="short"/>
+		</AIGroup>
+		<AIGroup Name="9">
+			<AI Name="AI32"  Address="32" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+			<AI Name="AI33"  Address="33" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+			<AI Name="AI34"  Address="34" Scaling="13=0,150=32767" DataType="short"/>
+			<AI Name="AI35"  Address="35" Scaling="13=0,150=32767" DataType="short"/>
+		</AIGroup>
+		<AIGroup Name="10">
+			<AI Name="r_RES_LEVEL_1_raw"  Address="36" Scaling="0=3276.7,100=32767" DataType="short"/>
+			<AI Name="r_RES_LEVEL_2_raw"  Address="37" Scaling="0=3276.7,100=32767" DataType="short"/>
+			<AI Name="r_RES_LEVEL_3_raw"  Address="38" Scaling="0=3276.7,100=32767" DataType="short"/>
+			<AI Name="r_RES_LEVEL_4_raw"  Address="39" Scaling="0=3276.7,100=32767" DataType="short"/>
+		</AIGroup>
+		<AIGroup Name="11">
+			<AI Name="AI40"  Address="40" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+			<AI Name="AI41"  Address="41" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+			<AI Name="AI42"  Address="42" Scaling="13=0,150=32767" DataType="short"/>
+			<AI Name="r_HCW_FLOW"  Address="43" Scaling="0=3276.7,40=32767" DataType="short"/>
+		</AIGroup>
+		<AIGroup Name="12">
+			<AI Name="r_CDA_EXTERNAL_PRESSURE"  Address="44" Scaling="0=3276.7,145=16383.5" DataType="short"/>
+			<AI Name="r_CDA_HIGH_PRESSURE"  Address="45" Scaling="0=3276.7,145=16383.5" DataType="short"/>
+			<AI Name="r_CDA_LOW_PRESSURE"  Address="46" Scaling="0=3276.7,145=16383.5" DataType="short"/>
+			<AI Name="AI47"  Address="47" Scaling="13=0,150=32767" DataType="short"/>
+		</AIGroup>
+		<AIGroup Name="13">
+			<AI Name="AI48"  Address="48" Scaling="0=3276.7,145=16383.5" DataType="short"/>
+			<AI Name="r_N2_1_LOW_PRESSURE"  Address="49" Scaling="0=3276.7,145=16383.5" DataType="short"/>
+			<AI Name="r_N2_1_PRESSURE"  Address="50" Scaling="0=3276.7,145=16383.5" DataType="short"/>
+			<AI Name="r_N2_2_LOW_PRESSURE"  Address="51" Scaling="0=3276.7,145=16383.5" DataType="short"/>
+		</AIGroup>
+		<AIGroup Name="14">
+			<AI Name="r_N2_2_PRESSURE"  Address="52" Scaling="0=3276.7,145=16383.5" DataType="short"/>
+			<AI Name="r_PROC_BALANCE_PRESSURE"  Address="53" Scaling="0=3276.7,14.5=16383.5" DataType="short"/>
+			<AI Name="r_SYSTEM_VACUUM"  Address="54" Scaling="0=3276.7,-757.5=16383.5" DataType="short"/>
+			<AI Name="AI55"  Address="55" Scaling="13=0,150=32767" DataType="short"/>
+		</AIGroup>
+	</Ano_In>
+	<Ano_Out>
+		<AOGroup Name="15">
+			<AO Name="AO1"  Address="512" DataType="short"/>
+			<AO Name="AO2"  Address="513" DataType="short"/>
+			<AO Name="AO3"  Address="514" DataType="short"/>
+			<AO Name="AO4"  Address="515" DataType="short"/>
+		</AOGroup>
+		<AOGroup Name="16">
+			<AO Name="AO5"  Address="516" DataType="short"/>
+			<AO Name="AO6"  Address="517" DataType="short"/>
+			<AO Name="AO7"  Address="518" DataType="short"/>
+			<AO Name="AO8"  Address="519" DataType="short"/>
+		</AOGroup>
+		<AOGroup Name="17">
+			<AO Name="AO9"  Address="516" DataType="short"/>
+			<AO Name="AO10"  Address="517" DataType="short"/>
+			<AO Name="AO11"  Address="518" DataType="short"/>
+			<AO Name="AO8"  Address="519" DataType="short"/>
+		</AOGroup>
+		<AOGroup Name="18">
+			<AO Name="AO12"  Address="516" DataType="short"/>
+			<AO Name="AO13"  Address="517" DataType="short"/>
+			<AO Name="AO14"  Address="518" DataType="short"/>
+			<AO Name="AO15"  Address="519" DataType="short"/>
+		</AOGroup>
+		<AOGroup Name="19">
+			<AO Name="AO16"  Address="516" DataType="short"/>
+			<AO Name="AO17"  Address="517" DataType="short"/>
+			<AO Name="AO18"  Address="518" DataType="short"/>
+			<AO Name="AO19"  Address="519" DataType="short"/>
+		</AOGroup>
+	</Ano_Out>
+</WagoDeviceConfig>
 </WagoControllerConfig>

+ 38 - 39
CyberX8_RT/Config/Station/StationPositionsCfg.xml

@@ -6,7 +6,7 @@
       <Stations>
         <Station Name="Loader1.TiltA.HORI" Position="82.97" ModifiedDate="2025-02-20 16:51:27.564" />
         <Station Name="Loader1.TiltA.VERT" Position="-7.03" ModifiedDate="2025-02-21 10:57:45.769" />
-        <Station Name="Loader1.TiltA.FLOAT" Position="79.194" ModifiedDate="5/12/2015 12:51:37 AM" />
+        <Station Name="Loader1.TiltA.FLOAT" Position="29.41" ModifiedDate="2025-03-06 17:34:02.000" />
         <Station Name="Loader1.TiltA.HOME" Position="79.19" ModifiedDate="2025-02-20 16:52:03.136" />
       </Stations>
     </Axis>
@@ -14,7 +14,7 @@
       <ToleranceDefault>0.1</ToleranceDefault>
       <Stations>
         <Station Name="Loader1.TiltB.HORI" Position="82.97" ModifiedDate="2025-02-20 16:51:53.944" />
-        <Station Name="Loader1.TiltB.VERT" Position="-6" ModifiedDate="2025-02-25 14:21:15.513" />
+        <Station Name="Loader1.TiltB.VERT" Position="-3.58" ModifiedDate="2025-02-27 14:16:35.218" />
         <Station Name="Loader1.TiltB.FLOAT" Position="79.194" ModifiedDate="5/12/2015 12:51:37 AM" />
         <Station Name="Loader1.TiltB.HOME" Position="79.194" ModifiedDate="12/10/2020 3:40:44 PM" />
       </Stations>
@@ -23,9 +23,9 @@
       <ToleranceDefault>0.1</ToleranceDefault>
       <Stations>
         <Station Name="Loader1.ShuttleA.IN" Position="66.88" ModifiedDate="2025-02-19 14:48:19.009" />
-        <Station Name="Loader1.ShuttleA.LS" Position="64.94" ModifiedDate="2025-02-21 16:40:15.442" />
+        <Station Name="Loader1.ShuttleA.LS" Position="64.49" ModifiedDate="2025-03-06 16:51:15.759" />
         <Station Name="Loader1.ShuttleA.MID" Position="51.29" ModifiedDate="2025-02-25 10:41:11.970" />
-        <Station Name="Loader1.ShuttleA.OUT200" Position="-5.91" ModifiedDate="2025-02-25 10:37:40.511" />
+        <Station Name="Loader1.ShuttleA.OUT200" Position="-29.49" ModifiedDate="2025-03-04 17:53:55.951" />
         <Station Name="Loader1.ShuttleA.OUT150" Position="-5.913" ModifiedDate="12/10/2020 3:32:26 PM" />
         <Station Name="Loader1.ShuttleA.OUT100" Position="-5.913" ModifiedDate="12/10/2020 3:32:26 PM" />
       </Stations>
@@ -33,10 +33,10 @@
     <Axis Name="Loader1.ShuttleB">
       <ToleranceDefault>0.1</ToleranceDefault>
       <Stations>
-        <Station Name="Loader1.ShuttleB.IN" Position="66.97" ModifiedDate="2025-02-20 17:44:32.827" />
-        <Station Name="Loader1.ShuttleB.LS" Position="65.25" ModifiedDate="2025-02-25 14:36:13.613" />
-        <Station Name="Loader1.ShuttleB.MID" Position="51.28" ModifiedDate="7/11/2016 6:41:59 PM" />
-        <Station Name="Loader1.ShuttleB.OUT200" Position="-5.913" ModifiedDate="12/10/2020 3:32:26 PM" />
+        <Station Name="Loader1.ShuttleB.IN" Position="68.14" ModifiedDate="2025-02-26 10:14:47.448" />
+        <Station Name="Loader1.ShuttleB.LS" Position="66.39" ModifiedDate="2025-02-26 16:41:55.416" />
+        <Station Name="Loader1.ShuttleB.MID" Position="51.29" ModifiedDate="2025-03-04 16:18:20.735" />
+        <Station Name="Loader1.ShuttleB.OUT200" Position="-33.14" ModifiedDate="2025-03-04 16:06:30.469" />
         <Station Name="Loader1.ShuttleB.OUT150" Position="-5.913" ModifiedDate="12/10/2020 3:32:26 PM" />
         <Station Name="Loader1.ShuttleB.OUT100" Position="-5.913" ModifiedDate="12/10/2020 3:32:26 PM" />
       </Stations>
@@ -44,9 +44,9 @@
     <Axis Name="Loader1.LSA">
       <ToleranceDefault>0.04</ToleranceDefault>
       <Stations>
-        <Station Name="Loader1.LSA.Setup200" Position="2.57" ModifiedDate="2025-02-21 16:44:31.056" />
-        <Station Name="Loader1.LSA.Lock200" Position="1.82" ModifiedDate="2025-02-25 10:06:03.656" />
-        <Station Name="Loader1.LSA.Unlock200" Position="3.84" ModifiedDate="2025-02-25 11:00:32.208" />
+        <Station Name="Loader1.LSA.Setup200" Position="3.2" ModifiedDate="2025-02-27 16:15:15.701" />
+        <Station Name="Loader1.LSA.Lock200" Position="3" ModifiedDate="2025-02-27 16:15:25.198" />
+        <Station Name="Loader1.LSA.Unlock200" Position="5.7" ModifiedDate="2025-02-27 16:14:48.787" />
         <Station Name="Loader1.LSA.Setup150" Position="2.273" />
         <Station Name="Loader1.LSA.Lock150" Position="1.591" ModifiedDate="3/2/2020 6:21:09 PM" />
         <Station Name="Loader1.LSA.Unlock150" Position="5.227" ModifiedDate="2/25/2020 2:54:29 PM" />
@@ -58,9 +58,9 @@
     <Axis Name="Loader1.LSB">
       <ToleranceDefault>0.04</ToleranceDefault>
       <Stations>
-        <Station Name="Loader1.LSB.Setup200" Position="2" ModifiedDate="2025-02-25 14:51:06.154" />
-        <Station Name="Loader1.LSB.Lock200" Position="1" ModifiedDate="2025-02-25 14:51:30.953" />
-        <Station Name="Loader1.LSB.Unlock200" Position="3.5" ModifiedDate="2025-02-25 14:44:33.789" />
+        <Station Name="Loader1.LSB.Setup200" Position="3.2" ModifiedDate="2025-02-27 14:28:08.753" />
+        <Station Name="Loader1.LSB.Lock200" Position="3" ModifiedDate="2025-02-27 14:19:47.389" />
+        <Station Name="Loader1.LSB.Unlock200" Position="5.7" ModifiedDate="2025-02-27 14:17:04.894" />
         <Station Name="Loader1.LSB.Setup150" Position="2.273" />
         <Station Name="Loader1.LSB.Lock150" Position="1.591" ModifiedDate="3/2/2020 6:21:09 PM" />
         <Station Name="Loader1.LSB.Unlock150" Position="5.227" ModifiedDate="2/25/2020 2:54:29 PM" />
@@ -74,8 +74,8 @@
       <Stations>
         <Station Name="Loader1.Rotation.TRNPA" Position="-1.04" ModifiedDate="2025-02-19 17:13:36.065" />
         <Station Name="Loader1.Rotation.TRNPB" Position="178.16" ModifiedDate="2/26/2020 12:19:29 PM" />
-        <Station Name="Loader1.Rotation.LOADA200" Position="8.3" ModifiedDate="2025-02-19 17:13:56.677" />
-        <Station Name="Loader1.Rotation.LOADB200" Position="187.5" ModifiedDate="2024-08-13 14:22:11.332" />
+        <Station Name="Loader1.Rotation.LOADA200" Position="7.79" ModifiedDate="2025-03-01 13:50:33.916" />
+        <Station Name="Loader1.Rotation.LOADB200" Position="188.33" ModifiedDate="2025-03-04 15:24:59.934" />
         <Station Name="Loader1.Rotation.LOADA150" Position="8.217" ModifiedDate="2024-08-13 14:00:52.955" />
         <Station Name="Loader1.Rotation.LOADB150" Position="187.5" ModifiedDate="2024-08-13 14:22:11.332" />
         <Station Name="Loader1.Rotation.LOADA100" Position="8.217" ModifiedDate="2024-08-13 14:00:52.955" />
@@ -166,7 +166,7 @@
     <Axis Name="Transporter2.Gantry">
       <ToleranceDefault>0.5</ToleranceDefault>
       <Stations>
-        <Station Name="Transporter2.Gantry.Park" Position="400" ModifiedDate="2024-08-28 15:29:47.217" />
+        <Station Name="Transporter2.Gantry.Park" Position="151.95" ModifiedDate="2025-03-06 15:33:59.436" />
         <Station Name="Transporter2.Gantry.Loader" Position="0" ModifiedDate="2024-10-09 15:13:35.068" />
         <Station Name="Transporter2.Gantry.Cell15" Position="1869" ModifiedDate="12/7/2020 3:47:49 PM" />
         <Station Name="Transporter2.Gantry.Cell16" Position="1713" ModifiedDate="12/7/2020 3:46:39 PM" />
@@ -177,7 +177,7 @@
         <Station Name="Transporter2.Gantry.Cell21" Position="960" ModifiedDate="2024-08-27 14:40:37.796" />
         <Station Name="Transporter2.Gantry.Cell22" Position="880" ModifiedDate="2024-09-01 17:49:56.949" />
         <Station Name="Transporter2.Gantry.Cell23" Position="738.4999" ModifiedDate="12/7/2020 4:08:08 PM" />
-        <Station Name="Transporter2.Gantry.Cell24" Position="645" ModifiedDate="2024-10-09 15:58:48.135" />
+        <Station Name="Transporter2.Gantry.Cell24" Position="751.95" ModifiedDate="2025-03-06 15:27:07.259" />
         <Station Name="Transporter2.Gantry.Cell25" Position="611" ModifiedDate="2024-10-09 15:58:51.862" />
         <Station Name="Transporter2.Gantry.Cell26" Position="576" ModifiedDate="2024-10-09 15:58:56.303" />
         <Station Name="Transporter2.Gantry.Cell27" Position="541" ModifiedDate="2024-10-09 15:59:01.686" />
@@ -199,7 +199,7 @@
       <ToleranceDefault>0.5</ToleranceDefault>
       <Stations>
         <Station Name="Transporter2.Elevator.UP" Position="-2.2" ModifiedDate="2024-09-20 13:34:01.263" />
-		<Station Name="Transporter2.Elevator.CellTop" Position="55" />
+        <Station Name="Transporter2.Elevator.CellTop" Position="55" />
         <Station Name="Transporter2.Elevator.Loader" Position="475.86" ModifiedDate="2024-09-25 16:10:52.892" />
         <Station Name="Transporter2.Elevator.Cell15" Position="476.74" ModifiedDate="12/7/2020 3:48:18 PM" />
         <Station Name="Transporter2.Elevator.Cell16" Position="476.74" ModifiedDate="12/7/2020 3:45:27 PM" />
@@ -210,7 +210,7 @@
         <Station Name="Transporter2.Elevator.Cell21" Position="477.62" ModifiedDate="2024-08-13 16:38:41.933" />
         <Station Name="Transporter2.Elevator.Cell22" Position="477.62" ModifiedDate="2024-09-01 17:50:52.540" />
         <Station Name="Transporter2.Elevator.Cell23" Position="477.62" ModifiedDate="12/7/2020 4:07:17 PM" />
-        <Station Name="Transporter2.Elevator.Cell24" Position="477.62" ModifiedDate="2024-09-01 17:31:44.732" />
+        <Station Name="Transporter2.Elevator.Cell24" Position="467.41" ModifiedDate="2025-03-06 15:26:53.847" />
         <Station Name="Transporter2.Elevator.Cell25" Position="477.62" ModifiedDate="2024-08-28 14:13:15.098" />
         <Station Name="Transporter2.Elevator.Cell26" Position="477.62" ModifiedDate="2024-08-28 14:16:47.833" />
         <Station Name="Transporter2.Elevator.Cell27" Position="477.62" ModifiedDate="2024-08-28 14:19:53.433" />
@@ -230,25 +230,24 @@
     </Axis>
   </Module>
   <Module Name="DualPuf">
-	  <Axis Name="PUF1.Flip">
-		  <ToleranceDefault>0.1</ToleranceDefault>
-		  <Stations>
-			  <Station Name="PUF1.Flip.Home" Position="0.435" ModifiedDate="2024-08-09 13:35:19.613" />
-			  <Station Name="PUF1.Flip.SideA" Position="0.435" ModifiedDate="2024-08-09 13:35:19.613" />
-			  <Station Name="PUF1.Flip.SideB" Position="179.13" ModifiedDate="2024-08-09 13:36:34.531" />
-		  </Stations>
-	  </Axis>
-	  <Axis Name="PUF1.Rotation">
-		  <ToleranceDefault>0.1</ToleranceDefault>
-		  <Stations>
-			  <Station Name="PUF1.Rotation.Home" Position="22.146" ModifiedDate="8/27/2018 2:53:59 PM" />
-			  <Station Name="PUF1.Rotation.Park" Position="22.146" ModifiedDate="8/27/2018 2:54:03 PM" />
-			  <Station Name="PUF1.Rotation.Flip" Position="22.146" ModifiedDate="4/6/2015 8:34:18 PM" />
-			  <Station Name="PUF1.Rotation.Robot" Position="22.146" ModifiedDate="7/31/2018 4:34:50 PM" />
-			  <Station Name="PUF1.Rotation.LoaderPickup" Position="56.324" ModifiedDate="9/14/2018 2:13:39 PM" />
-			  <Station Name="PUF1.Rotation.LoaderPutDown" Position="53.447" ModifiedDate="9/19/2018 4:32:00 PM" />
-		  </Stations>
-	  </Axis>
+    <Axis Name="PUF1.Flip">
+      <ToleranceDefault>0.1</ToleranceDefault>
+      <Stations>
+        <Station Name="PUF1.Flip.Home" Position="0.435" ModifiedDate="2024-08-09 13:35:19.613" />
+        <Station Name="PUF1.Flip.SideA" Position="-6.79" ModifiedDate="2025-03-04 15:34:45.843" />
+        <Station Name="PUF1.Flip.SideB" Position="171.73" ModifiedDate="2025-03-04 15:54:16.292" />
+      </Stations>
+    </Axis>
+    <Axis Name="PUF1.Rotation">
+      <ToleranceDefault>0.1</ToleranceDefault>
+      <Stations>
+        <Station Name="PUF1.Rotation.Home" Position="8.29" ModifiedDate="2025-02-28 14:58:16.397" />
+        <Station Name="PUF1.Rotation.Flip" Position="8.29" ModifiedDate="2025-02-28 14:52:10.439" />
+        <Station Name="PUF1.Rotation.Robot" Position="8.29" ModifiedDate="2025-02-28 14:58:06.222" />
+        <Station Name="PUF1.Rotation.LoaderPickup" Position="43.29" ModifiedDate="2025-03-01 13:39:32.694" />
+        <Station Name="PUF1.Rotation.LoaderPutDown" Position="43.29" ModifiedDate="2025-03-01 13:39:37.364" />
+      </Stations>
+    </Axis>
   </Module>
   <Module Name="SRD1">
     <Axis Name="SRD1.Arm">

+ 130 - 89
CyberX8_RT/Config/Station/StationPositionsCfg_Simulator.xml

@@ -4,82 +4,82 @@
 		<Axis Name="Loader1.TiltA">
 			<ToleranceDefault>0.1</ToleranceDefault>
 			<Stations>
-				<Station Name="Loader1.TiltA.HORI" Position="82.97" ModifiedDate="2025-02-20 16:51:27.564" />
-				<Station Name="Loader1.TiltA.VERT" Position="-7.03" ModifiedDate="2025-02-21 10:57:45.769" />
-				<Station Name="Loader1.TiltA.FLOAT" Position="79.194" ModifiedDate="5/12/2015 12:51:37 AM" />
-				<Station Name="Loader1.TiltA.HOME" Position="79.19" ModifiedDate="2025-02-20 16:52:03.136" />
+				<Station Name="Loader1.TiltA.HORI" Position="230500" ModifiedDate="2024-08-13 14:39:48.548" />
+				<Station Name="Loader1.TiltA.VERT" Position="-17500" ModifiedDate="2024-06-21 10:37:50.049" />
+				<Station Name="Loader1.TiltA.FLOAT" Position="220000" ModifiedDate="5/12/2015 12:51:37 AM" />
+				<Station Name="Loader1.TiltA.HOME" Position="220000" ModifiedDate="12/10/2020 3:40:44 PM" />
 			</Stations>
 		</Axis>
 		<Axis Name="Loader1.TiltB">
 			<ToleranceDefault>0.1</ToleranceDefault>
 			<Stations>
-				<Station Name="Loader1.TiltB.HORI" Position="82.97" ModifiedDate="2025-02-20 16:51:53.944" />
-				<Station Name="Loader1.TiltB.VERT" Position="-6" ModifiedDate="2025-02-25 14:21:15.513" />
-				<Station Name="Loader1.TiltB.FLOAT" Position="79.194" ModifiedDate="5/12/2015 12:51:37 AM" />
-				<Station Name="Loader1.TiltB.HOME" Position="79.194" ModifiedDate="12/10/2020 3:40:44 PM" />
+				<Station Name="Loader1.TiltB.HORI" Position="230500" ModifiedDate="2024-08-13 14:39:48.548" />
+				<Station Name="Loader1.TiltB.VERT" Position="-17500" ModifiedDate="2024-06-21 10:37:50.049" />
+				<Station Name="Loader1.TiltB.FLOAT" Position="220000" ModifiedDate="5/12/2015 12:51:37 AM" />
+				<Station Name="Loader1.TiltB.HOME" Position="220000" ModifiedDate="12/10/2020 3:40:44 PM" />
 			</Stations>
 		</Axis>
 		<Axis Name="Loader1.ShuttleA">
 			<ToleranceDefault>0.1</ToleranceDefault>
 			<Stations>
-				<Station Name="Loader1.ShuttleA.IN" Position="66.88" ModifiedDate="2025-02-19 14:48:19.009" />
-				<Station Name="Loader1.ShuttleA.LS" Position="64.94" ModifiedDate="2025-02-21 16:40:15.442" />
-				<Station Name="Loader1.ShuttleA.MID" Position="51.29" ModifiedDate="2025-02-25 10:41:11.970" />
-				<Station Name="Loader1.ShuttleA.OUT200" Position="-5.91" ModifiedDate="2025-02-25 10:37:40.511" />
-				<Station Name="Loader1.ShuttleA.OUT150" Position="-5.913" ModifiedDate="12/10/2020 3:32:26 PM" />
-				<Station Name="Loader1.ShuttleA.OUT100" Position="-5.913" ModifiedDate="12/10/2020 3:32:26 PM" />
+				<Station Name="Loader1.ShuttleA.IN" Position="25200" ModifiedDate="2024-06-21 10:37:30.041" />
+				<Station Name="Loader1.ShuttleA.LS" Position="247500" ModifiedDate="2024-09-24 17:58:50.950" />
+				<Station Name="Loader1.ShuttleA.MID" Position="200000" ModifiedDate="7/11/2016 6:41:59 PM" />
+				<Station Name="Loader1.ShuttleA.OUT200" Position="-23062" ModifiedDate="12/10/2020 3:32:26 PM" />
+				<Station Name="Loader1.ShuttleA.OUT150" Position="-23062" ModifiedDate="12/10/2020 3:32:26 PM" />
+				<Station Name="Loader1.ShuttleA.OUT100" Position="-23062" ModifiedDate="12/10/2020 3:32:26 PM" />
 			</Stations>
 		</Axis>
 		<Axis Name="Loader1.ShuttleB">
 			<ToleranceDefault>0.1</ToleranceDefault>
 			<Stations>
-				<Station Name="Loader1.ShuttleB.IN" Position="66.97" ModifiedDate="2025-02-20 17:44:32.827" />
-				<Station Name="Loader1.ShuttleB.LS" Position="65.25" ModifiedDate="2025-02-25 14:36:13.613" />
-				<Station Name="Loader1.ShuttleB.MID" Position="51.28" ModifiedDate="7/11/2016 6:41:59 PM" />
-				<Station Name="Loader1.ShuttleB.OUT200" Position="-5.913" ModifiedDate="12/10/2020 3:32:26 PM" />
-				<Station Name="Loader1.ShuttleB.OUT150" Position="-5.913" ModifiedDate="12/10/2020 3:32:26 PM" />
-				<Station Name="Loader1.ShuttleB.OUT100" Position="-5.913" ModifiedDate="12/10/2020 3:32:26 PM" />
+				<Station Name="Loader1.ShuttleB.IN" Position="25200" ModifiedDate="2024-06-21 10:37:30.041" />
+				<Station Name="Loader1.ShuttleB.LS" Position="247500" ModifiedDate="2024-09-24 17:58:50.950" />
+				<Station Name="Loader1.ShuttleB.MID" Position="200000" ModifiedDate="7/11/2016 6:41:59 PM" />
+				<Station Name="Loader1.ShuttleB.OUT200" Position="-23062" ModifiedDate="12/10/2020 3:32:26 PM" />
+				<Station Name="Loader1.ShuttleB.OUT150" Position="-23062" ModifiedDate="12/10/2020 3:32:26 PM" />
+				<Station Name="Loader1.ShuttleB.OUT100" Position="-23062" ModifiedDate="12/10/2020 3:32:26 PM" />
 			</Stations>
 		</Axis>
 		<Axis Name="Loader1.LSA">
-			<ToleranceDefault>0.2</ToleranceDefault>
+			<ToleranceDefault>0.01</ToleranceDefault>
 			<Stations>
-				<Station Name="Loader1.LSA.Setup200" Position="2.57" ModifiedDate="2025-02-21 16:44:31.056" />
-				<Station Name="Loader1.LSA.Lock200" Position="1.82" ModifiedDate="2025-02-25 10:06:03.656" />
-				<Station Name="Loader1.LSA.Unlock200" Position="3.84" ModifiedDate="2025-02-25 11:00:32.208" />
-				<Station Name="Loader1.LSA.Setup150" Position="2.273" />
-				<Station Name="Loader1.LSA.Lock150" Position="1.591" ModifiedDate="3/2/2020 6:21:09 PM" />
-				<Station Name="Loader1.LSA.Unlock150" Position="5.227" ModifiedDate="2/25/2020 2:54:29 PM" />
-				<Station Name="Loader1.LSA.Setup100" Position="2.273" />
-				<Station Name="Loader1.LSA.Lock100" Position="1.477" ModifiedDate="3/2/2020 6:21:09 PM" />
-				<Station Name="Loader1.LSA.Unlock100" Position="4.364" ModifiedDate="2/25/2020 2:54:29 PM" />
+				<Station Name="Loader1.LSA.Setup200" Position="100000" />
+				<Station Name="Loader1.LSA.Lock200" Position="75000" ModifiedDate="3/2/2020 6:21:09 PM" />
+				<Station Name="Loader1.LSA.Unlock200" Position="201500" ModifiedDate="2/25/2020 2:54:29 PM" />
+				<Station Name="Loader1.LSA.Setup150" Position="100000" />
+				<Station Name="Loader1.LSA.Lock150" Position="70000" ModifiedDate="3/2/2020 6:21:09 PM" />
+				<Station Name="Loader1.LSA.Unlock150" Position="230000" ModifiedDate="2/25/2020 2:54:29 PM" />
+				<Station Name="Loader1.LSA.Setup100" Position="100000" />
+				<Station Name="Loader1.LSA.Lock100" Position="65000" ModifiedDate="3/2/2020 6:21:09 PM" />
+				<Station Name="Loader1.LSA.Unlock100" Position="280000" ModifiedDate="2/25/2020 2:54:29 PM" />
 			</Stations>
 		</Axis>
 		<Axis Name="Loader1.LSB">
-			<ToleranceDefault>0.2</ToleranceDefault>
+			<ToleranceDefault>100</ToleranceDefault>
 			<Stations>
-				<Station Name="Loader1.LSB.Setup200" Position="2" ModifiedDate="2025-02-25 14:51:06.154" />
-				<Station Name="Loader1.LSB.Lock200" Position="1" ModifiedDate="2025-02-25 14:51:30.953" />
-				<Station Name="Loader1.LSB.Unlock200" Position="3.5" ModifiedDate="2025-02-25 14:44:33.789" />
-				<Station Name="Loader1.LSB.Setup150" Position="2.273" />
-				<Station Name="Loader1.LSB.Lock150" Position="1.591" ModifiedDate="3/2/2020 6:21:09 PM" />
-				<Station Name="Loader1.LSB.Unlock150" Position="5.227" ModifiedDate="2/25/2020 2:54:29 PM" />
-				<Station Name="Loader1.LSB.Setup100" Position="2.273" />
-				<Station Name="Loader1.LSB.Lock100" Position="1.477" ModifiedDate="3/2/2020 6:21:09 PM" />
-				<Station Name="Loader1.LSB.Unlock100" Position="6.364" ModifiedDate="2/25/2020 2:54:29 PM" />
+				<Station Name="Loader1.LSB.Setup200" Position="100000" />
+				<Station Name="Loader1.LSB.Lock200" Position="75000" ModifiedDate="3/2/2020 6:21:09 PM" />
+				<Station Name="Loader1.LSB.Unlock200" Position="201500" ModifiedDate="2/25/2020 2:54:29 PM" />
+				<Station Name="Loader1.LSB.Setup150" Position="100000" />
+				<Station Name="Loader1.LSB.Lock150" Position="70000" ModifiedDate="3/2/2020 6:21:09 PM" />
+				<Station Name="Loader1.LSB.Unlock150" Position="230000" ModifiedDate="2/25/2020 2:54:29 PM" />
+				<Station Name="Loader1.LSB.Setup100" Position="100000" />
+				<Station Name="Loader1.LSB.Lock100" Position="65000" ModifiedDate="3/2/2020 6:21:09 PM" />
+				<Station Name="Loader1.LSB.Unlock100" Position="280000" ModifiedDate="2/25/2020 2:54:29 PM" />
 			</Stations>
 		</Axis>
 		<Axis Name="Loader1.Rotation">
-			<ToleranceDefault>0.2</ToleranceDefault>
+			<ToleranceDefault>0.1</ToleranceDefault>
 			<Stations>
-				<Station Name="Loader1.Rotation.TRNPA" Position="-1.04" ModifiedDate="2025-02-19 17:13:36.065" />
-				<Station Name="Loader1.Rotation.TRNPB" Position="178.16" ModifiedDate="2/26/2020 12:19:29 PM" />
-				<Station Name="Loader1.Rotation.LOADA200" Position="8.3" ModifiedDate="2025-02-19 17:13:56.677" />
-				<Station Name="Loader1.Rotation.LOADB200" Position="187.5" ModifiedDate="2024-08-13 14:22:11.332" />
-				<Station Name="Loader1.Rotation.LOADA150" Position="8.217" ModifiedDate="2024-08-13 14:00:52.955" />
-				<Station Name="Loader1.Rotation.LOADB150" Position="187.5" ModifiedDate="2024-08-13 14:22:11.332" />
-				<Station Name="Loader1.Rotation.LOADA100" Position="8.217" ModifiedDate="2024-08-13 14:00:52.955" />
-				<Station Name="Loader1.Rotation.LOADB100" Position="187.5" ModifiedDate="2024-08-13 14:22:11.332" />
+				<Station Name="Loader1.Rotation.TRNPA" Position="-1093" ModifiedDate="2024-08-27 09:45:08.838" />
+				<Station Name="Loader1.Rotation.TRNPB" Position="144312" ModifiedDate="2/26/2020 12:19:29 PM" />
+				<Station Name="Loader1.Rotation.LOADA200" Position="6656" ModifiedDate="2024-08-13 14:00:52.955" />
+				<Station Name="Loader1.Rotation.LOADB200" Position="151875" ModifiedDate="2024-08-13 14:22:11.332" />
+				<Station Name="Loader1.Rotation.LOADA150" Position="6656" ModifiedDate="2024-08-13 14:00:52.955" />
+				<Station Name="Loader1.Rotation.LOADB150" Position="151875" ModifiedDate="2024-08-13 14:22:11.332" />
+				<Station Name="Loader1.Rotation.LOADA100" Position="6656" ModifiedDate="2024-08-13 14:00:52.955" />
+				<Station Name="Loader1.Rotation.LOADB100" Position="151875" ModifiedDate="2024-08-13 14:22:11.332" />
 			</Stations>
 		</Axis>
 	</Module>
@@ -127,7 +127,7 @@
 			<ToleranceDefault>0.5</ToleranceDefault>
 			<Stations>
 				<Station Name="Transporter1.Elevator.UP" Position="-7.02" ModifiedDate="2024-09-01 17:46:07.004" />
-				<Station Name="Transporter1.Elevator.CELLTOP" Position="55" />
+				<Station Name="Transporter1.Elevator.LOW" Position="500" />
 				<Station Name="Transporter1.Elevator.Cell1" Position="570" ModifiedDate="2024-08-14 11:27:04.589" />
 				<Station Name="Transporter1.Elevator.Cell2" Position="570" ModifiedDate="2024-08-14 11:35:25.181" />
 				<Station Name="Transporter1.Elevator.Cell3" Position="569.5" ModifiedDate="2024-08-14 11:38:10.981" />
@@ -198,55 +198,96 @@
 		<Axis Name="Transporter2.Elevator">
 			<ToleranceDefault>0.5</ToleranceDefault>
 			<Stations>
-				<Station Name="Transporter2.Elevator.UP" Position="-2.2" ModifiedDate="2024-09-20 13:34:01.263" />
-				<Station Name="Transporter2.Elevator.CELLTOP" Position="55" />
-				<Station Name="Transporter2.Elevator.Loader" Position="477.62" ModifiedDate="2024-09-25 16:10:52.892" />
-				<Station Name="Transporter2.Elevator.Cell15" Position="477.62" ModifiedDate="12/7/2020 3:48:18 PM" />
-				<Station Name="Transporter2.Elevator.Cell16" Position="477.62" ModifiedDate="12/7/2020 3:45:27 PM" />
-				<Station Name="Transporter2.Elevator.Cell17" Position="477.62" ModifiedDate="12/7/2020 3:42:56 PM" />
-				<Station Name="Transporter2.Elevator.Cell18" Position="477.62" ModifiedDate="12/7/2020 3:41:28 PM" />
-				<Station Name="Transporter2.Elevator.Cell19" Position="477.62" ModifiedDate="12/7/2020 3:38:51 PM" />
-				<Station Name="Transporter2.Elevator.Cell20" Position="477.62" ModifiedDate="2024-09-25 17:23:10.604" />
-				<Station Name="Transporter2.Elevator.Cell21" Position="477.62" ModifiedDate="2024-08-13 16:38:41.933" />
-				<Station Name="Transporter2.Elevator.Cell22" Position="477.62" ModifiedDate="2024-09-01 17:50:52.540" />
-				<Station Name="Transporter2.Elevator.Cell23" Position="477.62" ModifiedDate="12/7/2020 4:07:17 PM" />
-				<Station Name="Transporter2.Elevator.Cell24" Position="477.62" ModifiedDate="2024-09-01 17:31:44.732" />
-				<Station Name="Transporter2.Elevator.Cell25" Position="477.62" ModifiedDate="2024-08-28 14:13:15.098" />
-				<Station Name="Transporter2.Elevator.Cell26" Position="477.62" ModifiedDate="2024-08-28 14:16:47.833" />
-				<Station Name="Transporter2.Elevator.Cell27" Position="477.62" ModifiedDate="2024-08-28 14:19:53.433" />
-				<Station Name="Transporter2.Elevator.Cell28" Position="477.62" ModifiedDate="2024-08-28 14:22:12.776" />
-				<Station Name="Transporter2.Elevator.Cell29" Position="477.62" ModifiedDate="2024-08-28 14:24:08.184" />
-				<Station Name="Transporter2.Elevator.Cell30" Position="477.62" ModifiedDate="2024-08-28 14:25:41.584" />
-				<Station Name="Transporter2.Elevator.Cell31" Position="477.62" ModifiedDate="2024-08-28 14:27:10.496" />
-				<Station Name="Transporter2.Elevator.Cell32" Position="477.62" ModifiedDate="2024-08-28 15:33:40.266" />
-				<Station Name="Transporter2.Elevator.Cell33" Position="477.62" ModifiedDate="2024-08-28 15:37:07.305" />
-				<Station Name="Transporter2.Elevator.Cell34" Position="477.62" ModifiedDate="2024-08-28 15:37:11.456" />
-				<Station Name="Transporter2.Elevator.Cell35" Position="477.62" ModifiedDate="2024-08-28 15:38:16.040" />
-				<Station Name="Transporter2.Elevator.Cell36" Position="477.62" ModifiedDate="2024-08-28 15:39:40.513" />
-				<Station Name="Transporter2.Elevator.Cell37" Position="477.62" ModifiedDate="2024-08-28 15:48:02.112" />
-				<Station Name="Transporter2.Elevator.Cell38" Position="477.62" ModifiedDate="2024-08-28 15:41:37.552" />
-				<Station Name="Transporter2.Elevator.Cell39" Position="477.62" ModifiedDate="2024-09-20 13:44:43.983" />
+				<Station Name="Transporter2.Elevator.UP" Position="-7" ModifiedDate="2024-09-20 13:34:01.263" />
+				<Station Name="Transporter2.Elevator.LOW" Position="500" />
+				<Station Name="Transporter2.Elevator.Loader" Position="571" ModifiedDate="2024-09-25 16:10:52.892" />
+				<Station Name="Transporter2.Elevator.Cell15" Position="583.9997" ModifiedDate="12/7/2020 3:48:18 PM" />
+				<Station Name="Transporter2.Elevator.Cell16" Position="584.2038" ModifiedDate="12/7/2020 3:45:27 PM" />
+				<Station Name="Transporter2.Elevator.Cell17" Position="584.5001" ModifiedDate="12/7/2020 3:42:56 PM" />
+				<Station Name="Transporter2.Elevator.Cell18" Position="584.5" ModifiedDate="12/7/2020 3:41:28 PM" />
+				<Station Name="Transporter2.Elevator.Cell19" Position="583.4957" ModifiedDate="12/7/2020 3:38:51 PM" />
+				<Station Name="Transporter2.Elevator.Cell20" Position="581" ModifiedDate="2024-09-25 17:23:10.604" />
+				<Station Name="Transporter2.Elevator.Cell21" Position="574.5" ModifiedDate="2024-08-13 16:38:41.933" />
+				<Station Name="Transporter2.Elevator.Cell22" Position="572.55" ModifiedDate="2024-09-01 17:50:52.540" />
+				<Station Name="Transporter2.Elevator.Cell23" Position="581.9999" ModifiedDate="12/7/2020 4:07:17 PM" />
+				<Station Name="Transporter2.Elevator.Cell24" Position="573" ModifiedDate="2024-09-01 17:31:44.732" />
+				<Station Name="Transporter2.Elevator.Cell25" Position="572.5" ModifiedDate="2024-08-28 14:13:15.098" />
+				<Station Name="Transporter2.Elevator.Cell26" Position="572.5" ModifiedDate="2024-08-28 14:16:47.833" />
+				<Station Name="Transporter2.Elevator.Cell27" Position="572.5" ModifiedDate="2024-08-28 14:19:53.433" />
+				<Station Name="Transporter2.Elevator.Cell28" Position="572.5" ModifiedDate="2024-08-28 14:22:12.776" />
+				<Station Name="Transporter2.Elevator.Cell29" Position="571.5" ModifiedDate="2024-08-28 14:24:08.184" />
+				<Station Name="Transporter2.Elevator.Cell30" Position="571.5" ModifiedDate="2024-08-28 14:25:41.584" />
+				<Station Name="Transporter2.Elevator.Cell31" Position="571.5" ModifiedDate="2024-08-28 14:27:10.496" />
+				<Station Name="Transporter2.Elevator.Cell32" Position="571.5" ModifiedDate="2024-08-28 15:33:40.266" />
+				<Station Name="Transporter2.Elevator.Cell33" Position="571.5" ModifiedDate="2024-08-28 15:37:07.305" />
+				<Station Name="Transporter2.Elevator.Cell34" Position="571.5" ModifiedDate="2024-08-28 15:37:11.456" />
+				<Station Name="Transporter2.Elevator.Cell35" Position="571.5" ModifiedDate="2024-08-28 15:38:16.040" />
+				<Station Name="Transporter2.Elevator.Cell36" Position="571.5" ModifiedDate="2024-08-28 15:39:40.513" />
+				<Station Name="Transporter2.Elevator.Cell37" Position="571.5" ModifiedDate="2024-08-28 15:48:02.112" />
+				<Station Name="Transporter2.Elevator.Cell38" Position="571.5" ModifiedDate="2024-08-28 15:41:37.552" />
+				<Station Name="Transporter2.Elevator.Cell39" Position="571.5" ModifiedDate="2024-09-20 13:44:43.983" />
 			</Stations>
 		</Axis>
 	</Module>
 	<Module Name="DualPuf">
 		<Axis Name="PUF1.Flip">
-			<ToleranceDefault>0.1</ToleranceDefault>
+			<ToleranceDefault>0.5</ToleranceDefault>
 			<Stations>
-				<Station Name="PUF1.Flip.Home" Position="0.435" ModifiedDate="2024-08-09 13:35:19.613" />
-				<Station Name="PUF1.Flip.SideA" Position="0.435" ModifiedDate="2024-08-09 13:35:19.613" />
-				<Station Name="PUF1.Flip.SideB" Position="179.13" ModifiedDate="2024-08-09 13:36:34.531" />
+				<Station Name="PUF1.Flip.SideA" Position="174.95" ModifiedDate="2024-08-09 13:35:19.613" />
+				<Station Name="PUF1.Flip.SideB" Position="-5" ModifiedDate="2024-08-09 13:36:34.531" />
 			</Stations>
 		</Axis>
 		<Axis Name="PUF1.Rotation">
-			<ToleranceDefault>0.1</ToleranceDefault>
+			<ToleranceDefault>0.5</ToleranceDefault>
+			<Stations>
+				<Station Name="PUF1.Rotation.Home" Position="72.9999" ModifiedDate="8/27/2018 2:53:59 PM" />
+				<Station Name="PUF1.Rotation.Park" Position="72.9999" ModifiedDate="8/27/2018 2:54:03 PM" />
+				<Station Name="PUF1.Rotation.Flip" Position="-7" ModifiedDate="4/6/2015 8:34:18 PM" />
+				<Station Name="PUF1.Rotation.Robot" Position="72.9999" ModifiedDate="7/31/2018 4:34:50 PM" />
+				<Station Name="PUF1.Rotation.LoaderPickup" Position="-6.10065" ModifiedDate="9/14/2018 2:13:39 PM" />
+				<Station Name="PUF1.Rotation.LoaderPutDown" Position="-6.30045" ModifiedDate="9/19/2018 4:32:00 PM" />
+			</Stations>
+		</Axis>
+		<Axis Name="PUF1.Vertical">
+			<ToleranceDefault>0.5</ToleranceDefault>
+			<Stations>
+				<Station Name="PUF1.Vertical.Home" Position="2.999983" ModifiedDate="9/14/2018 2:07:45 PM" />
+				<Station Name="PUF1.Vertical.Flip" Position="-148" />
+				<Station Name="PUF1.Vertical.Robot" Position="-145" ModifiedDate="2024-08-09 13:46:54.195" />
+				<Station Name="PUF1.Vertical.Park" Position="2.999992" ModifiedDate="9/14/2018 2:07:39 PM" />
+				<Station Name="PUF1.Vertical.Loader" Position="-27.19027" />
+				<Station Name="PUF1.Vertical.LoaderPickup" Position="-279" ModifiedDate="9/17/2018 2:09:42 PM" />
+				<Station Name="PUF1.Vertical.LoaderPutDown" Position="-277" ModifiedDate="9/19/2018 4:31:55 PM" />
+			</Stations>
+		</Axis>
+		<Axis Name="PUF2.Flip">
+			<ToleranceDefault>0.5</ToleranceDefault>
+			<Stations>
+				<Station Name="PUF2.Flip.SideA" Position="178" ModifiedDate="2024-08-09 13:38:11.955" />
+				<Station Name="PUF2.Flip.SideB" Position="-2.04615" ModifiedDate="9/6/2018 10:24:30 AM" />
+			</Stations>
+		</Axis>
+		<Axis Name="PUF2.Rotation">
+			<ToleranceDefault>0.5</ToleranceDefault>
+			<Stations>
+				<Station Name="PUF2.Rotation.Home" Position="-23.2889" />
+				<Station Name="PUF2.Rotation.Flip" Position="8" ModifiedDate="4/6/2015 8:52:34 PM" />
+				<Station Name="PUF2.Rotation.Robot" Position="-23.2889" />
+				<Station Name="PUF2.Rotation.Park" Position="-23.2889" />
+				<Station Name="PUF2.Rotation.LoaderPickup" Position="8.7003" ModifiedDate="9/19/2018 4:41:57 PM" />
+				<Station Name="PUF2.Rotation.LoaderPutDown" Position="8.500501" ModifiedDate="9/19/2018 4:48:41 PM" />
+			</Stations>
+		</Axis>
+		<Axis Name="PUF2.Vertical">
+			<ToleranceDefault>0.5</ToleranceDefault>
 			<Stations>
-				<Station Name="PUF1.Rotation.Home" Position="22.146" ModifiedDate="8/27/2018 2:53:59 PM" />
-				<Station Name="PUF1.Rotation.Park" Position="22.146" ModifiedDate="8/27/2018 2:54:03 PM" />
-				<Station Name="PUF1.Rotation.Flip" Position="22.146" ModifiedDate="4/6/2015 8:34:18 PM" />
-				<Station Name="PUF1.Rotation.Robot" Position="22.146" ModifiedDate="7/31/2018 4:34:50 PM" />
-				<Station Name="PUF1.Rotation.LoaderPickup" Position="56.324" ModifiedDate="9/14/2018 2:13:39 PM" />
-				<Station Name="PUF1.Rotation.LoaderPutDown" Position="53.447" ModifiedDate="9/19/2018 4:32:00 PM" />
+				<Station Name="PUF2.Vertical.Home" Position="-15" />
+				<Station Name="PUF2.Vertical.Flip" Position="-140" ModifiedDate="9/29/2018 3:15:47 PM" />
+				<Station Name="PUF2.Vertical.Robot" Position="-148" ModifiedDate="2024-08-09 13:47:40.203" />
+				<Station Name="PUF2.Vertical.Park" Position="-15" ModifiedDate="5/7/2015 11:15:42 PM" />
+				<Station Name="PUF2.Vertical.Loader" Position="-50" />
+				<Station Name="PUF2.Vertical.LoaderPickup" Position="-276.1" ModifiedDate="9/19/2018 4:44:11 PM" />
+				<Station Name="PUF2.Vertical.LoaderPutDown" Position="-273.5" ModifiedDate="9/19/2018 5:47:50 PM" />
 			</Stations>
 		</Axis>
 	</Module>

+ 1 - 1
CyberX8_RT/Modules/Transporter/TransporterPickUpFromRoutine.cs

@@ -509,7 +509,7 @@ namespace CyberX8_RT.Modules.Transporter
                 return false;
             }
             //Loader is Home
-            if (!_loaderEntity.IsHomed)
+            if (_loaderEntity!=null&&!_loaderEntity.IsHomed)
             {
                 NotifyError(eEvent.ERR_TRANSPORTER, $"{ModuleName.Loader1} is not homed", -1);
                 return false;

+ 40 - 14
Framework/Common/Device/Galil/GalilControllerCfgManager.cs

@@ -181,7 +181,11 @@ namespace MECF.Framework.Common.Device.Galil
                 CheckAxisDataChanged(moduleName, galilAxisData);
             }
         }
-
+        /// <summary>
+        /// 更新ModuleDI
+        /// </summary>
+        /// <param name="module"></param>
+        /// <param name="diValues"></param>
         private void UpdateModuleDI(string module, byte[] diValues)
         {
             if (!_moduleDeviceConfigDictionary.ContainsKey(module))
@@ -189,40 +193,62 @@ namespace MECF.Framework.Common.Device.Galil
                 return;
             }
             GalilDeviceConfig galilDeviceConfig = _moduleDeviceConfigDictionary[module];
-            if (galilDeviceConfig.GalilDigIn.DIs.Count != diValues.Length)
+            if (galilDeviceConfig.GalilDigIn == null || galilDeviceConfig.GalilDigIn.DIs == null)
             {
                 return;
             }
             bool isInitial = false;
             if (!_moduleDiDictionary.ContainsKey(module))
             {
-                _moduleDiDictionary[module] = new byte[galilDeviceConfig.GalilDigIn.DIs.Count];
+                _moduleDiDictionary[module] = new byte[diValues.Length];
                 isInitial=true;
             }
-            byte[] tmpValues=_moduleDiDictionary[module];
-            if (tmpValues.Length == diValues.Length)
+            if (_moduleDiDictionary[module].Length == diValues.Length)
             {
-                for(int i=0;i<tmpValues.Length;i++)
+                for(int i=0;i<diValues.Length;i++)
                 {
-                    GalilDI dI=galilDeviceConfig.GalilDigIn.DIs[i];
-                    string diName = dI.Name;
-                    byte item=tmpValues[i];
+                    byte item= _moduleDiDictionary[module][i];
                     byte diValue = diValues[i];
                     if (isInitial)
                     {
-                        _moduleDiDictionary[module][i]= item;
-                        IOModuleManager.Instance.UpdateIoValue(diName, diValue==1);
+                        _moduleDiDictionary[module][i]= diValue;
+                        UpdateDIValue(galilDeviceConfig,diValue, i);
                     }
                     else if (item != diValue)
                     {
-                        _moduleDiDictionary[module][i] = item;
-
-                        IOModuleManager.Instance.UpdateIoValue(diName, diValue==1);
+                        _moduleDiDictionary[module][i] = diValue;
+                        UpdateDIValue(galilDeviceConfig, diValue, i);
                     }
                 }
             }
         }
         /// <summary>
+        /// 更新DI数值
+        /// </summary>
+        /// <param name="byt"></param>
+        /// <param name="index"></param>
+        private void UpdateDIValue(GalilDeviceConfig deviceConfig,byte byt,int index)
+        {
+            List<GalilDI> dIs = deviceConfig.GalilDigIn.DIs.FindAll(O => O.Address == index);
+            foreach(GalilDI item in dIs)
+            {
+                bool value = false;
+                if (item.Bit == 0)
+                {
+                    value = (byt & 0x01) == 0x01;
+                }
+                else
+                {
+                    value = (byt >> item.Bit & 0x01) == 0x01;
+                }
+                if (item.Invert)
+                {
+                    value = !value;
+                }
+                IOModuleManager.Instance.UpdateIoValue(item.Name,value );
+            }
+        }
+        /// <summary>
         /// 检验电机数据是否发生变化
         /// </summary>
         /// <param name="moduleName"></param>

+ 2 - 0
Framework/Common/Device/Galil/GalilDI.cs

@@ -17,5 +17,7 @@ namespace MECF.Framework.Common.Device.Galil
 
         [XmlAttribute(AttributeName = "Invert", Form = XmlSchemaForm.Unqualified, DataType = "boolean")]
         public bool Invert { get; set; }
+        [XmlAttribute(AttributeName = "Bit", Form = XmlSchemaForm.Unqualified, DataType = "int")]
+        public int Bit { get; set; }
     }
 }