HoloLens не может подключиться к серверу OpcUa - PullRequest
1 голос
/ 13 мая 2019

Я хочу подключиться к серверу 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 и прочитать данные узла.

...