scanner reference guide

86
Symphony Plus S+ Operations 2.0 Scanner Reference Guide

Upload: stokaba

Post on 19-Jul-2016

60 views

Category:

Documents


1 download

DESCRIPTION

Scanner Reference Guide

TRANSCRIPT

Page 1: Scanner Reference Guide

Symphony Plus

S+ Operations 2.0 Scanner Reference Guide

Page 2: Scanner Reference Guide
Page 3: Scanner Reference Guide

Symphony Plus Operations

S+ Operations 2.0 Scanner Reference Guide

Page 4: Scanner Reference Guide

NOTICE

This document contains information about one or more ABB products and may include a description of or a reference to one or more standards that may be generally relevant to the ABB products. The presence of any such description of a standard or reference to a standard is not a representation that all of the ABB products referenced in this document support all of the features of the described or referenced standard. In order to determine the specific features supported by a particular ABB product, the reader should consult the product specifications for the particular ABB product.

ABB may have one or more patents or pending patent applications protecting the intellectual property in the ABB products described in this document.

The information in this document is subject to change without notice and should not be construed as a commitment by ABB. ABB assumes no responsibility for any errors that may appear in this document.

In no event shall ABB be liable for direct, indirect, special, incidental or consequential damages of any nature or kind arising from the use of this document, nor shall ABB be liable for incidental or consequential damages arising from use of any software or hardware described in this document.

This document and parts thereof must not be reproduced or copied without written permission from ABB, and the contents thereof must not be imparted to a third party nor used for any unauthorized purpose.

The software or hardware described in this document is furnished under a license and may be used, copied, or disclosed only in accordance with the terms of such license. This product meets the requirements specified in EMC Directive 2004/108/EC and in Low Voltage Directive 2006/95/EC.

TRADEMARKS

Symphony is a registered or pending trademark of ABB S.p.A.

All rights to copyrights, registered trademarks, and trademarks reside with their respective owners.

Copyright © 2013 ABB.

All rights reserved.

Release: July 2013

Document number: 2VAA000725E

Page 5: Scanner Reference Guide

TABLE OF CONTENTS

1. OVERVIEW ................................................................................................. 11

1.1 S+ OPERATIONS SCANNER ........................................................................ 11

1.2 Scanner Behavior .......................................................................................... 12

2. CONFIGURATION ...................................................................................... 13

2.1 S+ Operations Tag Database ....................................................................... 13

2.1.1 General Fields ........................................................................................... 13

2.1.2 Scanner Diagnostic Tag ............................................................................ 14

2.1.3 Scanner Watchdog Configuration .............................................................. 15

2.1.4 System Registers ....................................................................................... 16

2.2 Files ................................................................................................................ 19

3. TRACE MANAGER .................................................................................... 21

3.1 Trace Tab ....................................................................................................... 22

3.2 Special Tab .................................................................................................... 23

3.3 Driver Tab ...................................................................................................... 24

4. INSTALLING THE DRIVERS ..................................................................... 26

5. IEC 60870-5-104 DRIVER .......................................................................... 27

5.1 Registers ........................................................................................................ 27

5.2 Online Configuration .................................................................................... 28

5.3 Device Type ................................................................................................... 28

5.4 Files ................................................................................................................ 29

5.4.1 Log Files .................................................................................................... 29

5.4.2 File Transfer ............................................................................................... 29

5.5 Database ........................................................................................................ 30

5.5.1 Data Uniqueness ....................................................................................... 31

5.5.2 Tag Configuration ...................................................................................... 31

5.6 Commands .................................................................................................... 32

5.6.1 Command Configurationyes ...................................................................... 32

5.6.2 Command Sessions ................................................................................... 33

5.6.3 Command/Response Codes ...................................................................... 33

6. IEC 60870-5-101 DRIVER .......................................................................... 35

Page 6: Scanner Reference Guide

TABLE OF CONTENTS

6.1 Registers ........................................................................................................ 35

6.2 Online Configuration .................................................................................... 36

6.3 Device Type ................................................................................................... 37

6.4 Files ................................................................................................................ 37

6.4.1 Log Files .................................................................................................... 37

6.5 Database ........................................................................................................ 37

6.5.1 Device Diagnostics .................................................................................... 37

6.6 Commands .................................................................................................... 38

7. IEC 60870-5-103 DRIVER .......................................................................... 39

7.1 Registers ........................................................................................................ 39

7.2 Online Configuration .................................................................................... 40

7.3 Device Type ................................................................................................... 41

7.4 Files ................................................................................................................ 41

7.4.1 Log Files .................................................................................................... 41

7.5 Database ........................................................................................................ 41

8. MODBUS DRIVER ...................................................................................... 43

8.1 Registers ........................................................................................................ 43

8.2 Online Configuration .................................................................................... 44

8.3 Files ................................................................................................................ 44

8.4 Database ........................................................................................................ 44

8.4.1 Data Uniqueness ....................................................................................... 45

8.4.2 Device Diagnostics .................................................................................... 45

8.4.3 SEPAM80 Events and Time Synchronization Management ...................... 46

9. MODBUS TCP DRIVER ............................................................................. 47

9.1 Registers ........................................................................................................ 47

9.2 Online Configuration .................................................................................... 48

9.3 Files ................................................................................................................ 48

9.4 Database ........................................................................................................ 48

9.4.1 Data Uniqueness ....................................................................................... 49

Page 7: Scanner Reference Guide

TABLE OF CONTENTS

9.4.2 Device Diagnostics .................................................................................... 49

10. SPABUS DRIVER .................................................................................... 51

10.1 Registers ........................................................................................................ 51

10.2 Online Configuration .................................................................................... 52

10.3 Files ................................................................................................................ 52

10.4 Database ........................................................................................................ 52

10.4.1 Data Uniqueness ..................................................................................... 53

11. TELEPERM XP DRIVER .......................................................................... 54

11.1 Registers ........................................................................................................ 54

11.2 Online Configuration .................................................................................... 54

11.3 Files ................................................................................................................ 55

11.4 Database ........................................................................................................ 55

11.4.1 Data Uniqueness ..................................................................................... 55

11.4.2 Device Diagnostics .................................................................................. 55

12. GE MARK V / MARK VI DRIVER ............................................................ 56

12.1 Typical Registers for the Mark Driver .......................................................... 56

12.2 Online Configuration .................................................................................... 57

12.3 Configuration of Point Acquisition from Mark ........................................... 57

13. TEXT DRIVER .......................................................................................... 58

13.1 Installation ..................................................................................................... 58

13.2 Typical Registers for the Text Driver ........................................................... 58

13.3 Online Configuration .................................................................................... 59

13.4 Database ........................................................................................................ 59

14. SIMPLE NETWORK MANAGEMENT PROTOCOL (SNMP) DRIVER ... 60

14.1 Introduction ................................................................................................... 60

14.1.1 Definitions and Acronyms ........................................................................ 60

14.2 Generality ...................................................................................................... 60

14.2.1 SNMPv1 .................................................................................................. 61

14.2.2 SNMPv2 .................................................................................................. 62

Page 8: Scanner Reference Guide

TABLE OF CONTENTS

14.2.3 SNMPv3 .................................................................................................. 62

14.2.4 Net-SNMP Library .................................................................................... 62

14.3 Windows Registry Configuration................................................................. 62

14.3.1 S+ Database configuration ...................................................................... 63

14.3.2 File XML .................................................................................................. 63

14.4 System Configuration ................................................................................... 64

14.4.1 Registers.................................................................................................. 64

14.4.2 File XML .................................................................................................. 64

15. SYSLOG DRIVER .................................................................................... 67

15.1 Introduction ................................................................................................... 67

15.1.1 Definitions and Acronyms ........................................................................ 67

15.2 Generality ...................................................................................................... 67

15.2.1 SysLog Message format .......................................................................... 67

15.3 Configuration ................................................................................................ 68

15.3.1 Windows Register Configuration .............................................................. 68

16. MELODY DRIVER .................................................................................... 71

16.1 Registers ........................................................................................................ 71

16.2 Database ........................................................................................................ 72

17. IEC 61850 DRIVER .................................................................................. 73

17.1 Driver Configuration ..................................................................................... 73

17.2 Registry Entries ............................................................................................ 73

17.3 Configuration ................................................................................................ 74

17.4 Acquisition .................................................................................................... 74

17.5 Process .......................................................................................................... 75

17.6 Files ................................................................................................................ 75

17.7 Driver Configuration ..................................................................................... 75

17.8 Commands .................................................................................................... 76

17.9 Databases ...................................................................................................... 76

17.10 Usage of Driver with Scanner .................................................................... 77

Page 9: Scanner Reference Guide

TABLE OF CONTENTS

18. P14 DRIVER ............................................................................................. 78

19. PERFORMANCE DRIVER ....................................................................... 79

20. COMLI DRIVER........................................................................................ 80

20.1 Installation ..................................................................................................... 80

20.2 Driver Specific Registers .............................................................................. 80

21. APPENDIX ............................................................................................... 82

21.1 Appendix A - Data Format ............................................................................ 82

21.2 Appendix B – Tag Type Table ...................................................................... 84

21.3 Appendix C – Quality Code Table ................................................................ 84

Page 10: Scanner Reference Guide
Page 11: Scanner Reference Guide

SPlus Operations Scanner Reference Guide OVERVIEW

2VAA000725E 11

1. OVERVIEW

The document provides basic understanding of all SW modules in Symphony Plus Operations (S+ Operations) system that performs I/O data exchange with external devices, like RTUs or local process controllers

To be a little more specific, this document deals with I/O operations being implemented by drivers performing direct data acquisition and control from/on RTUs or controllers, via standard SCADA protocols, like the IEC 60870 suite, Modbus, SPAbus etc.

The drivers represent the field oriented layer of S+ Operations Scanner, which is the main software subsystem in charge of I/O communications with plant devices.

1.1 S+ OPERATIONS SCANNER

The scanner subsystem is a layer between S+ Operations and different external devices, no matter which protocol is used to access them. The protocol layer is assigned to a specific driver library (dll), which provides the scanner with a mandatory and predefined interface. There is data flow between the scanner and S+ Operations and also between the scanner and the driver dll.

In the following figure the input data flows (from field towards S+ Operations) are outlined in blue and the output data flows

from S+ Operations towards external devices are outlined in red.

The scanner creates a process for each configured driver instance (called driverHostProcess) and in this process there are two I/O threads which manages the input and output of the data flows separately (either in synchronous or asynchronous way). For each DriverHostProcess in task monitor the command line contains the name of the driver instance managed by the process.

At startup the scanner creates a thread (Output queue thread) which processes all the output messages from S+ Operations into the Output queue. In this queue, S+ Operations puts commands, output values and configuration information. The thread dequeues the packets and dispatches them to the destination driver main thread.

During startup the scanner creates another thread in addition (Mailslot thread) which controls a common mailslot through which drivers can send data directly to the S+Operations RTDB, without waiting for the polling cycle scan to get active.

Scanner Subsystem

Figure 1-1: Scanner Subsystem

Page 12: Scanner Reference Guide

SPlus Operations Scanner Reference Guide OVERVIEW

12 2VAA000725E

1.2 Scanner Behavior

At startup the scanner searches for tags in the S+ Operations tag Database that needs to be processed, according to their configuration data. It maps these tags to the driver which they belong to and, after creating the driver instance loading the driver dll runtime, forwards this map to the driver dll. Then it requests the driver dll to open the communication channel with the external device. If the driver establishes the connection, a general interrogation (i.e. a scan of all input points) is requested from the device being connected and, optionally, the scanner can send the device a snapshot of the RTDB for the tags which are configured as outputs.

After the initialization phase the scanner enters running mode. During the running mode the scanner processes I/O points using polling classes. According to registry settings about the frequency of each class, the scanner checks the driver for the values of the tags belonging to the class, whose timeout has expired.

The driver returns all the tags of the class to the scanner, but the scanner writes into S+ Operations RTDB only the tags whose value or status has changed significantly from the last stored value or status (exception report).

Same as input values the output values is also sent from scanner to driver according to exception report logic. However in both cases it is possible to change this behavior and force the scanner to write (input points) and to send (output points) always the values.

By default the scheduling period corresponds to the period of required frequency plus the time of interrogation in order to avoid overlapping requests, but it is possible to change this behavior, switching to a true scheduling period (in this case the request is sent every „t‟ msec., where „t‟ is the period of the class) or to a continuous request (the request is posted and queued). For the last two behaviors a good tuning of the frequency of the class is needed. The interrogation time should always be smaller than the scheduling period. To tune correctly this parameter the statistic window in the scanmonitor tool can be quite helpful.

It is also possible to perform the I/O operation directly, with no regard for the polling classes. Through the common mailslot the driver can write to the RTDB database and using a particular flag some values can be transmitted from the scanner to the driver (ForceWriteTag). These privileged paths are useful when a tag represents a command or a feedback or when the value of a tag changes very quickly (usually in less than 100 msec.).

Page 13: Scanner Reference Guide

SPlus Operations Scanner Reference Guide CONFIGURATION

2VAA000725E 13

2. CONFIGURATION

The scanner has two different levels of configuration:

S+ Operations tag Database

Windows registry

2.1 S+ Operations Tag Database

To assign a tag to the scanner subsystem, a correspondence between registry settings and S+ Operations tag database must be established. The correspondence is between the Scanner subfolder name (the name of the driver) in the Windows registry of S+ Operations and at least one of these fields:

FIELD_DRV

OUT1_DRV (OUT2_DRV, OUT3_DRV, OUT4_DRV, OUT5_DRV)

A tag belongs to a specific driver, at least one of these two fields is filled with the same name of the Scanner subfolder in the Windows registry. The first field tells the scanner that the tag is in input (from the external device to S+ Operations) from a specific driver. The second field tells the scanner that the same tag is in output (from S+ Operations to the external device) to a specific driver. The values of these two fields can be the same and that means that the same tag is both an input and an output for the driver, or they can be different and, in this case, the scanner acts as a gateway.

Furthermore there are 10 numeric (integer) fields and 5 text fields both for input and output, whose use is customized by each driver.

FIELD_Adn, FIELD_TXn (input related fields)

OUT_Adn, OUT_TXn (output related fields)

2.1.1 General Fields

The following table shows the general fields used in the manual:

Figure 2-1: General Fields used in the Manual

TAGTYPE Defines the point type. For acquired tags, the following types are normally used:

DIGITAL for single digital inputs/outputs;

BITMASK four double digital inputs/outputs;

ANALOG for analog inputs/outputs.

TEXTSTR for string-type inputs/outputs (32 char)

TAGSRC Indicates the data source (for acquired tags it must always be set to “EXT”).

FACEPLATE For a command it can contain the name of the command pop-up faceplate.

ZEROSTATE Logic State Descriptor of the “0” status of the digital point (“NORMAL”, “ALARM”, etc).

ONESTATE Logic State Descriptor of the “1” status of the digital point.

TWOSTATE Logic State Descriptor of the “2” status of the digital point.

THREESTATE Logic State Descriptor of the “3” status of the digital point.

ISALARMx [0 3] Flag indicates whether an ISA alarm sequence is generated (yes Y or not N) when the relevant Logic State Descriptor is corresponding to the digital input status.

I4_DATA (Y/N) it indicates whether the data is an integer or a real number.

INITVAL The initial value of the tag at S+ Operations start-up.

VAL0 0 value of the instrument in engineering units.

SPAN Instrument span in engineering units.

CONVCODE Defines the type of conversion to be performed on the analog data. The conversion of input data is performed by S+ Operations (Dip process), while for output data it is performed by the Scanner.

CONVMIN Raw value corresponding to the zero value in engineering units

CONVMAX Raw value corresponding to the maximum value in engineering units

Page 14: Scanner Reference Guide

SPlus Operations Scanner Reference Guide CONFIGURATION

14 2VAA000725E

Table 2-1: General Fields in CONVCODE

CONVCODE DESCRIPTION

L0, IL0, OL0 Low level linear: i/o, input only, output only

L1, IL1, OL1 Elevated linear: i/o, input only, output only

L1CO L2, IL2, OL2

Elevated linear with cutoff From - full scale to + full scale: i/o, only input, only output

SQRT Square root

SQRTCO MC

Square root with cutoff Special motor current curve

ISAJ Type-J thermocouple compensation

ISAJC ISAKC

Type-J thermocouple compensation for Celsius units Type-K thermocouple compensation for Celsius units

ISATC Type-T thermocouple compensation for Celsius units

ISAEC RTD1

Type-E thermocouple compensation for Celsius units Linear RTD, engineering range R1

RTD2 Linear RTD, engineering range R2

RTD3 RTD4

Nonlinear RTD Nonlinear RTD

LNDRD Nth-order fixed point

GEN LINV

Generic Inverted elevated linear

BCD, BCDRFX BCD and reflected BCD

2.1.2 Scanner Diagnostic Tag

Every driver instance can have one tag configured to report driver status.

The tag must be of Analog type, with the first 10 values (0-9) reserved for status information and another 11 values (10-20) for error conditions. Driver status can get any of the following values:

Table 2-2: Driver Status and Values

Status Description Actions

0 Driver disabled Active registry is set to “NO”

1 Driver running Driver is connected to field (in a master/slave environment it refers to the master)

2 Driver suspended Driver is suspended

3 Driver stand by Driver in stand by (only in master/slave environment: it refers to the slave)

4 Driver initializing Driver is initializing (registry reading, driver instance and timers creation)

5 Driver connecting Driver is trying to setup a connection to field

6 Driver waits for Master/Slave confirm

Driver is waiting acknowledge during mastership evaluation

7 Driver mapping tags Driver is mapping all its tags

8 Driver evaluating mastership

Driver is evaluating mastership

9 Driver not connected Driver is not connected to field Verify channel and devices.

10 Generic error Exception intercept Restart scanner

11 Registry configuration error

Errors found in the scanner registry Verify registry and re-init driver

12 Driver stopped Driver is stopped

13 Driver not licensed Driver not licensed Verify license and re-init driver

14 Driver fails to create COM interface

Driver not registered Run installation procedure described at chapter 3

15 No tags configured There are no configured tags for this driver‟s instance.

Verify S+ Ops. database

fields FIELD_DRV e OUTn_DRV

Page 15: Scanner Reference Guide

SPlus Operations Scanner Reference Guide CONFIGURATION

2VAA000725E 15

and restart scanner

16 No network (ping failed) The master cannot be reached by means of a ping command.

Network problems: verify cables, hub, switch. The driver tries to get the mastership

17 Keep alive timeout No answer to keep alive message. Verify remote scanner instance

18 Channel failure In a master/slave environment, on the slave machine, the channel is not ready.

Verify channel and devices.

19 Unknown error Unknown error Restart scanner.

20 No network (ping failed) The master cannot be reached by means of a ping command.

Network problems: verify cables, hub, switch. The driver tries to get the mastership

21 Keep alive timeout No answer to keep alive message. Verify remote scanner instance

2.1.3 Scanner Watchdog Configuration

TntScanner watchdog function is used to monitor the activity of driver instances using life cycle counter or tag values. The watchdog functions are enabled and tuned using some registries both in a Scanner registry key (for general settings) and in a different registry key for each instance (for instance specific settings).

The registries for Scanner key are as follows:

Table 2-3: Scanner Key Registers

Registry name Type Default Value Description

WDEnabled String “NO” Watchdog enable flag.

WDStartupDelay DWORD 30000 Watchdog startup delay in milliseconds.

WDTimer DWORD 1000 Watchdog main thread cycle time in milliseconds.

WDEchoTag String “” Analog tag to signal the index of the last instance managed by a scanner watchdog. Tag is reset (0) at scanner startup.

The registries for instance specific settings are as follows:

Table 2-4: Instance Specific Settings Registers

Registry name Type Default Value Description

WDType DWORD 0 Watchdog type, see following table for value details.

WDAction DWORD 0 Watchdog triggered action type, see following table for details.

WDTimeout DWORD 5000 Watchdog service period in milliseconds.

WDTag String “” Name of the tag used in watchdog service (if needed).

WDRefValue DWORD 0 Reference value for watchdog service (if needed).

WDScanClass DWORD 0 Scan class number for watchdog functions having a Reg. value 9 and 10

The scanner watchdog executes its function in a cyclical manner with a period set in WDTimeout registry. If the watchdog fails to be serviced, it triggers an action to be performed (specified in WDAction registry) on the driver instance being monitored. Some types of watchdog service functions require a tag name to be checked and/or a reference value.

Table 2-5: Scanner Watchdog Functions

Function Register. value

Tag Required Reference. required.

Description

NONE 0 NO NO Instance watchdog is disabled.

LIFECYCLE 1 NO NO Checks that instance scanner internal lifecycle is incremented.

TAGDIG 2 YES YES Checks that the digital tag set in registry has the reference value.

TAGANG_MID 3 YES YES YES Checks that the analog tag set in

Page 16: Scanner Reference Guide

SPlus Operations Scanner Reference Guide CONFIGURATION

16 2VAA000725E

registry is in a +/- 5% range of the reference value.

TAGANG_OVR 4 YES YES Checks that the analog tag set in registry is greater than the reference value (5% tolerance).

TAGANG_UND 5 YES YES Checks that the analog tag set in registry is smaller than the reference value (5% tolerance).

TAGWD 6 YES YES Checks that the digital tag set in registry changes its value faster than the rate (in ms) specified by reference value.

