Browse Source

add platingcell1 io releated config

chenzk 9 hours ago
parent
commit
ac14c8448a

+ 13 - 0
PunkHPX8_RT/Config/Devices/Beckhoffcfg - plctask.xml

@@ -109,6 +109,14 @@
 
 		<!-- facility inputs end -->
 
+		<!--PlatingCell1 inputs Start-->
+		<Input Name="r_PlatingCell1_2_HEAD_TILTED"  Address="MAIN.PlatingCell1_2_DI_16CHANNEL_EL1819_N400_4" Invert="false" Type="Digital" DataType="bool"/>
+		<Input Name="r_PlatingCell1_2_HEAD_VERTICAL"  Address="MAIN.PlatingCell1_2_DI_16CHANNEL_EL1819_N400_5" Invert="false" Type="Digital" DataType="bool"/>
+		<Input Name="r_CELL1_CLAMSHELL_DISTANCE"  Address="MAIN.PlatingCell1_2_AI_8CHANNEL_0_10V_EL3068_N402_1" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<Input Name="r_CLAMSHELL_CYLINDER_PRESSURE"  Address="MAIN.PlatingCell1_2_AI_8CHANNEL_0_10V_EL3068_N402_3" Scaling="0=0,20=32767" Type="Analog" DataType="int"/>
+		<Input Name="r_CELL1_OVERFLOW_LEVEL"  Address="MAIN.PlatingCell1_2_AI_8CHANNEL_4_20MA_EL3058_N403_1" Scaling="0=0,20=32767" Type="Analog" DataType="int"/>
+		<!--PlatingCell1 inputs End-->
+
 
 		<!--Reservoir1 inputs Start-->
 		<Input Name="r_RES1_CA_PUMP"  Address="MAIN.RES1_2_DI_8CHANNEL_EL1008_N200_1" Invert="false" Type="Digital" DataType="bool"/>
@@ -234,6 +242,11 @@
 		
 		<!-- facility outputs end -->
 		
+		<!--PlatingCell1 outputs Start-->
+		<Output Name="c_CELL1_CLAMSHELL_CLOSE" Address="MAIN.PlatingCell1_2_DO_16CHANNEL_EL2809_N401_9" Type="Digital" Invert="false" DataType="bool"/>
+		<Output Name="c_PlatingCell1_2_HEAD_TILT" Address="MAIN.PlatingCell1_2_DO_16CHANNEL_EL2809_N401_13" Type="Digital" Invert="false" DataType="bool"/>
+		<!--PlatingCell1 outputs End-->
+		
 		<!--Reservoir1 outputs Start-->
 		<Output Name="c_RES1_AN_PUMP_ENABLE" Address="MAIN.RES1_2_DO_16CHANNEL_EL2809_N201_1" Type="Digital" Invert="false" DataType="bool"/>
 		<Output Name="c_RES1_CA_PUMP_ENABLE" Address="MAIN.RES1_2_DO_16CHANNEL_EL2809_N201_3" Type="Digital" Invert="false" DataType="bool"/>

+ 16 - 0
PunkHPX8_RT/Config/Devices/ModuleIOCfg.xml

@@ -134,6 +134,22 @@
 		<IO Name="SRD2.WaterFlow" IOName="r_SRD2_WATER_FLOW"/>
 		<IO Name="SRD2.N2On" IOName="c_SRD2_N2_FLOW_ON"/>		
 	</Module>
+	
+	<Module Name="PlatingCell1">
+		<IO Name="PlatingCell1.IsHeadTilt" IOName="r_PlatingCell1_2_HEAD_TILTED"/> 
+		<IO Name="PlatingCell1.IsHeadVertical" IOName="r_PlatingCell1_2_HEAD_VERTICAL"/> 
+		<IO Name="PlatingCell1.ClamShellDistance" IOName="r_CELL1_CLAMSHELL_DISTANCE"/> 
+		<IO Name="PlatingCell1.ClamShellCylinderPressure" IOName="r_CLAMSHELL_CYLINDER_PRESSURE"/> 
+		<IO Name="PlatingCell1.OverFlowLevel" IOName="r_CELL1_OVERFLOW_LEVEL"/> 
+		
+		
+		<IO Name="PlatingCell1.ClamShellClose" IOName="c_CELL1_CLAMSHELL_CLOSE"/> 
+		<IO Name="PlatingCell1.HeadTilt" IOName="c_PlatingCell1_2_HEAD_TILT"/> 
+		
+	</Module>
+	
+	
+	
 	<Module Name="Reservoir1">
 		<IO Name="Reservoir1.CaPumpRunning" IOName="r_RES1_CA_PUMP"/> 
 		<IO Name="Reservoir1.AnTowerHigh" IOName="r_RES1_AN_TOWER_HIGH"/> 

