< 上一个 | 内容

3. Validation Logic

3.1 Registration

Test Scenario

Test Validation Approach

Comments

4.1.1 Discovery

1. Perform a GET Request to Device Capability (/dcap).

2. Perform a GET Request to Time Resource (/tm)

3. Perform a GET on the End Device List Link URL retrieved in Step 1.

4. For each of the EndDevices in Step 3, perform a GET on FunctionSetAssignmentListLinks DERProgramListLinks DERControlListLinks

For Aggregator Devices, Itis mandatory that the Client Uses the ALL Attribute for the EndDeviceListLink to perform Step 3 as a query param (?l=)

4.1.2 Site Registration

1. Perform Site Registration by doing a POST to /edev with EndDevice info. The expected format is


<EndDevice xmlns="urn:ieee:std:2030.5: ns"

xmlns:ns2="https://csipaus.org/ns">

<lFDI>xxxxxx</lFDI>

<sFDI>xx</sFDI>

<changedTime>12345</changedTime>

</EndDevice>


2. Perform a GET on the newly created EndDevice to get the ConnectionPointLink

3. PUT a valid connectionPointId to ConnectionPointLink. The expected format is:


<ConnectionPoint xmlns="https://csipaus.org/ns"

xmlns:ns2="urn:ieee:std:2030.5:ns">

<connectionPointId>xxxxxx

</connectionPointId>

</ConnectionPoint>

Error Codes:

201: Successful Device Registration

409: Device is already registered

400: Bad Request/ Invalid format.

ERROR-RC:1 : Incorrect ConnectionPoint information

3.2 Monitoring

Test Scenario

Test Validation Approach

Comments

4.2.1 Readings

Client should POST the following MirrorMeterReadings to their re spective HREFs

The client needs to have posted the MirrorUsagePoints, and they’ll get the location href back in the response (or they need to do aGET of the MUPList /mup), and then they postthe MMR to the MUP href.


image

The POST to create the MirrorUsagePoint needs to include a MirrorMeterReading


image

Each type of MirrorMeterReading needs its own MirrorUsagePoint (5 total)


image

MirrorMeterReadings should have a static mRID that is unique for each MirrorUsagePoint

Site Real Power

Unit of Measure : W (38)

Role Flag : 0003

Site Reactive Power

Unit of Measure : VAR (63)

Role Flag : 0003

DER Real Power

Unit of Measure : W (38)

Role Flag : 0049

DER Reactive Power

Unit of Measure VAR (63)

Role Flag : 0049

Site Voltage

Unit of Measure : V(29)

Role Flag : 0003

4.2.2 Batched Readings

Future Release

Future Release

4.2.3 Connect Status

1. Perform a PUT to DERStatus with genConnectStatus

= 0 to theServer

2. Perform a PUT to DERStatus with genConnectStatus

= 7 to theServer

As long as there is a valid sequence of POSTs (

0 -> 7) anywhere during the test, the test willpass.


Example: The following sequences are valid


7 0 0 0 7

0 7

7 0 0 7

4.2.4 Operational Mode Status

1. Perform a PUT to DERStatus with operationalModeStatus = 1 to the Server

2. Perform a PUT to DERStatus with operationalModeStatus = 2 to the Server

As long as there is a valid sequence of POSTs (

1 -> 2) anywhere during the test, the test willpass.

As long as there is a valid sequence of POSTs (

0 -> 7) anywhere during the test, the test willpass.

Example: The following sequences are valid


2 2 2 1 2

1 2

2 1 1 2

4.2.5 Capabilities

/Settings

1. Perform a PUT to DERCapabilities HREF dercap

2. Perform a PUT to DERSettings HREF derg


4.2.6 Update Post Rates

1. POST a MirrorMeterReading to its HREF.

2. POST a reading to the same HREF as in Step 1 with an interval of 300 seconds between the two POSTs.

3. POST a MirrorMeterReading to its HREF.

4. POST a reading to the same HREF as in Step 1 with an interval of 60 seconds between the two POSTs.

If there is a third or further POSTs between a set of POSTs in test (Step 1 and Step2) or (Step 3 and Step 4) to the same HREF, the testwould fail.

3.3 Control


Test Scenario

Test Validation Approach

Comments

Polled ActiveControls

4.3.1.1.1 Export Limit

1. Perform a GET on DERControlList. The client would’ ve received a control with opModExpLimW = 0

2. Start the Control Control Response = 2

3. Perform a POST to MirrorUsagePoint - Measurement is reduced to 0W +/-4%

The client needs to follow the link to the DERProgram in the DERProgramList to fetch the DERControlList

4.3.1.1.2 Generation Limit

