Merge branch 'develop' into feature/localization

# Conflicts:
#	SicUI/Models/Maintenances/TM/EFEMView.xaml
#	ThirdParty/MECF.Framework/MECF.Framework.Common.dll
#	ThirdParty/MECF.Framework/MECF.Framework.RT.Core.dll
#	ThirdParty/MECF.Framework/MECF.Framework.RT.EquipmentLibrary.dll
#	ThirdParty/MECF.Framework/MECF.Framework.Simulator.Core.dll
#	ThirdParty/MECF.Framework/MECF.Framework.UI.Client.dll
#	ThirdParty/MECF.Framework/MECF.Framework.UI.Core.dll
#	ThirdParty/MECF.Framework/Sicentury.Core.dll
This commit is contained in:
Han Qiang Qiang 2024-02-22 10:16:49 +08:00
commit 1382f61302
38 changed files with 440 additions and 124 deletions

View File

@ -299,12 +299,15 @@
</IoSensorWaterFlowTemp>
<IoGasBoxTemps classType="Aitex.Core.RT.Device.Devices.IoLineHeater" assembly="MECF.Framework.RT.EquipmentLibrary">
<IoGasBoxTemp id="HeatTMAPanelTemp" display="TMAPanelTemp(ATC-1)" aiHeatTMA="AI_HeatTMAPanel" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区1" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatTCSPanelTemp" display="TCSPanelTemp(ATC-2)" aiHeatTMA="AI_HeatTCSPanel" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区2" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatinsidePanelTemp" display="InsidePanelTemp(ATC-3)" aiHeatTMA="AI_HeatinsidePanel" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区3" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatoutsidePanelTemp" display="OutsidePanelTemp(ATC-4)" aiHeatTMA="AI_HeatoutsidePanel" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区4" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatoutsideSHTemp" display="OutsideSHTemp(ATC-5)" aiHeatTMA="AI_HeatoutsideSH" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区5" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatLeakBypassTemp" display="LeakBypassTemp(ATC-6)" aiHeatTMA="AI_HeatLeakBypass" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区6" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatTMAPanelTemp" display="TMAPanelTemp(ATC-1)" aiHeatTMA="AI_HeatTMAPanel" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区1" scWarningLog="" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatTCSPanelTemp" display="TCSPanelTemp(ATC-2)" aiHeatTMA="AI_HeatTCSPanel" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区2" scWarningLog="" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatinsidePanelTemp" display="insidePanelTemp(ATC-3)" aiHeatTMA="AI_HeatinsidePanel" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区3" scWarningLog="" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatoutsidePanelTemp" display="outsidePanelTemp(ATC-4)" aiHeatTMA="AI_HeatoutsidePanel" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区4" scWarningLog="" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatoutsideSHTemp" display="outsideSHTemp(ATC-5)" aiHeatTMA="AI_HeatoutsideSH" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区5" scWarningLog="" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatLeakBypassTemp" display="LeakBypassTemp(ATC-6)" aiHeatTMA="AI_HeatLeakBypass" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区6" scWarningLog="" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatTailFilter" display="HeatTailFilter" aiHeatTMA="AI_HeatTailFilter" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="PumpLineTempLimt" scWarningLog="PumpLineTempAlarm" doLineHeaterEnable="" />
<IoGasBoxTemp id="HeatTailPipe" display="HeatTailPipe" aiHeatTMA="AI_HeatTailPipe" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="PumpLineTempLimt" scWarningLog="PumpLineTempAlarm" doLineHeaterEnable=""/>
</IoGasBoxTemps>
<IoPumps classType="Aitex.Core.RT.Device.Devices.IoPump" assembly="MECF.Framework.RT.EquipmentLibrary">
@ -356,6 +359,7 @@
<IoSensor id="SensorTransformerOTSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_TransformerOTSW" infoText="" warningText="Warning12 TransformerOverTemp [DI-83]" alarmText="" />
<IoSensor id="SensorSHLidClosed" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_SHLidClosed" infoText="" warningText="Warning13 SH Lid Opened [DI-106]" alarmText="" />
<IoSensor id="SensorMiddleLidClosed" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_MiddleLidClosed" infoText="" warningText="Warning14 Middle Lid Opened [DI-120]" alarmText="" />
<IoSensor id="SensorTMPumpSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_TMPumpFlowSW" infoText="" warningText="Warning15 TM Pump Low Flow -U11 [DI-24]" alarmText="" />
<IoSensor id="SensorPSUInnerTempHAlarm" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_PSUInnerTempHAlarm" infoText="" warningText="Warning22 PSU Inner.Temp High [DI-305]" alarmText="" />
<IoSensor id="SensorPSUMiddleTempHAlarm" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_PSUMiddleTempHAlarm" infoText="" warningText="Warning23 PSU Middle.Temp High [DI-306]" alarmText="" />
<IoSensor id="SensorPSUOuterTempHAlarm" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_PSUOuterTempHAlarm" infoText="" warningText="Warning24 PSU Outer.Temp High [DI-307]" alarmText="" />
@ -376,7 +380,7 @@
<IoSensor id="SensorPowerRod2FlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_PowerRod2FlowSW" infoText="" warningText="" alarmText="Alarm10 Power Rod2 Cooling Water Low Flow -U8 [DI-21]" />
<IoSensor id="SensorForelineFlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_ForelineFlow2SW" infoText="" warningText="" alarmText="Alarm11 Foreline Cooling Water Low Flow -U9 [DI-22]" />
<IoSensor id="SensorElectrodeWFlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_ElectrodeWFlowSW" infoText="" warningText="" alarmText="Alarm12 Electrode-W Cooling Water Low Flow -U10 [DI-23]" />
<IoSensor id="SensorTMPumpSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_TMPumpFlowSW" infoText="" warningText="" alarmText="Alarm13 TM Pump Low Flow -U11 [DI-24]" />
<IoSensor id="SensorTransformerFlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_TransformerFlowSW" infoText="" warningText="" alarmText="Alarm14 Transformer Cooling Water Low Flow -U14 [DI-25]" />
<IoSensor id="SensorTMTopLidFlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_TMTopLidFlowSW" infoText="" warningText="" alarmText="Alarm15 TM Top Lid Low Flow -U12 [DI-26]" />
<IoSensor id="SensorInletTotalFlowLowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_InletTotalFlowLowSW" infoText="" warningText="" alarmText="Alarm16 Chamber Cooling Water Pressure Low [DI-27]" />

View File

@ -59,6 +59,7 @@
<DI_ITEM Index="70" Name="DI_EMOStatusSW" BufferOffset="70" Addr="70" Description="" />
<DI_ITEM Index="71" Name="DI_PumpCabDoorClosed" BufferOffset="71" Addr="71" Description="" />
<DI_ITEM Index="72" Name="DI_FacilityWarningSW" BufferOffset="72" Addr="72" Description="" />
<DI_ITEM Index="73" Name="DI_TailPipeTempCtrlAlarm" BufferOffset="73" Addr="73" Description="" />
<DI_ITEM Index="76" Name="DI_MainCBStatusSW" BufferOffset="76" Addr="76" Description="" />
<DI_ITEM Index="77" Name="DI_PowerRackWaterLeakSW" BufferOffset="77" Addr="77" Description="" />
<DI_ITEM Index="78" Name="DI_UPS1Enable" BufferOffset="78" Addr="78" Description="" />
@ -437,6 +438,8 @@
<AI_ITEM Index="23" Name="AI_HeatoutsidePanel" BufferOffset="23" Addr="23" Description="" />
<AI_ITEM Index="24" Name="AI_HeatoutsideSH" BufferOffset="24" Addr="24" Description="" />
<AI_ITEM Index="25" Name="AI_HeatLeakBypass" BufferOffset="25" Addr="25" Description="" />
<AI_ITEM Index="26" Name="AI_HeatTailFilter" BufferOffset="26" Addr="26" Description="" />
<AI_ITEM Index="27" Name="AI_HeatTailPipe" BufferOffset="27" Addr="27" Description="" />
<AI_ITEM Index="32" Name="AI_M1" BufferOffset="32" Addr="32" Description="" />
<AI_ITEM Index="33" Name="AI_M2" BufferOffset="33" Addr="33" Description="" />
<AI_ITEM Index="34" Name="AI_M3" BufferOffset="34" Addr="34" Description="" />

