//Добавляет сигнал в объект, если еще такого нет public SignalWonderware AddSignal(SignalWonderware signal) { if (signal.Bit == -1) { if (ValueSignal != null) { return(ValueSignal); } return(ValueSignal = signal); } if (BitSignals.ContainsKey(signal.Bit)) { return(BitSignals[signal.Bit]); } BitSignals.Add(signal.Bit, signal); return(signal); }
//Добавить сигнал в провайдер public ProviderSignal AddSignal(string signalInf, string code, DataType dataType, int idInClone = 0) { var sig = new SignalWonderware(signalInf, code, dataType, this, idInClone); if (!_objects.ContainsKey(sig.TagName)) { var ob = new ObjectWonderware(sig.TagName); _objects.Add(sig.TagName, ob); if (_parts.Count == 0 || _parts[_parts.Count - 1].Count == 500) { _parts.Add(new List <ProviderObject>()); } _parts[_parts.Count - 1].Add(ob); } var ret = _objects[sig.TagName].AddSignal(sig); if (ret == sig) { ProviderSignals.Add(sig.Code, sig); } return(ret); }