|
@@ -505,10 +505,127 @@ VAR
|
|
|
PlatingCell1_2_DO_16CHANNEL_EL2809_N401_12 AT%Q* :BOOL;
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-END_VAR
|
|
|
-]]></Declaration>
|
|
|
+ //SRD1 Rotation Status word
|
|
|
+ SRD1RotationStatusWord AT%I* :UINT;
|
|
|
+ //SRD1 Rotation digital inputs
|
|
|
+ SRD1RotationDigitalInputs AT%I* :UDINT;
|
|
|
+ //SRD1 Rotation position error
|
|
|
+ SRD1RotationPositionError AT%I* :UDINT;
|
|
|
+ //SRD1 Rotation actual velocity
|
|
|
+ SRD1RotationActualVelocity AT%I* :UDINT;
|
|
|
+ //SRD1 Rotation actual torque
|
|
|
+ SRD1RotationActualTorque AT%I* :DINT;
|
|
|
+ //SRD1 Rotation motor position
|
|
|
+ SRD1RotationMotorPosition AT%I* :DINT;
|
|
|
+ //SRD1 Rotation control word
|
|
|
+ SRD1RotationControlWord AT%Q* :UINT;
|
|
|
+ //SRD1 Rotation mode of operation
|
|
|
+ SRD1RotationModeOfOperation AT%Q* :SINT;
|
|
|
+ //SRD1 Rotation target position
|
|
|
+ SRD1RotationTargetPosition AT%Q* :DINT;
|
|
|
+ //SRD1 Rotation profile volecity
|
|
|
+ SRD1RotationProfileVelocity AT%Q* :DINT;
|
|
|
+ //SRD1 Rotation profile acceleration
|
|
|
+ SRD1RotationProfileAccel AT%Q* :UDINT;
|
|
|
+ //SRD1 Rotation profile deceleration
|
|
|
+ SRD1RotationProfileDecel AT%Q* :UDINT;
|
|
|
+ //SRD1 Rotation motor step
|
|
|
+ SRD1RotationMotorStep :DINT;
|
|
|
+
|
|
|
+ //SRD2 Rotation Status word
|
|
|
+ SRD2RotationStatusWord AT%I* :UINT;
|
|
|
+ //SRD2 Rotation digital inputs
|
|
|
+ SRD2RotationDigitalInputs AT%I* :UDINT;
|
|
|
+ //SRD2 Rotation position error
|
|
|
+ SRD2RotationPositionError AT%I* :UDINT;
|
|
|
+ //SRD2 Rotation actual velocity
|
|
|
+ SRD2RotationActualVelocity AT%I* :UDINT;
|
|
|
+ //SRD2 Rotation actual torque
|
|
|
+ SRD2RotationActualTorque AT%I* :DINT;
|
|
|
+ //SRD2 Rotation motor position
|
|
|
+ SRD2RotationMotorPosition AT%I* :DINT;
|
|
|
+ //SRD2 Rotation control word
|
|
|
+ SRD2RotationControlWord AT%Q* :UINT;
|
|
|
+ //SRD2 Rotation mode of operation
|
|
|
+ SRD2RotationModeOfOperation AT%Q* :SINT;
|
|
|
+ //SRD2 Rotation target position
|
|
|
+ SRD2RotationTargetPosition AT%Q* :DINT;
|
|
|
+ //SRD2 Rotation profile volecity
|
|
|
+ SRD2RotationProfileVelocity AT%Q* :DINT;
|
|
|
+ //SRD2 Rotation profile acceleration
|
|
|
+ SRD2RotationProfileAccel AT%Q* :UDINT;
|
|
|
+ //SRD2 Rotation profile deceleration
|
|
|
+ SRD2RotationProfileDecel AT%Q* :UDINT;
|
|
|
+ //SRD2 Rotation motor step
|
|
|
+ SRD2RotationMotorStep :DINT;
|
|
|
+
|
|
|
+ //SRD.FluidContainment
|
|
|
+ r_SRD_FLUID_LEVEL AT%I* :BOOL;
|
|
|
+ //SRD.WaterPressure
|
|
|
+ r_SRD_SUPPLY_WATER_PRESS AT%I* :DINT;
|
|
|
+
|
|
|
+ //SRD1.DoorClosed
|
|
|
+ r_SRD1_SHUTTER_CLOSED AT%I* :BOOL;
|
|
|
+ //SRD1.DoorOpened
|
|
|
+ r_SRD1_SHUTTER_OPEN AT%I* :BOOL;
|
|
|
+ //SRD1.ChuckVacuumOK
|
|
|
+ r_SRD1_CHUCK_VAC_OK AT%I* :BOOL;
|
|
|
+ //SRD1.WaferPresent
|
|
|
+ r_SRD1_WAFER_PRESENT AT%I* :BOOL;
|
|
|
+ //SRD1.LiftUpStatus
|
|
|
+ r_SRD1_LIFT_UP AT%I* :BOOL;
|
|
|
+ //SRD1.Flipper1Out100Status
|
|
|
+ r_SRD1_100_FLIPPER1_OUT AT%I* :BOOL;
|
|
|
+ //SRD1.Flipper2Out100Status
|
|
|
+ r_SRD1_100_FLIPPER2_OUT AT%I* :BOOL;
|
|
|
+ //SRD1.Flipper3Out100Status
|
|
|
+ r_SRD1_100_FLIPPER3_OUT AT%I* :BOOL;
|
|
|
+ //SRD1.Flipper1Out150Status
|
|
|
+ r_SRD1_150_FLIPPER1_OUT AT%I* :BOOL;
|
|
|
+ //SRD1.Flipper2Out150Status
|
|
|
+ r_SRD1_150_FLIPPER2_OUT AT%I* :BOOL;
|
|
|
+ //SRD1.Flipper3Out150Status
|
|
|
+ r_SRD1_150_FLIPPER3_OUT AT%I* :BOOL;
|
|
|
+ //SRD1.Flipper1Out200Status
|
|
|
+ r_SRD1_200_FLIPPER1_OUT AT%I* :BOOL;
|
|
|
+ //SRD1.Flipper2Out200Status
|
|
|
+ r_SRD1_200_FLIPPER2_OUT AT%I* :BOOL;
|
|
|
+ //SRD1.Flipper3Out200Status
|
|
|
+ r_SRD1_200_FLIPPER3_OUT AT%I* :BOOL;
|
|
|
+ //SRD1.ChuckVacuum
|
|
|
+ r_SRD1_CHUCK_VACUUM_anlg AT%I* :DINT;
|
|
|
+ //SRD1.WaferPresence
|
|
|
+ r_SRD1_WAFER_PRESENT_anlg AT%I* :DINT;
|
|
|
+ //SRD1.WaterFlow
|
|
|
+ r_SRD1_WATER_FLOW AT%I* :DINT;
|
|
|
+
|
|
|
+
|
|
|
+ //SRD1.WaterAbove
|
|
|
+ c_SRD1_Water_Above_Wafer AT%Q* :BOOL;
|
|
|
+ //SRD1.WaterBelow
|
|
|
+ c_SRD1_Water_Below_Wafer AT%Q* :BOOL;
|
|
|
+ //SRD1.ExhaustOn
|
|
|
+ c_SRD1_Exhaust_Fan_On AT%Q* :BOOL;
|
|
|
+ //SRD1.DoorClose
|
|
|
+ c_SRD1_Shutter_Close AT%Q* :BOOL;
|
|
|
+ //SRD1.ChuckVacuum
|
|
|
+ c_SRD1_CHUCK_VACUUM AT%Q* :BOOL;
|
|
|
+ //SRD1.ChuckATMOn
|
|
|
+ c_SRD1_CHUCK_ATM_ON AT%Q* :BOOL;
|
|
|
+ //SRD1.LiftUp
|
|
|
+ c_SRD1_LIFT_UP AT%Q* :BOOL;
|
|
|
+ //SRD1.FlippersIn100
|
|
|
+ c_SRD1_100_FLIPPERS_IN AT%Q* :BOOL;
|
|
|
+ //SRD1.FlippersIn150
|
|
|
+ c_SRD1_150_FLIPPERS_IN AT%Q* :BOOL;
|
|
|
+ //SRD1.FlippersIn200
|
|
|
+ c_SRD1_200_FLIPPERS_IN AT%Q* :BOOL;
|
|
|
+ //SRD1.WaterOn
|
|
|
+ c_SRD1_WATER_ON AT%Q* :BOOL;
|
|
|
+ //SRD1.N2On
|
|
|
+ c_SRD1_N2_FLOW_ON AT%Q* :BOOL;
|
|
|
+
|
|
|
+END_VAR]]></Declaration>
|
|
|
<Implementation>
|
|
|
<ST><![CDATA[IF VPW1RotationControlWord =7 THEN
|
|
|
VPW1RotationStatusWord := 563;
|
|
@@ -738,7 +855,56 @@ END_IF
|
|
|
//reservoir 4 ca DIreplen
|
|
|
IF RES3_4_PNEU_SMC_EX260_V01_V04.6=TRUE AND RES3_4_AI_8CHANNEL_4_20MA_EL3058_N232_6 <= 32760 THEN
|
|
|
RES3_4_AI_8CHANNEL_4_20MA_EL3058_N232_6:= RES3_4_AI_8CHANNEL_4_20MA_EL3058_N232_6 + 10;
|
|
|
-END_IF]]></ST>
|
|
|
+END_IF
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+IF SRD1RotationControlWord =7 THEN
|
|
|
+ SRD1RotationStatusWord := 563;
|
|
|
+ ELSE IF SRD1RotationControlWord =6 THEN
|
|
|
+ SRD1RotationStatusWord :=33;
|
|
|
+ ELSE IF SRD1RotationControlWord=15 THEN
|
|
|
+ SRD1RotationStatusWord :=567;
|
|
|
+ SRD1RotationDigitalInputs.22:=FALSE;
|
|
|
+ ELSE IF SRD1RotationControlWord=31 THEN
|
|
|
+ SRD1RotationDigitalInputs.22:=TRUE;
|
|
|
+ SRD1RotationStatusWord :=5687;
|
|
|
+ SRD1RotationMotorPosition:=0;
|
|
|
+ END_IF
|
|
|
+ END_IF
|
|
|
+ END_IF
|
|
|
+
|
|
|
+END_IF
|
|
|
+
|
|
|
+IF SRD1RotationModeOfOperation=1 THEN
|
|
|
+ IF SRD1RotationControlWord=63 THEN
|
|
|
+ IF SRD1RotationMotorPosition<SRD1RotationTargetPosition THEN
|
|
|
+ SRD1RotationMotorStep :=(SRD1RotationTargetPosition-SRD1RotationMotorPosition)/20;
|
|
|
+ IF SRD1RotationMotorStep >1 THEN
|
|
|
+ SRD1RotationMotorPosition :=SRD1RotationMotorPosition+SRD1RotationMotorStep;
|
|
|
+ ELSE
|
|
|
+ SRD1RotationMotorPosition :=SRD1RotationMotorPosition+1;
|
|
|
+ END_IF
|
|
|
+ ELSE IF SRD1RotationMotorPosition>SRD1RotationTargetPosition THEN
|
|
|
+ SRD1RotationMotorStep :=(SRD1RotationMotorPosition-SRD1RotationTargetPosition)/20;
|
|
|
+ IF SRD1RotationMotorStep >1 THEN
|
|
|
+ SRD1RotationMotorPosition :=SRD1RotationMotorPosition-SRD1RotationMotorStep;
|
|
|
+ ELSE
|
|
|
+ SRD1RotationMotorPosition :=SRD1RotationMotorPosition-1;
|
|
|
+ END_IF
|
|
|
+ ELSE
|
|
|
+ SRD1RotationStatusWord :=1591;
|
|
|
+ END_IF
|
|
|
+ END_IF
|
|
|
+ ELSE IF SRD1RotationControlWord=319 THEN
|
|
|
+ SRD1RotationStatusWord :=1591;
|
|
|
+ END_IF
|
|
|
+ END_IF
|
|
|
+END_IF
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+]]></ST>
|
|
|
</Implementation>
|
|
|
<LineIds Name="MAIN">
|
|
|
<LineId Id="52" Count="5" />
|
|
@@ -815,6 +981,10 @@ END_IF]]></ST>
|
|
|
<LineId Id="2275" Count="6" />
|
|
|
<LineId Id="2284" Count="2" />
|
|
|
<LineId Id="2274" Count="0" />
|
|
|
+ <LineId Id="2850" Count="2" />
|
|
|
+ <LineId Id="2856" Count="41" />
|
|
|
+ <LineId Id="2853" Count="2" />
|
|
|
+ <LineId Id="2849" Count="0" />
|
|
|
</LineIds>
|
|
|
</POU>
|
|
|
</TcPlcObject>
|