IEC850

IEC850

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. For any questions regarding the documentation please contact: documentation@copadata.com

Communication between the driver and the PLC is based on the IEC 61850 protocol with client/server services via TCP/IP (A1/T1 profile). The driver acts as a client (master) when communicating.

attention Attention

Configurations that have been edited with a driver from version 3400 cannot be opened with older drivers anymore.


IEC850 - Data sheet

IEC850 -> IEC850 - Data sheet

General: |
Driver file name | IEC850.exe
Driver description | IEC61850
PLC types | IEC 61850 compatible PLCs
PLC manufacturer | ABB; Siemens; IEC; SAT; Sprecher Automation; Kalki; GE Multilin;

Driver supports: |
Protocol | IEC 61850;
Addressing: address based | -
Addressing: name based | x
Spontaneous communication | x
Polling communication | x
Online browsing | x
Offline browsing | x
Real-time capable | x
Blockwrite | -
Modem capable | -
Serial logging | -
RDA numerical | -
RDA String | -

Prerequisites: |
Hardware PC | standard Network Adapter
Software PC | XML-Lite is required, it is included in Microsoft Internet Explorer 7.0; xmllite.dll, can also be downloaded from Microsoft Homepage.
Hardware PLC | -
Software PLC | -
Requires v-dll | -

Platforms: |
Operating systems | Windows CE 5.0, CE 6.0; Windows XP, Vista, 7, Server 2003, Server 2008/R2;
CE platforms | x86; ARM; Pocket-PC;


Driver history

IEC850 -> Driver history

A list of the main changes that were made to the driver documentation. The driver version (driver exe file version) corresponds to pre-compilations for test and documentation purposes and not the approved version of the driver with the described functions.
If you have questions about your project, please contact the Consulting Team by email. support@copadata.com.

Date

Driver version

Change

31.08.06

100

Driver and documentation created

11.04.07

400

Support for all models (SBO) of the control model

04.10.07

700

Unbuffered Reporting

09.01.08

1100

Version for Windows CE

10.01.08

1100

File Transfer

28.01.08

1200

Buffered Reporting

04.02.08

1300

Auto reset of ctlNum

29.05.08

1900

Alternative use of identification as external name

11.09.08

2300

Check condition by a command from Check attribute

12.12.08

2500

reedited driver documentation

23.12.08

2500

recognition of duplicated datasets in Reports;
log messages for reported or polled variables

29.12.08

2500

configurable names of BRCBs

12.05.09

2900

bitstrings also as STRING variables

03.11. 09

3300

dynamic Data Sets
option: Use preconfigured TrgOps

30.12.09

3600

option: Do not purge BRCB buffer at start

07.01.10

3600

Reports not only from LLN0

01.02.10

3700

off-line import also from *.cid and *.scd files

17.02.10

3700

Origin is sent to RT before all other attributes of a data object from Report

24.03.10

3800

Additional Cause Diagnosis

24.03.10

3900

possibility to split up Select and Operate for Command Processing module

24.03.10

3900

mapping of Time quality bits ClockFailure and ClockNotSynchronized

08.11.10

4000

Off-line Import: LNs embedded directly into IEDs without LDs are ignored

12.11.10

4100

support of data type “Check” (Tissue 10);
PICS reviewed;
PIXIT enclosed (KEMA Certification)

04.05.11

4200

UNICODE STRING in UTF-8 character encoding;
consideration of all possible TimeAccuracy values;
support of Authentication (ISO 8650-1)

06.05.11

4300

support of alternative IP address

19.05.11

4400

local time stamp for variables with FC not ST or MX

31.10.11

4500

individual TrgOps bits setting for Unbuffered Reports

02.11.11

4600

driver setting for Origin orCat

08.11.11

4700

individual TrgOps bits setting for Buffered Reports


Requirements

IEC850 -> Requirements

This chapter contains information on the requirements that are necessary for use of this driver.


PC

IEC850 -> Requirements -> PC

XML Lite, which is part of Microsoft Internet Explorer 7.0, is necessary; xmllite.dll can also be downloaded separately from the Microsoft website.

This driver supports a connection via the standard network card of the PC. Make sure that the PLC and the PC are in the same network range and that the subnet masks are set accordingly on both devices.


Configuration

IEC850 -> Configuration

In this chapter you will learn how to use the driver in a project and which settings you can change.

info Info

Find out more about further settings for zenon variables in the chapter Variables of the online manual.


Creating a driver

IEC850 -> Configuration -> Creating a driver

In order to create a new driver:

  • Right-click on Driver in the Project Manage and select Driver new in the context menu.
  • In the following dialog the control system offers a list of all available drivers.

  • Select the desired driver and give it a name:
    • The driver name has to be unique, i.e. if one and the same driver is to be used several times in one project, every time a new name has to be given each time.
    • The driver name is part of the file name. Therefore it may only contain characters which are supported by the operating system. Invalid characters are replaced by an underscore (_).
    • Attention: This name cannot be changed later on.
  • Confirm the dialog with OK. In the following dialog the single configurations of the drivers are defined.
  • Only the respective required drivers need to be loaded for a project. Later loading of an additional driver is possible without problems.

info Info

For new projects and for existing projects which are converted to version 6.21 or higher, the following drivers are created automatically:

  • Internal
  • MathDr32
  • SysDrv.


Settings in the driver dialog

IEC850 -> Configuration -> Settings in the driver dialog

You can change the following settings of the driver:


General

IEC850 -> Configuration -> Settings in the driver dialog -> General

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. For any questions regarding the documentation please contact: documentation@copadata.com

Parameters

Description

Mode

Allows to switch between hardware mode and simulation mode

  • Hardware:

    A connection to the control is established.

  • Simulation static

    No communication between to the control is established, the values are simulated by the driver. In this modus the values remain constant or the variables keep the values which were set by zenon Logic. Each variable has its own memory area, e.g. two variables of the type marker with offset 79 can have different values in the Runtime and do not influence each other. Exception: The simulator driver.

  • Simulation - counting

    No communication between to the control is established, the values are simulated by the driver. In this modus the driver increments the values within a value range automatically.

  • Simulation - programmed

    N communication is established to the PLC. The values are calculated by a freely programmable simulation project. The simulation project is created with the help of the zenon Logic Workbench and runs in a zenon Logic Runtime which is integrated in the driver. For details see chapter Driver simulation.

Keep update list in the memory

Variables which were requested once are still requested from the control even if they are currently not needed.
This has the advantage that e.g. multiple screen switches after the screen was opened for the first time are executed faster because the variables need not be requested again. The disadvantage is a higher load for the communication to the control.

Output can be written

Active: Outputs can be written.

Inactive: Writing of outputs is prevented.

Note: Not available for every driver.

Variable image remanent

This option saves and restores the current value, time stamp and the states of a data point.

Fundamental requirement: The variable must have a valid value and time stamp.

The variable image is saved in mode hardware if:

  • one of the states S_MERKER_1(0) up to S_MERKER8(7), REVISION(9), AUS(20) or ERSATZWERT(27) is active

The variable image is always saved if:

  • the variable is of the object type Driver variable
  • the driver runs in simulation mode. (not programmed simulation)

The following states are not restored at the start of the Runtime:

  • SELECT(8)
  • WR-ACK(40)
  • WR-SUC(41)

The mode Simulation - programmed at the driver start is not a criterion in order to restore the remanent variable image.

Stop at the Standby Server

Setting for redundancy at drivers which allow only on communication connection. For this the driver is stopped at the Standby Server and only started at the upgrade.

Attention: If this option is active, the gapless archiving is no longer guaranteed.

Active: Sets the driver at the not-process-leading Server automatically in a stop-like state. In contrast to stopping via driver command, the variable does not receive status switched off but an empty value. This prevents that at the upgrade to the Server irrelevant values are created in the AML, CEL and Historian.

Global Update time

Active: The set Global update time in ms is used for all variables in the project. The priority set at the variables is not used.
Inactive: The set priorities are used for the individual variables.

Priority

Here you set the polling times for the individual priorities. All variables with the according priority are polled in the set time. The allocation is taken place for each variable separately in the settings of the variable properties.
The communication of the individual variables are graduated in respect of importance or necessary topicality using the priorities. Thus the communication load is distributed better.

Update time for cyclical driver

The following applies for cyclical drivers:

For Set value, Advising of variables and Requests, a read cycle is immediately triggered for all drivers - regardless of the set update time. This ensures that the value is immediately available for visualization after writing. Update times can therefore be shorter than pre-set for cyclical drivers.


Driver dialog basic settings

IEC850 -> Configuration -> Settings in the driver dialog -> Driver dialog basic settings

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. For any questions regarding the documentation please contact: documentation@copadata.com

Parameters

Description

File name configuration

Name of the file in which the driver-specific configurations are saved.

Deactivate standard double point value mapping

Inactive (default): The values of double messages are adjusted to the operating elements of zenon. Use this configuration if you want to use the modules of zenon Energy. The driver depicts the double point values for Runtime (stVal in DPS and DPC classes, IEC 61850-7-3): intermediate-state | off | on | bad-state to 2 | 0 | 1 | 3, Value 0 consequently means off in Runtime and 1 means on.
You can find more information in the chapter on driver-specific functions: Mapping

Active: The values of the double messages are forwarded to zenon as they are: intermediate-state | off | on | bad-state = 0 | 1 | 2 | 3. In this case, you cannot use command functions of zenon Energy, for example.

Use identification for external name:

Inactive (default): The variable name is used for addressing.

Active: The driver uses the entries of the variable property for addressing.

Do not purge BRCB buffer at start

Active: The buffer of the BRCBs are not deleted when the connection is first established after Runtime has started.
Requirements: For this BRBC, the last entry ID received has been saved.

orCat

The driver sends configured orCat values as commands.

Possible settings:

  • 1 - Bay-control
  • 2 - Station-control
  • 3 - Remote-control
  • 4 - Automatic-bay
  • 5 - Automatic-station
  • 6- Automatic-remote
  • 7 - Mantenance

Default: 2- Station-control.

Directory for file transfer

Target directory of the file transfer. All files loaded are saved in this directory.


Connections

IEC850 -> Configuration -> Settings in the driver dialog -> Connections

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. For any questions regarding the documentation please contact: documentation@copadata.com

The connections of the IEC850 driver are set in the Connections tab of the driver dialog.

Parameters | Description
Server | List of connectiosn to the IEC 61850 server that have already been configured (to the control objects).
New | Creates a new connection to an IEC 61850 server. Opens the 'Server' dialog.
Delete | Removes the selected connection from the list.
Edit | Opens the 'Server' dialog to edit the selected connection


Server

IEC850 -> Configuration -> Settings in the driver dialog -> Connections -> Server

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. For any questions regarding the documentation please contact: documentation@copadata.com

Clicking on New or Edit in the dialog connection opens the dialog for the configuration of a connection to an IEC 61850 server:

Parameters

Description

Net address

Corresponds to the Net address property in variable configuration.

Internal ID: Dialog Server

Net address

Bus address or net address of the variable.
Minimum: 0.
Maximum: 4294967295.
Default: 0.

Read more in the online manual

This property is available in VBA (with class name) and in the XML export (without class name) under: ""

Maximum value: 65535

Server name

Freely definable name. Is used for the names of variables when variables are imported.

Polling rate

Defines the update frequency in milliseconds. The driver supports this rate to poll data that is not in active reports.

Maximum value: 4294967295 (2^32-1)
If a higher value is entered, it is automatically changed to 1 when saved.

Default: 1000

Attention: Exchange of data in Runtime does not depend on this setting or on the global update time. This is set to 100ms and fixed.

Link Layer (TCP)

Connection settings

IP address (primary)

IP address of the server to which a connection is to be made.

IP port (primary)

Port via which the connection will be established.
Default: 102

IP address (redundant)

Alternative IP address. If the connection to the first IP address fails, the alternative IP address will be used after the net error waiting time has passed (20-30 sec., depending on the network). The alternative address will be kept until the driver is restarted (via driver functions or restart of the zenon Logic Runtime) or until the connection fails. Then, the first IP address will be used again.

Attention: At least one variable, such as *LLN0/Mod/stVal[ST] should always be polled to detect a connection failure.

IP port (redundant)

Alternative IP port.

Application Layer (ACSE)

Settings for the ACSE.

Calling AP title

Settings according to ISO 8650-1(ACSE).
Should not be used in standard cases.

Calling AE qualifier

Settings according to ISO 8650-1(ACSE).
Should not be used in standard cases.

Called AP title

Settings according to ISO 8650-1(ACSE).
Should not be used in standard cases.

Called AE qualifier

Settings according to ISO 8650-1(ACSE).
Should not be used in standard cases.

Use Authentication

Activate this checkbox if you want to use authentication according to ISO 8650-1. If active, the driver sends the Authentication String at establishing the connection.

Authentication String

If Use Authentication is active, enter your Authentication String.
Take care about the length restriction of 55 characters according to ISO 8327-1 OSI Session Protocol.

Reporting

Settings for the reports.

Max. auto used URCBs

Maximum number of Unbuffered Reports which the driver activates at automatic allocaton, i.e. in addition to RCBs which were configured in dialog RCB assignment/dynamic datasets.
Default: 1

More information on the automatic assignment of unbuffered report.

Use preconfigured TrgOps

Active: Trigger options which are pre-configured in the IEC61850 Server are used. In this case, the driver does not write the TrgOps attribute to the reporting control block during assignment.

Inactive: the driver writes the TrgOps attribute during the activation of each RCB.

