-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Labels
low priorityNice to haveNice to have
Description
If a subscription was made in AS4 using UA_MonitoredItemAdd in a loop for a set of nodes larger than 64 nodes, then in AS6 the set of nodes must be handled differently:
- Either split the set into multiple subsets (each with <=64 nodes) and execute UA_MonitoredItemAddList FB for each subset or
- Pass the entire set to a single UA_MonitoredItemAddList FB in parts (per partes).
Example:
Suppose you have a string array containing 65 node names to subscribe to. You can either:
- Split the array based on functionality—for example, motorArray[64] with 33 nodes and temperatureArray[64] with 32 nodes—and execute UA_MonitoredItemAddList for each array, or
- Create a temporary array tempArray[64], copy the first 64 nodes into it, and execute UA_MonitoredItemAddList for each block of up to 64 values.
Note that other function blocks, such as UA_NodeGetHandleList, UA_SubscriptionCreate, etc., must also be executed multiple times in this scenario.
This use case is difficult to handle with a migration script, but it may still occur, so it is documented here as well.
If anyone is interested in an example based on the AS6 OPC UA sample project, feel free to leave a comment on this issue.
butzhammers
Metadata
Metadata
Assignees
Labels
low priorityNice to haveNice to have