/// <summary> /// Begins the asynchronous request. /// </summary> private void BeginRequest() { try { mRequest_ = null; // begin the asynchronous read request. if (mItems_ != null) { mSubscription_.Read(mItems_, ++mHandle_, new TsCDaReadCompleteEventHandler(OnReadComplete), out mRequest_); } // begin the asynchronous write request. else if (mValues_ != null) { mSubscription_.Write(mValues_, ++mHandle_, new TsCDaWriteCompleteEventHandler(OnWriteComplete), out mRequest_); } // update controls if request successful. if (mRequest_ != null) { okBtn_.Enabled = false; cancelBtn_.Enabled = false; goBtn_.Visible = false; stopBtn_.Visible = true; } } catch (Exception e) { MessageBox.Show(e.Message); } }
//---------------------------------------------------------------------------------------------------------------------- // btnRead_Click //------------------- // A read operation is called for the added item. //---------------------------------------------------------------------------------------------------------------------- private void btnRead_Click(object sender, System.EventArgs e) { TsCDaItemValueResult[] res; res = m_pOpcGroup.Read(m_arAddedItems); if (res[0].Result.IsError()) { MessageBox.Show("Read operation failed: " + res[0].Result.Description(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { if (res[0].Result.IsSuccess()) { /// Display the read results string sReadResult; sReadResult = "Value: \t\t" + res[0].Value + "\n" + "Quality: \t\t" + res[0].Quality + "\n" + "TimeStamp: \t" + res[0].Timestamp; txtboxRead.Text = sReadResult; } else { MessageBox.Show("Cannot read value : " + res[0].Result.Description(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } }
/// <summary> /// Begins the asynchronous request. /// </summary> private void BeginRequest() { try { m_request = null; // begin the asynchronous read request. if (m_items != null) { m_subscription.Read(m_items, ++m_handle, new TsCDaReadCompleteEventHandler(OnReadComplete), out m_request); } // begin the asynchronous write request. else if (m_values != null) { m_subscription.Write(m_values, ++m_handle, new TsCDaWriteCompleteEventHandler(OnWriteComplete), out m_request); } // update controls if request successful. if (m_request != null) { OkBTN.Enabled = false; CancelBTN.Enabled = false; GoBTN.Visible = false; StopBTN.Visible = true; } } catch (Exception e) { MessageBox.Show(e.Message); } }
//---------------------------------------------------------------------------------------------------------------------- // btnRead_Click //------------------- // A read operation is called for the added item. //---------------------------------------------------------------------------------------------------------------------- private void btnRead_Click(object sender, System.EventArgs e) { OpcItemResult[] res; res = m_pOpcGroup.Read(m_arAddedItems, 100, new TsCDaReadCompleteEventHandler(ReadCompleteHandler), out m_ITRequest); if (res[0].Result.IsError()) { MessageBox.Show("Read operation failed: " + res[0].Result.Description(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
/// <summary> /// Executes a read request for the current set if items. /// </summary> public void DoRead() { try { // read from server. TsCDaItem[] items = ItemsCTRL.GetItems(); TsCDaItemValueResult[] results = null; if (m_subscription != null) { if (m_synchronous) { results = m_subscription.Read(items); } else { results = new AsyncRequestDlg().ShowDialog(m_subscription, items); if (results == null) { return; } } } else { // add dummy client handles to test that they get returned properly. foreach (TsCDaItem item in items) { item.ClientHandle = item.ItemName; } results = m_server.Read(items); } // save results. m_values = results; BackBTN.Enabled = true; NextBTN.Enabled = false; CancelBTN.Visible = false; DoneBTN.Visible = true; OptionsBTN.Visible = false; ItemsCTRL.Visible = false; ResultsCTRL.Visible = true; // display results. ResultsCTRL.Initialize(m_server, (m_subscription != null)?m_subscription.Locale:m_server.Locale, results); } catch (Exception e) { MessageBox.Show(e.Message); } }
/// <summary> /// Executes a read request for the current set if items. /// </summary> public void DoRead() { try { // read from server. TsCDaItem[] items = itemsCtrl_.GetItems(); TsCDaItemValueResult[] results = null; if (mSubscription_ != null) { if (mSynchronous_) { results = mSubscription_.Read(items); } else { results = new AsyncRequestDlg().ShowDialog(mSubscription_, items); if (results == null) { return; } } } else { // add dummy client handles to test that they get returned properly. foreach (TsCDaItem item in items) { item.ClientHandle = item.ItemName; } results = mServer_.Read(items); } // save results. mValues_ = results; backBtn_.Enabled = true; nextBtn_.Enabled = false; cancelBtn_.Visible = false; doneBtn_.Visible = true; optionsBtn_.Visible = false; itemsCtrl_.Visible = false; resultsCtrl_.Visible = true; // display results. resultsCtrl_.Initialize(mServer_, (mSubscription_ != null)?mSubscription_.Locale:mServer_.Locale, results); } catch (Exception e) { MessageBox.Show(e.Message); } }