Browse Source

Add more type definitions for PubSub

Julius Pfrommer 6 years ago
parent
commit
d2a3d26d6a
2 changed files with 401 additions and 67 deletions
  1. 394 67
      tools/schema/Opc.Ua.Types.bsd
  2. 7 0
      tools/schema/datatypes_minimal.txt

+ 394 - 67
tools/schema/Opc.Ua.Types.bsd

@@ -218,6 +218,13 @@
     <opc:Field Name="Value" TypeName="ua:Variant" />
   </opc:StructuredType>
 
+  <opc:StructuredType Name="EndpointType" BaseType="ua:ExtensionObject">
+    <opc:Field Name="EndpointUrl" TypeName="opc:String" />
+    <opc:Field Name="SecurityMode" TypeName="tns:MessageSecurityMode" />
+    <opc:Field Name="SecurityPolicyUri" TypeName="opc:String" />
+    <opc:Field Name="TransportProfileUri" TypeName="opc:String" />
+  </opc:StructuredType>
+
   <opc:EnumeratedType Name="OpenFileMode" LengthInBits="32">
     <opc:EnumeratedValue Name="Read" Value="1" />
     <opc:EnumeratedValue Name="Write" Value="2" />
@@ -228,7 +235,7 @@
   <opc:EnumeratedType Name="IdentityCriteriaType" LengthInBits="32">
     <opc:EnumeratedValue Name="UserName" Value="1" />
     <opc:EnumeratedValue Name="Thumbprint" Value="2" />
-    <opc:EnumeratedValue Name="Scope" Value="3" />
+    <opc:EnumeratedValue Name="Role" Value="3" />
     <opc:EnumeratedValue Name="GroupId" Value="4" />
     <opc:EnumeratedValue Name="Anonymous" Value="5" />
     <opc:EnumeratedValue Name="AuthenticatedUser" Value="6" />
@@ -265,30 +272,81 @@
     <opc:Field Name="Value" TypeName="opc:ByteString" />
   </opc:StructuredType>
 
-  <opc:StructuredType Name="ConfigurationVersionDataType" BaseType="ua:ExtensionObject">
-    <opc:Field Name="MajorVersion" TypeName="opc:UInt32" />
-    <opc:Field Name="MinorVersion" TypeName="opc:UInt32" />
+  <opc:StructuredType Name="DataTypeSchemaHeader" BaseType="ua:ExtensionObject">
+    <opc:Field Name="NoOfNamespaces" TypeName="opc:Int32" />
+    <opc:Field Name="Namespaces" TypeName="opc:String" LengthField="NoOfNamespaces" />
+    <opc:Field Name="NoOfStructureDataTypes" TypeName="opc:Int32" />
+    <opc:Field Name="StructureDataTypes" TypeName="tns:StructureDescription" LengthField="NoOfStructureDataTypes" />
+    <opc:Field Name="NoOfEnumDataTypes" TypeName="opc:Int32" />
+    <opc:Field Name="EnumDataTypes" TypeName="tns:EnumDescription" LengthField="NoOfEnumDataTypes" />
+    <opc:Field Name="NoOfSimpleDataTypes" TypeName="opc:Int32" />
+    <opc:Field Name="SimpleDataTypes" TypeName="tns:SimpleTypeDescription" LengthField="NoOfSimpleDataTypes" />
   </opc:StructuredType>
 
-  <opc:StructuredType Name="DataSetMetaDataType" BaseType="ua:ExtensionObject">
-    <opc:Field Name="Name" TypeName="opc:String" />
-    <opc:Field Name="Description" TypeName="ua:LocalizedText" />
-    <opc:Field Name="NoOfFields" TypeName="opc:Int32" />
-    <opc:Field Name="Fields" TypeName="tns:FieldMetaData" LengthField="NoOfFields" />
-    <opc:Field Name="DataSetClassId" TypeName="opc:Guid" />
+  <opc:StructuredType Name="DataTypeDescription" BaseType="ua:ExtensionObject">
+    <opc:Field Name="DataTypeId" TypeName="ua:NodeId" />
+    <opc:Field Name="Name" TypeName="ua:QualifiedName" />
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="StructureDescription" BaseType="tns:DataTypeDescription">
+    <opc:Field Name="DataTypeId" TypeName="ua:NodeId" SourceType="tns:DataTypeDescription" />
+    <opc:Field Name="Name" TypeName="ua:QualifiedName" SourceType="tns:DataTypeDescription" />
+    <opc:Field Name="StructureDefinition" TypeName="tns:StructureDefinition" />
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="EnumDescription" BaseType="tns:DataTypeDescription">
+    <opc:Field Name="DataTypeId" TypeName="ua:NodeId" SourceType="tns:DataTypeDescription" />
+    <opc:Field Name="Name" TypeName="ua:QualifiedName" SourceType="tns:DataTypeDescription" />
+    <opc:Field Name="EnumDefinition" TypeName="tns:EnumDefinition" />
+    <opc:Field Name="BuiltInType" TypeName="opc:Byte" />
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="SimpleTypeDescription" BaseType="tns:DataTypeDescription">
+    <opc:Field Name="DataTypeId" TypeName="ua:NodeId" SourceType="tns:DataTypeDescription" />
+    <opc:Field Name="Name" TypeName="ua:QualifiedName" SourceType="tns:DataTypeDescription" />
+    <opc:Field Name="BaseDataType" TypeName="ua:NodeId" />
+    <opc:Field Name="BuiltInType" TypeName="opc:Byte" />
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="UABinaryFileDataType" BaseType="tns:DataTypeSchemaHeader">
     <opc:Field Name="NoOfNamespaces" TypeName="opc:Int32" />
     <opc:Field Name="Namespaces" TypeName="opc:String" LengthField="NoOfNamespaces" />
     <opc:Field Name="NoOfStructureDataTypes" TypeName="opc:Int32" />
     <opc:Field Name="StructureDataTypes" TypeName="tns:StructureDescription" LengthField="NoOfStructureDataTypes" />
     <opc:Field Name="NoOfEnumDataTypes" TypeName="opc:Int32" />
     <opc:Field Name="EnumDataTypes" TypeName="tns:EnumDescription" LengthField="NoOfEnumDataTypes" />
