Exemple #1
0
        internal void Start(SctuTestParameters parameters, IOClamping clamping, IOGateway gateway)
        {
            _testParameters = parameters;
            _testResults    = new SctuTestResults();

            //_stop = false;

            ClearWarning();

            if (!_isSctuEmulation)
            {
                var devState = (SctuHwState)ReadRegister(REG_DEV_STATE);

                if (devState == SctuHwState.Fault)
                {
                    throw new Exception(string.Format("Sctu is in fault state, reason: {0}", ReadRegister(REG_FAULT_REASON)));
                }

                if (devState == SctuHwState.Disabled)
                {
                    throw new Exception("Sctu is in disabled state");
                }
            }

            MeasurementLogicRoutine(clamping, gateway);
        }
Exemple #2
0
 public void AddSctuEvent(SctuHwState state, SctuTestResults results)
 {
     m_ActionQueue.Enqueue(delegate
     {
         //if (Cache.Main.mainFrame.Content.Equals(Cache.UserTest))
         //    Cache.UserTest.SetDVdtWarning(Warning);
         //else
         Cache.SctuPage.SetResults(state, results);
     });
 }
Exemple #3
0
        private void FiredSctuEvent(SctuHwState state, SctuTestResults result)
        {
            var message = string.Format("Sctu test state {0}", state);

            if (state == SctuHwState.WaitTimeOut)
            {
                message = string.Format("Sctu test result - Voltage: {0}, Current: {1}, Gain: {2} ", result.VoltageValue, result.CurrentValue, result.MeasureGain);
            }

            SystemHost.Journal.AppendLog(ComplexParts.Sctu, LogMessageType.Info, message);
            _broadcastCommunication.PostSctuEvent(state, result);
        }
Exemple #4
0
        internal IoSctu(IOAdapter ioAdapter, BroadcastCommunication broadcastCommunication)
        {
            _ioAdapter = ioAdapter;
            _broadcastCommunication   = broadcastCommunication;
            _isSctuEmulationHard      = Settings.Default.SctuEmulation;
            _isNeedSctuInitialization = Settings.Default.NeedSCTUInitialization;
            _isSctuEmulation          = _isSctuEmulationHard;
            _ReadGraph   = Settings.Default.SCTUReadGraph;
            _node        = (ushort)Settings.Default.SctuNode;
            _testResults = new SctuTestResults();
            _WorkplaceActivationStatusRegisterValueEmulation = 0;
            _UseAnotherControlUnitBoard  = Settings.Default.UseAnotherControlUnitBoard;
            _ThisControlUnitBoardNode    = ThisControlUnitBoardNode();
            _AnotherControlUnitBoardNode = AnotherControlUnitBoardNode();

            SystemHost.Journal.AppendLog(ComplexParts.Sctu, LogMessageType.Info, String.Format("Sctu created. Emulation mode: {0}", Settings.Default.SctuEmulation));
        }
Exemple #5
0
        public void SetResults(SctuHwState state, SctuTestResults results)
        {
            switch (state)
            {
            //данные готовы при состоянии SCTU WaitTimeOut
            case SctuHwState.WaitTimeOut:
                labelResultVoltage.Content = results.VoltageValue;    //((double)results.VoltageValue / 1000).ToString("0.00");
                labelResultCurrent.Content = results.CurrentValue;
                labelMeasureGain.Content   = Math.Round(results.MeasureGain, 3).ToString();

                //выводим графики тока и напряжения
                Plot(@"I", m_XGreen.Color, results.CurrentData);
                Plot(@"U", m_XOrange.Color, results.VoltageData);
                break;

            case SctuHwState.Ready:
                StartButtonEnabled(true);
                break;
            }
        }
Exemple #6
0
 public void PostSctuEvent(SctuHwState state, SctuTestResults results)
 {
     EnumerateClients(client => client.SctuHandler(state, results));
 }