opc ua создание файла XML
При написании файла 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"?
1 ответ
Если вы ссылаетесь на узлы из стандартного пространства имен (ns=0), все идентификаторы узлов происходят из спецификации OPC UA, и вы просто используете их. Вы не можете добавлять новые, и если за идентификаторами в стандартном пространстве имен есть какая-либо логика, эта логика является и должна оставаться для вас неактуальной. То же самое применимо, если вы ссылаетесь на узлы, определенные кем-то еще в другом месте - например, те, которые находятся в пространствах имен, определенных в сопутствующих спецификациях OPC UA для различных проблемных областей.
Если вы создаете свое собственное пространство имен (как вы, вероятно, здесь, в ns=1), тогда вы можете определить идентификаторы узлов (в этом примере идентификаторы узлов с целочисленными идентификаторами) любым удобным для вас способом и использовать любую логику, которая будет вам полезна. (или вообще без логики - пока ваши узлы остаются уникальными). Также обратите внимание, что вы можете использовать другие формы идентификаторов узлов, такие как строка (s=), GUID (g=) или непрозрачный.