Client - data change filter on Monitored Item
Posted: 26 Jan 2020, 14:19
Hello Support Team,
I work with version 1.9.0 ANSI C Based UA SDK. I use modified lesson 2 example project against 3rd party server (Kepware). I have added one new item on server and I am able to read the item on client side.
New item details (client side):
createRequest[2].RequestedParameters.ClientHandle = 2;
createRequest[2].ItemToMonitor.AttributeId = OpcUa_Attributes_Value;
createRequest[2].ItemToMonitor.NodeId.NamespaceIndex = 2;
createRequest[2].ItemToMonitor.NodeId.IdentifierType = OpcUa_IdentifierType_String;
createRequest[2].ItemToMonitor.NodeId.Identifier.String.strContent = "Channel1.Device1.Tag01";
createRequest[2].ItemToMonitor.NodeId.Identifier.String.uLength = strlen("Channel1.Device1.Tag01");
I need to read this item cyclically also without value change therefore my intention turned into applying of Data Change Filter for this item. Firstly I tested my idea with UaExpert against server and Data Change Trigger setting Status/Value/Timestamp worked with expected behavior - item refreshed cyclically also without value change. Now I want to implement similar configuration into modified Lesson 2 code. After more attempts I am not able to achieve the goal. I understand that I should properly modify ExtensionObject Filter in createRequest[2].RequestedParameters.Filter.
Would it be possible to provide any sample code or description how to proceed ?
Thanks & Regards,
Roman
I work with version 1.9.0 ANSI C Based UA SDK. I use modified lesson 2 example project against 3rd party server (Kepware). I have added one new item on server and I am able to read the item on client side.
New item details (client side):
createRequest[2].RequestedParameters.ClientHandle = 2;
createRequest[2].ItemToMonitor.AttributeId = OpcUa_Attributes_Value;
createRequest[2].ItemToMonitor.NodeId.NamespaceIndex = 2;
createRequest[2].ItemToMonitor.NodeId.IdentifierType = OpcUa_IdentifierType_String;
createRequest[2].ItemToMonitor.NodeId.Identifier.String.strContent = "Channel1.Device1.Tag01";
createRequest[2].ItemToMonitor.NodeId.Identifier.String.uLength = strlen("Channel1.Device1.Tag01");
I need to read this item cyclically also without value change therefore my intention turned into applying of Data Change Filter for this item. Firstly I tested my idea with UaExpert against server and Data Change Trigger setting Status/Value/Timestamp worked with expected behavior - item refreshed cyclically also without value change. Now I want to implement similar configuration into modified Lesson 2 code. After more attempts I am not able to achieve the goal. I understand that I should properly modify ExtensionObject Filter in createRequest[2].RequestedParameters.Filter.
Would it be possible to provide any sample code or description how to proceed ?
Thanks & Regards,
Roman