0% found this document useful (0 votes)
393 views52 pages

Sattline (OPC Sattline Server) Ver2.3

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
393 views52 pages

Sattline (OPC Sattline Server) Ver2.3

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 52

SattLine

OPC SattLine Server


Version 2.3
SattLine
OPC SattLine Server
Version 2.3

3BSE 025 466 R201 Rev C


Copyright © 2001 - 2006 ABB Automation Technology Products AB.
The contents of this document can be changed by ABB Automation Technology Products AB
without prior notice and do not constitute any binding undertakings from ABB Automation
Technology Products AB. ABB Automation Technology Products AB is not responsible under
any circumstances for direct, indirect, unexpected damage or consequent damage that is caused
by this document.

All rights reserved.

Release: October 2006

Document number: 3BSE 025 466 R201 Rev C

Printed in Sweden
Preface

Preface

SattLine is a system for distributed industrial control. The system family includes
workstations, and control systems all cooperating on a local area network. The
SattLine software consists of the system program for workstations and control sys-
tems. The SattLine standard libraries is an extension of the system software, handling
functions like alarms, reports, data acquisition and PID controllers.
A common control language is used through the different system components, to
cover the different needs of a control application. Programs consist of a hierarchy of
objects, corresponding to functions and real-world objects. Each object may contain
graphics for process visualization and operator dialogues, plus program for calcula-
tions and control.
SattLine will only function properly if all software parts have the same version
number. The version of the SattLine software is recognized by the two first numbers
(X.Y) and the number (-n) after the hyphenation sign indicates the revision of that
version.
The OPC SattLine Server in version 2.3-n of SattLine is described in this manual as
an installation and user’s guide.

Icons in the margin


Warning: The warning icon indicates the presence of a hazard which might cause
damage to hardware or which might corrupt software.
Note: The note icon is used to indicate important information or warnings related to
the concept discussed in the text.
Information: The information icon is used to indicate additional useful information.
Tips: The tips icon is used to indicate tips on how to design your project or how to
use this function.

Trademarks
Registered trademarks from other companies are:
• MicrosoftTM, WindowsTM, Windows 2000 ProfessionalTM from Microsoft Cor-
poration.
• PostScriptTM and Acrobat ReaderTM from Adobe Systems Inc.

3BSE 025 466 R201 Rev C 5


Preface

6 3BSE 025 466 R201 Rev C


Contents

Contents

Preface......................................................................................... 5
1 Introduction................................................................................ 9
1.1 About this manual ........................................................................ 9
OPC interface ........................................................................... 9
1.2 Product overview ......................................................................... 9
OPC DA compliance.............................................................. 10
OPC DA compliance comments ............................................ 12
OPC Item quality................................................................ 12
OPC DA Item write............................................................ 13
OPC AE compliance .............................................................. 13
OPC AE compliance comments............................................. 13
Event types ......................................................................... 13
Areas................................................................................... 13
Filters.................................................................................. 13
OPC AE Interfaces................................................................. 13
OPC AE / Sattline relations.................................................... 14
Event types ......................................................................... 14
Severity............................................................................... 14
Vendor attributes ................................................................ 14
Time stamp ......................................................................... 14
Available events ................................................................. 14
1.3 Prerequisites and requirements .................................................. 15
1.4 Terms and abbreviations ............................................................ 15
1.5 Version highlights...................................................................... 15
v2.3-31 ................................................................................... 15
v2.3-23 ................................................................................... 15
v2.3-22 ................................................................................... 15
2 Installation ................................................................................ 17
2.1 Software Installation .................................................................. 17
Server side installation ........................................................... 17
dpSL ................................................................................... 17
Client side installation............................................................ 18
ADSOPC - For OPC DA support....................................... 18
ADSOPCae - For OPC AE support.................................... 18
2.2 Start-up procedures .................................................................... 19
2.3 Shut-down procedures ............................................................... 19
3 Configuration ........................................................................... 21
3.1 Hardware configuration ............................................................. 21
3.2 Software configuration............................................................... 21
Server side configuration ....................................................... 21
DEVICE_READ_WAIT time................................................ 23
Example 1........................................................................... 23
Example 2........................................................................... 23
Example 3........................................................................... 23
DEVICE_WRITE_WAIT time.............................................. 23

3BSE 025 466 R201 Rev C 7


Contents

Clients side configuration ...................................................... 24


ADSOPC for OPC DA support .......................................... 24
ADSOPCae for OPC AE support....................................... 25
3.3 Licensing.................................................................................... 27
OPC DA license ..................................................................... 27
OPC AE license...................................................................... 27
3.4 Connection to an OPC SattLine Server ..................................... 27
3.5 Alarms and events...................................................................... 27
3.6 Security ...................................................................................... 27
3.7 Capacity and performance ......................................................... 28
4 Runtime operations.................................................................. 29
4.1 OPC DA variable browsing ....................................................... 29
Flat address space................................................................... 29
Hierarchical address space ..................................................... 29
4.2 OPC DA supported data types ................................................... 30
Variables ................................................................................ 30
Records................................................................................... 30
Queues.................................................................................... 31
4.3 OPC DA subscription ................................................................ 32
Variables ................................................................................ 32
Records................................................................................... 32
Local queue item value ‘->*’ ................................................. 32
Local queue item count ‘->#’................................................. 32
Remote queues ‘(->*)’ ........................................................... 32
4.4 OPC DA read and write requests ............................................... 33
Variables ................................................................................ 33
Records................................................................................... 33
Local queue item value ‘->*’ ................................................. 33
Local queue item count ‘->#’................................................. 33
Remote queues ‘(->*)’ ........................................................... 33
4.5 Alarms and events...................................................................... 34
4.6 Source and program distribution................................................ 34
5 Operation & maintenance....................................................... 37
5.1 Error messages ........................................................................... 37
Windows event log................................................................. 37
OPC interface ......................................................................... 37
6 Appendix A ............................................................................... 39
Checking for correct installation of the OPC SattLine Server39
7 Appendix B ............................................................................... 41
Starting the OPC SattLine Server manually........................... 41
Starting the OPC SattLine Server as a service ....................... 41
Changing the SattLine configuration when OPC SattLine Server
runs as a service42
Comparison between the methods ......................................... 43
8 Appendix C ............................................................................... 45
Hints on tuning the communication load added by the OPC Satt-
Line Server45
Communication delays ....................................................... 45
Minimizing the communication load on the SLC:s............ 48
Behaviour of the OPC clients............................................. 48

8 3BSE 025 466 R201 Rev C


Introduction

1 Introduction

1.1 About this manual


This manual describes the installation and usage of the OPC SattLine Server, a soft-
ware package enabling OPC client applications to communicate towards a
SattLine 2.3 station.

OPC interface
The Sattline OPC server supports the OPC DA v2.05A interface and the OPC AE
v1.10 interface limited to simple events.

1.2 Product overview


The OPC SattLine Server works as a SattLine station on the network, however a sin-
gle station has to run as OPC SattLine Server or as a SattLine workstation.
The OPC SattLine Server allows OPC DA clients to browse the entire address space
of SattLine (program units, module instances and variables) – the variables can be
written, read and subscribed. Variables can be discrete or record, and can be part of
records. In addition OPC DA clients can subscribe for SattLine alarm and events if
proper SattLine modules are installed through queue access mechanism.
The OPC Sattline server allows OPC AE clients to receive Sattline events as OPC
simple events. Sattline events generated by the ‘EventDetector’ module may be re-
ceived by an OPC AE client as simple events.

3BSE 025 466 R201 Rev C 9


Introduction

OPC DA client(s) OPC AE client(s)

OPC SattLine Server

OPC Server layer OPC Server layer


OPC DA 2.05A OPC AE 1.10

Client side

Server side

Data Server OPC


ADS

SattLine Connection(s)
dpSL

SattLine Control System(s)


