IEC 61850 provides a very “elaborated” (it would also be justified to say complicated) model of functions to execute commands at devices. These functions are called “control models” in IEC 61580 speech. The abstract control models are defined in IEC 61850-7-2 and the mapping to the MMS (Manufacturing Message Specification) application protocol is defined in IEC 61850-8-1. Whilst the first provides control functions of different complexity in an abstract manner the latter is mapping the IEC 61850 control primitives to MMS.
IEC 61850 provides four different control models:
– direct control with normal security
– SBO (select before operate) with normal security
– direct control with enhanced security
– SBO with enhanced security
The “direct control” models provide simple means to start actions at the server. If multiple clients are trying to perform conflicting control actions this will not be prevented by the server. If this is required the “select before operate” mode can be used. Using this mode a client has to “select” the control object. After selection the selecting client is the only one allowed to perform control actions.
“Security” in this context actually means safety. The “enhanced security” models just provide more feedback to the calling client than the models with “normal security”. E.g. they transmit additional error codes and state information.
All of those control models optionally provide “time activated control”. With this mechanism a control action will not be executed immediately but in the future at a time specified by the client.
From a technical point of view the MMS mapping of the IEC 61850 control services is implemented by reading and writing to MMS pseudo-variables. While client requests are mapped to MMS read or write service requests the server responses may be mapped to read and write responses and additionally to MMS information report messages. The MMS information reports are used to transmit error codes in case of a service error. So in case of a negative response there is the response PDU of the read or write services indicating that there was a problem and additionally an MMS information report that contains more detailed information about the problem that occured.
As of version 0.5 libIEC61850 has support for all control models. A tutorial about the usage of the different control models in libiec61850 can be found here.