View File

@ -293,12 +293,15 @@
scFilterDuration="FilterDuration" />
</IoSensorWaterFlowTemp>
<IoGasBoxTemps classType="Aitex.Core.RT.Device.Devices.IoLineHeater" assembly="MECF.Framework.RT.EquipmentLibrary">
<IoGasBoxTemp id="HeatTMAPanelTemp" display="TMAPanelTemp(ATC-1)" aiHeatTMA="AI_HeatTMAPanel" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区1" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatTCSPanelTemp" display="TCSPanelTemp(ATC-2)" aiHeatTMA="AI_HeatTCSPanel" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区2" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatinsidePanelTemp" display="InsidePanelTemp(ATC-3)" aiHeatTMA="AI_HeatinsidePanel" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区3" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatoutsidePanelTemp" display="OutsidePanelTemp(ATC-4)" aiHeatTMA="AI_HeatoutsidePanel" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区4" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatoutsideSHTemp" display="OutsideSHTemp(ATC-5)" aiHeatTMA="AI_HeatoutsideSH" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区5" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatLeakBypassTemp" display="LeakBypassTemp(ATC-6)" aiHeatTMA="AI_HeatLeakBypass" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区6" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatTMAPanelTemp" display="TMAPanelTemp(ATC-1)" aiHeatTMA="AI_HeatTMAPanel" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区1" scWarningLog="" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatTCSPanelTemp" display="TCSPanelTemp(ATC-2)" aiHeatTMA="AI_HeatTCSPanel" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区2" scWarningLog="" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatinsidePanelTemp" display="insidePanelTemp(ATC-3)" aiHeatTMA="AI_HeatinsidePanel" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区3" scWarningLog="" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatoutsidePanelTemp" display="outsidePanelTemp(ATC-4)" aiHeatTMA="AI_HeatoutsidePanel" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区4" scWarningLog="" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatoutsideSHTemp" display="outsideSHTemp(ATC-5)" aiHeatTMA="AI_HeatoutsideSH" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区5" scWarningLog="" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatLeakBypassTemp" display="LeakBypassTemp(ATC-6)" aiHeatTMA="AI_HeatLeakBypass" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="加热带温区6" scWarningLog="" doLineHeaterEnable="DO_LineHeaterEnable"/>
<IoGasBoxTemp id="HeatTailFilter" display="HeatTailFilter" aiHeatTMA="AI_HeatTailFilter" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="PumpLineTempLimt" scWarningLog="PumpLineTempAlarm" doLineHeaterEnable="" />
<IoGasBoxTemp id="HeatTailPipe" display="HeatTailPipe" aiHeatTMA="AI_HeatTailPipe" scBasePath="PM.{module}.LineHeaterTemp" scAlarmHigh="PumpLineTempLimt" scWarningLog="PumpLineTempAlarm" doLineHeaterEnable=""/>
</IoGasBoxTemps>
<IoPumps classType="Aitex.Core.RT.Device.Devices.IoPump" assembly="MECF.Framework.RT.EquipmentLibrary">
<IoPump id="Pump" module="" display="Pump" schematicId="Pump" unit="" aioType="" diDryPumpAlarm="DI_DryPumpAlarm" diPumpExhaustPress="DI_PumpExhaustPressSW" diDryPumpFlow="DI_DryPumpFlowSW" diDryPump1Running="DI_DryPump1Running" diDryPump1Warning="DI_DryPump1Warning" />
@ -349,6 +352,7 @@
<IoSensor id="SensorTransformerOTSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_TransformerOTSW" infoText="" warningText="Warning12 TransformerOverTemp [DI-83]" alarmText="" />
<IoSensor id="SensorSHLidClosed" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_SHLidClosed" infoText="" warningText="Warning13 SH Lid Opened [DI-106]" alarmText="" />
<IoSensor id="SensorMiddleLidClosed" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_MiddleLidClosed" infoText="" warningText="Warning14 Middle Lid Opened [DI-120]" alarmText="" />
<IoSensor id="SensorTMPumpSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_TMPumpFlowSW" infoText="" warningText="Warning15 TM Pump Low Flow -U11 [DI-24]" alarmText="" />
<IoSensor id="SensorPSUInnerTempHAlarm" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_PSUInnerTempHAlarm" infoText="" warningText="Warning22 PSU Inner.Temp High [DI-305]" alarmText="" />
<IoSensor id="SensorPSUMiddleTempHAlarm" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_PSUMiddleTempHAlarm" infoText="" warningText="Warning23 PSU Middle.Temp High [DI-306]" alarmText="" />
<IoSensor id="SensorPSUOuterTempHAlarm" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_PSUOuterTempHAlarm" infoText="" warningText="Warning24 PSU Outer.Temp High [DI-307]" alarmText="" />
@ -369,7 +373,7 @@
<IoSensor id="SensorPowerRod2FlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_PowerRod2FlowSW" infoText="" warningText="" alarmText="Alarm10 Power Rod2 Cooling Water Low Flow -U8 [DI-21]" />
<IoSensor id="SensorForelineFlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_ForelineFlow2SW" infoText="" warningText="" alarmText="Alarm11 Foreline Cooling Water Low Flow -U9 [DI-22]" />
<IoSensor id="SensorElectrodeWFlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_ElectrodeWFlowSW" infoText="" warningText="" alarmText="Alarm12 Electrode-W Cooling Water Low Flow -U10 [DI-23]" />
<IoSensor id="SensorTMPumpSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_TMPumpFlowSW" infoText="" warningText="" alarmText="Alarm13 TM Pump Low Flow -U11 [DI-24]" />
<IoSensor id="SensorTransformerFlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_TransformerFlowSW" infoText="" warningText="" alarmText="Alarm14 Transformer Cooling Water Low Flow -U14 [DI-25]" />
<IoSensor id="SensorTMTopLidFlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_TMTopLidFlowSW" infoText="" warningText="" alarmText="Alarm15 TM Top Lid Low Flow -U12 [DI-26]" />
<IoSensor id="SensorInletTotalFlowLowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_InletTotalFlowLowSW" infoText="" warningText="" alarmText="Alarm16 Chamber Cooling Water Pressure Low [DI-27]" />

View File

@ -59,6 +59,7 @@
<DI_ITEM Index="70" Name="DI_EMOStatusSW" BufferOffset="70" Addr="70" Description="" />
<DI_ITEM Index="71" Name="DI_PumpCabDoorClosed" BufferOffset="71" Addr="71" Description="" />
<DI_ITEM Index="72" Name="DI_FacilityWarningSW" BufferOffset="72" Addr="72" Description="" />
<DI_ITEM Index="73" Name="DI_TailPipeTempCtrlAlarm" BufferOffset="73" Addr="73" Description="" />
<DI_ITEM Index="76" Name="DI_MainCBStatusSW" BufferOffset="76" Addr="76" Description="" />
<DI_ITEM Index="77" Name="DI_PowerRackWaterLeakSW" BufferOffset="77" Addr="77" Description="" />
<DI_ITEM Index="78" Name="DI_UPS1Enable" BufferOffset="78" Addr="78" Description="" />
@ -436,6 +437,8 @@
<AI_ITEM Index="23" Name="AI_HeatoutsidePanel" BufferOffset="23" Addr="23" Description="" />
<AI_ITEM Index="24" Name="AI_HeatoutsideSH" BufferOffset="24" Addr="24" Description="" />
<AI_ITEM Index="25" Name="AI_HeatLeakBypass" BufferOffset="25" Addr="25" Description="" />
<AI_ITEM Index="26" Name="AI_HeatTailFilter" BufferOffset="26" Addr="26" Description="" />
<AI_ITEM Index="27" Name="AI_HeatTailPipe" BufferOffset="27" Addr="27" Description="" />
<AI_ITEM Index="32" Name="AI_M1" BufferOffset="32" Addr="32" Description="" />
<AI_ITEM Index="33" Name="AI_M2" BufferOffset="33" Addr="33" Description="" />
<AI_ITEM Index="34" Name="AI_M3" BufferOffset="34" Addr="34" Description="" />

