コード例 #1
0
        /// <summary>
        /// Creates a new <see cref="FrameParser"/> from specified parameters.
        /// </summary>
        /// <param name="checkSumValidationFrameTypes">Frame types that should perform check-sum validation; default to <see cref="GSF.PhasorProtocols.CheckSumValidationFrameTypes.AllFrames"/></param>
        /// <param name="trustHeaderLength">Determines if header lengths should be trusted over parsed byte count.</param>
        /// <param name="messagePeriod">The desired <see cref="SelFastMessage.MessagePeriod"/> for SEL device connection.</param>
        public FrameParser(CheckSumValidationFrameTypes checkSumValidationFrameTypes = CheckSumValidationFrameTypes.AllFrames, bool trustHeaderLength = true, MessagePeriod messagePeriod = MessagePeriod.DefaultRate)
            : base(checkSumValidationFrameTypes, trustHeaderLength)
        {
            // Initialize protocol synchronization bytes for this frame parser
            base.ProtocolSyncBytes = new[] { Common.HeaderByte1, Common.HeaderByte2 };

            MessagePeriod = messagePeriod;
        }
コード例 #2
0
 /// <summary>
 /// Creates a new <see cref="FrameParser"/> from specified parameters.
 /// </summary>
 /// <param name="checkSumValidationFrameTypes">Frame types that should perform check-sum validation; default to <see cref="GSF.PhasorProtocols.CheckSumValidationFrameTypes.AllFrames"/></param>
 /// <param name="trustHeaderLength">Determines if header lengths should be trusted over parsed byte count.</param>
 /// <param name="protocolVersion">The protocol version that the parser should use.</param>
 /// <param name="configurationFileName">The optional external Macrodyne configuration in BPA PDCstream INI file based format.</param>
 /// <param name="deviceLabel">The INI section device label to use.</param>
 public FrameParser(CheckSumValidationFrameTypes checkSumValidationFrameTypes = CheckSumValidationFrameTypes.AllFrames, bool trustHeaderLength = true, ProtocolVersion protocolVersion = ProtocolVersion.M, string configurationFileName = null, string deviceLabel = null)
     : base(checkSumValidationFrameTypes, trustHeaderLength)
 {
     m_syncLock            = new object();
     m_protocolVersion     = protocolVersion;
     m_deviceLabel         = deviceLabel;
     ConfigurationFileName = configurationFileName;
 }
コード例 #3
0
        /// <summary>
        /// Creates a new <see cref="FrameParser"/>.
        /// </summary>
        /// <param name="checkSumValidationFrameTypes">Frame types that should perform check-sum validation; default to <see cref="GSF.PhasorProtocols.CheckSumValidationFrameTypes.AllFrames"/></param>
        /// <param name="trustHeaderLength">Determines if header lengths should be trusted over parsed byte count.</param>
        /// <param name="draftRevision">The <see cref="IEEEC37_118.DraftRevision"/> of this <see cref="FrameParser"/>.</param>
        public FrameParser(CheckSumValidationFrameTypes checkSumValidationFrameTypes = CheckSumValidationFrameTypes.AllFrames, bool trustHeaderLength = true, DraftRevision draftRevision = DraftRevision.Std2005)
            : base(checkSumValidationFrameTypes, trustHeaderLength)
        {
            // Initialize protocol synchronization bytes for this frame parser
            base.ProtocolSyncBytes = new[] { GemstonePhasorProtocolls.Common.SyncByte };

            DraftRevision = draftRevision;
        }
コード例 #4
0
ファイル: FrameParser.cs プロジェクト: lyrain2009/gsf
 /// <summary>
 /// Creates a new <see cref="FrameParser"/>.
 /// </summary>
 /// <param name="checkSumValidationFrameTypes">Frame types that should perform check-sum validation; default to <see cref="GSF.PhasorProtocols.CheckSumValidationFrameTypes.AllFrames"/></param>
 /// <param name="trustHeaderLength">Determines if header lengths should be trusted over parsed byte count.</param>
 /// <param name="configurationFileName">The required external BPA PDCstream INI based configuration file.</param>
 public FrameParser(CheckSumValidationFrameTypes checkSumValidationFrameTypes = CheckSumValidationFrameTypes.AllFrames, bool trustHeaderLength = true, string configurationFileName = null)
     : base(checkSumValidationFrameTypes, trustHeaderLength)
 {
     // Initialize protocol synchronization bytes for this frame parser
     base.ProtocolSyncBytes  = new[] { PhasorProtocols.Common.SyncByte };
     m_syncLock              = new object();
     m_configurationFileName = configurationFileName;
 }
コード例 #5
0
ファイル: FrameParserBase.cs プロジェクト: xj0229/gsf
        /// <summary>
        /// Creates a new <see cref="FrameParserBase{TypeIndentifier}"/>.
        /// </summary>
        /// <param name="checkSumValidationFrameTypes">Frame types that should perform check-sum validation; default to <see cref="GSF.PhasorProtocols.CheckSumValidationFrameTypes.AllFrames"/></param>
        /// <param name="trustHeaderLength">Determines if header lengths should be trusted over parsed byte count.</param>
        protected FrameParserBase(CheckSumValidationFrameTypes checkSumValidationFrameTypes, bool trustHeaderLength)
        {
            // We attach to base class DataParsed event to automatically redirect and cast channel frames to their specific output events
            base.DataParsed += base_DataParsed;
            base.DuplicateTypeHandlerEncountered += base_DuplicateTypeHandlerEncountered;
            base.OutputTypeNotFound += base_OutputTypeNotFound;

            m_checkSumValidationFrameTypes = checkSumValidationFrameTypes;
            m_trustHeaderLength            = trustHeaderLength;
        }
