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 Class 1:

SumReleaseHandles

Initializes a new instance of the SumReleaseHandles class.

Methods

 

Name

Description

SumReleaseHandles Class 2:

Equals

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

SumReleaseHandles Class 3:

Finalize

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

SumReleaseHandles Class 4:

GetHashCode

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

SumReleaseHandles Class 5:

GetType

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

SumReleaseHandles Class 6:

MemberwiseClone

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

SumReleaseHandles Class 7:

ReleaseHandles

Releases the handles.

SumReleaseHandles Class 8:

ToString

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

SumReleaseHandles Class 9:

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