Адрес 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.
Если клиенту неизвестен индекс пространства имен на определенном сервере, он может запросить список пространств имен и таким образом разрешить правильный индекс для определенного имени пространства имен.