public int GetNodeValue(string nodeStrGuid, out object nodeValue) { int rtc = -1; nodeValue = null; try { OPCDATASOURCE opcDataSource = OPCDATASOURCE.OPC_DS_DEVICE; OPCItemState opcItemState = new OPCItemState(); DriveNodeEntity driveNode = allOPCItemNodes.Find(p => nodeStrGuid.Equals(p.nodeId)); ItemDef itemdef = syncIOGroup.Item(driveNode.nodeName); rtc = syncIOGroup.Read(opcDataSource, itemdef, out opcItemState); if (HRESULTS.Succeeded(rtc)) { nodeValue = opcItemState.DataValue; //txtItemQuality.Text = syncIOGroup.GetQualityString(opcItemState.Quality); //txtTimeStamp.Text = DateTime.FromFileTime(opcItemState.TimeStamp).ToString(); } } catch (Exception ex) { NLogHelper.ExceptionInfo(ex, "GetNodeValue param:'{1}' ,exception:{0}", ex.Message, nodeStrGuid); } return(rtc); }
public static int GetOpcAllItemByNodeRoot(DriveNodeEntity nodeRoot, out List <DriveNodeEntity> listItemNodes) { listItemNodes = null; try { if (null == nodeRoot) { return(1); } listItemNodes = new List <DriveNodeEntity>(); foreach (DriveNodeEntity group in nodeRoot.childNode) { foreach (DriveNodeEntity item in group.childNode) { listItemNodes.Add(item); } } return(0); } catch (Exception ex) { NLogHelper.ExceptionInfo(ex, "GetOpcAllItemByNodeRoot exception:{0} ", ex.Message); return(-1); } }
public static int GetOpcServerAllItem(OpcServer opcSer, out List <DriveNodeEntity> driveNodes) { int rtc = -1; driveNodes = null; BrowseTree browseTress = new BrowseTree(opcSer); rtc = browseTress.CreateTree(); if (HRESULTS.Succeeded(rtc)) { TreeNode[] root = browseTress.Root(); if (root != null) { driveNodes = new List <DriveNodeEntity>(); // driveNotes 固定两层 ,没有使用递归 转换 foreach (TreeNode item in root) { DriveNodeEntity driveNodeTemp = CloneDriveNode(item, DriveNodeModel.OPCGroup); foreach (TreeNode itemChild in item.Nodes) { driveNodeTemp.childNode.Add(CloneDriveNode(itemChild, DriveNodeModel.OPCItem)); } driveNodes.Add(driveNodeTemp); } return(0); } } return(rtc); }
private static DriveNodeEntity CloneDriveNode(TreeNode treeNode, DriveNodeModel driveNodeModel) { DriveNodeEntity driveNode = new DriveNodeEntity(); driveNode.nodeId = GuidHelper.GetStringGuid(); driveNode.nodeType = DriveNodeType.OPC; driveNode.nodeModel = driveNodeModel; driveNode.nodeName = treeNode.Tag.ToString(); driveNode.nodeDisName = treeNode.Text; return(driveNode); }
public OPCBUSService(DriveNodeEntity _driveNodes) { opcSerNodes = _driveNodes; }