Alternative programming environment for Arduino - FLProg

    Good afternoon.
    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 the principles of working with them has been on the path of growing abstraction. The first stage was programming directly in machine codes. Programming was complex, lengthy, and required a very specific mindset. Therefore, there were very few programmers.

    But man is a lazy creature, and laziness, as you know, is the engine of progress. They came up with 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 machine codes.

    Therefore, the next level of abstraction appeared. High level languages. The main goal of these languages ​​was the opportunity to explain to the machine what they want from it in a language as close to human as possible. This allowed people with a less specific warehouse to do programming. 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 - "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 area adjacent to computers. This is the programming area of ​​industrial automation control systems. Almost from the very beginning, manufacturers of industrial controllers went this way. Now the standard for programming environments for major manufacturers are FBD and LAD. As a matter of fact, as such they are not languages. Rather, they are graphical environments for drawing basic or logical circuits.

    This approach turned out to be very convenient for easy entry into the development of ACS systems for electrical engineers and electronic engineers. Developing plant designs, they could easily tie the work of these plants to the controller's work algorithms. It is also better to maintain these facilities at the facility when existing maintenance staff can easily check the operation of the ACS system and find a problem. And at the same time there is no need to call for every trifle a programmer from the "Center". And this approach paid off. Today, almost all industrial automation systems are created using such development tools.

    Siemens, ABB, Schneider, and almost all manufacturers have such a development environment. But there is a problem. All are tied to their controllers. And the prices for these controllers are very hard to call affordable.

    And so the Arduino boards appeared. Cheap, with a wide range of peripherals and expansion shields. With interfaces compatible with displays, sensors, and other devices. With the ability to directly connect to a computer, connect to an Ehernet network and WiFI.

    These boards are ideally suited for do-it-yourselfers 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 C. For most of these smartest people, with very straight arms growing out of the right place, this is the Chinese alphabet. They may come up with draw, assemble, debug and run complex circuits, but IF, FOR, Case, Void, etc. it is not for them. Of course, you can read the instructions on the Internet, play for a while, blink with an LED using an example. But for a more serious application, a detailed study of the language is necessary. Why do they need it? They are not going to be professional programmers. They have a different way. They came up with something. Yes, it’s easier and more beautiful to assemble using a microcontroller, but does it become a programmer for this, spending months learning a language? Not, of course. Collected in the old way, simpler of course, but in their field.

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

    Also popular now: