Slow response of Property.Value requests when accessing properties in controller
I am writing a standalone 3 rd party historian configuration application using the aspect automation classes. The problem I am having is that accessing controller property values takes a very long time.
I am using 800xA 5.1, single node system with a soft controller and local AC 800M OPC server.
When I use the Property.Value on items in a general property aspect, the values return in 3 to 10 ms. However when I call Property.Value for something like FieldAI.Parameters.Unit it may take from 8 to 12 Seconds.
I only need the property value once so there is no need to subscribe. And creating a subscription list of the things I want will not work since some of the property names I need are based on the results of previous requests.
I have tried using the IgnoreCache flag but the behavior is the same whether it is true of false.
Also I have watched the communications with Process Monitor and during the 8 seconds there looks like there are messages timing out at 1 second intervals.
Voted best answer
The "unit" properties are datatype string. The string subscription rate in the OPC server is 10 seconds by default. so reading any string value will take about 10 seconds.
You can decrease the subscription rate for ALL strings in the AC800M OPC server but this can substantially increase the communications load in the controller so is not really recommended.
(String handling in the AC800M controller is not good and takes quite a lot of CPU.)
You can build an OPC subscription group for all "Units" properties and read multiple strings at the same time, but the group will still take 8 to 10 seconds to reply with good data.