OPC (Object Linking and Embedding for Process Control) is a client/server model intended to provide
greater interoperability between automation/control applications, field devices and business/office
applications in the process control industry.
OPC Server applications communicate directly with field devices, whilst OPC Clients are able to
retrieve that information from the OPC Server. In terms of OpenEnterprise this architecture is best
illustrated in the diagram below.
The OPC Client RDI provides a means of collecting data from OPC Servers and inserting the data
into an OpenEnterprise database. The OpenEnterprise OPC Client RDI is capable of communicating
with several OPC Servers concurrently, but only connects to one OpenEnterprise database at a time.
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D5092
12-Dec-2007 - Page 6
OPC Client RDI
2 The OPC Client RDI Interface
The OPC Client RDI interface provides the user with three pages of information which display general
and status information for configured OPC Servers, Groups and Items.
2.1 Accessing the OPC Client RDI Interface
The OPC Client RDI interface can be set to be invisible if the 'Visible on the Desktop' box is left
unchecked on the Settings page for the task. However, if this field is checked, then the interface will
appear as a minimized icon on the Windows® Start bar when the OpenEnterprise session is run.
To edit the OPC Client RDI task within the Session Manager, select the task from the Session
Manager's Task List, select Stop from the context menu to stop the task. Then select the Properties
item from the same context menu. See the Session Manager Help for more information.
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D5092
12-Dec-2007 - Page 7
OPC Client RDI
3 The OPC Server Page
This page displays information about the OPC Servers that the OPC Client RDI is currently set up to
connect to.
3.1 File Menu
The File menu provides only one option, which is to Exit the OPC Client RDI.
3.2 Help Menu
The Help menu provides an option to open this help file, and also to view the About box, which
provides information on the application version and build and also Bristol contact details.
3.3 Database Address
This is the TCP address of the OPC Client RDI driver as defined in the Services file, by default found
in the 'C:\Winnt\System32\Drivers\etc' directory.
An example entry in this file for the OPC Client RDI would be:-
opcclientrdi 11006/tcp OPCCLIENTRDI
The format being <service name> <port number>/<protocol> [aliases...] [#<comment>].
The OPC Client RDI's service name is stored in the address attribute of the applicable driver in the
OPCDriver table entry of the OpenEnterprise database.
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D5092
12-Dec-2007 - Page 8
OPC Client RDI
3.4 Driver Version
This is the OPC Client version number. It does not represent the OPC Data Access standard.
3.5 Time Zone
The Time Zone setting of the OPC Client RDI, as sourced from the OPC Driver table. Because the
OPC standard is vague about how individual OPC Servers should format timestamps, special
consideration should be given as to whether the OPCDriver should convert timestamps to UTC.
3.6 Timestamp Conversion
The OpenEnterprise database requires that all timestamp values are stored in UTC. However the
OPC standard is vague about how individual OPC Servers should format timestamps, and from
experience on site it has been seen that some OPC Servers report timestamps in local time, while
others report timestamps in UTC. The OPC Client RDI can handle both of these situations, as
detailed below.
If the OPC Server is communicating with an OPC Server that does report timestamps in local time,
then the OPC Client RDI must be configured to convert those timestamps into UTC before they are
inserted into the database. This is achieved by setting the OPCDriver attribute ConvertTimeStamps to
TRUE. (which is the default value for this attribute) and ensuring that the timezone attribute of this
table is set to the same timezone as that with which the OPC Server is reporting timestamps. These
values can then be used in conjunction with any time bias that may be defined to correctly convert the
timestamps into UTC before they are inserted into the database.
If the OPC Server returns timestamps in UTC then no time conversion is required, and in this case the
ConvertTimestamps attribute value must be set to FALSE.
3.7 OPC Client RDI Driver Status
A zero means the driver is working properly. Non-zero means there are problems.
3.8 OPC Server Name
The name of the OPC Server. It is sourced from the networkame attribute of the opcserver table.
3.9 OPC Server Prog ID
The program id of the OPC Server as sourced from the OPCServer attribute of the OPCServer table.
3.10 OPC Server Network Address
This displays the computer on which the OPC Server is running. If the Server is running on the local
machine, this field will say 'Local'.
3.11 OPC Server OPC Version
This value indicates the Data Access standard to be used when communicating with the OPC Server.
This will be listed on the dialog as either 1.0 (corresponding to a value of 0 in the opcversion attribute
of the OPCServer table), or 2.04 (corresponding to a value of 1 in the opcversion attribute of the
OPCServer table).
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D5092
12-Dec-2007 - Page 9
OPC Client RDI
3.12 OPC Server Status
A zero value means there are no errors. Anything else is an error. The possible status codes and their
meaning are described in the OPC Server Status Codes topic. Click the link below to go to this topic
now.
3.13 Sub Status
The SubStatus attribute can hold any error returned either by COM or by a specific OPC Server.
3.14 Group Details Button
When an OPC Server is selected from the list, this button becomes enabled. Clicking the button then
opens the OPC Group Details Page, which displays OPC Groups that have been configured for the
selected OPC Server. Click on the link below to view help for this page.
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D5092
12-Dec-2007 - Page 10
OPC Client RDI
4 The OPC Group Details Page
This page displays details about the OPC Groups which have been configured for the selected OPC
Server.
4.1 Number of Groups
The number of Groups configured for the selected OPC Server
4.2 OPC Group Name
The name of each configured OPC group sourced from the name attribute of the opcgroup table.
4.3 OPC Group Active
This value displays True if the Group is currently active, False if not. If a Group is marked as inactive,
then the OPC item values associated with it will not be reported to the OPC Client RDI.
4.4 OPC Group Status
A zero value means there are no errors. Anything else is an error. The possible status codes and their
meaning are described in the OPC Group Status Codes topic. Click the link below to go to this topic
now.
4.5 Sub Status
The SubStatus attribute can hold any error returned either by COM or by a specific OPC Server.
4.6 OPC Group Requested Rate
The period, in milliseconds, at which the OPC Client RDI requires any changes in data or quality, for
OPC Items within the group, to be reported. This value is sourced from the requestedupdaterate
attribute of the opcgroup table.
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D5092
12-Dec-2007 - Page 11
OPC Client RDI
4.7 OPC Group Revised Rate
The period, in milliseconds, at which the OPC Server is able to supply changes in data or quality for
the OPC Items within the group. The value is sourced from the revisedupdaterate attribute of the
opcgroup table.
4.8 Deadband
Applicable only to real analogue OPC Items within the Group and specifies the percentage change in
value within the update period which is required for a data value change to be reported to the OPC
Client RDI. The value is sourced from the percentdeadband attribute of the opcgroup table.
4.9 Locale
Indicates the locale in which data for this group should be returned. The default value of 2048
indicates that data should be retuned using the default system locale.
The formatting of numbers, dates, language or currency depend on the Locale. It is sourced from the
locale attribute of the opcgroup table.
4.10 Time Bias
Used to indicate a difference in time zone between the device(s) from which the data for this group
was collected, and that in which the OPC Client and OPC Server are located.
This is ignored by the OPC Server but is used by the OPC Client RDI to provide correct time stamp
conversion to UTC for all OPC Items within the group.
This is on top of any time zone and DST conversion defined by the setting of the time zone attributes
in the OPCDriver table. The value is sourced from the timebias attribute of the opcgroup table.
4.11 Item Details Button
When an OPC Group is selected from the list, this button becomes enabled. Clicking the button then
opens the OPC Item Details Page, which displays OPC Items that have been configured for the
selected OPC Group. Click on the link below to view help for this page.
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D5092
12-Dec-2007 - Page 12
OPC Client RDI
5 The OPC Item Details Page
This page displays details about the OPC Items that have been configured for the selected OPC
Group. for help on each feature of the page.
5.1 Number of Items
The number of items in the selected Group.
5.2 Item Name
This is the unique name of the signal as it appears in the Signal table. The value is sourced from the
name attribute of the relevant OPCItem table.
5.3 Tag Id
The Tag Id uniquely identifies the OPC Item to the OPC Server. It is sourced from the datumaddress
attribute of the relevant OPCItem table.
5.4 Item Active
This value displays True if the Item is currently active, False if not. If the item is inactive, then changes
in value will not be reported to the OPC Client RDI.
5.5 Item Status
A zero value means there are no errors. Anything else is an error. The possible status codes and their
meaning are described in the OPC Item Status Codes topic. Click the link below to go to this topic
now.
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D5092
12-Dec-2007 - Page 13
OPC Client RDI
5.6 Sub Status
The SubStatus attribute can hold any error returned either by COM or by a specific OPC Server.
5.7 Requested Type
This is the data format with which the OPC Client RDI will request the value for the item from the OPC
Server. It is sourced from the opcrequesteddatatype attribute of the relevant OPCItem table. Code
numbers for the Data Types are given below.
Code
0 Native format - i.e. the data type of the OPC Item as
defined by the OPC Server
1 Single Byte Integer Value
2 Two Byte Integer Value
3 Four Byte Integer Value
4 Four Byte Floating-Point Value
5 Eight Byte Floating-Point Value
8 A String Value.
11 A Boolean Value
If the user is unsure as to the data type of an OPC Item, the requested data type should be set to 0.
Data Type
5.8 Canonical Type
This is the data format with which the OPC Server will actually return the data to the OPC Client. It is
sourced from the opccanonicaldatatype attribute of the relevant OPCItem table. Code numbers for the
Data Types are given below.
Code
Data Type
1 Single Byte Integer Value
2 Two Byte Integer Value
3 Four Byte Integer Value
4 Four Byte Floating-Point Value
5 Eight Byte Floating-Point Value
8 A String Value.
11 A Boolean Value
5.9 Access Path
An optional attribute, which is used to specify to the OPC Server a preferred access path by which the
value for the OPC Item should be obtained.
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D5092
12-Dec-2007 - Page 14
OPC Client RDI
5.10 Access Rights
This displays the access rights applicable to this item, as returned by the OPC Server, taken from the
opcaccessrights attribute of the relevant OPCItem table.
Code
RW
W
RW
Value as seen in database Meaning
1 Readable
2 Writable
3 Read and Writeable
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
eturned
adding group to serve
D5092
12-Dec-2007 - Page 15
OPC Client RDI
6 Status Codes
OPC Server status and sub status codes are displayed on the OPC Server Page of the OPC Client
RDI. The following values apply to the Status attribute of the OPCServer table.
Code Number
-1 Failed to initialise COM. A fatal error that would prevent the OPC Client RDI
from functioning.
-2 The Program Id of the OPC Server could not be resolved.
-3 Unable to start the OPC Server. The value of the SubStatus attribute should
provide additional information as to the cause. This problem is most likely to
happen when the OPC Client RDI and target OPC Server(s) are located
remotely to each other.
-4 OPC Server does not support the IOPCCommon Interface. The most common
reason for this would be that the OPC Server doesn't the support the Data
Access 2.04 standard, but that the associated OPCServer table entry indicates
that the Data Access 2.04 interfaces should be used for communication. This
will generally indicate that no data can be obtained from the OPC Server.
-5 Failed to update Locale. This is a non-fatal error status.
-6 Attempting to restart OPC Server. Informational error indicating that the OPC
Server is not available, but that periodic reconnection attempts are being
made, as per the configuration of the OPCServer table entry.
-7 Unable to start the restart thread. An internal error, which should only happen if
system resources were exhausted.
-8 Unable to start status timeout thread. An Internal error, which should only
happen if system resources were exhausted.
-9 Unable to start status check thread. An Internal error, which should only
happen if system resources where exhausted.
-10 Indicates that the OPC Client RDI is still awaiting an activate message from the
database. The most likely reason for this is that the OPC Client RDI has
connected to the standby.
Explanation
6.1 OPC Group Status Codes
The Group Details page displays status and sub status codes for OPC Groups. The following values
apply to the Status attribute of the OPCGroup table.
Code Number
-1 Group Initialisation failed. There are various reasons for this, not least that the
OPC Server is not available, or that the wrong OPC standard is being used to
communicate with that server, which would result in an E_NO_INTERFACE
value for the SubStatus.
-2 Unable to Add the OPC Group to the Server. The SubStatus will generally
provide an indication of the reason, e.g. a duplicate group name has been
defined, or the OPC Server hasn't initialised.
-3 IUnknown Pointer not r
Explanation
when
r. This would
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D5092
12-Dec-2007 - Page 16
indicate a problem in the configuration of the OPC Server and/or the definition
of the OPCGroup entry. The SubStatus attribute should be consulted for
further information.
-4 Unable to set up a callback sink with the OPC Server, meaning that
unsolicited data cannot be received.
-5 Unable to obtain a requested interface. Most likely to occur if the associated
OPC Server doesn't support the configured OPC Data Access standard.
-6 Unable to create an OPC Group instance. This would be as a result of an
internal COM error, and is unlikely to occur.
-7 Failed to update one of the following OPC Group
properties.RequestedUpdateRate, Active, PercentDeadBand, Locale, or
TimeBias.
-8 Failed to update OPC Group name. This would occur if the group name is
already defined within the OPC Server generally as a result of another OPC
Client connection to that server.
-9 An attempt to refresh the items within the group failed. A common reason for
this would be that the Group is inactive or that no items within the Group are
currently active.
-10 Indicates that the OPC Client RDI is still awaiting an activate message from
the database. The most likely reason for this is that the OPC Client RDI has
connected to the standby.
-11 Unable to start the Add Items thread. An Internal error, which should only
happen if system resources where exhausted.
OPC Client RDI
6.2 OPC Item Status Codes
The Item Details page displays status and sub status codes for OPC Items. The following values
apply to the Status attribute of the OPC Item table.
Code
Number
-1 OPC Server reported an error related to the OPC Item. The SubStatus attribute
should be consulted for further information.
-2 Unable to add OPC Item to the designated OPC Group. The Substatus attribute
value will indicate the cause of this error, but common causes are that the OPC
Tag is invalid and or that the requested data type is invalid for the tag.
-3 Parent Group does not exist - (an internal error that is unlikely to occur).
-4 This will occur if an attempt is made to change the requested data type for the
OPC Item to an unsupported type for the associated tag. The SubStatus attribute
will generally show the value OPC_E_BADTYPE to reflect this, although other
errors are possible.
-5 Unable to remove the Item from the Group - (only generated in conjunction with
an attempt to move an OPC Item to another Group).
-6 Target Group does not exist. Unlikely to occur due to referential integrity checks
in the database, i.e. an item can't be assigned to a group that doesn't exist!
-7 Failed to update Active property of the OPC Item. The SubStatus attribute
should be consulted for the reason for the failure.
Explanation
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
cates that the OPC Server doesn't
D5092
12-Dec-2007 - Page 17
-8 An attempt to update an OPC Item value failed. See the SubStatus attribute for
further information as to the cause. The most common cause would be that the
OPC Item is not writable, in which case the SubStatus value would be
OPC_E_BADRIGHTS.
-9 A requested refresh for the OPC Item failed. See the SubStatus attribute value
for further details.
-10 Indicates that the OPC Client RDI is still awaiting an activate message from the
database. The most likely reason for this is that the OPC Client RDI has
connected to the standby.
OPC Client RDI
6.3 Sub Status Codes
Because the SubStatus attribute can hold any error returned either by COM or by a specific OPC
Server it is not possible to provide a full listing of all values. The following table highlights the most
common errors that might be encountered. All sub status values are given in hexadecimal format, as
displayed on the OPC Client dialogue.
Code Number
S_FALSE(0x1) Indicates that although the action
completed, there were errors when
dealing with that action. For instance if 10
items are added to an OPC Group in the
same call, and one of those items were
invalid, the OPC Group SubStatus
attribute would show S_FALSE
E_FAIL(0x80004005) Unspecified error. Generally something
catastrophic within the associated OPC
Server.
E_OUTOFMEMORY(0x8007000E) The OPC Client RDI or the OPC Server
was unable to complete the action due to
a lack of available memory.
E_INVALIDARG(0x80070057) An argument used in a call to the OPC
Server is invalid.
DISP_E_TYPEMISMATCH(0x80020005) Generally occurs because an OPC Item
has been configured with an invalid
requested data type, e.g. VT_BOOL for
an OPCItemString.
OPC_E_DUPLICATE_NAME(0xC004000B) This error should never occur, but would
indicate that a group of the same name is
already registered with the applicable
OPC Server.
OPC_S_UNSUPPORTEDRATE(0x4000D) This is a non-fatal status code indicating
that the OPC Server is unable to supply
data at the rate specified by the
RequestedDataRate. The
RevisedUpdateRate attribute can be
consulted for the update rate that the
OPC Server can support.
E_NOINTERFACE(0x80004002) Indi
Explanation
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D5092
12-Dec-2007 - Page 18
support the requested method. This is
most likely to occur if the OPC Server
doesn't support the data access standard
defined by within the OPCVersion
attribute of the associated OPCServer
table entry.
CONNECT_E_NOCONNECTION(0x80004200) Indicates that an asynchronous request
has been made, but that no callback sink
is available to report the results of that
request back to the client.
OPC_E_UNKNOWNITEMID(0xC0040007) Indicates that the associated OPC Server
has been unable to resolve the OPC
Item, and that no data is therefore
available. E.g. a tag may be defined that
is syntactically correct, but which can't be
obtained by the OPC Server.
OPC_E_INVALIDITEMID(0xC0040008) Indicates that the associated OPC Server
deems the tag format of the OPC Item to
be invalid.
OPC_E_UNKNOWNPATH(0xC004000A) The access path defined for the OPC
Item, is not known to the OPC Server.
OPC_E_BADTYPE(0xC0040004) The data type requested for the OPC
Item (i.e. the value of the
requesteddataatype attribute), is invalid.
OPC_S_CLAMP(0x4000E) Associated with a write request and
indicates that the value was updated, but
was clamped.
OPC_E_RANGE(0xC004000B) Associated with a write request and
indicates that the value was out of range.
OPC_E_BADRIGHTS(0xC0040006) Indicates either that an attempt was made
to write to a non writable item, or that a
read request was made on a non
readable item.
OPC Client RDI
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D5092
12-Dec-2007 - Page 19
OPC Client RDI
7 OPC Quality Flags
The opcquality attribute of each OPC Item indicates the quality state for an item's data value. This
value can provide very useful diagnostic information. The values that can be returned for the
opcquality attribute belong to one of three OPC quality states: -
1. Bad Quality
2. Uncertain Quality
3. Good Quality
7.1 Bad Quality Flags
The opcquality attribute of each OPC Item indicates the quality state for an item's data value. This
value can provide very useful diagnostic information. The following table lists all values which could
be returned for this field when the OPC quality is bad.
OPCQuality Value
0 The value is bad but no specific reason is known
4 There is some server specific problem with the configuration. For
example the item is question has been deleted from the
configuration.
8 The input is required to be logically connected to something but is
not. This quality may reflect that no value is available at this time, for
reasons like the value may have not been provided by the data
source.
12 A device failure has been detected
16 A sensor failure had been detected (the ’Limits’ field can provide
additional diagnostic information in some situations.)
20 Communications have failed. However, the last known value is
available. Note that the ‘age’ of the value may be determined from
the TIMESTAMP in the OPCITEMSTATE.
24 Communications have failed. There is no last known value is
available.
28 The block is off scan or otherwise locked This quality is also used
when the active state of the item or the group containing the item is
InActive.
Description
7.2 Uncertain Quality Flags
The opcquality attribute of each OPC Item indicates the quality state for an item's data value. This
value can provide very useful diagnostic information. The following table lists all values which could
be returned for this field when the OPC quality is uncertain.
OPCQuality Value
64 There is no specific reason why the value is uncertain.
68 Whatever was writing this value has stopped doing so. The returned
Description
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D5092
12-Dec-2007 - Page 20
value should be regarded as ‘stale’. Note that this differs from a BAD
value with Substatus 5 (Last Known Value). That status is associated
specifically with a detectable communications error on a ‘fetched’
value. This error is associated with the failure of some external
source to ‘put’ something into the value within an acceptable period
of time. Note that the ‘age’ of the value can be determined from the
TIMESTAMP in OPCITEMSTATE.
90 Either the value has ‘pegged’ at one of the sensor limits (in which
case the limit field should be set to 1 or 2) or the sensor is otherwise
known to be out of calibration via some form of internal diagnostics
(in which case the limit field should be 0).
94 The returned value is outside the limits defined for this parameter.
Note that in this case (per the Fieldbus Specification) the ‘Limits’ field
indicates which limit has been exceeded but does NOT necessarily
imply that the value cannot move farther out of range.
98 The value is derived from multiple sources and has less than the
required number of Good sources.
OPC Client RDI
7.3 Good Quality Flags
The opcquality attribute of each OPC Item indicates the quality state for an item's data value. This
value can provide very useful diagnostic information. The following table lists all values which could
be returned for this field when the OPC quality is good.
OPCQuality Value
192 The value is good. There are no special conditions
204 The value has been Overridden. Typically this is means the input has
been disconnected and a manually entered value has been ‘forced’.
Description
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D5092
12-Dec-2007 - Page 21
OPC Client RDI
8 OPC Client Configuration
There are three aspects to configuration of the OPC Client RDI: -
1. Start up configuration - Session Manager configuration
2. Start up configuration - Poly.cfg file
3. Database configuration
8.1 Session Manager Configuration
To edit the OPC Client RDI task within the Session Manager, select the task from the Session
Manager's Task List, select Stop from the context menu to stop the task. Then select the Properties
item from the same context menu. See the Session Manager Help for more information.
8.1.1 The Session Manager Task Page
On the Task page of the wizard fill in the following fields.
8.1.1.1 The Program
The full path and filename of the OpenEnterprise OPC Client RDI application is C:\Program
Files\Bristol\OpenEnterprise\bin\OEOPCClientRDI.exe. Use the browse button if you are uncertain.
8.1.1.2 Run Program in the following folder
This will be the Data directory of the OpenEnterprise project.
8.1.1.3 Program Arguments
This should be the switch /r followed by a space, followed by the TCP/IP service name of the OPC
Client RDI - e.g. /r opcclientrdi. No quotes are necessary. This is the most important value for the
OPC Client RDI, because it gives the OpenEnterprise Database a connection to the OPC Client RDI .
8.1.2 The Task Shutdown Page
This value should be set to _NULL, which is the default.
The other values for Session Tasks can also be entered on this key, however the ones above are the
most important. See the Session Manager help file for further information on the other key values, and
more information on configuring the Session Manager.
8.2 Polyhedra Config File
There are two resources within the Poly.cfg file that should be checked before running the
OpenEnterprise OPC Client RDI.
8.2.1.1 Dvi_register_datum_with_values
This resource should be set to TRUE.
8.2.1.2 Dvi_triggers_on
This should be set to FALSE.
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D5092
12-Dec-2007 - Page 22
Refer to the Session Manager help file for more information on the Poly.cfg file resources used by the
database.
OPC Client RDI
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D5092
12-Dec-2007 - Page 23
OPC Client RDI
9 Database Configuration
The elements of the OpenEnterprise database DeVice Interface (DVI) table architecture and the OPC
Data Access Interface were mapped with each to provide complete compatibility. The following topics
explain how this was done.
9.1 Database DVI Architecture
These tables are structured to model the relations between the RDI drivers and devices (RTU/PLCs)
in the field. An entity diagram for these relations would look like this: -
The base tables to which these entities are mapped are generally derived from to provide information
and management functionality specific to the RDI.
9.1.1 Driver
A Driver is the root node of the hierarchy and generally relates to a specific RDI. This entity is mapped
to the following tables of the OpenEnterprise database:-
• dvi_driver
• dvi_remote_driver
9.1.2 Network
A Network describes a collection of PLC/RTU's. It might be mapped to a particular dedicated
communications path for instance. This entity is mapped to the following table of the OpenEnterprise
database:-
• dvi_network
9.1.3 Device
A Device, as the name implies generally maps to an individual PLC or RTU. This entity is mapped to
the following table of the OpenEnterprise database:-
• dvi_device
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D5092
12-Dec-2007 - Page 24
OPC Client RDI
9.1.4 Schedule
A Schedule provides a mechanism for grouping datum's into collection groups. This entity is mapped
to the following table of the OpenEnterprise database:-
• dvi_schedule
9.1.5 Datum
A Datum generally represents a physical I/O point within a PLC or RTU. This entity is mapped to the
following table of the OpenEnterprise database:-
• dvi_datum
9.1.6 Region
A Region provides a mechanism for defining collections of datum's. For instance, analogue and digital
datum's might be associated with different regions. This entity is mapped to the following table of the
OpenEnterprise database:-
• dvi_region
9.2 OPC Data Access Interface
This is a three-tiered architecture, constituting OPC Server, OPC Group and OPC Item levels. The
following relationship diagram illustrates the architecture.
9.2.1 Server
An OPC Server object is created for each OPC Client that requires information, and is used to
manage the OPC Client's data requirements. Each OPC Server is generally only able to connect to a
certain type of RTU or PLC and collect data.
9.2.2 Group
An OPC Group is used to define a collection of OPC Items, and how the value and quality of those
items should be reported to the OPC Client. The properties of an OPC Group are as follows.
9.2.2.1 Name
This is the name of the OPC Group. It must be unique to the OPC Server to which the group has
been added.
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D5092
12-Dec-2007 - Page 25
9.2.2.2 Active
Indicates whether the OPC Group is currently active, and therefore whether data is required from that
Group.
9.2.2.3 Percent Deadband
Provides a percentage deadband to be applied to any analogue items defined within the Group when
evaluating changes of value.
9.2.2.4 Locale
This value specifies the language to be used by the OPC Server when returning values as text for
operations on this OPC Group.
9.2.2.5 Time Bias
This allows a time bias to be applied to the timestamps reported by the OPC Server. It is generally
used to provide support for physical devices in different time zones. It does NOT support DST
weighting.
9.2.2.6 Requested Update Rate
OPC Client RDI
This is the maximum rate at which the group expects changes in value or quality of OPC Items within
the group to be reported.
9.2.2.7 Revised Update Rate
This is the rate at which the OPC Server is able to provide changes in value or quality for OPC Items
within the group.
9.2.3 Item
An OPC Item defines a specific point for which value and quality data is required. The following
properties can be defined for an OPC Item.
9.2.3.1 Item ID (Tag)
Provides the OPC Tag that identifies to the appropriate OPC Server the physical I/O point to which
the OPC Item relates.
9.2.3.2 Access Path
Provides an access path that the OPC Server should use to obtain the value associated with the OPC
Item.
9.2.3.3 Active
Indicates whether the OPC Item is currently active, and therefore whether changes in value or quality
for the item are to be reported by the OPC Server.
9.2.3.4 Requested Data Type
This is the data format with which the OPC Client RDI will request the value for the item from the OPC
Server.
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D5092
12-Dec-2007 - Page 26
9.2.3.5 Canonical Data Type
The data type with which the OPC Server stores and manages the value for the OPC Item
9.2.3.6 Value
This is simply the value of the OPC Item.
9.2.3.7 Quality
This is the OPC Quality of the OPC Item. See the OPC Quality Flags sectionpage for help on the
diagnostic information this field could provide.
9.2.3.8 Timestamp
The timestamp indicating the last change of value or quality for the OPC Item
9.2.3.9 Error Status
An error status used to provide additional information about any problems with the OPC Item. For
instance that the Item ID is invalid, or the requested data type is not suitable.
OPC Client RDI
9.3 Mapped Tables for OPC Client RDI
In order for the OPC Client RDI to connect to and obtain data from an OPC Server it needs to know: -
• The OPC Server object that is to connect to and retrieve data from.
• The OPC Group objects that it is interested in.
• The OPC Item objects that are in these groups.
These OPC objects need to be mapped onto the current OpenEnterprise Database DVI objects to
maintain the integrity of the database. In doing this, the concept of an OPC Device has been added to
the OPC Data Access model. The resultant OPC Client Schema definition is shown as an entity
relation chart below.
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D5092
12-Dec-2007 - Page 27
OPC Client RDI
9.3.1 Dvi_region References
The dvi_region table contains entries relating to each of the OPCItem tables, as well as the
OPCGroup table. These references are used to register the OPC Client RDI with the columns of
interest within those tables.
9.3.2 Dvi_schedule
This table is not used within the OPC Client RDI Schema definition.
9.3.3 OPC Driver
The OPCDriver table is derived from the standard dvi_remote_driver table. For every separate OPC
Client RDI to be used on a system, an entry will exist within this table.
The main purpose of this table is to indicate the TCP/IP socket through which the OPC Client RDI will
communicate with the OpenEnterprise database.
9.3.4 OPC Server
The OPCServer table is derived from the standard dvi_network table. Each entry within this table will
define a specific OPC Server with which the OPC Client RDI will communicate.
The definition and relationship between the OPCDriver and OPCServer tables allows scalability in
how the OPC Client RDI is used.
For instance, a single OPCDriver instance might have several OPCServer instances associated with
it. This would indicate that the single OPC Client RDI was expected to communicate with several
distinct OPC Servers.
Alternatively by providing a one to one relationship between OPCDriver and OPCServer table entries
this would indicate that multiple OPC Client RDI's are to be invoked, each communicating with a
single OPC Server.
TheOPCServer table provides the ability for the OPC Client RDI to determine the physical location of
a named OPC Server.
9.3.5 OPC Device
The OPCDevice table is derived from the dvi_device table. Each entry within this table will map to a
specific field device from which data is being requested via an OPC Server.
Signals sourced from the same device can be grouped into separate OPC Groups.
9.3.6 OPC Group
An OPC Group defines how the value and quality of a collection of OPC Items are to be supplied to
the OPC Client. It does NOT imply anything about how the OPC Server actually obtains the data from
the field devices.
The OPCGroup Table is derived from dvi_datum, and will provide similar functionality to that used by
the Network3000 RDI to provide template collection.
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D5092
12-Dec-2007 - Page 28
The main difference is that the OPCGroup instance will not itself maintain lists of those OPC Items
within the group. Instead it is OPC Items themselves that dictate the OPC Group to which they
belong.
As dvi_datum entries reference specific dvi_device entries, it is not possible to associate signals from
different physical devices in the same OPC Group.
OPC Client RDI
9.3.7 OPC Item
The OPC Item part of the OPC entity relationship is split into four tables. These are derived from the
specific signal tables which they relate to (which are derived from dvi_datum). There are four OPC
Item tables, one for each of the major data types supported by OpenEnterprise Databases.
9.3.7.1.1 OPCItemRealAnalog
This table is derived from RealAnalog, and used to store OPC Items whose value is any of the
supported floating point formats.
9.3.7.1.2 OPCItemIntegerAnalog
This table is derived from IntegerAnalog and used to store OPC Items whose value is any of the
supported Integer formats.
9.3.7.1.3 OPCItemDigital
This table is derived from Digital and is used to store OPC Items that request the value in boolean
format.
9.3.7.1.4 OPCItemString
This table is derived from StringSignal and is used to store OPC Items that request the value as a
string.
Status ........................................................ 14
Sub Status....................................... 7, 10, 14
Sub Status Codes ..................................... 19
T
Tag Id ........................................................ 13
Time Bias .................................................. 10
Time Zone ................................................... 6
OPC Client RDI
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D5092
12-Dec-2007
NOTICE
Remote Automation Solutions (“RAS”), division of Emerson Process Management shall not be liable for technical or editorial errors in this manual or omissions from this
manual. RAS MAKES NO WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING TH E IMPLIED WARRANTIES OF MERCHANTABILITY AND F ITNESS FOR A
PARTICULAR PURPOSE W ITH RESPECT TO THIS MANUAL AND, I N NO EVENT SHALL RAS BE LIABLE FOR ANY INCID ENTAL, PUNITIVE, SPECIAL OR
CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO, LOSS OF PRODUCTION, LOSS OF PROFITS, LOSS OF REVENUE OR USE AND COSTS
INCURRED INLCUDING WITHOUT LIMITATION FOR CAPITAL, FUEL AND POW ER, AND CLAIMS OF THIRD PARTIES.
Bristol, Inc., Bristol Babcock Ltd, Bristol Canada, BBI SA de CV and the Flow Computer Division are wholly owned subsidiaries of Emerson Electric Co. doing business as
Remote Automation Solutions (“RAS”), a division of Emerson Process Management. ROC, FloBoss, ROCLINK, Bristol, Bristol Babcock, ControlWave, TeleFlow and
Helicoid are trademarks of RAS. AMS, PlantWeb and the PlantWeb logo are marks of Emerson Electric Co. The Emerson logo is a trademark and service mark of the
Emerson Electric Co. All other trademarks are property of their respective owners.
The contents of this publication are presented for informational purposes only. While every effort has been made to ensure informational accuracy, they are not to be
construed as warranties or guarantees, express or implied, regarding the products or services described herein or their use or applicability. RAS reserves the right to
modify or improve the designs or specifications of such products at any time without notice. All sales are governed by RAS’ terms and conditions which are available
upon request.
RAS does not assume responsibility for the selection, use or maintenance of any product. Responsibility for proper selection, use and maintenance of any RAS product
remains solely with the purchaser and end-user.
Engineered and supported by:
Remote Automation Solutions,
Bristol Babcock Ltd. Blackpole Road, Worcester, WR3 8YB, UK