gOPCUAConnector.gReadItems Method

Top  Previous  Next

Description

Reads values of  OPC Nodes from OPC Server synchronously.

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

 

VB syntax

gOPCUAConnector.gReadItems(ByRef itemsToRead() As gOPCUAReadWriteObject)

 

C# syntax

gOPCUAConnector.gReadItems(ref gOPCUAReadWriteObject[] itemsToRead)

 

Parameters

ItemsToRead

Array of ReadWriteObjects that hold NodeIDs you want to read.

 

Return Type

gOPCUAStatusCode

 

C# code example

  try

            {

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

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

 

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

                {

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

                }

                read_write_objs[0].NodeID = txtNodeID1.Text;

                read_write_objs[1].NodeID = txtNodeID2.Text;

 

                //Step2: Run gReadItems method  

                GelecekCommon.gOPCUAStatusCode function_result = gOPCUAConnector1.gReadItems(ref read_write_objs);

 

                //Step3: Check function result and status code, get read value.

                //For a successfull read, function result should be "Good" , status code should be "Good"

                txtFunctionResult.Text = function_result.ToString();

 

                if (function_result == GelecekCommon.gOPCUAStatusCode.Good)

                {

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

                    {

                        if (i == 0)

                        {

                            txtStatusCode1.Text = read_write_objs[i].StatusCode.ToString();

 

                            if (read_write_objs[i].StatusCode == GelecekCommon.gOPCUAStatusCode.Good)

                            {

                                //Show value on TextBox

                                //Be careful, Value should be able to convert to string..

                                txtValue1.Text = read_write_objs[i].Value.ToString();

 

                            }

                        }

                        else if (i == 1)

                        {

                            txtStatusCode2.Text = read_write_objs[i].StatusCode.ToString();

 

 

                            if (read_write_objs[i].StatusCode == GelecekCommon.gOPCUAStatusCode.Good)

                            {

                                //Show value on TextBox

                                //Be careful, Value should be able to convert to string..

                                txtValue2.Text = read_write_objs[i].Value.ToString();

 

                            }

                        }

                    } //for

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }