This driver supports the following functions:
Commands
The driver supports the commands 'direct operate' and 'select before operate' (SBO).
If a value is sent to a variable corresponding
to a "data attribute" with the name "ctlVal" in a "data object"
with the name "Oper" and "functional constraint" CO or SP
(*/Oper.ctlVal[CO|SP]), the driver automatically checks which
command needs to be used.
For this, the 'data-attribute' /ctlMod[CF] is read out. Depending
on the value of that attribute, the corresponding command is
executed:
Value 0: Error, execute command not
possible
Value 1: an "Operate" command (direct control with normal security)
is executed.
Value 2: a "Select" command (select before operate with normal
security) is executed.
Value 3: an "Operate" command (direct control with enhanced
security) is executed.
Value 4: a "Select" command (select before operate with enhanced
security) is executed.
The commands in detail:
Operate command: The value is set directly to
*/Oper[CO].
Select commands are processed sequentially:
Select command normal security: read from */SBO[CO], write to
*/Oper[CO].
Select command enhanced security: write to */SBOw[CO], write to
*/Oper[CO].
The required command sequences are automatically performed in the
right sequence by the driver. No further configuration steps are
necessary.
The variable "..Oper.ctlNum[CO]" will be set to 0 by the driver after reaching the value 128.
Reports
Unbuffered Reports
The IEC 850 driver supports unbuffered reports
with predefined data sets and preconfigured allocation of data sets
to the reporting control block in the PLC. During startup, all data
sets existing in the PLC are read out and sorted according to their
usability (number of included variables in the project). This
sorting indicates the sequence, in which the system tries to
activate free URCBs in LLN0 for reporting. The maximum number of
URCBs that are activated depends on the maximum number defined in
the driver configuration. All data objects in the data set of the
successfully linked RCB are then no longer polled but instead
reported spontaneously.
Please consider that you cannot insert single data attributes for
the configuration of the data sets. You can only use complete data
objects. Otherwise, the PLC will not send time stamp and quality
information, which is why the driver will ignore them (see
61850-7-2 14.2.3.2.2.9, Figure 23).
Only FCs ST and MX are report capable. |
Example:
The following variables exist in your project
urcbmXA01 is included only for informative purposes. In order for reporting to work, it is not necessary to create variables for RCBs.
The PLC also contains a data set "GEDeviceF650/LLN0$MMXU1$MX" with the following content.
This data set is associated to the RCB LLN0$RP$urcbMXA01" in the PLC configuration by entering its name in the attribute "DatSet".
When starting the driver, the RCBs
LLN0$RP$urcbMXA01" und LLN0$RP$urcbMXB01" are activated, in case
they are still free.
As there are no further appropriate RCBs that contain variables of
the project in its data set, the remaining RCBs remain unused. For
example, if the project would also contain a variable that is
included in the data set "GEDeviceF650/LLN0$eveGGIO1$ST", this
would mean that LLN0$RP$urcbSTA01" would also be activated.
Buffered Reports
The allocation of the BRCBs to the driver is performed via the report ID of the BCRBs configured via the SCL file. URCBs are selected for use up to the configurable maximum number, depending on availabiliy and usability. Generally, BRCBs are preferred over URCBs.
Buffered reports are treated like unbuffered reports, with the following exceptions:
1) The maximum number of URCBs to be used does not apply.
2) The report ID (RptID) must contain a String with the format "zenOn_computername_*", in order to be used by the driver. (e.g. "zenOn_MyServer1_Measurands1")
The contents of the buffer of the BRCBs are deleted automatically by the driver when the first connection after the Runtime start is established. If the connection fails and is reconnected without a restart of the Runtime, the buffer will remain and will be updated.
File Transfer:
There are three implemented functions for the file transfer. The first is for getting the directory, the second for getting files and the third is for deleting files.
To request a directory, you have to send the set value "DIR FileSpec" to the String variable with the name "SERVER!Command" of the type "File Transfer". If the directory was received successfully, the String variable with the name "SERVER!Directory" of the type "File Transfer" will contain the directory contents as readable text. The format of the files is as follows:
FileName;FileLength;Timestamp
To delete a file on the PLC, you have to send the set value "DEL FileName" to the String variable with the name "SERVER!Command" of the type "File Transfer". If the file was received successfully, it is put into the directory set as "Directory for file transfer".
Example:
Fetching the file with "Test" from the logical device ""
Send the set value "GET Test" to the variable "Server1!Command" of the type "File Transfer".
The file will be stored in the folder C:\TEMP\Test.
To fetch a file from the PLC, you have to send the set value "GET FileName" to the String variable with the name "SERVER!Command" of the type "File Transfer".
Limitations
Attributes of the type "ARRAY[
] OF" are not
assigned.
Refer to PICS in the appendix for more information on supported
resp. needed services.