public void Process(OffGasEvent _event) { try { this._Module._Heat.OffGasHistory.Add(_event); } catch { } }
private static void OnTimedEvent(object source, ElapsedEventArgs e) { m_vPathIsOutput = !VPathDataIsEqual(HDataList[m_position].Bunkers, m_vPathDataLast); if (m_vPathIsOutput) { Console.WriteLine( "{17:0000}: {0:00000} > {1:000} | {2:0000.0} | {3:00.0} | {4:00.0} | {5:00.0} | {6:00.0} | {7:00.0} | {8:00.0} " + "| {9:0000} | {10:0000} | {11:0000} | {12:0000} | {13:0000} | {14:0000} | {15:0000} | {16:0000}", m_totalO2, HDataList[m_position].HeightLance, HDataList[m_position].RateO2, HDataList[m_position].H2, HDataList[m_position].O2, HDataList[m_position].CO, HDataList[m_position].CO2, HDataList[m_position].N2, HDataList[m_position].Ar, HDataList[m_position].Bunkers.RB5, HDataList[m_position].Bunkers.RB6, HDataList[m_position].Bunkers.RB7, HDataList[m_position].Bunkers.RB8, HDataList[m_position].Bunkers.RB9, HDataList[m_position].Bunkers.RB10, HDataList[m_position].Bunkers.RB11, HDataList[m_position].Bunkers.RB12, ++m_step ); m_vPathDataLast = HDataList[m_position].Bunkers; } else { Console.WriteLine( "{9:0000}: {0:00000} > {1:000} | {2:0000.0} | {3:00.0} | {4:00.0} | {5:00.0} | {6:00.0} | {7:00.0} | {8:00.0}", m_totalO2, HDataList[m_position].HeightLance, HDataList[m_position].RateO2, HDataList[m_position].H2, HDataList[m_position].O2, HDataList[m_position].CO, HDataList[m_position].CO2, HDataList[m_position].N2, HDataList[m_position].Ar, ++m_step ); } var le = new LanceEvent(); le.LanceHeight = HDataList[m_position].HeightLance; le.O2Flow = HDataList[m_position].RateO2; le.O2TotalVol = (int) m_totalO2; var offGA = new OffGasAnalysisEvent(); offGA.H2 = HDataList[m_position].H2; offGA.O2 = HDataList[m_position].O2; offGA.CO = HDataList[m_position].CO; offGA.CO2 = HDataList[m_position].CO2; offGA.N2 = HDataList[m_position].N2; offGA.Ar = HDataList[m_position].Ar; var fex = new FlexHelper("UDP.OffGasAnalysisEvent"); fex.AddArg("H2", HDataList[m_position].H2); fex.AddArg("O2", HDataList[m_position].O2); fex.AddArg("CO", HDataList[m_position].CO); fex.AddArg("CO2", HDataList[m_position].CO2); fex.AddArg("N2", HDataList[m_position].N2); fex.AddArg("Ar", HDataList[m_position].Ar); fex.Fire(MainGate); var offG = new OffGasEvent(); offG.OffGasFlow = HDataList[m_position].VOffGas; offG.OffGasTemp = (int) Math.Round(HDataList[m_position].TOffGas); var bE = new BlowingEvent(); bE.O2TotalVol = (int) m_totalO2; bE.BlowingFlag = 1; var vate = new visAdditionTotalEvent(); vate.RB5TotalWeight = HDataList[m_position].Bunkers.RB5; vate.RB6TotalWeight = HDataList[m_position].Bunkers.RB6; vate.RB7TotalWeight = HDataList[m_position].Bunkers.RB7; vate.RB8TotalWeight = HDataList[m_position].Bunkers.RB8; vate.RB9TotalWeight = HDataList[m_position].Bunkers.RB9; vate.RB10TotalWeight = HDataList[m_position].Bunkers.RB10; vate.RB11TotalWeight = HDataList[m_position].Bunkers.RB11; vate.RB12TotalWeight = HDataList[m_position].Bunkers.RB12; if ((HDataList[m_position].SublanceC > 0) && !m_sublanceCIsPushed) { Int64 reminder = 0; Int64 res = Math.DivRem(m_heatNumber, 10000, out reminder); Int64 longHN = res*100000 + reminder; MainGate.PushEvent(new visSpectrluksEvent() {C = HDataList[m_position].SublanceC, HeatNumber = longHN}); Console.WriteLine("specroluks push Heat = {0} ", longHN); MainGate.PushEvent(new SublanceCEvent() {C = HDataList[m_position].SublanceC}); m_sublanceCIsPushed = true; Console.WriteLine("Carbone pushed C = {0}, heatNumber = {1}", HDataList[m_position].SublanceC, longHN); } var doge = new DecompressionOffGasEvent(); m_decompressionOffGas = HDataList[m_position].DecompressionOffGas == Int32.MinValue ? m_decompressionOffGas : HDataList[m_position].DecompressionOffGas; doge.Decompression = m_decompressionOffGas; MainGate.PushEvent(le); MainGate.PushEvent(offGA); MainGate.PushEvent(offG); MainGate.PushEvent(bE); MainGate.PushEvent(doge); m_totalO2 += HDataList[m_position].RateO2*0.01666666666666666666666666666667; if (m_vPathIsOutput) MainGate.PushEvent(vate); //Console.WriteLine("m_position -- {0}; HDataList.Count -- {1}", m_position, HDataList.Count); if (m_position < HDataList.Count - 1) m_position++; else { Console.WriteLine("Exit 0"); System.Environment.Exit(0); m_timer.Enabled = false; } }
private bool InsertOrUpdateTrends(OffGasEvent evt) { var sql = (CheckInsert("TREND_OFFGAS", evt.iCnvNr, evt.Time)) ? "UPDATE TREND_OFFGAS " + "SET FLOW = :FLOW, TEMP = :TEMP, HOODPOS = :HOODPOS, FILTER = :FILTER, CNT = :CNT " + "WHERE CNV_NO = :CNV_NO AND INSERTTIME = :INSERTTIME " : "INSERT INTO TREND_OFFGAS(FLOW, TEMP, HOODPOS, FILTER, CNT, CNV_NO, INSERTTIME) " + "VALUES (:FLOW, :TEMP, :HOODPOS, :FILTER, :CNT, :CNV_NO, :INSERTTIME) "; var parametres = new List<OracleParameter> { SetParams("FLOW", evt.OffGasFlow), SetParams("TEMP", evt.OffGasTemp), SetParams("HOODPOS", evt.OffGasHoodPos), SetParams("FILTER", evt.OffGasFilterControlPos), SetParams("CNT", evt.OffGasCounter) }; parametres.AddRange(MandatoryParams(evt.iCnvNr, evt.Time)); return ExecuteNonQuery(sql, parametres); }
private bool DoOffGasEvent(int iIdxInPointLi) { bool bErg = false; if (bIsBlasen(pointLi[iIdxInPointLi].iCnvNr)) { try { OffGasEvent evOffGas = new OffGasEvent(); evOffGas.iCnvNr = pointLi[iIdxInPointLi].iCnvNr; j = findPoint("OFFGASCOUNTER",pointLi[iIdxInPointLi].iCnvNr); if (j >= 0) { evOffGas.OffGasCounter = pointLi[j].iDataValue; j = findPoint("OFFGASFLOW",pointLi[iIdxInPointLi].iCnvNr); if (j >= 0) { evOffGas.OffGasFlow = pointLi[j].iDataValue; // was asFloat j = findPoint("OFFGASTEMP",pointLi[iIdxInPointLi].iCnvNr); if (j >= 0) { evOffGas.OffGasTemp = pointLi[j].iDataValue; j = findPoint("GASFILTERCONTROLPOS",pointLi[iIdxInPointLi].iCnvNr); if (j >= 0) { evOffGas.OffGasFilterControlPos = pointLi[j].iDataValue; j = findPoint("HOODPOS",pointLi[iIdxInPointLi].iCnvNr); if (j >= 0) { evOffGas.OffGasHoodPos = pointLi[j].iDataValue; sLfdEvtMsg = evOffGas.ToString(); mainGate.PushEvent(evOffGas); //AddLogg(evOffGas.ToString()); bErg = true; } else { AddLogg("При OffGasEvent не найдена точка K" + pointLi[iIdxInPointLi].iCnvNr + " HOODPOS"); } } else { AddLogg("При OffGasEvent не найдена точка K" + pointLi[iIdxInPointLi].iCnvNr + " GASFILTERCONTROLPOS"); } } else { AddLogg("При OffGasEvent не найдена точка K" + pointLi[iIdxInPointLi].iCnvNr + " OFFGASTEMP"); } } else { AddLogg("При OffGasEvent не найдена точка K" + pointLi[iIdxInPointLi].iCnvNr + " OFFGASFLOW"); } } else { AddLogg("При OffGasEvent не найдена точка K" + pointLi[iIdxInPointLi].iCnvNr + " OFFGASCOUNTER"); } } catch (Exception eXc) { sLfdEvtErr = eXc.Message; AddLogg("При OffGasEvent K" + pointLi[iIdxInPointLi].iCnvNr + " Exception: " + eXc.Message); } } return bErg; }