Пример #1
0
        private static BaseTagValue[] ConvertToBaseTagValues(OpcDaItemValue[] opcDaValues)
        {
            List <BaseTagValue> values = new List <BaseTagValue>();

            foreach (OpcDaItemValue valueChange in opcDaValues)
            {
                BaseTagValue value = OPCAgentUtils.GetTagWithValue(valueChange.Item.CanonicalDataType, valueChange.Value);
                value.Path    = valueChange.Item.ItemId;
                value.Quality = new OpcQuality
                {
                    Status    = (OpcQualityStatus)valueChange.Quality.Master,
                    SubStatus = (OpcQualitySubStatus)valueChange.Quality.Status,
                    Limit     = (OpcQualityLimit)valueChange.Quality.Limit
                };
                value.TimeStamp = valueChange.Timestamp.DateTime; //todo, make sure this is utc
                values.Add(value);
            }
            return(values.ToArray());
        }
 public static object GetObjectValueFromTag(BaseTagValue tag)
 {
     if (tag is SByteTagValue)
     {
         return((tag as SByteTagValue).Value);
     }
     if (tag is ByteTagValue)
     {
         return((tag as ByteTagValue).Value);
     }
     if (tag is ShortTagValue)
     {
         return((tag as ShortTagValue).Value);
     }
     if (tag is UShortTagValue)
     {
         return((tag as UShortTagValue).Value);
     }
     if (tag is IntTagValue)
     {
         return((tag as IntTagValue).Value);
     }
     if (tag is UIntTagValue)
     {
         return((tag as UIntTagValue).Value);
     }
     if (tag is LongTagValue)
     {
         return((tag as LongTagValue).Value);
     }
     if (tag is ULongTagValue)
     {
         return((tag as ULongTagValue).Value);
     }
     if (tag is FloatTagValue)
     {
         return((tag as FloatTagValue).Value);
     }
     if (tag is DoubleTagValue)
     {
         return((tag as DoubleTagValue).Value);
     }
     if (tag is DecimalTagValue)
     {
         return((tag as DecimalTagValue).Value);
     }
     if (tag is BoolTagValue)
     {
         return((tag as BoolTagValue).Value);
     }
     if (tag is DateTimeTagValue)
     {
         return((tag as DateTimeTagValue).Value);
     }
     if (tag is StringTagValue)
     {
         return((tag as StringTagValue).Value);
     }
     if (tag is SByteArrayTagValue)
     {
         return((tag as SByteArrayTagValue).Value);
     }
     if (tag is ByteArrayTagValue)
     {
         return((tag as ByteArrayTagValue).Value);
     }
     if (tag is ShortArrayTagValue)
     {
         return((tag as ShortArrayTagValue).Value);
     }
     if (tag is UShortArrayTagValue)
     {
         return((tag as UShortArrayTagValue).Value);
     }
     if (tag is IntArrayTagValue)
     {
         return((tag as IntArrayTagValue).Value);
     }
     if (tag is UIntArrayTagValue)
     {
         return((tag as UIntArrayTagValue).Value);
     }
     if (tag is LongArrayTagValue)
     {
         return((tag as LongArrayTagValue).Value);
     }
     if (tag is ULongArrayTagValue)
     {
         return((tag as ULongArrayTagValue).Value);
     }
     if (tag is FloatArrayTagValue)
     {
         return((tag as FloatArrayTagValue).Value);
     }
     if (tag is DoubleArrayTagValue)
     {
         return((tag as DoubleArrayTagValue).Value);
     }
     if (tag is DecimalArrayTagValue)
     {
         return((tag as DecimalArrayTagValue).Value);
     }
     if (tag is BoolArrayTagValue)
     {
         return((tag as BoolArrayTagValue).Value);
     }
     if (tag is DateTimeArrayTagValue)
     {
         return((tag as DateTimeArrayTagValue).Value);
     }
     if (tag is StringArrayTagValue)
     {
         return((tag as StringArrayTagValue).Value);
     }
     throw new Exception("Unknown tag value type");
 }