GEI-100621 - WorkstationST OPC DA Server
GEI-100621 - WorkstationST OPC DA Server
GE Energy
WorkstationST* OPC DA Server
These instructions do not purport to cover all details or variations in equipment, nor
to provide for every possible contingency to be met during installation, operation,
and maintenance. The information is supplied for informational purposes only, and
GE makes no warranty as to the accuracy of the information included herein.
Changes, modifications, and/or improvements to equipment and specifications are
made periodically and these changes may or may not be reflected herein. It is
understood that GE may make changes, modifications, or improvements to the
equipment referenced herein or to the document itself at any time. This document is
intended for trained personnel familiar with the GE products referenced herein.
GE may have patents or pending patent applications covering subject matter in this
document. The furnishing of this document does not provide any license whatsoever
to any of these patents.
This document contains proprietary information of General Electric Company, USA
and is furnished to its customer solely to assist that customer in the installation,
testing, operation, and/or maintenance of the equipment described. This document
shall not be reproduced in whole or in part nor shall its contents be disclosed to any
third party without the written approval of GE Energy.
GE provides the following document and the information included therein as is and
without warranty of any kind, expressed or implied, including but not limited to any
implied statutory warranty of merchantability or fitness for particular purpose.
If further assistance or technical information is desired, contact the nearest GE Sales
or Service Office, or an authorized GE Sales Representative.
g
* Trademark of General Electric Company
CIMPLICITY is a is a registered trademark of GE Fanuc Automation North
America, Inc.
Microsoft, Windows, and Win32 are registered trademarks of Microsoft
Corporation.
OPC is a registered trademark of OPC Foundation.
Pentium is a registered trademark of Intel Corporation.
Contents
Section Page
Introduction .................................................................................................... 3
Features .......................................................................................................... 3
Naming Variables........................................................................................... 4
Toolbox Variables through SDB.............................................................. 4
ToolboxST Variables ............................................................................... 4
Data Update Rates.................................................................................... 5
Monitoring the Service............................................................................. 6
OPC DA Server Variable Configuration.................................................. 7
Using the ToolboxST Application.................................................................. 8
Using the Runtime Monitor Config Utility .................................................... 8
Implementing EGD ...................................................................................... 11
EGD Live Data....................................................................................... 11
Produced Exchange Health .................................................................... 11
EGD Command Message Protocol......................................................... 12
Dynamic EGD Updates.......................................................................... 12
Redundant EGD Produced Pages ........................................................... 13
Determining Produced Page Health ....................................................... 14
OPC Client Data Plug-in .............................................................................. 17
SDI Data Plug-in .......................................................................................... 17
Live Data.csv File Interface.......................................................................... 18
Network Status Monitor ............................................................................... 20
Configuring DCOM ..................................................................................... 21
DCOM Default Properties...................................................................... 22
Default Access Permissions ................................................................... 24
Default Launch Permissions................................................................... 26
Windows XP Service Pack 2.................................................................. 26
Windows XP DCOM Authentication..................................................... 27
Windows XP Workgroups Example ...................................................... 29
Changing the OPC Server DCOM Settings............................................ 44
DCOM Security ..................................................................................... 46
EGD ICN Service with WorkstationST........................................................ 48
Configuring Multiple Addresses ............................................................ 49
Configuring Addresses........................................................................... 52
Acronyms and Abbreviations ....................................................................... 54
Terms............................................................................................................ 55
Features
The OPC Server is OPC DA 2.05 and 3, as well as Ethernet Global Data (EGD) 3.04
compliant. It is a Class 4 EGD server, which means that it can respond to EGD
configuration HTTP requests, using all Communication Center of Excellence (CoE)
.xml configuration formats (Class 3) and is able to adapt to EGD configuration
changes to consumed EGD nodes (Class 4). It also:
Note The OPC DA Server listens to EGD messages on the EGD port, which
conflicts with older versions (prior to release V02.03.03C) of the EGD Integrated
Control Network (ICN) service. Refer to the section, Using EGD ICN Service with
WorkstationST.
ToolboxST Variables
Variable names in the ToolboxST application typically display in one of three ways:
• DeviceName.variable
• DeviceName.program.variable
• DeviceName.program.block.variable
The variable name in the OPC DA Server is the same as the name used by the
ToolboxST application.
Note When displaying public variables in a Mark VIe device, the device name at the
start of the variable does not display. However, the device name displays when the
variable is viewed from another component.
The client requests an update rate when adding a group. The OPC DA Server replies
with the selected rate, which is the closest multiple of the Maximum Client Rate
configured in the WorkstationST OPC DA Server tab, or in the Runtime Monitor
Config Options menu. For example, if the Maximum Client Rate is set to 100 ms and
the client requests a rate of 80 ms, the client is given a rate of 100. If the client
requests 160 ms, the client is given a rate of 200 ms. The actual update rate of the
variables in a group depends on the rate that the variable is being updated to the OPC
DA Server. EGD variables are updated at the EGD exchange rate. For SDI variables,
the SDI live list is requested to the controller at the group rate.
• 5000 Boolean variables changed at 640 ms, and updated on one EGD exchange
at 1000 ms
• 10000 floating point variables changed at 32 ms, and updated on 40 EGD
exchanges at 1000 ms
• 100 floating point variables changed at 32 ms, and updated on one EGD
exchange at 100 ms
The server maximum client connection rate was set to 10 ms and one client with one
group was connected with a rate of 100 ms. With the client connected, the OPC DA
®
Server used between 20 and 30 percent of a Pentium 4 2.6 GHz CPU. Without the
client connected, the CPU utilization was around 10 percent.
EGD-consumed Variables
The timestamp is the time from the component. The EGD protocol provides a
timestamp in each produced exchange, which is applied to all EGD-consumed
variables.
Variables that are read from a remote OPC DA Server using the OPC client live data
plug-in are given the timestamp from the remote OPC DA Server.
WorkstationST
WorkstationST component download
Computer
OR
Third-party
Broadcast, * EGD SDI data OPC DA
multicast, or Server plug-in Server
directed EGD
exchanges
CMP
write EGD exchanges can be
SDI data for produced by the OPC DA
Mark VIe, Mark VI, and variables Server. Variables on these
UC2000, or any third- not on EGD. exchanges can be written
party EGD device. SDI lists are to by exterior OPC clients,
Note that SDI only added and or by the internal OPC
works for Mark VIe, removed, as client. Variables can also
Mark VI, and UC2000. needed. be written to by another
EGD through an EGD CMP
message.
*Due to a port conflict, the EGD Server used here will not operate with the existing EGD ICN Service. If you want
the existing EGD Service on the same computer as the OPC DA Server, there will be a conflict. For example, if you
want CIMPLICITY® on the same computer, but you do not want CIMPLICITY to obtain data from the OPC, CIMPLICITY’s
use of the ICN Service will conflict.
**The EGD Configuration Server and SDB contain data for EGD devices. The configuration utility can optionally
import data into the EGD Configuration Server. The configuration files used by the OPC DA Server are built from the
data in the EGD Configuration Server. The ToolboxST application also allows data to be obtained from an existing
SDB.
Select components to be built into the configuration. All audible EGD variables are
placed in the OPC DA Server. Variables are audible if the EGD exchange on which
they reside is being sent to a destination (broadcast, directed, or multicast) that the
server can hear.
Note The address and subnet mask settings should match a network adapter used by
the OPC DA Server computer.
The Producer Device Name displays in the lower-left corner of the window. If the
producer information cannot be obtained from the EGD Configuration Server, click
the Edit PC Network Settings button to change the settings for this computer. For
example, if you wanted to consume an EGD component that was broadcasting a page
to 172.20.255.255 on the network Unit Data Highway (UDH), you could add a
network in the Edit PC Network Settings dialog box, then enter the address, subnet
mask, and network name to hear this broadcast (for example, 172.20.100.10 mask,
255.255.0.0 network name UDH).
Note If the EGD Generic Device editor is installed, the Launch Generic EGD Editor
button displays.
Implementing EGD
The OPC DA Server has its own EGD server running, which handles the following:
EGD exchanges configured with variables owned by the OPC DA Server are
produced. The variables become writable OPC DA Server variables.
Note For Class 3 devices, data retrieval is attempted from the device. If that fails, a
retrieval is attempted from the EGD Configuration Server.
Changes to a component’s configuration that do not effect the EGD exchange are
still sometimes required by the OPC DA Server or some other feature of the
WorkstationST product. For example, a configuration may be downloaded to a Mark
VIe component with new alarm information or data logging information. Mark VIe
components have the application minor revision on the status page for the R, S, and
T controllers. Mark VIe components also have the Dynamic Data Recorder (DDR)
revision on the default EGD page for R, S, and T controllers. The OPC DA Server
monitors the EGD variable values for MinorRevisionX (X = R, S, or T) and
DDRRevisionX. When the OPC DA Server’s revision (kept in the EGD symbol table
for each component) does not match at least one of the R, S, or T revisions, the OPC
DA Server requests a configuration update for the EGD symbol table for that
component.
To show redundancy
On the EGD tab, select a Produced Page.
Health Timeout Multiplier can be configured for each Produced Page. If the
health timeout multiplier is greater than 0, and at least one page variable is written by
a data source within the timeout multiplied by the page period, the page is sent by the
primary producer (or the secondary if the primary is not producing). A flag allows
the first variable in the page (the one at offset 0.0) to be the only variable monitored
to determine the data source health.
The WorkstationST OPC DA Server provides EGD and other data to OPC DA
clients. If redundant data must be sent to multiple OPC DA clients, multiple
WorkstationST computers can be configured and each OPC DA client can connect to
a different WorkstationST OPC DA Server. The OPC DA client must determine
page health and select the best source.
When the OPC DA Server is started, and whenever the specified .csv file is changed,
the live values are read and set to the variables specified in the .csv file. The
variables can be any writable variables to which the WorkstationST has access. For
example, a client-driven variable can be defined and put onto an EGD Produced
Page. This variable’s value is then updated from the .csv file values. Any errors
display in the Status tab.
The .csv file format is one line of variable names and a second line of data values,
for example:
Var1,Var2,Var3
3.7,true,4.5
/Horiz - Without this option, the output format has one line of comma separated
variables and a second line with comma separated values. With this option the output
format has one line per variable with name, value and optional extended data.
/Header - Includes a column header line. This option is only used when the /Horiz
option is used
If the /SeparateDateTimeColumns options was specified, Date and Time are also
valid column headers
If the /AdditionalColumns option was used, the headers specified are also valid for
the ColumnOrder list. This is only valid when used with the /Horiz option.
If the argument following the options is a valid file path, the file is expected to
contain a list of variables, one per line with optional comma separated columns for
scale, offset and a translated output name (see an example below). Otherwise, the
argument following the options can be a list of comma-separated variable names
var,scale,offset,translatedName
G1.Celcius,1.8,32,G1.Farenheit
/ColumnOrder="Area,Name,Value,Date,Time,Description,Units,Second Language
Description" var1,var2,var3 outputfile.csv
This utility can be used with the WorkstationST Task Scheduler to provide periodic
writing of .csv data.
<workstationDeviceName>.NetMonitor.<otherDevice>.<networkName>.varname
• Error
• Warning
• Online
In addition to the network monitor variables, each WorkstationST and MarkVIe
controller provides a default _Status page on EGD. The WorkstationST monitors the
variables on the _Status page and provides their live values to OPC DA clients.
The ToolboxST application uses an SDI live connection to obtain live values from
the WorkstationST OPC DA Server. A new live updated status message provides the
ToolboxST access to the above network status. Using this list between ToolboxST
and a local WorkstationST does not create any additional network traffic. The OPC
DA Server obtains the status information through EGD updates of _Status pages and
from the Network Status Monitor Client feature.
Note This does not apply to computers using Windows workgroups. Refer to the
section, Windows XP Workgroups Example.
This configuration is the default for Windows 2003, and Windows 2000. The Default
Authentication Level on the client computer should either match, or be more
restrictive than the authentication level on the server. When a DCOM connection is
attempted, the higher of the two levels is used. If the server is configured for Connect
level, and the client is configured for None, the client is rejected. This authentication
process occurs before any other DCOM security is checked.
Note Windows XP defaults the access permissions to allow access for both system
and self. Windows 2000 defaults the access permissions to an empty list of users,
groups, and computers. To allow any client to connect in Windows 2000 or
Windows XP, you must add Interactive with Allow Access permissions to the
Default Access permissions.
In the above example, the computer named Corsair contains the OPC Server. Corsair
is added with access to this computer.
If the logon was changed to a different user, add the user computer rather than the
server computer (refer to the section, Changing the OPC Server DCOM Settings).
In a Windows domain, both the client and server computers reside in the domain.
Therefore, the DCOM default settings allow the client to connect, add groups, and
browse.
Note Any change to the default DCOM configuration on either the client or the
server computer requires a restart.
Windows XP Service Pack 2 contains a firewall that does not allow DCOM and
other communications from remote computers. If a connection is made to the OPC
Server by an OPC client on a remote computer, the firewall settings must be correct.
With a client and the server on the same computer, no adjustment to the firewall
settings is necessary.
The setup package for the OPC Server modifies the Windows firewall Exception list
to include the ports needed for EGD, DCOM, and SDI communications. The
GeCssOpcServer application is also added. All clients must be added to the list, as
well.
The Windows Firewall allows traffic across the network interface when initiated
locally, but by default stops any incoming “unsolicited” traffic. However, this
firewall is “exception” based, meaning that the administrator can specify
applications and ports that are exceptions to the rule and can respond to unsolicited
requests. The firewall exceptions can be specified at two main levels, the application
level and the port and protocol level. The application level is where you specify
which applications are able to respond to unsolicited requests and the port and
protocol level is where you can specify the firewall to allow or disallow traffic on a
specific port for either TCP or UDP traffic. To make any OPC client/server
application work via DCOM, changes need to be made on both levels.
Note The System user is not the same as the Administrator user.
Note Permissions must be applied to the server computer to allow the client to
communicate to the server (connect, browse, read, write). For the server to respond
with data change notifications, the settings must be applied to the client computer.
Ensure that the Authenticate Users as Themselves local security policy has been set
correctly. For more information, refer to the section, Windows XP DCOM
Authentication.
Both the computers must be in the same workgroup and have an identical account
and password on each. This common account is the account under which the OPC
DA client will run. This account should be included in the Default Access and
Default Launch and Activation Privileges with Remote Access enabled.
The default properties of the computer are left as the XP default. For information on
running dcomcnfg.exe and changing computer properties, refer to the section,
Configuring DCOM.
Under Access
Permissions, click
Edit Limits... to
open the Access
Permission dialog
box and display
the Security
Limits tab.
Under Access
Permissions, click
Edit Default... to
open the Access
Permission dialog
box and display
the Default
Security tab.
After all new DCOM settings have been changed, restart your machine.
OpcEnum will
appear after
WorkstationST
is installed.
Note If you change the Logon As setting, you must also change the DCOM identity
setting to match.
Expand the
DCOM Config
file.
Abstract
OPC Server vendors have two approaches to networking:
• The client can connect to a local server to use the existing proprietary network
scheme. This approach will commonly be used by vendors who are adding OPC
capability to an existing distributed product.
• The client can connect to the desired server on a target machine, then use
DCOM for networking. This approach may be used in conjunction with the
above approach.
Using DCOM for remote OPC Client/Server communications is necessary for cross-
vendor interoperability. Consequently, there are several issues that surface in the
design, development, implementation, and deployment of distributed (DCOM-
enabled) OPC components.
If the client's username is not included in this list (either directly or indirectly as a
member of a group of users), DCOM rejects the call before the component is ever
involved. This default security mechanism is completely transparent to both the
client and the component and is highly optimized. It is based on the Windows NT
security framework, which is probably one of the most heavily used (and optimized!)
parts of the Windows NT operating system: on each and every access to a file or
even to a thread-synchronization primitive like an event or semaphore, Windows NT
performs an identical access check. The fact that Windows NT can still compete with
and beat the performance of competing operating systems and network operating
systems shows how efficient this security mechanism is.
There are three main issues: authentication, launch (activation) permission, and
access (call) permissions, which all operate more or less independently of each
other.
Once the user has been authenticated, two additional types of security are defined in
DCOM: activation security (permissions) and call security (permissions).
Activation security controls which classes a client is allowed to launch and retrieve
objects from, and is automatically applied by the Service Control Manager of a
particular machine. Upon receipt of a request from a remote client to activate an
object, the Service Control Manager of the machine checks the request against
activation setting information stored within it’s registry.
Call security provides the security mechanism on a per-call basis that validates
inter-object communication after a connection between a client and server has been
established. Call security services are divided into three categories:
To allow multiple EGD processes to co-exist, version V02.03.01 and later of the ICN
service will bind the EGD sockets using a unique address. WorkstationST, and the
controller simulator products use this same technique for binding the EGD sockets.
Note For new applications, when assigning IP addresses, the computer network
connection's primary IP address should be assigned to WorkstationST. Other
processes can use secondary addresses. It is important for WorkstationST to have the
first address if it has been configured to produce EGD containing read/writable
variables. If WorkstaionST is not producing EGD, or is not producing any
read/writable variables, this note does not apply.
DA Data Access
EGD - A mechanism that provides access to global data between nodes supporting
the EGD protocol.
Exchange - An EGD data message consisting of a header and a body of data. The
header contains the producer ID and the exchange ID that uniquely identifies the
message. The body of data is a block of bytes in a format agreed upon by the
producer and all consumers.
OPC (OLE for Process Control) - A standard for data exchange in the industrial
environment (OLE is Microsoft’s Object Language Embedding). The OPC
foundation provides specifications for various OPC standards such as OPC DA (Data
Access) and OPC AE (Alarm and Event).
Producer - The EGD node configured to send data messages. The source of the
data samples for an exchange.
Refresh - To bind the configuration for each consumed exchange for a particular
consumed component.
Unbound Variables - Variables required by a consumer that were not found in the
producer configuration during the bind.