/// <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);
        }