Details of the IEC 61850 client

"Quality" and "Time" related Information

The attributes "Quality" (q) and "Time" (t) are available for the following Common Data Classes (CDCs). Please note that the information "Quality" and "Time" is not available for all attributes, e.g. the attribute "instMag" of the class "MV" only provides the information "Quality" and not "Time".

CDC Data attribute q applies to Data attribute t applies to
SPS stVal
DPS stVal
INS stVal
ENS stVal
ACT general, phsA, phsB, phsC, neut
ACD general, dirGeneral, phsA, dirPhsA, phsB, dirPhsB, phsC,dirPhsC, neut, dirNeut
BCR actVal, frVal actVal
HST hstVal
VSS stVal
MV instMag, mag, range mag, range
CMV instCVal, cVal, range cVal, range
SAV instMag
HMV Har
HWYE phsAHar, phsBHar, phsCHar, neutHar, netHar, resHar
HDEL phsABHar, phsBCHar, phsCAHar
SPC stVal
DPC stVal
INC stVal
ENC stVal
BSC valWTr
ISC valWTr
APC mxVal
BAC mxVal
SEC - cnt

Quality type definition for bits (0-12)

Table 1. Quality type definition
Attribute name Attribute type Value/Value range M/O/C
PACKED LIST
validity CODED ENUM good | invalid | reserved | questionable M
detailQual PACKED LIST M
overflow BOOLEAN DEFAULT FALSE M
outOfRange BOOLEAN DEFAULT FALSE M
badReference BOOLEAN DEFAULT FALSE M
oscillatory BOOLEAN DEFAULT FALSE M
failure BOOLEAN DEFAULT FALSE M
oldData BOOLEAN DEFAULT FALSE M
inconsistent BOOLEAN DEFAULT FALSE M
inaccurate BOOLEAN DEFAULT FALSE M
source CODED ENUM

process | substituted

DEFAULT process

M
test BOOLEAN DEFAULT FALSE M
operatorBlocked BOOLEAN DEFAULT FALSE M

IEC 61850 Client Errors

These codes are protocol-specific and defined by the IEC standard.

The values of the column "Short description" are written to the log as part of the respective log message.

The error codes are generated by the IEC 61850 client's protocol stack as a response to any ACSI service requests. They may originate in a request to the stack or in a callback. If the error code is received in a callback, it is a response from the server.

WinCC OA IEC 61850 Error Codes

RCB States

RCB Response Codes

File Transfer Response Code

The values of the column "Short description" are written to the log as part of the respective log message.

The numerical values are written to the internal DPE _IEC61850_IED.State.FileTransferResponseCode.

They are written by the IEC 61850 client's communication stack as a response to any file service request. They may originate in a request to the communication stack or, as a response from the server, in the callback to such request.

The entries marked "Currently unused" are for the future implementation of an RPC or any other extended interface. These values are currently not set.

Debug Flags

-report ALL

Provides information on configuration and status for

  • all created devices
  • every enabled RCB

Inactive RCBs are displayed as "disabled…"

"Enabled" refers to the Engineering Tool's configuration settings and not to the activation state of the RCB on the device.

