zhangzw 2 днів тому
батько
коміт
0c4cb99adc

BIN
TIN001/TIN001/.vs/TIN001/v15/.suo


+ 1 - 1
TIN001/TIN001/TIN001/PMC.tsproj

@@ -8720,7 +8720,7 @@ External Setpoint Generation:
 		</Motion>
 		<Plc>
 			<Project GUID="{2C84D8AE-B038-4B99-BD4C-1AA7D6CAA867}" Name="PMC" PrjFilePath="PMC\PMC.plcproj" TmcFilePath="PMC\PMC.tmc" ReloadTmc="true" AmsPort="851" TargetArchiveSettings="#x0001" FileArchiveSettings="#x000e" SymbolicMapping="true">
-				<Instance Id="#x08502000" TcSmClass="TComPlcObjDef" KeepUnrestoredLinks="1" TmcPath="PMC\PMC.tmc" TmcHash="{E0B27817-D0C9-BB5D-105E-1F56DCCEDD1D}">
+				<Instance Id="#x08502000" TcSmClass="TComPlcObjDef" KeepUnrestoredLinks="1" TmcPath="PMC\PMC.tmc" TmcHash="{AB4E037C-1FE8-56D2-268C-1C2A168BA979}">
 					<Name>PMC Instance</Name>
 					<CLSID ClassFactory="TcPlc30">{08500001-0000-0000-F000-000000000064}</CLSID>
 					<Vars VarGrpType="1">

+ 1 - 1
TIN001/TIN001/TIN001/PMC.tsproj.bak

@@ -8574,7 +8574,7 @@ External Setpoint Generation:
 					<AxisPara>
 						<General UnitName="°" UnitFlags="#x00000005"/>
 						<Dynamic Acceleration="58.3333" Deceleration="58.3333" Jerk="408.333" FastAxisStopSignalType="3" FastAcceleration="15000" FastDeceleration="15000" FastJerk="15000"/>
-						<Velo SlowManual="1" FastManual="2" Maximum="50"/>
+						<Velo SlowManual="1" FastManual="2" Maximum="70"/>
 						<PositionAreaControl Enable="false"/>
 						<TargetPosControl Enable="false"/>
 						<OtherSettings AllowMotionCmdToSlave="true"/>

Різницю між файлами не показано, бо вона завелика
+ 3 - 3
TIN001/TIN001/TIN001/PMC/PMC.tmc


+ 54 - 0
TIN001/TIN001/TIN001/PMC/POU/IO_EXCHANGE.TcPOU

@@ -11,9 +11,14 @@ VAR
 	T1:TON;
 	T2:TON;
 	T3:TON;
+	VGT1:TON;
+	VGT2:TON;
+	VGT3:TON;
+	VGTrig:R_TRIG;
 	i: INT;
 	j: INT;
 	MaxValue:LREAL;
+	StepNo: INT;
 END_VAR
 ]]></Declaration>
     <Implementation>
@@ -27,6 +32,7 @@ Axis();
 WTR();
 N2Purge();
 RobotIL();
+VGZero();
 //MFC/MFM
 	AI.MFC1_PV:=GVL_MFC.MFC_Data[1].I_PV;
 	AI.MFC2_PV:=GVL_MFC.MFC_Data[2].I_PV;
@@ -17590,6 +17596,49 @@ PWQ.	Q103_15	:=			;*)]]></ST>
         </NWL>
       </Implementation>
     </Action>
+    <Action Name="VGZero" Id="{a79283c1-1a30-4e46-b311-10e7813f3277}">
+      <Implementation>
+        <ST><![CDATA[//校零触发
+	VGTrig(clk:=NDO.VG13ZeroStart AND AI.VG13_Pressure<>AO.VG13ZeroValue AND NOT NDI.VG13ZeroRuning );
+	IF VGTrig.Q THEN
+		NDI.VG13ZeroEnd:=0;
+		StepNo:=100;
+	END_IF
+//校零流程
+	CASE StepNo OF
+				100:
+				GVL.stPMCtoPLC.Q300_15:=1;
+				IF   VGT1.Q THEN
+					StepNo:=102;
+				END_IF
+				102:
+				GVL.stPMCtoPLC.Q300_15:=0;
+				IF   VGT2.Q THEN
+					StepNo:=104;
+				END_IF
+				104:
+				IF AI.VG13_Pressure<>AO.VG13ZeroValue  THEN
+					StepNo:=100;
+				ELSE
+						StepNo:=999;
+						NDI.VG13ZeroEnd:=1;
+				END_IF
+	END_CASE
+//校零过程反馈		
+	//IF 99<StepNo AND StepNo<999 THEN 
+	//			NDI.VG13ZeroRuning:=1;
+	//END_IF
+//校零超时
+	IF VGT3.Q THEN 
+				StepNo:=9999;
+				NDI.VG13ZeroEnd:=1;
+	END_IF
+//校零定时器		
+		VGT1(IN:= StepNo=100 AND GVL.stPMCtoPLC.Q300_15 =1 ,PT:=T#1S);
+		VGT2(IN:= StepNo=102 AND GVL.stPMCtoPLC.Q300_15 =0  ,PT:=T#30S);
+		//VGT3(IN:= NDI.VG13ZeroRuning =1  ,PT:=T#20S);]]></ST>
+      </Implementation>
+    </Action>
     <Action Name="VT101" Id="{e8e71a6b-4b0a-4393-a1dd-2ae0e88e13fe}">
       <Implementation>
         <ST><![CDATA[//VT101
@@ -17653,6 +17702,7 @@ NDI.WaferRobotRunning:=LAI.I504_15;
       <LineId Id="825" Count="0" />
       <LineId Id="835" Count="0" />
       <LineId Id="861" Count="0" />
+      <LineId Id="1012" Count="0" />
       <LineId Id="420" Count="61" />
       <LineId Id="908" Count="0" />
       <LineId Id="482" Count="3" />
@@ -18057,6 +18107,10 @@ NDI.WaferRobotRunning:=LAI.I504_15;
       <LineId Id="140" Count="15" />
       <LineId Id="103" Count="33" />
     </LineIds>
+    <LineIds Name="IO_EXCHANGE.VGZero">
+      <LineId Id="2" Count="37" />
+      <LineId Id="1" Count="0" />
+    </LineIds>
     <LineIds Name="IO_EXCHANGE.VT101">
       <LineId Id="1" Count="11" />
     </LineIds>