-    <opc:Field Name="ConfigurationVersion" TypeName="tns:ConfigurationVersionDataType" />
+    <opc:Field Name="NoOfSimpleDataTypes" TypeName="opc:Int32" />
+    <opc:Field Name="SimpleDataTypes" TypeName="tns:SimpleTypeDescription" LengthField="NoOfSimpleDataTypes" />
+    <opc:Field Name="SchemaLocation" TypeName="opc:String" />
+    <opc:Field Name="NoOfFileHeader" TypeName="opc:Int32" />
+    <opc:Field Name="FileHeader" TypeName="tns:KeyValuePair" LengthField="NoOfFileHeader" />
+    <opc:Field Name="Body" TypeName="ua:Variant" />
   </opc:StructuredType>
 
-  <opc:EnumeratedType Name="DataSetFieldFlags" LengthInBits="32">
-    <opc:EnumeratedValue Name="PromotedField" Value="1" />
+  <opc:EnumeratedType Name="PubSubState" LengthInBits="32">
+    <opc:EnumeratedValue Name="Disabled" Value="0" />
+    <opc:EnumeratedValue Name="Paused" Value="1" />
+    <opc:EnumeratedValue Name="Operational" Value="2" />
+    <opc:EnumeratedValue Name="Error" Value="3" />
   </opc:EnumeratedType>
 
+  <opc:StructuredType Name="DataSetMetaDataType" BaseType="tns:DataTypeSchemaHeader">
+    <opc:Field Name="NoOfNamespaces" TypeName="opc:Int32" />
+    <opc:Field Name="Namespaces" TypeName="opc:String" LengthField="NoOfNamespaces" />
+    <opc:Field Name="NoOfStructureDataTypes" TypeName="opc:Int32" />
+    <opc:Field Name="StructureDataTypes" TypeName="tns:StructureDescription" LengthField="NoOfStructureDataTypes" />
+    <opc:Field Name="NoOfEnumDataTypes" TypeName="opc:Int32" />
+    <opc:Field Name="EnumDataTypes" TypeName="tns:EnumDescription" LengthField="NoOfEnumDataTypes" />
+    <opc:Field Name="NoOfSimpleDataTypes" TypeName="opc:Int32" />
+    <opc:Field Name="SimpleDataTypes" TypeName="tns:SimpleTypeDescription" LengthField="NoOfSimpleDataTypes" />
+    <opc:Field Name="Name" TypeName="opc:String" />
+    <opc:Field Name="Description" TypeName="ua:LocalizedText" />
+    <opc:Field Name="NoOfFields" TypeName="opc:Int32" />
+    <opc:Field Name="Fields" TypeName="tns:FieldMetaData" LengthField="NoOfFields" />
+    <opc:Field Name="DataSetClassId" TypeName="opc:Guid" />
+    <opc:Field Name="ConfigurationVersion" TypeName="tns:ConfigurationVersionDataType" />
+  </opc:StructuredType>
+
   <opc:StructuredType Name="FieldMetaData" BaseType="ua:ExtensionObject">
     <opc:Field Name="Name" TypeName="opc:String" />
     <opc:Field Name="Description" TypeName="ua:LocalizedText" />
@@ -304,50 +362,27 @@
     <opc:Field Name="Properties" TypeName="tns:KeyValuePair" LengthField="NoOfProperties" />
   </opc:StructuredType>
 
-  <opc:StructuredType Name="DataTypeDescription" BaseType="ua:ExtensionObject">
-    <opc:Field Name="DataTypeId" TypeName="ua:NodeId" />
-    <opc:Field Name="Name" TypeName="ua:QualifiedName" />
-  </opc:StructuredType>
+  <opc:EnumeratedType Name="DataSetFieldFlags" LengthInBits="32">
+    <opc:EnumeratedValue Name="PromotedField" Value="1" />
+  </opc:EnumeratedType>
 