TAGALARM 7 YES NO Checks that the digital tag set in registry is not in alarm state.

TAGCOUNT 8 YES NO Checks that the analog tag set in registry increments its value at each cycle (long integer I4 values are accepted).

INPUT CLASS 9 NO NO Checks that the scan class specified in WDScanClass registry increments its input cycles counter

INPUT CLASS 10 NO NO Checks that the scan class specified in WDScanClass registry increments its output cycles counter

Table 2-6: Scanner Watchdog Actions

Action Register. value Description

NONE 0 No action is executed once the watchdog has triggered.

STOP 1 The driver instance is stopped once the watchdog has triggered.

REINIT 2 The driver instance is reinitialized once the watchdog has triggered.

DISABLE 3 The driver instance is disabled once the watchdog has triggered.

The scanner watchdog generates a log file (<date>-SCAN_WD.log) to trace its activities, the logging is activated using the scanner‟s log enabling registry. Even if the scanner logging is disabled when a scanner watchdog triggers an action (stop, reinit or disable an instance) a message is appended to the S+ Operations error log, which is always enabled.

2.1.4 System Registers

At initialization time, the TntScanner reads the number and the type of protocols to be used from the information contained in the register

HKEY_LOCAL_MACHINE \ SOFTWARE \ ABB Symphony Plus \ Operations \ Scanner

There are two different layers of information in registry settings: the scanner registry entries and the driver general entries.

The scanner registry entries are as follows:

Table 2-7: Scanner Registry Entries

Entry Type Default Description

TraceLevel DWORD 0xFFFF (65535)

Degree of detail for logging

StartupDelay DWORD 0x000F (15) Delay, in sec., between S+ Ops.

startup and scanner startup

MailslotTimeoutOnExit DWORD 0x000A (10) Mailslot timeout during the scanner shutdown

KillMailslotAfterThreads String “NO” If it is needed to close the common mailslot after closing all threads set this entry to “YES” (es: Mark driver)

OutQueuePollFreq DWORD 0x01F4 (500) Output queue polling period (msec).

SkipOutputDrvCheck String “NO” To avoid checking the OUT_DRV before sending an output value to a driver set this entry to “YES”. (es: Driver 104, Driver 101)

IsGateway String “NO” To avoid checking the source mask of a tag, set this registry to “YES”

Page 17: Scanner Reference Guide

SPlus Operations Scanner Reference Guide CONFIGURATION

2VAA000725E 17

Enable String “YES” If this registry is set to “NO” the TntScanner doesn‟t Start

TntAlignWaitTimeout DWORD 0x0 (0) In a master/slave environment and if this value is not 0, the scanner doesn‟t start until S

+ Ops.has finished

synchronizing. The scanner starts after the number of seconds set in this registry has expired.

PlbTimeLimit DWORD 0x0 (0) (min.) If the timestamp of a value coming from an external device is smaller than (present time – PlbTimeLimit) the value is inserted directly into Playback without DIP processing.

KillThreadTimeout DWORD 0x000A (10) During shutdown the scanner waits that all drivers are properly closed. This entry is the maximum wait (sec.) for each driver. When this timeout has expired the scanner shutdown also if a driver is not properly closed.

PropagateHistoricalValues String “NO” Enables forwarding historical values to redundant standby nodes.

The general driver entries are related to each driver and can be different from one instance to another. Some of them are mandatory entries, while many of these entries are optional and the default value is usually the best choice. Any change to this optional value is a customization of a driver or is the result of a tuning with the real external device in operation. The mandatory driver entries are as follows:

Table 2-8: List of Mandatory Drivers

Entry Type Default Description

Active String “NO” Enable/disable driver

BusType String “” Type of bus used by the driver (es: COM, TCP)

BusAddress String “” Depends on driver (es: “9600,8,e,1” or “127.0.0.1”)

BusPort DWORD 0x0 (0) Port of communication (es : physical port or a TCP port)

DeviceTimeout DWORD 0x0 (0) This timeout is used by the driver and it has different meanings according to the driver.

Priority String “NORMAL” The driver thread priority.

ProgID String “” The ProgID of the driver

imeoutClassn DWORD This range of entries (where n is the number of polling class, from 1 to 10) sets the polling period (msec) of each scan class. If an entry is missing, the class corresponding to it is not used and its tag is not mapped. The value 0xFFFF identifies a “snapshot” class being read at driver startup and after reconnections (used for events).

The optional driver entries are as follows:

Table 2-9: List of Optional Drivers

Entry Type Default Description

TraceLevel DWORD 0x0 (0) Degree of detail for logging

UseDstAdjust String “NO” If the timestamps coming from the driver need to be adjusted according to DST set this entry to “YES

SynchronousIO String “YES” I/O through the channel is to be controlled by semaphore. Serial communication needs to be synchronous. Usually TCP protocols can be asynchronous though Modbus TCP driver must be synchronous).

MasterSlave String “NO” Enable/disable master-slave environment

UseMarkTagsOld String “YES” Set this entry to “NO” if the scanner should not mark the tag as OLD during shutdown.

Page 18: Scanner Reference Guide

SPlus Operations Scanner Reference Guide CONFIGURATION

18 2VAA000725E

CheckMSTimeout DWORD 0x01F4 (500) Period (msec) to check for new message in the common mailslot.

EnablePingTest String “YES” (For master/slave environment) Enable/Disable the ping test

PingTimeout DWORD 0x0BB8 (3000)

(For master/slave environment) Ping test period (msec) of the master

PingMaxAttempt DWORD 0x0003 (3) Number of failed pings before the connection with the master is regarded as lost.

CheckConnTimeout DWORD 0x03E8 (1000)

Driver diagnostic test period (msec.)

CheckConnAttempt DWORD 0x001E (30) Number of failed diagnostic tests before the channel connection is regarded as lost

MSAckTimeout DWORD 0x0BB8 (3000)

(For master/slave environment) Maximum wait (msec) for an acknowledge message from the addresser.

DiagnosticTag String “” It is the tag name of the driver diagnostic tag. Its value correspondes to the current driver status.

GIAtStartup String “YES” Enable/Disable the request for a general interrogation during driver startup

InitOutputValues String “NO” Enable/Disable S+ Ops. from sending a snapshot to the field. Be careful because it might send also command (output) values.

DriverStartupDelay DWORD 0x0 (0) Is the sleep period (msec) during the driver startup or driver switching (master/slave environment). 0 means no delay.

SlaveChannelTest String “NO” (For master/slave environment) Enable/Disable secondary channel diagnostic.

TestChannelTimeout DWORD 0x001E (30) Secondary channel diagnostic test period (sec.)

WriteAlwaysToTnt String “NO” Always write values to S+ Ops. ignoring exception report.

MaxWriteAlways DWORD 0x000A (10) Number of direct write operations ignoring exception report. 0 means write always

SwitchDelay DWORD 0x0064 (100) (For master/Slave environment) Delay (msec.) during the switching between servers.

ConnectionAttempt DWORD 0x000A (10) Number of attempts to establish connection during driver initialization

InitTimeout DWORD 0x000A (10) Delay between an initialization attempt and the next one.

RestartOnDisconnect String “YES” The driver restarts when the connection with the external device is re-established.

RedundantDevice String “NO” It must be set to “YES” if the device has a redundant communication channel

InputInhibitTag String “” If this registry is set to a valid tagname (DIGITAL) the driver discards all input values when the tag value is not zero.

OutputInhibitTag String “NO” If this registry is set to a valid tagname (DIGITAL) the driver discard all output values when the tag value is not zero.

UseHCF String “NO” The tags of the driver is set to CF instead of OLD when the connection is lost or when the driver is stopped.

UseKeepAlive String “NO” Enable the keep alive timeout check (only in Master/Slave environment). Each server sends a keep alive message to other servers every second. When a server fails to receive the keep alive message from another one for a time longer than the KeepAliveTimeout (registry), the server status is declared “Keep Alive timeout”.

KeepAliveTimeout DWORD 30 Maximum time (seconds) a server waits for the keep alive message from another server before declaring it in “Keep alive timeout” status.

Page 19: Scanner Reference Guide

SPlus Operations Scanner Reference Guide CONFIGURATION

2VAA000725E 19

UseControlInhibitTag String “NO” Enables checking an inhibit tag value for a command before sending it to the output driver.

ControlInhibitTagTimeout DWORD 5 Polling period (seconds) for the control inhibit tag values

WaitForSynchro DWORD 1000 Max wait time (in milliseconds) for channel availability. Used only for synchronous (serial) drivers.

SendAlwaysOutputVal String “NO” If set to YES the driver always sends output values even if they have not changed.

There is a DWORD entry called PatchBits, a bitmask value which allows to enable/disable (according to the bit set) some

advanced features.

The value of this entry can be an ORed(combination of bits is a OR of bit) combination of the following values.

Table 2-10: PatchBits Values

Mask Description

0x00000001 With this bit set the scanner continuously query the driver for values from field devices (ReadTagList) if the field query duration is greater than the polling period

0x00000002 With this bit set the scanner recalculates the polling period as the configured polling period minus the field query duration. If the field query duration is greater than the polling period that results in posting a continuous request message. In this case a tuning of the polling period is requested, since it should always be greater than the query duration. To

achieve such tuning this bit enables time statistics so that the relevant counters are available through the scanmonitor tool.

0x00000004 If set, only the running instance calls the IsConnected method of the driver

0x00000008 If set in a master/slave environment, the ReadTagList method writes also atoms

0x00000010 If set in a master/slave environment, the instances of the same driver on different PCs exchange driver status message only when it has changed.

0x00000020 Not used

0x80000000 Not used

2.2 Files

The scanner subsystem includes the following files:

Figure 2-2: Scanner Subsystem Files

File Names Description

TntScanner.exe Main application file. It starts automatically when S+ Operations starts.

ScanMonitor.exe Scanner tool for diagnostics, monitoring and configuration.

ScnrUtil.dll Contains miscellaneous utility classes used by the scanner and its drivers.

ComDriver.dll Physical interface for serial protocols.

TcpDrv.dll Physical interface for TCP/IP protocols.

MBLib.dll Application interface for the Modbus protocol.

Driver101.dll IEC60870-5-101 master driver.

Driver104.dll IEC60870-5-104 master/slave driver.

DriverTXP.dll Driver for Siemens Teleperm systems.

MarkDrv.dll Driver for GE Mark V and Mark VI systems

MBDriver.dll Standard Modicon Modbus master driver

SpaBus.dll Driver for SPA-BUS protocol

TextDrv.dll Driver for CSV or fixed length text files

DriverHostProcess.exe Shell where the driver dll is running into

DriverAc870P.dll Melody driver.

DriverP14.dll P14 driver dll.

Comli driver for Comli communication

Page 20: Scanner Reference Guide

SPlus Operations Scanner Reference Guide CONFIGURATION

20 2VAA000725E

DriverSNMP.dll Driver for the SNMP polling protocol

DriverSnmpTrap.dll Driver for the SNMP trap protocol

DriverPerfMon.dll Driver to retrieve process performance parameters

The log file is created in S+ Operations default log folder, if it is enabled by setting the EnableTrace register to “YES” it is called TraceScanner.txt. The TraceLevel bits allow to select the details of the trace to be enabled. These registers are

read by the Scanner at each cycle.

Page 21: Scanner Reference Guide

SPlus Operations Scanner Reference Guide TRACE MANAGER

2VAA000725E 21

3. TRACE MANAGER

Trace Manager is used to automatically enable/disable and configure trace level for different processes/threads/drivers in S+ Operations. For each driver there is decription of the Trace levels and these levels has to be configured using Trace Manager, and not manually by registry keys.

The file placed in the following location:

\ABB Symphony Plus\Operations\deck\RegConf.xml is called RegConf.xml .

1. To open the TraceManager right click on PwMonitor select System Operations and then select Trace Manager as shown in the following figure.

2. The Trace Manager window as shown in the following figure appears.

.

Page 22: Scanner Reference Guide

SPlus Operations Scanner Reference Guide TRACE MANAGER

22 2VAA000725E

The Window has three different tabs as listed below. The tabs contains all the different processes/thread/drivers that you can configure:

Trace Tab

Special Tab

Driver Tab

The two buttons at the bottom are as follows:

Restore Target Default Button – With this button is used to restore registry situation to default values. The default values

are contained in the [RegConf.xml] file in the target attribute.

Commit Changes When all changes are done by writing in the registry with this button you commit changes and restart

the trace process to immediately enable your modifications.

3.1 Trace Tab

The Trace Tab in the trace Manager is used to enable/disable trace and set trace level. The list of processes/threads is listed here by reading directly from the RegConf.xml file. And it searchs the registry key path [APPS\Trace] for every couple of sub keys like as follows:

<REGENTRY>

path = ”APPS\Trace\<process/thread

name>”

name = “Trace”

server = “Y” or “N”

memo = “<DESCRIPTION>”

target = “<DEC VALUE>”

type = “BOOL”

descr = “<process/thread name> Debug

Messages”

<REGENTRY>

path=”APPS\Trace\<process/thread name>”

name = “TraceLevel”

server = “Y” or “N”

memo = “Accuracy of log tracing”

target = “<DEC VALUE>”

type = “DWORD”

descr = “Accuracy of log tracing”

min = “<DEC VALUE>”

max = “<DEC VALUE>”

To make changes to any of the Application Trace, select the checkbox of the required Process whose Trace value needs to be changed and set the required value.

The details of the tabs in the Trace page are as listed below.

Process . These are the list of Proceses in the system. Select the CheckBox of the required process/thread name to

enable/disable trace.

Trace Lev - Set the Trace value . The trace level set should be a HEX Value.

Trace Lev - Set the Trace value here . The trace level set should be a DECIMAL Value

Button [ … ]Select this button to open a window as follows. This window sets a previously defined trace level

Button [ ? ] = Click on this button to populate a description about process/thread at the lower left part of the window. This

description is <DESCRIPTION> contained in the relative memo attribute of [RegConf.xml] file.

An example of the Trace tab of Trace Manager is as shown in the following figure.

Page 23: Scanner Reference Guide

SPlus Operations Scanner Reference Guide TRACE MANAGER

2VAA000725E 23

3.2 Special Tab

Special tab is used to enable/disable TagsToTraceUpdate feature and is used to trace the tag value.

The list of processes/threads is listed here by reading directly from the [RegConf.xml] file. And it searchs the registry key name [TraceTagUpdate].for every couple of sub keys like as follows:

<REGENTRY>

path = ”APPS\<process/thread name>”

name = “TraceTagUpdate”

server = “Y” or “N”

memo = “<DESCRIPTION>”

target = “<DEC VALUE>”

type = “BOOL”

descr = “Trace <process/thread name>

tags update in the ErrorLog file”

<REGENTRY>

path=”APPS\<process/thread name>”

name = “TagsToTraceUpdate”

server = “Y” or “N”

memo = “Used by <process/thread name>

to retrieve tags to be traced”

target = “<DEC VALUE>”

type = “STRING”

descr = “Used by <process/thread name>

to retrieve tags to be traced”

min = “<DEC VALUE>”

max = “<DEC VALUE>”

Page 24: Scanner Reference Guide

SPlus Operations Scanner Reference Guide TRACE MANAGER

24 2VAA000725E

The Special tab of the Trace Manager window is as shown in the following figure. The Special page has the following details:

Process/thread name

CheckBox to enable/disable the entire feature

Text Box to write (comma/blank separated) the tag names to be traced.

3.3 Driver Tab

Driver tab is used to enable trace l/disable trace and set level for drivers.

The list of processes/threads is listed here by reading directly from the machine registry under the key [Scanner].

For every sub key found a relative line has set.

Columns in the tab are:

Driver is the checkbox to select driver trace | driver name

Trace Lev - Set the Trace value . The trace level set should be a HEX Value

Trace Lev - Set the Trace value here . The trace level set should be a DECIMAL Value

Page 25: Scanner Reference Guide

SPlus Operations Scanner Reference Guide TRACE MANAGER

2VAA000725E 25

Page 26: Scanner Reference Guide

SPlus Operations Scanner Reference Guide INSTALLING THE DRIVERS

26 2VAA000725E

4. INSTALLING THE DRIVERS

The drivers are all installed under the path C:\Program Files\ABB Symphony Plus\Operations\bin\drivers. Drivers are

simple dll and need not be registered.

If necessary, follow the procedure used to register the dll for the communication with the physical level:

Regsvr32 C:\Program Files\ABB Symphony Plus\Operations\bin TcpDrv.dll

or

Regsvr32 C:\Program Files\ABB Symphony Plus\Operations\bin ComDriver.dll

(TcpDrv.dll in case of TCP/IP communication, ComDriver.dll in case of serial communication).

The drivers implemented are listed in the following table:

Table 4-1:List of Drivers

Driver DLL name Phys. level Features

Iec104 Driver104.dll TcpDrv.dll Data exchange as per standard IEC 60870-5-104

Iec101 Driver101.dll ComDriver.dll Data exchange as per standard IEC 60870-5-101

Modbus MBDriver.dll MbLibd.dll Data exchange as per serial Modbus protocol (both RTU and ASCII modes are supported)

Spabus Spabus.dll ComDriver.dll Data exchange as per serial SPAbus protocol

Textdrv Textdrv.dll -- Data exchange from/to text file

Txp DriverTXP.dll TcpDrv.dll Data acquisition from Siemens Teleperm XP

Mark MarkDrv.dll TcpDrv.dll Data exchange from/to GE Mark V and Mark VI

Modbus TCP MBTCPDriver.dll TcpDrv.dll Data exchange as per TCP/IP Modbus protocol

Page 27: Scanner Reference Guide

SPlus Operations Scanner Reference Guide IEC 60870-5-104 DRIVER

2VAA000725E 27

5. IEC 60870-5-104 DRIVER

5.1 Registers

The driver-specific registers are as listed in the following table.

Table 5-1: Driver Specific Registers

Name Type Values Description

ProgID Char Driver104

BusAddress Char [tcp/ip address or node name] (“192.1.1.1”)

Address of the main node

