예제 #1
0
        /// <summary>
        /// Initializes the node manager.
        /// </summary>
        public FileSystemNodeManager(Opc.Ua.Server.IServerInternal server, string systemRoot)
            :
            base(server)
        {
            List <string> namespaceUris = new List <string>();

            namespaceUris.Add(Namespaces.FileSystem);
            namespaceUris.Add(Namespaces.FileSystem + "/Instance");

            NamespaceUris = namespaceUris;

            m_cache = new NodeIdDictionary <NodeState>();

            // create the directory.
            string absolutePath = Utils.GetAbsoluteDirectoryPath(systemRoot, true, false, true);

            // create the system.
            m_system = new FileSystemMonitor(
                SystemContext,
                absolutePath,
                server.NamespaceUris.GetIndexOrAppend(namespaceUris[1]),
                Lock);

            // update the default context.
            SystemContext.SystemHandle = m_system;
        }
예제 #2
0
        /// <summary>
        /// Initializes the node manager.
        /// </summary>
        /// <param name="server">The interface that a server exposes to objects that it contains..</param>
        /// <param name="configuration">Configuration for the server.</param>
        /// <param name="dataBindings">Data bindings manager provides infrastructure to bind predefined nodes to the real data source.</param>
        public GenericNodeManager
        (
            Opc.Ua.Server.IServerInternal server, CASConfiguration configuration, DataBindingsManager dataBindings
        )
            : base(server)
        {
            m_SampleConfiguration = configuration;
            m_DataBindings        = dataBindings;
            List <FilePaths> m_allPredefinedNodesList = new List <FilePaths>();
            List <string>    nsList = new List <string>();

            foreach (ModelLayer ml in m_SampleConfiguration.CASExtension.ModelLayers)
            {
                nsList.Add(ml.NamespaceUri);
                m_allPredefinedNodesList.Add(new FilePaths(ml.FilePathUanodes, ml.FilePathCsv));
            }
            NamespaceUris        = nsList.ToArray();
            m_allPredefinedNodes = m_allPredefinedNodesList.ToArray();
            if (m_SampleConfiguration.CASExtension.ModelLayers != null && m_SampleConfiguration.CASExtension.ModelLayers.Length > 0)
            {
                TraceEvent.Tracer.TraceVerbose(52, this.GetType().Name + ".ctor", "m_namespaceIndex:" + m_SampleConfiguration.CASExtension.ModelLayers[0]);
                m_namespaceIndex = Server.NamespaceUris.GetIndexOrAppend(m_SampleConfiguration.CASExtension.ModelLayers[0].NamespaceUri);
            }
            else
            {
                TraceEvent.Tracer.TraceError(69, this.GetType().Name + ".ctor", "No namespaces are defined");
            }
            m_lastUsedId = 0;
        }
예제 #3
0
        public PublisherNodeManager(Opc.Ua.Server.IServerInternal server, ApplicationConfiguration configuration)
            : base(server)
        {
            List <string> namespaceUris = new List <string>();

            namespaceUris.Add(Namespaces.Publisher);
            namespaceUris.Add(Namespaces.Publisher + "/Instance");
            NamespaceUris = namespaceUris;

            m_typeNamespaceIndex = Server.NamespaceUris.GetIndexOrAppend(namespaceUris[0]);
            m_namespaceIndex     = Server.NamespaceUris.GetIndexOrAppend(namespaceUris[1]);

            m_lastUsedId = 0;
        }
        /// <summary>
        /// Initializes the node manager.
        /// </summary>
        public myYRDBQueryNodeManager(
            Opc.Ua.Server.IServerInternal server,
            ApplicationConfiguration configuration)
            :
            base(server, configuration)
        {
            List <string> namespaceUris = new List <string>();

            //add namespace for DI nodeset and add namespace DI/Instance for my variables
            namespaceUris.Add(Namespaces.OpcUaDi);
            namespaceUris.Add(Namespaces.OpcUaDi + "/Instance");

            NamespaceUris = namespaceUris;



            m_namespaceIndex = Server.NamespaceUris.GetIndexOrAppend(namespaceUris[1]);
            m_lastUsedId     = 0;
        }
        /// <summary>
        /// Initializes the node manager.
        /// </summary>
        public BoilerNodeManager(
            Opc.Ua.Server.IServerInternal server,
            ApplicationConfiguration configuration)
            :
            base(server)
        {
            System.Diagnostics.Contracts.Contract.Assume(configuration != null);
            var namespaceUris = new List <string> {
                Namespaces.Boiler,
                Namespaces.Boiler + "/Instance"
            };

            NamespaceUris = namespaceUris;

            _namespaceIndex = Server.NamespaceUris.GetIndexOrAppend(namespaceUris[1]);

            _lastUsedId = 0;
            _boilers    = new List <BoilerState>();
        }
        /// <summary>
        /// Initializes the node manager.
        /// </summary>
        public myIMMControlServerNodeManager(
            Opc.Ua.Server.IServerInternal server,
            ApplicationConfiguration configuration)
            :
            base(server, configuration)
        {
            List <string> namespaceUris = new List <string>();

            //add namespace for DI nodeset and add namespace DI/Instance for my variables
            namespaceUris.Add(Namespaces.OpcUaDi);
            namespaceUris.Add(Namespaces.OpcUaDi + "/Instance");

            NamespaceUris = namespaceUris;



            m_namespaceIndex = Server.NamespaceUris.GetIndexOrAppend(namespaceUris[1]);
            m_lastUsedId     = 0;

            //auxiliary variable list to store my variables
            m_dynamicNodes = new List <BaseDataVariableState>();
        }
예제 #7
0
        /// <summary>
        /// Initializes the node manager.
        /// </summary>
        public AasNodeManager(
            Opc.Ua.Server.IServerInternal server,
            ApplicationConfiguration configuration,
            AdminShellPackageEnv[] env,
            AasxUaServerOptions serverOptions = null)
            :
            base(server)
        {
            thePackageEnv    = env;
            theServerOptions = serverOptions;

            List <string> namespaceUris = new List <string>();

            namespaceUris.Add("http://opcfoundation.org/UA/i4aas/");
            namespaceUris.Add("http://admin-shell.io/samples/i4aas/instance/");
            NamespaceUris = namespaceUris;

            m_typeNamespaceIndex = Server.NamespaceUris.GetIndexOrAppend(namespaceUris[0]);
            m_namespaceIndex     = Server.NamespaceUris.GetIndexOrAppend(namespaceUris[1]);

            m_lastUsedId = 0;
        }
예제 #8
0
        /// <summary>
        /// Initializes the node manager.
        /// </summary>
        public TCDNodeManager(
            Opc.Ua.Server.IServerInternal server,
            ApplicationConfiguration configuration,
            HoneypotLogger logger)
            :
            base(server)
        {
            List <string> namespaceUris = new List <string>();

            namespaceUris.Add(Namespaces.TCD);
            namespaceUris.Add(Namespaces.TCD + "/Instance");
            NamespaceUris = namespaceUris;

            m_TypeNamespaceIndex = Server.NamespaceUris.GetIndexOrAppend(namespaceUris[0]);
            m_NamespaceIndex     = Server.NamespaceUris.GetIndexOrAppend(namespaceUris[1]);
            m_Logger             = logger;
            m_LastUsedId         = 0;

            m_ReecordTimer           = new System.Timers.Timer();
            m_ReecordTimer.Elapsed  += RecordTemperatures;
            m_ReecordTimer.AutoReset = true;
            m_ReecordTimer.Interval  = 1 * 60 * 1000;
            m_ReecordTimer.Start();
        }