Как загрузить типы из XML-интерфейса SIEMENS OPC на сервер C# Opc.Ua.NetStandard?C#

Место общения программистов C#
Ответить
Anonymous
 Как загрузить типы из XML-интерфейса SIEMENS OPC на сервер C# Opc.Ua.NetStandard?

Сообщение Anonymous »

У меня есть файл .xml, экспортированный с портала TIA, с UADataTypes, UAObjects и UAVariables — примерно так:

Код: Выделить всё

SimaticSystemStructures

i=22



...


"mystruc"

ns=2;i=14278






...




Default Binary

i=76



St

i=63
ns=2;i=14280
...


Я импортирую его в MyNodeManager.CreateAddressSpace:

Код: Выделить всё

// 1. Read the XML
UANodeSet nodeSet;

using (var stream = File.OpenRead(nodeSetPath))
{
nodeSet = UANodeSet.Read(stream);
}

// import
var predefinedNodes = new NodeStateCollection();
nodeSet.Import(systemContext, predefinedNodes);
Это работает для переменных, я вижу все узлы от клиента.
С чем я борюсь, так это с ComplexTypeSystem: клиент пытается загрузить их при запуске и ничего не получает:

Код: Выделить всё

var complexTypeSystem = new ComplexTypeSystem(session, m_telemetry);

await complexTypeSystem.LoadAsync(ct: ct).ConfigureAwait(false);
Узлы инициализируются на сервере с использованием их DataDefinition, загруженных из .xml, но клиент показывает массивы байтов вместо структурированных значений.
Что мне не хватает? Может ли кто-нибудь указать мне на код в стеке OpcFoundation, отвечающий за эту загрузку и стратегию?

Подробнее здесь: https://stackoverflow.com/questions/798 ... ndard-c-sh
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»