Browse Source

1Venus DE UI Update && Venus SE Simulator update

hecl 1 year ago
parent
commit
7875fff8f4

+ 7 - 7
Venus/Venus_MainPages/Views/OverVenusDEView.xaml

@@ -960,10 +960,10 @@
                 </ctrls:FlowPipe.IsFlowing>
             </ctrls:FlowPipe>
 
-
+            <ctrls:Pipe2    Canvas.Left="1220.5"  Canvas.Top="638" HorizontalAlignment="Center" VerticalAlignment="Center" RotateTransformValue="-180" RenderTransformOrigin="1.282,-0.087" Height="21" Width="20" />
             <ctrls:Pipe2    Canvas.Left="1060"  Canvas.Top="687.8" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />
 
-            <ctrls:FlowPipe   Height="8"  Width="49" Canvas.Left="1211"  Canvas.Top="634"  >
+            <ctrls:FlowPipe   Height="8"  Width="39" Canvas.Left="1222"  Canvas.Top="634" HorizontalAlignment="Center" VerticalAlignment="Center"  >
                 <ctrls:FlowPipe.IsFlowing>
                     <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
                         <!--<Binding Path="SoftPumpValveIsOpen"/>-->
@@ -973,7 +973,7 @@
             </ctrls:FlowPipe>
             <!--<ctrls:FlowPipe   Height="8"  Width="52" Canvas.Left="1165"  Canvas.Top="635" IsFlowing="{Binding SoftPumpValveIsOpen}" />-->
 
-            <ctrls:FlowPipe  Height="8"  Width="125" Canvas.Left="1219"  Canvas.Top="512" RotateTransformValue="90" IsFlowing="{Binding FastPumpValveIsOpen}"/>
+            <ctrls:FlowPipe  Height="8"  Width="122" Canvas.Left="1219"  Canvas.Top="509" RotateTransformValue="90" IsFlowing="{Binding FastPumpValveIsOpen}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
             <!--<ctrls:FlowPipe  Height="8"  Width="119" Canvas.Left="1168"  Canvas.Top="517" RotateTransformValue="90" IsFlowing="{Binding SoftPumpValveIsOpen}"/>-->
 
             <!--<ctrls:Pipe2    Canvas.Left="1173"  Canvas.Top="643" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />-->
@@ -1001,8 +1001,8 @@
             <customControls:CommonValveControl Status="{Binding TurboPumpPurgeValveIsOpen,Mode=TwoWay}"  ValveOrientation="Vertical"  Height="20" Width="20"  Canvas.Left="1434"  Canvas.Top="610" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="TurboPumpPurge" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
             <TextBlock Text="Turbo N2&#10;   Purge" Canvas.Left="1365"  Canvas.Top="610" FontSize="15"/>
 
-            <TextBlock Text="VHe1" Canvas.Top="636" Canvas.Left="985"/>
-            <customControls:CommonValveControl   ValveOrientation="Horizontal" Height="20" Width="20"   Canvas.Top="652" Canvas.Left="990" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Status="{Binding PVHe1ValveIsOpen,Mode=TwoWay}" Tag="PVHe1" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
+            <TextBlock Text="VHe1" Canvas.Top="636" Canvas.Left="785"/>
+            <customControls:CommonValveControl   ValveOrientation="Horizontal" Height="20" Width="20"   Canvas.Top="652" Canvas.Left="790" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Status="{Binding PVHe1ValveIsOpen,Mode=TwoWay}" Tag="PVHe1" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
 
 
             <TextBlock Text="VHe2" Canvas.Top="658" Canvas.Left="1060"/>
@@ -1059,8 +1059,8 @@
             <ctrls:TextboxWithLabel  Canvas.Top="156" Canvas.Left="1326" LabelValue="CM2(mTorr)" TextBoxValue="{Binding ChamberPressure,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
             <ctrls:TextboxWithLabel  Canvas.Top="248" Canvas.Left="1318" LabelValue="CM1(mTorr)" TextBoxValue="{Binding ProcessPressure,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
             <!--<ctrls:TextboxWithLabel  Canvas.Top="633" Canvas.Left="880"  LabelValue="Pressure(mTorr)" TextBoxValue="{Binding HePressureSetpoint,Mode=TwoWay}" TextBoxColor="White" IsReadOnly="False"/>-->
-            <ctrls:TextboxWithLabel  Canvas.Top="633" Canvas.Left="820" TextBoxValue="{Binding HeGasSetpoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"    LabelValue="Flow(sccm)/Pressure(Torr)"  TextBoxColor="White" IsReadOnly="False"/>
-            <Ellipse Width="20" Height="20"  Canvas.Top="651.5" Canvas.Left="775" Fill="{Binding MFCHeData.IsWarning,Converter={StaticResource boolToColor4}}"  Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>
+            <ctrls:TextboxWithLabel  Canvas.Top="633" Canvas.Left="860" TextBoxValue="{Binding HeGasSetpoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"    LabelValue="Flow(sccm)/Pressure(Torr)"  TextBoxColor="White" IsReadOnly="False"/>
+            <!--<Ellipse Width="20" Height="20"  Canvas.Top="651.5" Canvas.Left="775" Fill="{Binding MFCHeData.IsWarning,Converter={StaticResource boolToColor4}}"  Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>-->
 
             <ctrls:TextboxWithLabel  Canvas.Top="633" Canvas.Left="1280" LabelValue="CM3(mTorr)" TextBoxValue="{Binding  ForelinePressure,StringFormat='F1'}" TextBoxColor="#D7E4BD" />
             <ctrls:TextboxWithLabel  Canvas.Top="464" Canvas.Left="1290" LabelValue="Position(‰)" TextBoxValue="{Binding PendulumValvePosition,StringFormat='F0'}" TextBoxColor="#D7E4BD" />

+ 2 - 2
Venus/Venus_Simulator/Config/_ioDefineVenusDE.xml

