scanner reference guide
DESCRIPTION
Scanner Reference GuideTRANSCRIPT
Symphony Plus
S+ Operations 2.0 Scanner Reference Guide
Symphony Plus Operations
S+ Operations 2.0 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
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
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
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
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
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
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
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.).
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
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
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
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”
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.
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.
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
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.
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.
.
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.
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>”
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
SPlus Operations Scanner Reference Guide TRACE MANAGER
2VAA000725E 25
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
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.
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
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
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
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
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:
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
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
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).
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.
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
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
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
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.
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
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
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
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.
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
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.
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)
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.
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;
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
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
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)
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
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)
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
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
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)
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
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.
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
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
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
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.
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" />
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 -->
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>
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
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"
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>
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>
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
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
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.
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)
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.
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)
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.
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:
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:
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
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)
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
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
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
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
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