コード例 #1
0
        /// <summary>
        /// 解析报文
        /// </summary>
        /// <param name="parameters"></param>
        /// <param name="msg"></param>
        /// <param name="startIndex"></param>
        /// <param name="isSequence"></param>
        internal DoublePointInformation(ConnectionParameters parameters, byte[] msg, int startIndex, bool isSequence) :
            base(parameters, msg, startIndex, isSequence)
        {
            if (!isSequence)
            {
                startIndex += parameters.SizeOfIOA; /* skip IOA */
            }
            /* parse DIQ (double point information with qualitiy) */
            byte diq = msg[startIndex++];

            value = (DoublePointValue)(diq & 0x03);

            quality = new QualityDescriptor((byte)(diq & 0xf0));
        }
コード例 #2
0
        internal DoublePointInformation(ApplicationLayerParameters parameters, byte[] msg, int startIndex, bool isSequence)
            : base(parameters, msg, startIndex, isSequence)
        {
            if (!isSequence)
            {
                startIndex += parameters.SizeOfIOA; /* skip IOA */
            }
            if ((msg.Length - startIndex) < GetEncodedSize())
            {
                throw new ASDUParsingException("Message too small");
            }

            /* parse DIQ (double point information with qualitiy) */
            byte diq = msg[startIndex++];

            value = (DoublePointValue)(diq & 0x03);

            quality = new QualityDescriptor((byte)(diq & 0xf0));
        }
コード例 #3
0
 /// <summary>
 /// 创建
 /// </summary>
 /// <param name="ioa"></param>
 /// <param name="value"></param>
 /// <param name="quality"></param>
 /// <param name="timestamp"></param>
 public DoublePointWithCP56Time2a(int ioa, DoublePointValue value, QualityDescriptor quality, CP56Time2a timestamp)
     : base(ioa, value, quality)
 {
     this.timestamp = timestamp;
 }
コード例 #4
0
 /// <summary>
 /// 使用地址、值、品质描述词创建双点信息
 /// </summary>
 /// <param name="ioa"></param>
 /// <param name="value"></param>
 /// <param name="quality"></param>
 public DoublePointInformation(int ioa, DoublePointValue value, QualityDescriptor quality)
     : base(ioa)
 {
     this.value   = value;
     this.quality = quality;
 }