SLC

Fig.1 OPC SattLine Server architecture.

OPC DA compliance
The following OPC DA standards are supported:
OPC Data Access version 2.05A
The following objects and interfaces are supported.

Object Interface Supported


OPCServer
IOPCCommon Yes
IOPCServer Yes
IOPCServerPublicGroups (optional) No
IOPCBrowseServerAddressSpace (optional) Yes
IOPCItemProperties Yes
IconnectionPointContainer Yes
IPersistFile (optional) No

10 3BSE 025 466 R201 Rev C


Introduction

Object Interface Supported


OPCGroup
IOPCGroupStateMgt Yes
IOPCPublicGroupStateMgt (optional) No
IOPCItemMgt Yes
IOPCSyncIO Yes
IOPCAsyncIO Yes
IOPCAsyncIO2 Yes
IconnectionPointContainer Yes
IdataObject Yes
EnumOPC-
ItemAttributes
IEnumOPCItemAttributes Yes

3BSE 025 466 R201 Rev C 11


Introduction

OPC DA compliance comments


OPC Item quality
Item quality is returned for subscriptions and read requests. Only standard OPC qual-
ity setting is used. Quality settings not mentioned below are not returned.

Quality - Sub Quality Request Description


Good – Non-specific Subscription/Read The value is good. There is no
special condition.
Bad - Non-specific Cache Read Until first update is received
Bad - Non-specific Subscription/ Read When the SLC owning the
item subscribed/read is not
connected.
Bad - Non-specific Subscription/Read Reading an empty queue.
Bad - Configuration Er- Subscription/Read 1) Item did exist, but after a re-
ror connect, it was not found.
2) Item did exist, but after a
program distribution it was
not found
Bad - Not connected Subscription/ Read No connection between client
and server.
Sattline OPC Server not in
RUN mode.
Bad - Comm failure Subscription/ Read Answer to request received,
but not valid.
Bad - Out of service Cache Read If group or item is inactive
Bad - Last Known Value Cache Read After a reconnect, until first
update is received.
Bad - Last Known Value Subscription First update if no value is re-
ceived from the SLC within
‘INITIAL_UPDATE_WAIT *
OVERSAMPLE_RATE’ mil-
liseconds.
Uncertain - Sub-Normal Subscribing/Reading a If one or more items in the
Record record is not having status
Good.
Uncertain - Last Usable Device Read If the cache is not updated
Value within
‘DEVICE_READ_WAIT’a
milliseconds after the initia-
tion of a Device Readb.
a. See description of DEVICE_READ_WAIT time in Section Software configura-
tion on page 21.
b. Per default, Sattline Picture String Scan Rate is set to 10 seconds and
DEVICE_READ_WAIT to 3 seconds. Therefore Device Read of strings may return
quality 'Bad - Last Usable Value'.

12 3BSE 025 466 R201 Rev C


Introduction

OPC DA Item write


If option ‘DEVICE_WRITE_SORT’ is set to 1, the OPC standard to keep the item
order in write operations is not obeyed. This is done in order to improve performance.
This option is default 0, no sort, obeying the OPC standard for item write order.

OPC AE compliance
The following OPC AE standards are supported:
OPC Alarms and Events version 1.10
The following objects and interfaces are supported.

Object Interface Supported


OPCEventServer
IOPCCommon Yes
IOPCEventServer Yesa
IOPCEventServer2 (optional) No
OPCEventAreaBrowser
IOPCEventAreaBrowser (optional) No
OPCEventSubscription
IOPCEventSubscriptionMgt Yesa
IConnectionPointContainer Yes
IOPCConnectionPoint Yes
a. Not all methods are implemented, see OPC AE Interfaces on page 13

OPC AE compliance comments


Event types
Only simple events are supported, neither condition nor tracking events are support-
ed.
Areas
No areas are supported.
Filters
All but area filters are supported.
Source filters may use wildcards as specified in the OPC standard.
Source names are case sencitive.

OPC AE Interfaces
The following interfaces are not implemented:
• IOPCEventServer::QueryConditionNames
• IOPCEventServer::QuerySubConditionNames
• IOPCEventServer::QuerySourceConditions
• IOPCEventServer::TranslateToItemIDs

3BSE 025 466 R201 Rev C 13


Introduction

• IOPCEventServer::GetConditonState
• IOPCEventServer::EnableConditionByArea
• IOPCEventServer::EnableConditionBySource
• IOPCEventServer::DisableConditionByArea
• IOPCEventServer::DisableConditionBySource
• IOPCEventServer::AckCondition
• IOPCEventServer::CreateAreaBrowser
• IOPCEventServer2:: <All interfaces>
• IOPCEventAreaBrowser:: <All interfaces>
• IOPCEventSubscriptionMgt::Refresh
• IOPCEventSubscriptionMgt::CancelRefresh

OPC AE / Sattline relations


Event types
All Sattline events generated by a ‘EventDetector’ module will result in an OPC AE
simple event in event category ‘Sattline process events’.
Severity
Sattline severity 0 .. 127 (0 being the most severe) is converted linear to OPC AE se-
verity 1 .. 1000 (1000 being the most severe).
Vendor attributes
Sattline event class is available as attribute ‘Sattline event class’ for event category
‘Sattline process events’.
Sattline event transition text is available as attribute ‘Sattline event transition text’
for event category ‘Sattline process events’. This text will not use Sattline text
groups, but is hardcoded to transitions ‘On’, ‘Off’, ‘Acked’, ‘Blocked’, ‘Cancelled’
and ‘AutoBlock’.
Time stamp
OPC AE simple event time stamp is the time the event occurred. If the Sattline event
went active (‘On’) the time is obtained from the source (e.g. SattController). In other
cases (such as event blocking or inactivating) the event is time stamped by the OPC
server.
As Sattline uses local time and OPC uses UTC time the Sattline OPC server will con-
vert Sattline event timestamps from local to UTC time. Time zone and daylight sav-
ing setting is obtained from the PC where the Sattline OPC server runs.
Available events
Only events received by the Sattline application loaded on the Sattline OPC Server
can be received by an OPC AE client. Therefore one or more Sattline ‘EventSub-
scriber’ modules must exist in the Sattline application.

14 3BSE 025 466 R201 Rev C


Introduction

1.3 Prerequisites and requirements


The OPC SattLine Server executes on Windows 2000 Professional (service pack 2 or
later).

1.4 Terms and abbreviations


Term/Abbreviation Description
OLE Object Linking and Embedding
OPC OLE for Process Control
OPC DA OPC Data Access
OPC AE OPC Alarms and Events
OPC SL Server Term used interchangeably with OPC SattLine Server
COM Component Object Model
ADS ABB Data Server
SL SattLine
SLC SattLine Control System
APS ABB Program Supervision

1.5 Version highlights


v2.3-31
• Support for OPC AE simple events. Sattline ‘EventDetector’ module generated
events will be obtainable by OPC AE clients as simple events.

v2.3-23
• Write operations are optimized. If items are consecutive in the SLC memory, they
are sent in the same MMS telegram as long as there are room in the MMS tele-
gram. Depending on data type, a MMS telegram can hold approximately 100 val-
ues.
To increase the likelihood of items being at consecutive addresses on the SLC,
items can be sorted. To do so, use option DEVICE_WRITE_SORT. If sorted, no
assumption of item write sequence should be done.
• When subscribing items, if a value is not acquired from the SLC within
‘INITIAL_UPDATE_WAIT times OVERSAMPLE_RATE’ milliseconds, the
cached value within the Sattline OPC server will be returned with status ‘Bad -
Last Known Value’.

v2.3-22
• Write operations will wait for the SLC write request reply before replying to the
OPC client.

3BSE 025 466 R201 Rev C 15


Introduction

16 3BSE 025 466 R201 Rev C


Installation

2 Installation

2.1 Software Installation


