IEC 61850 Interoperability Testing
Oct 2017

New Orleans, LA USA

General Integrated Application Test Cases

IED Isolation Testing

1.Test case name: IEDNONISO-NORMAL-CLIENT-N1

2.Test case name: IEDNONISO-NORMAL-GOOSE-N1

3.Test case name: IEDNONISO-NORMAL-GOOSE-N2

4.Test case name: IEDNONISO-NORMAL-SV-N1

5.Test case name: IEDNONISO-NORMAL-SV-N2

6.Test case name: IEDNONISO-ABNORMAL-GOOSE-N1

7.Test case name: IEDNONISO-ABNORMAL-GOOSE-N2

8.Test case name: IEDNONISO-ABNORMAL-SV-N1

9.Test case name: ISO-NORMAL-CLIENT-N1

10.Test case name: IEDISO-NORMAL-GOOSE-N1

11.Test case name: IEDISO-NORMAL-GOOSE-N2

12.Test case name: IEDISO-NORMAL-GOOSE-N3

13.Test case name: IEDISO-NORMAL-GOOSE-N4

14.Test case name: IEDISO-NORMAL-SV-N1

15.Test case name: IEDISO-NORMAL-SV-N2

16.Test case name: IEDISO-NORMAL-SV-N3

17.Test case name: IEDISO-ABNORMAL-GOOSE-N1

IED Failure / Power down Testing

18.Test case name: IEDfailGOOSE-1

Testing IED restart / power up of a GOOSE publisher

19.Test case name: IEDfailGOOSE-2

20.Test case name: IEDfailGOOSE-3

21.Test case name: IEDfailReport-1

Testing IED restart / power up of a report server

22.Test case name: IEDfailReport-2

IED Replacement

23.Test case name: IED-REPLACE-1

24.Test case name: NET-FAIL-1

25.Test case name: NET-FAIL-2

Station bus clock failure Test Cases

26.Test Case Name: CLK-SYNC-1

27.Test Case Name: CLK-SYNC-2

28.Test Case Name: CLK-SYNC-3

29.Test Case Name: CLK-SYNC-4

Leap Second clock Test Cases

30.Test Case Name: CLK-LEAP-POS-1

31.Test Case Name: CLK-LEAP-NEG-1

EAP failure

32.Test case Name: EAP-PDF-1

33.Test case Name: EAP-PD-REC-1

Redundant Firewall

34.Test case Name: EAP-RED-PDF1

Firewall with no failsafe

35.Test case Name: EAP-NOSAFE-PDF1

GOOSE Cyber Intrusion

36.Test case name: GOOSE-SEC-INT-1

37.Test case name: GOOSE-SEC-INT-2

38.Test case name: GOOSE-SEC-INT-3

Firewall/EAP and GOOSE Monitoring Testing

39.Test case name: GOOSE-SEC-INT-5

40.Test case name: GOOSE-SEC-INT-6

41.Test case name: GOOSE-SEC-INT-7

Merging Unit Failure

42.Test case name: MERG-FAIL-1

43.Test case name: MERG-FAIL-2

44.Test case name: MERG-FAIL-3

45.Test case name: MERG-FAIL-4

46.Test case name: MERG-FAIL-5

47.Test case name: MERG-FAIL-6

IED Addition to Bay

48.Test case name: IED-ADD-A

49.Test case name: IED-ADD-B

50.Test case name: IED-ADD-C

51.Test case name: IED-ADD-D

52.Test case name: IED-ADD-E

53.Test case name: IED-ADD-F

SOE testing (logging mechanism)

54.Test case name: IED-LOG-1

55.Test case name: IED-LOG-2

56.Test case name: IED-LOG-3

SCL use in clients

57.Test case name:CS-NETADDR

58.Test case name: CS-MODEL-DISCO

59.Test case name: CS-RCB-SUB-DISCO

Data acquisition of FCD or FCDA

60.Test case name: CS-FCD-ACQ

61.Test case name: CS-FCDA-ACQ

62.Test case name: CS-FLOAT-READ

63.Test case name: CS-FLOAT-RPT

Datasets

Static Datasets

64.Test case name: CS-DATSET-STATIC

