//Добавить сигнал в источник public ProviderSignal AddSignal(string signalInf, string code, DataType dataType, int idInClone = 0) { var sig = new ProviderSignal(signalInf, code, dataType, this, idInClone); ProviderSignals.Add(code, sig); string tableName = sig.Inf["TableName"]; int nodeId = sig.Inf.GetInt("NodeId"); string prop = sig.Inf["Prop"]; if (prop.IsEmpty()) { if (!_objects.ContainsKey(tableName)) { _objects.Add(tableName, new DicI <ObjectProlog>()); } var ob = _objects[tableName].Add(nodeId, new ObjectProlog(tableName, nodeId, prop)); _objectsId.Add(nodeId, ob); return(ob.AddSignal(sig)); } if (!_totals.ContainsKey(tableName)) { _totals.Add(tableName, new DicI <ObjectProlog>()); } var obt = _totals[tableName].Add(nodeId, new ObjectProlog(tableName, nodeId, prop)); _totalsId.Add(nodeId, obt); return(obt.AddSignal(sig)); }
//Добавляет один сигнал в список protected override ProviderOut AddOut(ProviderSignal sig) { if (sig.Inf.Get("ObjectType") == "Operator") { return(OperatorOut ?? (OperatorOut = new KosmOperatorOut(this))); } var ind = new OutIndex(sig.Inf.GetInt("SysNum"), sig.Inf.GetInt("NumType"), sig.Inf.GetInt("Appartment"), sig.Inf.GetInt("NumOut")); KosmOut obj; if (ind.Out == 1 && (ind.NumType == 1 || ind.NumType == 3 || ind.NumType == 32)) { if (Analogs.ContainsKey(ind)) { obj = Analogs[ind]; } else { Analogs.Add(ind, obj = new KosmOut(this, ind)); } } else { if (Outs.ContainsKey(ind)) { obj = Outs[ind]; } else { Outs.Add(ind, obj = new KosmOut(this, ind)); } } return(obj); }
//Добавить выход protected override ProviderOut AddOut(ProviderSignal sig) { var kvintOut = new KvintOut(this, sig.Inf["Marka"], sig.Inf["ParamName"], sig.Inf.GetInt("CardId"), sig.Inf.GetInt("ParamNo")); Outs.Add(kvintOut); return(kvintOut); }
//Добавить выход в провайдер protected override ProviderOut AddOut(ProviderSignal sig) { string ocode = sig.Inf.Get("Name_Object") + "." + sig.Inf.Get("Name_Device") + "." + sig.Inf.Get("Name_Type"); return(!Outs.ContainsKey(ocode) ? Outs.Add(ocode, new MirOut(this)) : Outs[ocode]); }
//Добавить объект в провайдер protected override ProviderOut AddOut(ProviderSignal sig) { int id = sig.Inf.GetInt("Id"); return(OutsId.ContainsKey(id) ? OutsId[id] : OutsId.Add(id, new SimaticOut(this, sig.Inf["Archive"], sig.Inf["Tag"], id))); }
//Добавить выход в провайдер protected override ProviderOut AddOut(ProviderSignal sig) { string tag = sig.Inf["TagName"]; if (!Outs.ContainsKey(tag)) { Outs.Add(tag, new WonderwareOut(this, tag)); } return(Outs[tag]); }
//Добавить к объекту сигнал, если такого еще не было public ProviderSignal AddSignal(ProviderSignal sig) { var code = sig.Inf["SignalCode"]; if (!Signals.ContainsKey(code)) { Signals.Add(code, sig); } return(Signals[code]); }
//Добавить объект в провайдер protected override ProviderOut AddOut(ProviderSignal sig) { var num = sig.Inf.GetInt("NumObject"); if (_outs.ContainsKey(num)) { return(_outs[num]); } return(_outs.Add(num, new FictiveOut(this, sig.Inf.GetInt("ValuesInterval")))); }
//Добавление сигнала public ProviderSignal AddSignal(string signalInf, string code, DataType dataType, int idInClone = 0) { if (!ProviderSignals.ContainsKey(code)) { var sig = new ProviderSignal(signalInf, code, dataType, this, idInClone) { Value = new SingleValue(SingleType.List) }; ProviderSignals.Add(code, sig); return(sig); } return(ProviderSignals[code]); }
//Добавляет один сигнал в список public ProviderSignal AddSignal(string signalInf, string code, DataType dataType, int idInClone = 0) { var sig = new ProviderSignal(signalInf, code, dataType, this, idInClone); //Заполнение SignalsLists var ind = new ObjectIndex { Sn = sig.Inf.GetInt("SysNum"), NumType = sig.Inf.GetInt("NumType"), Appartment = sig.Inf.GetInt("Appartment"), Out = sig.Inf.GetInt("NumOut") }; ObjectKosm obj; if (ind.Out == 1 && (ind.NumType == 1 || ind.NumType == 3 || ind.NumType == 32)) { if (_analogs.ContainsKey(ind)) { obj = _analogs[ind]; } else { obj = new ObjectKosm(ind, sig.Code); _analogs.Add(ind, obj); } } else { if (_outs.ContainsKey(ind)) { obj = _outs[ind]; } else { obj = new ObjectKosm(ind, sig.Code); _outs.Add(ind, obj); } } var nsig = obj.AddSignal(sig); if (nsig == sig) { ProviderSignals.Add(sig.Code, nsig); } return(nsig); }
//Добавить выход в источник protected override ProviderOut AddOut(ProviderSignal sig) { int id = sig.Inf.GetInt("NodeId"); if (OutsId.ContainsKey(id)) { return(OutsId[id]); } string tableName = sig.Inf["TableName"]; if (!Outs.ContainsKey(tableName)) { Outs.Add(tableName, new DicI <LogikaOut>()); } var ob = new LogikaOut(this); Outs[tableName].Add(id, ob); return(OutsId.Add(id, ob)); }
//Добавить к объекту сигнал, если такого еще не было public ProviderSignal AddSignal(ProviderSignal sig) { if (sig.Inf["Prop"] == "ND") { return(StateSignal ?? (StateSignal = sig)); } if (sig.Inf["Prop"] == "POK") { return(PokSignal ?? (PokSignal = sig)); } int bit = sig.Inf.GetInt("NumBit", -1); if (bit == -1) { return(ValueSignal ?? (ValueSignal = sig)); } BitSignals.Add(bit, sig); return(BitSignals[bit]); }
//Добавить выход в провайдер protected override ProviderOut AddOut(ProviderSignal sig) { var obType = sig.Inf.Get("ObjectType").ToUpper(); switch (obType) { case "ALARM": return(AlarmOut ?? (AlarmOut = new OvationMsgOut(this, "ALARM"))); case "SOE": return(SoeOut ?? (SoeOut = new OvationMsgOut(this, "SOE"))); case "TEXT": return(TextOut ?? (TextOut = new OvationMsgOut(this, "TEXT"))); } int id = sig.Inf.GetInt("Id"); return(OutsId.ContainsKey(id) ? OutsId[id] : OutsId.Add(id, new OvationOut(this, id))); }
//Добавить сигнал public ProviderSignal AddSignal(string signalInf, string code, DataType dataType, int idInClone = 0) { var dic = signalInf.ToPropertyDicS(); var proj = dic["Project"]; var ocode = dic["CodeObject"]; var itype = dic["IntervalType"].ToIntervalType(); var sp = dic["SuperProcessType"].ToSuperProcess(); if (!_intervalTypes.Contains(itype)) { _intervalTypes.Add(itype); } if (!_signalsDic.ContainsKey(proj)) { _signalsDic.Add(proj, new DicS <Dictionary <IntervalType, ProviderSignal> >()); _reportParams.Add(proj, new DicS <ArchiveReportParam>()); } var projdic = _signalsDic[proj]; var repdic = _reportParams[proj]; if (!projdic.ContainsKey(ocode)) { projdic.Add(ocode, new Dictionary <IntervalType, ProviderSignal>()); repdic.Add(ocode, new ArchiveReportParam(ocode, proj, dataType, sp, CalcParamType.Class, new List <IntervalType>())); } if (projdic[ocode].ContainsKey(itype)) { return(projdic[ocode][itype]); } var sig = new ProviderSignal(signalInf, code, dataType, this, idInClone) { Value = new SingleValue(SingleType.List) }; projdic[ocode].Add(itype, sig); ProviderSignals.Add(code, sig); repdic[ocode].Queries.Add(itype, new ArchiveQueryValues()); return(sig); }
//Добавление объекта protected override ProviderOut AddOut(ProviderSignal sig) { var table = sig.Inf.Get("Table"); bool isErr = sig.Inf.Get("IsErrorObject") == "True"; var code = sig.Inf.Get("ObjectCode"); switch (table) { case "MomValues": return(Outs.ContainsKey(code) ? Outs[code] : Outs.Add(code, new FictiveOut(this, isErr))); case "MomValues2": return(Outs2.ContainsKey(code) ? Outs2[code] : Outs2.Add(code, new FictiveSmallOut(this))); case "MomOperator": return(OperatorOut ?? (OperatorOut = new FictiveOperatorOut(this))); } return(null); }
//Добавить сигнал в выход protected override ProviderSignal AddNewSignal(ProviderSignal sig) { return(AddSourceSignal((MomSignal)sig)); }
//Добавить сигнал в выход protected override ProviderSignal AddNewSignal(ProviderSignal sig) { return(AddReceiverSignal((ReceiverSignal)sig)); }