Smart Grid Applications Overview > Smart Operations Solution > AMI Integration > Smart Grid Integration Framework |
Version: 10.1 |
The Smart Grid Integration Framework integrates with AMI in order to allow Responder to process meter events. AMI receives messages from the meters, then passes the messages to the Smart Grid Integration Framework using a CIM-based interface. The Smart Grid Integration Framework uses services, web services and pipeline rules to filter and process messages. The Smart Grid Integration Framework diagram shows the entire framework and how it interacts with Responder. Individual portions of this framework are discussed in more detail below. Because of its size, the entire Smart Grid Integration Framework diagram is on a separate page:
Smart Grid Integration Framework Diagram
The meters in the field send messages to AMI. AMI communicates those messages in a CIM format to the Event Receiver (Miner.Smartgrid.EventService web service). The Event Receiver filters out any garbled or invalid messages and sends all valid messages to the Event Queue (MSMQ) where they are stored before processing by the Event Processor windows service.
As part of the Event Processor, the Event Dispatcher pulls messages from the Event Queue for processing. The Event Dispatcher then passes the messages (events) to the Event Processor pipelines to filter out or process specific types of messages. The Event Dispatcher uses the pipelines to ultimately persist events to a state data store.
The Event Processor uses multiple pipelines to more efficiently process AMI events. The following filters and rules make up each pipeline:
Once messages arrive in the state data store the Smart Grid Integration Framework uses database triggers to map the meter events to GIS features in the geodatabase, which may be used to display AMI events. Database triggers maintain accurate data in the AMI Events feature class from the AMI_Snapshot and MapTable tables to ensure that ArcMap reflects the current status of the meter.
Next, the PostEventProcessor queries the state data store (Oracle) for new events. The PostEventProcessor's PostEventDispatcher component queries the state data store at set intervals and pulls all unrestored power down and unrestored partial power events that have waited the pre-determined (via configuration) amount of time. A second query pulls power down and partial power events that were restored by Responder but not by AMI after these events have been held a pre-determined (via configuration) amount of time.
The latter query is used to handle nested outages or incorrect Responder restorations. This query could introduce a never-ending loop if Responder restores incidents that never get restored by AMI because of delayed or dropped messages. For those cases, a reprocessing count for restored events can be set (via configuration) and is used to limit the number of times a reprocessed restoration event can be flagged as "stewed." Ultimately, the queried events are sent through the PostEventProcessor pipeline.
In order to optimize performance, Responder uses the Enhanced Prediction Engine to process AMI events. Enhanced Prediction holds events for a configurable amount of time (sometimes called "stew" time). In the Prediction Services configuration file, the value determines how long an event is held before processing.