You can activate/deactivate the following Tripper options individually.

  • TrgOp: data-change
  • TrgOp: quality-change
  • TrgOp: data-update
  • TrgOp: integrity
  • TrgOp: general-interrogation

Default: activate all

Use report ID for RCB assignment

Active: The report ID is used instead of the report name in the client configuration dialog for static RCB assignment.

Attention: If this option is subsequently changed, all RCB assignments in the client configuration must be deleted and created again.

RCB assignment/dynamic datasets

Static Reporting Control Block allocation and settings for dynamic data sets.

Note: If you use redundancy in your zenon project, (zenon network active and there is a project server and standby server), you must create two entries here. One for the server and one for the standby.

New

Creates a new entry in the list. Opens the client configuraton dialog.

Del

Removes the selected entry from the list.

Edit

Opens the Client configuration dialog to edit the selected entry.

info Info

OSI values

The driver uses the following OSI selector values:

  • Presentation Selector (OSI-PSEL) = "00000001"
  • Session Selector (OSI-SSEL) = "0001"
  • Transport Selector (OSI-TSEL) = "0001"

Users can adjust the server SCL file manually. The following values are standard values:

  • <P type="OSI-AP-Title">41,999,1,1</P>
    (corresponds to standard values in the driver configuration in alternative notation)
  • <P type="OSI-AE-Qualifier">12</P>
    (corresponds to standard values in the driver configuration)
  • <P type="OSI-PSEL">00000001</P>
    (set in the driver; cannot be changed)
  • <P type="OSI-SSEL">0001</P>
    (set in the driver; cannot be changed)
  • <P type="OSI-TSEL">0001</P>
    (set in the driver; cannot be changed)


Client configuration

IEC850 -> Configuration -> Settings in the driver dialog -> Connections -> Client configuration

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. For any questions regarding the documentation please contact: documentation@copadata.com

Clicking on New or Edit in the RCB assignments/dynamic datasets list in the server dialogs opens the dialog for the client configuration settings:

Parameters

Description

Hostname

Name of the computer on which the driver is running that receives the reports:

  • - for standalone projects: The computer name of the computer on which zenon Runtime runs;
    - in the zenon network: The computer name of the project server or project standby.

Attention: Do not use "localhost"; use the computer names from the operating system instead.

static RCB assignment

Settings for the static assignment of RCBs (the same for unbuffered and buffered RCBs).

Note: Buffered reports must be configured in the driver configuration. They are not used if theay are not configured.

For more information, see driver-specfic functions.

Report-ID

Displays the report IDs already entered.

DataSet

Displays the dynamic data set (if the RCB was allocated one).

New

Creates a new entry in the list. Opens the 'statically assigned RCB' dialog to create a new entry with a report ID (or a name) - you can either enter it manually or browse the server
and if necessary with dynamic data set (is taken from the lower list).

Del

Removes the selected entry from the list.

Edit

Opens the 'statically assigned RCB' dialog to edit the selected entry.

dynamic DataSets

Settings for dynamic data sets.

Note: Dynamic data sets are not a requirement for buffered or unbuffered reports. They are optional settings if the IEC61850 server that is used supports this.

For more information, see dynamic data sets.

Name

Displays the data sets that have already been enterd - that are already present in the upper list.

New

Opens the dialog for creating a data set.

Del

Removes the selected entry from the list.

Edit

Opens the 'dynamic DataSet configuration' dialog to edit the selected entry.


statically assigned RCB

IEC850 -> Configuration -> Settings in the driver dialog -> Connections -> Client configuration -> statically assigned RCB

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. For any questions regarding the documentation please contact: documentation@copadata.com

Clicking on New or Edit in the static RCB assignment list of the client configuration dialog opens the dialog to create an RCB and/or to assign an RCB a dynamic data set. RCBs are either defined by means of the RCB name:

or by means of the report ID:

Parameters

Description

RCB name/report ID

The name or the ID of the report (buffered or unbuffered). Must correspond exactly to the name/report ID in the PLC (IEC61850 server).

A click on ... starts online browsing of the configured IEC 61850 server and shows if the server is running and all reporting control blocks that are currently on the server.

Note: RCB name is expected here by default. The use of the RCB name can be be changed using the Use report ID for RCB assignment property in the Server properties on report ID.

Report ID: Use the report ID that was configured in the server. Depending on the PLC, the ID may already be predefined or it can be configured by the user themselves, for example using an SCL file.

Note: If Runtime is running at the same time on the same computer, the RCBs cannot be browsed online.

dynamic Dataset

You can also optionally select a data set from the drop-down list of the data sets that have already been entered into the 'dynamic DataSet configuration' dialog.

Important: If you do not define a data set here, the data set that is predefined for this RCB in the PLC (IEC61850 server) is used.

This list is displayed after you have browsed RCBs online on the IEC 61850 server:

Select the desired Reporting Control Block from the list.


dynamic DataSet configuration

IEC850 -> Configuration -> Settings in the driver dialog -> Connections -> Client configuration -> dynamic DataSet configuration

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. For any questions regarding the documentation please contact: documentation@copadata.com

Clicking on New or Edit in the dynamic data sets list of the client configuration dialog opens the dialog to define a dynamic data set.

Parameters

Description

Name

Name of the data set.

Members

List of pre-configured data objects.

Add

Starts the browsing of data objects dfrom the variable list of the zenon project and displays all data objects for which a variable has already been created in the project.

Note: The driver does not browse the data objects from the IEC61850 server, but from the variable list in the Editor. However, if Runtime is running at the same time on the same computer, the variables cannot be browsed.

Remove

Removes the selected entry from the list.

Export

Exports members to a TXT file.

Import

Imports members to a TXT fle.

In the open dialog:

  • select the corresponding file
  • select the desired variables
  • Confirm the settings by clicking on OK

The list is displayed to you after you have prepared suitable project variables:

The diriver displays all data objects - that are appropriate for data reporting - from the variable list of the zenon project, except those that have already been selected for the data set. In the upper list, you can filter and select the variable filters (multiple selection is also possible) and add these to the lower list. Objects that have already been selected are kept. Use the OK button to add the selected variables to the members of the dynamic data set.


Creating variables

IEC850 -> Creating variables

This is how you can create variables in the zenon Editor:


Creating variables in the Editor

IEC850 -> Creating variables -> Creating variables in the Editor

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. For any questions regarding the documentation please contact: documentation@copadata.com

Variables can be created:

  • as simple variables
  • in arrays
  • as structure variables

Variable dialog

To create a new variable, regardless of which type:

  1. Select the New variable command in the Variables node in the context menu

  2. The dialog for configuring variables is opened
  3. configure the variable
  4. The settings that are possible depends on the type of variables

Property

Description

Name

Distinct name of the variable. If a variable with the same name already exists in the project, no additional variable can be created with this name.

Attention: The # character is not permitted in variable names. If non-permitted characters are used, creation of variables cannot be completed and the Finish button remains inactive.

Drivers

Select the desired driver from the drop-down list.

Note: If no driver has been opened in the project, the driver for internal variables (Intern.exe) is automatically loaded.

Driver object type

Select the appropriate driver object type from the drop-down list.

Data type

Select the desired data type. Click on the ... button to open the selection dialog.

Array settings

Expanded settings for array variables. You can find details in the Arrays chapter.

Addressing options

Expanded settings for arrays and structure variables. You can find details in the respective section.

Automatic element activation

Expanded settings for arrays and structure variables. You can find details in the respective section.

Inheritance from data type

Measuring range, Signal range and Set value are always:

  • derived from the datatype
  • Automatically adapted if the data type is changed

Note for signal range: If a change is made to a data type that does not support the set signal range, the signal range is amended automatically. For example, for a change from INT to SINT, the signal range is changed to 127. The amendment is also carried out if the signal range was not inherited from the data type. In this case, the measuring range must be adapted manually.


Addressing

IEC850 -> Creating variables -> Addressing

The addressing is based on the variable names.

Name

Description

Name

Freely definable name

Attention: The name is used for addressing the variables and must be clear in each control system project. As a result, the server name is also taken into account if the driver identifies the connection with the help of the Net Address property.

Identification

Enter any desired text; for example resource name, comments, ...

Can be used for addressing (optional).

Net address

Network address of variable.

This address refers to the network address in the connection list of the driver configuration. It defines the IEC 61850 server on which variables are saved.

Data block

Not used for this driver

Offset

Not used for this driver

Alignment

Not used for this driver

Bit number

Not used for this driver

String length

Only available for String variables: Maximum number of characters from which a variable can exist.

Driver object type

Dependent on the type of variable, the object type is selected when the variable is created; the type can be changed here later. For more information, see also the driver objects.

Data type

Data type of variables that were selected when the variable was created; the type can be changed here later.

ATTENTION: If you subsequently change the data type here, you must check all variable properties, such as value range for example, and change them if necessary.

Syntax naming convention

The naming convention is based on the following syntax: SERVER!LD/LN/DATA/DataAttr[FC]

For this, the following applies:

  • The server name is separated by the exclamation mark (!) from the following identifiers.
  • All additional identifiers to DataAttr are separated by a slash (/).
  • Only if an identifier is a structure, their elements are separated by a dot (.); for example: SERVER!LD/LN/DATA/DataAttr.item[FC].

The designations are:

Parameters | Description
SERVER | Freely definable name of the server. Name should make sure that all variable names are identical. Recommendation: Use the same names as defined in driver dialog Dialog Server. The driver however does not recognize the used connection via the Server name but via settings the Net address.
LD | Name of the logical device.
LN | Name of the logical node.
DATA | Name of the 'data object', see Appendix B - data objects / data attributes
DataAttr | Name of the 'data attribute', see Appendix B - data objects / data attributes
FC | "functional constraint" of the "data attribute", see Appendix A - Description of the Functional Constraints (FCs)

attention Attention

The naming convention for variables complies with the ObjectReference defined in standard IEC61850-7-1.

In the standard a slash (/) is only used as separator between LD and LD and otherwise separated by dots (.). If DATA or DataAttr is a structure, dots make it impossible to differentiate between DATA and structure. Therefore an own naming conversion is used for the variable addressing.

Example:

The logical node "XCBR1" (circuit breaker 1) has, among other things, a data object "Pos", which is a CDC (Common Data Class) "Controllable Double Point" (DPC). This data point 'Pos' has, in turn, attributes 'stVal', 'q' and 't', the name and semantics of which is specific due to its CDC, which is defined in IEC61850-7-3.

Data attribute | Name | IEC 61850 Standard
XCBR1/Pos | Switching position | In accordance with LN definition XCBR in 61850-7-4
XCBR1/Pos/stVal[ST] | position value | In accordance with CDC definition DPC in 61850-7-3
XCBR1/Pos/q[ST] | Quality | In accordance with CDC definition DPC in 61850-7-3
XCBR1/Pos/t[ST] | time stamp | In accordance with CDC definition DPC in 61850-7-3
XCBR1/Pos/Oper.ctlVal[CO] | Value of the command | In accordance with 'Oper' type definition in 61850-8-1, Table E.9

All objects in the variable model are constructed in this way. For this reason, the driver knows, for example, that the attributes 'q' and 't' contain quality and time stamps for the variables in 'stVal'. This allows access to all attributes of the each object in the variable model. Existing values for quality and time stamp are automatically assigned to the actual values of the driver.

Operate command: Thanks to the specific variable nomenclature, the driver automatically notices that an operate command is to be created if a variable is written to, for example with the name '*/Oper.ctlVal[CO]' (Operation.ControlValue). It the automatically sends the required sequence of telegrams to the control object.

Time stamp and quality

Time stamp and quality attribute are always parts of variables in zenon. Variables with attributes 'q' and 't' do not need to be created separately. The driver automatically uses the time stamp and the quality of the data object for its variables with FC = ST and MX (FC stands for Functional Constraint). Without taking into account whether a variable for attribute 't' was created, the time stamp received is used for all ST and MX variables, for example the stVal variable for CEL, AML or Historian. Selected quality bits that are received in attribute 'q' are also assigned the status bits of the stVal variable (see also Driver-specific functions).


Driver objects and datatypes

IEC850 -> Creating variables -> Driver objects and datatypes

Driver objects are areas available in the PLC, such as markers, data blocks etc. Here you can find out which driver objects are provided by the driver and which IEC data types can be assigned to the respective driver objects.


Driver objects

IEC850 -> Creating variables -> Driver objects and datatypes -> Driver objects

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. For any questions regarding the documentation please contact: documentation@copadata.com

The following object types are available in this driver:

Driver object type

Channel type

Read / Write

Supported data types

Comment

PLC marker

8

R / W

REAL, LREAL, WSTRING, DINT, UDINT, BOOL, INT, UINT, STRING, USINT, SINT

Data attribute variables

File Transfer

9

R / W

STRING

Command and return variables for the file transfer.
Note: The string length should correspond to the maximum length of the file names (including the path) in the PLC; a maximum of 260 characters for *!Command variable for example, (but more for *!Directory).

You can find more information in the chapter on driver-specific functions

State Info

11

R

UINT

Internal variables display the current status of the command.

You can find more information in the chapter on driver-specific functions

Driver variable

35

R / W

BOOL, SINT, USINT, INT, UINT, DINT, UDINT, REAL, STRING

Variables for the static analysis of the communication; is transferred between driver and Runtime (not to the PLC).

Note: The addressing and the behavior is the same for most zenon drivers.
You can find more information in the chapter on driver variables


Mapping of the data types

IEC850 -> Creating variables -> Driver objects and datatypes -> Mapping of the data types

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. For any questions regarding the documentation please contact: documentation@copadata.com

All variables in zenon are derived from IEC data types. The following table compares the IEC datatypes with the datatypes of the PLC.