+ 14 - 4
PunkHPX8_RT/Modules/Reservoir/DMReservoirInitializeRoutine.cs

@@ -103,12 +103,18 @@ namespace PunkHPX8_RT.Modules.Reservoir
         /// <returns></returns>
         private bool ManualCheckFlow()
         {
-            //cell flow 校验待完成
-
+            if(_dmReservoirDevice.ReservoirData.CaFlow < _cellFlowStartLowLimit)
+            {
+                _dmReservoirDevice.AnPumpOff();
+                _dmReservoirDevice.ANIsolationOff();
+                LOG.WriteLog(eEvent.ERR_RESERVOIR, Module, "CA Flow is less than cellFlowStartLowLimit ");
+                return false;
+            }
             if(_dmReservoirDevice.ReservoirData.AnFlow < _anFlowStartLowLimit)
             {
                 _dmReservoirDevice.AnPumpOff();
                 _dmReservoirDevice.ANIsolationOff();
+                LOG.WriteLog(eEvent.ERR_RESERVOIR, Module, "AN Flow is less than ANFlowStartLowLimit");
                 return false;
             }
             return true;
@@ -119,10 +125,14 @@ namespace PunkHPX8_RT.Modules.Reservoir
         /// <returns></returns>
         private bool AutoCheckFlow()
         {
-            //cell flow 校验待完成
-
+            if (_dmReservoirDevice.ReservoirData.CaFlow < _recipe.CAFlowRateErrorLow)
+            {
+                LOG.WriteLog(eEvent.ERR_RESERVOIR, Module, "CA Flow is less than recipe CAFlowRateErrorLow");
+                return false;
+            }
             if (_dmReservoirDevice.ReservoirData.AnFlow < _recipe.ANFlowRateErrorLow)
             {
+                LOG.WriteLog(eEvent.ERR_RESERVOIR, Module, "AN Flow is less than recipe ANFlowRateErrorLow");
                 return false;
             }
             return true;

+ 20 - 0
PunkHPX8_Twincate/PunkHPX8/PlcTest/POUs/MAIN.TcPOU

@@ -379,6 +379,26 @@ VAR
 	RES1_2_PNEU_SMC_EX260_V01_V04 AT%Q* :BYTE;
 	
 	
+	//PlatingCell1.IsHeadTilt
+	PlatingCell1_2_DI_16CHANNEL_EL1819_N400_4 AT%I* :BOOL;
+	//PlatingCell1.IsHeadVertical
+	PlatingCell1_2_DI_16CHANNEL_EL1819_N400_5 AT%I* :BOOL;
+	//PlatingCell1.ClamShellDistance
+	PlatingCell1_2_AI_8CHANNEL_0_10V_EL3068_N402_1 AT%I* :DINT;
+	//PlatingCell1.ClamShellCylinderPressure
+	PlatingCell1_2_AI_8CHANNEL_0_10V_EL3068_N402_3 AT%I* :DINT;
+	//PlatingCell1.OverFlowLevel
+	PlatingCell1_2_AI_8CHANNEL_4_20MA_EL3058_N403_1 AT%I* :DINT;
+	
+	//PlatingCell1.ClamShellClose
+	PlatingCell1_2_DO_16CHANNEL_EL2809_N401_9 AT%Q* :BOOL;
+	//PlatingCell1.HeadTilt
+	PlatingCell1_2_DO_16CHANNEL_EL2809_N401_13 AT%Q* :BOOL;
+	
+	
+	
+	
+