Hello!
I am using Kepware + Simenes Suite version V5.14.493.0.
I have 4 DBs with identical structure in S7-PLC.
There are about 20 Tags created on OPC server.
- few STRING tags
- then some WORD tags
- some BOOLs
- and finally 4 DINTs
I use ReadMultipleItemValues to read 1 DBs structure (those 20 tags).
To read 4 DBs the system takes around 40-60ms (4 calls of ReadMultipleItemValues).
So far so good.
The problem is that I don't get right values for last 4 tags (DINT).
Actually I do get right value, when I start the application (first read), but after that
value doesn't change (maybe it changes after 30, 60++ seconds, but I need changes on 1s interval).
I have tried to make changes with:
- Step7 Manager
- Kepware's Quick OPC Client
- I even put WriteItemValue command to change value using QuickOPC Library
//easyDAClient1.WriteItemValue("", opcServer, opcPath + "." + "DB601" + "." + "TEST_TAG_1", DateTime.Now.Millisecond);
When I do writes in my application, I can see changes in OPC server's Quick Client.
OK. Next I started to blame my application, so I replace the value of DINT with current time (ms).
var a = easyDAClient1.ReadMultipleItemValues(sd, items);
//var b = easyDAClient1.ReadMultipleItems(sd, items); // same results
testObj.TestTag1 = (int)a[18].Value; // READS CACHED VALUE, CHANGES ARE NOT VISIBLE
testObj.TestTag1 = DateTime.Now.Millisecond; //(int)a[18].Value; // WORKS FINE IN MY APP
This shows that my app works fine, but there must be something I am missing.
Well now I "blame" QuickOPC.NET Library.
Other values works fine and changes are visible in a second.
Btw: I even tried to read each item with ReadItemValue command. Result was the same, it only took more time to read all tags (around 1500 ms)
Hope I give you enough information, sou you can suggest a solution.