public void WriteTag(Logix.Tag tag) { lock (mSyncLock) { int result = mPLC.WriteTag(tag); if (result != Logix.ResultCode.E_SUCCESS) { throw new LogixTagException("An error occured while trying to write tag.", tag, result); } } }
public void ReadTag(Logix.Tag tag) { lock (mSyncLock) { int result = mPLC.ReadTag(tag); if (result != Logix.ResultCode.E_SUCCESS) { throw new LogixTagException("An error occured while trying to read tag.", tag, result); } if (tag.QualityCode != Logix.ResultCode.QUAL_GOOD) { throw new LogixTagException("Logix.Tag quality error.", tag, tag.QualityCode); } } }
public void RemoveTagFromGroup(Logix.Tag tag, int interval) { lock (mSyncLock) { Logix.TagGroup group = mTagGroups[interval]; group.RemoveTag(tag); if (group.Tags.Count == 0) { //just leave the timer //Timer timer = new Timer(OnTimerElapsed, group, 0, interval); //mTimers.Add(timer); //mTagGroups.Add(interval, group); } } }
public void CheckTag(Logix.Tag tag, int interval) { if (mTagGroups.ContainsKey(interval)) { Logix.TagGroup group = mTagGroups[interval]; group.AddTag(tag); } else { Logix.TagGroup group = new Logix.TagGroup(mPLC); group.AddTag(tag); Timer timer = new Timer(OnTimerElapsed, group, 0, interval); mTimers.Add(timer); } }
public LogixTagException(string msg, Logix.Tag tag, int errorCode) : base(msg) { this.ErrorCode = errorCode; this.Tag = tag; }