Browse Source

1 revise ca level monitor bug
2 add reservoir3/4 beckhoff config

chenzk 1 week ago
parent
commit
9979e9efa7

+ 78 - 5
PunkHPX8_RT/Config/Devices/Beckhoffcfg - plctask.xml

@@ -110,14 +110,42 @@
 		<!-- facility inputs end -->
 
 
-		<!--Reservoir1 outputs Start-->
+		<!--Reservoir1 inputs Start-->
 		<Input Name="r_RES1_CA_PUMP"  Address="MAIN.RES1_2_DI_8CHANNEL_EL1008_N200_1" Invert="false" Type="Digital" DataType="bool"/>
 		<Input Name="r_RES1_AN_TOWER_HIGH"  Address="MAIN.RES1_2_DI_8CHANNEL_EL1008_N200_3" Invert="false" Type="Digital" DataType="bool"/>
 		<Input Name="r_RES1_AN_TOWER_LOW"  Address="MAIN.RES1_2_DI_8CHANNEL_EL1008_N200_4" Invert="false" Type="Digital" DataType="bool"/>
 		<Input Name="r_CELL1_AN_FLOW"  Address="MAIN.RES1_2_AI_8CHANNEL_4_20MA_EL3058_N202_1" Scaling="0=0,20=32767" Type="Analog" DataType="int"/>
 		<Input Name="r_CELL1_CA_FLOW"  Address="MAIN.RES1_2_AI_8CHANNEL_4_20MA_EL3058_N202_3" Scaling="0=0,20=32767" Type="Analog" DataType="int"/>
 		<Input Name="r_RES1_CA_LEVEL_RAW"  Address="MAIN.RES1_2_AI_8CHANNEL_4_20MA_EL3058_N202_5" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
-		<!--Reservoir1 outputs End-->
+		<!--Reservoir1 inputs End-->
+		
+		<!--Reservoir2 inputs Start-->
+		<Input Name="r_RES2_CA_PUMP"  Address="MAIN.RES1_2_DI_8CHANNEL_EL1008_N200_2" Invert="false" Type="Digital" DataType="bool"/>
+		<Input Name="r_RES2_AN_TOWER_HIGH"  Address="MAIN.RES1_2_DI_8CHANNEL_EL1008_N200_5" Invert="false" Type="Digital" DataType="bool"/>
+		<Input Name="r_RES2_AN_TOWER_LOW"  Address="MAIN.RES1_2_DI_8CHANNEL_EL1008_N200_6" Invert="false" Type="Digital" DataType="bool"/>
+		<Input Name="r_CELL2_AN_FLOW"  Address="MAIN.RES1_2_AI_8CHANNEL_4_20MA_EL3058_N202_2" Scaling="0=0,20=32767" Type="Analog" DataType="int"/>
+		<Input Name="r_CELL2_CA_FLOW"  Address="MAIN.RES1_2_AI_8CHANNEL_4_20MA_EL3058_N202_4" Scaling="0=0,20=32767" Type="Analog" DataType="int"/>
+		<Input Name="r_RES2_CA_LEVEL_RAW"  Address="MAIN.RES1_2_AI_8CHANNEL_4_20MA_EL3058_N202_6" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<!--Reservoir2 inputs End-->
+		
+		<!--Reservoir3 inputs Start-->
+		<Input Name="r_RES3_CA_PUMP"  Address="MAIN.RES3_4_DI_8CHANNEL_EL1008_N230_1" Invert="false" Type="Digital" DataType="bool"/>
+		<Input Name="r_RES3_AN_TOWER_HIGH"  Address="MAIN.RES3_4_DI_8CHANNEL_EL1008_N230_3" Invert="false" Type="Digital" DataType="bool"/>
+		<Input Name="r_RES3_AN_TOWER_LOW"  Address="MAIN.RES3_4_DI_8CHANNEL_EL1008_N230_4" Invert="false" Type="Digital" DataType="bool"/>
+		<Input Name="r_CELL3_AN_FLOW"  Address="MAIN.RES3_4_AI_8CHANNEL_4_20MA_EL3058_N232_1" Scaling="0=0,20=32767" Type="Analog" DataType="int"/>
+		<Input Name="r_CELL3_CA_FLOW"  Address="MAIN.RES3_4_AI_8CHANNEL_4_20MA_EL3058_N232_3" Scaling="0=0,20=32767" Type="Analog" DataType="int"/>
+		<Input Name="r_RES3_CA_LEVEL_RAW"  Address="MAIN.RES3_4_AI_8CHANNEL_4_20MA_EL3058_N232_5" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<!--Reservoir3inputs End-->
+		
+		<!--Reservoir4 inputs Start-->
+		<Input Name="r_RES4_CA_PUMP"  Address="MAIN.RES3_4_DI_8CHANNEL_EL1008_N230_2" Invert="false" Type="Digital" DataType="bool"/>
+		<Input Name="r_RES4_AN_TOWER_HIGH"  Address="MAIN.RES3_4_DI_8CHANNEL_EL1008_N230_5" Invert="false" Type="Digital" DataType="bool"/>
+		<Input Name="r_RES4_AN_TOWER_LOW"  Address="MAIN.RES3_4_DI_8CHANNEL_EL1008_N230_6" Invert="false" Type="Digital" DataType="bool"/>
+		<Input Name="r_CELL4_AN_FLOW"  Address="MAIN.RES3_4_AI_8CHANNEL_4_20MA_EL3058_N232_2" Scaling="0=0,20=32767" Type="Analog" DataType="int"/>
+		<Input Name="r_CELL4_CA_FLOW"  Address="MAIN.RES3_4_AI_8CHANNEL_4_20MA_EL3058_N232_4" Scaling="0=0,20=32767" Type="Analog" DataType="int"/>
+		<Input Name="r_RES4_CA_LEVEL_RAW"  Address="MAIN.RES3_4_AI_8CHANNEL_4_20MA_EL3058_N232_6" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<!--Reservoir4 inputs End-->
+
 
 		
 		<!--VPW Main Start-->
