Exemple #1
0
        public static void BrowseChildren(IOpcDaBrowser browser, TreeNode node, string itemId = null, int indent = 0)
        {
            OpcDaBrowseElement[] elements = browser.GetElements(itemId);
            foreach (OpcDaBrowseElement element in elements)
            {
                if (!(element.ItemId.IndexOf('$') == 0))
                {
                    if (indent > 14)
                    {
                        continue;
                    }

                    if (IsItemsfilter(element.Name) || IsItemsfilter(element.ItemId))
                    {
                        continue;
                    }

                    if (element.HasChildren)
                    {
                        TreeNode curNode = AddNode(node, element.Name, element.ItemId);
                        if (curNode != null)
                        {
                            BrowseChildren(browser, curNode, element.ItemId, indent + 2);
                        }
                    }
                    else
                    {
                        AddLeafNode(node, element.Name, element.ItemId);
                    }
                }
            }
        }
        public List <String> BrowseChildren(IOpcDaBrowser browser, string itemId = null, int indent = 0)
        {
            List <string> result = new List <string>();

            // When itemId is null, root elements will be browsed.
            OpcDaBrowseElement[] elements = browser.GetElements(itemId);

            // Output elements.
            foreach (OpcDaBrowseElement element in elements)
            {
                if (!element.HasChildren)
                {
                    //Console.WriteLine(element);

                    OpcDaItemProperties[] ppts = browser.GetProperties(new [] { element.ItemId }, new OpcDaPropertiesQuery(true, new int[] { 1 }));
                    OpcDaItemProperties   ppt  = (OpcDaItemProperties)ppts.GetValue(0);

                    /*
                     * Console.WriteLine(element.ItemId);
                     * Console.WriteLine(ppt.Properties[0].DataType);
                     */
                    /*
                     *
                     * 1 Item Canonical DataType (ItemId: #MonitorACLFile, DataType System.Int16, Value: , ErrorId: S_OK: Success code)
                     * 2 Item Value (ItemId: #MonitorACLFile, DataType TitaniumAS.Opc.Client.Common.IllegalType, Value: , ErrorId: S_OK: Success code)
                     * 3 Item Quality (ItemId: #MonitorACLFile, DataType System.Int16, Value: , ErrorId: S_OK: Success code)
                     * 4 Item Timestamp (ItemId: #MonitorACLFile, DataType System.DateTime, Value: , ErrorId: S_OK: Success code)
                     * 5 Item Access Rights (ItemId: #MonitorACLFile, DataType System.Int32, Value: , ErrorId: S_OK: Success code)
                     * 6 this.server Scan Rate (ItemId: #MonitorACLFile, DataType System.Single, Value: , ErrorId: S_OK: Success code)
                     * 7 Item EU Type (ItemId: #MonitorACLFile, DataType System.Int32, Value: , ErrorId: S_OK: Success code)
                     * 8 Item EUInfo (ItemId: #MonitorACLFile, DataType System.String[], Value: , ErrorId: S_OK: Success code)
                     */
                    /*
                     * foreach(OpcDaItemProperty _prop in ppt.Properties)
                     * {
                     *  Console.WriteLine(_prop);
                     * }
                     */


                    //element.ItemProperties.Properties.DataType;   elemento mais tag datatype
                    result.Add(element.ItemId + "," + tagTypeConvert((Int16)ppt.Properties[0].Value));
                    continue;
                }

                // Output children of the element.
                if (element.ItemId != "_Hints")
                {
                    result.AddRange(BrowseChildren(browser, element.ItemId, indent + 2));
                }
            }

            return(result);
        }
        private static void BrowseChildren(IOpcDaBrowser browser, string itemId = null, int indent = 0)
        {
            // Browse elements.
            // When itemId is null, root elements will be browsed.
            OpcDaBrowseElement[] elements = browser.GetElements(itemId);

            // Output elements.
            foreach (OpcDaBrowseElement element in elements)
            {
                // Output the element.
                Console.Write(new String(' ', indent));
                Console.WriteLine(element);

                // Skip elements without children.
                if (!element.HasChildren)
                    continue;

                // Output children of the element.
                BrowseChildren(browser, element.ItemId, indent + 2);
            }
        }
        private static void BrowseChildren(IOpcDaBrowser browser, string itemId = null, int indent = 0)
        {
            // Browse elements.
            // When itemId is null, root elements will be browsed.
            OpcDaBrowseElement[] elements = browser.GetElements(itemId);

            // Output elements.
            foreach (OpcDaBrowseElement element in elements)
            {
                // Output the element.
                Console.Write(new String(' ', indent));
                Console.WriteLine(element);

                // Skip elements without children.
                if (!element.HasChildren)
                {
                    continue;
                }

                // Output children of the element.
                BrowseChildren(browser, element.ItemId, indent + 2);
            }
        }
Exemple #5
0
        public static void BrowseChildren(string itemId, IOpcDaBrowser browser)
        {
            var opcElements = browser.GetElements(itemId);

            foreach (OpcDaBrowseElement opcBrowseElement in opcElements)
            {
                Debug.WriteLine(opcBrowseElement);
                foreach (OpcDaItemProperty opcDaItemProperty in opcBrowseElement.ItemProperties.Properties)
                {
                    Debug.Indent();
                    Debug.WriteLine(opcDaItemProperty);
                    Debug.Unindent();
                }

                if (!opcBrowseElement.HasChildren)
                {
                    continue;
                }

                Debug.Indent();
                BrowseChildren(opcBrowseElement.ItemId, browser);
                Debug.Unindent();
            }
        }