DDESuiteLinkClient Object

The DDESuiteLinkClient object functions as the ArchestrA DDE/SuiteLink Client for third-party DDE Servers and Wonderware™ I/O Servers through DDE and SuiteLink protocols.

Click one of the following Help topics to navigate to information about that topic.

Topic Category
Topic Subcategory
Topic Details
 
 
 
 
 
 
 

Overview

Topic Category
Topic Subcategory
Topic Details
 

Note The DDESuiteLinkClient object is compatible with all FactorySuite™ 2000 version I/O Servers and components.

There is a one-to-one relationship between an instance of the DDESuiteLinkClient object and a running I/O Server. If you want to reference data points in more than one I/O Server, you must configure and deploy more than one DDESuiteLinkClient object. For example, you would need to configure one DDESuiteLinkClient object to communicate to an ABTCP I/O Server and another one to talk to the GEHCS I/O Server.

When you configure the DDESuiteLinkClient object, you can specify one or more I/O Server topics to which access is required. At run time, all items that the Galaxy application requires for a specified topic will be updated with the latest values from the I/O Server. The rate at which the values are updated depends on how the topics were configured within the target I/O Server.

If you want to connect to a DDE I/O Server, you will need to specify login information that the DDESuiteLinkClient object will use to connect to the I/O Server.

From other objects and from scripts, you can reference the topics you configured for the DDESuiteLinkClient object. For example, you might configure the input source for a FieldReference object to reference an item for one of the topics. Thus, the FieldReference object input source would be receiving data from an I/O Server via the DDESuiteLinkClient object.

To aid in rapid application development, you can create a list of topic items that will appear in the ArchestrA Attribute Browser. To do this, you will need to specify the item address and associate it with an alias attribute name. Creating the item list is not required in order to reference data from the I/O Server.

The reference syntax for a DDESuiteLinkClient object data point is:

<objectname>.<topicname>.<itemname>

OR

<objectname>.<topicname>.<attributename>

The <objectname> is the name that you choose to give to the DDESuiteLinkClient object.

Each I/O topic for a DDESuiteLinkClient object is also known as a "scan group." Run-time object attributes allow you to monitor errors related to the data quality for item values in a scan group.

Items in a scan group can be “dynamic” in that they can be created or activated dynamically during run time.

If the I/O Server or a poke provides value, time, and quality (VTQ) data, the time stamp is retained for attribute values. Otherwise, the current time provided by the hosting AppEngine is used. If the quality for a dynamic attribute changes from GOOD to INITIALIZING, BAD, or UNCERTAIN, but the data value does not change, the current time provided by the hosting AppEngine is used.

For general information on objects, including relationships, deployment, and alarm distribution, see the Integrated Development Environment (IDE) documentation.

For information on configuration options of object scripts, attributes, or features, click Attributes Help in the Help file header.

Related Topics

Terminal Services or Remote Desktop Considerations

When configuring the DDESuiteLinkClient object for DDE, make sure that the DDE Server is started and running in the same session as the DDESuiteLinkClient object. One way to accomplish this is to configure the DDE Server to run as a service. You could also include the DDE Server in the Windows startup folder.

Related Topics

Run-Time Behavior

The following information describes the run-time behavior of DDESuiteLinkClient objects. Run-time behavior is limited to the state of individual DDESuiteLinkClient objects.

After it has been deployed and is operating, a DDESuiteLinkClient object can assume one of several states, which are described in the following table:

State Change
Behavior

Startup

In this state, the DDESuiteLinkClient object connects to the I/O Server.

Going onscan

None.

Running onscan

In this state, the DDESuiteLinkClient object:

  • Starts the Wonderware NetDDE Helper service, if the selected communication protocol is DDE.
  • Services read and write requests for tag values in the target I/O Server.
  • Receives values from the I/O Server.
  • Sends values to the I/O Server.
  • Receives values from the I/O Server topics.
  • Monitors and controls the connection to the I/O Server.
  • Detects alarm conditions, if alarming is enabled.
  • Monitors the data quality for I/O Server data values and updates run-time error statistics if the quality is not GOOD.

Going offscan

None.

Offscan

In this state, the object is passive, and reads and writes to the I/O Server are not enabled.

Shutdown

