| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676 | 
							- using MECF.Framework.Common.CommonData;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- using System.Windows.Media;
 
- namespace MECF.Framework.Common.Device.Safety
 
- {
 
-     public class SafetyData : NotifiableItem
 
-     {
 
-         # region 内部变量
 
-         /// <summary>
 
-         /// Twincat状态
 
-         /// </summary>
 
-         private double _twincatState;
 
-         /// <summary>
 
-         /// Main通信故障
 
-         /// </summary>
 
-         private bool _mainCommErr;
 
-         /// <summary>
 
-         /// Loader/Puf通信故障
 
-         /// </summary>
 
-         private bool _loaderPufCommErr;
 
-         /// <summary>
 
-         /// srd通信故障
 
-         /// </summary>
 
-         private bool _srdCommErr;
 
-         /// <summary>
 
-         /// transporter通信故障
 
-         /// </summary>
 
-         private bool _transportCommErr;
 
-         /// <summary>
 
-         /// Twincat Function Block故障
 
-         /// </summary>
 
-         private bool _mainFunctionBlockErr;
 
-         /// <summary>
 
-         /// loader/puf function block故障
 
-         /// </summary>
 
-         private bool _loaderPufFunctionBlockErr;
 
-         /// <summary>
 
-         /// srd function block故障
 
-         /// </summary>
 
-         private bool _srdFunctionBlockErr;
 
-         /// <summary>
 
-         /// Transporter function block故障
 
-         /// </summary>
 
-         private bool _transporterFunctionBlockErr;
 
-         /// <summary>
 
-         /// 数据是否初始化
 
-         /// </summary>
 
-         private bool _isDataInitialized;
 
-         #region HotConnect
 
-         /// <summary>
 
-         /// loader Hot Connect状态
 
-         /// </summary>
 
-         private double _loaderHotConnectState;
 
-         /// <summary>
 
-         /// ldr hot connect状态
 
-         /// </summary>
 
-         private double _ldrHotConnectState;
 
-         /// <summary>
 
-         /// prc hot connect状态
 
-         /// </summary>
 
-         private double _prcHotConnectState;
 
-         /// <summary>
 
-         /// transporter hot connect状态
 
-         /// </summary>
 
-         private double _transporterHotConnectState;
 
-         /// <summary>
 
-         /// puf hot connect状态
 
-         /// </summary>
 
-         private double _pufHotConnectState;
 
-         /// <summary>
 
-         /// srd hot connect状态
 
-         /// </summary>
 
-         private double _srdHotConnectState;
 
-         /// <summary>
 
-         /// reservoir1 hot connect状态
 
-         /// </summary>
 
-         private double _reservoir1HotConnectState;
 
-         /// <summary>
 
-         /// reservoir2 hot connect状态
 
-         /// </summary>
 
-         private double _reservoir2HotConnectState;
 
-         /// <summary>
 
-         /// FFU hot connect状态
 
-         /// </summary>
 
-         private double _ffuHotConnectState;
 
-         #endregion
 
-         #region Restart
 
-         /// <summary>
 
-         /// Run stop
 
-         /// </summary>
 
-         private bool _runStop;
 
-         /// <summary>
 
-         /// Err ack
 
-         /// </summary>
 
-         private bool _errAck;
 
-         /// <summary>
 
-         /// sls restart
 
-         /// </summary>
 
-         private bool _slsRestart;
 
-         /// <summary>
 
-         /// tx sto mon Restart
 
-         /// </summary>
 
-         private bool _txStoMonRestart;
 
-         /// <summary>
 
-         /// tx sto1 estop restart
 
-         /// </summary>
 
-         private bool _txSto1EstopRestart;
 
-         /// <summary>
 
-         /// tx sto2 estop restart
 
-         /// </summary>
 
-         private bool _txSto2EstopRestart;
 
-         /// <summary>
 
-         /// ldr/puf sto mon restart
 
-         /// </summary>
 
-         private bool _ldrPufStoMonRestart;
 
-         /// <summary>
 
-         /// ldr/puf Sto1 Estop Restart
 
-         /// </summary>
 
-         private bool _ldrPufSto1EstopRestart;
 
-         /// <summary>
 
-         /// ldr/puf sto2 estop restart
 
-         /// </summary>
 
-         private bool _ldrPufSto2EstopRestart;
 
-         /// <summary>
 
-         /// srd sto estop restart
 
-         /// </summary>
 
-         private bool _srdStoEstopRestart;
 
-         /// <summary>
 
-         /// pump sto estop restart
 
-         /// </summary>
 
-         private bool _pumpStoEstopRestart;
 
-         /// <summary>
 
-         /// fluid estop restart
 
-         /// </summary>
 
-         private bool _fluidEstopRestart;
 
-         #endregion
 
-         #region door lock
 
-         /// <summary>
 
-         /// loader door lock
 
-         /// </summary>
 
-         private bool _loaderDoorLock;
 
-         /// <summary>
 
-         /// Loader Door Locked
 
-         /// </summary>
 
-         private bool _loaderDoorLocked;
 
-         /// <summary>
 
-         /// Lower Loader Panel Removed
 
-         /// </summary>
 
-         private bool _lowerLoaderPanelRemoved;
 
-         /// <summary>
 
-         /// Loader Panel Removed
 
-         /// </summary>
 
-         private bool _loaderPanelRemoved;
 
-         /// <summary>
 
-         /// Buffer door lock
 
-         /// </summary>
 
-         private bool _bufferDoorLock;
 
-         /// <summary>
 
-         /// Buffer door locked
 
-         /// </summary>
 
-         private bool _bufferDoorLocked;
 
-         /// <summary>
 
-         /// Buffer Panel Removed
 
-         /// </summary>
 
-         private bool _bufferPanelRemoved;
 
-         /// <summary>
 
-         /// Process door lock
 
-         /// </summary>
 
-         private bool _processDoorLock;
 
-         /// <summary>
 
-         /// Process door1 locked
 
-         /// </summary>
 
-         private bool _processDoor1Locked;
 
-         /// <summary>
 
-         /// Process door2 locked
 
-         /// </summary>
 
-         private bool _processDoor2Locked;
 
-         /// <summary>
 
-         /// Process door3 locked
 
-         /// </summary>
 
-         private bool _processDoor3Locked;
 
-         /// <summary>
 
-         /// Process door4 locked
 
-         /// </summary>
 
-         private bool _processDoor4Locked;
 
-         /// <summary>
 
-         /// Process Upper Panels On
 
-         /// </summary>
 
-         private bool _processUpperPanelsOn;
 
-         #endregion
 
-         /// <summary>
 
-         /// SRD Top Panel Removed
 
-         /// </summary>
 
-         private bool _srdTopPanelRemoved;
 
-         //SRD Lower Panel Removed
 
-         private bool _srdLowerPanelRemoved;
 
-         /// <summary>
 
-         /// Plumbing Door Closed
 
-         /// </summary>
 
-         private bool _plumbingDoorClosed;
 
-         /// <summary>
 
-         /// Process Halt Button1
 
-         /// </summary>
 
-         private bool _processHaltButton1;
 
-         /// <summary>
 
-         /// Process Halt Button2
 
-         /// </summary>
 
-         private bool _processHaltButton2;
 
-         /// <summary>
 
-         /// Loader Halt Button
 
-         /// </summary>
 
-         private bool _loaderHaltButton;
 
-         /// <summary>
 
-         /// Mode Selector Switch
 
-         /// </summary>
 
-         private bool _modeSelectorSwitch;
 
-         /// <summary>
 
-         /// Mode Siren
 
-         /// </summary>
 
-         private bool _modeSiren;
 
-         #region SLS
 
-         private bool _loaderRotationSls;
 
-         private bool _loaderSwingASls;
 
-         private bool _loaderSwingBSls;
 
-         private bool _loaderTiltASls;
 
-         private bool _loaderTiltBSls;
 
-         private bool _puf1VerticalSls;
 
-         private bool _puf2VerticalSls;
 
-         private bool _loaderGantrySls;
 
-         private bool _loaderElevatorSls;
 
-         private bool _processGantrySls;
 
-         private bool _processElevatorSls;
 
-         #endregion
 
-         #region Disable
 
-         /// <summary>
 
-         /// Puf vertical disable
 
-         /// </summary>
 
-         private bool _pufVerticalDisable;
 
-         /// <summary>
 
-         /// Puf1 flip/Rotation Disable
 
-         /// </summary>
 
-         private bool _puf1FlipRotationDisable;
 
-         /// <summary>
 
-         /// Puf2 flip/rotation disable
 
-         /// </summary>
 
-         private bool _puf2FlipRotationDisable;
 
-         /// <summary>
 
-         /// loader disable
 
-         /// </summary>
 
-         private bool _loaderDisable;
 
-         /// <summary>
 
-         /// transporter disable
 
-         /// </summary>
 
-         private bool _transporterDisable;
 
-         /// <summary>
 
-         /// srd arm disable
 
-         /// </summary>
 
-         private bool _srdArmDisable;
 
-         /// <summary>
 
-         /// srd rotation disable
 
-         /// </summary>
 
-         private bool _srdRotationDisable;
 
-         #endregion
 
-         #region safety
 
-         /// <summary>
 
-         /// Transporter safe SLS
 
-         /// </summary>
 
-         private bool _transporterSafeSls;
 
-         /// <summary>
 
-         /// Loader Safe Sls
 
-         /// </summary>
 
-         private bool _loaderSafeSls;
 
-         /// <summary>
 
-         /// Puf Vertical Safe Sls
 
-         /// </summary>
 
-         private bool _pufVerticalSafeSls;
 
-         /// <summary>
 
-         /// Loader Safe Sto
 
-         /// </summary>
 
-         private bool _loaderSafeSto;
 
-         /// <summary>
 
-         /// Puf Vertical Safe Sto
 
-         /// </summary>
 
-         private bool _pufVerticalSafeSto;
 
-         /// <summary>
 
-         /// Puf1 Flip/Rotation Safe Sto
 
-         /// </summary>
 
-         private bool _puf1FlipRotationSafeSto;
 
-         /// <summary>
 
-         /// Puf2 Flip/Rotation Safe Sto
 
-         /// </summary>
 
-         private bool _puf2FlipRotationSafeSto;
 
-         /// <summary>
 
-         /// Transporter Safe Sto
 
-         /// </summary>
 
-         private bool _transporterSafeSto;
 
-         /// <summary>
 
-         /// SRD Arm Safe Sto
 
-         /// </summary>
 
-         private bool _srdArmSafeSto;
 
-         /// <summary>
 
-         /// SRD Rotation Safe Sto
 
-         /// </summary>
 
-         private bool _srdRotationSafeSto;
 
-         #endregion
 
-         #region Plumbing
 
-         /// <summary>
 
-         /// Pump EDM
 
-         /// </summary>
 
-         private bool _pumpEdm;
 
-         /// <summary>
 
-         /// Reservoir High Level
 
-         /// </summary>
 
-         private bool _reservoirHighLevel;
 
-         /// <summary>
 
-         /// Fluid Enable EDM
 
-         /// </summary>
 
-         private bool _fluidEnableEdm;
 
-         #endregion
 
-         private double _srdArmReset;
 
-         #endregion
 
-         #region 属性
 
-         /// <summary>
 
-         /// Twincat状态
 
-         /// </summary>
 
-         public double TwincatState { get { return _twincatState; } set { _twincatState = value; InvokePropertyChanged(nameof(TwincatState)); } }
 
-         
 
-         /// <summary>
 
-         /// Ethercat通信故障
 
-         /// </summary>
 
-         public bool MainCommErr { get { return _mainCommErr; } set { _mainCommErr = value;InvokePropertyChanged(nameof(MainCommErr)); } }
 
-         /// <summary>
 
-         /// Loader/puf通信故障
 
-         /// </summary>
 
-         public bool LoaderPufCommErr { get { return _loaderPufCommErr; } set { _loaderPufCommErr = value;InvokePropertyChanged(nameof(LoaderPufCommErr)); } }
 
-         /// <summary>
 
-         /// SRD通信故障
 
-         /// </summary>
 
-         public bool SrdCommErr { get { return _srdCommErr; } set { _srdCommErr = value;InvokePropertyChanged(nameof(SrdCommErr)); } }
 
-         /// <summary>
 
-         /// Transport 通信故障
 
-         /// </summary>
 
-         public bool TransportCommErr { get { return _transportCommErr; } set { _transportCommErr = value;InvokePropertyChanged(nameof(TransportCommErr)); } }
 
-         /// <summary>
 
-         /// Twincat function block错误
 
-         /// </summary>
 
-         public bool MainFunctionBlockErr { get { return _mainFunctionBlockErr; } set { _mainFunctionBlockErr = value; InvokePropertyChanged(nameof(MainFunctionBlockErr)); } }
 
-         /// <summary>
 
-         /// Loader/Puf function block错误
 
-         /// </summary>
 
-         public bool LoaderPufFunctionBlockErr { get { return _loaderPufFunctionBlockErr; } set { _loaderPufFunctionBlockErr = value;InvokePropertyChanged(nameof(LoaderPufFunctionBlockErr)); } }
 
-         /// <summary>
 
-         /// srd function block错误
 
-         /// </summary>
 
-         public bool SrdFunctionBlockErr { get { return _srdFunctionBlockErr; } set { _srdFunctionBlockErr = value;InvokePropertyChanged(nameof(SrdFunctionBlockErr)); } }
 
-         /// <summary>
 
-         /// Transporter Function Block 错误
 
-         /// </summary>
 
-         public bool TransporterFunctionBlockErr { get { return _transporterFunctionBlockErr; } set { _transporterFunctionBlockErr = value;InvokePropertyChanged(nameof(TransporterFunctionBlockErr)); } }
 
-         #region Hot connect状态
 
-         /// <summary>
 
-         /// Loader Hot connect状态
 
-         /// </summary>
 
-         public double LoaderHotConnectState { get { return _loaderHotConnectState; } set { _loaderHotConnectState = value; InvokePropertyChanged(nameof(LoaderHotConnectState)); } }
 
-         /// <summary>
 
-         /// Puf Hot connect状态
 
-         /// </summary>
 
-         public double PufHotConnectState { get { return _pufHotConnectState; } set { _pufHotConnectState = value;InvokePropertyChanged(nameof(PufHotConnectState)); } }
 
-         /// <summary>
 
-         /// Srd Hot connect状态
 
-         /// </summary>
 
-         public double SrdHotConnectState { get { return _srdHotConnectState; } set { _srdHotConnectState = value;InvokePropertyChanged(nameof(SrdHotConnectState)); } }
 
-         /// <summary>
 
-         /// ldr Hot connect 状态
 
-         /// </summary>
 
-         public double LdrHotConnectState { get { return _ldrHotConnectState; } set { _ldrHotConnectState = value;InvokePropertyChanged(nameof(LdrHotConnectState)); } }
 
-         /// <summary>
 
-         /// Prc Hot Connect状态
 
-         /// </summary>
 
-         public double PrcHotConnectState { get { return _prcHotConnectState; } set { _prcHotConnectState = value;InvokePropertyChanged(nameof(PrcHotConnectState)); } }
 
-         /// <summary>
 
-         /// Reservoir1 Hot connect状态
 
-         /// </summary>
 
-         public double Reservoir1HotConnectState { get { return _reservoir1HotConnectState; } set { _reservoir1HotConnectState = value; InvokePropertyChanged(nameof(Reservoir1HotConnectState)); } }
 
-         /// <summary>
 
-         /// Reservoir2 Hot connect状态
 
-         /// </summary>
 
-         public double Reservoir2HotConnectState { get { return _reservoir2HotConnectState; } set { _reservoir2HotConnectState = value;InvokePropertyChanged(nameof(Reservoir2HotConnectState)); } }
 
-         /// <summary>
 
-         /// FFU Hot Connect 状态
 
-         /// </summary>
 
-         public double FFUHotConnectState { get { return _ffuHotConnectState; } set { _ffuHotConnectState = value; InvokePropertyChanged(nameof(FFUHotConnectState)); } }
 
-         /// <summary>
 
-         /// transporter hot connect state
 
-         /// </summary>
 
-         public double TransporterHotConnectState { get { return _transporterHotConnectState; } set { _transporterHotConnectState = value;InvokePropertyChanged(nameof(TransporterHotConnectState)); } }
 
-         #endregion
 
-         #region Restart
 
-         /// <summary>
 
-         /// RunStop
 
-         /// </summary>
 
-         public bool RunStop { get { return _runStop; } set { _runStop = value; InvokePropertyChanged(nameof(RunStop)); } }
 
-         /// <summary>
 
-         /// err ack
 
-         /// </summary>
 
-         public bool ErrAck { get { return _errAck; } set { _errAck = value;InvokePropertyChanged(nameof(ErrAck)); } }
 
-         /// <summary>
 
-         /// sls restart
 
-         /// </summary>
 
-         public bool SlsRestart { get { return _slsRestart; } set { _slsRestart = value;InvokePropertyChanged(nameof(SlsRestart)); } }
 
-         /// <summary>
 
-         /// tx sto mon restart
 
-         /// </summary>
 
-         public bool TxStoMonRestart { get { return _txStoMonRestart; } set { _txStoMonRestart = value;InvokePropertyChanged(nameof(TxStoMonRestart)); } }
 
-         /// <summary>
 
-         /// tx sto1 estop restart
 
-         /// </summary>
 
-         public bool TxSto1EstopRestart { get { return _txSto1EstopRestart; } set { _txSto1EstopRestart = value;InvokePropertyChanged(nameof(TxSto1EstopRestart)); } }
 
-         /// <summary>
 
-         /// tx sto2 estop restart
 
-         /// </summary>
 
-         public bool TxSto2EstopRestart { get { return _txSto2EstopRestart; } set { _txSto2EstopRestart = value;InvokePropertyChanged(nameof(TxSto2EstopRestart)); } }
 
-         /// <summary>
 
-         /// Loader/Puf sto Mon restart
 
-         /// </summary>
 
-         public bool LdrPufStoMonRestart { get { return _ldrPufStoMonRestart; } set { _ldrPufStoMonRestart = value;InvokePropertyChanged(nameof(LdrPufStoMonRestart)); } }
 
-         /// <summary>
 
-         /// Loader/Puf sto1 estop restart
 
-         /// </summary>
 
-         public bool LdrPufSto1EstopRestart { get { return _ldrPufSto1EstopRestart; } set { _ldrPufSto1EstopRestart = value;InvokePropertyChanged(nameof(LdrPufSto1EstopRestart)); } }
 
-         /// <summary>
 
-         /// Loader/Puf sto2 estop restart
 
-         /// </summary>
 
-         public bool LdrPufSto2EstopRestart { get { return _ldrPufSto2EstopRestart; } set { _ldrPufSto2EstopRestart = value;InvokePropertyChanged(nameof(LdrPufSto2EstopRestart)); } }
 
-         /// <summary>
 
-         /// SRD sto estop restart
 
-         /// </summary>
 
-         public bool SrdStoEstopRestart { get { return _srdStoEstopRestart; } set { _srdStoEstopRestart = value;InvokePropertyChanged(nameof(SrdStoEstopRestart)); } }
 
-         /// <summary>
 
-         /// Pump sto estop restart
 
-         /// </summary>
 
-         public bool PumpStoEstopRestart { get { return _pumpStoEstopRestart; } set { _pumpStoEstopRestart = value;InvokePropertyChanged(nameof(PumpStoEstopRestart)); } }
 
-         /// <summary>
 
-         /// Fluid Estop restart
 
-         /// </summary>
 
-         public bool FluidEstopRestart { get { return _fluidEstopRestart; } set { _fluidEstopRestart = value;InvokePropertyChanged(nameof(FluidEstopRestart)); } }
 
-         #endregion
 
-         #region door lock
 
-         /// <summary>
 
-         /// Load Door Lock
 
-         /// </summary>
 
-         public bool LoaderDoorLock { get { return _loaderDoorLock; } set { _loaderDoorLock = value;InvokePropertyChanged(nameof(LoaderDoorLock)); } }
 
-         /// <summary>
 
-         /// Load Door Locked
 
-         /// </summary>
 
-         public bool LoaderDoorLocked { get { return _loaderDoorLocked; } set { _loaderDoorLocked = value;InvokePropertyChanged(nameof(LoaderDoorLocked)); } }
 
-         /// <summary>
 
-         /// Loader Panel removed
 
-         /// </summary>
 
-         public bool LoaderPanelRemoved { get { return _loaderPanelRemoved; } set { _loaderPanelRemoved = value;InvokePropertyChanged(nameof(LoaderPanelRemoved)); } }
 
-         /// <summary>
 
-         /// Lower Loader Panel Removed
 
-         /// </summary>
 
-         public bool LowerLoaderPanelRemoved { get { return _lowerLoaderPanelRemoved; } set { _lowerLoaderPanelRemoved = value; InvokePropertyChanged(nameof(LowerLoaderPanelRemoved)); } }
 
-         /// <summary>
 
-         /// Buffer Door Lock
 
-         /// </summary>
 
-         public bool BufferDoorLock { get { return _bufferDoorLock; } set { _bufferDoorLock = value;InvokePropertyChanged(nameof(BufferDoorLock)); } }
 
-         /// <summary>
 
-         /// Buffer Door Locked
 
-         /// </summary>
 
-         public bool BufferDoorLocked { get { return _bufferDoorLocked; } set { _bufferDoorLocked = value;InvokePropertyChanged(nameof(BufferDoorLocked)); } }
 
-         /// <summary>
 
-         /// Buffer Panel Removed
 
-         /// </summary>
 
-         public bool BufferPanelRemoved { get { return _bufferPanelRemoved; } set { _bufferPanelRemoved = value;InvokePropertyChanged(nameof(BufferPanelRemoved)); } }
 
-         /// <summary>
 
-         /// Process Door Lock
 
-         /// </summary>
 
-         public bool ProcessDoorLock { get { return _processDoorLock; } set { _processDoorLock = value;InvokePropertyChanged(nameof(ProcessDoorLock)); } }
 
-         /// <summary>
 
-         /// Process Door1 Locked
 
-         /// </summary>
 
-         public bool ProcessDoor1Locked { get { return _processDoor1Locked; } set { _processDoor1Locked = value;InvokePropertyChanged(nameof(ProcessDoor1Locked)); } }
 
-         /// <summary>
 
-         /// Process Door2 Locked
 
-         /// </summary>
 
-         public bool ProcessDoor2Locked { get { return _processDoor2Locked; } set { _processDoor2Locked = value;InvokePropertyChanged(nameof(ProcessDoor2Locked)); } }
 
-         /// <summary>
 
-         /// Process Door3 Locked
 
-         /// </summary>
 
-         public bool ProcessDoor3Locked { get { return _processDoor3Locked; } set { _processDoor3Locked = value;InvokePropertyChanged(nameof(ProcessDoor3Locked)); } }
 
-         /// <summary>
 
-         /// Process Door4 Locked
 
-         /// </summary>
 
-         public bool ProcessDoor4Locked { get { return _processDoor4Locked; } set { _processDoor4Locked = value;InvokePropertyChanged(nameof(ProcessDoor4Locked)); } }
 
-         /// <summary>
 
-         /// Process Upper Panels On
 
-         /// </summary>
 
-         public bool ProcessUpperPanelsOn { get { return _processUpperPanelsOn; } set { _processUpperPanelsOn = value;InvokePropertyChanged(nameof(ProcessUpperPanelsOn)); } }
 
-         #endregion
 
-         /// <summary>
 
-         /// Srd top panel removed
 
-         /// </summary>
 
-         public bool SrdTopPanelRemoved { get { return _srdTopPanelRemoved; } set { _srdTopPanelRemoved = value;InvokePropertyChanged(nameof(SrdTopPanelRemoved)); } }
 
-         /// <summary>
 
-         /// SRD Lower Panel Removed
 
-         /// </summary>
 
-         public bool SrdLowerPanelRemoved { get { return _srdLowerPanelRemoved; } set { _srdLowerPanelRemoved = value;InvokePropertyChanged(nameof(SrdLowerPanelRemoved)); } }
 
-         /// <summary>
 
-         /// Plumbing Door Closed
 
-         /// </summary>
 
-         public bool PlumbingDoorClosed { get { return _plumbingDoorClosed; } set { _plumbingDoorClosed = value;InvokePropertyChanged(nameof(PlumbingDoorClosed)); } }
 
-         /// <summary>
 
-         /// Process Halt Button1
 
-         /// </summary>
 
-         public bool ProcessHaltButton1 { get { return _processHaltButton1; } set { _processHaltButton1 = value;InvokePropertyChanged(nameof(ProcessHaltButton1)); } }
 
-         /// <summary>
 
-         /// Process Halt Button2
 
-         /// </summary>
 
-         public bool ProcessHaltButton2 { get { return _processHaltButton2; } set { _processHaltButton2 = value; InvokePropertyChanged(nameof(ProcessHaltButton2)); } }
 
-         /// <summary>
 
-         /// Loader Halt Button
 
-         /// </summary>
 
-         public bool LoaderHaltButton { get { return _loaderHaltButton; } set { _loaderHaltButton = value;InvokePropertyChanged(nameof(LoaderHaltButton)); } }
 
-         /// <summary>
 
-         /// Mode Selector Switch
 
-         /// </summary>
 
-         public bool ModeSelectorSwitch { get { return _modeSelectorSwitch; } set { _modeSelectorSwitch = value;InvokePropertyChanged(nameof(ModeSelectorSwitch)); } }
 
-         /// <summary>
 
-         /// ModeSiren
 
-         /// </summary>
 
-         public bool ModeSiren { get { return _modeSiren; } set { _modeSiren = value;InvokePropertyChanged(nameof(ModeSiren)); } }
 
-         #region SLS
 
-         public bool LoaderRotationSls { get { return _loaderRotationSls; } set { _loaderRotationSls = value;InvokePropertyChanged(nameof(LoaderRotationSls)); } }
 
-         public bool LoaderSwingASls { get { return _loaderSwingASls; } set { _loaderSwingASls = value;InvokePropertyChanged(nameof(LoaderSwingASls)); } }
 
-         public bool LoaderSwingBSls { get { return _loaderSwingBSls; } set { _loaderSwingBSls = value;InvokePropertyChanged(nameof(LoaderSwingBSls)); } }
 
-         public bool LoaderTiltASls { get { return _loaderTiltASls; } set { _loaderTiltASls = value;InvokePropertyChanged(nameof(LoaderTiltASls)); } }
 
-         public bool LoaderTiltBSls { get { return _loaderTiltBSls; } set { _loaderTiltBSls = value;InvokePropertyChanged(nameof(LoaderTiltBSls)); } }
 
-         public bool Puf1VerticalSls { get { return _puf1VerticalSls; } set { _puf1VerticalSls = value;InvokePropertyChanged(nameof(Puf1VerticalSls)); } }
 
-         public bool Puf2VerticalSls { get { return _puf2VerticalSls; } set { _puf2VerticalSls = value;InvokePropertyChanged(nameof(Puf2VerticalSls)); } }
 
-         public bool LoaderGantrySls { get { return _loaderGantrySls; } set { _loaderGantrySls = value; InvokePropertyChanged(nameof(LoaderGantrySls)); } }
 
-         public bool LoaderElevatorSls { get { return _loaderElevatorSls; } set { _loaderElevatorSls = value;InvokePropertyChanged(nameof(LoaderElevatorSls)); } }
 
-         public bool ProcessGantrySls { get { return _processGantrySls; } set { _processGantrySls = value;InvokePropertyChanged(nameof(ProcessGantrySls)); } }
 
-         public bool ProcessElevatorSls { get { return _processElevatorSls; } set { _processElevatorSls = value;InvokePropertyChanged(nameof(ProcessElevatorSls)); } }
 
-         #endregion
 
-         #region Disable
 
-         /// <summary>
 
-         /// Puf Vertical Disable
 
-         /// </summary>
 
-         public bool PufVerticalDisable { get { return _pufVerticalDisable; } set { _pufVerticalDisable = value;InvokePropertyChanged(nameof(PufVerticalDisable)); } }
 
-         /// <summary>
 
-         /// Puf1 Flip Rotation Disable
 
-         /// </summary>
 
-         public bool Puf1FlipRotationDisable { get { return _puf1FlipRotationDisable; } set { _puf1FlipRotationDisable = value;InvokePropertyChanged(nameof(Puf1FlipRotationDisable)); } }
 
-         /// <summary>
 
-         /// Puf2 Flip Rotation Disable
 
-         /// </summary>
 
-         public bool Puf2FlipRotationDisable { get { return _puf2FlipRotationDisable; } set { _puf2FlipRotationDisable = value; InvokePropertyChanged(nameof(Puf2FlipRotationDisable)); }  }
 
-         /// <summary>
 
-         /// Loader Disable
 
-         /// </summary>
 
-         public bool LoaderDisable { get { return _loaderDisable; } set { _loaderDisable = value;InvokePropertyChanged(nameof(LoaderDisable)); } }
 
-         /// <summary>
 
-         /// Transporter Disable
 
-         /// </summary>
 
-         public bool TransporterDisable { get { return _transporterDisable; } set { _transporterDisable = value;InvokePropertyChanged(nameof(TransporterDisable)); } }
 
-         /// <summary>
 
-         /// Srd Arm Disable
 
-         /// </summary>
 
-         public bool SrdArmDisable { get { return _srdArmDisable; } set { _srdArmDisable = value;InvokePropertyChanged(nameof(SrdArmDisable)); } }
 
-         /// <summary>
 
-         /// Srd Rotation disable
 
-         /// </summary>
 
-         public bool SrdRotationDisable { get { return _srdRotationDisable; } set { _srdRotationDisable = value;InvokePropertyChanged(nameof(SrdRotationDisable)); } }
 
-         #endregion
 
-         #region Safety 
 
-         /// <summary>
 
-         /// Transporter Safe Sls
 
-         /// </summary>
 
-         public bool TransporterSafeSls { get { return _transporterSafeSls; } set { _transporterSafeSls = value;InvokePropertyChanged(nameof(TransporterSafeSls)); } }
 
-         /// <summary>
 
-         /// Loader Safe Sls
 
-         /// </summary>
 
-         public bool LoaderSafeSls { get { return _loaderSafeSls; } set { _loaderSafeSls = value;InvokePropertyChanged(nameof (LoaderSafeSls)); } }
 
-         /// <summary>
 
-         /// Puf vertical safe sls
 
-         /// </summary>
 
-         public bool PufVerticalSafeSls { get { return _pufVerticalSafeSls; } set { _pufVerticalSafeSls = value;InvokePropertyChanged(nameof(PufVerticalSafeSls)); } }
 
-         /// <summary>
 
-         /// Loader Safe sto
 
-         /// </summary>
 
-         public bool LoaderSafeSto { get { return _loaderSafeSto; } set { _loaderSafeSto = value;InvokePropertyChanged(nameof(LoaderSafeSto)); } }
 
-         /// <summary>
 
-         /// Puf vertical safe sto
 
-         /// </summary>
 
-         public bool PufVerticalSafeSto { get { return _pufVerticalSafeSto; } set { _pufVerticalSafeSto = value;InvokePropertyChanged(nameof(PufVerticalSafeSto)); } }
 
-         /// <summary>
 
-         /// Puf1 Flip rotation safe sto
 
-         /// </summary>
 
-         public bool Puf1FlipRotationSafeSto { get { return _puf1FlipRotationSafeSto; } set { _puf1FlipRotationSafeSto = value; InvokePropertyChanged(nameof(Puf1FlipRotationSafeSto)); } }
 
-         /// <summary>
 
-         /// Puf2 Flip rotation safe sto
 
-         /// </summary>
 
-         public bool Puf2FlipRotationSafeSto { get { return _puf2FlipRotationSafeSto; } set { _puf2FlipRotationSafeSto = value;InvokePropertyChanged(nameof(Puf2FlipRotationSafeSto)); } }
 
-         /// <summary>
 
-         /// Transporter Safe Sto
 
-         /// </summary>
 
-         public bool TransporterSafeSto { get { return _transporterSafeSto; } set { _transporterSafeSto = value;InvokePropertyChanged(nameof(TransporterSafeSto)); } }
 
-         /// <summary>
 
-         /// Srd Arm safe sto
 
-         /// </summary>
 
-         public bool SrdArmSafeSto { get { return _srdArmSafeSto; } set { _srdArmSafeSto = value;InvokePropertyChanged(nameof(SrdArmSafeSto)); } }
 
-         /// <summary>
 
-         /// Srd Rotation Safe Sto
 
-         /// </summary>
 
-         public bool SrdRotationSafeSto { get { return _srdRotationSafeSto; } set { _srdRotationSafeSto = value;InvokePropertyChanged(nameof(SrdRotationSafeSto)); } }
 
-         #endregion
 
-         #region Plumbling
 
-         /// <summary>
 
-         /// Pump EDM
 
-         /// </summary>
 
-         public bool PumpEdm { get { return _pumpEdm; } set { _pumpEdm = value; InvokePropertyChanged(nameof(PumpEdm)); } }
 
-         /// <summary>
 
-         /// Reservoir High Level
 
-         /// </summary>
 
-         public bool ReservoirHighLevel { get { return _reservoirHighLevel; } set { _reservoirHighLevel = value;InvokePropertyChanged(nameof(ReservoirHighLevel)); } }
 
-         /// <summary>
 
-         /// Fluid EDM
 
-         /// </summary>
 
-         public bool FluidEnableEdm { get { return _fluidEnableEdm; } set { _fluidEnableEdm = value;InvokePropertyChanged(nameof(FluidEnableEdm)); } }   
 
-         #endregion
 
-         public double SRDArmReset { get { return _srdArmReset; } set { _srdArmReset = value; InvokePropertyChanged(nameof(SRDArmReset)); } }
 
-         /// <summary>
 
-         /// 数据是否初始化
 
-         /// </summary>
 
-         public bool IsDataInitialized { get { return _isDataInitialized; } set { _isDataInitialized = value; InvokePropertyChanged(nameof(IsDataInitialized)); } }
 
-         #endregion
 
-     }
 
- }
 
 
  |