private void FireVTMEvent(DeviceState State, Types.VTM.TestResults Result, int ITM) { var message = string.Format("{0} state {1}", !m_Parameter.IsSelfTest ? "VTM test" : "VTM self-test", State); if (State == DeviceState.Success) { message = !m_Parameter.IsSelfTest ? String.Format("Test result VTM - {0} mV on ITM - {1} A", Result.Voltage, ITM) : "Self-test OK"; } SystemHost.Journal.AppendLog(ComplexParts.SL, LogMessageType.Info, message); m_Communication.PostSLEvent(State, Result); }
internal IOStLs(IOAdapter Adapter, BroadcastCommunication Communication) { m_IOAdapter = Adapter; m_Communication = Communication; m_IsSLEmulationHard = Settings.Default.SLEmulation; m_IsSLEmulation = m_IsSLEmulationHard; m_ReadGraph = Settings.Default.SLReadGraph; m_Node = (ushort)Settings.Default.SLNode; m_Result = new Types.VTM.TestResults(); SystemHost.Journal.AppendLog(ComplexParts.SL, LogMessageType.Info, String.Format("VTM created. Emulation mode: {0}", m_IsSLEmulation)); }
internal void SetResult(DeviceState State, Types.VTM.TestResults Result) { if (State != DeviceState.InProcess) { IsRunning = false; if (State == DeviceState.Success) { Plot(Result.SelfTestArray, Result.CapacitorsArray); } } else { ClearStatus(); } }
internal DeviceState Start(Types.VTM.TestParameters parameters, Types.Commutation.TestParameters commParameters) { m_Parameter = parameters; if (m_State == DeviceState.InProcess) { throw new Exception("VTM test is already started"); } m_Result = new Types.VTM.TestResults { TestTypeId = parameters.TestTypeId }; m_Stop = false; ClearWarning(); if (!m_IsSLEmulation) { var devState = (Types.VTM.HWDeviceState)ReadRegister(REG_DEVICE_STATE); if (devState == Types.VTM.HWDeviceState.Fault) { var faultReason = (Types.VTM.HWFaultReason)ReadRegister(REG_FAULT_REASON); FireNotificationEvent(Types.VTM.HWProblemReason.None, Types.VTM.HWWarningReason.None, faultReason, Types.VTM.HWDisableReason.None); throw new Exception(string.Format("VTM is in fault state, reason: {0}", faultReason)); } if (devState == Types.VTM.HWDeviceState.Disabled) { var disableReason = (Types.VTM.HWDisableReason)ReadRegister(REG_DISABLE_REASON); FireNotificationEvent(Types.VTM.HWProblemReason.None, Types.VTM.HWWarningReason.None, Types.VTM.HWFaultReason.None, disableReason); throw new Exception(string.Format("VTM is in disabled state, reason: {0}", disableReason)); } } MeasurementLogicRoutine(commParameters); return(m_State); }
internal void SetResultVtm(DeviceState State, Types.VTM.TestResults Result) { if (State != DeviceState.InProcess) { IsRunning = false; if (State == DeviceState.Success) { Plot(@"Itm", m_XGreen.Color, Result.ITMArray); Plot(@"Vtm", m_XOrange.Color, Result.VTMArray); } } else { ClearStatus(); } SetLabel(lblVtm, State, string.Format("{0}", Result.Voltage)); //сознательно не используем SetLabel т.к. нам не нужна установка Background lblItm.Content = string.Format("{0}", Result.Current); }
public void PostSLEvent(DeviceState State, Types.VTM.TestResults Result) { EnumerateClients(Client => Client.SLHandler(State, Result)); }