/// <summary> /// Reads the local opc servers. /// </summary> /// <param name="servers">The servers.</param> /// <param name="error">The error.</param> /// <param name="exception">The exception.</param> /// <returns><c>true</c> if the operation succeeds, <c>false</c> otherwise</returns> public bool ReadLocalOpcServers(out OpcServerItems servers, out uint error, out Exception exception) { servers = new OpcServerItems(); error = ResultCodes.Success; exception = null; var result = true; try { var opc = OpcMonitor.CreateOpcClient(); var opcServers = opc.BrowseServers(string.Empty); // The IP address is not used anymore... servers.AddRange(opcServers.Select(server => new OpcServerItem(false) { Name = server.Description, ClassId = server.ServerClass, IpAddress = "127.0.0.1" })); opc.Dispose(); } catch (Exception ex) { Logger.FatalException(this, "Error browsing local OPC servers.", exception); servers.Clear(); error = ResultCodes.CannotBrowseOpcServers; exception = ex; DiagnosticsCollection.Instance.AddMessage("Error browsing local OPC servers."); DiagnosticsCollection.Instance.AddMessage(exception); result = false; } return(result); }
/// <summary> /// Called when [read local opc servers response]. /// </summary> /// <param name="invokeId">The invoke id.</param> /// <param name="opcServers">The opc servers.</param> /// <param name="error">The error.</param> /// <param name="errorMessage">The error message.</param> public void OnReadLocalOpcServersResponse(Guid invokeId, OpcServerItems opcServers, uint error, string errorMessage) { var serviceDataReceiver = this.GetServiceDataReceiver(); if (serviceDataReceiver != null) { var currentMethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; this.HandleError(invokeId, error, errorMessage, serviceDataReceiver, currentMethodName); if (error == ResultCodes.Success) { serviceDataReceiver.OpcServersResponseCompleted(opcServers); } } }
/// <summary> /// Handles the opc servers response. /// </summary> /// <param name="opcServers">The opc servers.</param> private void HandleOpcServersResponse(OpcServerItems opcServers) { this.OnOpcServersResponse(opcServers); }
/// <summary> /// Opc the servers response completed. /// </summary> /// <param name="opcServers">The opc servers.</param> public void OpcServersResponseCompleted(OpcServerItems opcServers) { Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Input, new Action <OpcServerItems>(this.HandleOpcServersResponse), opcServers); }
/// <summary> /// Called when [read local opc servers response]. /// </summary> /// <param name="invokeId">The invoke id.</param> /// <param name="opcServers">The opc servers.</param> /// <param name="error">The error.</param> /// <param name="errorMessage">The error message.</param> void ICommServerCallback.OnReadLocalOpcServersResponse(Guid invokeId, OpcServerItems opcServers, uint error, string errorMessage) { this.OnReadLocalOpcServersResponse(invokeId, opcServers, error, errorMessage); }
/// <summary> /// Called when [read local opc servers response]. /// </summary> /// <param name="invokeId">The invoke id.</param> /// <param name="opcServers">The opc servers.</param> /// <param name="error">The error.</param> /// <param name="errorMessage">The error message.</param> protected void OnReadLocalOpcServersResponse(Guid invokeId, OpcServerItems opcServers, uint error, string errorMessage) { System.Diagnostics.Debug.WriteLine(string.Format("{0}: {1}, error: {2}, errorMessage: {3}", System.Reflection.MethodBase.GetCurrentMethod().Name, invokeId.ToString(), error, errorMessage == null ? "(null)" : errorMessage)); }