lundi 5 décembre 2022

Minimalist computing, PLC with an STM32.

Finding a PLC that is relatively simple to use and above all, affordable and also easily expandable is not that easy.

You can use hardware based on Arduino, which costs about a third of what a standard industrial type PLC costs, or use an industrial PLC. The prices range according to the solutions adopted from €300 to €1,200 in Europe, at the end of 2022.

More troublesome, programming software is more or less proprietary and more or less flexible. An Arduino solution will always be more flexible than an OEM solution because you can access CPU resources. What industrial solutions prohibit. but Controllino type boxes are not easy to obtain, especially where I live. It is therefore difficult to offer a finished product in this format.

In fact, and this is my case, if I want to develop specific solutions, neither of the two previously mentioned worlds, Arduino or Industrial, allow me to shape a finished product. I am forced to be dependent on higher layers. From an economic point of view, these upper layers capture most of the added value by producing the least effort because none of these upper layers is in contact with the ground.

To be able to offer specific solutions and at the same time capture the maximum revenue, there are not many solutions. You have to master everything, the hardware, the software and the knowledge that will allow you to do something different but relatively profitable.

Let's go back to the late 80s. PLC standards were not yet established as they are today. So there was some design freedom. Most of the small companies then worked on the VME bus. The advantage was that it was enough to make a printed circuit board and a small front panel to be able to offer a processor or input/output card adapted to the customer's needs.

In fact my basic training allowed me at the time to build complete systems with 68000 processors, based on OS9. It was working very well.

Since that time, generalist manufacturers have increasingly 'closed' hardware and software, so that any personal development is made impossible. Of course, even with proprietary solutions, everything is still possible, but at what cost and with what constraints!

So I decided to create a small processor board olmost VME standard. The bus connector is not VME standard, it is useless. Why? Because an STM32 type processor has absolutely all the internal resources necessary for the development of a PLC. It is just necessary to establish high-speed serial communication links to create a high-performance system at low cost.

Compared to the resources required to create the same type of board based on MC68000, this has absolutely nothing to do in terms of complexity or processing capacity. An STM32 commonly operates at 80MHz, which is 10 times faster than an MC68000@8MHz, especially for PLCs where complex CICS instructions are not used.

So, here is the fruit of my reflections :



This board is only the processor board. It has no inputs/outputs (or almost). It is intended to be supplemented by other cards with various types of interfaces. In the spirit of VME, this allows maximum agility in the configuration of an automatic processing machine.

The result is a very simple design. The software to be used for the development of the application program will be that supplied as standard by STmicro.

In fact, anyone with some knowledge of microcontrollers and C language will be able to program this board. When I have tested it, I will publish the project files thus allowing to start writing code directly.

And in addition, this solution will therefore be open source ;-)