Exemple #1
0
        /// <summary>
        /// Read value from an OPC tag.
        /// </summary>
        /// <returns>Tag value.</returns>
        public object ReadTagVal(string tagName)
        {
            if (String.IsNullOrEmpty(tagName))
            {
                throw new Exception(String.Format("OPC tag name '{0}' is not valid", tagName));
            }

            object tagValue = String.Empty;

            if (!_server.IsConnected)
            {
                throw new Exception("Not connected to OPC server");
            }

            Item[] itemCollection = new Item[1];
            itemCollection[0] = new Item {
                ItemName = tagName, MaxAge = -1
            };

            ItemValueResult[] results = _server.Read(itemCollection);
            if (results.Length > 0)
            {
                tagValue = results[0].Value;
            }

            return(tagValue);
        }