WCCOAiec618501:<<<<<<<<<< IEC 61850 (num  <driver number>) Information >>>>>>>>>>
WCCOAiec618501:---------------------------------------------------
WCCOAiec618501:Report for device <OA device name> (IP:<IP>:<port>)
WCCOAiec618501:Connection state  : <state>
WCCOAiec618501:Browse state      : <state>
WCCOAiec618501:   Configuration
WCCOAiec618501:   * Device active             :  <0/1>
WCCOAiec618501:   * Connect passive           :  <0/1>
WCCOAiec618501:   * Read complete buffer      :  <0/1>
WCCOAiec618501:   * Authentication            :  <0/1>
WCCOAiec618501:   * Enable RCB configuration  : <0/1>
WCCOAiec618501:Number of Report Control Blocks: <number of configured RCBs>
WCCOAiec618501:-- RCB <RCB name>
WCCOAiec618501:   State          :  <Driver internal state>
WCCOAiec618501:   State at device: <Actual state at device>
WCCOAiec618501:   Response code  : <Response code>
WCCOAiec618501:   Configuration
WCCOAiec618501:   * ReportID      : <Report ID>
WCCOAiec618501:   * Buffered      : <0/1>
WCCOAiec618501:   * Indexed       : <0/1>
WCCOAiec618501:   * Max enable    : <Maximum number of instances>
WCCOAiec618501:   * Reserve       : <0/1>
WCCOAiec618501:   * Enable        : <0/1>
WCCOAiec618501:   Trigger options
WCCOAiec618501:   + <Trigger option>: <0/1>
WCCOAiec618501:   + Integrity period: <Integrity period>
WCCOAiec618501:   + Buffer time     : <Buffer time>
WCCOAiec618501:   Optional fields
WCCOAiec618501:   ~ <Optional field>    : <0/1>
WCCOAiec618501:   Dataset name : <Dataset name>
WCCOAiec618501:   Is dynamic   : <Yes|No>
WCCOAiec618501:   Is persistent: <Yes|No> (only shown for dynamic datasets)
WCCOAiec618501:   --------------
WCCOAiec618501:-- RCB <RCB name>
WCCOAiec618501:   Disabled...
WCCOAiec618501:   --------------
WCCOAiec618501:------------------ End IEC device -----------------
WCCOAiec618501:<<<<<<<<<<<<<<<<<< End IEC 61850 >>>>>>>>>>>>>>>>>>

-report ALL -dbg DATASET

If -report ALL is used with option -dbg DATASET, only detailed information on datasets is provided. In addition to the information provided by -report ALL, a list of dataset elements is given for every enabled RCB.

WCCOAiec618501:<<<<<<<<<< IEC 61850 (num <driver number>) Information >>>>>>>>>>
WCCOAiec618501:-- Dataset information; printed only for enabled RCBs
WCCOAiec618501:---------------------------------------------------
WCCOAiec618501:Dataset report for device <OA device name> " (IP:<IP>:<port>)IP:192.168.154.76:102) "
WCCOAiec618501:-- RCB <RCB name>
WCCOAiec618501:   Dataset name : <dataset name>
WCCOAiec618501:   Is dynamic   : <Yes|No>
WCCOAiec618501:   Is persistent: <Yes|No> (only shown for dynamic datasets)
WCCOAiec618501:   Members: <List of dataset members>
WCCOAiec618501:   --------------
WCCOAiec618501:------------------ End IEC device -----------------
WCCOAiec618501:<<<<<<<<<<<<<<<<<< End IEC 61850 >>>>>>>>>>>>>>>>>>

-dbg DEBUG_DRV_CONF

Provides information on

  • creating devices and RCBs
  • initializing routines of devices and RCBs
  • requests for configuration and control of RCBs on the device

The following debug output also shows the startup routine of the driver:

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:32:03.665, DEBUG_DRV_CONF, "New server <OA device name> added"

=> Device <OA device name> created

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:32:03.668, DEBUG_DRV_CONF, "Server connection <OA device name>  initializing..."

=> Initializing of device <OA device name> is started

WCCOAiec618502:WCCOAiec61850(2), 20152017.05.27 15:32:03.671, DEBUG_DRV_CONF, "New RCB: <RCB name> added for server <OA device name>"

=> RCB < RCB name > created

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:32:03.681, DEBUG_DRV_CONF, "Server connection <OA device name>  initialized"

=> Initializing device <OA device name> is completed

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:32:03.685, DEBUG_DRV_CONF, " Check remote device <OA device name> , send request to <RCB name>"

=> Query properties of device <OA device name> because of <RCB name> attribute

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:32:03.695, DEBUG_DRV_CONF, " Updating ResvTms data type for server <OA device name>"

=> Update properties of device <OA device name>

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:32:03.697, DEBUG_DRV_CONF, "<OA device name> anvil_8102, Data type for resvTms could not be read from device, using default."

=> <OA device name> does not support resvTms or a buffered RCB is configured

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:32:03.700, DEBUG_DRV_CONF, "<OA device name> Request: Get attribute settings for RCB: <RCB name>"