65.Test case name: CS-DATSET-ARRAY

Dynamic DataSets

66.Test case name: CS-DATSET-DYN

Reporting

General

67.Test case name: CS-RPT-ENA

68.Test case name: CS-RPT-RELEASE

69.Test case name: CS-RPT-NO-DATSET

70.Test case name: CS-RPT-BAD-ID

71.Test case name: CS-RPT-MX

Unbuffered Reporting

72.Test case name: CS-RPT-URCB-RESV

Buffered Reporting

73.Test case name: CS-RPT-BUFF

74.Test case name: CS-RPT-RESVTMS

75.Test case name: CS-RPT-RED-CLIENT

Service Tracking

Control Services

76.Test case name: CS-TRACK-SEL-NEG

77.Test case name: CS-TRACK-OPER

Validation of device synchronization (used by most clock synchronization tests)

IED Isolation Testing

Purpose: To determine if IEDs can be tested as part of an integrated system. There are two major use cases:

  1. The ability of an IED to operate of test unit data instead of real process data while still participating in the overall system. This allows IEDs to be provided test data and drive the whole system reaction based upon the test data. This will be referred to as non-isolated testing/system testing.
  2. The ability of an IED to operate of test unit data instead of real process data and to be logically isolated from the rest of the system (e.g. the system knows not to use the information provided by the IED). This will be referred to as isolated testing/unit testing.

Preconditions and explanation: In order to perform these tests, especially for GOOSE, dataSets must be created that include the appropriate quality values for the information being conveyed. This is due to the fact that for use case 2, it will be the quality that conveys either the q.test = true. It is this indication that other IEDs will need to use in order to determine if the data is usable for processing. In order to be conformant, subscribing IEDs have to ignore data with q.test=true unless the subscribing IED is in test mode itself.

Please note that there are two bits for simulation/test: one in the GOOSE Ethernet reserved field, and one in the application level.

Non-Isolated Testing/System Testing (IED mode “on”)

Purpose: This test is to ensure that an individual IED can utilize test set data and still participate in the overall system (i.e. the data sent by that IED has q.test=false). This allows the system application to be tested using test sets.

Precondition: Test set will be “mimicking” an IED in the system for which the IED under test has GOOSE subscriptions.

Test case 1 is a precondition for the execution of any Non-Isolated tests.

Precondition Verification: IED is in mode “on” (Test Case 1)
  1. Test case name: IEDNONISO-NORMAL-CLIENT-N1

Reason: To make sure that IEDs process the appropriate information as part of a normal maintenance process.

Precondition: The IED under test must allow to switch Mod/Beh (must allow remote control i.e. LLN0.LocSta = false).

Test steps:
  1. The client will monitor the value of LLN0.Mod and LLN0.Beh.
  2. If the value is ON, no further action is required. Otherwise, the client will set the value of Mod to ON.

Expected Results: It is expected that the value of Mod.Beh will be ON.

Normal Test Cases

GOOSE

Precondition: LLN0.Mod should be set to a value of ON. All participating LNx.Mod value should be ON. The LLN0.Beh value should reflect a value of ON (same with the LNx values). This needs to be verified through HMI/Client interaction and represents a test case as part of the client/server part of this test.

IEDs can ignore simulated data (Test Case 1)

  1. Test case name: IEDNONISO-NORMAL-GOOSE-N1

Reason: To make sure that IEDs process the appropriate information as part of a normal maintenance process.

Test steps:
  1. LPHD.Sim is set to false in the IED under test.
  2. Test set is configured to emulate all the GOOSE messages for which an IED subscribes for from a particular IED.
  3. Test set begins publishing the GOOSE messages with the Simulation bits set and data quality=good.
Expected Results:
  1. Because LPHD.Sim is false, It is expected that the IED under test will not take action on the test set information.
  2. If there is a monitoring substation HMI/Client (s), the instance of LGOS should be checked and normal operation of LGOS.NdsCom=false, LGOS.LastStNum should have good quality, LGOS.St shoud be True with good quality, LGOS.ConfRevNum’s value should equal the value in RxConRevNum. Additionally, LGOS.SimSt should be false.
  3. The rest of the IEDs in the system should be unaffected. How do we observe this?