To establish an OPC SattLine Server in a SattLine environment, a number of individ-
ual software packages must be installed according to the following figure.

Install ADSOPC and/or ADSOPCae client side


part of OPC SattLine Server software on each
client PC and configure the client as needed

Client PC Client PC
ADSOPC ADSOPCae SattLine
... ... ...
adsopc.cfg adsopcae.cfg Workstation(s)

Clients Clients

Network

Server PC
OPC SattLine
data provider SattLine
dpSL ...
Control system(s)
dpSL.cfg

Install dpSL server side part of


OPC SattLine Server software
here and configure the data
provider as needed I/O I/O

Fig.2 OPC SattLine Server installation overview.

The OPC SattLine Server consists of one server side software package and two client
side software package, which are installed as individual software packages.
The server side software package is:
• dpSL
The client side software packages are:
• ADSOPC for OPC DA support
• ADSOPCae for limited OPC AE support

Server side installation


Installation of the server side part of the OPC SattLine Server must be done on a ded-
icated machine connected to the same network as the SattLine workstations and con-
trol systems for which the OPC SattLine Server eventually provides data access.
dpSL
Installation of dpSL is handled by the SattLine Installation Manager in the same way
as a standard SattLine Workstation installation. See the SattLine Installation and

3BSE 025 466 R201 Rev C 17


Installation

Hardware manual for details. (Also refer to Appendix A on page 39 for a procedure
to check the correct installation of all parts of the OPC SattLine Server).
The 'OPC SL Server' product will also install the 'OPC SL Data Server' product. This
product is needed for OPC clients to access the OPC SL Server. When asked if the
'ABB Program Supervision System ' should be started, answer [Yes].
For removal of product 'OPC SL Server', remove product 'OPC SL Data Server' first.
The OPC SL Server must be setup for source and program distribution the same way
a Sattline workstation is setup. Otherwise the OPC SL Server will fail to read varia-
bles after a program distribution. See section 4.6 on page 34 for details on OPC SL
Server handling of source and program distribution.
After the installation of dpSL modify the settings in dpSL.cfg, as described in the
Section Server side configuration on page 21, to match the current network configu-
ration. dpSL.cfg is located at C:\Program Files\ABB\OPC_SL_Server\Bin by default.
Note: dpSL and standard SattLine Workstation software cannot coexist on the same
PC. Only one of these software packages can be run at any one time.

Client side installation


The client side part of the OPC SattLine Server can be installed on several machines,
even on the machine running the server side part of the OPC SattLine Server. a client
PC may have OPC DA client(s), OPC AE client(s) or both.
ADSOPC - For OPC DA support
The ADSOPC setup program will copy the files and do the registration of the com-
ponents needed by an OPC DA Application to connect to the OPC SattLine Server.
After installation the configuration file, as described in Clients side configuration on
page 24, has to be configured.
• The ADS OPC client is installed by the SattLine Installation Manager. See the
SattLine Installation and Hardware manual for details.
• Modify the adsopc.cfg configuration file that is located at C:\Program
Files\ABB\ADS OPC Client\DLL by default.
Note: Sattline OPC does not use DCOM for remote connection. Therefore an OPC
Client will connect to the locally installed ADS OPC Client. To specify a remote host
connection, see ADSOPC for OPC DA support on page 24.
ADSOPCae - For OPC AE support
The ADSOPCae setup program will copy the files and do the registration of the com-
ponents needed by an OPC AE Application to connect to the OPC SattLine Server.
After installation the configuration file, as described in Clients side configuration on
page 24, has to be configured.
• The ADS OPC AE client is installed by the SattLine Installation Manager. See the
SattLine Installation and Hardware manual for details.
• Modify the adsopcae.cfg configuration file that is located at C:\Program
Files\ABB\ADS OPC AE Client\DLL by default.
Note: Sattline OPC does not use DCOM for remote connection. Therefore an OPC
Client will connect to the locally installed ADS OPC AE Client. To specify a remote
host connection, see ADSOPCae for OPC AE support on page 25.

18 3BSE 025 466 R201 Rev C


Installation

2.2 Start-up procedures


The server side part of the OPC SattLine Server is started when
Windows 2000 Professional boots up. (Refer to the detailed descriptions of the Start-
up procedures in Appendix B on page 41).
The client side part of the OPC SattLine Server is started as the respective OPC ap-
plication programs starts.

2.3 Shut-down procedures


Shutdown of the server side part of the OPC SattLine Server is handled automatically
during Windows 2000 Professional’s shutdown.

3BSE 025 466 R201 Rev C 19


Installation

20 3BSE 025 466 R201 Rev C


Configuration

3 Configuration

3.1 Hardware configuration


The OPC SattLine Server allows flexible hardware configuration. The OPC SattLine
Server consists of three layers:
• The OPC SattLine Server layer on the client side (ADSOPC / ADSOPCae).
• The Data Server layer (ADS).
• The SattLine connection layer on the server side (dpSL).
Each layer can reside on separate PC’s or the same PC.
The design of SattLine OPC Server allows more than one SattLine Connection
(dpSL) to be connected to one Data Server, thus giving access of address space of all
SattLine connections (various SattLine configurations). The most common configu-
ration will be one SattLine connection per Data Server.

3.2 Software configuration


Both the server side part and the client side part of the OPC SattLine Server must be
configured. The configuration is primarily needed in order for the server side part and
the client side part of the OPC SattLine Server to “know” on which host the Data
Server layer resides.

Server side configuration


The configuration information for the server side part of the OPC SattLine Server is
stored in the dpSL.cfg file which is located in the folder C:\Program
Files\ABB\OPC_SL_Server\Bin by default.
The configuration file has the following format:
{
TRACELEVEL: {<tracelevel>}
TRACECHANGESFILTER: {<trace_change_filter>}
SERVERS: {
{
NAME:{<name> }
HOST:{<hostname> }
PORT:{<portnumber>}
OVERSAMPLE_RATE:{<oversample_rate>}
DEVICE_READ_WAIT:{<device_read_wait>}
DEVICE_WRITE_WAIT:{<device_write_wait>}
}
}
}

<tracelevel>: Specifies the trace level. Default 0 (no trace).

3BSE 025 466 R201 Rev C 21


Configuration

