public override void TagValueSubscriber(TagValuePublishedArgs args) { if (_transmits.Count <= 0) { return; } if (TagConfigs.FirstOrDefault(t => t.TagName == args.TagName) != null) { string key = args.TagName; if (!_cache.ContainsKey(key)) { Tag tag = new Tag() { Timestamp = args.NewTimestamp, TagId = args.TagId, TagName = args.TagName, TagValue = args.NewValue }; _cache.TryAdd(key, tag); } else { Tag oldValue; if (_cache.TryGetValue(key, out oldValue)) { if (oldValue == null) { Tag tag = new Tag() { Timestamp = args.NewTimestamp, TagId = args.TagId, TagName = args.TagName, TagValue = args.NewValue }; _cache.TryAdd(key, tag); } else { if (oldValue.TagValue != args.NewValue) { oldValue.Timestamp = args.NewTimestamp; oldValue.TagId = args.TagId; oldValue.TagName = args.TagName; oldValue.TagValue = args.NewValue; //_cache.TryUpdate(key, tag, oldValue); } } } } } }
public override void TagValueSubscriber(TagValuePublishedArgs args) { if (_posModel == null || !_posModel.IsStart) { return; } if (!OPCServerInstance.IsRunning) { OnServiceLog("OPC Server 没有启动"); return; } if (TagConfigs.FirstOrDefault(t => t.TagName == args.TagName) != null) { string key = args.TagName; object val = args.NewValue; if (!_cache.ContainsKey(key)) { _cache.TryAdd(key, val); OPCServerInstance.UpdateTag(key, val); } else { object oldValue; if (_cache.TryGetValue(key, out oldValue)) { if (val != oldValue) { _cache.TryUpdate(key, val, oldValue); OPCServerInstance.UpdateTag(key, val); } } } } }
public override void TagValueSubscriber(TagValuePublishedArgs args) { OnServiceLog(args.TagName + "," + args.NewValue.ToString()); }
public override void TagValueSubscriber(TagValuePublishedArgs args) { //throw new NotImplementedException(); }