public void Process(OffGasAnalysisEvent _event) { try { this._Module._Heat.OffGasAnalysisHistory.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(OffGasAnalysisEvent evt) { var sql = CheckInsert("TREND_OFFGASANALYSE", evt.iCnvNr, evt.Time) ? "UPDATE TREND_OFFGASANALYSE " + "SET H2 = :H2, O2 = :O2, CO = :CO, CO2 = :CO2, N2 = :N2, AR = :AR " + "WHERE CNV_NO = :CNV_NO AND INSERTTIME = :INSERTTIME " : "INSERT INTO TREND_OFFGASANALYSE(H2, O2, CO, CO2, N2, AR, CNV_NO, INSERTTIME) " + "VALUES (:H2, :O2, :CO, :CO2, :N2, :AR, :CNV_NO, :INSERTTIME) "; var parametres = new List<OracleParameter> { SetParams("H2", evt.H2), SetParams("O2", evt.O2), SetParams("CO", evt.CO), SetParams("CO2", evt.CO2), SetParams("N2", evt.N2), SetParams("AR", evt.Ar) }; parametres.AddRange(MandatoryParams(evt.iCnvNr, evt.Time)); return ExecuteNonQuery(sql, parametres); }
public void AddGasPoints(OffGasAnalysisEvent ogaEvent) { double time; time = (DateTime.Now - StartBlowingTime.Value).TotalSeconds; COTrend.Update(time, (float)ogaEvent.CO); CO2Trend.Update(time, (float)ogaEvent.CO2); H2Trend.Update(time, (float)ogaEvent.H2); N2Trend.Update(time, (float)ogaEvent.N2); O2Trend.Update(time, (float)ogaEvent.O2); ArTrend.Update(time, (float)ogaEvent.Ar); NeedToUpdateGraph = true; }