Assignment of data types from the PLC to zenon data types

PLC | zenon | Data type | Comment
BOOLEAN | BOOL | 8 |
INT8 | SINT | 10 |
INT8U | USINT | 9 |
INT16 | INT | 1 |
INT16U | UINT | 2 |
INT24 | DINT | 3 |
INT24U | UDINT | 4 |
INT32 | DINT | 3 |
INT32U | UDINT | 4 |
INT128 | DINT | 3 |
FLOAT32 | REAL | 5 |
FLOAT64 | LREAL | 6 |
ENUMERATED | INT | 1 |
CODED ENUM | UDINT, STRING | 4, 12 | MMS Bitstring
OCTET STRING | STRING | 12 |
VISIBLE STRING | STRING | 12 |
UNICODE STRING | WSTRING | 21 | Coding is carried out in UTF-8
PACKED LIST | UDINT, STRING | 4, 12 | MMS Bitstring
TIMESTAMP | LREAL | 6 | Only octets 0..7 (see also TimeQuality Bit mapping)
EntryTime | LREAL | 6 |
TriggerConditions | UDINT, STRING | 4, 12 | MMS Bitstring

Data type: The property Data type is the internal numerical name of the data type. It is also used for the extended DBF import/export of the variables.

MMS Bitstring: The data attribute types that were assigned to the MMS Bitstring in accordance with the standard (see IEC61850-8-1), CODED ENUM, PACKED LIST und TrigerConditionsfor example, correspond to the UDINT data type in zenon by default (Motorola format, bit 0 highest value in its octet). In addition, the driver allows such variables with the data type STRING instead of UDINT to be created manually. The value of the string only contains the characters "0" and "1" in a sequence that is the same as that of the bits defined in the standard and only in the length of the bit string, for example the value of the TrgOps Attribute - Bitstring(6) - as String "011111" (in UDINT=124) means that all trigger condition bits except bit 0 - 'Reserved' are set and the value "000010" (in UDINT=8) - only bit 4 - 'intergity'.


Creating variables by importing

IEC850 -> Creating variables -> Creating variables by importing

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. For any questions regarding the documentation please contact: documentation@copadata.com

Variables can also be imported by importing them. The XML and DBF import is available for every driver.


Online import

IEC850 -> Creating variables -> Creating variables by importing -> Online import

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. For any questions regarding the documentation please contact: documentation@copadata.com

Variables in a zenon project can be created with the import of the driver. The driver can browse the variable list of the IEC 61850 server.

attention Attention

If Runtime is running on the same computer at the same time, the variables in the editor cannot be imported by the PLC, because the driver in Runtime uses the given settings for communication.

You call up the import using the context menu of the driver in the driver list.

In the dialog that opens, select the PLC Browsing option and select a server from which the variables are to be browsed.

The connection to the server is established and the list of existing data points (LDs, LNs, data objects, data attributes) is read.

If the reading in has ended, an important dialog opens in which you can filter the browsed variables (capitalization, for example *XCBR1*stVal*), select them (including multiple selection) and add them from the upper to lower list.

You create the selected variables in the project using the OK button.

attention Attention

The driver creates variables with default value ranges, for example a UDINT with <0.. 4294967295> and a LREAL with <-1000..1000>, which may not correspond to the value ranges of the attributes, for example stVal-attribute UDINT <0..3> or t-attribute LREAL<0.. 2147483647> with three decimal places for milliseconds. Therefore ensure after import after that all variables have the correct value range properties and the string is the right length.


Offline import

IEC850 -> Creating variables -> Creating variables by importing -> Offline import

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. For any questions regarding the documentation please contact: documentation@copadata.com

Variables can also be imported offline. The following file endings are accepted:

  • *.xml
  • *.scl
  • *.icd
  • *.cid
  • *.scd

The driver only imports DOI elements online. The ReportControl properties (report control block) and SettingControl (Setting Control Block) are not supported during offline import. You can create the variables for theses attributes by means of online import or manually.

To import variables from a file:

  1. Select the File browsing option in server selection

  2. Select the import file.

  3. The following steps for the selection of variables are similar to online import.


XML import of variables from another zenon project

IEC850 -> Creating variables -> Creating variables by importing -> XML import of variables from another zenon project

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. For any questions regarding the documentation please contact: documentation@copadata.com

For the import/export of variables the following is true:

  • The import/export must not be started from the global project.
  • The start takes place via:
    • Context menu of variables or data typ in the project tree
    • or context menu of a variable or a data type
    • or symbol in the symbol bar variables

attention Attention

When importing/overwriting an existing data type, all variables based on the existing data type are changed.

Example:

There is a data type XYZ derived from the type INTwith variables based on this data type. The XML file to be imported also contains a data type with the name XYZ but derived from type STRING. If this data type is imported, the existing data type is overwritten and the type of all variables based on it is adjusted. I.e. the variables are now no longer INT variables, but STRING variables.


DBF Import/Export

IEC850 -> Creating variables -> Creating variables by importing -> DBF Import/Export

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. For any questions regarding the documentation please contact: documentation@copadata.com

Data can be exported to and imported from dBase.

Import DBF file

To start the import:

  1. right-click on the variable list
  2. in the drop-down menu of Extended export/import... select the Import dBase command
  3. follow the import assistant

The format of the file is described in the chapter File structure.

info Info

Note:

  • Driver object type and data type must be amended to the target driver in the DBF file in order for variables to be imported.
  • dBase does not support structures or arrays (complex variables) at import.

Export DBF file

To start the export:

  1. right-click on the variable list
  2. in the drop-down menu of Extended export/import... select the Export dBase command
  3. follow the export assistant

attention Attention

DBF files:

  • must correspond to the 8.3 DOS format for filenames (8 alphanumeric characters for name, 3 character suffix, no spaces)
  • must not have dots (.) in the path name.
    e.g. the path C:\users\John.Smith\test.dbf is invalid.
    Valid: C:\users\JohnSmith\test.dbf
  • must be stored close to the root directory in order to fulfill the limit for file name length including path: maximum 255 characters

The format of the file is described in the chapter File structure.

info Info

dBase does not support structures or arrays (complex variables) at export.

File structure of the dBase export file

The dBaseIV file must have the following structure and contents for variable import and export:

attention Attention

dBase does not support structures or arrays (complex variables) when exporting.

DBF files must:

  • correspond to the 8.3 DOS format for filenames (8 alphanumeric characters for name, 3 character suffix, no spaces)
  • Be stored close to the root directory (Root)

Design

Description | Type | Field size | Comment
KANALNAME | Char | 128 | Variable name. The length can be limited using the MAX_LAENGE entry in project.ini .
KANAL_R | C | 128 | The original name of a variable that is to be replaced by the new name entered under "KANALNAME" (field/column must be entered manually). The length can be limited using the MAX_LAENGE entry in project.ini .
KANAL_D | Log | 1 | The variable is deleted with the 1 entry (field/column has to be created by hand).
TAGNR | C | 128 | Identification. The length can be limited using the MAX_LAENGE entry in project.ini .
EINHEIT | C | 11 | Technical unit
DATENART | C | 3 | Data type (e.g. bit, byte, word, ...) corresponds to the data type.
KANALTYP | C | 3 | Memory area in the PLC (e.g. marker area, data area, ...) corresponds to the driver object type.
HWKANAL | Num | 3 | Bus address
BAUSTEIN | N | 3 | Datablock address (only for variables from the data area of the PLC)
ADRESSE | N | 5 | Offset
BITADR | N | 2 | For bit variables: bit address For byte variables: 0=lower, 8=higher byte For string variables: Length of string (max. 63 characters)
ARRAYSIZE | N | 16 | Number of variables in the array for index variables ATTENTION: Only the first variable is fully available. All others are only available for VBA or the Recipe Group Manager
LES_SCHR | R | 1 | Write-Read-Authorization 0: Not allowed to set value. 1: Allowed to set value.
MIT_ZEIT | R | 1 | time stamp in zenon (only if supported by the driver)
OBJEKT | N | 2 | Driver-specific ID number of the primitive object comprises KANALTYP and DATENART
SIGMIN | Float | 16 | Non-linearized signal - minimum (signal resolution)
SIGMAX | F | 16 | Non-linearized signal - maximum (signal resolution)
ANZMIN | F | 16 | Technical value - minimum (measuring range)
ANZMAX | F | 16 | Technical value - maximum (measuring range)
ANZKOMMA | N | 1 | Number of decimal places for the display of the values (measuring range)
UPDATERATE | F | 19 | Update rate for mathematics variables (in sec, one decimal possible) not used for all other variables
MEMTIEFE | N | 7 | Only for compatibility reasons
HDRATE | F | 19 | HD update rate for historical values (in sec, one decimal possible)
HDTIEFE | N | 7 | HD entry depth for historical values (number)
NACHSORT | R | 1 | HD data as postsorted values
DRRATE | F | 19 | Updating to the output (for zenon DDE server, in [s], one decimal possible)
HYST_PLUS | F | 16 | Positive hysteresis, from measuring range
HYST_MINUS | F | 16 | Negative hysteresis, from measuring range
PRIOR | N | 16 | Priority of the variable
REAMATRIZE | C | 32 | Allocated reaction matrix
ERSATZWERT | F | 16 | Substitute value, from measuring range
SOLLMIN | F | 16 | Minimum for set value actions, from measuring range
SOLLMAX | F | 16 | Maximum for set value actions, from measuring range
VOMSTANDBY | R | 1 | Get value from standby server; the value of the variable is not requested from the server but from the standby-server in redundant networks
RESOURCE | C | 128 | Resource label. Free string for export and display in lists. The length can be limited using the MAX_LAENGE entry in project.ini .
ADJWVBA | R | 1 | Non-linear value adaption: 0: Non-linear value adaption is used 1: non linear value adaption is not used
ADJZENON | C | 128 | Linked VBA macro for reading the variable value for non-linear value adjustment.
ADJWVBA | C | 128 | Linked VBA macro for writing the variable value for non-linear value adjustment.
ZWREMA | N | 16 | Linked counter REMA.
MAXGRAD | N | 16 | Gradient overflow for counter REMA.

attention Attention.

When importing, the driver object type and data type must be amended to the target driver in the DBF file in order for variables to be imported.

Limit definition

Limit definition for limit values 1 to 4, and status 1 to 4:

Description | Type | Field size | Comment
AKTIV1 | R | 1 | Limit value active (per limit value available)
GRENZWERT1 | F | 20 | Technical value or ID number of a linked variable for a dynamic limit (see VARIABLEx) (if VARIABLEx is 1 and here it is -1, the existing variable linkage is not overwritten)
SCHWWERT1 | F | 16 | Threshold value for limit
HYSTERESE1 | F | 14 | Hysteresis in %
BLINKEN1 | R | 1 | Set blink attribute
BTB1 | R | 1 | Logging in CEL
ALARM1 | R | 1 | Alarm
DRUCKEN1 | R | 1 | Printer output (for CEL or Alarm)
QUITTIER1 | R | 1 | Must be acknowledged
LOESCHE1 | R | 1 | Must be deleted
VARIABLE1 | R | 1 | Dyn. limit value linking the limit is defined by an absolute value (see field GRENZWERTx).
FUNC1 | R | 1 | Function linking
ASK_FUNC1 | R | 1 | With interrogation before execution
FUNC_NR1 | N | 10 | ID number of the linked function (if “-1” is entered here, the existing function is not overwritten during import)
A_GRUPPE1 | N | 10 | Alarm/event group
A_KLASSE1 | N | 10 | Alarm/event class
MIN_MAX1 | C | 3 | Minimum, Maximum
FARBE1 | N | 10 | Color as Windows coding
GRENZTXT1 | C | 66 | Limit value text
A_DELAY1 | N | 10 | Time delay
INVISIBLE1 | R | 1 | Invisible

Expressions in the column "Comment" refer to the expressions used in the dialog boxes for the definition of variables. For more information, see chapter Variable definition.


Driver variables

IEC850 -> Creating variables -> Driver variables

The driver kit implements a number of driver variables. These are divided into:

  • Information
  • Configuration
  • Statistics and
  • Error messages

The definitions of the variables defined in the driver kit are available in the import file drvvar.dbf (on the CD in the directory: CD_Drive:/Predefined/Variables) and can be imported from there.

Hint: Variable names must be unique in zenon. If driver variables are to be imported from drvvar.dbf again, the variables that were imported beforehand must be renamed.

info Info

Not every driver supports all driver variants.

For example:

  • Variables for modem information are only supported by modem-compatible drivers
  • Driver variables for the polling cycle only for pure polling drivers
  • Connection-related information such as ErrorMSG only for drivers that only edit one connection at a a time

Information

