Theoretical part
Open Platform Communications (OPC) is a series of standards and specifications for industrial telecommunications and industrial networks. An industrial automation task force developed the original standard in 1996 under the name OLE for Process Control (Object Linking and Embedding for process control). OPC specifies the communication of real-time plant data between control devices from different manufacturers.
OPC was designed to provide a common bridge for Windows-based software applications and process control hardware. Standards define consistent methods of accessing field data from plant floor devices. This method remains the same regardless of the type and source of data. An OPC Server for one hardware device provides the same methods for an OPC Client to access its data as any and every other OPC Server for that same and any other hardware device. The aim was to reduce the amount of duplicated effort required from hardware manufacturers and their software partners, and from the SCADA (Supervisory Control And Data Acquisition) and other HMI (Human-Machine Interface) producers in order to interface the two. Once a hardware manufacturer had developed their OPC Server for the new hardware device, their work was done with regard to allowing any ‘top end’ to access their device, and once the SCADA producer had developed their OPC Client, their work was done with regard to allowing access to any hardware, existing or yet to be created, with an OPC compliant server.
- Available only in operating systems of the Microsoft Windows family.
- Connection with DCOM technology, the source code of which is closed. This does not allow solving problems of software reliability, as well as identifying and eliminating emerging software failures.
- There are configuration issues related to DCOM.
- Inaccurate DCOM communication interruption messages.
- DCOM’s inability to communicate over the Internet.
- DCOM’s failure to provide information security.
Distinctive features of OPC UA:
- Focus on communicating with industrial equipment and systems for data collection and control.
- Open – freely available and implementable under GPL 2.0 license.
- Cross-platform – not tied to one operating system or programming language.
- Service-oriented architecture (SOA).
- Inherent complexity – the specification consists of 1250 pages in 14 documents.
- Offers security functionality for authentication, authorization, integrity, and confidentiality.
- Integral information model, which is the foundation of the infrastructure necessary for information integration where vendors and organizations can model their complex data into an OPC UA namespace to take advantage of the rich service-oriented architecture of OPC UA. There are over 35 collaborations with the OPC Foundation currently. Key industries include pharmaceutical, oil and gas, building automation, industrial robotics, security, manufacturing, and process control.
Protocol
The TCP-based binary protocol is by far the most common transport layer for OPC UA. The general concepts also translate to HTTP and SOAP-based communication defined in the standard. Communication in OPC UA is best understood by starting with the following key principles:
Request/Response
All communication is based on the Request/Response pattern. Only clients can send a request to a server. And servers can only send responses to a request. Usually, the server is hosted on the (physical) device, such as a sensor or a machine tool.
Asynchronous Responses
A server does not have to immediately respond to requests and responses may be sent in a different order. This keeps the server responsive when it takes time until a specific request has been processed (e.g. a method call or when reading from a sensor with delay). Furthermore, Subscriptions (aka push-notifications) are implemented via special requests where the response is delayed until a notification is generated.
- Discovery Services – this service allows the client to know what objects are available, how the current objects are related to other objects, what data and what type of data is available, what metadata is available that can be used to organize, classify and describe these objects and their values.
- Subscription services – this service can be used by the client to determine what data is available for notifications. This service helps the client to determine how often and when to be notified of changes not only in data values but also in metadata and object structure.
- Query Services – this Service Set is used to issue a Query to a Server. OPC UA Query is generic in that it provides an underlying storage mechanism independent Query capability that can be used to access a wide variety of OPC UA data stores and information management systems. OPC UA Query permits a Client to access data maintained by a Server without any knowledge of the logical schema used for internal storage of the data.
- Node Services –this service can be used by clients to create, delete, and modify the data structure supported by the server.
- Method Services – clients can use this service to call functions related to objects.
- Secure Channel Service – this Service Set defines Services used to open a communication channel that ensures the confidentiality and Integrity of all Messages exchanged with the Server.
- Session Service – this Service Set defines Services for an application layer connection establishment in the context of a Session.
- View Service – clients use the browse Services of the View Service Set to navigate through the address space or through a View which is a subset of the address space.
Practical part
To implement our example, we need Tia Portal, Linux OS (Ubuntu, Debin), UaExpert and S7-1200. Tia Portal is necessary for us to program the S7-1200 PLC.
Tia Portal V16 – Totally Integrated Automation Portal (TIA Portal) provides you with unrestricted access to our complete range of digitalized automation services, from digital planning and integrated engineering to transparent operation. The new version shortens your time to market, for example by means of simulation tools, increases the productivity of your plant through additional diagnostics and energy management functions, and offers you broader flexibility by connecting to the management level. The new options benefit system integrators and machine builders as well as plant operators. TIA Portal is thus your perfect gateway to automation in the Digital Enterprise. As part of the Digital Enterprise Suite along with PLM and MES, it complements the comprehensive range of offerings from Siemens for companies on their path to Industrie 4.0.
On the PLC side, we will launch the OPC UA server.
1. We go into the PLC settings and activate the OPC UA server.
2. Checking the security settings for the OPС UA server.
3. Next, we configure the licensing options.
4. We need to create a block of data for 4 variables of type boolean.
5. We create a simple program that, by changing the state of variables in a data block, will turn the output discrete signals on or off.
6. We create an elementary program in the LD language.
7. Add the created variables of the data block to the OPC UA interface.
8. We load the configuration and firmware into the PLC and check the work online.
9. We will use UaExpert v1.5.1 to monitor the state of the OPC UA server.
10. We configure the network and configure the software for our OPC UA server.
11. We connect to the OPC UA server and monitor the state of the data block, using this software, we can also change the state of variables in the data block, thereby turning on and off the discrete outputs of the PLC.
Today we got to know OPC UA and created a basic example that we will need in other articles on OPC UA.
- Industrial Network Protocols. OPC UA. Part 1.
- Industrial Network Protocols. OPC UA. Part 2.
- Industrial Network Protocols. OPC UA. Part 3.
- Industrial Network Protocols. OPC UA. Part 4.
- Industrial Network Protocols. OPC UA. Part 5.
- Industrial Network Protocols. OPC UA. Part 6.
- Industrial Network Protocols. OPC UA. Part 7.