| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 | <?xml version="1.0" encoding="utf-8"?><BeckhoffCfg>	<Controller Name="MASTER" IPAddress="192.168.0.200.1.1" PortAddress="851">		<!-- Need to have at least one input and one output before Axis stuff -->		<!-- All inputs first, then all outputs -->		<!--////////////////////////////////////////////////// ALL INPUTS START //////////////////////////////////////////////////-->		<!--VPW Main Start-->		<Input Name="r_VPW_CHAMBER_CLOSED"  Address="MAIN.VPW_DI_16CHANNEL_EL1819_N100_1" Invert="true" Type="Digital" DataType="bool"/>		<Input Name="r_VPW_CHAMBER_OPENED"  Address="MAIN.VPW_DI_16CHANNEL_EL1819_N100_2" Invert="true" Type="Digital" DataType="bool"/>		<Input Name="r_VPW_LEAK_DETECT"  Address="MAIN.VPW_DI_16CHANNEL_EL1819_N100_3" Invert="true" Type="Digital" DataType="bool"/>		<Input Name="r_VPW_VAC_PUMP_PRESSURE"  Address="MAIN.VPW_AI_8CHANNEL_4_20mA_EL3058_N102_8" Scaling="758=0,0=32767" Type="Analog" DataType="int"/>		<Input Name="r_VPW_BOOSTER_PUMP_STATUS"  Address="MAIN.VPW_DI_16CHANNEL_EL1819_N100_9" Invert="true" Type="Digital" DataType="bool"/>		<Input Name="r_VPW_DIW_TOTAL_FLOW"  Address="MAIN.VPW_AI_8CHANNEL_4_20mA_EL3058_N102_1" Scaling="0=0,20=32767" Type="Analog" DataType="int"/>		<Input Name="r_VPW_DIW_PRESSURE"  Address="MAIN.VPW_AI_8CHANNEL_4_20mA_EL3058_N102_4" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>		<Input Name="r_VPW_DEGAS_PUMP_PRESSURE"  Address="MAIN.VPW_AI_8CHANNEL_4_20mA_EL3058_N102_5" Scaling="758=0,100=32767" Type="Analog" DataType="int"/>		<Input Name="r_VPW_BOOSTER_PUMP_CURRENT" Address="MAIN.VPW_AO_8CHANNEL_0_10V_EL4008_N104_5" Scaling="0=0, 10=32767" Type="Analog" DataType="int"/>		<!--VPW Main End-->		<!--VPW1 Start-->		<Input Name="r_VPW_DIW_CELL_1_FLOW"  Address="MAIN.VPW_AI_8CHANNEL_4_20mA_EL3058_N102_2" Scaling="0=0,8=32767" Type="Analog" DataType="int"/>		<Input Name="r_VPW_CELL_1_VAC_PRESSURE"  Address="MAIN.VPW_AI_8CHANNEL_0_10V_EL3068_N105_1" Scaling="0=0,10=32767" Type="Analog" DataType="int"/>		<!--VPW1 End-->		<!--VPW2 Start-->		<Input Name="r_VPW_DIW_CELL_2_FLOW"  Address="MAIN.VPW_AI_8CHANNEL_4_20mA_EL3058_N102_3" Scaling="0=0,8=32767" Type="Analog" DataType="int"/>		<Input Name="r_VPW_CELL_2_VAC_PRESSURE"  Address="MAIN.VPW_AI_8CHANNEL_0_10V_EL3068_N105_2" Scaling="0=0,10=32767" Type="Analog" DataType="int"/>		<!--VPW2 End-->		<!--////////////////////////////////////////////////// ALL INPUTS END //////////////////////////////////////////////////-->		<!--////////////////////////////////////////////////// ALL OUTPUTS BEGIN //////////////////////////////////////////////////-->		<!--VPW Main Start-->		<Output Name="c_VPW_CHAMBER_CLOSE" Address="MAIN.MOTION_DO_16CHANNEL_EL2809_N401_15" Type="Digital" Invert="true" DataType="bool"/>		<Output Name="c_VPW_VACUUM_PUMP_POWER" Address="MAIN.VPW_DO_16CHANNEL_EL2809_101_5" Type="Digital" Invert="false" DataType="bool"/>		<Output Name="c_VPW_DEGAS_PUMP_ENABLE" Address="MAIN.VPW_DO_16CHANNEL_EL2809_101_6" Type="Digital" Invert="false" DataType="bool"/>		<Output Name="c_VPW_BOOSTER_PUMP_ENABLE" Address="MAIN.VPW_DO_16CHANNEL_EL2809_101_7" Type="Digital" Invert="false" DataType="bool"/>		<Output Name="c_VPW_VACUUM_PUMP_ENABLE" Address="MAIN.VPW_DO_16CHANNEL_EL2809_101_8" Type="Digital" Invert="false" DataType="bool"/>		<Output Name="c_VPW_VACUUM_PUMP_SPEED_ENABLE" Address="MAIN.VPW_DO_16CHANNEL_EL2809_101_9" Type="Digital" Invert="false" DataType="bool"/>		<Output Name="c_VPW_VACUUM_PUMP_SPEED" Address="MAIN.VPW_AO_8CHANNEL_0_10V_EL4008_N104_1" Scaling="0=0,20=32767" Type="Analog" DataType="int"/>		<Output Name="c_VPW_BOOSTER_PUMP_SPPED" Address="MAIN.VPW_AO_8CHANNEL_0_10V_EL4008_N104_5" Scaling="300=0,7300=32767" Type="Analog" DataType="int"/>		<Output Name="c_VPW_DIW_EABLE" Address="MAIN.VPW_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="0" DataType="byte"/>		<Output Name="c_VPW_DIW_PROCESS" Address="MAIN.VPW_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="1" DataType="byte"/>		<Output Name="c_VPW_DIW_DEGAS" Address="MAIN.VPW_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="0" DataType="byte"/>		<Output Name="c_VPW_DEGAS_ADJUST" Address="MAIN.VPW_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="1" DataType="byte"/>		<Output Name="c_VPW_DEGAS_PURGE" Address="MAIN.VPW_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="2" DataType="byte"/>		<!--VPW Main End-->		<!--VPW1 Start-->		<Output Name="c_VPW_1_FLOW_DRIP" Address="MAIN.VPW_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="2" DataType="byte"/>		<Output Name="c_VPW_1_FLOW_SMALL" Address="MAIN.VPW_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="3" DataType="byte"/>		<Output Name="c_VPW_1_FLOW_LARGE" Address="MAIN.VPW_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="4" DataType="byte"/>		<Output Name="c_VPW_1_VACUUM_VALVE" Address="MAIN.VPW_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="3" DataType="byte"/>		<Output Name="c_VPW_1_VENT_VALVE" Address="MAIN.VPW_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="5" DataType="byte"/>		<Output Name="c_VPW_1_DIW_DRAIN" Address="MAIN.VPW_PNEU_SMC_EX260_V09_V12" Type="Digital" BitOperated="true" Bit="0" DataType="byte"/>		<!--VPW1 End-->		<!--VPW2 Start-->		<Output Name="c_VPW_2_FLOW_DRIP" Address="MAIN.VPW_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="5" DataType="byte"/>		<Output Name="c_VPW_2_FLOW_SMALL" Address="MAIN.VPW_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="6" DataType="byte"/>		<Output Name="c_VPW_2_FLOW_LARGE" Address="MAIN.VPW_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="7" DataType="byte"/>		<Output Name="c_VPW_2_VACUUM_VALVE" Address="MAIN.VPW_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="4" DataType="byte"/>		<Output Name="c_VPW_2_VENT_VALVE" Address="MAIN.VPW_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="6" DataType="byte"/>		<Output Name="c_VPW_2_DIW_DRAIN" Address="MAIN.VPW_PNEU_SMC_EX260_V09_V12" Type="Digital" BitOperated="true" Bit="1" DataType="byte"/>		<!--VPW2 End-->		<!--////////////////////////////////////////////////// ALL OUTPUTS END //////////////////////////////////////////////////-->		<!--////////////////////////////////////////////////// ALL COUNTERS BEGIN //////////////////////////////////////////////////-->		<!--////////////////////////////////////////////////// ALL COUNTERS END //////////////////////////////////////////////////-->		<!--////////////////////////////////////////////////// ALL AXIS BEGIN //////////////////////////////////////////////////-->		<Axis Name="VPW1.Rotation" MotorType="Yaskawa" COEAddress="192.168.0.14.4.1" COEPort="1016" DebugLogging="false">			<Input Address="MAIN.VPW1RotationStatusWord" Type="StatusWord" DataType="uint"/>			<Input Address="MAIN.VPW1RotationDigitalInputs" Type="DigitalInputs" DataType="udint"/>			<Input Address="MAIN.VPW1RotationMotorPosition" Type="MotorPosition" DataType="dint"/>			<Input Address="MAIN.VPW1RotationPositionError" Type="PositionError" DataType="dint"/>			<Input Address="MAIN.VPW1RotationActualVelocity" Type="ActualVelocity" DataType="dint"/>			<Input Address="MAIN.VPW1RotationActualTorque" Type="ActualTorque" DataType="int"/>			<!-- Input Address="MAIN.Loader1Rotation_DigitalOutputs" Type="DigitalOutputs" DataType="dint"/ -->			<Input Address="0x607D:01" Type="SoftwareLimitMinus" DataType="dint"/>			<Input Address="0x607D:02" Type="SoftwareLimitPlus" DataType="dint"/>			<Input Address="0x6098:00" Type="HomingMethod" DataType="byte"/>			<Input Address="0x607C:00" Type="HomeOffset" DataType="dint"/>			<Input Address="0x6099:01" Type="HomingVelocity" DataType="dint"/>			<Input Address="0x6099:02" Type="HomingVelocitySlow" DataType="dint"/>			<Input Address="0x609A:00" Type="HomingAccel" DataType="dint"/>			<Input Address="0x2403:00" Type="NegativeTorqueLimit" DataType="uint"/>			<Input Address="0x2402:00" Type="PositiveTorqueLimit" DataType="uint"/>			<Input Address="0x6085:00" Type="EStopDecel" DataType="udint"/>			<Input Address="0x2406:00" Type="EStopTorque" DataType="uint"/>			<Input Address="0x607F:00" Type="VelocityLimit" DataType="udint"/>			<Input Address="0x2522:00" Type="PositionWindow" DataType="udint"/>			<Input Address="0x2520:00" Type="FollowingErrorWindow" DataType="udint"/>			<Input Address="0x603F:00" Type="ErrorCode" DataType="uint"/>			<Output Address="MAIN.VPW1RotationControlWord" Type="ControlWord" DataType="uint"/>			<Output Address="MAIN.VPW1RotationModeOfOperation" Type="ModeOfOperation" DataType="byte"/>			<Output Address="MAIN.VPW1RotationTargetPosition" Type="TargetPosition" DataType="dint"/>			<Output Address="MAIN.VPW1RotationProfileVelocity" Type="ProfileVelocity" DataType="dint"/>			<Output Address="MAIN.VPW1RotationProfileAccel" Type="ProfileAccel" DataType="dint"/>			<Output Address="MAIN.VPW1RotationProfileDecel" Type="ProfileDecel" DataType="dint"/>			<!-- Output Address="MAIN.Loader1Rotation_DigitalOutputs" Type="DigitalOutputs" DataType="dint"/ -->			<Output Address="0x607D:01" Type="SoftwareLimitMinus" DataType="dint"/>			<Output Address="0x607D:02" Type="SoftwareLimitPlus" DataType="dint"/>			<Output Address="0x607C:00" Type="HomeOffset" DataType="dint"/>			<Output Address="0x6098:00" Type="HomingMethod" DataType="byte"/>			<Output Address="0x6099:01" Type="HomingVelocity" DataType="dint"/>			<Output Address="0x6099:02" Type="HomingVelocitySlow" DataType="dint"/>			<Output Address="0x609A:00" Type="HomingAccel" DataType="dint"/>			<Output Address="0x2403:00" Type="NegativeTorqueLimit" DataType="uint"/>			<Output Address="0x2402:00" Type="PositiveTorqueLimit" DataType="uint"/>			<MotorType>Servo</MotorType>			<MotorDriveDirection>0</MotorDriveDirection>			<EncoderFeedbackDirectionMValue>0</EncoderFeedbackDirectionMValue>			<EncoderFeedbackDirectionNValue>0</EncoderFeedbackDirectionNValue>			<ReverseLimitSwitchPolarity>0</ReverseLimitSwitchPolarity>			<ForwardLimitSwitchPolarity>0</ForwardLimitSwitchPolarity>			<HomeSwitchPolarity>0</HomeSwitchPolarity>			<HomingMethod>24</HomingMethod>			<HomeConfig>0</HomeConfig>			<HomingOffset>0</HomingOffset>			<HomingSpeedHomeSwitch>1500000</HomingSpeedHomeSwitch>			<HomingSpeedEncoderIndex>0</HomingSpeedEncoderIndex>			<HomingAccelDecel>10000000</HomingAccelDecel>			<HomingTimeOut>60000</HomingTimeOut>			<ProportionalGain>0</ProportionalGain>			<IntegralGain>0</IntegralGain>			<DerivativeGain>0</DerivativeGain>			<IntegralLimit>0</IntegralLimit>			<ErrorLimit>6766</ErrorLimit>			<VoltageOffset>0</VoltageOffset>			<!-- -193 degrees * 169161 = -32648073 -->			<ReverseSoftwareLimit>-46180953</ReverseSoftwareLimit>			<!-- 13 degrees * 169161 = 2199093 -->			<ForwardSoftwareLimit>2706576</ForwardSoftwareLimit>			<Speed>15000000</Speed>			<Acceleration>10000000</Acceleration>			<Deceleration>10000000</Deceleration>			<Jerk>0</Jerk>			<FeedforwardVelocity>0</FeedforwardVelocity>			<FeedforwardAcceleration>0</FeedforwardAcceleration>			<OffOnError>0</OffOnError>		</Axis>		<Axis Name="VPW2.Rotation" MotorType="Yaskawa" COEAddress="192.168.0.14.4.1" COEPort="1016" DebugLogging="false">			<Input Address="MAIN.VPW2RotationStatusWord" Type="StatusWord" DataType="uint"/>			<Input Address="MAIN.VPW2RotationDigitalInputs" Type="DigitalInputs" DataType="udint"/>			<Input Address="MAIN.VPW2RotationMotorPosition" Type="MotorPosition" DataType="dint"/>			<Input Address="MAIN.VPW2RotationPositionError" Type="PositionError" DataType="dint"/>			<Input Address="MAIN.VPW2RotationActualVelocity" Type="ActualVelocity" DataType="dint"/>			<Input Address="MAIN.VPW2RotationActualTorque" Type="ActualTorque" DataType="int"/>			<!-- Input Address="MAIN.Loader1Rotation_DigitalOutputs" Type="DigitalOutputs" DataType="dint"/ -->			<Input Address="0x607D:01" Type="SoftwareLimitMinus" DataType="dint"/>			<Input Address="0x607D:02" Type="SoftwareLimitPlus" DataType="dint"/>			<Input Address="0x6098:00" Type="HomingMethod" DataType="byte"/>			<Input Address="0x607C:00" Type="HomeOffset" DataType="dint"/>			<Input Address="0x6099:01" Type="HomingVelocity" DataType="dint"/>			<Input Address="0x6099:02" Type="HomingVelocitySlow" DataType="dint"/>			<Input Address="0x609A:00" Type="HomingAccel" DataType="dint"/>			<Input Address="0x2403:00" Type="NegativeTorqueLimit" DataType="uint"/>			<Input Address="0x2402:00" Type="PositiveTorqueLimit" DataType="uint"/>			<Input Address="0x6085:00" Type="EStopDecel" DataType="udint"/>			<Input Address="0x2406:00" Type="EStopTorque" DataType="uint"/>			<Input Address="0x607F:00" Type="VelocityLimit" DataType="udint"/>			<Input Address="0x2522:00" Type="PositionWindow" DataType="udint"/>			<Input Address="0x2520:00" Type="FollowingErrorWindow" DataType="udint"/>			<Input Address="0x603F:00" Type="ErrorCode" DataType="uint"/>			<Output Address="MAIN.VPW2RotationControlWord" Type="ControlWord" DataType="uint"/>			<Output Address="MAIN.VPW2RotationModeOfOperation" Type="ModeOfOperation" DataType="byte"/>			<Output Address="MAIN.VPW2RotationTargetPosition" Type="TargetPosition" DataType="dint"/>			<Output Address="MAIN.VPW2RotationProfileVelocity" Type="ProfileVelocity" DataType="dint"/>			<Output Address="MAIN.VPW2RotationProfileAccel" Type="ProfileAccel" DataType="dint"/>			<Output Address="MAIN.VPW2RotationProfileDecel" Type="ProfileDecel" DataType="dint"/>			<!-- Output Address="MAIN.Loader1Rotation_DigitalOutputs" Type="DigitalOutputs" DataType="dint"/ -->			<Output Address="0x607D:01" Type="SoftwareLimitMinus" DataType="dint"/>			<Output Address="0x607D:02" Type="SoftwareLimitPlus" DataType="dint"/>			<Output Address="0x607C:00" Type="HomeOffset" DataType="dint"/>			<Output Address="0x6098:00" Type="HomingMethod" DataType="byte"/>			<Output Address="0x6099:01" Type="HomingVelocity" DataType="dint"/>			<Output Address="0x6099:02" Type="HomingVelocitySlow" DataType="dint"/>			<Output Address="0x609A:00" Type="HomingAccel" DataType="dint"/>			<Output Address="0x2403:00" Type="NegativeTorqueLimit" DataType="uint"/>			<Output Address="0x2402:00" Type="PositiveTorqueLimit" DataType="uint"/>			<MotorType>Servo</MotorType>			<MotorDriveDirection>0</MotorDriveDirection>			<EncoderFeedbackDirectionMValue>0</EncoderFeedbackDirectionMValue>			<EncoderFeedbackDirectionNValue>0</EncoderFeedbackDirectionNValue>			<ReverseLimitSwitchPolarity>0</ReverseLimitSwitchPolarity>			<ForwardLimitSwitchPolarity>0</ForwardLimitSwitchPolarity>			<HomeSwitchPolarity>0</HomeSwitchPolarity>			<HomingMethod>24</HomingMethod>			<HomeConfig>0</HomeConfig>			<HomingOffset>0</HomingOffset>			<HomingSpeedHomeSwitch>1500000</HomingSpeedHomeSwitch>			<HomingSpeedEncoderIndex>0</HomingSpeedEncoderIndex>			<HomingAccelDecel>10000000</HomingAccelDecel>			<HomingTimeOut>60000</HomingTimeOut>			<ProportionalGain>0</ProportionalGain>			<IntegralGain>0</IntegralGain>			<DerivativeGain>0</DerivativeGain>			<IntegralLimit>0</IntegralLimit>			<ErrorLimit>6766</ErrorLimit>			<VoltageOffset>0</VoltageOffset>			<!-- -193 degrees * 169161 = -32648073 -->			<ReverseSoftwareLimit>-46180953</ReverseSoftwareLimit>			<!-- 13 degrees * 169161 = 2199093 -->			<ForwardSoftwareLimit>2706576</ForwardSoftwareLimit>			<Speed>15000000</Speed>			<Acceleration>10000000</Acceleration>			<Deceleration>10000000</Deceleration>			<Jerk>0</Jerk>			<FeedforwardVelocity>0</FeedforwardVelocity>			<FeedforwardAcceleration>0</FeedforwardAcceleration>			<OffOnError>0</OffOnError>		</Axis>	</Controller></BeckhoffCfg>
 |