📜 ⬆️ ⬇️

Alternative programming environment for Arduino - FLProg

Good day.
I want to present you another project in the field of programming common Arduino boards.
First, a little history. From the very moment of the appearance of controllers, the development of principles for working with them follows the path of growing abstraction. The first stage was programming directly in machine codes. Programming was difficult, long and required a very specific mindset. Therefore, there were very few programmers.



But man is a lazy creature, and laziness is, as we know, the engine of progress. Invented the first level of abstraction - assembler. Writing programs has become easier and more fun. The number of programmers has increased. But still, the assembler was not very different from the machine codes.


')
Therefore, the next level of abstraction appeared. High level languages. The main purpose of these languages ​​was to make it possible for the machine to explain what they want from it in a language as close as possible to the human. This made it possible to program people in a less specific warehouse. Therefore, with the development of high-level languages, the number of programmers grew, and accordingly the number of useful programs that they created increased.



The FLProg project offers a new level of abstraction with a rather bold statement - “In order to program microcontrollers, and computers do not need to know programming languages”.
The statement may seem too bold, but it is possible and has already been proven in the field adjacent to computers. This is the field of programming industrial control systems. Practically from the very beginning, manufacturers of industrial controllers have taken this path. Now the standard for programming environments from major manufacturers are FBD and LAD. In fact, they are not languages ​​as such. These are rather graphic environments for drawing of principal or logical circuits.



This approach turned out to be very convenient for easy entry into the development of ACS systems by electricians and electronics engineers. By developing installation designs, they could easily link the operation of these installations to the algorithms of the controller operation. In servicing these installations at the facility, it is also better when existing service personnel can easily check the operation of the ACS system and find the problem. And at the same time there is no need to call a programmer from the “Center” for each trifle. And this approach is justified. Today, almost all industrial automation systems are created using such development tools.



This development environment is at Siemens, ABB, Schneider, and almost all manufacturers. But there is a problem. All of them are tied to their controllers. And the prices for these controllers are very hard to call democratic.



And now Arduino boards appeared. Cheap, with a large set of peripherals and shildov extensions. With interfaces compatible with displays, sensors, and other devices. With the ability to directly connect to a computer, connect to the Ehernet network and WiFI.



These boards are ideal for the homemade and kulibins, on which our country has always been, is and will be rich. But as always there is a but. These boards are programmed in the C language. For most of these smartest people, with very straight arms growing out of their proper place, this is the Chinese alphabet. They can come up with a draw, build debug and run the most complex schemes, but IF, FOR, Case, Void, etc. it is not for them. Of course, you can read the instructions on the Internet, play around for a while, blink the LED with an example. But for more serious application, a detailed study of the language is necessary. And why should they? They are not going to be professional programmers. They have another way. They came up with something. Yes, it is easier and more beautiful to assemble using a microcontroller, but becomes a programmer for this, spending months to learn a language? Of course not. Collected in the old fashioned way, simpler of course, but in their area.



The idea of ​​the FLProg project is to combine the principles of industrial programming with low cost and the convenience of the Arduino. As a result, you should get a tool that allows you to create your own projects on arduino for anyone familiar with electricity.
In the next post I will talk about the project, its development and prospects in more detail.

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


All Articles