コード例 #1
0
        public ParameterScaledValue(int objectAddress, ScaledValue value, byte qpm) :
            base(objectAddress)
        {
            scaledValue = value;

            this.qpm = qpm;
        }
コード例 #2
0
        public ParameterNormalizedValue(int objectAddress, float normalizedValue, byte qpm) :
            base(objectAddress)
        {
            scaledValue = new ScaledValue();

            this.NormalizedValue = normalizedValue;

            this.qpm = qpm;
        }
コード例 #3
0
        internal MeasuredValueNormalizedWithoutQuality(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");
            }

            scaledValue = new ScaledValue(msg, startIndex);
        }
コード例 #4
0
ファイル: SetpointCommands.cs プロジェクト: lego92/EA104
        internal SetpointCommandNormalized(ApplicationLayerParameters parameters, byte[] msg, int startIndex) :
            base(parameters, msg, startIndex, false)
        {
            startIndex += parameters.SizeOfIOA; /* skip IOA */

            if ((msg.Length - startIndex) < GetEncodedSize())
            {
                throw new ASDUParsingException("Message too small");
            }

            scaledValue = new ScaledValue(msg, startIndex);
            startIndex += 2;

            this.qos = new SetpointCommandQualifier(msg [startIndex++]);
        }
コード例 #5
0
        internal ParameterScaledValue(ApplicationLayerParameters parameters, byte[] msg, int startIndex) :
            base(parameters, msg, startIndex, false)
        {
            startIndex += parameters.SizeOfIOA;             /* skip IOA */

            if ((msg.Length - startIndex) < GetEncodedSize())
            {
                throw new ASDUParsingException("Message too small");
            }

            scaledValue = new ScaledValue(msg, startIndex);
            startIndex += 2;

            /* parse QDS (quality) */
            qpm = msg [startIndex++];
        }
コード例 #6
0
        internal MeasuredValueScaled(ApplicationLayerParameters parameters, byte[] msg, int startIndex, bool isSquence)
            : base(parameters, msg, startIndex, isSquence)
        {
            if (!isSquence)
            {
                startIndex += parameters.SizeOfIOA; /* skip IOA */
            }
            if ((msg.Length - startIndex) < GetEncodedSize())
            {
                throw new ASDUParsingException("Message too small");
            }

            scaledValue = new ScaledValue(msg, startIndex);
            startIndex += 2;

            /* parse QDS (quality) */
            quality = new QualityDescriptor(msg[startIndex++]);
        }
コード例 #7
0
 public ParameterNormalizedValue(int objectAddress, short rawValue, byte qpm) :
     base(objectAddress)
 {
     scaledValue = new ScaledValue(rawValue);
     this.qpm    = qpm;
 }
コード例 #8
0
ファイル: SetpointCommands.cs プロジェクト: lego92/EA104
 public SetpointCommandNormalized(int ObjectAddress, short value, SetpointCommandQualifier qos)
     : base(ObjectAddress)
 {
     this.scaledValue = new ScaledValue(value);
     this.qos         = qos;
 }
コード例 #9
0
ファイル: SetpointCommands.cs プロジェクト: lego92/EA104
 public SetpointCommandNormalized(int objectAddress, float value, SetpointCommandQualifier qos)
     : base(objectAddress)
 {
     this.scaledValue = new ScaledValue((int)((value * 32767.5) - 0.5));
     this.qos         = qos;
 }
コード例 #10
0
ファイル: SetpointCommands.cs プロジェクト: lego92/EA104
 public SetpointCommandScaledWithCP56Time2a(int objectAddress, ScaledValue value, SetpointCommandQualifier qos, CP56Time2a timestamp)
     : base(objectAddress, value, qos)
 {
     this.timestamp = timestamp;
 }
コード例 #11
0
ファイル: SetpointCommands.cs プロジェクト: lego92/EA104
 public SetpointCommandScaled(int objectAddress, ScaledValue value, SetpointCommandQualifier qos)
     : base(objectAddress)
 {
     this.scaledValue = value;
     this.qos         = qos;
 }
コード例 #12
0
 public MeasuredValueNormalizedWithoutQuality(int objectAddress, short rawValue)
     : base(objectAddress)
 {
     this.scaledValue = new ScaledValue(rawValue);
 }
コード例 #13
0
 public MeasuredValueNormalizedWithoutQuality(int objectAddress, float normalizedValue)
     : base(objectAddress)
 {
     this.scaledValue     = new ScaledValue();
     this.NormalizedValue = normalizedValue;
 }
コード例 #14
0
 /// <summary>
 /// Initializes a new instance of the <see cref="lib60870.MeasuredValueScaled"/> class.
 /// </summary>
 /// <param name="objectAddress">Information object address</param>
 /// <param name="value">scaled value (range -32768 - 32767) </param>
 /// <param name="quality">quality descriptor (according to IEC 60870-5-101:2003 7.2.6.3)</param>
 public MeasuredValueScaled(int objectAddress, int value, QualityDescriptor quality)
     : base(objectAddress)
 {
     this.scaledValue = new ScaledValue(value);
     this.quality     = quality;
 }