OpenPLC is an open source Programmable Logic Controller(PLC). Our hardware/s are functionally PLCs that can be programmed using Ladder Logic diagram (LD), as well as Function Block diagram (FBD). We have designed the systems for academic purpose and to enable effective learning of programming PLCs. For this reason, we are also providing a set of modules that supplement the PLCs, which can be used to perform experiments like simple traffic light, elevator, conveyor belt etc.
Few years ago we came across the need for an affordable and functional PLC for educational purposes. Every year, a large number of students in our colleges are undergoing training in PLCs without proper hands-on experience. The sky-high cost of the setup is a reason, also is the high maintenance because of being used by students. Vendor specific tools and work-flow, which are often complex, is another hindrance.
OpenPLC consists of two versions
- OpenPLC Version 1 : Hardware based on AVR's ATmega16A and programmed using LD
- OpenPLC Version 2 : Hardware based on Raspberry Pi and programmed using FBD
As mentioned earlier, we are also providing a set of plug-and-play modules for practising a range of experiments. The current ones are
- Elevator/Conveyor belt : Consists of a timing bet, a motor and a motor driver that can be controlled.
- Temperature Sensing and control.
- Switches : an array of normally-open, normally-closed and latch switches.
- Simple traffic light.
The two versions of PLCs uses two different software for programming.
- LDMicro : A simple and intuitive LD programming IDE, used for programming OpenPLC Version 1. It is a forked and locally maintained version of Jonathan Westhues software.
- 4diac : A system, used for OpenPLC version 2, that consists of an IDE and a runtime environment for FBD programming and deployment. At present we directly use the Eclipse 4diac project with the Raspberry Pi work-flow.
Note : Detailed documentation regarding each of the above are present in the respective directories.
OpenPLC is developed by FOSSEE and by users like you. We welcome both pull requests and issues on GitHub. How to and guides pertaining to both software and hardware can be found in the respective directories.
The repository consists of a few git submodules. To clone them along with this repo use the following command.
`git clone --recurse-submodules -j8 https://github.com/FOSSEE/OpenPLC.git'
.
├── OpenPLC_modules # OpenPLC modules resources including designs
├── OpenPLC_version_1 # OpenPLC version 1 resources including designs
├── OpenPLC_version_2 # OpenPLC version 2 resources including designs
├── LICENSE # license
└── README.md # this readme
The OpenPLC setup is shown below:
OpenPLC is released under the MIT license. Some part of the software are released under other licences specified.