OPC UA - How to start

P

Thread Starter

Pablo Gutiérrez

Hi everyone!

I'm new with this. I've bought and read the book "OPC Unified Architecture" (Wolfgang, Stefan-Helmut, Mathias. Springer). Now I finished it, I don't know where and how to start. I might have the knowledge to start building an OPC UA Server/Client, but I have no idea what I should start with (a part from new-->project :D).
The main problem I think is that I can't find almost any examples of an OPC UA Server and/or OPC UA Client. I did find OPC examples, but those where Classic OPC examples, so I can't work with them.

Could you help me? Any link, example, information in general will be most welcome

Thank you very much in advance

Regards
 
F

Fred Loveless

I would start with OPCconnect.com (http://opcconnect.com/ua.php). They have a nice compilation of the OPC UA SDK's that are avaialble. I sould focus on OPC UA Client development unless youhave access to a large number of PLC's and communications Protocls.

For OPC UA servers, KEPware's new 5.2 server version has OPC UA support.

HTTP://www.kepware.com
 
Are you trying to write your own version of the OPC client and server software, or are you just trying to use a package that you bought from someone? If the latter, then you should be using whatever documentation the vendor provided, or at least telling us what package it is you are having problems with.

If it is the former (you are writing your own), well I don't think the book was meant to answer those sorts of questions. I don't have a copy of the book, but from what I know about it, it is intended to "sell" the concept to you, not tell you how it really works.

If you want actual specs, then (as far as I know) you have to be a member of the OPC Foundation. They're not going to hand out specs to let just anyone implement OPC. They want you to buy products from their members, not write your own.

From what I know of the specs, even having them won't necessarily help you. With both the older and the newer versions there is a lot of unspecified behaviour. Most vendors use source code provided by the OPC Foundation (for members only) and then add their own code onto that.

The latest version of OPC is based on SOAP, which is an RPC (remote procedure call) protocol developed by Microsoft and IBM. The spec for *that* is a monster and any interoperability beyond basic functions between different SOAP implementations is largely a myth. That is why SOAP has fallen out of favour in the field where it originated (not that it was ever that popular) and it is difficult to find any information on it that isn't at least 5 or 6 years old.

Writing your own SOAP client or server for OPC-UA that will communicate with one that is based on code from OPC would be a "challenge" to say the least. If all you want to do is to just send a few basic messages then you might be able to record an OPC-UA transaction and play it back in modified form (provided it is using the plain text rather than binary format). I had to do something similar to this once to work with a SOAP server and it did work. I'm not sure how well that would work with OPC-UA though, as there might be a lot of back-and-forth handshaking that has to be done properly.
 
Top