/// <summary> /// Hier wird eine weitere Verbindung zu einem OPC UA Server konfiguriert /// </summary> /// <param name="endpointURL"></param> /// <param name="serverlabel"></param> /// <param name="username"></param> /// <param name="password"></param> /// <param name="subscriptions"></param> public void CreateUarcClient(string endpointURL, string serverlabel, string username, string password) { if (m_SqlDbOptions != null) { try { // Erstellen eines Clients. UarcOpcUaClient Client = new UarcOpcUaClient(m_SqlDbOptions, endpointURL, serverlabel, username, password, serverId); // Ablegen des Objects im Dictionary. string name = Convert.ToString(serverId) + ": " + serverlabel; m_OpcUaVerbindungen.Add(name, Client); // Hochzählen der Servernummerierung. serverId = serverId + 1; } catch (Exception e) { throw e; } } else { throw new Exception("Es muss zuerst eine Datenbank verbunden werden."); } }
public void CreateUarcClientsAndDbWithConfig(XmlUarcConfig opcXmlConfig) { // Erstellen der Datenbank. try { CreateDatabase(opcXmlConfig.XmlSQLConfig.XmlSqlConnectionString); } catch (Exception e) { if (e.Message == null) { e = new Exception(String.Format("Die SQL Datenbank konnte nicht erstellt werden")); throw e; } else { throw e; } } // Erstellen der Clients. if (opcXmlConfig != null) { // Das opcXmlConfig Object wird in ein Array umgewandelt, um es mit einer foreach Schleife zu durchlaufen. XmlOpcUaServer[] C_OPCUAServers = opcXmlConfig.XmlOpcUaServers.ToArray(); // In dieser foreach Schleife werden jeweils die Instanzen von MyClient für jeden Server erzeugt und im Dictionary abgelegt. foreach (XmlOpcUaServer c_opcuaserver in C_OPCUAServers) { UarcOpcUaClient Client = new UarcOpcUaClient(m_SqlDbOptions, c_opcuaserver.XmlOpcUrl, c_opcuaserver.XmlServerlabel, c_opcuaserver.XmlUser, c_opcuaserver.XmlPassword, serverId, c_opcuaserver.XmlOpcUaSubscriptions); //Ablegen des Objects im Dictionary m_OpcUaVerbindungen.Add(Convert.ToString(serverId) + ": " + c_opcuaserver.XmlServerlabel, Client); serverId = serverId + 1; } } else { throw new Exception("Es sind keine Konfigurationsdaten verfügbar. Bitte lesen Sie eine gültige Konfigurationsdatei ein"); } }