Name from import | Type | Offset | Description
MainVersion | UINT | 0 | Main version number of the driver.
SubVersion | UINT | 1 | Sub version number of the driver.
BuildVersion | UINT | 29 | Build version number of the driver.
RTMajor | UINT | 49 | zenon main version number
RTMinor | UINT | 50 | zenon sub version number
RTSp | UINT | 51 | zenon service pack number
RTBuild | UINT | 52 | zenon build number
LineStateIdle | BOOL | 24.0 | TRUE, if the modem connection is idle
LineStateOffering | BOOL | 24.1 | TRUE, if a call is received
LineStateAccepted | BOOL | 24.2 | The call is accepted
LineStateDialtone | BOOL | 24.3 | Dialtone recognized
LineStateDialing | BOOL | 24.4 | Dialing active
LineStateRingBack | BOOL | 24.5 | While establishing the connection
LineStateBusy | BOOL | 24.6 | Target station is busy
LineStateSpecialInfo | BOOL | 24.7 | Special status information received
LineStateConnected | BOOL | 24.8 | Connection established
LineStateProceeding | BOOL | 24.9 | Dialing completed
LineStateOnHold | BOOL | 24.10 | Connection in hold
LineStateConferenced | BOOL | 24.11 | Connection in conference mode.
LineStateOnHoldPendConf | BOOL | 24.12 | Connection in hold for conference
LineStateOnHoldPendTransfer | BOOL | 24.13 | Connection in hold for transfer
LineStateDisconnected | BOOL | 24.14 | Connection stopped
LineStateUnknow | BOOL | 24.15 | Connection status unknown
ModemStatus | UDINT | 24 | Current modem status
TreiberStop | BOOL | 28 | Driver stopped For driver stop, the variable has the value TRUE and an OFF bit. After the driver has started, the variable has the value FALSE and no OFF bit.
SimulRTState | UDINT | 60 | Informs the status of Runtime for driver simulation.

Configuration

Name from import | Type | Offset | Description
ReconnectInRead | BOOL | 27 | If TRUE, the modem is automatically reconnected for reading
ApplyCom | BOOL | 36 | Apply changes in the settings of the serial interface. Writing to this variable immediately results in the method SrvDrvVarApplyCom being called (which currently has no further function).
ApplyModem | BOOL | 37 | Apply changes in the settings of the modem. Writing this variable immediately calls the method SrvDrvVarApplyModem. This closes the current connection and opens a new one according to the settings PhoneNumberSet and ModemHwAdrSet.
PhoneNumberSet | STRING | 38 | Telephone number, that should be used
ModemHwAdrSet | DINT | 39 | Hardware address for the telephone number
GlobalUpdate | UDINT | 3 | Update time in milliseconds (ms).
BGlobalUpdaten | BOOL | 4 | TRUE, if update time is global
TreiberSimul | BOOL | 5 | TRUE, if driver in sin simulation mode
TreiberProzab | BOOL | 6 | TRUE, if the variables update list should be kept in the memory
ModemActive | BOOL | 7 | TRUE, if the modem is active for the driver
Device | STRING | 8 | Name of the serial interface or name of the modem
ComPort | UINT | 9 | Number of the serial interface.
Baud rate | UDINT | 10 | Baud rate of the serial interface.
Parity | SINT | 11 | Parity of the serial interface
ByteSize | SINT | 14 | Number of bits per character of the serial interface Value = 0 if the driver cannot establish any serial connection.
StopBit | SINT | 13 | Number of stop bits of the serial interface.
Autoconnect | BOOL | 16 | TRUE, if the modem connection should be established automatically for reading/writing
PhoneNumber | STRING | 17 | Current telephone number
ModemHwAdr | DINT | 21 | Hardware address of current telephone number
RxIdleTime | UINT | 18 | Modem is disconnected, if no data transfer occurs for this time in seconds (s)
WriteTimeout | UDINT | 19 | Maximum write duration for a modem connection in milliseconds (ms).
RingCountSet | UDINT | 20 | Number of ringing tones before a call is accepted
ReCallIdleTime | UINT | 53 | Waiting time between calls in seconds (s).
ConnectTimeout | UDINT | 54 | Time in seconds (s) to establish a connection.

Statistics

Name from import | Type | Offset | Description
MaxWriteTime | UDINT | 31 | The longest time in milliseconds (ms) that is required for writing.
MinWriteTime | UDINT | 32 | The shortest time in milliseconds (ms) that is required for writing.
MaxBlkReadTime | UDINT | 40 | Longest time in milliseconds (ms) that is required to read a data block.
MinBlkReadTime | UDINT | 41 | Shortest time in milliseconds (ms) that is required to read a data block.
WriteErrorCount | UDINT | 33 | Number of writing errors
ReadSucceedCount | UDINT | 35 | Number of successful reading attempts
MaxCycleTime | UDINT | 22 | Longest time in milliseconds (ms) required to read all requested data.
MinCycleTime | UDINT | 23 | Shortest time in milliseconds (ms) required to read all requested data.
WriteCount | UDINT | 26 | Number of writing attempts
ReadErrorCount | UDINT | 34 | Number of reading errors
MaxUpdateTimeNormal | UDINT | 56 | Time since the last update of the priority group Normal in milliseconds (ms).
MaxUpdateTimeHigher | UDINT | 57 | Time since the last update of the priority group Higher in milliseconds (ms).
MaxUpdateTimeHigh | UDINT | 58 | Time since the last update of the priority group High in milliseconds (ms).
MaxUpdateTimeHighest | UDINT | 59 | Time since the last update of the priority group Highest in milliseconds (ms).
PokeFinish | BOOL | 55 | Goes to 1 for a query, if all current pokes were executed

Error messages

Name from import | Type | Offset | Description
ErrorTimeDW | UDINT | 2 | Time (in seconds since 1.1.1970), when the last error occurred.
ErrorTimeS | STRING | 2 | Time (in seconds since 1.1.1970), when the last error occurred.
RdErrPrimObj | UDINT | 42 | Number of the PrimObject, when the last reading error occurred.
RdErrStationsName | STRING | 43 | Name of the station, when the last reading error occurred.
RdErrBlockCount | UINT | 44 | Number of blocks to read when the last reading error occurred.
RdErrHwAdresse | UDINT | 45 | Hardware address when the last reading error occurred.
RdErrDatablockNo | UDINT | 46 | Block number when the last reading error occurred.
RdErrMarkerNo | UDINT | 47 | Marker number when the last reading error occurred.
RdErrSize | UDINT | 48 | Block size when the last reading error occurred.
DrvError | SINT | 25 | Error message as number
DrvErrorMsg | STRING | 30 | Error message as text
ErrorFile | STRING | 15 | Name of error log file


Driver-specific functions

IEC850 -> Driver-specific functions

Special specifications of the IEC 61850 standard were implemented as specific functions in the IEC 850 driver.

Association

The driver only opens a connection to a Logical Device if at least one variable from the LD is created in the project.

After communication is broken off (due to a network failure, for example), the connection to the Logical Device is then only reestablished automatically if at least one variable of the LD is being polled. We suggest, for each LD, creating at least one variable for an obligatory attribute (for example: */LLN0/Mod/stVal[ST]) and, for example, switching on the DDE active property so that the variable remains registered from the start. This attribute may not be communicated using Reports but should use polling communication.

Commands (Control Model)

The driver supports the 'Direct Operate' and 'Select Before Operate' commands (SBO) with normal and increased security. The driver automatically checks the actual Control Model and executes this command accordingly.

If a value is set to a project variable that corresponds to the item ctlVal in a data attribute with the name 'Oper' and has the Functional Constraint CO or SP (*/Oper.ctlVal[CO|SP]), the driver automatically checks which Control Model is required for a command with this data object.
To do this, the attribute */ctlModel[CF] of this data object is read off first. Depending on the value of this attribute, the corresponding command is executed and the respective Control Model is used:

Value 0: No action, execution of the command not possible (status only)
Value 1: An 'Operate' service (direct control with normal security) is executed.
Value 2: 'Select' and 'Operate' services (select before operate with normal security) are executed.
Value 3: An 'Operate' service (direct control with enhanced security) is executed.
Value 4: 'SelectWithVariable' and 'Operate' services (select before operate with enhanced security) are executed.

info Info

The driver reads the ctlModel attribute from the server to execute the command, but the driver does not transfer the ctlModel value to Runtime automatically. This includes situations where a variable was created for the ctlModel. If a variable was created, it is updated in accordance with the polling rate that is defined in the driver configuration.

The command in detail

Operate command: The value is set directly to */Oper[CO].

Select commands are processed sequentially.

  • Select command with normal security: read from */SBO[CO], write to */Oper[CO].
  • Select command with increased security: write to */SBOw[CO], write to */Oper[CO].

The required command sequences are automatically performed in the right sequence by the driver. No further configuration steps are necessary.

Manual selection and cancellation

In addition, the driver supports manual selection and cancellation, but only via the Command input module in zenon.
If the command input sends a command and the Select Before Operate property is active, (the property for the Oper.ctlVal variable in zenon; please do not confuse this with the SBO attribute), the driver - in accordance with the ctlModel for the same object - executes a select (only if ctlModel= 2 or 4). The values of the ctlModel=0, 1 or 3 are treated as a negative select response.
If the IEC 61850 server responds positively to the select, the driver saves the information on the selected data object and in the following command (from the second stage of the command input), the driver only executes the operate.
If the command is cancelled from the second stage, the driver sends a cancel.

The driver ignores the Select Before Operate property of the Oper.ctlVal variables if the value of ctlVal is set directly and not replaced by a command input action.

ctlNum (control sequence number)

The driver automatically creates the values of the ctlNum attributes. If a value is set to the project variable and to the attribute */Oper.ctlVal[CO|SP] accordingly, the driver automatically increases the value of */Oper.ctlNum[CO]. The driver restarts incrementing the ctlNum at 0 if the value has reached 127.
The driver also counts ctlModel=0 (no action) but for this model, the ctlNum variable is not updated in Runtime, because in fact - in accordance with the standard (IEC61850-7-3) - the ctlVal attribute should not exist.

Additional Cause Diagnosis and 'State Info' variables

The IEC61850 server keeps AdditionalCauseDiagnosis ready for negative responses to a command (AddCause in LastApplError structure). The possible values of the AddCause service parameter are listed in the IEC 61850-7-2. The driver can relay the received AddCause to zenon and also the current state of the current command (for example: Select/Operate/Cancel) and provide information on whether the command was successful.

The driver provides this information in 'State Info' driver object variables (see Driver objects) if these have been created. Variables that relay the stage of the current command can be created for each */Oper structure.

  • */Oper.AddCause - after a failed command, the value displays error information that it has received from the PLC.
  • */Oper.ControlRun - the status or the result of the current command:
    • 1 = command is running
    • 0 = command successful
    • -1 = command failed
  • */Oper.ControlState - the state of the command that is currently running (processed sequentially):
    • -1 = command ended
    • 0 = read ctlModel
    • 1 = 'Select' sent
    • 2 = 'Operate' sent
    • 3 = 'Cancel' sent

Example:

You can create the following status variables for the variable
'PLC-Marker'-BOOL 'GE650!GEDeviceF650/XCBR1/Pos/Oper.ctlVal[CO]':

'State Info'-SINT 'GE650!GEDeviceF650/XCBR1/Pos/Oper.AddCause'

'State Info'-SINT 'GE650!GEDeviceF650/XCBR1/Pos/Oper.ControlRun'

'State Info'-SINT 'GE650!GEDeviceF650/XCBR1/Pos/Oper.ControlState'

Case 1: If you set the value to */Oper.ctlVal directly or the variable does not have the SBO property, the sequence of states is as follows:

  1. */Oper.ControlRun = 1 and */Oper.ControlState = 0
  2. */Oper.ControlState = 1 and then */Oper.ControlState = 2
  3. */Oper.ControlRun = 0 and */Oper.ControlState = -1

Case 2: If you use the two-stage command input for */Oper.ctlVal with the SBO property, the sequence of states for each command serve (for select, operate and cancel) is the following:

  1. */Oper.ControlRun = 1 and */Oper.ControlState = 0
  2. */Oper.ControlState = x
  3. */Oper.ControlRun = 0 and */Oper.ControlState = -1

whereby x=1 or 2 or 3, depending on the command service.

attention Attention

The 'State Info' variables do not have any value if no command was given. To evaluate status variables, you must first send a value to */Oper.ctlVal[CO|SP].

'Check' service parameter for commands

There are two methods for setting check conditions with the following Operate or SelectWithValue commands:

1. Check condition can be pre-defined by setting a value for */Oper.Check[CO]. The current value of this attribute is used for the command service parameter;
Attention: The Check attribute is a PACKED LIST (MMS bit string) with 2 bits. In accordance with IEC61850-8-1 8.1.3.5, the first member of the PACKED LIST is mapped to bit(0) and this bit should be the highest value (most significant) bit of the octet. This means that the valid target values for the Check attribute are 0x80 (synchrocheck), 0x40 (interlock-check), 0xC0 (both check bits) and 0x00.

2. in zenon: By setting in the command input: Action - Qualifier of Command property. The valid target values are 2 - synchrocheck (inverted 01b), 1 - interlock-check (inverted 10b), 3 (both bits bits) and 0.

Originator

The originator attribute orCat (Category) and orIdent (Identification) show which originator (for example a client that is on bay level) caused the last change of data (such as issuing a command).

The Origin attributes are an obligatory part of Oper, SBOw and Cancel services and optional in some cases, such as the 'Pos' data object. To analyze the originator of the values received in Runtime, for example */Pos/stVal[ST], you can create project variables with corresponding names in zenon: */Pos/origin.orCat[ST] and */Pos/origin.orIdent[ST].
Important: To be able to analyze the origin of a data object, the following must be implemented: the IEC61850 server must write the origin of the command received in this attribute, for example from * /Oper.origin.*[CO].

When a Report is received, the driver forwards this to Runtime before it forwards the other attributes of the received data object (if only one origin with Functional Constraint ST exists in the data object that was reported).

Note: You can use orCat or orIdent variables to compile a dynamic limit value text for a reported stVal variable.

info Info

When a command is executed, the driver sets the following values for the originator attribute in SBOw, Oper und Cancel:
orCat = 2 (station control)

You can adapt the value for orCat in the Basic Settings.
orIdent = "'zenon: <Computer name>'" (string between quotation marks - CHAR(27)) , e.g. 'zenon: MyPC'