-  <opc:StructuredType Name="StructureDescription" BaseType="tns:DataTypeDescription">
-    <opc:Field Name="DataTypeId" TypeName="ua:NodeId" SourceType="tns:DataTypeDescription" />
-    <opc:Field Name="Name" TypeName="ua:QualifiedName" SourceType="tns:DataTypeDescription" />
-    <opc:Field Name="StructureDefinition" TypeName="tns:StructureDefinition" />
+  <opc:StructuredType Name="ConfigurationVersionDataType" BaseType="ua:ExtensionObject">
+    <opc:Field Name="MajorVersion" TypeName="opc:UInt32" />
+    <opc:Field Name="MinorVersion" TypeName="opc:UInt32" />
   </opc:StructuredType>
 
-  <opc:StructuredType Name="EnumDescription" BaseType="tns:DataTypeDescription">
-    <opc:Field Name="DataTypeId" TypeName="ua:NodeId" SourceType="tns:DataTypeDescription" />
-    <opc:Field Name="Name" TypeName="ua:QualifiedName" SourceType="tns:DataTypeDescription" />
-    <opc:Field Name="EnumDefinition" TypeName="tns:EnumDefinition" />
+  <opc:StructuredType Name="PublishedDataSetDataType" BaseType="ua:ExtensionObject">
+    <opc:Field Name="Name" TypeName="opc:String" />
+    <opc:Field Name="NoOfDataSetFolder" TypeName="opc:Int32" />
+    <opc:Field Name="DataSetFolder" TypeName="opc:String" LengthField="NoOfDataSetFolder" />
+    <opc:Field Name="DataSetMetaData" TypeName="tns:DataSetMetaDataType" />
+    <opc:Field Name="NoOfExtensionFields" TypeName="opc:Int32" />
+    <opc:Field Name="ExtensionFields" TypeName="tns:KeyValuePair" LengthField="NoOfExtensionFields" />
+    <opc:Field Name="DataSetSource" TypeName="ua:ExtensionObject" />
   </opc:StructuredType>
 
-  <opc:EnumeratedType Name="DataSetMessageContentMask" LengthInBits="32">
-    <opc:EnumeratedValue Name="FieldStatusCode" Value="1" />
-    <opc:EnumeratedValue Name="FieldSourceTimestamp" Value="2" />
-    <opc:EnumeratedValue Name="FieldServerTimestamp" Value="4" />
-    <opc:EnumeratedValue Name="FieldSourcePicoSeconds" Value="8" />
-    <opc:EnumeratedValue Name="FieldServerPicoSeconds" Value="16" />
-    <opc:EnumeratedValue Name="FieldRawDataEncoding" Value="32" />
-    <opc:EnumeratedValue Name="HeaderTimestamp" Value="65536" />
-    <opc:EnumeratedValue Name="HeaderPicoSeconds" Value="131072" />
-    <opc:EnumeratedValue Name="HeaderStatusCode" Value="262144" />
-    <opc:EnumeratedValue Name="HeaderMajorVersion" Value="524288" />
-    <opc:EnumeratedValue Name="HeaderMinorVersion" Value="1048576" />
-  </opc:EnumeratedType>
-
-  <opc:EnumeratedType Name="NetworkMessageContentMask" LengthInBits="32">
-    <opc:EnumeratedValue Name="PublisherId" Value="1" />
-    <opc:EnumeratedValue Name="GroupHeader" Value="2" />
-    <opc:EnumeratedValue Name="GroupId" Value="4" />
-    <opc:EnumeratedValue Name="GroupVersion" Value="8" />
-    <opc:EnumeratedValue Name="NetworkMessageNumber" Value="16" />
-    <opc:EnumeratedValue Name="SequenceNumber" Value="32" />
-    <opc:EnumeratedValue Name="PayloadHeader" Value="64" />
-    <opc:EnumeratedValue Name="Timestamp" Value="128" />
-    <opc:EnumeratedValue Name="Picoseconds" Value="256" />
-    <opc:EnumeratedValue Name="DataSetClassId" Value="512" />
-    <opc:EnumeratedValue Name="PromotedFields" Value="1024" />
-  </opc:EnumeratedType>
+  <opc:StructuredType Name="PublishedDataSetSourceDataType" BaseType="ua:ExtensionObject">
+  </opc:StructuredType>
 
   <opc:StructuredType Name="PublishedVariableDataType" BaseType="ua:ExtensionObject">
     <opc:Field Name="PublishedVariable" TypeName="ua:NodeId" />
@@ -361,6 +396,169 @@
     <opc:Field Name="MetaDataProperties" TypeName="ua:QualifiedName" LengthField="NoOfMetaDataProperties" />
   </opc:StructuredType>
 