@@ -207,9 +235,9 @@
 		<!-- facility outputs end -->
 		
 		<!--Reservoir1 outputs Start-->
-		<Output Name="c_RES1_AN_PUMP_ENABLE" Address="MAIN.RES1_DO_16CHANNEL_EL2809_N201_1" Type="Digital" Invert="false" DataType="bool"/>
-		<Output Name="c_RES1_CA_PUMP_ENABLE" Address="MAIN.RES1_DO_16CHANNEL_EL2809_N201_3" Type="Digital" Invert="false" DataType="bool"/>
-		<Output Name="c_RES1_RETURN_VALVE_ENABLE" Address="MAIN.RES1_DO_16CHANNEL_EL2809_N201_5" Type="Digital" Invert="false" DataType="bool"/>
+		<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"/>
+		<!--这个信号编的,待修正--> <Output Name="c_RES1_RETURN_VALVE_ENABLE" Address="MAIN.RES1_2_DO_16CHANNEL_EL2809_N201_5" Type="Digital" Invert="false" DataType="bool"/>
 		<Output Name="c_RES1_AN_PUMP_SPEED" Address="MAIN.RES1_2_AO_8CHANNEL_0_10V_EL4008_N204_1" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
 		<Output Name="c_RES1_CA_PUMP_SPEED" Address="MAIN.RES1_2_AO_4CHANNEL_4_20mA_EL4024_N205_1" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
 		<Output Name="c_RES1_RETURN_VALVE_OPENING" Address="MAIN.RES1_2_AO_4CHANNEL_4_20mA_EL4024_N205_3" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
@@ -221,6 +249,51 @@
 		<Output Name="c_CELL1_AN_ISOLATION" Address="MAIN.RES1_2_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="5" DataType="byte"/>
 		<!--Reservoir1 outputs End-->
 		
