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