In this state, the DDESuiteLinkClient object:

  • Disconnects from the I/O Server.
  • Releases the security for the DDE user, if used.

Related Topics

Configuration

The following section describes the object editor options for configuration and the associated attributes:

Topic Category
Topic Subcategory
Topic Details
 
 

For general information on objects, including relationships, deployment, and alarm distribution, see the Integrated Development Environment (IDE) documentation.

For information on configuration options of object scripts, attributes, or features, click Attributes Help in the Help file header.

Related Topics

General Configuration

Use the General tab to configure the I/O Server from which to retrieve data and to enable alarming for the data connection. For DDE I/O Servers, you can also configure the DDE login.

Editor Option
Associated Attribute
Description
Run-Time Access (Supervisory, User, Read-Only, None)

Server node

ServerNode

The name of the node (computer) on which the I/O Server is running. If this attribute is blank, the I/O Server is assumed to be running on the local node.

Click the ellipsis button to browse the network for the node.

You will need to specify "localhost" (without the quotation marks) for the server node and SuiteLink as the communication protocol if the following scenario applies:

  • The I/O Server is running on the local node.
  • Wonderware Historian is configured as the historian.

This way, if the local node is disconnected from the Wonderware Historian node, data will be stored locally and then forwarded to the Wonderware Historian when the connection is restored.

Supervisory, User

Server name

ServerName

The name of the I/O Server executable.

Supervisory, User

Detect connection alarm

ConnectionAlarm.Alarmed

If enabled, an alarm will be triggered when the DDESuiteLinkClient object can no longer communicate with the I/O Server.

None

Priority

ConnectionAlarm.Priority

See Alarm Attributes.

Supervisory, User

Communication protocol

CommunicationProtocol

The protocol to be used to communicate with the I/O Server, either DDE or SuiteLink.

Read-Only

Use ArchestrA user

DDEUseDefaultUser

If selected, the ArchestrA security login (configured during ArchestrA installation) will be used for the DDE login.

Read-Only

Domain name

DDEDomainName

The name of the domain for the DDE login.

Read-Only

User

DDEUser

The username for the DDE login.

Read-Only

Password

DDEPassword

The password for the DDE login.

Read-Only

Reconnect security

Reconnect

Used to set security for reconnections to the I/O Server.

Supervisory, User

Related Topics

Topic Configuration

Use the Topic tab to specify topics from which the DDESuiteLinkClient object will receive data.

Editor Option
Associated Attribute
Description
Run-Time Access (Supervisory, User, Read-Only, None)

Topic

ScanGroupList

The names of the topics in the I/O Server from which you want to receive data.

Use the Add (plus sign) button to add topics to the list. You will need to type in the topic names. To delete a topic, select the topic in the list and click the Delete (cross sign) button.

Read-Only

Scan Mode

ScanMode

The scanning mode for the scan group, either ActiveOnDemand, Active, or ActiveAll. For the ActiveOnDemand mode, attributes that are not actively being referenced by any client or object are not scanned. For the Active mode, an attribute is always in the active scanning state. When the last reference to the attribute is unregistered (unadvised) , the attribute is deleted. For ActiveAll, an attribute is always in the active scanning state, but when the last reference to the attribute is unregistered (unadvised), the attribute is not deleted.

Supervisory, User

Attribute

ScanGroup.ItemList

A user-defined name for an item reference. This name is also known as the alias. The maximum number of attributes that can be preconfigured is 5000.

None

Item Reference

ScanGroup._AliasReference

The item address in the I/O Server.

None

import button

<topic name>.ItemList

Click to import item data from a .csv file for the selected topic. A dialog box will appear in which you can specify the file to import. The imported .csv data will be inserted as the associated attributes for the selected topic. Each attribute and its item reference will be added to the list, as long as there is not already a configured reference with the same attribute name. For duplicate references, you will be prompted to replace the existing reference with the new reference, or ignore the new reference. The import button is unavailable if no topic is selected or if the associated attributes section is locked from the parent object.

None

export button

<topic name>.ItemList

Click to export item data to a .csv file. A dialog box will appear in which you can specify the name and location of the file to be exported. The resulting .csv file will contain one row for each attribute item. Each row includes two columns: Attribute Name and Item Reference. You can edit the file using Microsoft Excel or a text editor. The export button is unavailable if no topic is selected or if there is no existing associated attribute.