+		<!--Reservoir2 outputs Start-->
+		<Output Name="c_RES2_AN_PUMP_ENABLE" Address="MAIN.RES1_2_DO_16CHANNEL_EL2809_N201_2" Type="Digital" Invert="false" DataType="bool"/>
+		<Output Name="c_RES2_CA_PUMP_ENABLE" Address="MAIN.RES1_2_DO_16CHANNEL_EL2809_N201_4" Type="Digital" Invert="false" DataType="bool"/>
+		<!--这个信号编的,待修正--><Output Name="c_RES2_RETURN_VALVE_ENABLE" Address="" Type="Digital" Invert="false" DataType="bool"/>
+		<Output Name="c_RES2_AN_PUMP_SPEED" Address="MAIN.RES1_2_AO_8CHANNEL_0_10V_EL4008_N204_2" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<Output Name="c_RES2_CA_PUMP_SPEED" Address="MAIN.RES1_2_AO_4CHANNEL_4_20mA_EL4024_N205_2" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<Output Name="c_RES2_RETURN_VALVE_OPENING" Address="MAIN.RES1_2_AO_4CHANNEL_4_20mA_EL4024_N205_4" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<Output Name="c_RES2_CA_DIW_REPLEN" Address="MAIN.RES1_2_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="6" DataType="byte"/>
+		<Output Name="c_RES2_SAMPLE_OUT" Address="MAIN.RES1_2_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="7" DataType="byte"/>
+		<Output Name="c_RES2_DEGAS_ENABLE" Address="MAIN.RES1_2_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="0" DataType="byte"/>
+		<Output Name="c_CELL2_CA_ISOLATION" Address="MAIN.RES1_2_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="1" DataType="byte"/>
+		<Output Name="c_RES2_AN_DIW_REPLEN" Address="MAIN.RES1_2_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="2" DataType="byte"/>
+		<Output Name="c_CELL2_AN_ISOLATION" Address="MAIN.RES1_2_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="3" DataType="byte"/>
+		<!--Reservoir2 outputs End-->
+		
+		<!--Reservoir3 outputs Start-->
+		<Output Name="c_RES3_AN_PUMP_ENABLE" Address="MAIN.RES3_4_DO_16CHANNEL_EL2809_N231_1" Type="Digital" Invert="false" DataType="bool"/>
+		<Output Name="c_RES3_CA_PUMP_ENABLE" Address="MAIN.RES3_4_DO_16CHANNEL_EL2809_N231_3" Type="Digital" Invert="false" DataType="bool"/>
+		<!--这个信号编的,待修正--> <Output Name="c_RES3_4_RETURN_VALVE_ENABLE" Address="" Type="Digital" Invert="false" DataType="bool"/>
+		<Output Name="c_RES3_AN_PUMP_SPEED" Address="MAIN.RES3_4_AO_8CHANNEL_0_10V_EL4008_N234_1" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<Output Name="c_RES3_CA_PUMP_SPEED" Address="MAIN.RES3_4_AO_4CHANNEL_4_20mA_EL4024_N235_1" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<Output Name="c_RES3_RETURN_VALVE_OPENING" Address="MAIN.RES3_4_AO_4CHANNEL_4_20mA_EL4024_N235_3" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<Output Name="c_RES3_CA_DIW_REPLEN" Address="MAIN.RES3_4_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="0" DataType="byte"/>
+		<Output Name="c_RES3_SAMPLE_OUT" Address="MAIN.RES3_4_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="1" DataType="byte"/>
+		<Output Name="c_RES3_DEGAS_ENABLE" Address="MAIN.RES3_4_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="2" DataType="byte"/>
+		<Output Name="c_CELL3_CA_ISOLATION" Address="MAIN.RES3_4_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="3" DataType="byte"/>
+		<Output Name="c_RES3_AN_DIW_REPLEN" Address="MAIN.RES3_4_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="4" DataType="byte"/>
+		<Output Name="c_CELL3_AN_ISOLATION" Address="MAIN.RES3_4_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="5" DataType="byte"/>
+		<!--Reservoir3 outputs End-->
+		
+		<!--Reservoir4 outputs Start-->
+		<Output Name="c_RES4_AN_PUMP_ENABLE" Address="MAIN.RES3_4_DO_16CHANNEL_EL2809_N231_2" Type="Digital" Invert="false" DataType="bool"/>
+		<Output Name="c_RES4_CA_PUMP_ENABLE" Address="MAIN.RES3_4_DO_16CHANNEL_EL2809_N231_4" Type="Digital" Invert="false" DataType="bool"/>
+		<!--这个信号编的,待修正--><Output Name="c_RES4_RETURN_VALVE_ENABLE" Address="" Type="Digital" Invert="false" DataType="bool"/>
+		<Output Name="c_RES4_AN_PUMP_SPEED" Address="MAIN.RES3_4_AO_8CHANNEL_0_10V_EL4008_N234_2" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<Output Name="c_RES4_CA_PUMP_SPEED" Address="MAIN.RES3_4_AO_4CHANNEL_4_20mA_EL4024_N235_2" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<Output Name="c_RES4_RETURN_VALVE_OPENING" Address="MAIN.RES3_4_AO_4CHANNEL_4_20mA_EL4024_N235_4" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<Output Name="c_RES4_CA_DIW_REPLEN" Address="MAIN.RES3_4_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="6" DataType="byte"/>
+		<Output Name="c_RES4_SAMPLE_OUT" Address="MAIN.RES3_4_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="7" DataType="byte"/>
+		<Output Name="c_RES4_DEGAS_ENABLE" Address="MAIN.RES3_4_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="0" DataType="byte"/>
+		<Output Name="c_CELL4_CA_ISOLATION" Address="MAIN.RES3_4_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="1" DataType="byte"/>
+		<Output Name="c_RES4_AN_DIW_REPLEN" Address="MAIN.RES3_4_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="2" DataType="byte"/>
+		<Output Name="c_CELL4_AN_ISOLATION" Address="MAIN.RES3_4_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="3" DataType="byte"/>
+		<!--Reservoir4 outputs End-->
+		
 		<!--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"/>

