public void Process(AdditionsEvent _event) { //switch (_event.MaterialName) //{ // case "ИЗВЕСТ": break; //} //Console.WriteLine("Addition has come. MatName={0} ConverterNumber={1} ", _event.MaterialName, _event.iCnvNr); //_event.ChemestryAttributes = DBWorker.Instance.GetChemestryAttributes(_event.MaterialName); //foreach (var pair in _event.ChemestryAttributes) //{ // Console.WriteLine("Elements El_name {0} El_val={1}", pair.Key, pair.Value); //} try { this._Module._Heat.AdditionsHistory.Add(_event); } catch { } }
private bool DoTrackKonvAdditions(int iIdxInPointLi) { int iActWeight,iActPortionWeight,iCnvNr,iLfdPos; string sMatName; bool bErg = true; try { iCnvNr = pointLi[iIdxInPointLi].iCnvNr; // Принята нотификация переменной 'ACT_C2_TOADD'=2550 if ((j = getPoint("TOADD",iCnvNr)) >= 0) { AddLogg("Принята нотификация переменной 'ACT_C" + iCnvNr + "_TOADD'=" + pointLi[j].iDataValue); } for (iLfdPos = 0; iLfdPos < 10; iLfdPos++) { //AddLogg("DEBUG K" + iCnvNr + " iLfdBunk=" + iLfdBunk); sAliasInfoTeil = "ADDWGT" + (iLfdPos); // wegen DEBUG j = findPoint(sAliasInfoTeil,iCnvNr); if (j >= 0) { if (pointLi[j].iDataValue != null) { iActWeight = pointLi[j].iDataValue; if (!bNoFirstKonvAdditionsTO) {// das waere Anlauf //AddLogg("DEBUG K" + iCnvNr + " iLfdBunk=" + iLfdBunk + " Anlauf AdditionsKonvLi[" + iLfdPos +"," + (iCnvNr - 1) + "]=" + iActWeight); AdditionsKonvLi[iLfdPos,iCnvNr - 1].TotalWeight = iActWeight; AddLogg("K" + iCnvNr + " " + sAliasInfoTeil + " '" + AdditionNamesLi[iLfdPos,iCnvNr - 1] + "' вес при перезапуске " + iActWeight); } else { // das waere NormalLauf iActPortionWeight = iActWeight - AdditionsKonvLi[iLfdPos,iCnvNr - 1].TotalWeight; sMatName = AdditionNamesLi[iLfdPos,iCnvNr - 1]; if (iActPortionWeight > 0) { AdditionsEvent evAdditions = new AdditionsEvent(); evAdditions.iCnvNr = iCnvNr; evAdditions.Date = DateTime.Now; evAdditions.Destination = "CV"; evAdditions.MaterialName = sMatName; evAdditions.StringNo = iLfdPos; evAdditions.PortionWeight = iActPortionWeight; evAdditions.TotalWeight = iActWeight; sLfdEvtMsg = evAdditions.ToString(); mainGate.PushEvent(evAdditions); //AddLogg("DEBUG K" + iCnvNr + " iLfdBunk=" + iLfdBunk + " NormalLauf AdditionsKonvLi[" +iLfdPos + "," + (iCnvNr - 1) + "]=" + iActWeight); AddLogg("DEBUG K" + iCnvNr + " " + evAdditions.ToString()); AddLogg("K" + iCnvNr + " " + sAliasInfoTeil + " '" + sMatName + "' было " + AdditionsKonvLi[iLfdPos,iCnvNr - 1].TotalWeight + " добавлено " + iActPortionWeight + " стало " + iActWeight); } else { if (iActPortionWeight == 0) { } else { AddLogg("K" + iCnvNr + " " + sAliasInfoTeil + " '" + sMatName + "' было " + AdditionsKonvLi[iLfdPos,iCnvNr - 1].TotalWeight + " добавлено " + iActPortionWeight + " ?"); } } AdditionsKonvLi[iLfdPos,iCnvNr - 1].TotalWeight = iActWeight; // aeltern } } } else { AddLogg("При DoTrackAdditionNames не найдена точка K" + pointLi[iIdxInPointLi].iCnvNr + sAliasInfoTeil); bErg = false; } } } catch (Exception ex) { bErg = false; sP = "Ошибка DoTrackKonvAdditions pointLi[" + iIdxInPointLi + "],Exc: " + ex.Message; AddLogg(sP); } bNoFirstKonvAdditionsTO = true; return bErg; }