@@ -9,8 +9,8 @@
     <DI_ITEM Index="2"   Name="DI_PM_VAC_Switch" Device="" Addr="w20.02" />
     <DI_ITEM Index="3"   Name="DI_ESC_Coolant_Flow_SW" Device="" Addr="w20.03" />
     <DI_ITEM Index="4"   Name="DI_Water_Leak_Sensor" Device="" Addr="w20.04" />
-    <DI_ITEM Index="5"   Name="DI_Lift_Pin_Up_Pos" Device="" Addr="w20.05" />
-    <DI_ITEM Index="6"   Name="DI_Lift_Pin_Down_Pos" Device="" Addr="w20.06" />
+    <DI_ITEM Index="5"   Name="DI_Lift_Pin_Up_POS" Device="" Addr="w20.05" />
+    <DI_ITEM Index="6"   Name="DI_Lift_Pin_Down_POS" Device="" Addr="w20.06" />
     <DI_ITEM Index="7"   Name="DI_RF_HV_Interlock_OK" Device="Lid_VAC_Slit_Door_MATCH_INT_OK." Addr="w20.07" />
     <DI_ITEM Index="8"   Name="" />
     <DI_ITEM Index="9"   Name="DI_Turbo_Pump_Interlock" Device="" Addr="w20.09" />

+ 67 - 67
Venus/Venus_Simulator/Config/_ioDefineVenusSE_MF.xml

@@ -2,42 +2,42 @@
 <IO_DEFINE xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
 
   <Dig_In>
