From e14435f1500b444b36f57a2d2a0798d38c66a8cf Mon Sep 17 00:00:00 2001 From: vishnueaswaran Date: Mon, 7 Oct 2019 15:54:42 +0530 Subject: new branch and README updated --- README.md | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index c72c54a..1dbc183 100755 --- a/README.md +++ b/README.md @@ -1,21 +1,33 @@ # Introduction - A Programmable Logic Controller generally has a set of input and output ports to which the external peripherals are connected, which are -to be electrically controlled by the PLC. -Looking into the flow of working with the PLC, the processor tries to make decisions in accordance with the program, generally written by the user using some logic used to program these units. -Some of these logics include Function Block Diagram, Ladder Diagram, Structured Text, Sequential Function Chart and Instruction List. +A Programmable Logic Controller generally has a set of input and output ports to which the external peripherals are connected, which are +to be electrically controlled by the PLC. +Looking into the flow of working with the PLC, the processor tries to make decisions in accordance with the program, generally written by the user using some programming language is used to write the logic and program these units. +Some of the languages commonly used are Function Block Diagram, Ladder Diagram, Structured Text, Sequential Function Chart and Instruction List. - The objective is to create an Open Source PLC, which has the capabilities of the industrial PLC, but the catch here is, it’s much affordable and simpler to work with. It incorporates a development board, that works on AVR’s ATmega16A IC, giving up to 40 pins, most of which can be used and programmed as the Input-Output pins as it’s done on a PLC. -Moreover, the logic used here is Ladder Logic which is one of the easiest and also, robust in terms of its efficiency. +The objective is to create an Open Source PLC, which has the capabilities of an industrial PLC, but at a much affordable and simpler user interface. Currently we have 2 versions + +1. Version 1 - It incorporates a development board, that works on AVR’s ATmega16A IC, giving up to 40 pins, most of which can be used and programmed as the Input-Output pins as it’s done on a PLC. +Here the Programming language used here is Ladder Logic which is one of the easiest and also, robust in terms of its efficiency. The main point here is, this device is a standalone device, which can work without the host system being there, just being powered by a source. HEX files to be generated according to the controller are generated by a software called __LDMicro__, freely available for Windows and Linux users alike. The programming on the board is done via an *USB-ASP* device through ISP headers. All the processor wants now is a code to be dumped on it to start automating your small needs. - This prototype will be helpful for students to get the feel of working with the PLCs, to control small automated systems. -It’ll also be easy as there’s no coding involved and it’s using a GUI that is user-friendly and also efficient. -Along with the development board, which can be used as microcontroller too, there are various hardware modules to start off with and later the students can come up with their own hardware setups and test their modules, with the board. -It’s really versatile as it can suit your microcontroller needs and also work as a PLC. -All you need is the **HEX code** from **LDMicro** for your desired usage with hardware. The OpenPLC setup is shown below: +2. Version 2 - It uses Function Block(FB) programming language to write the logic. The system is build around a Raspberry Pi Zero, which runs a realtime environment build for IEC61499 standard. The platform we are using is **4diac**, which is implementation of IEC 16499. It has got 2 components : + * 4diac IDE - the programming interface for writing logics using FBs. + * FORTE - the runtime present in the actual hardware-- here a Raspberry Pi. + +### The Modules + +We have developed 4 different modules that goes along with the PLCs for performing experiments; trying various control methods. + * Motor module - for controlling a motor + * Temperature Sensing and control + * Switches - array of various types of switches + * Traffic light + +The OpenPLC setup is shown below: + +![OpenPLC Version 1(early prototype)](/Images/openplc.png "OpenPLC Version 1") -![OpenPLC Version 1](/Images/openplc.png "OpenPLC Version 1") +![OpenPLC Version 2](/Images/v2.jpg "OpenPLC Version 1") \ No newline at end of file -- cgit From fbb387fae93c53e3a6e1d2907f0a4134236f3209 Mon Sep 17 00:00:00 2001 From: vishnueaswaran Date: Mon, 7 Oct 2019 15:56:48 +0530 Subject: added missing image --- Images/v2.jpg | Bin 0 -> 156732 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Images/v2.jpg diff --git a/Images/v2.jpg b/Images/v2.jpg new file mode 100644 index 0000000..e9d8472 Binary files /dev/null and b/Images/v2.jpg differ -- cgit From 5328feb778817ae54f79be21984b51a62eac9da6 Mon Sep 17 00:00:00 2001 From: vishnueaswaran Date: Mon, 7 Oct 2019 16:00:12 +0530 Subject: replaced the image --- Images/v2.jpg | Bin 156732 -> 172873 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Images/v2.jpg b/Images/v2.jpg index e9d8472..b8bff5e 100644 Binary files a/Images/v2.jpg and b/Images/v2.jpg differ -- cgit