Issues #668
MirrorBlockCommand state not used for LNs without direct process interface (sCtl28)
Description
The test case sCtl28 is designed to verify the functionality in figure 42 of IEC 61850-7-2:2010, regarding test/blocked but does not consider separation of function e.g. CSWI and XCBR.
The problem is that the CSWI should not be affected by the block in test/blocked or blocked, since there is no process interface from this LN. I.e. the CSWI should forward the command to the XCBR also when e.g. in test/blocked.
The result is that the CSWI should not enter the MirrorBlockedCommand state. This is similar and have the same root cause as "Redmine Issues #642" regarding sCtl29.
This leads to that the expected result in that test case sCtl28 is not correct for the non process LNs.
The proposal is to exclude the test sCtl28 with the same motivation as sCtl29.
Files
Related issues
Updated by Gerard Akse over 3 years ago
Since there are inconsistencies in the standard (It says both that control should react exactly as if output wire was disconnected AND it shall act as if Beh=Off.
In the first case we get a timeout (after a delay) and in the second case we get a “blocked-by-mode” immediately) I propose to modify sCtl28 to allow both addcauses "blocked by mode" and "time-limit-over".
Expected result
1. DUT send Operate respond+ and CommandTermination- with AddCause “blocked-by-mode” without waiting for the operate timeout. When available, DUT sends the following data change reports: DO.opRcvd=TRUE, DO.opRcvd=FALSE, DO.opOk=TRUE with updated DO.tOpOK, DO.opOK=FALSE with updated DO.tOpOK
2. DUT send SelectWithValue respond+
3. DUT send Operate respond+ and CommandTermination- with AddCause “blocked-by-mode” without waiting for the operate timeout [b]or with Addcause "time-limit-over" after operate timeout[/b]. When available, DUT sends the following data change reports: DO.opRcvd=TRUE, DO.opRcvd=FALSE, DO.opOk=TRUE with updated DO.tOpOK, DO.opOK=FALSE with updated DO.tOpOK
4. DUT send Operate respond+. When available, DUT sends the following data change reports: DO.opRcvd=TRUE, DO.opRcvd=FALSE, DO.opOk=TRUE with updated DO.tOpOK, DO.opOK=FALSE with updated DO.tOpOK
5. DUT send Select respond+
6. DUT send Operate respond+. When available, DUT sends the following data change reports: DO.opRcvd=TRUE, DO.opRcvd=FALSE, DO.opOk=TRUE with updated DO.tOpOK, DO.opOK=FALSE with updated DO.tOpOK
Test description
When the control object has [OR] attributes configure and enable a report control block with a dataset with DO.[OR]
b) DOes
Force LN.Beh = test-blocked (when supported)
1. Client request Operate with test=TRUE and a valid control value
d) SBOes
Force LN.Beh = test-blocked (when supported)
2. Client request valid SelectWithValue with test=TRUE and a valid control value
3. Client request Operate with test=TRUE
When the control object has [OR] attributes continue with:
a) DOns
Force LN.Beh = test-blocked (when supported)
4. Client request Operate with test=TRUE and a valid control value
c) SBOns
Force LN.Beh = test-blocked (when supported)
5. Client request valid Select
6. Client request Operate with test=TRUE and a valid control value
Comment
Note: TISSUE 1652 was not green when this documentt was published, so Mod=blocked is not tested
Updated by Thierry Dufaure over 3 years ago
I don't understand the analysis from Gerhard.
The issue is (as mentioned by Gunnar): the Beh Blocked, Test-bLocked applies to wired output. Therefore it cannot apply to the DataObject CSWI.Pos - which is NOT wired-output: XCBR.Pos is wired-output.
When CSWI.Beh is Blocked, or Test-Blocked,
- there need to be a conisderation of the communication to XCBR, and of the XCBR.Beh.#
- if XCBR.Beh = Test, then the wired-output of XCBR will be activated.
- if XCBR.Beh = Test-BLocked, then the wired-output of XCBR will NOT be activated.
In both case, the XCBR returns XCBR.Pos.opRcvd, opOk to the CSWI so that the CSWI.Pos tate machines further transits.
This is the same issue as for sCtl29. As long as the XCBR.Pos returns channel is not exposed in the test procedures, the test can not be done.
This is a functional testing.
The state machine of 7-2 with regards to BEh= Blocked. Test-Blocked would apply to a CSWI.DataObject that is wired-output.
Updated by Richard Schimmel over 3 years ago
TPWG: sCtl28 should specify that the control object has an wired output. In case the control object is not wired, addcause 'time-limit-over" is. For example: CSWI.Pos and XCBR.Pos in another device. Here CSWI.Pos has no wired output.
Proposal is to focus sCtl28 on FC=OR and ignore/remove the expected result CmdTrm/Addcauses.
Updated by Richard Schimmel over 3 years ago
Updated by Thierry Dufaure over 3 years ago
I don'T understand why there is a difference
1) and 3)
to
5) and 7)
I propose to have
1), 3), 5) and 7)
• Operate is accepted, DUT sends reports/GOOSE with OpRcvd=T and then OpRcvd=F and opOk=T with updated tOpOK
• DUT send report/GOOSE with opOk=F
Updated by Bruce Muschlitz over 3 years ago
- File Solution to redmine_668_sCtl28_BruceComments.docx Solution to redmine_668_sCtl28_BruceComments.docx added
- Triggering Tissue changed from Triggering tissue https://iec61850.tissue-db.com/tissue/1696 to https://iec61850.tissue-db.com/tissue/1696
Fix field "triggering Tissue" to be valid web link
Add comment to proposed TP that order of clearing OpRcvd=F and setting opOk=T is not specified in the standard
Add reference to 61850-7-3 Data Attribute semantics "opRcvd" which defines opRcvd and opOk and tOpOk
Attach updated solution proposal for sCtl28 DOns (SBOns and DOes and SBOes have not been updated)
Updated by Gerard Akse over 3 years ago
To what extend is the order of the reports important in step 1), 3), 5) and 7)? (in Thierry's proposal):
• Operate is accepted, DUT sends reports/GOOSE with OpRcvd=T and then OpRcvd=F and opOk=T with updated tOpOK
• DUT send report/GOOSE with opOk=F
It is evidently that the report with opOk=T will come after OpRcvd=T. But how about the order of opOK=F and opRcvd=F?
Updated by Gerard Akse over 3 years ago
A proposal for an expected result would be:
• Operate is accepted, DUT sends reports/GOOSE with OpRcvd=T , opRcvd=F, opOk=T and opOk=F with updated tOpOK.
The report with opOk=T is sent after opRcvd=T.
Updated by Gunnar Hilpert over 3 years ago
“I agree with Thierry’s proposal in #6 that the result should be the same in the different cases (1, 3, 5 and 7)
If all tests are OK the states “PerformTest” and WaitForExecution” are passed direct and the sequence will wait in the state “WaitForChange”.
This means that events
opRcvd = True
opRcvd = False
opOk = True
will come at the same time.
This can be a problem for opRcvd since it will only be a short pulse
E.g. in the case when these signals are transferred over GOOSE, one lost message will result in that the receiver is not aware of the pulse. Also if the GOOSE inputs are use in a cyclic application it is a big risk that the pulse is lost.
So we should allow for a pulse extension of the opRcvd, without delaying the command execution, this can lead to the following or sequences:
opRcvd = True
opOk = True
opRcvd = False
opOk = False
or
opRcvd = True
opOk = True
opOk = False
opRcvd = False
So I also agree with Gerard’s proposal in #8 #9 that the order of opRcvd=False and opOk is not important
One other aspect is that the opRcvd = False has no important time aspect.”
Updated by Richard Schimmel over 3 years ago
- File Solution to redmine_668_sCtl28_20210521.docx Solution to redmine_668_sCtl28_20210521.docx added
Processed the comments in a new attachment (copied the Bruce version)
- merged expected result 1+3 with 5+7
- be less strict on the order
The expected result is now:
1), 3), 5) and 7)
• Operate is accepted, DUT sends reports/GOOSE with OpRcvd=T, OpRcvd=F, opOk=T and opOk=F
Updated by Joel Greene over 3 years ago
Richard Schimmel wrote in #note-11:
Processed the comments in a new attachment (copied the Bruce version)
- merged expected result 1+3 with 5+7
- be less strict on the orderThe expected result is now:
1), 3), 5) and 7)
• Operate is accepted, DUT sends reports/GOOSE with OpRcvd=T, OpRcvd=F, opOk=T and opOk=F
I agree with the proposed solution.
Updated by Thierry Dufaure over 3 years ago
Richard Schimmel wrote in #note-11:
Processed the comments in a new attachment (copied the Bruce version)
- merged expected result 1+3 with 5+7
- be less strict on the order
The expected result is now:
1), 3), 5) and 7)
• Operate is accepted, DUT sends reports/GOOSE with OpRcvd=T, OpRcvd=F, opOk=T and opOk=F
I agree with the proposed solution.
Updated by Bruce Muschlitz over 3 years ago
Proposed solution needs update:
1. Abstract test sCtl28 does not match proposed test. Need to propose new text for abstract text.
2. Conditon for sCtl28 seems wrong. It should be required if any fc=OR exist in the data model
3. 61850-7-3 is unclear if opRcvd needs to activate when control.test is opposite of the expected value. Maybe want to delete all even-numbered steps in all 4 sCtl28 tests
Updated by Richard Schimmel over 3 years ago
TPWG: we agree with Bruce that standard (tissue 1696) is not clear on control.test handling, better remove now and may add later when clarified
Richard will fix the attachment
Updated by Richard Schimmel over 3 years ago
- File Solution to redmine_668_sCtl28_20210601.docx Solution to redmine_668_sCtl28_20210601.docx added
- Status changed from In Progress to Resolved
- Final Decision set to See attachment 20210601
Added the attachment
Updated by Bruce Muschlitz over 3 years ago
- Updated Test Document set to UCATestProceduresServer61850-8-1Ed2_Rev2p0p5.pdf
This redmine entry now only for Ed2.0 and NOT for Ed2.1. New Redmine will be opened for Ed2.1.
Updated by Herbert Falk over 3 years ago
- Related to Issues #678: MirrorBlockCommand state not used for LNs without direct process interface (sCtl28) added
Updated by Bruce Muschlitz over 3 years ago
- Status changed from Resolved to Closed
- 61850 Edition deleted (
Edition 2 Amd 1)
Updated by Bruce Muschlitz over 3 years ago
- Closed Reason Test Procedure Update added
- Closed Reason deleted (
--Not Set---)
Updated by Richard Schimmel over 3 years ago
- Related to Issues #674: sCtl5 to be more precise related to "blocked" and "test/blocked" added