-    <DI_ITEM Index="0" Name="DI_TM_DI1" Device="" Addr="w0.00" Note="System CDA Pressure ok" />
-    <DI_ITEM Index="1" Name="DI_TM_DI2" Device="" Addr="w0.01" Note="System N2 Pressure ok"/>
-    <DI_ITEM Index="2" Name="DI_TM_DI3" Device="" Addr="w0.02" Note="VCE SLIT DOOR OPEN ENABLE" />
-    <DI_ITEM Index="3" Name="DI_TM_DI5" Device="" Addr="w0.03" Note="PMA SLIT DOOR OPEN  ENABLE" />
-    <DI_ITEM Index="4" Name="DI_TM_DI7" Device="" Addr="w0.04" Note="PMB SLIT DOOR OPEN  ENABLE" />
-    <DI_ITEM Index="5" Name="DI_VCE_A" Device="" Addr="w0.05" Note="VCE大气信号" />
-    <DI_ITEM Index="6" Name="DI_TM_A" Device="" Addr="w0.06" Note="TM大气信号" />
-    <DI_ITEM Index="7" Name="DI_VCE_SS" Device="" Addr="w0.07" Note="VCE wafer senser" />
-    <DI_ITEM Index="8" Name="DI_PMA_SS" Device="" Addr="w0.08" Note="PMA wafer senser" />
-    <DI_ITEM Index="9" Name="DI_PMB_SS" Device="" Addr="w0.09" Note="PMB wafer senser" />
-    <DI_ITEM Index="10" Name="DI_SYS_C1" Device="" Addr="w0.10" Note="AC RACK FAN OK" />
-    <DI_ITEM Index="11" Name="DI_SYS_C2" Device="" Addr="w0.11" Note="AC RACK Smoke Detector out1" />
-    <DI_ITEM Index="12" Name="DI_SYS_C3" Device="" Addr="w0.12" Note="AC RACK Smoke Detector out2" />
-    <DI_ITEM Index="13" Name="DI_SYS_C4" Device="" Addr="w0.13" Note="Factory Smoke Detector Out" />
-    <DI_ITEM Index="14" Name="DI_TSYS_C5" Device="" Addr="w0.14" Note="Abnormal exhaust gas treatment" />
-    <DI_ITEM Index="15" Name="DI_TM_N2_1" Device="" Addr="w0.15" Note="TM N2气压表1" />
-    <DI_ITEM Index="16" Name="DI_VCE_TM_OPS" Device="" Addr="w1.00" Note="VCE到TM门阀开信号" />
-    <DI_ITEM Index="17" Name="DI_VCE_TM_CLS" Device="" Addr="w1.01" Note="VCE到TM门阀关信号" />
-    <DI_ITEM Index="18" Name="DI_TM_PMA_OPS" Device="" Addr="w1.02" Note="TM到PMA门阀开信号" />
-    <DI_ITEM Index="19" Name="DI_TM_PMA_CLS" Device="" Addr="w1.03" Note="TM到PMA门阀关信号" />
-    <DI_ITEM Index="20" Name="DI_TM_PMB_OPS" Device="" Addr="w1.04" Note="TM到PMB门阀开信号" />
-    <DI_ITEM Index="21" Name="DI_TM_PMB_CLS" Device="" Addr="w1.05" Note="TM到PMB门阀关信号" />
-    <DI_ITEM Index="22" Name="DI_TM_N2_2" Device="" Addr="w1.06" Note="TM N2气压表2" />
-    <DI_ITEM Index="23" Name="DI_TM_CDA" Device="" Addr="w1.07" Note="TM CDA气压表" />
-    <DI_ITEM Index="24" Name="DI_TM_HE" Device="" Addr="w1.08" Note="TM He气压表" />
-    <DI_ITEM Index="25" Name="DI_TM_LEAK" Device="" Addr="w1.09" Note="漏液检测器" />
-    <DI_ITEM Index="26" Name="DI_VCE_V" Device="" Addr="w1.10" Note="VCE真空信号" />
-    <DI_ITEM Index="27" Name="DI_TM_V" Device="" Addr="w1.11" Note="TM真空信号" />
-    <DI_ITEM Index="28" Name="DI_VCE_RB_RET" Device="" Addr="w1.12" Note="ROBOT TO VCE RETRACT" />
-    <DI_ITEM Index="29" Name="DI_PMA_RB_RET" Device="" Addr="w1.13" Note="ROBOT TO PMA RETRACT" />
-    <DI_ITEM Index="30" Name="DI_PMB_RB_RET" Device="" Addr="w1.14" Note="ROBOT TO PMB RETRACT" />
-    <DI_ITEM Index="31" Name="DI_PMC_RB_RET" Device="" Addr="w1.15" Note="ROBOT TO PMC RETRACT" />
-    <DI_ITEM Index="32" Name="DI_TM_DI8" Device="" Addr="w2.00" Note="PMC SLIT DOOR OPEN  ENABLE" />
-    <DI_ITEM Index="33" Name="DI_PMC_SS" Device="" Addr="w2.01" Note="PMC wafer senser" />
-    <DI_ITEM Index="34" Name="DI_TM_PMC_OPS" Device="" Addr="w2.02" Note="TM到PMC门阀开信号" />
-    <DI_ITEM Index="35" Name="DI_TM_PMC_CLS" Device="" Addr="w2.03" Note="TM到PMC门阀关信号" />
+    <DI_ITEM Index="0" Name="DI_System_CDA_Pressure_OK" Device="" Addr="w0.00" Note="System CDA Pressure ok" />
+    <DI_ITEM Index="1" Name="DI_LID_DOOR_CLOSED" Device="" Addr="w0.01" Note="LID DOOR CLOSED"/>
+    <DI_ITEM Index="2" Name="DI_VCE_SLIT_DOOR_OPEN_ENABLE" Device="" Addr="w0.02" Note="VCE SLIT DOOR OPEN ENABLE" />
+    <DI_ITEM Index="3" Name="DI_PMA_SLIT_DOOR_OPEN_ENABLE" Device="" Addr="w0.03" Note="PMA SLIT DOOR OPEN  ENABLE" />
+    <DI_ITEM Index="4" Name="DI_PMB_SLIT_DOOR_OPEN_ENABLE" Device="" Addr="w0.04" Note="PMB SLIT DOOR OPEN  ENABLE" />
+    <DI_ITEM Index="5" Name="DI_VCE_ATM_SW" Device="" Addr="w0.05" Note="VCE大气信号" />
+    <DI_ITEM Index="6" Name="DI_TM_ATM_SW" Device="" Addr="w0.06" Note="TM大气信号" />
+    <DI_ITEM Index="7" Name="DI_VCE_Wafer_Senser" Device="" Addr="w0.07" Note="VCE wafer senser" />
+    <DI_ITEM Index="8" Name="DI_PMA_Wafer_Senser" Device="" Addr="w0.08" Note="PMA wafer senser" />
+    <DI_ITEM Index="9" Name="DI_PMB_Wafer_Senser" Device="" Addr="w0.09" Note="PMB wafer senser" />
+    <DI_ITEM Index="10" Name="DI_AC_RACK_FAN_OK" Device="" Addr="w0.10" Note="AC RACK FAN OK" />
+    <DI_ITEM Index="11" Name="DI_AC_RACK_Smoke_SW1" Device="" Addr="w0.11" Note="AC RACK Smoke Detector out1" />
+    <DI_ITEM Index="12" Name="DI_AC_RACK_Smoke_SW2" Device="" Addr="w0.12" Note="AC RACK Smoke Detector out2" />
+    <DI_ITEM Index="13" Name="DI_FA_Smoke_SW" Device="" Addr="w0.13" Note="Factory Smoke Detector Out" />
+    <DI_ITEM Index="14" Name="DI_Gas_Treatment_Alarm" Device="" Addr="w0.14" Note="Abnormal exhaust gas treatment" />
+    <DI_ITEM Index="15" Name="DI_SYSTEM_N2_Pressure_SW" Device="" Addr="w0.15" Note="TM N2气压表1" />
+    <DI_ITEM Index="16" Name="DI_VCE_TM_Slit_Door_Open_Pos" Device="" Addr="w1.00" Note="VCE到TM门阀开信号" />
+    <DI_ITEM Index="17" Name="DI_VCE_TM_Slit_Door_Close_Pos" Device="" Addr="w1.01" Note="VCE到TM门阀关信号" />
+    <DI_ITEM Index="18" Name="DI_TM_PMA_Slit_Door_Open_Pos" Device="" Addr="w1.02" Note="TM到PMA门阀开信号" />
+    <DI_ITEM Index="19" Name="DI_TM_PMA_Slit_Door_Close_Pos" Device="" Addr="w1.03" Note="TM到PMA门阀关信号" />
+    <DI_ITEM Index="20" Name="DI_TM_PMB_Slit_Door_Open_Pos" Device="" Addr="w1.04" Note="TM到PMB门阀开信号" />
+    <DI_ITEM Index="21" Name="DI_TM_PMB_Slit_Door_Close_Pos" Device="" Addr="w1.05" Note="TM到PMB门阀关信号" />
+    <DI_ITEM Index="22" Name="DI_TM_N2_Pressure_SW" Device="" Addr="w1.06" Note="TM N2气压表2" />
+    <DI_ITEM Index="23" Name="DI_TM_CDA_Pressure_SW" Device="" Addr="w1.07" Note="TM CDA气压表" />
+    <DI_ITEM Index="24" Name="DI_TM_HE_Pressure_SW" Device="" Addr="w1.08" Note="TM He气压表" />
+    <DI_ITEM Index="25" Name="DI_PCW_Leak_SW" Device="" Addr="w1.09" Note="漏液检测器" />
+    <DI_ITEM Index="26" Name="DI_VCE_VAC_SW" Device="" Addr="w1.10" Note="VCE真空信号" />
+    <DI_ITEM Index="27" Name="DI_TM_VAC_SW" Device="" Addr="w1.11" Note="TM真空信号" />
+    <DI_ITEM Index="28" Name="DI_TM_ROBOT_NOT_EXTEND_VCE" Device="" Addr="w1.12" Note="ROBOT TO VCE RETRACT" />
+    <DI_ITEM Index="29" Name="DI_TM_ROBOT_NOT_EXTEND_PMA" Device="" Addr="w1.13" Note="ROBOT TO PMA RETRACT" />
+    <DI_ITEM Index="30" Name="DI_TM_ROBOT_NOT_EXTEND_PMB" Device="" Addr="w1.14" Note="ROBOT TO PMB RETRACT" />
+    <DI_ITEM Index="31" Name="DI_TM_ROBOT_NOT_EXTEND_PMC" Device="" Addr="w1.15" Note="ROBOT TO PMC RETRACT" />
+    <DI_ITEM Index="32" Name="DI_PMC_SLIT_DOOR_OPEN_ENABLE" Device="" Addr="w2.00" Note="PMC SLIT DOOR OPEN  ENABLE" />
+    <DI_ITEM Index="33" Name="DI_PMC_Wafer_Senser" Device="" Addr="w2.01" Note="PMC wafer senser" />
+    <DI_ITEM Index="34" Name="DI_TM_PMC_Slit_Door_Open_Pos" Device="" Addr="w2.02" Note="TM到PMC门阀开信号" />
+    <DI_ITEM Index="35" Name="DI_TM_PMC_Slit_Door_Close_Pos" Device="" Addr="w2.03" Note="TM到PMC门阀关信号" />
   </Dig_In>
   <Dig_Out>
     <DO_ITEM Index="0" Name="" Device="" Addr="" />