+  <opc:StructuredType Name="PublishedDataItemsDataType" BaseType="tns:PublishedDataSetSourceDataType">
+    <opc:Field Name="NoOfPublishedData" TypeName="opc:Int32" />
+    <opc:Field Name="PublishedData" TypeName="tns:PublishedVariableDataType" LengthField="NoOfPublishedData" />
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="PublishedEventsDataType" BaseType="tns:PublishedDataSetSourceDataType">
+    <opc:Field Name="EventNotifier" TypeName="ua:NodeId" />
+    <opc:Field Name="NoOfSelectedFields" TypeName="opc:Int32" />
+    <opc:Field Name="SelectedFields" TypeName="tns:SimpleAttributeOperand" LengthField="NoOfSelectedFields" />
+    <opc:Field Name="Filter" TypeName="tns:ContentFilter" />
+  </opc:StructuredType>
+
+  <opc:EnumeratedType Name="DataSetFieldContentMask" LengthInBits="32">
+    <opc:EnumeratedValue Name="StatusCode" Value="1" />
+    <opc:EnumeratedValue Name="SourceTimestamp" Value="2" />
+    <opc:EnumeratedValue Name="ServerTimestamp" Value="4" />
+    <opc:EnumeratedValue Name="SourcePicoSeconds" Value="8" />
+    <opc:EnumeratedValue Name="ServerPicoSeconds" Value="16" />
+    <opc:EnumeratedValue Name="RawDataEncoding" Value="32" />
+  </opc:EnumeratedType>
+
+  <opc:StructuredType Name="DataSetWriterDataType" BaseType="ua:ExtensionObject">
+    <opc:Field Name="Name" TypeName="opc:String" />
+    <opc:Field Name="Enabled" TypeName="opc:Boolean" />
+    <opc:Field Name="DataSetWriterId" TypeName="opc:UInt16" />
+    <opc:Field Name="DataSetFieldContentMask" TypeName="tns:DataSetFieldContentMask" />
+    <opc:Field Name="KeyFrameCount" TypeName="opc:UInt32" />
+    <opc:Field Name="DataSetName" TypeName="opc:String" />
+    <opc:Field Name="NoOfDataSetWriterProperties" TypeName="opc:Int32" />
+    <opc:Field Name="DataSetWriterProperties" TypeName="tns:KeyValuePair" LengthField="NoOfDataSetWriterProperties" />
+    <opc:Field Name="TransportSettings" TypeName="ua:ExtensionObject" />
+    <opc:Field Name="MessageSettings" TypeName="ua:ExtensionObject" />
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="DataSetWriterTransportDataType" BaseType="ua:ExtensionObject">
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="DataSetWriterMessageDataType" BaseType="ua:ExtensionObject">
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="PubSubGroupDataType" BaseType="ua:ExtensionObject">
+    <opc:Field Name="Name" TypeName="opc:String" />
+    <opc:Field Name="Enabled" TypeName="opc:Boolean" />
+    <opc:Field Name="SecurityMode" TypeName="tns:MessageSecurityMode" />
+    <opc:Field Name="SecurityGroupId" TypeName="opc:String" />
+    <opc:Field Name="NoOfSecurityKeyServices" TypeName="opc:Int32" />
+    <opc:Field Name="SecurityKeyServices" TypeName="tns:EndpointDescription" LengthField="NoOfSecurityKeyServices" />
+    <opc:Field Name="MaxNetworkMessageSize" TypeName="opc:UInt32" />
+    <opc:Field Name="NoOfGroupProperties" TypeName="opc:Int32" />
+    <opc:Field Name="GroupProperties" TypeName="tns:KeyValuePair" LengthField="NoOfGroupProperties" />
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="WriterGroupDataType" BaseType="tns:PubSubGroupDataType">
+    <opc:Field Name="Name" TypeName="opc:String" SourceType="tns:PubSubGroupDataType" />
+    <opc:Field Name="Enabled" TypeName="opc:Boolean" SourceType="tns:PubSubGroupDataType" />
+    <opc:Field Name="SecurityMode" TypeName="tns:MessageSecurityMode" SourceType="tns:PubSubGroupDataType" />
+    <opc:Field Name="SecurityGroupId" TypeName="opc:String" SourceType="tns:PubSubGroupDataType" />
+    <opc:Field Name="NoOfSecurityKeyServices" TypeName="opc:Int32" />
+    <opc:Field Name="SecurityKeyServices" TypeName="tns:EndpointDescription" LengthField="NoOfSecurityKeyServices" />
+    <opc:Field Name="MaxNetworkMessageSize" TypeName="opc:UInt32" SourceType="tns:PubSubGroupDataType" />
+    <opc:Field Name="NoOfGroupProperties" TypeName="opc:Int32" />
+    <opc:Field Name="GroupProperties" TypeName="tns:KeyValuePair" LengthField="NoOfGroupProperties" />
+    <opc:Field Name="WriterGroupId" TypeName="opc:UInt16" />
+    <opc:Field Name="PublishingInterval" TypeName="opc:Double" />
+    <opc:Field Name="KeepAliveTime" TypeName="opc:Double" />
+    <opc:Field Name="Priority" TypeName="opc:Byte" />
+    <opc:Field Name="NoOfLocaleIds" TypeName="opc:Int32" />
+    <opc:Field Name="LocaleIds" TypeName="opc:String" LengthField="NoOfLocaleIds" />
+    <opc:Field Name="TransportSettings" TypeName="ua:ExtensionObject" />
+    <opc:Field Name="MessageSettings" TypeName="ua:ExtensionObject" />
+    <opc:Field Name="NoOfDataSetWriters" TypeName="opc:Int32" />
+    <opc:Field Name="DataSetWriters" TypeName="tns:DataSetWriterDataType" LengthField="NoOfDataSetWriters" />
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="WriterGroupTransportDataType" BaseType="ua:ExtensionObject">
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="WriterGroupMessageDataType" BaseType="ua:ExtensionObject">
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="PubSubConnectionDataType" BaseType="ua:ExtensionObject">
+    <opc:Field Name="Name" TypeName="opc:String" />
+    <opc:Field Name="Enabled" TypeName="opc:Boolean" />
+    <opc:Field Name="PublisherId" TypeName="ua:Variant" />
+    <opc:Field Name="TransportProfileUri" TypeName="opc:String" />
+    <opc:Field Name="Address" TypeName="ua:ExtensionObject" />
+    <opc:Field Name="NoOfConnectionProperties" TypeName="opc:Int32" />
+    <opc:Field Name="ConnectionProperties" TypeName="tns:KeyValuePair" LengthField="NoOfConnectionProperties" />
+    <opc:Field Name="TransportSettings" TypeName="ua:ExtensionObject" />
+    <opc:Field Name="NoOfWriterGroups" TypeName="opc:Int32" />
+    <opc:Field Name="WriterGroups" TypeName="tns:WriterGroupDataType" LengthField="NoOfWriterGroups" />
+    <opc:Field Name="NoOfReaderGroups" TypeName="opc:Int32" />
+    <opc:Field Name="ReaderGroups" TypeName="tns:ReaderGroupDataType" LengthField="NoOfReaderGroups" />
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="ConnectionTransportDataType" BaseType="ua:ExtensionObject">
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="NetworkAddressDataType" BaseType="ua:ExtensionObject">
+    <opc:Field Name="NetworkInterface" TypeName="opc:String" />
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="NetworkAddressUrlDataType" BaseType="tns:NetworkAddressDataType">
+    <opc:Field Name="NetworkInterface" TypeName="opc:String" SourceType="tns:NetworkAddressDataType" />
+    <opc:Field Name="Url" TypeName="opc:String" />
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="ReaderGroupDataType" BaseType="tns:PubSubGroupDataType">
+    <opc:Field Name="Name" TypeName="opc:String" SourceType="tns:PubSubGroupDataType" />
+    <opc:Field Name="Enabled" TypeName="opc:Boolean" SourceType="tns:PubSubGroupDataType" />
+    <opc:Field Name="SecurityMode" TypeName="tns:MessageSecurityMode" SourceType="tns:PubSubGroupDataType" />
+    <opc:Field Name="SecurityGroupId" TypeName="opc:String" SourceType="tns:PubSubGroupDataType" />
+    <opc:Field Name="NoOfSecurityKeyServices" TypeName="opc:Int32" />
+    <opc:Field Name="SecurityKeyServices" TypeName="tns:EndpointDescription" LengthField="NoOfSecurityKeyServices" />
+    <opc:Field Name="MaxNetworkMessageSize" TypeName="opc:UInt32" SourceType="tns:PubSubGroupDataType" />
+    <opc:Field Name="NoOfGroupProperties" TypeName="opc:Int32" />
+    <opc:Field Name="GroupProperties" TypeName="tns:KeyValuePair" LengthField="NoOfGroupProperties" />
+    <opc:Field Name="TransportSettings" TypeName="ua:ExtensionObject" />
+    <opc:Field Name="MessageSettings" TypeName="ua:ExtensionObject" />
+    <opc:Field Name="NoOfDataSetReaders" TypeName="opc:Int32" />
+    <opc:Field Name="DataSetReaders" TypeName="tns:DataSetReaderDataType" LengthField="NoOfDataSetReaders" />
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="ReaderGroupTransportDataType" BaseType="ua:ExtensionObject">
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="ReaderGroupMessageDataType" BaseType="ua:ExtensionObject">
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="DataSetReaderDataType" BaseType="ua:ExtensionObject">
+    <opc:Field Name="Name" TypeName="opc:String" />
+    <opc:Field Name="Enabled" TypeName="opc:Boolean" />
+    <opc:Field Name="PublisherId" TypeName="ua:Variant" />
+    <opc:Field Name="WriterGroupId" TypeName="opc:UInt16" />
+    <opc:Field Name="DataSetWriterId" TypeName="opc:UInt16" />
+    <opc:Field Name="DataSetMetaData" TypeName="tns:DataSetMetaDataType" />
+    <opc:Field Name="DataSetFieldContentMask" TypeName="tns:DataSetFieldContentMask" />
+    <opc:Field Name="MessageReceiveTimeout" TypeName="opc:Double" />
+    <opc:Field Name="SecurityMode" TypeName="tns:MessageSecurityMode" />
+    <opc:Field Name="SecurityGroupId" TypeName="opc:String" />
+    <opc:Field Name="NoOfSecurityKeyServices" TypeName="opc:Int32" />
+    <opc:Field Name="SecurityKeyServices" TypeName="tns:EndpointDescription" LengthField="NoOfSecurityKeyServices" />
+    <opc:Field Name="NoOfDataSetReaderProperties" TypeName="opc:Int32" />
+    <opc:Field Name="DataSetReaderProperties" TypeName="tns:KeyValuePair" LengthField="NoOfDataSetReaderProperties" />
+    <opc:Field Name="TransportSettings" TypeName="ua:ExtensionObject" />
+    <opc:Field Name="MessageSettings" TypeName="ua:ExtensionObject" />
+    <opc:Field Name="SubscribedDataSet" TypeName="ua:ExtensionObject" />
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="DataSetReaderTransportDataType" BaseType="ua:ExtensionObject">
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="DataSetReaderMessageDataType" BaseType="ua:ExtensionObject">
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="SubscribedDataSetDataType" BaseType="ua:ExtensionObject">
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="TargetVariablesDataType" BaseType="tns:SubscribedDataSetDataType">
+    <opc:Field Name="NoOfTargetVariables" TypeName="opc:Int32" />
+    <opc:Field Name="TargetVariables" TypeName="tns:FieldTargetDataType" LengthField="NoOfTargetVariables" />
+  </opc:StructuredType>
+
   <opc:StructuredType Name="FieldTargetDataType" BaseType="ua:ExtensionObject">
     <opc:Field Name="DataSetFieldId" TypeName="opc:Guid" />
     <opc:Field Name="ReceiverIndexRange" TypeName="opc:String" />
