Beginner’s Guide to
PLC Programming How to Program a PLC (Programmable Logic Controller) By Neal Babcock modernmediaonline.com Copyright 2008 Modern Media
Table of Contents Introduction to PLCs .....................................................................................................................3 Ladder Logic.................................................................................................................................3 The Dialect of PLCs .....................................................................................................................5 Equivalent Logic ...........................................................................................................................7 Scan Time ....................................................................................................................................9 The Automated Drill Press..........................................................................................................10 Sequence of Operation...............................................................................................................11 Operator Station .........................................................................................................................13 I/O Listing ...................................................................................................................................14 Inputs ......................................................................................................................................14 Outputs ...................................................................................................................................15 Internal Coils...........................................................................................................................15 The Program ..............................................................................................................................16 Machine Safeties ....................................................................................................................16 Pilot Light Test ........................................................................................................................18 Indicate The System Is Operational ........................................................................................19 Machine Operation Mode........................................................................................................19 Run The Spindle Drive Motor..................................................................................................20 Indicate The Spindle Drive Is Running....................................................................................20 Run The Infeed Conveyor.......................................................................................................21 Ensure There Are No Parts In The Machine ...........................................................................21 Ensure All Components Are At Home.....................................................................................22 Begin The Cycle .....................................................................................................................22 Lower The Stop Gate..............................................................................................................23 Run The Main Conveyor .........................................................................................................23 Indicate The Part Is In Place...................................................................................................24 Clamp The Part In Place.........................................................................................................24 Lower The Spindle ..................................................................................................................25 Drilling Operation Is Complete ................................................................................................26 Return The Spindle To Its Home Position...............................................................................27 Machine Cycle Is Complete ....................................................................................................28 Fault Detection And System Diagnostics ................................................................................29 Personnel Safety Guard Door.................................................................................................29 Low Compressed Air Pressure ...............................................................................................30 Motor Starter Overload ...........................................................................................................31 Latch The Motor Overload Detection ......................................................................................32 Indicate A Motor Overload Condition ......................................................................................32 Jammed Part Detection ..........................................................................................................33 Latch The Part Jammed Detection .........................................................................................34 Indicate A Part Jammed Condition .........................................................................................34 Monitor The Drill Time.............................................................................................................35 Summarize The Fault Conditions............................................................................................36 13 Marks Of A Well Written Program .........................................................................................37 General PLC Tips.......................................................................................................................38 The Automated Drill Press in Rockwell Automation’s RSLogix 500 ...........................................39 Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
2
Introduction to PLCs Nearly all the industrial equipment that you find in a modern manufacturing facility shares one thing in common - computer control. The most commonly used controller is the PLC, or the Programmable Logic Controller, using a programming language called Ladder Logic. The language was developed to make programming easy for people who already understood how switches, relay contacts and coils work. Its format is similar to the electrical style of drawing known as the “ladder diagram”. Originally, there were only a few functions available in this language, but as times have progressed, many more higher-level functions have been introduced. We are going to stick to the basic, commonly used functions here. Also, this text will not replace the user's manual that comes with a PLC, but it will give you a big head start if you have never programmed a PLC. This course is intended to provide an introduction to the programming methods used in PLCs and give the reader a solid, basic understanding of the language of Ladder Logic. After you complete this course, you may be interested in learning about hardware-specific software and programming techniques. Modern Media offers a book entitled PLC Programming Techniques How to Program an Allen-Bradley SLC 500 with Rockwell Automation’s RSLogix. This ebook shows, step-by-step, how to create a program from scratch in Allen-Bradley’s RSLogix 500. To learn more, please visit http://www.modernmediaonline.com.
Ladder Logic I have summarized the terms and techniques you need to know if you are going to work with ladder logic. It is not a comprehensive summary, as that would take volumes of text, but if you are just starting out, the information in this book will be very helpful. Every PLC programmer, no matter what skill level, must have learned the principles described in this book at one point in time. There is simply no way around it. I have included a program for a simple machine that lets you really understand how Ladder Logic works. To effectively write a program, or even edit one, the programmer must know how to visualize the effects of the changes he will make. In other words, you have to be able to look at the logic “on paper” and imagine how it will work when it is entered into the PLC. This course will teach you how to do that. Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
3
There are many types of PLCs, and differences among PLCs, but what is discussed here should be common to all types. After you read and understand this, you will have a clear understanding of the structure of this type of programming. In the real world of industrial automation, the methods presented in this document may be all that many people will ever need to know.
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
4
The Dialect of PLCs Lets' define some terms and symbols: BIT - an address within the PLC. It can be an input, output or internal coil, among others. RUNG - A section of the PLC ladder program that terminates in an output function of some type. HARDWIRED INPUT - a physical connection to the PLC from an input device (switch or sensor, etc.) A hardwired input is labeled INPUT in our example. HARDWIRED OUTPUT - a physical connection from the PLC to an output device (relay or pilot light, etc.) A hardwired output is labeled OUTPUT in our example. INTERNAL COIL This is a programmable bit used to simulate a relay within the PLC. The internal coil has no connection to the outside world. It does not connect to an output card. Internal coils are used to store information. The “contacts” of this “relay” can then be used multiple times in other parts of the program. An internal coil is labeled COIL in our example. --] [-Normally Open Contact When used with a hardwired input, this instruction is off until there is a voltage applied to the input. The bit address then goes high, or on, and the instruction becomes “true.” It works the same way when it has the same address as an internal coil, except that the coil must be turned on by logic in the program. --]/[-Normally Closed Contact This is an inverted normally open contact. When used with a hardwired input, this instruction is "true" until there is a voltage applied to the input. It then goes low, or off, and becomes “false.” It also can be used with an internal coil, becoming true when the coil is off and becoming false when the coil is on. -( )Output Coil When used with a hardwired output, this function is off until the logic in the program allows it to turn on. It then becomes “true”, and will energize the device that is wired to the respective output. If it is used as an internal coil, it will toggle the instructions associated with it. That is, it will close a normally open instruction and open a normally closed instruction.
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
5
+---------+ TIMER | +-- SEC---+ Timer This function is used to supply a programmable delay. It requires the use of its "timer finished" bit, like a time delay relay uses its contact. +---------+ COUNTER | +-- 000---+ Counter The counter function is used to count events. It could be used to keep track of machine cycles, count parts, etc. It can be programmed with a preset value that triggers another event when the count is reached. TRUE - An indication the a bit is “on”. If you press a pushbutton switch that is wired to an input, then the bit is said to be true. Also, if the logic in a rung turns on the output of the rung, then the rung is said to be true. FALSE - Without stating the obvious, this is the opposite of true.
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
6
Equivalent Logic In its elementary form, PLC logic is very similar to the hard-wired logic you would find in an electrical ladder diagram. For example, if you wanted to turn on a light with a momentary pushbutton, you would wire it like the circuit below.
When you press PB1, the pilot light PL1 lights up.
Now let's do the same thing in a PLC. To duplicate the hardwired circuit on a PLC, you would wire the switch PB1 to an input and wire the light PL1 to an output. Each PLC manufacturer gives you the details of wiring their particular modules. The I/O (hardwired inputs and outputs) is set up like this: - There is a “PB1” pushbutton switch wired to INPUT1 of the PLC. - There is a “PL1” pilot light wired to OUTPUT1 of the PLC.
| PB1 PL1 | INPUT1 OUTPUT1 [---] [------------------------------------------------------( OUT ) |
Now let’s examine the sequence of events. When you first turn on the PLC, the PB1 pushbutton is off, or false. Therefore, the PL1 output is off. Pressing PB1 will make INPUT1 true, Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
7
OUTPUT1 will come on and the light will be energized. It will stay on only as long as you hold the button in. Just like electrical current has to flow through the switch to turn on the light in the hardwired circuit, the logic has to "flow" through the normally open instruction (which is closed when you press the switch) of INPUT1 to energize the output that turns on PL1. The programming terminal display will look something like this as you hold in PB1. The yellow highlight indicates the bit, or address, is “on” or “true”. | PB1 PL1 | INPUT1 OUTPUT1 [---] [------------------------------------------------------( OUT ) |
Let's look at how a timer works. Suppose you want to delay running a motor for 2 seconds after you turn on a switch. You can use the input from the switch to run a timer. Program the timer for the duration you want and then use the "timer finished" bit to turn on your motor. In this instance, we have configured an "on delay" timing sequence. Two seconds after INPUT1 is on, the TIMER1 will turn on its "finished" bit and the motor will run. Note that there is no "off delay" here. As soon as the start switch is released, the "timer finished" bit will drop out and the motor will stop. With a little creativity, you can combine timers to provide any timing function you need. |Start +--Motor -+ |Motor | Start | |PB1 | Delay | |INPUT1 TIMER1 | [---] [---------------------------------------------------+--2SEC------+ | | |Motor |Start Run |Delay Motor |TIMER1 OUTPUT1 [---] [-------------------------------------------------------( OUT )
One nice feature of PLCs is that you can document each bit in the program. In the example above, “INPUT1” is somewhat meaningless on its own. After you add the descriptive text “Start Motor PB1”, things make more sense. Most PLCs are programmed via a Windows based terminal. Editing, deleting or adding to the ladder logic is usually pretty straightforward. You use the arrow keys or the mouse to add instructions, change addresses or comments, etc. We won’t cover the specifics of keystrokes here, but will concentrate on understanding the ladder logic. These terminals will usually have the capability of programming online or offline. If you are making changes in online mode, be aware that any changes you make and save (or upload) will Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
8
alter the program that is being used to run the machine. This requires great care and a full understanding of what will happen when you make the change.
Scan Time One critical difference between a PLC program and the equivalent electrical circuit is the issue of scanning. It works like this in most PLCs: The PLC looks at the state of the inputs and stores that information in a temporary buffer. Then, it ignores what is happening electrically at the inputs. The PLC will use the information in the temporary buffer to execute the logic in the program. It will solve the logic from top to bottom, determining the truth of each rung, and turn on or turn off the appropriate addresses in the temporary buffer. When it reaches the last rung in the program, the PLC will use the data in the temporary buffer to turn on or turn off the corresponding outputs. The scan cycle is complete, and the PLC will once again look at the inputs. The amount of time this takes is called scan time, and is measured in milliseconds. Stated more simply, the PLC reads the inputs, performs the logic and adjusts the outputs as needed. In some newer PLCs, such as Rockwell’s ControlLogix platform, it doesn’t work that way. The inputs are updated during the program scan. In high-speed applications, such as bottling or pharmaceutical lines, this can cause problems.
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
9
The Automated Drill Press Now let’s jump right into a project. The best way to learn a programming language is to look at a real world example. However, before you can do any programming, you must have a clear understanding of how the machine works. Let’s say a furniture manufacturer needs to drill a 3/8” hole in a certain spot on a piece of wood. The entire process needs to be automatic. The mechanical and electrical engineers bring you an isometric drawing like the one shown here. Mechanical details have been omitted for clarity, as is often the case in a “concept” drawing.
The main conveyor will transport the part into the machine where the part will meet a pneumatically actuated stop gate. At that time, another pneumatic cylinder will actuate a clamp that will push the part back against the conveyor wall. This will hold the part in place during the drilling process. Photocells will verify that the part is in position; the spindle will lower and proceed to drill a hole in the part. After the hole has been drilled and the spindle has retracted to Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
10
its home position, the clamp will release, the stop gate will raise and the part will exit. The cycle then repeats itself for each part that comes down the line.
Sequence of Operation Here is a more detailed explanation of the drilling process: When the machine starts, the stop gate lowers and the part is moved into position by the main conveyor.
Optical sensors (photoeyes) determine when the part is in place. When the part is positioned correctly, a clamp extends to hold the part in place.
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
11
The spindle of the drill press is lowered, and the hole is drilled in the part. A sensor in the drill press spindle tells the PLC when the spindle has reached the end of its travel.
After the hole is drilled, the spindle retracts, the clamp retracts, the stop gate is lifted and the part is carried out of the machine by the main conveyor.
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
12
Operator Station An operator station for the machine might look like this. Though the device name, such as PB1, would not show up on the actual station, it is a good idea to show them on your drawing.
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
13
I/O Listing It is important to define the I/O (inputs/outputs) before you begin to program. Do not skip this crucial step. Listed below is the I/O arrangement for the Automated Drill Press program. Inputs Address INPUT1 INPUT2 INPUT3 INPUT4 INPUT5 INPUT6 INPUT7 INPUT10 INPUT11 INPUT12 INPUT20 INPUT23 INPUT24 INPUT26 INPUT27 INPUT31 INPUT32 INPUT33 INPUT34 INPUT35 INPUT36
Device Name PB1 PB2 PB3 SS4 CR1 PB6 PB7 PB10 PB11 PB12 MS1AUX MS2AUX MS5AUX LS26 PS27 PSC31 PSC32 PSC33 PSC34 PRS35 PRS36
Device Type pushbutton switch pushbutton switch pushbutton switch selector switch relay pushbutton switch pushbutton switch pushbutton switch pushbutton switch pushbutton switch aux contacts on motor starter aux contacts on motor starter aux contacts on motor starter limit switch air pressure switch photo-electric switch photo-electric switch photo-electric switch photo-electric switch proximity switch proximity switch
Description Reset System Start System Stop System System in Auto Mode Emergency Stop Cleared Start Press Stop Press Raise Spindle Lower Spindle Hold Part In Place Infeed Conveyor Running Main Conveyor Running Drill Press Running Guard in Place Air Pressure Normal Placed in X-Axis Placed in Y-Axis Part at Home Part Cleared Spindle Raised Spindle Lowered
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
14
Outputs Address OUTPUT1 OUTPUT2 OUTPUT5 OUTPUT6 OUTPUT7 OUTPUT11 OUTPUT12 OUTPUT20 OUTPUT21 OUTPUT22 OUTPUT23 OUTPUT24 OUTPUT25 OUTPUT26
Device Name MS1 MS2 MS5 DRV1 DRV1 SOL11 SOL12 PL20 PL21 PL22 PL23 PL24 PL25 PL26
Internal Coils Address COIL1 COIL2 COIL4 COIL5 COIL20 COIL21 COIL22 COIL23 COIL24 COIL34 COIL35 COIL40 COIL50
Device Type motor starter motor starter motor starter variable speed drive variable speed drive solenoid solenoid pilot light pilot light pilot light pilot light pilot light pilot light pilot light
Description Run Infeed Conveyor Run Main Conveyor Run Drill Press Raise Spindle Lower Spindle Hold Part in Place Lower Drilling Stop Gate System Running Drill Press Running Part in Place Part Jammed Motor Overload Detected Guard Open Low Air Pressure
Description System Running Pilot Light Test System in Auto Mode System in Manual Mode No Part In Machine Machine at Home Machine in Cycle Drilling Operation Complete End of Machine Cycle Part Jam Detected Excessive Drill Time Detected Motor Overload Detected System Fault
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
15
The Program Now that you understand what has to be done and how it is to be accomplished by the mechanical equipment, you can begin writing the program. The text in the fixed font is basically the information that you would see if you were looking at the monitor of the computer or a printout. In actual practice, the fonts used in PLC software vary widely. For the purposes of this book, we want to easily differentiate the program logic from our explanations of the logic. A series of asterisks (*****) indicates a "rung comment." This is descriptive text added to the program, and is seen on the programming monitor, but has no affect on the logic. For purposes of this manual, I have placed additional explanations between rungs. Use a title to name the program and include any general information. | | | | | |
____________________________________________________________ | | | AUTOMATIC DRILL PRESS MACHINE CONTROL | | PRODUCTION LINE #3 | | REVISION 2 | |__________________________________________________________|
Machine Safeties It is best to start a program by evaluating any safety switches and setting a master bit. This type of bit is what we call an internal coil. It has no hardwired connection to the outside world. In this case, a latch is used to set an internal “System Running” bit. The “latch” is accomplished by putting a normally open contact around the Start System pushbutton input. If the emergency stop is clear, and the machine guard is in place, and there is no system fault the operator may press the start button to set the latch. If the stop button is pushed or a previous conditions ceases to exist, the “System Running” latch will drop out. Most of the time, the order of the bits in a rung doesn't matter. We could have rearranged any of the bits in this rung, though we would still have to put the latch around the Start pushbutton. The PLC wouldn't care and the output coil would still respond the same. However, to make the rung easier to read, I try to place bits from left to right in order of importance. If the E-Stop is not cleared, then nothing else should matter anyway. Having the safety guard in place is more important than a system fault. Now, if those requirements have been met, we can press the start button. And we don't care about the stop button until we have pushed the start button. Note the instruction used for the input of PB3, the Stop System bit. It may seem backwards at first, since a hard-wired circuit would use the normally closed contacts of the switch. In fact, the Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
16
switch is wired in the failsafe position, using the normally closed contacts as the input to the PLC. The E-Stop and the guard limit switch are called "safety interlocks." NEVER rely on a PLC to stop a machine if a contact of a safety interlock is open. ALWAYS use an interlock in a hardwired, fail-safe circuit. Use additional contacts from the switches and wire them to inputs of the PLC so that it knows the machine is to be stopped, or has stopped. It is very important to label the bits properly. Arrange the verbs and nouns correctly. If you do, the rung will read like a sentence. You can look at this rung and say “If the Emergency Stop is Cleared and the Guard is in Place and there is no System Fault and the Start System button is pressed and the Stop System button is not pressed the System Running coil will turn on and latch itself”. There are some simple rules that I always follow when I am writing a description for a bit: -
Descriptions for bits portray an action.
-
Descriptions are written to describe the “normally open” condition of the bit.
-
The description is true when the normally open instruction of the bit is on.
-
The description is false when the normally open instruction of the bit is off.
| ***** Ensure all machine safeties have been made to allow | the system to be enabled. | |EmergStop Guard in Start Stop |Cleared Place System System System System |CR1 LS26 Fault PB2 PB3 Running | INPUT5 INPUT26 COIL50 INPUT2 INPUT3 COIL1 1 [---] [--------] [--------]/[----+----] [----+----] [----------( OUT ) | | | | | | | | System | | | Running | | | COIL1 | | +----] [----+
The main reason for setting a master “System Running” bit is to simplify the program. For example, we don’t want the spindle motor to run if the e-stop has been pressed, or if the guard is not in place, or if there is a system fault. Rather than putting all of these bits in the rung that controls the spindle motor, we can summarize all of these bits and make the “System Running” bit. We can then place just that bit in the rung that controls the spindle motor and know that we have met all the criteria to allow the spindle motor to run. Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
17
Pilot Light Test The next two rungs provide a pilot light test. The idea is to turn on all the pilot lights for a couple of seconds so you can verify that all the lights work. This feature is very handy when you are troubleshooting a machine. When the Emergency stop is first cleared, Timer 0 is started.
2
| ***** Perform a pilot light test upon clearing the | emergency stop. | | | +--Pilot-+ |EmergStop | Light | |Cleared | Test | |CR1 | Time | |INPUT5 TIMER0 | [---] [----------------------------------------------------+--2SEC--+ | | |
During the period when the Emergency Stop is clear but the timer is not finished, the Pilot Light Test bit is on. The result is that all the pilot lights will turn on for two seconds after the E-Stop is cleared. This bit is then used throughout the program.
| ***** Test the pilot lights. | |EmergStop Pilot Pilot |Cleared Light Light |CR1 Test Time Test |INPUT5 TIMER0 COIL2 3 [---] [-------]/[----------------------------------------------( OUT |
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
)
18
Indicate The System Is Operational Let the operator know that the safeties have been made and the machine is ready to run. | | ***** Indicate the system is operational. | | | System |System Running |Running PL20 | COIL1 OUTPUT20 4 [---] [---+----------------------------------------------------( OUT ) | | |Pilot | |Light | |Test | |COIL2 | [---] [---+ | |
Machine Operation Mode Here we look at the Manual/Auto Mode selector switch to set the machine mode. You want to enable certain machine functions in Auto Mode, and disable some in Manual Mode, and vice versa. Notice how the System Running bit is used. If we lose that bit, such as when the emergency stop is pressed or the machine guard is opened, neither mode is valid. The state of the bits below indicates that the System Mode Selector switch is in “Auto”. | | ***** Determine the mode of machine operation. | | | System In System in |System Auto Mode Manual |Running SS4 Mode | COIL1 INPUT4 COIL5 5 [---] [-------]/[--------------------------------------------( OUT ) | | | | System In |System Auto Mode System in |Running SS4 Auto Mode | COIL1 INPUT4 COIL4 6 [---] [-------] [--------------------------------------------( OUT ) |
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
19
Run The Spindle Drive Motor This rung turns on the drill press spindle motor. It will come on immediately in automatic mode, but it can also be controlled by the “Start Press” and “Stop Press” switches in manual mode.
| ***** Run the spindle drive motor of the drill press. A | manual mode is provided to allow ease of set-up. | | | Run Drill |System in Press |Auto Mode MS5 | COIL4 OUTPUT5 7 [---] [-----------------------+----------------------------( OUT ) | | |SystemIn Start Stop | |Manual Press Press | |Mode PB6 PB7 | | COIL5 INPUT6 INPUT7 | [---] [---+---] [---+---] [---+ | | | | |Run Drill| | |Press | | |MS5 | | | OUTPUT5 | | +---] [---+ |
Indicate The Spindle Drive Is Running Turn on the pilot light to let the operator know the motor is running.
| | ***** Indicate the drill press is running. | | |Run Drill DrillPres |Press Running |MS5 PL21 | OUTPUT5 OUTPUT21 8 [---] [---+------------------------------------------------( OUT ) | | |Pilot | |Light | |Test | | COIL2 | [---] [---+
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
20
Run The Infeed Conveyor Run the conveyor all the time when the machine is in auto mode. Note the use of the “System In Auto Mode” bit to ensure all machine safety conditions have been met.
| | ***** Run the infeed conveyor if the machine is | in automatic mode. | | | RunInfeed |System in Conveyor |Auto Mode MS1 | COIL4 OUTPUT1 9 [---] [---------------------------------------------------( OUT ) | |
Ensure There Are No Parts In The Machine You want to make sure there are no parts in the machine before you start a cycle. These photoeyes are positioned so that if they "see" a part, they will turn on the input. A part will break the beam, the input will turn on and you know you have a part present. In this rung, we want to make sure there is no part in the machine. The rung will only be true if all the photoeyes indicate there is not a part present.
| | ***** Ensure there are no parts in the machine to start the | drilling cycle. | | |Placed in Placed in Part at Part No Part |X-Axis Y-Axis Home Cleared In |PSC31 PSC32 PSC33 PSC34 Machine | INPUT31 INPUT32 INPUT33 INPUT34 COIL20 10 [---]/[---------]/[---------]/[---------]/[-------------------( OUT ) | |
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
21
Ensure All Components Are At Home Make sure all the moving parts of the machine are at their initial or "home" position before you allow any automatic motion to begin. This is standard on most machines. | ***** Ensure all components are at home. | | |Hold Part Drilling Spindle |In Place Stop Gate Raised Machine |SOL11 SOL12 PRS35 At Home |OUTPUT11 OUTPUT12 INPUT35 COIL21 11 [---]/[---------]/[---------] [--------------------------( OUT |
)
Begin The Cycle Here is the rung that starts the machine's automatic cycle. When the operator goes to Auto Mode, and there are no parts in the machine, and the machine components are at home, the cycle will begin. You might ask, "If there is a part in the press, wouldn't the machine start running as soon as the operator took the part out?" The answer has to be no. You don't want this machine to start running when someone clears a part. In our case, to remove a part the operator would have to open the machine guard door in order to physically remove the part, and that would kick the machine out of automatic mode. He would have to close the guard and start the machine again. | | ***** Begin the cycle when the part has cleared the machine | and all components are at home. Bit coil22 will stay on | during the entire drilling cycle and drop out when an end of cycle | signal is generated. | | | No Part End of |System in In Machine Machine Machine |Auto Mode Machine At Home Cycle In Cycle | COIL4 COIL20 COIL21 COIL24 COIL22 12 [---] [---+---] [-------] [---+---]/[--------------------------( OUT ) | | | | | | | |Machine | | |In Cycle | | | COIL22 | | +---] [-------------+ |
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
22
Lower The Stop Gate Lower the stop gate when the machine is in cycle. | ***** Lower the stop gate to stop the part under the | spindle. | | | Drilling |Machine Stop Gate |In Cycle SOL12 | COIL22 OUTPUT12 13 [---] [-----------------------------------------------( OUT ) |
Run The Main Conveyor Bring the part into position by running the conveyor in the press. Note that the PLC will stop the conveyor after the part has been clamped in place (Rung 16), but until that happens, the conveyor will run. | | ***** Run the main conveyor unless a part is being clamped. | | | Hold Part Run Main |System in In Place Conveyor |Auto Mode SOL11 MS2 | COIL4 OUTPUT11 OUTPUT2 14 [---] [---------]/[-----------------------------------------( OUT ) |
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
23
Indicate The Part Is In Place The photoeye PSC33 is physically placed so that the part will block the beam of the photoeye when the part is in place. This rung will let the operator know that. | ***** Indicate the part is in place and ready to be drilled. | | |Part at Part In |Home Place |PSC33 PL22 |INPUT33 OUTPUT22 15 [---] [---------------------------+-------------------------( OUT ) | | |Pilot | |Light | |Test | | COIL2 | [---] [---------------------------+
Clamp The Part In Place When the part is in position, the PLC will clamp it in place. Since the “Hold Part In Place” bit is used in Rung 14, the main conveyor will stop running. Also, a manual method of holding the part has been provided for machine set-up. | | ***** Clamp the part in place after it has reached the | proper position. | | | Part at Hold Part |Machine Home In Place |In Cycle PSC33 SOL11 | COIL22 INPUT33 OUTPUT11 16 [---] [---------] [-----------------------------+-------( OUT ) | | |System in Hold Part | |Manual In Place | |Mode PB12 | | COIL4 INPUT12 | [---] [---------] [-----------------------------+ | |
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
24
Lower The Spindle The spindle of the press is a variable speed motor. This particular drive has two inputs; one to make the motor go forward (move the spindle down) and one to make the motor go in reverse (move the spindle up). So, when the part is held in place, the PLC will command the drive to lower the spindle until it reaches the lower limit (Spindle Lowered) proximity switch. The Raise Spindle bit (OUTPUT6) from Rung 19 is used to keep the drive from trying to lower the spindle until after the drilling has been completed. We don’t want to tell the spindle to lower and raise at the same time.
| | ***** After the part has been clamped in place, lower the | spindle. The feed rate is determined by a variable speed | drive. | | | Hold Part Spindle Raise Lower |Machine In Place Lowered Spindle Spindle |In Cycle SOL11 PRS36 DRV1RAISE DRV1LOWER | COIL22 OUTPUT11 INPUT36 OUTPUT6 OUTPUT7 17 [---] [---+---] [---+---]/[-------]/[---+----------------( OUT ) | | |System in Lower | |Manual Spindle | |Mode PB11 | | COIL5 INPUT11 | [---] [-------] [-----------------------+ |
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
25
Drilling Operation Is Complete When the spindle has reached the end of travel and activates the Spindle Lowered prox switch, an internal bit is set to indicate that the drilling operation is complete. | | ***** The drilling operation is complete if the spindle | reaches the lower limit in automatic mode. | | | Spindle Drilling |Machine Lowered Operation |In Cycle PRS36 Complete | COIL22 INPUT36 COIL23 18 [---] [---+---] [---+--------------------------------------( OUT ) | | | | |Drilling | | |Operation| | |Complete | | | COIL23 | | +---] [---+ |
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
26
Return The Spindle To Its Home Position After the drilling operation is complete, a latch is set to raise the spindle. Since the spindle is below the SPINDLE RAISED proximity switch, the PLC will tell the spindle to raise. As soon as the spindle reaches the upper end of travel and trips the SPINDLE RAISED proximity switch, the latch drops out. A manual method of raising the spindle is also provided. | | ***** After the spindle has reached the lower limit of its | travel, return the spindle to its home position. | | | Drilling Spindle Raise |Machine Operation Raised Spindle |In Cycle Complete PRS35 DRV1RAISE | COIL22 COIL23 INPUT35 OUTPUT6 19 [---] [---+---] [---+-----]/[---+----------------------------( OUT ) | | | | | |Raise | | | |Spindle | | | |DRV1RAISE| | | | OUTPUT6 | | | +---] [---+ | | | |System in Raise | |Manual Spindle | |Mode PB10 | | COIL5 INPUT10 | [---] [----------] [------------+ | |
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
27
Machine Cycle Is Complete This rung terminates the machine cycle. The drilling is done and the spindle is back in its home position, so the End of Machine Cycle bit is latched. When this bit goes high, it causes the Machine In Cycle latch to drop out (Rung 12). This in turns raises the stop gate (Rung 13), releases the part (Rung 15) and turns on the main conveyor (Rung 14). The End of Machine Cycle latch drops out when the Machine In Cycle bit goes low. When the part clears all the photoeyes, the stop gate lowers and the machine waits for another part.
| ***** The machine cycle is complete if the drilling | operation is complete and the spindle is raised. | | | Drilling Spindle End of |Machine Operation Raised Machine |In Cycle Complete PRS35 Cycle | COIL22 COIL23 INPUT35 COIL24 20 [---] [---+---] [---------] [---+---------------------------( OUT ) | | | | |End of | | |Machine | | |Cycle | | | COIL24 | | +---] [---------------+
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
28
Fault Detection And System Diagnostics This section of the program evaluates problems and monitors the machine. The machine would still run without these rungs, but they make life a lot easier for the operators and could prevent the machine from damaging itself. | | | |
____________________________________________________________ | | | FAULT DETECTION AND SYSTEM DIAGNOSTICS | |__________________________________________________________|
Personnel Safety Guard Door Let the operator know if the guard door is open. You might think this should be obvious, but it is nice to have a red light come on when a safety gate is open. It makes people take a little more care when working around the machine. | **** Indicate if the personnel safety guard door is open. | |Guard in Guard |Place Open |LS26 PL25 | INPUT26 OUTPUT25 21 [---]/[---+------------------------------------------------( OUT ) | | |Pilot | |Light | |Test | | COIL2 | [---] [---+
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
29
Low Compressed Air Pressure It is a good idea to keep track of the compressed air pressure. The machine will not operate properly if there is insufficient air pressure. You can put it on a fairly long time delay, because you don't care about momentary drops in pressure, like a second or two. But when it does drop beyond the lower limit for enough time, you want the machine to stop. You also want it to latch so you know why the machine stopped running. The air pressure could come back up before the operator sees the pilot light, and he would be left scratching his head. The latch is reset by the Reset System pushbutton. | ***** Detect abnormally low compressed air pressure. | | |AirPressr +--Air -+ |Normal | Pressure | |PS27 | Abnormal | | INPUT27 TIMER27 | 22 [---]/[-------------+---------------------------------+---4SEC-----+ | | |Air Reset | |Pressure System | |Abnormal PB1 | | TIMER27 INPUT1 | [---] [-------]/[---+ | | | ***** Indicate abnormally low air pressure. | |Air Low Air |Pressure Pressure |Abnormal PL26 | TIMER27 OUTPUT26 23 [---] [---+-------------------------------------------------( OUT ) | | |Pilot | |Light | |Test | | COIL2 | [---] [---+
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
30
Motor Starter Overload If the auxiliary contacts in the motor starters don't pull in after one second, there is some kind of problem. You have to look at each one individually. | ***** The starter is assumed to be overloaded if the aux | contact does not pull in after 1 second. | |RunInfeed InfedConv +--Infeed -+ |Conveyor Running | Conveyor | |MS1 MS1AUX | Overload | | OUTPUT1 INPUT20 TIMER1 | 24 [---] [-------]/[-------------------------------------+--1SEC------+ | | | |Run Main Main Conv +--Main -+ |Conveyor Running | Conveyor | |MS2 MS2AUX | Overload | | OUTPUT2 INPUT23 TIMER3 | 25 [---] [-------]/[-------------------------------------+---1SEC-----+ | | |Run Drill DrillPres +--Drill -+ |Press Running | Press | |MS5 MS5AUX | Overload | |OUTPUT5 INPUT24 TIMER5 | 26 [---] [-------]/[-------------------------------------+---1SEC-----+ | |
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
31
Latch The Motor Overload Detection If any of the overload timers finish, latch the alarm bit. When the operator presses the “Reset System” pushbutton, the alarm will be cleared. | ***** Latch the motor overload detection. | |Infeed Reset Motor |Conveyor System Overload |Overload PB1 Detected | TIMER1 INPUT1 COIL40 27 [---] [---+---]/[-------------------------------------------( OUT ) | | |Main | |Conveyor | |Overload | | TIMER3 | [---] [---] | | |Drill | |Press | |Overload | | TIMER5 | [---] [---] | | |Motor | |Overload | |Detected | | COIL40 | [---] [---+
Indicate A Motor Overload Condition Display the alarm. | ***** Indicate a motor overload condition. | | |Motor Motor |Overload Overload |Detected PL24 | COIL40 OUTPUT24 28 [---] [---+-------------------------------------------------( OUT ) | | |Pilot | |Light | |Test | | COIL2 | [---] [---+
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
32
Jammed Part Detection Rung 30 contains what is known as a "watchdog timer." A watchdog timer keeps track of the amount of time it takes for a machine to complete a given process. If a part is sitting in the machine for more than 30 seconds while the machine is in cycle, then the part is probably jammed. This is also a good indication of a photoeye that has become dirty and blocked. It will also tell you if a conveyor belt stopped turning.
| ***** A part is jammed if a photocell detects a part for | more than 30 seconds during the machine cycle. | | Placed in +--Part -+ |Machine X-Axis | Jam | |In Cycle PSC31 | Time | | COIL22 INPUT31 TIMER34 | 29 [---] [---+---] [---+---------------------------------+--30SEC-----+ | | | | |Placed in| | |Y-Axis | | |PSC32 | | | INPUT32 | | [---] [---] | | | | |Part at | | |Home | | |PSC33 | | | INPUT33 | | [---] [---] | | | | |Part | | |Cleared | | |PSC34 | | | INPUT34 | | +---] [---+
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
33
Latch The Part Jammed Detection | ***** Latch the part jammed detection. | |Part |Jam Part Jam |Time Detected | TIMER34 COIL34 30 [---] [-------------+---------------------------------------( OUT ) | | | Reset | |Part Jam System | |Detected PB1 | | COIL34 INPUT1 | [---] [-------]/[---+ | |
Indicate A Part Jammed Condition | ***** Indicate a part jammed condition. | | Part |Part Jam Jammed |Detected PL23 | COIL34 OUTPUT23 31 [---] [---+------------------------------------------------( OUT ) | | |Pilot | |Light | |Test | | COIL2 | [---] [---+
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
34
Monitor The Drill Time Keep an eye on the drill time. If this timer finishes, there could be a bad prox switch, a broken drill bit or a spindle drive malfunction. | ***** Monitor the drill time. | | Spindle +--Drill -+ |Machine Raised | Watchdog | |In Cycle PRS35 | Timer | | COIL22 INPUT35 TIMER35 | 32 [---] [-------]/[-------------------------------------+---8SEC-----+ | | ***** Latch the excessive drill time detection. | |Drill Excessive |Watchdog DrillTime |Timer Detected | TIMER35 COIL35 33 [---] [-------------+--------------------------------------( OUT ) | | |Excessive Reset | |DrillTime System | |Detected PB1 | | COIL35 INPUT1 | [---] [-------]/[---+
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
35
Summarize The Fault Conditions This rung puts all the faults together to supply one bit to shut off the machine if any of these problems are detected. The “System Fault” (COIL50) is used, as you recall, in Rung 1 to stop the machine if there is any problem. | | ***** Summarize the fault conditions and stop all machine | motion if any one of these faults occur. | | |Guard in |Place System |LS26 Fault | INPUT26 COIL50 34 [---]/[---+-----------------------------------------------( OUT | | |Air | |Pressure | |Abnormal | | TIMER27 | [---] [---] | | |Motor | |Overload | |Detected | | COIL40 | [---] [---] | | | | |Part Jam | |Detected | | COIL34 | [---] [---] | | |Excessive| |DrillTime| |Detected | | COIL35 | +---] [---+
)
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
36
13 Marks Of A Well Written Program A well written program will: - meet the specified production requirements of time a quality control. - always tells the operator why the PLC stopped the machine. - be as simple as possible. - use a minimum of ladder logic. - not violate any specs (NEC, JIC, client, etc.) - make the machine easy to start and operate. - recover well from a fault. - tolerate physical variations and mechanical adjustment (changing belt speed, deviations in air pressure, cylinder speeds, etc.) - detect bad machine components, if at all possible. - be easy to understand and troubleshoot. - stand the test of time. - not let the machine break itself. - make the machine sound good and run smoothly.
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
37
General PLC Tips Here are a few general PLC tips: The only true test of program integrity and reliability is time. If someone tells you about problem with a program that has been running for few days, consider the program. If the program has been running for a few months, consider other potential problems, such as a hardware failure of a peripheral device. Get as many different PLC programming manuals as you can find and hold onto them. Many companies use PLCs that are older models, and you never know when you might run across one. Avoid putting two devices in series on a PLC input, or paralleling two devices on an output. Most always, you will end up regretting it. Assign wire numbers and device numbers going from your I/O to match the respective input or output. Don't use timers in the process loop of a program. Write event-triggered programs, based on actual changes in temperature, position, speed and so on. Backup your program files frequently, but don't erase your old files until you are sure you don't need them. Always know how to retrace your footsteps.
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
38
The Automated Drill Press in Rockwell Automation’s RSLogix 500 The most popular and most widely used manufacturer of PLCs is Rockwell Automation, who produces the Allen-Bradley MicroLogix and SLC series of PLCs. The MicroLogix and SLC families of processors and I/O modules are all programmed using Rockwell’s proprietary software known as RSLogix. I used a generic style of ladder logic in the first part of the book to explain the fundamentals of ladder logic. This style was chosen because it applies to all types of PLCs. To give you a better understanding of how the program would look in a real world situation, I have included the same Automated Drill Press program as it would appear if it were written in Allen-Bradley’s RSLogix. Here is an example:
I will give you a brief outline of the differences between the generic format of ladder logic that I used and RSLogix’s format: First, though, the address descriptions and the rung comments are the same in the RSLogix program as they are in the generic program. Despite what the numbers say under the Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
39
instruction, “System in Auto Mode” is the same bit here as the “System in Auto Mode” is in the generic program. Outputs Allen-Bradley labels their outputs starting with a capital “O”, whereas we used “output” in the generic program. In the rung above, “O:3/2” is the same bit as “OUTPUT5” in our generic program. “1746-O*16” indicates the type of output module. Inputs Allen-Bradley labels their inputs starting with a capital “I”, whereas we used “input”. In the rung above, “I:1/5” is the same bit as “INPUT5” in our generic program. “1746-I*16” indicates the type of input module. Coils (internal bits) Allen-Bradley labels most their internal “coils” starting with a capital “B3”, whereas we used “out”. In the rung above, “B3:0/2” is the same bit as “COIL4” in our generic program. Cross Reference The RSLogix program shows cross-referencing. The number “2:5” under the first instruction means that the output (or, “coil”) for that address is found in file 2, rung 5. “2” is the first, and default, data file of a ladder in RSLogix. The output O:3/2 shows that its “contacts” are found on rungs 6, 7 and 25 of data file 2. Rung Numbers RSLogix starts with rung 0000 – the generic program starts with rung 1, so the rung numbers shown in the RSLogix program will be one less than the rung numbers in the generic program. Logic Flow Bits that are true in our RSLogix program are shown with a green highlight. This RSLogix ladder printout above is a snapshot showing the system in automatic mode, the part is in place and the drill bit is being lowered. There are no faults. Other Information RSLogix will provide a variety of information regarding the program and hardware. I have included those pages here. If you want to gain a firm understanding of RSLogix, you may be interested in PLC Programming with RSLogix 500 How to Program an Allen-Bradley SLC 500 with Rockwell Automation’s RSLogix 500. This ebook provides a step-by-step tutorial on how to create an automatic batching program in Allen-Bradley’s RSLogix 500. It is published exclusively by Modern Media and is available at http://www.modernmediaonline.com. Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
40
RSLogix500 Project Report
Processor Type: 1747-L553B
DRILPRES.RSS Processor Information
5/05 CPU - 64K Mem. OS501 Series C
Processor Name: DRILPRES Total Memory Used: 173 Instruction Words Used - 127 Data Table Words Used Total Memory Left: 61267 Instruction Words Left Program Files: 3 Data Files: 9 Program ID: d065
0 1 2 3
DRILPRES.RSS I/O Configuration
1747-L553B 1746-I*16 1746-I*16 1746-O*16
5/05 CPU - 64K Mem. OS501 Series C Any 16pt Discrete Input Module Any 16pt Discrete Input Module Any 16pt Discrete Output Module
DRILPRES.RSS Channel Configuration
GENERAL Channel Channel Channel Channel
1 1 1 1
Write Protected: No Edit Resource/Owner Timeout: Passthru Link ID: 2 Diagnostic File: 0
Channel Channel Channel Channel Channel Channel Channel Channel Channel
0 0 0 0 0 0 0 0 0
Write Protected: No Edit Resource/Owner Timeout: 60 Passthru Link ID: 1 Current Mode: System Mode Change Enabled: No Mode Change Attention Character: Mode Change System Character: S Mode Change User Character: U Diagnostic File: 0
60
CHANNEL 1 (SYSTEM) - Driver: Ethernet Broadcast Address: 0.0.0.0 Hardware Address: 00:00:00:00:00:00 IP Address: 0.0.0.0 Subnet Mask: 0.0.0.0 Gateway Address: 0.0.0.0 Msg Connection Timeout (x 1mS): 15000 Msg Reply Timeout (x mS): 3000 Inactivity Timeout (x Min): 30 Bootp Enable: Yes Bootp Valid: No Contact: Location: CHANNEL 0 (SYSTEM) - Driver: DF1 Full Duplex Source ID: 0 (decimal) Baud: 19200 Parity: NONE Stop Bits: 1 Control Line : No Handshaking Error Detection: CRC Embedded Responses: Enabled Duplicate Packet Detect: Yes ACK Timeout: 50 NAK Retries: 3 ENQ Retries: 3 CHANNEL 0 (USER) - Driver: ASCII Baud: 19200 Parity: NONE Stop Bits: 1 Data Bits: 8 Control Line : No Handshaking Delete mode: Ignore Echo: No XON/XOFF: No Termination Character 1: \d Termination Character 2: \ff Append Character 1: \d Append Character 2: \a
\1b
Name [SYSTEM] MAIN
DRILPRES.RSS Program File List
Number 0 1 2
Type SYS SYS LADDER
Rungs 0 0 35
Debug No No No
Bytes 0 0 1182
Name OUTPUT INPUT STATUS BINARY TIMER COUNTER CONTROL INTEGER FLOAT
DRILPRES.RSS Data File List
Number 0 1 2 3 4 5 6 7 8
Type
Scope
Debug
O I S B T C R N F
Global Global Global Global Global Global Global Global Global
No No No No No No No No No
Words 3 6 0 1 108 3 3 1 2
Elements Last 1 2 83 1 36 1 1 1 1
O:0 I:1 S:82 B3:0 T4:35 C5:0 R6:0 N7:0 F8:0
DRILPRES.RSS LAD 2 - MAIN --- Total Rungs in File = 35
0000
Ensure all machine safeties have been made to allow the system to be enabled. EmergStop Guard in Start Stop Cleared Place System System System CR1 LS26 Fault PB2 PB3 I:1/4 I:2/4 B3:0/12 I:1/1 I:1/2 1746-I*16
1746-I*16
2:33
1746-I*16
1746-I*16
System Running B3:0/0 2:0 System Running
B3:0/0
B3:0/0 - XIC - 2:0, 2:3, 2:4 2:5
0001
Perform a pilot light test upon clearing the emergency stop. EmergStop Cleared CR1 I:1/4 1746-I*16
Pilot Light Test Time TON Timer On Delay Timer Time Base Preset Accum
T4:0 1.0 2< 2<
EN DN
T4:0/DN - XIO -2:2
0002
Test the pilot lights. EmergStop Pilot Cleared Light CR1 Test Time I:1/4 T4:0/DN 1746-I*16
2:1
Indicate the system is operational.
0003
System Running B3:0/0 2:0 Pilot Light Test B3:0/1 2:2
Pilot Light Test
B3:0/1
B3:0/1 - XIC - 2:3, 2:7, 2:14 2:20, 2:22, 2:27 2:30 System Running PL20 O:3/7 1746-O*16
DRILPRES.RSS LAD 2 - MAIN --- Total Rungs in File = 35
0004
0005
0006
Determine the mode of machine operation. System in System Auto Mode Running SS4 B3:0/0 I:1/3 2:0
System in Manual Mode
B3:0/3 - XIC - 2:6, 2:15, 2:16 2:18
1746-I*16
System Running B3:0/0 2:0
B3:0/3
System in Auto Mode SS4 I:1/3
System in Auto Mode B3:0/2
1746-I*16
B3:0/2 - XIC - 2:6, 2:8, 2:11 2:13
Run the spindle drive motor of the drill press. A manual mode is provided to allow ease of set-up. Run Drill System in Press Auto Mode MS5 B3:0/2 O:3/2 2:5 System in Manual Mode B3:0/3 2:4
Start Press PB6 I:1/5
Stop Press PB7 I:1/6
1746-I*16
1746-I*16
1746-O*16 O:3/2 - XIC - 2:6, 2:7, 2:25
Run Drill Press MS5 O:3/2 1746-O*16 2:6 Indicate the drill press is running.
0007
Run Drill Press MS5 O:3/2 1746-O*16 2:6 Pilot Light Test B3:0/1 2:2
Drill Press Running PL21 O:3/8 1746-O*16
DRILPRES.RSS LAD 2 - MAIN --- Total Rungs in File = 35
Run the infeed conveyor if the machine is in automatic mode.
0008
0009
2:5
1746-I*16
1746-I*16
Ensure all components are at home. Hold Part Drilling in Place Stop Gate SOL11 SOL12 O:3/5 O:3/6 1746-O*16 2:15
0011
1746-O*16 O:3/0 - XIC -2:23
Ensure there are no parts in the machine to start the drilling cycle. Placed in Placed in Part at Part X-Axis Y-Axis Home Cleared PSC31 PSC32 PSC33 PSC34 I:2/6 I:2/7 I:2/8 I:2/9 1746-I*16
0010
Run Infeed Conveyor MS1 O:3/0
System in Auto Mode B3:0/2
1746-O*16 2:12
No Part In Machine B3:0/4 B3:0/4 - XIC -2:11
1746-I*16
Spindle Raised PRS35 I:2/10
Machine at Home B3:0/5 B3:0/5 - XIC -2:11
1746-I*16
Begin the cycle when the part has cleared the machine and all components are at home. Bit B3:0/6 will stay on during the entire drilling cycle and drop out when an end of cycle signal is generated. No Part End of System in In Machine Machine Auto Mode Machine at Home Cycle B3:0/2 B3:0/4 B3:0/5 B3:0/8 2:5
2:9
2:10
2:19
Machine in Cycle B3:0/6 2:11 Machine in Cycle
B3:0/6
B3:0/6 - XIC - 2:11, 2:12, 2:15 2:16, 2:17, 2:18 2:19, 2:28, 2:31 Lower the stop gate to stop the part under the spindle.
0012
Machine in Cycle B3:0/6 2:11
Drilling Stop Gate SOL12 O:3/6 1746-O*16 O:3/6 - XIO -2:10
DRILPRES.RSS LAD 2 - MAIN --- Total Rungs in File = 35
0013
0014
Run the main conveyor unless a part is being clamped. Hold Part System in in Place Auto Mode SOL11 B3:0/2 O:3/5 2:5
Run Main Conveyor MS2 O:3/1
1746-O*16 2:15
1746-O*16 O:3/1 - XIC -2:24
Indicate the part is in place and ready to be drilled. Part at Home PSC33 I:2/8
Part in Place PL22 O:3/9
1746-I*16
1746-O*16
Pilot Light Test B3:0/1 2:2
0015
Clamp the part in place after it has reached the proper position. Part at Machine Home in Cycle PSC33 B3:0/6 I:2/8 2:11 System in Manual Mode B3:0/3 2:4
0016
1746-I*16
Hold Part in Place SOL11 O:3/5 1746-O*16 O:3/5 - XIC -2:16 XIO - 2:10, 2:13
Hold Part In Place PB12 I:1/9 1746-I*16
After the part has been clamped in place, lower the spindle. The feed rate is determined by a variable speed drive. Hold Part Spindle Raise Lower Machine in Place Lowered Spindle Spindle in Cycle SOL11 PRS36 DRV1RAISE DRV1LOWER B3:0/6 O:3/5 I:2/11 O:3/3 O:3/4 2:11
System in Manual Mode B3:0/3 2:4
1746-O*16 2:15 Lower Spindle PB11 I:1/8 1746-I*16
1746-I*16
1746-O*16 2:18
1746-O*16
DRILPRES.RSS LAD 2 - MAIN --- Total Rungs in File = 35
0017
The drilling operation is complete if the spindle reaches the lower limit in automatic mode. Spindle Drilling Machine Lowered Operation in Cycle PRS36 Complete B3:0/6 I:2/11 B3:0/7 2:11
B3:0/7 - XIC - 2:17, 2:18, 2:19
1746-I*16 Drilling Operation Complete B3:0/7 2:17
0018
After the spindle has reached the lower limit of its travel, return the spindle to its home position. Drilling Spindle Raise Machine Operation Raised Spindle in Cycle Complete PRS35 DRV1RAISE B3:0/6 B3:0/7 I:2/10 O:3/3 2:11
2:17
1746-I*16
Raise Spindle DRV1RAISE O:3/3
1746-O*16 O:3/3 - XIC -2:18 XIO -2:16
1746-O*16 2:18 System in Manual Mode B3:0/3 2:4
0019
Raise Spindle PB10 I:1/7 1746-I*16
The machine cycle is complete if the drilling operation is complete and the spindle is raised. Drilling Spindle End of Machine Operation Raised Machine in Cycle Complete PRS35 Cycle B3:0/6 B3:0/7 I:2/10 B3:0/8 2:11
2:17 End of Machine Cycle B3:0/8 2:19
1746-I*16
B3:0/8 - XIC -2:19 XIO -2:11
DRILPRES.RSS LAD 2 - MAIN --- Total Rungs in File = 35
0020
Indicate if the personnel safety guard door is open. Guard in Place LS26 I:2/4
Guard Open PL25 O:3/12
1746-I*16
1746-O*16
Pilot Light Test B3:0/1 2:2
0021
Detect abnormally low compressed air pressure. Air Pressure Normal PS27 I:2/5 1746-I*16 Air Pressure Abnormal T4:27/DN 2:21
0022
Reset System PB1 I:1/0
Air Pressure Abnormal TON Timer On Delay Timer Time Base Preset Accum
T4:27 1.0 4< 0<
EN DN
T4:27/DN - XIC - 2:21, 2:22, 2:33
1746-I*16
Indicate abnormally low air pressure. Air Pressure Abnormal T4:27/DN
Low Air Pressure PL26 O:3/13
2:21
1746-O*16
Pilot Light Test B3:0/1 2:2
0023
The starter is assumed to be overloaded if the aux contact does not pull in after 1 second. Run Infeed InfedConv Infeed Conveyor Running Conveyor MS1 MS1AUX Overload O:3/0 I:2/0 TON Timer On Delay Timer 1746-O*16 1746-I*16 Time Base 2:8 Preset Accum T4:1/DN - XIC -2:26
T4:1 1.0 1< 0<
EN DN
DRILPRES.RSS LAD 2 - MAIN --- Total Rungs in File = 35
0024
Run Main Conveyor MS2 O:3/1 1746-O*16 2:13
Main Conv Running MS2AUX I:2/1 1746-I*16
Main Conveyor Overload TON Timer On Delay Timer Time Base Preset Accum
T4:3 1.0 1< 0<
EN DN
T4:3/DN - XIC -2:26
0025
Run Drill Press MS5 O:3/2 1746-O*16 2:6
DrillPres Running MS5AUX I:2/2 1746-I*16
Drill Press Overload TON Timer On Delay Timer Time Base Preset Accum
T4:5 1.0 1< 0<
EN DN
T4:5/DN - XIC -2:26
0026
Latch the motor overload detection. Infeed Reset Conveyor System Overload PB1 T4:1/DN I:1/0 2:23 Main Conveyor Overload T4:3/DN 2:24 Drill Press Overload T4:5/DN 2:25 Motor Overload Detected B3:0/11 2:26
1746-I*16
Motor Overload Detected
B3:0/11
B3:0/11 - XIC - 2:26, 2:27, 2:33
DRILPRES.RSS LAD 2 - MAIN --- Total Rungs in File = 35
0027
Indicate a motor overload condition. Motor Overload Detected B3:0/11 2:26
Motor Overload PL24 O:3/11 1746-O*16
Pilot Light Test B3:0/1 2:2
0028
A part is jammed if a photocell detects a part for more than 30 seconds during the machine cycle. Placed in Part Machine X-Axis Jam in Cycle PSC31 Time B3:0/6 I:2/6 TON Timer On Delay 2:11 Timer T4:34 1746-I*16 Time Base 1.0 Preset 30< Placed in Accum 4< Y-Axis PSC32 T4:34/DN - XIC -2:29 I:2/7 1746-I*16 Part at Home PSC33 I:2/8 1746-I*16 Part Cleared PSC34 I:2/9 1746-I*16
EN DN
DRILPRES.RSS LAD 2 - MAIN --- Total Rungs in File = 35
0029
Latch the part jammed detection. Part Jam Time T4:34/DN 2:28 Part Jam Detected B3:0/9 2:29
Part Jam Detected
B3:0/9 - XIC - 2:29, 2:30, 2:33 Reset System PB1 I:1/0 1746-I*16
Indicate a part jammed condition.
Part Jammed PL23 O:3/10
Part Jam Detected B3:0/9
0030
B3:0/9
2:29
1746-O*16
Pilot Light Test B3:0/1 2:2 Monitor the drill time.
0031
Machine in Cycle B3:0/6 2:11
Spindle Raised PRS35 I:2/10 1746-I*16
Drill Watchdog Timer TON Timer On Delay Timer Time Base Preset Accum
T4:35 1.0 8< 0<
EN DN
T4:35/DN - XIC -2:32
0032
Latch the excessive drill time detection. Drill Watchdog Timer T4:35/DN 2:31 Excessive Drill Time Detected B3:0/10 2:32
Excessive Drill Time Detected B3:0/10 B3:0/10 - XIC - 2:32, 2:33
Reset System PB1 I:1/0 1746-I*16
DRILPRES.RSS LAD 2 - MAIN --- Total Rungs in File = 35
0033
Summarize the fault conditions and stop all machine motion if any one of these faults occur. Guard in Place System LS26 Fault I:2/4 B3:0/12 1746-I*16
B3:0/12 - XIO -2:0
Air Pressure Abnormal T4:27/DN 2:21 Motor Overload Detected B3:0/11 2:26 Part Jam Detected B3:0/9 2:29 Excessive Drill Time Detected B3:0/10 2:32 0034
END
Offset O:3.0
DRILPRES.RSS Data File O0 (bin)
15 14 13 12 11 10 0
0
0
0
0
0
--
9
8
7
6
5
4
3
2
1
0
1
1
1
1
1
1
0
1
0
1
OUTPUT
1746-O*16 - Any 16pt Discrete Output Module
Offset I:1.0 I:2.0
DRILPRES.RSS Data File I1 (bin)
15 14 13 12 11 10 0 0
0 0
0 0
0 0
0 0
0 0
--
9
8
7
6
5
4
3
2
1
0
0 1
0 1
0 1
1 1
0 1
1 1
1 0
1 1
0 0
0 1
INPUT
1746-I*16 - Any 16pt Discrete Input Module 1746-I*16 - Any 16pt Discrete Input Module
DRILPRES.RSS Data File S2 (hex)
--
STATUS
Main First Pass S:1/15 = No Index Register S:24 = 0 Free Running Clock S:4 = 0000-0000-0000-0000 Index Across Data Files S:2/3 = No CIF Addressing Mode S:2/8 = 0 Online Edits S:33/11 - S:33/12 = No online edits exist
Day of the Week S:53L = Sunday DD / MM / YYYY Date S:39-37 = 0 / 0 / 0 HH : MM : SS Time S:40-42 = 0 : 0 : 0
Proc OS Catalog Number S:57 = 0 OS Series S:58 = A OS FRS S:59 = 0 Processor Catalog Number S:60 = 0 Processor Series S:61 = A Processor FRN S:62 = 0 Ethernet Daughterboard Series S:9 = 0 Ethernet Daughterboard FRN S:10 = 0
User Program Type S:63 = 2049 User Program Functionality Index S:64 = 95 User RAM Size S:66 = 0 OS Memory Size S:66 = 0
Scan Times Maximum (x10 ms) S:22 = 0 Average (x10 ms) S:23 = 0 Current (x10 ms) S:3 (low byte) = 0 Watchdog (x10 ms) S:3 (high byte) = 10 Last 1ms Scan Time S:35 = 0 Scan Toggle Bit S:33/9 = 0 Time Base Selection S:33/13 = 0 Math Math Overflow Selected S:2/14 = 0 Overflow Trap S:5/0 = 0 Carry S:0/0 = 0 Overflow S:0/1 = 0 Zero Bit S:0/2 = 0 Sign Bit S:0/3 = 0
Math Register (lo word) S:13 = 0 Math Register (high word) S:14-S:13 = 0 Math Register (32 Bit) S:14-S:13 = 0
IO I/O Interrupt Executing S:32 = 0 I/O Slot Enables: S:11 S:12 0 10 11111111 11111111
Interrrupt Latency Control S:33/8 = 0 Event Interrupt 10 uS Time Stamp S:44 = 0
20 11111111
30 11111111
I/O Slot Interrupt Enables: S:27 S:28 0 10 20 11111111 11111111 11111111
30 11111111
I/O Slot Interrupt Pending: S:25 S:26 0 10 20 00000000 00000000 00000000
30 00000000
Chan 0 Processor Mode S:1/0- S:1/4 = Remote Program Mode Channel Mode S:33/3 = 0 DTR Control Bit S:33/14 = 0 Comms Active S:33/4 = 0 DTR Force Bit S:33/15 = 0 Incoming Cmd Pending S:33/0 = 0 Outgoing Msg Cmd Pending S:33/2 = 0 Msg Reply Pending S:33/1 = 0 Comms Servicing Sel S:33/5 = 0 Msg Servicing Sel S:33/6 = 0 Modem Lost S:5/14 = 0
DRILPRES.RSS Data File S2 (hex)
--
STATUS
Ch 0 Nodes DF1 Half-Duplex Master Channel 0 Active Node Table (S:67-S:82): Node 0 32 64 96 128 160 192 224
0 0000-0000-0000-0000 0000-0000-0000-0000 0000-0000-0000-0000 0000-0000-0000-0000 0000-0000-0000-0000 0000-0000-0000-0000 0000-0000-0000-0000 0000-0000-0000-0000
16 0000-0000-0000-0000 0000-0000-0000-0000 0000-0000-0000-0000 0000-0000-0000-0000 0000-0000-0000-0000 0000-0000-0000-0000 0000-0000-0000-0000 0000-0000-0000-0000
Chan 1 Processor Mode S:1/0- S:1/4 = Remote Program Mode Comms Active S:1/7 = 0 Outgoing Msg Cmd Pending S:2/7 = 0 Incoming Cmd Pending S:2/5 = 0 Comms Servicing Sel S:2/15 = 1 Msg Reply Pending S:2/6 = 0 Msg Servicing Sel S:33/7 = 0 DH485 Gateway Disable Bit S:34/0 = 0 DF1 Gateway Enable Bit S:34/5 = 0 Debug Suspend Code S:7 = 0 Suspend File S:8 = 0 Compiled For Single Step S:2/4 = Yes
Test Single Step Breakpoint Rung # S:18 = 0 File # S:19 = 0
Fault/Powerdown Fault/Powerdown (Rung #) S:20 = 0 (File #) S:21 = 0
Test Single Step Rung # S:16 = 0 File # S:17 = 0
Errors Fault Override At Power Up S:1/8 = 0 Startup Protection Fault S:1/9 = 0 Major Error Halt S:1/13 = 0 Overflow Trap S:5/0 = 0 Control Register Error S:5/2 = 0 Major Error Executing User Fault Rtn. S:5/3 = 0 M0/M1 Referenced On Disabled Slot S:5/4 = 0 Battery Low S:5/11 = 0 Fault/Powerdown (Rung #) S:20 = 0 (File #) S:21 = 0
ASCII String Manipulation error S:5/15 = 0 Fault Routine S:29 = 0 Major Error S:6 = 0h Error Description:
STI Setpoint (x10ms) S:30 = 0 File Number S:31 = 0 10 uS Time Stamp S:43 = 0 Pending Bit S:2/0 = 0 Enable Bit S:2/1 = 1
Resolution Select Bit S:2/10 = 0 Executing Bit S:2/2 = 0 Overflow Bit S:5/10 = 0 Lost S:36/9 = 0 Interrrupt Latency Control S:33/8 = 0
DII Preset S:50 = 0 Accumulator S:52 = 0 Pending Bit S:2/11 = 0 Enable Bit S:2/12 = 1 Executing Bit S:2/13 = 0 Reconfiguration Bit S:33/10 = 0 Overflow Bit S:5/12 = 0 Lost S:36/8 = 0 10 uS Time Stamp S:45 = 0 Protection Deny Future Access S:1/14 = No
File Number S:46 = 0 Slot Number S:47 = 0 Bit Mask S:48 = 0h Compare Value S:49 = 0h Return Mask S:51 = 0h Last Scan Time (x1 ms) S:55 = 0 Max Observed Scan Time (x1 ms) S:56 = 0 Interrrupt Latency Control S:33/8 = 0
DRILPRES.RSS Data File S2 (hex)
Mem Module Memory Module Loaded On Boot S:5/8 = 0 Password Mismatch S:5/9 = 0 Load Memory Module On Memory Error S:1/10 = 0 Load Memory Module Always S:1/11 = 0 Load Memory Module and RUN S:1/12 = 0 Program Compare S:2/9 = 0 Data File Overwrite Protection Lost S:36/10 = 0 Forces Forces Enabled S:1/5 = No Forces Installed S:1/6 = No
--
STATUS
Offset B3:0
DRILPRES.RSS Data File B3 (bin)
15 14 13 12 11 10 0
0
0
0
0
0
--
9
8
7
6
5
4
3
2
1
0
0
0
0
1
0
0
0
1
0
1
BINARY
(Symbol) Description
Offset T4:0 T4:1 T4:2 T4:3 T4:4 T4:5 T4:6 T4:7 T4:8 T4:9 T4:10 T4:11 T4:12 T4:13 T4:14 T4:15 T4:16 T4:17 T4:18 T4:19 T4:20 T4:21 T4:22 T4:23 T4:24 T4:25 T4:26 T4:27 T4:28 T4:29 T4:30 T4:31 T4:32 T4:33 T4:34 T4:35
DRILPRES.RSS Data File T4
EN TT DN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
BASE 1.0 1.0 .01 1.0 .01 1.0 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 1.0 .01 .01 .01 .01 .01 .01 1.0 1.0
sec sec sec sec sec sec sec sec sec sec sec sec sec sec sec sec sec sec sec sec sec sec sec sec sec sec sec sec sec sec sec sec sec sec sec sec
PRE
ACC
2 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 30 8
2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0
--
TIMER
(Symbol) Description Pilot Light Test Time Infeed Conveyor Overload Main Conveyor Overload Drill Press Overload
Air Pressure Abnormal
Part Jam Time Drill Watchdog Timer
Offset C5:0
DRILPRES.RSS Data File C5
CU CD DN OV UN UA 0
0
0
0
0
0
PRE
ACC
0
0
--
COUNTER
(Symbol) Description
Offset R6:0
DRILPRES.RSS Data File R6
EN EU DN EM ER UL IN FD 0
0
0
0
0
0
0
0
LEN
POS
0
0
--
CONTROL
(Symbol) Description
DRILPRES.RSS Data File N7 (dec)
Offset
0
N7:0
0
1
2
3
4
5
--
6
INTEGER
7
8
9
DRILPRES.RSS Data File F8
Offset
0
F8:0
0
1
2
--
FLOAT
3
4
DRILPRES.RSS CDM 0 - Untitled
Address (Symbol) = Value [Description]
DRILPRES.RSS RSLogix 500 Cross Reference Report - Sorted by Address
O:3/0 O:3/1 O:3/2 O:3/3
O:3/4 O:3/5
O:3/6 O:3/7 O:3/8 O:3/9 O:3/10 O:3/11 O:3/12 O:3/13 I:1/0 I:1/1 I:1/2 I:1/3 I:1/4 I:1/5 I:1/6 I:1/7 I:1/8 I:1/9 I:2/0 I:2/1 I:2/2 I:2/4 I:2/5 I:2/6
- Run Infeed Conveyor MS1 OTE - File #2 MAIN - 8 XIC - File #2 MAIN - 23 - Run Main Conveyor MS2 OTE - File #2 MAIN - 13 XIC - File #2 MAIN - 24 - Run Drill Press MS5 OTE - File #2 MAIN - 6 XIC - File #2 MAIN - 6, 7, 25 - Raise Spindle DRV1RAISE OTE - File #2 MAIN - 18 XIC - File #2 MAIN - 18 XIO - File #2 MAIN - 16 - Lower Spindle DRV1LOWER OTE - File #2 MAIN - 16 - Hold Part in Place SOL11 OTE - File #2 MAIN - 15 XIC - File #2 MAIN - 16 XIO - File #2 MAIN - 10, 13 - Drilling Stop Gate SOL12 OTE - File #2 MAIN - 12 XIO - File #2 MAIN - 10 - System Running PL20 OTE - File #2 MAIN - 3 - Drill Press Running PL21 OTE - File #2 MAIN - 7 - Part in Place PL22 OTE - File #2 MAIN - 14 - Part Jammed PL23 OTE - File #2 MAIN - 30 - Motor Overload PL24 OTE - File #2 MAIN - 27 - Guard Open PL25 OTE - File #2 MAIN - 20 - Low Air Pressure PL26 OTE - File #2 MAIN - 22 - Reset System PB1 XIO - File #2 MAIN - 21, 26, 29, 32 - Start System PB2 XIC - File #2 MAIN - 0 - Stop System PB3 XIC - File #2 MAIN - 0 - System in Auto Mode SS4 XIC - File #2 MAIN - 5 XIO - File #2 MAIN - 4 - EmergStop Cleared CR1 XIC - File #2 MAIN - 0, 1, 2 - Start Press PB6 XIC - File #2 MAIN - 6 - Stop Press PB7 XIC - File #2 MAIN - 6 - Raise Spindle PB10 XIC - File #2 MAIN - 18 - Lower Spindle PB11 XIC - File #2 MAIN - 16 - Hold Part In Place PB12 XIC - File #2 MAIN - 15 - InfedConv Running MS1AUX XIO - File #2 MAIN - 23 - Main Conv Running MS2AUX XIO - File #2 MAIN - 24 - DrillPres Running MS5AUX XIO - File #2 MAIN - 25 - Guard in Place LS26 XIC - File #2 MAIN - 0 XIO - File #2 MAIN - 20, 33 - Air Pressure Normal PS27 XIO - File #2 MAIN - 21 - Placed in X-Axis PSC31 XIC - File #2 MAIN - 28 XIO - File #2 MAIN - 9
DRILPRES.RSS RSLogix 500 Cross Reference Report - Sorted by Address
I:2/7 I:2/8 I:2/9 I:2/10
I:2/11 B3:0/0 B3:0/1 B3:0/2 B3:0/3 B3:0/4 B3:0/5 B3:0/6 B3:0/7 B3:0/8
B3:0/9 B3:0/10 B3:0/11 B3:0/12 T4:0 T4:0/DN T4:1 T4:1/DN T4:3 T4:3/DN T4:5 T4:5/DN T4:27 T4:27/DN
- Placed in Y-Axis PSC32 XIC - File #2 MAIN - 28 XIO - File #2 MAIN - 9 - Part at Home PSC33 XIC - File #2 MAIN - 14, 15, 28 XIO - File #2 MAIN - 9 - Part Cleared PSC34 XIC - File #2 MAIN - 28 XIO - File #2 MAIN - 9 - Spindle Raised PRS35 XIC - File #2 MAIN - 19 XIO - File #2 MAIN - 18, 31 XIC - File #2 MAIN - 10 - Spindle Lowered PRS36 XIC - File #2 MAIN - 17 XIO - File #2 MAIN - 16 - System Running OTE - File #2 MAIN - 0 XIC - File #2 MAIN - 0, 3, 4, 5 - Pilot Light Test OTE - File #2 MAIN - 2 XIC - File #2 MAIN - 3, 7, 14, 20, 22, 27, 30 - System in Auto Mode OTE - File #2 MAIN - 5 XIC - File #2 MAIN - 6, 8, 11, 13 - System in Manual Mode OTE - File #2 MAIN - 4 XIC - File #2 MAIN - 6, 15, 16, 18 - No Part In Machine OTE - File #2 MAIN - 9 XIC - File #2 MAIN - 11 - Machine at Home OTE - File #2 MAIN - 10 XIC - File #2 MAIN - 11 - Machine in Cycle OTE - File #2 MAIN - 11 XIC - File #2 MAIN - 11, 12, 15, 16, 17, 18, 19, 28, 31 - Drilling Operation Complete OTE - File #2 MAIN - 17 XIC - File #2 MAIN - 17, 18, 19 - End of Machine Cycle OTE - File #2 MAIN - 19 XIC - File #2 MAIN - 19 XIO - File #2 MAIN - 11 - Part Jam Detected OTE - File #2 MAIN - 29 XIC - File #2 MAIN - 29, 30, 33 - Excessive Drill Time Detected OTE - File #2 MAIN - 32 XIC - File #2 MAIN - 32, 33 - Motor Overload Detected OTE - File #2 MAIN - 26 XIC - File #2 MAIN - 26, 27, 33 - System Fault OTE - File #2 MAIN - 33 XIO - File #2 MAIN - 0 - Pilot Light Test Time TON - File #2 MAIN - 1 - XIO - File #2 MAIN - 2 - Infeed Conveyor Overload TON - File #2 MAIN - 23 - XIC - File #2 MAIN - 26 - Main Conveyor Overload TON - File #2 MAIN - 24 - XIC - File #2 MAIN - 26 - Drill Press Overload TON - File #2 MAIN - 25 - XIC - File #2 MAIN - 26 - Air Pressure Abnormal TON - File #2 MAIN - 21 - XIC - File #2 MAIN - 21, 22, 33
DRILPRES.RSS RSLogix 500 Cross Reference Report - Sorted by Address
T4:34 T4:34/DN T4:35 T4:35/DN
- Part Jam Time TON - File #2 MAIN - XIC - File #2 MAIN - Drill Watchdog Timer TON - File #2 MAIN - XIC - File #2 MAIN -
28 29 31 32
Address B3:0/0 B3:0/1 B3:0/2 B3:0/3 B3:0/4 B3:0/5 B3:0/6 B3:0/7 B3:0/8 B3:0/9 B3:0/10 B3:0/11 B3:0/12 I:1/0 I:1/1 I:1/2 I:1/3 I:1/4 I:1/5 I:1/6 I:1/7 I:1/8 I:1/9 I:1/10 I:1/11 I:1/12 I:1/13 I:1/14 I:1/15 I:2/0 I:2/1 I:2/2 I:2/3 I:2/4 I:2/5 I:2/6 I:2/7 I:2/8 I:2/9 I:2/10 I:2/11 I:2/12 I:2/13 I:2/14 I:2/15 O:3/0 O:3/1 O:3/2 O:3/3 O:3/4 O:3/5 O:3/6 O:3/7 O:3/8 O:3/9 O:3/10 O:3/11 O:3/12 O:3/13 S:0 S:0/0 S:0/1 S:0/2 S:0/3 S:1 S:1/0 S:1/1 S:1/2 S:1/3 S:1/4 S:1/5 S:1/6 S:1/7 S:1/8 S:1/9 S:1/10 S:1/11 S:1/12 S:1/13 S:1/14 S:1/15 S:2/0 S:2/1 S:2/2 S:2/3 S:2/4 S:2/5
DRILPRES.RSS Address/Symbol Database Symbol
Scope
Description System Running Pilot Light Test System in Auto Mode System in Manual Mode No Part In Machine Machine at Home Machine in Cycle Drilling Operation Complete End of Machine Cycle Part Jam Detected Excessive Drill Time Detected Motor Overload Detected System Fault Reset System PB1 Start System PB2 Stop System PB3 System in Auto Mode SS4 EmergStop Cleared CR1 Start Press PB6 Stop Press PB7 Raise Spindle PB10 Lower Spindle PB11 Hold Part In Place PB12 spare spare spare spare spare spare InfedConv Running MS1AUX Main Conv Running MS2AUX DrillPres Running MS5AUX spare Guard in Place LS26 Air Pressure Normal PS27 Placed in X-Axis PSC31 Placed in Y-Axis PSC32 Part at Home PSC33 Part Cleared PSC34 Spindle Raised PRS35 Spindle Lowered PRS36 spare spare spare spare Run Infeed Conveyor MS1 Run Main Conveyor MS2 Run Drill Press MS5 Raise Spindle DRV1RAISE Lower Spindle DRV1LOWER Hold Part in Place SOL11 Drilling Stop Gate SOL12 System Running PL20 Drill Press Running PL21 Part in Place PL22 Part Jammed PL23 Motor Overload PL24 Guard Open PL25 Low Air Pressure PL26 Arithmetic Flags Processor Arithmetic Carry Flag Processor Arithmetic Underflow/ Overflow Flag Processor Arithmetic Zero Flag Processor Arithmetic Sign Flag Processor Mode Status/ Control Processor Mode Bit 0 Processor Mode Bit 1 Processor Mode Bit 2 Processor Mode Bit 3 Processor Mode Bit 4 Forces Enabled Forces Present Comms Active Fault Override at Powerup Startup Protection Fault Load Memory Module on Memory Error Load Memory Module Always Load Memory Module and RUN Major Error Halted Access Denied First Pass STI Pending STI Enabled STI Executing Index Addressing File Range Saved with Debug Single Step DH-485 Incoming Command Pending
Sym Group
Dev. Code
ABV
BLW
Address S:2/6 S:2/7 S:2/15 S:3 S:4 S:5/0 S:5/2 S:5/3 S:5/4 S:5/8 S:5/9 S:5/10 S:5/11 S:6 S:7 S:8 S:9 S:10 S:11 S:12 S:13 S:14 S:15 S:16 S:17 S:18 S:19 S:20 S:21 S:22 S:23 S:24 S:25 S:26 S:27 S:28 S:29 S:30 S:31 S:32 S:33 S:33/0 S:33/1 S:33/2 S:33/3 S:33/4 S:33/5 S:33/6 S:33/7 S:33/8 S:33/9 S:33/10 S:33/11 S:33/12 S:33/13 S:33/14 S:33/15 S:34 S:34/0 S:34/1 S:34/2 S:35 S:36 S:36/8 S:36/9 S:36/10 S:37 S:38 S:39 S:40 S:41 S:42 S:43 S:44 S:45 S:46 S:47 S:48 S:49 S:50 S:51 S:52 S:53 S:55 S:56 S:57 S:58
DRILPRES.RSS Address/Symbol Database Symbol
Scope
Description DH-485 Message Reply Pending DH-485 Outgoing Message Command Pending Comms Servicing Selection Current Scan Time/ Watchdog Scan Time Time Base Overflow Trap Control Register Error Major Err Detected Executing UserFault Routine M0-M1 Referenced on Disabled Slot Memory Module Boot Memory Module Password Mismatch STI Overflow Battery Low Major Error Fault Code Suspend Code Suspend File Active Nodes Active Nodes I/O Slot Enables I/O Slot Enables Math Register Math Register Node Address/ Baud Rate Debug Single Step Rung Debug Single Step File Debug Single Step Breakpoint Rung Debug Single Step Breakpoint File Debug Fault/ Powerdown Rung Debug Fault/ Powerdown File Maximum Observed Scan Time Average Scan Time Index Register I/O Interrupt Pending I/O Interrupt Pending I/O Interrupt Enabled I/O Interrupt Enabled User Fault Routine File Number STI Setpoint STI File Number I/O Interrupt Executing Extended Proc Status Control Word Incoming Command Pending Message Reply Pending Outgoing Message Command Pending Selection Status User/DF1 Communicat Active Communicat Servicing Selection Message Servicing Selection Channel 0 Message Servicing Selection Channel 1 Interrupt Latency Control Flag Scan Toggle Flag Discrete Input Interrupt Reconfigur Flag Online Edit Status Online Edit Status Scan Time Timebase Selection DTR Control Bit DTR Force Bit Pass-thru Disabled Pass-Thru Disabled Flag DH+ Active Node Table Enable Flag Floating Point Math Flag Disable,Fl Last 1 ms Scan Time Extended Minor Error Bits DII Lost STI Lost Memory Module Data File Overwrite Protection Clock Calendar Year Clock Calendar Month Clock Calendar Day Clock Calendar Hours Clock Calendar Minutes Clock Calendar Seconds STI Interrupt Time I/O Event Interrupt Time DII Interrupt Time Discrete Input Interrupt- File Number Discrete Input Interrupt- Slot Number Discrete Input Interrupt- Bit Mask Discrete Input Interrupt- Compare Value Processor Catalog Number Discrete Input Interrupt- Return Number Discrete Input Interrupt- Accumulat Reserved/ Clock Calendar Day of the Week Last DII Scan Time Maximum Observed DII Scan Time Operating System Catalog Number Operating System Series
Sym Group
Dev. Code
ABV
BLW
Address S:59 S:61 S:62 S:63 S:64 S:65 S:66 S:67 S:68 S:69 S:70 S:71 S:72 S:73 S:74 S:75 S:76 S:77 S:78 S:79 S:80 S:81 S:82 S:83 S:84 S:85 S:86 T4:0 T4:0/DN T4:1 T4:1/DN T4:3 T4:5 T4:5/DN T4:27 T4:27/DN T4:34 T4:34/DN T4:35 T4:35/DN
DRILPRES.RSS Address/Symbol Database Symbol
Scope
Description Operating System FRN Processor Series Processor Revision User Program Type User Program Functional Index User RAM Size Flash EEPROM Size Channel 0 Active Nodes Channel 0 Active Nodes Channel 0 Active Nodes Channel 0 Active Nodes Channel 0 Active Nodes Channel 0 Active Nodes Channel 0 Active Nodes Channel 0 Active Nodes Channel 0 Active Nodes Channel 0 Active Nodes Channel 0 Active Nodes Channel 0 Active Nodes Channel 0 Active Nodes Channel 0 Active Nodes Channel 0 Active Nodes Channel 0 Active Nodes DH+ Active Nodes DH+ Active Nodes DH+ Active Nodes DH+ Active Nodes Pilot Light Test Time Infeed Conveyor Overload Main Conveyor Overload Drill Press Overload Air Pressure Abnormal Part Jam Time Drill Watchdog Timer
Sym Group
Dev. Code
ABV
BLW
Address
DRILPRES.RSS Instruction Comment Database
Instruction
Description
Group_Name
DRILPRES.RSS Symbol Group Database
Description
PLC is a trademark of the Allen-Bradley Company.
THE FOLLOWING ARE TRADEMARKS OF ROCKWELL AUTOMATION, INC. Allen-Bradley® MicroLogix™ PanelView™ RSLinx® RSLogix™ RSLogix™ 500 SLC™ 500 THE AUTHOR OR THE PUBLISHER OF THIS BOOK IS IN NO WAY AFFILIATED WITH ROCKWELL AUTOMATION, INC.
Disclaimer THE AUTHOR INTENDS THIS DOCUMENT TO BE ADVISORY ONLY. ITS USE IN INDUSTRY OR TRADE IS ENTIRELY VOLUNTARY. THIS DOCUMENT IS PROVIDED BY THE VENDOR “AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE VENDOR OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Beginner’s Guide to PLC Programming How to Program a PLC (Programmable Logic Controller) Copyright 2008 Modern Media modernmediaonline.com
41