BusAddress2 Char [tcp/ip address or node name] (“”) Address of the redundant node (“” if it doesn't exist).

BusPort Int 2404 Standard port reserved for the IEC protocol

BusProgID Char TcpDrv.TcpApi

BusType Char TCP

UseAtoms Char Yes Required if at least one command is provided (it uses atoms for the exchange of select / execute / termination information)

TraceLevel Int [bit mask] 0xFFFF

Bit mask for trace enabling: TRC_HIGH 0x001 errors TRC_LOW 0x002 Tcp log TRC_CONN 0x004 connection TRC_VAR 0x008 vS vR variables TRC104_REG 0x010 register warning TRC104_LOW 0x020 low level info TRC104_CFG 0x040 configur. warning TRC104_CMD 0x080 command trasm. TRC104_FILE 0x100 file transfer

The following registers are only used by IEC 104 driver:

Table 5-2: Registers for IEC 104 Drivers

Name Type Values Description

OperateTimeout Int [sec] (0) Timeout for an Execute command confirmation to be sent (0=disabled)

UseCorrelator Char [YES/NO] Use of command correlation atoms

UseCmdAlarms Char [YES/NO] An alarm is generated for command related tags in case control operation is not properly executed

ClockSyncDevice Int [device address] (0) Address of the device that sends the external synchronization message (0 = disabled)

DeviceType Char [device type] (“”) Check table 4.3 for Device Type info

UseDoubleSearch Char [YES/NO] It performs a double search for tags in the DB based on the message type code: with and without timestamp (see field_AD5)

UseSeqControl Char [YES/NO] It sequences control direction commands to avoid sending more than one command at a time

MonitorDir Char [YES/NO] Driver used in Monitor Direction

MaxConnAccept Int [num] (0) Maximum number of input connections accepted ( if MonitorDir enabled). 0 = no limit.

ConnRetries Int [num] (1) Connection attempts before switching between BusAddress1 and BusAddress2

AttemptDelay Int [num] (0) Time between connection attempts during a switching between BusAddress1 and BusAddress2

DependsOnGI Char [YES/NO] Status of connection depends on General Interrogation result (success or failure).

CSTime Int [num] (1) Hour (0:23) for sending daily clock sync. If > 23 then clock sync is disabled.

Page 28: Scanner Reference Guide

SPlus Operations Scanner Reference Guide IEC 60870-5-104 DRIVER

28 2VAA000725E

GISecDelay Int [num] (5) Number of seconds to wait before sending a GI, after a Connection has been established (if required)

BusAddrControlTag Char [char] Name of the analog tag used to control BusAddress1 and BusAddress2 management.

BusAddr1Enable Value Int [num] (0) When BusAddrControlTag has a value equal to this registry BusAddress1 is enabled.

BusAddr2 EnableValue Int [num] (0) When BusAddrControlTag has a value equal to this registry BusAddress2 is enabled

TimComplete Int [msec] (DeviceTimeout)

Completion time of a blocking receive on the device in case acquisition has failed

TimTxRx Int

[msec] (DeviceTimeout/10)

Maximum wait time to elapse between the signaling and the reception of the messages expected at the port

TimT0 Int [msec] (30000) Timeout for connection to be established

TimT1 Int

[msec] (15000) Timeout for receiving the acknowledge of a frame that was previously sent

TimT2 Int [msec] (10000 Timeout for sending an acknowledge in case no information frame is received (TimT2 < TimT1)

TimW Int

[num] (8) Maximum number of frames received before sending an acknowledge (in combination with T2)

TimK Int [num] (12) Maximum number of frames sent before receiving an Acknowledge

5.2 Online Configuration

The driver registry key can also contain some registers that stores the strings with the online configuration and shows when a tag is displayed or changed in the Acquisition and Output Tables.

Table 5-3: Registers for Online Configuration

Name Type Values

Label_ad1 and/or Label_out_ad1 Char ASDU comm addr

Label_ad2 and/or Label_out_ad2 Char Info obj addr

Label_ad3 and/or Label_out_ad3 Char Data Type code

Label_ad4 and/or Label_out_ad4 Char Scan class”

Label_ad5 and/or Label_out_ad5 Char Type identification

Label_ad6 and/or Label_out_ad6 Char Cmd Qualifier

Label_ad7 and/or Label_out_ad7 Char T.o. wait select

Label_ad8 and/or Label_out_ad8 Char T.o. wait confirm

Label_ad9 and/or Label_out_ad9 Char T.o. wait termin.

Label_ad10 and/or Label_out_ad10 Char n.u.( not used)

Label_text1 and/or Label_out_text1 Char Mask flags Y/N”

5.3 Device Type

The driver manages some automatic operations, depending on the device that is being scanned. The following automatic checks/operations can specified, by configuring the DeviceType register:

Table 5-4: Automatic Check Operations

DeviceType Event Actions

All Connection is established Reset command tags having OLD quality status

Clock synch is received Set system date and time (only if synch message is coming from the device enabled in ClockSyncDevice)

Cyclically (every day at „CSTime‟)

Send clock synch to DevAddronly if not in Monitor Direction

Connection is established Send clock synch to DevAddr Send general interrogation to DevAddr

DEVICE_TYPE_01 (PCG) End of initialization is received Send reset with “in service” qualifier

Page 29: Scanner Reference Guide

SPlus Operations Scanner Reference Guide IEC 60870-5-104 DRIVER

2VAA000725E 29

Send clock synch Send general interrogation

"Rtu operable" / "Rtu in service" is received

Set / reset OLD quality tags of the device Send clock synch Send general interrogation

"Modem is up" is received Send clock synch

FW or DB release info is received

Send general interrogation store it in string-type tags

DEVICE_TYPE_02 (SOTTOCENTRO_PCG)

connection is established Send clock synch to DevAddr Send general interrogation to broadcast address

"Rtu operable" / "Rtu in service" is received

Set / reset OLD quality devices

FW or DB release is received Store it in string-type tags

DEVICE_TYPE_03 (CENTRO_PCG)

connection is established

clock synch is received Set system date and time (only if coming from the device enabled in ClockSyncDevice)

general interrogation is received Send all configured tags (only if addressed to DevAddr, otherwise ignore the request)

FW or DB release info is received

Store it in string-type tags

DEVICE_TYPE_04 (UP02) connection is established Send clock synch to DevAddr Send general interrogation to DevAddr

a debug message is received write debug data into a file

DEVICE_TYPE_05 (RTU560)

connection is established Send clock synch to DevAddr Send general interrogation to DevAddr

"RTU active" is received set / reset OLD quality tags of the device

DEVICE_TYPE_06 (STCE)

connection is established Reset OLD quality commands Send clock synch Send general interrogation

a counter containing the date of RTU last reading is received

Store it in string-type tags

5.4 Files

5.4.1 Log Files

The log files are created in the Logs folder if they are enabled by setting the Trace register to “YES” and are named Trc_<key name>.log and TrcTcp_<TCP address>.log. Furthermore the TraceLevel bits allow to select the details of the

trace to be enabled. These three registers are cyclically read by the driver.

5.4.2 File Transfer

The files are located in the FileConfPath folder and are named according to the following scheme:

The file naming scheme is listed in the following table.

Table 5-5: File Naming Scheme

Name Type Values Description

FileConfPath Char [folder name] () Directory for file reading/writing

FileConfPref Char [file prefix] (“D_%03d_%03d_%02d”) File prefix formatted with: Common Address, Information Object Address, File number

FileConfSuff Char [file suffix] (“.iod”) File suffix

FileMultiple Char [YES/NO] File name is distinguished also by time stamp (allowing more than one file for same CA, IOA and file name).

FileDelete Char [YES/NO] File is to be deleted after it has been sent.

LenSegment Int [bytes] (1..236) Length (in bytes) of File Transfer‟s single segment

TimFileTrx Int msec] (100) Time between two consecutive transmissions of file transfer segments. Before sending the final segment this timeout is multiplied by 20

Page 30: Scanner Reference Guide

SPlus Operations Scanner Reference Guide IEC 60870-5-104 DRIVER

30 2VAA000725E

5.5 Database

The database fields of IEC 104 driver arelisted in the following table:

Field Description

FACEPLATE String contains the name of the command faceplate For example:

Prctrl.Pop_1s for a single digital command with select before execute

Prctrl.Pop_2s for a double digital command with select before execute

Prctrl.Pop_1e for an execute-only single digital command (direct command)

Prctrl.Pop_2e for an execute-only double digital command (direct command)

FIELD_DRV For both inputs and inputs/outputs

OUTn_DRV For both outputs and inputs/outputs

AD1 Common address of the ASDU. (for example: 511= 0x1FF= PCG1, 767= 0x2FF= PCG2, 257= 0x101= RTU1 of PCG1, etc.)

AD2 Information Object Address (only the two lowest bytes without Data Type Code ).

AD3 Data Type Code (or the highest byte of the Information Object Address for devices that use three bytes.)

AD4 Scan class

AD5 Message type identifier

AD6 Command qualifier Single command, Double command and Regulation Step 0 = No indication 1 = Short pulse 2 = Long pulse 3 = Persistent output 16 .. 31 = special use (private range) Set point 0 = No indication 64..127 = special use (private range) General interrogation 20 = station interrogation Counter interrogation 0 = no count 1 .. 4 = group n. 1..4 counter request 5 = general count request 6 .. 31 = special use (compatible range) 32 .. 63 = special use (private range)

AD7 Control direction - command selection confirmation waiting time-out (in seconds) Monitor Direction – Time (in seconds) for cyclic sending

AD8 Command execution confirmation waiting time-out (in seconds)

AD9 Command termination waiting time-out (in seconds)

TX1 Flag mask (Y/N), indicating: Input point Output point Skip Old---if Y the tag is not set to old in case of Rtu becoming inoperable Event---if Y the tag is sent directly to the scanner, to be stored in the database (mainly used for commands or inputs/outputs) Multiple values---if Y contiguous addresses can be stored in atoms from 2 to 5. Auto--- send ACTCON if Y ACTCON is automatically sent by slave when a command is received Auto---end ACTTERM if Y ACTTERM is automatically sent by slave when a command is received

Table 5-6: List of Input Message Type Identifer

Input – Monitor direction code with timestamp CP56Time2a

single point information 1 30

double point information 3 31

step position information 5 32

bit string information 7 33

measured value, normalized 9 34

measured value, scaled 11 35

measured value, short floating 13 36

integrated totals 15 37

packed single point 20

Page 31: Scanner Reference Guide

SPlus Operations Scanner Reference Guide IEC 60870-5-104 DRIVER

2VAA000725E 31

measured value, normalized 21

without quality descriptor

event protection 38,39,40

Table 5-7: List of Output Message Type Identifier

Output – control direction code Timestamp CP56Time2a

single command 45

double command 46

regulating step 47

normalized set point command 48

scaled set point command 49

bitstring command 51

single command 45

Table 5-8:List of Controls

Control– Control direction code Timestamp CP56Time2a

General interrogation 100

Counter interrogation 101

Clock synch 103

Reset command 105

File transfer (start) 120

Directory call 126

5.5.1 Data Uniqueness

The tags passed to the driver must not be duplicate. Uniqueness is ensured by the combination of the fields AD1, AD2, AD3 and AD5.

5.5.2 Tag Configuration

The information (tag) in the S+ Operations database must be treated differently according to the protocol message which carries the data.

The following tables list the significant information to be configured for each type of data, except for addressing and scan class. The differentiating parameter is the field AD5.

Table 5-9: List of Inputs Monitors

Input – Monitor direction AD5 TYP I4 AD6 AD7,8,9 TX1 ATOM1

Single point information 1, 30 Dig - 0 No YN?N

Double point information 3, 31 Bitmask - 0 No YN?N

Step position 5, 32 Ana Y 0 No YN?N

Information

Bit string information 7, 33 Bitmask Y 0 No YN?N

Measured value, 9, 34 Ana - 0 No YN?N

Normalized

Measured value, scaled 11, 35 Ana - 0 No YN?N

Measured value, short 13, 36 Ana N 0 No YN?N

Floating

Integrated totals 15, 37 Ana Y 0 No YN?N Cmd, 9

Packed single point 20 Dig 0 No YN?N Cmd, 9

Measured value, 21 0 No YN?N

Normalized without

Quality descriptor

Event protection 38,39, Dig 0 No YN?N

40

Table 5-10: List of Output Controls

Output – Control Direction AD5 TYP I4 AD6 AD7,8,9 TX1 ATOM1

Single command 45 Dig 1..31 Yes YYNY Cmd, 9

Double command 46 Bitmask 1..31 Yes YYNY Cmd, 9

Regulating step 47 Dig 1..31 Yes YYNY Cmd, 9

Normalized set point 48 Ana 1..127 Yes YYNY Cmd, 9

Command

Scaled set point 49 Ana 1..127 Yes YYNY Cmd, 9

Command

Page 32: Scanner Reference Guide

SPlus Operations Scanner Reference Guide IEC 60870-5-104 DRIVER

32 2VAA000725E

Bitstring command 51 Bitmask 1..31 Yes YYNY Cmd, 9

Table 5-11:List of Controls

Control– Control Direction

AD5 TYP I4 AD6 AD7,8,9 TX1 ATOM1

General interrogation 100 Dig 20 Yes YYNY Cmd, 9 Ad2 = Ad3 = 0

Counter interrogation 101 Dig 1..64 Yes YYNY Cmd, 9

Clock synch 103 Dig 1..31 7 & 8 YYNY Cmd, 9

Reset command 105 Dig 1 7 & 8 YYNY Cmd, 9 Ad2 = Ad3 = 0

File transfer (start) 120 Yes YYNY Cmd, 9

Directory call 126 Yes YYNY Cmd, 9

Table 5-12: Connection Tags

Connection tag TYP I4 AD1 AD2 AD3 TX1 ATOM1 ZERO SPAN

Slave connection counter Ana N 0 2 0 YN?N No 0 65535

5.6 Commands

5.6.1 Command Configurationyes

For command-type tags and counters configuration of the atom fields is mandatory:

Atom Field Description

ATOM1NAM Atom name

For commands to be used in pop-ups for operator‟s action. For ex. “CMD” For the counters it contains the counter's sequence number. For ex. “SEQ”

ATOM1TYP Atom type (9 = digital)

ATOM1VAL Initial value (0)

The digital status and step commands (control direction) use in the database the 24 most significant bits (bits 8:31) of the double word value of ATOM1 of the tag. In particular the bits 16:23 (byte 2 of the double word) contain the value of the command Qualifier, while the bits 0:15 (bytes 0 and 1 of the double word) contain the Command codes to issue the commands and control the command sessions.

The value of the Command Qualifier is transferred directly to the command message itself. If the value of the field „Command Qualifier‟ is 0, the Command Qualifier located in field _AD6 of the configuration database is included within the message for transmission. The bit configuration in the command word is defined as follows:

Page 33: Scanner Reference Guide

SPlus Operations Scanner Reference Guide IEC 60870-5-104 DRIVER

2VAA000725E 33

At system start-up, the value of these control bits in the database is 0.

After the system has started the value of these bits, normally found in the database after a command session has terminated, depends on the result of the last command session performed (if at least one has been executed).

The command session is closed and the channel is freed if the value of the bits 0, 1, 2, 3, 4 and 5 of the double word of ATOM1 is 0 while a valid code is present in the „Session Closed Exit‟ code field.

No new command session can be started before the previous one has terminated, and only commands belonging to the ongoing session can be sent. The Operator interface must ensure that the above rules are strictly observed.

For Set Point commands (_AD5 = 48) the double word of ATOM1 represents the analog set point value for the tag.

5.6.2 Command Sessions

Command session means the cycle of commands sent by the two stations for the actual execution of a field command.

The number of commands inside a command session is variable and depends on both the type of session and on the protocol rules followed by the stations. Therefore a command session can include the transmission of one or more commands and the reception of one or more responses.

The driver also comes with 3 user-configurable timeouts, that interact with the command sessions:

The Select Timeout (field _AD7 of the configuration database) is the timeout for the driver to receive a Select

Confirmation after having sent a Select command.

The Confirm Timeout (field _AD8 of the configuration database) is the timeout for the driver to receive an Execution

Confirmation after having sent an Execute command.

The Operate Timeout (register key „OperateTimeout‟) is the timeout for the user to go on with the session, issuing either

an Execute or a Break (Deselect) command, after having received the Select Confirmation, that follows the transmission of a Select command.

The Termination Timeout (field _AD9 of the configuration database) is the timeout for the driver to receive a Control

Operation Terminated after having received the Execution Confirmation, following the transmission of an Execute command. If the value of this timeout is 0 the Operation Terminated is not waited for, and the command session is closed with the Execution Confirmation.

Timeouts are expressed in seconds. As soon as one of them has elapsed the command session is closed.

5.6.3 Command/Response Codes

The following tables contain all the accepted codes that can appear in the Command code field of doubleword ATOM1

(least significant word, bits 0-15).

Table 5-13: Accepted Codes

Select command decimal hex

Select 0 Command 1 0001

Select 1 Command 2 0002

Select 2 Command 4 0004

Select 0 Positive Confirm 9 0009

Select 1 Positive Confirm 10 000A

Select 2 Positive Confirm 12 000C

Select 0 Negative Confirm 4352 1100

Select 1 Negative Confirm 4608 1200

Select 2 Negative Confirm 4864 1300

Select 0 Confirm Timeout 8448 2100

Select 1 Confirm Timeout 8704 2200

Select 2 Confirm Timeout 8960 2300

Deselect command decimal hex

Deselect 0 Command 41 0029

Deselect 1 Command 42 002A

Deselect 2 Command 44 002C

Deselect 0 Positive Confirm 1024 0400

Deselect 1 Positive Confirm 1280 0500

Deselect 2 Positive Confirm 1536 0600

Deselect 0 Negative Confirm 5120 1400

Deselect 1 Negative Confirm 5376 1500

Deselect 2 Negative Confirm 5632 1600

Deselect 0 Confirm Timeout 9216 2400

Deselect 1 Confirm Timeout 9472 2500

Deselect 2 Confirm Timeout 9728 2600

Deactivate command decimal hex

Page 34: Scanner Reference Guide

SPlus Operations Scanner Reference Guide IEC 60870-5-104 DRIVER

34 2VAA000725E

Deactivate 0 Command 57 0039

Deactivate 1 Command 58 003A

Deactivate 2 Command 60 003C

Deactivate 0 Positive Confirm 2560 0A00

Deactivate 1 Positive Confirm 2816 0B00

Deactivate 2 Positive Confirm 3072 0C00

Deactivate 0 Negative Confirm 6656 1A00

Deactivate 1 Negative Confirm 6912 1B00

Deactivate 2 Negative Confirm 7168 1C00

Deactivate 0 Confirm Timeout 10752 2A00

Deactivate 1 Confirm Timeout 11008 2B00

Deactivate 2 Confirm Timeout 11264 2C00

Page 35: Scanner Reference Guide

SPlus Operations Scanner Reference Guide IEC 60870-5-101 DRIVER

2VAA000725E 35

6. IEC 60870-5-101 DRIVER

6.1 Registers

The driver-specific registers are as listed in the following table:

Table 6-1: Driver Specific Registers

Name Type Value Notes

Active REG_SZ [YES/NO] The driver is activated if this flag is YES.

DiagnosticTag REG_SZ TAGNAME The name of the diagnostic tag of the driver.

ProgID REG_SZ Driver101.

Not to be changed.

BusPort REG_DWORD [serial port number] Number of the serial port used for communication.

BusProgID REG_SZ ComDriver. ComDrv Not to be changed.

BusType REG_SZ COM Not to be changed.

BusAddress REG_SZ [baud rate, parity, n.bits, stop bit] (“9600,n,8,1”)

Serial port communication parameters.

UseAtoms REG_SZ [YES/NO] Required if at least one command is provided (the atoms are used for the exchange of select / execute / termination information).

InitTimeout REG_DWORD [sec] (10) Delay between an initialization attempt and the next one.

DeviceTimeout REG_DWORD [sec](10 ) Timeout in milliseconds used for Tx/Rx in serial communication

TraceLevel REG_DWORD [bit mask] 0xFFFF

Bit mask to enable different trace levels: TRC_HIGH 0x001 errors TRC_LOW 0x002 Serial port (ComDriver) log TRC_CONN 0x004 connection TRC101_REG 0x010 register warning TRC101_LOW 0x020 low level info TRC101_CFG 0x040 configuration warnings TRC101_CMD 0x080 command transmission TRC101_FILE 0x100 file transfer

MonitorDir REG_SZ [YES/NO] Sets Control (Master, Central Station) or Monitor (Slave, RTU) direction for the driver.

The following registers are used only by driver IEC 101 :

Table 6-2: Registers for IEC 101 Drivers

Name Type Values Description

LenCommonAddr REG_DWOR D [1/2] Length (in bytes) of the Common Address.

LenCoT REG_DWOR D [1/2] Length (in bytes) of the Cause of Transmission. [1/2/3]

LenObjectAddr REG_DWOR D Length (in bytes) of the Information Object Address. [sec]

OperateTimeout REG_DWOR D (0) Timeout for an Execute command confirmation to be sent (0=disabled).

UseCorrelator REG_SZ [YES/NO] Use of command correlation atoms .

UseCmdAlarms REG_SZ [YES/NO] An alarm is generated for command related tags in case control operation is not properly executed.

DeviceType REG_SZ [device type]

Type of device to which this driver must connect to; it can be (“UP02”, “RTU560”, “STCE”).

UseDoubleSearch REG_SZ [YES/NO] It performs a double search for tags in the DB based on the message code: with and without timestamp (see field_AD5).

Page 36: Scanner Reference Guide

SPlus Operations Scanner Reference Guide IEC 60870-5-101 DRIVER

36 2VAA000725E

UseSeqControl REG_SZ [YES/NO] It sequences control direction commands to avoid sending more than one command at a time.

UseDstAdjust [YES/NO] DST corection for received timestamps.

UseListenData REG_SZ [YES/NO] The driver uses data coming from the RTUs in listen mode to update S+ Ops.database.

CntDelayListen REG_DWOR D [num] (1) Cycle delay for checking messages coming from RTUs in listen mode.

Table 6-3: List of Registers

Name Type Values Description

TimComplete REG_DWORD [msec] (DeviceTimeout) Completion time of a blocking receive on the device in case acquisition has failed

TimTxRx REG_DWORD [msec] (DeviceTimeout/10)

Maximum wait time to elapse between the signaling and the reception of the messages expected at the port

TimT0 REG_DWORD [msec] (30000) Timeout for the connection to be established

TimT2 REG_DWORD [msec] (10000) Multiplier for the calculation of the “silence time” required to determine the end of a single message.

FlowCtrl REG_DWORD FC_NONE=0,

FC_DSR=0x01, FC_CTS=0x02, FC_DTRD=0x04, FC_DTRH=0x08, FC_RTSD=0x10, FC_RTSH=0x20, FC_RTST=0x40, FC_XONXOFF=0x80

Combination of the flow control bits: Data Set Ready (Disable / Enable) Clear To Send (Disable / Enable) Data Terminal Ready (Enable / Disable) Data Terminal Ready (Enable /

Handshake) Req. To Send (Enable / Disable) Req. To Send (Enable / Handshake) Req. To Send (Enable / Toggle) Xon-Xoff (Disable / Enable)

FileConfPath REG_SZ [folder name] () Directory to write the received files into.

FileConfPref REG_SZ [file prefix] (“D_%03d_%03d_%02d”)

File prefix formatted with: Common Address, Information Object Address, File name.

FileConfSuff REG_SZ [file suffix] (“.iod”) File suffix

FileMultiple REG_SZ [YES/NO] File name is distinguished also by time stamp (allowing more than one file for same CA, IOA and file name).

LenSegment REG_DWORD [bytes] (235) Length of a data segment in F_SG_NA_1 messages (file transfer).

TimFileTrx REG_DWORD [msec] (100) Number of milliseconds to wait between the transmission of two consecutive F_SG_NA_1 messages (file transfer).

UseModem REG_SZ [YES/NO] The driver uses a modem to reach the devices.

This set of registers is needed only when the driver uses a modem to connect to the RTUs (UseModem = YES):

Table 6-4: Registers for RTUs

Name Type Values Description

MdmInit REG_SZ [string] (ATE0V0) Modem init string (AT commands).

MdmCarrierWait REG_DWORD [sec] (30) Timeout for the modem carrier signal (DCD) to become active after the phone number has been dialed.

MdmIdleTime REG_DWORD sec] (0) Maximum idle time before automatic hang-up MdmIdleTime (0 = manual hang-up only).

