opc ua XML 文件创建
opc ua XML file creation
在编写 XML 文件以导入 OPC UA 模型编译器时,我找不到任何说明如何选择 "i" 值的文档。我正在引用建模工具生成的代码来帮助我进行一般格式化。
例如在这段代码中:
<Alias Alias="Boolean">i=1</Alias>
<Alias Alias="Byte">i=3</Alias>
<Alias Alias="UInt16">i=5</Alias>
<Alias Alias="Float">i=10</Alias>
<Alias Alias="String">i=12</Alias>
<Alias Alias="DateTime">i=13</Alias>
<Alias Alias="ByteString">i=15</Alias>
<Alias Alias="Organizes">i=35</Alias>
<Alias Alias="HasModellingRule">i=37</Alias>
<Alias Alias="HasTypeDefinition">i=40</Alias>
<Alias Alias="HasSubtype">i=45</Alias>
<Alias Alias="HasComponent">i=47</Alias>
<Alias Alias="NumericRange">i=291</Alias>
</Aliases>
<Extensions>
<Extension>
<ua:ModelInfo Tool="UaModeler" Hash="uA8gb4iKYIgjKYj3GAUpcQ==" Version="1.6.0"/>
</Extension>
</Extensions>
<UAObjectType NodeId="ns=1;i=1002" BrowseName="1:Alarm">
<DisplayName>Alarm</DisplayName>
<References>
<Reference ReferenceType="HasSubtype" IsForward="false">i=58</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=6006</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=6001</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=6002</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=6003</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=6007</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=6005</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=6004</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=6008</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=6010</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=6009</Reference>
</References>
选择 "i" 值的方式背后的基本逻辑是什么?
如果您从标准命名空间 (ns=0) 引用节点,则所有节点 ID 均来自 OPC UA 规范,您只需使用它们即可。你不能添加新的,如果标准命名空间中的 ID 背后有任何逻辑,那么这个逻辑是并且应该与你无关。如果您指的是其他人在其他地方定义的节点,同样适用——例如那些在 OPC UA 配套规范中为各种问题域定义的命名空间中的节点。
如果您要创建自己的命名空间(您可能是这样,在 ns=1 下),那么您可以按照自己喜欢的方式定义节点 ID(在示例中,具有整数标识符的节点 ID),并使用任何您发现有用的逻辑(或根本没有逻辑 - 只要您的节点保持唯一)。另请注意,您可以使用其他形式的节点 ID,例如字符串 (s=)、GUID (g=) 或不透明。
在编写 XML 文件以导入 OPC UA 模型编译器时,我找不到任何说明如何选择 "i" 值的文档。我正在引用建模工具生成的代码来帮助我进行一般格式化。
例如在这段代码中:
<Alias Alias="Boolean">i=1</Alias>
<Alias Alias="Byte">i=3</Alias>
<Alias Alias="UInt16">i=5</Alias>
<Alias Alias="Float">i=10</Alias>
<Alias Alias="String">i=12</Alias>
<Alias Alias="DateTime">i=13</Alias>
<Alias Alias="ByteString">i=15</Alias>
<Alias Alias="Organizes">i=35</Alias>
<Alias Alias="HasModellingRule">i=37</Alias>
<Alias Alias="HasTypeDefinition">i=40</Alias>
<Alias Alias="HasSubtype">i=45</Alias>
<Alias Alias="HasComponent">i=47</Alias>
<Alias Alias="NumericRange">i=291</Alias>
</Aliases>
<Extensions>
<Extension>
<ua:ModelInfo Tool="UaModeler" Hash="uA8gb4iKYIgjKYj3GAUpcQ==" Version="1.6.0"/>
</Extension>
</Extensions>
<UAObjectType NodeId="ns=1;i=1002" BrowseName="1:Alarm">
<DisplayName>Alarm</DisplayName>
<References>
<Reference ReferenceType="HasSubtype" IsForward="false">i=58</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=6006</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=6001</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=6002</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=6003</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=6007</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=6005</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=6004</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=6008</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=6010</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=6009</Reference>
</References>
选择 "i" 值的方式背后的基本逻辑是什么?
如果您从标准命名空间 (ns=0) 引用节点,则所有节点 ID 均来自 OPC UA 规范,您只需使用它们即可。你不能添加新的,如果标准命名空间中的 ID 背后有任何逻辑,那么这个逻辑是并且应该与你无关。如果您指的是其他人在其他地方定义的节点,同样适用——例如那些在 OPC UA 配套规范中为各种问题域定义的命名空间中的节点。
如果您要创建自己的命名空间(您可能是这样,在 ns=1 下),那么您可以按照自己喜欢的方式定义节点 ID(在示例中,具有整数标识符的节点 ID),并使用任何您发现有用的逻辑(或根本没有逻辑 - 只要您的节点保持唯一)。另请注意,您可以使用其他形式的节点 ID,例如字符串 (s=)、GUID (g=) 或不透明。