I subscribed 4 items code as follows:
using (var easyDAClient = new EasyDAClient())
{
easyDAClient.ItemChanged += easyDAClient_ItemChanged;
easyDAClient.SubscribeMultipleItems(
new[] {
new DAItemGroupArguments("", "OPCLabs.KitServer.2", "Simulation.Random", 1000, null),
new DAItemGroupArguments("", "OPCLabs.KitServer.2", "Trends.Ramp (1 min)", 1000, null),
new DAItemGroupArguments("", "OPCLabs.KitServer.2", "Trends.Sine (1 min)", 1000, null),
new DAItemGroupArguments("", "OPCLabs.KitServer.2", "Simulation.Register_I4", 1000, null)
});
Console.WriteLine("Processing item changed events for 1 minute...");
Thread.Sleep(60 * 1000);
}
if 4 items(A,B,C,D) value changed, I will retrieve 4 value. But if only 3 changed (A,B,C), I can only retrieved 3 values.
I did not retrieve value of D.
I dont konw if the D is broken or value didn't change.
I retrieve data from 4 PLC, so some items broken are possible.
How could distinguish "broken" and "no new value"?
thx
using (var easyDAClient = new EasyDAClient())
{
easyDAClient.ItemChanged += easyDAClient_ItemChanged;
easyDAClient.SubscribeMultipleItems(
new[] {
new DAItemGroupArguments("", "OPCLabs.KitServer.2", "Simulation.Random", 1000, null),
new DAItemGroupArguments("", "OPCLabs.KitServer.2", "Trends.Ramp (1 min)", 1000, null),
new DAItemGroupArguments("", "OPCLabs.KitServer.2", "Trends.Sine (1 min)", 1000, null),
new DAItemGroupArguments("", "OPCLabs.KitServer.2", "Simulation.Register_I4", 1000, null)
});
Console.WriteLine("Processing item changed events for 1 minute...");
Thread.Sleep(60 * 1000);
}
if 4 items(A,B,C,D) value changed, I will retrieve 4 value. But if only 3 changed (A,B,C), I can only retrieved 3 values.
I did not retrieve value of D.
I dont konw if the D is broken or value didn't change.
I retrieve data from 4 PLC, so some items broken are possible.
How could distinguish "broken" and "no new value"?
thx