/OpenPLC

Primary LanguageHTMLOtherNOASSERTION

Logo

Introduction

What is OpenPLC?

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.

Our story

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.

Our solutions

Hardware

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.

Software

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.


Community and contributing

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.

Forking and cloning

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'


Directory Structure

  .
  ├── 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 Version 2


Licence

OpenPLC is released under the MIT license. Some part of the software are released under other licences specified.