Адрес OPC UA различается между сервером и клиентом

Я создал канал и устройство на KepserverEx с парой тегов. В конфигурации я установил адрес узла как:

ns=3;s=Channel1.Device1.Start

И если я просматриваю тот же узел с помощью UeExpert, я нахожу NodeId как

nsu=KEPServerEX;ns=2;s=Channel1.Device1.Start

Это то, что мне нужно использовать в моем клиенте C#.

Почему значение ns(индекс пространства имен) отличается от того, которое я определил на сервере?

1 ответ

Я не знаю о KepserverEx, но в целом индекс пространства имен узла не статичен, но (пере) определяется динамически на сервере при загрузке / создании экземпляра модели. Единственный статический индекс пространства имен равен 0 для набора узлов opc ua по умолчанию.

Итак, если у вас есть только два пространства имен (+ набор узлов по умолчанию), определенные на вашем сервере, пространства имен будут иметь индикаторы 1 и 2.

Если клиенту неизвестен индекс пространства имен на определенном сервере, он может запросить список пространств имен и таким образом разрешить правильный индекс для определенного имени пространства имен.

Другие вопросы по тегам