| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480 | 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>        /// Main Function Block故障        /// </summary>        private bool _mainFbErr;        /// <summary>        /// VPW状态        /// </summary>        private double _vpwHotConectState;        /// <summary>        /// VPW通信故障        /// </summary>        private bool _vpwCommErr;        /// <summary>        /// VPW function block故障        /// </summary>        private bool _vpwFbErr;        /// <summary>        /// RES1_2状态        /// </summary>        private double _res12HotConectState;        /// <summary>        /// RES1_2通信故障        /// </summary>        private bool _res12CommErr;        /// <summary>        /// RES1_2 Function Block故障        /// </summary>        private bool _res12FbErr;        /// <summary>        /// RES3_4状态        /// </summary>        private double _res34HotConectState;        /// <summary>        /// RES3_4通信故障        /// </summary>        private bool _res34CommErr;        /// <summary>        /// RES3_4Function Block故障        /// </summary>        private bool _res34FbErr;        /// <summary>        /// Facility状态        /// </summary>        private double _facilityHotConectState;        /// <summary>        /// Facility通信故障        /// </summary>        private bool _facilityCommErr;        /// <summary>        /// Facility Function Block故障        /// </summary>        private bool _facilityFbErr;        /// <summary>        /// PlatingCell1_2状态        /// </summary>        private double _plating12HotConectState;        /// <summary>        /// Plating1_2通信故障        /// </summary>        private bool _plating12CommErr;        /// <summary>        /// Plating1_2 Function Block故障        /// </summary>        private bool _plating12FbErr;        /// <summary>        /// Plating3_4状态        /// </summary>        private double _plating34HotConectState;        /// <summary>        /// Plating3_4通信故障        /// </summary>        private bool _plating34CommErr;        /// <summary>        /// Plating34 Function Block故障        /// </summary>        private bool _plating34FbErr;        /// <summary>        /// SRD状态        /// </summary>        private double _srdHotConnectState;        /// <summary>        /// SRD通信故障        /// </summary>        private bool _srdCommErr;        /// <summary>        /// SRD Function Block故障        /// </summary>        private bool _srdFbErr;        /// <summary>        /// 数据是否初始化        /// </summary>        private bool _isDataInitialized;        #region Restart        /// <summary>        /// Run stop        /// </summary>        private bool _runStop;        /// <summary>        /// Err ack        /// </summary>        private bool _errAck;        /// <summary>        /// VPW Estop restart        /// </summary>        private bool _vpwStoEstopRestart;        /// <summary>        /// Res12 Estop restart        /// </summary>        private bool _res12StoEstopRestart;        /// <summary>        /// Res34 Estop restart        /// </summary>        private bool _res34StoEstopRestart;        /// <summary>        /// Plating cell 1_2 sto1 estop restart        /// </summary>        private bool _platingCell12Sto1EstopRestart;        /// <summary>        /// Plating cell 1_2 sto2 estop restart        /// </summary>        private bool _platingCell12Sto2EstopRestart;        /// <summary>        /// Plating cell 3_4 sto1 estop restart        /// </summary>        private bool _platingCell34Sto1EstopRestart;        /// <summary>        /// Plating cell 3_4 sto2 estop restart        /// </summary>        private bool _platingCell34Sto2EstopRestart;        /// <summary>        /// Facility sto estop restart        /// </summary>        private bool _facilityStoEstopRestart;        /// <summary>        /// SRD Sto Estop restart        /// </summary>        private bool _srdStoEstopRestart;        #endregion        #region Doors Lock        /// <summary>        /// Req Aligner Door Lock        /// </summary>        private bool _reqAlignerDoorLock;        /// <summary>        /// Req cassette doors lock        /// </summary>        private bool _reqCassetteDoorsLock;        /// <summary>        /// Req cell 1_2 doors lock        /// </summary>        private bool _reqCell12DoorsLock;        /// <summary>        /// Req cell doors lock        /// </summary>        private bool _reqCell34DoorsLock;        #endregion        #region locked        /// <summary>        /// Cell1_2 Doors Left Locked        /// </summary>        private bool _cell12DoorsLeftLocked;        /// <summary>        /// Cell1_2 Doors Right Locked        /// </summary>        private bool _cell12DoorsRightLocked;        /// <summary>        /// Cell3_4 Doors Left Locked        /// </summary>        private bool _cell34DoorsLeftLocked;        /// <summary>        /// Cell3_4 Doors Right Locked        /// </summary>        private bool _cell34DoorsRightLocked;        /// <summary>        /// Aligner Door closed        /// </summary>        private bool _alignerDoorClosed;        /// <summary>        /// Cassette Doors Left locked        /// </summary>        private bool _cassetteDoorsLeftLocked;        /// <summary>        /// Cassette Doors Right locked        /// </summary>        private bool _cassetteDoorsRightLocked;        #endregion        #region Closed        private bool _res12DoorClosed;        private bool _res34DoorClosed;        private bool _vpwDoorClosed;        private bool _plumblingDoorClosed;        private bool _srdPanelClosed;        #endregion        #region Halt        private bool _haltButtonLeft;        private bool _haltButtonRight;        #endregion        #region Leak Detected        private bool _platingCell12LeakDetected;        private bool _platingCell34LeakDetected;        private bool _vacuumPrewetLeakDetected;        private bool _sampleStation1LeakDetected;        private bool _sampleStation2LeakDetected;        private bool _frameContainmentLeakDetected;        #endregion        #region EDM        private bool _reservoir12CAPumpEdm;        private bool _reservoir34CAPumpEdm;        private bool _resDegas1PumpEdm;        private bool _resDegas2PumpEdm;        private bool _vpwVacuumPumpEdm;        private bool _vpwBoosterPumpEdm;        private bool _extFluidEnableEdm;        #endregion        #region Level High        private bool _reservoir1CALevelHigh;        private bool _reservoir2CALevelHigh;        private bool _reservoir3CALevelHigh;        private bool _reservoir4CALevelHigh;        #endregion        #region Axis STO        private bool _vpwCell1RotationStoEdm;        private bool _vpwCell2RotationStoEdm;        private bool _platingCell1RotationStoEdm;        private bool _platingCell2RotationStoEdm;        private bool _platingCell3RotationStoEdm;        private bool _platingCell4RotationStoEdm;        private bool _platingCell12VerticalStoEdm;        private bool _platingCell34VerticalStoEdm;        private bool _srd1RotationStoEdm;        private bool _srd2RotationStoEdm;        #endregion        #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>        /// Main Function Block故障        /// </summary>        public bool MainFbErr { get { return _mainFbErr; } set { _mainFbErr = value;InvokePropertyChanged(nameof (MainFbErr)); } }        /// <summary>        /// 数据是否初始化        /// </summary>        public bool IsDataInitialized { get { return _isDataInitialized; } set { _isDataInitialized = value; InvokePropertyChanged(nameof(IsDataInitialized)); } }               public double VpwHotConnectState { get { return _vpwHotConectState; } set { _vpwHotConectState = value;InvokePropertyChanged(nameof(VpwHotConnectState)); } }        public bool VpwCommErr { get { return _vpwCommErr; }set { _vpwCommErr = value; InvokePropertyChanged(nameof(VpwCommErr)); } }        public bool VpwFbErr { get {return _vpwFbErr; } set {_vpwFbErr = value; InvokePropertyChanged(nameof (VpwFbErr)); } }        public double Res12HotConnectState { get { return _res12HotConectState; } set { _res12HotConectState = value;InvokePropertyChanged(nameof(Res12HotConnectState)); } }        public bool Res12CommErr { get { return _res12CommErr; }set {_res12CommErr = value;InvokePropertyChanged(nameof(Res12CommErr)); } }         public bool Res12FbErr { get { return _res12FbErr; } set { _res12FbErr = value; InvokePropertyChanged(nameof(Res12FbErr)); } }        public double Res34HotConnectState { get { return _res34HotConectState; } set { _res34HotConectState = value;InvokePropertyChanged(nameof( Res34HotConnectState)); } }          public bool Res34CommErr { get { return _res34CommErr; }set{_res34CommErr = value;InvokePropertyChanged(nameof (Res34CommErr)); } }        public bool Res34FbErr { get { return _res34FbErr; } set { _res34FbErr = value; InvokePropertyChanged(nameof(Res34FbErr)); } }        public double FacilityHotConnectState { get { return _facilityHotConectState;}set { _facilityHotConectState = value; InvokePropertyChanged(nameof(FacilityHotConnectState));} }        public bool FacilityCommErr { get { return _facilityCommErr; } set { _facilityCommErr = value; InvokePropertyChanged(nameof(FacilityCommErr)); } }        public bool FacilityFbErr { get { return _facilityFbErr; }set { _facilityFbErr = value;InvokePropertyChanged(nameof(FacilityFbErr)); } }            public double Plating12HotConnectState { get { return _plating12HotConectState; } set { _plating12HotConectState = value; InvokePropertyChanged(nameof(Plating12HotConnectState)); } }        public bool Plating12CommErr { get { return _plating12CommErr; } set { _plating12CommErr = value; InvokePropertyChanged(nameof(Plating12CommErr)); } }        public bool Plating12FbErr { get { return _plating12FbErr;}set { _plating12FbErr = value;InvokePropertyChanged(nameof (Plating12FbErr)); } }        public double Plating34HotConnectState { get { return _plating34HotConectState; } set { _plating34HotConectState = value; InvokePropertyChanged(nameof(Plating34HotConnectState)); } }        public bool Plating34CommErr { get { return _plating34CommErr; } set { _plating34CommErr = value; InvokePropertyChanged(nameof(Plating34CommErr)); } }        public bool Plating34FbErr { get { return _plating34FbErr; } set { _plating34FbErr = value; InvokePropertyChanged(nameof(Plating34FbErr)); } }        public double SrdHotConnectState { get { return _srdHotConnectState; } set { _srdHotConnectState = value; InvokePropertyChanged(nameof(SrdHotConnectState)); } }        public bool SrdCommErr { get { return _srdCommErr; } set { _srdCommErr = value; InvokePropertyChanged(nameof(SrdCommErr)); } }        public bool SrdFbErr { get { return _srdFbErr; } set { _srdFbErr = value; InvokePropertyChanged(nameof(SrdFbErr)); } }        #region Restart        /// <summary>        /// Run stop        /// </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>        /// VPW Estop restart        /// </summary>        public bool VpwStoEstopRestart { get { return _vpwStoEstopRestart; } set { _vpwStoEstopRestart = value;InvokePropertyChanged(nameof(VpwStoEstopRestart)); } }        /// <summary>        /// Res12 Estop restart        /// </summary>        public bool Res12StoEstopRestart { get { return _res12StoEstopRestart; } set { _res12StoEstopRestart = value;InvokePropertyChanged(nameof(Res12StoEstopRestart)); } }        /// <summary>        /// Res34 Estop restart        /// </summary>        public bool Res34StoEstopRestart { get { return _res34StoEstopRestart; } set { _res34StoEstopRestart = value;InvokePropertyChanged(nameof(Res34StoEstopRestart)); } }        /// <summary>        /// Plating cell 1_2 sto1 estop restart        /// </summary>        public bool PlatingCell12Sto1EstopRestart { get { return _platingCell12Sto1EstopRestart; } set { _platingCell12Sto1EstopRestart = value;InvokePropertyChanged(nameof(PlatingCell12Sto1EstopRestart)); } }        /// <summary>        /// Plating cell 1_2 sto2 estop restart        /// </summary>        public bool PlatingCell12Sto2EstopRestart { get { return _platingCell12Sto2EstopRestart; } set { _platingCell12Sto2EstopRestart = value;InvokePropertyChanged(nameof(PlatingCell12Sto2EstopRestart)); } }        /// <summary>        /// Plating cell 3_4 sto1 estop restart        /// </summary>        public bool PlatingCell34Sto1EstopRestart { get { return _platingCell34Sto1EstopRestart; } set { _platingCell34Sto1EstopRestart = value;InvokePropertyChanged(nameof(PlatingCell34Sto1EstopRestart)); } }        /// <summary>        /// Plating cell 3_4 sto2 estop restart        /// </summary>        public bool PlatingCell34Sto2EstopRestart { get { return _platingCell34Sto2EstopRestart; } set { _platingCell34Sto2EstopRestart = value;InvokePropertyChanged(nameof(PlatingCell34Sto2EstopRestart)); } }        /// <summary>        /// Facility sto estop restart        /// </summary>        public bool FacilityStoEstopRestart { get { return _facilityStoEstopRestart; } set { _facilityStoEstopRestart = value;InvokePropertyChanged(nameof(FacilityStoEstopRestart)); } }        /// <summary>        /// SRD Sto Estop restart        /// </summary>        public bool SrdStoEstopRestart { get { return _srdStoEstopRestart; } set { _srdStoEstopRestart = value;InvokePropertyChanged(nameof(SrdStoEstopRestart)); } }        #endregion        #region Doors Lock        /// <summary>        /// Req Aligner Door Lock        /// </summary>        public bool ReqAlignerDoorLock { get { return _reqAlignerDoorLock; } set { _reqAlignerDoorLock = value;InvokePropertyChanged(nameof(ReqAlignerDoorLock)); } }        /// <summary>        /// Req cassette doors lock        /// </summary>        public bool ReqCassetteDoorsLock { get { return _reqCassetteDoorsLock; } set { _reqCassetteDoorsLock = value;InvokePropertyChanged(nameof(ReqCassetteDoorsLock)); } }        /// <summary>        /// Req cell 1_2 doors lock        /// </summary>        public bool ReqCell12DoorsLock { get { return _reqCell12DoorsLock; } set { _reqCell12DoorsLock = value;InvokePropertyChanged(nameof(ReqCell12DoorsLock)); } }        /// <summary>        /// Req cell doors lock        /// </summary>        public bool ReqCell34DoorsLock { get { return _reqCell34DoorsLock; } set { _reqCell34DoorsLock = value; InvokePropertyChanged(nameof(ReqCell34DoorsLock)); } }        #endregion        #region locked        /// <summary>        /// Cell1_2 Doors Left Locked        /// </summary>        public bool Cell12DoorsLeftLocked { get { return _cell12DoorsLeftLocked; } set { _cell12DoorsLeftLocked = value;InvokePropertyChanged(nameof(Cell12DoorsLeftLocked)); } }        /// <summary>        /// Cell1_2 Doors Right Locked        /// </summary>        public bool Cell12DoorsRightLocked { get { return _cell12DoorsRightLocked; } set { _cell12DoorsRightLocked = value;InvokePropertyChanged(nameof(Cell12DoorsRightLocked)); } }        /// <summary>        /// Cell3_4 Doors Left Locked        /// </summary>        public bool Cell34DoorsLeftLocked { get { return _cell34DoorsLeftLocked; } set { _cell34DoorsLeftLocked = value;InvokePropertyChanged(nameof(Cell34DoorsLeftLocked)); } }        /// <summary>        /// Cell3_4 Doors Right Locked        /// </summary>        public bool Cell34DoorsRightLocked { get { return _cell34DoorsRightLocked; } set { _cell34DoorsRightLocked = value;InvokePropertyChanged(nameof(Cell34DoorsRightLocked)); } }        /// <summary>        /// Aligner Door closed        /// </summary>        public bool AlignerDoorClosed { get { return _alignerDoorClosed; } set { _alignerDoorClosed = value;InvokePropertyChanged(nameof(AlignerDoorClosed)); } }        /// <summary>        /// Cassette Doors Left locked        /// </summary>        public bool CassetteDoorsLeftLocked { get { return _cassetteDoorsLeftLocked; } set { _cassetteDoorsLeftLocked = value;InvokePropertyChanged(nameof(CassetteDoorsLeftLocked)); } }        /// <summary>        /// Cassette Doors Right locked        /// </summary>        public bool CassetteDoorsRightLocked { get { return _cassetteDoorsRightLocked; } set { _cassetteDoorsRightLocked = value;InvokePropertyChanged(nameof(CassetteDoorsRightLocked)); } }        #endregion        #region Closed        public bool Res12DoorClosed { get { return _res12DoorClosed; } set { _res12DoorClosed = value;InvokePropertyChanged(nameof(Res12DoorClosed)); } }        public bool Res34DoorClosed { get { return _res34DoorClosed; } set { _res34DoorClosed = value;InvokePropertyChanged(nameof(Res34DoorClosed)); } }        public bool VpwDoorClosed { get { return _vpwDoorClosed; } set { _vpwDoorClosed = value;InvokePropertyChanged(nameof(VpwDoorClosed)); } }        public bool PlumblingDoorClosed { get { return _plumblingDoorClosed; } set { _plumblingDoorClosed = value;InvokePropertyChanged(nameof(PlumblingDoorClosed)); } }        public bool SrdPanelClosed { get { return _srdPanelClosed; } set { _srdPanelClosed = value;InvokePropertyChanged(nameof(SrdPanelClosed)); } }          #endregion        #region Halt        public bool HaltButtonLeft { get { return _haltButtonLeft; } set { _haltButtonLeft = value;InvokePropertyChanged(nameof(HaltButtonLeft)); } }        public bool HaltButtonRight { get { return _haltButtonRight; } set { _haltButtonRight = value;InvokePropertyChanged(nameof(HaltButtonRight)); } }        #endregion        #region Leak Detected        public bool PlatingCell12LeakDetected { get { return _platingCell12LeakDetected; } set { _platingCell12LeakDetected = value;InvokePropertyChanged(nameof(PlatingCell12LeakDetected)); } }        public bool PlatingCell34LeakDetected { get { return _platingCell34LeakDetected; } set { _platingCell34LeakDetected = value;InvokePropertyChanged(nameof(PlatingCell34LeakDetected)); } }        public bool VacuumPrewetLeakDetected { get { return _vacuumPrewetLeakDetected;} set { _vacuumPrewetLeakDetected = value;InvokePropertyChanged(nameof(VacuumPrewetLeakDetected)); } }        public bool SampleStation1LeakDetected { get { return _sampleStation1LeakDetected;} set { _sampleStation1LeakDetected = value;InvokePropertyChanged(nameof(SampleStation1LeakDetected)); } }        public bool SampleStation2LeakDetected { get { return _sampleStation2LeakDetected; } set { _sampleStation2LeakDetected = value; InvokePropertyChanged(nameof(SampleStation2LeakDetected)); } }        public bool FrameContainmentLeakDetected { get { return _frameContainmentLeakDetected; } set { _frameContainmentLeakDetected = value;InvokePropertyChanged(nameof(FrameContainmentLeakDetected)); } }        #endregion        #region EDM        public bool Reservoir12CAPumpEdm { get { return _reservoir12CAPumpEdm; } set { _reservoir12CAPumpEdm = value;InvokePropertyChanged(nameof(Reservoir12CAPumpEdm)); } }        public bool Reservoir34CAPumpEdm { get { return _reservoir34CAPumpEdm; } set { _reservoir34CAPumpEdm = value;InvokePropertyChanged(nameof(Reservoir34CAPumpEdm)); } }        public bool ResDegas1PumpEdm { get { return _resDegas1PumpEdm; } set { _resDegas1PumpEdm = value;InvokePropertyChanged(nameof(ResDegas1PumpEdm)); } }        public bool ResDegas2PumpEdm { get { return _resDegas2PumpEdm; } set { _resDegas2PumpEdm = value;InvokePropertyChanged(nameof(ResDegas2PumpEdm)); } }        public bool VpwVacuumPumpEdm { get { return _vpwVacuumPumpEdm; } set { _vpwVacuumPumpEdm = value;InvokePropertyChanged(nameof(VpwVacuumPumpEdm)); } }        public bool VpwBoosterPumpEdm { get { return _vpwBoosterPumpEdm; } set { _vpwBoosterPumpEdm = value;InvokePropertyChanged(nameof(VpwBoosterPumpEdm)); } }        public bool ExtFluidEnableEdm { get { return _extFluidEnableEdm; } set { _extFluidEnableEdm = value;InvokePropertyChanged(nameof(ExtFluidEnableEdm)); } }        #endregion        #region Level High        public bool Reservoir1CALevelHigh { get { return _reservoir1CALevelHigh; } set { _reservoir1CALevelHigh = value; InvokePropertyChanged(nameof(Reservoir1CALevelHigh)); } }        public bool Reservoir2CALevelHigh { get { return _reservoir2CALevelHigh; } set { _reservoir2CALevelHigh = value; InvokePropertyChanged(nameof(Reservoir2CALevelHigh)); } }        public bool Reservoir3CALevelHigh { get { return _reservoir3CALevelHigh; } set { _reservoir3CALevelHigh = value; InvokePropertyChanged(nameof(Reservoir3CALevelHigh)); } }        public bool Reservoir4CALevelHigh { get { return _reservoir4CALevelHigh; } set { _reservoir4CALevelHigh = value; InvokePropertyChanged(nameof(Reservoir4CALevelHigh)); } }        #endregion        #region Axis STO        public bool VpwCell1RotationStoEdm { get { return _vpwCell1RotationStoEdm; } set { _vpwCell1RotationStoEdm = value;InvokePropertyChanged(nameof(VpwCell1RotationStoEdm)); } }        public bool VpwCell2RotationStoEdm { get { return _vpwCell2RotationStoEdm; } set { _vpwCell2RotationStoEdm = value;InvokePropertyChanged(nameof(VpwCell2RotationStoEdm)); } }        public bool PlatingCell1RotationStoEdm { get { return _platingCell1RotationStoEdm; } set { _platingCell1RotationStoEdm = value;InvokePropertyChanged(nameof(PlatingCell1RotationStoEdm)); } }        public bool PlatingCell2RotationStoEdm { get { return _platingCell2RotationStoEdm; } set { _platingCell2RotationStoEdm = value; InvokePropertyChanged(nameof(PlatingCell2RotationStoEdm)); } }        public bool PlatingCell3RotationStoEdm { get { return _platingCell3RotationStoEdm; } set { _platingCell3RotationStoEdm = value; InvokePropertyChanged(nameof(PlatingCell3RotationStoEdm)); } }        public bool PlatingCell4RotationStoEdm { get { return _platingCell4RotationStoEdm; } set { _platingCell4RotationStoEdm = value; InvokePropertyChanged(nameof(PlatingCell4RotationStoEdm)); } }        public bool PlatingCell12VerticalStoEdm { get { return _platingCell12VerticalStoEdm; } set { _platingCell12VerticalStoEdm = value;InvokePropertyChanged(nameof(PlatingCell12VerticalStoEdm)); } }        public bool PlatingCell34VerticalStoEdm { get { return _platingCell34VerticalStoEdm; } set { _platingCell34VerticalStoEdm = value; InvokePropertyChanged(nameof(PlatingCell34VerticalStoEdm)); } }        public bool Srd1RotationStoEdm { get { return _srd1RotationStoEdm; } set { _srd1RotationStoEdm = value;InvokePropertyChanged(nameof(Srd1RotationStoEdm)); } }        public bool Srd2RotationStoEdm { get { return _srd2RotationStoEdm; } set { _srd2RotationStoEdm = value;InvokePropertyChanged(nameof(Srd2RotationStoEdm)); } }        #endregion        #endregion    }}
 |