MdmRetry REG_DWORD [num] (3) After MdmRetry failed calls, the device is declared inoperable.

MdmStopTime REG_DWORD [min] (30) After MdmStopTime minutes connection automatically hangs-up.

6.2 Online Configuration

The driver register key can contain some registers storing the strings that the online configurator shows when a tag is displayed or changed in the Acquisition and Output tables.

Page 37: Scanner Reference Guide

SPlus Operations Scanner Reference Guide IEC 60870-5-101 DRIVER

2VAA000725E 37

Table 6-5: Registers for Online Configuration

Name Type Values

Label_ad1 and/or Label_out_ad1 REG_SZ “Common address”

Label_ad2 and/or Label_out_ad2 REG_SZ “Info obj addr”

Label_ad3 and/or Label_out_ad3 REG_SZ Not used

Label_ad4 and/or Label_out_ad4 REG_SZ “Scan class”

Label_ad5 and/or Label_out_ad5 REG_SZ “Type identification”

Label_ad6 and/or Label_out_ad6 REG_SZ “Cmd. Qualifier”

Label_ad7 and/or Label_out_ad7 REG_SZ “T.o. wait select”

Label_ad8 and/or Label_out_ad8 REG_SZ “T.o. wait confirm”

Label_ad9 and/or Label_out_ad9 REG_SZ “T.o. wait termin.”

Label_ad10 and/or Label_out_ad10 REG_SZ Not used

Label_text1 and/or Label_out_text1 REG_SZ “Mask flags Y/N”

Note that the Values field can be changed, if needed, by simply re-editing the string value (no need to reinit the driver to

activate these changes). Note also that the maximum length for these strings is 16 characters.

6.3 Device Type

This driver supports the following device types:

UP02 (also known as CTU800);

RTU560

STCE

When a connection with a UP02 device is requested on a dial-up telephone line, the driver performs a proprietary authentication procedure before establishing connection. Such procedure does not apply for the other device types, neither is it used in case of a direct link exists to UP2 (leased line).

6.4 Files

6.4.1 Log Files

The log files are created in the Logs folder if they are enabled by setting the Trace register to YES and are named Trc_<driver name>.log e ComDrv_<port num>.log. Furthermore the TraceLevel bits allow to select the details of the

trace to be enabled. These two registers are read cyclically by the driver (i.e. no need to reinitialize the driver if they are changed).

6.5 Database

The database fields have the same meaning of the fields used by Driver104 in control direction with the exception of FIELD_AD3 that is not used.

6.5.1 Device Diagnostics

A few diagnostic-type tags can be configured to monitor the proper operation of the devices connected to the serial line. These tags are distinguishable by the content of field AD5. As it doesn‟t contain any type of configured message (0), it cannot be sent/received to/from t a field device.

In addition to the serial line diagnostic tag , the following tags should be configured to get information about the status of the driver and of the devices being connected. There can be one of these tags for each driver instance.

Table 6-6: Driver Connection Tags

Driver’s Connection Tags

TYPE I4 AD1 AD2 AD3 TX1 ATOM1 ZERO SPAN

Polling cycle counter Ana N 0 0 0 YN?N no 0 65535

Rtu in poll ID Ana N 0 1 0 YN?N no 0 65535

Opened connections counter

Ana N 0 2 0 YN?N no 0 65535

Common address of an unauthorized RTU

Ana N 0 3 0 YN?N no 0 65535

Backup connection status

Dig 0 4 0 YN?N no OK ERROR

Connection status Ana N 0 5 0 YN?N no 0 65535

Page 38: Scanner Reference Guide

SPlus Operations Scanner Reference Guide IEC 60870-5-101 DRIVER

38 2VAA000725E

The polling cycle counter provides a running total of the poll (interrogation) cycles, and its value is increasing when at least one device is connected to the driver.

RTU in poll ID provides the common address of the RTU that is currently being polled. For each device to be connected by the driver a set of tags is available for monitoring the connection status.

Table 6-7: RTU Diagnostic Tags

Rtu diagnostic tags TYPE I4 AD1 AD2 AD3 TX1 ATOM1 ZERO ONE

Inoperability status Dig addr 0 0 YN?N no OK ERROR

Rtu connections counter Ana N addr 2 0 YN?N no 0 65535

RTU type Ana N addr 3 0 YN?N no 0 65535

RTU usage Ana N addr 4 0 YN?N no 0 65535

RTU Identifier Text N addr 5 0 YN?N no

RTU unreachable Dig N addr 6 0 YN?N no YES NO

Last connection timestamp

Ana N addr 7 0 YN?N no 0 65535

Inoperability status marks the current RTU status (operable / not operable).

RTU connections counter is a counter of the number of times a given RTU (equipped with a modem) has been connected to S

+ Operations, either by a direct call from S+ or after a spontaneous call made by the RTU itself.

6.6 Commands

For the general configuration and command transmission methods see the similar paragraph for IEC 104 driver. Hereafter info is given regarding the Poll Command tag only:

In an environment where a modem is used to connect RTUs, this tag is used to start dialing the RTU to be reached, using the telephone number to be stored in field _TX2

In an environment where the RTU is connected either on a point-to-point or on a multipoint line (no modem), this tag is used to start the poll (interrogation) of the RTU.

Table 6-8: Poll Command Tag

Rtu poll tag TYPE I4 AD1 AD2 AD3 TX1 ATOM1 ZERO ONE

Poll Command Dig Addr 1 0 YYNY cmd, 9 LISTEN POLLING

Page 39: Scanner Reference Guide

SPlus Operations Scanner Reference Guide IEC 60870-5-103 DRIVER

2VAA000725E 39

7. IEC 60870-5-103 DRIVER

7.1 Registers

The driver-specific registers are as listed in the following table.

Table 7-1: Driver Specific Registers

Name Type Value Notes

Active REG_SZ [YES/NO] The driver is activated if this flag is YES.

DiagnosticTag REG_SZ TAGNAME The name of the diagnostic tag of the driver.

ProgID REG_SZ Driver103 Class ID of the COM object that implements the driver

BusPort REG_DWORD [serial port number] Number of the serial port used for communication

BusProgID REG_SZ ComDriver.ComDrv Class ID of the COM object used for the physical layer

BusType REG_SZ COM Type of communication device

BusAddress REG_SZ [baud rate, parity, n.bit, stop bit] (“9600,n,8,1”)

COM port settings

TraceLevel REG_DWORD [bit mask] 0xFFFF

Bit mask to enable different detail degrees: TRC_HIGH 0x001 errors TRC_LOW 0x010 Serial port TRC103_REG 0x020 register warning TRC103_CFG 0x040 configuration warnings TRC103_CMD 0x080 command transmission TRC103_FILE 0x100 file transfer

Table 7-2: IEC 60870-5-103 Registers and Description

Name Type Values Description

OperateTimeout REG_DWOR D [sec] (0) Timeout for an Execute command confirmation to be sent (0=disabled).

UseCorrelator REG_SZ [YES/NO] Use of command correlation atoms .

UseCmdAlarms REG_SZ [YES/NO] An alarm is generated for command related tags in case control operation is not properly executed.

DeviceType REG_SZ [device type] (“”) Type of device to which this driver must connect to; it can be (“UP02”, “RTU560”, “STCE”).

UseDoubleSearch REG_SZ [YES/NO] It performs a double search for tags in the DB based on the message type code: with and without timestamp (see field _AD5)

UseSeqControl REG_SZ [YES/NO] It sequences control direction commands to avoid sending more than one command at a time.

UseDstAdjust [YES/NO] DST correction for received timestamps

UseListenData REG_SZ [YES/NO] The driver uses data coming from the RTUs in listen mode to update S+ Ops.database.

CntDelayListen REG_DWORD [num] (1) Cycle delay for checking messages coming from RTUs in listen mode.

TimComplete REG_DWOR D [msec] (DeviceTimeout) Completion time of a blocking receive on the device in case acquisition has failed. A “blocking receive” is not sent in async mode, but it is forced to wait for a certain time before being processed, to eventually detect that send /receive has not been successfully completed. This timeout is represented by TimComplete

TimTxRx REG_DWOR D [msec] (DeviceTimeout/10)

Maximum wait time to elapse between the signaling and the reception of the messages expected at the port.

TimT0 TimT2

REG_DWORD REG_DWORD

[msec] (30000) [msec] (10000)

Timeout for connection to be established Multiplier for the calculation of the

Page 40: Scanner Reference Guide

SPlus Operations Scanner Reference Guide IEC 60870-5-103 DRIVER

40 2VAA000725E

FlowCtrl

REG_DWOR D

FC_NONE=0,

FC_DSR=0x01, FC_CTS=0x02, FC_DTRD=0x04, FC_DTRH=0x08, FC_RTSD=0x10, FC_RTSH=0x20, FC_RTST=0x40, FC_XONXOFF=0x80

“silence time”

required to determine the end of a single message Combination of the flow control bits: Data Set Ready (Disable / Enable) Clear To Send (Disable / Enable) Data Terminal Ready (Enable / Disable) Data Terminal Ready (Enable /

Handshake) Req. To Send (Enable / Disable) Req. To Send (Enable / Handshake) Req. To Send (Enable / Toggle) Xon-Xoff (Disable / Enable)

FileConfPath REG_SZ [folder name] () Directory to write the received files in.

FileConfPref REG_SZ [file prefix] (“D_%03d_%03d_%02d”)

File prefix formatted with: Common Address, Information Object Address, File name.

FileConfSuff REG_SZ [file suffix] (“.iod”) File suffix

FileMultiple REG_SZ [YES/NO] File name is distinguished also by time stamp (allowing more than one file for same CA, IOA and file name).

LenSegment REG_DWOR D [bytes] (235) Length of a data segment in F_SG_NA_1 messages (file transfer).

TimFileTrx REG_DWOR D [msec] (100) Number of milliseconds to wait between the transmission of two consecutive F_SG_NA_1

UseModem REG_SZ [YES/NO] The driver uses a modem to reach the devices.

This set of registers is needed only when the driver uses a modem to connect the RTUs (UseModem = YES):

Table 7-3: List of Registers for connecting to RTUs

Name Type Values Description

MdmInit REG_SZ [string] (ATE0V0) Modem init string (AT commands).

MdmCarrierWait REG_DWORD [sec] (30) Timeout for the modem carrier signal (DCD) to become active after the phone number has been dialed.

MdmIdleTime REG_DWORD [sec] (0) Maximum idle time before automatic hang-up (0 = manual hang-up only).

MdmRetry REG_DWORD [num] (3) After MdmRetry failed calls, the device is declared inoperable.

MdmStopTime REG_DWORD [min] (30) After MdmStopTime minutes connection automatically hangs-up

7.2 Online Configuration

The driver register key can contain some registers that stores strings with online configuraton when a tag is displayed or changed in the Acquisition and Output tables.

Table 7-4: Registers for Online Configuration

Name Type Values

Label_ad1 and/or Label_out_ad1 REG_SZ “ASDU Common address”

Label_ad2 and/or Label_out_ad2 REG_SZ “Function type”

Label_ad3 and/or Label_out_ad3 REG_SZ “Information number”

Label_ad4 and/or Label_out_ad4 REG_SZ “Scan class”

Label_ad5 and/or Label_out_ad5 REG_SZ “Message Type identification”

Label_ad6 and/or Label_out_ad6 REG_SZ “Packet measure index ”

Label_ad7 and/or Label_out_ad7 REG_SZ “Unused”

Label_ad8 and/or Label_out_ad8 REG_SZ “T.o. wait confirm”

Label_ad9 and/or Label_out_ad9 REG_SZ “T.o. wait termin.”

Label_ad10 and/or Label_out_ad10 REG_SZ Not used

Note that the values field can be changed, if needed, by simply re-editing the string value (no need to reinit the driver to activate these changes). Note also that the maximum length for these strings is 16 characters.

Page 41: Scanner Reference Guide

SPlus Operations Scanner Reference Guide IEC 60870-5-103 DRIVER

2VAA000725E 41

7.3 Device Type

This driver supports the following device types:

REL316

REB500

7SA522

SIEMENS

7.4 Files

7.4.1 Log Files

The log files are created in the Logs folder. And they are enabled by setting the Trace register to “YES” and are named Trc_<driver name>.log e ComDrv_<port num>.log. The TraceLevel bits allows to select the details of the trace to be

enabled. These two registers are read cyclically by the driver (i.e. no need to reinit the driver if they are changed).

7.5 Database

Tag database fields are as listed in the following table:

Field Description

AD1 ASDU common address . For IEC 103 protocol common address has a 1 byte fixed length

AD2 Function Type (FUN), 1 byte fixed length

AD3 Information Number (INF), 1 byte fixed length

AD4 Scan class

AD5 Message type identifier (TYP):

AD6 Packet measure index for data transmitted using ASDU 3 and 9. Value is 0 for any other data

AD7 Not used

AD8 Timeout for Execute command confirmation in seconds (must be 0 for general interrogation command).

AD9 Timeout for command execution termination in seconds

Table 7-5: Message Type Identifier Input Monitor Direction

Input – Monitor direction Type Format Timestamp

CP32Time2a

Timestamp relative stamp

Time tagged message 1 DPI YES NO

Time tagged message with relative time

2 DPI YES YES

Measurands I 3 MEA NO NO

Time tagged measurands with relative time

4 MEA YES YES

Identification message 5 NO NO

Measurands II 9 MEA NO NO

Table 7-6: Message Type Identifier Service Monitor Direction

Service – Monitor direction Type Timestamp

CP32Time2a

Timestamp

CP56Time2a

Timestamp relative stamp

Time sync 6 NO YES NO

Termination of General Interrogation

8 NO NO NO

List of recorded disturbances 23 NO YES NO

Ready for transmission of disturbance data

26 YES NO NO

Ready for transmission of a channel

27 NO NO NO

Ready for transmission of tags 28 NO NO NO

Page 42: Scanner Reference Guide

SPlus Operations Scanner Reference Guide IEC 60870-5-103 DRIVER

42 2VAA000725E

Transmission of tags 29 NO NO NO

Transmission of disturbance values

30 NO NO NO

End of transmission 31 NO NO NO

Table 7-7: Message Type Identifier

Service.– Monitor direction Type Timestamp CP56Time2a

Timestamp relative stamp

Time sync 6 YES NO

General Interrogation 7 NO NO

Order for disturbance data transmission

24 NO NO

Ack for disturbance data transmission

25 NO NO

Table 7-8: Message Type Identifier Output Monitor Direction

Output – Monitor direction Type Timestamp CP56Time2a

Timestamp relative stamp

General Command 20 NO NO

Generic Command 21 NO NO

Page 43: Scanner Reference Guide

SPlus Operations Scanner Reference Guide MODBUS DRIVER

2VAA000725E 43

8. MODBUS DRIVER

8.1 Registers

The driver-specific registers as listed in the following table:

Table 8-1: Driver Specific Register

Name Type Values Notes

ProgID Char MBDriver

BusPort Int [serial port number]

BusProgID Char n.u.

BusType Char COM

BusAddress Char [baud rate, parity, n.bit, stop bit] (“9600,n,8,1”)

DeviceType Char GENERIC RTU211 SEPAM80

Default value if the register is not present Used for ABB RTU 211 management Used for SEPAM80 event management

TraceLevel Int 0xFFFF Bit mask for trace details enabling: TRCMDB_HIGH 0x001 errors TRCMDB_LOW 0x002 diagnostics TRCMDB_INP 0x004 reading TRCMDB_OUT 0x008 writing TRCMDB_REG 0x010 register warning TRCMDB_CNV 0x020 conversion warning TRCMDB_CFG 0x040 configur. warning TRCMDB_CMD 0x080 command transm.

The following registers are only used by the Modbus driver:

Table 8-2:Registers for Modbus Drivers

Name Type Values Description

AddrOffs Char [+/- num] (“0”) Offset of the modbus driver (to be algebraically summed to the contents of field _AD2). N.B. the register is of string type to accept negative numbers.

FlowCtrl Int FC_NONE=0,

FC_DSR=0x01, FC_CTS=0x02, FC_DTRD=0x04, FC_DTRH=0x08, FC_RTSD=0x10, FC_RTSH=0x20, FC_RTST=0x40, FC_XONXOFF=0x8 0

Combination of the flow control bits: Data Set Ready (Disable / Enable) Clear To Send (Disable / Enable) Data Terminal Ready (Enable / Disable) Data Terminal Ready (Enable / Handshake) Req. To Send (Enable / Disable) Req. To Send (Enable / Handshake) Req. To Send (Enable / Toggle) Xon-Xoff (Disable / Enable)

InputInterval Int [millisecond] (0) Time interval between consecutive modbus telegrams

ModbusMode Char RTU

ASCII RTU mode (default) ASCII mode

nRetry Int [num] (3) Number of attempts in case of send – receive failure

SyncFunc Int [function] (70) Function code for time synchronization (it has to be 100 for SEPAM80 synchronization)

SyncHour Int [hours] (0) Hours for time synchronization

SyncMin Int [minutes] (0) Minutes for time synchronization

SyncSec Int [seconds] (0) Seconds for time synchronization. If all 3 registers are set to zero synchronization is disabled.

SyncOffs Int [milliseconds] (0) Offset to be summed to the current time for taking care of the time-offset due to transmission duration

TestTime Int [sec] (0) Test cycle in seconds (0= no test)

TestType Int [ 0= TEST_NONE

1= TEST_LOOP 2= TEST_MASK 3= TEST_OUT ]

Type of test to be performed - no test - loopback test (for the devices where it is available) - writing and reading of a test pattern in fixed register (for Device Diagnostic tags only) - writing and reading of the first output tag for each device, in order of address

BQualUse REG_SZ [YES/NO] Enable bad quality management for signals. The value

Page 44: Scanner Reference Guide

SPlus Operations Scanner Reference Guide MODBUS DRIVER

44 2VAA000725E

specified in registry BqualVal is used to set the signal in bad (or good) quality.

BqualVal Int (0) Value used to set bad quality (see BqualUse)

DelayTxRx Int [msec](0) Delay between tx and rx of a modbus telegram

8.2 Online Configuration

The driver's register key can also contain some registers storing the strings that the online configurator shows when a tag is displayed or changed in the Acquisition and Output tables.

Table 8-3: Registers for Online Configuration

Name Type Value

Label_ad1 and/or Label_out_ad1 Char Slave number

Label_ad2 and/or Label_out_ad2 Char register address

Label_ad3 and/or Label_out_ad3 Char Bit position

Label_ad4 and/or Label_out_ad4 Char Scan class

Label_ad5 and/or Label_out_ad5 Char Signal type

Label_ad6 and/or Label_out_ad6 Char Data type

Label_ad7 and/or Label_out_ad7 Char Bit number

Label_out_ad8 Char Pulse command duration/Event

table for SEPAM80

Label_ad9 Char Reading queue

8.3 Files

The log files are created in the Logs folder if they are enabled by setting the Trace register to “YES” and are named Trc_<key name>.log. Furthermore the TraceLevel bits allow to select the details of the trace to be enabled. These three

registers are read cyclically by the driver.

8.4 Database

The database fields of the Modbus driver can take the following values:

Table 8-4: Database Fields for Modbus driver

Field Description

AD1 Device Number (Slave address).

AD2 Address of the Modbus register (starting from the AddrOffs register, if used). in case of a Special Event, code of the function to be used.

AD3 Bit Position [0-15] (for Packed Data only) in case of a Special Event, event code

AD4 Scan class

AD5 Modbus signal type

The function to be used to read or write data depends on the value of this

field:

1. READ_OUTPUT_STATUS

2. READ_INPUT_STATUS

3. READ_OUTPUT_REGISTERS

4. READ_INPUT_REGISTERS

5. FORCE_SINGLE_COIL

6. PRESET_SINGLE_REGISTER

7. LOOP_BACK_TEST

8. FORCE_MULTIPLE_COILS

9. PRESET_MULTIPLE_REGISTERS

AD6 Modbus data type. See Appendix A for further details

AD7 number of bits to be written/read on consecutive addresses, in order to manage the bitmask-type tags mapped on the packed data. For double digital points, for example, its value is 2, to write on / read from Modbus two consecutive points, processed as a double-point status on the S+ Operations side (see modbus data type 13 in the table at point _AD6), starting from the bit specified in _AD3.

Page 45: Scanner Reference Guide

SPlus Operations Scanner Reference Guide MODBUS DRIVER

2VAA000725E 45

AD8 Duration (in seconds) of the pulse command (for _AD5 = 3 only). If DeviceType is SEPAM80, this field is 0 for all the tags except for the “Event table exchange word”: if such field is non zero the tag is the exchange word for the table, whose number is specified by the field itself.

AD9 Length of the reception queue (number of elements). It‟ s used for type 4 events (SOE event). Default value is 4.

AD10 Registry data length, 0 (default) for a standard 2 bytes register, 1 for a 4 bytes register

The Values Modbus Signal are as listed below:

Table 8-5: Values for Modbus Signal Type Function

Val Type Read Funct Write Funct

0 INPUT/STATUS Analog/Digital 4/2 ---

1 HOLDING/COIL Analog/Digital 3/1 Analog/Digital 6,16/5,15

2 spare

3 PULSE COMMAND --- Digital 5

4 SOE EVENT Digital v. AD2 ---

5 DEVICE DIAGNOSTIC Analog/Digital 1-8

Table 8-6: Data Types for Modbus Registers

