示例#1
0
 private TheOPCUAClient(TheMessageAddress owner, string serverAddress, OPCUAConnectParameters connectParameters)
 {
     ServerAddress     = serverAddress;
     OwnerAddress      = owner;
     ConnectParameters = new OPCUAConnectParameters(connectParameters);
     //OpcUAParameters = new OPCUACreationParameters(opcUAParameters);
 }
示例#2
0
 public OPCUAConnectParameters(OPCUAConnectParameters p)
 {
     if (p != null)
     {
         UserName = p.UserName;
         Password = p.Password;
     }
 }
示例#3
0
 public void Connect(OPCUAConnectParameters connectParams = null, Action <ICDEThing, object> callback = null, bool logEssentialOnly = false)
 {
     if (callback != null)
     {
         ConnectAsync(connectParams, logEssentialOnly).ContinueWith((t) => callback(null, t.Result));
     }
     else
     {
         try
         {
             var taskIgnoreOutcome = ConnectAsync(connectParams, logEssentialOnly);
         }
         catch { }
     }
 }
示例#4
0
        public async Task <string> ConnectAsync(OPCUAConnectParameters connectParams = null, bool logEssentialOnly = false)
        {
            if (connectParams != null)
            {
                ConnectParameters = new OPCUAConnectParameters(connectParams);
            }

            if (ConnectParameters != null)
            {
                // TODO make this work for remote things as well
                var tThing = GetOpcThing();
                TheThing.SetSafePropertyString(tThing, "UserName", ConnectParameters.UserName);
                TheThing.SetSafePropertyString(tThing, "Password", ConnectParameters.Password);
            }

            var response = await TheCommRequestResponse.PublishRequestJSonAsync <MsgOPCUAConnect, MsgOPCUAConnectResponse>(OwnerAddress, OpcThingAddress, new MsgOPCUAConnect { LogEssentialOnly = logEssentialOnly });

            if (response == null)
            {
                return("Error sending connect message");
            }
            return(response.Error);
        }
示例#5
0
        public static async Task <TheOPCUAClient> CreateAndInitAsync(TheMessageAddress owner, string serverAddress, OPCUAParameters opcUAParameters = null, OPCUAConnectParameters connectParameters = null, ThingCreationParameters thingCreationParameters = null)
        {
            var client = new TheOPCUAClient(owner, serverAddress, connectParameters);

            if (await client.Initialize(opcUAParameters, thingCreationParameters))
            {
                return(client);
            }
            return(null);
        }