⬆️ ⬇️

REST technology instead of OPC in industrial automation systems

This topic is enlightened on the problem of data exchange in industrial automation systems m / y PLC and various software. Before proceeding directly to the presentation, I want to say that I am in a stupid position ... The fact is that the main part of my colleagues in the workshop are not IT specialists and I work within the framework of those tools that are the “de facto” standard - SCADA packages, development environments for PLC and OPC server. Few of them are interested in what is under the “hood” of these tools, although most of the problems about which they stumble lie precisely there and are embedded in the underlying technologies. On the other hand, the process control system is quite a specific area and I am not sure that a programmer without experience in this field will be able to penetrate what I will try to convey in this post. So it turns out that this topic is intended for a small percentage of specialists who understand IT and an automated process control system at the same time.





OPC Criticism





With the development of automated process control systems, the manufacturers of PLC and software faced the problem of interaction between mobile devices and software using different protocols. The solution to this problem, initiated by Microsoft, was the OPC protocol, which was originally based on DCOM technology. This protocol is currently used everywhere and in spite of the rather well-developed nomenclature of specifications, the vast majority of implementations are based on DCOM technology, which has caused many problems:

')





As you can see there are a lot of problems to start searching for alternatives.



REST in industrial automation





When, as a hobby, I was developing web applications on RubyOnRails, I was amazed how easy it is to solve data transfer problems using the REST model! Then I thought about the possibility of applying this approach in the process control system. As it later turned out that this idea was already formulated by a specialist from Australia Tom Todenham, here you can read his work on this topic (or my translation ). To arouse interest in this idea, I will cite theses on its advantages:







As an example of a simple implementation in Ruby, you can read my article . There is also a project for REST access to the Arduino peripherals - RESTdunio



Current situation and future plans





The author of the article on REST-PCA, Tom, created a website xpca.org/ and initiated the creation of a new architecture for XPCA industrial automation systems (eXtensible Process Control Architecture), which includes data exchange in the REST style, and then went into the shadows ... There is also a newsletter On this topic - XPCA Google Group , which is currently not active. As conceived by the author, the specifications of the new protocol will be developed on the basis of crowdsourcing and will be open.

I, in turn, launched the open source project of the first implementation of the XPCA server on .NET \ Mono - Galilei . At the moment, Galilei supports a REST interface for configuration and a simulator of random numbers, in the near future I plan to write drivers for ModBus and OPC. If you want to help the project and join the community will be very happy.



Thanks for attention)

Source: https://habr.com/ru/post/135402/



All Articles