View File

@ -78,8 +78,8 @@
<IoSensor id="UnloadStationDoorOpened" module="TM" display="" schematicId="" unit="" di="DI_UnloadStationDoorOpened" textOutTrigValue="true" infoText="Information4 UnloadStationDoor.Opened [TDI-3]" warningText="" alarmText="" />
<IoSensor id="ReactorADoorClosed" module="TM" display="" schematicId="" unit="" di="DI_ReactorADoorClosed" textOutTrigValue="true" infoText="Information5 ReactorA.Door.Closed [TDI-4]" warningText="" alarmText="" />
<IoSensor id="ReactorADoorOpened" module="TM" display="" schematicId="" unit="" di="DI_ReactorADoorOpened" textOutTrigValue="true" infoText="Information6 ReactorA.Door.Opened [TDI-5]" warningText="" alarmText="" />
<IoSensor id="ReactorBDoorClosed" module="TM" display="" schematicId="" unit="" di="DI_ReactorBDoorClosed" textOutTrigValue="true" infoText="Information7 ReactorA.Door.Closed [TDI-6]" warningText="" alarmText="" />
<IoSensor id="ReactorBDoorOpened" module="TM" display="" schematicId="" unit="" di="DI_ReactorBDoorOpened" textOutTrigValue="true" infoText="Information8 ReactorA.Door.Opened [TDI-7]" warningText="" alarmText="" />
<IoSensor id="ReactorBDoorClosed" module="TM" display="" schematicId="" unit="" di="DI_ReactorBDoorClosed" textOutTrigValue="true" infoText="Information7 ReactorB.Door.Closed [TDI-6]" warningText="" alarmText="" />
<IoSensor id="ReactorBDoorOpened" module="TM" display="" schematicId="" unit="" di="DI_ReactorBDoorOpened" textOutTrigValue="true" infoText="Information8 ReactorB.Door.Opened [TDI-7]" warningText="" alarmText="" />
<IoSensor id="BufferStationDoorClosed" module="Buffer" display="" schematicId="" unit="" di="DI_BufferStationDoorClosed" textOutTrigValue="true" infoText="Information9 BufferStationDoor.Closed [TDI-10]" warningText="" alarmText="" />
<IoSensor id="BufferStationDoorOpened" module="Buffer" display="" schematicId="" unit="" di="DI_BufferStationDoorOpened" textOutTrigValue="true" infoText="Information10 BufferStationDoor.Closed [TDI-11]" warningText="" alarmText="" />
<IoSensor id="LoadLockGateClosed" module="TM" display="" schematicId="" unit="" di="DI_LoadLockGateClosed" textOutTrigValue="true" infoText="Information11 LoadLockGate.Closed [TDI-22]" warningText="" alarmText="" />

View File

@ -243,20 +243,28 @@
<Limit di="TM.DI_TMLidClosed" value="true" tip="" tip.zh-CN="" tip.en-US="DI-12"/>
<Limit di="TM.DI_LoadLidClosed" value="true" tip="" tip.zh-CN="" tip.en-US="DI-13"/>
<Limit do="TM.DO_VacRobotExtenLoadEnable" value="false" tip="" tip.zh-CN="" tip.en-US="DO-19"/>
<Limit di="TM.DI_RobotOnBackPos" value="true" tip="" tip.zh-CN="" tip.en-US="DI-31"/>
</Action>
<Action do="TM.DO_UnloadStationDoorClose" value="true" tip="" tip.zh-CN="" tip.en-US="DO-11">
<Limit di="TM.DI_TMLidClosed" value="true" tip="" tip.zh-CN="" tip.en-US="DI-12"/>
<Limit di="TM.DI_UnloadStationLidClosed" value="true" tip="" tip.zh-CN="" tip.en-US="DI-14"/>
<Limit do="TM.DO_VacRobotExtendUnloadEnable" value="false" tip="" tip.zh-CN="" tip.en-US="DO-20"/>
<Limit di="TM.DI_RobotOnBackPos" value="true" tip="" tip.zh-CN="" tip.en-US="DI-31"/>
</Action>
<Action do="TM.DO_RectorADoorClose" value="true" tip="" tip.zh-CN="" tip.en-US="DO-13">
<Limit di="TM.DI_TMLidClosed" value="true" tip="" tip.zh-CN="" tip.en-US="DI-12"/>
<Limit do="TM.DO_VacRobotExtendPMAEnable" value="false" tip="" tip.zh-CN="" tip.en-US="DO-21"/>
<Limit di="TM.DI_RobotOnBackPos" value="true" tip="" tip.zh-CN="" tip.en-US="DI-31"/>
</Action>
<Action do="TM.DO_RectorBDoorClose" value="true" tip="" tip.zh-CN="" tip.en-US="DO-15">
<Limit di="TM.DI_TMLidClosed" value="true" tip="" tip.zh-CN="" tip.en-US="DI-12"/>
<Limit do="TM.DO_VacRobotExtendPMBEnable" value="false" tip="" tip.zh-CN="" tip.en-US="DO-22"/>
<Limit di="TM.DI_RobotOnBackPos" value="true" tip="" tip.zh-CN="" tip.en-US="DI-31"/>
</Action>
<Action do="TM.DO_BufferStationDoorClose" value="true" tip="" tip.zh-CN="" tip.en-US="DO-33">
<Limit di="TM.DI_TMLidClosed" value="true" tip="" tip.zh-CN="" tip.en-US="DI-12"/>
<Limit di="TM.DI_BufferStationLidClosed" value="true" tip="" tip.zh-CN="" tip.en-US="DI-15"/>

View File

@ -47,7 +47,7 @@ namespace SicModules.EFEMs.Routines
}
if (!_cassBLInch.Value)
{
EV.PostWarningLog(Module, $"Can not map,{_source} sensor check no cassette");
EV.PostAlarmLog(Module, $"Can not map,{_source} sensor check no cassette");
return Result.FAIL;
}
}

View File

@ -90,7 +90,7 @@ namespace SicModules.EFEMs.Routines
}
if (!_cassBLInch.Value)
{
EV.PostWarningLog(Module, $"Can not pick,{_source} sensor check no cassette");
EV.PostAlarmLog(Module, $"Can not pick,{_source} sensor check no cassette");
return Result.FAIL;
}
}

View File

@ -128,7 +128,7 @@ namespace SicModules.EFEMs.Routines
}
if (!_cassBLInch.Value)
{
EV.PostWarningLog(Module, $"Can not place,{_source} sensor check no cassette");
EV.PostAlarmLog(Module, $"Can not place,{_source} sensor check no cassette");
return Result.FAIL;
}
}

View File

@ -69,7 +69,7 @@ namespace SicModules.EFEMs.Routines
}
if (!_cassALInch.Value)
{
EV.PostWarningLog(Module, $"Can not map,{_source} sensor check no cassette");
EV.PostAlarmLog(Module, $"Can not map,{_source} sensor check no cassette");
return Result.FAIL;
}
@ -84,7 +84,7 @@ namespace SicModules.EFEMs.Routines
}
if (!_cassARInch.Value)
{
EV.PostWarningLog(Module, $"Can not map,{_source} sensor check no cassette");
EV.PostAlarmLog(Module, $"Can not map,{_source} sensor check no cassette");
return Result.FAIL;
}

View File

@ -107,7 +107,7 @@ namespace SicModules.EFEMs.Routines
}
if (!_cassALInch.Value)
{
EV.PostWarningLog(Module, $"Can not pick,{_source} sensor check no cassette");
EV.PostAlarmLog(Module, $"Can not pick,{_source} sensor check no cassette");
return Result.FAIL;
}
if (WaferManager.Instance.GetWafer(_source, _sourceSlot).WaferStatus != WaferStatus.Normal)
@ -126,7 +126,7 @@ namespace SicModules.EFEMs.Routines
}
if (!_cassARInch.Value)
{
EV.PostWarningLog(Module, $"Can not pick,{_source} sensor check no cassette");
EV.PostAlarmLog(Module, $"Can not pick,{_source} sensor check no cassette");
return Result.FAIL;
}
if (WaferManager.Instance.GetWafer(_source, _sourceSlot).WaferStatus != WaferStatus.Normal)

