I developed a demonstration board that I programmed in CodeSys using a Finder Opta PLC. Here im showing the control panel and HMI operation of the pneumatic cylinder. The board has other I/O devices but in this post im just focusing on the controls and pneumatic’s.
To demonstrate fault logic, the piston drives the ball up the chute and makes contact with a limit switch. The machine is “locked out” and put into a fault state upon a limit switch trigger. No further start commands can be issued until the fault is cleared by pressing the stop button or by clearing it in the HMI.
The yellow indicator indicates a fault. The green indicator indicates machine has power. Red indicator indicates Estop and machine has no power to its actuators.
Pressing the estop removes power from the solenoid and the air compressor, and puts the machine into a “estop” state logically.
The HMI was built in Python using the PyModbus library for Modbus TCP communication and PySide6 for the graphical interface.
I have no formal education in automation or controls, just a genuine interest and everything I’ve learned has come from building projects with Raspberry Pi, Arduino, and now PLCs. I genuinely enjoy learning how these systems work, so I just keep building lol. It’s getting expensive lol..
My long-term goal is to transition into the automation/controls field professionally. I have a full write-up on this board, documentation and videos, but I wanted to share a small portion of the project and get feedback from people with more experience in the industry.
Any feedback, criticism, or suggestions are welcome.