gOPCClassicConnector.gReadItems Method

Top  Previous  Next

Description

Reads values of  OPC Items from OPC Server synchronously.

This synchronous operation may freeze your application until the end of operation.

 

VB syntax

gOPCClassicConnector.gReadItems(ByRef itemsToRead() As gOPCClassicReadWriteObject)

 

C# syntax

gOPCClassicConnector.gReadItems(ref gOPCClassicReadWriteObject[] itemsToRead)

 

Parameters

ItemsToRead

An aray of ReadWriteObjects that specify OPC Items you want to read..

 

Return Type

gOPCClassicFunctionResult

 

C# code example

  try

            { 

                //Step1: Create an array of read-write object and assign ItemIDs

                GelecekCommon.gOPCClassicReadWriteObject[] read_write_objs = new GelecekCommon.gOPCClassicReadWriteObject[2];

 

                for (int i = 0; i < read_write_objs.Length; i++)

                {

                    read_write_objs[i] = new GelecekCommon.gOPCClassicReadWriteObject();

                }

                read_write_objs[0].ItemID = txtItemID1.Text;

                read_write_objs[1].ItemID = txtItemID2.Text;

 

                //Step2: Run gReadItems method  

                GelecekCommon.gOPCClassicFunctionResult function_result = gOPCClassicConnector1.gReadItems(ref read_write_objs);

 

                //Step3: Check function result Quality and ResultID, get read value.

                //For a successfull read, function result should be "OK" , ResultID sould be "S_OK" and Quality should be "good"

                txtFunctionResult.Text = function_result.ToString();

 

                if (function_result == GelecekCommon.gOPCClassicFunctionResult.OK)

                {

                    for (int i = 0; i < read_write_objs.Length; i++)

                    {

                        if (i == 0)

                        {

                            txtResultID1.Text = read_write_objs[i].ResultID.ToString();

                            txtQuality1.Text = read_write_objs[i].Quality.ToString();

                            if (read_write_objs[i].ResultID == Opc.ResultID.S_OK && read_write_objs[i].Quality == Opc.Da.Quality.Good)

                            {

                                txtValue1.Text = read_write_objs[i].Value.ToString(); //Be careful, Value should be able to convert to string..

                            }

                        }

                        else if (i == 1)

                        {

                            txtResultID2.Text = read_write_objs[i].ResultID.ToString();

                            txtQuality2.Text = read_write_objs[i].Quality.ToString();

 

                            if (read_write_objs[i].ResultID == Opc.ResultID.S_OK && read_write_objs[i].Quality == Opc.Da.Quality.Good)

                            {

                                txtValue2.Text = read_write_objs[i].Value.ToString(); //Be careful, Value should be able to convert to string..

                            }

                        }

                    } //for

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }