// 생성자 public ClsWritePacketData(byte invokeId, ClsTagItem tagItem, byte orderPriority, bool hasValue, double value) { m_OrderTime = DateTime.Now; m_ReorderCount = 0; m_FirstOrderTime = m_OrderTime; m_InvokeId = invokeId; m_Item = tagItem; m_Device = tagItem.Device; m_Priority = orderPriority; m_HasValue = hasValue; m_Value = value; }
// public static 메서드 public static ClsTagItem FindTagObject(IEnumerable <ClsTagItem> tagItems, int tagId) { ClsTagItem rtn = null; foreach (ClsTagItem nowItem in tagItems) { if (nowItem.CheckTagItem(tagId)) { rtn = nowItem; break; } } return(rtn); }
public bool AddTag(ClsTagItem tagItem, byte propertyid) { bool rtn = false; if (tagItem == null) { throw new ArgumentNullException("TagItem 이 null 입니다", "tagItem"); } //else if (this.m_Items.Count > REQUEST_MAX_OBJECT_COUNT) //{ // throw new ArgumentException("최대 Object 갯수를 초과했습니다", "tagItem"); //} else if (propertyid != PROPERTY_PRESENT_VALUE & propertyid != PROPERTY_PRIORITY_ARRAY) { throw new ArgumentException("처리하지 않는 propertyid 입니다", "propertyid"); } else if (this.m_RequsetPacket != null) { throw new ArgumentException("RequestPacket 이 만든 후에는 추가할 수 없습니다", "tagItem"); } else { if (propertyid == PROPERTY_PRESENT_VALUE & this.m_ResponsePacketSizeEstimates + PacketMultiReadRequest.RESPONSE_PACKET_PRESENT_VALUE_SIZE <= PacketMultiReadRequest.PACKET_MAX_SIZE) { this.m_ResponsePacketSizeEstimates += PacketMultiReadRequest.RESPONSE_PACKET_PRESENT_VALUE_SIZE; this.m_Items.Add(new ClsRequestItemData(tagItem, propertyid)); rtn = true; } else if (propertyid == PROPERTY_PRIORITY_ARRAY & this.m_ResponsePacketSizeEstimates + PacketMultiReadRequest.RESPONSE_PACKET_PRIORITY_ARRAY_SIZE <= PacketMultiReadRequest.PACKET_MAX_SIZE) { this.m_ResponsePacketSizeEstimates += PacketMultiReadRequest.RESPONSE_PACKET_PRIORITY_ARRAY_SIZE; this.m_Items.Add(new ClsRequestItemData(tagItem, propertyid)); rtn = true; } else { rtn = false; } } return(rtn); }
// public 메서드 public bool AddTag(ClsTagItem tagItem) { return(this.AddTag(tagItem, PROPERTY_PRESENT_VALUE)); }
// 생성자 public ClsRequestItemData(ClsTagItem tagItem, byte propertyid) { this.m_TagItem = tagItem; this.m_PropertyId = propertyid; }