=> Query configuration of RCB <RCB name>

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:32:03.720, DEBUG_DRV_CONF, " ----- Extract attribute settings of RCB: <RCB name> from server <OA device name> -----"

=> Start evaluating the configuration of <RCB name> from server <OA device name>.

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:32:03.722, DEBUG_DRV_CONF, " Received attribute settings <RCB Konfiguration>"

=> Output of configuration settings

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:32:03.740, DEBUG_DRV_CONF, " <OA device name>, Request:  Write <attribute name> [attribute value] for RCB <RCB name>"

=> Write the value [attribute value] of attribute <attribute name> for <RCB name> of device <OA device name>. [attribute value] is not available for all attributes of an RCB.

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:32:05.700, DEBUG_DRV_CONF, " <OA device name>: remove RCB <RCB name>"

=> Removed RCB <RCB name> (via RCB Management Panel)

-dbg DEBUG_DRV_SENT

Shows messages sent to the server.

// Startup

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:38:56.426, DEBUG_DRV_SENT, "Identify request send to server <OA device name>"

=> Sent on startup and as alive telegram

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:39:02.531, DEBUG_DRV_SENT, "Write <Boolean|String|Octet String|Integer|UInteger> value for <OA device name>/<LN>$<FC>$<RCB name>$<BufTm|DatSet|IntglPd|RptID|EntryID>"

=> Write an attribute of <RCB name> when enabling the RCB

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:39:02.541, DEBUG_DRV_SENT, "Write Trigger Options for <OA device name>/<LN>$<FC>$< RCB name >$TrgOps"

=> Write trigger settings of <RCB name> when enabling the RCB

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:39:02.545, DEBUG_DRV_SENT, "Write Optional Fields for <OA device name>/<LN>$<FC>$< RCB name >$ OptFlds"

=> Write optional field settings of <RCB name> when enabling the RCB

// Device Browsing

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:40:56.433, DEBUG_DRV_SENT, "Logical device list request sent to server <OA device name>"

=> Request a list of all LDs of <OA device name> =[Request 1]

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:40:66.429, DEBUG_DRV_SENT, "Send MMS tag list request for Logical device <LD> to server <OA device name>"

=> Request a list of all DOs (tag list) from logical device <LD> of <OA device name> =[Request 2]

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:40:76.452, DEBUG_DRV_SENT, "Send dataset list request for Logical Device <LD> to server <OA device name>"

=> Request list of all datasets configured for <LD> of <OA device name> =[Request 3]

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:40:56.595, DEBUG_DRV_SENT, "Send Dataset attribute request for <data set> to server <OA device name>"

=> Request dataset attributes of dataset <data set> of <OA device name> =[Request 4]

// General write requests

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:41:13.035, DEBUG_DRV_SENT, "Write mms tag value for <OA device name>/<LN>$FC$<DO>$<DA>

=> Sent value to the data attribute

// Commands

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:41:13.035, DEBUG_DRV_SENT, "Write Control Struct <OA device name>/<LN>$CO$<DO>$Oper"

=> Send switching command (Control Structure) for controllable object <DO> of <OA device name>/<LN>

-dbg DEBUG_DRV_RCVD

Provides either the type of received message or the source address on the device for received telegrams.

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:25:51.996, DEBUG_DRV_RCVD, " Identify response from server <OA device name>"

=> Response to alive telegram of <OA device name>.

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:25:51.998, DEBUG_DRV_RCVD, "Value received from <OA device name>.<LD>/<LN>$<FC>$<DO>$<DA>, write to OA"

=> Response to poll request, received value for <OA device name>.<LD>/<LN>$<FC>$<DO>$<DA> and sent to the driver framework

// Device Browsing

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:25:51.354, DEBUG_DRV_RCVD, "Received Logical device list (class 9) from server <OA device name>"

=> Received list of LDs from <OA device name>, response to Request 1

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:25:51.355, DEBUG_DRV_RCVD, "LD name <LD>"

=> Logical Device <LD>, response to Request 1

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:25:51.688, DEBUG_DRV_RCVD, " Received MMS tag list for Logical  device <LD> (class 0) from server <OA device name>"

