Patent Publication Number: US-2023164220-A1

Title: Messaging in an electric power system

Description:
TECHNICAL FIELD 
     The present disclosure pertains to messaging in an Electric Power System (EPS). More particularly, but not exclusively, the present disclosure relates to the use of the Generic Object Oriented Substation Events (GOOSE) protocol. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Non-limiting and non-exhaustive embodiments of the disclosure are described, including various embodiments of the disclosure, with reference to the figures, in which: 
         FIG.  1    illustrates a flow of GOOSE data in a system for messaging in an EPS consistent with embodiments of the present disclosure. 
         FIG.  2    illustrates a flowchart of a method for publishing fixed-length GOOSE messages in a messaging system in an EPS consistent with embodiments of the present disclosure. 
         FIG.  3    illustrates a flowchart of a method for receiving fixed-length GOOSE messages in a messaging system in an EPS consistent with embodiments of the present disclosure. 
         FIG.  4    illustrates a functional block diagram of a system for messaging in an EPS consistent with embodiments of the present disclosure. 
     
    
    
     DETAILED DESCRIPTION 
     EPSs generate, transmit, or distribute electric power to an end user or load. Such systems may use various types of equipment such as generators, transformers, circuit breakers, switches, distribution lines, transmission lines, buses, capacitor banks, reactors, loads, and the like. Intelligent electronic devices (IEDs) are often used to collect electric power system information, make control and/or protection decisions, take control, automation, implement protection actions, and/or monitor the electric power delivery system. 
     IEDs may detect and remedy abnormal or dangerous conditions through protective actions, such as tripping. Conditions in an EPS may vary rapidly, and as such, latency or variability in communication may delay implementation of protective actions. 
     IEDs within an electric power delivery system may be interconnected by a variety of technologies and may utilize various communication protocols. IEC 61850 GOOSE is a flexible method for signaling and data sharing over an Ethernet network; however, the GOOSE protocol does not include established time parameters, and as such, may suffer from variability caused by network congestion or other issues. 
     The inventors of the present disclosure have recognized that certain advantages may be achieved by utilizing messaging in EPSs that is generated and processed in real-time or near real-time. In some embodiments, systems and methods disclosed herein may be used with GOOSE messages. Such systems may realize the flexibility offered by the GOOSE protocol along with the benefits of processing messages in real-time or near real-time in an EPS. 
     The embodiments of the present disclosure will be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout. It will be readily understood that the components of the disclosed embodiments, as generally described and illustrated in the figures herein, could be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of the systems and methods of the disclosure is not intended to limit the scope of the disclosure, as claimed, but is merely representative of possible embodiments of the disclosure. In addition, the steps of a method do not necessarily need to be executed in any specific order, or even sequentially, nor need the steps be executed only once unless otherwise specified. 
     In some cases, well-known features, structures, or operations are not shown or described in detail. It will also be readily understood that the components of the embodiments as generally described and illustrated in the figures herein could be arranged and designed in a wide variety of different configurations. 
     Several aspects of the embodiments described may be implemented as software modules or components. As used herein, a software module or component may include any type of computer instruction or computer-executable code located within a memory device and/or transmitted as electronic signals over a system bus or wired or wireless network. A software module or component may, for instance, comprise one or more physical or logical blocks of computer instructions, which may be organized as a routine, program, object, component, data structure, etc. that performs one or more tasks or implements particular abstract data types. 
     In certain embodiments, a particular software module or component may comprise disparate instructions stored in different locations of a memory device, which together implement the described functionality of the module. Indeed, a module or component may comprise a single instruction or many instructions, and may be distributed over several different code segments, among different programs, and across several memory devices. Some embodiments may be practiced in a distributed computing environment where tasks are performed by a remote processing device linked through a communications network. In a distributed computing environment, software modules or components may be located in local and/or remote memory storage devices. In addition, data being tied or rendered together in a database record may be resident in the same memory device, or across several memory devices, and may be linked together in fields of a record in a database across a network. 
     Embodiments may be provided as a computer program product including a non-transitory computer and/or machine-readable medium having stored thereon instructions that may be used to program a computer (or another electronic device) to perform processes described herein. For example, a non-transitory computer-readable medium may store instructions that, when executed by a processor of a computer system, cause the processor to perform certain methods disclosed herein. The non-transitory computer-readable medium may include, but is not limited to, hard drives, floppy diskettes, optical disks, CD-ROMs, DVD-ROMs, ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cards, solid-state memory devices, or other types of machine-readable media suitable for storing electronic and/or processor-executable instructions. 
       FIG.  1    illustrates a flow of GOOSE data in a system  100  for messaging in an EPS consistent with embodiments of the present disclosure. A stream of data, including a plurality of GOOSE packets, may be exchanged with a network  124 . Traffic unrelated to GOOSE may be routed as appropriate, but the details are not illustrated for the sake of simplicity. 
     GOOSE data packets received by network interface subsystem  118  may be routed to GOOSE packet handler  120 . GOOSE data packets may be identified using the EtherType value 0x8868, which is associated with GOOSE data, and the destination multicast address. EtherType is a two-octet field in an Ethernet frame that can be used to identify a protocol used to encapsulate data in a payload of the frame. Still further, if the fourth octet of the multicast address is 0xFF then the packet is deemed a fixed-length GOOSE message and routed to a fixed-length GOOSE receiver  116 . System  100  may process both fixed-length GOOSE messages and variable-length GOOSE messages. Variable-length GOOSE messages may be routed to an appropriate GOOSE subscriber  122  using a standard processing subsystem. 
     The fixed-length GOOSE receiver  116  may be responsible for validating fixed-length GOOSE data packets and pushing them to the fixed-length GOOSE encoder/decoder  112 . The fixed-length GOOSE encoder/decoder  112  may be responsible for decoding the fixed-length GOOSE data and pushing the data to a real-time processing subsystem  106 . 
     The real-time processing subsystem  106  may be responsible for monitoring digital and/or analog quantities selected using a fixed-length GOOSE configuration subsystem  104  and pushing any changes in the values to the fixed-length GOOSE encoder/decoder  112 . Real-time processing subsystem  106  may include an IED digital store  108  and an IED analog store  110 . The IED digital store  108  and the IED analog store  110  retain the digital and analog values in messages received by system  100  and/or published by system  100 . 
     Real-time processing subsystem  106  may monitor the configured digital and analog quantities selected using the fixed-length GOOSE configuration subsystem  104  on a fixed schedule. In one specific embodiment, real-time processing subsystem  106  may process analog quantities every 24 milliseconds and the digital quantities every 4 milliseconds. In a system with a 60 Hz fundamental frequency, a cycle is approximately 16.67 milliseconds, and as such, 4 milliseconds represents approximately one-quarter of a cycle, and 24 milliseconds represents approximately one and a half cycles. Operating real-time processing subsystem  106  according to a fixed schedule ensures that data will be processed and/or published within a fixed interval of a time of receipt. 
     If a data change is detected in either the digital quantities or the analog quantities, a fixed-length GOOSE message may be published immediately. As established by the GOOSE protocol, a state number may be incremented in the published message, and duplicate messages may also be published. The duplicate messages may help to ensure that a subscribing device receives the update even if one or more packets is dropped. In duplicate messages, the state number does not change in these messages, but a sequence number may be updated. 
     Changes in values may be published by fixed-length GOOSE publisher  114  in the fixed-length GOOSE format. The published fixed-length GOOSE data packets may be routed to the network interface subsystem  118  for transmission via network  124 . 
     System  100  also includes an IED configuration subsystem  102  that may be used to configure an IED. In various embodiments, the IED configuration subsystem  102  may be embodied as a graphical user interface, a command line interface, a web interface, PC-based software, such as the SEL Grid Configurator available from Schweitzer Engineering Laboratories of Pullman, Wash., or the like. A user may specify a variety of configuration settings using the IED configuration subsystem  102 . 
     IED configuration subsystem  102  may enable a user to specify various settings for communications. In various embodiments, the communications may be formatted according to the GOOSE protocol. In one specific embodiment, fixed-length GOOSE encoded messages are described in IEC61850 standard Edition 2 amendment A1. The fixed-length GOOSE protocol establishes “fixed” offsets within a data packet. The only part varying in the packet is the content of the data, not its encoding. The fixed offsets may allow a system to optimize encoding and decoding of GOOSE messages. 
     A fixed-length GOOSE configuration subsystem  104  may be used to configure fixed-length GOOSE message. For example, an operator may specify specific quantities to map to fixed-length GOOSE messages using fixed-length GOOSE configuration subsystem. Fixed-length GOOSE messages may include analog quantities and digital quantities. 
       FIG.  2    illustrates a flowchart of a method  200  for publishing fixed-length GOOSE messages in a messaging system in an EPS consistent with embodiments of the present disclosure. At  202 , a system implementing method  200  may monitor time to determine when a fixed interval has elapsed. The fixed interval of publication allows devices to communicate in a peer-to-peer network with predictability and consistency. The predictability and consistency offered by method  200  is well suited to use in an EPS to provide up-to-date information related to electrical conditions to devices that monitor and protect the EPS. 
     At  204  and  206 , method  200  may determine whether it is time to update digital data or analog data. In some embodiments, digital data may be updated at a different rate than analog data. For example and as discussed above, in one embodiment, analog quantities may be updated every 24 milliseconds and digital quantities may be updated every 4 milliseconds. In other embodiments, the time between updates may be greater or less. If it is not time to update either the digital data  204  or to update the analog data  206 , method  200  may return to  202 . Updated digital data may be obtained at  208  if method  200  determines that it is time to update the digital data at  204 , and updated analog data may be obtained at  210  if method  200  determines that it is time to update the analog data at  206 . 
     At  214 , method  200  may determine whether the updated data comprises changed data. If the data has changed, a state number may be incremented, a sequence number may be reset, and the updated data may be included in a transmit packet at  218 . The state number may allow receiving devices to determine changes in the state using a single identifier. The transmit packet may be generated and transmitted at  220 . 
     If the data is unchanged at  214 , method  200  may determine at  212  whether a time-to-live (TTL) value has been exceeded. Method  200  may be associated with a time-to-live (TTL) value. The TTL value may represent a maximum amount of time before the message should be repeated. In some embodiments, the TTL value may be included in transmitted packets, and subscribing devices may use the TTL value to determine if received data is valid. This scheme may accommodate some variation in delivery time while permitting receiving devices to identify a problem after a threshold amount of delay. If the TTL has expired at  212 , a sequence number may be incremented at  216 , and a packet may be generated and transmitted at  220 . By transmitting a packet with an unchanged state number and an incremented sequence number, receiving devices are able to quickly process the packet because the state is unchanged. 
       FIG.  3    illustrates a flowchart of a method  300  for receiving fixed-length GOOSE messages in a messaging system in an EPS consistent with embodiments of the present disclosure. At  302 , a system implementing method  300  may monitor incoming messages. In various embodiments, the incoming messages may be received from a network interface, such as the network interface subsystem  118  illustrated in  FIG.  1   . The incoming data may be monitored to identify relevant information used in connection with method  300 . In certain embodiments, method  300  may be implemented in a driver of a communication interface, such as an Ethernet interface. 
     At  304 , method  300  may determine if an incoming message is a GOOSE message. If the message is something other than a GOOSE message (e.g., a data packet in another format), it may be routed at  316  to another process. GOOSE packets may be identified using the EtherType value 0x88B8. Once the packet is routed at  316 , method  300  may continue to monitor incoming data at  302 . 
     At  306 , method  300  may determine if the message is a fixed-length GOOSE message. If the received message is not a fixed-length GOOSE message, it may be pushed to a standard GOOSE receiving thread at  318 . Method  300  may be used in connection with a real-time or near real-time system, and GOOSE messages that are not considered in connection with that system may be handled by a separate thread or process. 
     At  308 , method  300  may determine if the GOOSE message relates to a valid fixed-length GOOSE subscription. GOOSE is a multicast protocol, and as such, a system implementing method  300  may receive messages published by devices to which the system does not subscribe. Such messages may be discarded at  320 . 
     At  310 , the GOOSE message may be pushed to a real-time processing subsystem and processed at  312 . In one specific embodiment, the real-time processing subsystem may be embodied as real-time processing subsystem  106  illustrated in  FIG.  1   . A system implementing method  300  may be configured to give the highest priority to messages identified at  304 ,  306 , and  308 . 
     At  312 , a real-time processing subsystem may process the fixed-length GOOSE message in real-time or near real-time. In one specific embodiment, the real-time processing subsystem may process messages on a fixed schedule (e.g., every 4 milliseconds). Some embodiments may utilize different schedules for processing digital values and analog values. Processing information according to a fixed schedule may allow operators to implement real-time or near real-time control strategies that can make an associated EPS more efficient and/or more reliable. 
     At  314 , analog/digital values from the fixed-length GOOSE message may be updated. In some embodiments, the updated values may be made available to protection elements or used to perform other functions within the EPS. For example, if an analog value corresponds to a current measurement, the current measurement may be used by an over-current protective element to identify an over-current condition. Quickly identifying an over-current condition may minimize damage from arcing or other potentially hazardous conditions. 
       FIG.  4    illustrates a simplified block diagram of a system  400  for coordinating protective elements in an EPS consistent with embodiments of the present disclosure. System  400  may be implemented using hardware, software, firmware, and/or any combination thereof. In some embodiments, system  400  may be embodied as a protective relay, intelligent electronic device (IED), or other type of device. Certain components or functions described herein may be associated with other devices or performed by other devices. The specifically illustrated configuration is merely representative of one embodiment consistent with the present disclosure. 
     System  400  includes a communications interface  416  to communicate with relays, IEDs, and/or other devices. In certain embodiments, the communications interface  416  may facilitate direct communication or communicate with systems over a communications network (not shown). System  400  may further include a time input  412 , which may be used to receive a time signal (e.g., a common time reference) allowing system  400  to apply a time-stamp to acquired samples. In certain embodiments, a common time reference may be received via communications interface  416 , and accordingly, a separate time input may not be required for time-stamping and/or synchronization operations. One such embodiment may employ the IEEE 1588 protocol. A monitored equipment interface  408  may receive status information from, and issue control instructions or protective actions to, a piece of monitored equipment (e.g., a circuit breaker, conductor, transformer, or the like). 
     Processor  424  processes communications received via communications interface  416 , time input  412 , and/or monitored equipment interface  408 . Processor  424  may operate using any number of processing rates and architectures. Processor  424  may perform various algorithms and calculations described herein. Processor  424  may be embodied as a general-purpose integrated circuit, an application-specific integrated circuit, a field-programmable gate array, and/or any other suitable programmable logic device. A data bus  414  may provide connection between various components of system  400 . 
     Instructions to be executed by processor  424  may be stored in computer-readable medium  426 . Computer-readable medium  426  may comprise random access memory (RAM) and non-transitory storage. Computer-readable medium  426  may be the repository of software modules configured to implement the functionality described herein. 
     System  400  may include a sensor component  410 . In the illustrated embodiment, sensor component  410  may receive current measurements  402  and/or voltage measurements  406 . The sensor component  410  may comprise ND converters  404  that sample and/or digitize filtered waveforms to form corresponding digitized current and voltage signals. Current measurements  402  and/or voltage measurements  406  may include separate signals from each phase of a three-phase electric power system. ND converters  404  may be connected to processor  424  by way of data bus  432 , through which digitized representations of current and voltage signals may be transmitted. 
     A real-time processing subsystem  418  may process a subset of a stream of communications received by system  400  in real-time or near real-time. The stream of communications may originate from communications interface  416 , sensor component  410 , and/or monitored equipment interface  408 . The real-time processing subsystem  418  may be responsible for monitoring digital and/or analog quantities. The real-time processing subsystem  418  may receive values and/or publish values based on the configuration of system  400 . 
     A message encoder/decoder  420  may encode or decode messages in various formats. In some embodiments, message encoder/decoder  420  may be configured to encode and decode messages in the GOOSE format. The message encoder/decoder  420  may also be responsible for identifying incoming messages to be processed by real-time processing subsystem  418 . 
     A configuration subsystem  428  may allow an operator to configure various aspects of system  400 , including criteria used to identify a subset of the stream of messages for real-time processing. For example, an operator may select specific types of communications to be processed using real-time processing subsystem  418 . In one specific embodiment, communications encoded using the fixed-length GOOSE protocol may be selected for processing using real-time processing subsystem  418 . Further, certain types of data collected by sensor  410  may be selected for publication using real-time processing subsystem  418 . 
     A standard processing subsystem  430  may process communications received by system  400  that do not satisfy the criteria used to identify messages from the subset of the stream of messages for real-time processing. 
     A protective action subsystem  422  may implement a protective action based on various conditions monitored by system  400 . In various embodiments, a protective action may include tripping a breaker, selectively isolating or disconnecting a portion of the electric power system, etc. Protective action subsystem  422  may coordinate protective actions with other devices in communication with system  400 . 
     While specific embodiments and applications of the disclosure have been illustrated and described, it is to be understood that the disclosure is not limited to the precise configurations and components disclosed herein. Accordingly, many changes may be made to the details of the above-described embodiments without departing from the underlying principles of this disclosure. The scope of the present invention should, therefore, be determined only by the following claims.