<trace_change_filter>: Tracing will only occur for the object name men-
tioned in this field. Default is “”, i.e.
TRACECHANGESFILTER: {} (all objects will be
traced according to <tracelevel>.
<name>: The name with which the server is identified from
the client side, default is “SL”.
<hostname>: Host name or IP address of the server where ADS
resides. Default is “localhost”.
<portnumber>: Port number used for communication. Default
19014.
Typing 0 here means that port 19014 will be used.
Only type anything else than 0 (or 19014) if there is
conflict with another program using this port or the
two ports immediately following 19014, i.e. 19015
and 19016. To view what ports are open or listening
use the "netstat -a" command at the prompt in a
DOS command window.
<oversample_rate>: Sample rate in milliseconds. Should be equal to or
less than the fastest scan rate used.
<device_read_wait>: Maximum time to wait in milliseconds when per-
forming a device read, see description below, de-
fault is 3000 ms.
<device_write_wait>: Maximum time to wait in milliseconds when per-
forming a device write, see description below, de-
fault is 3000 ms.
<device_write_sort>: 0=no sort, 1=sort. Default is 0, no sorting.
If items are sorted, they will still be returned to the
client in the same order as in the request, but they
might not be written to the SLC in the same order as
in the request.
If sorted and the items written are at consecutive ad-
dresses on the SLC, the number of MMS telegrams
needed to perform the writes can be reduced.
<initial_update_wait>: Multiply with ‘OVERSAMPLE_RATE’ to get wait
time in milliseconds. Default is 4. As default
OVERSAMPLE_RATE is 1000, the default update
wait is 4 seconds.
When items are subscribed, if no update from the
SLC is received within the wait time, the first sub-
scription update will return quality ‘Bad - Last
Known Value’

The configuration is read at program start. If changes are made to the configuration
the data provider must be restarted.

22 3BSE 025 466 R201 Rev C


Configuration

Note: In order for the server side part of the OPC SattLine Server to function correct-
ly, a normal SattLine configuration has to be loaded and running, preferably by
means of the autostart mechanism.

DEVICE_READ_WAIT time
Note: The retrieval of process values in the OPC SattLine Server is based on existing
SattLine communication between workstations and control systems. This means, that
when performing a device read the OPC SattLine Server does not actually read a val-
ue directly from the SattLine control system. The OPC SattLine Server will wait for
the SattLine cache to be updated before returning the value. If the cache is not updat-
ed within DEVICE_READ_WAIT milliseconds, the items will be returned with a
quality of Uncertain - Last Usable Value.
The maximum time to wait is specified in milliseconds in the configuration file for
the OPC SattLine server (dpSL.cfg) in the field DEVICE_READ_WAIT. The
DEVICE_READ_WAIT parameter works together with the OVERSAMPLE_RATE
parameter (also specified in the dpSL.cfg file) and the value of SattLine Picture Var-
iables scan time (specified in the SattLine application).
The value of DEVICE_READ_WAIT should always be larger than the SattLine Pic-
ture Variables scan value to allow SattLine to complete its scan. It is up to the admin-
istrator of the system, to choose an appropriate DEVICE_READ_WAIT time.
The actual DEVICE_READ_WAIT time is a multiple of the OVERSAMPLE_RATE,
and will therefore always be equal to or larger than the OVERSAMPLE_RATE.
Example 1
SattLine Picture Variables scan value: 750 ms
DEVICE_READ_WAIT: 1500 ms
OVERSAMPLE_RATE: 1000 ms
Actual time to wait: 2 x OVERSAMPLE_RATE = 2000 ms
SattLine scans: Actual time to wait / SattLine Picture Variables scan = 2,67
Example 2
SattLine Picture Variables scan value: 400 ms
DEVICE_READ_WAIT: 800 ms
OVERSAMPLE_RATE: 200 ms
Actual time to wait: 4 x OVERSAMPLE_RATE = 800 ms
SattLine scans: Actual time to wait / SattLine Picture Variables scan = 2
Example 3
SattLine Scan value: 2000 ms
DEVICE_READ_WAIT: 5000 ms
OVERSAMPLE_RATE: 1000 ms
Actual time to wait: 5 x OVERSAMPLE_RATE = 5000 ms
SattLine scans: Actual time to wait / SattLine Picture Variables scan = 2,5

DEVICE_WRITE_WAIT time
Note: The writing of process values in the OPC SattLine Server is based on existing
SattLine communication between workstations and control systems.
Writing is done at normal priority, allowing read and subscription requests to be serv-
iced while writing.
OPC write request will not return until the SLC have reported the write done or the
specified write timeout (DEVICE_WRITE_WAIT) has passed.

3BSE 025 466 R201 Rev C 23


Configuration

Write request to a SLC will be queued at the SLC. Therefore write operation duration
will depend on write operations from own and other client write operations to the
same SLC.

Clients side configuration


ADSOPC for OPC DA support
The configuration information for the client side part of the OPC SattLine Server is
stored in the adsopc.cfg file in the folder C:\Program Files\ABB\ADS OPC Cli-
ent\DLL by default.
The configuration file has the following format:
{
OPTIONS: {options}

SERVER_DEFAULTS: {
ID: {<dataproviderID>}
SYNCHRONOUS_TIMEOUT: {<synchronous_timeout>}
}
SERVERS: {
{
HOST:{<hostname> }
PORT:{<portnumber>}
USER:{<username> }
PASSWORD:{<password> }
DATAPROVIDERS: {
{
ID:{<dataproviderID>}
NAME:{<dataproviderName>}
}
}
}
}
}

<hostname>: Host name or IP address of the server where the


Data Server layer resides, normally the PC where
the server side part of the OPC SattLine Server
was installed. Default is “localhost”.

24 3BSE 025 466 R201 Rev C


Configuration

<portnumber>: Port number used for communication. Default


19014.
Typing 0 here means that port 19014 will be used.
Only type anything else than 0 (or 19014) if there
is conflict with another program using this port or
the two ports immediately following 19014, i.e.
19015 and 19016. To view what ports are open or
listening use the "netstat -a" command at the
prompt in a DOS command window.
<username>: User name used for the host connection. Default is
“aid”. This user name is not related to a Windows
account.
<password>: Password used for the host connection. Default is
“aid”.
<dataproviderID>: ID to identify the data provider. (dpSL)
<dataproviderName>: Name of the data provider.
<synchronous_timeout>: Time out in milliseconds of synchronous opera-
tions. May be infinite (-1) for test purpose.
<options>: Legal options are:
NoLastKnown: All item qualities ‘Bad - Last-
KnownValue’ will be converted to quality ‘Bad -
OutOfService’

For each Data Server layer to be accessed, a SERVERS entry must exist. This entry
specifies where the Data Server layer is to be found and its login information.
For each SattLine Connection (dpSL) to access, via a given Data Server layer, a
DATAPROVIDERS entry must exist. This entry specifies the name of the SattLine
Connection (dpSL) and, for this configuration, a unique dataproviderID.
The dataproviderID is the string to prefix OPC group names and OPC Item
names with, to direct an item request to the correct SattLine Connection (dpSL).
The dataproviderID specified in the SERVER_DEFAULTS section is the prefix
used if no prefix is specified.
ADSOPCae for OPC AE support
The configuration information for the client side part of the OPC SattLine Server is
stored in the adsopcae.cfg file in the folder C:\Program Files\ABB\ADS OPC AE Cli-
ent\DLL by default.
The configuration file has the following format:
{
OPTIONS: {options}

SERVER_DEFAULTS: {
ID: {<dataproviderID>}
SYNCHRONOUS_TIMEOUT: {<synchronous_timeout>}

3BSE 025 466 R201 Rev C 25


Configuration

}
SERVERS: {
{
HOST:{<hostname> }
PORT:{<portnumber>}
USER:{<username> }
PASSWORD:{<password> }
DATAPROVIDERS: {
{
ID:{<dataproviderID>}
NAME:{<dataproviderName>}
}
}
}
}
}

<hostname>: Host name or IP address of the server where the


Data Server layer resides, normally the PC where
the server side part of the OPC SattLine Server
was installed. Default is “localhost”.
<portnumber>: Port number used for communication. Default
19014.
Typing 0 here means that port 19014 will be used.
Only type anything else than 0 (or 19014) if there
is conflict with another program using this port or
the two ports immediately following 19014, i.e.
19015 and 19016. To view what ports are open or
listening use the "netstat -a" command at the
prompt in a DOS command window.
<username>: User name used for the host connection. Default is
“aid”. This user name is not related to a Windows
account.
<password>: Password used for the host connection. Default is
“aid”.
<dataproviderID>: ID to identify the data provider. (dpSL)
<dataproviderName>: Name of the data provider.
<synchronous_timeout>: Time out in milliseconds of synchronous opera-
tions. May be infinite (-1) for test purpose.
<options>: At present there is no options available.

For OPC AE access, the Sattline OPC Server only supports access to one Data Server
layer. Despite the configuration file layout, only one SERVERS entry may exist. This
entry specifies where the Data Server layer is to be found and its login information.

26 3BSE 025 466 R201 Rev C


Configuration

For OPC AE access, the Sattline OPC Server only support access to one data provid-
er. Despite the configuration file layout, only one DATAPROVIDERS entry may ex-
ist. This entry specifies the name of the SattLine Connection (dpSL) and, for this
configuration, a unique dataproviderID.
The dataproviderID specified in the SERVER_DEFAULTS section must match
the one given in the one and only DATAPROVIDERS entry.

3.3 Licensing
OPC DA license
The OPC SattLine Server is a licensed product, which means that a proper license
certificate must be obtained in order run the OPC SattLine Server. The license certif-
icate contains a number of seats – each seat corresponds to one accessed variable. Li-
cense keys are defined with a number of seats up to 20000 (20000 is equivalent to
unlimited). Accessed variables means that no more than the license key defined
number of variables can be accessed at the same time.
For example: A SattLine installation has a number of 8200 variables defined. An op-
timization application, which the customer wants to connect to SattLine, will never
access more than 850 variables to be accessed at a time. In this case a license key with
1000 seats is appropriate.
If an application accesses more than the number of variables specified by the license
key the license violation will be logged and the customer will be expected to acquire
an appropriate new license (upgrade).

OPC AE license
If the Sattline OPC server license shall include OPC AE, the license must include an
OPC_AE number different from zero
If OPC AE is licensed, no events will be lost due to limitations in the license.

3.4 Connection to an OPC SattLine Server


OPC DA connection to an OPC SattLine Server is done by instantiating the
ADS.OPC.2 object.
OPC AE connection to an OPC SattLine Server is done by instantiating the ADS.OP-
Cae.2 object.

3.5 Alarms and events


Alarms and events are accessible by OPC DA clients only if they are redirected to a
queue type variable. This redirection is done in SattLine code. The queue can be read
through the OPC DA interface as described in Queues on page 31.
Sattline events are accessible by OPC AE clients as simple events.

3.6 Security
All variables in the address space are exposed to OPC DA clients. This requires that
users of the OPC SattLine Server should be very careful when writing variables since
it may harm the function of the SattLine code.

3BSE 025 466 R201 Rev C 27


Configuration

3.7 Capacity and performance


The OPC SattLine Server is estimated to be able to subscribe 5000 tags per second.
There is no fixed limit for the number of connected clients but <10 is recommended.
A 'Near real life' test configuration has shown 10.000 tags with a one second sub-
scription from one client running smoothly.
Note: This data transfer rate is merely maintained from the memory of the OPC
SattLine Server to the OPC client(s); NOT from the physical process to the OPC cli-
ent(s).
Regarding subscriptions, the number of clients is not as important as the number of
uniquely named tags subscribed. For example, 10 clients subscribing the same 100
tags will load considerable less than one client subscribing 1.000 different tags.
The OPC SattLine Server will scan the local memory of the SattLine Connection
(dpSL) where it is running. This scan will be done for all tags subscribed by an OPC
client. Tags are scanned each OVERSAMPLING_RATE (See server configuration).
Changes found are returned to the OPC client no faster than at the rate requested by
the OPC client.
Signal propagation delay from source to OPC client will consist of SattLine control
system scan, OPC SattLine Server scan and network transmit.
With no OPC client activity, the SattLine Connection (dpSL) will load the server with
value updates from remote SattLine workstations and control systems. When the
OPC client is active additional load comes from subscribed Items and ad hoc opera-
tions. As both these loads are depending on the configuration, it will take an individ-
ual assessment to check if a given server configuration can run on the given server
hardware.
Generally the load on the OPC SattLine Server is not a critical factor in the overall
performance of the system. The critical factor stems from the limited communication
resources of the SattLine control systems. (Please refer to Appendix C on page 45 for
hints on what can be done to tune the communication load between the OPC SattLine
Server and the SattLine workstations and control systems in a typical SattLine Con-
figuration.)

28 3BSE 025 466 R201 Rev C


Runtime operations

4 Runtime operations

4.1 OPC DA variable browsing


OPC SattLine Server supports hierarchical address space browsing only.

Flat address space


This feature is not supported and attempt to do flat address browsing will fail.

Hierarchical address space


In the hierarchical address space program units and module instances will appear as
OPC branches and variables as OPC leaves. Record instances will appear as OPC
branches and leaves. When expanding a record the first variable will be named ‘*’
indicating the entire record content. Variables of queue type will appear with suffix
‘->*’, ‘->#’ or ‘(->*)’, see section Queues on page 31 for details.
The syntax for the item name is:
[<dpid>::]{<pu>:}[<mi>.] * { data }
where
data ::= { [<ri>.]* { {<vi>} | { <qi>{->*|->#|(->*)} } } } | { {<ri>.}** }
Syntax elements:

Element Description
{…} Mandatory
[…] Optional
{…}* One or more (repeated)
[…]* Zero or more (repeated)
<dpid> Data Provider ID. The id of the data provider
<pu> SattLine Program unit name
<mi> SattLine Module instance name
<ri> Reccord instance
<vi> Variable instance
<qi> Queue instance

The following example shows the item name for the variables var1 (simple type) and
rec1 (record type) in program prog1
prog1:var1 simple variable access
prog1:rec1.* entire record access
prog1:rec1.var11 record member access
prog1:rec1.var12 record member access

3BSE 025 466 R201 Rev C 29


Runtime operations

In the following example a Data Server is configured with dpid "Opcds1::". Several
sub-module instances and nested records exists.
Opcds1::prog1:var1
Opcds1::prog1:rec1.*
Opcds1::prog1:rec1.var11
Opcds1::prog1:rec1.var12
Opcds1::prog1:mod1.var1
Opcds1::prog1:mod1.rec1.*
Opcds1::prog1:mod1.rec1.var11
Opcds1::prog1:mod1.rec1.var12
Opcds1::prog1:mod1.mod11.mod111.rec1.rec11.var111
Opcds1::prog1:mod1.mod11.mod111.rec1.rec11.var112
Opcds1::prog1:mod1.mod11.mod111.rec1.rec11.rec111.*
Opcds1::prog1:mod1.mod11.mod111.rec1.rec11.rec111.var1111
Opcds1::prog1:mod1.mod11.mod111.rec1.rec11.rec111.var1112

4.2 OPC DA supported data types


Variables
The SattLine variable types supported by OPC SattLine Server are the simple data
types:
• Bool
• Int
• Real
• String
Also, SattLine queues are supported but as they cause for special treatment, they are
described as a separate item.
When reading a single variable, the result is returned as single VARIANT having one
of the following types:

SattLine variable type ADS OPC client type


Bool Variant Long (VT_I4)
Int Variant Long (VT_I4)
Real Variant Single (VT_R4)
String Variant String (VT_BSTR)

Records
It is possible to read an entire record consisting of one or more of the types described
above or a new record. If a record contains nested records the entire contents is al-
ways read recursively.
If unsupported types appear in a record, a VARIANT of type VT_EMPTY is inserted
as a place holder.
When reading a record, data is always returned as a single VARIANT having type
VT_ARRAY | VT_VARIANT, which then holds the record information.

30 3BSE 025 466 R201 Rev C


Runtime operations

For example, given the following record REC1, containing a string NAME having
value ‘FLOW’ and a sub record LIMIT containing two integers HiLim = 98 and
LoLim 77:
…REC1.*
…REC1.NAME (’ FLOW’)
…REC1.LIMIT.*
…REC1.LIMIT.HiLim (98)
…REC1.LIMIT.LoLim (77)
Now reading REC1 would return:

(VT_ARRAY | (VT_BSTR) (VT_ARRAY | (VT_I4) (VT_I4)


VT_VARIANT) VT_VARIANT)
’ FLOW’ 98 77

Which in e.g.Visual Basic could be extracted as (if V is the returned VARIANT and
depending on Option Base):
VbName = V(1) ‘contains: FLOW
VbHiLim = V(2)(1) ‘contains: 98
VbLoLim = V(2)(2) ‘contains: 77
When writing records, the same structure is used and there must be a one to one re-
lation between records entries and SattLine variables throughout the entire record.

Queues
Because there’s no defined OPC representation of queues, a workaround has been
implemented to keep all of the functionality of the queues.
When browsing and accessing queues, the following extensions are appended to the
name of the queue, e.g. if the name of the queue is ‘MyQueue’:

MyQueue->* Local queue, queue item value. If read and/or subscribed, the
first item in the queue is read without modifying the contents of
the queue. If written, the value to write is placed as the last queue
item, thus modifying the queue.
MyQueue-># Local queue, number of items in queue. If read and/or sub-
scribed, the number of items in the queue is read without modi-
fying the contents of the queue. If written, the value to write is
discarded and the first queue item is popped of the queue.
MyQueue(->*) Remote queue. Is not accessible.

A local queue will appear with two items ->* and ->#, which are different aspects
of the same queue, even though it’s a single SattLine variable.
Since a queue item ->* can consist of record(s), the data mapping for SattLine
queues is similar to the one for records. This means, that data is always returned/writ-
ten in a single VARIANT having type VT_ARRAY | VT_VARIANT, which then
holds the queue item information.
The queue item count value -># is always treated as a simple variable of type long
(VT_I4).

3BSE 025 466 R201 Rev C 31


Runtime operations

4.3 OPC DA subscription


Variables
Any valid variable addressed by its item name can be subscribed. The item name is
constructed by the components as described above. If the subscription is made with
a specific type defined the OPC SattLine Server will check the variable against the
specified type. If the type does not match the OPC SattLine Server will try to convert
it (using VariantChange), if the convert is unsuccessful the data type VT_EMPTY
and status BAD will be returned.

Records
Any record structure can be subscribed. If one or more of the items of which a record
consists changes, the entire record is considered changed.

Local queue item value ‘->*’


The value of the first queue item can be subscribed like any record. If the queue is
empty, ‘zeroed’ values are returned indicating the structure of the queue item, and the
quality will be BAD. The values of a ‘zeroed’ queue item will be:

SattLine variable type ADS OPC client type ‘Zeroed’ value


Bool Variant Long (VT_I4) 0
Int Variant Long (VT_I4) 0
Real Variant Single (VT_R4) 0
String Variant String (VT_BSTR) “”

Local queue item count ‘->#’


The local queue item count can be subscribed like any variable.

Remote queues ‘(->*)’


Remote queues cannot be subscribed.

32 3BSE 025 466 R201 Rev C


Runtime operations

4.4 OPC DA read and write requests


Variables
Any valid variable addressed by its item name can be read/written. The item name is
constructed by the components as described above.
When writing the data type of the write request is checked against the actual variable
in SattLine. If the types does not match the OPC SattLine Server will convert the type
if possible (using VariantChange). If the types match or the conversion succeeds the
value is written.
For reads the client can specify a specific data type. If the data type match the actual
data type the variable is read.

Records
It is possible to read an entire record. If a record contains nested records the entire
contents is always read recursively. If writing a record, the same structure is used and
there must be a one to one relation between records entries and SattLine variables
throughout the entire record.
If unsupported types appear in a record, a VARIANT of type VT_EMPTY is/should
be inserted as a place holder.

Local queue item value ‘->*’


Local queue items can be read/written like any record, with the difference that writ-
ing will push a queue element onto the queue.
Writing a record structure, which is incompatible with the record format of the queue,
will result in an error. Also, writing a full queue will result in an error and not affect
the contents of the queue.
Reading an empty queue will return zeroed values with quality BAD (see Local
queue item value ‘->*’ above).

Local queue item count ‘->#’


Local queue item count can be read/written like any variable.
Note: Writing the queue item count is a work around to map SattLine queues into
OPC. The value written is discarded, and an element is popped of the queue.
Trying to pop an empty queue will result in an error.

Remote queues ‘(->*)’


Remote queues cannot be accessed.

3BSE 025 466 R201 Rev C 33


Runtime operations

4.5 Alarms and events


Alarms and events are not accessible directly by OPC DA clients. To get access to
SattLine alarm and events a SattLine module has to be created to catch the SattLine
alarms and events and push them on a queue. This queue can be subscribed and read
using the mechanism described above.
Alarms and events can be obtained by OPC AE clients as simple events.

4.6 Source and program distribution


The OPC SL Server must be setup with regard to both source and program distribu-
tion. This is done as on a Sattline workstation.
New Source is when a configuration change is saved officially on the editing station.
New Program is when a changed configuration is put into 'Run' mode and the exe-
cutable parts of the program is distributed to wherever it is destined to run.
Restart is when the OPC Sattline Server is restarted. Either by entering 'Edit' mode,
reloading official source versions and the back to 'Run' mode or, if started by APS,
stopped and started via the APS manager.
There are 4 cases to consider:
1. New Source
·Added variables will NOT be accessible.
·Removed variables will STILL be accessible.
2. New Source AND Restart:
·Removed variables already accessed by OPC clients will get status 'Bad - Con-
fig Error'.
·Removed variables can not be accessed by new OPC clients.
·Added variables will get status 'Bad - Configuration error' when accessed by
OPC clients.
3. New Program
OR New Program AND New Source
OR New Program AND Restart
·Removed variables already accessed by OPC clients will get status 'Bad - Con-
fig Error'.
·Removed variables accessed by new OPC clients will get status 'Bad - Config
Error'.
·Added variables will NOT be accessible.
4. New Source AND New Program AND Restart
·Removed variables already accessed by OPC clients will get status 'Bad - Con-
fig Error'.
·Removed variables cannot be accessed by new OPC clients.
·Added variables will be accessible.
A client having access to a Variable that is removed and then recreated will continue
to show this variable as 'Bad - Config Error' as it is only the same variable by name,
not by configuration.
When started via APS, restart is done via APS stop/start. This will load all official
source files.

34 3BSE 025 466 R201 Rev C


Runtime operations

When started interactively, restart is done by going to edit mode and back to run
mode. To load a distributed source file, do a 'Reopen - official version' of the given
source file while in edit mode.

3BSE 025 466 R201 Rev C 35


Runtime operations

36 3BSE 025 466 R201 Rev C


Operation & maintenance

5 Operation & maintenance

5.1 Error messages


Windows event log
Error messages are sent to windows event log (application log). Besides some system
related error messages for diagnostic purposes, some messages can be useful to de-
termine the reason for a problem in e.g. adding an item or reading a variable.
The following lists typical situations, where error messages will be sent to the event
log:
• Error accessing SattLine memory
Typically if no SattLine configuration is loaded or it isn't running.
• Adding illegal items
If the specified item couldn't be found in the SattLine address space.
• Data format error in write operations
If number and types of the record/queue items doesn't match the SattLine config-
uration, or if trying to write a record to a variable.
• Illegal queue operations
Trying to write to a full queue or popping an empty queue.

OPC interface
• OPC DA write operations may return
ERROR_SERVICE_REQUEST_TIMEOUT (0x8007041D) for one or more
items. This is an indication that the write request was successfully requested, but
the status reply was not received within the timeout period. To increase the write
timeout, adjust OPC server parameter DEVICE_WRITE_WAIT, see Server side
configuration on page 21

3BSE 025 466 R201 Rev C 37


Operation & maintenance

38 3BSE 025 466 R201 Rev C


Appendix A

6 Appendix A

Checking for correct installation of the OPC SattLine Server


1. After having prepared a separate PC with Windows 2000 Professional,
2. and logged in as Administrator,
3. and installed the OPC SattLine Server according to the SattLine Installation and
Hardware Version 2.3 manual, remembering to create the SattLine user,
4. you may want to check the installation.
5. Start the Services utility in the Administrative Tools folder of the Control Panel:
Start > Settings > Control Panel > Administrative Tools > Services.
6. Select the ABB Program Supervision service (normally at or near the top of the
display window, if service names are alphabetized in ascending order).
1. Check that it is started and show its properties by right clicking on it and
selecting Properties.
2. Check that the specified path in the Path to executable: box actually is
where the APSService.exe file is installed, otherwise change the path.
Default contents of this box: [C:\Program Files\ABB\ABB Program Super-
vision\Bin\ APSService.exe]
3. Also check that the Startup type is Automatic.
7. Start the Program Supervision Manager:
Start >ABB >Display >Server >Program Supervision Manager
8. Select the ADSspCOM program and open the Properties window for that pro-
gram: File >Properties.
1. On the Program tab check that the specified path in the Program executable
box actually is where the ADSspCOM.exe is installed, otherwise change
the path.
Default contents of this box: [C:\Program Files\ABB\Advant\SystemMod-
ules\AdvaInformDisplay\Server\bin\ADSspCOM.exe].
Note: The ADSspCOM program will be listening on port 19014, 19015
and 19016. No other program on the PC may listen on these ports. To view
what ports are open or listening use the "netstat -a" command at the prompt
in a DOS command window.
9. Select the ADSdpDDR program:
1. Open the Properties window for that program: File > Properties
2. On the Program tab check that the specified path in the Program executable
box actually is where the ADSdpDDR.exe is installed, otherwise change
the path.
Default contents of this box: [C:\Program Files\ABB\Advant\SystemMod-
ules\AdvaInformDisplay\Server\bin\ADSdpDDR.exe].
3. Further check that the Command line box contents reflects the actual loca-
tion of the data path. Default contents of this box: [-datapath "C:\Program
Files\ABB\Advant\SystemModules\AdvaInformDisplay\Server\Data" -

3BSE 025 466 R201 Rev C 39


Appendix A

channel 0 -port 19014 -server localhost].


(You have to scroll for the last part of the contents in this box)
10. Select the dpSL program:
1. Open the Properties window for that program: File > Properties.
2. On the Program tab check that the specified path in the Program executable
box actually is where the dpSL.exe is installed, otherwise change the path.
Default contents of this box:
[C:\Program Files\ABB\OPC_SL_Server\Bin\dpSL.exe].

40 3BSE 025 466 R201 Rev C


Appendix B

7 Appendix B

Starting the OPC SattLine Server manually


1. Login as sattline user.
2. Copy the SattLine configuration to be used by the OPC SattLine Server from
the SattLine workstation where it is being maintained into a parallel catalog
structure on the OPC SattLine Server PC.
1. Include any SattLine library used/referenced by the SattLine configuration
in this copy operation.
2. Maintain the same path, catalog and file names of the SattLine configura-
tion on the OPC SattLine Server PC as on the SattLine workstation the con-
figuration is being copied from.
3. Start the OPC SattLine Server: Start > Programs > OPC SL Server > OPC SL
Server
1. Login as Manager user or another user with enough privileges to perform
the following operations.
2. Open the SattLine configuration to be used and put it in Run mode.
3. Minimize the SattLine main program and configuration windows and do
NOT use them while in Run mode.
4. Optionally configure the OPC SattLine Server for Automatic start-up. This is
done in the same way as configuring a SattLine workstation for Automatic start-
up. See the SattLine Installation and Hardware Version 2.3 manual.
5. When the SattLine configuration changes use the SattLine configuration win-
dow to login, put the configuration in Edit mode, reopen changed program units
and put the configuration in Run mode. Then minimize the SattLine configura-
tion window again.

Starting the OPC SattLine Server as a service


1. Login as Administrator.
2. Give access rights to Administrators on catalog ‘C:\Users\sattline’.
On XP:
See Sattline ‘Last minute notes’ for information on security.
The description below will allow users with Administrator rights access to the
C:\Users\sattline directory and every directory and file below.
Enter ‘Local Security Policy’ (Control Panel – Performance & Maintenance –
Administrative tools). Enter Local policies – Security options. Set ‘Network ac-
cess – Sharing & security model for local accounts’ to Classic….
In the ‘File explore’, right click directory ‘sattline’ (in the ‘C:\Users’ path) and
choose the ‘Security’ tab. Click ‘Advanced’. Edit the ‘Sattline’ rights for the
‘sattline’ directory to ‘This folder, sub-folders and files’. Add the Administra-
tors group with full access and choose ‘This folder, sub-folders and files’. Click
‘Replace permission entries on all childe objects…’ and click OK.
3. Logout of the Administrator account and Login as user sattline.

3BSE 025 466 R201 Rev C 41


Appendix B

4. Copy the SattLine configuration to be used by the OPC SattLine Server from
the SattLine workstation where it is being maintained into a parallel catalog
structure on the OPC SattLine Server PC.
1. Include any SattLine library used/referenced by the SattLine configuration
in this copy operation.
2. Maintain the same path, catalog and file names of the SattLine configura-
tion on the OPC SattLine Server PC as on the SattLine workstation the con-
figuration is being copied from.
5. Start the OPC SattLine Server: Start > Programs > OPC SL Server > OPC SL
Server.
1. Login as Manager user or another user with enough privileges to perform
the following operations.
2. Open the SattLine configuration to be used, in the following referred to as
<conf>.k, and put it in Run mode (Note: It is IMPORTANT!).
6. Set the AutostartFileName system variable to the name of the <conf> in the
menu: Setup > Station > Autostart.
(You may also want to set the AutostartWaitTime system variable to its mini-
mum value: 60s)
7. Exit the OPC SattLine Server.
8. Copy the <conf>.k file to C:\Users\sattline\<conf>.k
9. Copy C:\systemsetup.sg to C:\users\sattline\ systemsetup.sg
10. Logout of the sattline account and Login as user Administrator.
11. Start the Program Supervision Manager: Start > ABB > Display > Server >
Program Supervision Manager.
1. Select the dpSL program.
2. Open the Properties window for that program: File > Properties.
3. On the Start/Stop tab in the Startup field select the Automatic - Program is
started when the service starts radio button and click the OK button.
12. Reboot the OPC SattLine Server PC.
This will automatically start the OPC SattLine Server, open the SattLine con-
figuration designated <conf>.k above and put it in Run mode.
Any OPC client connected to the OPC SattLine Server prior to the reboot will
automatically reconnect to the OPC SattLine Server after the reboot (within a
couple of minutes).

Changing the SattLine configuration when OPC SattLine


Server runs as a service
1. Modify the SattLine configuration to be run by the OPC SattLine Server on the
SattLine workstation designated to maintain the configuration.
2. On the Sattline Workstation, save the program as official and download it (enter
run mode).
3. Approach the OPC SattLine Server PC and login as Administrator.
4. Start the Program Supervision Manager: Start > ABB > Display > Server >
Program Supervision Manager.

42 3BSE 025 466 R201 Rev C


Appendix B

1. Select and right click the dpSL program.


2. Select stop from the popup menu.
3. When the dpSL program have stopped, right click it and select start.
Note: When starting the OPC SattLine Server, being logged in as Administrator, the
SATTGRAPH.LOG file will be placed in the catalog C:\SGDebug.
When the OPC SattLine Server is started automatically, as in step 9 of the Starting
the OPC SattLine Server as a service procedure, the SATTGRAPH.LOG file will be
placed in the catalog C:\Users\sattline\SGDebug.

Comparison between the methods


The following table lists the pros and cons of the above manual procedure compared
to the recommended Starting the OPC SattLine Server as a service procedure.

Feature Manual As Service


procedure procedure
Ease of handling Simple Less simple
Automatic start after power failure Yes Yes
Action when changing SattLine configuration Go in Edit Stop and start
mode and dpSL via APS.
back to Run
mode.
Requires Windows 2000 login while in operation Yes No
SattLine configuration viewable while not in op- Yes No
eration

3BSE 025 466 R201 Rev C 43


Appendix B

44 3BSE 025 466 R201 Rev C


Appendix C

8 Appendix C

Hints on tuning the communication load added by the OPC


SattLine Server
This appendix is included to give some hints on how to tune the communication load
between the OPC SattLine Server and the SattLine system it must provide OPC serv-
ices for.
Because a SattLine system may be configured in an almost unlimited number of
ways, this appendix will/can not give exact directions on what to do in every possible
situation. However it lists some ideas which might help in tuning the communication
to an acceptable overall system performance.
Communication delays
The communication of values between the physical process and OPC clients in a
SattLine system is delayed by several intermediate scanning mechanisms in the path
of the signal as indicated in Fig.3 on page 46.

3BSE 025 466 R201 Rev C 45


Appendix C

Scan rates etc. in the path of Typical values in ms


a signal from process to OPC client
OPC client
No matter how fast the This is the rate at which
physical signal chang- the OPC SL Server eval-
es the OPC client will uates whether or not to
not receive changes send notifications to the
faster than this rate OPC clients

OPC Scan Rates 1000


OVERSAMPLE_RATE 100
OPC SattLine Server DEVICE_READ_WAIT 3000
Picture Scan Rate 750
Picture String Scan Rate 10000
Export Scan Rate 2000
Background Picture Scan Rate 60000

The rate at which The rate at which string


Boolean and number variables owned by the
variables owned by the SattLine control sys-
SattLine control systems tems are scanned
are scanned
SattLine control system
SLC Program Scan Rate 500

I/O modules Filter constant (delay) 0 - 1000

Process

Fig.3 Possible delays in the communication of values between the physical process and
OPC clients in a SattLine system.

To reduce the communication delay between the physical process and the OPC cli-
ents you might seek to lower some or all of the scanning rates in the signals path.
However, this imposes a requirement on the communication resources available, so
a compromise must be made. In this regard the communication bottlenecks lies in the
SattLine control systems.

46 3BSE 025 466 R201 Rev C


Appendix C

To optimize the OPC (and other) communication in a SattLine system with a given
configuration two main issues must be addressed:
1. Evaluate which parts of an OPC SattLine Server’s communication that are nec-
essary (as compared to the SattLine workstation(s)) for a given SattLine config-
uration and remove the parts that are not needed.
2. Balance the scanning rates with the available communication resources.
To discuss the first issue the following SattLine Configuration is used.

OP1 OP2 SLtest.k

ProgP1 ProgP1
OPC clients

ProgSLC ProgP2 ProgSLC ProgP2

OPC SL Server SLC

ProgP1

ProgSLC ProgP2 ProgSLC

Fig.4 Configuration discussed in the evaluation of the first issue.

It consists of two SattLine workstations, OP1 and OP2, and one SattLine control sys-
tem, SLC. This system is using the SattLine Configuration SLtest.k that consists of
three programs distributed as shown in the figure above.
Before adding the OPC SL Server the main automatic communication that takes
place over the network when the system is running may be listed as follows:
1. Export communication of values of variables owned by the SLC to OP1.
2. Export communication of values of variables owned by the SLC to OP2.
3. Picture communication of In-View variables from SLC to OP1.
4. Picture communication of In-View variables from SLC to OP2.
5. The same as 3 and 4 for string variables.
6. The same as 3 and 4 for background scan of all variables.
7. Explicit MMS communication between SLC, OP1 and OP2.

3BSE 025 466 R201 Rev C 47


Appendix C

Minimizing the communication load on the SLC:s


When adding the OPC SL Server the communication load on the SLC is increased
with the following:
1. Export communication of variables values owned by the SLC to the OPC SL
Server.
2. Picture communication of variables subscribed by OPC clients from SLC to the
OPC SL Server.
3. The same as 2 for string variables.
4. Background scan of all variables.
If the SLC's communication resources already are exhausted the addition of the OPC
SL Server may degrade the overall performance of the system. Therefore it may be
necessary to implement some, or all of the following, precautions to minimize the
communication load added on the SLC:s:
1. The OPC SL Server does not need background scanning of the variables; hence
this scan can be switched off in the OPC SL Server by setting the Background
Picture Scan Rate to zero.
2. The OPC SL Server does not need Export communication of the variables;
hence this scan can be switched off in the OPC SL Server by setting the Export
Scan Rate to zero.
3. If string variables are not needed by the OPC clients the Picture String Scan
Rate may be set to zero as well, i.e. switched off, or set to some high value if
only stationary or slow varying strings are referenced.
4. Set the Picture Scan Rate not higher than required by the OPC client applica-
tion(s).
5. Consider removing programs, in whole or in part, from the configuration used
on the OPC SL Server. Include only programs necessary for the OPC commu-
nication.
6. After tuning the scan rates be sure to inspect the actual scan rates on the running
system. If the actual values shows that the system is off balance more tuning is
needed.
Behaviour of the OPC clients
The behaviour of the OPC clients will of cause influence the extra communication
load imposed on SLC's by the OPC SL Server. Therefore the following recommen-
dations should be considered when engineering the OPC client applications:
1. Structure the data needed by the OPC application(s) into groups with update
rates no faster than needed. For instance put stationary or slow varying data in
a separate group with a long update period.
2. If large amounts of simple data are to be read cyclically or subscribed to, design
a SattLine data type for them and transfer them in this record structure instead.
The OPC SL Server (and indeed the OPC Data Access Custom Interface Stand-
ard) supports arbitrarily nested record structures.
3. In general writing variables to the SLC's from the OPC clients will load the
SLC's considerably more than reading the same variables; so again, if large
amounts of data are to be transferred from an OPC client to an SLC, a suitable
record structure should be used. This is recommended not only for cyclic trans-
fers but even for sporadic ones.

48 3BSE 025 466 R201 Rev C


Index
A H
Administrator 39 HOSTNAME 22, 24, 26
ADSdpDDR 39 I
ADSOPC 18 INITIAL_UPDATE_WAIT 22
Alarms 27, 34 installation 39
C client 17, 18
client server 17
architecture 9 software 17
configuration 17, 24 O
installation 18 OPC
client side 24, 25 client 9, 17
configuration compliance 10, 13
client 17, 24 item quality 12
hardware 21 SattLine Server 9, 17, 18, 21,
server 21 23, 24, 25, 26, 27, 29,
software 21 30, 32, 33
D OPC AE 9
data OPC DA 9
address 9, 21, 22, 24, 26, 27, 29, OPTIONS 25, 26
32, 37 OVERSAMPLE_RATE 22
bool 30, 32 P
int 30, 32 PASSWORD 25, 26
queue 29, 30 PORTNUMBER 22, 25, 26
real 30, 32 Q
string 30, 32 queue 9, 27, 29, 30, 31, 32, 33, 34,
subscription 9 37
type 30, 32, 33 queue name extensions 31
DATAPROVIDER 25, 26 R
DATAPROVIDERNAME 25, 26 record 9, 12, 29, 30, 31, 32, 33, 37
DATAPROVIDERS entry 25, 27 runtime operations 29
DEVICE_READ_WAIT 12, 22, S
23, 46 SattLine
DEVICE_READ_WAIT time 23 configuration 9, 17, 18, 21, 23
DEVICE_WRITE_SORT 13, 15, connection 10, 21
22 control system 10, 17
DEVICE_WRITE_WAIT 22, 23, data provider 17
37 server architecture 10
dpSL 17, 25, 40 server
E architecture 10
empty queue 12 configuration 17, 21, 22
error messages 37 installation 17
Event server side 21
Areas 13 starting manually 41
attributes 14 subscription 12, 28, 32
Filters 13 SYNCHRONOUS_TIMEOUT 25,
Severity 14 26
Time stamp 14 syntax elements 29
types 13, 14 T
events 27, 34 TRACELEVEL 21

3BSE 025 466 R201 Rev C 49


Index
U V
USERNAME 25, 26 variable 9, 27, 29, 30, 31, 32, 33, 37
variable types 30

50 3BSE 025 466 R201 Rev C


3BSE 025 466 R201 Rev C
October 2006

You might also like