Relay protection test-oriented multi-service message flow scheduling method and system
The multi-service message traffic scheduling system using FPGA units solves the delay problem caused by high-priority messages occupying the channel during relay protection device testing, and achieves uniform transmission and real-time performance guarantee of SV, GOOSE and MMS messages.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-25
- Publication Date
- 2026-04-07
AI Technical Summary
In relay protection device testing, high-priority protocols such as SV messages occupying the transmission channel for extended periods cause delays in the transmission of GOOSE and MMS messages, affecting the real-time performance of the receiving equipment and the efficiency of network bandwidth utilization.
FPGA units are used for multi-service message traffic scheduling. Through the scheduling controller, signaling pre-granting module and memory module, guaranteed traffic values are set for SV, GOOSE and MMS messages respectively, and quantitative signaling is delivered according to preset time intervals. Selective storage and transmission are performed in combination with message byte length to ensure the time uniformity and priority sorting of various types of messages.
It achieves uniform transmission of different types of messages, ensuring the real-time performance of various messages and the effective utilization of network bandwidth, and avoiding the delay problem caused by high-priority messages occupying the channel.
Smart Images

Figure CN121814697A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of smart grid communication control, and specifically relates to a multi-service message flow scheduling method for relay protection testing, and also relates to a multi-service message flow scheduling system for relay protection testing. Background Technology
[0002] Relay protection devices are typically implemented using intelligent electronic devices (IEDs), employing the IEC 61850 standard for data communication and remote control. Their testing involves three key types of IEC 61850 communication messages: Sampled Values (SV) messages, GOOSE (Generic Object Oriented Substation Event) messages, and MMS (Manufacturing Mesage Specification) messages. These three types of messages have different priorities and traffic requirements; therefore, during relay protection device testing, it is necessary to consider how to rationally schedule message traffic to ensure the real-time performance of each message and the effective utilization of network bandwidth.
[0003] In practical relay protection device testing, it is often necessary to simultaneously transmit multiple service flows such as SV, GOOSE, and MMS. A common method is to use a shared network interface packet transmission algorithm and a priority scheduling strategy. That is, to identify packets in the transmission buffer and schedule them according to different transmission priorities.
[0004] However, in actual use, due to different design requirements, there are priority divisions between protocols, and the traffic differences between different protocols are very large. High-priority protocols such as SV messages may occupy the transmission channel for a long time, causing GOOSE and MMS messages to wait for the channel to be idle, resulting in delayed message transmission. In the end, the GOOSE and MMS messages received by the receiving device often do not have real-time characteristics. Summary of the Invention
[0005] To address the problems in the prior art, this invention proposes a multi-service message traffic scheduling method for relay protection testing, and also proposes a multi-service message traffic scheduling system for relay protection testing.
[0006] The above-mentioned objective of the present invention is achieved through the following technical solution: A multi-service message traffic scheduling system for relay protection testing includes an FPGA unit. The FPGA unit includes a transmit module, a signaling pre-authorization module, a memory module, a scheduling controller, and a transmit selector. The module to be sent receives SV messages, GOOSE messages, and MMS messages from the CPU module; The scheduling controller, based on the input flow value of each type of message received by the module to be sent and the corresponding preset guaranteed flow value, delivers quantitative signaling of the corresponding type of message to the signaling pre-granting module at specified time intervals; at the same time, it monitors whether there are data frames of each type of message in the memory module, generates selection control signals and transmits them to the send selector. The signaling pre-granting module selects to store SV, GOOSE, and MMS messages in the sending module to the memory module based on the number of quantitative signaling messages corresponding to each type of received message, as well as the byte lengths of SV, GOOSE, and MMS messages received from the sending module. At the same time, based on the byte lengths of different types of messages sent to the memory module, the module reduces the number of quantitative signaling messages corresponding to the corresponding types of messages. The sender selector reads the corresponding type of message from the memory module and transmits it to the receiving device based on the selection control signal and the order of each type of message in the preset message timing priority.
[0007] As described above, the module to be sent includes an SV to be sent submodule, a GOOSE to be sent submodule, and an MMS to be sent submodule. The SV to be sent submodule is used to receive SV messages from the CPU module, the GOOSE to be sent submodule is used to receive GOOSE messages from the CPU module, and the MMS to be sent submodule is used to receive MMS messages from the CPU module. The memory module includes an SV memory, a GOOSE memory, and an MMS memory. The SV memory is used to store SV messages from the signaling pre-grant module, the GOOSE memory is used to store GOOSE messages from the signaling pre-grant module, and the MMS memory is used to store MMS messages from the signaling pre-grant module. The quantitative signaling corresponding to the SV message is SV quantitative signaling, the quantitative signaling corresponding to the GOOSE message is GOOSE quantitative signaling, and the quantitative signaling corresponding to the MMS message is MMS quantitative signaling.
[0008] A multi-service message traffic scheduling method for relay protection testing, utilizing the multi-service message traffic scheduling system for relay protection testing as described above, is characterized by comprising: Step 1: Set the corresponding guaranteed traffic value for SV messages, GOOSE messages, and MMS messages respectively; Step 2: In the FPGA unit, according to the preset interval time, the following are executed in parallel: writing messages in a loop and sending messages in a loop. Each cycle of the cyclic writing of the message includes the following steps: The scheduling controller obtains the input flow value corresponding to different types of messages, and calculates the corresponding transmission flow value in combination with the guaranteed flow value of different types of messages. Based on the transmission flow value of different types of messages, it sends the corresponding quantitative signaling to the signaling pre-granting module. The signaling pre-granting module selects to store the corresponding type of message from the sending module to the memory module based on the byte length of the SV message, the byte length of the GOOSE message, and the byte length of the MMS message from the module to be sent, as well as the number of corresponding quantitative signaling for each type of message received. Each cycle of the message transmission loop includes the following steps: The scheduling controller monitors whether there are data frames of various types of messages in the memory module, generates a selection control signal and transmits it to the transmitting selector. The transmitting selector reads the corresponding type of message from the memory module and transmits it to the receiving device based on the selection control signal and the order of each type of message in the preset message timing priority.
[0009] In step 1, as described above, the guaranteed traffic values corresponding to the SV message, GOOSE message, and MMS message respectively satisfy the following: ; in, , and These are the guaranteed traffic values for SV messages, GOOSE messages, and MMS messages, respectively, and are denoted as Guaranteed Traffic Values. , ensure traffic value And ensure traffic value ; The maximum outgoing bandwidth is equal to the maximum bandwidth of the network connection between the FPGA unit and the receiving device.
[0010] As described above, each cycle of the message writing loop includes the following steps: Step A1: The scheduling controller monitors whether the module to be sent has received a message from the CPU module. When the CPU module sends different types of messages to the module to be sent, the scheduling controller obtains the input flow value of SV messages, GOOSE messages, and MMS messages in real time, and records them as input flow values. Input flow value and input flow value ; Step A2: Based on the input flow rate value in step A1 Input flow value and input flow value and the guaranteed flow value in step 1. , ensure traffic value And ensure traffic value The scheduling controller calculates the transmission flow value of SV messages. GOOSE message transmission rate and MMS message sending traffic value ; Step A3: The scheduling controller delivers the corresponding quantitative signaling for each type of message to the signaling pre-granting module based on the corresponding transmission flow value of each type of message calculated in step A2. Step A4: The signaling pre-granting module selectively stores SV messages from the SV to be sent submodule into the SV memory based on the number of stored SV quantitative signaling messages and the byte length of the SV messages from the SV to be sent submodule; it also selectively stores GOOSE messages from the GOOSE to be sent submodule into the GOOSE memory based on the number of stored GOOSE quantitative signaling messages and the byte length of the GOOSE messages from the GOOSE to be sent submodule; and it also selectively stores MMS messages from the MMS to be sent submodule into the MMS memory based on the number of stored MMS quantitative signaling messages and the byte length of the MMS messages from the MMS to be sent submodule.
[0011] As described above, step A2 specifically includes the following operations: when hour: ; ; ; in, , , These are the transmission traffic values for SV messages, GOOSE messages, and MMS messages, respectively. when At that time, calculate the corresponding transmission traffic value for each type of message according to the following steps: Step A2.1: Calculate the MMS message transmission rate. : like The MMS message sending traffic value ; like The MMS message sending traffic value ; Step A2.2: Calculate the sending traffic value of the GOOSE message. : like The sending traffic value of the GOOSE message , like The sending traffic value of the GOOSE message ; Step A2.3: Calculate the transmission flow value of SV messages. : .
[0012] As described above, step A3 specifically includes the following operations: Step A3.1: The scheduling controller calculates the SV message transmission rate value based on step A2. GOOSE message transmission rate and MMS message sending traffic value Calculate the limited number of SV quantitative signaling, the limited number of GOOSE quantitative signaling, and the limited number of MMS quantitative signaling; generate SV quantitative signaling, GOOSE quantitative signaling, and MMS quantitative signaling, and ensure that the number of SV quantitative signaling generated is equal to the limited number of SV quantitative signaling, the number of GOOSE quantitative signaling generated is equal to the limited number of GOOSE quantitative signaling, and the number of MMS quantitative signaling generated is equal to the limited number of MMS quantitative signaling. The limited number of SV quantitative signaling, the limited number of GOOSE quantitative signaling, and the limited number of MMS quantitative signaling must meet the following requirements: , , , The limit number of quantitative signaling for SV; The limited number of GOOSE quantitative signaling; The limited number of quantitative signaling messages for MMS; The length in bytes corresponding to the maximum outgoing traffic; Step A3.2: The signaling pre-assignment module receives the quantitative signaling corresponding to each type of message deployed by the scheduling controller. When the total number of SV quantitative signaling messages already in the signaling pre-granting module and the SV quantitative signaling messages deployed by the receiving scheduling controller reaches the limit for the number of SV quantitative signaling messages. The signaling pre-grant module stops receiving SV quantitative signaling; When the total number of existing GOOSE quantitative signaling in the signaling pre-granting module and the GOOSE quantitative signaling deployed by the receiving scheduling controller reaches the limit of the number of GOOSE quantitative signaling. The signaling pre-grant module stops receiving GOOSE quantitative signaling; When the total number of MMS quantitative signaling messages already in the signaling pre-granting module and the MMS quantitative signaling messages delivered by the receiving scheduling controller reaches the limit for the number of MMS quantitative signaling messages. The signaling pre-grant module stops receiving MMS quantitative signaling.
[0013] As described above, step A4 specifically includes the following operations: Step A4.1: The signaling pre-granting module compares the number of stored SV quantitative signaling messages with the byte length of the SV messages received from the SV to be sent submodule. If the number of SV quantitative signaling messages in the signaling pre-granting module is greater than or equal to the byte length of the SV message from the SV to be sent submodule, then the SV message from the SV to be sent submodule is written to the SV memory. At the same time, the number of updated SV quantitative signaling messages in the signaling pre-granting module is the original number of SV quantitative signaling messages minus the byte length of the SV message written to the MMS memory in this round of the cycle. If the number of SV quantitative signaling messages in the signaling pre-granting module is less than the byte length of the SV message from the SV message to be sent submodule, it means that the SV message traffic is too large and there is an anomaly. At this time, the SV messages received from the SV message to be sent submodule in this round are directly discarded. Step A4.2: The signaling pre-granting module compares the number of stored GOOSE quantitative signaling messages with the byte length of the GOOSE messages received from the GOOSE to be sent submodule. If the number of GOOSE quantitative signaling messages in the signaling pre-granting module is greater than or equal to the byte length of the GOOSE message from the GOOSE to be sent sub-module, then the GOOSE message from the GOOSE to be sent sub-module is written to the GOOSE memory. At the same time, the number of updated GOOSE quantitative signaling messages in the signaling pre-granting module is the original number of GOOSE quantitative signaling messages minus the byte length of the GOOSE message written to the MMS memory in this round of the cycle. If the number of GOOSE quantitative signaling messages in the signaling pre-granting module is less than the byte length of the GOOSE message from the GOOSE message to be sent submodule, the GOOSE message received from the GOOSE message to be sent submodule in this round of loop is directly discarded. Step A4.3: The signaling pre-granting module compares the number of stored MMS quantitative signaling messages with the byte length of the MMS message received from the MMS to be sent submodule. If the number of MMS quantitative signaling messages in the signaling pre-granting module is greater than or equal to the byte length of the MMS message from the MMS to be sent submodule, then the MMS message from the MMS to be sent submodule is written into the MMS memory. At the same time, the number of updated MMS quantitative signaling messages in the signaling pre-granting module is the original number of MMS quantitative signaling messages minus the byte length of the MMS message written into the MMS memory in this round of the cycle. If the number of MMS quantitative signaling messages in the signaling pre-granting module is less than the byte length of the MMS message from the MMS message to be sent submodule, the MMS message received from the MMS message to be sent submodule in this round of the loop is directly discarded.
[0014] As described above, each cycle of the message transmission loop includes the following operations: Step B1: The memory module sends an empty flag signal to the scheduling controller based on whether the SV memory, GOOSE memory, and MMS memory store the corresponding type of message. The empty flag signals include the SV memory empty flag, the GOOSE memory empty flag, and the MMS memory empty flag. When there is no data stored in the SV memory, the SV memory empty flag is high; when there is data stored in the SV memory, the SV memory empty flag is low. When there is no data stored in the GOOSE memory, the GOOSE memory empty flag is high; when there is data stored in the GOOSE memory, the GOOSE memory empty flag is low. When there is no data stored in the MMS memory, the MMS memory empty flag is high; if there is data stored in the MMS memory, the MMS memory empty flag is low. Step B2: The scheduling controller generates a selection control signal to the transmit selector based on the message timing priority and the empty flag signal from the memory module. This causes the transmit selector to retrieve the corresponding message types from the SV memory, GOOSE memory, and MMS memory, and send them to the receiving device in sequence according to the message timing priority.
[0015] As mentioned above, the message timing priority in step B2 is as follows: SV message has the highest priority, followed by GOOSE message, and then MMS message.
[0016] Compared with the prior art, the present invention has the following advantages: A traffic signaling pre-granting mechanism is introduced to deliver different signaling to the traffic signaling pre-granting module according to the message type, thereby achieving traffic control of message transmission. By introducing a credit shaping algorithm, while ensuring bandwidth, the sending rate and waiting rate of different message types are set according to traffic demand, so as to realize the alternating use of the channel by different types of messages and ensure the time uniformity of messages. Attached Figure Description
[0017] Figure 1 This is a schematic diagram of the control system structure of the present invention; Figure 2 This is a flowchart illustrating the execution of the signaling pre-grant module of the present invention. Detailed Implementation
[0018] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of this invention. The embodiments described in this application are merely some embodiments of this invention, and not all embodiments. Based on the spirit of this invention, all other embodiments obtained by those skilled in the art without creative effort are within the protection scope of this invention.
[0019] Example 1 A multi-service message flow scheduling system for relay protection testing includes a CPU module, an FPGA unit, and a receiving device. The CPU module transmits SV messages, GOOSE messages, and MMS messages to the FPGA unit; the receiving device receives the SV messages, GOOSE messages, and MMS messages transmitted after data flow control by the FPGA unit.
[0020] The FPGA unit includes a transmit module, a signaling pre-grant module, a memory module, a scheduling controller, and a transmit selector. The transmit module receives SV, GOOSE, and MMS messages from the CPU module. The scheduling controller, based on the input flow values and corresponding preset guaranteed flow values of each message type (SV, GOOSE, and MMS) received by the transmit module, delivers the corresponding quantitative signaling to the signaling pre-grant module at specified time intervals. Simultaneously, it monitors the memory module for the presence of data frames for each message type, generates selection control signals, and transmits these signals to the transmit selector. The signaling pre-granting module selects which SV, GOOSE, and MMS messages in the to-be-sent module to store in the memory module based on the number of quantitative signaling messages corresponding to each type of received message, and the byte lengths of the SV, GOOSE, and MMS messages received from the to-be-sent module. At the same time, based on the byte lengths of different types of messages sent to the memory module, it reduces the number of quantitative signaling messages corresponding to the corresponding types of messages. The transmit selector reads the corresponding type of message from the memory module and transmits it to the receiving device based on the selection control signal and the order of each type of message in the preset timing priority.
[0021] (1) Module to be sent: It includes: SV to be sent submodule, GOOSE to be sent submodule and MMS to be sent submodule, which are used to receive the corresponding type of message from the CPU module and transmit it to the signaling pre-grant module; wherein, the SV to be sent submodule is used to receive SV message from the CPU module, the GOOSE to be sent submodule is used to receive GOOSE message from the CPU module, and the MMS to be sent submodule is used to receive MMS message from the CPU module.
[0022] (2) Dispatch Controller: This is used to deliver quantitative signaling of the corresponding message type to the signaling pre-granting module at specified time intervals (1 second in this embodiment) based on the input flow value of SV messages, GOOSE messages, and MMS messages (the quantitative signaling corresponding to SV messages is SV quantitative signaling, the quantitative signaling corresponding to GOOSE messages is GOOSE quantitative signaling, and the quantitative signaling corresponding to MMS messages is MMS quantitative signaling); and to determine whether the memory module has data frames of each type of message, and generate a selection control signal to be transmitted to the transmit selector.
[0023] (3) Signaling pre-granting module: Used to receive SV messages, GOOSE messages, and MMS messages from the module to be sent, and to control the number of quantitative signaling messages. The transmission rules are as follows: 1. Receive the quantitative signaling messages placed by the scheduling controller, record the number of quantitative signaling messages, and check in real time whether the number of quantitative signaling messages exceeds the limit. Quantitative signaling messages exceeding the limit will be discarded. See step A3 of Example 2 for the specific process; 2. Based on the number of quantitative signaling messages corresponding to different types of messages, send the corresponding type of message to the memory module. After the memory receives the message transmitted by the module to be sent, the number of quantitative signaling messages in the signaling pre-grant module is reduced according to the byte length of the corresponding type of message.
[0024] (4) Memory module: It includes three memories: SV memory, GOOSE memory, and MMS memory. These memories are used to store messages of the corresponding message type based on the number of quantitative signaling messages of different message types. Specifically, the SV memory stores SV messages from the signaling pre-granting module, the GOOSE memory stores GOOSE messages from the signaling pre-granting module, and the MMS memory stores MMS messages from the signaling pre-granting module. At the same time, the memory module sends the corresponding empty flag signal to the scheduling controller based on whether the SV memory, GOOSE memory, and MMS memory store the corresponding message type.
[0025] The empty flag signals include the SV memory empty flag, the GOOSE memory empty flag, and the MMS memory empty flag. When there is no data stored in the SV memory, the SV memory empty flag is high; otherwise (i.e., there is data stored in the SV memory), it is low. Similarly, when there is no data stored in the GOOSE memory, the GOOSE memory empty flag is high; otherwise (i.e., there is data stored in the GOOSE memory), it is low. When there is no data stored in the MMS memory, the MMS memory empty flag is high; otherwise (i.e., there is data stored in the MMS memory), it is low.
[0026] (5) Send selector: The selector reads the corresponding type of message from the memory module based on the selection control signal sent by the scheduler and the order of each type of message in the preset timing priority, and sends it to the receiving device.
[0027] In this embodiment, the CPU module is connected to the SV transmit submodule of the FPGA unit via a first Ethernet connection, to the GOOSE transmit submodule via a second Ethernet connection, and to the MMS transmit submodule of the FPGA unit via a third Ethernet connection. The transmit selector of the FPGA unit is connected to the receiving device via a fourth Ethernet connection, such as... Figure 1 As shown, the maximum traffic of the fourth Ethernet is denoted as the maximum outgoing traffic.
[0028] The FPGA unit implements the function of unified common port transmission of multiple types of data streams while ensuring the uniformity of transmission message time.
[0029] Furthermore, the data streams of SV messages, GOOSE messages, and MMS messages are all transmitted in real time via Ethernet bus to ensure the real-time performance, time uniformity, and high bandwidth requirements of multiple corresponding control blocks.
[0030] Example 2 A multi-service message traffic scheduling method for relay protection testing, utilizing the multi-service message traffic scheduling system for relay protection testing described in Example 1, includes the following specific steps: Step 1: Based on the maximum network traffic between the FPGA unit and the receiving device, the user sets corresponding guaranteed traffic values for SV messages, GOOSE messages, and MMS messages.
[0031] The guaranteed traffic values corresponding to the SV message, GOOSE message, and MMS message satisfy the following formula: ; in, , and These are the guaranteed traffic values for SV messages, GOOSE messages, and MMS messages, respectively, and are denoted as Guaranteed Traffic Values. , ensure traffic value And ensure traffic value ; The maximum outgoing traffic is generally equivalent to the maximum network traffic between the FPGA unit and the receiving device (such as the maximum port rate of the fourth Ethernet in this embodiment).
[0032] In this embodiment, the guaranteed traffic values for each type of packet are set according to the maximum traffic of the fourth Ethernet. Assuming the maximum traffic of the fourth Ethernet is 1000Mbps, guaranteed traffic values are set for SV packets, GOOSE packets, and MMS packets respectively. , and The sum of the guaranteed traffic values for the three types of messages should be less than 1000 Mbps. Preferably, the guaranteed traffic value for SV messages is set. Set the guaranteed bandwidth value for GOOSE packets to 200Mbps. Set the guaranteed bandwidth value for MMS messages to 100Mbps. It is 100Mbps.
[0033] Step 2: In the FPGA unit, according to the preset interval time, the following are executed in parallel: writing messages in a loop and sending messages in a loop. Each cycle of the cyclic writing of the message includes the following steps: The scheduling controller obtains the input flow value corresponding to different types of messages, and calculates the corresponding transmission flow value in combination with the guaranteed flow value of different types of messages. Based on the transmission flow value of different types of messages, it sends the corresponding quantitative signaling to the signaling pre-granting module. The signaling pre-granting module selects to store the corresponding type of message from the sending module to the memory module based on the byte length of the SV message, the byte length of the GOOSE message and the byte length of the MMS message from the module to be sent, as well as the number of corresponding quantitative signaling for each type of message received. Each cycle of the message transmission loop includes the following steps: The scheduling controller monitors whether there are data frames of various types of messages in the memory module, generates a selection control signal and transmits it to the send selector. The send selector reads the corresponding type of message from the memory module and transmits it to the receiving device based on the selection control signal and the order of each type of message in the preset timing priority.
[0034] (1) The following steps are specifically included in each cycle of writing the message: Step A1: The scheduling controller monitors whether the module to be sent has received a message from the CPU module. When the CPU module sends different types of messages to the module to be sent, the scheduling controller obtains the input flow value of SV messages, GOOSE messages, and MMS messages in real time, and records them as input flow values. Input flow value and input flow value The unit is Mbps.
[0035] Step A2: Based on all input flow values in step A1 (including input flow values) Input flow value and input flow value ) and all guaranteed flow values from step 1 (including guaranteed flow values) , ensure traffic value And ensure traffic value The scheduling controller calculates the corresponding transmission flow value for each type of message.
[0036] when hour: ; ; ; in, , , These are the transmission traffic values for SV messages, GOOSE messages, and MMS messages, respectively. when At that time, calculate the corresponding transmission traffic value for each type of message according to the following steps: Step A2.1: First, calculate the MMS message transmission rate. : like The MMS message sending traffic value ; Otherwise (i.e.) The MMS message sending traffic value In this embodiment, that is .
[0037] Step A2.2: Calculate the sending traffic value of the GOOSE message. : like The sending traffic value of the GOOSE message , Otherwise (i.e.) The sending flow value of the GOOSE message. In this embodiment, that is .
[0038] Step A2.3: Calculate the transmission flow value of SV messages. : , In this embodiment, .
[0039] Step A3: The scheduling controller calculates the corresponding transmission flow value for each type of message (i.e., the transmission flow value for SV messages) based on the data obtained in step A2. GOOSE message transmission rate and MMS message sending traffic value ), and deliver quantitative signaling corresponding to each type of message to the signaling pre-grant module.
[0040] Step A3.1: Within each cycle (i.e., every second in this embodiment), the scheduling controller calculates the SV message transmission rate value based on step A2. GOOSE message transmission rate and MMS message sending traffic value Calculate the limited number of SV quantitative signaling, the limited number of GOOSE quantitative signaling, and the limited number of MMS quantitative signaling; generate SV quantitative signaling, GOOSE quantitative signaling, and MMS quantitative signaling, and ensure that the number of SV quantitative signaling generated is equal to the limited number of SV quantitative signaling, the number of GOOSE quantitative signaling generated is equal to the limited number of GOOSE quantitative signaling, and the number of MMS quantitative signaling generated is equal to the limited number of MMS quantitative signaling.
[0041] The limited number of SV quantitative signaling, the limited number of GOOSE quantitative signaling, and the limited number of MMS quantitative signaling must meet the following requirements: , , , The limit for the number of SV quantitative signaling messages is equal to the number of SV quantitative signaling messages generated by the scheduling controller; The limit for the number of GOOSE quantitative signaling is equal to the number of SV quantitative signaling generated by the scheduling controller; The limit for the number of quantitative MMS signaling messages is equal to the number of quantitative MMS signaling messages generated by the scheduling controller; This refers to the byte length corresponding to the maximum outgoing bandwidth. In this embodiment, the maximum outgoing bandwidth for Gigabit Ethernet is... The unit is Mbps; the length of bytes transmitted per second in Gigabit Ethernet. It is 125000000, in bytes.
[0042] Step A3.2: The signaling pre-assignment module receives the quantitative signaling corresponding to each type of message delivered by the scheduling controller.
[0043] For SV quantitative signaling, the maximum number of SV quantitative signaling messages that the signaling pre-granting module can store is equal to the limit of the SV quantitative signaling message limit. When the total number of SV quantitative signaling messages already in the signaling pre-granting module and the SV quantitative signaling messages deployed by the receiving scheduling controller reaches the limit of the SV quantitative signaling message limit. The signaling pre-grant module stops receiving SV quantitative signaling, meaning that any excess SV quantitative signaling will be discarded; For GOOSE quantitative signaling, the maximum number of GOOSE quantitative signaling messages that the signaling pre-granting module can store is equal to the limit of the number of GOOSE quantitative signaling messages. When the total number of existing GOOSE quantitative signaling in the signaling pre-granting module and the GOOSE quantitative signaling deployed by the receiving scheduling controller reaches the limit of the number of GOOSE quantitative signaling... The signaling pre-grant module stops receiving GOOSE quantitative signaling, meaning that any excess GOOSE quantitative signaling will be discarded. For MMS quantitative signaling, the maximum number of MMS quantitative signaling messages that the signaling pre-granting module can store is equal to the limit of the number of MMS quantitative signaling messages. When the total number of existing MMS quantitative signaling in the signaling pre-granting module and the MMS quantitative signaling deployed by the receiving scheduling controller reaches the limit of the number of MMS quantitative signaling, The signaling pre-grant module stops receiving MMS quantitative signaling, meaning that any signaling exceeding the limit will be discarded.
[0044] Generally, the number of quantitative signaling messages received by the signaling pre-granting module equals the number of quantitative signaling messages generated by the scheduling controller. However, if the traffic of a certain type of message is abnormally high in the previous cycle, the message will be dropped, but the corresponding quantitative signaling messages will remain in the signaling pre-granting module, resulting in an accumulation of these quantitative signaling messages. In the current cycle, the number of existing MMS quantitative signaling messages for the corresponding type of message in the signaling pre-granting module plus the quantitative signaling messages deployed by the scheduling controller exceeds the current limit for quantitative signaling messages of the corresponding type of message. At this time, the excess quantitative signaling messages will be dropped. Dropping the excess quantitative signaling messages is to control the traffic and keep the total traffic of the three types of messages within the maximum outgoing traffic. Within this range, it will not affect the integrity of data transmission.
[0045] Before the cycle begins in this embodiment, the initial values of the number of SV quantitative signaling, the number of GOOSE quantitative signaling, and the number of MMS quantitative signaling in the signaling pre-granting module are all 0.
[0046] Step A4: The signaling pre-granting module selectively stores SV messages from the SV to be sent submodule into the SV memory based on the number of stored SV quantitative signaling messages and the byte length of the SV messages from the SV to be sent submodule; it also selectively stores GOOSE messages from the GOOSE to be sent submodule into the GOOSE memory based on the number of stored GOOSE quantitative signaling messages and the byte length of the GOOSE messages from the GOOSE to be sent submodule; and it also selectively stores MMS messages from the MMS to be sent submodule into the MMS memory based on the number of stored MMS quantitative signaling messages and the byte length of the MMS messages from the MMS to be sent submodule.
[0047] Step A4.1: The signaling pre-granting module compares the number of stored SV quantitative signaling messages with the byte length of the SV messages received from the SV to be sent submodule. If the number of SV quantitative signaling messages in the signaling pre-granting module is greater than or equal to the byte length of the SV message from the SV to be sent submodule, then the SV message from the SV to be sent submodule is written to the SV memory. At the same time, the number of updated SV quantitative signaling messages in the signaling pre-granting module is the original number of SV quantitative signaling messages minus the byte length of the SV message written to the MMS memory in this round of the cycle. If the number of SV quantitative signaling messages in the signaling pre-granting module is less than the byte length of the SV message from the SV message to be sent submodule, it means that the SV message traffic is too high and there is an anomaly. At this time, the SV messages received from the SV message to be sent submodule in this round are directly discarded.
[0048] Step A4.2: The signaling pre-granting module compares the number of stored GOOSE quantitative signaling messages with the byte length of the GOOSE messages received from the GOOSE to be sent submodule. If the number of GOOSE quantitative signaling messages in the signaling pre-granting module is greater than or equal to the byte length of the GOOSE message from the GOOSE to be sent sub-module, then the GOOSE message from the GOOSE to be sent sub-module is written to the GOOSE memory. At the same time, the number of updated GOOSE quantitative signaling messages in the signaling pre-granting module is the original number of GOOSE quantitative signaling messages minus the byte length of the GOOSE message written to the MMS memory in this round of the cycle. If the number of GOOSE quantitative signaling messages in the signaling pre-granting module is less than the byte length of the GOOSE message from the GOOSE message to be sent submodule, the GOOSE message received from the GOOSE message to be sent submodule in this round of the loop is directly discarded.
[0049] Step A4.3: The signaling pre-granting module compares the number of stored MMS quantitative signaling messages with the byte length of the MMS message received from the MMS to be sent submodule. If the number of MMS quantitative signaling messages in the signaling pre-granting module is greater than or equal to the byte length of the MMS message from the MMS to be sent submodule, then the MMS message from the MMS to be sent submodule is written into the MMS memory. At the same time, the number of updated MMS quantitative signaling messages in the signaling pre-granting module is the original number of MMS quantitative signaling messages minus the byte length of the MMS message written into the MMS memory in this round of the cycle. If the number of MMS quantitative signaling messages in the signaling pre-granting module is less than the byte length of the MMS message from the MMS message to be sent submodule, the MMS message received from the MMS message to be sent submodule in this round of the loop is discarded directly, and then all message writing in this round of the loop is stopped.
[0050] (2) In each cycle of the cyclic message transmission, the preset message timing priority is as follows: SV message has the highest priority, followed by GOOSE message, and then MMS message. Each cycle includes the following specific operations: Step B1: The memory module sends an empty flag signal to the scheduling controller based on whether the SV memory, GOOSE memory, and MMS memory store the corresponding type of message. Step B2: The scheduling controller generates a selection control signal for the transmit selector based on the message timing priority and the empty flag signal from the memory module. This causes the transmit selector to retrieve the corresponding type of message from the SV memory, GOOSE memory, and MMS memory, respectively, and send them to the receiving device. Step B21: Determine whether to send an SV message based on the null flag signal: When there is data stored in the SV memory, the selection control signal prioritizes enabling the transmit selector to connect to the SV memory and transmit the SV message; proceed to step B22. If there is no data stored in the SV memory, proceed to step B22; Step B22: Determine whether to send a GOOSE message based on the null flag signal: When there is data stored in the GOOSE memory, the selection control signal enables the transmit selector to connect to the GOOSE memory, and the transmission of the GOOSE message is completed; proceed to step B23. If there is no data stored in the GOOSE memory, proceed to step 23; Step B23: Determine whether to send an MMS message based on the empty flag signal: When there is data stored in the MMS memory, the selection control signal enables the transmit selector to connect to the MMS memory, thus completing the transmission of the MMS message; When the empty flag signal indicates that there is no data stored in the SV memory, GOOSE memory, and MMS memory, the transmit selector will not send a message.
[0051] The high priority of SV (Send SV) transmission ensures real-time delivery, meaning that even if an SV message arrives later than a GOOSE or MMS message, it will still be sent before them. GOOSE and MMS do not require real-time performance, but they do require reliable transmission. Therefore, priority is given to the transmission of GOOSE and MMS messages, but their priority in the timing sequence is reduced; simultaneously, the transmission rate of SV messages is dynamically adjustable, but their priority in the timing sequence is increased.
[0052] Existing technologies perform flow control based on the byte length of messages per second, which cannot cope with short-term (e.g., within 1 second) flow surges. This invention addresses this by designing a guaranteed flow mechanism and, based on this, performing relative dynamic flow control according to the inflow of different messages. It specifically configures independent flow control for three types of messages—SV, GOOSE, and MMS—based on the characteristics of power services. Guaranteed flow ensures that all three types of messages can be transmitted, eliminating concerns about other messages failing to transmit if one type of flow suddenly increases. Furthermore, based on the characteristics of power services, this invention adds a priority concept, prioritizing the transmission of SV messages, followed by GOOSE messages, and then MMS messages. Flow control for specific message types can filter out other irrelevant messages.
[0053] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and not to limit it. Although the present invention has been described in detail with reference to the above embodiments, those skilled in the art should understand that modifications or equivalent substitutions can still be made to the specific implementation of the present invention. Any modifications or equivalent substitutions that do not depart from the spirit and scope of the present invention should be covered within the protection scope of the claims of the present invention.
Claims
1. A multi-service message traffic scheduling system for relay protection testing, comprising an FPGA unit, characterized in that, The FPGA unit includes a transmit module, a signaling pre-assignment module, a memory module, a scheduling controller, and a transmit selector. The module to be sent receives SV messages, GOOSE messages, and MMS messages from the CPU module; The scheduling controller, based on the input flow value of each type of message received by the module to be sent and the corresponding preset guaranteed flow value, delivers quantitative signaling of the corresponding type of message to the signaling pre-granting module at specified time intervals; at the same time, it monitors whether there are data frames of each type of message in the memory module, generates selection control signals and transmits them to the send selector. The signaling pre-granting module selects to store SV, GOOSE, and MMS messages in the sending module to the memory module based on the number of quantitative signaling messages corresponding to each type of received message, as well as the byte lengths of SV, GOOSE, and MMS messages received from the sending module. At the same time, based on the byte lengths of different types of messages sent to the memory module, the module reduces the number of quantitative signaling messages corresponding to the corresponding types of messages. The sender selector reads the corresponding type of message from the memory module and transmits it to the receiving device based on the selection control signal and the order of each type of message in the preset message timing priority.
2. The multi-service message flow scheduling system for relay protection testing according to claim 1, characterized in that, The module to be sent includes an SV to be sent submodule, a GOOSE to be sent submodule, and an MMS to be sent submodule. The SV to be sent submodule is used to receive SV messages from the CPU module, the GOOSE to be sent submodule is used to receive GOOSE messages from the CPU module, and the MMS to be sent submodule is used to receive MMS messages from the CPU module. The memory module includes an SV memory, a GOOSE memory, and an MMS memory. The SV memory is used to store SV messages from the signaling pre-grant module, the GOOSE memory is used to store GOOSE messages from the signaling pre-grant module, and the MMS memory is used to store MMS messages from the signaling pre-grant module. The quantitative signaling corresponding to the SV message is SV quantitative signaling, the quantitative signaling corresponding to the GOOSE message is GOOSE quantitative signaling, and the quantitative signaling corresponding to the MMS message is MMS quantitative signaling.
3. A multi-service message flow scheduling method for relay protection testing, utilizing the multi-service message flow scheduling system for relay protection testing as described in claim 2, characterized in that, include: Step 1: Set the corresponding guaranteed traffic value for SV messages, GOOSE messages, and MMS messages respectively; Step 2: In the FPGA unit, according to the preset interval time, the following are executed in parallel: writing messages in a loop and sending messages in a loop. Each cycle of the cyclic writing of the message includes the following steps: The scheduling controller obtains the input flow value corresponding to different types of messages, and calculates the corresponding transmission flow value in combination with the guaranteed flow value of different types of messages. Based on the transmission flow value of different types of messages, it sends the corresponding quantitative signaling to the signaling pre-granting module. The signaling pre-granting module selects to store the corresponding type of message from the sending module to the memory module based on the byte length of the SV message, the byte length of the GOOSE message, and the byte length of the MMS message from the module to be sent, as well as the number of corresponding quantitative signaling for each type of message received. Each cycle of the message transmission loop includes the following steps: The scheduling controller monitors whether there are data frames of various types of messages in the memory module, generates a selection control signal and transmits it to the transmitting selector. The transmitting selector reads the corresponding type of message from the memory module and transmits it to the receiving device based on the selection control signal and the order of each type of message in the preset message timing priority.
4. A multi-service message flow scheduling method for relay protection testing according to claim 3, characterized in that, The guaranteed traffic values corresponding to the SV message, GOOSE message, and MMS message mentioned in step 1 respectively satisfy the following: ; in, , and These are the guaranteed traffic values for SV messages, GOOSE messages, and MMS messages, respectively, and are denoted as Guaranteed Traffic Values. , ensure traffic value And ensure traffic value ; The maximum outgoing bandwidth is equal to the maximum bandwidth of the network connection between the FPGA unit and the receiving device.
5. A multi-service message flow scheduling method for relay protection testing according to claim 4, characterized in that, Each cycle of the cyclic message writing process specifically includes the following steps: Step A1: The scheduling controller monitors whether the module to be sent has received a message from the CPU module. When the CPU module sends different types of messages to the module to be sent, the scheduling controller obtains the input flow value of SV messages, GOOSE messages, and MMS messages in real time, and records them as input flow values. Input flow value and input flow value ; Step A2: Based on the input flow rate value in step A1 Input flow value and input flow value and the guaranteed flow value in step 1. , ensure traffic value And ensure traffic value The scheduling controller calculates the transmission flow value of SV messages. GOOSE message transmission rate and MMS message sending traffic value ; Step A3: The scheduling controller delivers the corresponding quantitative signaling for each type of message to the signaling pre-granting module based on the corresponding transmission flow value of each type of message calculated in step A2. Step A4: The signaling pre-granting module selectively stores the SV messages from the SV message-to-be-sent submodule into the SV memory based on the number of stored SV quantitative signaling messages and the byte length of the SV messages from the SV message-to-be-sent submodule. Based on the number of GOOSE quantitative signaling messages stored and the byte length of the GOOSE messages from the GOOSE to be sent submodule, the GOOSE messages from the GOOSE to be sent submodule are selectively stored into the GOOSE memory. Based on the number of MMS quantitative signaling messages stored and the byte length of the MMS messages from the MMS to be sent submodule, the MMS messages from the MMS to be sent submodule are selectively stored into the MMS memory.
6. A multi-service message flow scheduling method for relay protection testing according to claim 5, characterized in that, Step A2 specifically includes the following operations: when hour: ; ; ; in, , , These are the transmission traffic values for SV messages, GOOSE messages, and MMS messages, respectively. when At that time, calculate the corresponding transmission traffic value for each type of message according to the following steps: Step A2.1: Calculate the MMS message transmission rate. : like The MMS message sending traffic value ; like The MMS message sending traffic value ; Step A2.2: Calculate the sending traffic value of the GOOSE message. : like The sending traffic value of the GOOSE message , like The sending traffic value of the GOOSE message ; Step A2.3: Calculate the transmission flow value of SV messages. : 。 7. A multi-service message flow scheduling method for relay protection testing according to claim 6, characterized in that, Step A3 specifically includes the following operations: Step A3.1: The scheduling controller calculates the SV message transmission rate value based on step A2. GOOSE message transmission rate and MMS message sending traffic value Calculate the limited number of SV quantitative signaling, the limited number of GOOSE quantitative signaling, and the limited number of MMS quantitative signaling; Generate SV quantitative signaling, GOOSE quantitative signaling, and MMS quantitative signaling, and ensure that the number of SV quantitative signaling generated is equal to the limit number of SV quantitative signaling, the number of GOOSE quantitative signaling generated is equal to the limit number of GOOSE quantitative signaling, and the number of MMS quantitative signaling generated is equal to the limit number of MMS quantitative signaling. The limited number of SV quantitative signaling, the limited number of GOOSE quantitative signaling, and the limited number of MMS quantitative signaling must meet the following requirements: , , , The limit number of quantitative signaling for SV; The limited number of GOOSE quantitative signaling; The limited number of quantitative signaling messages for MMS; The length in bytes corresponding to the maximum outgoing traffic; Step A3.2: The signaling pre-assignment module receives the quantitative signaling corresponding to each type of message deployed by the scheduling controller. When the total number of SV quantitative signaling messages already in the signaling pre-granting module and the SV quantitative signaling messages deployed by the receiving scheduling controller reaches the limit for the number of SV quantitative signaling messages. The signaling pre-grant module stops receiving SV quantitative signaling; When the total number of existing GOOSE quantitative signaling in the signaling pre-granting module and the GOOSE quantitative signaling deployed by the receiving scheduling controller reaches the limit of the number of GOOSE quantitative signaling. The signaling pre-grant module stops receiving GOOSE quantitative signaling; When the total number of MMS quantitative signaling messages already in the signaling pre-granting module and the MMS quantitative signaling messages delivered by the receiving scheduling controller reaches the limit for the number of MMS quantitative signaling messages. The signaling pre-grant module stops receiving MMS quantitative signaling.
8. A multi-service message flow scheduling method for relay protection testing according to claim 7, characterized in that, Step A4 specifically includes the following operations: Step A4.1: The signaling pre-granting module compares the number of stored SV quantitative signaling messages with the byte length of the SV messages received from the SV to be sent submodule. If the number of SV quantitative signaling messages in the signaling pre-granting module is greater than or equal to the byte length of the SV message from the SV to be sent submodule, then the SV message from the SV to be sent submodule is written to the SV memory. At the same time, the number of updated SV quantitative signaling messages in the signaling pre-granting module is the original number of SV quantitative signaling messages minus the byte length of the SV message written to the MMS memory in this round of the cycle. If the number of SV quantitative signaling messages in the signaling pre-granting module is less than the byte length of the SV message from the SV message to be sent submodule, the SV message received from the SV message to be sent submodule in this round of the loop is directly discarded. Step A4.2: The signaling pre-granting module compares the number of stored GOOSE quantitative signaling messages with the byte length of the GOOSE messages received from the GOOSE to be sent submodule. If the number of GOOSE quantitative signaling messages in the signaling pre-granting module is greater than or equal to the byte length of the GOOSE message from the GOOSE to be sent sub-module, then the GOOSE message from the GOOSE to be sent sub-module is written to the GOOSE memory. At the same time, the number of updated GOOSE quantitative signaling messages in the signaling pre-granting module is the original number of GOOSE quantitative signaling messages minus the byte length of the GOOSE message written to the MMS memory in this round of the cycle. If the number of GOOSE quantitative signaling messages in the signaling pre-granting module is less than the byte length of the GOOSE message from the GOOSE message to be sent submodule, the GOOSE message received from the GOOSE message to be sent submodule in this round of loop is directly discarded. Step A4.3: The signaling pre-granting module compares the number of stored MMS quantitative signaling messages with the byte length of the MMS message received from the MMS to be sent submodule. If the number of MMS quantitative signaling messages in the signaling pre-granting module is greater than or equal to the byte length of the MMS message from the MMS to be sent submodule, then the MMS message from the MMS to be sent submodule is written into the MMS memory. At the same time, the number of updated MMS quantitative signaling messages in the signaling pre-granting module is the original number of MMS quantitative signaling messages minus the byte length of the MMS message written into the MMS memory in this round of the cycle. If the number of MMS quantitative signaling messages in the signaling pre-granting module is less than the byte length of the MMS message from the MMS message to be sent submodule, the MMS message received from the MMS message to be sent submodule in this round of the loop is directly discarded.
9. A multi-service message flow scheduling method for relay protection testing according to claim 8, characterized in that, Each cycle of the cyclic message transmission specifically includes the following operations: Step B1: The memory module sends an empty flag signal to the scheduling controller based on whether the SV memory, GOOSE memory, and MMS memory store the corresponding type of message. The empty flag signals include the SV memory empty flag, the GOOSE memory empty flag, and the MMS memory empty flag. When there is no data stored in the SV memory, the SV memory empty flag is high; when there is data stored in the SV memory, the SV memory empty flag is low. When there is no data stored in the GOOSE memory, the GOOSE memory empty flag is high; when there is data stored in the GOOSE memory, the GOOSE memory empty flag is low. When there is no data stored in the MMS memory, the MMS memory empty flag is high; if there is data stored in the MMS memory, the MMS memory empty flag is low. Step B2: The scheduling controller generates a selection control signal to the transmit selector based on the message timing priority and the empty flag signal from the memory module. This causes the transmit selector to retrieve the corresponding message types from the SV memory, GOOSE memory, and MMS memory, and send them to the receiving device in sequence according to the message timing priority.
10. A multi-service message flow scheduling method for relay protection testing according to claim 9, characterized in that, In step B2, the message timing priority is as follows: SV message has the highest priority, followed by GOOSE message, and then MMS message.