Esempio n. 1
0
        private void FireILEvent(DeviceState State, Types.Gate.TestResults Result)
        {
            var message = string.Format("Gate IL state {0}", State);

            if (State == DeviceState.Success)
            {
                message = string.Format("Gate IL {0} mA", Result.IL);
            }

            SystemHost.Journal.AppendLog(ComplexParts.Gate, LogMessageType.Info, message);

            m_Communication.PostGateIlEvent(State, Result);
        }
Esempio n. 2
0
        private void FireKelvinEvent(DeviceState state, Types.Gate.TestResults result)
        {
            var message = string.Format("Gate Kelvin state {0}", state);

            if (state == DeviceState.Success)
            {
                message = string.Format("Gate Kelvin is {0}", result.IsKelvinOk);
            }

            SystemHost.Journal.AppendLog(ComplexParts.Gate, LogMessageType.Info, message);

            m_Communication.PostGateKelvinEvent(state, result);
        }
Esempio n. 3
0
        internal IOGate(IOAdapter Adapter, BroadcastCommunication Communication)
        {
            m_IOAdapter           = Adapter;
            m_Communication       = Communication;
            m_IsGateEmulationHard = Settings.Default.GateEmulation;
            m_IsGateEmulation     = m_IsGateEmulationHard;
            m_ReadGraph           = Settings.Default.GateReadGraph;

            m_Node   = (ushort)Settings.Default.GateNode;
            m_Result = new Types.Gate.TestResults();

            SystemHost.Journal.AppendLog(ComplexParts.Gate, LogMessageType.Info,
                                         String.Format("Gate created. Emulation mode: {0}", m_IsGateEmulation));
        }
Esempio n. 4
0
        internal DeviceState Start(Types.Gate.TestParameters parameters, Types.Commutation.TestParameters commParameters)
        {
            m_Parameter = parameters;

            if (m_State == DeviceState.InProcess)
            {
                throw new Exception("Gate test is already started");
            }

            m_Stop   = false;
            m_Result = new Types.Gate.TestResults {
                TestTypeId = parameters.TestTypeId
            };

            ClearWarning();

            if (!m_IsGateEmulation)
            {
                var devState = (Types.Gate.HWDeviceState)ReadRegister(REG_DEVICE_STATE);

                if (devState == Types.Gate.HWDeviceState.Fault)
                {
                    var faultReason = (Types.Gate.HWFaultReason)ReadRegister(REG_FAULT_REASON);
                    FireNotificationEvent(Types.Gate.HWProblemReason.None, Types.Gate.HWWarningReason.None, faultReason,
                                          Types.Gate.HWDisableReason.None);

                    throw new Exception(string.Format("Gate is in fault state, reason: {0}", faultReason));
                }

                if (devState == Types.Gate.HWDeviceState.Disabled)
                {
                    var disableReason = (Types.Gate.HWDisableReason)ReadRegister(REG_DISABLE_REASON);
                    FireNotificationEvent(Types.Gate.HWProblemReason.None, Types.Gate.HWWarningReason.None,
                                          Types.Gate.HWFaultReason.None, disableReason);

                    throw new Exception(string.Format("Gate is in disabled state, reason: {0}", disableReason));
                }
            }

            MeasurementLogicRoutine(commParameters);

            return(m_State);
        }
Esempio n. 5
0
 public void PostGateResistanceEvent(DeviceState state, Types.Gate.TestResults result)
 {
     EnumerateClients(client => client.GateResistanceHandler(state, result.Resistance, result.TestTypeId));
 }
Esempio n. 6
0
 public void PostGateKelvinEvent(DeviceState state, Types.Gate.TestResults result)
 {
     EnumerateClients(client => client.GateKelvinHandler(state, result.IsKelvinOk, result.ArrayKelvin, result.TestTypeId));
 }
Esempio n. 7
0
 public void PostGateIhEvent(DeviceState state, Types.Gate.TestResults result)
 {
     EnumerateClients(client => client.GateIhHandler(state, result.IH, result.ArrayIH, result.TestTypeId));
 }
Esempio n. 8
0
 public void PostGateGateEvent(DeviceState state, Types.Gate.TestResults result)
 {
     EnumerateClients(client => client.GateIgtVgtHandler(state, result.IGT, result.VGT, result.ArrayIGT, result.ArrayVGT, result.TestTypeId));
 }