Previous | Table of Contents | Next |
A group is a collection of items and a connection to one or more consumers of item values. Clients create groups and their
lifetime is bounded by the session to which they belong. (See
Section 4.2.2, “DAISDASession IDL,? on page 4-8).
The purpose of a group is to convey selected item values to a client. A callback object
may be connected to a group to receive item value information (see Section 4.2.5,
“DAISDAIO IDL,? on page 4-23). Items may be added and removed from a group as
group entries (see
Section 4.2.6, “DAISGroupEntry IDL,? on page 4-32). A group has an
update rate that determines how frequently updated values for its entries are notified to its connected callback objects.
A group also has other states that control its notification behavior.
A group may also be initialized with a predefined set of entries. A set of entries is called a public group and is identified
by a ResourceID. A client can create or remove public groups. A server may represent a public group as a node such that the
ResourceID of the public group and the node are identical. This would allow clients to locate public groups by name.
The DAIS:: DataAccess::Group::Manager object implements interfaces from the DAISDAIO and DAISGroupEntry IDLs. This is specified
by inheritance of interfaces as seen in
Figure 4-14
. A DAIS::DataAccess::Group::Manager has a state given by the DAIS::DataAccess::Group::State struct and a DAIS::DataAccess::Group::Manager
object is created from the DAIS::DataAccess::Group::IHome object.
In OPC the Group interface corresponds to the interfaces IOPCGroupStateMgt and IOPCPublicGroupStateMgt.
Figure 4-14 DAIS data access group IDL in UML