public void Add(PLCData <T> item) { if (m_plcDataList.Count == 0) { this.Prefix = item.Prefix; this.IsBitCollection = item.IsBit; } if (this.Prefix == item.Prefix && this.IsBitCollection == item.IsBit) { m_plcDataList.Add(item); } }
/// <summary> /// 向PLC数据集中添加一个地址 /// </summary> /// <param name="name"></param> /// <param name="addr"></param> /// <param name="index"></param> /// <returns></returns> public void Add(string name, string addr, uint index = 0) { if (addr.Contains('.')) { AddBit(name, addr, index); return; } PLCData <T> plcData = new PLCData <T>() { Name = name, NameIndex = index, Prefix = addr[0].ToString(), Addr = int.Parse(addr.Substring(1)) }; Add(plcData); }
/// <summary> /// 向PLC数据集中添加一个Bit地址 /// </summary> /// <param name="name"></param> /// <param name="addr"></param> /// <param name="index"></param> /// <returns></returns> private void AddBit(string name, string addr, uint index = 0) { if (DataType != DataType.BoolAddress) { return; } string[] splits = addr.Substring(1).Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries); PLCData <T> plcData = new PLCData <T>() { Name = name, NameIndex = index, Prefix = addr[0].ToString(), Addr = int.Parse(splits[0]), Bit = byte.Parse(splits[1]), Length = UnitLength, IsBit = true }; Add(plcData); }
public bool Remove(PLCData <T> item) { return(m_plcDataList.Remove(item)); }
public bool Contains(PLCData <T> item) { return(m_plcDataList.Contains(item)); }