=> Received tag list of logical device <LD> from server <OA device name>, response to Request 2.

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:25:51.690, DEBUG_DRV_RCVD, " Tag name <<LN>>"

=> Logical node <LN>, response to Request 2

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:25:51.691, DEBUG_DRV_RCVD, " Tag name <<LN>$<FC>>"

=> Functional Constraint <FC> of logical node <LN>, response to Request 2

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:25:51.691, DEBUG_DRV_RCVD, " Tag name <<LN>$<FC>$<DO>>"

=> Data object <DO> of logical node <LN>, response to Request 2

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:25:51.692, DEBUG_DRV_RCVD, " Tag name <<LN>$<FC>$<DO>$<DA>>"

=> Data attribute <DO>$<DA> of logical node <LN>, response to Request 2

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:25:51.705, DEBUG_DRV_RCVD, "Received dataset list for Logical device IED1LogicalDevice1 (class 2) from server <OA device name>"

=> Received list of datasets of logical device <LD> from server <OA device name>, response to Request 3

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:25:51.711, DEBUG_DRV_RCVD, "Dataset name <DatSet>"

=> Dataset <DatSet>, response to Request 3

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:25:51.715, DEBUG_DRV_RCVD, "Read attribute response for dataset <DatSet> from server <OA device name> is success"

=> Reading dataset attributes of dataset <DatSet> from server <OA device name> was successful, response to Request 4

-dbg DEBUG_DRV_COMMAND

Provides information about service requests that use the control model.

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:45:16.733, DEBUG_DRV_COMMAND, "Writing Controllable Object <LD>/<LN>$<FC>$<DO>$<DA> to the Server: <OA device name> with following values:
WCCOAiec618502:Control value: <value to be written>
WCCOAiec618502:Ctlnum value: <control number> WCCOAiec618502:Test: <0/1>
WCCOAiec618502:Check: <no-check|synchrocheck|interlocking|both>
WCCOAiec618502:Originator: <host name>_<project name>_<driver number>
WCCOAiec618502:Category: <originator category>"
WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:45:16.756, DEBUG_DRV_COMMAND, "Write Response for Controllable Object <LD>/<LN>$<FC>$<DO>$<DA> from Server: <OA device name> is Success"

-dbg DEBUG_DRV_REPORT

Shows which values of an RCB are sent to WinCC OA. There is only output for configured addresses.

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:50:47.528, DEBUG_DRV_REPORT, "Write data received through report to: <OA device name>.<LD>/<LN>$<FC>$<DO>$<DA>"

-dbg DRV_REPORT_CONFIG

Enables tracking of the requirements for an RCB on the device (e.g. changes to the configuration and activation)

// Activation and configuration

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:59:43.403, DRV_REPORT_CONFIG, "<OA device name>, Start all RCBs at remote state: <remote state>"

=> Starting enabling routines for all RCBs of <OA device name>. On startup, the device state is <remote state>. Possible states:

  • REMOTE_UNKNOWN, // startup or retry if not checked
  • REMOTE_UNREACHABLE, // tried but failed
  • REMOTE_PENDING, // request sent
  • REMOTE_CHECKED, // done
  • REMOTE_CHECK_INCOMPLETE // Either rsvTmsDataType or iec edition could not be detected
WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:59:43.608, DRV_REPORT_CONFIG, "<OA device name> , State change for <RCB name> reserve is <0|1>| enable is <0|1>"

=> The driver received the request (DP interface or internal logic) to change the state of RCB <RCB name>. Which reserve or activation state is necessary depends on the values of „reserve is" and „enable is"

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:59:45.379, DRV_REPORT_CONFIG, "<OA device name> , Request: configure dataset <dataset name> for RCB <report ID>"

=> On enabling RCB <report ID> it is requested to configure the RCB with dataset <dataset name>

//Request: " Process RCB response" confirms that a request to the RCB is processed by the device. There is no indication whether the request was successful.

The "index" field shows the instance number for instanced RCBs. Otherwise the field is empty. The "is manual" field shows whether the request was triggered by data point interface (1) or driver logic (0).

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:59:43.363, DRV_REPORT_CONFIG, "Process RCB response: device: <OA device name>| report: <report ID>|index: | request: Reserve RCB| attribute: Resv| value: <0/1>1| is manual: 1"