@@ -47,31 +47,31 @@
     <DO_ITEM Index="4" Name="" Device="" Addr="" />
     <DO_ITEM Index="5" Name="" Device="" Addr="" />
     <DO_ITEM Index="6" Name="" Device="" Addr="" />
-    <DO_ITEM Index="7" Name="" Device="" Addr="" />
-    <DO_ITEM Index="8" Name="DO_TM_PMC_OP" Device="" Addr="w199.11" Note="TM到PMC门阀开"/>
-    <DO_ITEM Index="9" Name="DO_TM_PMC_CL" Device="" Addr="w199.12" Note="TM到PMC门阀关"/>
-    <DO_ITEM Index="10" Name="DO_TM_V_LS" Device="" Addr="w199.13"  Note="TM腔慢抽真空"/>
-    <DO_ITEM Index="11" Name="DO_TM_BUZZER" Device="" Addr="w199.14" Note="蜂鸣"/>
-    <DO_ITEM Index="12" Name="DO_RED" Device="" Addr="w199.15" Note="报警灯1(红灯)" />
-    <DO_ITEM Index="13" Name="DO_VCE_TM_OP" Device="" Addr="w200.00" Note="VCE到TM门阀开" />
-    <DO_ITEM Index="14" Name="DO_VCE_TM_CL" Device="" Addr="w200.01" Note="VCE到TM门阀关" />
-    <DO_ITEM Index="15" Name="DO_TM_PMA_OP" Device="" Addr="w200.02" Note="TM到PMA门阀开"/>
-    <DO_ITEM Index="16" Name="DO_TM_PMA_CL" Device="" Addr="w200.03" Note="TM到PMA门阀关"/>
-    <DO_ITEM Index="17" Name="DO_TM_PMB_OP" Device="" Addr="w200.04" Note="TM到PMB门阀开"/>
-    <DO_ITEM Index="18" Name="DO_TM_PMB_CL" Device="" Addr="w200.05" Note="TM到PMB门阀关"/>
-    <DO_ITEM Index="19" Name="DO_ORANGE" Device="" Addr="w200.06" Note="报警灯2(橙灯)"/>
-    <DO_ITEM Index="20" Name="DO_GREEN" Device="" Addr="w200.07" Note="报警灯3(绿灯)"/>
-    <DO_ITEM Index="21" Name="DO_TM_V_HS" Device="" Addr="w200.08" Note="TM腔快抽真空"/>
-    <DO_ITEM Index="22" Name="DO_BLUE" Device="" Addr="w200.09" Note="报警灯4(蓝灯)"/>
-    <DO_ITEM Index="23" Name="DO_TM_B_HS" Device="" Addr="w200.10" Note="TM腔快破真空"/>
-    <DO_ITEM Index="24" Name="DO_TM_B_LS" Device=""  Addr="w200.11" Note="TM腔慢破真空"/>
-    <DO_ITEM Index="25" Name="DO_VCE_V_HS" Device="" Addr="w200.12" Note="VCE腔快抽真空"/>
-    <DO_ITEM Index="26" Name="DO_VCE_V_LS" Device="" Addr="w200.13" Note="VCE腔慢抽真空" />
-    <DO_ITEM Index="27" Name="DO_VCE_B_HS" Device="" Addr="w200.14" Note="VCE腔快破真空"/>
-    <DO_ITEM Index="28" Name="DO_VCE_B_LS" Device="" Addr="w200.15" Note="VCE腔慢破真空"/>
-    <DO_ITEM Index="29" Name="DO_V_220V" Device="" Addr="w201.00" Note="水阀"/>
-    <DO_ITEM Index="30" Name="" Device=""  Addr="" Note=""/>
-    <DO_ITEM Index="31" Name="" Device=""  Addr="" Note=""/>
+    <DO_ITEM Index="7" Name="DO_PMC_Slit_Door_Open" Device="" Addr="w200.07" Note="TM到PMC门阀开"/>
+    <DO_ITEM Index="8" Name="DO_PMC_Slit_Door_Close" Device="" Addr="w200.08" Note="TM到PMC门阀关"/>
+    <DO_ITEM Index="9" Name="DO_TM_Soft_Pumping" Device="" Addr="w200.09"  Note="TM腔慢抽真空"/>
+    <DO_ITEM Index="10" Name="DO_BUZZER2" Device="" Addr="w200.10" Note="蜂鸣2"/>
+    <DO_ITEM Index="11" Name="DO_BUZZER1" Device="" Addr="w200.11" Note="蜂鸣1"/>
+    <DO_ITEM Index="12" Name="DO_Red_Light_ON"  Device="" Addr="w200.12" Note="报警灯1(红灯)"/>
+    <DO_ITEM Index="13" Name="DO_VCE_Slit_Door_Open" Device="" Addr="w200.13" Note="VCE到TM门阀开" />
+    <DO_ITEM Index="14" Name="DO_VCE_Slit_Door_Close" Device="" Addr="w200.14" Note="VCE到TM门阀关" />
+    <DO_ITEM Index="15" Name="DO_PMA_Slit_Door_Open" Device="" Addr="w200.15" Note="TM到PMA门阀开"/>
+    <DO_ITEM Index="16" Name="DO_PMA_Slit_Door_Close" Device="" Addr="w201.00" Note="TM到PMA门阀关"/>
+    <DO_ITEM Index="17" Name="DO_PMB_Slit_Door_Open" Device="" Addr="w201.01" Note="TM到PMB门阀开"/>
+    <DO_ITEM Index="18" Name="DO_PMB_Slit_Door_Close" Device="" Addr="w201.02" Note="TM到PMB门阀关"/>
+    <DO_ITEM Index="19" Name="DO_Orange_Light_ON" Device="" Addr="w201.03" Note="报警灯2(橙灯)"/>
+    <DO_ITEM Index="20" Name="DO_Green_Light_ON" Device="" Addr="w201.04" Note="报警灯3(绿灯)"/>
+    <DO_ITEM Index="21" Name="DO_TM_Fast_Pumping" Device="" Addr="w201.05" Note="TM腔快抽真空"/>
+    <DO_ITEM Index="22" Name="DO_Blue_Light_ON" Device="" Addr="w201.06" Note="报警灯4(蓝灯)"/>
+    <DO_ITEM Index="23" Name="DO_TM_Fast_Vent" Device="" Addr="w201.07" Note="TM腔快破真空"/>
+    <DO_ITEM Index="24" Name="DO_TM_Soft_Vent" Device=""  Addr="w201.08" Note="TM腔慢破真空"/>
+    <DO_ITEM Index="25" Name="DO_VCE_Fast_Pumping" Device="" Addr="w201.09" Note="VCE腔快抽真空"/>
+    <DO_ITEM Index="26" Name="DO_VCE_Soft_Pumping" Device="" Addr="w201.10" Note="VCE腔慢抽真空" />
+    <DO_ITEM Index="27" Name="DO_VCE_Fast_Vent" Device="" Addr="w201.11" Note="VCE腔快破真空"/>
+    <DO_ITEM Index="28" Name="DO_VCE_Soft_Vent" Device="" Addr="w201.12" Note="VCE腔慢破真空"/>
+    <DO_ITEM Index="29" Name="DO_PCW_Valve" Device="" Addr="w201.13" Note="水阀"/>
+    <DO_ITEM Index="30" Name="DO_System_Power_OFF_Enable" Device=""  Addr="w201.14" Note="系统允许断电"/>
+    <DO_ITEM Index="31" Name="DO_System_Control_OUT" Device=""  Addr="w201.15" Note="备用"/>
     <DO_ITEM Index="32" Name="" Device="" Addr="" />
     <DO_ITEM Index="33" Name="" Device="" Addr="" />
     <DO_ITEM Index="34" Name="" Device="" Addr="" />
