01/11/2024
Hello,
I've recently join an MES project that implies connecting existing machine with the OPCUA protocol.
The idea would be to connect a plant, make it standard, and replicate it to another plant. OPCUA was chosen in this project in order to have a healthy standard from which we can build upon and I have documented myself a little bit about it.
I will attempt to describe a situation from which I can't understand it's outcome but maybe my understanding of OPCUA corrupt the immagined situation:
Let's say I have set up an OPCUA Information Model, connected my machines and for example, set up a Node-Red application to read some machine variables. Everything was mildly-easy because I am on site, I know my machines well, I know what to get from them, and as I set up Node-Red, I know my machines and their variables OPCUA url.
If I want to copy this to another plant, and then manage it from afar, wouldn't it be recommended to store every address in a database? For example a relational database:
MachineTable: MachineID, MachineName, MachineOPCUAaddress | VariableTable: VarID, MachineID, VarName, VarOPCUAaddress
By doing so, everybody will be able to see how to get to any machine and the data it produces. But also be able to update if necessary, maintain, etc. Is it a good practice, am I missing the whole point of OPCUA?
Please share your knowledge with me, I haven't been able to find an answer to this in the OPCFoundation documents and I am also new to the industry. Thank you.
05/30/2017
How the server assigns NodeIds is determined by the server, however, NodeIds must be persistent. So they must be stored somewhere or generated with a deterministic algorithm that always produces the same NodeId for the same Node.
Many servers read a configuration (from a file, DB or whatever) and assign nodeids based on the name of the entity or a unique identifier within the entity.
Many servers will persist the Object NodeIdId but generated the NodeIds for the components in the Object from the Object NodeId.
i.e. nsu=http://tempuri.org/schemas/sample;s=MyObjectId.Property1
IOW, it is completely consistent with the way servers are expected to be designed.
1 Guest(s)