UA_NODEID_STRING_ALLOC?
3) A node ID must be unique, so what is the sense? I can use only auto-increments somehow. If I have multiple objects of same type (say, 5 sensors), I can not put in same node ID together with different parent id, right?
Is there an Option to autogenerate an id together with the parentid (e.g. "threshold" togehter with parent "modul1.transport" would give "modul1.transport.threshold" ? )
What is the purpose of outNewNodeID? Can I put in null and get an autogenerated one ??
4) How can I set the state of a var or object to valid or invalid. E.g an object has 10 vars, 5 are not active or not measured for the Moment, so how can I invalidate them for the Clients?
5) As I aim at a high load System, I want to Keep Network traffic as low as possible. That means i want to update values without being updated in the Clients automatically. So how can I control as SERVER what is updated at what time for the Clients.
As far as I understood, whenever I UA_Server_writeValue, the Content is updated also for the Clients?
So what would be a good concept to :
- set the data but surpess an immediate client update
- after Setting all data of an object Signal the Client that he can read the whole object (all vars, subnodes...)
- thus: transmit all (modified) object data in one rush with least Network load
Thank you
Stefan
1) When i create a var node (UA_Server_addVariableNode), I can store in the Attribute the adress of a variabel. Is this pointer given up inside of opc after copying the Initial value or can I update the variable Content later just by modifieng the pointer target outside, without calling UA_Server_writeValue? If it is persistent, how do I Trigger opc to transmit (I suppose no auto-listener is available?)
2) What is the real difference between allocation of node id string and just put in something with local scope? It is copied anyway somewhere right? Why useUA_NODEID_STRING_ALLOC?
3) A node ID must be unique, so what is the sense? I can use only auto-increments somehow. If I have multiple objects of same type (say, 5 sensors), I can not put in same node ID together with different parent id, right?
Is there an Option to autogenerate an id together with the parentid (e.g. "threshold" togehter with parent "modul1.transport" would give "modul1.transport.threshold" ? )
What is the purpose of outNewNodeID? Can I put in null and get an autogenerated one ??
4) How can I set the state of a var or object to valid or invalid. E.g an object has 10 vars, 5 are not active or not measured for the Moment, so how can I invalidate them for the Clients?
5) As I aim at a high load System, I want to Keep Network traffic as low as possible. That means i want to update values without being updated in the Clients automatically. So how can I control as SERVER what is updated at what time for the Clients.
As far as I understood, whenever I UA_Server_writeValue, the Content is updated also for the Clients?
So what would be a good concept to :
- set the data but surpess an immediate client update
- after Setting all data of an object Signal the Client that he can read the whole object (all vars, subnodes...)
- thus: transmit all (modified) object data in one rush with least Network load
Hello Julius
Just to clarify: If i write into a variable, it is NOT automatically updated immediatly at Client side , correct or not?
About monitored items: In opc ua part 1 fig. 5 the Monitoring and subscription is in the Server, but all code I see do it in the Client. So it is not possible for the Server to create and offer monitored items (Groups?) , which can be queried by the Client so they have only to subscribe?
I don´t see polling as a good conecpt, generally. I would prefer to notify the Client by an Event ("Result ready") , but I don´t find info how to do. Can you Point me to some examples or doku please?
If i use one datasource callback (still not sure how it is triggered, lets say by a Client poll and I can sync it to my data, that means i update only if all real objects states are updated for a given cylce), is there any other Option to mark all data belonging to a cycle except for the timestamp? E.G. can I assign every value a unique ID, so datasets for one real object can be collected and assigned from different(!) Servers, where one particular real world object was processed at different times?
What would happen if one value has NOT changed, but i set in a datasource callback a new timestamp. Will it be transmitted, so the Client can identify the new timestamp as a Kind of cylce identifier?
Some question about callbacks:When I Register a datasource callback and a Value Callback for same node, will they be called both in what order in a read and write condition?
I slowly begin to understand.
I tried to implement a datasource callback according to the example and set up a Monitoring item in uaexpert. But the value and type does not Show up in the DataAccess pane. However, the node attributes can be read.Is there a known incompatibillity to Uaexpert ? I read some BadServiceUnsupported Errors.
what must be done to get it working?
Hallo nochmal