View File

@ -118,7 +118,7 @@ namespace SicModules.EFEMs.Routines
{
if (!_cassALInch.Value)
{
EV.PostWarningLog(Module, $"Can not place,{_target} sensor check no cassette");
EV.PostAlarmLog(Module, $"Can not place,{_target} sensor check no cassette");
return Result.FAIL;
}
}
@ -126,7 +126,7 @@ namespace SicModules.EFEMs.Routines
{
if (!_cassARInch.Value)
{
EV.PostWarningLog(Module, $"Can not place,{_target} sensor check no cassette");
EV.PostAlarmLog(Module, $"Can not place,{_target} sensor check no cassette");
return Result.FAIL;
}
}

View File

@ -929,7 +929,14 @@ namespace SicModules.PMs
public override bool CheckSlitValveClose()
{
return false; //ChamberDoor.IsClose;
if(Module == ModuleName.PM1.ToString())
{
return DEVICE.GetDevice<IoSensor>("TM.ReactorADoorClosed").Value;
}
else
{
return DEVICE.GetDevice<IoSensor>("TM.ReactorBDoorClosed").Value;
}
}
/// <summary>

View File

@ -123,6 +123,12 @@ namespace SicModules.PMs.RecipeExecutions
{
Reset();
if(!PmDevice.CheckSlitValveClose())
{
EV.PostAlarmLog(Module, $"can not run process, {Module} SlitValve Opened");
return Result.FAIL;
}
if (!RecipeParser.Parse(_recipeName, Module, out var recipeHead, out var recipeSteps, out string reason))
{
Stop($"Load recipe {_recipeName} failed, {reason}");

View File

@ -204,6 +204,12 @@ namespace SicModules.PMs.Routines
_IoThrottle = DEVICE.GetDevice<IoThrottleValve2>($"{Module}.TV");
_pmInterLock = DEVICE.GetDevice<IoInterLock>($"{Module}.PMInterLock");
if (!PmDevice.CheckSlitValveClose())
{
EV.PostAlarmLog(Module, $"can not run ProcessIdle, {Module} SlitValve Opened");
return Result.FAIL;
}
if (!_pmInterLock.SetPMProcessIdleRunning(true, out string reason))
{
EV.PostAlarmLog(Module, $"can not run ProcessIdle, {reason}");

View File

@ -518,20 +518,25 @@ namespace SicModules.TMs.Routines
return true;
}, () =>
{
double tmPressure = tm.ChamberPressure;
double targetPressure = 0.0;
if (ModuleHelper.IsPm(_paramTarget))
if(isOpen)
{
targetPressure = DEVICE.GetDevice<IoPressure>($"{module}.PT1").FeedBack;
double tmPressure = tm.ChamberPressure;
double targetPressure = 0.0;
if (ModuleHelper.IsPm(_paramTarget))
{
targetPressure = DEVICE.GetDevice<IoPressure>($"{module}.PT1").FeedBack;
}
else
{
Stop($"{module} not define pressure condition");
return false;
}
return Math.Abs(tmPressure - targetPressure) <= _maxPressureDiffOpenSlitValve;
}
else
{
Stop($"{module} not define pressure condition");
return false;
}
return Math.Abs(tmPressure - targetPressure) <= _maxPressureDiffOpenSlitValve;
return true;
},
timeDelay * 1000);

View File

@ -887,36 +887,43 @@
<config default="5000" name="Scale" description="Scale" max="10000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="1500" name="DefaultSetPoint" description="DefaultSetPoint" max="3000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="0" name="Offset" description="PC Offset" max="1000" min="-1000" paramter="" tag="" unit="mbar" type="Double" />
<config default="false" name="EnableAlarm" description="Enable Alarm" max="" min="" paramter="" tag="" unit="" type="Bool" visible="true" />
</configs>
<configs name="PC2">
<config default="5000" name="Scale" description="Scale" max="10000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="1500" name="DefaultSetPoint" description="DefaultSetPoint" max="3000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="0" name="Offset" description="PC Offset" max="1000" min="-1000" paramter="" tag="" unit="mbar" type="Double" />
<config default="false" name="EnableAlarm" description="Enable Alarm" max="" min="" paramter="" tag="" unit="" type="Bool" visible="true" />
</configs>
<configs name="PC3">
<config default="5000" name="Scale" description="Scale" max="10000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="1900" name="DefaultSetPoint" description="DefaultSetPoint" max="3000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="0" name="Offset" description="PC Offset" max="1000" min="-1000" paramter="" tag="" unit="mbar" type="Double" />
<config default="false" name="EnableAlarm" description="Enable Alarm" max="" min="" paramter="" tag="" unit="" type="Bool" visible="true" />
</configs>
<configs name="PC4">
<config default="10000" name="Scale" description="Scale" max="10000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="1200" name="DefaultSetPoint" description="DefaultSetPoint" max="3000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="0" name="Offset" description="PC Offset" max="1000" min="-1000" paramter="" tag="" unit="mbar" type="Double" />
<config default="false" name="EnableAlarm" description="Enable Alarm" max="" min="" paramter="" tag="" unit="" type="Bool" visible="true" />
</configs>
<configs name="PC5">
<config default="10000" name="Scale" description="Scale" max="10000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="1260" name="DefaultSetPoint" description="DefaultSetPoint" max="3000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="0" name="Offset" description="PC Offset" max="1000" min="-1000" paramter="" tag="" unit="mbar" type="Double" />
<config default="false" name="EnableAlarm" description="Enable Alarm" max="" min="" paramter="" tag="" unit="" type="Bool" visible="true" />
</configs>
<configs name="PC6">
<config default="10000" name="Scale" description="Scale" max="10000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="1260" name="DefaultSetPoint" description="DefaultSetPoint" max="3000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="0" name="Offset" description="PC Offset" max="1000" min="-1000" paramter="" tag="" unit="mbar" type="Double" />
<config default="false" name="EnableAlarm" description="Enable Alarm" max="" min="" paramter="" tag="" unit="" type="Bool" visible="true" />
</configs>
<configs name="PC7">
<config default="10000" name="Scale" description="Scale" max="10000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="1260" name="DefaultSetPoint" description="DefaultSetPoint" max="3000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="0" name="Offset" description="PC Offset" max="1000" min="-1000" paramter="" tag="" unit="mbar" type="Double" />
<config default="false" name="EnableAlarm" description="Enable Alarm" max="" min="" paramter="" tag="" unit="" type="Bool" visible="true" />
</configs>
</configs>
<configs name="ConfinementRing">
@ -1026,6 +1033,9 @@
<config default="70" name="加热带温区4" description="HeatoutsidePane 温度上限设为0忽略报警" max="100" min="0" paramter="" tag="" unit="℃" type="Double" />
<config default="70" name="加热带温区5" description="HeatoutsideSH 温度上限设为0忽略报警" max="100" min="0" paramter="" tag="" unit="℃" type="Double" />
<config default="70" name="加热带温区6" description="HeatLeakBypass 温度上限设为0忽略报警" max="100" min="0" paramter="" tag="" unit="℃" type="Double" />
<config default="0" name="PumpLineTempLimt" description="PumpLineTempLimt 温度上限设为0忽略报警" max="200" min="0" paramter="" tag="" unit="℃" type="Double" />
<config default="Warning" name="PumpLineTempAlarm" description="报警等级(加热带温区1-6固定为Warning)" max="" min="" paramter="Warning;Alarm" tag="ReadOnlySelection" unit="" type="String" visible="true" />
</configs>
<configs name="TempSensor">
<config default="AKunTemp.t1" name="MiddleTemp" description="设置Middle温度数据通道重启生效" max="" min="" paramter="AETemp.t1;AETemp.t2;AETemp.t3;AETemp.t4;AKunTemp.t1;AKunTemp.t2;AKunTemp.t3;AKunTemp.t4;SensorTemp1.t1;SensorTemp2.t1;SensorTemp3.t1;SensorTemp4.t1;StrongTemp1.t1;StrongTemp2.t1;StrongTemp3.t1;StrongTemp4.t1;Disabled" tag="ReadOnlySelection" unit="" type="String" />
@ -1426,36 +1436,43 @@
<config default="5000" name="Scale" description="Scale" max="10000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="1500" name="DefaultSetPoint" description="DefaultSetPoint" max="3000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="0" name="Offset" description="PC Offset" max="1000" min="-1000" paramter="" tag="" unit="mbar" type="Double" />
<config default="false" name="EnableAlarm" description="Enable Alarm" max="" min="" paramter="" tag="" unit="" type="Bool" visible="true" />
</configs>
<configs name="PC2">
<config default="5000" name="Scale" description="Scale" max="10000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="1500" name="DefaultSetPoint" description="DefaultSetPoint" max="3000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="0" name="Offset" description="PC Offset" max="1000" min="-1000" paramter="" tag="" unit="mbar" type="Double" />
<config default="false" name="EnableAlarm" description="Enable Alarm" max="" min="" paramter="" tag="" unit="" type="Bool" visible="true" />
</configs>
<configs name="PC3">
<config default="5000" name="Scale" description="Scale" max="10000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="1900" name="DefaultSetPoint" description="DefaultSetPoint" max="3000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="0" name="Offset" description="PC Offset" max="1000" min="-1000" paramter="" tag="" unit="mbar" type="Double" />
<config default="false" name="EnableAlarm" description="Enable Alarm" max="" min="" paramter="" tag="" unit="" type="Bool" visible="true" />
</configs>
<configs name="PC4">
<config default="10000" name="Scale" description="Scale" max="10000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="1200" name="DefaultSetPoint" description="DefaultSetPoint" max="3000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="0" name="Offset" description="PC Offset" max="1000" min="-1000" paramter="" tag="" unit="mbar" type="Double" />
<config default="false" name="EnableAlarm" description="Enable Alarm" max="" min="" paramter="" tag="" unit="" type="Bool" visible="true" />
</configs>
<configs name="PC5">
<config default="10000" name="Scale" description="Scale" max="10000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="1260" name="DefaultSetPoint" description="DefaultSetPoint" max="3000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="0" name="Offset" description="PC Offset" max="1000" min="-1000" paramter="" tag="" unit="mbar" type="Double" />
<config default="false" name="EnableAlarm" description="Enable Alarm" max="" min="" paramter="" tag="" unit="" type="Bool" visible="true" />
</configs>
<configs name="PC6">
<config default="10000" name="Scale" description="Scale" max="10000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="1260" name="DefaultSetPoint" description="DefaultSetPoint" max="3000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="0" name="Offset" description="PC Offset" max="1000" min="-1000" paramter="" tag="" unit="mbar" type="Double" />
<config default="false" name="EnableAlarm" description="Enable Alarm" max="" min="" paramter="" tag="" unit="" type="Bool" visible="true" />
</configs>
<configs name="PC7">
<config default="10000" name="Scale" description="Scale" max="10000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="1260" name="DefaultSetPoint" description="DefaultSetPoint" max="3000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="0" name="Offset" description="PC Offset" max="1000" min="-1000" paramter="" tag="" unit="mbar" type="Double" />
<config default="false" name="EnableAlarm" description="Enable Alarm" max="" min="" paramter="" tag="" unit="" type="Bool" visible="true" />
</configs>
</configs>
<configs name="ConfinementRing">
@ -1566,6 +1583,9 @@
<config default="70" name="加热带温区4" description="HeatoutsidePane 温度上限设为0忽略报警" max="100" min="0" paramter="" tag="" unit="℃" type="Double" />
<config default="70" name="加热带温区5" description="HeatoutsideSH 温度上限设为0忽略报警" max="100" min="0" paramter="" tag="" unit="℃" type="Double" />
<config default="70" name="加热带温区6" description="HeatLeakBypass 温度上限设为0忽略报警" max="100" min="0" paramter="" tag="" unit="℃" type="Double" />
<config default="0" name="PumpLineTempLimt" description="PumpLineTempLimt 温度上限设为0忽略报警" max="200" min="0" paramter="" tag="" unit="℃" type="Double" />
<config default="Warning" name="PumpLineTempAlarm" description="报警等级(加热带温区1-6固定为Warning)" max="" min="" paramter="Warning;Alarm" tag="ReadOnlySelection" unit="" type="String" visible="true" />
</configs>
<configs name="TempSensor">
@ -1919,10 +1939,10 @@
<configs name="AETemp">
<config default="false" name="EnableDevice" description="AE启用设置后重启生效" max="" min="" paramter="" tag="" unit="" type="Bool" />
<config default="192.168.1.104:1001" name="Address" description="AE IP addressDefault IP: 192.168.1.104:1001" max="" min="" paramter="" tag="" unit="" type="String" />
<config default="true" name="Channel1" description="AE通道1用,重启生效" max="" min="" paramter="" tag="" unit="" type="Bool" />
<config default="true" name="Channel2" description="AE通道2用,重启生效" max="" min="" paramter="" tag="" unit="" type="Bool" />
<config default="true" name="Channel3" description="AE通道3用,重启生效" max="" min="" paramter="" tag="" unit="" type="Bool" />
<config default="true" name="Channel4" description="AE通道4用,重启生效" max="" min="" paramter="" tag="" unit="" type="Bool" />
<config default="true" name="Channel1" description="AE通道1用,重启生效" max="" min="" paramter="" tag="" unit="" type="Bool" />
<config default="true" name="Channel2" description="AE通道2用,重启生效" max="" min="" paramter="" tag="" unit="" type="Bool" />
<config default="true" name="Channel3" description="AE通道3用,重启生效" max="" min="" paramter="" tag="" unit="" type="Bool" />
<config default="true" name="Channel4" description="AE通道4用,重启生效" max="" min="" paramter="" tag="" unit="" type="Bool" />
</configs>
<configs name="AKunTemp">

View File

@ -1746,7 +1746,13 @@ namespace SicRT.Modules
// Cooling
if (!_unload.CheckCoolingCompleted())
{
GetWaferSequenceCoolingTime(_unload.Module, 0, out var coolingTime);
GetWaferSequenceCoolingTime(_unload.Module, 0, out int coolingTime);
if(coolingTime < 1)
{
coolingTime = 300;
}
_unload.Cooling(true, coolingTime);
return;
}
@ -2929,6 +2935,15 @@ namespace SicRT.Modules
{
return;
}
if (!(_buffer.HasTrayAndNotExceedProcessCount(0) && _buffer.NoWafer(0)) &&
!_cassetteBL.HasTrayAndNotExceedProcessCount(0) &&
!_cassetteBL.HasTrayAndNotExceedProcessCount(2) &&
!_cassetteBL.HasTrayAndNotExceedProcessCount(4) &&
!_cassetteBL.HasTrayAndNotExceedProcessCount(6))
{
return;
}
}
if (CheckWaferNeedProcess(position.Module, position.Slot, ModuleName.PM2))
@ -2937,6 +2952,15 @@ namespace SicRT.Modules
{
return;
}
if (!(_buffer.HasTrayAndNotExceedProcessCount(1) && _buffer.NoWafer(1)) &&
!_cassetteBL.HasTrayAndNotExceedProcessCount(1) &&
!_cassetteBL.HasTrayAndNotExceedProcessCount(3) &&
!_cassetteBL.HasTrayAndNotExceedProcessCount(5) &&
!_cassetteBL.HasTrayAndNotExceedProcessCount(7))
{
return;
}
}