@@ -79,12 +79,12 @@
     <DO_ITEM Index="36" Name="" Device="" Addr="" />
   </Dig_Out>
   <Ana_Out>
-    <AO_ITEM Index="0" Name="AO_MFC_Flow_Setpoint" BufferOffset="0" Device="" Addr="d308"  Note="MFC Flow Setpoint" />
+    <AO_ITEM Index="0" Name="AO_MFC_Flow_Setpoint" BufferOffset="0" Device="" Addr="d1000"  Note="MFC Flow Setpoint" />
     <AO_ITEM Index="1" Name="" BufferOffset="" />
     <AO_ITEM Index="2" Name="" BufferOffset=""  />
     <AO_ITEM Index="3" Name="" BufferOffset="" />
     <AO_ITEM Index="4" Name="" BufferOffset="" />
-    <AO_ITEM Index="5" Name="" BufferOffset=""  />
+    <AO_ITEM Index="5" Name="AO_TM_Pressure" BufferOffset="10" Device="" Addr="d1010"  Note="TM Pressure"/>
     <AO_ITEM Index="6" Name="" BufferOffset="" />
     <AO_ITEM Index="7" Name="" BufferOffset=""  />
     <AO_ITEM Index="8" Name="" BufferOffset=""/>
@@ -131,10 +131,10 @@
     <AO_ITEM Index="49" Name="" />
   </Ana_Out>
   <Ana_In>
-    <AI_ITEM Index="0" Name="AI_VCE_Vacuum_Gauge"  BufferOffset="0" Device="" Addr="D300" />
-    <AI_ITEM Index="1" Name="AI_TM_Vacuum_Gauge"  BufferOffset="2" Device="" Addr="D302" />
-    <AI_ITEM Index="2" Name="AI_Pipeline_Vacuum_Gauge"  BufferOffset="4" Device="" Addr="D304"/>
-    <AI_ITEM Index="3" Name="AI_MFC_Flow"  BufferOffset="6" Device="" Addr="D306"/>
+    <AI_ITEM Index="0" Name="AI_VCE_Pressure"  BufferOffset="0" Device="" Addr="d2000" />
+    <AI_ITEM Index="1" Name="AI_TM_Pressure"  BufferOffset="2" Device="" Addr="d2002" />
+    <AI_ITEM Index="2" Name="AI_Foreline_Pressure"  BufferOffset="4" Device="" Addr="d2004"/>
+    <AI_ITEM Index="3" Name="AI_MFC_Flow"  BufferOffset="6" Device="" Addr="d2006"/>
     <AI_ITEM Index="4" Name=""/>
     <AI_ITEM Index="5" Name=""/>
     <AI_ITEM Index="6" Name="" />

+ 81 - 83
Venus/Venus_Simulator/Instances/SimulatorSystem.cs

