The functional constraint (FC) classifies each data attribute according to its use and determines which services can be applied to it. ST is status, MX is measurand, CO is control, SP is setpoint, SV is substitution, CF is configuration, DC is description, SG and SE are setting groups, and EX is the reference to a namespace. Seen as an attribute filter, it explains why a status value can be read but not written.
What the standard says and what it is for
In IEC 61850 each attribute of a data object has, in addition to a name and a type, a functional constraint (FC). Part 7-2 (edition 1, 2003) defines it as a property that characterizes the use of the attribute, and compares it to a filter: it determines which services can operate on it. It is what allows the same data object, such as the position of a circuit breaker, to have attributes that are read, attributes that are commanded and attributes that are configured, without confusion. How a value is replaced by a manual one (subEna, subVal) and what the quality flags is covered in Data Substitution in IEC 61850.
It is worth understanding well, because it appears everywhere: in the common data classes (part 7-3), in control blocks, in data sets and, in the MMS mapping, inside the variable name itself. The general model is in the LD, LN, DO and DA information model and the catalog of services in ACSI services.
The main constraints
Table 18 of part 7-2 defines the meaning of each one. The six most used, paraphrased:
| FC | Name | What it represents and what is allowed | Storage |
|---|---|---|---|
| ST | Status information | A process status: it can be read, substituted, reported and logged, but not written | Initial value taken from the process |
| MX | Measurand (analogue value) | A measurement: it can be read, substituted, reported and logged, but not written | Initial value taken from the process |
| CO | Control | Control information: it is operated with the control model and can be read | Not applicable |
| SP | Setpoint | A value controlled with the control model and which can be read; changed values take effect immediately | Configured; non-volatile |
| CF | Configuration | Can be read and written; the written value may take effect immediately or later, for reasons outside the scope of the standard | Configured; non-volatile |
| DC | Description | A descriptive text that can be read and written | Configured; non-volatile |
Other constraints complete the picture:
| FC | What it is for |
|---|---|
| SV | Substitution: a value that can be written to replace the real value and that can also be read |
| SG | Setting group: the logical device keeps several grouped values; the active one is the one in force and is not written directly |
| SE | Editable setting group: attributes that are edited with the setting group services |
| EX | Extended definition: reference to a namespace; it cannot be written |
| BR, RP, LG | Control attributes of the buffered report, unbuffered report and log blocks |
| GO, GS | Control attributes of GOOSE and GSSE |
| MS, US | Control attributes of multicast and unicast sampled values |
| XX | Wildcard: used only as a service parameter to refer to all the attributes of a data object; never as the FC of an attribute |
Example: the position of a circuit breaker
The data object Pos of the XCBR node is based on the “controllable double point” (DPC) class of part 7-3. These are its attributes, grouped by functional constraint:
| FC | Attributes | What they are |
|---|---|---|
| CO | ctlVal, operTm | The value that is commanded (on or off) and the operate time |
| CO and ST | origin, ctlNum | Who issued the last command and its sequence number (in both constraints) |
| ST | stVal, q, t, stSeld | Status (intermediate, open, closed or bad state), quality, time stamp and an indication that the object is selected |
| SV | subEna, subVal, subQ, subID | Value substitution |
| CF | pulseConfig, ctlModel, sboTimeout, sboClass | Control configuration: pulse duration, control model and selection times |
| DC | d, dU | Description |
| EX | cdcNs, cdcName, dataNs | References to namespaces |
Two practical lessons from the example. First, status and control are different attributes: control is operated on ctlVal (CO) and the result is read in stVal (ST). Second, the control model is not written like any other value but is set in the configuration attribute ctlModel (CF), which is not changed with a command.
Which services each constraint allows
In part 7-3, the table for controllable status classes details how the services of part 7-2 are specialized:
| Service | Applies to attributes with FC |
|---|---|
| SetDataValues | DC, CF and SV |
| GetDataValues and GetDataSetValues | All except CO |
| SetDataSetValues | DC, CF and SV |
| GetDataDefinition | All |
| Report | Those defined by the data set of the report |
| Select, SelectWithValue, Cancel, Operate, CommandTermination, TimeActivatedOperate | CO |
The reading is direct: controls are neither read nor written as data, they are operated with the control model; statuses and measurands are not written, only read or reported; and what can be written is configuration, description and substitution. The standard adds that the ability to write an attribute can also be limited by an access view or by the implementation of the device.
Other examples by data class
- Measured value (MV): the measured value (mag) is MX; the units, the deadband and the scale configuration are CF; the description is DC.
- Single point status (SPS): value, quality and time stamp are ST.
- Analogue setting (ASG): the setting value (setMag) has constraint SP if the device does not use setting groups, and SG and SE if it does; the minimum and maximum limits and the step are CF.
The FC inside references
Two concepts follow from this. The FCD is the ordered set of attributes of a data object that share the same FC, for example all the measurand (MX) attributes of an analogue data object. The FCDA is the reference to a single attribute with its FC. Both are used to define which members a data set has, and therefore what a report or a GOOSE message includes.
How it is applied in general
In practice, understanding FCs helps to:
- Define the data sets for reports and GOOSE with the right attributes: normally status (ST) or measurand (MX), with quality and time stamp.
- Interpret write errors. A rejection when writing may be because an ST, MX or CO attribute was written as if it were configuration.
- Tell a setting from a configuration. A setpoint (SP) or a setting group (SG, SE) is an operational parameter; configuration (CF) characterizes the data object.
- Review the SCADA signal list, which must indicate for each point whether it is status, measurand, control or setting.
We can help with your signals and data sets
If you need to review which attributes each report or GOOSE includes, or why a control or a setting is rejected, at Tiza Group we do it with our remote relay configuration service, worldwide. For the design of the signal list and the integration, see our IEC 61850 engineering. How IEC 61850 models a measurement (value, deadband, range, vector and three phases) is explained in IEC 61850 Measurements.
Related guides
- IEC 61850 information model: LD, LN, DO and DA
- IEC 61850 ACSI services: what an IED offers
- Select before operate (SBO)
- Control rejected from the SCADA
- MMS in IEC 61850: reports, control and files
- IEC 61850 Measurements: MV, CMV, WYE and DEL
- Data Substitution in IEC 61850: Value and Quality
References
- IEC 61850-7-2, edition 1 (2003): clause 10.2.2.4.2 and table 18 (functional constraints); 10.2.2.4.4 and 10.2.2.4.5 (FCD and FCDA); clause 19 (references).
- IEC 61850-7-3, edition 1 (2003): common data classes (SPS, MV, DPC, ASG) and the service table of the controllable classes.
- IEC 61850-8-1, edition 1 (2004): clause 7.3 (the functional constraint in MMS names).
Frequently asked questions
Why can't I write to the status value of a circuit breaker?
Because its attribute has functional constraint ST: according to the standard, a status attribute can be read, substituted, reported and logged, but not written. The value is produced by the process. To change the position, control is used, whose attribute has constraint CO.
What is the difference between CF, DC and SP?
CF holds configuration: it can be read and written, and can take effect immediately or later. DC is the description, a text that is also read and written. SP is a setpoint handled with the control model and whose values take effect immediately. CF and SP are kept in non-volatile memory.
What is an FCD or an FCDA?
An FCD is the ordered collection of attributes of a data object that share the same functional constraint; an FCDA is the reference to a single attribute with its constraint. They are used to define the members of data sets, for example which measurands or statuses a report sends.