View File

@ -76,10 +76,15 @@ namespace SicRT.Instances
if (Singleton<EquipmentManager>.Instance.Modules[ModuleName.PM2].IsInstalled)
IoManager.Instance.Initialize($"{PathManager.GetCfgDir()}pm\\pm2\\interlockPM2.xml");
Singleton<ProcessHistoryItemsDefault>.Instance.Initialize();
//! DataCollectionManager必须在最后初始化否则在其之后注册的DATA数据均会被忽略
Singleton<DataCollectionManager>.Instance.Initialize();
Singleton<ProcessHistoryItemsDefault>.Instance.Initialize();
//开启循环删除数据库
Singleton<DataBaseCleanerManager>.Instance.Initialize();
}

View File

@ -51,5 +51,5 @@ using System.Windows;
// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
// 方法是按如下所示使用“*”: :
[assembly: AssemblyVersion("1.1.4.15")]
[assembly: AssemblyVersion("1.1.4.18")]
[assembly: AssemblyInformationalVersion("自动通用版有EFEM")]

View File

@ -3,6 +3,59 @@
Auto-GE 自动通用版适用有EFEM设备
----
## Version 1.1.4.21
**2024-02-02**
- Bug修复
-
- 新特性
-1.ProcessIdle前增加闸板阀关闭检查
-2.Process前增加闸板阀关闭检查
-3.隔热罩升起时检测TMRobot Extend Enable信号
## Version 1.1.4.20
**2024-02-01**
- Bug修复
- 1.添加TM DO09、DO11、DO13、DO15与DI-31的互锁
- 新特性
-
## Version 1.1.4.19
**2024-01-25**
- Bug修复
- 1.Robot的状态提示Warning改为Info
- 新特性
-
## Version 1.1.4.18
**2024-01-23**
- Bug修复
- 修正EFEM Aligner 功能按钮不生效的问题
- 新特性
- EFEM界面Aligner 功能可以显示参数Simulator对新的Aligner指令进行响应
- PC报警无输出内容添加配置项
## Version 1.1.4.17
**2024-01-18**
- Bug修复
- 修正安装文件中错误包含_AccountEx.xml的问题
- 新特性
- 优化Process历史记录查询
- 控件模块是否在线禁用右击菜单和拖拽修改模块PM1,PM1,Load,UnLoad
## Version 1.1.4.16
**2024-01-15**
- Bug修复
- 修改PM和TM闸板阀打开和关闭时的检测逻辑
- 取Wafer时判断Buffer和Cassette里是否有对应的Tray
- Cassette不存在由Warning改为Alarm
- PM CoolingWater U4 D0-195配置项修改
- 新特性
- 无
## Version 1.1.4.15
**2024-01-09**

