In ICCP a transfer set decides when the server sends a data set to the client. The trigger conditions are interval expiry, the integrity check, an object change, an operator request and another external event. With the RBE flag active only the signals that changed are reported, and the cyclic integrity check verifies that no event was lost.
Short answer
In ICCP (TASE.2), data is grouped into data sets and a transfer set defines when and how they are sent. There are two basic forms: periodic, with all the values at regular intervals, and by exception, with only what changed. The second sends less data, and for that reason it comes with an integrity check to detect losses. This guide expands on the ICCP link between control centers. The protection of real-time data between control centers that CIP-012 requires is covered in NERC CIP-012: Communications Between Control Centers.
Transfer models
Transfer sets exist for four data models:
| Model | Conformance block |
|---|---|
| Data set transfer | 1 and 2 |
| Time series transfer | 9 |
| Transfer of an account set | 8 |
| Information message transfer | 4 |
A transfer set supports three operations: start the transfer, stop it and get the next transfer set. The blocks are explained in conformance blocks 1 to 5.
Monitoring condition and report
A transfer set has two actions. The monitoring condition lets the server watch each of the conditions set in its parameters. When any of them is met, the server generates a transfer report and sends it to the client.
Trigger conditions
The active conditions are declared in the data set conditions attribute (DSConditions). There are five:
- IntervalTimeOut. The server sends the report when the interval expires. With RBE off, the report carries all the points of the data set. With RBE on, a report is sent at regular intervals, but only with the signals that changed; if All Changes Reported is also active, it carries all the changes of each signal and, if not, only the last state.
- IntegrityTimeOut. It enables the cyclic check. It is used with sending by events and lets you verify that no event was lost.
- ObjectChange. It sends a report when the state of a point in the data set changes.
- OperatorRequest. It sends a report with all the elements of the data set at the request of the control center operator.
- OtherExternalEvent. For any other event, mainly in blocks 8 and 9.
- Does the center need to see every change as soon as it happens?
- Yes: ObjectChange with RBE and IntegrityTimeOut to verify that no events are lost
- No: IntervalTimeOut: the report is sent at regular intervals
Transfer set parameters
Each transfer set carries these attributes:
- Transfer set name. It is generated in the server configuration. Unlike data sets, they cannot be created from the client.
- Name of the data set it is linked to.
- Association identifier. The application-level association, that is, the AE-qualifier and the AP-title. See communication channel and association.
- State. Enabled (ENABLE) or disabled (DISABLE).
- Requested event code. Which external events, from blocks 8 and 9, can be sent with a report.
- Data set transmission parameters (DSTransmissionPars), which set the trigger conditions.
Transmission parameters
| Parameter | What it sets |
|---|---|
| Start Time | Time between report activation and the start of monitoring. With zero, it starts immediately |
| Interval | Time of the cyclic send |
| TLE | Time limit of execution: the maximum wait to send a report relative to its time tag |
| Buffer Time | Wait between the change and the sending of the report; applies only to ObjectChange |
| Integrity Check | Time to send a report with all the data and verify integrity; used with ObjectChange |
| DSConditions Requested | The flags of the active conditions |
| Block Data | Compresses the information into a single block; used in block 3 |
| Critical | Forces the client to confirm the reports received, using the time tag |
| RBE | With event reports, sends only the data that changed; otherwise, all the elements |
| All Changes Reported | Sends all the changes of a signal if it changed several times; otherwise, only the last one |
Configuration cautions
- An enabled transfer set with no active conditions sends no data. It is a typical cause of an association that works while no data arrives, as noted in ICCP / TASE.2.
- Buffer Time is the wait between the change and the report, and it applies only to ObjectChange.
- With RBE use the integrity check, which is what verifies that no events were lost.
- Critical requires the client to confirm the reports using the time tag.
How we can help
Choosing the conditions of each transfer set well decides whether the other center sees a state change in time without saturating the link. At Tiza Group we configure and test ICCP data sets and transfer sets, and we test each one before commissioning. See our SCADA and gateway integration or write to us to quote it.
Related guides
- ICCP / TASE.2 (IEC 60870-6): link between control centers
- ICCP: communication channel and association between centers
- ICCP: conformance blocks 1 to 5
- IEC 62351-4: MMS and TASE.2
- NERC CIP-012: Communications Between Control Centers
References
- IEC 60870-6-503, TASE.2 Services and protocol: data sets, transfer sets and transmission conditions.
- IEC 60870-6-702, TASE.2 Functional profile.
- IEC 60870-6-802, TASE.2 Object models.
Frequently asked questions
What is a transfer set in ICCP?
It is the server object that links a data set with the conditions under which it is sent. It defines when it is reported (by interval, by change, on request) and with which parameters. It is not created from the client: it is generated in the server configuration.
What does RBE mean?
Report by exception. With RBE active, an event report carries only the data set elements that changed. Without RBE, it carries all the elements.
What is the integrity check for?
When data is sent by events, it lets you verify cyclically that no event was lost: the server periodically sends a report with all the data.