None

Related Topics

Run-Time Object Attributes

The following table describes the run-time only attributes for the object.

Topic Category
Topic Subcategory
Topic Details
 
 

Note Configurable run-time attributes are described in the configuration sections. For more information, see Configuration.

For a list of common attributes, click Attributes Help in the Help file header.

Attribute
Description
Run-Time Access
(Supervisory, User, Read-Only, None)

AlarmDSCnt

The total number of disabled and silenced alarms in the object. Sub-areas or sub-notification-distributors are not included.

Read-Only

AlarmOnCnt

The number of active alarms in the distributor. Does not include sub-areas or sub-notification-distributors.

Read-Only

AlarmUnAckCnt

The number of unacknowledged alarms in the distributor (including unacknowledged return-to-normals). Does not include sub-areas or sub-notification-distributors.

Read-Only

ConnectionAlarm

If TRUE, the DDESuiteLinkClient object can no longer communicate with the I/O Server. This value is set to TRUE if the value of the ConnectionStatus attribute is "Disconnected" or "Mixed."

Read-Only

ConnectionStatus

The status of the communications link between the topics configured in the DeviceIntegration Object and the topics in the I/O Server. Valid values are: Connected, Disconnected, and Mixed. A value of Connected indicates that all topics are connected. Disconnected indicates that no topic is connected. Mixed indicates that one or more topics are connected, but not all of them. A connection alarm will be raised (the ConnectionAlarm attribute will be set to TRUE) if the value of the ConnectionStatus attribute is either Disconnected or Mixed.

Read-Only

Reconnect

If TRUE, the DDESuiteLinkClient object will attempt to reconnect to the I/O Server.

Supervisory, User

ScanGroup.Active

If the Active attribute is set to TRUE, and the ScanMode attribute is set to Active or ActiveAll, the object attempts to scan all of the data items in the group. If the Active attribute is set to TRUE, and the ScanMode attribute is set to ActiveOnDemand, the object attempts to scan data items in the group individually according to demand. If the Active attribute is set to FALSE, no scanning occurs, regardless of the setting of the ScanMode attribute.

Supervisory, User

ScanGroup.AliasDatabase

Used to store pairs of alias attribute names and the corresponding item references.

Read-Only

ScanGroup.ItemCnt

The total number of items in the group that are on advise by a client application.

Read-Only

ScanGroup.ItemErrorCnt

The current number of items that have been successfully added to this group and have data quality other than GOOD. This value is calculated.

Read-Only

ScanGroup.ItemErrorCntAlarm

Set to TRUE if the current error count is not zero. This value can be alarmed.

Read-Only

ScanGroup.ItemErrorCntLast

The error count immediately prior to the current error count.

Read-Only

ScanGroup.ItemErrorCntLastEnd

The last time the error count returned to zero. The date format reflects the current locale setting for the operating system.

Read-Only

ScanGroup.ItemErrorCntLastStart

The last time that the error count changed from zero to non-zero, not including the most recent change to the error count. The date format reflects the current locale setting for the operating system.

Read-Only

ScanGroup.ItemErrorCntStart

The time that the error count most recently changed from zero to non-zero. The date format reflects the current locale setting for the operating system.

Read-Only

ScanGroup.ItemUpdateCnt

The number of items whose values were updated during the most recent scan cycle.

Read-Only

ScanGroup.PingItem

The item quality of this item is checked on each scan to determine the scan group status.

Read-Only

ScanGroup.UpdateRateCmd

The rate, in milliseconds, at which the object will receive updated data values for the scan group.

Supervisory, User

Related Topics

Alarm Aggregation Attributes

The following attributes are available for all Objects. If alarm aggregation is enabled on the Area, the following attributes aggregate their respective alarm status values for the Area, for all sub-Areas, contained objects, and their descendants assigned to the Area. If alarm aggregation is disabled, these attributes remain at their default values. Alarm aggregation attributes behave similarly to alarm aggregation of individual attributes.

