- By Michael Clark
- July 29, 2020
- OPC Foundation
Learn from an interview with Jouni Aro of Prosys OPC how developers and end users alike can get started using OPC UA. Jouni shares information about off-the-shelf products, software development toolkits, open source options, training and support, as well as product certification.
Jouni, please introduce yourself to our readers. Tell us a bit about yourself, your company, Prosys OPC, and your involvement with the OPC Foundation.
Aro: I am the CTO of Prosys OPC. I've been responsible for our OPC product development for a long time. We have over twenty years of experience in OPC development. We started with OPC classic, and, since 2006, we've been partnering with the OPC Foundation, bringing OPC UA support for Java. I've spoken at OPC Foundation events for several years, and I've been hosting the OPC-Day Finland, which has been a successful event for over ten years.
In previous OPC Foundation articles, we have learned a lot about theoretical topics surrounding OPC UA. For those readers that have already decided that OPC UA is for them, how shall they get started?
Aro: That depends on what you are actually doing; whether you wish to start developing OPC UA or if you just want to use applications that are available in the market. In either case, I would recommend that you start learning more by getting your hands dirty. You need some applications to start playing around with.
Can you recommend any specific demo or sample applications for “getting your hands dirty” to start learning the in’s and out’s of OPC UA in practice?
Aro: Yes, for sure. Samples are a good way to start, and the OPC Foundation is providing good sample applications from their website. Additionally, I would recommend downloading some sample client and server applications from companies that specialize in OPC UA development.
For example, Prosys OPC provides a great simulation server and an official web browser. With these two free applications, you can play on your own computer, independent of the operating system, and this will help you understand OPC UA in practice. Unified Automation is another company that has a long-term dedication to the details of OPC UA. They provide a demo server and UA Expert which, you could say, is the de facto client application that almost everybody in the field is using. Of course, other companies are providing similar samples along with their toolkits and other products.
What can readers actually do with these demo or sample applications? Are they really free of charge?
Aro: Yes, they are, indeed, free, and the intention is that you need to have something to play with. If you have a real server for example, you need a real client to play around with. These browser and UA Expert applications will help you with viewing an existing server. You can find out what data is in the server and then you can read, write, monitor data changes, and do additional things like that.
If you don't have an actual server, and you are developing a client, for example, then you might have a look at a simulation server. This enables you to run a client against the simulation server.
The OPC Experts Interviews is a series of discussions taking a deep dive into open platform communications and related technology. International experts discuss OPC and OPC UA, protocol binding, security, the new Field Level Communications group, projects and experiences, and more. Automation.com is the exclusive publisher of these interviews. Visit us frequently to read the latest interviews.
Do these sample applications help you explore the high-level security options built into OPC UA?
Aro: Yes, definitely. With these demo applications, you can see how OPC UA security works in practice. You can configure the security options on both the servers and the client side. Whenever you are initiating a client connection, you are choosing which security module you want to use. With the client application, you can also see how it works in practice and you can learn the details of dealing with the application instance certificates that are used for authentication of the client and server. Security is a crucial part of OPC UA, and it is demonstrated well in these applications.
Would the sample applications also be good for something else - like testing connections?
Aro: Yes, they are. Testing these applications with your own system is a very practical thing to do once you’ve learned to play with demonstration tools. If you have any troubleshooting issues, these are the first tools that you want to turn to in order to find out what is going on with communications. You can replace your actual server with the simulation server to see how the real client application is communicating, or the other way around. Additionally, you can use the Browser or UA expert to communicate with any server to test whether you can communicate. Then, you can also check the data to see if you can monitor data changes or see if you can view events with a historian.
So, what’s next? Once you have experimented with the sample or demo applications, how can you start implementing OPC UA at your production site?
Aro: First of all, you will need to look for applications at your site which are supporting OPC UA. For example, there are already quite a bunch of applications within many brands of PLC's. You should find support very easily for OPC UA within other automation systems as well.
How do you find products supporting OPC UA?
Aro: Initially, you should contact your system providers to learn what they have already included within your installed systems. Additionally, you may want to consider upgrading your existing software or hardware to enhance newer versions that support OPC UA. Arguably, this is not necessarily easy if you don't want to change an existing system. In some cases, you might consider using other applications that help with brown field solutions. It depends on whether you're building a completely new site or modifying an existing system.
Can you explain the difference between implementing OPC UA as part of a new solution versus deploying OPC UA into an existing brownfield solution?
Aro: Of course, if you are building a completely new production site, you are free to choose new equipment, like new controllers and end devices, that already have OPC UA built in.
If you are upgrading a brownfield solution, then you are likely to be more careful with what you want to change. Your options may be limited by what each vendor lets you do with their existing system. However, a fantastic option, specifically for brownfield solutions, is the use of additional hardware or software components called gateways; they can convert existing protocols to OPC UA. This might be a very good solution for you.
OPC UA is all about interoperability – after all, we are the Home of Industrial Interoperability! Can you please share your experience regarding how OPC UA products inter-operate in practice?
Aro: Let’s remember that OPC UA was developed over ten years ago. The first public release of OPC UA came out in 2009. Since then, the products have been tested for interoperability very extensively. The OPC Foundation is running interoperability workshops, in several locations, every year. They also maintain a laboratory where they are constantly testing and certifying new products for interoperability. This has resulted in outstanding interoperability of products in practice. We can just simply plug-and-play OPC UA products together, without any issues.
Suppose I have an existing product in which I would like to incorporate support for OPC UA. How do I proceed?
Aro: If you wish to incorporate OPC UA functionality within your product, which may already support certain protocols or some native communications, you will need additional components that perform the OPC UA functions for you.
I should explain that there are two levels of components. First, there is the stack layer, which is actually the communication layer of OPC UA, which is very important for ensuring interoperability. Generally speaking, this is not quite enough for a good level of application development support.
Secondly, to complete the development cycle, there are numerous software development kit (SDK) products. These are available from several companies, featuring different programming languages and various operating systems. I should also mention that the member companies of the OPC Foundation, in addition to Prosys OPC, Unified Automation, Matrikon, OPC Labs, Softing, and Software Toolbox, for example, are providing tool kits which are recommended.
You might now be wondering whether these are commercial tool kits or free toolkits. These are, indeed, commercial ones; and the costs can range from $1500 to $15,000, all depending on the service package. This reflects the extensible functionality of OPC UA. It depends on what kind of features you really want to target.
Software Development Toolkits are one way to go. How about open source? Isn’t that the solution many readers today are looking for? Did not the OPC Foundation and other institutions release open source implementations of OPC UA?
Aro: OPC UA is very extensive and I have already mentioned the different layers and different functionalities that your applications may need to support. As you mentioned, depending on what kind of organization you are dealing with, whether you are just doing academic research or whether you want to really develop a reliable product for the industrial marketplace, your choices can be quite different.
The OPC Foundation has open source stack layer implementations for .net, C++, C, and Java. They've ensured that these are interoperable. On top of that, the SDK products – which are typically commercial products – are providing the most reliable and fastest way to the market for a reliable implementation of OPC UA.
Please share some advantages and disadvantages of using an SDK versus open source. I mean, open source is about free use of software, but not about free beer, right?
Aro: Traditionally, open source has been very important for development of many technologies including OPC UA. With open source components, you always have to remember that you should be prepared to adjust the codebase to your likings. There is no one behind the product to really guarantee that you get everything right for your application.
With commercial support that comes with the SDK's, you get a better guarantee that with whatever problems you are facing, you will have someone to rely upon for support. You could think about it like you are mostly paying for the support. I think that's the major difference.
So, with whatever solution I choose, what happens if I have a problem and need support?
Aro: With open source, you have the responsibility to check the code-base yourself, and be able to modify it to your needs. There may still be a community behind the open source code that might be available to support you, but there's no guarantee of that.
With an SDK, or commercial support, you can simply contact the provider, and they are, typically, very quick to respond to issues. They want to work on interoperability proficiencies and they want to improve the libraries, in general. I would also like to mention that these commercial companies are guaranteeing you access to future expansions of OPC UA, because OPC UA is being improved all the time. Therefore, it's very important to have a dedicated team that is ready to support all of the new features that are coming up in OPC UA.
How about training? Do companies provide workshops and training sessions? Where can we find them?
Aro: Yes, there are a lot of companies that are providing OPC UA training, especially the developer companies. We, at Prosys OPC, have also started doing more and more end user training. There are companies that are specialized in end user training, however, the OPC Foundation is not listing the training companies on the website at the moment, so you need to do your own search to find out which companies are closest to you. I see that there is more demand for training coming. We need to add more training options in the future, because people want to be educated.
Regarding OPC UA in today’s industrial market, what developments have you’ve seen taking place?
Aro: Well, this year I've noticed that we've seen more and more end users coming up and asking for training and information. They've learned the benefits of OPC UA in practice. They've also found more products in the market – there are a lot of PLC’s and SCADA systems that are supporting OPC UA.
There's also a lot of information modeling work happening and we've seen end user companies in pharmaceuticals, automotive, and other industries starting to look for the benefits of OPC UA in practice. We're not talking about technology that much anymore; we're talking about what can we do to improve our production systems in general. These operating companies are talking about the plug-and-produce principle. They would like to be able to purchase new equipment, plug it into their production line, and just let it run without spending days of configuration effort to get everything connected to their historian and MES systems. I think this is the most welcome advancement that we've seen lately.
Did you enjoy this great article?
Check out our free e-newsletters to read more great articles..Subscribe