If you like programming, electronics, making controls; in general automation, then take a look at the "Arduino Finite State Machine". The site describes part of terms and techniques used in the automation of (industrial) controls based on Arduino/Visual Studio and can also be used for understanding some basic PLC and HMI techniques.
The AFSM is a software environment for the development of embedded systems. Applications are made by VisualMicro (sketches), Python3 and Visual Basic (all freeware). Controls are made based on the principles of a finite state machine. This site descibes some theory and offers the software for making controls based on the MEGA 2560 and MEGA DUE boards. Both application and development software are freeware.
Highlights of the Arduino Finite State Machine
- Some theory about Finite State Machines
- Digital I/O, analogue I/O, temperature measurement, ultrasonics and servo's are standard supported
- After the definition of the I/O,the process information is direct available in both the serial monitor as on the PC
- After the definition of the I/O, the I/O can be monitored and controlled by the HMI app
- Many usefull functions for implementing a finite state machine
- The FSM supports multiple active states
- The communication between the board and the PC is made by pre-defined messages
- Every terminal program (TTY) can communicate with the board
- There are 2 different HMI versions: Serial and Internet communication. For the serial version, there is a HMI for Windows 10 and a Raspberry PI version available.
- Communication between the board and HMI with error correction
- Markers (no I/O attached) can be used for exchanging data between the board and the PC
- The HMI for windwos, contains a tool for trending max 3 I/O signals on the screen
- With the HMI, the I/O can be writen to an database
- Easy Tool for defining TAGS/Pins; the Configurator
- Declaring I/O in the UserConfiguration.h file
- The actual finite state machine can be made in the UserFiniteStateMachine.h file
- The VBA standard program on Windows is very suitable for making your own HMI application
- The HMI presents some basic information of the board, free RAM, time on the board, and FSM cycle time
- NEWEST Downloadable software package; V2.6, HMI, Configurator, Sketch
Years ago a colleague of me told me about Arduino. He made an application for Ambilight based on Arduino. For the making of little controls for the annual village festivals, I was looking for some sort of simple PLC for building it and an Arduino board seems a good alternative. So I bought a MEGA 2560 and made my first sketch in 2012; It was an application for a game that counted the most possible turns a person can make around a rod during 30 seconds. The results were presented via a laptop; rounds, high scores, time to go... Making rounds -around a rod- can do funny things for a men’s brain... Making the sketch was also fun to do, everything worked fine and most imported it was stable. Arduino seems to be a platform ideal for hobby. First years of my working period, about 15 years, I had a job in IT and after that I became project manager at a system integrator. I kept my interest for programming and specially controls. So, during rainy days, I started building software for a finite state machine on the Arduino platform and made this site as a hobby. The site describes part of terms and techniques used in the automation of (industrial) controls and can be used for hobby (specially Arduino/Visual Studio) but also for understanding some basic PLC and HMI techniques. Enjoy this site and feel free to contact me.
Wytgaard, the Netherlands