IEDs can respond appropriately to simulated data (Test Case 2)

  1. Test case name: IEDNONISO-NORMAL-GOOSE-N2

Reason: To make sure that IEDs process the appropriate information as part of a normal maintenance process.

Test steps:
  1. LPHD.Sim is set to false in the IED under test.
  2. Test set is configured to emulate all the GOOSE messages for which an IED subscribes for from a particular IED.
  3. Test set begins publishing the GOOSE messages with the Simulation bits set and data quality=good.
  4. The LPHD.Sim value is set to true in the IED under test.
  5. After some time, and observing the reaction of the IED under test, set the LPHD.Sim value to false in the IED under test.
Expected Results:
  1. After step 3, it is expected that the IED under test will not take action on the test set information.
  2. If there is a monitoring substation HMI/Client (s), the instance of LGOS should be checked and normal operation of LGOS.NdsCom=false, LGOS.LastStNum should have good quality, LGOS.St shoud be True with good quality, LGOS.ConfRevNum’s value should equal the value in RxConRevNum. Additionally, LGOS.SimSt should be false.
    The witness should note that value of LGOS.LastStNum as it will be used for the next step expected results.
  3. After step 4, it is expected that the IED under test will take action on the test set information.
  4. If there is a monitoring substation HMI/Client (s), the instance of LGOS should be checked and normal operation of LGOS.NdsCom=false, LGOS.LastStNum should have good quality, LGOS.St shoud be True with good quality, LGOS.ConfRevNum’s value should equal the value in RxConRevNum. Additionally, LGOS.SimSt should be true.
    It is highly probable that the LGOS.LastStNum value will be different than the one observed in step 1. This would be typical and is worthwhile to check.
    The value should be recorded prior to the next test step execution.
  5. The other IEDs in the system should be unaffected. How do we observe this?
  1. After step 5, it is expected that the IED under test will not take action on the test set information.
  2. If there is a monitoring substation HMI/Client (s), the instance of LGOS should be checked and normal operation of LGOS.NdsCom=false, LGOS.LastStNum should have good quality, LGOS.St shoud be True with good quality, LGOS.ConfRevNum’s value should equal the value in RxConRevNum. Additionally, LGOS.SimSt should be false.
    It is highly probable that the LGOS.LastStNum value will be different than the one observed in step 1. This would be typical and is worthwhile to check.

Sample Values

Precondition: LLN0.Mod should be set to a value of ON. All participating LNx.Mod value should be ON. The LLN0.Beh value should reflect a value of ON (same with the LNx values). This needs to be verified through HMI/Client interaction and represents a test case as part of the client/server part of this test.

IEDs can ignore simulated data (Test Case 1)

  1. Test case name: IEDNONISO-NORMAL-SV-N1

Reason: To make sure that IEDs process the appropriate information as part of a normal maintenance process.

Test steps:
  1. LPHD.Sim is set to false in the IED under test.
  2. Test set is configured to emulate all the SV messages for which an IED subscribes for from a particular IED.
  3. Test set begins publishing the SV messages with the Simulation bits set and data quality=good. The test set contains a fault current in the SV messages in attempt to trip the IED.
Expected Results:
  1. It is expected that the IED under test will not take action on the test set information.
  2. If there is a monitoring substation HMI/Client (s), the instance of LSVS should be checked and normal operation of LSVS.NdsCom=false, LSVS.St shoud be True with good quality, LSVS.ConfRevNum’s value should equal the value in RxConRevNum. Additionally, LSVS.SimSt should be false.
  3. The rest of the IEDs in the system should be unaffected. How do we observe this? A measurement value in the IED not affected could be observed.

IEDs respond appropriately on simulated data (Test Case 2)

  1. Test case name: IEDNONISO-NORMAL-SV-N2

Reason: To make sure that IEDs process the appropriate information as part of a normal maintenance process.

Test steps:
  1. LPHD.Sim is set to false in the IED under test.
  2. Test set is configured to emulate all the SV messages for which an IED subscribes for from a particular IED.
  3. Test set begins publishing the SV messages with the Simulation bits set and data quality=good. The test set contains a fault current in the SV messages to trip the IED.
  4. The LPHD.Sim value is set to true in the IED under test.
  5. After some time, and observing the reaction of the IED under test, set The LPHD.Sim value is set to false in the IED under test.
