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
Run-Time Behavior
Configuration
Run-Time Object Attributes
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
Configuration
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
Overview
Configuration
Run-Time Object Attributes
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
Overview
Run-Time Behavior
Run-Time Object Attributes
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
Configuration
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
Configuration
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
Overview
Run-Time Behavior
Configuration
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.
|
Run-Time Object Attributes
© 2014 Invensys Systems, Inc. All Rights Reserved.
Invensys is a Schneider Electric company
10/17/14