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 |
---|---|---|
|
Initializes a new instance of the SumReleaseHandles class. |
Methods
|
Name |
Description |
---|---|---|
|
Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
|
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
|
Serves as the default hash function. (Inherited from Object.) | |
|
Gets the Type of the current instance. (Inherited from Object.) | |
|
Creates a shallow copy of the current Object. (Inherited from Object.) | |
|
Releases the handles. | |
|
Returns a string that represents the current object. (Inherited from Object.) | |
|
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