public static void DataType() { var easyDAClient = new EasyDAClient(); ServerDescriptor serverDescriptor = "AutoJet.ACPFileServerDA.1"; // Browse for all leaves under the "Simulation" branch DANodeElementCollection nodeElementCollection = easyDAClient.BrowseLeaves(serverDescriptor, "Simulation"); // Create list of node descriptors, one for each leaf obtained DANodeDescriptor[] nodeDescriptorArray = nodeElementCollection .Where(element => !element.IsHint) // filter out hint leafs that do not represent real OPC items (rare) .Select(element => new DANodeDescriptor(element)) .ToArray(); // Get the value of DataType property; it is a 16-bit signed integer ValueResult[] valueResultArray = easyDAClient.GetMultiplePropertyValues(serverDescriptor, nodeDescriptorArray, DAPropertyIds.DataType); for (int i = 0; i < valueResultArray.Length; i++) { DANodeDescriptor nodeDescriptor = nodeDescriptorArray[i]; // Check if there has been an error getting the property value ValueResult valueResult = valueResultArray[i]; if (valueResult.Exception != null) { Console.WriteLine("{0}: *** {1}", nodeDescriptor.NodeId, valueResult.Exception.Message); continue; } // Convert the data type to VarType var varType = (VarType)(short)valueResult.Value; // Display the obtained data type Console.WriteLine("{0}: {1}", nodeDescriptor.ItemId, varType); } }
public string[] BrowseAccessPaths([NotNull] ServerDescriptor serverDescriptor, [NotNull] DANodeDescriptor nodeDescriptor) { throw new NotImplementedException(); }