Type Const DESCRIPTION

0 DT_USHORT Unsigned short (1 register, HO LO, that stands for: High Order -Low Order)

1 DT_SSHORT Signed short (1 register, HO LO)

2 DT_ULONG_HL Unsigned long (2 register, HO LO)

3 DT_SLONG_HL Signed long (2 register, HO LO)

4 DT_IEFLOAT_HL IEEE float (2 register, HO LO)

5 DT_ULONG_AEG Unsigned long (2 registers, AEG Modicon)

6 DT_SLONG_AEG Signed long (2 registers, AEG Modicon)

7 DT_IEFLOAT_LH IEEE float (2 register, LO HO)

8 DT_IEFLOAT_SW IEEE float (2 register, word swap)

9 DT_ULONG_LH Unsigned long (2 register, LO HO)

10 DT_SLONG_LH Signed long (2 register ,LO HO)

11 DT_PACKED Packed Data (1 register each bit 1 digital point)

12 DT_BIT0 Read/Write only bit 0

13 DT_MASK Read/Write on consecutive Modbus addresses the n. of bits defined in _AD7

8.4.1 Data Uniqueness

The tags passed to the driver must not be duplicate. Uniqueness is ensured by the combination of the fields

_AD1, _AD2, _AD3 e _AD5

8.4.2 Device Diagnostics

The registers TestTime and TestType contribute to the status of the protocol diagnostic tag. For a more detailed communication test, instead of using the content of TestType, which is forced to TEST_NONE, some read-only tags

(fields FIELD_) can be configured to perform a diagnostic test on the slaves connected by the Modbus protocol. The following fields are defined:

Table 8-7: Device Diagnostic Fields for Modbus Signals

Field Description

AD1 Device Number (address of Slave) (direct command)

AD2 address to be tested

AD3 Type of test to be performed: TEST_LOOP loopback test (if function 8 is enabled) TEST_MASK writing a test pattern (see fields _AD7 e _AD8) TEST_OUT writing a test pattern and reading it back (see field _AD7)

AD4 Scan class

AD5 Modbus signal type 5 = DEVICE DIAGNOSTIC

AD6 Modbus data type

AD7 Value / pattern to be written

AD8 Value / pattern to be read

Page 46: Scanner Reference Guide

SPlus Operations Scanner Reference Guide MODBUS DRIVER

46 2VAA000725E

If different from zero (for example in case of MasterSlave management), the TestTime register indicates the maximum time interval for the test of the diagnostic tag to be performed.

For example, in order to poll every 10 seconds the status of the slaves 1, 2 and 3 for the MDB1 Modbus connection, three different diagnostic tags could be configured as follows:

DEV1 with TEST_OUT on slave 1 at address 100 to write and read the word 0x01;

DEV2 with TEST_LOOP on slave 2;

DEV3 with TEST_MASK on slave 3 at address 100 to write the value 0x55 and read 0xAA;

Table 8-8: Diagnostic Tags for Modbus Connection Status

TAG FIELD_ STATE

NAME TYPE SRC DRV AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD8 ZERO ONE

DEV1 DIGITAL EXT MDB1 1 100 3 7 5 0 0x01 -- NOK OK

DEV2 DIGITAL EXT MDB1 2 -- 1 7 5 -- -- -- NOK OK

DEV3 DIGITAL EXT MDB1 3 100 2 7 5 0 0x55 0xAA NOK OK

8.4.3 SEPAM80 Events and Time Synchronization Management

Standard communication is configured as for any other Modbus device, except for event acquisition and time synchronization.

SEPAM80 has two internal event queues, the status of each queue can be checked reading a Modbus register at a fixed address, the value of the register indicates that events are available to be downloaded from the device. In S+ Operations database a non-zero value in FIELD_AD8 defines the “event exchange word” and represents the number of event table to be downloaded.

For example FIELD_AD8 = 1 means that the tag is the exchange word for event table 1.

If the events have FIELD_AD8 = 0, and FIELD_AD6 = 11, that means there are packed data. The scan class of the events must be configured using a timeout = 0xFFFF (a snapshot class), so that the events are read just once at driver start up or after reconnection.

SEPAM80 time synchronization is performed executing a broadcast multiple registers write at a fixed address, using 8 word IEC 60870-5-4 format timestamps. The register SyncFunc must be set to 100 for SEPAM devices while the frequency is set as for standard devices using registers SyncHour, SyncMin, SyncSec.

Page 47: Scanner Reference Guide

SPlus Operations Scanner Reference Guide MODBUS TCP DRIVER

2VAA000725E 47

9. MODBUS TCP DRIVER

9.1 Registers

The driver-specific registers are as listed in the following table.

Table 9-1: Driver Specific Registers

Name Type Values Notes

ProgID Char MBTcpDriver

BusPort Int [TCP port number]

BusProgID Char n.u.

BusType Char TCP

BusAddress Char Slave IP address

TraceLevel Int 0xFFFF Bit mask for trace enabling: TRCMDB_HIGH 0x001 errors TRCMDB_LOW 0x002 diagnostics TRCMDB_INP 0x004 reading TRCMDB_OUT 0x008 writing TRCMDB_REG 0x010 register warning TRCMDB_CNV 0x020 conversion warning TRCMDB_CFG 0x040 configur. warning TRCMDB_CMD 0x080 command transm.

The following registers are only used by the Modbus TCP driver:

Table 9-2: Drivers for MODBUS TCP

Name Type Values Description

AddrOffs Char [+/- num] (“0”) Offset of the modbus driver (to be algebraically summed to the contents of field _AD2). N.B. the register is of string type to accept negative numbers.

FlowCtrl Int FC_NONE=0,

FC_DSR=0x01, FC_CTS=0x02, FC_DTRD=0x04, FC_DTRH=0x08, FC_RTSD=0x10, FC_RTSH=0x20, FC_RTST=0x40, FC_XONXOFF=0x80

Combination of the flow control bits: Data Set Ready (Disable / Enable) Clear To Send (Disable / Enable) Data Terminal Ready (Enable / Disable) Data Terminal Ready (Enable / Handshake) Req. To Send (Enable / Disable) Req. To Send (Enable / Handshake) Req. To Send (Enable / Toggle) Xon-Xoff (Disable / Enable)

MaxAnalogBlockGap Int [registers] (0) Maximum allowed gap size in a Modbus analog block

MaxDigitalBlockGap Int [coils](0) Maximum allowed gap size in a Modbus digital block

MaxAnalogPerBlock Int [registers](50) Maximum size of a Modbus analog block

MaxDigitalPerBlock Int [coils](50) Maximum size of a Modbus digital block

nRetry Int [num] (3) Number of attempts in case of send – receive failure

SyncFunc Int [function] (70) Function code for time synchronization

SyncHour Int [hours] (0) Hours for time synchronization

SyncMin Int [minutes] (0) Minutes for time synchronization

SyncSec Int [seconds] (0) Seconds for time synchronization. If all 3 registers are set to zero synchronization is disabled.

SyncOffs Int [milliseconds] (0) Offset to be summed to the current time for taking care of the time-offset due to transmission duration

TestTime Int [sec] (0) Test cycle in seconds (0= no test)

TestType Int [ 0= TEST_NONE

1= TEST_LOOP 2= TEST_MASK 3= TEST_OUT 4= TEST_PING]

Type of test to be performed: No test performed, look for device diagnostic tag in DB loopback test (for the devices where it is available) writing and reading of a test pattern in fixed register (for Device Diagnostic tag only) writing and reading of the first output tag for each device in order of address Ping BusAddress

BQualUse REG_ SZ

[YES/NO] Enable bad quality management for signals. The value specified in registry BqualVal is used to set the signal in bad (or good) quality

BqualVal Int (0) Value used to set bad quality (see BqualUse)

Page 48: Scanner Reference Guide

SPlus Operations Scanner Reference Guide MODBUS TCP DRIVER

48 2VAA000725E

9.2 Online Configuration

The driver's register key can also contain some registers storing the strings that the online configurator shows when a tag is displayed or changed in the Acquisition and Output tables.

Table 9-3: Registers for Online Configuration

Name Type Value

Label_ad1 and/or Label_out_ad1 Char Slave number

Label_ad2 and/or Label_out_ad2 Char register address

Label_ad3 and/or Label_out_ad3 Char Bit position

Label_ad4 and/or Label_out_ad4 Char Scan class

Label_ad5 and/or Label_out_ad5 Char Signal type

Label_ad6 and/or Label_out_ad6 Char Data type

Label_ad7 and/or Label_out_ad7 Char Bit number

Label_out_ad8 Char Pulse command duration

Label_ad9 Char Reading queue

9.3 Files

The log files are created in the Logs folder if they are enabled by setting the Trace register to “YES” and are named Trc_<key name>.log. Furthermore the TraceLevel bits allow to select the details of the trace to be enabled. These three

registers are read cyclically by the driver.

9.4 Database

The database fields of the Modbus driver can take the following values:

Table 9-4: Database fields of the Modbus driver

Field Description

AD1 Device Number (Slave address).

AD2 Address of the Modbus register (starting from the AddrOffs register, if used). in case of a Special Event, code of the function to be used

AD3 Bit Position [0-15] (for Packed Data only) in case of a Special Event, event code.

AD4 Scan class

AD5 Modbus signal type The function to be used to read or write the data is determined according to the value of this field: 1 READ_OUTPUT_STATUS 2 READ_INPUT_STATUS 3 READ_OUTPUT_REGISTERS 4 READ_INPUT_REGISTERS 5 FORCE_SINGLE_COIL 7 PRESET_SINGLE_REGISTER 8 LOOP_BACK_TEST 15 FORCE_MULTIPLE_COILS 16 PRESET_MULTIPLE_REGISTERS

AD6 Modbus data type. See also Appendix A

AD7 Number of bits to be written/read on consecutive addresses, in order to manage the bitmask-type tags mapped on the packed data. For double digital points, for example, its value is 2, to write on / read from Modbus two consecutive points, processed as a double-point status on the S+ Operations side (see Modbus data type 13 in the table at point _AD6), starting from the bit specified in _AD3.

AD8 Duration (in seconds) of the pulse command (for _AD5 = 3 only).

AD9 Length of the reception queue (number of elements). It‟ s used for type 4 events (SOE event). Default value is 4.

TX1 Flag mask (Y/N), indicating: 1. Single write function used.

Page 49: Scanner Reference Guide

SPlus Operations Scanner Reference Guide MODBUS TCP DRIVER

2VAA000725E 49

The values for Modbus TCP Signal are as listed in the following table:

Table 9-5:Values for Modbus TCP Signal Type Function

Val Type Read Funct. Write Funct.

0 INPUT/STATUS Analog/Digital 4/2 ---

1 HOLDING/COIL Analog/Digital 3/1 Analog/Digital 6,16/5,15

2 spare

3 PULSE 3

4 SOE EVENT Digital v. AD2 ---

5 DEVICE DIAGNOSTIC Analog/Digital 1-8

Table 9-6: Data Types for Modbus TCP Registers

Type Const DESCRIPTION

0 DT_USHORT Unsigned short (1 register, HO LO)

1 DT_SSHORT Signed short (1 register, HO LO)

2 DT_ULONG_HL Unsigned long (2 register, HO LO)

3 DT_SLONG_HL Signed long (2 register, HO LO)

4 DT_IEFLOAT_HL IEEE float (2 register, HO LO)

5 DT_ULONG_AEG Unsigned long (2 registers, AEG Modicon)

6 DT_SLONG_AEG Signed long (2 registers, AEG Modicon)

7 DT_IEFLOAT_LH IEEE float (2 register, LO HO)

8 DT_IEFLOAT_SW IEEE float (2 register, word swap)

9 DT_ULONG_LH Unsigned long (2 register, LO HO)

10 DT_SLONG_LH Signed long (2 register ,LO HO)

11 DT_PACKED Packed Data (1 register each bit 1 digital point)

12 DT_BIT0 Read/Write only bit 0

13 DT_MASK Read/Write on consecutive Modbus addresses the n. of bits defined in _AD7

9.4.1 Data Uniqueness

The tags passed to the driver must not be duplicate. Uniqueness is ensured by the combination of the fields _AD1, _AD2, _AD3 e _AD5.

9.4.2 Device Diagnostics

The registers TestTime and TestType contribute to the status of the protocol diagnostic tag. For a more detailed communication test, instead of using the content of TestType, which is forced to TEST_NONE, some read-only tags (fields FIELD_) can be configured to perform a diagnostic test on the slaves connected by the Modbus protocol. The following fields are defined:

Table 9-7: Device Diagnostic for Modbus TCP

Fields Description

AD1: Device Number (address of the Slave)

AD2 Address to be tested

AD3: Type of test to be performed: 4 TEST_LOOP loopback test (if function 8 is enabled) 5 TEST_MASK writing of a pattern (see fields _AD7 e _AD8) 6 TEST_OUT writing of a pattern and reading it back (see field _AD7)

AD4: scan class

AD5: Modbus signal type: 5 = DEVICE DIAGNOSTIC

AD6: Modbus data type

AD7: Value / pattern to be written

AD8: Value / pattern to be read

If different from zero (for example in case of MasterSlave management), the TestTime register indicates the maximum time interval for the test of the diagnostic tag to be performed.

For example, in order to poll every 10 seconds the status of the slaves 1, 2 and 3 for the MDB1 Modbus connection, three different diagnostic tags could be configured as follows:

DEV1 with TEST_OUT on slave 1 at address 100 to write and read the word 0x01;

DEV2 with TEST_LOOP on slave 2;

Page 50: Scanner Reference Guide

SPlus Operations Scanner Reference Guide MODBUS TCP DRIVER

50 2VAA000725E

DEV3 with TEST_MASK on slave 3 at address 100 to write the value 0x55 and read 0xAA;

Table 9-8: Diagnostic tags for MDB1 Modbus Connection

TAG FIELD_ STATE

NAME TYPE SRC DRV AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD8 ZERO ONE

DEV1 DIGITAL EXT MDB1 1 100 3 7 5 0 0x01 -- NOK OK

DEV2 DIGITAL EXT MDB1 2 -- 1 7 5 -- -- -- NOK OK

DEV3 DIGITAL EXT MDB1 3 100 2 7 5 0 0x55 0xAA NOK OK

Page 51: Scanner Reference Guide

SPlus Operations Scanner Reference Guide SPABUS DRIVER

2VAA000725E 51

10. SPABUS DRIVER

The communication protocol SPABUS is described in the document ABB no. 1MRS 750076-MTD (SPABUS

Communication Protocol V2.5).

10.1 Registers

The driver-specific registers are as listed in the following table.

Table 10-1: Device Specific Registers

Name Type Values Notes

ProgID Char Spabus

BusPort Int [serial port number]

BusProgID Char ComDriver.ComDrv

BusType Char COM

BusAddress Char [baud rate, parity, n.bit, stop bit] (“9600,e,8,1”)

TraceLevel Int [bit mask] 0x

Bit mask for trace details enabling: HIGH 0x001 errors FILE_MESS 0x002 disturbance recorder ERRTYPE 0x004 connection test PREST 0x008 performance LOW 0x010 messages REG 0x020 register conf. CFG 0x040 point conf. EVE 0x080 event reception CMD 0x100 commands

The following registers are only used by the Spabus drive

Table 10-2: Registers for SAPBUS Driver

Name Type Values Description

FlowCtrl Int FC_NONE=0,

FC_DSR=0x01, FC_CTS=0x02, FC_DTRD=0x04 FC_DTRH=0x08, FC_RTSD=0x10, FC_RTSH=0x20, FC_RTST=0x40, FC_XONXOFF=0x80

Combination of the flow control bits: Data Set Ready (Disable / Enable) Clear To Send (Disable / Enable) Data Terminal Ready (Enable / Disable) Data Terminal Ready (Enable / Handshake) Req. To Send (Enable / Disable) Req. To Send (Enable / Handshake) Req. To Send (Enable / Toggle) Xon-Xoff (Disable / Enable)

nRetry Int [num] (3) Number of attempts in case of send – receive failure

SyncHour Int [hours] (0) Hours for time synchronization

SyncMin Int [minutes] (0) Minutes for time synchronization

SyncSec Int [seconds] (0) Seconds for time synchronization. If all 3 registers are set to zero synchronization is disabled.

SyncOffs Int [milliseconds] (0) Offset to be summed to the current time to take care of the transmission delay

UseBlocks Char [YES/NO] If Yes the driver uses blocks of data for writing, otherwise it treats each data individually

MaxPointIn Block int 30 Maximum number of points per block allowed

SleepAfterSend int [millliseconds] 100 Wait time between a send and the subsequent receive on the serial channel

CompleteTimeout int [seconds] 300 Response waiting timeout on the serial channel

SilentMoltiplicator int 10 Multiplier of the “Byte time” for the calculation of the “silence time” during transmission

SleepOnDSRead_msec Int 100 Further wait between send and receive (in addition to “SleepAfterSend”) for data downloading from the disturbance recorder

UseDstAdjust Char [YES/NO] DST correction for received timestamps

UseEcho Char [YES/NO] Echo on the serial channel

Page 52: Scanner Reference Guide

SPlus Operations Scanner Reference Guide SPABUS DRIVER

52 2VAA000725E

UseEcho Char [YES/NO] Eco on the serial channel for the synchronization message

EventReadFrequency Int [seconds]5 Event register reading period

10.2 Online Configuration

The driver's register key can also contain some registers storing the strings that the online configurator shows when a tag is displayed or changed in the Acquisition and Output tables.

Table 10-3: Register for Online Configuration

Name Type Values

Label_ad1 Char Slave

Label_ad2 Char Channel

Label_ad3 Char Address

Label_ad4 Char Scan class

Label_text1 Char Type

Label_text2 Char Data category

Label_text3 Char Event list

Label_text4 Char Alternative channel for events (optional)

10.3 Files

The log files are created in the Logs folder if they are enabled by setting the Trace register to “YES” and are named TrcSB_<key name>.log. Furthermore the TraceLevel bits allow to select the details of the trace to be enabled. These

three registers are read cyclically by the driver.

A file named TrcSB_<key name>_Ev.log is created as well, containing the text description of all received events.

10.4 Database

The database fields of the Spabus driver can take the following values:

FIELD_AD1: Device number (Slave address: 1 - 999)

FIELD _AD2: Channel number (0 – 999)

FIELD_AD3: Data address (1 – 999999)

FIELD_AD4: scan class (1-10) or 0 for event acquisition

FIELD_TX1: Type :

R = Read

W = Write

DIAG = device diagnostics

FIELD_TX2: Data category (1 ASCII character) or, if set to F, request to download data from disturbance

recorder

FIELD_TX3: List of events associated with the point, separated by “;”

FIELD_TX4: Number of the alternative channel for the events

There are various types of points, listed below along with their configuration: (unlisted fields are ignored)

1. DEVICE DIAGNOSTICS:

o FIELD_AD1: Device number (Slave address: 1 - 999)

o FIELD_AD4: Scan class

o FIELD_TX1: “DIAG”

2. REGISTER READING OR WRITING:

o FIELD_AD1: Device number (Slave address: 1 - 999)

o FIELD_AD2: Channel number (0 – 999)

o FIELD_AD3: Data address (1 – 999999)

o FIELD_AD4: Scan class.

o FIELD_TX1: Type (R = Read or W = Write)

o FIELD_TX2: Data category (1 ASCII character)

Page 53: Scanner Reference Guide

SPlus Operations Scanner Reference Guide SPABUS DRIVER

2VAA000725E 53

3. EVENT ACQUISITION:

o FIELD_AD1: Device number (Slave address: 1 - 999)

o FIELD_AD2: Channel number (0 – 999)

o FIELD_AD3: Data address (1 – 999999)

o FIELD_AD4: 0

o FIELD_TX1: empty

o FIELD _TX3: List of events associated with the point, separated by “;”

Example 1:

open switch event 120E1, closed switch event 120E3

==> AD2 = 120, TX3 = “1;3;” ==> open switch (status = 0) and closed switch (status = 1)

Example 2:

open switch event 120E1, close switch event 120E3, inconsistent status 120E6

==> AD2 = 120, TX3 = “1;6;3;” ==> open switch (status = 0), inconsistent (status= 2) and closed switch (status = 3)

4. EVENT ACQUISITION WITH INITIAL VALUE READ FROM REGISTERS:

o FIELD_AD1: Device number (slave address: 1 - 999)

o FIELD_AD2: Channel number (0 – 999)

o FIELD_AD3: Data address (1 – 999999)

o FIELD_AD4: 0

o FIELD_TX1: R

o FIELD_TX2: Data category (1 ASCII character)

o FIELD_TX3: List of events associated with the point, separated by “;”

o FIELD _TX4: Number of the alternative channel for events (if omitted the register channel and the

corresponding event channel are assumed to be the same, if present it represents the channel used for events while registers are read from the channel indicated in AD2)

5. ACQUISITION FROM DISTURBANCE RECORDER (OSCILLOPERTURBOGRAPHY):

FIELD_AD1: Device number (slave address: 1 - 999)

FIELD_AD4: Scan class.

FIELD_TX1: W

FIELD_TX2: F

10.4.1 Data Uniqueness

The tags passed to the driver must not be duplicate. Uniqueness is ensured by the combination of the fields

_AD1, _AD2, _AD3, _TX1 and TX2

Page 54: Scanner Reference Guide