@@ -288,8 +288,8 @@ namespace Venus_Simulator.Instances
                     IO.DI[$"{mod}.DI_ESC_Coolant_Flow_SW"].Value = true;
                     IO.DI[$"{mod}.DI_Water_Leak_Sensor"].Value = true;
 
-                    IO.DI[$"{mod}.DI_Lift_Pin_Up_Pos"].Value = false;
-                    IO.DI[$"{mod}.DI_Lift_Pin_Down_Pos"].Value = true;
+                    IO.DI[$"{mod}.DI_Lift_Pin_Up_POS"].Value = false;
+                    IO.DI[$"{mod}.DI_Lift_Pin_Down_POS"].Value = true;
                     IO.DI[$"{mod}.DI_CDA_Pressure_Switch"].Value = true;
                     //IO.DI[$"{mod}.DI_RF_Generator_Interlock"].Value = true;
                     //IO.DI[$"{mod}.DI_Source_RF_Fan"].Value = true;
@@ -643,49 +643,47 @@ namespace Venus_Simulator.Instances
         {
             ModuleName mod = ModuleName.SETM;
 
-            IO.DI[$"{mod}.DI_TM_DI1"].Value = true;
-            IO.DI[$"{mod}.DI_TM_DI2"].Value = true;
-            IO.DI[$"{mod}.DI_TM_DI3"].Value = true;
-            IO.DI[$"{mod}.DI_TM_DI5"].Value = true;
-            IO.DI[$"{mod}.DI_TM_DI7"].Value = true;
-            IO.DI[$"{mod}.DI_VCE_A"].Value = true;
-            IO.DI[$"{mod}.DI_TM_A"].Value = true;
-            IO.DI[$"{mod}.DI_VCE_SS"].Value = false;
-            IO.DI[$"{mod}.DI_PMB_SS"].Value = false;
-            IO.DI[$"{mod}.DI_PMA_SS"].Value = false;
-            IO.DI[$"{mod}.DI_PMC_SS"].Value = false;
-            IO.DI[$"{mod}.DI_SYS_C1"].Value = true;
-            IO.DI[$"{mod}.DI_SYS_C2"].Value = false;
-            IO.DI[$"{mod}.DI_SYS_C3"].Value = false;
-            IO.DI[$"{mod}.DI_SYS_C4"].Value = false;
-            IO.DI[$"{mod}.DI_TSYS_C5"].Value = false;
-            IO.DI[$"{mod}.DI_TM_N2_1"].Value = true;
-            IO.DI[$"{mod}.DI_VCE_TM_OPS"].Value = false;
-            IO.DI[$"{mod}.DI_VCE_TM_CLS"].Value = true;
-            IO.DI[$"{mod}.DI_TM_PMA_OPS"].Value = false;
-            IO.DI[$"{mod}.DI_TM_PMA_CLS"].Value = true;
-            IO.DI[$"{mod}.DI_TM_PMB_OPS"].Value = false;
-            IO.DI[$"{mod}.DI_TM_PMB_CLS"].Value = true;
-            IO.DI[$"{mod}.DI_TM_PMC_OPS"].Value = false;
-            IO.DI[$"{mod}.DI_TM_PMC_CLS"].Value = true;
-            IO.DI[$"{mod}.DI_TM_HE"].Value = true;
-            IO.DI[$"{mod}.DI_TM_N2_2"].Value = true;
-            IO.DI[$"{mod}.DI_TM_DI8"].Value = true;
-            IO.DI[$"{mod}.DI_TM_LEAK"].Value = true;
-            IO.DI[$"{mod}.DI_TM_CDA"].Value = true;
-            IO.DI[$"{mod}.DI_VCE_V"].Value = false;
-            IO.DI[$"{mod}.DI_TM_V"].Value = false;
-            IO.DI[$"{mod}.DI_TM_LEAK"].Value = true;
-            IO.DI[$"{mod}.DI_VCE_RB_RET"].Value = true;
-            IO.DI[$"{mod}.DI_VCE_RB_RET"].Value = true;
-            IO.DI[$"{mod}.DI_PMA_RB_RET"].Value = true;
-            IO.DI[$"{mod}.DI_PMB_RB_RET"].Value = true;
-            IO.DI[$"{mod}.DI_PMC_RB_RET"].Value = true;
+            IO.DI[$"{mod}.DI_System_CDA_Pressure_OK"].Value = true;
+            IO.DI[$"{mod}.DI_LID_DOOR_CLOSED"].Value = true;
+            IO.DI[$"{mod}.DI_VCE_SLIT_DOOR_OPEN_ENABLE"].Value = true;
+            IO.DI[$"{mod}.DI_PMA_SLIT_DOOR_OPEN_ENABLE"].Value = true;
+            IO.DI[$"{mod}.DI_PMB_SLIT_DOOR_OPEN_ENABLE"].Value = true;
+            IO.DI[$"{mod}.DI_VCE_ATM_SW"].Value = true;
+            IO.DI[$"{mod}.DI_TM_ATM_SW"].Value = true;
+            IO.DI[$"{mod}.DI_VCE_Wafer_Senser"].Value = false;
+            IO.DI[$"{mod}.DI_PMA_Wafer_Senser"].Value = false;
+            IO.DI[$"{mod}.DI_PMB_Wafer_Senser"].Value = false;
+            IO.DI[$"{mod}.DI_PMC_Wafer_Senser"].Value = false;
+            IO.DI[$"{mod}.DI_AC_RACK_FAN_OK"].Value = true;
+            IO.DI[$"{mod}.DI_AC_RACK_Smoke_SW1"].Value = false;
+            IO.DI[$"{mod}.DI_AC_RACK_Smoke_SW2"].Value = false;
+            IO.DI[$"{mod}.DI_FA_Smoke_SW"].Value = false;
+            IO.DI[$"{mod}.DI_Gas_Treatment_Alarm"].Value = false;
+            IO.DI[$"{mod}.DI_SYSTEM_N2_Pressure_SW"].Value = true;
+            IO.DI[$"{mod}.DI_VCE_TM_Slit_Door_Open_Pos"].Value = false;
+            IO.DI[$"{mod}.DI_VCE_TM_Slit_Door_Close_Pos"].Value = true;
+            IO.DI[$"{mod}.DI_TM_PMA_Slit_Door_Open_Pos"].Value = false;
+            IO.DI[$"{mod}.DI_TM_PMA_Slit_Door_Close_Pos"].Value = true;
+            IO.DI[$"{mod}.DI_TM_PMB_Slit_Door_Open_Pos"].Value = false;
+            IO.DI[$"{mod}.DI_TM_PMB_Slit_Door_Close_Pos"].Value = true;
+            IO.DI[$"{mod}.DI_TM_PMC_Slit_Door_Open_Pos"].Value = false;
+            IO.DI[$"{mod}.DI_TM_PMC_Slit_Door_Close_Pos"].Value = true;
+            IO.DI[$"{mod}.DI_TM_HE_Pressure_SW"].Value = true;
+            IO.DI[$"{mod}.DI_TM_N2_Pressure_SW"].Value = true;
+            IO.DI[$"{mod}.DI_PMC_SLIT_DOOR_OPEN_ENABLE"].Value = true;
+            IO.DI[$"{mod}.DI_PCW_Leak_SW"].Value = true;
+            IO.DI[$"{mod}.DI_TM_CDA_Pressure_SW"].Value = true;
+            IO.DI[$"{mod}.DI_VCE_VAC_SW"].Value = false;
+            IO.DI[$"{mod}.DI_TM_VAC_SW"].Value = false;           
+            IO.DI[$"{mod}.DI_TM_ROBOT_NOT_EXTEND_VCE"].Value = true;          
+            IO.DI[$"{mod}.DI_TM_ROBOT_NOT_EXTEND_PMA"].Value = true;
+            IO.DI[$"{mod}.DI_TM_ROBOT_NOT_EXTEND_PMB"].Value = true;
+            IO.DI[$"{mod}.DI_TM_ROBOT_NOT_EXTEND_PMC"].Value = true;
 
             SetAiValue($"{mod}.AI_MFC_Flow", 3000);
-            SetAiValue($"{mod}.AI_VCE_Vacuum_Gauge", 3000);
-            SetAiValue($"{mod}.AI_Pipeline_Vacuum_Gauge", 3000);
-            SetAiValue($"{mod}.AI_TM_Vacuum_Gauge", 3000);
+            SetAiValue($"{mod}.AI_VCE_Pressure", 3000);
+            SetAiValue($"{mod}.AI_Foreline_Pressure", 3000);
+            SetAiValue($"{mod}.AI_TM_Pressure", 3000);
         }
 
         private bool OnMonitor()