Mapping of Double Point Values

In accordance with the IEC61850-7-3 standard, the attribute stVal has, in common data classes Double Point Status (DPS) and Controllable Double Point (DPC), the data type CODED ENUM with the value range: intermediate-state (00) | off (01) | on (10) | bad-state (11). The driver therefore waits until a Double Point attribute of the data type CODED ENUM is mapped to the communication protocol as an MMS of the bit string datatype and can have the following values: 0x00, 0x40, 0x80 and 0xC0. This basic data type is permitted in the SCL language with the name 'Dbpos' (IEC61850-6 chapter 9.5.4.2 Attribute basis types). In zenon, it corresponds to a variable with UDINT data type (see Assignment of data types).

As in the driver configuration, the option 'Deactivate standard double point value mapping' remains inactive by default. To use the modules from zenon Energy, for example the command input functions, the driver assigns values of the stVal attributes of DPS and DPC in accordance with the following table:

Dbpos value | zenon value
Difference position (00) | 2
Off (01) | 0
On (10) | 1
Invalid (11) | 3

The driver only converts values for variables with the name *stVal and data type UDINT.

Quality bits, time stamp and TimeQuality bit mapping

The driver can support received attributes 'q' and 't' in corresponding project variables if these have been created.
However the driver always assigns the selected Quality Bits (of the 'q' attribute) and TimeQuality Bits (of the 't' attribute) of the corresponding status bits to each zenon variable that was created for an attribute of the data object and for which FC=ST or FC=MX, for example status bits of stVal. The driver also assigns the value of the 't' attribute to the time stamp of all ST/MX variables of the data object. For example: Receiving the time stamp as a 't' attribute is used for the corresponding stVal variable in the CEL. The driver automatically uses the time stamp and the quality of the data object for all its variables that were created in the project. For this reason, no variables need to be created separately for the attributes 'q' and 't', except if you want to analyze quality bits that have not been assigned any status bits.

The selected Quality and TimeQuality bits are assigned to the status bits of the variables of the data objects that respond as follows:

IEC61850 Quality or TimeQuality bits | Status bit in zenon | Notes
Validity = Invalid, Reserved or Questionable | INVALID | Identified by a red square on the linked element.
Overflow | OV_870 (Overflow) | Also an IEC 60870 status
Source = Substituted | SB_870 (substituted) | Also an IEC 60870 status
Test | TEST (test bit) | Also an IEC 60870 status
OperatorBlocked | BL_870 (Blocked) | Also an IEC 60870 status
ClockFailure | T_INVAL (invalid time) and T_INTERN (internal time) | The value of the 't' attribute is ignored - stVal has the time stamp of the local PC time.
ClockNotSynchronized | T_INVAL (invalid time) and T_EXTERN (external time) |

The TimeQuality bit LeapSecondsKnown is not assigned T_INVAL.

The variables of the data object without 't' attribute (or with 't' value of 0) and the variables with other FC as ST/MX receive the time stamp of the local PC time.

info Info

You can evaluate status bits (such as T_INVAL) by using a combined element or reaction matrix ('multi' type) and you can also filter in the CEL or AML.

Filetransfer

There are three functions implemented for the file transfer:

  1. Request folder information
  2. Get file from server
  3. Delete file

1. Request folder information

To request folder information:

  1. Create, in your zenon project, two file transferdriver object type string variables with the corresponding network address:
    1. The first variable, hereafter called the command variable, with the name "SERVER!Command" can also be used to get files and to delete them.
    2. The second variable with the name "SERVER!Directory" is only used for the result of the folder query. It receives the folder content as legible text. For this reason, its size should correspond to the maximum size of the file name (including the folder) in the PLC.
  2. For the command variable, set the value "DIR" (for the root directory) or "DIR <file_spec>".
    <file_spec> is a string that is sent to the server as a transfer parameter.

If the folder has been successfully received:

  • The command variable changes its value to "DIR OK"
  • The folder variable contains the received folder content as legible text. One line of this text has the following format:

    <File name>;<File length>;<Time stamp>.

2. Get file from server

To get a file from the server, set the value "GET <File name> for the command variable".

If the file has been successfully received:

  • It is saved in the folder that was defined as Directory for file transfer in the driver dialog basic settings.
    Files from a subfolder are also stored in the main folder.
  • The command variable changes its value to "GET OK"

3. Delete file

To delete a file from the server, set the value "DEL <File name>". for the command variable".

If the file was deleted successfully, the command variable changes its value to "DEL OK"

Troubleshooting

If errors occur when carrying out the file transfer, such as the server responding negatively, the command variable changes its value to "XXX ERROR" (XXX = DIR, GET or DEL) and the driver optionally writes an entry into the log file (see also error analysis).

Limitations

Attributes of type 'ARRAY OF' are not supported. All other Logical Nodes, Common Data Classes and data attribute types - as defined in IEC 61850-7-3 and IEC 61850-7-4 - are supported.

See the appendix, under PICS (and MICS) to find out more information about supported or required services.


Reporting

IEC850 -> Reporting

Reporting was introduced by the IEC 61850 standard for spontaneous communication. The variables that are linked with a successfully activated Report are no longer polled, but a reported by the PLC if there is a value change. The variables that are reported if a client activates a special report control block (RCB) are saved in the DatSet (Data Set) attribute of the RCB. The DatSet attribute is a visible string for the name of the data object, the value change of which is reported spontaneously by the IEC 61850 server.

The IEC850 driver supports Buffered and Unbuffered Reporting with the data predefined in the PLC and with Dynamic Data Sets - with the DatSet attribute, which was dynamically defined during activation of the RCB.

As envisaged by the IEC 61850 Standard, for a Report data object with Functional Constraints (FC) the following is available:

  • Status (ST)
  • Measurands (MX)

In a data set:

  • Data objects with different FCs can be used together if the IEC 61850 server supports this.
  • Data objects from different Logical Devices can be contained.

To make activation of reporting possible, the following conditions should be met:

  • The data set and the Reporting Control Block that uses the data set must be in the same Logical Device.
  • At least one variable of the Logical Node, in which the RCB is included, must have been created in the project. Otherwise the driver does not take this Logical Node into account at all.
    Exception: LLN0. The logical node LLN0 is automatically taken into account for each logical device if the LD has at least one variable that was created in the project variable list.

attention Attention

If you configure the data sets in the PLC, you cannot add data attributes, only whole data objects. Otherwise the time stamp and quality information in the driver cannot be edited, because they are not sent by the PLC (see also standard 61850-7-2 14.2.3.2.2.9, figure 23)
The driver only activates reports in which data sets contain whole data objects.

The basic configuration of the reporting is carried out in driver configuration - server. The configured Buffered Reports in the driver configuration has a higher priority than the Unbuffered Reports. If the activation of the Buffered Reports is not successful, the driver will instead activate Unbuffered Reports, which contain the required objects as well as the data sets. If you do not want the driver to activate the Unbuffered Reporting, set the max. auto used URCBs property in the driver configuration to 0.

If the driver cannot activate the reports for any reason, polling is used instead.

info Info

When activating reporting, the driver can (optionally) write log entries, in which it can be seen which variables are no longer polled but were successfully activated in reporting (in the 'general text' column).

Trigger Options

The driver supports all Trigger Conditions, that are used to trigger the sending of the report. The Trigger Options (TrgOps) define which value change of a data instance is reported. The driver attempts to activate all configured TrgOps when the report is activated, but ignores write errors. If writing is unsuccessful, the Trigger Options that were already configured in the SCL file (or by the IED program) of the IEC61850 server are used.
You can activate/deactivate the individual Trigger Options via checkbox if you deactivate checkbox Use preconfigured TrgOps. This settings is true for all RCBs.

The TrigerConditions data attribute type that was assigned to the MMS Bitstring(6) in accordance with the standard if the corresponding *TrgOps[RP|BR] variable was created during import, corresponds to the UDINT data type in zenon by default (Motorola format, bit 0 highest value in its octet). In addition, the driver allows such variables with the data type STRING instead of UDINT. The value of the string has a length of 6 and only contains the characters "0" and "1" in a sequence that is the same as that of the bits defined in the standard, for example the value as a string "011111" (as UDINT=124=01111100b) means that all trigger condition bits except bit 0 - 'Reserved' are set and the value "000010" (as UDINT=8=00001000b) - only bit 4 - 'intergity'.


Unbuffered Reporting

IEC850 -> Reporting -> Unbuffered Reporting

The IEC850 driver supports two variants of Unbuffered Reports:

  1. Automatic assignment: All existing Reporting Control Blocks is checked in terms of content(data sets). Reports that contain most variables of a project are registered first;
  2. Static assignment: The driver uses the assignment of Reporting Control Blocks to the client computer as it is defined in the driver configuration - client configuration.

Automatic assignment

Automatic assignment works with pre-defined data sets and pre-configured assignments of data sets to Reporting Control Blocks in the PLC.

Whilst the driver starts, all data sets that are present in the server are read off and ordered according to their usability (number of project variables included). This sorting indicates the sequence in which the driver attempts to activate free URCBs for reporting. At most, only as many URSBs are activated as are defined in Drive configuration in the max. auto used URCBs property. All data objects of the data sets that are successfully linked to an active RCB are no longer polled but are reported in the event of a value change.

Rules for conflicts that occur

When activating reporting, the driver also recognizes reports with the same content; the name of these reports can be different. Before the RCBs are sorted for the zenon project according to their usability, the driver first sorts the data objects of the data sets of each RCB and compares them in order to avoid duplicates. The following applies for conflicts when activating the Reporting:

  • For the same reports - with identical or different sequences of the same data objects: Only one report is activated.
  • If a report is already occupied by another client, the next free report is activated.
  • If all reports are already occupied by other clients, the data points are polled.

Example of automatic allocation

The following variables are available in your project