SPlus Operations Scanner Reference Guide TELEPERM XP DRIVER

54 2VAA000725E

11. TELEPERM XP DRIVER

11.1 Registers

Table 11-1: Driver Specific Registers

Name Type Values Notes

ProgID Char DriverTXP

BusPort Int [TCP port number:18000]

BusProgID Char TcpDrv.TcpApi

BusType Char TCP

BusAddress Char [computer TXP name (XU)]

TraceLevel Int 0xFFFF Bitmask for trace enabling: TRCMDB_HIGH 0x001 errors TRCMDB_LOW 0x002 diagnostics TRCMDB_INP 0x004 reading TRCMDB_OUT 0x008 writing TRCMDB_REG 0x010 register warning TRCMDB_CNV 0x020 conversion warning TRCMDB_CFG 0x040 configur. warning TRCMDB_CMD 0x080 command transm.

The following registers are only used by the Teleperm XP driver:

Table 11-2:Registers for Teleperm XP Driver

Name Type Values Description

AckFlag Int 0 Enabling of ACK messages from XU not linked to errors (0=no ; 1=yes).

ActCycle Int [sec] (0) Timeout between two messages from XU if GetActFlag = 1 (message send on variation). Update cycle time if GetActFlag = 2. If = 0 infinite time (not used).

BlockingCount Int [num] (1000) Maximum number of signals per message.

ClientId Int [num] (2) Client identification code set to XU

CompleteTimeout Int [msec] (3000) Max time for the reception of all the signals

DiagLinkAltName Char [Secondary line diagnostic tag]

DiagLinkName Char [Primary line diagnostic tag]

EndTime Int [seconds] (0) End time for historical data retrieval. (not used)

GetActFlag Int [num] (0) Type of signal transmission by XU: 0 = on request 1 = on variation 2 = at time interval defined in ActCycle

GetImageFlag Int 1 Signal image requested (0=no; 1=yes)

SigListId Int [num](2) Selection of signals requested to XU: 2 = signals contained in a list (in S+ Ops. DB) 3 = all signals available on XU server (Not recommended)

StartTime Int [sec] (0) Start time for historical data retrieval.(not used)

TestTime Int [sec](3) Cycle time for XU status request

TimeDifference Int [sec](662688000) Difference between XU and S+ Ops. time base

TxpStatusAltName Char [XU status tag on secondary line]

TxpStatusName Char [XU status tag on primary line]

11.2 Online Configuration

The driver's register key can also contain some registers storing the strings that the online configurator shows when a tag is displayed or changed in the Acquisition and Output tables.

Table 11-3: Register for Online Configuration

Name Type Values

Label_text1 Char “Signal identification on XU”(KKS methodology)

Page 55: Scanner Reference Guide

SPlus Operations Scanner Reference Guide TELEPERM XP DRIVER

2VAA000725E 55

11.3 Files

The log files are created in the Logs folder if they are enabled by setting the Trace register to “YES” and are named Trc_<key name>.log. The TraceLevel bits, besides, allow to select the details of the trace to be enabled. These three

registers are read cyclically by the driver.

11.4 Database

The database field of the Teleperm XP driver can take the following values:

FIELD_AD4: Scan class.

FIELD_TX1: Signal identification on XU (KKS methodology).

11.4.1 Data Uniqueness

The tags passed to the driver must not be duplicate. The uniqueness is ensured by the field FIELD_TX1

11.4.2 Device Diagnostics

The TestTime registers take part in computing the status tag of the connected XU server that can take the following

values:

0, -1 = Status of the connected XU is unavailable

1 = XU starting up

2 = XU stand-by

3 = XU leading

4 = XU shutting down

Page 56: Scanner Reference Guide

SPlus Operations Scanner Reference Guide GE MARK V / MARK VI DRIVER

56 2VAA000725E

12. GE MARK V / MARK VI DRIVER

12.1 Typical Registers for the Mark Driver

The following registers are used by all drivers; the table here shows the values to be assigned for the Mark driver:

Table 12-1: Values for Mark Drivers

Name Type Values Description

Active Char [YES/NO] Driver activation

ProgId Char MarkDrv Driver ID

BusPort Int 768 Logical (Tcp/Ip) or physical (com) port address

BusProgID Char TcpDrv.TcpApi ID of the Tcp/Ip communication dll

BusType Char TCP Ethernet, serial or ascii file bus type

TraceLevel Int [0x....] Bitmask for trace details enabling: HIGH 0x0001 errors only LOW 0x0002 all traces TAGTRACE 0x0004 traces of points HEARTBEAT 0x0008 life messages MESS 0x0010 tcp messages ANALOG 0x0020 periodic acquisition ISCONN 0x0040 connect. diagnostics CFG 0x0080 configuration CMD 0x0100 commands

MasterSlave Char NO Disabling of the standard master-slave environment

UseMarkTagsOld Char NO Disabling of standard quality processing

SyncronousIO Char YES I/O synchronization

InitOutputValues Char YES Value initialization

PatchBits Int 0x0008 Patch activation

The following registers are only used by the Mark driver (if not specified, all times are expressed in seconds):

Table 12-2: Registers for Mark Driver

Name Type Typical values Description

