Ejemplo n.º 1
0
 //添加子项
 public void AddItem(SHHOPCItem item)
 {
     if (_itemList.Contains(item) == false)
     {
         _itemList.Add(item);
         item.AttachToGroup(this);
     }
 }
Ejemplo n.º 2
0
 //移除子项
 public void RemoveItem(SHHOPCItem item)
 {
     if (_itemList.Contains(item))
     {
         item.DetachFromGroup(this);
         _itemList.Remove(item);
     }
 }
Ejemplo n.º 3
0
        //测点值改变(一般是事件订阅触发)
        private void OPCGroup_DataChange(int TransactionID, int NumItems, ref Array ClientHandles, ref Array ItemValues, ref Array Qualities, ref Array TimeStamps)
        {
            float[]    values    = ItemValues as float[];
            int[]      qualities = Qualities as int[];
            DateTime[] times     = TimeStamps as DateTime[];

            for (int i = 1; i <= NumItems; i++)
            {
                for (int j = 0; j < _itemList.Count; j++)
                {
                    SHHOPCItem item = _itemList[j];


                    if (Convert.ToInt32(ClientHandles.GetValue(i)) == item.GetHashCode())
                    {
                        object value = ItemValues.GetValue(i);
                        item.PointValue = value.ToString();

                        TB_TF_RealValues.UpdateValue(item.ID, value.ToString(), (DateTime)TimeStamps.GetValue(i), (int)SHHPointState.Normal);
                        break;
                    }
                }
            }
        }