示例#1
0
        }           //	end ProcessCommandLine

        public void Terminate()
        {
            if (m_aeSession.CurrentState != EnumObjectState.DISCONNECTED)
            {
                m_aeSession.Disconnect(new ExecutionOptions());
            }

            GetApplication().RemoveAeSession(m_aeSession);

            GetApplication().Terminate();
            m_aeSession = null;
        }           //	end Terminate
示例#2
0
        }           //	end Terminate

        public int InitializeAeObjects()
        {
            int connectResult = (int)EnumResultCode.E_FAIL;

            try
            {
                m_aeSession = new MyAeSession("opcae:///Softing.OPCToolboxDemo_ServerAE.1/{2E565243-B238-11D3-842D-0008C779D775}");

                connectResult = m_aeSession.Connect(
                    true,
                    true,
                    null);
            }
            catch (Exception exc)
            {
                GetApplication().Trace(
                    EnumTraceLevel.ERR,
                    EnumTraceGroup.USER,
                    "OpcClient::InitializeAeObjects",
                    exc.ToString());
            }               //	end try...catch

            return(connectResult);
        }           //	end InitializeAeObjects
        public OpcForm(OutProc anOutProc)
        {
            InitializeComponent();

            try
            {
                m_outProc = anOutProc;

                m_opcClient = m_outProc.OpcClient;

                m_session = m_opcClient.m_aeSession;

                //create the events tree
                TreeNode root = new TreeNode(m_session.Url + " - Event Space ", 0, 0);
                eventsTreeView.Nodes.Add(root);

                //query categories for each event type
                AeCategory[] categories = null;
                m_session.QueryAeCategories(out categories, m_QC_executionOptions);

                for (int i = 0; i < categories.Length; i++)
                {
                    TreeNode category = new TreeNode(categories[i].Description, 1, 1);
                    root.Nodes.Add(category);

                    //Query categories' attributes
                    AeAttribute[] attributes = null;
                    categories[i].QueryAeAttributes(out attributes, m_QA_executionOptions);

                    for (int ii = 0; ii < attributes.Length; ii++)
                    {
                        TreeNode attribute = new TreeNode(attributes[ii].Description, 2, 2);
                        category.Nodes.Add(attribute);
                    }
                    //Query ConditionNames
                    string[] conditionNames = null;
                    categories[i].QueryAeConditionNames(out conditionNames, m_QCN_executionOptions);

                    for (int ii = 0; ii < conditionNames.Length; ii++)
                    {
                        TreeNode conditionName = new TreeNode(conditionNames[ii], 3, 3);
                        category.Nodes.Add(conditionName);

                        //Query SubConditionNames
                        string[] subConditionNames = null;
                        categories[i].QueryAeSubConditionNames(conditionNames[ii], out subConditionNames, m_QSCN_executionOptions);

                        for (int iii = 0; iii < subConditionNames.Length; iii++)
                        {
                            Console.WriteLine(" The category " + categories[ii].Description + " has for the condition " + conditionNames[ii] + " the subcondition " + subConditionNames[iii]);
                        }
                    }
                }
                //Query available filters
                EnumFilterBy availableFilters;
                m_session.QueryAvailableAeFilters(out availableFilters, m_AF_executionOptions);

                if ((availableFilters & EnumFilterBy.AREA) == EnumFilterBy.AREA)
                {
                    filtersTextBox.AppendText("Filter by Area \n");
                }
                if ((availableFilters & EnumFilterBy.CATEGORY) == EnumFilterBy.CATEGORY)
                {
                    filtersTextBox.AppendText("Filter by Category \n");
                }
                if ((availableFilters & EnumFilterBy.EVENT) == EnumFilterBy.EVENT)
                {
                    filtersTextBox.AppendText("Filter by Event \n");
                }
                if ((availableFilters & EnumFilterBy.SEVERITY) == EnumFilterBy.SEVERITY)
                {
                    filtersTextBox.AppendText("Filter by Severity \n");
                }
                if ((availableFilters & EnumFilterBy.SOURCE) == EnumFilterBy.SOURCE)
                {
                    filtersTextBox.AppendText("Filter by Source \n");
                }
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.ToString());
            }       //	end try...catch
        }           //	end constructor