+ 73 - 1
PunkHPX8_RT/Config/Devices/Beckhoffcfg.xml

@@ -112,6 +112,33 @@
 		<Input Name="r_RES1_CA_LEVEL_RAW"  Address="Task 2.Inputs.RES1_2_AI_8CHANNEL_4_20MA_EL3058_N202_5" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
 		<!--Reservoir1 inputs End-->
 		
+		<!--Reservoir2 inputs Start-->
+		<Input Name="r_RES2_CA_PUMP"  Address="MAIN.RES1_2_DI_8CHANNEL_EL1008_N200_2" Invert="false" Type="Digital" DataType="bool"/>
+		<Input Name="r_RES2_AN_TOWER_HIGH"  Address="MAIN.RES1_2_DI_8CHANNEL_EL1008_N200_5" Invert="false" Type="Digital" DataType="bool"/>
+		<Input Name="r_RES2_AN_TOWER_LOW"  Address="MAIN.RES1_2_DI_8CHANNEL_EL1008_N200_6" Invert="false" Type="Digital" DataType="bool"/>
+		<Input Name="r_CELL2_AN_FLOW"  Address="MAIN.RES1_2_AI_8CHANNEL_4_20MA_EL3058_N202_2" Scaling="0=0,20=32767" Type="Analog" DataType="int"/>
+		<Input Name="r_CELL2_CA_FLOW"  Address="MAIN.RES1_2_AI_8CHANNEL_4_20MA_EL3058_N202_4" Scaling="0=0,20=32767" Type="Analog" DataType="int"/>
+		<Input Name="r_RES2_CA_LEVEL_RAW"  Address="MAIN.RES1_2_AI_8CHANNEL_4_20MA_EL3058_N202_6" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<!--Reservoir2 inputs End-->
+		
+		<!--Reservoir3 inputs Start-->
+		<Input Name="r_RES3_CA_PUMP"  Address="MAIN.RES3_4_DI_8CHANNEL_EL1008_N230_1" Invert="false" Type="Digital" DataType="bool"/>
+		<Input Name="r_RES3_AN_TOWER_HIGH"  Address="MAIN.RES3_4_DI_8CHANNEL_EL1008_N230_3" Invert="false" Type="Digital" DataType="bool"/>
+		<Input Name="r_RES3_AN_TOWER_LOW"  Address="MAIN.RES3_4_DI_8CHANNEL_EL1008_N230_4" Invert="false" Type="Digital" DataType="bool"/>
+		<Input Name="r_CELL3_AN_FLOW"  Address="MAIN.RES3_4_AI_8CHANNEL_4_20MA_EL3058_N232_1" Scaling="0=0,20=32767" Type="Analog" DataType="int"/>
+		<Input Name="r_CELL3_CA_FLOW"  Address="MAIN.RES3_4_AI_8CHANNEL_4_20MA_EL3058_N232_3" Scaling="0=0,20=32767" Type="Analog" DataType="int"/>
+		<Input Name="r_RES3_CA_LEVEL_RAW"  Address="MAIN.RES3_4_AI_8CHANNEL_4_20MA_EL3058_N232_5" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<!--Reservoir3inputs End-->
+		
+		<!--Reservoir4 inputs Start-->
+		<Input Name="r_RES4_CA_PUMP"  Address="MAIN.RES3_4_DI_8CHANNEL_EL1008_N230_2" Invert="false" Type="Digital" DataType="bool"/>
+		<Input Name="r_RES4_AN_TOWER_HIGH"  Address="MAIN.RES3_4_DI_8CHANNEL_EL1008_N230_5" Invert="false" Type="Digital" DataType="bool"/>
+		<Input Name="r_RES4_AN_TOWER_LOW"  Address="MAIN.RES3_4_DI_8CHANNEL_EL1008_N230_6" Invert="false" Type="Digital" DataType="bool"/>
+		<Input Name="r_CELL4_AN_FLOW"  Address="MAIN.RES3_4_AI_8CHANNEL_4_20MA_EL3058_N232_2" Scaling="0=0,20=32767" Type="Analog" DataType="int"/>
+		<Input Name="r_CELL4_CA_FLOW"  Address="MAIN.RES3_4_AI_8CHANNEL_4_20MA_EL3058_N232_4" Scaling="0=0,20=32767" Type="Analog" DataType="int"/>
+		<Input Name="r_RES4_CA_LEVEL_RAW"  Address="MAIN.RES3_4_AI_8CHANNEL_4_20MA_EL3058_N232_6" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<!--Reservoir4 inputs End-->
+		
 
 		<!--VPW Main Start-->
 		<Input Name="r_VPW_CHAMBER_CLOSED"  Address="Task 2.Inputs.VPW_DI_16CHANNEL_EL1819_N100_1" Invert="false" Type="Digital" DataType="bool"/>