1. Perform a GET on DERControlList. The client would’ ve received a control with opModGenLimW = 0

2. Start the Control Control Response = 2

3. Perform a POST to MirrorUsagePoint - Measurement is reduced to 0W +/-4%

The client needs to follow the link to the DERProgram in the DERProgramList to fetch the DERControlList

image

The Client can also POLL the DERControlList using NOTIFICATIONS

4.3.1.1.3 Energize

/Deenergize

1. Perform a GET on DERControlList. The client would’ ve received a control with opModEnergize = False

2. Start the Control Control Response = 2

3. Perform a PUT to DERStatus with genConnectStat us LSB = 0

4. Perform a GET on DERControlList. The client would’

ve received a control without opModEnergize = False

5. Start the Control Control Response = 2

6. Perform a PUT to DERStatus with genConnectStat us LSB = 1

The client needs to follow the link to the DERProgram in the DERProgramList to fetch the DERControlList


image

LSB = Least Significant Bit

Polled DefaultControls

4.3.1.2.1 Export Limit

1. Perform a GET on DefaultDERControl

2. Perform a POST to MirrorUsagePoint - Measurement is reduced to 0W +/-4%

The client needs to follow the link to the DERProgram in the DERProgramList to fetch the DERControlList

4.3.1.2.2 Ramp Rate

1. Perform a PUT to DERSettings with 10% setGradW


Subscription

4.3.2.1 Subscribe

1. Subscribe to EndDeviceList by POSTing to /sub

2. Subscribe to DERControlList by POSTing to /sub

3. Subscribe to DefaultDERControl by POSTing to /s ub

All Subscription Payloads must have a valid notificationURI and a valid su bscribedResource attribute.

image

The order of the subscriptions does not matter.

Subscription Active Controls

4.3.2.2.1 Export Limit


Same as 4.3.1.1.1 Export Limit but validator will check for NOTIFICATIONof controls instead of GET

4.3.2.2.2 Generation Limit


Same as 4.3.1.1.2 Generation Limit but validator will check for NOTIFICATION of controls instead of GET

4.3.2.2.3 Energize


Same as 4.3.1.1.3 Energize/Deenergizebut validator will check for NOTIFICATION of controls instead of GET

Subscription Default Controls

4.3.2.3.1 Export Limit


Same as 4.3.1.2.1 Export Limit but validator will check for NOTIFICATIONof controls instead of GET

4.3.2.3.2 Ramp Rate


Same as 4.3.1.2.2 Ramp Rate but validator will check for NOTIFICATIONof controls instead of GET


4.3.3 Control Responses

1. Perform a GET on DERProgramList (/derp)

2. Perform a GET on DERControlList. The client would’ ve received two Active Controls.

3. POST Control Response = 1 (Received) for both Controls.

4. Start and Complete First Control (Control Response = 2 & Control Response = 3)

5. Start but then Cancel Second Control (Control Response = 2 & Control Response = 6)

6. POLL DERControlList to fetch Third Control.

7. Start Third Control

8. POLL DERControlList to fetch Fourth Control.

9. Supersede Third Control (Control Response = 7)


The client needs to follow the link to the DERProgram in the DERProgramList to fetch the DERControlList


The client MUST perform the steps exactly in this order. It doesn’t matter ifthere are more control responses sentin between the given steps.

4.3.4 Poll Rates

1. Perform a GET on FunctionSetAssignment (/fsa). The client would have received a Poll Rate of 60 seconds

2. Perform a subsequent GET on FunctionSetAssignment (/fsa) after 60 Seconds.


4.3.5 Scheduling

1. Perform a GET on DERProgramList (/derp)

2. Perform a GET on DERControlList. The client would’ ve received 24 Active Controls.

3. For each of the control, acknowledge that it is received (Control Response = 1)

4. For each of the control, acknowledge that it is started (

Control Response = 2)


The client needs to follow the link to the DERProgram in the DERProgramList to fetch the DERControlList

The Client can also POLL the DERControlList using NOTIFICATIONS

The Client MUST start the control at

theControl’s scheduled Start Value sent bythe server.

4.3.6 Randomization

1. Perform a GET on DERProgramList (/derp)

2. Perform a GET on DERControlList. The client would’ ve received 5 Active Controls.

3. For each of the control, acknowledge that it is received (Control Response = 1)

4. For each of the control, acknowledge that it is started (

Control Response = 2)


The client needs to follow the link to the DERProgram in the DERProgramList to fetch the DERControlList

The Client can also POLL the DERControlList using NOTIFICATIONS

The client MUST start the control at arandom time between the Control’s scheduled Start Value sent by the server and (startValue + control’s

randomize start value)


Powered By SwitchDin