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»?


person nabs825    schedule 25.06.2018    source источник


Ответы (1)


Если вы ссылаетесь на узлы из стандартного пространства имен (ns=0), все идентификаторы узлов берутся из спецификации OPC UA, и вы просто используете их. Вы не можете добавлять новые, и если за идентификаторами в стандартном пространстве имён есть какая-то логика, то эта логика должна оставаться для вас неактуальной. То же самое применимо, если вы ссылаетесь на узлы, определенные кем-то другим в другом месте, например, те, которые находятся в пространствах имен, определенных в сопутствующих спецификациях OPC UA для различных предметных областей.

Если вы создаете свое собственное пространство имен (как вы, вероятно, здесь, в ns=1), вы можете определить идентификаторы узлов (в примере, идентификаторы узлов с целочисленными идентификаторами) любым удобным для вас способом и использовать любую логику, которую вы сочтете полезной. (или вообще никакой логики — пока ваши узлы остаются уникальными). Также обратите внимание, что вы можете использовать другие формы идентификаторов узлов, такие как строка (s=), GUID (g=) или непрозрачный.

person ZbynekZ    schedule 25.06.2018
comment
спасибо за полезный ответ. Когда вы ссылаетесь на стандартное пространство имен, какой пример идеально подходит для использования стандартного пространства имен? В моей текущей ситуации я пытаюсь создать модель данных для представления контроллеров в промышленной среде, и я хочу использовать OPC Foundation SDK и компилятор модели, доступные на GitHub, для достижения этой цели. - person nabs825; 25.06.2018