View File

@ -581,6 +581,7 @@ echo 清理SicRT文件夹
del "$(ProjectDir)..\Packages\SicRT\*.pdb"
if exist "$(ProjectDir)..\Packages\SicRT\Config\Account\_Account.xml" del "$(ProjectDir)..\Packages\SicRT\Config\Account\_Account.xml"
if exist "$(ProjectDir)..\Packages\SicRT\Config\Account\_AccountEx.xml" del "$(ProjectDir)..\Packages\SicRT\Config\Account\_AccountEx.xml"
if exist "$(ProjectDir)..\Packages\SicRT\Objects" del "$(ProjectDir)..\Packages\SicRT\Objects\*.obj"
if exist "$(ProjectDir)..\Packages\SicRT\Logs" rd "$(ProjectDir)..\Packages\SicRT\Logs" /s /q
if exist "$(ProjectDir)..\Packages\SicRT\Recipes" rd "$(ProjectDir)..\Packages\SicRT\Recipes" /s /q</PreBuildEvent>

View File

@ -59,6 +59,7 @@
<DI_ITEM Index="70" Name="DI_EMOStatusSW" BufferOffset="70" Addr="70" Description="" />
<DI_ITEM Index="71" Name="DI_PumpCabDoorClosed" BufferOffset="71" Addr="71" Description="" />
<DI_ITEM Index="72" Name="DI_FacilityWarningSW" BufferOffset="72" Addr="72" Description="" />
<DI_ITEM Index="73" Name="DI_TailPipeTempCtrlAlarm" BufferOffset="73" Addr="73" Description="" />
<DI_ITEM Index="76" Name="DI_MainCBStatusSW" BufferOffset="76" Addr="76" Description="" />
<DI_ITEM Index="77" Name="DI_PowerRackWaterLeakSW" BufferOffset="77" Addr="77" Description="" />
<DI_ITEM Index="78" Name="DI_UPS1Enable" BufferOffset="78" Addr="78" Description="" />
@ -436,6 +437,8 @@
<AI_ITEM Index="23" Name="AI_HeatoutsidePanel" BufferOffset="23" Addr="23" Description="" />
<AI_ITEM Index="24" Name="AI_HeatoutsideSH" BufferOffset="24" Addr="24" Description="" />
<AI_ITEM Index="25" Name="AI_HeatLeakBypass" BufferOffset="25" Addr="25" Description="" />
<AI_ITEM Index="26" Name="AI_HeatTailFilter" BufferOffset="26" Addr="26" Description="" />
<AI_ITEM Index="27" Name="AI_HeatTailPipe" BufferOffset="27" Addr="27" Description="" />
<AI_ITEM Index="32" Name="AI_M1" BufferOffset="32" Addr="32" Description="" />
<AI_ITEM Index="33" Name="AI_M2" BufferOffset="33" Addr="33" Description="" />
<AI_ITEM Index="34" Name="AI_M3" BufferOffset="34" Addr="34" Description="" />

View File

@ -370,7 +370,7 @@
Canvas.Top="183"
Width="60"
Height="60"
IsEnabled="{Binding EnableWaferClick}"
IsEnabled="{Binding PM1EnableWaferClick}"
IsRotary="{Binding IsPm1WaferRotary}"
ToolTipService.ShowOnDisabled="True"
WaferData="{Binding PM1Wafer}" />
@ -387,7 +387,7 @@
Canvas.Top="184"
Width="60"
Height="60"
IsEnabled="{Binding EnableWaferClick}"
IsEnabled="{Binding PM2EnableWaferClick}"
IsRotary="{Binding IsPm2WaferRotary}"
ToolTipService.ShowOnDisabled="True"
WaferData="{Binding PM2Wafer}" />
@ -404,7 +404,7 @@
Canvas.Top="358"
Width="60"
Height="60"
IsEnabled="{Binding EnableWaferClick}"
IsEnabled="{Binding UnLoadEnableWaferClick}"
ToolTipService.ShowOnDisabled="True"
WaferData="{Binding UnLoadWafer}" />
</Canvas>
@ -415,7 +415,7 @@
Canvas.Top="476"
Width="60"
Height="60"
IsEnabled="{Binding EnableWaferClick}"
IsEnabled="{Binding LoadLockEnableWaferClick}"
ToolTipService.ShowOnDisabled="True"
WaferData="{Binding LoadLockWafer}" />
</Canvas>

View File

@ -192,7 +192,7 @@
Canvas.Top="183"
Width="60"
Height="60"
IsEnabled="{Binding EnableWaferClick}"
IsEnabled="{Binding PM1EnableWaferClick}"
IsRotary="{Binding IsPm1WaferRotary}"
WaferData="{Binding PM1Wafer}" />
</Canvas>
@ -208,7 +208,7 @@
Canvas.Top="184"
Width="60"
Height="60"
IsEnabled="{Binding EnableWaferClick}"
IsEnabled="{Binding PM2EnableWaferClick}"
IsRotary="{Binding IsPm2WaferRotary}"
WaferData="{Binding PM2Wafer}" />
</Canvas>
@ -224,7 +224,7 @@
Canvas.Top="358"
Width="66"
Height="60"
IsEnabled="{Binding EnableWaferClick}"
IsEnabled="{Binding UnLoadEnableWaferClick}"
WaferData="{Binding UnLoadWafer}" />
</Canvas>
<Canvas Visibility="{Binding IsLLInstalled, Converter={StaticResource BoolVisibilityConverter}}">
@ -239,7 +239,7 @@
Canvas.Top="477"
Width="60"
Height="60"
IsEnabled="{Binding EnableWaferClick}"
IsEnabled="{Binding LoadLockEnableWaferClick}"
WaferData="{Binding LoadLockWafer}" />
</Canvas>
</Canvas>

