AnyTypeExtensionsPollValuesT(IAdsConnection, String, Int32, TimeSpan) Method
Polls the symbol as value sequence of object values with a specified period time.
Namespace: TwinCAT.Ads.Reactive
Assembly: TwinCAT.Ads.Reactive (in
TwinCAT.Ads.Reactive.dll) Version:
7.0.0+e56d35ccc4675faac24789a4aab60071fc61d470
Syntax
C#
public static IObservable<T> PollValues<T>(
this IAdsConnection connection,
string instancePath,
int[]? args,
TimeSpan period
)Parameters
|
connection IAdsConnection |
The connection. |
|
instancePath String |
The instance path. |
|
args Int32 |
ANY_TYPE arguments. |
|
period TimeSpan |
The period. |
Type Parameters
|
T |
The ANY_TYPE compatible .NET Type. |
Return Value
IObservableT
IObservable<System.Object>.
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type IAdsConnection. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
Example
Polling ANY_TYPE values.
Observe changing ADS Symbols by polling (Read Polling) (ANY_TYPE)
// To Test the Observer run a project on the local PLC System (Port 851)
using (AdsClient client = new AdsClient())
{
// Connect to target
client.Connect(new AmsAddress(AmsNetId.Local, 851));
// Create Symbol information
var symbolLoader = SymbolLoaderFactory.Create(client, SymbolLoaderSettings.Default);
IValueSymbol cycleCount = (IValueSymbol)symbolLoader.Symbols["TwinCAT_SystemInfoVarList._TaskInfo.CycleCount"];
// Reactive Notification Handler
var valueObserver = Observer.Create<object>(val =>
{
Console.WriteLine(string.Format("Instance: {0}, Value: {1}", cycleCount.InstancePath, val.ToString()));
}
);
// Take 20 Values in an Interval of 500ms
IDisposable subscription = cycleCount.PollValues(TimeSpan.FromMilliseconds(500)).Take(20).Subscribe(valueObserver);
Console.ReadKey(); // Wait for Key press
subscription.Dispose(); // Dispose the Subscription
}Reference
AnyTypeExtensions Class PollValues Overload TwinCAT.Ads.Reactive Namespace
Beckhoff Automation GmbH & Co. KG 2001-2026