IEC850
IEC850
IEC850
v.8.00
©2018 Ing. Punzenberger COPA-DATA GmbH
Distribution and/or reproduction of this document or parts thereof in any form are permitted solely
with the written permission of the company COPA-DATA. Technical data is only used for product
description and are not guaranteed qualities in the legal sense. Subject to change, technical or
otherwise.
Contents
2. IEC850 ......................................................................................................................................... 6
4. Requirements .............................................................................................................................. 8
4.1 PC ................................................................................................................................................................ 9
5. Configuration .............................................................................................................................. 9
5.1 Creating a driver ........................................................................................................................................ 10
5.2 Settings in the driver dialog ...................................................................................................................... 13
5.2.1 General ....................................................................................................................................... 14
5.2.2 Driver dialog basic settings ......................................................................................................... 18
5.2.3 Connections ................................................................................................................................ 24
ZENON VIDEO-TUTORIALS
You can find practical examples for project configuration with zenon in our YouTube channel
(https://www.copadata.com/tutorial_menu). The tutorials are grouped according to topics and give an
initial insight into working with different zenon modules. All tutorials are available in English.
GENERAL HELP
If you cannot find any information you require in this help chapter or can think of anything that you
would like added, please send an email to [email protected].
PROJECT SUPPORT
You can receive support for any real project you may have from our Support Team, who you can contact
via email at [email protected].
If you find that you need other modules or licenses, our staff will be happy to help you. Email
[email protected].
2. IEC850
Communication between the driver and the PLC is based on the IEC 61850 protocol with client/server
MMS services via TCP/IP (A1/T1 profile). The driver acts as a client (master) when communicating.
You can create and configure the driver manually or - in the Energy Edition - with the help of the
IEC850 Driver Configuration wizard, using an SCL file (SCD, CID, possibly ICD etc).
Furthermore, you can create the variables manually or import them, even without the wizard:
6
IEC850 - Data sheet
: For simplified import of the variables from the Datasets in RCBs, the IEC850 Driver Configuration
wizard provides additional possibilities.
Attention
Configurations that have been amended with a driver from a later version can no
longer be opened with older drivers.
PLC manufacturer ABB; Siemens; IEC; SAT; Sprecher Automation; Kalki; GE Multilin;
Schweitzer Engineering Laboratories; SEL; NR Electric; NARI;
Driver supports:
Addressing: Address-based --
Addressing: Name-based X
Spontaneous X
communication
Polling communication X
Online browsing X
Offline browsing X
Real-time capable X
7
Requirements
Blockwrite --
Modem capable --
Serial logging --
RDA numerical --
RDA String --
Hysteresis --
extended API X
alternative IP address X
Requirements:
Hardware PLC --
Software PLC --
Requires v-dll --
Platforms:
4. Requirements
This chapter contains information on the requirements that are necessary for use of this driver.
8
Configuration
4.1 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.
5. Configuration
In this chapter you will learn how to use the driver in a project and which settings you can change.
Information
Find out more about further settings for zenon variables in the chapter Variables
(main.chm::/15247.htm) of the online manual.
9
Configuration
In the Create driver dialog, you create a list of the new drivers that you want to create.
10
Configuration
Parameter Description
Available drivers List of all available drivers.
The display is in a tree structure:
[+] expands the folder structure and shows the drivers
contained therein.
[-] reduces the folder structure
Default: no selection
Driver name Unique Identification of the driver.
Default: Empty
The input field is pre-filled with the pre-defined
Identification after selecting a driver from the list of
available drivers.
Driver information Further information on the selected driver.
Default: Empty
The information on the selected driver is shown in this
area after selecting a driver.
CLOSE DIALOG
Option Description
OK Accepts all settings and opens the driver configuration dialog of
the selected driver.
Cancel Discards all changes and closes the dialog.
Help Opens online help.
Information
The content of this dialog is saved in the file called Treiber_[Language].xml. You can find
this file in the following folder: C:\ProgramData\COPA-DATA\zenon[version
number].
11
Configuration
3. Select the desired driver and name it in the Driver name input field.
This input field corresponds to the Identification property. The name of the selected driver is
automatically inserted into this input field by default.
The following is applicable for the Driver name:
The Driver name must be unique.
If a driver is used more than once in a project, a new name has to be given each time.
This is evaluated by clicking on the OK button. If the driver is already present in the project,
this is shown with a warning dialog.
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 (_).
This name cannot be changed later on.
4. Confirm the dialog by clicking on the OK button.
The configuration dialog for the selected driver is opened.
The language of driver names cannot be switched. They are always shown in the language in
which they have been created, regardless of the language of the Editor. This also applies to driver object
types.
12
Configuration
If there is already a driver in the project, this is shown in a dialog. The warning dialog is closed by clicking
on the OK button. The driver can be named correctly.
ZENON PROJECT
Information
Only the required drivers need to be present in a zenon project. Drivers can be
added at a later time if required.
13
Configuration
5.2.1 General
The configuration dialog is opened when a driver is created. In order to be able to open the dialog later
for editing, double click on the driver in the list or click on the Configuration property.
14
Configuration
Option 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:
No 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
(main.chm::/25206.htm).
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.
15
Configuration
16
Configuration
Stop on Standby Server Setting for redundancy at drivers which allow only one
communication connection. For this the driver is stopped at
the Standby Server and only started at the upgrade.
Default: Inactive
CLOSE DIALOG
Option Description
OK Applies all changes in all tabs and closes the dialog.
17
Configuration
Cancel Discards all changes in all tabs and closes the dialog.
Help Opens online help.
With spontaneous drivers, for Set value, advising of variables and Requests, a read cycle is triggered
immediately - regardless of the set update time. This ensures that the value is immediately available for
visualization after writing. The update time is generally 100 ms.
Spontaneous drivers are ArchDrv, BiffiDCM, BrTcp32, DNP3, Esser32, FipDrv32, FpcDrv32, IEC850,
IEC870, IEC870_103, Otis, RTK9000, S7DCOS, SAIA_Slave, STRATON32 and Trend32.
Parameter Description
Configuration file name Name of the file in which the driver-specific configurations
are saved. Click on the ... button to open the dialog for
selecting a drop folder.
You can read about the structure of this configuration
file in the Driver configuration file (on page 20) chapter.
Deactivate standard double point value Inactive: The values of Double Point Values are
mapping adjusted to the operating elements of zenon. Use this
configuration if you want to use the modules of the
zenon Energy Edition.
You can find details in the Double Point Value Mapping
(on page 102) chapter.
18
Configuration
Do not purge BRCB buffer at start Active: The buffer of the BRCBs are not deleted on the
IED when the connection is first established after
Runtime has started.
: For this BRCB , the last EntryID received
has been saved. If no EntryID has been saved yet, the
property is ignored and the driver sets
BRCB.PurgeBuf=TRUE.
Only has an effect after the first attempt to activate a BRCB
after Runtime has been restarted.
Is ignored with repeated attempts to set a BRCB.RptEna=TRUE
- if the RCBs enable retries time has expired.
: If Runtime has not been stopped and only the
connection to the IED has been disconnected, the setting is
irrelevant. After reconnection, the driver attempts to get the
buffered values again; the driver does not delete the values.
More in the Buffered reporting (on page 120) chapter.
Addressing: States which variable property is used in the driver for the
addressing (ObjectReference ).
Variable name (Name)
Variable identification (Identification)
Symbolic address (Symbolic address)
Default: Symbolic address
: When importing the variables, the driver fills all three
variable properties with valid references. You can rename the
properties that the driver does not then use for addressing.
Originator category (orCat) The driver sends the configured orCat value in
commands - in SBOw and Oper structures - that it writes
to the IED .
Possible settings:
1 - Bay-control
2 - Station-control
3 - Remote-control
4 - Automatic-bay
5 - Automatic-station
6 - Automatic-remote
19
Configuration
7 - Maintenance
Default: 2 - Station-control
Directory for file transfer Directory for file transfer. All files loaded are saved in
this folder.
In the Editor, the driver saves its configuration in the TXT file as defined in Configuration file name. In
Runtime, the driver gets its configuration from the copy of the file that the editor has provided.
20
Configuration
Line Description
1 Number of configured servers
2 – (m-1) Server configuration (see server configuration)
m–n Possible further server configuration(s)
SERVER CONFIGURATION
9 Called AE qualifier 12
10 Calling AP title[0] 1
11 Called AP title[0] 1
12 Calling AP title[1] 1
13 Called AP title[1] 1
14 Calling AP title[2] 1
18 Calling AP title[4] -1
19 Called AP title[4] 1
21
Configuration
36 Alternative IP address
37 Alternative IP port 0
38 TrgOp data-change: 0 = inactive ; 1 = active 1
39 TrgOp quality-change: 0 = inactive ; 1 = active 1
22
Configuration
0 = Normal GetNameList
1 = The driver reads the object model by requesting data objects
(DO) for each Logical Node available in the server and each
Functional Constraint (FC) defined in the IEC61850 standard.
This option has been removed from the configuration dialog in
version 8.00 and replaced with an automated method.
44 Integrity Period 7000
45 Buffer Time 500
46 OptFlds 73
Optional fields of the RCB
47 RCBs enable reties 7
Cycle in seconds in which an attempt is made to activate RCBs that
were not activated successfully again. Only present if CNTSRVITEMS
>= is 45
48 Automatic Watchdog 1
CLIENT CONFIGURATION
5 orIdent
23
Configuration
RCB CONFIGURATION
5.2.3 Connections
The connections of the IEC850 driver are set in the Connections tab of the driver dialog.
24
Configuration
Parameter Description
New Creates a new connection to an IEC 61850 server. Opens the Server
dialog.
CLOSE DIALOG
Option Description
OK Applies all changes in all tabs and closes the dialog.
Cancel Discards all changes in all tabs and closes the dialog.
Help Opens online help.
Server
Clicking on New or Edit in the dialog Connection (on page 24) opens the dialog for the configuration of a
connection to an IEC 61850 server:
25
Configuration
BASIC CONFIGURATION
In order to be able to establish an initial connection to a typical 850 server, it is generally sufficient to
configure the following properties:
Server name
Net address
IP address (primary)
You can therefore communicate with the server in Runtime or create variables by means of online
import (on page 63) in the zenon Editor.
Once you have then imported the variables and tested the connection to the 850 server in Runtime, you
should once again consider the driver configuration - for Reporting - carefully and carry out RCB
assignment.
GENERAL
Parameter Description
Server name Freely definable name. Is used at variable import for the zenon properties
Name, Identification and Symbolic address of the variables; syntax:
<Server name>!<ObjectReference>
- in order to guarantee the uniqueness of the variable name in systems
where 850 Server have the same IED and LDevice names.
: keep the Server name short (just one letter is sufficient). The name
is only for the uniqueness of the variable name. The assignment of the
26
Configuration
IP Port (primary) IP port of the 850 server to which the connection is to be made.
Default: 102
IP adress (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 Runtime) or until the connection fails.
Then, the first IP address will be used again.
In order to detect a loss of a connection, the Automatic
watchdog watchdog property should be activated or at least one variable,
such as *LLN0/Mod/stVal[ST] should always be polled.
POLLING
Parameter Description
27
Configuration
Polling rate Defines the update frequency in milliseconds. The driver supports this rate
to poll data that is not in active reports. At this a possible failure of the
IEC61850 server is also considered.
Maximum value: 4294967295
If a higher value is entered, it is automatically changed to 1 when saved.
Default: 1000 ms
Exchange of data in Runtime does not depend on this setting
or on the global update time. This is set to 100ms and fixed.
Data consistency scan Defines the cycle in which the driver checks the data model to see that it is
consistent. Is only used if, in configured reports, the datasets contain
individual data attributes instead of data objects.
Default: 300 seconds
Input range: 0 - 999999
REPORTING
Parameter Description
Max. auto used URCBs Maximum number of Unbuffered Reports which the driver activates at
automatic allocation per Logical Device, i.e. in addition to RCBs that
were configured in the RCB assignment dialog.
Default: 10
Entry is only valid for Unbuffered Reports (URCB), does not affect any
BRCBs .
: the setting makes the use of reporting easier in the test phase of
the project already - even before the target settings for reporting have
been set.
Configure the use of URCB in the RCB assignment dialog and set the
property to 0 before you approve the project.
you can find more information on automatic allocation in the
Unbuffered Report (on page 117) chapter.
Vertical group of the Settings for URCBs that the driver automatically assigns and default
option group values for properties with the same name in the RCB assignment
dialog.
28
Configuration
Use existing RCB You can activate/deactivate the following Trigger Options regardless of
configuration one another.
data-change
Default: active
quality-change
Default: active
data-update
Default: Inactive
integrity
Default: active
general-interrogation
Default: active
: Not all servers support TrgOps data-change and data-update
together. TrgOp intergity can also lead to an unnecessary overload of
communication if a an IntgPd (Integrity Period) that is too short was
defined in the server for RCB. In case of doubt, set TrgOps: data-change
+ quality-change + general-interrogation.
Integrity Period Time interval (IntgPd) in milliseconds in which the server sends an
Integrity Report.
Default: 7000 ms
Default: 7000 ms
Default: 500 ms
29
Configuration
RCBs enable retries Configuration of the periods of the renewed attempts to register the
RCBs that have not been successfully registered. If the sign-in of an RCB
is rejected by the 850 server, the driver will attempt it again - depending
on RCBs enable retries.
Entry of the time in seconds.
Input range: 0 - 999999
Default: 7
the driver attempts to write again every 7 seconds RCB.RptEna=TRUE.
The variables are polled for as long as the sign-in is not successful.
For this reason, the periods should be greater than the Polling
rate, otherwise it is not guaranteed the the variables affected have
the initial values.
With an entry of 0, there is no attempt to register an RCB again.
These settings only concern RCBs that are listed in the RCB
assignment section.
30
Configuration
Use Report-ID for RCB Decision of whether the driver should search and register the RCB
assignment instances using their names (normal process) or with a special process
by means of Report ID.
Inactive:
(recommended) The RCB instances of the server are identified by
name. This process is supported by all - IEC61850
standard-compliant - servers.
Active:
The Report ID is used instead of the report name in the static
RCB assignment in the RCB assignment dialog. The process is
only suitable for special applications. The driver will sign in all RCB
instances that have the same ID.
Requires corresponding configuration in the SCL file of the 850 server:
A separate report ID must be defined for each client in the system,
i.e. a different ID for each Hostname.
With different RCBs, precisely one instance each is marked with the
ID. Instances that need a client are thus marked.
Default: Inactive
31
Configuration
RCB assignment/dynamic Static Report Control Block allocations and settings for Dynamic Data
datasets Sets.
Hostname
ClientLN.iedName
orIdent
As configured in the Client configuration (on page 36) dialog.
The width of the column display can be increased or reduced by clicking
the mouse. The section can be moved with the scroll bar.
: If you want to use redundancy in your zenon project (Network
active property activated as well as Server 1 and Server 2 configured),
you must create at least two entries here: one for the primary server
and one for the standby server in the zenon network.
Two entries are already prescribed by default when a server is created
($SCADA_SERVER1 and $SCADA_SERVER1). These entries each
receive an empty configuration and must be configured.
If in the runtime no client configuration for the computer name is found
and if the project runs as standalone or at the projected Server 1, client
configuration $SCADA_SERVER1 is searched. If the project runs in the
above mentioned case at the projected Server 2, an alternative client
configuration $SCADA_SERVER2 is searched.
Per default the configuration for $SCADA_Server1 and
$SCADA_SERVER2 is empty. By clicking button Edit you can project
your correct configuration.
New Creates a new entry in the list. Opens the Client configuraton (on
page 36) dialog.
Edit Opens the Client configuration (on page 36) dialog to edit the
selected entry.
Delete Removes the selected entry from the list.
the entry is deleted immediately without a further request for
confirmation.
32
Configuration
Calling AP title Settings according to ISO 8650-1(ACSE), the value for the OSI ACSE AP
Title of the client in the Universal Identifier notation.
Default: 1.1.1.999
Should not normally be amended.
Use Authentication Activate this checkbox if you want to use authentication according
to ISO 8650-1.
Do not send MMS-Abort Defines the way of how connections to the IED are closed.
active:
The driver closes the TCP socket instead of sending a MMS (ACSE)
compliant Abort.
inactive:
33
Configuration
Default: Inactive
CLOSE DIALOG
Option Description
OK Applies settings and closes the dialog.
Cancel Discards all changes and closes the dialog.
Information
OSI value (ACSE)
The driver uses the following OSI selector values:
Presentation Selector (OSI-PSEL) = "00000001"
Session Selector (OSI-SSEL) = "0001"
Transport Selector (OSI-TSEL) = "0001"
In a server SCL file, it corresponds to the following entries:
<P type="OSI-AP-Title">41,999,1,1</P>
- coded in accordance with Basic Encoding Rules (IEC 8825) for Object Identifier -
corresponds to default values of the Universal Identifiers in the Called AP title.
<P type="OSI-AE-Qualifier">12</P>
- corresponds to default values in the Called AE qualifier.
<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
34
Configuration
Optional Fields
The Optional Fields are written on the server when a report is activated. These correspond to the bits in
the OptFlds data attribute of the RCB.
"Sequence number", "Data set name" and "Entry ID" are activated by default:
The Data set name option is activated by default. Deactivation of this option is not
recommended.
The following is applicable if this option is deactivated:
If an InformationReport is received without a DatSet Name, RptID is used to carry out a
search to see which data set is linked in the RCB. A basic requirement for this is that the
RptIDs is unique for the complete 850 server.
Entry ID is required for Buffered Reports (BRCB) in order to request the buffered values after
the connection has been reestablished. Does not exist in URCB , is thus not written even if it has
been configured.
Sequence number is only to check whether the reports have been transferred without omissions.
Is possibly evaluated in LOG.
35
Configuration
Buffer overflow
If a report is received by a driver with the BufOvfl flag set and this received report is not the
first report that has been received (after activation of the RCB with PurgeBuf), this is logged by
the driver in the LOG file with a corresponding warning message:
IED reports a buffer overflow with Report-ID (Entry-ID)
Conf revision
x
Segmentation
y
CLOSE DIALOG
Option Description
OK Applies settings and closes the dialog.
Cancel Discards all changes and closes the dialog.
Client configuration
Clicking on New or Edit in the RCB assignments/dynamic datasets list of the server dialogs (on page 25)
opens the dialog for the client configuration settings:
36
Configuration
37
Configuration
Parameter Description
Hostname (RT computer name) Name of the computer on which the driver is running that receives the
reports:
For standalone projects:
$SCADA_SERVER1 Or computer name of the computer on which
the zenon Runtime is running
In the zenon network:
$SCADA_SERVER1 Or computer name of the project server
Server 1
$SCADA_SERVER2 or computer name of the project standby
server Server 2
Computer name of the network client for the determination of
orIdent. This is only taken into account if option Use SCADA
network client orIdent in dialog Server is activated.
: Do not use "localhost"; use the computer names from the
operating system instead.
The Hostname must not be empty if at least one of the following
configuration settings has been configured.
38
Configuration
Settings for the static assignment of RCBs (the same for Unbuffered and Buffered RCBs).
: Buffered Reports must be configured in the driver configuration. Otherwise they are not used.
Parameter Description
RCB name Name of the configured RCBs.
RCBs are configured in the Statically assigned RCB subdialog.
This configuration is started by clicking on the corresponding New
button.
DataSet Displays the dynamic DataSet if the RCB was allocated one.
Allocation:
1. Configure, in the Dynamic datasets list with the attendant
New button, a corresponding dynamic dataset.
39
Configuration
: 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 and, in selected RCBs, there is no unsuitable or replaceable
configuration of the Dataset .
For more information, see dynamic data sets (on page 125).
Parameter Description
Name Shows the previously-entered Datasets - they are then available in the
upper list.
New Opens the dialog to create a Dataset.
Edit Opens the Dynamic DataSet configuration (on page 47) dialog to
edit the selected entry.
Delete Removes the selected entry from the list.
WARNING NOTICES
If the configuration is not correct, you are notified of this with a corresponding warning dialog. Confirm
this dialog by clicking on the OK button to return to the configuration dialog. Then correct the error.
40
Configuration
Clicking on New or Edit in the Static RCB assignment list of the Client configuration (on page 36) dialog
opens the dialog to create an assignment to RCB or to assign an RCB a dynamic Dataset. RCBs are
defined using their name (standard case) or ID (special case):
41
Configuration
Parameter Description
RCB name The name (unique) or the RptID (possibly not unique) of
the report - buffered or unbuffered - that the driver is to
use.
When establishing a connection, the driver will register
configured RCB instances (enable). Must correspond
exactly to the name/report ID in the PLC (IEC61850
server).
Clicking on ... starts the online browsing by the configured
850 server on the first call. The result of the first call is
listed when called up again. If the server is running, all
instances of each Report Control Block that are present in
the data model of the server are listed. You can find more
details later in this chapter.
42
Configuration
Default: Inactive
RCB CONFIGURATION
Parameter Description
43
Configuration
general-interrogation.
Integrity Period Time interval (IntgPd) in milliseconds in which the
server sends an Integrity Report.
Default: 7000 ms
Default: 7000 ms
Buffer Time Time interval (BufTime) in milliseconds in which the
server collects the data for a report.
Default: 500 ms
44
Configuration
CLOSE DIALOG
Option Description
OK Applies settings and closes the dialog.
Cancel Discards all changes and closes the dialog.
Clicking on ... starts online browsing of the 850 server and shows, if the server is running, all instances of
each Report Control Blocks that are currently in the data model of the server.
In order to be able to establish the connection to the IP address of the 850 server, the driver
configuration must be saved at least once beforehand.
After the driver has read the RCBs online from the IEC 61850 server, the following list is shown:
45
Configuration
Parameter Description
RCB name Name of the RCBs as configured in the data model on the server.
Report ID Identification of the RCB as configured in the data model on the server in
the RptID attribute.
Data set Name of the datasets in the RCB as configured in the data model on the
server.
OK Applies settings and closes the dialog.
A validation is carried out before closing the dialog. In case of failure, a
warning dialog pops up.
Cancel Discards all changes and closes the dialog.
Select the desired instance of a Report Control Block from the list and click OK. You can repeat the
procedure as many times as you want in order to assign further RCBs.
Ensure that, for each Hostname, the instances with other names (and/or other number), or other
report ID are selected. In accordance with the IEC61850 standard, an instance of the RCB can only be
registered (enabled) by one client.
When confirming the configuration by clicking on the OK button, a validation is carried out for all
newly-added RCBs to see whether the RCB has a dataset name from the 850 server or an existing and
non-empty dynamic set has been linked.
Parameter Description
OK Confirms the warning message and closes the dialog.
Cancel Cancels closing and returns to the Statically assigned RCB dialog.
Note that not all 850 servers support dynamic data sets. In this case, configured RCBs without dataset
names cannot be used in the server's data model.
46
Configuration
If the 850 server does not support dynamic data sets, the IED must be updated with a corrected SCL file
(CID).
Clicking on New or Edit in the dynamic data sets list of the Client configuration (on page 36) dialog
opens the dialog to define a dynamic Data Set.
47
Configuration
Parameter Description
Name Name of the Data Set.
: enter very short names, for example 'DS1'.
The driver will automatically add the current Runtime computer name
to the name - in order to be able to distinguish separate dynamic data
sets from data sets of other clients. The RCB is thus registered with the
DatSet parameter: ZENON_hostname_<Name>
The RCB.DatSet parameter has, in accordance with the IEC61850
standard Ed.2, a maximum length of 32 (more precisely: 64/16$32). The
other characters can be cut off.
Members List of pre-configured data objects.
Add Starts the browsing of ObjectReferences from the variable list of the
zenon project and displays all data objects for which a variable has
already been created in the project.
: The driver does not read the data objects from the IEC61850
server, but from the variable list in the Editor. If the Runtime is also
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 following list is displayed once you have browsed suitable project variables:
48
Creating variables
The driver 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 listed variables. Multiple selection is possible (with the Alt or Shift key held
down).
Clicking on the Add button adds your selection to the lower list. Objects that have already been selected
are kept. Use the OK button to add the selected variables (as references to the data objects) to the
members of the dynamic data set.
6. Creating variables
This is how you can create variables in the zenon Editor:
49
Creating variables
VARIABLE DIALOG
50
Creating 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.
Maximum length: 128 characters
The characters # and @ are not permitted in variable names. If
non-permitted characters are used, creation of variables cannot be
completed and the Finish button remains inactive.
For some drivers, the addressing is possible over the property
Symbolic address, as well.
Driver Object Type Select the appropriate driver object type from the drop-down list.
(cti.chm::/28685.htm)
51
Creating variables
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 Expanded settings for arrays and structure variables. You can find details
activation in the respective section.
SYMBOLIC ADDRESS
The Symbolic address property can be used for addressing as an alternative to the Name or Identification
of the variables. Selection is made in the driver dialog; configuration is carried out in the variable
property. When importing variables of supported drivers, the property is entered automatically.
6.2 Addressing
52
Creating variables
Name Description
Name Freely definable name
The addressing of the variable is symbolic by means of a reference. The driver
takes the reference from the name, identification or symbolic address property of
the variable - depending on the Basic Settings driver configuration - Addressing.
If the name is used to address the variables, it must have a valid ObjectReference
with "*!" prefix; whereby * is any desired text (just one letter is sufficient).
In addition to the reference, the driver will identify the connection with the help of
the Net address property (i.e. not using the prefix). This applies for all driver object
types.
: The name must be unique in each project. If several 850 servers provide
the variables with the same references, differentiate the variable names through the
prefixes with different server names or use the symbolic address for addressing.
: For online and offline import, the name, identification, symbolic address
and Net address are configured automatically.
Identification Enter any desired text; for example resource name, comments, ...
Can be used for addressing (optional).
Is set automatically during online import.
Net address Net address of the variable - number of the connection in the driver configuration.
This address refers to the Net address in the Connections - Server list of the
driver configuration. It identifies the 850 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 that the variable can take.
Symbolic address The symbolic address of the variable, comparable to the ObjectReference in
accordance with the IEC61850 standard, in a naming configuration amended
to the requirements for uniqueness in addressing in a SCADA system.
The variable is addressed symbolically by means of symbolic address, name
or identification, depending on the Basic Settings driver configuration -
addressing.
If the symbolic address is used for addressing the variables, it must contain a valid
ObjectReference with *! prefix. In addition to the reference, the driver will identify
the connection with the help of the Net address property. This applies for all driver
object types.
: For online and offline import, the name, identification, symbolic address
and Net address are configured automatically.
53
Creating variables
Driver Depending on the type of variable, the object type is selected when the variables are
connection/Driver created; the type can be changed here later. For more information, see also the
Object Type driver objects (on page 56).
Driver Data type of variables that were selected when the variable was created; the type
connection/Data can be changed here later.
Type
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.
Driver not used for this driver The driver does not support cyclically-poling
connection/Priority
communication in priority classes.
You can create several variables with the same ObjectReference if the variable names for this are
different, such as with a different prefix, for example.
Addressing of the variables is symbolic via its references. The driver takes the reference from one of the
properties of the variable (symbolic address, name or identification) - depending on the Basic Settings
driver configuration - addressing. In addition to the reference, the driver will identify the connection with
the help of the Net address property.
In doing so:
The prefix (SERVER) is separated from the following identifiers by an exclamation mark (!). It is
for the uniqueness of the variables in the project, not the addressing.
Further identifiers are separated from one another by a slash (/).
Only if an identifier itself is a structure are their elements are separated by a dot (.); for example:
SERVER!LD/LN/DataObject/DataAttr.item[FC].
The Functional Constraint is defined in brackets [], at the end.
54
Creating variables
Parameter Description
SERVER Freely-definable name, whereby just one letter is sufficient. It can, for example, be an
abbreviated name of the 850 server.
If the reference is in the Name property of the variable, the prefix should ensure that all
variable names in the zenon project are unique.
Use the same names as defined in driver dialog Dialog Server (on page
25). However, the driver does not recognize the connection to be used from the server name
(i.e. not from the prefix in the reference) but from net address settings.
LD Name of the IED and Logical Device, such as "GE_F650" for example.
LN Name of the logical node (Logical Node), for example "LLN0", "MMXU".
Attention
The naming convention for references of the variables is not exactly the same as the
ObjectReference defined in the IEC61850-7-1 standard.
In the standard, a slash (/) is only used as separator between LD and LD and otherwise
separated by dots (.). If DataObject is a structure, dots make it impossible to distinguish
what is a DataObject and what is a DataAttr. Therefore an own naming conversion is
used for the variable addressing.
EXAMPLE:
The 'XCBR1' logical node (circuit breaker 1) has, among other things, a data object 'Pos' of CDC
(Common Data Class) 'Controllable Double Point' (DPC). This 'Pos' data object in turn has data attributes
'stVal', 'q' and 't', whose name and semantics are defined in IEC61850-7-3 - through its CDC.
55
Creating variables
All objects in the data model of an 850 server are constructed in this way. For this reason, the driver
knows, for example, that the attributes */q[ST] and */t[ST] contain the quality and the time stamp for
the */stVal[ST] variable, because stVal was defined in the standard as the main data attribute in FC=ST.
This allows the driver to automatically assign the existing values for quality and time stamp to the actual
values of the main variables.
Operate Command: If, in Runtime, the user has set a value to a */Oper.ctlVal[CO] variable, the driver
can, thanks to the specific variable naming, note that an Operate command can be sent to the IED. The
driver then sends the required sequence of special telegrams to the 850 server.
Time stamp and quality attribute are always parts of variables in zenon. */q and */t variables do not
need to be created. 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 (on page 132)). Without taking into
account whether a variable for the 't' attribute has been created, the received time stamp is used for all
ST and MX variables, for example stVal variable for CEL, AML or Historian. Selected quality bits that
have been received in the 'q' attribute are also assigned the status bits of the stVal variable (see also
Quality, time stamp and status bits of the variable).
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.
56
Creating variables
57
Creating variables
X: supported
58
Creating variables
All variables in zenon are derived from IEC data types. The following table compares the IEC datatypes
with the datatypes of the PLC.
59
Creating variables
60
Creating variables
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.
The data attribute types that were assigned to the MMS Bitstring in accordance with the standard
(see IEC61850-8-1), for example CODED ENUM, PACKED LIST, Check and TrigerConditions,
correspond to the UDINT data type by default in zenon. During import, the driver creates the UDINT
variables with the value range of the data type - 32 bits (0..4294967295). The number of bits that the
that the values can have depends on the size of the Bitstrings of the data attribute in the 850 server
and cannot automatically be detected and configured by an 850 client.
If the 850 server adheres to SCL requirements, the zenon variable will have much fewer values than
4294967296 in Runtime. However, there is no need to redefine or limit the value range of the variables.
You can however amend the value ranges manually for better readability of the project, once the
variables have been imported. You can also replace the variables with separate UDINT-based data types.
The driver also allows Bitstring variables with the STRING data type instead of creating UDINT
manually (copying). The value of the variable if it was created as a string contains only the characters "0"
and "1" in the same sequence as how the bits are defined in the IEC 61850 standard and limited to the
length of the Bitstrings .
In the case of all Bitstrings, except CODED ENUM, the bit 0 was set as the highest value in its octet in
the IEC 61850 standard.
This means that the UDINT value will contain a reversed bit order.
the value of the TrgOps attribute - 850 data type TriggerConditions (derived from PACKED
LIST) - in MMS Bitstring(6):
als String="011111"
As UDINT=124 (01111100b), and not 11111b=31 (because the sequence has been reversed).
The value "011111" in the string means that all bits, except bit 0 which is not permitted, are set
(61850-8-1):
Bit 0 - Reserved
Bit 1 - data-change
Bit 2 - quality-change
61
Creating variables
Bit 3 - data-update
Bit 4 - integrity
Bit 5 - general-interrogation
A further example - the value "010001" (in UDINT=68, because 0100 0100) has data-change and
general-interrogation bits.
Command variables (*/Oper.ctlVal[CO]) which match a MMS Bitstring and Tcmd or other CODED
ENUM based bTypes are created as variables with data type UDINT at import. You can later change the
data type manually to data type BOOL, e.g. for variables */TapChg/Oper.ctlVal[CO]. If the
command variable has data type BOOL, the driver maps for write set value the value FALSE to 0x40
(lower) and the value TRUE to 0x80 (higher). Thus this variable can be directly linked to switching
actions in zenon Command Processing.
The data attribute types that were assigned to ENUMERATED in accordance with the standard (see
IEC61850-8-1), correspond to the INT data type in zenon.
the data attribute Beh/stVal[ST] from Common Data Class ENS (see 850-7-3 and 850-7-4)
is ENUMERATED and the standard defines only 5 possible values. An SCL file of the 850 server:
<EnumType id="Beh">
<EnumVal ord="1">on</EnumVal>
<EnumVal ord="2">blocked</EnumVal>
<EnumVal ord="3">test</EnumVal>
<EnumVal ord="4">test/blocked</EnumVal>
<EnumVal ord="5">off</EnumVal>
</EnumType>
However, there is no need to redefine or limit the value range of the INT variables. You can however
amend the value ranges manually for better readability or evaluation in the project, once the variables
have been imported. You can also replace the variables with separate INT-based data types.
you can already link a reaction matrix to a data type - it is then applicable for all variables of the
data type.
62
Creating variables
INT64 and INT128 data types are supported at MMS communication level in full.
In zenon, they are mirrored by default to the LINT data type. The driver also allows them to be imaged on LREAL
data type variables.
If there is an array level in the IEC61850 Data Classs, this level is placed at the end of the variable
structure for display in zenon. This means that, from an ARRAY OF that may have nested structures,
there are one or several arrays of scaled values in the zenon variable model. This remapping is carried
out at the start of the configuration time during online import and in the runtime environment during
the allocation between the zenon variable list and the IEC61850 object model.
As a result of this, there is the restriction that only one array level is supported. The support for arrays is
also limited to the data attribute.
The data attribute HaAmp.har of the Common Data Class (CDC, -7-3) MHAN - as defined in the IEC61850
standard: ARRAY[0..numHar] of Vector - becomes the following array in zenon:
In addition, there are of course also the arrays for ang.i, mag.f and mag.i.
Variables can also be imported by importing them. The XML and DBF import is available for every driver.
63
Creating variables
Information
You can find details on the import and export of variables in the Import-Export
(main.chm::/13028.htm) manual in the Variables (main.chm::/13045.htm) section.
Variables in a zenon project can be created in <CD_PRODUKTNAME> Editor with the import of the
driver. The driver can read the data model of the IEC 61850 server (browsing) and display it as a variable
list.
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.
A dialog is opened.
64
Creating variables
SELECT A SERVER
Parameter Description
Server List of the connections to IEC61850 servers created in the driver.
You can read further information about the configuration of server
connections in the Connections (on page 24) chapter.
Source Source of the data model:
PLC Browsing
Variables are imported from an IEC61850 server that is available
online.
File Browsing
Variables are imported from an SCL file.
You can read further information about the SCL file in the
IEC61850-6 standard.
OK Applies settings and closes the dialog.
Cancel Discards all changes and closes the dialog.
In the dialog that opens, select the PLC Browsing option and select a server from which the
variables can be imported.
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
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.
65
Creating variables
When reading (browsing) the data model, the driver generates the addresses of the variables. This is
displayed in the 'Symbolic address' column. The generated address is Server!ObjectReference[FC].
If this address is longer than the 128 characters permitted for the variable name, it is shortened to 124
characters and supplemented with _###. ### stands for a serial number. This number counts up from
001 to 999.
If new variables are created, whose generated name was longer than 128 characters, this shortened
number supplemented with figures is used as variable Name and Identification. The unshortened address
is used as Symbolic address.
Attention
In Runtime, more than 128 characters is only supported if, in the driver configuration, in
the Basic settings (on page 18) dialog, Symbolic address is selected for the addressing.
RECOMMENDATION
Rename the variables after the import. Otherwise naming conflicts could occur after another import.
As a result of the limitation of only one array level being supported (on page 59), the support of arrays is
also limited to the data attributes.
Example
The data attribute HaAmp.har of the Common Data Class MHAN - as defined in the
IEC61850 standard: ARRAY[0..numHar] of Vector - becomes up to four arrays in
zenon, with the same respective number of elements:
*/HaAmp.har.ang.f[MX][0..count-1]
*/HaAmp.har.ang.i[MX][0..count-1]
*/HaAmp.har.mag.f[MX][0..count-1]
*/HaAmp.har.mag.i[MX][0..count-1]
66
Creating variables
only Service tracking is automatically offered for Control Services. Control Services means: only Service
tracking command execution information.
If there is Service tracking on the server, a proposal for the creation of additional service tracking
variables is created for each data object that contains the data attributes with FC = CO.
Example
S1!Device/Node/Pos/Oper.ctlVal[CO]
These additional variables no longer exist on the server but are additionally created in the respective
data object with a possible command execution.
The variables that are actually created as additional service tracking variables are selected from this list
of proposals.
The mane of this proposal comprises the following:
Datenobjektreferenz_Servicetracking-Datenattributname[SR]. As a service tracking data
attribute name, the data attributes that are present in the Logical Node LRTK for Control Services are
proposed.
Example
S1!Device/Node/Pos_errorCode[SR].
The data type of the additional service tracking variable corresponds to the data type of the SR data
attribute that is present in the Logical Node LRTK.
The driver object type is Service tracking.
In addition, a string variable *_allCTS[SR] is also offered. This string variable contains the complete
Service tracking (Main.chm::/IEC850.chm::/117281.htm) Information and can be evaluated with the help
of zenon Logic or VBA/VSTA.
GETNAMELIST ON DO
The GetNameList on DO option from versions before 8.00 is ignored in the IEC850 driver. From zenon version
8.00, the driver always sends getVariableAccessAttributes to the server for each node. If the driver
receives a negative response from the server, another query at a lower level is sent to the server for the
corresponding Node. If this renewed query also fails, there is refinement at DataObject level.
A corresponding LOG entry is generated in the event of an error. Failed to retrieve variable
information for <Failed Request Name>
The following is applicable for the online import of variables:
The online reading of the variables only takes into account the highest level from a
DataObject.
If this depth is not sufficient, import the variables from an SCL file.
Refinement takes place down to DataAttribute level in Runtime.
67
Creating variables
If the DataAttribute cannot be read, the Runtime without values and receives the status
Invalid.
The following is applicable for the online import of variables in zenon Editor:
The node must be read in full in order for the variables contained in the node to be offered in
the selection dialog.
If the zenon project is compiled for a version before version 8.00, a corresponding entry in the
configuration file continues to be taken into account.
Variables for a project can be created with the import of the driver in a zenon project. The driver can
read the data model from an SCL file and display it as a variable list.
: For simplified import of the variables from the Datasets in RCBs, the IEC850 Driver Configuration
wizard provides additional possibilities. The wizard is only available in the Energy Edition.
The driver only imports DOI elements offline. The Control Blocks, for example ReportControl (Report
Control Block) and SettingControl (Setting Control Block) are not supported for offline import. You
can create the variables for these attributes by means of online import or manually.
Attention
The driver can then only import from the data model of the IED if the data model is
compliant with the IEC61850 standard. All non-compliant elements are then ignored and
cannot be selected in the import dialog. For example, the driver ignores the Logical
Nodes that are linked directly to the IED nodes, instead of to the Logical Device nodes.
68
Creating variables
69
Creating variables
3. The following steps for the selection of variables are similar to online import.
When reading (browsing) the data model, the driver generates the addresses of the variables. This is
displayed in the 'Symbolic address' column. The generated address is Server!ObjectReference[FC].
If this address is longer than the 128 characters permitted for the variable name, it is shortened to 124
characters and supplemented with _###. ### stands for a serial number. This number counts up from
001 to 999.
If new variables are created, whose generated name was longer than 128 characters, this shortened
number supplemented with figures is used as variable Name and Identification. The unshortened address
is used as Symbolic address.
Attention
In Runtime, more than 128 characters is only supported if, in the driver configuration, in
the Basic settings (on page 18) dialog, Symbolic address is selected for the addressing.
RECOMMENDATION
RENAME THE VARIABLES AFTER THE IMPORT. O THERWISE NAMING CONF LICTS COULD OCCUR
AFTER ANOTHER IMPORT.SERVICE TRACKING IM PORT
Service tracking is only offered if one or more elements with FC = SR are present on the Logical Device.
For example, one or more Logical Nodes LTRK. For import, only Service tracking is automatically offered
for Control Services. Control Services means: only Service tracking command execution information.
70
Creating variables
If there is Service tracking in the SCL file, a proposal for the creation of additional service tracking
variables is created for each data object that contains the data attributes with FC = CO.
Example
S1!Device/Node/Pos/Oper.ctlVal[CO]
These additional variables no longer exist on the server but are additionally created in the respective
data object with a possible command execution.
The variables that are actually created as additional service tracking variables are selected from this list
of proposals.
The mane of this proposal comprises the following:
Datenobjektreferenz_Servicetracking-Datenattributname[SR]. As a service tracking data attribute name,
the data attributes that are present in the Logical Node LRTK for Control Services are proposed.
Example
S1!Device/Node/Pos_errorCode[SR]
The data type of an additional service tracking variable corresponds to the data type of the SR data
attribute, that is in the Logical Node LRTK.
The driver object type is Service tracking.
In addition, a string variable *_allCTS[SR] is also offered. This string variable contains the complete
service tracking Information and can be evaluated with the help of zenon Logic or VBA/VSTA.
During XML import of variables or data types, these are first assigned to a driver and then analyzed.
Before import, the user decides whether and how the respective element (variable or data type) is to be
imported:
Import:
The element is imported as a new element.
Overwrite:
The element is imported and overwrites a pre-existing element.
Do not import:
The element is not imported.
The actions and their durations are shown in a progress bar during import.
REQUIREMENTS
71
Creating variables
Backward compatibility
At the XML import/export there is no backward compatibility. Data from older zenon versions
cannot be taken over. The handover of data from newer to older versions is not supported.
Consistency
The XML file to be imported has to be consistent. There is no plausibility check on importing the
file. If there are errors in the import file, this can lead to undesirable effects in the project.
Particular attention must be paid to this, primarily if not all properties exist in the XML file and
these are then filled with default values. E.g.: A binary variable has a limit value of 300.
Structure data types
Structure data types must have the same number of structure elements.
Example: A structure data type in the project has 3 structure elements. A data type with the
same name in the XML file has 4 structure elements. Then none of the variables based on this
data type in the file are imported into the project.
Hint
You can find further information on XML import in the Import - Export manual, in the
XML import (main.chm::/13046.htm) chapter.
Information
Import and Export via CSV or dBase supported; no driver specific variable settings, such
as formulas. Use export/import via XML for this.
72
Creating variables
Information
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.
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.
Information
dBase does not support structures or arrays (complex variables) at export.
The dBaseIV file must have the following structure and contents for variable import and export:
73
Creating variables
Attention
dBase does not support structures or arrays (complex variables) at export.
DBF files must:
conform with their name to the 8.3 DOS format (8 alphanumeric characters for name, 3
characters for extension, no space)
Be stored close to the root directory (Root)
STRUCTURE
74
Creating variables
LES_SCHR L 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 TREIBER-OBJEKTTYP and DATENTYP
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 Resources label.
Free string for export and display in lists.
The length can be limited using the MAX_LAENGE entry in
project.ini.
75
Creating variables
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.
76
Creating variables
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.
77
Creating variables
The driver kit implements a number of driver variables. This variables are part of the driver object type
Communication details. These are divided into:
Information
Configuration
Statistics and
Error message
The definitions of the variables implemented in the driver kit are available in the import file drvvar.dbf
(on the installation medium in the \Predefined\Variables folder) and can be imported from
there.
Variable names must be unique in zenon. If driver variables of the driver object type
Communication details are to be imported from drvvar.dbf again, the variables that were imported
beforehand must be renamed.
Information
Not every driver supports all driver variables of the driver object type Communication
details.
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
78
Creating variables
INFORMATION
79
Creating variables
0: Connection OK
1: Connection failure
2: Connection simulated
Formating:
<Netzadresse>:<Verbindungszustand
>;…;…;
CONFIGURATION
80
Creating variables
81
Creating variables
STATISTICS
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).
ERROR MESSAGE
82
Driver command function
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 DINT 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.
The zenon Driver commands function is not identical to driver commands that can be
executed in Runtime with Energy drivers!
83
Driver command function
Information
This chapter describes standard functions that are valid for most zenon drivers.
However, 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.
84
Driver command function
Option Description
Drivers Selection of the driver from the drop-down list.
It contains all drivers loaded in the project.
Current status Fixed entry which has no function in the current version.
Driver command Drop-down list for the selection of the command:
85
IEC850 client functions
If the computer on which the Driver commands function is executed is part of the zenon network,
further actions are also 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.
7.1 SwitchConnection
The driver command is taken into account if the connection to an IP address has been
established successfully. The command is ignored if there is no connection or a connection is currently
being established.
Syntax:
SwitchConnection <NetAddr>
<NetAddr> Stands for the number of the Net address.
Example:
SwitchConnection 1
Switches between primary and secondary address for the connection to net address 1.
86
IEC850 client functions
LIMITATIONS
87
IEC850 client functions
When starting zenon Runtime, the driver also starts, and starts establishing the connections to IEDs. The
driver only opens a connection to a Logical Device if at least one variable from the LD is created in the
project. For performance reasons, the driver also ignores the Logical Nodes for which no variables have
been created in the project. LLN0 - the content of LLN0 (its RCBs) is always read.
On Windows operating systems, the information can only be provided via the operating system's TCP
timeout (20-30s) when sending (not when receiving). The driver therefore cannot detect an interruption
in the connection if all variables are received by means of Reports . After a communication breakdown
(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.
If Automatic Watchdoghas been activated: the driver automatically starts to poll the
*/LLN0/Mod/stVal[ST] data attribute as soon as all other data of the Logical Device only comes via
reports, i.e. whilst all polled variables are not signed in. The drivers polls the data attribute regardless of
whether it would be present in one of the RCBs. The MMS.Read queries that are sent cyclically, in the
cycle of the Polling rate driver setting force the operating system to check the TCP connection again and
to report to the driver if the connection has been disconnected.
TCP KEEP_ALIVE
The driver opens the TCP socket in Windows with the following keep-alive parameters:
The timeout for keep_alive is 20 seconds.
The interval for keep_alive is 1 second.
Retries are defined and fixed by the operating system at 10 retries.
This means:
If the driver does not send a TCP telegram within 20 seconds (no MMS request), the Windows
operating system sends a TCP keep_alive message every second. If no response is received for
10 such keep_alive messages, the connection to the 850 server is closed.
If the IEC850 driver does not receive any responses from the 850 sever for the MMS requests sent,
these remain pending until the number of negociatedMaxServOutstandingCalled (from MMS
Initiate) has been reached. If, as a result, the driver is blocked for longer than 50 seconds, the
connection to the server is automatically disconnected.
This prevents an incorrect IED blocking the driver's communication process.
88
IEC850 client functions
This disconnection creates the following error message in the LOG file:
Outstanding requests are not answered for more than 50s
A Connection State variable, if created, provides information on whether the driver has a TCP and
then MMS connection to the server and whether the connection consists of primary or secondary IP
addresses. Furthermore, you receive information on whether all configured static RCB assignments have
been successfully registered.
This variable must be created with the Connection state Driver object type (on page 56). It must
contain the correct net address of the connection, the reference with a configured syntax
*!ConnectionState and the data type has to be UDINT.
1 TCP_CONNECTED 0x02
2 TCP_CONNECTING 0x04
3 TCP_CONNECT_FAILED 0x08
16 MMS_ASSOCIATED 0x10000
17 MMS_RCB_ENABLE_FAILED 0x20000
5 TCP_CONNECTED 0x20
6 TCP_CONNECTING 0x40
7 TCP_CONNECT_FAILED 0x80
24 MMS_ASSOCIATED 0x1000000
25 MMS_RCB_ENABLE_FAILED 0x2000000
The bit MMS_RCB_ENABLE_FAILED is only set if one (or more) RCBs that have been configured in the
driver configuration in RCB assignment (on page 41) could not be activated. This happens for example if
the IEC850 server does not write to RCB data attributes because another client is already using this
report.
89
IEC850 client functions
The Connection State variable does not provide an evaluation of whether it was possible to activate
the URCBs via 'max. auto used URCBs (on page 25)'.
Example
The standard process for the value change of the variable is:
Or, if the connection was established correctly but activation of an RCB failed:
When starting zenon Runtime, it is possible that the TCP connections to some IEDs get to the drive
before Runtime is ready for the evaluation of the Connection State variables; whilst the variables
have not yet been registered in Runtime. In this case, only TCP_CONNECTED, or MMS_ASSOCIATED bits
are evaluated (and visible in the CEL for example).
In a redundant zenon network, both the Primary Server and the Standby Server start their own IEC850
driver. Both drivers must register different RCB instances (otherwise they are in conflict because an 850
server can only issue a client the RCB instance).
If you use redundancy in your zenon project (Network active property and Server 1 and
Server 2 have been configured), you must create at least two entries in the driver configuration RCB
assiggment: a Hostname forServer 1 and second Hostname for Server 2 (Standby). You must then select
different instances of the RCB for these entries.
Per default the IEC850 driver creates two host names: $SCADA_SERVER1 and $SCADA_SERVER2.
The Connection State variable cannot result in a different evaluation for drivers on the Server 1
network than that on Server 2. For the user, also on the Standby, only the current value of the current
Primary Server is visible. If you also want to make the current evaluation for Standby Server visible - in
order, for example, to trigger an alarm if the Standby could not register its RCBs, you can create a copy
of the Connection State variable - with the same reference (in Symbolic address), a different prefix in
the Name and with the Read from Standby Server only property activated.
For Evaluated network, you do not need any of the variables requested by the Standby in the
Valuations property. The evaluation takes place separately on both servers, using the local values of the
variables. Therefore in the standby, it is always the value of the Connection State variable that is
evaluated by its internal image, even if no copy has been created in the project.
90
IEC850 client functions
The driver automatically reads the data model in zenon Runtime from an IED during the Association
(establishment of the connection). If the IED uses a different frame size to that necessary for the reading
of the data model, this is automatically detected and the procedure is amended dynamically. The basis is
the variables created in the zenon project.
The following is applicable for the creation of the variables in zenon Editor: If the the data model cannot
be fully imported online by IED, use the offline import from an SCL file.
The driver supports the 'Direct Operate' and 'Select Before Operate' commands (SBO) with normal and
increased security. To trigger a command, set a value to the variable with the reference
*/Oper.ctlVal*. The driver then automatically checks the actual Control Model of the data object
and executes a complete command sequence accordingly. For the pending command, the required
command sequences are automatically executed by the driver in the correct sequence accordingly.
Attention
Do not create any variables that correspond to the data attributes */SBO, */SBOw* or
*/Cancel*.
To send a command to the server, only set the value of the */Oper.ctlVal*[CO] variable.
The driver will automatically recognize that the command sequence must also contain a
Select. A Select is then executed automatically.
With Functional Constraint CO, variables are only supported with the following references:
*/Oper.ctlVal[CO], */Oper.ctlVal.i[CO] and */Oper.ctlVal.f[CO] - the triggers of
a command
*/Oper.Test[CO] and */Oper.Check[CO] - optional service parameters of the command
that has been triggered by writing the set value to ctlVal.
In Runtime, only the values of the CO variables Oper.ctlVal*, Oper.Check and Oper.Test are
displayed, other zenon variables with Functional Constraint CO, even if configured, are ignored by the
driver. The driver only supports remaining CO data attributes in the Oper, SBOw and Cancel structures
for communication with an 850 server, not for the exchange of data with Runtime.
In Runtime, the variables with Functional Constraint CO are only 'write-only'. That means:
91
IEC850 client functions
These only have a value once it has been set in Runtime - by the user.
These variables still do not have a value after starting in Runtime.
They are reset to the value 0 after a connection has been lost and is established again.
If a value is set to a project variable that corresponds to the ctlVal item in a structure data attribute
with the name 'Oper' and it has the Functional Constraint CO or SP (*/Oper.ctlVal[CO|SP],
*/Oper.ctlVal.i[CO] or */Oper.ctlVal.f[CO]), the driver automatically checks which Control
Model is required for a command in thisData Object (p.e.: Pos if the reference is
*/Pos/Oper.ctlVal[CO]).
To do this, the data attribute */ctlModel[CF] of the data object is read first (
*/Pos/ctlModel[CF]). Depending on the value of this data attribute, the respective Control Model is
used and the command is executed in the corresponding procedure. Control Model:
Value 0 - status only:
No action, execution of the command not possible
Value 1 - direct control with normal security:
An 'Operate' service is executed - the value is written to the */Oper[CO] structure (and the
structure sent to the 850 server).
Value 2 - select before operate with normal security:
The 'Select' and 'Operate' services are executed - read of */SBO[CO], write to */Oper[CO].
Value 3 - direct control with enhanced security:
An 'Operate' service is executed - the value is written to */Oper[CO].
Value 4 - select before operate with enhanced security:
The 'SelectWithValue' and 'Operate' services are executed - write to */SBOw[CO], write to
*/Oper[CO].
The */Oper[CO] and */SBOw[CO] written to the 850 server are structures with several data
attributes. The driver fills them automatically; you can find further information in the Service
parameters of the command (on page 96) chapter.
Info
The driver always reads the ctlModel data attribute again - from the 850 server - in
order to execute the command correctly. However the driver does not transfer the
ctlModel to the 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.
92
IEC850 client functions
the server. If both values are present in the object, the other respective value is calculated automatically
using the previously-read configuration of the data object with the formula f = ((i * scaleFactor)
+ offset) / 10^unitsMultiplier ( 10 high unitsMultiplier) automatically calculated.
Then both values (i and f) are sent as a structure in a command. No configuration steps are necessary
for this.
Command variables (*/Oper.ctlVal[CO]) which match a MMS Bitstring and Tcmd or other CODED
ENUM based bTypes are created as variables with data type UDINT at import. You can later change the
data type manually to data type BOOL, e.g. for variables */TapChg/Oper.ctlVal[CO]. If the
command variable has data type BOOL, the driver maps for write set value the value FALSE to 0x40
(lower) and the value TRUE to 0x80 (higher). Thus this variable can be directly linked to switching
actions in zenon Command Processing.
COMMANDS - OVERVIEW
The IEC850 driver works together with the zenon module Command Processing. The driver provides the
Command Processing with special features for commands Select and Cancel.
Thus in Command Processing e.g. a Select can be separated from an Operate. After the Select, instead
of an Operate it is possible for a Cancel to follow.
Prerequisite for this is that at the action in the Command Processing property two-stage is enabled. At
the action variable property Select Before Operate must be enabled.
The driver supports a Cancel during a command only with zenon Command Processing.
PROCEDURE
The driver always sends a Select automatically to the IED if this is required according to the Control
Model.
If the command processing sends a two-stage command and the Select Before Operate property
of the action variable is active, the driver then - in accordance with the ctlModel of the data
object - sends a Select during the first stage of the command action.
For ctlModel=2 or 4 a Select is sent to the IED.
93
IEC850 client functions
A Select for values ctlModel=1 or 3 (direct control) is immediately responded positively for
the Command Processing. Thus the driver confirms a positive execution of the Select to the
action of the Command Processing without the IED being involved in the communication.
A Select for value ctlModel=0 (status only) is responded negatively as an IED will not carry
out a command.
Select Before Operate means the property for the Oper.ctlVal[CO] variable in zenon and must
not be confused with the data attribute SBO in the data model of the 850 server.
If the IEC 61850 server responds to the Select positively, the driver saves the information using the
selected data object. In the following command (from the second stage of the command processing) the
driver only executes the Operate .
The Select Before Operate property of the ctlVal variables has no influence on the execution of
commands if the value of the ctlVal has been set directly and not by an action of the Command
Processing.
CANCEL OF SELECT
If in the Command Processing the command action is canceled at the second step, the driver sends a
Cancel (ctlModel=2 or 4) or immediately confirms the Cancel for the action of the Command
Processing (ctlModel=1 or 3).
CANCEL OF OPERATE
The driver supports Cancel operate only for the Command Processing module in zenon.
If the Cancel Operate property is activated for the command variable, an Operate that has not yet
been canceled can be canceled with Control Model with enhanced safety (3 or 4). If an ongoing Operate
is canceled in the command processing, the driver sends a Cancel to the server.
The Cancel Operate property of the ctlVal variable has no influence on the execution of commands if
the value of the ctlVal has been set directly and not by an action of the Command Processing.
not all IEC 61850 servers support a Cancel after an Operate has been started.
In accordance with the IEC 61850 standard, an IEC61850 server should also send an additional service
with AdditionalCauseDiagnosis to the driver (AddCause in LastApplError structure) for
negative responses to a command. The possible values of the AddCause service parameter are listed
in the IEC 61850-7-2. The driver can forward the AddCause received to zenon. To do this, the drive
object type Command Info variables are used.
94
IEC850 client functions
The driver also uses further Command Info driver object variables to inform Runtime of the current
status of the ongoing command (for example Select/Operate/Cancel) and provides information on
whether the command was successful.
Whilst already running, the driver provides the additional information in variables of the Command Info
driver object type (see driver objects (on page 56)) as soon as these have been created in the project.
Variables that relay the stage of the current command can be created for each */Oper structure. They
then provide information not just about Operate , but also about Select and Cancel commands. The
driver supports Command Info variables with the following references:
*/Oper.AddCause:
After a command has failed, the value shows the error information - AddCause. This information
is only available if it has been sent by the 850 server. Not every server supports this service. In
this case, the value of the variable remains 0.
*/Oper.ControlRun:
The variable shows the condition or the result of the current command:
1 = command is running
0 = command successful
-1 = command failed
*/Oper.ControlState:
The variable shows the condition of the command that is currently running (processed
sequentially):
-1 = command ended
0 = read ctlModel
1 = 'Select' sent
2 = 'Operate' sent
3 = 'Cancel of Selectsent
4 = 'Operate response' received (only in ctlModel=3 or 4)
5 = 'Cancel of Operate' received (only in ctlModel=3 or 4)
The references of the Command Info variables do not need a Functional Constraint, but they must
address the data object of the corresponding */Oper.ctlVal*[CO] variable.
For the variable PLC marker, BOOL, with the reference (for example symbolic address)
GE650!GEDeviceF650/CSWI1/Pos/Oper.ctlVal[CO], you can create the Command Info variables
with the following references:
Command Info, SINT: X!GEDeviceF650/CSWI1/Pos/Oper.AddCause
95
IEC850 client functions
Case 1:
If you set the value to */Oper.ctlVal directly or the variable does not have the Select Before Operate
property, the sequence of states is as follows:
1. */Oper.ControlRun = 1 and */Oper.ControlState = 0
2. */Oper.ControlState = 1 and dann */Oper.ControlState = 2
3. */Oper.ControlRun = 0 and */Oper.ControlState = -1
Case 2:
If you use the two-stage command processing for */Oper.ctlVal with the Select before Operate
property, the sequence of states for each command service (for Select, Operate or Cancel) is as follows:
1. */Oper.ControlRun = 1 and */Oper.ControlState = 0
2. */Oper.ControlState = x
3. */Oper.ControlRun = 0 and */Oper.ControlState = -1
For this, the following applies: x=1 or 2 or 3, depending on the command service.
Case 3:
If a command has been sent and the value */Oper.ControlRun remains 1 ("running") for a while, i.e. it
does not change to either 0 or -1, this means that the driver must still wait for the attendant response
from the 850 server. The 850 server has not yet initiated the command - neither positively nor
negatively. This can happen regardless of whether the other data exchange with the server continues to
work. It can happen whilst the 850 server checks the time-intensive Interlocking for example, or there
would be a notification of an overload of the 850 server (or incorrect behavior with regard to command
processing).
Attention
The Command Info variables do not have any value if no command was given. To
evaluate these variables, you must first set a value to the */Oper.ctlVal[CO]
variable.
The command services (for example Operate) that the driver sends to the 850 server consist of defined
structures with additional parameters. The structure is defined in the IEC 61850 standard.
96
IEC850 client functions
CHECK PARAMETERS
The driver sends all commands with Check = 0 by default. There are two methods for setting the Check
value for the following Operate or SelectWithValue service:
1. The Check parameter can be pre-defined by setting a value for the */Oper.Check[CO]
variable. The current value of the variable is used for the command service parameter.
: The Check data 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 set values for the Check data attribute 128 (0x80 synchrocheck), 64 (0x40 interlock-check),
are 192 (0xC0 both check bits) and 0x00.
2. In zenon by setting in the command processing: Action - property Qualifier of Command. The
valid set values are 2 - synchrocheck (inverted 01b), 1 - interlock-check (inverted 10b), 3 (both
check bits) and 0. With this method, the */Oper.Check[CO] variable, which may have been
created, is ignored.
TEST PARAMETER
The driver sends all commands with Test = 0 by default. The Test flag for the following Operate,
SelectWithValue and Cancel services can be predefined by setting a value for the
*/Oper.Test[CO] variable. The current value of the variable is used for the command service
parameter.
Attention
If you set the new values to the *[CO] variables in Runtime, these are forwarded to
the driver. The values are then set to the next Operate or SelectWithValue in the
driver.
The new values are initially written to the server in the subsequent command.
A loss of the connection sets the values, including the values of all CO variables, to
the status INVALID. The reestablishment of the connection then resets the values to
0.
ORIGINATOR
The Originator data attributes orCat (Category) and orIdent (Identification) show which Originator
(for example a client that is at bay level) has caused the last change of data (issued a command for
example).
The driver compiles the Originator when sending a command, consisting of:
97
IEC850 client functions
orCat
Dialog Basic Settings
orIdent
Dialog Client configuration
The orIdent can be used, based on the computer name of the computer on which the user has triggered
the command. To do this, activate the Use Client orIdent property in the Server dialog. Then also create,
in the Client configuration driver dialog, a Hostname for each computer in the zenon network.
If the Use Client orIdent property is not active, the orIdent of the Primary Server is used.
Example
When a command is executed, the driver sets the originator for the Originator data
attributes SBOw, Oper and Cancel as follows:
2,'SCADA_850_Client'
98
IEC850 client functions
The Origin attributes are an obligatory part of the Oper, SBOw and Cancel services and optional for
the upper node of a data object, e.g. 'Pos'. In order to be able to analyze the Originator of the
*/Pos/stVal[ST] value changes in Runtime, you can create attendant project variables in zenon if
*/Pos/origin.orCat[ST] and */Pos/origin.orIdent[ST] exist in the data model of the 850
server. If the 850 server does not support Service Tracking, then it is evident in these attributes which
client was the last to give a successful command. The attributes with Functional Constraintt CO are not
suitable for this because, according to the standard, it is not permitted to read them from an 850 server.
In order to analyze the Originator of a data object, the 850 server must be programmed
accordingly. The server must accept the Origin of the received command from
*/Oper.origin.*[CO] in these ST attributes.
If a Report is received, the driver forwards the Originator to Runtime with priority before it
forwards the other data attributes of the received data object.
You can use orCat or orIdent variables to compile a dynamic limit value text for
value changes to the stVal variables.
The driver automatically creates the values of the ctlNum parameter and sends it in commands. Each
time a value is set to the */Oper.ctlVal[CO] variable, the driver automatically increases the value of
the */Oper.ctlNum[CO]. The driver restarts at 0 if the value 127 has been reached. A zenon variable
ctlNum[CO], even if configured, is not however updated in Runtime. The ctlNum value is only for
correct execution of commands, not for the information of users.
The driver also counts write set value to ctlVal if ctlModel=0 (no action).
T (TIME) PARAMETER
The driver automatically sends the time of command execution, TimeQuality and TimeAccuracy
information in commands. You can find further details in the TimeQuality and TimeAccuracy of a
command chapter.
Service tracking was introduced with edition 2 of the IEC61850 standard. As a basic requirement, the
IEC61850 server must contain at least one logical node LTRKin the data model.
In order to use this functionality, corresponding additional service tracking variables must be created.
You can find detailed information on creating these variables in the Online import of an IEC 61850 server
(on page 64) and Offline import (on page 68) chapters.
99
IEC850 client functions
Attention
The additional service tracking variables - "Service tracking" driver object type - only
get the values in Runtime if at least one *[SR] "PLC marker" driver object type
variable of Logical Node LTRK in this Logical Device has been created in the project.
A PLC marker of LTRK need only exist and does not need to be requested nor shown
in a screen.
If a PLC marker is created, the driver automatically requests all relevant data attributes of the following
data objects with Service tracking from the controller: SpcTrk, DpcTrk, IncTrk, EncTrk, ApcFTrk,
ApcIntTrk, BscTrk, IscTrk, BacTrk. These data objects all belong to the CTS common data class.
In order to be able to receive further data objects with service tracking information - that belongs to a
different common data class (different than CTS):
Create the LTRK*[SR] PLC marker driver object variables.
By means of online or offline import.
Create additional "service tracking" driver object type service tracking variables.
This is to be carried out manually.
EXAMPLE:
To receive service tracking by means of value changes of the RptEna[BR] attribute in report control
blocks ‘brcbA01‘ and ‘brcbB02‘, create the following variables:
A PLC marker variable *LTRK*BrcbTrk/rptEna[SR]
The "service tracking" variables: *brcbA01_rptEna[SR] and *brcbB02_rptEna[SR]
A service tracking object with FC = SR can be received from polling or by means of a report. The driver
also supports data models with more than one instance of the LTRK node per logical device.
If a screen contains service tracking variables that have not previously been registered, the
variables remain empty until service tracking information is received by the Server.
If additional service tracking variables are created for a data object, there is no pre-defined sequence in
which the values are transferred from the driver to Runtime.
The consistency of data, for example for the creation of dynamic limit texts for the CEL, is however
ensured by the following process:
Each time service tracking is received, the driver sets the status bit M1 with the service tracking
variable *_errorCode[SR].
100
IEC850 client functions
After all service tracking values have been transferred to Runtime, the driver resets the status bit
M1 of the *_errorCode[SR] variable (M1 = 0).
This resetting of the M1 status bit is a suitable trigger for the creation of a CEL/AML entry.
Attention
If you evaluate the status bit M1 with a reaction matrix and the service tracking
values are received from polling and not from a report, the initial value also triggers a
CEL/AML entry.
ALLCTS[SR] VARIABLE
A *_allCTS[SR] variable contains the received service tracking information, consisting of the data
attributes of the Common Data Class CTS.
This variable is a string variable.
The value of the variable is a text, consisting of data attributes of the Common Data Class CTS in
the following sequence: objRef, serviceType, errorCode, originatorID,
t, ctlVal, origin.orCat, origin.orIdent, ctlNum,
T, Test, Check, respAddCause.
The individual data attributes are each separated by a ;.
The status bits of the variable result from the sum of all status bits of the data attributes.
The time stamp results from the time stamp of the last attribute of the service tracking object. If
there is no time stamp, the current time is used.
If the service tracking object received does not contain a Control Service (CTS), but instead Common
(CST) or Control Blocks (UTS, BTS etc.), then the *_allCTS variable only consists of data attributes of the
Common Data Classe CST: objRef, serviceType, errorCode, originatorID, t.
101
IEC850 client functions
LOG ENTRIES
Dataset xxx deleted MSG The xxx data set has been successfully deleted by the server.
sucessfully
Double Point Value Mapping is a standard function of the zenon Energy driver. It only influences
zenon Runtime and has no effect on the driver communication with a device. Configuration is carried
out in the driver settings in the Basic Settings tab.
It is recommended that you leave the Deactivate standard double point value mapping option in
the driver configuration as the default, inactive.
The driver uses Double Point Value Mapping to convert values so that they are displayed in a
user-friendly manner. However this only applies to the HMI.
The driver always communicates with one device with values for Double Points with 2-bit information.
This corresponds to the definitions of the energy standard. That means:
Parameters Double Point Value Meaning
Intermediate 00b 0 Switches are neither open nor closed, for
example the End-Position has not yet been
reached
Off 01b 1 Switch open
On 10b 2 Close switch/switch closed
Fault 11b 3 Error
Double Points are coded with 2-bits in the energy sector for historical reasons: The transmission of a
telegram to a serial connection (RS232) with a series of values that only contain 0 was not safeguarded
against transmission errors. In order to increase the certainty, it was decided in the first standards that
102
IEC850 client functions
the value for OFF is not to be sent as 0 but as 01b, which corresponds to decimal 1. These Double
Point Values also precisely reflect the type of how two sensors record the physical position of a switch.
However, the values sent this way may be confusing for people:
OFF = 1
ON = 2
At the same time, Single Point Values are also defined with OFF = 0 in the same standard.
The user must always be aware of the technical level on which they are acting and receiving or sending
information. In stressful situations, this can very easily lead to serious mistakes. For example, if ON is
sent instead of OFF.
In order to avoid this dangerous error, the zenon Energy driver offers its own Double Point Value
Mapping.
With the Double Point Value Mapping, all Double Points in zenon have the following values:
Intermediate = 2
Off = 0
On = 1
Fault = 3
Information
This function can be deactivated in the driver settings. However some features such
as Command Processing or ALC can no longer be used then.
In accordance with the IEC61850-7-3 standard, in Common Data Classes, Double Point Status (DPS) and
Controllable Double Point (DPC), the stVal attribute has 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
103
IEC850 client functions
MMS of the bit string data type. The stVal data attribute can thus 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). In zenon, this corresponds to a variable with data type UDINT (default) or STRING (if
changed manually) - see assignment of datatypes (on page 59).
In the driver configuration, the Deactivate standard double point value mapping option should remain
inactive by default in order to use the modules from the zenon Energy Edition, for example the functions
of Command Processing and ALC.
With the default settings, the driver assigns values of the stVal data attributes of DPS and DPC in
accordance with the following table:
Position value in the end zenon Dbpos value - zenon Dbpos value - zenon Wert - value
device STRING UDINT unmapped mapped
Intermediate (00b) '00' 0 2
Off (01b) '01' 64 (0x40) 0
On (10b) '10' 128 (0x80) 1
Fault (11b) '11' 192 (0xC0) 3
The driver only converts values for variables with the names */stVal and numerical data type that
corresponds to bType 'Dbpos' in the SCL language (IEC61850-6). This means that the values of the
*/stVal variable with a data type set to STRING manually are excluded from mapping.
Variables in zenon with FC (on page 132)=ST or FC=MX (for example */Pos/stVal[ST],
*/PhV.phsA/cVal.mag.f[MX]) get a time stamp and status bits from the accompanying data
attributes 'q' and 't'. This happens in the driver automatically. Additional configuration in zenon is not
necessary.
The driver always assigns selected Quality Bits (of the 'q' attribute) and TimeQuality Bits (of the 't'
attribute) of the corresponding status bits to each zenon variable that has been created for an attribute
of the data object and has an FC (on page 132)=ST or FC=MX, for example for status bits of the stVal
variable. The driver also assigns the value of the 't' attribute to the time stamp of all ST/MX variables of
the data object.
104
IEC850 client functions
The driver automatically uses the time stamp and the quality of the data object for other variables in
this DO. For this reason, no variables for the attributes 'q' and 't' need to be created separately, except if
you want to analyze the quality bits that are not assigned to status bits or want to see the updates of
the time stamp without changing the position (stVal) or measured value (mag). If the zenon variables
with references to data attributes 'q' or 't' have however also been created, the driver will support the
received values 'q' and 't' as variable values.
The time stamp, received as 't' attribute, is used for the corresponding */stVal[ST]
variable in the CEL. If the */t[ST] variable has been created in the project, it has the received Unix
time as an LREAL value, with milliseconds in decimal places.
Info
The driver takes the TimeQuality byte of the 't' attribute into account by default. In addition
to 3 status bits for the quality of the time information, the TimeQualitybyte also contains 5
bits for the TimeAccuracy information - the accuracy value (N bits of accuracy - performance
class). The theoretically-possible accuracy values are between 0 - 24 and value 31 is defined
as "unspecified" (all bits). However only some of the precisions can use a valid 850 server.
The lowest precision permitted for an 850 product is class T0 - 7 bits - 10ms.
If TimeAccuracy is not 31 "unspecified", the FractionOfSeconds field of the time value -
the binary decimal places - correspond to the precision - N+1 - shortened. The time stamp
is then rounded to the milliseconds.
TimeAccuracy = 10 bits (class T1, 11 binary decimal places): the driver shortens the
received time value to the precision 1/2048=0.00048828125 [s] and rounds up to the
milliseconds.
TimeAccuracy = 0 bits (no valid performance class in the 850-7-2 standard, 1 binary
decimal place): the driver shortens the time value received down to the seconds.
If you want to ignore TimeAccuracy, activate the Ignore time accuracy checkbox in the
Server (on page 25) driver configuration dialog.
The selected Quality and TimeQuality bits are assigned to the status bits of the variables in the same
data object as follows:
105
IEC850 client functions
The variables of a data object without 't' attribute (or with 't' value 0) and the variables with a Functional
Constraint other than ST/MX receive the time stamp of the local PC clock.
Info
You can evaluate status bits (such as T_INVAL) by using a combined element or
reaction matrix (of type "Multi"). The status bits can be filtered in CEL or AML.
For each variable, the driver provides information about whether the value of the variable was received
from polling or by means of a report. The information is written to the status bits COTx .
106
IEC850 client functions
Info
The COT value for theIEC850 driver is orientated towards the IEC60870 standard:
1 - periodic, cyclic
2 - background scan
3 - spontaneous
20 - general interrogation
During a command execution using the Command Processing module, the driver updates the status
bits of the */Oper.ctlVal[CO] variable as follows:
Select, SelectWithValue: SE_870 + COT_act(6), then SE_870 + COT_actcon(7) possible
with N_CONF
Operate: COT_act(6), then COT_actcon(7) with possibly N_CONF, then possibly
COT_actterm(10)
Cancel: SE_870 + COT_deact(8), then SE_870 + COT_deactcon(9)
The watchdog timer of the Command Processing evaluates these status bits of the Action variable.
When sending a command in SBOw, Oper and Cancel, the driver also sends a T attribute. This T
attribute contains the time of command execution as well as TimeQuality and TimeAccuracy at the
last octet (in accordance with standard 61850-8-1, 8.1.3.7).
107
IEC850 client functions
The user can determine manually which values for TimeQuality and TimeAccuracy are used for this
command. To do this, configure two Settings driver object type variables. Name these TimeQuality
and TimeAccuracy.
If a command is sent with a time stamp, the values for TimeQuality and TimeAccuracy from these
variables are used.
If not variables have been created or a value was never written to the TimeQuality and
TimeAccuracy variables, the last octet of the T attribute is sent with 0.
TIMEQUALITY:
Bit 0 = LeapSecondsKnown
Bit 1 = ClockFailure
Bit 2 = ClockNotSynchronized
TIMEACCURACY:
Value 0 - 24: Bit number accuracy of the decimal places of the T attribute
8.6 Filetransfer
Filetransfer is a functionality defined in the IEC 61850 standard for the transfer of files between 850
server and client. For example, you can get the SCL file of the 850 server, or disturbance data after a
problem (typically in COMTRADE format). Whether, and which files are available for the transfer is
decided solely by the IED (850 server).
The transferred files are saved with the same name, format and content as the 850 server forwards
them to the driver, for example the IED provides the files in COMTRADE format for transfer, the files are
already saved in COMTRADE format on the driver's drive with the name and content as received by the
IED.
108
IEC850 client functions
ERROR TREATMENT
If the 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 (on page 129)).
To get a file from the IED (850 server), set the value "GET <file name>" for the command variable.
109
Reporting
The transferred files are saved with the same name, format and content as the 850 server forwards
them to the driver.
To delete a file in the IED (850 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"
9. Reporting
Reporting was introduced by the IEC 61850 standard for spontaneous communication. The variables
that are linked to a successfully-activated (RCB enable) Report Control Block are no longer polled, but
are reported by the controller (an 850 server, Intelligent Electronic Device - IED) if a value change
occurs. The variables that are reported if an 850 client registers a certain Report Control Block (RCB)
(enabled), is defined in the DatSet (Data Set) attribute of the RCB . The Data Set is defined in the SCL file
of the IED and contains the data objects, whose value changes are reported spontaneously by the 850
server.
The configuration of the reporting is carried out in driver configuration - server (on page 25). In RCB
assignement/dynamic datasets (on page 41), Buffered and Unbuffered Reports can be configured. RCBs
configured this way have a higher priority than any automatically-searched Unbuffered Reports. If the
activation of an RCB is unsuccessful, the driver can instead automatically activate a URCB, which also
contains datasets if it contains the required data. If you do not want the driver to activate the URCBs
automatically, 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. In this case, in the
Connection State variable (on page 88), the bit 17 or 25 (MMS_RCB_ENABLE_FAILED) is set.
You can find further information on the different possibilities for checking the activation of RCBs in the
RCB activation - checking possibilities (on page 122) chapter.
You can configure RCB assignment manually in the driver or - in Energy Edition - with the help of the
IEC850 Driver Configuration wizard, using an SCL file (SCD, CID, possible ICD etc).
: For simplified import of variables from the RCB data sets, the IEC850 Driver Configuration
provides additional possibilities.
110
Reporting
By default, the driver identifies the RCB instances of the 850 server using its name. This process is
supported by all - IEC 61850 standard-compliant - IEDs (850 servers).
By activating the Use Report-ID for RCB assignment setting in the driver configuration, you can use a
special process: the report ID (RCB.RptId) is used instead of the report name. The process is only suitable
for special applications. The driver will thus register all RCB instances that have the same ID. The
IEC61850 standard also allows different RCBs, with different Data Sets to have the same value in RptID.
In Runtime, the driver will search for all RCBs with the respective Report ID and register them. The driver
can thus configure in such a way that it registers several RCBs with just one entry in the list and also
automatically registers those that did not yet exist at the time of driver configuration.
: If several instances of an RCB have the same ID on the 850 server (which often happens) the
driver will register them all, even if they all contain the same Data Sets. Consequently, no further 850
client will have access to the RCBs concerned!
Use of report ID requires corresponding configuration in the SCL file of the 850 server:
A separate report ID must be defined for each 850 client in the system; also a different ID for
each Hostname - a different one for the Primary Server, another for the Standby Server.
With different RCBs, precisely one instance should be configured with the ID in SCL. Instances
that need a client are thus marked, for example the first instances of each RCB for drivers on the
Primary Server, the second for drivers on the Standby Server, the third for a different 850 client
in the system, etc.
Only activate the process using report ID if you are sure that you want to use this special feature in the
driver and the IED has also been preconfigured accordingly.
: If this option is subsequently changed, all RCB assignments in the RCB assignment dialog are
deleted, the driver configuration is closed and opened again, and RCB assignment is set up again.
111
Reporting
The driver also sends, if the RCBs is activated, a General Interrogation (RCB.GI=TRUE) command to get the most
recent value of the variables. The first time the RCB is activated (i.e. when Runtime is started) and when the
connection is reestablished (after a connection has been lost), it sends a GI. The driver also sends the GI at the
same time as requesting the buffered events to be transferred via BRCB.EntryID, in order to ensure the updating of
the process data, even if the reason for the loss of the connection was the failure of the 850 server.
However the general query is not sent if it is a repeated attempt to enable a report. This happens after expiry of
the time configured in the RCBs enable retries property. This avoids data duplicates, because the values have
already been received from the polling.
DATA SETS
The IEC850 driver supports reports with the Data Sets predefined in the IED (in the SCL file) or with
Dynamic Data Sets - with the RCB.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
Service tracking - SR
Configuration - CF
and further: SP, SV
If a non-standards-compliant reference has been defined in a Data Set (other than the FCs listed here),
the driver nevertheless activates the RCB. However the data with invalid FCs is ignored in the reports
received. The data objects and data attributes concerned continue to be polled.
In a Data Set:
Data objects with different FCs can be used together if the 850 server supports this.
Data objects from different Logical Devices can be contained.
You can find details of dynamic datasets in the Dynamic datasets (on page 125) chapter.
112
Reporting
The dynamic data sets configured in the driver always consist of FCD references:
Functional Constraints (FC)
Reference to the Data Object (LD/LN/DO)
Datasets already defined in an IED usually consist of FCD references, but they can also consist of FCDA
references.
In a SCL file the elements in a dataset always start with XML keyword "FCDA". This is also true for
element which are a FCD reference:
FCD reference:
<FCDA ldInst="ANN" prefix="PLT" lnClass="GGIO" lnInst="2" doName="Ind01" fc="ST" />
FCDA reference:
<FCDA ldInst="LD0" prefix="X" lnClass="GGIO" lnInst="110" doName="Ind1" daName="stVal"
fc="ST" />
The difference is the "daName" element.
To preclude data inconsistencies, it is recommended that data sets are always used with FCD references.
To do this, the SCL file must always be configured accordingly. The "daName" elements of references
must be removed and possible duplicates must be deleted.
Note also that it is only with FCD references where the value changes are contained in the report with
the current time stamp of the 850 server in the report. With FCDA references, only the reports with GI
or Integrity contain the time stamp of the server.
If the 850 server uses the FCDA references that cannot be reconfigured to FCD references (for example
because the server does not accept any updates to the SCL file) the driver will however activate a report
with such data sets. Reports with Service Tracking are only supported with FCD!
For reports with a data set with FCDA , the driver works according to the following rules:
Whilst activating the RCB, the structure of the DataSet is recognized. If there are individual data
attributes present here, a check is made to see whether, in this DataSet, an attendant Quality
has also been defined at the same time. If no FCDA reference for the corresponding Quality
attribute is found, that is however in the data model, the driver writes a LOG entry:
113
Reporting
TRIGGER OPTIONS
The Trigger Conditions defined in the IEC 61850 standard determine when an 850 server creates a new
report and sends it to the client. The driver supports all Trigger Conditions defined in the standard. The
Trigger Conditions consist of Trigger Options (TrgOps) that are defined in the SCL file of the 850 server in
two places:
at the Report Control Block, for example SCL:
IED.AccessPoint.Server.LDevice.LN0.ReportControl <TrgOps
dchg="true" qchg="true"/>
For relevant data attributes (DA), for example in SCL:
DataTypeTemplates.DOType <DA name="stVal" fc="ST" dchg="true"
bType="Dbpos"/>
114
Reporting
An 850 server only creates a new dchg, dupd or qchg report if both conditions - for RCB and for DA -
have been met, the reports GI and Integrity - only depending on TrgOps in the RCB. In accordance with
the standard, a client (the driver) can only have an influence on TrgOps in RCB , but not on the TrgOps of
the data attributes - these are fixed in the SCL, but first determine whether the IED should take the
change in value of the data attribute into account as a trigger for reports.
In the driver configuration, use the Use preconfigured (SCL) options to configure whether the driver
should activate (enable) the RCB with the TrgOps (and IntgPg, BufTm and OptFlds) already predefined in
the SCL file of the IED or that the driver should first overwrite with settings from the driver configuration
and only then sign in the RCB.
If the Use preconfigured (SCL) options checkbox has not been activated, the driver sends the configured
Trigger Options to the 850 server. Possible write errors are ignored and the RCB continues to be used.
: with a write error to RCB.TrgOps, it would be expected that the 850 server then acts using its
TrgOps from the SCL file.
The Trigger Options in the RCB define the conditions under which an IED (the 850 server) creates and
sends a new report:
TrgOp: data-change - an IED creates a new report if one of the data attributes that have the dchg
or dupd flag in their SCL definition changes the value. For example: stVal.
TrgOp: quality-change - an IED creates a new report if one of the data attributes changes its
value with the qchg flag. In accordance with the standard, only data attributes q can have qchg .
TrgOp: data-update - an IED creates a new report if one of the data attributes is updated with
dupd ; even if the value remains the same (and possible only the time stamp has been updated).
For example: mag.
: for TrgOps: dchg, qchg and dupd ; an IED collects the value changes of individual data
attributes using the Buffer Time (RCB.BufTm) length, in order to minimize the number of reports
created. The BufTm is applicable for URCB (Unbuffered) and BRCB (Buffered). In the event of a
connection loss, an IED creates the Buffered Reports, but does not send them. The buffered
reports are only sent after the connection has been re-established if the client (the driver)
requests them with a valid EntryID.
TrgOp: integrity - an IED creates cyclically - for each Integrity Period - a report that contains all
values; also those that have already been sent due to dchg, qchg or dupd and those that have
not changed in the mean time.
TrgOp: general-interrogation - an IED creates a report that contains all values if the client (the
driver) requests the general query (RCB.GI).
Not all servers support TrgOps data-change and data-update together. TrgOp integritycan also lead
to an unnecessary overload of communication if an IntgPd (Integrity Period) that is too short was
defined in the server for RCB. In the event of doubt, set TrgOps: data-change + quality-change +
general-interrogation. Ensure that TrgOp: general-interrogation is activated. Otherwise the driver cannot
receive values for the variables present in the report when first started up.
115
Reporting
BTYPE TRIGGERCONDITIONS
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 the length 6 and only contains the characters "0" and "1"; in the same sequence
as the bits are defined in the standard.
Example
The value "000010" (as UDINT=8=00001000b) means that only the bit 4 -
'intergity' is set.
In a redundant zenon network, both the Primary Server and the Standby Server start their own IEC850
driver. Both drivers must register different RCB instances (otherwise they are in conflict because an 850
server can only issue a client the RCB instance).
If you use redundancy in your zenon project (Network active property and Server 1 and
Server 2 have been configured), you must create at least two entries in the driver configuration RCB
assiggment: a Hostname forServer 1 and second Hostname for Server 2 (Standby). You must then select
different instances of the RCB for these entries.
Per default the IEC850 driver creates two host names: $SCADA_SERVER1 and $SCADA_SERVER2.
The Connection State variable cannot result in a different evaluation for drivers on the Server 1
network than that on Server 2. For the user, also on the Standby, only the current value of the current
Primary Server is visible. If you also want to make the current evaluation for Standby Server visible - in
order, for example, to trigger an alarm if the Standby could not register its RCBs, you can create a copy
of the Connection State variable - with the same reference (in Symbolic address), a different prefix in
the Name and with the Read from Standby Server only property activated.
For Evaluated network, you do not need any of the variables requested by the Standby in the
Valuations property. The evaluation takes place separately on both servers, using the local values of the
variables. Therefore in the standby, it is always the value of the Connection State variable that is
evaluated by its internal image, even if no copy has been created in the project.
116
Reporting
The use of Unbuffered Report Control Blocks (URCB) can be configured in the IEC850 driver in two ways:
1. Automatic assignment:
property max. auto used URCBs:
Automatic assignment makes the use of reporting easier in the test phase of the project already
- the driver checks the content of all existing Unbuffered Report Control Blocks (URCB) (data
sets). The driver then reports first the URCBs that contain the most variables of the project;
2. Static assignment - statically assigned RCB (on page 41) dialog:
The driver uses the assignment of Report Control Blocks to the computer - Hostname - as it is
defined in the driver configuration - client configuration (on page 36). This is applicable for URCB
and BRCB.
AUTOMATIC ASSIGNMENT
Automatic assignment works with data sets and linkings of data sets with Report Control Blocks that are
already predefined in the 850 server - using its SCL file. The dynamic datasets are not supported for
automatic assignment.
During the establishment of a connection to the 850 server, the driver reads all data sets that are
present in the 850 server and assigns them according to their usability - according to the number of
variables from the project included. This sorting indicates the sequence in which the driver attempts to
activate free URCBs for reporting (enable). At most, only as many URSBs per Logical Device are activated
as are defined in Driver configuration (on page 25) in the max. auto used URCBs property. All data
objects of the data set that are successfully linked to an activated URCB are no longer polled but are
reported in the event of a value change.
: automatic assignment makes the use of reporting easier in the test phase of the project already - even
before the static assignments have been set. However, before you approve the project, also configure the static
assignment for URCB - in the RCB assignment dialog and set the max. auto used URCBs property to 0. The
standard proposes that in a system, the client that uses a certain instance of an RCB should be clearly regulated. It
prevents possible conflicts between several 850 clients.
When activating reporting, the driver also recognizes URCBs with the same content; the name of these
reports can be different. Before the URCBs are sorted for the zenon project according to their usability,
the driver first sorts the data objects of the data sets of each URCB and compares them in order to avoid
duplicates. The following applies for conflicts when activating the URCBs:
For the same reports - with identical or different sequences of the same data objects: only one
URCB is activated.
If an URCB is already occupied by another client, the next free URCB is activated.
If all URCBs are already occupied by other clients, the data points are polled.
117
Reporting
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 IED contains some data sets, for
example a GEDeviceF650/LLN0$MMXU1$MX data set with the following content:
In the IED, this data set is assigned to the LLN0$RP$urcbMXA01 RCB - the name of the data set is in the
DatSet attribute of this RCB.
118
Reporting
The URCBs LLN0$RP$urcbMXA01 and LLN0$RP$urcbMXB01 are signed in when the driver starts (if
they are still free).
Because there are no further suitable URCBs that have project variables in their datasets, the remaining
URCBs 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 Report Control Blocks that are used are defined and fixed in the driver
configuration - statically assigned RCB (on page 41). The driver attempts to activate all listed RCBs,
regardless of their content.
If a Dynamic Data Set was also entered in the driver configuration, the driver in the PLC of this data set
allocates this set to the RCB, in that it changes the value of the DatSet attribute before the report is
activated.
If no Dynamic Data Set was entered, the data set pre-defined in the PLC is valid (as with automatic
allocation).
If an RCB was activated successfully, all data objects that are contained in its data set are no longer
polled. In this case, the driver expects that the IED reports the value changes spontaneously.
If no dataset name was sent with the received Report, teh corresponding dataset is found using RptID .
This is only possible if the RptIDs is unique.
Information
The driver can only assign the data received in a Report to variables if a dataset name
is available in the Report or if the RptID of the Report is unique.
If the Report does not include a dataset name, you have two possibilities:
An IED can only send Reports without dataset name if in the RCB the Optional Field
Data set name is not enabled.
If Optional Field Data set name can be activated dynamically depends on the 850
server.
Each Report includes RptID.
If the IDs are unique for each RCB, the data can be evaluated correctly.
If the RptID can be changed dynamically depends on the 850 server.
In the SCL file of the 850 server in section Services it is defined if the Optional Fields and
RptID can be changed dynamically. In the runtime a client can only make changes if the
server permits it.
119
Reporting
For Buffered Reports, an 850 server (IED) saves the changes in the time in which a connected 850 client
cannot be reached. If the client (the IEC850 driver) is online again (if the connection is reestablished, for
example), the driver reads all buffered changes from the IED 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
(on page 117);
Or for reasons of compatibility with older drivers, via the the Report ID of the BRCB that was
configured in the SCL file and contains certain text. To do this, the Use Report-ID for RCB
assignment property 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 then signs in the RCB driver and uses the RCB data set
that is defined in the SCL file.
A Buffered Report can only be activated by a host (a client). To prevent the driver from activating all
Buffered Reports and blocking access for other 850 clients, these must be explicitly defined in the driver
configuration (on page 9).
Irrespective of buffered events, the basic behavior is the same as with Unbuffered Reporting.
Information
Once Runtime is started, the driver first reads the RCB attributes and only writes to
enable if the RCB:
Is free
Is not yet enabled (for example by another 850 client)
Is not reserved
Contains a valid dataset
In the event of repetitions - from the RCBs enable retries properties - the driver no
longer reads the RCB. In this case, it always writes RCB.RptEna=TRUE and then checks
whether the PLC confirms success or returns an error.
An RCB with empty data set is not used in Runtime. Corresponding warning entries are generated in the
LOG file for this automatic deactivation.
120
Reporting
If the RCB of the previously-used BRCB is activated again (RCB enable) (i.e. another establishment of the
connection after a loss of the connection), the driver sends a saved EntryID to the 850 server to get the
buffered value changes from the IED . This procedure is defined as such in the IEC 61850 standard. The
Do not purge BRCB buffer at start option has no influence on this.
The first time an attempt to enable a report is made (i.e. when Runtime is started), the driver can also
send the value of the EntryID. However, the driver only does this if the Do not purge BRCB buffer at start
option is activated and if the driver has saved an EntryID beforehand.
The driver saves the last-received EntryID for each ObjectReference to BRCB first internally
and then - each minute or if Runtime is closed - to a TXT file in the directory of the Runtime data.
In the following situations however, the driver sends the purge buffer command to delete the buffer on
the IED :
It is the first connection after Runtime has been started and the Do not purge BRCB buffer at
start option in the basic settings (on page 18) is deactivated.
The driver has not received a valid EntryID value beforehand.
It is a repeated attempt to sign in a report - after the RCBs enable retries time has expired. The
BRCB.PurgeBuf command is always sent with a repeated attempt. This avoids data duplicates,
because the values have already been received from the polling. The Do not purge BRCB buffer
at start option has no effect on repetitions.
Attention
An 850 server is obliged to first confirm the writing of EntryID and only then to send
the buffered values. The reports are ignored as long as the BRCB activation has not
yet been confirmed.
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 1 and Server 2 (Standby Server) which PC is to
activate which report. The driver is started on both the Primary Server and the Standby and checks the
driver configuration (Hostname property), to see if it finds a configuration that corresponds to the
computer name that is running on Runtime.
For this reason, you need two copies of the Buffered Report in the IED (850 server) in the event of a
redundant configuration; one for the driver that runs on the project server and one for the driver that
runs on the Standby Server. You also create two entries in the RCB assignment (on page 41) list in the
driver configuration. One with the computer name of the project server and one with the computer
name of the Standby Server.
121
Reporting
: With the configuration entry for the computer name of Server 1, you can enter the first instance
of the BRCB ("brcbA01" for example) and for the configuration entry of Server 2 - the second instance
("brcbA02" for example).
Attention
Even if you do not use redundancy, you must nevertheless define which reports are used for
the PC (Hostname property) in the driver configuration on which zenon Runtime runs.
BRCB.RESVTMS HANDLING
The driver only handles the data attribute BRCB.ResvTms if no ClientLN.iedName has been defined in
the driver configuration. You configure this ClientLN.iedName in the client configuration (on page 36)
driver dialog or with the IEC850 Driver Configuration wizard from an SCD file.
If ClientLN.iedName has been configured, then it is assumed that the 850 server has also been
pre-configured with the same SCD file. i.e. the 850 server obliges all exclusively-reserved BRCBs to set
ResvTms to -1 and to only issue the BRCBs to the envisaged clients.
If no ClientLN.iedName is defined in the driver configuration, when the connection to the server is
established, the BRCBs that are to be enabled are checked to see if there is the optional attribute
ResvTms. In doing so, the value -1 in ResvTms means that this BRCB is exclusively reserved in the SCD
for a different client. In this case there is an incorrect configuration and a warning is issued in the LOG.
If no ClientLN.iedName has been configured in the driver, the driver sets the ResvTms attribute to
32767 seconds (7fff hex) in order to reserve this BRCB for the longest possible time in the event of a
connection failure. This time is approximately 9 hours and ensures that no other client can sign this
BRCB in during the time that the connection has failed.
URCB.RESV HANDLING
The driver only takes the data attribute URCB.Resv into account if no ClientLN.iedName has been
defined in the driver configuration.
To find out if a certain RCB has been activated, read the value of the *RptEna[RP/BR] data attribute.
122
Reporting
If the value of this variable is TRUE, then the RCB is assigned by a client. This information is only
meaningful and reliable if only one single client communicates with the 850 server (IED).
Otherwise you do see that the report has been enabled, but there is no information about the client
that activated this report. Additional information on the fact that one of the RCBs could not be activated
can be read from the values of the Connection State variable (on page 88).
If the driver cannot activate the statically-assigned reports for any reason, polling is used instead for
variables from missing RCBs. In this case, in the Connection State variable, bit 17 or 25
(MMS_RCB_ENABLE_FAILED) is set and the driver will - after the RCBs enable retries time has elapsed -
attempt to write the RptEna data attribute with true again. As soon as the 850 server, after another
attempt, accepts the missing sign ins for RCB, the driver no longer polls the variables. After all RCBs have
been signed in, the MMS_RCB_ENABLE_FAILED bit of the Connection State variable is reset.
DIAGNOSIS VIEWER
You can get more details if you read the LOG file with the Diagnosis Viewer. In the LOG file, the
corresponding information on the enabling of the reports by the driver (IEC850 client) is logged at MSG
level. The attendant LOG entry:
"Trying to enable xxx on device nnn".
Example for xxx: LLN0$BR$brcbA01.
Only the ERROR level is logged by default in the Diagnosis Viewer. You must configure the
corresponding Messagelevel in the Diagnosis Viewer. This configuration in the DiagViewer is only
possible if the corresponding driver tasks have already been started. This is then the case if Runtime is
running or the driver configuration is open in the zenon Editor.
If the MSG level has been activated in the Diagnosis Viewer, but the "Trying to enable xxx on
device nnn" LOG entry is not there, then ensure that the "Hostname " property of the driver
configuration has been configured correctly.
Also ensure that there is at least one *[ST|MX] variable in your zenon project whose value is signed in
by this report.
123
Reporting
Information
If the driver is configured for the use of certain RCBs and these RCBs have an incorrect
dataset definition, the report is activated but some data objects still need to be polled. In the
LOG file, you can find entries via enabling of RCB, but not the entries via deactivated polling.
For each variable, the driver provides information about whether the value of the variable was received
from polling or by means of a report. The information is written to the status bits COTx .
COT value Status bits Description
1 COT0 The value was received by means of polling.
2 COT1 The value was received by means of an Integrity Report.
This only works if Reason-for-inclusion is activated in the optional fields
(on page 35) dialog. Otherwise the COT=3
3 COT0, COT1 The value was received by means of a report
If Reason-for-inclusion is activated in the Optional fields (on page 35)
dialog, it is only reports with the trigger option data-change, data-update or
quality-change. If Reason-for-inclusion is not activated, it is all reports -
including Integrity and GI.
20 COT2, COT4 The value was received by means of an General Interogation Report.
This only works if Reason-for-inclusion is activated in the optional fields
(on page 35) dialog. Otherwise the COT=3
Info
The COT value for theIEC850 driver is orientated towards the IEC60870 standard:
1 - periodic, cyclic
2 - background scan
3 - spontaneous
20 - general interrogation
124
Reporting
Info
You can evaluate COTx status bits by using a combined element or reaction matrix
('multi' type). They are also visible in the variable diagnosis screen.
To use Dynamic Data Sets, the two services CreateDataSet and DeleteDataSet must be supported
by the IEC 61850 server and the DatSet attribute must be able to be written to in the Reporting Control
Blocks (RCB) (SCL: ReportSettings.datSet="Dyn"). ReportSettings.datSet="Dyn"). When configuring,
you must take into account all possible server restrictions such as the maximum number of elements in
the data set (SCL: DynDataSet.max and maxAttributes).
Dynamic Data Sets lists data objects and are configured in the dynamic DataSet configuration (on page
47) 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 (on page 36). If
no Dynamic Data Set has been linked in the RCB configuration of the driver, the pre-defined, static data
set in the IEDs is valid.
If, in the driver configuration, a Dynamic Data Set was entered for an RCB, the driver in the IED (in the
850 server) assigns this data set to the RCB , by changing the value of the DatSet attribute of this block
before the Report is activated.
The creation of a dynamic data set can be checked in the Diagnosis Viewer (on page 129):
If a dynamic date set cannot be created, all RCBs that use this dynamic data set are not activated in
Runtime. If the data set has been successfully created in the IED but the driver cannot update the DatSet
attribute in the RCB, the assigned RCB is activated with the data set already present.
Before the statically assigned Reporting Control Blocks are activated, all dynamic data sets that are
linked to them via driver configuration - client configuration (on page 36) are compared to those on the
IEC 850 server. All Dynamic Data Sets available 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 available
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.
125
Changing the driver mode in Runtime
The deletion of a dynamic data set can be checked in the Diagnosis Viewer (on page 129):
The dynamic data sets that the driver creates on the IED (using the CreateDataSet service) receive a
client-dependent name on the IED, 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 client as it is defined in the driver configuration.
You can find this configuration in the client configuration (on page 36) under Hostname.
datasetname is the name that was defined in the driver configuration.
You can find this configuration in the client configuration (on page 36) in the dynamic dataset
configuration (on page 41).
: Define short names of the data sets and only use alphanumerical characters. The RCB.DatSet
parameter has, in accordance with the IEC 61850 standard Edition 2, a maximum length of 32 (more
precisely: 64/16$32 - LD/LN$Name). These 32 characters are assigned with prefix, host name and name
of the data set, so the excess characters may be cut off with longer names and the names may no longer
unique.
The zenon Driver commands function is not identical to driver commands that can be
executed in Runtime with Energy drivers!
126
Changing the driver mode in Runtime
Information
This chapter describes standard functions that are valid for most zenon drivers.
However, 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.
127
Changing the driver mode in Runtime
Option Description
Drivers Selection of the driver from the drop-down list.
It contains all drivers loaded in the project.
Current status Fixed entry which has no function in the current version.
Driver command Drop-down list for the selection of the command:
128
Error analysis
If the computer on which the Driver commands function is executed is part of the zenon network,
further actions are also 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.
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 (main.chm::/12464.htm) program that was also
installed with zenon. You can find it under Start/All programs/zenon/Tools 8.00 -> Diagviewer.
zenon driver log all errors in the LOG files.LOG files are text files with a special structure. The default
folder for the LOG files is subfolder LOG in the folder ProgramData. For example:
%ProgramData%\COPA-DATA\LOG.
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.
1. The Diagnosis Viewer displays all entries in UTC (coordinated world time) and not in local time.
2. 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.
129
Error analysis
3. If you only use Error-Logging, the problem description is in the column Error text. For other
diagnosis level the description is in the column General text.
4. For communication problems many drivers also log error numbers which the PLC assigns to
them. They are displayed in Error text or Error code 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.
5. 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.
Attention
In Windows CE errors are not logged per default due to performance reasons.
You can find further information on the Diagnosis Viewer in the Diagnose Viewer
(main.chm::/12464.htm) manual.
Check your system for errors using the driver documentation; for example correct driver configuration,
addressing of the variables in zenon projects, report settings in the control unit, etc.
130
Error analysis
131
Appendix A - Description of the ‘Functional Constraints’ (FCs):
a) Does the max. auto used URCBs property have the correct value?
If you have already configured the static assignment for RCBs in the driver - then 0;
If the static assignment has not yet been configured - a value that leaves all 850 clients in
the system with sufficient RCB instances.
a) Is reporting available for the device?
A standard-compliant 850 server can, but must not necessarily support reporting. For
example, its ICD file (file from the manufacturer) can contain incomplete configurations for
RCBs and it is expected that the complete CID files are uploaded in the IED for finished
systems.
a) Do the RCBs, in DatSet parameter, contain the names of existing data sets?
In the event of doubt, create the */DatSet[RP|BR] and */RptEna[RP|BR] variables and check
their value, in the variable diagnosis screen for example.
a) Is the TrgOp 'general interrogation' active?
Without GI, it is impossible for the driver to request the initial value of variables from the
IED.
a) Is the IED also able to detect short interruptions to the connection and the automatically
unlock all RCBs (RptEna to false)?
5. Dynamic Data Set
a) Is the DataSet attribute in the RCB writeable on the IED?
b) Have you taken into account the limitations of the IED, such as the maximum number of
elements in the data set or the maximum length of the name etc.?
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.
132
Appendix B - Abbreviations for data object/data attribute
Information
Term Description
f floating point (analog value)
d Visible String(255)
q Quality
t Timestamp
133
Appendix B - Abbreviations for data object/data attribute
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 Behaviour
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 Konfiguration
CG Core Ground
134
Appendix B - Abbreviations for data object/data attribute
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
135
Appendix B - Abbreviations for data object/data attribute
Dea Dead
Den Density
Det Detected
DExt De-excitation
Diag Diagnostics
Dif Differential, difference
Dir Richtung
Dis Distance
Dl Delay
Dlt Delete
Dmd Demand
Dn Down
DPCSO Double point controllable status
output
136
Appendix B - Abbreviations for data object/data attribute
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
137
Appendix B - Abbreviations for data object/data attribute
H2 Hydrogen
H2O Water
Ha Harmonics (non phase related)
Hi High, highest
HP Hot point
Hz Frequency
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
138
Appendix B - Abbreviations for data object/data attribute
Km Kilometer
L Lower
LD Logical Device
LDC Line Drop Compensation
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
139
Appendix B - Abbreviations for data object/data attribute
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
140
Appendix B - Abbreviations for data object/data attribute
Phy Physical
Pls Pulse
Plt Plate
Pmp Pump
Po Polar
Pol Polarizing
Pos Position
POW Point on wave switching
PP Phase to phase
Pres Pressure
Prg Progress, in progress
Pri Primary
Pro Protection
Ps Positive
Pst Post
Pwr Power
Qty Quantity
R Raise
R0 Zero sequence resistance
Rch Reach
Rcl Reclaim
Re Retry
React Reactance; Reactive
Rec Reclose
141
Appendix B - Abbreviations for data object/data attribute
Red Reduction
Rel Release
Rem Remote
Res Residual
Ris Resistance
Rl Relation, relative
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*
Sch Scheme
SCO Supply change over
Sec Security
Seq Sequence
Set Setting
Sh Shunt
Spd Speed
SPl Single Pole
142
Appendix B - Abbreviations for data object/data attribute
Src Source
St Status
Stat Statistics
Stop Stop
Std Standard
Str Start
Sup Supply
Svc Service
Sw Switch
Swg Swing
Syn Synchronisation
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
• Tms = Time in s
• Tmms = Time in ms
143
Appendix B - Abbreviations for data object/data attribute
To Top
Tot Total
TP Three pole
Tr Trip
Trg Trigger
Ts Total signed
Tu Total unsigned
Tx Transmit, transmitted
Typ 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
Wh Watt hours
Wid Width
Win Window
Wrm Warm
144
Appendix C - Conformance statement
Z Impedance
Z0 Zero sequence impedance
Zer Zero
Zn Zone
Zro Zero sequence method
Information
The Confirmance Statement of the iec850 driver for the IEC61850 protocol is in
English only.
145
Appendix C - Conformance statement
This document specifies the PICS of the IEC 61850 interface in the client system: "zenon
Supervisor/Energy Edition", Version 7.50, further referred to as "Client". The zenon Editor and
Runtime are further referred to as "HMI".
146
Appendix C - Conformance statement
Client / Value /
subscriber comments
147
Appendix C - Conformance statement
M1 Logical device Y
M2 Logical node Y
M3 Data Y
M4 Data set Y
M5 Substitution Y
M6 Setting group control Y
M7-9 IntgPd Y
M7-10 GI Y
M8 Unbuffered report control Y
M8-1 sequence-number Y
M8-2 report-time-stamp Y
M8-3 reason-for-inclusion Y
M8-4 data-set-name Y
M8-5 data-reference Y
M8-6 BufIm Y
M8-7 IntgPd Y
M8-8 GI Y
148
Appendix C - Conformance statement
Client / Value /
subscriber comments
M12 GOOSE N
M13 GSSE N
Client / Value /
subscriber comments
M14 Multicast SVC N
M15 Unicast SVC N
Client / Value /
subscriber comments
M16 Time Y Time of Operating System
must be available with
required accuracy
Y = service is supported
N or empty = service is not supported
SERVER
149
Appendix C - Conformance statement
S1 GetServerDirectory (LOGICAL-DEVICE) TP Y
S3 Abort Y
S4 Release N
DATA
150
Appendix C - Conformance statement
S10 GetDataDirectory TP Y
S11 GetDataDefinition TP N
REPORTING
S25 GetBRCBValues TP Y
151
Appendix C - Conformance statement
S26 SetBRCBValues TP Y
S28 GetURCBValues TP Y
S29 SetURBCValues TP Y
LOGGING
152
Appendix C - Conformance statement
CONTROL
S52 SelectWithValue TP Y
S53 Cancel TP Y
S54 Operate TP Y
S55 Command-Termination TP Y
S56 TimeActivated-Operate TP N
FILE TRANSFER
153
Appendix C - Conformance statement
S57 GetFile TP Y
S58 SetFile TP N
S59 DeleteFile TP Y
S60 GetServerDirectory (FILE-SYSTEM) TP Y
TIME
154
Appendix D - PIXIT
Info
The PIXIT document for the certification test of the IEC850 driver "zenon
Supervisor/Energy Edition", Version 7.50 is only available in English.
PIXIT based on a template provided by the UCA International Users Group.
INTRODUCTION
This document specifies the protocol implementation extra information for testing (PIXIT) of the IEC
61850 interface in the client system: "zenon Supervisor/Energy Edition", Version 7.50, further
referred to as “Client”. The zenon Editor and Runtime are further referred to as "HMI".
Together with the PICS and the MICS 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 Edition 2
interface” by UCA International Users Group.
155
Appendix D - PIXIT
156
Appendix D - PIXIT
157
Appendix D - PIXIT
Sr6 Describe how to view/display quality values 1. the status bits of */stVal variable in HMI, if
created (only selected bits; please refer
client documentation for more details)
2. the value of */q variable in HMI, if created
Sr7 Describe how to force a SetDataValues request Set value to the variable created in HMI, e.g. via
screen element or write set value function.
Sr8 Describe how to force a GetDataValues no need to force - client does automatically:
request client does GetDataValues periodically for all
not reported FC$DO when at least one DA is
mirrored to currently advised HMI variable.
when no variables are currently advised, client
uses GetDataValues(LLN0$ST$Mod$stVal) as
automatic watchdog for connection loss
detection.
Sr9 Describe how to force a GetAllDataValues request service not used
Sr10 Does the client support writing blkEna Y
values?
Sr11 Describe how the client behaves in case of: see also Sr2
GetDataDefinition response- service not used
GetDataDefinition response+ with more or service not used
less attributes as expected
GetLogicalDeviceDirectory response- service not used
GetAllDataValues response- service not used
GetAllDataValues response+ with more or less service not used
attributes as expected
GetDataValues response- log error entry; value of HMI variable will be
not updated - have previously received value
or null
GetDataValues response+ with more or less to request process data the client uses
attributes as expected GetDataValues on FC$DO, not DA level (see Sr8).
HMI variables mirroring items not present in
server's data model have I-Bit* (see Sr2) and
are not requested
items present in data model are requested but
if not included in GetDataValue response then
adequate HMI variables are not updated
additional items are ignored.
SetDataValues response- log error entry
158
Appendix D - PIXIT
Sr12 Which time quality attributes from the server are N Leap Second Known,
used in the client
Y ClockFailure
Y Clock not synchronized
Y Accuracy
Sr13 Describe how to view time quality attributes client maps time quality bits received in t-attribute to
status bits of HMI variables responding the same
FC$DO as following:
ClockNotSynchronised - status bit
T_UNSYNC
ClockFailure - status bit T_INVAL and HMI
variable values have local timestamp
Accuracy < 11111b - client truncates fraction of
seconds of timestamp of HMI variable
*I-Bit is status bit INVALID of HMI variables mirroring DO/DA.
Please refer HMI documentation for more details.
159
Appendix D - PIXIT
Ds1 Describe how to force a CreateDataSet request: 1. client creates automatically new dataset
1 before it enables the RCB where client is
1. persistent configured to use Dynamic Data Set; and
2. non-persisten when this dataset does not exist in IED yet.
2. not used
160
Appendix D - PIXIT
SetEditSGValue response-
SelectActiveSG response-
ConfirmEditSGValues response-
<additional items>
161
Appendix D - PIXIT
162
Appendix D - PIXIT
163
Appendix D - PIXIT
Rp21 Describe how to force the client to send client sends by reconnect the last received
SetBRCBValues request for EntryID auromaticaly
164
Appendix D - PIXIT
165
Appendix D - PIXIT
services?
Ctl11 What does the client when the ctlModel is not client does not need ctlModel value in SCL; client
initialized in the SCL? checks current ctlModel value automatically via
online services each time before is executing
command; no mismatch possible
Ctl12 What does the client when the ctlModel in see Ctl11
SCD and in SERVER SIMULATOR is
different?
Ctl13 Describe how to view a CommandTermination reception is visible in
'Command Info' internal HMI variables (see
CommandTermination request+ Ctl8); it may ends action timeout in HMI modul
CommandTermination request- Command Processing, if used
service TimeActivatedOperate is not supported
TimeActivatedOperateTermination request+
and request- there is no special handling for negative
response, only AddCause update (if server sends
some). By use of Command Processing module for
final success (or failure) of commnand the change of
related ST/MX attribute cares.
<additional items>
166
Appendix D - PIXIT
167
Appendix D - PIXIT
168
Appendix D - PIXIT
169
Appendix E - TICS
SUPPORTED BY CLIENT:
"Y": means that the client supports servers that have implemented the respective tissue.
"ni": No impact on testing
"na": not applicable if the client does not support the corresponding ACSI service(s)
170
Appendix E - TICS
16.1 Part 6
171
Appendix E - TICS
172
Appendix E - TICS
173
Appendix E - TICS
174
Appendix E - TICS
Information
Tissues 675, 735, 772, 775, 776, 878 are not relevant for conformance testing
175