Would you please help me to understand performance differences when using either gateway connections vs OPC UA connections.
1 Which one is more efficient in various scenarios - for example let's say there is fictitious setup with 1000 tags to be exchanged between 2 gateways every 100ms and there are 100 different tag groups. What can we say about opc ua/gateway performance
2 any major differences if there is 10 gateways connected - is gateway connection the only reasonable in this scenario?
3 Any other pointers to differences between gateway vs opc ua connections are
4 How to design experiment to measure this performance differences myself?
Regards and thanks in advance for any replies
What do you mean by gateway connections and opc UA connections? Do you mean ignition Device connections using its native drivers to things like Allen Bradley plcs?
Or are you talking about inter-gateway comms for tags, comparing the remote tag providers via gatewway network connections, or connections to remote ignition opc UA servers?
I meant inter gateway comms via gateway network connections vs connections to remote opc UA servers.
That's a good question. Maybe @Kevin.Herron knows?
any chance to comment from @pturmel, @bkarabinchak.psi
Flattered to be tagged for my input but my expertise is more python and database stuff, I am not too familiar with how certain things (like this one) work under the hood.
I haven't experimented with this pair. The overhead is likely different, but I suspect not by much. Both GAN and OPC are report-by-exception, so even at 100ms, only the changes are transmitted. When you add alarms and history, there'd be a difference, because OPC connections would have to re-implement that.
OPC UA is a standard. Various entities have implemented it to a greater or lesser extent. IA uses (and sponsors) the Milo OPC UA open source implementation under the Eclipse Foundation. The Milo project has not implements OPC Alarms and Events yet.
GAN is a private IA protocol. Much easier to implement anything desired when one doesn't have to conform to any standard (except some backwards compatibility).