summaryrefslogtreecommitdiff
path: root/OpenPLC_version_1/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'OpenPLC_version_1/Documentation')
-rwxr-xr-xOpenPLC_version_1/Documentation/Creating-Ladders.rst12
-rwxr-xr-xOpenPLC_version_1/Documentation/Programming-OpenPLC.rst12
-rwxr-xr-xOpenPLC_version_1/Documentation/Software-Requirements.rst28
3 files changed, 26 insertions, 26 deletions
diff --git a/OpenPLC_version_1/Documentation/Creating-Ladders.rst b/OpenPLC_version_1/Documentation/Creating-Ladders.rst
index 2eff25b..19525f6 100755
--- a/OpenPLC_version_1/Documentation/Creating-Ladders.rst
+++ b/OpenPLC_version_1/Documentation/Creating-Ladders.rst
@@ -3,7 +3,7 @@ Creating Ladders using Ld micro
LD Micro’s simple user interface is really easy to use and is self explanatory.To get started working with LD Micro, just double click the LD Micro executable present in your system. Once opened, you shall get such a GUI.
-.. image:: ../Images/ld1.png
+.. image:: ../assets/ld1.png
:height: 540px
:width: 750px
:scale: 150
@@ -13,7 +13,7 @@ the default settings, so as to generate the HEX code for your microcontroller.
Under Settings tab, select the MCU Parameters Option
-.. image:: ../Images/Setup.png
+.. image:: ../assets/Setup.png
:height: 340px
:width: 450px
:scale: 150
@@ -21,7 +21,7 @@ Under Settings tab, select the MCU Parameters Option
Then after selecting, change the clock frequency to 16MHz and if using
UART change the baud rate to 9600.
-.. image:: ../Images/cont.png
+.. image:: ../assets/cont.png
:height: 540px
:width: 650px
:scale: 150
@@ -34,21 +34,21 @@ instructions that are in accordance with the Ladder logic followed for the PLCs
After selecting the appropriate instruction, just double click the instruction to edit the name of the variable and other parameters related to the particular instruction.
-.. image:: ../Images/change.png
+.. image:: ../assets/change.png
:height: 540px
:width: 650px
:scale: 150
After making the appropriate ladder for the application, the digital input and outputs should be given an appropriate pin number of the controller and the connections should be done accordingly. This can be done by double clicking the appropriate pin to be configured in the consolidated table just below the ladder made.
-.. image:: ../Images/PIN.png
+.. image:: ../assets/PIN.png
:height: 540px
:width: 600px
:scale: 150
Now that the logic is set, the ladder can be simulated to verify it’s working. This is done by clicking the Simulate tab and Simulation Mode option under it. This is then followed by a similar screen where Blue indicates LOW and Pink indicates HIGH. To start the simulation, under Simulate tab click Start Real-Time Simulation option. After this, to change the state, just double click the instruction. The appropriate changes and values pertaining to different variables can be seen in the consolidated instruction table under the State column. To come out of simulation mode, click the same Simulation Mode option.
-.. image:: ../Images/states.png
+.. image:: ../assets/states.png
:height: 340px
:width: 450px
:scale: 150
diff --git a/OpenPLC_version_1/Documentation/Programming-OpenPLC.rst b/OpenPLC_version_1/Documentation/Programming-OpenPLC.rst
index b5e768d..fd344f2 100755
--- a/OpenPLC_version_1/Documentation/Programming-OpenPLC.rst
+++ b/OpenPLC_version_1/Documentation/Programming-OpenPLC.rst
@@ -10,7 +10,7 @@ Now that the programmer is installed on the system, we need to adjust the
properties of the controller IC such that it meets the necessary requirements along with the peripherals installed on the board. Essentially, fuse bits are the ones that decide how the controller responds, like which clock frequency it responds to or its programming availabilities.
Setting up the fuse is a crucial task as the controller may not respond later if the fuse bits that are set are not in accordance with the attached peripherals. Before setting the fuses, the factory settings on the controller make sure it works on the internal oscillator of clock speed 1MHz. It’s mostly dependent on 2 fuses - lfuse and hfuse. Both of these have hex 8 bit values. When working on communication with the device, like UART, these fuse bits play a key role, if not defined, the
-controller works on the internal clock that’s much slower than the externalcrystal. For the controller, 16MHz external crystal was selected. This meant the controller shall configure this external crystal and work on it.
+controller works on the internal clock that’s much slower than the external crystal. For the controller, 16MHz external crystal was selected. This meant the controller shall configure this external crystal and work on it.
**WARNING:** Fuse bits control the way the controller responds. If
any mistake is made in setting up the fuse bits, then the controller
@@ -25,14 +25,14 @@ Type the following command into the Terminal:
Screen like below will pop up after giving the command line
-.. image:: ../Images/fuse1.png
+.. image:: ../assets/fuse1.png
:height: 540px
:width: 450px
:scale: 100
-You can read fust bits after setting up, as shown below,
+You can read fuse bits after setting up, as shown below,
-.. image:: ../Images/fuse2.png
+.. image:: ../assets/fuse2.png
:height: 540px
:width: 450px
:scale: 100
@@ -42,7 +42,7 @@ Now the external crystal is working in sync with the controller.
USBASP as ISP
-------------
-Step 1: We require a precompiled hex file to be burnt onto our microcontroller. In our case, we have generated it by doing simple ladder programming in LDMicro and then compiling it. Before that, ensure that the proper target controller from the drop-down menu is chosen. For input and output part, assign a certain pin no. of the controller to that of the desired application. Now, a certain name is given to the file(say, blink.hex) at the destination folder.
+Step 1: We require a pre-compiled hex file to be burnt onto our microcontroller. In our case, we have generated it by doing simple ladder programming in LDMicro and then compiling it. Before that, ensure that the proper target controller from the drop-down menu is chosen. For input and output part, assign a certain pin no. of the controller to that of the desired application. Now, a certain name is given to the file(say, blink.hex) at the destination folder.
Step 2: After being done with all the software part, one shall supply the power from 12V SMPS to the development board. Now check whether the
controller is powered up properly with 5 Volt or not from the appropriate Vcc and GND pins of the controller.
@@ -62,7 +62,7 @@ below, which means that the process of erasing and writing the internal
memory of the ATmega IC is in the process. On correct execution you shall
get such a result. Whilst it’s burning the code, the red light on the USBASP will be lit showing that it is communicating with the controller appropriately.
-.. image:: ../Images/usb.png
+.. image:: ../assets/usb.png
:height: 540px
:width: 450px
:scale: 100
diff --git a/OpenPLC_version_1/Documentation/Software-Requirements.rst b/OpenPLC_version_1/Documentation/Software-Requirements.rst
index fc06f86..ed1a173 100755
--- a/OpenPLC_version_1/Documentation/Software-Requirements.rst
+++ b/OpenPLC_version_1/Documentation/Software-Requirements.rst
@@ -1,7 +1,7 @@
Software Requirements
=====================
-Many software support PLC simulation in various logics.
+Many software support PLC simulation in various logic.
The software that has been used in the subsequent sections is
LDMicro, that incorporates Ladder Logic, supporting
many microcontrollers, along with the AVR's ATmega16A. This
@@ -13,21 +13,21 @@ For windows based system
------------------------
The IC is a standalone one without the Bootloader. One of the ways of
-dumping the code, is using an In System Programmer or an ISP. So, for burning the same we use the softwares: AVRDUDE1 - AVR Downloader Uploader is a program for downloading and uploading the on-chip memories of Atmels AVR microcontrollers. It can program the Flash and EEPROM, and where supported by the serial programming protocol, it can program fuse and lock bits. It’s available as WINAVR for Windows and can be downloaded from 'here <https://sourceforge.net/projects/winavr/files/WinAVR/20100110>'_.
+dumping the code, is using an In System Programmer or an ISP. So, for burning the same we use the software: AVRDUDE1 - AVR Downloader Uploader is a program for downloading and uploading the on-chip memories of Atmels AVR microcontrollers. It can program the Flash and EEPROM, and where supported by the serial programming protocol, it can program fuse and lock bits. It’s available as WINAVR for Windows and can be downloaded from 'here <https://sourceforge.net/projects/winavr/files/WinAVR/20100110>'_.
Setting up WINAVR
~~~~~~~~~~~~~~~~~
Step 1: First, open up the start screen and then search : Command Prompt
-.. image:: ../Images/Figcmd.png
+.. image:: ../assets/Figcmd.png
:height: 540px
:width: 550px
:scale: 150
Step 2: Then, a screen like this shall pop up.
-.. image:: ../Images/Comm.png
+.. image:: ../assets/Comm.png
:height: 540px
:width: 550px
:scale: 150
@@ -36,7 +36,7 @@ Step 3: Enter into the command prompt for windows: avrdude
You should get prompts and flags mentioned like this, which implies that you have downloaded the software properly.
-.. image:: ../Images/avrdude1.png
+.. image:: ../assets/avrdude1.png
:height: 440px
:width: 650px
:scale: 100
@@ -52,7 +52,7 @@ name AVRDUDE. Just enter the below command line on your terminal
You would see a screen full of text, something like the one below. To
exit press q. If you don’t get a screen like that, then open Ubuntu Software Center and on the search bar enter avrdude, then install it. Enter the same command into the terminal again and you shall see the manual.
-.. image:: ../Images/manavrdude.png
+.. image:: ../assets/manavrdude.png
:height: 540px
:width: 450px
:scale: 100
@@ -62,7 +62,7 @@ Setting up the Ld micro executable
To download the software on your Windows system, go to [#] `<http://cq.cx/ladder.pl/>`_ The download is a direct executable, there’s no need to install it.
-.. image::../Images/Downloading-LD-Micro.png
+.. image::../assets/Downloading-LD-Micro.png
:height: 540px
:width: 450px
:scale: 100
@@ -77,12 +77,12 @@ we wish to program via its HEX codes generated, ATmega16A in this case. The nami
[1] *Yvar* implies the component is connected to an input pin on the micro-controller, something like a push button that is user dependent. This generally works for the digital inputs, HIGH(+5V) or LOW(GND).
-[2] *Xvar* implies the component is connected to an output pin on the mi-crocontroller. This can be something like an LED or a Buzzer that is used to show the outputs. It’s generally used to display digital outputs, HIGH(+5V) or LOW(GND).
+[2] *Xvar* implies the component is connected to an output pin on the microcontroller. This can be something like an LED or a Buzzer that is used to show the outputs. It’s generally used to display digital outputs, HIGH(+5V) or LOW(GND).
[3] *Tvar* implies, a timer. It can be a turn on, turn off or a retentive timer, just like the ones used in the actual PLCs.
[4] *Cvar* implies a counter. The arguments in this are simple logical
-operands to decide the upper bound upto which the counter shall work.
+operands to decide the upper bound up to which the counter shall work.
There are circular counter too, which count circularly, without any
bound.
@@ -99,7 +99,7 @@ Things to remember are:
ables associated with the timers, counters or input, output pins.
- The variables are 16 bit signed decimals, so the variables can also
be containing values that are negative pertaining to that range.
-- As counters, timers in physical sense are internal in the microcontroller,we can only assign the pins to the Xname, Yname and Aname objects and not others.
+- As counters, timers in physical sense are internal in the microcontroller, we can only assign the pins to the Xname, Yname and Aname objects and not others.
Now that the basic ideas are clear, the use of certain instructions can be discussed.
@@ -118,14 +118,14 @@ normally open case, the contacts are open generally, which means, giving a high
[6] **Retentive timer** is used to keep track of the how much time the
module under consideration has been true, it cumulates the total time,
-if the input has been on for atleast that much time, the output of the
-timer is true. It will always reamin true after this, hence it should be reset by using Reset instruction manually
+if the input has been on for at-least that much time, the output of the
+timer is true. It will always remain true after this, hence it should be reset by using Reset instruction manually
-[7] **Counter** is used to count upto the given value threshold.The count is changed as the input to the counter is made high. This is used as an up counter, down counter or a circular counter. The variables can be manipulated and be suited for the application
+[7] **Counter** is used to count up to the given value threshold.The count is changed as the input to the counter is made high. This is used as an up counter, down counter or a circular counter. The variables can be manipulated and be suited for the application
[8] **Mov** is used to move any value, be it character or numeric into the variable named under destination.
-[9] **Arithmetic operands** are used to manipulate the variables values to suit the logic, they cn be used on any kind of variables like the counters variables.
+[9] **Arithmetic operands** are used to manipulate the variables values to suit the logic, they can be used on any kind of variables like the counters variables.
These are the basic ones that are used. A detailed help for the more
instructions and general guidelines is provided on the Manual of the