1. Introduction to Danfoss ECL OPC Server .......................................................................................................................... 2
3. Exporting configuration data ............................................................................................................................................ 7
4. Importing data from an XML file ....................................................................................................................................... 8
5. Address Space .................................................................................................................................................................... 9
8. Data Items ......................................................................................................................................................................... 15
13. How the client connects to and gets data from a server ................................................................................................ 34
The Danfoss ECL OPC Server is an OPC
serves data to OPC clients. The OPC server was implemented
using advanced programming concepts of the current
version of the OPC
generation industrial software applications.
The OPC Server communicates with OPC clients and real time
Danfoss ECL devices. This OPC server is also based on the
popular Modbus protocol and can be connected to real world
Modbus compatible I/O hardware.
Key features of the OPC Server include:
•
•
•
•
•
•
•
•
The OPC Server product contains two parts: a user interface
configuration module and the actual OPC server, the runtime
module.
Configuration module:
The
that holds configurati
name, the ranging, and the alarm settings.
The
actual values of the tags configured. Structures of both
databases are indicated in the following secti
Changes made to the configuration are accepted
restart of the OPC server. However, changes made to the
runtime database are accepted online.
OLE™ for Process Control (OPC) is a standards-based
approach for connecting data sources (e.g., PLCs, controllers,
I/O devices, databases, etc.) with HMI client applications
(graphics, trending, alarming, etc.).
It enhances the interface between client and server
applications by providing a universally
documented mechanism to communicate data from a data
source to any client application.
Included are not only a detailed guide on how to pass the
data, but also specific information on other attributes to
supplement those data, such as range information, data type,
quality flags, and date and time information.
Figure 1.1 shows the OPC Architecture, which was introduced
by the OPC Foundation. By following the OPC Architecture, a
device needs only one standard driver, which is an OPC
compl
then be connected to that device, either locally or over a
network. Furthermore, connections can be made to more
than one OPC server at the same time.
Figure
Any OPC client application can connect to any OPC server. In
other words, OPC offers true Plug
fields of HMI and industrial automation. OPC server types
include OPC Data Access (DA), OPC Alarm and Events
OPC Server Configurator can run on the following Microsoft
Windows operating systems:
•
•
•
•
•
•
•
•
•
•
•
†
Supported Editions of Windows Vista are Windows Vista
Business, Ultimate, and Enterprise Edition. Windows Vista Home
and Home Premium Editions are not supported in this release.
††
Windows 2000 is supported for Classic OPC Server installations
only.
The OPC Server Configurator is capable of running on
computer/workstation hardware with the following
specifications:
Windows Server 2008 Windows Vista x64 (runs in the 32 bit compatibility
mode) †
Windows Vista †
Windows Server 2003 x64 (runs in the 32 bit
compatibility mode)
Windows Server 2003 R2
Windows Server 2003 SP2
Windows XP Professional x64 (runs in the 32 bit
compatibility mode)
Windows XP Professional SP3
Windows 2000 Server SP4 ††
Windows 2000 SP4 ††
1 GHz Processor (CPU)
1 GB Physical Memory (RAM)
2 GB Hard Disk space available
DVD drive for installation
SVGA Video Card; 256 or more colors for best results
A mouse or other compatible pointing device (such as a
The OPC Server Configurator provides the ability to create
new
2.1
Database
To create a new Microsoft Access Configuration Database in
the
•
•
•
This configuration database will contain the configuration of
all your devices, and the logical tag naming i
address space.
2.2
Once your configuration is complete, you need to make sure
that your database is “Active”. The database that is
designated as “Active” is the one that the server uses.
The Configurator also allows you to export data from your
configuration database to an XML file. The Configurator also
allo
XML file that specifies the data structure of an XML data file.
The purpose of having the configuration in XML would be
that you have it in another readable format and could
manipulate the content with
the changes again.
To export data, select from the menu ‘File, XML Export’…
This opens the ‘Export XML File’ dialog box. Specify a file a
name and click ‘Save’.
The 'Address Space' branch of the Configurator provides a tree
explorer in Workbench, shown in the figure below, for setting the
properties and connection parameters of the following items:
•
•
•
Data items can be organized hierar
organizing directories and files on your computer's hard disk. The
OPC s
The Configurator module uses the terms
A folder can contain additional folders and also
data items are always the branches in the tree control hierarchy.
The hierarchical structure of the folders and data items helps to
organize the device
‘IP Address’ is a 32-bit value represented as four
Operating guide, OPC server for ECL Comfort 310
The TCP Port for Modbus communication via Ethernet is default
502 and should not be changed unless it is specifically required
by the network.
Unit Id (Identifier):
The Unit Id (Identifier) field may be used to communicate via
devices such as bridges and gateways that use a single IP address
to support multiple independent end units.
Type:
The OPC Server supports both the ECL300 and ECL310 devices.
The selected type must match the type of the device connected.
For other devices which support t
communication protocol please select the ‘Custom Type’ option.
The device parameters for ‘Simple devices’ can be configured by
selecting the ‘Device Parameters’ branch of the Configurator tree
explorer in Workbench and set the parameters
devices’.
Timeouts:
Read/Write:
Amount of time (in milliseconds) the OPC server will wait for a
response (read/write) from the device.
Timeouts to Suspend:
The number of consecutive read/write attempts that timeout
before the OPC Ser
device.
Suspend Period:
Amount of time the OPC Server will wait before attempting to
reconnect to the device.
Delay:
Amount of time (in milliseconds) between read attempts.
The Suspend Period setting can be decreased to
reconnect faster with a device that has been restarted,
but this will cause the OPC server to generate more
network traffic while a device is down.
Operating guide, OPC server for ECL Comfort 310
7.
Folders can be used to group data items logically. You can
configure
subfolders. The OPC server supports up to three folder levels. The
use of folders is not required.
If desirable, the configuration could just contain data items
without any folders. But most likely th
application does not demand too many persistent tags
To add a
Right
Configurator tree explorer in Workbench, then click on
Folder
Figure
Creating a ‘New Folder’ in the Configurator tree explorer in
Workbench
Or
Select the ‘Device Branch’ in the Configurator tree explorer in
Workbench, then use the menu
A ‘Data Item’ represents a register in the device or a range of
registers. A symbolic name and description is associated with the
data item. An OPC client can obtain the data item description.
The actual OPC item name (tag) is compounded from the
‘
and the name of the data item. Data items can be located in any
folder, even in the root of the address space.
To add a
Right
Workbench
Figure
Creating a
Workbench
Or
Select the ‘Device branch’ in the Configurator tree explorer
in Workbench, then use the menu ‘Edit’, ‘New’, ‘Data
Properties for data items:
Data items have the following properties, as shown in
8
A logical name for the data item (Setpoint, Param001,
ON_OFF, etc).
Description:
A
Location Type:
Location type is a type of a register in the device. Every device
is identified by its unique address. Its registers are read as
‘Input’ (1 bit long) or ‘Input Register’ (16 bits), or written t
‘Coil’ (1 bit) or ‘Holding Register’ (16 bits). Registers of each
type are addressed by using 16
are divided into ‘Coils’, ‘Inputs’, ‘Input Registers’ and ‘Holding
Registers’. Table 3
Read Only
Read/Write
1 bit
Input
Coil
16 bit
Input Register
Holding Register
Table 3
Name conventions
Modbus Type:
The location type (device data) will be understood as Modbus
type (OPC data type). Modbus data type also depends on the
‘
The ‘Data Length’ (bytes) field tells you how long (in bytes) the
Example:
‘Coil’ or ‘Input’ (1 bit) device data type can be Modbus
BOOL only.
Operating guide, OPC server for ECL Comfort 310
field is for the Modbus type (e.g. ‘REAL’, ‘INT’, ‘UINT’, etc.)
selected. The ‘BOOL’ length is always 1 bit.
specify the data length (how many bytes will the STRING
Simulation:
To test the client functionality, choose a ‘Simulation Signal’
from the ‘Signal’ drop
checkbox. See the ‘Simulation Signals’ section for information
about creating simulation signals.
All levels in the ‘Address Space’ (port, device, folder, data item)
support the process of simulation (Simulate checkbox). The
parent list in the tree is superior; it has a higher priority when
deciding to simulate the data item or not.
In other words, a data item is simulated, if it itself has a
simulation selected, or if any of its parents has the ‘Simulate’
checkbox checked. (
checkbox stays unchecked.)
Manual Value:
If the ‘Simulate’ checkbox is checked, the data item will offer a
constant parameter value, because the ‘Manual Value ‘setting
is of the highest priority. The changes in the configuration take
effect only when the server reloads the configuration (on
startup).
Starting Address:
This value specifies the data item address (register number) in
the device data space. With the 'UINT' Modbus type, it is
possible to
Boolean or integer value (this functionality is read
You can specify a group of 'Count' adjacent bits inside a word
starting with 'Bit #'. This way, it is possible to use a register for
several sepa
Use Conversion:
To get the data value converted according to a prescribed
form, choose one of the predefined or user
conversions. See the conversions section for more details.
Generate Alarm:
Check the ‘Generate Ala
generate alarms based on the data item value. The ‘Msg.
prefix’ parameter is the text of the message for this data item.
It will be followed by the text configured for a particular alarm
type. The second part of the alarm me
‘Message Body’ string (see ‘Alarm Definitions’).
The server allows any number of predefined alarm definitions
(templates). You can combine one of them with the specific
tags.
Clicking the ‘Additional
‘Additional Properties’ dialog box, shown in Figure
allows you to set a textual string for an Open/Close label, a
default display, a .bmp file, an HTML file, a sound file, and an
.avi file.
These properties are also
clients. For example, to see the HTML file name being
presented in the OPC client, you should append .HTMLFile to
the OPC Item name.
Figure
‘Additional Properties’ dialog box
Importing XML-file with ‘Data Items’ for ECL device
The OPC Server comes with an XML
configurations and descriptions for all ‘Data Items’ supported
by the ECL device. By importing this XML
are ready for use by the OPC Server or may option
modified to fit specific requirements.
To import XML-file with ‘Data Items’:
Select a Device in the Configurator tree explorer in Workbench
and click on the ‘Import XML’ button.
If clamping is enabled, the data value will be limited to its
‘High Value/EU High Value’ when it exceeds the upper limit,
and similarly to its ‘Low Value/Low EU Value’ parameter when
it exceed
clamping types from the drop
•
•
•
Clamping Parameters:
Specify low and high values for the clamping range.
Every device is identified by its unique address. Its registers
are read as Input (1 bit long) or Input Register (16 bits), or
written to as Coil (1 bit) or Holding Register (16 bits). Registers
of each type are addressed by using 16
The meaning of numbers in the device parameters dialog,
shown in the figure above, is the maximum amount of data
that can be transferred in one message. Setting the value
equal to 0 (zero) forces the server to use single read/write
messages o
You can also configure the following additional properties for
each device type
Word swap:
Swaps the first word with the second when reading/writing
DINT, UDINT or float values. Word swapping is checked by
default to make it consistent with th
multi
Swap bits:
Reverses the order of bits in word
significant bit becomes the most significant bit).
The Configurator offers various OPC data items in the
‘
functionality, choose a simulation signal from the tree
explorer. All levels in the ‘
process of simulation. The parent list in the tree explorer is
superior. It has higher
data item or not.
To add a new simulation signal:
Right
tree explorer, and click on ‘
Figure
Creating a ‘New Simulati
e
Or
Select the Simulation Signals branch of the Configurator tree
explorer in Workbench, then use the menu
‘
Select the ‘Alarm Definitions’ branch of the Server
Configurator tree explorer in Workbench,
‘Edit’, ‘New’, ‘Limit Alarm Definition’ menu item.
This opens the ‘Limit Alarm Definition’ properties window in
the right
Figure
Limit Alarm Definition
A limit alarm sets the values for four levels of alarms: ‘LoLo’,
‘Lo, Hi’,
subranges within the data item amplitude. Every subrange
definition includes a ‘
that will be appended to
the alarm message, the ‘
Ack.’
‘Update Rate’
item value (in milliseconds), and possibly responding by
sending the alarm message.
Deadband:
‘Deadband’
amount of alarm messages and overloading the clients when
the signal oscillates around one of t
deadband value extends the limit zone. It results in sending
only one alarm message even if the signal oscillates.
Deadband indicates the deadband value to apply to the
converted analog values. The deadband value is required and
i
repeated alarm cycles.
Value :
The ‘
fields. For example, a value of 10 for ‘LoLo’ is compared with
the value of the input to determine
state.
Message body:
In the ‘
will appear when the alarm is sent. The message can be any
text string.
Return to Normal.
In the ‘
enter the text that will appear when the alarm is taken care of
(e.g. has been acknowledged). The message can be any text
string.
post a description of LoLo limit.
Severity:
‘
defined value for alarm Priority. The valid
OPC severity range is 0 (lowest) to 1000 (highest).
Requires Ack:
The ‘Requires Ack’ field is used for OPC condition alarms to
determine whether the alarm needs a user
acknowledgement. If the ‘Requires Ack’ field is checked, then
the alarm requires a user acknowledgement. If the value is
not checked,
It is not necessary to enter a message text or a base text.
The Server will default to the OPC subcondition name and
the OPC condition name. For example, a LoLo alarm will
Changes to the alarm property fields (HiHi, LoLo, Hi, Lo,
Message Text, etc.) in runtime through an OPC tag update
will be automatically saved to the database, over-writing
Operating guide, OPC server for ECL Comfort 310
12.2
To add a
Right
Configurator tree explorer, then click on
Alarm Definition
Figure
Creating a
tree explorer in Workbench
Or
Select the 'Alarm Definitions' branch of the Configurator tree
explorer in Workbench, then use the menu ‘Edit’, ‘New’, ‘Digital
Alarm Definition’ menu item.
When OPC servers are installed on the system, they are registered
so that clients can find them and users can view th
make a client/server connection, the user must first choose a
server. The server name selected is used to get a class ID which, in
turn, is used to create a COM object. If the user selects a server
that is not currently running, the system starts the server and then
creates the object in that server on behalf of the client.
Once the COM object is created, the client application has an
IOPCServer interface, as defined in the OPC specification. This is
the main interface to an OPC server, and
this as the Server interface. (The other interface is Group.) An OPC
client always creates a group in the server and registers an advice
interface with it to get asynchronous data notification.
When an item is added, the dialog dis
flat list of names, depending on the server. The names are queried
from the Server object using the filter string and requested data
type. When the user either types or selects a name, an item by that
name is added to the Grou
immediately to get an initial value.
Items in a group are scanned by the server; when their values
change, the advise interface in the client is notified. A data
structure containing the data for each item whose value or qu
has changed (and only those items) is passed to the client’s advice
interface. The client unpacks and uses the data.
13.1
The server status dialog periodically queries the server object for
status and displ
The ‘Group Parameters’ dialog box queries the group state and
displays the results. The ‘OK’ button and ‘Apply’ button in the
‘Group Parameters’ dialog box write the parameters from the
dialog to the Group object and read the parameters b
primarily controls the scanning and updating of data. When a
group is inactive, it does not send data notifications to the client
and, typically there is no reason to scan the items when the group
is inactive.
The ‘Update Rate’ in the ‘Group Par
the rate at which data notifications should be sent back to the
client, assuming that data have changed. This is also the rate at
which items are scanned on behalf of this client.
The OPC server is the actual runtime module. The OPC server is
responsible for accessing the data on the OPC clients' requests.
The OPC server has no user interface. It will be started
automatically when the OPC client connects to the server.
The runtime module
and write operations are performed directly with no intermediate
cache level. It has the effect that every client works with accurate
data. In normal situations, the data in the database will be
accessed (read/write) by OPC clients. However, the data are stored
in a standard database, and other software applications can
manipulate its data as well through programming techniques
such as Microsoft's ADO (ActiveX Data Objects) or OLE DB. The
OPC Server refreshes (with
to inform the OPC clients of changes through some external
application.
One of the basic concepts of the OPC server is that monitored data
are relatively stable in time. The runtime module resides in the
Danfoss/Danf