Я хочу подключиться к серверу OpcUa через приложение на HoloLens и прочитать данные узла. Он работает на Unity и работает нормально, но не может подключиться к серверу OpcUa в HoloLens. Я использую плагин OpcUaHelper, который имеет простой клиент OpcUa и поддерживает .Net Core и .Net Standard 2.0.
Настройки Unity:
Версия сценариев: .Net 4.X Эквивалент
Скриптовый бэкэнд: IL2CPP
Уровень совместимости API: .Net 4.X
Мой код показан ниже.
Кто-нибудь знает, в чем причина?
Или кто-нибудь пытался подключить сервер Opc Ua в HoloLens?
Используемая версия программного обеспечения:
1.Unity 2018 3.11f
2.Mixed Reality Toolkit v2.0.0 RC1
3. Визуальная студия 2017
using System;
using UnityEngine;
using UnityEngine.UI;
using Microsoft.MixedReality.Toolkit.Input;
using OpcUaHelper;
using Opc.Ua;
using System.Collections;
using System.Collections.Generic;
public void OpcUaConnector()
{
OpcUaClient m_OpcUaClient = new OpcUaClient();
//m_OpcUaClient.UserIdentity = new UserIdentity("user", "password");
string OpcUa_Test = "opc.tcp://118.24.36.220:62547/DataAccessServer";
m_OpcUaClient.ConnectServer(string.Format("{0}", OpcUa_Test));
try
{
//Read the same type of data from multiple nodes
List<NodeId> nodeIds = new List<NodeId>();
nodeIds.Add(new NodeId("ns=2;s=Machines/Machine A/Name"));
nodeIds.Add(new NodeId("ns=2;s=Machines/Machine B/Name"));
nodeIds.Add(new NodeId("ns=2;s=Machines/Machine C/Name"));
List<DataValue> dataValues = m_OpcUaClient.ReadNodes(nodeIds.ToArray());
AnlagenName_A.text = string.Format("{0}", dataValues[0]);
AnlagenName_B.text = string.Format("{0}", dataValues[1]);
AnlagenName_C.text = string.Format("{0}", dataValues[2]);
//foreach (string tag in Tags)
//{
// string value = m_OpcUaClient.ReadNode<string>(tag);
//}
}
// //Read data from a single node
// //string value = m_OpcUaClient.ReadNode<string>("ns=2;s=Machines/Machine B/Name");
// //Console.WriteLine("{0}", value);
// //Console.ReadKey();
//}
catch
{
Debug.Log("Connected Failed");
}
}
Я надеюсь успешно подключиться к серверу OpcUa и прочитать данные узла.