ConnectionStateExtensionPollAdsStateAsync(IAdsConnection, TimeSpan, CancellationToken) Method
Gets an observable sequence of AdsStates via Polling.
Namespace: TwinCAT.Ads.Extensions
Assembly: TwinCAT.Ads (in TwinCAT.Ads.dll)
Version: 7.0.0+e56d35ccc4675faac24789a4aab60071fc61d470
Syntax
C#
public static IObservable<ResultReadAdsState> PollAdsStateAsync(
this IAdsConnection connection,
TimeSpan pollingInterval,
CancellationToken cancel
)Parameters
|
connection IAdsConnection |
The connection. |
|
pollingInterval TimeSpan |
The interval. |
|
cancel CancellationToken |
The cancellation token. |
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
The following sample shows how observe AdsState via polling with the reactive AdsClientExtensions
Observe changing ADS States with reactive extensions.
// To Test the observer, Start/Stop the local PLC
using (AdsClient client = new AdsClient())
{
// Connect to target
client.Connect(new AmsAddress(AmsNetId.Local, 851));
// Create Symbol information
var symbolLoader = SymbolLoaderFactory.Create(client, SymbolLoaderSettings.DefaultDynamic);
// Reactive Change Handler
var valueObserver = Observer.Create<IList<AdsState>>(not =>
{
AdsState oldValue = not[0];
AdsState newValue = not[1];
Console.WriteLine(string.Format("Changed ADSState from '{0}' --> '{1}!", oldValue, newValue));
}
);
// Create a subscription for the AdsState change and buffering 2 Values (for oldValue --> newValue output).
IDisposable subscription = client.PollAdsState(TimeSpan.FromMilliseconds(200)).Buffer(2, 1).Subscribe(valueObserver);
Console.ReadKey(); // Wait for Key press
subscription.Dispose(); // Dispose the Subscription
}Reference
ConnectionStateExtension Class PollAdsStateAsync Overload TwinCAT.Ads.Extensions Namespace
Beckhoff Automation GmbH & Co. KG 2001-2026