4.1 Registration
Purpose
Test the Client’s ability to perform DER discovery and time synchronisation with the Server.
Procedure
Step(s) | Result(s) |
Client performs discovery against published Server information | Client receives relevant function set resource links |
Client receives new resource links and requests resource information from DeviceCapability endpoint | Client receives resource information from Server |
Client requests the EndDevice resource from the Server | Server responds with EndDevice contents |
After discovery of DeviceCapability the Client requests Time resource | Server validates Client time is synced through validating timestamps of ongoing control responses |
Failures
• Client is unable to access Server at published address
• Client is unable to access function set links
• Client is unable to sync time to Server
Purpose
Test the Client’s ability to register the ConnectionPoint (NMI) of the site to the Server.
Procedure
Step(s) | Result(s) |
Server exposes ConnectionPointLink to Client during discovery | Client discovers ConnectionPoint resource |
Client sends ConnectionPointID to the ConnectionPoint resource on the Server* | Server confirms that the ConnectionPointID is valid |
*SA Power Networks will provide guidance on valid ConnectionPointIDs at testing onboard
Failures
• Client is unable to discover ConnectionPoint resource
• Client provides an invalid ConnectionPoint ID (NMI)
4.2 Monitoring
Purpose
Test the Client’s ability to post averages of the following readings using the MirrorMeterReadings:
• Site Real Power
• Site Reactive Power
• DER Real Power
• DER Reactive Power
• Site/DER Voltage
Procedure
Step(s) | Result(s) |
Client posts readings to Server at the MirrorUsagePoint postRate | Server receives readings |
Another set of readings are posted to the Server | Server receives readings |
Failures
• Client is unable to post any of the readings
Purpose
This test is optional and only required if an aggregator client wishes to optimise ongoing provision of measurements
using ‘batching’ of MirrorMeterReadings.
Test the Client’s ability to post averages of the following readings to a MirrorMeterReadingList using the MirrorReadingSets:
• Site Real Power
• Site Reactive Power
• DER Real Power
• DER Reactive Power
• Site/DER Voltage
Procedure
Step(s) | Result(s) |
Server changes MirrorUsagePoint postRate to 3600 seconds | Client receives new MirrorUsagePoint postRate |
Client posts MirrorMeterReadingList to Server at the MirrorUsagePoint postRate | Server receives MirrorMeterReadingList containing 12 readings from each reading type with 300 seconds granularity |
Failures
• Client is unable to post any of the readings to a MirrorMeterReadingList using MirrorReadingSets
Purpose
Test the Client’s ability to post ConnectStatusType to the Server
Precondition
Client is online and inverter is in connected state
Procedure
Step(s) | Result(s) |
Inverter AC is physically disconnected | Client posts genConnectStatus = 0 to the Server on change |
Inverter AC is physically reconnected | Client posts genConnectStatus = 7 to the Server on change |
Failures
• Client is unable to post status reading upon disconnection
• Client is unable to post status reading upon reconnection
Purpose
Test the Client’s ability to post OperationalModeStatusType to the Server
Precondition
Client is online and inverter is in connected state
Procedure
Step(s) | Result(s) |
Inverter stops generating | Client posts OperationalModeStatus = 1 to the Server on change |
Inverter resumes generating | Client posts OperationalModeStatus = 2 to the Server on change |
Failures
• Client is unable to post status readings
Purpose
Test the Client’s ability to post inverter(s) ratings and settings. Where more than one inverter is present, their values
are to be aggregated.
Procedure
Step(s) | Result(s) |
Client provides device capabilities and settings periodically to the Server | Server receives device capabilities and settings |
Failures
• Client is unable to post capabilities or settings
Purpose
Change postRate of Metering Mirror function set
Procedure
Step(s) | Result(s) |
Server updates post rate value from default of 60s to 300s | Direct Client: Upon next poll of the MirrorUsagePointList the Client updates its new postRate Aggregator Client: On change, the Client receives its new postRate |
Next mirror meter reading is posted to Server after 300s | Server receives mirror meter reading |
Server updates post rate value to 60s | Direct Client: Upon next poll of the MirrorUsagePointList the Client updates its new postRate Aggregator Client: On change, the Client receives its new postRate |
Next mirror meter reading is posted to the Server after 60s | Server receives mirror meter reading |
Failures
• Client is unable to update post rates
4.3 Control
Aggregator clients implementing Subscription/Notification must still complete this section of the test procedure as polling is required as a fallback method of control. This section also includes tests for other ancillary control functions such as control responses.
4.3.1.1 Active Controls
4.3.1.1.1 Export Limit
Purpose
Client can receive and respond to Active Controls using OpModExpLimW
Precondition
Client must be generating at least 2000W;
Server has current Active Controls operating at OpModExpLimW of 10000W
Procedure
Step(s) | Result(s) |
Server configures Active Control with OpModExpLimW = 0W | Upon next poll of the EndDevice the Client receives the Active Control |
Client starts the Active Control | Server validates export measurements are reported as 0W (+/- 4%) |
Failures
• Client is unable to reduce exports in response to OpModExpLimW control
4.3.1.1.2 Generation Limit
Purpose
Client can receive and respond to Active Controls using OpModGenLimW
Precondition
Client must be generating at least 2000W
Procedure
Step(s) | Result(s) |
Server configures Active Control with OpModGenLimW = 0W | Upon next poll of the DERProgramList the Client receives the Active Control |
Client starts the Active Control | Server validates generation measurement is reduced to 0W (+/- 4%) |
Failures
• Client is unable to reduce generation in response to OpModGenLimW control
4.3.1.1.3 Energize/ De-energize
Purpose
Client can receive and respond to Active Controls using opModEnergize
Precondition
Client must have opModEnergize set to true
Procedure
Step(s) | Result(s) |
Server configures Active Control with opModEnergize = false | Upon next poll of the DERProgramList the Client receives the Active Control |
Client starts the Active Control | Server validates DER is de-energized with DERStatus and generation measurement is reduced to 0W (+/- 4%) |
Server configures Active Control without opModEnergize = false | Upon next poll of the DERProgramList the Client receives the Active Control |
Client starts the Active Control | Server validates DER is re-energized with DERStatus |
Failures
• Client is unable to de-energize DER
4.3.1.2 Default Controls
4.3.1.2.1 Export Limit
Purpose
Client can receive and adhere to DefaultDERControls
Precondition
Client must be generating at least 2000W;
Server has current Active Controls operating at OpModExpLimW of 10000W
Procedure
Step(s) | Result(s) |
Server configures DefaultDERControl with OpModExpLimW = 0W | Upon next poll of the DERProgramList the Client receives the new DefaultDERControl |
Server cancels all Active Controls | Upon next poll of the DERProgramList the Client receives cancellation instruction |
Client cancels all Active Controls | Server validates that the Client falls back to DefaultDERControl with export limit measurement of 0W (+/- 4%) |
Failures
• Client is unable to fall back and adhere to DefaultDERControl
4.3.1.2.2 Ramp Rate
Purpose
Client can receive updates to the setGradW value
Precondition
Client must be generating at least 2000W;
Server has current Active Controls operating at OpModExpLimW of 10000W Server has current DefaultDERControl with setGradW = 0.27% per second
Procedure
Step(s) | Result(s) |
Server configures DefaultDERControl with setGradW = 1% per second | Upon next poll of the DERProgramList the Client receives the new DefaultDERControl |
Client configures setGradW | Server confirms update to setGradW in DERSettings |
Failures
• Client is unable to receive update to setGradW value
This section only applies to Aggregator clients wishing to support Subscription/Notification. Subscription/Notification is not supported for Direct clients. Direct clients can skip to section 4.3.3
4.3.2.1 Subscribe
Purpose
Client can subscribe to updates to:
• EndDeviceList
• DERControlList
• DefaultDERControl
Procedure
Step(s) | Result(s) |
Client subscribes to Server resource | Client is subscribed to Server |
Client provides resource to the Server for notifications | Server receives notification resource |
Failures
• Client is unable to subscribe to the Server
4.3.2.2 Active Controls
4.3.2.2.1 Export Limit
Purpose
Client can receive and respond to Active Controls using OpModExpLimW
Precondition
Client must be generating at least 2000W
Procedure
Step(s) | Result(s) |
Server notifies of new Active Control with OpModExpLimW = 0W | Client receives the Active Control |
Client starts the Active Control | Server validates exports measurements are reduced to 0W (+/- 4%) |
Failures
• Client is unable to reduce exports in response to OpModExpLimW control
4.3.2.2.2 Generation Limit
Purpose
Client can receive and respond to Active Controls using OpModGenLimW
Precondition
Client must be generating at least 2000W
Procedure
Step(s) | Result(s) |
Server notifies of new Active Control with OpModGenLimW = 0W | Client receives the Active Control |
Client starts the Active Control | Server validates generation measurements are reduced to 0W (+/- 4%) |
Failures
• Client is unable to reduce generation in response to OpModGenLimW control
4.3.2.2.3 Energize
Purpose
Client can receive and respond to Active Controls using OpModEnergize
Precondition
Client must have OpModEnergize set to true
Procedure
Step(s) | Result(s) |
Server notifies of new Active Control with OpModEnergize = false | Client receives the Active Control |
Client starts the Active Control | Server validates DER is de-energized with DERStatus |
Server notifies of new Active Control with OpModEnergize = true | Client receives the Active Control |
Client starts the Active Control | Server validates DER is energized with DERStatus |
Failures
• Client is unable to de-energize or re-energize DER
4.3.2.3 Default Controls
4.3.2.3.1 Export Limit
Purpose
Client can receive and adhere to DefaultDERControls
Precondition
Client must be generating at least 2000W;
Server has current Active Controls operating at OpModExpLimW of 10000W
Procedure
Step(s) | Result(s) |
Server notifies of new DefaultDERControl with opModExpLimW = 0W | Client receives the new DefaultDERControl |
Server notifies of cancellation to all Active Controls | Client receives cancellation instruction |
Client cancels all Active Controls | Client falls back to DefaultDERControl with export limit of 0W |
Failures
• Client is unable to fall back and adhere to DefaultDERControl
4.3.2.3.2 Ramp Rate
Purpose
Client can receive updates to the setGradW value
Precondition
Client must be generating at least 2000W;
Server has current Active Controls operating at OpModExpLimW of 10000W Server has current DefaultDERControl with setGradW = 0.27% per second
Procedure
Step(s) | Result(s) |
Server notifies of new DefaultDERControl with setGradW = 1% per second | Client receives the new DefaultDERControl |
Client configures setGradW | Server confirms update to setGradW in DERSettings |
Failures
• Client is unable to receive update to setGradW value
Purpose
Client can provide control responses for control events:
1. Received
2. Started
3. Completed
6. Cancelled
7. Superseded
Procedure
Step(s) | Result(s) |
Server configures Active Control with OpModExpLimW = 10000W | Upon next poll of the DERProgramList the Client receives the Active Control |
Client receives the Active Control | Client posts back control response = 1 (received) |
Client starts the Active Control | Client posts back control response = 2 (started) |
Client completed the Active Control | Client posts back control response = 3 (completed) |
After completion (control response = 3) of the previous Active Control and after the Client has started (control response = 2) the next Active Control, it is cancelled by the Server | Upon next poll of the DERProgramList the Client receives the cancellation |
Client receives cancellation | Client posts back control response = 6 (cancelled) |
After the client has started the next Active Control, a new control with an overlapping control window is sent | Upon next poll of the DERProgramList the Client receives the new Active Control |
Client begins new control | Client posts back control response = 7 (superseded) |
Failures
• Client is unable to provide control responses
Purpose
Change pollRate of FunctionSetAssignmentsList
Procedure
Step(s) | Result(s) |
Server updates pollRate value from default of 300s to 60s | Upon next poll of the FunctionSetAssignmentsList the Client updates its new pollRate |
Next FunctionSetAssignmentsList poll is made to Server after 60s | Server receives poll from Client after 60s |
Failures
• Client is unable to update post rates
Purpose
Test Clients ability to receive a schedule of controls
Procedure
Step(s) | Result(s) |
Server generates a schedule of 24 sequential controls | Client receives schedule of controls by notification or by polling |
Client provides control responses for schedule of controls | Server receives corresponding control responses (1 = received) for each control |
Client progresses through schedule of controls | Server validates each control in the schedule is started at correct time using control responses (2 = started) |
Failures
• Client is unable receive and respond to a schedule of controls
Purpose
Client can support randomization using the randomizeStart attribute
Procedure
Step(s) | Result(s) |
Server configures a schedule of 5 active controls each with: • duration = 120s • randomizeStart = 60s | Client receives schedule of controls |
• opModExpLimW = 10000W | |
Client executes entire control schedule | Server validates randomness of start times through control responses |
Failures
• Client is unable to start controls in a random manner
Purpose
Inverter(s) can ramp to a DefaultDERControl when communications are lost with the Utility Server
Precondition
Client must be generating at least 2000W;
Server has current Active Controls operating at OpModExpLimW of 10000W
Procedure
Step(s) | Result(s) |
Server configures DefaultDERControl with OpModExpLimW of 0W | Client receives the new DefaultDERControl |
Communications between Server and Client are lost | Client completes current schedule of controls |
Upon completion of Active Control schedule, Inverter(s) begins ramping down to DefaultDERControl | Inverter(s) are operating at zero export |
Communications between Server and Client are re- established 1 minute after the expiry of the current schedule. Active control is issued with OpModExpLimW = 10000W | Client receives and ramps to new Active Control using setGradW (0.27% per second) |
Failures
• Inverter(s) ramp down immediately on loss of communications
• Inverter(s) continue to export at a higher level than the DefaultDERControl after the Active Control schedule expires with
• Inverter(s) generation ramps up immediately on restoration of communications
4.4 Extended operations
Purpose
Confirm that clients can maintain compliant communications and operations over an extended period
Precondition
Clients that cannot be configured to be always online due to reliance on generation (sunlight) will not need to maintain communications outside of daylight hours
Procedure
Step(s) | Result(s) |
Client maintains connection and communications to the Server for 3 consecutive days (72 hours) | Server maintains log of communications for this period |
Communications during this time are validated offline by SA Power Networks | Validity of results are confirmed during certification |
Failures
• Communications are not maintained throughout the specified period