Expected Results:
  1. After step 3, it is expected that the IED under test will not take action on the test set information.
  2. The IED shall use the not-simulated values.
  3. If there is a monitoring substation HMI/Client (s), the instance of LSVS should be checked and normal operation of LSVS.NdsCom=false, LSVS.St shoud be True with good quality, LSVS.ConfRevNum’s value should equal the value in RxConRevNum. Additionally, LSVS.SimSt should be false.
  4. After step 4, it is expected that the IED under test will take action on the test set information.
  5. The IED shall use the simulated values.
  6. If there is a monitoring substation HMI/Client (s), the instance of LSVS should be checked and normal operation of LSVS.NdsCom=false, LSVS.St shoud be True with good quality, LSVS.ConfRevNum’s value should equal the value in RxConRevNum. Additionally, LSVS.SimSt should be true.
  7. The other IEDs in the system should be unaffected. How do we observe this? Check the response of their protection function (which should be ignoring the simulated SV).
  8. After step 5, it is expected that the IED under test will not take action on the test set information.
  9. If there is a monitoring substation HMI/Client (s), the instance of LSVS should be checked and normal operation of LSVS.NdsCom=false, LSVS.St shoud be True with good quality, LSVS.ConfRevNum’s value should equal the value in RxConRevNum. Additionally, LSVS.SimSt should be false.
Abnormal Test Cases
GOOSE

IED with LPHD.Sim=true get timeout if simulated GOOSE is missing

  1. Test case name: IEDNONISO-ABNORMAL-GOOSE-N1

Reason: An IED with LPHD.Sim= true which received the simulated GOOSE once must not react on the not-simulated GOOSE anymore (note tissue 1151). This simulates the situation when the test set is removed after the test but somebody forgets to reset the Sim bit in the IED.

Test steps:
  1. LPHD.Sim is set to false in the IED under test.
  2. Test set is configured to emulate one of the GOOSE messages for which an IED subscribes for from a particular IED.
  3. Test set begins publishing one GOOSE message with Simulation bits set and data quality=good.
  4. The LPHD.Sim value is set to true in the IED under test.
  5. After some time, and observing the reaction of the IED under test, the test set is unplugged from the network.
  6. Restore LPHD.Sim to a value of false.
Expected Results:
  1. After step 3, it is expected that the IED under test will not take action on the test set information.
    If there is a monitoring substation HMI/Client (s), the instance of LGOS should be checked and normal operation of LGOS.NdsCom=false, LGOS.LastStNum should have good quality, LGOS.St shoud be True with good quality, LGOS.ConfRevNum’s value should equal the value in RxConRevNum. Additionally, LGOS.SimSt should be false.
  2. After step 4, It is expected that the IED under test will take action on the test set information.
    If there is a monitoring substation HMI/Client (s), the instance of LGOS should be checked and normal operation of LGOS.NdsCom=false, LGOS.LastStNum should have good quality, LGOS.St shoud be True with good quality, LGOS.ConfRevNum’s value should equal the value in RxConRevNum. Additionally, LGOS.SimSt should be true.
  3. After step 5, the IED under test will show a timeout.
    If there is a monitoring substation HMI/Client (s), the instance of LGOS should be checked and the LGOS should indicate a timeout.
  4. After step 6, it is expected that the IED under test reacts on the normal GOOSE.
    If there is a monitoring substation HMI/Client (s), the instance of LGOS should be checked and normal operation of LGOS.NdsCom=false, LGOS.LastStNum should have good quality, LGOS.St shoud be True with good quality, LGOS.ConfRevNum’s value should equal the value in RxConRevNum. Additionally, LGOS.SimSt should be false.

IED in on mode with LPHD.Sim=true ignores simulated GOOSE with data quality=test

  1. Test case name: IEDNONISO-ABNORMAL-GOOSE-N2

Reason: An IED with behavior “on” must not process data with quality=test, regardless of the LPHD.Sim status.