The */urcbMXA01/* variables are for information only. The variables for the RCB attributes need not necessarily exist in the zenon project in order for reporting to work. The PLC also contains a data set GEDeviceF650/LLN0$MMXU1$MX with the following content.

This data set is assigned to RCB LLN0$RP$urcbMXA01 in the PLC. To do this, enter the name of the data set in the DatSet attribute of this RCB.

The RCBs LLN0$RP$urcbMXA01 and LLN0$RP$urcbMXB01 are activated when the driver starts (if they are still free).
Because there are no further suitable RCBs that have project variables in their datasets, the remaining RCBs are not used. If the project also contains a variable that is included in the data set GEDeviceF650/LLN0$eveGGIO1$ST, this would mean the LLN0$RP$urcbSTA01 is also activated.

Static assignment

For static assignment, the Reporting Control Blocks that can be used is defined and fixed in the driver configuration - statically assigned RCB. The driver attempts to activate all listed Reporting Control Blocks, regardless of its content.
If, in the driver configuration, a Dynamic Data Set was entered, the driver in the PLC assigns this data set to the RCB, by changing the value of the DatSet attribute of this block before the report is activated.
If no Dynamic Data Set was entered, the data set pre-defined in the PLC is valid (just as with automatic assignment).

If a block was activated successfully, all data objects that are contained in its data set are no longer polled but are reported if a value is changed.


Buffered Reporting

IEC850 -> Reporting -> Buffered Reporting

For Buffered Reports, an IEC61850 server saves the changes in the time in which a connected client cannot be reached. If the client (the IEC850 driver) is online again (if the connection is resetablished, for example), the driver reads all changes and processes them; it creates omitted alarms, for example.

There is no automatic allocation for Buffered Reporting. The allocation of BRCBs to the driver is always static:

  • Either using the driver configuration as described for static allocation with unbuffered reporting;
  • Or for reasons of compatibility with older drivers that were used to configure the SCL file using the Report ID of the BRCBs (the Use Report-ID for RCB assignment should be activated in the driver configuration).

If the assignments are to be configured in the SCL file, the assigned report ID (RptID) of the BRCB must contain a string with the following nomenclature 'zenon_Computername_*'; for example: zenon_MyPC_Measurands1. The driver thwen uses the data set of RCB, which has a fixed link to the SCL file. A Buffered Report can only be activated by a host. To prevent the driver from activating all Buffered Reports and blocking access for other IEC61850 clients, they must be explicity defined in the driver configuration.

Irrespective of this, the basic behavior is the same as with Unbuffered Reporting.

BRCB buffer

  • The driver automatically deletes the content of the BRCB buffer if the connection was only established after Runtime has been started.
  • If the buffer is to be retained,
    • You must activate the Do not purge BRCB buffer at start option in the basic settings;
    • The last received Entry ID for the BRCB must be present.
  • If the connection is lost and re-established without Runtime being started again, the buffer is retained and the data is collected.

The driver saves the last received entry ID for each BRCB every minute or if the driver is closed in a fle in the Runtime data directory.

Buffered reports and zenon Reducndancy

Because zenon supports redundancy (see zenon network) and a BRCB can only be activated once by a PC, you must define separately,for the project server and the standby server, which PC is to activate which report. The driver is started on bothe the server and the standby and checks the driver configuration (Host name property), to see if it finds a configuration that corresponds to the computer names that is running on Runtime.

For this reason, you need two copies of the Buffered Report in the event of a redundant configuration; one for the driver that runs on the project server and and one for the driver that runs on the standby server. You also create two entries in the RCB assignment list in the driver configuration. One with the computer name of the project server and one with the computer name of the standby server. When entering the configuration of the project server, the first copy of the BRCB isentered and the second copy when entering the configuration of the stanby-server.

attention Attention

Even if you do not use redundancy, you must nevertheless define which reports are used for the PC (Host name property) in the driver configuration on which zenon Runtime runs.


Dynamic Data Sets

IEC850 -> Reporting -> Dynamic Data Sets

To use Dynamic Data Sets, the two sservices CreateDataSet() and DeleteDataSet() must be supported by the IEC 61850 server awerden und the DatSet attribute must be able to be written to in the Reporting Control Blocks (SCL: ReportSettings.datSet="Dyn"). When configuring, you must take into account all possible server restrictions such as the maximum number of elemnts in the data set (SCL: DynDataSet.max und maxAttributes).

Dynamic Data Sets lists data objects and are configured in the dynamic DataSet configuration dialog. They can be used for Unbuffered Reporting and for Buffered Reporting, but only if static assignments with RCBs were configured in the driver configuration - client configuration.

If, in the driver configuration, a Dynamic Data Set was entered for an RCB, the driver in the PLC assigns this data set to the RCB, by changing the value of the DatSet attribute before the Report is activated.

The creation of a dynamic data set can be checked in the Diagnosis Viewer:

Before the statically assigned Reporting Control Blocks is activated, all dynamic data sets that are linked to them via driver configuration - client configuration are compared to those on the IEC 61850 server. All Dynamic Data Sets avaialbe on the server that are not (or no longer) required are deleted. All Dynamic Data Sets not available on the server are created and all data sets that are avaialable on both sides are checked to see that they have the same content. If the content is different, they are deleted and created again. However, the driver only deletes the data sets that it has created itself. If the driver cannot delete a data set, the asigned RCB is activated with the pre-existing data set.

The deletion of a dynamic data set can be checked in the Diagnosis Viewer:

The dynamic data sets that were created in Runtime (using the CreateDataSet() service) receive a client-depenent name on the server, in order for them to be easily found again. The nomenclature of the Dynamic Data Set name is as follows:

LLN0$ZENON_hostname_datasetname. Here:

Hostname is the computer name of the clients is as defined in the driver configuration - client configuration under Hostname and
datasetname is the name that was defined iin the driver configuration - Dynamic DataSet configuration.

If no Dynamic Data Set was entered in the RCB configuration of the driver, the pre-defined data set in the PLC is not valid.


Driver commands

IEC850 -> Driver commands

This chapter describes standard functions that are valid for most zenon drivers. Not all functions described here are available for every driver. For example, a driver that does not, according to the data sheet, support a modem connection also does not have any modem functions.

Driver commands are used to influence drivers using zenon; start and stop for example.
The engineering is implemented with the help of function Driver commands. To do this:

  • create a new function
  • select Variables -> Driver commands
  • The dialog for configuration is opened

Parameters

Description

Drivers

Drop-down list with all drivers which are loaded in the project.

Current state

Fixed entry which has no function in the current version.

Driver commands

Drop-down list for the selection of the command.
  • Start driver (online mode)

Driver is reinitialized and started.
  • Stop driver (offline mode)

Driver is stopped. No new data is accepted.

Note: If the driver is in offline mode, all variables that were created for this driver receive the status switched off (OFF; Bit 20).

  • Driver in simulation mode

Driver is set into simulation mode.
The values of all variables of the driver are simulated by the driver. No values from the connected hardware (e.g. PLC, bus system, ...) are displayed.
  • Driver in hardware mode

Driver is set into hardware mode.
For the variables of the driver the values from the connected hardware (e.g. PLC, bus system, ...) are displayed.
  • Driver-specific command

Enter driver-specific commands. Opens input field in order to enter a command.
  • Activate driver write set value

Write set value to a driver is allowed.
  • Deactivate driver write set value

Write set value to a driver is prohibited.
  • Establish connection with modem

Establish connection (for modem drivers) Opens the input fields for the hardware address and for the telephone number.
  • Disconnect from modem

Terminate connection (for modem drivers)

Show this dialog in the Runtime

The dialog is shown in Runtime so that changes can be made.

Driver commands in the network

If the computer, on which the driver command function is executed, is part of the zenon network, additional actions are carried out. A special network command is sent from the computer to the project server, which then executes the desired action on its driver. In addition, the Server sends the same driver command to the project standby. The standby also carries out the action on its driver.

This makes sure that Server and Standby are synchronized. This only works if the Server and the Standby both have a working and independent connection to the hardware.


Error analysis

IEC850 -> Error analysis

Should there be communication problems, this chapter will assist you in finding out the error.


Analysis tool

IEC850 -> Error analysis -> Analysis tool

All zenon modules such as Editor, Runtime, drivers, etc. write messages to a joint log file. To display them correctly and clearly, use the Diagnosis Viewer program that was also installed with zenon. You can find it under Start/All programs/zenon/Tools 7.00 -> Diagviewer.

zenon driver log all errors in the log files. The default folder for the log files is subfolder LOG in directory ProgramData, example: C:\ProgramData\zenon \zenon700\LOG for zenon version 7.00 SP0. Log files are text files with a special structure.

Attention: With the default settings, a driver only logs error information. With the Diagnosis Viewer you can enhance the diagnosis level for most of the drivers to "Debug" and "Deep Debug". With this the driver also logs all other important tasks and events.

In the Diagnosis Viewer you can also:

  • follow currently created entries live
  • customize the logging settings
  • change the folder in which the log files are saved

Hints:

  1. In Windows CE even errors are not logged per default due to performance reasons.
  2. The Diagnosis Viewer displays all entries in UTC (coordinated world time) and not in local time.
  3. The Diagnosis Viewer does not display all columns of a log file per default. To display more columns activate property Add all columns with entry in the context menu of the column header.
  4. If you only use Error logging, the problem description is in column Error text. For other diagnosis level the description is in column General text.
  5. For communication problems many drivers also log error numbers which the PLC assigns to them. They are displayed in Error text and/or Error code and/or Driver error parameter(1 and 2). Hints on the meaning of error codes can be found in the driver documentation and the protocol/PLC description.
  6. At the end of your test set back the diagnosis level from Debug or Deep Debug. At Debug and Deep Debug there are a great deal of data for logging which are saved to the hard drive and which can influence your system performance. They are still logged even after you close the Diagnosis Viewer.

info Info

You can find further information on the Diagnosis Viewer in the Diagnose Viewer chapter.


Check list

IEC850 -> Error analysis -> Check list

Most problems arise if some basic things are overlooked (such as network problems, firewall) or rules are not followed (such as addressing, driver-specific functions) or from the IEC 61850 standard itself. Check your ssytem point for point using the driver documentation; for example driver configuration, addressing of the variables in zenon projects, report settings in the control unit, etc.

Check most of all:

  • Is the device (IEC 61850 server) connected to the power grid and ready for use?
    • Can a TCP connection to the device be created (check this using a 'ping') via the defined port (check this via Telnet)?
    • Is communication between this device and another IEC 61850 client possible?
    • Is the driver in hardware mode and not in simulation mode?
  • Have you evaluated errors that are logged in the log file?
    • Which errors occurred?
    • Was the diagnosis logging at least activated for the error level for all driver modules?
    • Have you taken into account that the times in the Diagnosis Viewer are always UTC?
    • Is the Diagnose Viewer set so that all registered and all columns are diplayed with the content (filtering)?
  • Variable addressing:
    • Do all variables have the right addresses?
    • Are the names (or identifications) of the variables valid (SERVER!LD/LN/DO/DA[FC])?
    • Do the variables have the right driver object type, data type and value range?
  • General information and reporting:
    • Is at least one variable from Logical Device polled?
    • Doe the RCB contain the whole data objects (not just the data attributes */stVal, but also */q and */t)?
    • Does the max. auto used URCBs property have the correct value?
    • Is reporting available in the device?
    • If defined in the SCL file: Does the report ID of Buffered RCB contain the string "zenon_Computername*"?
    • For Dynamic Data Set: Is the data set describable in the Reporting Control Block?
    • Have you taken ini account limitaitons of the device, such as the maximum number of elemtents in the data set etc. ?


Appendix A - Description of the ‘Functional Constraints’ (FCs):

IEC850 -> Appendix A - Description of the ‘Functional Constraints’ (FCs):

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. For any questions regarding the documentation please contact: documentation@copadata.com
FC | Semantics | Description
ST | Status information | Stands for status information, the value of which can be read, replaced, reported and logged, but not written.
MX | Measurands (analogue values) | Stands for status information, the measured size of which can be read, replaced, reported and logged, but not written.
CO | Control | represents a control information whose value may be operated (control model) and read.
SP | Setpoint | represent a set-point information whose value may be controlled (control model) and read.
SV | Substitution | represents a substitution information whose value may be written to substitute the value attribute and read.
CF | Configuration | represents a configuration information whose value may be written and read.
DC | Description | represents a description information whose value may be written and read
EX | Extended definition | represents an extension information providing a reference to a name space. Extensions are used in conjunction with extended definitions of LNs, DATA, and DataAttributes in 61850-7-3 and IEC 61850- 7-4. Value may be read.


Appendix B - Abbreviations for data object/data attribute

IEC850 -> Appendix B - Abbreviations for data object/data attribute

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. For any questions regarding the documentation please contact: documentation@copadata.com
Term | Description
f | floating point (analog value)
i | integer (analog value)
d | Visible String(255)
q | Quality
t | Timestamp
A | Current
Acs | Access
ACSI | Abstract Communication Service Interface
Acu | Acoustic
Age | Ageing
Alm | Alarm
Amp | Current non phase related
To | Analogue
Ang | Angle
Auth | Authorization
Auto | Automatic
Aux | Auxiliary
Av | Average
B | Bushing
Bat | Battery
Beh | Behavior
Bin | Binary
Blk | Block, blocked
Bnd | Band
Bo | Bottom
Cancel | Cancel
Cap | Capability
Capac | Capacitance
Car | Carrier
CB | Circuit Breaker
CDC | Common Data Class
CE | Cooling Equipment
Cf | Crest factor
Cfg | Configuration
CG | Core Ground
Ch | Channel
Cha | Charger
Chg | Change
Chk | Check
Chr | Characteristic
Cir | Circulating
Clc | Calculate
Clk | Clock, clockwise
Cls | Close
Cnt | Counter
Col | Coil
Cor | Correction
Crd | Coordination
Crv | Curve
CT | Current Transducer
Ctl | Control
Ctr | Center
Cyc | Cycle
Dea | Dead
Den | Density
Det | Detected
DExt | De-excitation
Diag | Diagnostics
Dif | Differential, difference
Dir | Direction
Dis | Distance
Dl | Delay
Dlt | Delete
Dmd | Demand
Dn | Down
DPCSO | Double point controllable status output
DQ0 | Direct, Quadrature, and zero axis quantities
Drag | Drag hand
Drv | Drive
DS | Device State
Dsch | Discharge
Dur | Duration
EC | Earth Coil
EE | External Equipment
EF | Earth Fault
Ena | Enabled
Eq | Equalization, Equal
Ev | Evaluation
Ex | External
Exc | Exceeded
Excl | Exclusion
Ext | Excitation
FA | Fault Arc
Fact | Factor
Fan | Fan
Flt | Fault
Flw | Flow
FPF | Forward Power Flow
Fu | Fuse
Fwd | Forward
Gen | General
Gn | Generator
Gnd | Ground
Gr | Group
Grd | Guard
Gri | Grid
H | Harmonics (phase related)
H2 | Hydrogen
H2O | Water
Ha | Harmonics (non phase related)
Hi | High, highest
HP | Hot point
Hz | Frequency
IEEE | Institute of Electrical and Electronic Engineers
Imb | Imbalance
Imp | Impedance non phase related
In | Input
Ina | Inactivity
Incr | Increment
Ind | Indication
Inh | Inhibit
Ins | Insulation
Int | Integer
ISCSO | Integer status controllable status output
Km | Kilometer
R | Lower
LD | Logical Device
LDC | Line Drop Compensation
LDCR | Line Drop Compensation Resistance
LDCX | Line Drop Compensation Reactance
LDCZ | Line Drop Compensation Impedance
LED | Light Emitting Diode
Len | Length
Lev | Level
Lg | Lag
Lim | Limit
Lin | Line
Liv | Live
Lo | Low
LO | Lockout
Loc | Local
Lod | Load, loading
Lok | Locked
Los | Loss
Lst | List
LTC | Load Tap Changer
M | minutes
M/O | Data Object is Mandatory or Optional
Max | Maximum
Mem | Memory
Min | Minimum
Mod | Mode
Mot | Motor
Ms | Milliseconds
Mst | Moisture
MT | Main Tank
N | Neutral
Nam | Name
Net | Net sum
Ng | Negative
Nom | Nominal, Normalizing
Num | Number
Ofs | Offset
Op | Operate, Operating
Oper | Operate*
Opn | Open
Out | Output
Ov | Over, Override, Overflow
Pa | Partial
Par | Parallel
Pct | Percent
Per | Periodic
PF | Power Factor
Ph | Phase
Phy | Physical
Pls | Pulse
Plt | Plate
Pmp | Pump
Po | Polar
Pol | Polarizing
Pos | Position
POW | Point on wave switching
PP | Phase to phase
PPV | Phase to phase voltage
Pres | Pressure
Prg | Progress, in progress
Pri | Primary
Pro | Protection
Ps | Positive
Pst | Post
Pwr | Power
Qty | Quantity
R | Raise
R0 | Zero sequence resistance
R1 | Positive sequence resistance
Rat | Winding ratio
Rcd | Record, recording
Rch | Reach
Rcl | Reclaim
Re | Retry
React | Reactance; Reactive
Rec | Reclose
Red | Reduction
Rel | Release
Rem | Remote
Res | Residual
Ris | Resistance
Rl | Relation, relative
Rms | Root mean square
Rot | Rotation, Rotor
Rs | Reset, Resetable
Rsl | Result
Rst | Restraint
Rsv | Reserve
Rte | Rate
Rtg | Rating
Rv | Reverse
Rx | Receive, received
S1 | Step one
S2 | Step two
SBO | Select before operate*
SBOw | Select with value*
Sch | Scheme
SCO | Supply change over
SCSM | Specific Communication Service Mapping
Sec | Security
Seq | Sequence
Set | Setting
Sh | Shunt
Spd | Speed
SPl | Single Pole
SPCSO | Single point controllable status output
Src | Source
St | Status
Stat | Statistics
Stop | Stop
Std | Standard
Str | Start
Sup | Supply
Svc | Service
Sw | Switch
Swg | Swing
Syn | Synchronization
Tap | Tap
Td | Total distortion
Tdf | Transformer derating factor
Test | Test
Thd | Total Harmonic Distortion
Thm | Thermal
TiF | Telephone influence factor
Tm | Time
 | • Tmh = Time in h
 | • Tmm = Time in min
 | • Tms = Time in s
 | • Tmms = Time in ms