@@ -377,13 +575,152 @@
     <opc:EnumeratedValue Name="OverrideValue" Value="2" />
   </opc:EnumeratedType>
 
-  <opc:EnumeratedType Name="PubSubState" LengthInBits="32">
-    <opc:EnumeratedValue Name="Disabled" Value="0" />
-    <opc:EnumeratedValue Name="Paused" Value="1" />
-    <opc:EnumeratedValue Name="Operational" Value="2" />
-    <opc:EnumeratedValue Name="Error" Value="3" />
+  <opc:StructuredType Name="SubscribedDataSetMirrorDataType" BaseType="tns:SubscribedDataSetDataType">
+    <opc:Field Name="ParentNodeName" TypeName="opc:String" />
+    <opc:Field Name="NoOfRolePermissions" TypeName="opc:Int32" />
+    <opc:Field Name="RolePermissions" TypeName="tns:RolePermissionType" LengthField="NoOfRolePermissions" />
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="PubSubConfigurationDataType" BaseType="ua:ExtensionObject">
+    <opc:Field Name="NoOfPublishedDataSets" TypeName="opc:Int32" />
+    <opc:Field Name="PublishedDataSets" TypeName="tns:PublishedDataSetDataType" LengthField="NoOfPublishedDataSets" />
+    <opc:Field Name="NoOfConnections" TypeName="opc:Int32" />
+    <opc:Field Name="Connections" TypeName="tns:PubSubConnectionDataType" LengthField="NoOfConnections" />
+    <opc:Field Name="Enabled" TypeName="opc:Boolean" />
+  </opc:StructuredType>
+
+  <opc:EnumeratedType Name="DataSetOrderingType" LengthInBits="32">
+    <opc:EnumeratedValue Name="Undefined" Value="0" />
+    <opc:EnumeratedValue Name="AscendingWriterId" Value="1" />
+    <opc:EnumeratedValue Name="AscendingWriterIdSingle" Value="2" />
+  </opc:EnumeratedType>
+
+  <opc:EnumeratedType Name="UadpNetworkMessageContentMask" LengthInBits="32">
+    <opc:EnumeratedValue Name="PublisherId" Value="1" />
+    <opc:EnumeratedValue Name="GroupHeader" Value="2" />
+    <opc:EnumeratedValue Name="WriterGroupId" Value="4" />
+    <opc:EnumeratedValue Name="GroupVersion" Value="8" />
+    <opc:EnumeratedValue Name="NetworkMessageNumber" Value="16" />
+    <opc:EnumeratedValue Name="SequenceNumber" Value="32" />
+    <opc:EnumeratedValue Name="PayloadHeader" Value="64" />
+    <opc:EnumeratedValue Name="Timestamp" Value="128" />
+    <opc:EnumeratedValue Name="Picoseconds" Value="256" />
+    <opc:EnumeratedValue Name="DataSetClassId" Value="512" />
+    <opc:EnumeratedValue Name="PromotedFields" Value="1024" />
   </opc:EnumeratedType>
 
