opc.ua在NET6.0的使用
文章目录
- 引入nuget包 OpcUaHelper
- 连接OPC.UA服务器
- 读取点位
- 写入点位
引入nuget包 OpcUaHelper
安装nuget包 OpcUaHelper (2.2.1),安装完成后,显示8个可传递包
连接OPC.UA服务器
privatereadonlystring_endpointUrl="opc.tcp://ip:端口号,默认49320";// 替换为OPC UA的用户名privatereadonlystring_username="";// 替换为OPC UA的密码privatereadonlystring_password="";OpcUaClientopcUaClient=newOpcUaClient();privateasyncvoidConnectBtn_Click(objectsender,EventArgse){opcUaClient.UserIdentity=newUserIdentity(_username,_password);awaitopcUaClient.ConnectServer(_endpointUrl);varflag=opcUaClient.Connected;if(flag){MessageBox.Show("连接成功");}else{MessageBox.Show("连接失败");}}读取点位
一般为读取方便起见,默认数据类型是string
privateasyncvoidReadBtn_Click(objectsender,EventArgse){if(opcUaClient.Connected){// 注意:点位开头是"ns=2;s=",如果不是会报错stringvalue=awaitopcUaClient.ReadNodeAsync<string>(TagTxt.Text.Trim());ValueLbl.Text=value;}}写入点位
privateasyncvoidWriteBtn_Click(objectsender,EventArgse){if(opcUaClient.Connected){ushortvalueToWrite=ushort.Parse(WriteValueTxt.Text.Trim());// 注意:点位开头是"ns=2;s=",如果不是会报错varflag=awaitopcUaClient.WriteNodeAsync<ushort>(TagTxt.Text.Trim(),valueToWrite);if(flag){MessageBox.Show("写入成功");}else{MessageBox.Show("写入失败");}}}