@@ -195,7 +222,7 @@
 		<!--Reservoir1 output Start-->
 		<Output Name="c_RES1_AN_PUMP_ENABLE" Address="Task 2.Inputs.RES1_DO_16CHANNEL_EL2809_N201_1" Type="Digital" Invert="false" DataType="bool"/>
 		<Output Name="c_RES1_CA_PUMP_ENABLE" Address="Task 2.Inputs.RES1_DO_16CHANNEL_EL2809_N201_3" Type="Digital" Invert="false" DataType="bool"/>
-		<Output Name="c_RES1_RETURN_VALVE_ENABLE" Address="Task 2.Inputs.RES1_DO_16CHANNEL_EL2809_N201_5" Type="Digital" Invert="false" DataType="bool"/>
+		<!--这个信号编的,待修正--><Output Name="c_RES1_RETURN_VALVE_ENABLE" Address="Task 2.Inputs.RES1_DO_16CHANNEL_EL2809_N201_5" Type="Digital" Invert="false" DataType="bool"/>
 		<Output Name="c_RES1_AN_PUMP_SPEED" Address="Task 2.Inputs.RES1_2_AO_8CHANNEL_0_10V_EL4008_N204_1" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
 		<Output Name="c_RES1_CA_PUMP_SPEED" Address="Task 2.Inputs.RES1_2_AO_4CHANNEL_4_20mA_EL4024_N205_1" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
 		<Output Name="c_RES1_RETURN_VALVE_OPENING" Address="Task 2.Inputs.RES1_2_AO_4CHANNEL_4_20mA_EL4024_N205_3" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
@@ -207,6 +234,51 @@
 		<Output Name="c_CELL1_AN_ISOLATION" Address="Task 2.Inputs.RES1_2_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="5" DataType="byte"/>
 		<!--Reservoir1 output End-->
 		
