/// <summary> /// 获取所有节点,包括变量 /// </summary> private void GetAllNode() { _Nav = new NavModal(); ReferenceDescriptionCollection referenceDescriptionCollection = uAClient.BrowseRoot(); GetNodes(referenceDescriptionCollection, _Nav); }
private ushort GetRfidNamespaceIndex() { ushort nameSpaceIndex = 0; ReferenceDescriptionCollection refDescCol = new ReferenceDescriptionCollection(); refDescCol = myHelperApi.BrowseRoot(); //Browse to variable "AutoIdModelVersion" (mandatory in AutoID) in RfidReaderDeviceType object to find out namespace foreach (ReferenceDescription refDescA in refDescCol) { if (refDescA.BrowseName.Name == "Objects") { refDescCol = myHelperApi.BrowseNode(refDescA); foreach (ReferenceDescription refDescB in refDescCol) { if (refDescB.BrowseName.Name == "DeviceSet") { refDescCol = myHelperApi.BrowseNode(refDescB); foreach (ReferenceDescription refDescC in refDescCol) { if (refDescC.TypeDefinition == new ExpandedNodeId(RfidOpcUaForm.AutoID.ObjectTypes.RfidReaderDeviceType, (ushort)myHelperApi.GetNamespaceIndex(RfidOpcUaForm.AutoID.Namespaces.AutoID))) { refDescCol = myHelperApi.BrowseNode(refDescC); foreach (ReferenceDescription refDescD in refDescCol) { if (refDescD.BrowseName.Name == "AutoIdModelVersion") { nameSpaceIndex = refDescD.NodeId.NamespaceIndex; break; } } break; } } break; } } break; } } return(nameSpaceIndex); }
private void BrowsePage_Enter(object sender, EventArgs e) { this.Size = new Size(750, 521); if (myReferenceDescriptionCollection == null) { try { myReferenceDescriptionCollection = myClientHelperAPI.BrowseRoot(); foreach (ReferenceDescription refDesc in myReferenceDescriptionCollection) { nodeTreeView.Nodes.Add(refDesc.DisplayName.ToString()).Tag = refDesc; foreach (TreeNode node in nodeTreeView.Nodes) { node.Nodes.Add(""); } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error"); } } }
private void GetIDsAtConstruction() { ReferenceDescriptionCollection refDescCol = new ReferenceDescriptionCollection(); ReferenceDescriptionCollection foundRefDescCol = new ReferenceDescriptionCollection(); refDescCol = myHelperApi.BrowseRoot(); foreach (ReferenceDescription refDescA in refDescCol) { if (refDescA.BrowseName.Name == "Objects") { refDescCol = myHelperApi.BrowseNode(refDescA); foreach (ReferenceDescription refDescB in refDescCol) { if (refDescB.BrowseName.Name == "DeviceSet") { refDescCol = myHelperApi.BrowseNode(refDescB); foreach (ReferenceDescription refDescC in refDescCol) { if (refDescC.TypeDefinition == new ExpandedNodeId(AutoID.ObjectTypes.RfidReaderDeviceType, (ushort)myHelperApi.GetNamespaceIndex(AutoID.Namespaces.AutoID))) { foundRefDescCol.Add(refDescC); } } } } } } MethodIds methodIds; for (int i = 0; i < foundRefDescCol.Count; i++) { refDescCol = myHelperApi.BrowseNode(foundRefDescCol[i]); foreach (ReferenceDescription refDescD in refDescCol) { if (refDescD.BrowseName.Name == "Scan") { objectIdentifier = (uint)foundRefDescCol[i].NodeId.Identifier; methodIdentifier = (uint)refDescD.NodeId.Identifier; methodIds.method = MethodToCall.Scan; methodIds.readpoint = i; methodIds.methodNodeId = methodIdentifier; methodIds.objectNodeId = objectIdentifier; methodIdList[i].Add(methodIds); } else if (refDescD.BrowseName.Name == "ScanStart") { objectIdentifier = (uint)foundRefDescCol[i].NodeId.Identifier; methodIdentifier = (uint)refDescD.NodeId.Identifier; methodIds.method = MethodToCall.ScanStart; methodIds.readpoint = i; methodIds.methodNodeId = methodIdentifier; methodIds.objectNodeId = objectIdentifier; methodIdList[i].Add(methodIds); } else if (refDescD.BrowseName.Name == "ScanStop") { objectIdentifier = (uint)foundRefDescCol[i].NodeId.Identifier; methodIdentifier = (uint)refDescD.NodeId.Identifier; methodIds.method = MethodToCall.ScanStop; methodIds.readpoint = i; methodIds.methodNodeId = methodIdentifier; methodIds.objectNodeId = objectIdentifier; methodIdList[i].Add(methodIds); } else if (refDescD.BrowseName.Name == "ReadTag") { objectIdentifier = (uint)foundRefDescCol[i].NodeId.Identifier; methodIdentifier = (uint)refDescD.NodeId.Identifier; methodIds.method = MethodToCall.ReadTag; methodIds.readpoint = i; methodIds.methodNodeId = methodIdentifier; methodIds.objectNodeId = objectIdentifier; methodIdList[i].Add(methodIds); } else if (refDescD.BrowseName.Name == "WriteTag") { objectIdentifier = (uint)foundRefDescCol[i].NodeId.Identifier; methodIdentifier = (uint)refDescD.NodeId.Identifier; methodIds.method = MethodToCall.WriteTag; methodIds.readpoint = i; methodIds.methodNodeId = methodIdentifier; methodIds.objectNodeId = objectIdentifier; methodIdList[i].Add(methodIds); } else if (refDescD.BrowseName.Name == "KillTag") { objectIdentifier = (uint)foundRefDescCol[i].NodeId.Identifier; methodIdentifier = (uint)refDescD.NodeId.Identifier; methodIds.method = MethodToCall.KillTag; methodIds.readpoint = i; methodIds.methodNodeId = methodIdentifier; methodIds.objectNodeId = objectIdentifier; methodIdList[i].Add(methodIds); } else if (refDescD.BrowseName.Name == "LockTag") { objectIdentifier = (uint)foundRefDescCol[i].NodeId.Identifier; methodIdentifier = (uint)refDescD.NodeId.Identifier; methodIds.method = MethodToCall.LockTag; methodIds.readpoint = i; methodIds.methodNodeId = methodIdentifier; methodIds.objectNodeId = objectIdentifier; methodIdList[i].Add(methodIds); } else if (refDescD.BrowseName.Name == "SetTagPassword") { objectIdentifier = (uint)foundRefDescCol[i].NodeId.Identifier; methodIdentifier = (uint)refDescD.NodeId.Identifier; methodIds.method = MethodToCall.SetTagPw; methodIds.readpoint = i; methodIds.methodNodeId = methodIdentifier; methodIds.objectNodeId = objectIdentifier; methodIdList[i].Add(methodIds); } } } }
private void EpConnectServerButton_Click(object sender, EventArgs e) { var classOPCUA = new OPCUA(); //Check if sessions exists; If yes > delete subscriptions and disconnect if (mySession != null && !mySession.Disposed) { myClientHelperAPI.Disconnect(); mySession = myClientHelperAPI.Session; ResetUI(); } else { try { //Register mandatory events (cert and keep alive) myClientHelperAPI.KeepAliveNotification += new KeepAliveEventHandler(classOPCUA.Notification_KeepAlive); myClientHelperAPI.CertificateValidationNotification += new CertificateValidationEventHandler(classOPCUA.Notification_ServerCertificate); //Check for a selected endpoint if (mySelectedEndpoint != null) { //Call connect myClientHelperAPI.Connect(mySelectedEndpoint, userPwButton.Checked, userTextBox.Text, pwTextBox.Text); //Extract the session object for further direct session interactions mySession = myClientHelperAPI.Session; //UI settings epConnectServerButton.Text = "Disconnect from server"; //myCertForm = null; if (descriptionGridView.Enabled == false) { descriptionGridView.Enabled = true; descriptionGridView.BackgroundColor = SystemColors.Window; nodeTreeView.Enabled = true; nodeTreeView.BackColor = SystemColors.Window; numericS7RecordsCount.Enabled = true; numericS7RecordsCount.BackColor = SystemColors.Window; textBoxSQLTableName.Enabled = true; textBoxSQLTableName.BackColor = SystemColors.Window; textBoxSQLIDColName.BackColor = SystemColors.Window; textBoxSQLIDColName.Enabled = true; textBoxSQLValColName.BackColor = SystemColors.Window; textBoxSQLValColName.Enabled = true; textBoxSQLDATColName.BackColor = SystemColors.Window; textBoxSQLDATColName.Enabled = true; } if (Config.Sets.Primary_ODBC_DSN != "") { connStringBuilder.Dsn = Config.Sets.Primary_ODBC_DSN; connStringBuilder.Add("Uid", Config.Sets.Primary_ODBC_User); connStringBuilder.Add("Pwd", Config.Sets.Primary_ODBC_Pass); } if (Config.Sets.Primary_OPCUA_Node != "") { //discoveryTextBox.Text = Config.Sets.Primary_OPCUA_Node; textBoxS7DBName.Text = Config.Sets.Primary_S7_DBName; textBoxS7RecArrayName.Text = Config.Sets.Primary_OPCUA_RecArray; textBoxS7RecResetCountName.Text = Config.Sets.Primary_OPCUA_RecResetCount; } if (Config.Sets.Primary_SQL_NumberOfRec != 0) { numericS7RecordsCount.Value = Config.Sets.Primary_SQL_NumberOfRec; textBoxSQLTableName.Text = Config.Sets.Primary_SQL_TableName; textBoxSQLIDColName.Text = Config.Sets.Primary_SQL_IDColName; textBoxSQLValColName.Text = Config.Sets.Primary_SQL_ValColName; textBoxSQLDATColName.Text = Config.Sets.Primary_SQL_DATColName; buttonSaveConfig.Enabled = true; buttonSaveConfig.BackColor = Color.Transparent; } if (myReferenceDescriptionCollection == null) { try { myReferenceDescriptionCollection = myClientHelperAPI.BrowseRoot(); foreach (ReferenceDescription refDesc in myReferenceDescriptionCollection) { nodeTreeView.Nodes.Add(refDesc.DisplayName.ToString()).Tag = refDesc; foreach (TreeNode node in nodeTreeView.Nodes) { node.Nodes.Add(""); } } } catch (Exception ex) { if (BGW_OPCUA.IsBusy) { BGW_OPCUA.CancelAsync(); } MessageBox.Show(ex.Message, "Error"); } } } else { MessageBox.Show("Please select an endpoint before connecting", "Error"); return; } } catch (Exception ex) { if (BGW_OPCUA.IsBusy) { BGW_OPCUA.CancelAsync(); } //myCertForm = null; MessageBox.Show(ex.Message, "Error"); } } }