HeartBeatPeriod Int 20 Transmission frequency of the life signal required to keep the communication open (if the GE gateway doesn't receive the life message for 60 seconds, the connection is closed)

ScanClassForOutput Int 1 Scan class for output points

ScanClassForAck Int 2 Scan class for acknowledge transmission

PollingFreq Int 5 Reading frequency of periodical data

TimeoutOnCommad Int 90 Command result wait timeout

MaxNumOfList Int 300 Maximum number of point lists that can be configured for periodic acquisition Max. values: 32 for Mark V, 64 for Mark VI

MaxPointPerList Int 100 Maximum size of point lists for periodic acquisition Max. values: 96 for Mark V, 300 for Mark VI

BusAddress1 Char CRM1_SVR Name of the primary GE gateway

BusAddress2 Char GT1_SVR Name of the secondary GE gateway (in case of multimaster acquisition on S+

Ops. side, the primary

gateway of a server must be the secondary of the other and vice versa)

UnitName1 Char G1 GE database for the acquisition of alarms and periodical points

UnitName2 Char E1 GE database for the acquisition of alarms alone

UseTimestamp Int YES Use of the time mark from GE (if it is set to NO, the time information from GE is ignored)

ReconnectFreq Int 60 Frequency for connection attempts (sec)

StatusTag Char MARK_STAT_1 Local diagnostic tag. Values: 0 – NOT CONNECTED 1 – CONN. TO THE PRIMARY SERVER 2 – CONN. TO THE SECONDARY GATEWAY 3 – CONN. IN PROGRESS

RemStatusTag Char MARK_STAT_2 Remote diagnostic tag (in case of multimaster acquisition on S+ Ops. side, the remote diagnostic

Page 57: Scanner Reference Guide

SPlus Operations Scanner Reference Guide GE MARK V / MARK VI DRIVER

2VAA000725E 57

tag on a server is the local diagnostic tag on the other server and vice versa)

ManageSoe Char [YES/NO] Enabling of SOE point reading (for Mark VI only)

ManageEvent Char [YES/NO] Enabling of event reading (for Mark VI only)

DisableCommand Char [YES/NO] Disabling of command transmission to field (test)

DataFiltering Char [YES/NO] Filter for data transmission to S+Ops. ( if it is set to YES only variations from the field are sent)

PeriodicTimeout Int 10 Maximum time allowed between the reception of two messages containing periodical data; if it elapses,the GE gateway is disconnected

TimeDrift Int 0 Difference between the GE and S+Ops. system times

12.2 Online Configuration

The driver's register key can also contain some registers storing the strings that the online configurator shows when a tag is displayed or changed in the Acquisition and Output tables.

For the Mark drivers these registers are:

Table 12-3: Register for Online Configuration

Name Type Values

Label_ad1 Char Point type

Label_ad2 Char Reading/Writing

Label_text1 Char GE ID

Label_text2 Char Gain (analog) or Source (alarms)

Label_text3 Char Offset (analog)

Label_text4 Char Feedback (commands)

12.3 Configuration of Point Acquisition from Mark

FIELD_DRV: Name of the acquisition driver instance selected for point management

FIELD_AD1: Point type:

Table 12-4: List of Point Types

Point type AD1 Reading (FIELD_AD2 = 1)

Writing (FIELD_AD2 =2

Valid for MARK VI

Valid for MARK V

REAL 1 YES YES YES NO

WORD 2 YES YES YES NO

DWORD 3 YES YES YES NO

BOOL 4 YES YES YES YES

ALARM 5 YES NO YES YES

PUSHBUTTON 6 NO YES YES YES

SOE 7 YES NO YES NO

EVENT 8 YES NO YES NO

SIGN16 9 YES YES NO YES

USIGN16 10 YES YES NO YES

BOOLVAL 11 YES YES NO YES

FIELD_AD2: Reading (1) or writing (2) point;

FIELD_TX1: Point name in the GE system.

FIELD_TX2: Gain for analog points or Source of the point in the GE Alarm System.

FIELD_TX3: Offset for analog points.

FIELD_TX4: Feedback tag (NOTE: for a GE command of any type except PUSHBOTTON you must configure two

tags on the S+ Operations side, one for reading and one for writing, both with the same FIELD_TX1. In FIELD_TX4 of the writing tag you need to specify the name of the reading tag)

Page 58: Scanner Reference Guide

SPlus Operations Scanner Reference Guide TEXT DRIVER

58 2VAA000725E

13. TEXT DRIVER

13.1 Installation

Text driver is automatically installed by S+ Operations server setup, the corresponding dll file (txtdrv.dll) is stored in C:\Program Files\ABB Symphony Plus\Operations\bin folder and is automatically registered by S+ SysSetup utility.

13.2 Typical Registers for the Text Driver

The following registers are typically used by all drivers; the table shows the values to be assigned for the Text driver:

Table 13-1: Values for Text Drivers

Name Type Values Description

Active Char [YES/NO] Driver activation

ProgId Char TextDrv.TxtDrv Driver ID

TraceLevel Int [0x....] Bitmask for trace details enabling: HIGH 0x0001 errors only LOW 0x0002 all traces

MasterSlave Char NO Disabling of the standard master-slave environmentt

SyncronousIO Char YES I/O synchronization

InitOutputValues Char YES Value initialization

TimoutClass<n> DWORD Refresh period in [ms] of the scan class <n>

The following registers are only used by the Text driver:

Table 13-2: Registers for Text Driver

Name Type Typical values Description

FilePath Char Complete path of the text/xml file used for values reading

OutputFilePath Char Complete path of the text/xml file used for values writing

FileType Char CHAR_SEPARATOR

FIXED_LENGTH A char separated file is used A fixed fields length file is used

FieldSep Char ; Char separator used for CHAR_SEPARATOR file acquisition type

TagNameLen Int Length of the tag name field used for FIXED_LENGTH acquisition type

TagValueLen Int Length of the tag value field used for FIXED_LENGTH acquisition type

QualityLen Int Length of the tag quality field used for FIXED_LENGTH acquisition type

TimeLen Int Length of the tag timestamp field used for FIXED_LENGTH acquisition type

TagNameOrd Int 0 Position of the tag name field in the input file (1 based)

TagValueOrd Int 0 Position of the tag value field in the input file (1 based)

QualityOrd Int 0 Position of the tag quality field in the input file (1 based)

TimeOrd Int 0 Position of the tag timestamp field in the input file (1 based)

OutputAppend Char [YES/NO] Append output to the file (if it exists)

DateFormat Char DD/MM/YYYY hh:mm:ss

Date format string used to parse timestamps

DeleteInputFile Char [YES/NO] Delete input file after value reading

Page 59: Scanner Reference Guide

SPlus Operations Scanner Reference Guide TEXT DRIVER

2VAA000725E 59

13.3 Online Configuration

The driver's register key can also contain some registers that store the strings the online configurator shows when a tag is displayed or changed in the Acquisition and Output tables.

For the Text driver these registers are:

Table 13-3: Registers for Online Configuration

Name Type Values

Label_ad4 Char Scan class

13.4 Database

The database fields of the Text driver can take the following values:

FIELD_AD4: Scan class.

Page 60: Scanner Reference Guide

SPlus Operations Scanner Reference Guide SIMPLE NETWORK MANAGEMENT PROTOCOL (SNMP) DRIVER

60 2VAA000725E

14. SIMPLE NETWORK MANAGEMENT PROTOCOL (SNMP) DRIVER

14.1 Introduction

The SNMP traps enable an agent (usually a network device) to notify the management station (the SNMPTDRV in this case) of significant events by way of an unsolicited SNMP message.

Figure 14-1: SNMP Trap Driver

This section concerns the configuration of the S+ SNMP Trap Driver capable of capture SNMP Trap messages from network devices and put them in the S+ System Events

14.1.1 Definitions and Acronyms

Table 14-1: List of Acronyms and Description for SNMP Driver

Acronym Description

UDP User Datagram Protocol

HW Hardware

SW Software

S+ ABB Symphony Plus

SnmpTD S+ SNMP Trap Driver

MS Microsoft

OS Operating System

SNMP Simple Network Management Protocol

OID Object Identifier

MIB Management Information Base

COM Component Object Model

IETF Internet Engineering Task Force

14.2 Generality

The Simple Network Management Protocol (SNMP) belongs to the suite of Internet protocols defined by IETF (Internet

Engineering Task Force). The protocol operates at the application layer of the OSI model. It allows the management and supervision of equipment connected to a network, relatively to all aspects that require administrative actions.

In a common SNMP, one or more computers are responsible for monitoring or managing a group of hosts or other devices on the same network. Each managed device is running a software component, called AGENT, which exposes some information on the state of the monitored systems to the SNMP MANAGER.

An SNMP agent exposes the data for the management systems as variables (such as the name of the computer, free memory, the number of processes running, the status of a network interface, etc.). The protocol offers the possibility to perform an active control, giving the possibility of new configurations of managed systems.

The protocol provides certain methods (such as Get, GetNext or Get Bulk). The manager can use these methods to obtain information or obtain the information without any previous request using the TRAP or INFORM operation the the agent sends. The manager can use SET operations with actively managing the configuration of equipments to change the configuration of some parameters

The SNMP agent sends the SNMP notifications in the form of asynchronous messages to report the events that occurred in the managed system (for example, alarms in case of failures). The SNMP notifications without acknowledgment are

Page 61: Scanner Reference Guide

SPlus Operations Scanner Reference Guide SIMPLE NETWORK MANAGEMENT PROTOCOL (SNMP) DRIVER

2VAA000725E 61

commonly called TRAP, although the exact terminology varies depending on the version of SNMP. The SNMP notifications with acknowledgment are called INFORM.

Then the three basic components of the SNMP framework are:

managed system (managed objects)

management agent (agent)

management system (manager)

Figure 14-2:SNMP Framework

Any managed system (for example, a simple node, a router, a printer or other device that provides a management interface SNMP) hosts a management agent that can be controlled by management system.

Variables available via SNMP are organized into hierarchies. These hierarchies, and other metadata (such as type, size and description of the variable), are described in a database called MIB.

Each MIB, managed by a corresponding agent, represents the state of the managed system, or, rather, a projection of that, limited to the aspects that we want to allow management.

Access to the MIB (with read and write privileges) is the interface, provided to the manager, to manage the system. Each MIB, although varying in specific content, has the same general structure and the same general mechanisms for access by the manager (reading and writing data).

14.2.1 SNMPv1

This is the first version of the protocol, specified in the following RFC:

RFC 1155 - Structure and Identification of Management Information for TCP / IP-based internets

RFC 1213 - Management Information Base Version 2 (MIB-2) for network management of TCP / IP-based internets

RFC 1157 - A Simple Network Management Protocol

Types of data provided may be split in two categories:

Simple data types

o Integer: integers between -2 31 and 2 31 -1.

Strings of octets: are ordered sequences between 0 and 65.535 octets.

o Object ID (OID): derived from the collection of OID allocated in accordance with the rules described in ASN.1 .

Application-level data types

o IP addresses

o 32-bit counters

Page 62: Scanner Reference Guide

SPlus Operations Scanner Reference Guide SIMPLE NETWORK MANAGEMENT PROTOCOL (SNMP) DRIVER

62 2VAA000725E

o Intervals

o Time Ticks in milliseconds

o Signed or unsigned Integers

SNMPv1 also defines structured tables that are used to group instances of objects with table type, an object that contains

multiple variables. The tables consist of zero or more rows and they are indexed to allow SNMP to read or modify a value or an entire row.

14.2.2 SNMPv2

The Version 2 of the SNMP protocol as described in RFC 1441, RFC 1452, represents mprovement of the version 1 in security, performance, confidentiality and communication between SNMP managers.

The protocol version became a “de-facto” standard version: SNMPv2c.

This version, as defined in RFC 1441, RFC 1452, is a version that uses for safety the community concept. Under this protocol the systems part of a SNMP network are grouped into a community. The community is identified by a string of 32

bytes and each system can belong to one of them. The SNMP agent accepts only a requests from a SNMP manager of the same community. The authorization of the members of a community that works on an object can be of three types:

Read: the manager can query the agent only to know the status of the system (GET only)

Write: where the manager can also change technical approach (GET and SET)

Trap: the agent can send trap to the manager

This version of the protocol is the most commonly implemented on the devices currently in the market.

14.2.3 SNMPv3

The Version 3 of this protocol represents the current standard, specified in RFC 3411, RFC 3418.

Message integrity.

Authentication.

Encryption of messages.

14.2.4 Net-SNMP Library

Net-SNMP is an Open Source Project, released under BSD license, that provides a library for developing new SNMP applications, with both C and perl APIs. It support SNMP v1, v2c and v3 and offer many sample code and tutorials..

14.3 Windows Registry Configuration

Using the records of MS Windows, from the root key:

“HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ABB Symphony Plus\Operations\Scanner\<driver_instance\>”

You can specify the following parameters:

Nome Tipo Valori Descrizione

ProgID String “DriverSNMP” This value specifies the required class to be loaded dynamically.

Active String [ YES | NO ] Allows you to enable / disable the driver instance.

DiagnosticTag String <TAGNAME> It allows you to specify the value of the TAG that MUST diagnostic the instance of the driver. You MUST specify this value.

BusAddress Stringa xxx.xxx.xxx.xxx IP address of monitored device.

BusPort DWORD 161 SNMP listen port on the monitored device.

DriverStartupDelay DWORD 0 Time, in milliseconds, of the startup delay of the driver.

ReadCommunity String “Public” Read Community.

SnmpVersion DWORD [1 | 2 | 3] Protocol version: 1 = SNMPv1 2 = SNMPv2c 3 = SNMPv3 – not supported

SnmpTimeout DWORD 1000 Value, in milliseconds, that represent the waiting timeout for the response to a

Page 63: Scanner Reference Guide

SPlus Operations Scanner Reference Guide SIMPLE NETWORK MANAGEMENT PROTOCOL (SNMP) DRIVER

2VAA000725E 63

request.

CheckOidAtStartup String [ YES | NO ] Specifies if check or not via SNMP the validity of any OID by a single query. The quality of tags that correspond to invalid OID will be forced to the value specified in BadTagValue field.

OidsFileName String <filename> Indicates the name of the xml file that contains the possible mapping OID<->TAGNAME to use. The root of the file is: “$PGPRoot\config\tag\”.

TimeoutClassx DWORD nnnn Indicates the frequency (in milliseconds) of SNMP query for the “X-th” class of scanning

BadTagValue DWORD [GOOD | BAD | CF | OLD | OC]

Indicates the quality value to be assigned to the TAG considered invalid.

14.3.1 S+ Database configuration

Some parameters are configurable using S+ database file. In particular you can specify the following parameters:

Field_DRV: Specifies the instance of the driver to use for the SNMP query.

Field_AD2: With this field you can specify if the OID to query is in the field

_TXn (with n = 1.2) of the S+ database, or in to XML files specified in the Windows registry. In particular:

0: OID is read from a database of SPlus.

1: OID is read from xml file

Field_AD4: Using this field you can specify the scanning class of the TAG (1 .. 10). The period (in milliseconds)

between two queries must be specified in the fields of configuration in the Windows registry.

Field_TXn: in alternative to XML configuration file you can specify the OID to query by the fields: Field_TXn (with

n = 1,2).

For each field you can specify 80 characters of the OID and the two fields are concatenated to obtain the resulting OID (max 160 characters).

14.3.2 File XML

For the configuration of OID to query you can use a specially formatted XML file which is parsed during the MAP phase of the tags. You can create a single file common to a subset or to all instances of SNMP driver. You can also create a file for each instance according to what specified to the configuration of Windows registry.

Page 64: Scanner Reference Guide

SPlus Operations Scanner Reference Guide SIMPLE NETWORK MANAGEMENT PROTOCOL (SNMP) DRIVER

64 2VAA000725E

As shown in the above figure you can configure one or more instances of driver setting in the "Name" attribute the name of the instance to which it refers. The child node of an istance is the node "Tags". In this, child, node all matches TagName <-> OID must be specified.

It is also possible to specify some "TagGroup". Groups of TAGs that have in common the same index in a structure of MIB organized in a table. This kind of configuration is useful when a priori is not possible to determine which index will have some OID to query and these are contained within a table. To derive the index, then you can query a certain property having as its basic OID the value of the "baseOid” attribute. The search of the index is done looking through the results obtained from "baseOid" with the SNMP command “GET_NEXT” one that contains the string or the value specified in the "matchValue” attribute.

If the index is found then will be assigned to all oid contained within the group and then used to enhance the corresponding tags. If not found then the quality of all TAG group will be set to the value specified in the "BadTagValue" registry.

14.4 System Configuration

This section give examples of system configuration.

14.4.1 Registers

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ABB Symphony Plus\Operations\Scanner\DRVSNMP_1] "ProgID"="DriverSNMP" "Active"="YES" "DiagnosticTag"="DRVSNMP_1_DIAG" "TimeoutClass1"=dword:000003e8 "TimeoutClass2"=dword:00002710 "TimeoutClass3"=dword:00002710 "TimeoutClass4"=dword:00002710 "TimeoutClass5"=dword:00002710 "TimeoutClass6"=dword:00002710 "TimeoutClass7"=dword:00002710 "TimeoutClass8"=dword:00002710 "TimeoutClass9"=dword:00002710 "TimeoutClass10"=dword:00002710 "BusAddress"="127.0.0.1" "BusPort"=dword:000000a1 "DriverStartupDelay"=dword:00000000 "Label_ad1"="n.u." "Label_ad2"="OID from file" "Label_ad3"="n.u." "Label_ad4"="Scan class" "Label_ad5"="n.u." "Label_ad6"="n.u." "Label_ad7"="n.u." "Label_ad8"="n.u." "Label_ad9"="n.u." "Label_ad10"="n.u." "Label_text1"="OID1" "Label_text2"="OID2" "Label_text3"="OID3" "Label_text4"="OID4" "Label_text5"="OID5" "ReadCommunity"="public" "SnmpTimeout"=dword:000003e8 "OidsFileName"="oids.xml" "CheckOidAtStartup"="YES" "BadTagValue"="3" "Reload"="N" "ServersInfo"=hex:53,00,52,00,56,00,2d,00,50,00,47,00,50,00,31,00,30,00,37,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,0f,00,00,00,00,00,00,00,00,00,00,00

14.4.2 File XML

<?xml version="1.0" encoding="utf-8"?> <instances xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <instance name="DRVSNMP_1"> <tags> <!-- General informations --> <tag name="SNMP_D01_DESCR" oid=".1.3.6.1.2.1.1.1.0" /> <tag name="SNMP_D01_UPT" oid=".1.3.6.1.2.1.1.3.0" />

Page 65: Scanner Reference Guide

SPlus Operations Scanner Reference Guide SIMPLE NETWORK MANAGEMENT PROTOCOL (SNMP) DRIVER

2VAA000725E 65

<tag name="SNMP_D01_NAME" oid=".1.3.6.1.2.1.1.5.0" /> <tag name="SNMP_D01_INTN" oid=".1.3.6.1.2.1.2.1.0" /> <!-- Network interface 1 --> <tag name="SNMP_D01_P01_DESCR" oid=".1.3.6.1.2.1.2.2.1.2.1" /> <tag name="SNMP_D01_P01_MAC" oid=".1.3.6.1.2.1.2.2.1.6.1" /> <tag name="SNMP_D01_P01_AST" oid=".1.3.6.1.2.1.2.2.1.7.1" /> <tag name="SNMP_D01_P01_OST" oid=".1.3.6.1.2.1.2.2.1.8.1" /> <tag name="SNMP_D01_P01_IN" oid=".1.3.6.1.2.1.2.2.1.10.1" /> <tag name="SNMP_D01_P01_OUT" oid=".1.3.6.1.2.1.2.2.1.16.1" /> <!-- Network interface 2 --> <tagGroup baseOid=".1.3.6.1.2.1.2.2.1.2" matchValue="Ethernet"> <tag name="SNMP_D01_P02_DESCR" oid=".1.3.6.1.2.1.2.2.1.2" /> <tag name="SNMP_D01_P02_MAC" oid="1.3.6.1.2.1.2.2.1.6" /> <tag name="SNMP_D01_P02_AST" oid=".1.3.6.1.2.1.2.2.1.7" /> <tag name="SNMP_D01_P02_OST" oid=".1.3.6.1.2.1.2.2.1.8" /> <tag name="SNMP_D01_P02_IN" oid=".1.3.6.1.2.1.2.2.1.10" /> <tag name="SNMP_D01_P02_OUT" oid=".1.3.6.1.2.1.2.2.1.16" /> </tagGroup> <!-- Storage unit --> <tagGroup baseOid=".1.3.6.1.2.1.25.2.3.1.3" matchValue="C:"> <tag name="SNMP_D01_ST01_DESCR" oid=".1.3.6.1.2.1.25.2.3.1.3" /><!-- Descrizione --> <tag name="SNMP_D01_ST01_AU" oid=".1.3.6.1.2.1.25.2.3.1.4" /> <!-- Allocation units --> <tag name="SNMP_D01_ST01_SS" oid=".1.3.6.1.2.1.25.2.3.1.5" /> <!-- Storage size --> <tag name="SNMP_D01_ST01_SU" oid=".1.3.6.1.2.1.25.2.3.1.6" /> <!-- Storage Used --> </tagGroup> <!-- Storage unit --> <tagGroup baseOid=".1.3.6.1.2.1.25.2.3.1.3" matchValue="Physical Memory"> <tag name="SNMP_D01_ST02_DESCR" oid=".1.3.6.1.2.1.25.2.3.1.3" /><!-- Descrizione --> <tag name="SNMP_D01_ST02_AU" oid=".1.3.6.1.2.1.25.2.3.1.4" /> <!-- Allocation units --> <tag name="SNMP_D01_ST02_SS" oid=".1.3.6.1.2.1.25.2.3.1.5" /> <!-- Storage size --> <tag name="SNMP_D01_ST02_SU" oid=".1.3.6.1.2.1.25.2.3.1.6" /> <!-- Storage Used --> </tagGroup> </tags> </instance> <instance name="DRVSNMP_2"> <tags> <!-- General informations --> <tag name="SNMP_D02_DESCR" oid=".1.3.6.1.2.1.1.1.0" /> <tag name="SNMP_D02_UPT" oid=".1.3.6.1.2.1.1.3.0" /> <tag name="SNMP_D02_NAME" oid=".1.3.6.1.2.1.1.5.0" /> <tag name="SNMP_D02_INTN" oid=".1.3.6.1.2.1.2.1.0" /> <!-- Network interface 1 --> <tagGroup baseOid=".1.3.6.1.2.1.2.2.1.2" matchValue="82567LM"> <tag name="SNMP_D02_P01_DESCR" oid=".1.3.6.1.2.1.2.2.1.2" /> <tag name="SNMP_D02_P01_MAC" oid=".1.3.6.1.2.1.2.2.1.6" /> <tag name="SNMP_D02_P01_AST" oid=".1.3.6.1.2.1.2.2.1.7" /> <tag name="SNMP_D02_P01_OST" oid=".1.3.6.1.2.1.2.2.1.8" /> <tag name="SNMP_D02_P01_IN" oid=".1.3.6.1.2.1.2.2.1.10" /> <tag name="SNMP_D02_P01_OUT" oid=".1.3.6.1.2.1.2.2.1.16" /> </tagGroup> <!-- Network interface 2 --> <tagGroup baseOid=".1.3.6.1.2.1.2.2.1.2" matchValue="VMnet1"> <tag name="SNMP_D02_P02_DESCR" oid=".1.3.6.1.2.1.2.2.1.2" /> <tag name="SNMP_D02_P02_MAC" oid="1.3.6.1.2.1.2.2.1.6" /> <tag name="SNMP_D02_P02_AST" oid=".1.3.6.1.2.1.2.2.1.7" /> <tag name="SNMP_D02_P02_OST" oid=".1.3.6.1.2.1.2.2.1.8" /> <tag name="SNMP_D02_P02_IN" oid=".1.3.6.1.2.1.2.2.1.10" /> <tag name="SNMP_D02_P02_OUT" oid=".1.3.6.1.2.1.2.2.1.16" /> </tagGroup> <!-- Storage unit --> <tagGroup baseOid=".1.3.6.1.2.1.25.2.3.1.3" matchValue="C:"> <tag name="SNMP_D02_ST01_DESCR" oid=".1.3.6.1.2.1.25.2.3.1.3" /> <!-- Descrizione -->

Page 66: Scanner Reference Guide

SPlus Operations Scanner Reference Guide SIMPLE NETWORK MANAGEMENT PROTOCOL (SNMP) DRIVER

66 2VAA000725E

<tag name="SNMP_D02_ST01_AU" oid=".1.3.6.1.2.1.25.2.3.1.4" /> <!-- Allocation units --> <tag name="SNMP_D02_ST01_SS" oid=".1.3.6.1.2.1.25.2.3.1.5" /> <!-- Storage size --> <tag name="SNMP_D02_ST01_SU" oid=".1.3.6.1.2.1.25.2.3.1.6" /> <!-- Storage Used --> </tagGroup> <!-- Storage unit --> <tagGroup baseOid=".1.3.6.1.2.1.25.2.3.1.3" matchValue="Physical Memory"> <tag name="SNMP_D02_ST02_DESCR" oid=".1.3.6.1.2.1.25.2.3.1.3" /> <!-- Descrizione --> <tag name="SNMP_D02_ST02_AU" oid=".1.3.6.1.2.1.25.2.3.1.4" /> <!-- Allocation units --> <tag name="SNMP_D02_ST02_SS" oid=".1.3.6.1.2.1.25.2.3.1.5" /> <!-- Storage size --> <tag name="SNMP_D02_ST02_SU" oid=".1.3.6.1.2.1.25.2.3.1.6" /> <!-- Storage Used --> </tagGroup> </tags> </instance> </instances>

Page 67: Scanner Reference Guide

SPlus Operations Scanner Reference Guide SYSLOG DRIVER

2VAA000725E 67

15. SYSLOG DRIVER

15.1 Introduction

SysLog notifications are an asynchronous mechanism that the network devices use to provide diagnostic information.

15.1.1 Definitions and Acronyms

Table 15-1: List of Acronyms and Descriptions for Syslog Driver

Acronym Description

UDP User Datagram Protocol

HW Hardware

SW Software

S+ ABB Symphony Plus

SLD S+ SysLog Driver

MS Microsoft

OS Operating System

IETF Internet Engineering Task Force

15.2 Generality

SysLog is a protocol for network logging made in 1980 as component of Sendmail. It has been standardized by the IETF in 2001 with RFC 3164 and RFC 3195. It uses User Datagram Protocol (UDP), port 514, and messages are sent from the client (device) to the server (collector). The SysLog packet size is limited to 1024 bytes. Special implementations of the protocol are also able to use TCP and / or encryption. The RFC 5424 replaced RFC 3164 in March 2009.

15.2.1 SysLog Message format

Each SysLog message starts with a priority value at the beginning of the text inserted into the characters „<‟ and „>‟. The priority value ranges from 0 to 191 and is made up of a Facility value and a Severity value:

Facility: SysLog messages are broadly categorized on the basis of the sources that generate them. These sources can

be the operating system, the process, or an application. These categories, called facility, are represented by integers, as shown in Error! Reference source not found.. The local use facilities are not reserved and are available for general use.

Hence, the processes and applications that do not have pre-assigned facility values can choose any of the eight local use facilities. As such, Cisco devices use one of the local use facilities for sending SysLog messages.

Severity: the source or facility that generates the SysLog message also specifies the severity of the message using a single-digit integer, as shown in Error! Reference source not found..

The priority value is calculated using the following formula:

Priority = Facility * 8 + Severity

This value, if present, is converted into a human readable string.

For example “<27>” = 3 * 8 + 3 is converted into “<SYSTEM,ERROR>”.

If message doesn‟t contain the priority field a default value is used.

Table 15-2: SysLog Facility Values

Numerical Code Facility

0 Numerical Code

1 user-level messages

2 mail system

3 system daemons

4 security/authorization messages

5 SysLogd

6 line printer subsystem

7 network news subsystem

8 UUCP subsystem

9 clock daemon

10 Security/authorization messages

11 FTP daemon

12 NTP subsystem

13 log audit

14 log alert

15 clock daemon

Page 68: Scanner Reference Guide

SPlus Operations Scanner Reference Guide SYSLOG DRIVER

68 2VAA000725E

16 local use 0 (local0)

17 local use 1 (local1)

18 local use 2 (local2)

19 local use 3 (local3)

20 local use 4 (local4)

21 local use 5 (local5)

22 local use 6 (local6)

23 local use 7 (local7)

Table 15-3: SysLog Severity Values

Numerical Code Severity Description

0 Emergency system is unusable

1 Alert action must be taken immediately

2 Critical critical conditions

3 Error error conditions

4 Warning warning conditions

5 Notice normal but significant condition

6 Informational informational messages

7 Debug debug-level messages

Operating Environment

This driver is developed as a module of ABB S+ Server on MS Windows operating system

Network Environment

Firewalls must be configured to allow network traffic to the S+ server's configured port. The default Syslog listening port number is 514.

15.3 Configuration

15.3.1 Windows Register Configuration

The SysLog Driver‟s main configuration is done through windows registers as for others S+ drivers. Specific mandatory parameters are:

BusPort: Listening port (for SysLog standard port is 514)

BusAddress: Listening IP address (default 127.0.0.1 = ANY)

BusProtocol: Listening protocol [UDP|TCP]

IpFilterFileName: Xml device authorization file

SysLogLevel: Maximum SysLog Severity level (max 0, min 7).

In addition to the parameters mentioned here there are some parameters that the drivers normally use, like status TAG etc

Registry Example

[HKEY_LOCAL_MACHINE\SOFTWARE\ABB Symphony Plus\Operations\Scanner\DRVSYSLOG_1]

"DriverSysLog. SysLogDrv "

"Active"="YES"

"DiagnosticTag"="DRVSYSLOG_1_DIAG"

"Trace"="YES"

"TraceLevel"=dword:0000ffff

"BusAddress"="192.168.1.68"

"BusPort"=dword:00000202

"DriverStartupDelay"=dword:00000000

"IpFilterFileName"="D:\\Program Files\\ABB Symphony Plus\\Operations\\deck\\SysLogFilter.xml"

"SysLogLevel"=dword:00000005

"BusProtocol"="UDP"

Page 69: Scanner Reference Guide

SPlus Operations Scanner Reference Guide SYSLOG DRIVER

2VAA000725E 69

Xml configuration file

For the configuration of this driver, as well as for others, a part of configuration is not possible through windows registers because of its complexity, and requires additional files. The file type used is an xml file specified with the “IpFilterFileName” parameter. This file contains the following sections:

Devices: contains a list of authorized devices.

In the “Devices” section of the xml configuration file, the following attributes are defined for each device:

“IpAddress” specifies the IP address of the device.

“Description” [optional] description of device

“SysLogLevel” [optional] a specific SysLog max severity level used instead of the one configured by registers.

The following figure shows the XML-Schema of the configuration file.

Figure 15-1: XML Schema of Configuration File

Schema.xsd

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="SysLogDriver">

<xs:complexType>

<xs:sequence>

<xs:element ref="Devices"/>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="Devices">

<xs:complexType>

<xs:sequence>

<xs:element ref="Device" maxOccurs="unbounded"/>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="Device">

<xs:complexType>

<xs:attribute name="IpAddress" use="required">

<xs:simpleType>

<xs:restriction base="xs:string"/>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="Description" use="optional">

<xs:simpleType>

<xs:restriction base="xs:string"/>

</xs:simpleType>

Page 70: Scanner Reference Guide

SPlus Operations Scanner Reference Guide SYSLOG DRIVER

70 2VAA000725E

</xs:attribute>

<xs:attribute name="SysLogLevel" use="optional">

<xs:simpleType>

<xs:restriction base="xs:string"/>

</xs:simpleType>

</xs:attribute>

</xs:complexType>

</xs:element>

</xs:schema>

Configuration xml example file

<?xml version="1.0" encoding="UTF-8"?>

<SysLogFilter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<Devices>

<Device IpAddress="192.168.1.66" Description="DEV1" SysLogLevel="6"/>

<Device IpAddress="192.168.1.68" Description="DEV2"/>

<Device IpAddress="192.168.1.69" Description="DEV3"/>

</Devices>

</SysLogFilter>

Page 71: Scanner Reference Guide

SPlus Operations Scanner Reference Guide MELODY DRIVER

2VAA000725E 71

16. MELODY DRIVER

Melody driver registries and tag configuration are already created automatically during the import from Melody composer, so the purpose of this chapter is just to explain the meaning of them. The IP addresses of the controllers are automatically retrieved from the host file if available otherwise check the registries.

16.1 Registers

The driver-specific registers are as listed in the following table.

Table 16-1: Driver Specific Registers

Name Type Values Notes

ProgID Char DriverAC870P

BusPort Int 9999

BusAddress

Char

xxx.yyy.zzz.www IP address of primary address

TraceLevel Int 0xFFFF Bitmask for the level of tracing. 0x001 // general trace high priority 0x002 // trace high priority for mapping instruction 0x004 // trace high priority for signal server 0x008 // trace high priority for command server 0x010 // trace high priority for alarm server 0x020 // general trace low priority 0x040 // trace low priority for mapping instruction 0x080 // trace low priority for signal server 0x100 // trace low priority for command server 0x200 // trace low priority for alarm server

The following registers are only used by the Melody driver:

Table 16-2: Registers for Melody Drivers

Name Type Values Description

AlarmConnectionUsed Char YES/NO Enable to get data also from melody alarm connection, could be set to NO in case of having more than 2 drivers running because the controller does not allow more than 2 alarm connections.

UseGMT Char YES/NO Default is YES because usually the controller time is set GMT

FailIfNoAlarmServer Char YES/NO If Yes to be able to run the driver need the alarm connection otherwise even if it is requested the driver can go to running mode even without the alarm connection available.

AlwaysAckAlarm Char YES/NO YES means that even if one alarm is not configured like a tag in S+ the driver sends the acknowledge to the controller for this driver. If it is set to NO there is the possibility to fill the alarm queue on the controller and stuck it.

EnableGuardLog Char YES/NO Very heavy log that print every time that a method is called. Used only for very deep debug.

MaxPollingTime Int [msec] (60000) The data access is done on exception and even if the data is not changing the controller sends the data to driver periodically according to this registry. (min 1000 msec and max 120000 msec).

PingRetry Int 1 In case of driver not connected to restart the communication a ping test is issued waiting for ping available. This is the number of retry on each controller (1 min and 5 max).

ControllerPingTimeout Int [msec] (1000) In case of driver not connected to restart the communication a ping test is issued waiting for ping available. This is the timeout of the ping test (500 msec min and 10000 msec max).

TraceLevel Int 0x0000 Level of tracing. 0x001 // general trace high priority 0x002 // trace high priority for mapping instruction 0x004 // trace high priority for signal server

Page 72: Scanner Reference Guide

SPlus Operations Scanner Reference Guide MELODY DRIVER

72 2VAA000725E

0x008 // trace high priority for command server 0x010 // trace high priority for alarm server 0x020 // general trace low priority 0x040 // trace low priority for mapping instruction 0x080 // trace low priority for signal server 0x100 // trace low priority for command server 0x200 // trace low priority for alarm server

RedundantIPAddress Char xxx.yyy.www.zzz The IP address of the redundant controller.

16.2 Database

The database fields of the Modbus driver can take the following values:

Database Fields Values

AD1 Signal type BPP_BOOL_TYP = 0x1 BPP_INT4_TYP = 0x2 BPP_REAL4_TYP = 0x4 BPP_P32BOOL_TYP = 0x5 BPP_DT_TYP = 0x7 BPP_DURATION_TYP = 0x6 BPP_ERR_TYP = 0x8 BPP_STRING_TYP 0x9 BPP_SIG_BOOL_TYP 0x21 BPP_SIG_INT4_TYP 0x22 BPP_SIG_REAL4_TYP 0x24 BPP_SIG_P32BOOL_TYP 0x25 BPP_SIG_DURATION_TYP 0x26 BPP_SIG_DT_TYP 0x27

AD2 It is a bitmask set according to the controller connection used for the signal

Signal connection = 1

Command connection = 2

Alarm connection = 4

AD3 If the command connection is selected then it means

1 it is used the WRITE_ABS method (for absolute value writing)

2 it is used the WRITE_INC method (for incremental value writing)

AD4 Scan class.

TX2 Signal Mark: the name of the tag on the controller

Page 73: Scanner Reference Guide

SPlus Operations Scanner Reference Guide IEC 61850 DRIVER

2VAA000725E 73

17. IEC 61850 DRIVER

17.1 Driver Configuration

The driver registry configuration is set in CO61850, the user can change the values as required.

Figure 17-1: Driver Configuration

NOTE: TraceEnabled field is not being used at the moment.

17.2 Registry Entries

The driver-specific registers are as listed in the following table.

Table 17-1: IEC 61850 Driver Registers

Name Type Values Description

ProgID Char Driver61850Com Driver ID

Active char YES Is Driver Active/Inactive

Master Slave char NO Discovery of IEC61850 Server(Not used at the moment)

TraceLevel Int Bit mask If a user needs only error logs, only information logs, etc, then one of the following trace level has to be set according to the values provided. It is for the users convienience so that the log file does not become too huge. If all logs are to be anabled then the TraceLevel registry entry has to be set to 2.

ERROR_LOG 0X0000 error logs

LOG_ALL 0X0002 write all logs

LOG_THREAD_ HEARBEAT

0X0004 log thread health.

LOG_INFO 0X0008 User Information logs.

LOG_WARN 0X0010 Warnings

LOG_WRT_REQ 0X0020 write request to driver

LOG_CMD_SEND 0X0040 Command transmission.

LOG_RECV_IAL 0X0080 IEC61850 Signal transmission.

Page 74: Scanner Reference Guide

SPlus Operations Scanner Reference Guide IEC 61850 DRIVER

74 2VAA000725E

LOG_CMD_ACK 0X0100 IEC 61850

Command Ack signal transmission.

LOG_ HEALTH_UPDATE_PROC

0X0200 log thread health Update.

LOG_DIAGNOSTIC 0x400 Diagnostic Logs

CCF File Name Char IEC61850\CCF\ IEC61850 configuration Directory.

PollingFreq Int 5 Reading of periodical data(in ms)

TimeoutOnCommand Int Command Timeout in seconds

UTCTime Char NO Enable/disable UTC time. This should be enabled during driver startup.

Other registry entries which the scanner uses, but are not present in the user interface are as follows:

Table 17-2: Registry Entries

UseKeepAlive Char YES

UseHCF Char YES

SynchronousIO Char NO

InitOutputValues Char NO

DriverName Char IEC61850

TagOnFly Char YES

CheckConnTimeout Int 3e8

CheckConnAttempt Int 1e

KeepAliveTimeout Int 1e

DeviceTimeout Int 0

ConnectionAttempt Int 3

InitTimeout Int a

DriverStartupDelay Int 0

Please refer to the above Table 3.9 for details about the drivers mentioned above. There are 10 timeouts for the scan

classes from 1 to 10:

Table 17-3: Timeouts for Scan Classes

TimeoutClass1 Int 64

TimeoutClass2 Int c8

TimeoutClass3 Int 1f4

TimeoutClass4 Int 3e8

TimeoutClass5 Int 7d0

TimeoutClass6 Int bb8

TimeoutClass7 Int 1388

TimeoutClass8 Int 2710

TimeoutClass9 Int 7530

TimeoutClass10 Int ea60

17.3 Configuration

User need not configure the fields, it is already configured by the CO61850 Application.

17.4 Acquisition

Field Description

Field driver name The field driver name in the Configuration of the Tag should be the same as that in the registry entry under Scanner

Field Address 1 Scan Class Name(presently scanclass 1 is used)

Field Address 2 IALAdress

Field Address 3 Indicates the type of tag Input=1 ; for normal tags Command=2 OutputTag=3(Not used currently)

Page 75: Scanner Reference Guide

SPlus Operations Scanner Reference Guide IEC 61850 DRIVER

2VAA000725E 75

File Transfer=4(Not used currently) IEDInfo=5 (manufacture,version etc.) (Not used currently) MainTags=6 AcknowledgementTags=7

Field Address 4 Holds the IAL-Type information i.e DMCD (e.g. Single info. with time, Single command) The IAL-Type tells something about how the data should be exchanged between the ISS-BP and the application.

Field Address 5 Holds the Quallifier - Tells exactly which IEC 61850 data attribute value has to update which qualifier in the IAL frame

Field Address 6 Reserved

Field Address 7 Control Model 0-Status 1-Oper 2-SBO 3. SBOW 4. Cancel

Field Address 8 It is set to 1 from, if the command type is a direct operate command, else it is set to a default value of 0 for the normal command for SBOW(Select before operate command). For this the IAL path contains SPC instead of DPC in the CCF file e.g. /SPC/CO/BOOLEAN/+/none/+/7,46,20

Field Address 9 Reserved

Field Address 10 Common Data Classes (CDC) Type. Each element of data within the logical node conforms to the specification of a common data class (CDC). Each CDC describes the type and structure of the data within the logical node. For instance, there are CDCs for status information, measured information, controllable status information, controllable analog set point information, status settings, and analog settings. Each CDC has a defined name and a set of CDC attributes each with a defined name, defined type, and specific purpose.

Field driver text 1 Name of the IED e.g. AA1L1Q03A1 (Specified in SCD file)

Field driver text 2 Logical Device e.g. LD0

Field driver text 3 Logical Node e.g. SCSWI2

Field driver text 4 Signal (channel name=DO.DA) e.g Pos.Cancel.ctlVal

Field driver text 5 IEC Datatype e.g BOOLEAN, INTEGER

Field driver text 6 S+ Node Name e.g AA14

Field driver text 7 Subnet Name AA1WA2(provided in SCD)

Field driver text 8 Complete IAL Path e.g. /DPC/CO/BOOLEAN/+/none/+/7,46,20

Field driver text 9 Type of IED e.g. IED670(specified in SCD and CCF)

Field driver text 10 Reserved

Note - Example : The Complete signal is AA1L1Q03A1_CTRL_QA1_POS_Cancel

17.5 Process

Faceplate Name : Associated Faceplate Name.

The faceplate names are pre defined. The CO61850 driver associates the names of the faceplates with the main tags. When the user right clicks on the Main tag in the tag summaries, a drop down menu appears which has the menu item Control. When this menu item is clicked the faceplate comes up.

e.g For the Main tag for the Bay the faceplate would be - Prctrl.POP_BAY,T=QA1.

For the Circuit Breaker, the faceplate would be Prctrl.POP_CBR

17.6 Files

Log files

The log files are created in the Logs folder if they are enabled by setting the Trace register to “YES” and are named „SystemDate‟. Furthermore the TraceLevel bits allow to select the details of the trace to be enabled. These three registers are cyclically read by the driver.

17.7 Driver Configuration

IEC61850 Driver configuration forms the basic entity for initiating the driver. CO61850 generates a XML based registry file and send to the Composer Operation via ESC. Composer Operation updates the S+ Operation registry while performing the deployment operation.

Page 76: Scanner Reference Guide

SPlus Operations Scanner Reference Guide IEC 61850 DRIVER

76 2VAA000725E

17.8 Commands

1. The user issues a command from the faceplate. Each faceplate object have an associated tag.

This tag looks like : AA17_Ctrl_QA1_Pos_Select, if a select command has to be issued.

2. Command signals can be one or a combination of the following :

i. Operate = Tag corresponds to Oper.ctlVal

ii. Select= Tag corresponds to SBO.ctlVal/ SBOw.ctlval

iii. Cancel= Tag corresponds to Cancel.ctlVal

iv. AckCmd = For a command there is one acknowledgement tag which gets created by CO61850.

3. These command signals are mapped to main tags. E.g Q1_CTRL

Command Main tags are formed usually to group together all the command tags.

So if we have a signal for operate, and if the associated signals for cancel and select are present then the main tag is created as : Bayname_CTRL_QA1_POS.

Bayname is associated during the CO61850 Export using a Bay file, which has theBay name, IED name and Faceplate name.

4. The main tags are made up of atoms

E.g Under the command main tag : Bayname_CTRL_QA1_POS we have the different atoms like, AA1L1Q03A1_CTRL_QA1_POS_Cancel, AA1L1Q03A1_CTRL_QA1_POS_Select, AA1L1Q03A1_CTRL_QA1_POS, Bayname_Ctrl_QA1_Pos_CmdAck

5. These atoms are created with the help of signals provided in the SMT(Signal mapping) file. This is a part of CO61850.

The smt file contains the signal group, S+ Tag atom and the IED Type(under which the signal appears). The signal is mapped to a particular S+ Tag Atom i.e if it is cancel command it is mapped to Ctrl_QC1_Pos_Cancel. This signal falls under thr Group : CTRL.

Figure 17-2: Signal Mapping File

6. The CCF file has the corresponding value :

<ExtRef iedName = "AA1L1Q03A1" ldInst = "LD0" prefix = "S" lnClass = "CSWI" lnInst = "1" doName = "Pos" daName = "Cancel.ctlVal" intAddr = "/DPC/CO/BOOLEAN/+/none/+/4,46,20"/>

7. The corresponding Tag Summaries(in S+ Operations) is as follows :

Figure 17-3:Tag Summaries

NOTE: For SMT and IEC61850 configuration related information pleae refer to SPlus Operations IEC61850 manual.

17.9 Databases

Field Description

INDEX Index number of the tag

NAME Name of the tag e.g AA17_Ctrl_QA1_Pos_Select

UID Unique identity number

TAGTYPE Type of the tag e.g ANALOG/DIGITAL

TAGSRC e..g EXT

FACEPLATE String containing the name of the command faceplate e.g.POP_BAY

FIELD_DRV String containing name of the driver(same as in registry) e.g. IEC61850.Drv

FIELD_AD1 String containing Scanclass for Scanner

FIELD_AD2 String containing IALAdress Holds the IAL-Type information (e.g. Single info. with time, Single command)

Page 77: Scanner Reference Guide

SPlus Operations Scanner Reference Guide IEC 61850 DRIVER

2VAA000725E 77

FIELD_AD3 String containing Indication of the type of the tag e.g. Input, Command, etc.

FIELD_AD4 String which holds the IAL-Type information i.e DMCD (e.g. Single info. with time, Single command)

FIELD_AD5 String which holds the Qualifier

FIELD_AD6 Reserved

FIELD_AD7 String for Control Model

FIELD_AD8 Value is set to 1 or 0.If the command type is a direct operate command it is set to 1, else it is set to a default value of 0 for the normal command for SBOW

FIELD_AD9 Reserved

FIELD_AD10 CDC Type

FIELD_TX1 String value for Name of the IED e.g. AA17

FIELD_TX2 String value for Logical Device e.g. LD0

FIELD_TX3 String value for Logical Node e.g. SCSWI2

FIELD_TX4 String value for Signal e.g. Pos.SBOw.ctlVal

FIELD_TX5 String value for IEC Datatype e.g. BOOLEAN, INTEGER

FIELD_TX6 String value for S+ Node Name e.g. INWITNIS00281

FIELD_TX7 String value for Subnet Name e.g. AA1WA2

FIELD_TX8 String value for complete IAL Path e.g. /DPC/CO/BOOLEAN/+/none/+/7,46,20

FIELD_TX9 String value for IED Type e.g. REC670, IED670

FIELD_TX10 Reserved

17.10 Usage of Driver with Scanner

If Stop command is given from the Scanner in order to stop the IEC61850 Driver, wait for 60-70 seconds for issuing a Start command again.

Page 78: Scanner Reference Guide

SPlus Operations Scanner Reference Guide P14 DRIVER

78 2VAA000725E

18. P14 DRIVER

P14 Driver registries and tag configuration are already created automatically during the import from P14Importer, so the purpose of this chapter is just to explain the meaning of them and no tuning is necessary. The configuration for the acquisition has also to be done according to the SlimCPS configuration.

Table 18-18-1: Driver Specific Registers

Name Type Values Notes

ProgID STRING DriverP14 Name of the driver

P14_STATUS_TAG_SRV1 STRING Name of the diagnostic tag for the first connectivity server

P14_STATUS_TAG_SRV2 STRING Name of the diagnostic tag for the second connectivity server

DisconnectOnAcquisitionFailure STRING NO The driver status is running even if the SlimCPS is not getting data, the logical status of the acquisition is only effected by the SlimCPS status

SlimCpsWatchDogTimeoutSec DWORD 30 Number of seconds without receiving any status notification from the SlimCPS before restarting it via driver watchdog

SlimCpsStopStartWaitSec DWORD 300 In case of SlimCPS watchdog restart number of seconds between sending the StopCPS and the StartCPS

DataLoopSleep DWORD 200 In case of data queue empty the number of mSec to sleep in the loop

StatusLoopSleep DWORD 100 In case of status queue empty the number of mSec to sleep in the loop

PropagateDisturbance DWORD 1 With this registry is possible to inhibit the disturbance propagation from the driver to the system

ReconnectionTriggerAfterNewTags DWORD 0 If new tags are added to the driver then a reconnection trigger is sent to

The following registers are only used by the P14 driver:

Page 79: Scanner Reference Guide

SPlus Operations Scanner Reference Guide PERFORMANCE DRIVER

2VAA000725E 79

19. PERFORMANCE DRIVER

Performance driver is used to check system parameters about processes like CPU usuage, memory usage , number of threads or handle.

To check the performance about the processes, a tag has to be created for each process and the tag has to be linked to a data processor that specify which are the parameters to be checked.

To create the driver register use Scanmonitor with the wizard.

IbdBase can be used to create tags and field to be filled are as follows.

Tag source type: DEVSTA

Data Processor name Enter the data processor name that defines the parameters to be checked

In the Acquistion tab:

Field Driver name Name of the Driver instance

Field Driver Text1 Name of the process to be checked

Field Driver Text2 Optional (Name of the server where process is running)

In the normal installation, when you browse for the file RemoteServiceLib.xml, an example(ProcPerfStd) for the performance tags can be found.This example can be tuned adding or removing counters according to system needs.

Table 18-19-1: Driver Specific Registers

Name Type Values Notes

ProgID Char DriverPerfMon

TraceLevel Int 0xFFFF Bitmask for the level of tracing.

The following registers are only used by the Performance driver:

Page 80: Scanner Reference Guide

SPlus Operations Scanner Reference Guide COMLI DRIVER

80 2VAA000725E

20. COMLI DRIVER

The communication protocol COMLI is described in the document no 493-0192-11 (COMLI System Description). The current

COMLI driver implementation is for Read/Write of I/O bits, Read/Write of Registers/High Registers and Time Synchronization.

20.1 Installation

After installing S+ Operations you must register the DLL ComDriver.dll located in C:\Program Files(x86)\ABB Symphony Plus\Operations\bin using the following command from a DOS window:

Regsvr32 C:\Program Files(x86)\ABB Symphony Plus\Operations\bin\Comdriver.dll

[This DLL is required for physical layer communication (Serial communication).]

Post installation the COMLI driver (ComLiDriver.dll) in location

C:\Program Files(x86)\ABB Symphony Plus\Operations\bin\drivers

20.2 Driver Specific Registers

The driver-specific registers as mentioned in the following table:

Table 20-1: Driver Specific Registers

Register Name Type Values

ProgID Char ComLiDriver

BusPort Int [SerialPortNumber]

BusProgID Char ComDriver.ComDrv.1

BusType Char COM

BusAddress Char [baud rate, parity, n.bit, stop bit] (“9600,e,8,1”)

Table 20-2: Registers for COMLI Driver

Register Name Type Values Notes

nRetry Int [number] (3) Number of attempts in case of send failure.

TimeSyncInterval Int [In minutes 0 and above] (“60”)

For Time synchronization –Values are in minutes (Example: Every 60 minutes the synchronization happens with slave. In order to disable time synchronization, set 0 value.

Files

For the log files you need to set the trace level under the driver tab in Tracemanager.exe, we have two trace levels for COMLI driver. Once this is enabled the log file by name <DriverName>.log is generated.

Trace Level Values

1 (0x00000001) TRACE – HIGH: Detailed log are generated for tracking purpose and knowing driver status.

2 (0x00000002) TRACE – LOW: General logs for knowing driver status.

Driver Configuration

The driver's register key can also contain some registers storing the strings that the online configurator shows when a tag is displayed or changed in the Acquisition and Output tables.

Register Name Type Values

Label_ad1 and/or Label_out_ad1 Char Slave number

Label_ad2 and/or Label_out_ad2 Char Register address

Label_ad3 and/or Label_out_ad3 NA NOT APPLICABLE

Label_ad4 and/or Label_out_ad4 Char Scan class

Page 81: Scanner Reference Guide

SPlus Operations Scanner Reference Guide COMLI DRIVER

2VAA000725E 81

Tag Database Configuration:

The database fields of the COMLI driver can take the following values:

Label _AD1: Device number (Slave address: 1 - 216)

Label _AD2: Register Address (I/O bits, Register & High Registers)

a) I/O Bits Range 0-3777 only OCTAL values (Digital Tags).

b) Registers Range: 0 to 3071 only Decimal values (Analog Tags).