+  <opc:StructuredType Name="UadpWriterGroupMessageDataType" BaseType="tns:WriterGroupMessageDataType">
+    <opc:Field Name="GroupVersion" TypeName="opc:UInt32" />
+    <opc:Field Name="DataSetOrdering" TypeName="tns:DataSetOrderingType" />
+    <opc:Field Name="NetworkMessageContentMask" TypeName="tns:UadpNetworkMessageContentMask" />
+    <opc:Field Name="SamplingOffset" TypeName="opc:Double" />
+    <opc:Field Name="NoOfPublishingOffset" TypeName="opc:Int32" />
+    <opc:Field Name="PublishingOffset" TypeName="opc:Double" LengthField="NoOfPublishingOffset" />
+  </opc:StructuredType>
+
+  <opc:EnumeratedType Name="UadpDataSetMessageContentMask" LengthInBits="32">
+    <opc:EnumeratedValue Name="Timestamp" Value="1" />
+    <opc:EnumeratedValue Name="PicoSeconds" Value="2" />
+    <opc:EnumeratedValue Name="Status" Value="4" />
+    <opc:EnumeratedValue Name="MajorVersion" Value="8" />
+    <opc:EnumeratedValue Name="MinorVersion" Value="16" />
+    <opc:EnumeratedValue Name="SequenceNumber" Value="32" />
+  </opc:EnumeratedType>
+
+  <opc:StructuredType Name="UadpDataSetWriterMessageDataType" BaseType="tns:DataSetWriterMessageDataType">
+    <opc:Field Name="DataSetMessageContentMask" TypeName="tns:UadpDataSetMessageContentMask" />
+    <opc:Field Name="ConfiguredSize" TypeName="opc:UInt16" />
+    <opc:Field Name="NetworkMessageNumber" TypeName="opc:UInt16" />
+    <opc:Field Name="DataSetOffset" TypeName="opc:UInt16" />
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="UadpDataSetReaderMessageDataType" BaseType="tns:DataSetReaderMessageDataType">
+    <opc:Field Name="GroupVersion" TypeName="opc:UInt32" />
+    <opc:Field Name="NetworkMessageNumber" TypeName="opc:UInt16" />
+    <opc:Field Name="DataSetOffset" TypeName="opc:UInt16" />
+    <opc:Field Name="DataSetClassId" TypeName="opc:Guid" />
+    <opc:Field Name="NetworkMessageContentMask" TypeName="tns:UadpNetworkMessageContentMask" />
+    <opc:Field Name="DataSetMessageContentMask" TypeName="tns:UadpDataSetMessageContentMask" />
+    <opc:Field Name="PublishingInterval" TypeName="opc:Double" />
+    <opc:Field Name="ReceiveOffset" TypeName="opc:Double" />
+    <opc:Field Name="ProcessingOffset" TypeName="opc:Double" />
+  </opc:StructuredType>
+
+  <opc:EnumeratedType Name="JsonNetworkMessageContentMask" LengthInBits="32">
+    <opc:EnumeratedValue Name="NetworkMessageHeader" Value="1" />
+    <opc:EnumeratedValue Name="DataSetMessageHeader" Value="2" />
+    <opc:EnumeratedValue Name="SingleDataSetMessage" Value="4" />
+    <opc:EnumeratedValue Name="PublisherId" Value="8" />
+    <opc:EnumeratedValue Name="DataSetClassId" Value="16" />
+    <opc:EnumeratedValue Name="ReplyTo" Value="32" />
+  </opc:EnumeratedType>
+
+  <opc:StructuredType Name="JsonWriterGroupMessageDataType" BaseType="tns:WriterGroupMessageDataType">
+    <opc:Field Name="NetworkMessageContentMask" TypeName="tns:JsonNetworkMessageContentMask" />
+  </opc:StructuredType>
+
+  <opc:EnumeratedType Name="JsonDataSetMessageContentMask" LengthInBits="32">
+    <opc:EnumeratedValue Name="DataSetWriterId" Value="1" />
+    <opc:EnumeratedValue Name="MetaDataVersion" Value="2" />
+    <opc:EnumeratedValue Name="SequenceNumber" Value="4" />
+    <opc:EnumeratedValue Name="Timestamp" Value="8" />
+    <opc:EnumeratedValue Name="Status" Value="16" />
+  </opc:EnumeratedType>
+
+  <opc:StructuredType Name="JsonDataSetWriterMessageDataType" BaseType="tns:DataSetWriterMessageDataType">
+    <opc:Field Name="DataSetMessageContentMask" TypeName="tns:JsonDataSetMessageContentMask" />
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="JsonDataSetReaderMessageDataType" BaseType="tns:DataSetReaderMessageDataType">
+    <opc:Field Name="NetworkMessageContentMask" TypeName="tns:JsonNetworkMessageContentMask" />
+    <opc:Field Name="DataSetMessageContentMask" TypeName="tns:JsonDataSetMessageContentMask" />
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="DatagramConnectionTransportDataType" BaseType="tns:ConnectionTransportDataType">
+    <opc:Field Name="DiscoveryAddress" TypeName="ua:ExtensionObject" />
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="DatagramWriterGroupTransportDataType" BaseType="tns:WriterGroupTransportDataType">
+    <opc:Field Name="MessageRepeatCount" TypeName="opc:Byte" />
+    <opc:Field Name="MessageRepeatDelay" TypeName="opc:Double" />
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="BrokerConnectionTransportDataType" BaseType="tns:ConnectionTransportDataType">
+    <opc:Field Name="ResourceUri" TypeName="opc:String" />
+    <opc:Field Name="AuthenticationProfileUri" TypeName="opc:String" />
+  </opc:StructuredType>
+
+  <opc:EnumeratedType Name="BrokerTransportQualityOfService" LengthInBits="32">
+    <opc:EnumeratedValue Name="NotSpecified" Value="0" />
+    <opc:EnumeratedValue Name="BestEffort" Value="1" />
+    <opc:EnumeratedValue Name="AtLeastOnce" Value="2" />
+    <opc:EnumeratedValue Name="AtMostOnce" Value="3" />
+    <opc:EnumeratedValue Name="ExactlyOnce" Value="4" />
+  </opc:EnumeratedType>
+
+  <opc:StructuredType Name="BrokerWriterGroupTransportDataType" BaseType="tns:WriterGroupTransportDataType">
+    <opc:Field Name="QueueName" TypeName="opc:String" />
+    <opc:Field Name="ResourceUri" TypeName="opc:String" />
+    <opc:Field Name="AuthenticationProfileUri" TypeName="opc:String" />
+    <opc:Field Name="RequestedDeliveryGuarantee" TypeName="tns:BrokerTransportQualityOfService" />
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="BrokerDataSetWriterTransportDataType" BaseType="tns:DataSetWriterTransportDataType">
+    <opc:Field Name="QueueName" TypeName="opc:String" />
+    <opc:Field Name="ResourceUri" TypeName="opc:String" />
+    <opc:Field Name="AuthenticationProfileUri" TypeName="opc:String" />
+    <opc:Field Name="MetaDataQueueName" TypeName="opc:String" />
+    <opc:Field Name="MetaDataUpdateTime" TypeName="opc:Double" />
+  </opc:StructuredType>
+
+  <opc:StructuredType Name="BrokerDataSetReaderTransportDataType" BaseType="tns:DataSetReaderTransportDataType">
+    <opc:Field Name="QueueName" TypeName="opc:String" />
+    <opc:Field Name="ResourceUri" TypeName="opc:String" />
+    <opc:Field Name="AuthenticationProfileUri" TypeName="opc:String" />
+    <opc:Field Name="RequestedDeliveryGuarantee" TypeName="tns:BrokerTransportQualityOfService" />
+    <opc:Field Name="MetaDataQueueName" TypeName="opc:String" />
+  </opc:StructuredType>
+
   <opc:EnumeratedType Name="DiagnosticsLevel" LengthInBits="32">
     <opc:EnumeratedValue Name="Basic" Value="0" />
     <opc:EnumeratedValue Name="Advanced" Value="1" />