@@ -869,59 +867,59 @@ namespace Venus_Simulator.Instances
         {
             ModuleName mod = ModuleName.SETM;
             // VCE T door open
-            if (IO.DO[$"{mod}.DO_VCE_TM_OP"].Value)
+            if (IO.DO[$"{mod}.DO_VCE_Slit_Door_Open"].Value)
             {
-                IO.DI[$"{mod}.DI_VCE_TM_OPS"].Value = true;
-                IO.DI[$"{mod}.DI_VCE_TM_CLS"].Value = false;
+                IO.DI[$"{mod}.DI_VCE_TM_Slit_Door_Open_Pos"].Value = true;
+                IO.DI[$"{mod}.DI_VCE_TM_Slit_Door_Close_Pos"].Value = false;
             }
 
             // VCE T door Close
-            if (IO.DO[$"{mod}.DO_VCE_TM_CL"].Value)
+            if (IO.DO[$"{mod}.DO_VCE_Slit_Door_Close"].Value)
             {
-                IO.DI[$"{mod}.DI_VCE_TM_OPS"].Value = false;
-                IO.DI[$"{mod}.DI_VCE_TM_CLS"].Value = true;
+                IO.DI[$"{mod}.DI_VCE_TM_Slit_Door_Open_Pos"].Value = false;
+                IO.DI[$"{mod}.DI_VCE_TM_Slit_Door_Close_Pos"].Value = true;
             }
             //pma
-            if (IO.DO[$"{mod}.DO_TM_PMA_OP"].Value)
+            if (IO.DO[$"{mod}.DO_PMA_Slit_Door_Open"].Value)
             {
 
-                IO.DI[$"{mod}.DI_TM_PMA_OPS"].Value = true;
-                IO.DI[$"{mod}.DI_TM_PMA_CLS"].Value = false;
+                IO.DI[$"{mod}.DI_TM_PMA_Slit_Door_Open_Pos"].Value = true;
+                IO.DI[$"{mod}.DI_TM_PMA_Slit_Door_Close_Pos"].Value = false;
             }
 
-            if (IO.DO[$"{mod}.DO_TM_PMA_CL"].Value)
+            if (IO.DO[$"{mod}.DO_PMA_Slit_Door_Close"].Value)
             {
-                IO.DI[$"{mod}.DI_TM_PMA_OPS"].Value = false;
-                IO.DI[$"{mod}.DI_TM_PMA_CLS"].Value = true;
+                IO.DI[$"{mod}.DI_TM_PMA_Slit_Door_Open_Pos"].Value = false;
+                IO.DI[$"{mod}.DI_TM_PMA_Slit_Door_Close_Pos"].Value = true;
             }
 
             //pmb
-            if (IO.DO[$"{mod}.DO_TM_PMB_OP"].Value)
+            if (IO.DO[$"{mod}.DO_PMB_Slit_Door_Open"].Value)
             {
 
-                IO.DI[$"{mod}.DI_TM_PMB_OPS"].Value = true;
-                IO.DI[$"{mod}.DI_TM_PMB_CLS"].Value = false;
+                IO.DI[$"{mod}.DI_TM_PMB_Slit_Door_Open_Pos"].Value = true;
+                IO.DI[$"{mod}.DI_TM_PMB_Slit_Door_Close_Pos"].Value = false;
             }
 
-            if (IO.DO[$"{mod}.DO_TM_PMB_CL"].Value)
+            if (IO.DO[$"{mod}.DO_PMB_Slit_Door_Close"].Value)
             {
-                IO.DI[$"{mod}.DI_TM_PMB_OPS"].Value = false;
-                IO.DI[$"{mod}.DI_TM_PMB_CLS"].Value = true;
+                IO.DI[$"{mod}.DI_TM_PMB_Slit_Door_Open_Pos"].Value = false;
+                IO.DI[$"{mod}.DI_TM_PMB_Slit_Door_Close_Pos"].Value = true;
             }
 
             //pmc
-            //if (IO.DO[$"{mod}.DO_TM_PMC_OP"].Value)
-            //{
+            if (IO.DO[$"{mod}.DO_PMC_Slit_Door_Open"].Value)
+            {
 
-            //    IO.DI[$"{mod}.DI_TM_PMC_OPS"].Value = true;
-            //    IO.DI[$"{mod}.DI_TM_PMC_CLS"].Value = false;
-            //}
+                IO.DI[$"{mod}.DI_TM_PMC_Slit_Door_Open_Pos"].Value = true;
+                IO.DI[$"{mod}.DI_TM_PMC_Slit_Door_Close_Pos"].Value = false;
+            }
 
-            //if (IO.DO[$"{mod}.DO_TM_PMC_CL"].Value)
-            //{
-            //    IO.DI[$"{mod}.DI_TM_PMC_OPS"].Value = false;
-            //    IO.DI[$"{mod}.DI_TM_PMC_CLS"].Value = true;
-            //}
+            if (IO.DO[$"{mod}.DO_PMC_Slit_Door_Close"].Value)
+            {
+                IO.DI[$"{mod}.DI_TM_PMC_Slit_Door_Open_Pos"].Value = false;
+                IO.DI[$"{mod}.DI_TM_PMC_Slit_Door_Close_Pos"].Value = true;
+            }
         }
 
 
