From fb993c855d62fe070884fc4bff4b50ac1319e5dc Mon Sep 17 00:00:00 2001 From: Vishnu Easwaran E Date: Thu, 14 May 2020 17:20:06 +0530 Subject: [vishnu] Started modifying README for better documentation and community engagement. --- .gitignore | 2 ++ README.md | 51 +++++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 45 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index e23d575..0a2c1c6 100755 --- a/.gitignore +++ b/.gitignore @@ -293,3 +293,5 @@ TSWLatexianTemp* # glossaries-extra *.ist +# ide settings +*.json \ No newline at end of file diff --git a/README.md b/README.md index 1dbc183..7553888 100755 --- a/README.md +++ b/README.md @@ -1,6 +1,41 @@ # Introduction -A Programmable Logic Controller generally has a set of input and output ports to which the external peripherals are connected, which are +## What is OpenPLC? + +OpenPLC is an open source **P**rogrammable **L**ogic **C**ontroller(**PLC**). Our hardware/s are functionally PLCs that can be programmed using [Ladder Logic diagram (LD)](https://en.wikipedia.org/wiki/Ladder_logic), as well as [Function Block diagram (FBD)](https://en.wikipedia.org/wiki/Function_block_diagram). 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 a 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 solution + +### **Hardware** + +OpenPLC consists of **two** versions +- OpenPLC Version 1 : Hardware based on AVR's [**ATmega16A**](https://www.microchip.com/wwwproducts/en/ATmega16) and programmed using **LD** +- OpenPLC Version 2 : Hardware based on [**Raspberry Pi**](https://www.raspberrypi.org/products/raspberry-pi-zero-w/) and programmed using **FBD** + +As mentioned earlier, we are also providing a set of plug-and-play modules for practicing a range of experiments. The current ones are +- Elevator/Conveyor belt : COnsists of a motor, a motor driver that can be controlled. +- Temperature Sensing and control +- Switches : an array of various types of 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 [jwesthues's](https://github.com/LDmicro/LDmicro) version. +- 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](https://www.eclipse.org/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](https://fossee.in/) 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 OpenPLC setup is shown below: -- cgit