EXPERIMENT 1: Programming of a PLC to perform
basic input / output operations
(a) Familiarization with the PLC simulator LogixPro
(b) Learning of simple input output instructions
(c) Development of ladder logic diagrams for basic programming of a PLC
A PLC works by continually scanning a program. We can think of this scan cycle as consisting of 3 important steps (Fig. 1). There are typically more than 3 but we can focus on the important parts and not worry about the others. Typically the others are checking the system and updating the current internal counter and timer values.
Figure 1: The three steps of a scan cycle
Step 1-CHECK INPUT STATUS-First the PLC takes a look at each input to determine if it is on or off. In other words, is the sensor connected to the first input on? How about the second input? How about the third... It records this data into its memory to be used during the next step.
Step 2-EXECUTE PROGRAM-Next the PLC executes your program one instruction at a time. Maybe your program said that if the first input was on then it should turn on the first output. Since it already knows which inputs are on/off from the previous step it will be able to decide whether the first output should be turned on based on the state of the first input. It will store the execution results for use later during the next step.
Step 3-UPDATE OUTPUT STATUS-Finally the PLC updates the status of the outputs. It updates the outputs based on which inputs were on during the first step and the results of executing your program during the second step. Based on the example in step 2 it would now turn on the first output because the first input was on and your program said to turn on the first output when this condition is true.
After the third step the PLC goes back to step one and repeats the steps continuously. One scan time is defined as the time it takes to execute the 3 steps listed above.
Now let's examine some of the basic instructions in greater detail to see more about what each one does.
The XIC (eXamine the input to see If its physically Closed) instruction is a normally open contact. Sometimes it is also called load (LD) instruction. The symbol for an XIC instruction is shown below
Figure 2: An XIC (normally open contact) symbol
This is used when an input signal is needed to be present for the symbol to turn on. When the physical input is on we can say that the instruction is True. We examine the input for an on signal. If the input is physically on then the symbol is on. An on condition is also referred to as a logic 1 state.
The XIO (eXamine the input to see If its physically Opened) instruction is a normally closed contact. Sometimes it is also called LoaDNot (LDN) instruction. The symbol for an XIO instruction is shown below
Figure 3: An XIO (normally closed contact) symbol
This is used when an input signal does not need to be present for the symbol to turn on. When the physical input is off we can say that the instruction is True. We examine the input for an off signal. If the input is physically off then the symbol is on. An off condition is also referred to as a logic 0 state.
3. OTE or OUT
The OTE (OuTputEnergize) instruction is sometimes also called Out instruction. The output instruction is like a relay coil. Its symbol looks as shown below.
Figure 4: An OTE (coil) symbol
When there is a path of True instructions preceding this on the ladder rung, it will also be True. When the instruction is True it is physically On. We can think of this instruction as a normally open output.
Ladder Logic Diagrams
The first PLCs were programmed with a technique known as Ladder Logic Diagrams. This was based on relay logic wiring schematics which eliminated the need to teach the electricians, technicians and engineers how to program a computer - but, this method has stuck and it is the most common technique for programming PLCs today. The method is explained via the following example:
Let's consider a real world physically connected relay circuit (Fig. 5).
Figure 5: A Simple circuit
A relay is a simple device that uses a magnetic field to control a switch, as pictured in Fig. 5. When a voltage is applied to the input coil, the resulting current creates a magnetic field. The magnetic field pulls a metal switch towards it and the contacts touch, closing the switch. The contact that closes when the coil is energized is called normally open. The normally closed contacts touch when the input coil is not energized. Relays are normally drawn in schematic form using a circle to represent the input coil.
n the above circuit, the coil will be energized when there is a closed loop between the + and - terminals of the battery. We can simulate this same circuit with a ladder diagram. A ladder diagram consists of individual rungs just like on a real ladder. Each rung must contain one or more inputs and one or more outputs. The first instruction on a rung must always be an input instruction and the last instruction on a rung should always be an output (or its equivalent).
Figure 6: Circuit converted to ladder diagram
Notice in this simple one rung ladder diagram we have recreated the external circuit above with a ladder diagram. Here we used the XIC and OTE instructions. Some manufacturers require that every ladder diagram include an END instruction on the last rung.
Generally, to interpret these diagrams imagine that the power is on the vertical line on the left hand side which we call the hot rail. On the right hand side is the neutral rail. On each rung, we may have combinations of inputs (two vertical lines) and outputs (circles). If the inputs are opened or closed in the right combination the power can flow from the hot rail, through the inputs, to power the outputs, and finally to the neutral rail. An input can come from a sensor, switch, or any other type of sensor. An output will be some device outside the PLC that is switched on or off, such as lights or motors.
The PLC simulator LogixPro
LogixPro is actually three distinct programs combined into a single package. First, LogixPro contains a PLC Ladder Logic editor that allows users to create and edit PLC programs using a series of PLC instructions. Secondly, LogixPro emulates the scanning sequence of a PLC. When placed into the "RUN" mode, the users program is scanned and the appropriate I/O is updated just as would occur in an actual PLC. Thirdly, LogixPro contains a number of animated simulations which respond accurately to the inputs, and outputs of the emulated PLC.
RSLogix Relay Logic Instructions
This exercise is designed to familiarize you with the operation of LogixPro and to step you through the process of creating, editing and testing simple PLC programs utilizing the Relay Logic Instructions supported by RSLogix.
From the Simulations Menu at the top of the screen, Select the I/O Simulation and ensure that the User Instruction Bar shown above is visible.
The program editing window should contain a single rung. This is the End of Program rung and is always the last rung in any program. If this is the only rung visible then your program is currently empty.
If your program is not empty, then click on the File menu entry at the top of the screen and select "New" from the drop-down list. A dialog box will appear asking for you to select a Processor Type. Just click on "OK" to accept the default TLP LogixPro selection.Now maximize the ProSim-II Simulation Window
The I/O Simulator
The simulator screen shown above, should now be in view. For this exercise we will be using the I/O simulator section, which consists of 32 switches and lights. Two groups of 16 toggle switches are shown connected to 2 Input cards of our simulated PLC. Likewise two groups of 16 Lights are connected to two output cards of our PLC. The two input cards are addressed as "I:1" and "I:3" while the output cards are addressed "O:2" and "O:4".
Use your mouse to click on the various switches and note the change in the status color of the terminal that the switch is connected to. Move your mouse slowly over a switch, and the mouse cursor should change to a hand symbol, indicating that the state of switch can be altered by clicking at this location. When you pass the mouse over a switch, a "tool-tip" text box also appears and informs you to "Right Click to Toggle Switch Type". Click your right mouse button on a switch, and note how the switch type may be readily changed.
RSLogix Program Creation
Collapse the I/O simulation screen back to it's normal size by clicking on the same (center) button you used to maximize the simulation's window. You should now be able to see both the simulation and program windows again. If you wish, you can adjust the relative size of these windows by dragging the bar that divides them with your mouse.
I want you to now enter the following single run program which consists of a single Input instruction (XIC - Examine If Closed) and a single Output instruction (OTE - Output Energize). There's more than one way to accomplish this task, but for now I will outline what I consider to be the most commonly used approach.
First click on the "New Rung" button in the User Instruction Bar. It's the first button on the very left end of the Bar. If you hold the mousepointer over any of these buttons for a second or two, you should see a short "ToolTip" which describes the function or name of the instruction that the button represents.
You should now see a new Rung added to your program as shown above, and the Rung number at the left side of the new rung should be highlighted. Note that the new Rung was inserted above the existing (END) End Of Program Rung. Alternatively you could have dragged (left mouse button held down) the Rung button into the program window and dropped it onto one of the locating boxes that would have appeared.
Now click on the XIC instruction with your left mouse button (Left Click) and it will be added to the right of your highlighted selection. Note that the new XIC instruction is now selected (highlighted). Once again, you could have alternatively dragged and dropped the instruction into the program window.
If you accidentally add an instruction which you wish to remove, just Left Click on the instruction to select it, and then press the "Del" key on your keyboard. Alternatively, you may right click on the instruction and then select "Cut" from the drop-down menu that appears.
Left Click on the OTE output instruction and it will be. added to the right of your current selection.
Double Click (2 quick left mousebutton clicks) on the XIC instruction and a textbox should appear which will allow you to enter the address (I:1/0) of the switch we wish to monitor. Use the Backspace key to get rid of the "?" currently in the textbox. Once you type in the address, click anywhere else on the instruction (other than the textbox) and the box should close.
Right Click on the XIC instruction and select "Edit Symbol" from the drop-down menu that appears. Another textbox will appear where you can type in a name (Switch-0) to associate with this address. As before, a click anywhere else will close the box.
Enter the address and symbol for the OTE instruction and your first RSLogix program will now be complete. Before continuing however, Double check that the addresses of your instructions are correct.
Testing your Program
It's now time to "Download" your program to the PLC. First click on the "Toggle" button at the top right corner of the Edit Panel which will bring the PLC Panel into view.
Click on the "DownLoad" button to initiate the downloading of your program to the PLC. Once complete, click inside the "RUN" option selection circle to start the PLC scanning.
Enlarge the Simulation window so that you can see both the Switches and Lamps, by dragging the bar that separates the Simulation and Program windows to the right with your mouse. Now click on Switch I:1/00 in the simulator and if all is well, Lamp O:2/00 should illuminate.
Toggle the Switch On and Off a number of times and note the change in value indicated in the PLC Panel's status boxes which are being updated constantly as the PLC Scans. Try placing the PLC back into the "PGM" mode and then toggle the simulator's Switch a few times and note the result. Place the PLC back into the "Run" mode and the Scan should resume.
We are usually told to think of the XIC instruction as an electrical contact that allows electrical flow to pass when an external switch is closed. We are then told that the OTE will energize if the flow is allowed to get through to it. In actual fact the XIC is a conditional instruction which tests any bit that we address for Truth or a 1.
Editing your Program
Click on the "Toggle" button of the PLC Panel which will put the PLC into the PGM mode and bring the Edit Panel back into view.
Now add a second rung to your program as shown below. This time instead of entering the addresses as you did before, try dragging the appropriate address which is displayed in the I/O simulation and dropping it onto the instruction.
Note that the XIO instruction which Tests for Zero or False has it's address highlighted in yellow. This indicates that the instruction is True, which in the case of an XIO, means that the bit addressed is currently a Zero or False.
This is probably a good time to practice your dragNdrop skills. Try moving instructions from rung to rung by holding the left mouse button down while over an instruction, and then while keeping the mouse button down, move the mouse (and instruction) to a new location. Try doing the same with complete rungs by dragging the box at the left end of the rung and dropping it in a new location.
Once you feel comfortable with dragNdrop, ensure that your program once again looks like the one pictured above, Now download your program to the PLC and place the PLC into the Run Mode. Toggle both Switch-0 and Switch-1 on and off a number of times and observe the effects this has on the lamps. Ensure that you are satisfied with the operation of your program before proceeding further.
Create, enter and test a program that will turn on output O200, if inputs I100 I101, I102 and I103 are on or input I104 is on. Add a rung that will turn on output O201, if one of the inputs I105 or I106 is on and output O200 is on. Add a rung that will keep the state of O202 the opposite status of O200. Add a rung that will turn on O203 if both outputs O200 and O201 are on.
Create, enter and test a program which will perform the common electrical function of controlling a light from two different locations. Clear your program and utilize toggle switch (I:1/00) and switch (I:1/01) to control Lamp (O:2/00)... (Hint: If both switches are On or if both switches are Off, then the Lamp should be On! This of course is just one approach to solving this problem)
Three switches are connected on the inputs I1:00, I1:01 and I1:02, and two lamps are connected on the outputs O2:00 and O2:01 of a PLC. Lamp1 (O2:00) must be ON if at least two of the input switches are closed. Lamp2 (O2:01) must be ON if only two of the input switches are closed.
Lecturer: Dr. Sotiris L. Omirou