@@ -397,11 +734,6 @@
     <opc:EnumeratedValue Name="Error" Value="1" />
   </opc:EnumeratedType>
 
-  <opc:EnumeratedType Name="DataSetOrderingType" LengthInBits="32">
-    <opc:EnumeratedValue Name="Undefined" Value="1" />
-    <opc:EnumeratedValue Name="AscendingWriterId" Value="2" />
-  </opc:EnumeratedType>
-
   <opc:EnumeratedType Name="IdType" LengthInBits="32">
     <opc:Documentation>The type of identifier used in a node id.</opc:Documentation>
     <opc:EnumeratedValue Name="Numeric" Value="0" />
@@ -2703,9 +3035,4 @@
     <opc:EnumeratedValue Name="Unknown" Value="4" />
   </opc:EnumeratedType>
 
-  <opc:StructuredType Name="NetworkAddressUrlDataType" BaseType="tns:NetworkAddressDataType">
-    <opc:Field Name="NetworkInterface" TypeName="opc:String" SourceType="tns:NetworkAddressDataType" />
-    <opc:Field Name="Url" TypeName="opc:String" />
-  </opc:StructuredType>
-
 </opc:TypeDictionary>

+ 7 - 0
tools/schema/datatypes_minimal.txt

@@ -215,3 +215,10 @@ StructureType
 StructureField
 EnumField
 PublishedVariableDataType
+UadpDataSetWriterMessageDataType
+UadpWriterGroupMessageDataType
+DataSetOrderingType
+DataSetFieldContentMask
+UadpDataSetMessageContentMask
+UadpNetworkMessageContentMask
+SimpleTypeDescription