+		<!--Reservoir2 outputs Start-->
+		<Output Name="c_RES2_AN_PUMP_ENABLE" Address="MAIN.RES1_2_DO_16CHANNEL_EL2809_N201_2" Type="Digital" Invert="false" DataType="bool"/>
+		<Output Name="c_RES2_CA_PUMP_ENABLE" Address="MAIN.RES1_2_DO_16CHANNEL_EL2809_N201_4" Type="Digital" Invert="false" DataType="bool"/>
+		<!--这个信号编的,待修正--><Output Name="c_RES2_RETURN_VALVE_ENABLE" Address="" Type="Digital" Invert="false" DataType="bool"/>
+		<Output Name="c_RES2_AN_PUMP_SPEED" Address="MAIN.RES1_2_AO_8CHANNEL_0_10V_EL4008_N204_2" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<Output Name="c_RES2_CA_PUMP_SPEED" Address="MAIN.RES1_2_AO_4CHANNEL_4_20mA_EL4024_N205_2" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<Output Name="c_RES2_RETURN_VALVE_OPENING" Address="MAIN.RES1_2_AO_4CHANNEL_4_20mA_EL4024_N205_4" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<Output Name="c_RES2_CA_DIW_REPLEN" Address="MAIN.RES1_2_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="6" DataType="byte"/>
+		<Output Name="c_RES2_SAMPLE_OUT" Address="MAIN.RES1_2_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="7" DataType="byte"/>
+		<Output Name="c_RES2_DEGAS_ENABLE" Address="MAIN.RES1_2_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="0" DataType="byte"/>
+		<Output Name="c_CELL2_CA_ISOLATION" Address="MAIN.RES1_2_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="1" DataType="byte"/>
+		<Output Name="c_RES2_AN_DIW_REPLEN" Address="MAIN.RES1_2_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="2" DataType="byte"/>
+		<Output Name="c_CELL2_AN_ISOLATION" Address="MAIN.RES1_2_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="3" DataType="byte"/>
+		<!--Reservoir2 outputs End-->
+		
+		<!--Reservoir3 outputs Start-->
+		<Output Name="c_RES3_AN_PUMP_ENABLE" Address="MAIN.RES3_4_DO_16CHANNEL_EL2809_N231_1" Type="Digital" Invert="false" DataType="bool"/>
+		<Output Name="c_RES3_CA_PUMP_ENABLE" Address="MAIN.RES3_4_DO_16CHANNEL_EL2809_N231_3" Type="Digital" Invert="false" DataType="bool"/>
+		<!--这个信号编的,待修正--> <Output Name="c_RES3_4_RETURN_VALVE_ENABLE" Address="" Type="Digital" Invert="false" DataType="bool"/>
+		<Output Name="c_RES3_AN_PUMP_SPEED" Address="MAIN.RES3_4_AO_8CHANNEL_0_10V_EL4008_N234_1" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<Output Name="c_RES3_CA_PUMP_SPEED" Address="MAIN.RES3_4_AO_4CHANNEL_4_20mA_EL4024_N235_1" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<Output Name="c_RES3_RETURN_VALVE_OPENING" Address="MAIN.RES3_4_AO_4CHANNEL_4_20mA_EL4024_N235_3" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<Output Name="c_RES3_CA_DIW_REPLEN" Address="MAIN.RES3_4_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="0" DataType="byte"/>
+		<Output Name="c_RES3_SAMPLE_OUT" Address="MAIN.RES3_4_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="1" DataType="byte"/>
+		<Output Name="c_RES3_DEGAS_ENABLE" Address="MAIN.RES3_4_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="2" DataType="byte"/>
+		<Output Name="c_CELL3_CA_ISOLATION" Address="MAIN.RES3_4_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="3" DataType="byte"/>
+		<Output Name="c_RES3_AN_DIW_REPLEN" Address="MAIN.RES3_4_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="4" DataType="byte"/>
+		<Output Name="c_CELL3_AN_ISOLATION" Address="MAIN.RES3_4_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="5" DataType="byte"/>
+		<!--Reservoir3 outputs End-->
+		
+		<!--Reservoir4 outputs Start-->
+		<Output Name="c_RES4_AN_PUMP_ENABLE" Address="MAIN.RES3_4_DO_16CHANNEL_EL2809_N231_2" Type="Digital" Invert="false" DataType="bool"/>
+		<Output Name="c_RES4_CA_PUMP_ENABLE" Address="MAIN.RES3_4_DO_16CHANNEL_EL2809_N231_4" Type="Digital" Invert="false" DataType="bool"/>
+		<!--这个信号编的,待修正--><Output Name="c_RES4_RETURN_VALVE_ENABLE" Address="" Type="Digital" Invert="false" DataType="bool"/>
+		<Output Name="c_RES4_AN_PUMP_SPEED" Address="MAIN.RES3_4_AO_8CHANNEL_0_10V_EL4008_N234_2" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<Output Name="c_RES4_CA_PUMP_SPEED" Address="MAIN.RES3_4_AO_4CHANNEL_4_20mA_EL4024_N235_2" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<Output Name="c_RES4_RETURN_VALVE_OPENING" Address="MAIN.RES3_4_AO_4CHANNEL_4_20mA_EL4024_N235_4" Scaling="0=0,100=32767" Type="Analog" DataType="int"/>
+		<Output Name="c_RES4_CA_DIW_REPLEN" Address="MAIN.RES3_4_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="6" DataType="byte"/>
+		<Output Name="c_RES4_SAMPLE_OUT" Address="MAIN.RES3_4_PNEU_SMC_EX260_V01_V04" Type="Digital" BitOperated="true" Bit="7" DataType="byte"/>
+		<Output Name="c_RES4_DEGAS_ENABLE" Address="MAIN.RES3_4_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="0" DataType="byte"/>
+		<Output Name="c_CELL4_CA_ISOLATION" Address="MAIN.RES3_4_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="1" DataType="byte"/>
+		<Output Name="c_RES4_AN_DIW_REPLEN" Address="MAIN.RES3_4_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="2" DataType="byte"/>
+		<Output Name="c_CELL4_AN_ISOLATION" Address="MAIN.RES3_4_PNEU_SMC_EX260_V05_V08" Type="Digital" BitOperated="true" Bit="3" DataType="byte"/>
+		<!--Reservoir4 outputs End-->
+		
 		
 		<!--VPW Main Start-->
 		<Output Name="c_VPW_CHAMBER_CLOSE" Address="Task 2.Outputs.MOTION_DO_16CHANNEL_EL2809_N401_15" Type="Digital" Invert="true" DataType="bool"/>

