OPC UA
- TheRoslyak
- Topic Author
- Offline
- Elite Member
Less
More
- Posts: 238
- Thank you received: 37
10 Dec 2023 10:30 - 10 Dec 2023 10:32 #287749
by TheRoslyak
Replied by TheRoslyak on topic OPC UA
Simple OPC UA (Pub/Sub) is not a fieldbus. It is positioned higher in the Maslow hierarchy (the automation pyramid of Industry 4.0). Naturally, this implementation of the protocol is slower. However, regarding OPC UA FX, it somewhat merges two levels of the pyramid. (Although in promotional images, it represents the entire pyramid)
.
Its speeds supposedly exceed Ethercat, at ~40 ns and less. Briefly, this is due to the efficient separation of traffic (a separate lecture would be needed for this ).I understand you might have made a slight error in naming it OPC UA over Ethercat - such a thing doesn't exist (at least for now). The names are constantly changing: sometimes it's OPC UA over TSN, OPC UA via TSN, and the latest active name is OPC UA FX. Personally, I would have stuck with the name OPC FX to avoid confusion with other versions. I even sketched a logo for them
On Monday, I will finish the client and server. As I understand, they can be accelerated up to 10 milliseconds. I also came up with an idea for creating an OPC FX server. I will create a variable generator with a HAL input, and then in the posthal file, it will be necessary to link this input with the variable that needs to be made publicly accessible
Its speeds supposedly exceed Ethercat, at ~40 ns and less. Briefly, this is due to the efficient separation of traffic (a separate lecture would be needed for this ).I understand you might have made a slight error in naming it OPC UA over Ethercat - such a thing doesn't exist (at least for now). The names are constantly changing: sometimes it's OPC UA over TSN, OPC UA via TSN, and the latest active name is OPC UA FX. Personally, I would have stuck with the name OPC FX to avoid confusion with other versions. I even sketched a logo for them
On Monday, I will finish the client and server. As I understand, they can be accelerated up to 10 milliseconds. I also came up with an idea for creating an OPC FX server. I will create a variable generator with a HAL input, and then in the posthal file, it will be necessary to link this input with the variable that needs to be made publicly accessible
Last edit: 10 Dec 2023 10:32 by TheRoslyak.
The following user(s) said Thank You: RDA
Please Log in or Create an account to join the conversation.
11 Dec 2023 16:37 #287865
by RDA
But like stated before it was quite bad with mqtt, you would notice it immediately that the "refresh" rate on the position was far from nice.
I personally would not run anything real, like motion, over a non industrial protocol like ethercat. My "concept" was trying to run the real-time stuff on a some sort of a SOM etc. where it would only run a headless linuxcnc. Then you could use "anything" to run the GUI. This would of made "mass production" much easier as you don't have to worry about latency once you get the SOM dialed in the first time. The SOMs have much longer availability than "regular" pc's and cost sub 100$.
My "aim" on the mqtt was to see if it would be "easy" to make a separation with the GUI and realtime stuff. I was hoping for something around 10ms update rates so that the GUI updates would look nice, its mostly the updating of position where you will notice the "lag". I would not be concerned if a "led" in the GUI turns ON/OFF 100ms later than it actually did.I would not expect amazing performance from OPC UA if it remains tied to the TCP stack.
Earlier this year I attended a seminar about Ethercat where Martin Rosten the head of the ETG in Germany presented.
He went into some detail about the underlying packet structure of ethercat, TCP and other Fieldbus competitors. The Ethercat protocol is vastly superior to others. UPC UA was not mentioned at that time.
Profibus 5-10ms
Ethernet/IP 8 ms
Ethercat 1000 I/O ports updated in 30 usec and 100 servo updates every 100 usec
I would be following Beckhoffs implementation of OPC UA over Ethercat very closely if you want Real TIme performance
But like stated before it was quite bad with mqtt, you would notice it immediately that the "refresh" rate on the position was far from nice.
I personally would not run anything real, like motion, over a non industrial protocol like ethercat. My "concept" was trying to run the real-time stuff on a some sort of a SOM etc. where it would only run a headless linuxcnc. Then you could use "anything" to run the GUI. This would of made "mass production" much easier as you don't have to worry about latency once you get the SOM dialed in the first time. The SOMs have much longer availability than "regular" pc's and cost sub 100$.
Please Log in or Create an account to join the conversation.
- TheRoslyak
- Topic Author
- Offline
- Elite Member
Less
More
- Posts: 238
- Thank you received: 37
12 Dec 2023 10:29 #287928
by TheRoslyak
Replied by TheRoslyak on topic OPC UA
You can congratulate me. The library and OPC UA do not prohibit working at 1 ms. I did test it on localhost though. There is a lag of one sample, but everything works precisely. True, the CPU fan starts to buzz, but the temperatures are within working range, ~50-60 degrees. This is considering that my idle cooling is around 30-40 degrees.
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19196
- Thank you received: 6434
12 Dec 2023 16:12 #287954
by tommylight
Replied by tommylight on topic OPC UA
Congratulations.You can congratulate me.
Please Log in or Create an account to join the conversation.
- TheRoslyak
- Topic Author
- Offline
- Elite Member
Less
More
- Posts: 238
- Thank you received: 37
12 Dec 2023 16:26 #287957
by TheRoslyak
Replied by TheRoslyak on topic OPC UA
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19196
- Thank you received: 6434
12 Dec 2023 16:33 #287958
by tommylight
Replied by tommylight on topic OPC UA
LOL
Please Log in or Create an account to join the conversation.
14 Dec 2023 16:59 #288139
by RDA
Congratulations!You can congratulate me. The library and OPC UA do not prohibit working at 1 ms. I did test it on localhost though. There is a lag of one sample, but everything works precisely. True, the CPU fan starts to buzz, but the temperatures are within working range, ~50-60 degrees. This is considering that my idle cooling is around 30-40 degrees.
Please Log in or Create an account to join the conversation.
15 Dec 2023 07:06 - 15 Dec 2023 07:15 #288189
by bkt
because GUI actions when run at 50 or 10ms you have very good result .... but if you implement opcua externally of lcnc, you have less "friction" with Lcnc thread ... pherhaps implement in c++ or qtc++ or qt python is quite easy .....
after these .... you need run opcua server on 127.0.0.2 adress for example or 127.0.0.35 or 36 .... so you use different server than nml do.... and no have latency disturb like can test by myself ....
about usage with all other external device, take in mind: opcua become popular these year and in previous 3 year .... so now more develop SERVER on they devices for sure .... so why Lcnc must be a server opcua only?
.... any how appreciate your work ....
regards
after these .... you need run opcua server on 127.0.0.2 adress for example or 127.0.0.35 or 36 .... so you use different server than nml do.... and no have latency disturb like can test by myself ....
about usage with all other external device, take in mind: opcua become popular these year and in previous 3 year .... so now more develop SERVER on they devices for sure .... so why Lcnc must be a server opcua only?
.... any how appreciate your work ....
regards
Last edit: 15 Dec 2023 07:15 by bkt.
Please Log in or Create an account to join the conversation.
- TheRoslyak
- Topic Author
- Offline
- Elite Member
Less
More
- Posts: 238
- Thank you received: 37
15 Dec 2023 07:48 - 15 Dec 2023 07:49 #288195
by TheRoslyak
Replied by TheRoslyak on topic OPC UA
For now, I have uploaded the current versions of the client and server. I don't have enough time for programming this week. Everything works there, but it needs refactoring and should be redone using 'loadusr -W'. I perfectly understand that it should work on different computers, but I haven't had the chance to test this yet. It would be interesting to find out how it reacts in a normal and poor network. Will it just skip a frame or start to lag.
github.com/TheRoslyak/OpcUaHalClient
github.com/TheRoslyak/OpcUaHalServer
github.com/TheRoslyak/OpcUaHalClient
github.com/TheRoslyak/OpcUaHalServer
Last edit: 15 Dec 2023 07:49 by TheRoslyak.
Please Log in or Create an account to join the conversation.
Time to create page: 0.144 seconds