Пример #1
0
 //Добавляет сигнал в объект, если еще такого нет
 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);
 }
Пример #2
0
        //Добавить сигнал в провайдер
        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);
        }