1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684 |
- using Aitex.Core.Common.DeviceData;
- using MECF.Framework.Common.DataCenter;
- using MECF.Framework.Common.OperationCenter;
- using Prism.Commands;
- using Prism.Mvvm;
- using System;
- using System.Collections.Generic;
- using System.Windows;
- using System.Windows.Threading;
- using Venus_Core;
- using Venus_MainPages.Views;
- using System.Linq;
- using System.Threading.Tasks;
- using Microsoft.Win32;
- using System.IO;
- using Venus_Themes.CustomControls;
- using Venus_MainPages.Unity;
- using Venus_Unity;
- using MECF.Framework.Common.CommonData.DeviceData;
- using System.Windows.Shapes;
- using Path = System.IO.Path;
- using MECF.Framework.Common.Equipment;
- namespace Venus_MainPages.ViewModels
- {
- internal class OverKepler2200AViewModel : BindableBase
- {
- #region 私有字段
- private List<string> m_CurrentModuleRecipes=new List<string>();
- private bool m_PVN21ValveIsOpen;
- private bool m_PVN22ValveIsOpen;
- private bool m_N2ValveIsOpen;
- private bool m_PV11ValveIsOpen;
- private bool m_PV12ValveIsOpen;
- private bool m_PV21ValveIsOpen;
- private bool m_PV22ValveIsOpen;
- private bool m_PV31ValveIsOpen;
- private bool m_PV32ValveIsOpen;
- private bool m_PV41ValveIsOpen;
- private bool m_PV42ValveIsOpen;
- private bool m_MFC1ValveIsOpen;
- private bool m_MFC2ValveIsOpen;
- private bool m_MFC3ValveIsOpen;
- private bool m_MFC4ValveIsOpen;
- private bool m_MFC5ValveIsOpen;
- private bool m_MFC6ValveIsOpen;
- private bool m_MFC7ValveIsOpen;
- private bool m_MFC8ValveIsOpen;
- private bool m_GasFinalValveIsOpen;
- private bool m_SoftPumpValveIsOpen;
- private bool m_FastPumpValveIsOpen;
- private bool m_PVHe1ValveIsOpen;
- private bool m_PVHe2ValveIsOpen;
- private bool m_TurboPumpPumpingValveIsOpen;
- private bool m_TurboPumpPurgeValveIsOpen;
- private bool m_GuageValveIsOpen;
- private bool m_PendulumValveIsOpen;
- //private bool m_BRFIsOn;
- //private bool m_SRFIsOn;
- private double m_HeGasSetpoint;
- private int m_HePressureSetpoint;
- private float m_SRFFwdPowerSetpoint;
- private float m_BRFFwdPowerSetpoint;
- private float m_SRFMatchC1;
- private float m_SRFMatchC2;
- private float m_BRFMatchC1;
- private float m_BRFMatchC2;
- private double m_MFC1SetPoint;
- private double m_MFC2SetPoint;
- private double m_MFC3SetPoint;
- private double m_MFC4SetPoint;
- private double m_MFC5SetPoint;
- private double m_MFC6SetPoint;
- private double m_MFC7SetPoint;
- private double m_MFC8SetPoint;
- private double m_N2SetPoint;
- private AITMfcData m_MFC1Data;
- private AITMfcData m_MFC2Data;
- private AITMfcData m_MFC3Data;
- private AITMfcData m_MFC4Data;
- private AITMfcData m_MFC5Data;
- private AITMfcData m_MFC6Data;
- private AITMfcData m_MFC7Data;
- private AITMfcData m_MFC8Data;
- private AITMfcData m_MFCHeData;
- private AITMfcData m_MFCN2Data;
- private AITHeaterData m_ValveHeaterData;
- private AITHeaterData m_ForelineHeaterData;
- private AITHeaterData m_WallHeaterData;
- private AITRfData m_SRFData;
- private AITRfData m_BRFData;
- private AITPendulumValveData m_PendulumValveData;
- //private AITHVData m_ESCHVData;
- private PMState m_PMCurrentState;
- private bool m_SourceRFFanInterlock;
- private bool m_IsWLK;
- private bool m_IsWaterFlowOk;
- private bool m_IsTurboPumpInterlock;
- private bool m_IsCDAOK;
- private bool m_SensorGasBoxDoor;
- private bool m_SensorGasBoxPressure;
- private bool m_PumpIsOpen;
- private bool m_TurboIsOpen;
- private bool m_IsATM;
- private bool m_IsVAC;
- private List<string> m_RtDataKeys;
- private Dictionary<string, object> m_RtDataValues;
- private int m_PositionValue;
- private bool m_IsPositionMode;
- private int m_ESCVoltage;
- private bool m_GasIsFlowing;
- private bool m_IsProcessing;
- private bool m_IsAutoMode;
- private string m_SelectedRecipe;
- private float m_ChillerTempSetpoint;
- private float m_WallTempSetpoint;
- private bool m_HeIsPressureMode=true;
- private bool m_ChillerIsOn;
- private float m_ProcessHighPressure;
- private float m_ProcessLowPressure;
- private float m_ForelinePressurePressure;
- private float m_ESCHePressure;
- ButterflyValveView butterflyValveMessageBox;
- HeaterView heaterView;
- private int m_TurboPumpRotationalSpeed;
- private bool m_LiftPinIsUp;
- private bool m_IsSlitDoorClosed;
- private bool m_IsLidClosed;
- private float m_ChillerTemperature;
- //private float m_HVTemperature;
- private int m_ESCHVOutputVoltage;
- //private float m_SRfReflectPower;
- //private float m_SRfForwardPowerFeedBack;
- //private float m_BRfReflectPower;
- //private float m_BRfForwardPowerFeedBack;
- //private int m_MatchWorkMode;
- //private int m_BiasMatchWorkMode;
- private float m_MatchC1;
- private float m_MatchC2;
- private float m_BiasMatchC1;
- private float m_BiasMatchC2;
- private float m_PendulumValvePosition;
- private bool m_IsTurboPumpAtSpeed;
- private bool m_TurboPumpWaterFlowSwitch;
- private bool m_IsHasWafer;
- private Recipe m_CurrentRecipe=new Recipe ();
- private RecipeResult m_CurrentRecipeResult=new RecipeResult ();
- private RecipeStep m_CurrentRecipeStep = new RecipeStep();
- private double m_ChamberPressureFeedBack;
- private string m_WaferID;
- #endregion
- #region 属性
- public List<string> CurrentModuleRecipes
- {
- get { return m_CurrentModuleRecipes; }
- set { SetProperty(ref m_CurrentModuleRecipes, value); }
- }
- public Recipe CurrentRecipe
- {
- get { return m_CurrentRecipe; }
- set { SetProperty(ref m_CurrentRecipe, value); }
- }
- public RecipeResult CurrentRecipeResult
- {
- get { return m_CurrentRecipeResult; }
- set { SetProperty(ref m_CurrentRecipeResult, value); }
- }
- public RecipeStep CurrentRecipeStep
- {
- get { return m_CurrentRecipeStep; }
- set { SetProperty(ref m_CurrentRecipeStep, value); }
- }
- public bool IsHasWafer
- {
- get { return m_IsHasWafer; }
- set { SetProperty(ref m_IsHasWafer, value); }
- }
- public bool IsTurboPumpAtSpeed
- {
- get { return m_IsTurboPumpAtSpeed; }
- set { SetProperty(ref m_IsTurboPumpAtSpeed, value); }
- }
- public bool TurboPumpWaterFlowSwitch
- {
- get { return m_TurboPumpWaterFlowSwitch; }
- set { SetProperty(ref m_TurboPumpWaterFlowSwitch, value); }
- }
- public float PendulumValvePosition
- {
- get { return m_PendulumValvePosition; }
- set{SetProperty(ref m_PendulumValvePosition, value);}
- }
- public float BiasMatchC1
- {
- get { return m_BiasMatchC1; }
- set
- {
- SetProperty(ref m_BiasMatchC1, value);
- }
- }
- public float BiasMatchC2
- {
- get { return m_BiasMatchC2; }
- set
- {
- SetProperty(ref m_BiasMatchC2, value);
- }
- }
- public float MatchC1
- {
- get { return m_MatchC1; }
- set
- {
- SetProperty(ref m_MatchC1, value);
- }
- }
- public float MatchC2
- {
- get { return m_MatchC2; }
- set
- {
- SetProperty(ref m_MatchC2, value);
- }
- }
- public AITPendulumValveData PendulumValveData
- {
- get { return m_PendulumValveData; }
- set
- {
- SetProperty(ref m_PendulumValveData, value);
- }
- }
- //public AITHVData ESCHVData
- //{
- // get { return m_ESCHVData; }
- // set
- // {
- // SetProperty(ref m_ESCHVData, value);
- // }
- //}
- public int ESCHVOutputVoltage
- {
- get { return m_ESCHVOutputVoltage; }
- set
- {
- SetProperty(ref m_ESCHVOutputVoltage, value);
- }
- }
- public float ChillerTemperature
- {
- get { return m_ChillerTemperature; }
- set
- {
- SetProperty(ref m_ChillerTemperature, value);
- }
- }
- //public float HVTemperature
- //{
- // get { return m_HVTemperature; }
- // set
- // {
- // SetProperty(ref m_HVTemperature, value);
- // }
- //}
- public bool IsLidClosed
- {
- get { return m_IsLidClosed; }
- set
- {
- SetProperty(ref m_IsLidClosed, value);
- }
- }
- public bool IsSlitDoorClosed
- {
- get { return m_IsSlitDoorClosed; }
- set
- {
- SetProperty(ref m_IsSlitDoorClosed, value);
- }
- }
- public bool LiftPinIsUp
- {
- get { return m_LiftPinIsUp; }
- set
- {
- SetProperty(ref m_LiftPinIsUp, value);
- }
- }
- public int TurboPumpRotationalSpeed
- {
- get { return m_TurboPumpRotationalSpeed; }
- set
- {
- SetProperty(ref m_TurboPumpRotationalSpeed, value);
- }
- }
- public float ESCHePressure
- {
- get { return m_ESCHePressure; }
- set
- {
- SetProperty(ref m_ESCHePressure, value);
- }
- }
- public float ProcessHighPressure
- {
- get { return m_ProcessHighPressure; }
- set
- {
- SetProperty(ref m_ProcessHighPressure, value);
- }
- }
- public float ProcessLowPressure
- {
- get { return m_ProcessLowPressure; }
- set
- {
- SetProperty(ref m_ProcessLowPressure, value);
- }
- }
- public float ForelinePressure
- {
- get { return m_ForelinePressurePressure; }
- set
- {
- SetProperty(ref m_ForelinePressurePressure, value);
- }
- }
- public bool SourceRFFanInterlock
- {
- get { return m_SourceRFFanInterlock; }
- set
- {
- SetProperty(ref m_SourceRFFanInterlock, value);
- }
- }
- public bool IsWLK
- {
- get { return m_IsWLK; }
- set
- {
- SetProperty(ref m_IsWLK, value);
- }
- }
- public bool IsWaterFlowOk
- {
- get { return m_IsWaterFlowOk; }
- set
- {
- SetProperty(ref m_IsWaterFlowOk, value);
- }
- }
- public bool IsCDAOK
- {
- get { return m_IsCDAOK; }
- set
- {
- SetProperty(ref m_IsCDAOK, value);
- }
- }
- public bool SensorGasBoxDoor
- {
- get { return m_SensorGasBoxDoor; }
- set
- {
- SetProperty(ref m_SensorGasBoxDoor, value);
- }
- }
- public bool SensorGasBoxPressure
- {
- get { return m_SensorGasBoxPressure; }
- set
- {
- SetProperty(ref m_SensorGasBoxPressure, value);
- }
- }
- public bool IsTurboPumpInterlock
- {
- get { return m_IsTurboPumpInterlock; }
- set
- {
- SetProperty(ref m_IsTurboPumpInterlock, value);
- }
- }
- public string ModuleName { get; set; }
- public double MFC1SetPoint
- {
- get { return m_MFC1SetPoint; }
- set { SetProperty(ref m_MFC1SetPoint, value); }
- }
- public double MFC2SetPoint
- {
- get { return m_MFC2SetPoint; }
- set { SetProperty(ref m_MFC2SetPoint, value); }
- }
- public double MFC3SetPoint
- {
- get { return m_MFC3SetPoint; }
- set { SetProperty(ref m_MFC3SetPoint, value); }
- }
- public double MFC4SetPoint
- {
- get { return m_MFC4SetPoint; }
- set { SetProperty(ref m_MFC4SetPoint, value); }
- }
- public double MFC5SetPoint
- {
- get { return m_MFC5SetPoint; }
- set { SetProperty(ref m_MFC5SetPoint, value); }
- }
- public double MFC6SetPoint
- {
- get { return m_MFC6SetPoint; }
- set { SetProperty(ref m_MFC6SetPoint, value); }
- }
- public double MFC7SetPoint
- {
- get { return m_MFC7SetPoint; }
- set { SetProperty(ref m_MFC7SetPoint, value); }
- }
- public double MFC8SetPoint
- {
- get { return m_MFC8SetPoint; }
- set { SetProperty(ref m_MFC8SetPoint, value); }
- }
- public double N2SetPoint
- {
- get { return m_N2SetPoint; }
- set { SetProperty(ref m_N2SetPoint, value); }
- }
- public AITMfcData MFC1Data
- {
- get { return m_MFC1Data; }
- set { SetProperty(ref m_MFC1Data, value); }
- }
- public AITMfcData MFC2Data
- {
- get { return m_MFC2Data; }
- set { SetProperty(ref m_MFC2Data, value); }
- }
- public AITMfcData MFC3Data
- {
- get { return m_MFC3Data; }
- set { SetProperty(ref m_MFC3Data, value); }
- }
- public AITMfcData MFC4Data
- {
- get { return m_MFC4Data; }
- set { SetProperty(ref m_MFC4Data, value); }
- }
- public AITMfcData MFC5Data
- {
- get { return m_MFC5Data; }
- set { SetProperty(ref m_MFC5Data, value); }
- }
- public AITMfcData MFC6Data
- {
- get { return m_MFC6Data; }
- set { SetProperty(ref m_MFC6Data, value); }
- }
- public AITMfcData MFC7Data
- {
- get { return m_MFC7Data; }
- set { SetProperty(ref m_MFC7Data, value); }
- }
- public AITMfcData MFC8Data
- {
- get { return m_MFC8Data; }
- set { SetProperty(ref m_MFC8Data, value); }
- }
- public AITMfcData MFCHeData
- {
- get { return m_MFCHeData; }
- set { SetProperty(ref m_MFCHeData, value); }
- }
- public AITMfcData MFCN2Data
- {
- get { return m_MFCN2Data; }
- set { SetProperty(ref m_MFCN2Data, value); }
- }
- public AITHeaterData ValveHeaterData
- {
- get { return m_ValveHeaterData; }
- set { SetProperty(ref m_ValveHeaterData, value); }
- }
- public AITHeaterData ForelineHeaterData
- {
- get { return m_ForelineHeaterData; }
- set { SetProperty(ref m_ForelineHeaterData, value); }
- }
- public AITHeaterData WallHeaterData
- {
- get { return m_WallHeaterData; }
- set { SetProperty(ref m_WallHeaterData, value); }
- }
- public AITRfData SRFData
- {
- get { return m_SRFData; }
- set { SetProperty(ref m_SRFData, value); }
- }
- public AITRfData BRFData
- {
- get { return m_BRFData; }
- set { SetProperty(ref m_BRFData, value); }
- }
- public PMState PMCurrentState
- {
- get { return m_PMCurrentState; }
- set { SetProperty(ref m_PMCurrentState, value); }
- }
- #region 阀
- public bool GasFinalValveIsOpen
- {
- get { return m_GasFinalValveIsOpen; }
- set { SetProperty(ref m_GasFinalValveIsOpen, value); }
- }
- public bool PVN21ValveIsOpen
- {
- get { return m_PVN21ValveIsOpen; }
- set { SetProperty(ref m_PVN21ValveIsOpen, value); }
- }
- public bool PVN22ValveIsOpen
- {
- get { return m_PVN22ValveIsOpen; }
- set { SetProperty(ref m_PVN22ValveIsOpen, value); }
- }
- public bool N2ValveIsOpen
- {
- get { return m_N2ValveIsOpen; }
- set { SetProperty(ref m_N2ValveIsOpen, value); }
- }
- public bool PV11ValveIsOpen
- {
- get { return m_PV11ValveIsOpen; }
- set { SetProperty(ref m_PV11ValveIsOpen, value); }
- }
- public bool PV12ValveIsOpen
- {
- get { return m_PV12ValveIsOpen; }
- set { SetProperty(ref m_PV12ValveIsOpen, value); }
- }
- public bool MFC1ValveIsOpen
- {
- get { return m_MFC1ValveIsOpen; }
- set { SetProperty(ref m_MFC1ValveIsOpen, value); }
- }
- public bool PV21ValveIsOpen
- {
- get { return m_PV21ValveIsOpen; }
- set { SetProperty(ref m_PV21ValveIsOpen, value); }
- }
- public bool PV22ValveIsOpen
- {
- get { return m_PV22ValveIsOpen; }
- set { SetProperty(ref m_PV22ValveIsOpen, value); }
- }
- public bool MFC2ValveIsOpen
- {
- get { return m_MFC2ValveIsOpen; }
- set { SetProperty(ref m_MFC2ValveIsOpen, value); }
- }
- public bool PV31ValveIsOpen
- {
- get { return m_PV31ValveIsOpen; }
- set { SetProperty(ref m_PV31ValveIsOpen, value); }
- }
- public bool PV32ValveIsOpen
- {
- get { return m_PV32ValveIsOpen; }
- set { SetProperty(ref m_PV32ValveIsOpen, value); }
- }
- public bool MFC3ValveIsOpen
- {
- get { return m_MFC3ValveIsOpen; }
- set { SetProperty(ref m_MFC3ValveIsOpen, value); }
- }
- public bool PV41ValveIsOpen
- {
- get { return m_PV41ValveIsOpen; }
- set { SetProperty(ref m_PV41ValveIsOpen, value); }
- }
- public bool PV42ValveIsOpen
- {
- get { return m_PV42ValveIsOpen; }
- set { SetProperty(ref m_PV42ValveIsOpen, value); }
- }
- public bool MFC4ValveIsOpen
- {
- get { return m_MFC4ValveIsOpen; }
- set { SetProperty(ref m_MFC4ValveIsOpen, value); }
- }
- public bool MFC5ValveIsOpen
- {
- get { return m_MFC5ValveIsOpen; }
- set { SetProperty(ref m_MFC5ValveIsOpen, value); }
- }
- public bool MFC6ValveIsOpen
- {
- get { return m_MFC6ValveIsOpen; }
- set { SetProperty(ref m_MFC6ValveIsOpen, value); }
- }
- public bool MFC7ValveIsOpen
- {
- get { return m_MFC7ValveIsOpen; }
- set { SetProperty(ref m_MFC7ValveIsOpen, value); }
- }
- public bool MFC8ValveIsOpen
- {
- get { return m_MFC8ValveIsOpen; }
- set { SetProperty(ref m_MFC8ValveIsOpen, value); }
- }
- public bool PVHe1ValveIsOpen
- {
- get { return m_PVHe1ValveIsOpen; }
- set { SetProperty(ref m_PVHe1ValveIsOpen, value); }
- }
- public bool PVHe2ValveIsOpen
- {
- get { return m_PVHe2ValveIsOpen; }
- set { SetProperty(ref m_PVHe2ValveIsOpen, value); }
- }
- public bool TurboPumpPumpingValveIsOpen
- {
- get { return m_TurboPumpPumpingValveIsOpen; }
- set { SetProperty(ref m_TurboPumpPumpingValveIsOpen, value); }
- }
- public bool TurboPumpPurgeValveIsOpen
- {
- get { return m_TurboPumpPurgeValveIsOpen; }
- set { SetProperty(ref m_TurboPumpPurgeValveIsOpen, value); }
- }
- public bool SoftPumpValveIsOpen
- {
- get { return m_SoftPumpValveIsOpen; }
- set { SetProperty(ref m_SoftPumpValveIsOpen, value); }
- }
- public bool FastPumpValveIsOpen
- {
- get { return m_FastPumpValveIsOpen; }
- set { SetProperty(ref m_FastPumpValveIsOpen, value); }
- }
- public bool GuageValveIsOpen
- {
- get { return m_GuageValveIsOpen; }
- set { SetProperty(ref m_GuageValveIsOpen, value); }
- }
- #endregion
- public Dictionary<string, object> RtDataValues
- {
- get { return m_RtDataValues; }
- set { SetProperty(ref m_RtDataValues, value); }
- }
-
-
- public bool PumpIsOpen
- {
- get { return m_PumpIsOpen; }
- set { SetProperty(ref m_PumpIsOpen, value); }
- }
- public bool PendulumValveIsOpen
- {
- get { return m_PendulumValveIsOpen; }
- set { SetProperty(ref m_PendulumValveIsOpen, value); }
- }
- public bool TurboIsOpen
- {
- get { return m_TurboIsOpen; }
- set { SetProperty(ref m_TurboIsOpen, value); }
- }
- public bool IsATM
- {
- get { return m_IsATM; }
- set { SetProperty(ref m_IsATM, value); }
- }
- public bool IsVAC
- {
- get { return m_IsVAC; }
- set { SetProperty(ref m_IsVAC, value); }
- }
-
- //public bool BRFIsOn
- //{
- // get { return m_BRFIsOn; }
- // set { SetProperty(ref m_BRFIsOn, value); }
- //}
- //public bool SRFIsOn
- //{
- // get { return m_SRFIsOn; }
- // set { SetProperty(ref m_SRFIsOn, value); }
- //}
- public int PositionValue
- {
- get { return m_PositionValue; }
- set { SetProperty(ref m_PositionValue, value); }
- }
- public bool IsPositionMode
- {
- get { return m_IsPositionMode; }
- set { SetProperty(ref m_IsPositionMode, value); }
- }
-
- public double HeGasSetpoint
- {
- get { return m_HeGasSetpoint; }
- set
- {
- SetProperty(ref m_HeGasSetpoint, value);
- }
- }
- public int HePressureSetpoint
- {
- get { return m_HePressureSetpoint; }
- set
- {
- SetProperty(ref m_HePressureSetpoint, value);
- }
- }
- public float SRFFwdPowerSetpoint
- {
- get { return m_SRFFwdPowerSetpoint; }
- set { SetProperty(ref m_SRFFwdPowerSetpoint, value); }
- }
- public float BRFFwdPowerSetpoint
- {
- get { return m_BRFFwdPowerSetpoint; }
- set { SetProperty(ref m_BRFFwdPowerSetpoint, value); }
- }
- public int ESCVoltage
- {
- get { return m_ESCVoltage; }
- set { SetProperty(ref m_ESCVoltage, value); }
- }
- public float SRFMatchC1
- {
- get { return m_SRFMatchC1; }
- set { SetProperty(ref m_SRFMatchC1, value); }
- }
- public float SRFMatchC2
- {
- get { return m_SRFMatchC2; }
- set { SetProperty(ref m_SRFMatchC2, value); }
- }
- public float BRFMatchC1
- {
- get { return m_BRFMatchC1; }
- set { SetProperty(ref m_BRFMatchC1, value); }
- }
- public float BRFMatchC2
- {
- get { return m_BRFMatchC2; }
- set { SetProperty(ref m_BRFMatchC2, value); }
- }
- public bool GasIsFlowing
- {
- get { return m_GasIsFlowing; }
- set { SetProperty(ref m_GasIsFlowing, value); }
- }
- public bool IsProcessing
- {
- get { return m_IsProcessing; }
- set { SetProperty(ref m_IsProcessing, value); }
- }
- public bool IsAutoMode
- {
- get { return m_IsAutoMode; }
- set { SetProperty(ref m_IsAutoMode, value); }
- }
- public string SelectedRecipe
- {
- get { return m_SelectedRecipe; }
- set { SetProperty(ref m_SelectedRecipe, value); }
- }
- public float ChillerTempSetpoint
- {
- get { return m_ChillerTempSetpoint; }
- set { SetProperty(ref m_ChillerTempSetpoint, value); }
- }
- public float WallTempSetpoint
- {
- get { return m_WallTempSetpoint; }
- set { SetProperty(ref m_WallTempSetpoint, value); }
- }
- public bool HeIsPressureMode
- {
- get { return m_HeIsPressureMode; }
- set { SetProperty(ref m_HeIsPressureMode, value); }
- }
- public bool ChillerIsOn
- {
- get { return m_ChillerIsOn; }
- set { SetProperty(ref m_ChillerIsOn, value); }
- }
- public double ChamberPressureFeedBack
- {
- get { return m_ChamberPressureFeedBack; }
- set { SetProperty(ref m_ChamberPressureFeedBack, value); }
- }
- public string WaferID
- {
- get { return m_WaferID; }
- set { SetProperty(ref m_WaferID, value); }
- }
- #endregion
- #region 命令
- private DelegateCommand _PMInitCommnad;
- public DelegateCommand PMInitCommnad =>
- _PMInitCommnad ?? (_PMInitCommnad = new DelegateCommand(OnPMInit));
- private DelegateCommand _PMAbortCommnad;
- public DelegateCommand PMAbortCommnad =>
- _PMAbortCommnad ?? (_PMAbortCommnad = new DelegateCommand(OnPMAbort));
- private DelegateCommand _GasCommand;
- public DelegateCommand GasCommand =>
- _GasCommand ?? (_GasCommand = new DelegateCommand(OnGas));
- private DelegateCommand _HeCommand;
- public DelegateCommand HeCommand =>
- _HeCommand ?? (_HeCommand = new DelegateCommand(OnHe));
- private DelegateCommand _RfCommand;
- public DelegateCommand RfCommand =>
- _RfCommand ?? (_RfCommand = new DelegateCommand(OnRf));
- private DelegateCommand _PurgeCommand;
- public DelegateCommand PurgeCommand =>
- _PurgeCommand ?? (_PurgeCommand = new DelegateCommand(OnPurge));
- private DelegateCommand _VentCommand;
- public DelegateCommand VentCommand =>
- _VentCommand ?? (_VentCommand = new DelegateCommand(OnVent));
- private DelegateCommand _PumpCommand;
- public DelegateCommand PumpCommand =>
- _PumpCommand ?? (_PumpCommand = new DelegateCommand(OnPump));
- private DelegateCommand _OpenPumpCommand;
- public DelegateCommand OpenPumpCommand =>
- _OpenPumpCommand ?? (_OpenPumpCommand = new DelegateCommand(OnOpenPump));
- private DelegateCommand _ClosePumpCommand;
- public DelegateCommand ClosePumpCommand =>
- _ClosePumpCommand ?? (_ClosePumpCommand = new DelegateCommand(OnClosePump));
- private DelegateCommand _OpenTurboPumpCommand;
- public DelegateCommand OpenTurboPumpCommand =>
- _OpenTurboPumpCommand ?? (_OpenTurboPumpCommand = new DelegateCommand(OnOpenTurboPump));
- private DelegateCommand _CloseTurboPumpCommand;
- public DelegateCommand CloseTurboPumpCommand =>
- _CloseTurboPumpCommand ?? (_CloseTurboPumpCommand = new DelegateCommand(OnCloseTurboPump));
- private DelegateCommand _OpenPendulumValveCommand;
- public DelegateCommand OpenPendulumValveCommand =>
- _OpenPendulumValveCommand ?? (_OpenPendulumValveCommand = new DelegateCommand(OnOpenPendulumValve));
- private DelegateCommand _ClosePendulumValveCommand;
- public DelegateCommand ClosePendulumValveCommand =>
- _ClosePendulumValveCommand ?? (_ClosePendulumValveCommand = new DelegateCommand(OnClosePendulumValve));
- private DelegateCommand<object> _PinUpDownCommand;
- public DelegateCommand<object> PinUpDownCommand =>
- _PinUpDownCommand ?? (_PinUpDownCommand = new DelegateCommand<object>(OnPinUpDown));
- private DelegateCommand<object> _LidUpDownCommand;
- public DelegateCommand<object> LidUpDownCommand =>
- _LidUpDownCommand ?? (_LidUpDownCommand = new DelegateCommand<object>(OnLidUpDown));
- private DelegateCommand _SetSRfCommand;
- public DelegateCommand SetSRfCommand =>
- _SetSRfCommand ?? (_SetSRfCommand = new DelegateCommand(OnSetSRf));
- private DelegateCommand _SetBRfCommand;
- public DelegateCommand SetBRfCommand =>
- _SetBRfCommand ?? (_SetBRfCommand = new DelegateCommand(OnSetBRf));
- private DelegateCommand _OpenButterflyValveViewCommand;
- public DelegateCommand OpenButterflyValveViewCommand =>
- _OpenButterflyValveViewCommand ?? (_OpenButterflyValveViewCommand = new DelegateCommand(OnOpenButterflyValveView));
- //private DelegateCommand _HVCommand;
- //public DelegateCommand HVCommand =>
- // _HVCommand ?? (_HVCommand = new DelegateCommand(OnHV));
- private DelegateCommand _HVSetCommand;
- public DelegateCommand HVSetCommand =>
- _HVSetCommand ?? (_HVSetCommand = new DelegateCommand(OnHVSet));
- private DelegateCommand _LoadRecipeCommand;
- public DelegateCommand LoadRecipeCommand =>
- _LoadRecipeCommand ?? (_LoadRecipeCommand = new DelegateCommand(OnLoadRecipe));
- private DelegateCommand<object> _ControlValveCommand;
- public DelegateCommand<object> ControlValveCommand =>
- _ControlValveCommand ?? (_ControlValveCommand = new DelegateCommand<object>(OnControlValve));
- private DelegateCommand<object> _RunRecipeCommand;
- public DelegateCommand<object> RunRecipeCommand =>
- _RunRecipeCommand ?? (_RunRecipeCommand = new DelegateCommand<object>(OnRunRecipe));
- private DelegateCommand _SetChillerTempCommand;
- public DelegateCommand SetChillerTempCommand =>
- _SetChillerTempCommand ?? (_SetChillerTempCommand = new DelegateCommand(OnSetChillerTemp));
- private DelegateCommand _OnOffChillerCommand;
- public DelegateCommand OnOffChillerCommand =>
- _OnOffChillerCommand ?? (_OnOffChillerCommand = new DelegateCommand(OnOffChiller));
- private DelegateCommand<object> _HeaterCommand;
- public DelegateCommand<object> HeaterCommand =>
- _HeaterCommand ?? (_HeaterCommand = new DelegateCommand<object>(OnHeater));
- private DelegateCommand _EndStepCommand;
- public DelegateCommand EndStepCommand =>
- _EndStepCommand ?? (_EndStepCommand = new DelegateCommand(OnEndStep));
- #endregion
- #region 构造函数
- public OverKepler2200AViewModel()
- {
- m_RtDataKeys = new List<string>();
- m_IsATM = true;
- ModuleName = "PMA";
-
- CurrentModuleRecipes = GetFilesNames(Path.Combine(QueryDataClient.Instance.Service.GetData("GetRTPath").ToString(), "Recipes", ModuleName)).ToList();
- DispatcherTimer timer = new DispatcherTimer();
- timer.Interval = TimeSpan.FromSeconds(0.5);
- timer.Tick += timer_Tick;
- timer.Start();
- }
- #endregion
- #region 命令方法
- private void OnControlValve(object obj)
- {
- CommonValveControl commonValveControl = (CommonValveControl)obj;
- if (commonValveControl.IsCanEdit == true)
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.ControlValve",Convert.ToInt32( commonValveControl.Tag.ToString()), !commonValveControl.Status);
- }
- }
- private void OnPMInit()
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Home");
- }
- private async void OnGas()
- {
- await Task.Run(async () =>
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas1.SetPoint", MFC1SetPoint);
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas2.SetPoint", MFC2SetPoint);
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas3.SetPoint", MFC3SetPoint);
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas4.SetPoint", MFC4SetPoint);
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas5.SetPoint", MFC5SetPoint);
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas6.SetPoint", MFC6SetPoint);
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas7.SetPoint", MFC7SetPoint);
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas8.SetPoint", MFC8SetPoint);
- await Task.Delay(1000);
- object[] mfc = new object[8];
- string[] mfcSetPoint = new string[8];
- mfc[0] = MFC1Data.SetPoint;
- mfc[1] = MFC2Data.SetPoint;
- mfc[2] = MFC3Data.SetPoint;
- mfc[3] = MFC4Data.SetPoint;
- mfc[4] = MFC5Data.SetPoint;
- mfc[5] = MFC6Data.SetPoint;
- mfc[6] = MFC7Data.SetPoint;
- mfc[7] = MFC8Data.SetPoint;
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{RtOperation.GasFlow}", mfc);
-
- });
-
-
- }
- private void OnHe()
- {
- if (PVHe1ValveIsOpen == true)
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetBacksideHeFlow", 0.0d);
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetBacksideHePressure", 0);
- }
- else
- {
- if (HeIsPressureMode)
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetBacksideHePressure", HeGasSetpoint);
- }
- else
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetBacksideHeFlow", HeGasSetpoint);
- }
- }
- }
- private void OnRf()
- {
- if (PMCurrentState == PMState.RfPowering)
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{RtOperation.Abort}");
- }
- else
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{RtOperation.RfPower}");
- }
- }
- private void OnPurge()
- {
- //if (RtDataValues[$"{ModuleName}.FsmState"].ToString() ==PMState.Purge.ToString())
- //if (PMCurrentState == PMState.Purging || N2SetPoint<=0)
- //{
- // InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcN2.SetPoint", 0);
- // await Task.Delay(1000);
- // //InvokeClient.Instance.Service.DoOperation($"{ModuleName}.StopPurge");
- // InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{RtOperation.Abort}");
- //}
- //else
- //{
- // InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcN2.SetPoint", N2SetPoint);
- // await Task.Delay(1000);
- // InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Purge");
- //}
- if (PMCurrentState == PMState.Purging)
- {
- //InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcN2.SetPoint", 0);
- //await Task.Delay(1000);
- ////InvokeClient.Instance.Service.DoOperation($"{ModuleName}.StopPurge");
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{RtOperation.Abort}");
- }
- else
- {
- //InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcN2.SetPoint", N2SetPoint);
- //await Task.Delay(1000);
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Purge");
- }
- }
- private void OnVent()
- {
- //if (RtDataValues[$"{ModuleName}.FsmState"].ToString()==PMState.Venting.ToString())
- if (PMCurrentState == PMState.Venting)
- {
- //InvokeClient.Instance.Service.DoOperation($"{ModuleName}.StopVent");
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{RtOperation.Abort}");
- }
- else
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Vent");
- }
- }
- private void OnPump()
- {
- //if (RtDataValues[$"{ModuleName}.FsmState"].ToString() == PMState.Pumping.ToString())
- if (PMCurrentState==PMState.Pumping)
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{RtOperation.Abort}");
- return;
- }
- //if (PMCurrentState == PMState.pum)
- //{
- // InvokeClient.Instance.Service.DoOperation($"{ModuleName}.StopPump");
- // return;
- //}
- //string BasePressureSetPoint= RtConfigValues[$"{ModuleName}.Pump.PumpBasePressure"].ToString(); ;
- //{
- // get { return RtConfigValues[$"{ModuleName}.Pump.PumpBasePressure"].ToString(); }
- //}
- //string PumpLimitSetPoint= RtConfigValues[$"{ModuleName}.Pump.PumpTimeLimit"].ToString();
- //{
- // get { return RtConfigValues[$"{ModuleName}.Pump.PumpTimeLimit"].ToString(); }
- //}
- string BasePressureSetPoint = QueryDataClient.Instance.Service.GetConfig($"{ModuleName}.Pump.PumpBasePressure").ToString();
- string PumpLimitSetPoint= QueryDataClient.Instance.Service.GetConfig($"{ModuleName}.Pump.PumpTimeLimit").ToString();
- // 设置底压
- double basePressure = string.IsNullOrEmpty(BasePressureSetPoint) ? 0 : Convert.ToDouble(BasePressureSetPoint);
- if (basePressure <= 0.01 || basePressure >= 1000)
- {
- MessageBox.Show($"基准压力设定值 {basePressure} 无效,应该在0到1000毫托之间");
- return;
- }
- double pumpLimit = string.IsNullOrEmpty(PumpLimitSetPoint) ? 0 : Convert.ToDouble(PumpLimitSetPoint);
- if (pumpLimit <= 0.01 || pumpLimit >= 1200)
- {
- MessageBox.Show($"抽气时间应该在0到1200之间,当前设定值{pumpLimit}");
- return;
- }
- InvokeClient.Instance.Service.DoOperation("System.SetConfig", $"{ModuleName}.Pump.PumpBasePressure", basePressure.ToString());
- InvokeClient.Instance.Service.DoOperation("System.SetConfig", $"{ModuleName}.Pump.PumpTimeLimit", pumpLimit.ToString());
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Pump");
- }
- private void OnOpenPump()
- {
- //if (RtDataValues[$"{ModuleName}.FsmState"].ToString() == "LaunchingPump")
- if (PMCurrentState==PMState.LaunchingPump)
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{RtOperation.Abort}");
- return;
- }
- //if (PumpIsOpen == true)
- //{
- // return;
- //}
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.StartPump");
- }
- private void OnClosePump()
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.ClosePump");
- }
- private void OnOpenTurboPump()
- {
- //TurboIsOpen = true;
- //if (RtDataValues[$"{ModuleName}.FsmState"].ToString() == "LaunchingTurbo")
- if (PMCurrentState == PMState.LaunchingTurboPump)
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{RtOperation.Abort}");
- return;
- }
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.StartTurboPump");
- }
- private void OnCloseTurboPump()
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.CloseTurboPump");
- }
- private void OnOpenPendulumValve()
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.TurnPendulumValve",true);
- }
- private void OnClosePendulumValve()
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.TurnPendulumValve",false);
- }
- private void OnPinUpDown(object upDown)
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetLiftPin", Convert.ToBoolean(upDown));
- }
- private void OnLidUpDown(object upDown)
- {
- //var value = (bool)upDown;
- if (upDown.ToString()== "Up")
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{VenusDevice.Lid}.{AITCylinderOperation.Open}");
- }
- else
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{VenusDevice.Lid}.{AITCylinderOperation.Close}");
- }
- }
- private async void OnSetSRf()
- {
- if (SRFData.IsRfOn == true)
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetSRf", SRFFwdPowerSetpoint, false);
- }
- else
- {
- if (GasIsFlowing == true)
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{VenusDevice.Match}.{AITRfOperation.SetMatchPosition}", SRFMatchC1, SRFMatchC2);
- await Task.Delay(100);
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetSRf", SRFFwdPowerSetpoint, true);
- }
- }
- }
- private async void OnSetBRf()
- {
- if (BRFData.IsRfOn == true)
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetBRf", BRFFwdPowerSetpoint, false);
- }
- else
- {
- if (GasIsFlowing == true)
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{VenusDevice.BiasMatch}.{AITRfOperation.SetMatchPosition}", BRFMatchC1, BRFMatchC2);
- await Task.Delay(100);
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetBRf", BRFFwdPowerSetpoint, true);
- }
- }
- }
- private void OnPMAbort()
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Abort");
- }
- private void OnOpenButterflyValveView()
- {
- //if (butterflyValveMessageBox == null)
- //{
- var _mainWindow = Application.Current.Windows.Cast<Window>().FirstOrDefault(window => window is Window) as Window;
- butterflyValveMessageBox = new ButterflyValveView(ModuleName.ToString());
- butterflyValveMessageBox.WindowStartupLocation = WindowStartupLocation.Manual;
- butterflyValveMessageBox.Left = 700;
- butterflyValveMessageBox.Top = 600;
- butterflyValveMessageBox.Show();
- butterflyValveMessageBox.Owner = _mainWindow;
- //}
-
- }
- private void OnLoadRecipe()
- {
- CurrentModuleRecipes = GetFilesNames(Path.Combine(QueryDataClient.Instance.Service.GetData("GetRTPath").ToString(), "Recipes", ModuleName)).ToList();
- }
- //private async void OnHV()
- //{
- // if (ESCHVData.IsOn == true)
- // {
- // InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetESCHVIsOn", false);
- // }
- // else
- // {
- // await Task.Run(async () =>
- // {
- // InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetESCHVIsOn", true);
- // await Task.Delay(1000);
- // InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetESCHV", ESCVoltage);
- // });
- // }
-
-
- //}
- private void OnHVSet()
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetESCHV", ESCVoltage);
- }
- private void OnRunRecipe(object obj)
- {
- string recipeName = SelectedRecipe;
- if (recipeName == null)
- {
- return;
- }
- ClearData();
- var recipePath = Path.Combine(QueryDataClient.Instance.Service.GetData("GetRTPath").ToString(), "Recipes", ModuleName, recipeName + ".rcp");
- CurrentRecipe = Recipe.Load(File.ReadAllText(recipePath));
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{RtOperation.RunRecipe}",recipeName);
- }
- private void OnSetChillerTemp()
- {
- var value = (QueryDataClient.Instance.Service.GetConfig($"{ModuleName}.Chiller.ChillerTemperatureOffset").ToString());
- float x;
- float.TryParse(value, out x);
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.HeatChiller", ChillerType.Chiller.ToString(), ChillerTempSetpoint, x);
- }
- private void OnOffChiller()
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.OnOffChiller", ChillerType.Chiller.ToString(),!ChillerIsOn);
- }
- private void OnHeater(object obj)
- {
- AITHeaterData heaterData = obj as AITHeaterData;
- var _mainWindow = Application.Current.Windows.Cast<Window>().FirstOrDefault(window => window is Window) as Window;
- heaterView = new HeaterView(heaterData);
- heaterView.WindowStartupLocation = WindowStartupLocation.CenterScreen;
- heaterView.Owner = _mainWindow;
- heaterView.Show();
- }
- private void OnEndStep()
- {
- if (CurrentRecipeResult?.RecipeStepNumber != null && CurrentRecipeResult?.RecipeStepNumber != CurrentRecipeResult?.RecipeStepCount)
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.ManualEndStep");
- }
- else if (CurrentRecipeResult?.RecipeStepNumber != null && CurrentRecipeResult?.RecipeStepNumber == CurrentRecipeResult?.RecipeStepCount)
- {
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Abort");
- }
- }
- #endregion
- #region 私有方法
- private void ClearData()
- {
- ESCVoltage = 0;
- SRFFwdPowerSetpoint = 0;
- SRFMatchC1 = 0;
- SRFMatchC2 = 0;
- BRFFwdPowerSetpoint = 0;
- BRFMatchC1 = 0;
- BRFMatchC2 = 0;
- HeGasSetpoint = 0;
- MFC1SetPoint = 0;
- MFC2SetPoint = 0;
- MFC3SetPoint = 0;
- MFC4SetPoint = 0;
- MFC5SetPoint = 0;
- MFC6SetPoint = 0;
- MFC7SetPoint = 0;
- MFC8SetPoint = 0;
- }
- private IEnumerable<string> GetFilesNames(string path)
- {
- return Directory.GetFiles(path, "*.rcp")
- .Select(Path.GetFileNameWithoutExtension);
- }
- void timer_Tick(object sender, EventArgs e)
- {
- RtDataValues = QueryDataClient.Instance.Service.PollData(m_RtDataKeys);
- if (RtDataValues==null)
- {
- return;
- }
- var N2SetPoint =Convert.ToInt32( QueryDataClient.Instance.Service.GetConfig("System.TurboN2FlowSetPoint"));
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcN2.SetPoint", N2SetPoint);
- PVN21ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValvePVN21.IsOpen");
- GasFinalValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValveGasFinal.IsOpen");
- PV11ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValvePV11.IsOpen");
- PV12ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValvePV12.IsOpen");
- PV21ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValvePV21.IsOpen");
- PV22ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValvePV22.IsOpen");
- PV31ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValvePV31.IsOpen");
- PV32ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValvePV32.IsOpen");
- PV41ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValvePV41.IsOpen");
- PV42ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValvePV42.IsOpen");
- MFC1ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValveMfc1.IsOpen");
- MFC2ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValveMfc2.IsOpen");
- MFC3ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValveMfc3.IsOpen");
- MFC4ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValveMfc4.IsOpen");
- MFC5ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValveMfc5.IsOpen");
- MFC6ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValveMfc6.IsOpen");
- MFC7ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValveMfc7.IsOpen");
- MFC8ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValveMfc8.IsOpen");
- N2ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValveN2.IsOpen");
- SoftPumpValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValveSoftPump.IsOpen");
- FastPumpValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValveFastPump.IsOpen");
- GuageValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValveGuage.IsOpen");
- PVHe1ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValvePVHe1.IsOpen");
- PVHe2ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValvePVHe2.IsOpen");
- PVN21ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValvePVN21.IsOpen");
- PVN22ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValvePVN22.IsOpen");
- TurboPumpPumpingValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValveTurboPumpPumping.IsOpen");
- TurboPumpPurgeValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValveTurboPumpPurge.IsOpen");
-
- PumpIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.PumpIsRunning");
- TurboIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.TurboPumpIsRunning");
- LiftPinIsUp= CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.LiftPinIsUp");
- IsSlitDoorClosed = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.IsSlitDoorClosed");
- IsLidClosed = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.IsLidClosed");
- PendulumValvePosition = CommonFunction.GetValue<float>(RtDataValues,$"{ModuleName}.GetPVPosition");
- TurboPumpRotationalSpeed = Convert.ToInt32( RtDataValues[$"{ModuleName}.TurboPumpRotationalSpeed"].ToString());
- PositionValue = -((int)((PendulumValvePosition) * 0.09));
- PMCurrentState = (PMState)Enum.Parse(typeof(PMState), RtDataValues[$"{ModuleName}.FsmState"].ToString());
-
- GasIsFlowing = PMCurrentState == PMState.GasFlowing;
- IsProcessing=PMCurrentState == PMState.Processing;
- MFC1Data = CommonFunction.GetValue<AITMfcData>(RtDataValues, $"{ModuleName}.MfcGas1");
- MFC2Data = CommonFunction.GetValue<AITMfcData>(RtDataValues, $"{ModuleName}.MfcGas2");
- MFC3Data = CommonFunction.GetValue<AITMfcData>(RtDataValues, $"{ModuleName}.MfcGas3");
- MFC4Data = CommonFunction.GetValue<AITMfcData>(RtDataValues, $"{ModuleName}.MfcGas4");
- MFC5Data = CommonFunction.GetValue<AITMfcData>(RtDataValues, $"{ModuleName}.MfcGas5");
- MFC6Data = CommonFunction.GetValue<AITMfcData>(RtDataValues, $"{ModuleName}.MfcGas6");
- MFC7Data = CommonFunction.GetValue<AITMfcData>(RtDataValues, $"{ModuleName}.MfcGas7");
- MFC8Data = CommonFunction.GetValue<AITMfcData>(RtDataValues, $"{ModuleName}.MfcGas8");
- MFCHeData = CommonFunction.GetValue<AITMfcData>(RtDataValues, $"{ModuleName}.MfcHe");
- MFCN2Data = CommonFunction.GetValue<AITMfcData>(RtDataValues, $"{ModuleName}.MfcN2");
- SRFData = CommonFunction.GetValue<AITRfData>(RtDataValues, $"{ModuleName}.{VenusDevice.Rf}.DeviceData");
- BRFData = CommonFunction.GetValue<AITRfData>(RtDataValues, $"{ModuleName}.{VenusDevice.BiasRf}.DeviceData");
- PendulumValveData = CommonFunction.GetValue<AITPendulumValveData>(RtDataValues, $"{ModuleName}.{VenusDevice.PendulumValve}.DeviceData");
- //ESCHVData= CommonFunction.GetValue<AITHVData>(RtDataValues, $"{ModuleName}.{VenusDevice.ESCHV}.DeviceData");
- ValveHeaterData = (AITHeaterData)RtDataValues[$"{ModuleName}.ValveHeater.DeviceData"];
- ForelineHeaterData = (AITHeaterData)RtDataValues[$"{ModuleName}.ForelineHeater.DeviceData"];
- WallHeaterData = (AITHeaterData)RtDataValues[$"{ModuleName}.WallHeater.DeviceData"];
- ProcessHighPressure = CommonFunction.GetValue<float>(RtDataValues, $"{ModuleName}.ProcessHighPressure");
- ProcessLowPressure = CommonFunction.GetValue<float>(RtDataValues, $"{ModuleName}.ProcessLowPressure");
- ForelinePressure = float.Parse(RtDataValues[$"{ModuleName}.ForelinePressure"].ToString());
- ESCHePressure = float.Parse(RtDataValues[$"{ModuleName}.ESCHePressure"].ToString());
- ChillerTemperature = float.Parse(RtDataValues[$"{ModuleName}.Chiller.Temp"].ToString());
- //HVTemperature = float.Parse(RtDataValues[$"{ModuleName}.{VenusDevice.ESCHV}.Temp"].ToString());
- ChillerIsOn = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.Chiller.IsOn");
- SourceRFFanInterlock= CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.SourceRFFanInterlock");
- IsWLK= CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.IsWLK");
- IsWaterFlowOk= CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.IsWaterFlowOk");
- IsTurboPumpInterlock= CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.IsTurboPumpInterlock");
- IsCDAOK= CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.IsCDA_OK");
- SensorGasBoxDoor= CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.GasBoxDoorSW.Value");
- SensorGasBoxPressure= CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.GasBoxPressureSW.Value");
- IsATM= CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.IsATM");
- IsVAC = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.IsVAC");
- ESCHVOutputVoltage= CommonFunction.GetValue<int>(RtDataValues, $"{ModuleName}.ESCHV.OutputVoltage");
-
- MatchC1 = CommonFunction.GetValue<float>(RtDataValues,$"{ModuleName}.{VenusDevice.Match}.C1");
- MatchC2 = CommonFunction.GetValue<float>(RtDataValues,$"{ModuleName}.{VenusDevice.Match}.C2");
-
- BiasMatchC1 = CommonFunction.GetValue<float>(RtDataValues, $"{ModuleName}.{VenusDevice.BiasMatch}.C1");
- BiasMatchC2 = CommonFunction.GetValue<float>(RtDataValues, $"{ModuleName}.{VenusDevice.BiasMatch}.C2");
- TurboPumpWaterFlowSwitch = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.TurboPumpWaterFlowSwitch.Value");
- IsTurboPumpAtSpeed = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.IsTurboPumpAtSpeed");
- IsHasWafer= CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.HasWafer");
- WaferID = IsHasWafer ? ModuleManager.ModuleInfos[ModuleName].WaferManager.Wafers[0].SourceName : "";
- if (PMCurrentState == PMState.Processing)
- {
- CurrentRecipeResult = CommonFunction.GetValue<RecipeResult>(RtDataValues, $"{ModuleName}.CurrentRecipeResult");
- if (CurrentRecipeResult.RecipeStepNumber != null)
- {
- var recipePath = Path.Combine(QueryDataClient.Instance.Service.GetData("GetRTPath").ToString(), "Recipes", ModuleName, CurrentRecipeResult.RecipeName + ".rcp");
- CurrentRecipe = Recipe.Load(File.ReadAllText(recipePath));
- CurrentRecipeStep = CurrentRecipe.Steps[Convert.ToInt32(CurrentRecipeResult.RecipeStepNumber) - 1];
- }
- }
- else
- {
- CurrentRecipeResult = null;
- CurrentRecipeStep = null;
- }
- if (Math.Abs(100 - ProcessLowPressure) > 1 && ProcessLowPressure<100)
- {
- ChamberPressureFeedBack = ProcessLowPressure;
- }
- else
- {
- ChamberPressureFeedBack = ProcessHighPressure;
- }
- }
- public void addDataKeys()
- {
- m_RtDataKeys.Clear();
- m_RtDataKeys.Add($"{ModuleName}.MfcGas1");
- m_RtDataKeys.Add($"{ModuleName}.MfcGas2");
- m_RtDataKeys.Add($"{ModuleName}.MfcGas3");
- m_RtDataKeys.Add($"{ModuleName}.MfcGas4");
- m_RtDataKeys.Add($"{ModuleName}.MfcGas5");
- m_RtDataKeys.Add($"{ModuleName}.MfcGas6");
- m_RtDataKeys.Add($"{ModuleName}.MfcGas7");
- m_RtDataKeys.Add($"{ModuleName}.MfcGas8");
- m_RtDataKeys.Add($"{ModuleName}.MfcHe");
- m_RtDataKeys.Add($"{ModuleName}.MfcN2");
-
- m_RtDataKeys.Add($"{ModuleName}.ForelinePressure");
- m_RtDataKeys.Add($"{ModuleName}.ProcessHighPressure");
- m_RtDataKeys.Add($"{ModuleName}.ProcessLowPressure");
- m_RtDataKeys.Add($"{ModuleName}.ChamberPressure");
- m_RtDataKeys.Add($"{ModuleName}.ESCHePressure");
- m_RtDataKeys.Add($"{ModuleName}.IsATM");
- m_RtDataKeys.Add($"{ModuleName}.IsVAC");
- m_RtDataKeys.Add($"{ModuleName}.LiftPinIsUp");
- m_RtDataKeys.Add($"{ModuleName}.LiftPinIsDown");
- m_RtDataKeys.Add($"{ModuleName}.ValvePVN21.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValvePVN22.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValvePV11.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValvePV12.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValvePV21.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValvePV22.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValvePV31.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValvePV32.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValvePV41.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValvePV42.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValveMfc1.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValveMfc2.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValveMfc3.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValveMfc4.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValveMfc5.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValveMfc6.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValveMfc7.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValveMfc8.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValveGasFinal.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValveSoftPump.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValveFastPump.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValveN2.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValvePVHe1.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValvePVHe2.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValveTurboPumpPumping.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValveTurboPumpPurge.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValvePVN21.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValvePVN22.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.ValveGuage.IsOpen");
- m_RtDataKeys.Add($"{ModuleName}.TurboPumpIsRunning");
- m_RtDataKeys.Add($"{ModuleName}.PumpIsRunning");
- m_RtDataKeys.Add($"{ModuleName}.IsSlitDoorClosed");
- m_RtDataKeys.Add($"{ModuleName}.IsLidClosed");
- m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.Rf}.DeviceData");
- m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.BiasRf}.DeviceData");
- m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.Match}.C1");
- m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.Match}.C2");
- // m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.Match}.WorkMode");
- m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.BiasMatch}.C1");
- m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.BiasMatch}.C2");
- m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.PendulumValve}.DeviceData");
- //m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.ESCHV}.DeviceData");
- m_RtDataKeys.Add($"{ModuleName}.TurboPumpRotationalSpeed");
- m_RtDataKeys.Add($"{ModuleName}.GetPVPosition");
- m_RtDataKeys.Add($"{ModuleName}.Chiller.Temp");
- //m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.ESCHV}.Temp");
- //m_RtDataKeys.Add($"{ModuleName}.ESCHV.OutputVoltage");
- //m_RtDataKeys.Add($"{ModuleName}.ESCHV.IsOn");
- m_RtDataKeys.Add($"{ModuleName}.IsWaterFlowOk");
- m_RtDataKeys.Add($"{ModuleName}.IsWLK");
- m_RtDataKeys.Add($"{ModuleName}.IsCDA_OK");
- m_RtDataKeys.Add($"{ModuleName}.SourceRFFanInterlock");
- m_RtDataKeys.Add($"{ModuleName}.IsTurboPumpInterlock");
- m_RtDataKeys.Add($"{ModuleName}.GasBoxDoorSW.Value");
- m_RtDataKeys.Add($"{ModuleName}.GasBoxPressureSW.Value");
- //m_RtDataKeys.Add($"{ModuleName}.WallTempFeedBack");
- m_RtDataKeys.Add($"{ModuleName}.Chiller.IsOn");
- m_RtDataKeys.Add($"{ModuleName}.ValveHeater.DeviceData");
- m_RtDataKeys.Add($"{ModuleName}.ForelineHeater.DeviceData");
- m_RtDataKeys.Add($"{ModuleName}.WallHeater.DeviceData");
- m_RtDataKeys.Add($"{ModuleName}.FsmState");
- m_RtDataKeys.Add($"{ModuleName}.IsTurboPumpAtSpeed");
- m_RtDataKeys.Add($"{ModuleName}.TurboPumpWaterFlowSwitch.Value");
- m_RtDataKeys.Add($"{ModuleName}.HasWafer");
- m_RtDataKeys.Add($"{ModuleName}.CurrentRecipeResult");
- }
- #endregion
- }
- }
|