Figure 39depicts the ObjectTypesof the published DataSetmodel and their components.
Figure 39– Published DataSet Overview
Instances of the DataSetFolderTypeare used to organize PublishedDataSetType Objectsin a tree of DataSetFolders. The configuration can be made through Methodsor can be made by product specific configuration tools.
The PublishedDataSetTypedefines the information necessary for a Subscriberto understand and decode DataSetMessagesreceived from the Publisherfor a DataSetand to detect changes of the DataSetsemantic and metadata.
The types derived from the PublishedDataSetTypedefine the source of information for a DataSetin the OPC UA Server AddressSpacelike Variablesor Events.
This ObjectTypeis the base type for PublishedDataSets. It defines the metadata and the configuration version of the DataSetssent as DataSetMessagesthrough DataSetWriters.
The PublishedDataSetTypeis the base type for configurable DataSets. Derived types like PublishedDataItemsTypeand PublishedEventsTypedefines how to collect the DataSetto be published. For PublishedDataItemsTypethis is a list of monitored Variables. For PublishedEventsTypethis is an Eventselection. The list of monitored Variables or the list of selected EventFieldsdefines the content and metadata of the PublishedDataSetType Object.
If the content of the DataSetis defined by a product specific configuration and the source of the DataSetis not known, the PublishedDataSetType can be used directly to expose the PublishedDataSetin the AddressSpaceof the Publisher.
The PublishedDataSetTypeis formally defined in Table 105.
Table 105– PublishedDataSetType Definition
Attribute |
Value |
||||
BrowseName |
PublishedDataSetType |
||||
IsAbstract |
False |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
Subtype of BaseObjectType defined in OPC 10000-5. |
|||||
DataSetToWriter |
Object |
<DataSetWriterName> |
|
DataSetWriterType |
OptionalPlaceholder |
HasProperty |
Variable |
ConfigurationVersion |
ConfigurationVersionDataType |
PropertyType |
Mandatory |
HasProperty |
Variable |
DataSetMetaData |
DataSetMetaDataType |
PropertyType |
Mandatory |
HasProperty |
Variable |
DataSetClassId |
Guid |
PropertyType |
Optional |
HasComponent |
Object |
ExtensionFields |
|
ExtensionFieldsType |
Optional |
The PublishedDataSetType ObjectTypeis a concrete type and can be used directly. It can be used to expose a PublishedDataSetwhere the data collection is not visible in the AddressSpace.
The Objecthas a list of DataSetWriters. A DataSetWritersends DataSetMessagescreated from DataSetsthrough aMessage Oriented Middleware. The link between the PublishedDataSet Objectand a DataSetWritershall be created when an instance of the DataSetWriterTypeis created. The DataSetWriterTypeis defined in 9.1.7.2. If a DataSetWriteris created for the PublishedDataSet, it is added to the list using the ReferenceType DataSetToWriter. The DataSetToWriter ReferenceTypeis defined in 9.1.4.2.5. If a DataSetWriterfor the PublishedDataSetis removed from a group, the Referenceto this DataSetWritershall also be removed from this list. The group model is defined in 9.1.6.
The Property ConfigurationVersionis related to configuration of the DataSetproduced by the PublishedDataSet Object. The PublishedDataSetparameters affecting the version are defined in the concrete types derived from this base type. The ConfigurationVersionDataTypeand the rules for setting the version are defined in 6.2.2.1.5.
The Property DataSetMetaDataprovides the information necessary to decode DataSetMessageson the Subscriberside if the DataSetMessagesare not self-describing. The information in this Propertyis automatically updated if the ConfigurationVersionis changed based on DataSetconfiguration change. The DataSetMetaDataTypeis defined in 6.2.2.1.2. The Namefield in the DataSetMetaDataTypeshall match the name of the PublishedDataSetType Objectif the DataSetMetaDatais not based on a DataSetClass.
The MajorVersionpart of the ConfigurationVersioncontained in the DataSetMessagemust match the ConfigurationVersionof the DataSetMetaData available on the Subscriber side.
The DataSetClassIdis the globally unique identifier for a DataSetClass. The optional Propertyshall be present if the DataSetClassIdof the DataSetMetaDatais not null. If the DataSetClassIdis set, the Publishershall reject any configuration changes that change the DataSetMetaData.
The ExtensionFields Object allows the configuration of fields with values to be included in the DataSetin case the existing AddressSpaceof the Publisherdoes not provide the necessary information. The extension fields are added as Propertiesto the ExtensionFields Object.For PublishedDataItemsTypebase PublishedDataSets, an extension field is included as a Variablein the published DataSet. For PublishedEventsTypebase PublishedDataSets, an extension field is included into the SelectedFieldsfor the DataSet.
The ExtensionFieldsTypeis formally defined in Table 106. It allows the configuration of fields with values to be included in the DataSetin case the existing AddressSpaceof the Publisherdoes not provide the necessary information.
Table 106– ExtensionFieldsType Definition
Attribute |
Value |
||||
BrowseName |
ExtensionFieldsType |
||||
IsAbstract |
False |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
Subtype of BaseObjectType defined in OPC 10000-5. |
|||||
|
|
|
|
|
|
HasProperty |
Variable |
<ExtensionFieldName> |
BaseDataType |
PropertyType |
OptionalPlaceholder |
HasComponent |
Method |
AddExtensionField |
Defined in 9.1.4.2.3. |
Mandatory |
|
HasComponent |
Method |
RemoveExtensionField |
Defined in 9.1.4.2.4. |
Mandatory |
The ExtensionFieldsType ObjectTypeis a concrete type and can be used directly.
The configured list of extension fields is exposed through Propertiesand managed through the Methods AddExtensionFieldand RemoveExtensionField. An ExtensionFieldis not automatically included in the DataSet. The ExtensionFieldmust be added to the DataSetafter creation.
Metadata that normally appear in message headers can be included to the body by adding extension fields with well-known QualifiedNames. These well-known QualifiedNamesare shown in Table 107. The qualifying namespace is the OPC UA namespace.
Table 107– Well-Known Extension Field Names
Name |
Type |
Description |
PublisherId |
BaseDataType |
The PublisherIdfrom the Connection Object. |
DataSetName |
String |
The Namefrom the DataSetMetaData. |
DataSetClassId |
Guid |
The DataSetClassIdfrom the DataSetMetaData. |
MajorVersion |
UInt32 |
The MajorVersion from the ConfigurationVersion |
MinorVersion |
UInt32 |
The MinorVersion from the ConfigurationVersion |
DataSetWriterId |
BaseDataType |
The DataSetWriterIdfrom the DataSetWriterTransport Object. |
MessageSequenceNumber |
UInt16 |
The sequence number from the DataSetMessage. |
If a well-known name is used the value placed in the message body is dynamically generated from the current settings. The value set in the AddExtensionField Methodis ignored. Subtypes of DataSetWriterTransportTypemay extend this list.
This Methodis used to add a Propertyto the Object ExtensionFields.
The Clientshall be authorized to modify the configuration for the PubSubfunctionality when invoking this Methodon the Server.
Signature
AddExtensionField(
[in]QualifiedNameFieldName
[in]BaseDataTypeFieldValue
[out]NodeId FieldId
);
Argument |
Description |
FieldName |
Name of the field to add. |
FieldValue |
The value of the field to add. |
FieldId |
Method Result Codes
ResultCode |
Description |
Bad_NodeIdExists |
A field with the name already exists. |
Bad_InvalidArgument |
The Serveris not able to apply the Name. The Namemay be too long or may contain invalid characters. |
Bad_UserAccessDenied |
This Methodis used to remove a Propertyfrom the Object ExtensionFields.
The Clientshall be authorized to modify the configuration for the PubSubfunctionality when invoking this Methodon the Server.
Signature
RemoveExtensionField(
[in]NodeId FieldId
);
Argument |
Description |
FieldId |
Method Result Codes
ResultCode |
Description |
Bad_NodeIdUnknown |
A field with the NodeIddoes not exist. |
Bad_NodeIdInvalid |
The FieldIdis not a NodeIdof a Propertyof the ExtensionFieldsType Object. |
Bad_UserAccessDenied |
The DataSetToWriter ReferenceTypeis a concrete ReferenceTypethat can be used directly. It is a subtype of the HierarchicalReferences ReferenceType.
The SourceNodeof Referencesof this type shall be an Objectof ObjectType PublishedDataSetTypeor an ObjectTypethat is a subtype of PublishedDataSetTypedefined in 9.1.4.2.1.
The TargetNodeof this ReferenceType shall be an Objectof the ObjectType DataSetWriterTypedefined in 9.1.7.1.
Each DataSetWriter Objectshall be the TargetNodeof exactly one DataSetToWriter Reference.
Serversshall provide the inverse Referencethat relates a DataSetWriter Objectback to a PublishedDataSetTypeObject.
The representation of the DataSetToWriter ReferenceTypein the AddressSpaceis specified in Table 108.
Table 108– DataSetToWriter ReferenceType
Attributes |
Value |
||
BrowseName |
DataSetToWriter |
||
InverseName |
WriterToDataSet |
||
Symmetric |
False |
||
IsAbstract |
False |
||
References |
NodeClass |
BrowseName |
Comment |
Subtype of HierarchicalReferences defined in OPC 10000-5. |
The PublishedDataItemsTypeis used to select a list of OPC UA Variablesas the source for the creation of DataSetssent through one or more DataSetWriters.
The PublishedDataItemsTypeis formally defined Table 109.
Table 109– PublishedDataItemsType Definition
Attribute |
Value |
||||
BrowseName |
PublishedDataItemsType |
||||
IsAbstract |
False |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
Subtype of PublishedDataSetType defined in 9.1.4.2. |
|||||
HasProperty |
Variable |
PublishedData |
PublishedVariableDataType[] |
PropertyType |
Mandatory |
HasComponent |
Method |
AddVariables |
Defined in 9.1.4.3.2. |
Optional |
|
HasComponent |
Method |
RemoveVariables |
Defined in 9.1.4.3.3. |
Optional |
The PublishedDataItemsType ObjectTypeis a concrete type and can be used directly.
The PublishedDatais defined in 6.2.2.6.1. Existing entries in the array can be changed by writing the new settings to the Variable Value. A new Valueshall be rejected with Bad_OutOfRange if the array size would be changed. Entries in the array can be added and removed with the Methods AddVariablesand RemoveVariables.
The index into the list of entries in the PublishedDatahas an important role for Subscribersand for configuration tools. It is used as a handle to reference the entry in configuration actions like RemoveVariableor the Valuein DataSetMessagesreceived by Subscribers. The index may change after configuration changes. Changes are indicated by the ConfigurationVersionand applications working with the index shall always check the ConfigurationVersionbefore using the index.
This Methodis used to add Variablesto the PublishedData Property. The PublishedDatacontains a list of published Variablesof a PublishedDataItemsType Object. The information provided in the input Arguments and information available for the added Variables is also used to create the content of the DataSetMetaData Property. The mapping to the DataSetMetaDatais described for the input Arguments.
Variablesshall be added at the end of the list in PublishedData. This ensures that Subscribersare only affected by the change if they are interested in the added Variables.
If at least one Variablewas added to the PublishedData, the MinorVersionof the ConfigurationVersionshall be updated. The ConfigurationVersionDataTypeand the rules for setting the version are defined in 6.2.2.1.5.
The Clientshall be authorized to modify the configuration for the PubSubfunctionality when invoking this Methodon the Server.
Signature
AddVariables(
[in]ConfigurationVersionDataType ConfigurationVersion
[in]String[] FieldNameAliases
[in]Boolean[] PromotedFields
[in]PublishedVariableDataType[] VariablesToAdd
[out]ConfigurationVersionDataType NewConfigurationVersion
[out] StatusCode[] AddResults
);
Argument |
Description |
ConfigurationVersion |
Configuration version of the DataSet. The configuration version must match the entire current configuration version of the Objectwhen the Methodcall is processed. If it does not match, the result Bad_InvalidState shall be returned. The ConfigurationVersionDataTypeis defined in 6.2.2.1.5. |
FieldNameAliases |
The names assigned to the selected Variablesfor the fields in the DataSetMetaDataand in the DataSetMessagesfor tagged message encoding. The size and the order of the array shall match the VariablesToAdd. The string shall be used to set the name field in the FieldMetaDatathat is part of the DataSetMetaData. |
PromotedFields |
The flags indicating if the corresponding field is promoted to the DataSetMessageheader. The size and the order of the array shall match the VariablesToAdd. The flag is used to set the PromotedFieldflag in the fieldFlagsparameter in the FieldMetaData. |
VariablesToAdd |
Array of Variablesto add to PublishedDataand the related configuration settings. Successfully added variables are appended to the end of the list of published variables configured in the PublishedData Property. Failed variables are not added to the list. The PublishedVariableDataTypeis defined in 6.2.2.6.1. The parameters builtInType, dataType, valueRankand arrayDimensionsof the FieldMetaDataare filled from corresponding Variable Attributes. |
NewConfigurationVersion |
Returns the new configuration version of the PublishedDataSet. |
AddResults |
The result codes for the variables to add. Variables exceeding the maximum number of items in the Objectare rejected with Bad_TooManyVariables. |
Method Result Codes
ResultCode |
Description |
Bad_NothingToDo |
An empty list of variables was passed in. |
Bad_InvalidState |
The configuration version did not match the current state of the object. |
Bad_NotWritable |
The DataSetis based on a DataSetClassand the size of the PublishedDataarray cannot be changed. |
Bad_UserAccessDenied |
The Sessionuser is not allowed to configure the object. |
Operation Result Codes
ResultCode |
Description |
Bad_NodeIdInvalid |
See OPC 10000-4for the description of this result code. |
Bad_NodeIdUnknown |
See OPC 10000-4for the description of this result code. |
Bad_IndexRangeInvalid |
See OPC 10000-4for the description of this result code. |
Bad_IndexRangeNoData |
See OPC 10000-4for the description of this result code. If the ArrayDimensionshave a fixed length that cannot change and no data exists within the range of indexes specified, Bad_IndexRangeNoData is returned in AddVariables. Otherwise, if the length of the array is dynamic, the Publishershall insert this status in a DataSetif no data exists within the range. |
Bad_TooManyVariables |
The Publisherhas reached its maximum number of items for the PublishedDataItemsTypeobject. |
This Methodis used to remove Variablesfrom the PublishedDatalist. It contains the list of published Variablesof a PublishedDataItemsType Object.
A caller shall read the current Values of PublishedDataand ConfigurationVersionprior to calling this Method, to ensure the use of the correct index of the Variablesthat are being removed.
If at least one Variablewas successfully removed from the PublishedData, the MajorVersionof the ConfigurationVersionshall be updated. The ConfigurationVersionDataTypeand the rules for setting the version are defined in 6.2.2.1.5.
The order of the remaining Variablesin the PublishedDatashall be preserved.
The Clientshall be authorized to modify the configuration for the PubSubfunctionality when invoking this Methodon the Server.
Signature
RemoveVariables(
[in]ConfigurationVersionDataType ConfigurationVersion
[in]UInt32[] VariablesToRemove
[out]ConfigurationVersionDataType NewConfigurationVersion
[out] StatusCode[] RemoveResults
);
Argument |
Description |
ConfigurationVersion |
Configuration version of the DataSet. The configuration version and the indices passed in through VariablesToRemovemust match the entire current configuration version of the Objectwhen the Methodcall is processed. If it does not match, the result Bad_InvalidState shall be returned. The ConfigurationVersionDataTypeis defined in 6.2.2.1.5. |
VariablesToRemove |
Array of indices of Variables to remove from the list of Variablesconfigured in PublishedDataof the PublishedDataItemsType. This matches the list of fields configured in the DataSetMetaDataof the PublishedDataSetType. |
NewConfigurationVersion |
Returns the new configuration version of the DataSet. |
RemoveResults |
The result codes for each of the variables to remove. |
Method Result Codes
ResultCode |
Description |
Bad_NothingToDo |
An empty list of variables was passed in. |
Bad_InvalidState |
The configuration version did not match the current state of the Object. |
Bad_UserAccessDenied |
Operation Result Codes
ResultCode |
Description |
Bad_InvalidArgument |
The passed index was invalid. |
This PublishedDataSetTypeis used to configure the collection of OPC UA Events.
The PublishedEventsTypeis formally defined in Table 110.
Table 110– PublishedEventsType Definition
Attribute |
Value |
||||
BrowseName |
PublishedEventsType |
||||
IsAbstract |
False |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
Subtype of PublishedDataSetType defined in 9.1.4.2.1. |
|||||
HasProperty |
Variable |
EventNotifier |
NodeId |
PropertyType |
Mandatory |
HasProperty |
Variable |
SelectedFields |
SimpleAttributeOperand[] |
PropertyType |
Mandatory |
HasProperty |
Variable |
Filter |
ContentFilter |
PropertyType |
Mandatory |
HasComponent |
Method |
ModifyFieldSelection |
Defined in 9.1.4.4.2. |
Optional |
The PublishedEventsType ObjectTypeis a concrete type and can be used directly.
The EventNotifieris defined in 6.2.2.7.1.
The SelectedFieldsis defined in 6.2.2.7.2.
The index into the list of entries in the SelectedFieldshas an important role for Subscribers. It is used as handle to reference the Eventfield in DataSetMessagesreceived by Subscribers. The index may change after configuration changes. Changes are indicated by the ConfigurationVersionand applications working with the index shall always check the ConfigurationVersionbefore using the index. If a change of the SelectedFields adds additional fields, the MinorVersionof the ConfigurationVersionshall be updated. If a change of the SelectedFieldsremoves fields, the MajorVersionof the ConfigurationVersionshall be updated. The Property ConfigurationVersionis defined in the base ObjectType PublishedDataSetType.
The Filteris defined in 6.2.2.7.3. A change of the Filterdoes not affect the ConfigurationVersionsince the content of the DataSetdoes not change.
This Methodis used to modify the event field selection of a PublishedEventsType Object.
The Clientshall be authorized to modify the configuration for the PubSubfunctionality when invoking this Methodon the Server.
Signature
ModifyFieldSelection(
[in]ConfigurationVersionDataType ConfigurationVersion
[in]String[] FieldNameAliases
[in]Boolean[] PromotedFields
[in]SimpleAttributeOperand[] SelectedFields
[out]ConfigurationVersionDataType NewConfigurationVersion
);
Argument |
Description |
ConfigurationVersion |
Configuration version of the DataSet. The configuration version must match the entire current configuration version of the Objectwhen the Methodcall is processed. If it does not match, the result Bad_InvalidState shall be returned. The ConfigurationVersionDataTypeis defined in 6.2.2.1.5. |
FieldNameAliases |
The names assigned to the selected fields in the DataSetMetaDataand in the DataSetMessagesfor tagged message encoding. The size and the order of the array must match the SelectedFields. The string is used to set the name field in the FieldMetaDatathat is part of the DataSetMetaData. |
PromotedFields |
The flags indicating if the corresponding field is promoted to the DataSetMessageheader. The size and the order of the array shall match the SelectedFields. The flag is used to set the corresponding field in the FieldMetaDatathat is part of the DataSetMetaData. |
SelectedFields |
The selection of Eventfields contained in the DataSetgenerated for an Eventand sent through the DataSetWriter. The SimpleAttributeOperand DataTypeis defined in OPC 10000-4. A change to the selected fields requires a change of the ConfigurationVersion. |
NewConfigurationVersion |
Return the new configuration version of the DataSet. |
Method Result Codes
ResultCode |
Description |
Bad_InvalidState |
The configuration version did not match the current state of the Object. |
Bad_EventFilterInvalid |
The event filter is not valid. |
Bad_UserAccessDenied |
The DataSetFolderType is formally defined Table 111.
Table 111– DataSetFolderType Definition
Attribute |
Value |
||||
BrowseName |
DataSetFolderType |
||||
IsAbstract |
False |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
Subtype of FolderType defined in OPC 10000-5. |
|||||
|
|
|
|
|
|
Organizes |
Object |
<DataSetFolderName> |
|
DataSetFolderType |
OptionalPlaceholder |
HasComponent |
Object |
<PublishedDataSetName> |
|
PublishedDataSetType |
OptionalPlaceholder |
HasComponent |
Method |
AddPublishedDataItems |
Defined in 9.1.4.5.2. |
Optional |
|
HasComponent |
Method |
AddPublishedEvents |
Defined in 9.1.4.5.3. |
Optional |
|
HasComponent |
Method |
AddPublishedDataItemsTemplate |
Defined in 9.1.4.5.4. |
Optional |
|
HasComponent |
Method |
AddPublishedEventsTemplate |
Defined in 9.1.4.5.5. |
Optional |
|
HasComponent |
Method |
RemovePublishedDataSet |
Defined in 9.1.4.5.6. |
Optional |
|
HasComponent |
Method |
AddDataSetFolder |
Defined in 9.1.4.5.7. |
Optional |
|
HasComponent |
Method |
RemoveDataSetFolder |
Defined in 9.1.4.5.8. |
Optional |
The DataSetFolderType ObjectTypeis a concrete type and can be used directly.
Instances of the DataSetFolderTypecan contain PublishedDataSetsor other instances of the DataSetFolderType. This can be used to build a tree of Folder Objectsused to group the configured PublishedDataSets.
The PublishedDataSetType Objectsare added as components to the instance of the DataSetFolderType. An instance of a PublishedDataSetTypeis referenced only from one DataSetFolder. If the DataSetFolderis deleted, all referenced PublishedDataSetType Objectsare deleted with the folder.
PublishedDataSetType Objectsmay be configured with product specific configuration tools or added and removed through the Methods AddPublishedDataItems, AddPublishedEventsand RemovePublishedDataSet. The PublishedDataSetType is defined in 9.1.4.2.1.
This Methodis used to create a PublishedDataSets Objectof type PublishedDataItemsType and to add it to the DataSetFolderType Object. The configuration parameters passed in with this Methodare further described in the PublishedDataItemsTypedefined in 9.1.4.3.1and the PublishedDataSetTypedefined in 9.1.4.2.
The settings in the VariablesToAddare used to configure the data acquisition for the DataSetand are used to initialize the PublishedData Propertyof the PublishedDataItemsType.
The DataSetMetaDataof the PublishedDataSetTypeis created from meta-data of the Variablesreferenced inVariablesToAddand the settings in FieldNameAliasesand FieldFlags.
The Clientshall be authorized to modify the configuration for the PubSubfunctionality when invoking this Methodon the Server.
Signature
AddPublishedDataItems (
[in]String Name
[in]String[] FieldNameAliases
[in]DataSetFieldFlags[] FieldFlags
[in]PublishedVariableDataType[] VariablesToAdd
[out] NodeId DataSetNodeId
[out]ConfigurationVersionDataType ConfigurationVersion
[out] StatusCode[] AddResults
);
Argument |
Description |
Name |
Name of the Objectto create. |
FieldNameAliases |
The names assigned to the selected Variablesfor the fields in the DataSetMetaDataand in the DataSetMessagesfor tagged message encoding. The size and the order of the array shall match the VariablesToAdd. The string shall be used to set the name field in the FieldMetaDatathat is part of the DataSetMetaData. The name shall be unique in the DataSet. |
FieldFlags |
The field flags assigned to the selected Variables for the fields in the DataSetMetaData. The size and the order of the array shall match the VariablesToAdd. The flag is used to set the corresponding field in the FieldMetaDatathat is part of the DataSetMetaData. |
VariablesToAdd |
Array of Variables to add to PublishedData and the related configuration settings. Successfully added variables are appended to the end of the list of published variables configured in the PublishedData Property. Failed variables are not added to the list. The PublishedVariableDataTypeis defined in 6.2.2.6.1. |
DataSetNodeId |
NodeIdof the created PublishedDataSets Object. |
ConfigurationVersion |
Returns the initial configuration version of the DataSet. |
AddResults |
The result codes for the variables to add. Variables exceeding the maximum number of items in the Objectare rejected with Bad_TooManyMonitoredItems. |
Method Result Codes
ResultCode |
Description |
Bad_InvalidState |
The current state of the Objectdoes not allow a configuration change. |
Bad_BrowseNameDuplicated |
A data set Objectwith the name already exists. |
Bad_UserAccessDenied |
|
Bad_InvalidArgument |
The Serveris not able to apply the Name. The Namemay be too long or may contain invalid characters. |
Operation Result Codes
ResultCode |
Description |
Bad_NodeIdInvalid |
See OPC 10000-4for the description of this result code. |
Bad_NodeIdUnknown |
See OPC 10000-4for the description of this result code. |
Bad_IndexRangeInvalid |
See OPC 10000-4for the description of this result code. |
Bad_IndexRangeNoData |
See OPC 10000-4for the description of this result code. If the ArrayDimensionshave a fixed length that cannot change and no data exists within the range of indexes specified, Bad_IndexRangeNoData is returned in AddVariables. Otherwise if the length of the array is dynamic, the Publishershall insert this status in a DataSetif no data exists within the range. |
Bad_TooManyMonitoredItems |
The Serverhas reached its maximum number of items for the PublishedDataItemsType object. |
Bad_DuplicateName |
The passed field name alias already exists. |
This Methodis used to add a PublishedEventsType Objectto the DataSetFolderType Object. The configuration parameters passed in with this Methodare further described in the PublishedEventsTypedefined in 9.1.4.4.1and the PublishedDataSetTypedefined in 9.1.4.2.
The settings in the EventNotifier, SelectedFields andFilterare used to configure the data acquisition for the DataSetand are used to initialize the correspondingPropertiesof the PublishedEventsType.
The DataSetMetaDataof the PublishedDataSetTypeis created from meta-data of the selected Eventfields and the settings in FieldNameAliasesand FieldFlags.
The Clientshall be authorized to modify the configuration for the PubSubfunctionality when invoking this Methodon the Server.
Signature
AddPublishedEvents(
[in]String Name
[in]NodeId EventNotifier
[in]String[] FieldNameAliases
[in]DataSetFieldFlags[] FieldFlags
[in]SimpleAttributeOperand[]SelectedFields
[in]ContentFilter Filter
[out]ConfigurationVersionDataTypeConfigurationVersion
[out] NodeId DataSetNodeId
);
Argument |
Description |
Name |
Name of the DataSet Objectto create. |
EventNotifier |
The NodeIdof the Objectin the event notifier tree of the OPC UA Serverthat is used to collect Eventsfrom. |
FieldNameAliases |
The names assigned to the selected fields in the DataSetMetaDataand in the DataSetMessagesfor tagged message encoding. The size and the order of the array shall match the SelectedFields. The string is used to set the name field in the FieldMetaDatathat is part of the DataSetMetaData. |
FieldFlags |
The field flags assigned to the selected fields in the DataSetMetaData. The size and the order of the array shall match the SelectedFields. The flag is used to set the corresponding field in the FieldMetaDatathat is part of the DataSetMetaData. |
SelectedFields |
The selection of Event Fields contained in the DataSetgenerated for an Eventand sent through the DataSetWriter. The SimpleAttributeOperand DataTypeis defined in OPC 10000-4. |
Filter |
The filter applied to the Events. It allows the reduction of the DataSetsgenerated from Eventsthrough a filter like filtering for a certain EventType. The ContentFilter DataTypeis defined in OPC 10000-4. |
ConfigurationVersion |
Returns the initial configuration version of the PublishedDataSets. |
DataSetNodeId |
NodeIdof the created PublishedDataSets Object. |
Method Result Codes
ResultCode |
Description |
Bad_InvalidState |
The current state of the Objectdoes not allow a configuration change. |
Bad_NodeIdExists |
A data set Objectwith the name already exists. |
Bad_NodeIdUnknown |
|
Bad_EventFilterInvalid |
The Eventfilter is not valid. |
Bad_UserAccessDenied |
|
Bad_InvalidArgument |
The Serveris not able to apply the Name. The Namemay be too long or may contain invalid characters. |
This Methodis used to create a PublishedDataSets Objectof type PublishedDataItemsType and to add it to the DataSetFolderType Object. The configuration parameters passed in with this Methodare further described in the PublishedDataItemsTypedefined in 9.1.4.3.1and the PublishedDataSetTypedefined in 9.1.4.2.
The Clientshall be authorized to modify the configuration for the PubSubfunctionality when invoking this Methodon the Server.
Signature
AddPublishedDataItemsTemplate (
[in]String Name
[in]DataSetMetaDataType DataSetMetaData
[in]PublishedVariableDataType[] VariablesToAdd
[out] NodeId DataSetNodeId
[out] StatusCode[] AddResults
);
Argument |
Description |
Name |
Name of the Objectto create. |
DataSetMetaData |
The DataSetMetaDatapredefined by the caller. The initial setting shall not be changed by the Publisher. If the dataSetClassIdof the DataSetMetaDatais not null, the DataSetClassId Propertyof the PublishedDataSetTypeshall be created and initialized with the dataSetClassId value. The name of the PublishedDataSet Objectis defined by the name in the DataSetMetaData. |
VariablesToAdd |
Array of variable settings for the data acquisition for the fields in the DataSetMetaData. The size of the array shall match the size of the fieldsarray in the DataSetMetaData. The substituteValuein the VariablesToAddentries shall be configured. For failed variables the publishedVariablefield of entry in the resulting PublishedData Propertyshall be set to a null NodeId. If there is no Variableavailable for a field in the DataSetMetaDatathe publishedVariablefield for the entry shall be set to a null NodeId. The PublishedVariableDataTypeis defined in 6.2.2.6.1. |
DataSetNodeId |
NodeIdof the created PublishedDataSets Object. |
AddResults |
The result codes for the variables to add. |
Method Result Codes
ResultCode |
Description |
Bad_InvalidState |
The current state of the Objectdoes not allow a configuration change. |
Bad_BrowseNameDuplicated |
A data set Objectwith the name already exists. |
Bad_UserAccessDenied |
|
Bad_InvalidArgument |
The VariablesToAddparameter does not match the array size of the fields in the DataSetMetaDataor the configuration of the VariablesToAddcontains invalid settings. |
Bad_TooManyMonitoredItems |
The Objectcannot be created since the number of items in the PublishedDataSetexceeds the capabilities of the Publisher. |
Operation Result Codes
ResultCode |
Description |
Bad_NodeIdInvalid |
See OPC 10000-4for the description of this result code. |
Bad_NodeIdUnknown |
See OPC 10000-4for the description of this result code. |
Bad_IndexRangeInvalid |
See OPC 10000-4for the description of this result code. |
Bad_IndexRangeNoData |
See OPC 10000-4for the description of this result code. If the ArrayDimensionshave a fixed length that cannot change and no data exists within the range of indexes specified, Bad_IndexRangeNoData is returned in AddVariables. Otherwise if the length of the array is dynamic, the Publishershall insert this status in a DataSetif no data exists within the range. |
Bad_TooManyMonitoredItems |
The Serverhas reached its maximum number of items for the PublishedDataItemsType Object. |
Bad_DuplicateName |
The passed field name alias already exists. |
This Methodis used to add a PublishedEventsType Objectto the DataSetFolderType Object. The configuration parameters passed in with this Methodare further described in the PublishedEventsTypedefined in 9.1.4.4.1and the PublishedDataSetTypedefined in 9.1.4.2.
The Clientshall be authorized to modify the configuration for the PubSubfunctionality when invoking this Methodon the Server.
Signature
AddPublishedEventsTemplate(
[in]String Name
[in]DataSetMetaDataType DataSetMetaData
[in]NodeId EventNotifier
[in]SimpleAttributeOperand[]SelectedFields
[in]ContentFilter Filter
[out] NodeId DataSetNodeId
);
Argument |
Description |
Name |
Name of the Objectto create. |
DataSetMetaData |
The DataSetMetaDatapredefined by the caller. The initial setting shall not be changed by the Publisher. If the dataSetClassIdof the DataSetMetaDatais not null, the DataSetClassId Propertyof the PublishedDataSetTypeshall be created and initialized with the dataSetClassId value. The name of the PublishedDataSet Objectis defined by the name in the DataSetMetaData. |
EventNotifier |
The NodeIdof the Objectin the event notifier tree of the OPC UA Serverthat is used to collect Eventsfrom. |
SelectedFields |
The selection of Event Fields contained in the DataSetgenerated for an Eventand sent through the DataSetWriter. The size of the array shall match the size of the fields array in the DataSetMetaData. If there is no Eventfield available for a field in the DataSetMetaDatathe browsePathfield for the SimpleAttributeOperandentry shall be set to null. The SimpleAttributeOperand DataTypeis defined in OPC 10000-4. |
Filter |
The filter applied to the Events. It allows the reduction of the DataSetsgenerated from Eventsthrough a filter like filtering for a certain EventType. The ContentFilter DataTypeis defined in OPC 10000-4. |
DataSetNodeId |
NodeIdof the created PublishedDataSets Object. |
Method Result Codes
ResultCode |
Description |
Bad_InvalidState |
The current state of the Objectdoes not allow a configuration change. |
Bad_NodeIdExists |
|
Bad_NodeIdUnknown |
|
Bad_EventFilterInvalid |
The Eventfilter is not valid. |
Bad_UserAccessDenied |
|
Bad_InvalidArgument |
The Serveris not able to apply the Name. The Namemay be too long or may contain invalid characters. |
This Methodis used to remove a PublishedDataSetType Objectfrom the DataSetFolderType Object.
A successful removal of the PublishedDataSetType Objectremoves all associated DataSetWriter Objects. Before the Objectsare removed, their state is changed to Disabled_0
The Clientshall be authorized to modify the configuration for the PubSubfunctionality when invoking this Methodon the Server.
Signature
RemovePublishedDataSet(
[in]NodeIdDataSetNodeId
);
Argument |
Description |
DataSetNodeId |
NodeIdof the PublishedDataSets Objectto remove from the Server. The DataSetIdis either returned by the AddPublishedDataItemsor AddPublishedEvents Methodsor can be discovered by browsing the list of configured PublishedDataSetsin the PublishSubscribe Object. |
Method Result Codes
ResultCode |
Description |
Bad_NodeIdUnknown |
The DataSetNodeIdis unknown. |
Bad_UserAccessDenied |
The Sessionuser is not allowed to delete a PublishedDataSetType. |
This Methodis used to add a DataSetFolderType Objectto a DataSetFolderType Object.
The Clientshall be authorized to modify the configuration for the PubSubfunctionality when invoking this Methodon the Server.
Signature
AddDataSetFolder(
[in]StringName
[out]NodeIdDataSetFolderNodeId
);
Argument |
Description |
Name |
Name of the Objectto create. |
DataSetFolderNodeId |
NodeIdof the created DataSetFolderType Object. |
Method Result Codes
ResultCode |
Description |
Bad_BrowseNameDuplicated |
A folder Objectwith the name already exists. |
Bad_InvalidArgument |
The Serveris not able to apply the Name. The Namemay be too long or may contain invalid characters. |
Bad_UserAccessDenied |
The Sessionuser is not allowed to add a folder. |
This Methodis used to remove a DataSetFolderType Objectfrom the parent DataSetFolderType Object.
A successful removal of the DataSetFolderType Objectremovesall associated PublishedDataSetType Objectsand their associated DataSetWriter Objects. Before the Objectsare removed, their state is changed to Disabled_0
The Clientshall be authorized to modify the configuration for the PubSubfunctionality when invoking this Methodon the Server.
Signature
RemoveDataSetFolder(
[in]NodeIdDataSetFolderNodeId
);
Argument |
Description |
DataSetFolderNodeId |
NodeIdof the DataSetFolderType Objectto remove from the Server. |
Method Result Codes
ResultCode |
Description |
Bad_NodeIdUnknown |
The DataSetFolderNodeIdis unknown. |
Bad_UserAccessDenied |
The Sessionuser is not allowed to delete a data set. |