Tmp | Temperature (°C)
To | Top
Tot | Total
TP | Three pole
Tr | Trip
Trg | Trigger
Ts | Total signed
Tu | Total unsigned
Tx | Transmit, transmitted
Type | Type
Un | Under
V | Voltage
VA | Volt Amperes
Vac | Vacuum
Val | Value
VAr | Volt Amperes Reactive
Vlv | Valve
Vol | Voltage non phase related
VT | Voltage Transducer
W | Active Power
Wac | Watchdog
Watt | Active Power non phase related
Wei | Weak End Infeed
Wh | Watt hours
Wid | Width
Win | Window
Wrm | Warm
X0 | Zero sequence reactance
X1 | Positive sequence reactance
Z | Impedance
Z0 | Zero sequence impedance
Z1 | Positive sequence impedance
Zer | Zero
Zn | Zone
Zro | Zero sequence method

* SBO,SBOw,Oper, and Cancel are defined in IEC 61850-8-1:

Data attribute name | Semantics
SBO | Select – returns ACSI name of control
SBOw | SelectWithValue – receives service parameters
Oper | Operate – receives service parameters and control values
Cancel | Cancel – receives service parameters and control values


Appendix C - Conformance statement

IEC850 -> Appendix C - Conformance statement

The Confirmance Statement of the iec850 driver for the IEC61850 protocol is in English only.


Protocol implementation conformance statement (PICS)

IEC850 -> Appendix C - Conformance statement -> Protocol implementation conformance statement (PICS)

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. For any questions regarding the documentation please contact: documentation@copadata.com

Basic ACSI conformance statement

 |  | Client / subscriber | Server / publisher | Value / comments
Client-server roles
B11 | Server side (of TWO-PARTY-APPLICATION-ASSOCIATION) | - | C1 |
B12 | Client side of (TWO-PARTY-APPLICATION-ASSOCIATION) | C1 | - | supported
SCSMs supported
B21 | SCSM: IEC 61850-8-1 used |  |  | supported
B22 | SCSM: IEC 61850-9-1 used |  |  | not supported
B23 | SCSM: IEC 61850-9-2 used |  |  | not supported
B24 | SCSM: other |  |  | not supported
Generic substation event model (GSE)
B31 | Publisher side | - | O |
B32 | Subscriber side | O | - | not supported
Transmission of sampled value model (SVC)
B41 | Publisher side | - | O |
B42 | Subscriber side | O | - | not supported
C1 – shall be 'M' if support for LOGICAL-DEVICE model has been declared. O – Optional M – Mandatory

ACSI models conformance statement

 |  | Client / subscriber | Server / publisher | Value / comments
If Server side (B11) is supported
M1 | Logical device | C2 | C2 |
M2 | Logical node | C3 | C3 |
M3 | Data | C4 | C4 |
M4 | Data set | O | O |
M5 | Substitution | O | O |
Reporting
M7 | Buffered report control | O | O |
M7-1 | sequence-number |  |  |
M7-2 | report-time-stamp |  |  |
M7-3 | reason-for-inclusion |  |  |
M7-4 | data-set-name |  |  |
M7-5 | data-reference |  |  |
M7-6 | buffer-overflow |  |  |
M7-7 | entryID |  |  |
M7-8 | BufIm |  |  |
M7-9 | IntgPd |  |  |
M7-10 | GI |  |  |
M8 | Unbuffered report control | O | O |
M8-1 | sequence-number |  |  |
M8-2 | report-time-stamp |  |  |
M8-3 | reason-for-inclusion |  |  |
M8-4 | data-set-name |  |  |
M8-5 | data-reference |  |  |
M8-6 | BufIm |  |  |
M8-7 | IntgPd |  |  |
M8-8 | GI |  |  |
Logging
M9 | Log control | O | O |
M9-1 | IntgPd |  |  |
M10 | Log | O | O |
M11 | Control | M | M |
If GSE (B31/B23) is supported
 | GOOSE | O | O |
M12-1 | entry-ID |  |  |
M12-2 | DataRefInc |  |  |
M13 | GSSE | O | O |
 |  | Client / subscriber | Server / publisher | Value / comments
If SVC (B41/B42) is supported
M14 | Multicast SVC | O | O |
M15 | Unicast SVC | O | O |
M16 | Time | M | M | Time source with required accuracy shall be available
M17 | File Transfer | O | O |
C2 – shall be 'M' if support for LOGICAL-NODE model has been declared C3 – shall be 'M' if support for DATA model has been declared C4 – shall be 'M' if support for DATA-SET, substitution, Report, Log-Control, or Time model has been declared C5 – shall be 'M' if support for Report, GSE, or SV models has been declared M – Mandatory O - Optional

ACSI service conformance statement

ACSI Service Conformance |  | AA: TP/MC | Client / subscriber | Server / publisher | Comments
Server (Clause 6)
S1 | ServerDirectory | TP |  | M |
Application association (Clause 7)
S2 | Associate |  | M | M | supported
S3 | Abort |  | M | M | supported (on TCP/IP)
S4 | Release |  | M | M | not supported
Logical device (Clause 8)
S5 | LogicalDeviceDirectory | TP | M | M | supported
Logical node (Clause 9)
S6 | LogicalNodeDirectory | TP | M | M | supported
S7 | GetAllDataValues | TP | O | M | not supported
Data (Clause 10)
S8 | GetDataValues | TP | M | M | supported
S9 | SetDataValues | TP | O | O | supported
S10 | GetDataDirectory | TP | O | M | supported
S11 | GetDataDefinition | TP | O | M | not supported
Data set (Clause 11)
S12 | GetDataSetValues | TP | O | M | not supported
S13 | SetDataSetValues | TP | O | O | not supported
S14 | CreateDataSet | TP | O | O | supported
S15 | DeleteDataSet | TP | O | O | supported
S16 | GetDataSetDirectory | TP | O | O | supported
Substitution (Clause 12)
S17 | SetDataValues | TP | M | M | supported
Setting group control (Clause 13)
S18 | SelectActiveSG | TP | O | O | not supported
S19 | SelectEditSG | TP | O | O | not supported
S20 | SetSGValues | TP | O | O | not supported
S21 | ConfirmEditSGValues | TP | O | O | not supported
S22 | GetSGValues | TP | O | O | not supported
S23 | GetSGCBValues | TP | O | O | not supported
Reporting (Clause 14)
Buffered report control block (BRCB)
S24 | Report | TP | C6 | C6 | supported
S24-1 | data-change (dchg) |  |  |  |
S24-2 | qchg-change (qchg) |  |  |  |
S24-3 | data-update (dupd) |  |  |  |
S25 | GetBRCBValues | TP | C6 | C6 | supported
S26 | SetBRCBValues | TP | C6 | C6 | supported
Unbuffered report control block (URCB)
S27 | Report | TP | C6 | C6 | supported
S27-1 | data-change (dchg) |  |  |  |
S27-2 | qchg-change (qchg) |  |  |  |
S27-3 | data-update (dupd) |  |  |  |
S28 | GetURCBValues | TP | C6 | C6 | supported
S29 | SetURBCValues | TP | C6 | C6 | supported
C6 - shall declare support for at least one (BRCB or URCB)
Logging (Clause 14)
Log control block
S30 | GetLCBValues | TP | M | M | not supported
S31 | SetLCBValues | TP | O | M | not supported
Log
S32 | QueryLogByTime | TP | C7 | M | not supported
S33 | QueryLogAfter | TP | C7 | M | not supported
S34 | GetLogStatusValues | TP | M | M | not supported
C7 – shall declare support for at least one (QueryLogByTime or QueryLogAfter)

ACSI Service Conformance |  | AA: TP/MC | Client/ subscriber | Server/ publisher | Comments
Generic substation event model (GSE) (Clause 14.3.5.3.4)
GOOSE-CONTROL-BLOCK
S35 | SendGOOSEMessage | MC | C8 | C8 | not supported
S36 | GetGoReference | TP | O | C9 | not supported
S37 | GetGOOSEElementNumber | TP | O | C9 | not supported
S38 | GetGoCBValues | TP | O | O | not supported
S39 | SetGoCBValues | TP | O | O | not supported
GSSE-CONTROL-BLOCK
S40 | SendGSSEMessage | MC | C8 | C8 | not supported
S41 | GetGsReference | TP | O | C9 | not supported
S42 | GetGSSEElementNumber | TP | O | C9 | not supported
S43 | GetGsCBValues | TP | O | O | not supported
S44 | SetGsCBValues | TP | O | O | not supported
C-8 shall declare support for at least one (SendGOOSEMessage or SendGSSEMessage) C-9 shall declare support if TP association is available
Transmission of sampled value model (SVC) (Clause 16)
Multicast SVC
S45 | SendMSVMessage | MC | C10 | C10 | not supported
S46 | GetMSVCBValues | TP | O | O | not supported
S47 | SetMSVCBValues | TP | O | O | not supported
Unicast SVC
S48 | SendUSVMessage | TP | C10 | C10 | not supported
S49 | GetUSVCBValues | TP | O | O | not supported
S50 | SetUSVCBValues | TP | O | O | not supported
C10 – shall declare support for at least one (SendMSVMessage or SendUSVMessage)

Control (17.5.1)
S51 | Select |  | M | O | supported
S52 | SelectWithValue | TP | M | O | supported
S53 | Cancel | TP | O | O | supported
S54 | Operate | TP | M | M | supported
S55 | Command-Termination | TP | M | O | supported
S56 | TimeActivated-Operate | TP | O | O | not supported
File Transfer (Clause 20)
S57 | GetFile | TP | O | M | supported
S58 | SetFile | TP | O | O | not supported
S59 | DeleteFile | TP | O | O | supported
S60 | GetFileAttributeValues | TP | O | M | supported

ACSI Service Conformance |  | AA: TP/MC | Client / subscriber | Server / publisher | Comments
Time (5.5)
T1 | Time resolution of internal clock |  |  |  | Nearest negative power of 2 in seconds
T2 | Time accuracy of internal clock |  |  |  | T0
 |  |  |  |  | T1
 |  |  |  |  | T3
 |  |  |  |  | T4
 |  |  |  |  | T5
T3 | Supported TimeStamp resolution |  |  |  | Nearest value of 2**-n in seconds according to 5.5.3.7.3.3

Protocol Implementation Conformance Statement (PICS) for A-Profile support

A-Profile Shortcut

Profile description

Client

Server

Value/Comment

A1

Client/Server A-Profile

C1

C1

Client supported

A2

GOOSE/GSE Management A-Profile

C2

C2

not supported

A3

GSSE A-Profile

C3

C3

not supported

A4

TimeSync A-Profile

C4

C4

not supported

C1 Shall be 'M' if support for any service specified in Table 2 are declared within the ACSI basic conformance statement.

C2 Shall be 'M' if support for any service specified in Table 6 are declared within the ACSI basic conformance statement.

C3 Shall be 'M' if support for any service specified in Table 9 are declared within the ACSI basic conformance statement.

C4 Support for at least one other A-Profile shall be declared (e.g. in A1-A3) in order to claim conformance to IEC 61850-8-1.

PICS for T-Profile support

T-Profile Description |  | Client | Server | Value/Comment
T1 | TCP/IP T-Profile | C1 | C1 | Client supported
T2 | OSI T-Profile | C2 | C2 | not supported
T3 | GOOSE/GSE T-Profile | C3 | C3 | not supported
T4 | GSSE T-Profile | C4 | C4 | not supported
T5 | TimeSync T-Profile | O | O | not supported
C1 Shall be 'm' if support for A1 is declared. Otherwise, shall be 'i'. C2 Shall be 'o' if support for A1 is declared. Otherwise, shall be 'i'. C3 Shall be 'm' if support for A2 is declared. Otherwise, shall be 'i'. C4 Shall be 'm' if support for A3 is declared. Otherwise, shall be 'i'. i: out-of-scope. The implementation of the item is not within the scope of this standard.


Model implementation conformance statement (MICS)

IEC850 -> Appendix C - Conformance statement -> Model implementation conformance statement (MICS)

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. For any questions regarding the documentation please contact: documentation@copadata.com

Attributes of type 'ARRAY OF' are not supported. Everything else - logical nodes, common data classes and data attribute types - as defined in IEC 61850-7-3 and IEC 61850-7-4 - is supported.


Appendix D - PIXIT for COPA-DATA IEC61850 Client

IEC850 -> Appendix D - PIXIT for COPA-DATA IEC61850 Client

info Info

