SumReleaseHandles Class

Release Handles SumCommand.

Inheritance Hierarchy

System.Object
  SumCommandWrapper.SumWrite.
    TwinCAT.Ads.SumCommand.SumReleaseHandles
Namespace:  TwinCAT.Ads.SumCommand
Assembly:  TwinCAT.Ads (in TwinCAT.Ads.dll) Version: 4.3.0.0

Syntax

C#

public class SumReleaseHandles : SumCommandWrapper<SumWrite>

VB

Public Class SumReleaseHandles
    Inherits SumCommandWrapper(Of SumWrite)

The SumReleaseHandles type exposes the following members.

Constructors

 

Name

Description

SumReleaseHandles

Initializes a new instance of the SumReleaseHandles class.

Methods

 

Name

Description

Equals

Determines whether the specified object is equal to the current object. (Inherited from Object.)

Finalize

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)

GetHashCode

Serves as the default hash function. (Inherited from Object.)

GetType

Gets the Type of the current instance. (Inherited from Object.)

MemberwiseClone

Creates a shallow copy of the current Object. (Inherited from Object.)

ReleaseHandles

Releases the handles.

ToString

Returns a string that represents the current object. (Inherited from Object.)

TryReleaseHandles

Tries to Release the Handles

Remarks

Releases the specified ADS handles. Usually used in conjunction with the SumCreateHandles and the SumHandleRead / SumHandleWrite commands.

Examples

Usage of Sum commands with handles (CreateHandles, Read, Write, ReleaseHandles)

/// <summary>
/// Defines the entry point of the application.
/// </summary>
/// <param name="args">The arguments.</param>
static void Main(string[] args)
{
    Console.WriteLine("");
    Console.WriteLine("Press [Enter] for start:");
    Console.ReadLine();

    // Parse the command-line arguments
    AmsAddress address = ArgParser.Parse(args);

    using (TcAdsClient client = new TcAdsClient())
    {
    // Connect the AdsClient to the device target.
    client.Connect(address);

    string[] instancePathList = {"GVL.bVar", "GVL.iCount", "TwinCAT_SystemInfoVarList._AppInfo.ProjectName"};
    SumCreateHandles createHandlesCommand = new SumCreateHandles(client,instancePathList);

    uint[] handles = createHandlesCommand.CreateHandles();
    Type[] valueTypes = new Type[] { typeof(bool), typeof(short), typeof(string)};

    SumHandleRead readCommand = new SumHandleRead(client,handles,valueTypes);

    object[] readValues = readCommand.Read();

    for (int i = 0; i < instancePathList.Length; i++)
    {
        Console.WriteLine("Symbol: {0} (Value: {1}, Type: {2})",instancePathList[i],readValues[i].ToString(),valueTypes[i].Name);
    }

    // Sum Command Write
    SumHandleWrite writeCommand = new SumHandleWrite(client,handles,valueTypes);
    object[] writeValues = new object[] {true, (short) 42, "MyNewProjectName"};

    writeCommand.Write(writeValues);

    SumReleaseHandles releaseCommand = new SumReleaseHandles(client,handles);
    releaseCommand.ReleaseHandles();
    }

    Console.WriteLine("");
    Console.WriteLine("Press [Enter] for leave:");
    Console.ReadLine();
}

Reference

TwinCAT.Ads.SumCommand Namespace

TwinCAT.Ads.SumCommand.ISumCommand

TwinCAT.Ads.SumCommand.SumCreateHandles

TwinCAT.Ads.SumCommand.SumHandleRead

TwinCAT.Ads.SumCommand.SumHandleWrite