Attribute
Description
Run-Time Access (Supervisory, User, Read-Only, None)
<Attribute>.AlarmCntsBySeverity
Array of counts of all alarms that are in UNACK_ALM, ACK_ALM, or UNACK_RTN states on the object, aggregated by severity levels 1-4.
Read-Only
<Attribute>.AlarmMostUrgentAcked
TRUE (default) indicates that no alarms are in the InAlarm state or waiting to be Acked.
A value of TRUE also indicates that the most urgent alarm(s) on the object and its descendants in the InAlarm state have been acknowledged, whether or not they are currently InAlarm.
Read-Only
<Attribute>.AlarmMostUrgentIn
Alarm
FALSE (default) indicates that no alarms are in the InAlarm state or waiting to be Acked.
A value of FALSE indicates whether the most urgent alarm(s) on the object and its descendants are in the InAlarm state, whether or not they have been acknowledged.
Read-Only
<Attribute>.AlarmMostUrgentMode
The AlarmMode of the most urgent alarm(s) on this Object and its descendants. If no alarms are in the InAlarm state or waiting to be Acked, the value is the same as the AlarmMode for the Object.
Read-Only
<Attribute>.AlarmMostUrgent
Severity
Severity level expressed as an integer 1-4 of the most urgent alarm(s) on the object and its descendants. If no alarm is in the InAlarm state or waiting to be Acked, the value is 0 (zero).
Read-Only
<Attribute>.AlarmMostUrgent
Shelved
The Shelved status as a Boolean value for the “most urgent” alarm(s) on this Object and its descendants.
A value of FALSE indicates that no alarms have been Shelved for the "most urgent" alarm(s) on this Object and its descendants.
Read-Only

Alarm Attributes

If an alarm attribute is enabled, then the following additional alarm attributes become available. None of these attributes can be alarmed.

Attribute
Description
<Attribute>.Acked
Used to specify whether an alarm has been acknowledged. This attribute is updated when the AckMsg attribute is set. This attribute is always set to FALSE when a new alarm condition is detected (when the InAlarm attribute changes from FALSE to TRUE).
<Attribute>.AckMsg
The operator comment at the time the alarm is acknowledged. Any received text is stored, and the Acked attribute is set to TRUE. Also, the TimeAlarmAcked attribute is set to the current time. The maximum length is 256 characters.
<Attribute>.AlarmMode
The current alarm mode setting. Valid values are: Enable, Disable, Silence.
<Attribute>.AlarmModeCmd
The command to set the alarm mode. Valid values are: Enable, Disable, Silence.
<Attribute>.Category
The category of the alarm. The label of each alarm category is fixed.
<Attribute>.DescAttrName
The description of the alarm. The description must be of type String or InternationalizedString, with a maximum length of 329 characters. The DescAttrName attribute can contain a static alarm description or a reference to another string attribute within the same object containing the alarm description. The reference must be in the form: "me.AttrName". If the reference is invalid, the actual reference string is used for the description. If nothing is supplied for the DescAttrName attribute, the object’s ShortDesc attribute is used at run time.
<Attribute>.InAlarm
The alarm state. This is exactly the same as the attribute in the host primitive that represents the alarm condition, except when the alarm state is disabled, in which case, InAlarm is set to Off, regardless of the actual condition state.
The quality is set during execute to the quality of the attribute, except when the alarm is disabled, in which case the quality is always GOOD.
<Attribute>.Inhibit
If true, the alarm is disabled. This attribute is intended to be written to by a script, a user, or an input feature. Only the individual alarm is disabled. No other alarms are disabled in the same object or in any objects that are assigned to or contained by this object.
<Attribute>.Priority
The value for the urgency of the alarm. Valid values are 1 through 999, with 1 being the most urgent.
<Attribute>.TimeAlarmAcked
The timestamp indicating the last time this alarm was acknowledged. The date format reflects the current locale setting for the operating system.
<Attribute>.TimeAlarmOff
The timestamp indicating the last time this alarm (as represented by the InAlarm attribute) went off. The date format reflects the current locale setting for the operating system.
<Attribute>.TimeAlarmOn
The timestamp indicating the last time this alarm (as represented by the InAlarm attribute) went on. The date format reflects the current locale setting for the operating system.

© 2014 Invensys Systems, Inc. All Rights Reserved.

Invensys is a Schneider Electric company

10/17/14