View File

@ -39,6 +39,7 @@ using MECF.Framework.UI.Client.Core;
using MECF.Framework.UI.Client.ClientBase.Dialog;
using MECF.Framework.Common.Account.Permissions;
using MECF.Framework.Common.MECF.Framework.Common.SCCore;
using System.Text.RegularExpressions;
namespace SicUI.Client
{

View File

@ -8,16 +8,16 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:deviceControl="clr-namespace:Aitex.Core.UI.DeviceControl;assembly=MECF.Framework.UI.Core"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:lex="http://wpflocalizeextension.codeplex.com"
xmlns:local="clr-namespace:SicUI.Models.Maintenances.TM"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:unitControls="clr-namespace:MECF.Framework.UI.Client.Ctrlib.UnitControls;assembly=MECF.Framework.UI.Client"
xmlns:lex="http://wpflocalizeextension.codeplex.com"
d:DesignHeight="800"
d:DesignWidth="1980"
mc:Ignorable="d"
lex:LocalizeDictionary.DesignCulture="en"
lex:ResxLocalizationProvider.DefaultAssembly="Sicentury.Localization"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common">
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
mc:Ignorable="d">
<ScrollViewer
HorizontalScrollBarVisibility="Auto"
IsEnabled="{Binding IsPermission}"
@ -170,9 +170,9 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
HorizontalAlignment="Center"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -344,8 +344,8 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -359,8 +359,8 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -375,9 +375,9 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
HorizontalAlignment="Center"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -546,8 +546,8 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -564,10 +564,10 @@
BorderThickness="0,0,0,1">
<StackPanel Orientation="Horizontal">
<Button
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Width="100"
Height="25"
Margin="40,0"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Content="{lex:Loc ID_BTN_VacuumOn_Content}"
IsEnabled="{Binding IsWaferRobotEnableManualOperation}">
<i:Interaction.Triggers>
@ -578,10 +578,10 @@
</Button>
<Button
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Width="100"
Height="25"
Margin="5,0,0,0"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Content="{lex:Loc ID_BTN_VacuumOff_Content}"
IsEnabled="{Binding IsWaferRobotEnableManualOperation}">
<i:Interaction.Triggers>
@ -638,8 +638,8 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -653,8 +653,8 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -669,9 +669,9 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
HorizontalAlignment="Center"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -840,8 +840,8 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -858,10 +858,10 @@
BorderThickness="0,0,0,1">
<StackPanel Orientation="Horizontal">
<Button
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Width="100"
Height="25"
Margin="40,0"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Content="{lex:Loc ID_BTN_ClawOpen_Content}"
IsEnabled="{Binding IsTrayRobotEnableManualOperation}">
<i:Interaction.Triggers>
@ -872,10 +872,10 @@
</Button>
<Button
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Width="100"
Height="25"
Margin="5,0,0,0"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Content="{lex:Loc ID_BTN_ClawClamp_Content}"
IsEnabled="{Binding IsTrayRobotEnableManualOperation}">
<i:Interaction.Triggers>
@ -947,8 +947,8 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -1088,8 +1088,8 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -1153,8 +1153,8 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -1191,11 +1191,11 @@
GreenColor="True"
LightOnValue="{Binding LoadLiftUpSensor}" />
<Button
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Width="80"
Height="24"
Margin="10,0"
HorizontalAlignment="Left"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Content="{lex:Loc ID_BTN_Up_Content}"
IsEnabled="{Binding IsLLEnableManualOperation}">
<i:Interaction.Triggers>
@ -1210,11 +1210,11 @@
GreenColor="True"
LightOnValue="{Binding LoadLiftDownSensor}" />
<Button
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Width="80"
Height="24"
Margin="10,0"
HorizontalAlignment="Left"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Content="{lex:Loc ID_BTN_Down_Content}"
IsEnabled="{Binding IsLLEnableManualOperation}">
<i:Interaction.Triggers>
@ -1233,8 +1233,8 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -1249,8 +1249,8 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -1267,11 +1267,11 @@
BorderThickness="1,0,1,1">
<StackPanel Orientation="Horizontal">
<Button
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Width="80"
Height="24"
Margin="10,0"
HorizontalAlignment="Left"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Content="{lex:Loc ID_BTN_ClawOpen_Content}"
IsEnabled="{Binding IsLLEnableManualOperation}">
<i:Interaction.Triggers>
@ -1281,11 +1281,11 @@
</i:Interaction.Triggers>
</Button>
<Button
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Width="80"
Height="24"
Margin="10,0"
HorizontalAlignment="Left"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Content="{lex:Loc ID_BTN_ClawClamp_Content}"
IsEnabled="{Binding IsLLEnableManualOperation}">
<i:Interaction.Triggers>
@ -1305,8 +1305,8 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -1321,8 +1321,8 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -1339,11 +1339,11 @@
BorderThickness="1,0,1,1">
<StackPanel Orientation="Horizontal">
<Button
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Width="80"
Height="24"
Margin="10,0"
HorizontalAlignment="Left"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Content="{lex:Loc ID_BTN_ClawOpen_Content}"
IsEnabled="{Binding IsLLEnableManualOperation}">
<i:Interaction.Triggers>
@ -1353,11 +1353,11 @@
</i:Interaction.Triggers>
</Button>
<Button
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Width="80"
Height="24"
Margin="10,0"
HorizontalAlignment="Left"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Content="{lex:Loc ID_BTN_ClawClamp_Content}"
IsEnabled="{Binding IsLLEnableManualOperation}">
<i:Interaction.Triggers>
@ -1376,8 +1376,8 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -1480,8 +1480,8 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -1622,8 +1622,8 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -1688,8 +1688,8 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -1704,8 +1704,8 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -1722,11 +1722,11 @@
BorderThickness="1,0,1,1">
<StackPanel Orientation="Horizontal">
<Button
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Width="80"
Height="24"
Margin="10,0"
HorizontalAlignment="Left"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Content="{lex:Loc ID_BTN_ClawOpen_Content}"
IsEnabled="{Binding IsUnLoadEnableManualOperation}">
<i:Interaction.Triggers>
@ -1736,11 +1736,11 @@
</i:Interaction.Triggers>
</Button>
<Button
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Width="80"
Height="24"
Margin="10,0"
HorizontalAlignment="Left"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Content="{lex:Loc ID_BTN_ClawClamp_Content}"
IsEnabled="{Binding IsUnLoadEnableManualOperation}">
<i:Interaction.Triggers>
@ -1760,8 +1760,8 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -1807,8 +1807,8 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -1845,11 +1845,11 @@
GreenColor="True"
LightOnValue="{Binding UnLoadLiftUpSensor}" />
<Button
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Width="80"
Height="24"
Margin="10,0"
HorizontalAlignment="Left"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Content="{lex:Loc ID_BTN_Up_Content}"
IsEnabled="{Binding IsUnLoadEnableManualOperation}">
<i:Interaction.Triggers>
@ -1864,11 +1864,11 @@
GreenColor="True"
LightOnValue="{Binding UnLoadLiftDownSensor}" />
<Button
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Width="80"
Height="24"
Margin="10,0"
HorizontalAlignment="Left"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Content="{lex:Loc ID_BTN_Down_Content}"
IsEnabled="{Binding IsUnLoadEnableManualOperation}">
<i:Interaction.Triggers>
@ -1882,7 +1882,8 @@
</Grid>
</StackPanel>
<StackPanel
Grid.Row="1"
Grid.Column="2"
@ -1890,7 +1891,8 @@
Margin="0,-30,0,0"
HorizontalAlignment="Left"
Orientation="Horizontal">
<Grid Width="420" Margin="0,0">
<Grid Width="400" Margin="0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80" />
<ColumnDefinition Width="*" />
@ -1903,6 +1905,8 @@
<RowDefinition Height="32" />
<RowDefinition Height="32" />
<RowDefinition Height="32" />
<RowDefinition Height="32" />
<RowDefinition Height="32" />
</Grid.RowDefinitions>
<!-- Row 1 -->
<Label
@ -1935,10 +1939,12 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,0,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
HorizontalAlignment="Center"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
@ -1999,12 +2005,14 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<StackPanel Orientation="Horizontal">
<Button
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Width="80"
Height="25"
Margin="10,0"
lex:ResxLocalizationProvider.DefaultDictionary="lang_efemview"
Content="{lex:Loc ID_BTN_Align_Content}"
IsEnabled="{Binding IsEnableAligner}">
<i:Interaction.Triggers>
@ -2047,18 +2055,7 @@
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<Button
Width="80"
Height="25"
Margin="10,0"
Content="寻边"
IsEnabled="{Binding IsEnableAligner}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Aligner_BAL" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<Button
Width="80"
Height="25"
@ -2075,11 +2072,23 @@
Width="80"
Height="25"
Margin="10,0"
Content="读取真空"
Content="量测中心"
IsEnabled="{Binding IsEnableAligner}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Aligner_CVD" />
<cal:ActionMessage MethodName="Aligner_MTM" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<Button
Width="80"
Height="25"
Margin="10,0"
Content="寻边"
IsEnabled="{Binding IsEnableAligner}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Aligner_BAL" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
@ -2090,7 +2099,38 @@
<Border
Grid.Row="4"
Grid.Column="0"
Grid.ColumnSpan="4"
Padding="5,1"
Background="{DynamicResource Table_BG_Title}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,0,1">
<TextBlock
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Vacuum"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="4"
Grid.Column="1"
Padding="5,1"
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,0,1">
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{Binding AlignerVacuum}"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="4"
Grid.Column="2"
Grid.ColumnSpan="2"
Padding="0,1,0,1"
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
@ -2100,14 +2140,57 @@
Width="80"
Height="25"
Margin="10,0"
Content="量测中心"
Content="读取真空"
IsEnabled="{Binding IsEnableAligner}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Aligner_MTM" />
<cal:ActionMessage MethodName="Aligner_CVD" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
</StackPanel>
</Border>
<!-- Row 5 -->
<Border
Grid.Row="5"
Grid.Column="0"
Padding="5,1"
Background="{DynamicResource Table_BG_Title}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,0,1">
<TextBlock
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Pre-Error"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="5"
Grid.Column="1"
Padding="5,1"
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,0,1">
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{Binding AlignerPError}"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="5"
Grid.Column="2"
Grid.ColumnSpan="2"
Padding="0,1,0,1"
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<StackPanel Orientation="Horizontal">
<Button
Width="80"
@ -2136,6 +2219,39 @@
</Button>
</StackPanel>
</Border>
<!-- Row 6 -->
<Border
Grid.Row="6"
Grid.Column="0"
Padding="5,1"
Background="{DynamicResource Table_BG_Title}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,0,1">
<TextBlock
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Response"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="6"
Grid.Column="1"
Grid.ColumnSpan="3"
Padding="5,1"
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,0,1">
<TextBlock
HorizontalAlignment="Left"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{Binding AlignerResponse}"
TextWrapping="Wrap" />
</Border>
</Grid>
</StackPanel>

View File

@ -103,6 +103,16 @@ namespace SicUI.Models.Maintenances.TM
}
#endregion
#region
[Subscription("Rt.Status")]
public string RtStatus { get; set; }
public bool UnLoadEnableWaferClick => !UnLoadIsOnline || RtStatus == "Idle";
public bool LoadLockEnableWaferClick => !LLIsOnline || RtStatus == "Idle";
#endregion
#region EFEM,Aligner
[Subscription("EFEM.Status")]
@ -111,6 +121,15 @@ namespace SicUI.Models.Maintenances.TM
[Subscription("EFEM.IsOnline")]
public bool EFEMIsOnline { get; set; }
[Subscription("Aligner.HiWinAligner.Vacuum")]
public string AlignerVacuum { get; set; }
[Subscription("Aligner.HiWinAligner.PError")]
public string AlignerPError { get; set; }
[Subscription("Aligner.HiWinAligner.Response")]
public string AlignerResponse { get; set; }
public bool IsEFEMEnableManualOperation => !EFEMIsOnline && EFEMStatus == "Idle";
public bool IsWaferRobotEnableManualOperation => !WaferRobotIsOnline && WaferRobotState == "Idle";
@ -121,34 +140,34 @@ namespace SicUI.Models.Maintenances.TM
InvokeClient.Instance.Service.DoOperation($"Aligner.Home");
}
//开启真空
//开启真空1
public void Aligner_CVN()
{
InvokeClient.Instance.Service.DoOperation($"Aligner.HiWinAligner.HwVacuumOn");
InvokeClient.Instance.Service.DoOperation($"Aligner.HiWinAligner.HwCVN");
}
//晶圆寻边与辅正
//晶圆寻边与辅正1
public void Aligner_BAL()
{
InvokeClient.Instance.Service.DoOperation($"Aligner.HiWinAligner.HwAlign");
InvokeClient.Instance.Service.DoOperation($"Aligner.HiWinAligner.HwBAL");
}
//关闭真空
//关闭真空1
public void Aligner_CVF()
{
InvokeClient.Instance.Service.DoOperation($"Aligner.HiWinAligner.HwVacuumOff");
InvokeClient.Instance.Service.DoOperation($"Aligner.HiWinAligner.HwCVF");
}
//读取真空值
//读取真空值1
public void Aligner_CVD()
{
InvokeClient.Instance.Service.DoOperation($"Aligner.HiWinAligner.HwCVD");
}
//移至测量中心点
//移至测量中心点1
public void Aligner_MTM()
{
InvokeClient.Instance.Service.DoOperation($"Aligner.HiWinAligner.HwMoveToMeasurement");
InvokeClient.Instance.Service.DoOperation($"Aligner.HiWinAligner.HwMTM");
}
//读取最后的错误信息
@ -160,7 +179,7 @@ namespace SicUI.Models.Maintenances.TM
//清除报警
public void Aligner_ERS()
{
InvokeClient.Instance.Service.DoOperation($"Aligner.HiWinAligner.HwClearError");
InvokeClient.Instance.Service.DoOperation($"Aligner.HiWinAligner.HwERS");
}
public void Aligner_Abort()

