/// <summary> /// OPC UA值的响应函数 /// </summary> /// <param name="clientHandle"></param> /// <param name="value"></param> private void ClientApi_ValueChanged(object clientHandle, DataValue value) { opcRealated.opcUA.opcUAServer curServer = m_Server; // 如果需要唤醒主线程的更新控件功能. if (!this.CheckAccess()) { // Asynchronous execution of the valueChanged delegate. this.Dispatcher.BeginInvoke(new valueChanged(ClientApi_ValueChanged), clientHandle, value); return; } String keyID = (String)clientHandle; dataGridData curData = beckhoffInputData.Find(c => c.IID.Equals(keyID)); curData.varValue = double.Parse(Utils.Format("{0}", value.Value)); }
private opcUAServer connectServer() { String serverIP = "127.0.0.1"; //设备的IP地址 String serverPort = "49320"; //倍福设备的端口号 opcUAServer uaServer = new opcRealated.opcUA.opcUAServer(); uaServer.CertificateEvent += new certificateValidation(m_Server_CertificateEvent); String connectVar = "opc.tcp://" + serverIP + ":" + serverPort; try { uaServer.Connect(connectVar); } catch (Exception ex) { MessageBox.Show("服务器连接异常,错误原因:" + ex, "错误", MessageBoxButton.OK, MessageBoxImage.Error); Console.WriteLine("服务器连接异常,错误原因:" + ex); } return(uaServer); }