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); }
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); }); }
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); }
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)); }
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; } }
public void PostSctuEvent(SctuHwState state, SctuTestResults results) { EnumerateClients(client => client.SctuHandler(state, results)); }