View File

@ -27,6 +27,18 @@ namespace SicUI.Client.Models.Platform.TM
public string RtStatus { get; set; }
public bool EnableWaferClick => RtStatus == "Idle";
//控件右击菜单
public bool PM1EnableWaferClick => !PM1IsOnline || RtStatus == "Idle";
public bool PM2EnableWaferClick => !PM2IsOnline || RtStatus == "Idle";
public bool UnLoadEnableWaferClick => !UnLoadIsOnline || RtStatus == "Idle";
public bool LoadLockEnableWaferClick => !LLIsOnline || RtStatus == "Idle";
//控件右击菜单
public bool LLEnableWaferClick => true;
public bool LoadValveIsEnable => !LLIsOnline;

View File

@ -690,9 +690,25 @@ namespace SicUI.Models.Operations.Overviews
#endregion
[Subscription("UnLoad.IsOnline")]
public bool IsOnlineUnLoad { get; set; }
[Subscription("LoadLock.IsOnline")]
public bool IsOnlineLL { get; set; }
#region Button Logic
//控件右击菜单
public bool EnableWaferClick => RtStatus == "Idle";
public bool PM1EnableWaferClick => !PM1IsOnline || RtStatus == "Idle";
public bool PM2EnableWaferClick => !PM2IsOnline || RtStatus == "Idle";
public bool UnLoadEnableWaferClick => !IsOnlineUnLoad || RtStatus == "Idle";
public bool LoadLockEnableWaferClick => !IsOnlineLL || RtStatus == "Idle";
//控件右击菜单
public bool LLEnableWaferClick => true;
public bool IsEnableAbort

View File

@ -54,5 +54,5 @@ using System.Windows;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.1.4.15")]
[assembly: AssemblyVersion("1.1.4.21")]
[assembly: AssemblyInformationalVersion("自动通用版有EFEM")]