コード例 #6
0
        /// <summary>
        /// Creates a new <see cref="FrameParser"/>.
        /// </summary>
        /// <param name="checkSumValidationFrameTypes">Frame types that should perform check-sum validation; default to <see cref="GSF.PhasorProtocols.CheckSumValidationFrameTypes.AllFrames"/></param>
        /// <param name="trustHeaderLength">Determines if header lengths should be trusted over parsed byte count.</param>
        /// <param name="frameRate">The defined frame rate of this <see cref="ConfigurationFrame"/>.</param>
        /// <param name="nominalFrequency">The nominal <see cref="LineFrequency"/> of this <see cref="ConfigurationFrame"/>.</param>
        /// <param name="timeOffset">The time offset of F-NET device in <see cref="Ticks"/>.</param>
        /// <param name="stationName">The station name of the F-NET device.</param>
        public FrameParser(CheckSumValidationFrameTypes checkSumValidationFrameTypes = CheckSumValidationFrameTypes.AllFrames, bool trustHeaderLength = true, ushort frameRate = Common.DefaultFrameRate, LineFrequency nominalFrequency = Common.DefaultNominalFrequency, long timeOffset = Common.DefaultTimeOffset, string stationName = Common.DefaultStationName)
            : base(checkSumValidationFrameTypes, trustHeaderLength)
        {
            // Initialize protocol synchronization bytes for this frame parser
            base.ProtocolSyncBytes = new[] { Common.StartByte };

            FrameRate        = frameRate;
            NominalFrequency = nominalFrequency;
            TimeOffset       = timeOffset;
            StationName      = stationName;
        }
コード例 #7
0
ファイル: MultiProtocolFrameParser.cs プロジェクト: rmc00/gsf
        /// <summary>
        /// Creates a new <see cref="MultiProtocolFrameParser"/> using the default settings.
        /// </summary>
        public MultiProtocolFrameParser()
        {
            m_connectionString = "server=127.0.0.1:4712";
            m_deviceID = 1;
            m_bufferSize = DefaultBufferSize;
            m_maximumConnectionAttempts = DefaultMaximumConnectionAttempts;
            m_autoStartDataParsingSequence = DefaultAutoStartDataParsingSequence;
            m_allowedParsingExceptions = DefaultAllowedParsingExceptions;
            m_parsingExceptionWindow = DefaultParsingExceptionWindow;
            m_checkSumValidationFrameTypes = CheckSumValidationFrameTypes.AllFrames;
            m_trustHeaderLength = true;
            m_keepCommandChannelOpen = true;
            m_rateCalcTimer = new Timer();

            m_phasorProtocol = PhasorProtocol.IEEEC37_118V1;
            m_transportProtocol = TransportProtocol.Tcp;

            // Set default frame rate, this calculates milliseconds for each frame
            DefinedFrameRate = DefaultDefinedFrameRate;

            m_rateCalcTimer.Elapsed += m_rateCalcTimer_Elapsed;
            m_rateCalcTimer.Interval = 5000;
            m_rateCalcTimer.AutoReset = true;
            m_rateCalcTimer.Enabled = false;

            // Set minimum timer resolution to one millisecond to improve timer accuracy
            PrecisionTimer.SetMinimumTimerResolution(1);
        }
コード例 #8
0
 /// <summary>
 /// Creates a new <see cref="FrameParser"/>.
 /// </summary>
 /// <param name="checkSumValidationFrameTypes">Frame types that should perform check-sum validation; default to <see cref="GSF.PhasorProtocols.CheckSumValidationFrameTypes.AllFrames"/></param>
 /// <param name="trustHeaderLength">Determines if header lengths should be trusted over parsed byte count.</param>
 public FrameParser(CheckSumValidationFrameTypes checkSumValidationFrameTypes = CheckSumValidationFrameTypes.AllFrames, bool trustHeaderLength = true)
     : base(checkSumValidationFrameTypes, trustHeaderLength)
 {
     m_samplesPerFrame = ushort.MaxValue;
 }
コード例 #9
0
ファイル: FrameParser.cs プロジェクト: xj0229/gsf
 /// <summary>
 /// Creates a new <see cref="FrameParser"/>.
 /// </summary>
 /// <param name="checkSumValidationFrameTypes">Frame types that should perform check-sum validation; default to <see cref="GSF.PhasorProtocols.CheckSumValidationFrameTypes.AllFrames"/></param>
 /// <param name="trustHeaderLength">Determines if header lengths should be trusted over parsed byte count.</param>
 public FrameParser(CheckSumValidationFrameTypes checkSumValidationFrameTypes = CheckSumValidationFrameTypes.AllFrames, bool trustHeaderLength = true)
     : base(checkSumValidationFrameTypes, trustHeaderLength)
 {
 }