/// <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);
            }
        }
コード例 #2
0
        //----------------------------------------------------------------------------------------------------------------------
        // 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);
                }
            }
        }
コード例 #3
0
        /// <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);
            }
        }
コード例 #4
0
 //----------------------------------------------------------------------------------------------------------------------
 // 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);
     }
 }
コード例 #5
0
        /// <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);
            }
        }
コード例 #6
0
        /// <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);
            }
        }