=> Request to reserve (1) the RCB <report ID> or cancel the reservation (0)

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:59:43.376, DRV_REPORT_CONFIG, "Process RCB response: device: <OA device name>| report: <report ID>| index: | request: Read RCB Attributes| attribute: <RCB name>| value: 1| is manual: 1"

=> Request to read the attributes of RCB <report ID>

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:59:43.411, DRV_REPORT_CONFIG, "Process RCB response: device: <OA device name>| report: <report ID>| index: | request: Write RCB Attribute| attribute: <BufTm|DatSet|IntglPd|OptFlds|RptID|TrgOps>|  value:1 is manual: 1"

=> Request to write an attribute of RCB <report ID>

// Acknowledgements

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:59:43.412, DRV_REPORT_CONFIG, "OK: <BufTm|DatSet|IntglPd|OptFlds|RptID|TrgOps>"

=> Writing the attribute was successful

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 15:59:43.379, DRV_REPORT_CONFIG, "Attribute read OK: <RCB name>"

=> Reading an attribute of <RCB name> was successful

-dbg DRV_REPORT_RCV

Provides information about received reports. All elements are displayed, regardless of whether an address is configured.

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 16:04:25.656, DRV_REPORT_RCV, "---------------- New report <report ID> received"
WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 16:04:25.659, DRV_REPORT_RCV, "Type: Unbuffered"
WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 16:04:25.659, DRV_REPORT_RCV, "Sequence Num: <number>"
WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 16:04:25.660, DRV_REPORT_RCV, "Reason: <DATA_CHANGE|DATA_FREEZE|GEN_INTER|INTEGRITY|QUALITY_CHANGE>"
WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 16:04:25.669, DRV_REPORT_RCV, "Element at index <0..n>: <logical device name>/<LN>$<FC>$<DO> WCCOAiec618502:"
WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 16:04:25.671, DRV_REPORT_RCV, "     Attribute at index <0..n>: <LN>$<FC>$<DO>$<DA>"
WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 16:04:25.697, DRV_REPORT_RCV, "---------------- Report <report ID> done

-dbg DRV_REPORT_PROCESS

Provides information about received reports. All elements are displayed, regardless of whether an address is configured.

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 16:06:32.003, DRV_REPORT_PROCESS, "---------------- Start processsing report <report ID>"
WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 16:06:32.004, DRV_REPORT_PROCESS, "Element <LD>/<LN>$<FC>$<DO>"
WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 16:06:32.005, DRV_REPORT_PROCESS, "       Attribute <LN>$<FC>$<DA>$<DO>"
WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 16:06:32.022, DRV_REPORT_PROCESS, "----------------  report <report ID> done

-dbg DRV_DATASET_CONFIG

Provides information on static and dynamic datasets.

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 16:09:38.077, DRV_DATASET_CONFIG, "<OA device name>: add new dataset <dataset name>"

=> Added dataset <dataset name>" to the driver

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 16:09:38.406, DRV_DATASET_CONFIG, "<OA device name>: add dataset attributes for <dataset name>"

=>Added attributes to data set elements of the data set <dataset name>" (this is only valid for datasets of type FC, i.e. datasets whose elements are data objects)

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 16:09:45.795, DRV_DATASET_CONFIG, "<OA device name>, Request: Write dynamic dataset <dataset name> triggered  by RCB <RCB name>"

=> Request to write the dataset <dataset name> (which is assigned to RCB <RCB name>) on the device

WCCOAiec618502:WCCOAiec61850(2), 2017.05.27 16:09:45.801, DRV_DATASET_CONFIG, "<OA device name> , Dataset <name> busy, RCB <report ID>"

=> Dataset <dataset name> assigned to an RCB <RCB name> cannot be written. This message is displayed if several RCBs use the same dynamic data set. The data set is written when the first RCB is activated. During this process, the message is shown when the other RCBs are activated. The RCBs are enabled as soon as the dataset is written to the device.

-dbg DRV_FILE_TRANS

Provides information for tracing file transfer operations.