+ 4 - 3
PunkHPX8_RT/Devices/Reservoir/ReservoirDevice.cs

@@ -122,11 +122,11 @@ namespace PunkHPX8_RT.Devices.Reservoir
 
         #region Trigger
         /// <summary>
-        /// low WaterLevel trigger
+        /// Low WaterLevel trigger
         /// </summary>
         private R_TRIG _caWaterLevelLowerTrigger=new R_TRIG();
         /// <summary>
-        /// low WaterLevel trigger
+        /// High WaterLevel trigger
         /// </summary>
         private R_TRIG _caWaterLevelHighTrigger = new R_TRIG();
 
@@ -384,6 +384,7 @@ namespace PunkHPX8_RT.Devices.Reservoir
             _caWaterLevelLowerTrigger.CLK = IsCALowLevel;
             if (_caWaterLevelLowerTrigger.Q)
             {
+        
                 ReservoirEntity reservoirEntity = Singleton<RouteManager>.Instance.GetModule<ReservoirEntity>(Module);
 
                 string reason = $"Current CAWaterlevel:{ReservoirData.CaWaterLevel} is lower than  CALowLevel Config:{SC.GetValue<double>($"Reservoir.{Module}.CALowLevel")}";
@@ -397,7 +398,7 @@ namespace PunkHPX8_RT.Devices.Reservoir
                 if (!reservoirEntity.IsError) reservoirEntity.PostMsg(ReservoirMsg.Error);
             }
 
-            _caWaterLevelLowerTrigger.CLK = IsCAHighLevel;
+            _caWaterLevelHighTrigger.CLK = IsCAHighLevel;
             if (_caWaterLevelHighTrigger.Q)
             {
                 HighLevelOperation();