14:43, EEST
October 27, 2014
I create an OPC server with the Provider class supplied in the SDK. I add a boolean variable to make some actions in my provider. For this I try to use the OnChange event of the boolean tag.
With a client I change the value of this tag but in my provider the OnChange event never fired so the actions are never executed.
How can I detect in my provider code a change in a tag?
8:51, EEST
December 21, 2011
10:07, EEST
October 27, 2014
OK, you are rigth. Sorry.
My problem now is when I change the value, in the client I always have the same value for the tag. You can see the event code :
void __fastcall TFMain::UpdateConfiguration(TPsVar *Sender, TPsVarPropTypes props) {
if (this->updateProvider->Value) {
this->updateProvider->Value = false;
}
}
The updateProvider variable is a TPsBool which I change the value to true in the client. I always see True except if I disconnect/Connect from the client. After the reconnection I can see the false value.
Why I can’t see the false value assigned in the event function if I don’t disconnect?
15:08, EEST
December 21, 2011
You cannot change the value while the value change is being handled. In practice the later change is not notified forward, since that might create an infinite loop in worst case.
You must make the change with a delay – or try to use OnChanging: you can change the value that would rewritten, before it is actually written to the variable – and that change can be notified forward.
Most Users Ever Online: 1919
Currently Online:
142 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: 749
Moderators: 7
Admins: 1
Forum Stats:
Groups: 3
Forums: 15
Topics: 1529
Posts: 6471
Newest Members:
scvchad954, misty3446453365, KelsonzFu, Kelsonz, lienbelisario, erick34s63346, Kaitlyntvsl, lonaerskine7, KTP21ideft, GeorgecotagModerators: Jouni Aro: 1026, Pyry: 1, Petri: 0, Bjarne Boström: 1032, Jimmy Ni: 26, Matti Siponen: 349, Lusetti: 0
Administrators: admin: 1