示例#1
0
 public PackedOutputCircuitInfo(int objectAddress, OutputCircuitInfo oci, QualityDescriptorP qdp, CP16Time2a operatingTime, CP24Time2a timestamp)
     : base(objectAddress)
 {
     this.oci           = oci;
     this.qdp           = qdp;
     this.operatingTime = operatingTime;
     this.timestamp     = timestamp;
 }
示例#2
0
        internal PackedOutputCircuitInfo(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");
            }

            oci = new OutputCircuitInfo(msg [startIndex++]);

            qdp = new QualityDescriptorP(msg [startIndex++]);

            operatingTime = new CP16Time2a(msg, startIndex);
            startIndex   += 2;

            /* parse CP56Time2a (time stamp) */
            timestamp = new CP24Time2a(msg, startIndex);
        }