Beispiel #1
0
        /// <summary>
        /// Reads the attribute values for the current node and displays them.
        /// </summary>
        public void ReadAttributes(TreeNode parent)
        {
            ReferenceDescription start = parent.Tag as ReferenceDescription;

            ListOfReadValueId nodesToRead = new ListOfReadValueId();

            foreach (uint attributeId in Attributes.GetIdentifiers())
            {
                ReadValueId nodeToRead = new ReadValueId();

                nodeToRead.NodeId      = new NodeId(start.NodeId);
                nodeToRead.AttributeId = attributeId;

                nodesToRead.Add(nodeToRead);
            }

            ListOfDataValue      results;
            ListOfDiagnosticInfo diagnosticInfos;

            m_client.Read(
                m_client.CreateRequestHeader(),
                0,
                TimestampsToReturn.Both_2,
                nodesToRead,
                out results,
                out diagnosticInfos);

            if (results != null)
            {
                AttributesLV.Items.Clear();

                for (int ii = 0; ii < nodesToRead.Count; ii++)
                {
                    ReadValueId nodeToRead = nodesToRead[ii];
                    DataValue   dataValue  = results[ii];

                    if (dataValue.StatusCode == StatusCodes.BadAttributeIdInvalid)
                    {
                        continue;
                    }

                    ListViewItem item = new ListViewItem(Attributes.GetBrowseName(nodeToRead.AttributeId));

                    item.SubItems.Add(new ListViewItem.ListViewSubItem());
                    item.SubItems[1].Text = dataValue.ToString();

                    AttributesLV.Items.Add(item);
                }
            }
        }
Beispiel #2
0
        /// <summary>
        /// Reads the attribute values for the current node and displays them.
        /// </summary>
        public void ReadAttributes(TreeNode parent)
        {
            ReferenceDescription start = parent.Tag as ReferenceDescription;

            ListOfReadValueId nodesToRead = new ListOfReadValueId();

            foreach (uint attributeId in Attributes.GetIdentifiers())
            {
                ReadValueId nodeToRead = new ReadValueId();

                nodeToRead.NodeId = new NodeId(start.NodeId);
                nodeToRead.AttributeId = attributeId;
                
                nodesToRead.Add(nodeToRead);
            }

            ListOfDataValue results;
            ListOfDiagnosticInfo diagnosticInfos;

            m_client.Read(
                m_client.CreateRequestHeader(),
                0,
                TimestampsToReturn.Both_2,
                nodesToRead,
                out results,
                out diagnosticInfos);

            if (results != null)
            {
                AttributesLV.Items.Clear();

                for (int ii = 0; ii < nodesToRead.Count; ii++)
                {
                    ReadValueId nodeToRead = nodesToRead[ii];
                    DataValue dataValue = results[ii];

                    if (dataValue.StatusCode == StatusCodes.BadAttributeIdInvalid)
                    {
                        continue;
                    }

                    ListViewItem item = new ListViewItem(Attributes.GetBrowseName(nodeToRead.AttributeId));

                    item.SubItems.Add(new ListViewItem.ListViewSubItem());
                    item.SubItems[1].Text = dataValue.ToString();

                    AttributesLV.Items.Add(item);
                }
            }
        }