12:37, EEST
October 27, 2014
We are experiencing some problems reading tags from an OPC Server. The communication and authentication use a AD domain. The AD Server is an 2008 R2 and the clients runs in W98.
In some cases, we read a value but the return value is always the same. We check that the value doesn’t change with an OPC Explorer and we can observe that the value change. Why I can’t see this changes in my tag value? In every read, I check also the state of the connection (with a getStatus) and the quality of my tag value. And all seems to be fine. We check also other tags from the same OPC server and they seem to change correctly.
Is it possible that in certains conditions the OPC server doesn’t send me back the value and give me the same last value every time in a AD environment?
Best Regards,
Juan-Francisco Diez
12:53, EEST
December 21, 2011
13:03, EEST
October 27, 2014
But the thing that is really strange is that with an external OPC Explorer (Matrikon) we don’t observe the problem. This made us think that the server OPC is not the real problem.
If it’s a network problem, why the TpsOPCServer object doesn’t rely the problem with the GetStatus? If the answer is because when the GetStatus is executed the problem doesn’t exist, the second question is: Why the TpsOPCTag object said that the tag have a good quality (method IsGood)?
Why I can’t detect this problem in my OPC objects?
16:40, EEST
December 21, 2011
Yes, this is not so straight forward. The OPC interface is pretty simple: you pass a read request to the server (I assume, we are talking about synchronous reads) and the server provides you the values. But the servers keep a separate cache for each client, so some implementation may somehow manage to mix the values up, so that one client gets a correct value, while another one doesn’t. Or if we are talking about asynchronous data changes, the server may fail to send the notification to the client.
However, the client does not have much else to do to figure out if the values that the server is providing are not correct. But, you can actually try to change the DataSource parameter (of PsOPCConnector) to opcdsDevice and see if that makes the server provide values direct from the “device”, instead of the cache. Note that this parameter is only used for synchronous reads.
I have seen quite many servers that get their value cache corrupted and fail to provide correct values in some situations. So, you will really need to approach the server vendor and try to make them find out about the problem in practice (unless the Device read helps).
Most Users Ever Online: 1919
Currently Online:
49 Guest(s)
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Heikki Tahvanainen: 402
hbrackel: 144
rocket science: 88
pramanj: 86
Francesco Zambon: 83
Ibrahim: 78
Sabari: 62
kapsl: 57
gjevremovic: 49
Xavier: 43
Member Stats:
Guest Posters: 0
Members: 726
Moderators: 7
Admins: 1
Forum Stats:
Groups: 3
Forums: 15
Topics: 1529
Posts: 6471
Newest Members:
gabriellabachus, Deakin, KTP25Zof, Wojciech Kubala, efrennowell431, wilfredostuart, caitlynfajardo, jeromechubb7, franciscagrimwad, adult_galleryModerators: Jouni Aro: 1026, Pyry: 1, Petri: 0, Bjarne Boström: 1032, Jimmy Ni: 26, Matti Siponen: 349, Lusetti: 0
Administrators: admin: 1