The PIXIT document for the certification test of the IEC850 driver is only available in English.

PIXIT based on a template provided by KEMA.

Introduction

This document specifies the protocol implementation extra information for testing (PIXIT) of the IEC 61850 interface in the client system: “COPA-DATA IEC850 - Driver for IEC61850 protocol” with version “6.51.0.4101”, further referred to as “Client”.

Together with the PICS and the MICS (see the client documentation) the PIXIT forms the basis for a conformance test according to IEC 61850-10.

The following chapters specify the PIXIT for each applicable ACSI service model as structured in IEC 61850-10 and the “Conformance Test Procedures for Client System with IEC 61850-8-1 interface” by KEMA.

PIXIT for Configuration

Description | Value / Clarification
Describe how the client handles nameplate configuration revision mismatches | The Client reads out data model at each associate and therefore does not need to check configuration revision.
Describe how the client handles report control block configuration revision mismatches | RCB configuration is read out at each associate.
<additional items> | The Client does not use items of pre-defined data model until reading them from data model from an online server. The SCL file is used only by offline import of variables to HMI project in the zenon Editor for pre-configuration. Please refer to client documentation for more details.

PIXIT for Association model

Description

Value / Clarification

Guaranteed number of servers that can set-up an association simultaneously (one association per server)

Per design: 65535
Tested: 50

Lost connection detection time range (default range of TCP_KEEPALIVE is 1 – 20 seconds)

The current TCP/IP timeout of Operating System

The connection loss to LD is only detected if at least one its attribute is currently polled.
Please refer Client documentation for more details

Lost (abort) connection retry time

30 seconds

Is authentication supported

N

What is the maximum and minimum MMS PDU size

Max MMS PDU size 65535
Min MMS PDU size dependent of max. DO

What is the typical startup time after a power supply interrupt

The Client works only together with the zenon Runtime and both are Windows applications.

1. Windows does not guarantee the files will be not corrupted after power failure. Please use an UPS to prevent loss of data stored on HDD.

2. There is no typical start-up time for the Client as the start-up time of the Runtime depends of HMI project design and PC performance. In practice, the Client opens TCP/IP session to a server after few (1‑4) seconds since application start.

PIXIT for Server model

Description

Value / Clarification

Maximum object identification length

LD: 128 chars/octets
LN: 16 chars/octets
DO: 128 chars/octets
DA: 128 chars/octets
FC: 2 chars/octets

Does client support autodescription

In the Runtime the Client reads data model only via MMS. Then the Client does not use data not responded via MMS by association.

In the HMI Editor (by pre-configuration of the HMI project) the Client can read the data model from SCL file (off-line import) or from the server via MMS (on-line import) or data can be configured manually (variable creation).
Please refer to HMI documentation for more details.

What analogue value (MX) quality bits are used in the client

Y Good,
Y Invalid,
Y Reserved,
Y Questionable
Y Overflow
Y OutofRange
Y BadReference
Y Oscillatory
Y Failure
Y OldData
Y Inconsistent
Y Inaccurate
Y Process
Y Substituted
Y Test
Y OperatorBlocked

Which status value (ST) quality bits are used in the client

Y Good,
Y Invalid,
Y Reserved,
Y Questionable
Y BadReference
Y Oscillatory
Y Failure
Y OldData
Y Inconsistent
Y Inaccurate
Y Process
Y Substituted
Y Test
Y OperatorBlocked

Describe how to view/display quality values

1.zenon Status Bits by stVal variable in HMI (only selected bits.
Please refer Client documentation for more details.),

2.the value of */q variable in HMI, if created

Describe how to force a SetDataValues request

Set value to the variable created in HMI - mirroring an attribute.
Please refer HMI documentation for more details.

Describe how to force a GetAllDataValues request

not used

Describe how the client behaves in case of:

  • GetDataDefinition response-
  • GetLogicalDeviceDirectory response-
  • GetAllDataValues response-
  • GetDataValues response-
  • SetDataValues response-

  • I-Bit* + log entry
  • I-Bit* + log entry
  • not supported
  • I-Bit* + log entry
  • log entry

*Status bit INVALID of variables mirroring DO/DA.
Please refer to HMI documentation for more details.

PIXIT for Data set model

Description

Value / Clarification

Describe how to force a GetDataSetValues request

not used

Describe how to force a SetDataSetValues request

not used

Describe how to force a DeletaDataSet request

would be done automatically according Client configuration for Dynamic Data Sets.
Please refer client documentation for more details.

Describe how the client handles following dataset mismatches between the SCL and the data sets exposed via MMS:

  1. new dataset element
  2. missing dataset element
  3. Reordered dataset members in a dataset of a different data type
  4. Reordered dataset members in a dataset of the same data type

SCL file is not used in the Client during communication; it can be used to pre-configure the project in HMI

Describe how the client behaves in case of:

  • GetLogicalNodeDirectory(DATA-SET) response-
  • GetDataSetDirectory response-

log entry + data will be polled (no reporting)

Does the client support the creation of:

  • persistent datasets
  • non-persistent datasets

  • Y
  • N

Describe how the client behaves in case of:

  • CreateDataSetDirectory response-
  • DeleteDataSet response-

  • log entry + data will be polled (not reported)
  • log entry + old dataset used for reporting

PIXIT for Substitution model

Description | Value / Clarification
Describe how to substitute a value | For attributes with FC = SV (*/subEna, subQ, subID and e.g. subVal) create variables in the HMI project. Then first set values to be substituted (*/subVal, subQ, subID) and then set value TRUE to variable */subEna. Please refer to HMI documentation for more details about setting variable values
<additional items> | There is a second method to make substitution only in HMI - e.g. when an IEC 61850 server does not support substitution. Any variable created in the HMI project can be turned to alternative value and that makes the HMI to simulate it. Please refer description of status bit ALT_VAL in the HMI manual for more details.

PIXIT for Setting group control model

Description

Value / Clarification

Describe how to change the active setting group

not supported

Describe how to get the actual setting group values

not supported

Describe how to edit setting group values

not supported

Describe how the client behaves in case of:

  • GetSGCBValues response-
  • The configured SG is different than the actual setting group

not supported

PIXIT for Reporting model

Description

Value / Clarification

Does the client search for RCB in all logical nodes? When not specify the logical nodes

Y All logical nodes* or
Y The following logical nodes**:

  • LLN0
  • RCBs assigned in the Client configuration
  • BRCBs with RptID=zenon_computername_*

* for automatic allocation of URCBs
** for static allocation of URCBs and BRCBs
Please refer to client documentation for more details.

Which dynamic RCB attributes are/can be configured by the client

N RptID
Y DataSet
Y (fix)* Optional fields
Y (fix)* Trigger conditions
N Buffer time
N Integrity period
*are pre-configured; cannot be changed dynamically.

Does the client support IED's with indexed and non-indexed report control blocks (RCB)

Y Buffered RCB indexed
Y Buffered RCB not indexed
Y Unbuffered RCB indexed
Y Unbuffered RCB not indexed

The supported trigger conditions are

Y integrity
Y data change
Y quality change
Y data update
Y general interrogation
Please refer to client documentation for more details.

The minimum required optional fields are

N sequence-number
N report-time-stamp
N reason-for-inclusion
Y* data-set-name
N data-reference
N buffer-overflow
Y* entryID
N conf-rev
*by BRCB allocation the Client sends OptFlds = 0100100000b. But the Client can receive reports with any additional optional field, not only this minimum; the optional fields not required are just ignored

Does the client support segmented reports

N

Does the client support pre-assigned RCB

Y

Does the client support reported data set containing structured data objects or data attributes?

Y reporting of data objects
N reporting of data attributes

Describe how the client does respond when an URCB is already reserved

log entry + trying to use another one if dynamically allocated, fallback polling

Describe how the client does respond when a BRCB is already reserved

log entry + trying to use another one if dynamically allocated, fallback polling

Describe how the client does respond on a SetBRCBValues(EntryID) respond-

log entry

Describe how the client does respond when a report has an unknown: dataset, RptId, unexpected number of dataset entries, and/or unexpected data type format entries

Dataset directory and RCB configuration is read out at each associate

Describe how the client detect reporting configuration changes (mismatches). Does it check the "configuration revision" attributes and/or does it check the dataset members?

RCB configuration is read out at each associate, "configuration revision" doesn’t care

Describe how to force the client to change the RCB buffer time

not used

PIXIT for Logging model

Description | Value / Clarification
Does the client search for LCB in all logical nodes? when not specify the logical nodes | not supported
Describe how to change LOG and LCB attributes | not supported

PIXIT for Generic substation events model

Description

Value / Clarification

What elements of a subscribed GOOSE header are checked to decide the message is valid and the allData values are accepted?

Ignored = element value is not checked, message will be accepted

SCL match = element value should match with the configuration, otherwise the GOOSE message will be ignored

not supported

For the checked GOOSE header elements describe the checking conditions in more detail when necessary

not supported

What is the behavior when one subscribed GOOSE message isn’t received or syntactically incorrect (missing GOOSE)

not supported

What is the behavior when one subscribed GOOSE message exceeds the previous time Allowed to Live (TAL)

not supported

What is the behavior when a subscribed GOOSE message is out-of-order

not supported

What is the behavior when a subscribed GOOSE message is duplicated

not supported

May the GOOSE data set contain structured data objects?

Y/N

PIXIT for Control model

Description

Value / Clarification

What control modes are supported

Y status-only
Y direct-with-normal-security
Y sbo-with-normal-security
Y direct-with-enhanced-security
Y sbo-with-enhanced-security

For each use of */Oper.ctlVal[CO|SP], the driver automatically checks actual */ctlModel[CF]. Depending on the value of that attribute, the corresponding control model is executed.
Please refer client documentation for more details.

Is Time activated operate (operTm) supported

N

Is "operate-many" supported

N

Can the client set the test flag?

N

What check conditions can be set

Y synchrocheck
Y interlock-check

There are two methods to set check conditions for Operate and SelectWithValue:

1. Check condition can be predefined by setting a value to /Oper.Check[CO]. The actual value of this attribute is used for command service parameter;

2. in the IEC 61850 interface (HMI): by setting in Command processing: Action its property Qualifier of Command (Please refer HMI Help)

Which originator categories are supported and what is the originator identification?

orCat =2 (station control)
orIdent ='zenon: nnn'
where: nnn - computer name
' - apostrophe (CHAR(27))

Describe if and how the client sets/increments the ctlNum

for each use of any ctlVal[CO|SP] the Client increments* ctlNum from 0 to 127 and next turns to 0.
* also by ctlModel=0 (no control possible)

What does the client when its receives a LastApplicationError and describe how to view the additional cause?

The Client gives possibility to create (pro /Oper structure) an internal "State Info" variable for received AddCause item value and variables ControlRun and ControlState showing current state and success/fail of command. These internal variables can be display and store in the HMI project.
Please refer to client documentation for more details.

What does the client when it receives a Select, SelectWithValue or Operate respond negative ?

The Client sets corresponding values to intern variables ControlRun (-1=error) and AddCause. Optionally writes a LOG entry.
Please refer to client documentation for more details.

Can the client change the control model via online services?

Y

What does the client when the ctlModel is not initialized in the SCL?

out of scope
The Client does not read ctlModel from SCL, only via MMS

<additional items>

PIXIT for Time and time synchronization model

Description

Value / Clarification

Describes how to view the internal time & quality or how to expose the timestamp and timestamp quality via the IEC 61850 interface

The Client uses Windows time (local PC clock), thus the Client does not cooperate directly with any SNTP application. The Client does not send timestamp quality to control object.

What time quality bits are supported

N LeapSecondsKnown
Y* ClockFailure
Y* ClockNotSynchronized
*only time quality bit received in t attribute

What is the behavior when the time synchronization signal/messages are lost

Not applicable

When is the quality bit "Clock failure" set?

The Client does not set any time quality bits, it supports receipt of ClockFailure

When is the quality bit "Clock not synchronized" set?

The Client does not set any time quality bits, it supports receipt of ClockNotSynchronised

<additional items>

The Client maps time quality bits received in t attribute into Status bits of variables responding same DO in the HMI project:

  • ClockNotSynchronised
    - status bits T_INVAL & T_EXTERN
  • ClockFailure
    - status bits T_INVAL & T_INTERN (and changes time attribute to HMI time).

Please refer to client documentation for more details.

PIXIT for File transfer model

Description | Value / Clarification
Describe when or how to force the client to request GetServerDirectory(FILE) and what it does with the responded filenames | The Client gives possibility to create two internal string variables: a Command and a Directory variable. Setting value of Command to: "DIR <fileSpec>" results with the name or list of files in Directory variable. Please refer to client documentation for more details.
Does the client use a wildcard in the GetServerDirectory(FILE) request | No
Does the client support IED’s that include the path in the file name in the GetServerDirectory(FILE) respond? | Y path included Y path not included Y list of files with a char separator
Does the client support IED’s that use the file separator | N "/" Y "\"
What is the maximum file name size including path | OS limit, e.g. Windows Vista - 256 chars
Can the client read a file with size 0 | Y
Are directory/file name case sensitive | Not case sensitive only Command value is case sensitive: "DIR <fileSpec>" or "GET <fileSpec>", the <fileSpec> is not case sensitive
Maximum file size | per design 4 GB practical* 25 MB * transfer of 25 MB takes about 40 seconds, bigger transfers wasn't tested
Describe how the client behaves in case of: GetFileAttributes response- | Command Variable value changes to "DIR ERROR" (or "GET ERROR" for GetFile response-)
<additional items> | For DeleteFile set Command variable value to "DEL <fileSpec>"