c) High Registers: 0 to 65535(Decimal values - starts from address 3072) (Analog Tags)

Label _AD3: Currently Not applicable.

Label _AD4: Scan class (Range 1 to 10)

Page 82: Scanner Reference Guide

SPlus Operations Scanner Reference Guide APPENDIX

82 2VAA000725E

00

01

00

01

00

00

00

01

00

00

00

01

3F

80

00

00

3F

80

00

00

21. APPENDIX

21.1 Appendix A - Data Format

2 byte short:

Original byte transmission order

4 byte long:

4 byte IEEE float:

msb

byte1

lsb

byte2

msb

byte1

lsb msb

byte2 byte3 byte4 byte1

byte2 byte3

lsb

byte4

16-9 8-1 32-25 24-17 16-9 8-1 32-25 24-17 16-9 8-1

point type 0 - Unsigned short (1 register, HO LO) – HO LO stands for HighOrder LowOrder

Byte1 Byte2

00 01

16-9 8-1

point type 1 - Signed short (1 register, HO LO)

Byte1 Byte2

00 01

16-9 8-1

point type 2 - Unsigned long (2 registers, HO LO)

Byte1 Byte2 Byte3 Byte4

00 00 01 00

32-25 24-17 16-9 8-1

point type 3 - Signed long (2 registers, HO LO)

Byte1 Byte2 Byte3 Byte4

00 00 01 00

32-25 24-17 16-9 8-1

Page 83: Scanner Reference Guide

SPlus Operations Scanner Reference Guide APPENDIX

2VAA000725E 83

point type 4 - IEEE float (2 registers, HO LO)

Byte1 Byte2 Byte3 Byte4

3F 80 00 00

32-25 24-17 16-9 8-1

point type 5 - Unsigned long (2 registers, AEG Modicon)

Byte1 Byte2 Byte3 Byte4

00 01 00 00

16-9 8-1 32-25 24-17

point type 6 - Signed long (2 registers, AEG Modicon)

Byte1 Byte2 Byte3 Byte4

00 01 00 00

16-9 8-1 32-25 24-17

point type 7 - IEEE float (2 registers, LO HO)

Byte1 Byte2 Byte3 Byte4

00 00 80 3F

8-1 16-9 24-17 32-25

point type 8 - IEEE float (2 registers, word swap)

Byte1 Byte2 Byte3 Byte4

00 00 3F 80

16-9 8-1 32-25 24-17

Page 84: Scanner Reference Guide

SPlus Operations Scanner Reference Guide APPENDIX

84 2VAA000725E

point type 9 - Unsigned Long (2 registers, LO HO)

Byte1 Byte2 Byte3 Byte4

01 00 00 00

8-1 16-9 24-17 32-35

point type 10 – Signed Long (2 registers, LO HO)

Byte1 Byte2 Byte3 Byte4

01 00 00 00

8-1 16-9 24-17 32-25

21.2 Appendix B – Tag Type Table

21.3 Appendix C – Quality Code Table

Value Power of 2 Description

1 2^0 application specific 2

2 2^1 application specific 1

4 2^2 hardware channel failure

8 2^3 red tagged

16 2^4 application specific 3

32 2^5 bad calculated value

64 2^6 reserved

128 2^7 alarm inhibit active

256 2^8 alarm monitoring inhibited

512 2^9 operator inserted value

Index Type

1 ANALOG

2 CLIF

3 DAANALG

4 DADIG

5 DADIGTL

6 DANG

7 DD

8 DEVSTAT

9 DIGITAL

10 INTANG

11 INTDIG

12 MSDD

13 N90STA

14 RCM

15 RMCB

16 RMSC

17 STATION

18 TEXT

19 TEXTSTR

20 UNDEF

21 EXTANG

Index Type

22 EXTDIG

23 ANGRPT

24 DIGRPT

25 LABANG

26 LABDIG

27 CALCANG

28 CALCDIG

29 APMSSTA

30 NODESTA

31 BITMASK

32 COMPOSITE

33 INTEGER

34 UINTEGER

35 BYTEARR

36 ANAEIN

37 ANAEOUT

38 DIGEIN

39 DIGEOUT

40 DATETIME

41 DATETIMEX

Page 85: Scanner Reference Guide

SPlus Operations Scanner Reference Guide APPENDIX

2VAA000725E 85

1024 2^10 reserved

2048 2^11 off scan

4096 2^12 old data

8192 2^13 alarm

16384 2^14 unacknowledged

32768 2^15 implemented

65536 2^16 dummy packet (playback only)

131072 2^17 auto/manual

262144 2^18 signif low alarm

524288 2^19 signif high alarm

1048576 2^20 tracking

2097152 2^21 i4 format

4194304 2^22 low deviation alarm

8388608 2^23 high deviation alarm

16777216 2^24 decreasing rate of change

33554432 2^25 increasing rate of change

67108864 2^26 low instrument range

134217728 2^27 low-low alarm

268435456 2^28 low alarm

536870912 2^29 high alarm

1073741824 2^30 high-high alarm

2147483648 2^31 high instrument range

Page 86: Scanner Reference Guide

ABB Inc. Power Generation

Wickliffe OHIO, USA E-Mail: [email protected] www.abb.com/controlsystems

ABB AG Power Generation

Mannheim GERMANY E-Mail: [email protected] www.abb.com/controlsystems

ABB Pte. Ltd. Power Generation

Singapore SINGAPORE E-Mail: [email protected] www.abb.com/controlsystems

Do

cu

me

nt N

um

be

r 2V

AA

00

0725E