@@ -1901,21 +1899,21 @@ namespace Venus_Simulator.Instances
         void MonitorSEMFPressure()
         {
             ModuleName mod = ModuleName.SETM;
-            string VCE_ChamberPressure = "AI_VCE_Vacuum_Gauge";
-            string TM_AI_ChamberPressure = "AI_TM_Vacuum_Gauge";
+            string VCE_ChamberPressure = "AI_VCE_Pressure";
+            string TM_AI_ChamberPressure = "AI_TM_Pressure";
 
-            DOAccessor TM_fast_pump_vlv = IO.DO[$"{mod}.DO_TM_V_HS"];
-            DOAccessor TM_soft_pump_vlv = IO.DO[$"{mod}.DO_TM_V_LS"];
+            DOAccessor TM_fast_pump_vlv = IO.DO[$"{mod}.DO_TM_Fast_Pumping"];
+            DOAccessor TM_soft_pump_vlv = IO.DO[$"{mod}.DO_TM_Soft_Pumping"];
 
-            DOAccessor TM_fast_Vent_vlv = IO.DO[$"{mod}.DO_TM_B_HS"];
-            DOAccessor TM_soft_Vent_vlv = IO.DO[$"{mod}.DO_TM_B_LS"];
+            DOAccessor TM_fast_Vent_vlv = IO.DO[$"{mod}.DO_TM_Fast_Vent"];
+            DOAccessor TM_soft_Vent_vlv = IO.DO[$"{mod}.DO_TM_Soft_Vent"];
 
 
-            DOAccessor VCE_fast_pump_vlv = IO.DO[$"{mod}.DO_VCE_V_HS"];
-            DOAccessor VCE_soft_pump_vlv = IO.DO[$"{mod}.DO_VCE_V_LS"];
+            DOAccessor VCE_fast_pump_vlv = IO.DO[$"{mod}.DO_VCE_Fast_Pumping"];
+            DOAccessor VCE_soft_pump_vlv = IO.DO[$"{mod}.DO_VCE_Soft_Pumping"];
 
-            DOAccessor VCE_fast_Vent_vlv = IO.DO[$"{mod}.DO_VCE_B_HS"];
-            DOAccessor VCE_soft_Vent_vlv = IO.DO[$"{mod}.DO_VCE_B_LS"];
+            DOAccessor VCE_fast_Vent_vlv = IO.DO[$"{mod}.DO_VCE_Fast_Vent"];
+            DOAccessor VCE_soft_Vent_vlv = IO.DO[$"{mod}.DO_VCE_Soft_Vent"];
             float getAiValue_VCE_ChamberPressure = GetAiValue($"{mod}.{VCE_ChamberPressure}");
             float getAiValue_TM_ChamberPressure = GetAiValue($"{mod}.{TM_AI_ChamberPressure}");
 
@@ -1986,10 +1984,10 @@ namespace Venus_Simulator.Instances
             {
                 SetAiValue($"{mod}.{TM_AI_ChamberPressure}", 20);
             }
-            IO.DI[$"{mod}.DI_VCE_V"].Value = GetAiValue($"{mod}.{VCE_ChamberPressure}") < VAC_SW_PRESSURE;
+            IO.DI[$"{mod}.DI_VCE_VAC_SW"].Value = GetAiValue($"{mod}.{VCE_ChamberPressure}") < VAC_SW_PRESSURE;
 
             // VAC switch
-            IO.DI[$"{mod}.DI_TM_V"].Value = GetAiValue($"{mod}.{TM_AI_ChamberPressure}") < VAC_SW_PRESSURE;
+            IO.DI[$"{mod}.DI_TM_VAC_SW"].Value = GetAiValue($"{mod}.{TM_AI_ChamberPressure}") < VAC_SW_PRESSURE;
 
         }
         void MonitorMFPressure()