SlideShare a Scribd company logo
1 of 35
Chapter 5

       Programmable Logic Controller (PLC)

Contents:-

       5.1 Introduction
       5.2 Brief History of PLC
       5.3 Area of Application of a PLC
       5.4 How works PLC
       5.5 Types of PLC
         5.5.1Fixed PLCs
         5.5.2Modular PLCs
       5.6 Basic Components of PLC
         5.6.1Processor (Control Processing Unit)
         5.6.2Input/output system
         5.6.3Memory unit
         5.6.4Programming language & device
         5.6.5Power supply
       5.7 Advantages
       5.8 Allen Bradley MicroLogix
        5.8.1MicroLogix 1200 controller
          5.8.1.1Power and I/O Configuration of MicroLogix 1200 controller
             5.8.1.2Advantages for MicroLogix 1200 controller
       5.9 PLC programming
        5.9.1RSLogix 500
        5.9.2Ladder Logic
        5.9.3Main Ladder Program
        5.9.4Explanation of Program
          5.9.4.1Explanation of Instructions
          5.9.4.2Explaining of Control of X-Motor
             5.9.4.3Explaining of Control of Electromechanical Gripper




                                                                             1
5.1    Introduction to PLC :-

       A Programmable Logic Controller (PLC) or Programmable Controller is a digital computer
used for automation of electromechanical processes, such as control of machinery on factory
assembly lines, control of amusement rides, or control of lighting fixtures.

A formal definition Of a PLC comes from the National
Electrical Manufacturers Association (NEMA):
        “A digitally operating electronic system,
designed for use in an industrial environment, which
uses a programmable memory for the internal storage
of user-oriented instructions for implementing
specific functions such as logic, sequencing, timing,
counting and arithmetic, to control, through digital or analogue inputs and outputs, various types
of machines or processes. Both the PC and its associated peripherals are designed so that they can
be easily integrated into an industrial control system and easily used in all their intended
functions."

        PLCs are used in many different industries and machines such as packaging and
semiconductor machines. Unlike general-purpose computers, the PLC is designed for multiple
inputs and output arrangements, extended temperature ranges, immunity to electrical noise, and
resistance to vibration and impact. Programs to control machine operation are typically stored in
battery-backed or non-volatile memory. A PLC is an example of a real time system since output
results must be produced in response to input conditions within a bounded time, otherwise
unintended operation will result.


5.2    Brief History of PLC :-

         In 1960s and 1970s, electromachanical relays, timer, counters and sequencers were the
standard. Many Control Panels Contained Hundreds of these electromachanical devices and in
some cases, a mile or more of wire. The primary negative aspect of mechanical control was that
reliability was low, in contrast to maintenance costs associated with keeping these panels
operating, which were extremely high. The auto industry complained that the real cost of
purchase and replace a single relay could run as high as $50. A second major factor was time,
expense, and labor required when a change in control needs dictated a control panel modification.
In fact, during the model year changeovers, the auto industry discarded entire control panels and
replaced them with new ones as the quickest and cheapest solution.
         The programmable controller is a solid state electronic device designed in the early 1970s
to replace electromechanical relays, mechanical timers, counters, and sequencers. The
Hydromatic division of General Motors was the first to see the need for a device that would
become what we know as the programmable logic controller. High speed manufacturing, as in the
auto industry, required reliable control devices that was smaller, consumed less power featured

                                                                                                 2
fast switching, and were quickly and easily changeable. These devices must also be able to
withstand the harsh industrial environment. Keep in mind that the first PLCs were little more than
relay replacers.



5.3    Area of Application of a PLC :-

       Every system or machine has a controller. Depending on the type of technology used,
controllers can be divided into pneumatic, hydraulic, electrical and electronic controllers.
Frequently, a combination of different technologies is used. Furthermore, differentiation is made
between hard-wired programmable (e.g. wiring of electro-mechanical or electronic components)
and programmable logic controllers. The first is used primarily in cases, where any reprogramming
by the user is out of the question and the job size warrants the development of a special
controller. Typical applications for such controllers can be found in automatic washing machines,
video cameras, and cars.




                               Fig (A): Example of a PLC application


                                                                                                3
However, if the job size does not warrant the development of a special controller or if the
user is to have the facility of making simple or independent program changes, or of setting timers
and counters, then the use of a universal controller, where the program is written to an electronic
memory, it is the preferred option. The PLC represents such a universal controller. It can be used
for different applications and, via the program installed in its memory, provides the user with a
simple means of changing, extending and optimizing control processes.


5.4     How works PLC :-

        The original task of a PLC involved the interconnection of input signals according to a
specified program and, if "true", to switch the corresponding output. Boolean algebra forms the
mathematical basis for this operation, which recognizes precisely two defined statuses of one
variable: "0" and "1" (see also chapter 3). Accordingly, an output can only assume these two
statuses. For instance, a connected motor could therefore be either switched on or off, i.e.
controlled.
        This function has coined the name PLC: Programmable logic controller, i.e. the
input/output behavior is similar to that of an electromagnetic relay or pneumatic switching valve
controller; the program is stored in an electronic memory.
        In our Project, we are going to work with Controlling of a stepper motor, so that it is
required pulses to rotate a motor. And pulse is given to PLC by using Parallel Port.
        However, the tasks of a PLC have rapidly multiplied: Timer and counter functions, memory
setting and resetting, mathematical computing operations all represent functions, which can be
executed by practically any of today’s PLCs.




5.5     Types of PLC :-

      PLC hardware falls into two physical configurations:
                                                         I.   Fixed PLCs
                                                        II.   Modular PLCs

  5.5.1     Fixed PLCs :-

              A Fixed PLC has all of its components-the input section, CPU and associated memory,
        power supply, and output section-built into one self-contained unit. All input and output
        terminals are built into the PLC package and are fixed, not removable. This style of PLC is
        also called a Packed Controller. With miniaturization of modern electronics component,
        today’s more compact fixed PLCs are referred to as micro PLCs.




                                                                                                 4
Fig (B): Fixed PLC                                 Fig (C): Modular PLC

  5.5.2    Modular PLCs :-

               The modular PLC comes as separate pieces. A modular PLC is purchased piece by
       piece. There may be two or three power supplies to choose from, a handful of different
       processors (CPUs), many separate input and output cards or modules, and selection of
       assemblies, called racks, chassis, or base plates to hold the pieces together. When
       purchasing a modular PLC you select and purchase the specific pieces you need to build the
       PLC specifically for the needs of your control situation.




5.6    Basic Components of PLC :-

       Regardless of Size, cost, or complexity, all programmable controllers share the same basic
components and functional characteristics. A Programmable controller will always consist of
following components:
                      I.   Processor (Control Processing Unit)
                     II.   Input/output system
                    III.   Memory unit
                   IV. Programming language & device
                     V. Power supply



   5.6.1    Processor (CPU) :-

              The Processor consists of one or more standard or custom microprocessor and
       other integrated circuits that perform the computing and control function of the PC
       system. Since the processor in most programmable controller system is microprocessor-
       based.
              The CPU is the focal point of the system, it must have facilities for storing the
       control program, and there must be some sort of data storage. In executing a program, the
       microprocessor uses the data buses to exchange information in a well-defined manner. The


                                                                                               5
complete sequence of information exchange that carries out one program stop is known as
   an “Instruction cycle”.




                                 Fig (D): PLC Components


5.6.2   Input/output System :-

           Input/output (I/O) system provides the physical connection between the process
   equipment and the processor. The programmable controller system uses various input
   modules to sense and measure physical quantities of the process, such as motion, level,
   temperature, pressure, position, current, and voltage. Based on the status sensed or values
   measured, the processor controls various output modules to drive field devices such as
   valves, motors, pumps, and alarms to exercise control over a machine or a process.
           There are different types of Input/output (I/O) modules:
                                                                  I. Analog I/O Modules,
                                                                 II.  Digital I/O Modules,
                                                                III.  AC I/O Modules,
                                                                IV. DC I/O Modules and
                                                                 V. Intelligent I/O Modules.



                                                                                            6
5.6.3   Memory Unit :-

           Memory is used to store control program for the PC System; it is usually located in
   the same housing as the CPU. The information stored in memory determines how the input
   and output data will be processed.
           Memory elements store individual pieces of data called bits. A bit has two states: 1
   or 0, on or off, true or false, etc. Memory units are mounted on circuit boards and are
   usually specified in thousands or “K” increments where 1K is 1024 words (i.e., 2 10 =1024) of
   storage space. Programmable controller memory capacity may vary from less than one
   thousand words to over 64,000 words (64K words) depending on the programmable
   controller manufacturer. The complexity of the control plan will determine the amount of
   memory required.


5.6.4   Programming Language & Device :-

           The Programming language allows the user to communicate with the PLC via a
   programming device. Programmable controller manufacturers use several different
   programming languages; but they all convey to the system, by means of instruction a basic
   control plan.
           The control plan or program is defined as a set of instructions that are arranged in a
   logical sequence to control the actions of a process or machine. A program is written by
   combining instruction in a certain order. Rules govern the manner in which instructions are
   combined and the actual form of the instructions. These rules and instructions combine to
   form a language.
           The four most common types of languages encountered in programmable logic
   controllers are as follows:
                             I. Ladder Programming
                            II. Statement List Programming
                           III. Function Block Programming
                           IV. Boolean Logic

          The Programming device is used to enter, store, and monitor the programmable
   controller software. Programming devices can be dedicated or personal computers that
   normally have four basic components: keyboard, visual display, microprocessor, and
   communication cable.
          The programming terminal is normally connected only to the programmable logic
   controller system during programming or during troubleshooting of the control system.
   Otherwise the programming device is disconnected from the system.
          The most common programming terminals are as follows:
                                    I. Hand-held manual programmer (HMI)
                                   II.  Industrial programming terminal
                                  III.  Personal      computer-based    programmer(PLC
                                        Software)
                                                                                               7
5.6.5   Power Supply :-

           The power supply converts ac line voltage to dc voltage to power the electronics
   circuits in a programmable controller system. These power supplies rectify, filter, and
   regulate voltages and currents to supply the correct amounts of voltage and current to the
   system. The power supply normally converts 120 V ac or 240 V ac line voltages into direct
   voltages into direct current voltages such as + 5 or ± 15 V.
           The power supply for a programmable controller system may be integrated with
   the processor, memory, and I/O module into a single housing or it may be a separate unit
   connected to system through a cable.




          Fig (E): programmable controller system with process graphics.




                                                                                           8
5.7    Advantages of PLC :-

      PLCs have been gaining popularity on the factory floor and will probably remain
predominant for some time to come. Most of this is because of the advantages they offer:

     Smaller physical size than the hard-wire solution.
     Easier and faster to make changes.
     PLCs have integrated diagnostics and override functions.
     Reliability of the plc is greater and maintenance is easier.
     Diagnostics are centrally available.
     Applications can be immediately documented.
     Applications can be dublicated faster and less expensively.
     Cost effective for controlling complex systems.
     Flexible and can be reapplied to control other systems quickly and easily.
     Computational abilities allow more sophisticated control.
     Trouble shooting aids make programming easier and reduce downtime.


5.8    Allen Bradley MicroLogix PLCs :-

       The MicroLogix family of controllers provides five levels of control. Small on size, big on
performance, the MicroLogix 1000 controller offers control capabilities in an affordable, compact
package. The MicroLogix 1200 controller is small enough to fit in tight spaces, but powerful
enough to accommodate a broad range of applications. Designed to grow as your needs grow, the
MicroLogix 1500 controller helps you achieve high-level control in a variety of applications. The
MicroLogix family’s newest members, the MicroLogix 1100 and 1400 controllers, further enhance
the MicroLogix family by expanding the application coverage area while offering great new
features at an affordable price.




                                                                                                9
Fig (F): The MicroLogix Family of Programmable controller.

      In our project, we have used Allen Bradley MicroLogix 1200 controller for controlling
Stepper motor. Thus, now we will discuss about MicroLogix 1200 controller and its specification &
advantages.


       5.8.1   MicroLogix 1200 controller :-

        The MicroLogix 1200 controller provides more computing power and flexibility than the
 MicroLogix 1000 controller to solve a variety of application needs.
        Available in 24- and 40-point versions, the I/O count can be expanded by using rack less
 I/O modules. This results in larger control systems, greater application flexibility and
 expandability at a lower cost and reduced parts inventory.
        A field-upgradable flash operating system that helps to make sure you will always be up-
 to-date with the latest features, without having to replace hardware. The controller can be easily
 updated with the latest firmware via a website download.

                                                                                                10
Fig (G): Use of MicroLogix 1200 PLC

 5.8.1.1     Power and I/O Configuration of MicroLogix 1200 controller:-
Table (A):
   CAT. NO.      LINE VOLTAGE    NUMBER OF INPUTS       NUMBER OF OUTPUTS         HIGH SPEED I/O

1762-L24AWA,
                 120/240V AC     (14) 120V AC           (10) Relay                N/A
1762-L24AWAR

1762-L40AWA,
                 120/240V AC     (24) 120V AC           (16) Relay                N/A
1762 -L40AWAR

1762-L24BWA,                     (10) Standard 24V DC
                 120/240V AC                            (10) Relay                (4) 20 kHz input
1762 -L24BWAR                    (4) Fast 24V DC

1762-L40BWA,                     (20) Standard 24V DC
                 120/240V AC                            (16) Relay                (4) 20 kHz input
1762 -L40BWAR                    (4) Fast 24V DC

                                                        (5) Relay
1762-L24BXB,                     (10) Standard 24V DC                             (4) 20 kHz input
                 24V DC                                 (4) Standard 24V DC FET
1762 -L24BXBR                    (4) Fast 24V DC                                  (1) 20 kHz output
                                                        (1) Fast 24V DC FET
                                                        (8) Relay
1762-L40BXB,                     (20) Standard 24V DC                             (4) 20 kHz input
                 24V DC                                 (7) Standard 24V DC FET
1762-L40BXBR                     (4) Fast 24V DC                                  (1) 20 kHz output
                                                        (1) Fast 24V DC FET


 5.8.1.2     Advantages for MicroLogix 1200 controller :-



                                                                                              11
 Large 6 KB memory (4 KB User Program with 2 KB User Data) to solve a variety of
    applications.
   High performance expansion I/O options (up to six modules depending on current/power
    budget).
   Four high-speed inputs (for controllers with 24V DC inputs) that can be used individually as
    latching (pulse-catch) inputs, event interrupts, or alternately combined as one 20 kHz high-
    speed counter featuring eight modes of operation.
   One high-speed output that can be configured as 20 kHz pulse train output (PTO) or as pulse
    width modulated (PWM) output (available on controllers with embedded 24V DC outputs).
   One, 1 ms, selectable timed interrupt (STI).
   High-resolution, 1 ms timers.
   The same advanced communication options as the MicroLogix 1000 controller, including
    peer-to-peer and SCADA/RTU networks, DF1 full-duplex, DF1 half-duplex slave, DH-485,
    Device Net and Ethernet/IP , plus DF1 half-duplex master, Modbus master and slave, and
    DF1 radio modem protocols.
   ASCII read/write capability.
   An additional Programming/HMI Port, providing connectivity to a DF1 full-duplex
    compatible device such as an operator interface or programming terminal (MicroLogix
    1200R controllers only, catalog number 1762-LxxxxxR).
   Optional real-time clock, to allow control to be based on actual time of day, day of week, or
    other calendar related timing.
   Optional memory module, for external program backup, transport and transfer to another
    controller. Control program and data are securely backed up to internal flash memory when
    power is not applied.
   Data file download protection prevents critical user data from being altered via program
    downloads from programming computers or memory modules.
   Two built-in analog trim potentiometers.
   32-bit signed integer math.
   Floating-point and double integer data file support.
   Built-in PID capabilities.
   Finger-safe terminal blocks meet global safety standards.
   Removable terminal blocks on 40-point controllers allow pre-wiring.
   Regulatory agency certifications for world-wide market (CE, C-Tick, UL, c-UL, including Class
    1 Division 2 Hazardous Location).




5.9   PLC Programming :-


                                                                                              12
We have used RSLogix 500 as a programming software and Ladder logic as a programming
language. So now, we will discuss about RSLogix 500, Ladder logic and main PLC program in
this topic.

5.9.1     RSLogix 500 :-
         RSLogix 500 software is a 32-bit Windows ladder logic programming package for the
   SLC 500 and MicroLogix® processors. RSLogix 500 is compatible with SLC 500 and
   MicroLogix programs created with any of Rockwell Software’s programming packages.

   ♦ RSLogix 500 software includes:
      A free-form ladder editor that lets you concentrate on the application logic instead
        of syntax as you write your program.
      A powerful project verifier that you use to build a list of errors you can navigate to
        make corrections at your convenience.
      drag-and-drop editing to quickly move data table elements from one data file to
        another, rungs from one subroutine or project to another, or instructions from rung
        to rung within a project.
      An address wizard that makes entering addresses easier and reduces keying errors.
      A point-and-click interface called a project tree that lets you access all the folders
        and files contained in your project.
      SLC libraries for storing and retrieving portions of ladder logic for use across any of
        Rockwell Software's SLC programming software products.
      A compare utility that lets you graphically view project differences.

Menu toolbar

        Icon bar


   Online bar                                                                Instruction toolbar

  Project tree




  Result pane
                                                                              Ladder view

    Status bar

                           Fig (H): RSLogix 500 for PLC programming
 5.9.2       Ladder Logic :-


                                                                                            13
Ladder logic is the main programming method used for PLCs. It is defined by
“Graphical language for describing output of an electrical switching system as a function of
its inputs”. It is also known as “relay ladder logic” or RLL. Primarily it is used to relate
logical inputs (switch closures) to relay coil outputs. (For example, Start switch used to
energize a motor contactor relay). And commonly it is used to document control
equipment in process plants.
        Ladder logic has been developed to mimic relay logic. The decision to use the relay
logic diagrams was a strategic one. By selecting ladder logic as the main programming
method, the amount of retraining needed for engineers and trades people was greatly
reduced.
        Ladder logic input contacts and output coils allow simple logical decisions.
Functions extend basic ladder logic to allow other types of control. For example, the
addition of timers and counters allowed event based control. A longer list of functions is
shown below:

                   Combinatorial Logic
                    - relay contacts and coils
                   Events
                    - Timer instructions
                    - counter instructions
                   Data Handling
                    - Moves
                    - Mathematics
                    - Conversions
                   Numerical Logic
                    - Boolean operations
                    - Comparisons
                   Lists
                    - shift registers/stacks
                    - Sequencers
                   Program Control
                    - branching/looping
                    - Immediate inputs/outputs
                    - fault/interrupt detection
                   Input and Output
                    - PID
                    - Communications
                    - high speed counters
                    - ASCII string functions

       Fig (I) shows the simple example of ladder logic to energize a motor by pushing
‘START’ pushbutton. When we press pushbutton output coil set to logic 1 or true.
         Control Voltage
             Source



                            START                MOTOR


                                                                                         14
                                                             Control Voltage
                                                                 Return
                        Contact
                                                 Coil
Fig (I): Simple Example of Ladder logic
5.9.3   Main Ladder program :-
        Now, we are explaining our Main Ladder program for stepper motor controlling
 which is shown in figure (J).




                                                                                 15
16
Fig (J): PLC Ladder Program for controlling three stepper motors and
                     one electromagnetic gripper

                                                                       17
5.9.4      Explanation of Program:-
        For fully explanation of PLC ladder program, we should have knowledge about
 elements of ladder, and various instructions such as basic, comparison, math, data
 handling, program flow, application specific, block transfer instructions. But in this topic,
 we are giving information about those instructions which are used in our PLC program.
        In PLC program, we are using following instructions:
              1) XIC Examine if Closed       2) XIO Examine if Open           3) OTE Output Energize
              4) ONS One-shot                5) MOV Move                      6) BSL Bit Shift Left
              7) BSR Bit Shift Right

 5.9.4.1 Explanation of Instructions:

        1. XIC (Examine if Closed) :
                    Use the XIC (Normally open) instruction in your ladder program to
        determine if a bit is ‘On’. When the instruction is executed, if the bit addressed is on
        (1), then the instruction is evaluated as true. When the instruction is executed, if the bit
        addressed is off (0), then the instruction is evaluated as false.

            Symbol            Table (B):- XIC Bit State
                               Bit Address         XIC Instruction
                               State
                               0                   False
                               1                   True
                                                                               Usage:
                   In our program, this instruction is used for giving the input which comes
        from parallel port to X-, Y- or Z-stepper motors.

        2. XIO (Examine if Open) :
                    Use the XIO (Normally closed) instruction in your ladder program to
        determine if a bit is ‘Off’. When the instruction is executed, if the bit addressed is off
        (0), then the instruction is evaluated as true. When the instruction is executed, if the bit
        addressed is on (1), then the instruction is evaluated as false.

            Symbol            Table (C):- XIO Bit State
                               Bit Address         XIC Instruction
                               State
                               0                   True
                               1                   False             Usage:
                                                                                   In             our
        program, this instruction is used for two purposes. (1) Initial loading of bits in to Bit file
        which is used for giving the sequence of pulses to the stepper motor. (2) To stop to
        motor by using limit switch for safety in reverse direction.



                                                                                                  18
3. OTE (Output Energize) :

           Use the OTE instruction in your ladder program to turn on a bit when rung
conditions are evaluated as true. An example of a device that turns on or off is an
output wired to a pilot light (addressed as O: 0/4).

                                      Symbol




            OTE instructions are reset when:
                 The SLC enters or returns to the REM Run or REM Test mode or
                    power is restored.
                 The OTE is programmed within an inactive or false Master Control
                    Reset (MCR) zone.
   Usage:
            In our program, this instruction is used for giving output signal to the steps
of the X-, Y- or Z-stepper motor, when input signal comes on bits of the bit file from the
parallel port.

4. OSR (One-shot Rising) :

            The ONS instruction is an input instruction that makes the rung true for one
program scan upon a false-to-true transition of the conditions preceding the ONS
instruction on the rung.
            Use the ONS instruction to start events that are triggered by a pushbutton,
such as pulling values from thumbwheel switches or freezing rapidly displayed LED
values.
            You must enter a bit address for the bit. Use either a binary file or integer
file address.

                                      Symbol



    Entering Parameters:
            Use a bit address from either the bit or integer data file. The addressed bit is
set (1) for one scan when rung conditions preceding the ONS instruction are true (even
if the ONS instruction becomes false); the bit is reset (0) when rung conditions
preceding the ONS instruction are false.




                                                                                         19
Notes:
            Do not use an input or output address to program the address parameter of
the ONS instruction. The bit address you use for this instruction must be unique. Do not
use it elsewhere in the program.

   Example:




            When the input instruction goes from false-to-true, the ONS instruction
conditions the rung so that the output goes true for one program scan. The output goes
false and remains false for successive scans until the input makes another false-to-true
transition.
    Usage:
            In our program, this instruction is used for initial loading of bits in to Bit file
which is used for giving the sequence of pulses to the stepper motor.


5. MOV (Move) :

            This output instruction moves the source value to the destination location.
As long as the rung remains true, the instruction moves the data each scan.

                                       Symbol




    Entering Parameters:
           Enter the following parameters when programming this instruction:
               Source is the address or constant of the data you want to move
               Destination is the address where the instruction moves the data
    Usage:
           In our program, this instruction is used for loading and moving of constant
value in a bit file and this bit file contains 16 bits. These bits are used to give pulses in
sequence to the stepper motor.

                                                                                           20
In our project, the aim is to control the stepper motor. The stepper motor
has four coils and we are using full step operation on it in which we are giving signals to
two coils simultaneously because of high loads acting on the motor.


6. BSL (Bit Shift Left) :

            BSL is output instruction that load data into a bit array one bit at a time. The
data is shifted left through the array, then unloaded one bit at a time.
                                       Symbol




    Entering Parameters:
           Enter the following parameters when programming these instructions:
             File is the address of the bit array you want to manipulate. You must
               use the file indicator (#) in the bit array address.
             Control is the control element that stores the status byte of the
               instruction and the size of the array (in number of bits). Note that the
               control address should not be used for any other instruction.

      Table (D):- Control File Structure

              15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
       Word 0 EN          DN        E   UL       Not used
                                    R
       Word 1 Size of bit array (number of bits)
       Word 2 Reserved

            Status bits of the control element may be addressed by mnemonic. They
            include:
             • Unload Bit UL (bit 10) stores the status of the bit exited from the array
                 each time the instruction is enabled.
             • Error Bit ER (bit 11), when set, indicates the instruction detected an
                 error such as entering a negative number for the length or position.
                 Avoid using the output bit when this bit is set.
             • Done Bit DN (bit 13), when set, indicates the bit array has shifted one
                 position.
             • Enable Bit EN (bit 15) is set on a false-to-true transition of the rung and
                 indicates the instruction is enabled.
            When the register shifts and input conditions go false, the enable, done, and
            error bits are reset.

                                                                                         21
 Bit Address is the address of the source bit that the instruction inserts
                in the first (lowest) bit position (BSL) or the last (highest) bit position
                (BSR).
              Length (size of bit array) is the number of bits in the bit array, up to
                2048 bits. A length value of 0 causes the input bit to be transferred to
                the UL bit.
            When the rung goes from false-to-true, the processor sets the enable bit
(EN bit 15) and the data block is shifted to the left (to a higher bit number) one bit
position. The specified bit at the bit address is shifted into the first bit position. The last
bit is shifted out of the array and stored in the unload bit (UL bit 10). The shift is
completed immediately.
    Usage:
            In our program, once a value is loaded in the bit file by using the MOV
instruction, now we are rotating bits contained in bit file with 16 as a size of array left
side. When the rung goes from false-to-true, this process will be done. As the bits are
rotating left, motor gets forward sequence and it steps forward.


7. BSR (Bit Shift Right) :

            BSR is output instruction that load data into a bit array one bit at a time. The
data is shifted right through the array, then unloaded one bit at a time.

                                        Symbol




           When the rung goes from false-to-true, the enable bit (EN bit 15) is set and
the data block is shifted to the right (to a lower bit number) one bit position. The
specified bit at the bit address is shifted into the last bit position. The first bit is shifted
out of the array and stored in the unload bit (UL bit 10) in the status byte of the control
element. The shift is completed immediately.

    Entering Parameters:
            As discussed above, same entering parameters are used in this instruction.
    Usage:
            In our program, once a value is loaded in the bit file by using the MOV
instruction, now we are rotating bits contained in bit file with 16 as a size of array right
side. When the rung goes from false-to-true, this process will be done. As the bits are
rotating right, motor gets reverse sequence and it will rotate in reverse direction.


                                                                                            22
Now, we will explain how stepper motors work by using PLC program. So please
refer figure (J) and read following portion carefully.

       First, we should clear that we are using 5-wired Unipolar wound stepper motor And
we are using Full Step Drive (2 phases on).




 Fig (K): Unipolar wound stepper motor construction     Fig (L): Excitation Sequence (full step)

       In Full Step Drive we are energizing two phases at any given time. The stator is
energized according to the sequence A B  AB AB  AB and the rotor steps from
position 1  3  5  7 as show in fig (K). Full step mode results in the same angular
movement as 1 phase on drive but the mechanical position is offset by one half of a full
step.

5.9.4.2 Explaining of Control of X-Motor:

        At the Starting of the program, we are loading the bit stream ‘0011001100110011’
in binary form in the bit file B3:0, because of using the full step drive due to high loads
applied on motor so that we are giving pulses on two coils simultaneously. This process is
done by MOV instruction as shown in Rung 0000 in fig (J). As the initial loading of bits, bits
0, 1, 4, 5, 8, 9, 12 and 13 set to ‘1’ so that motor will get first step due to bits 0 & 1 as
shown in rungs 0003 & 0004.

      As shown in Rung 0001, when input I:0/8 (X-Forward) is energized by giving signal
from parallel port, the output BSL instruction will energized and bits will rotate in bit file
B3:0 with 16 as a size of array Left side. As the rotating will be done, bits in the bit file
change to ‘0110011001100110’. Here, bits 1 & 2 set to ‘1’ which will give another step to

                                                                                               23
the motor as shown in rungs 0004 & 0005. If an another signal is given to the input I:0/8,
again bits will rotate in bit file B3:0 with 16 as a size of array left side and change to
‘1100110011001100’. Now, bits 2 & 3 go to state ‘1’ which will give next step to the motor
as shown in rungs 0005 & 0006 and so on. This process is called ‘Forward Motion of
Motor’.
        Now, going to Rung 0002, when input I:0/9 (X-Reverse) is energized by giving signal
from parallel port, the output BSR instruction will energized and bits will rotate in bit file
B3:0 with 16 as a size of array Right side. As the rotating will be done, bits in the bit file
change to ‘1001100110011001’. Here, bits 0 & 4 will set which will give step to the motor
which rotates in reverse direction as shown in rungs 0003 & 0006. If an another signal is
given to the input I:0/9, again bits will rotate in bit file B3:0 with 16 as a size of array right
and change to ‘1100110011001100’. Now, bits 2 & 3 set to ‘1’ which will give next step to
the motor I reverse direction as shown in rungs 0005 & 0006 and so on. This process is
called ‘Forward Motion of Motor’.
        The normally close (XIO) input instruction I:0/17 is used with label ‘X-Limit’ in the
rung 0003. When we are applying input I:0/9 no of times, motor will rotate in X-reverse
direction over the given limit. The purpose of using this NC input is to stop the motor or
pulses given to it over the predefined limit. When the limit switch is pressed the rung 0003
will become false and we will not get any output to motor.

       Thus, X-Motion is controlled by above described procedures and similarly we are
controlling remaining motors (Y and Z-Motion) by using parallel port and PLC Ladder Logic.

5.9.4.3 Explaining of Control of Electromechanical Gripper:

         For controlling Electromechanical Gripper which is attached to bottom of Z-axis
slide, we are using somewhat similar logic to that of X-, Y- and Z-motion control. In this, at
an initial loading time, we are loading the bit stream ‘1010101010101010’ in binary form in
the bit file B3:6 by using the MOV instruction. From rung 0023, we can say that bit 0 of the
bit file decides the gripper output. At this initial level, bit 0 is already reset bit and hence,
the gripper does not excite.
         When all the three motions (X, Y, and Z) are being done by the manipulator, at that
time the gripper stands exactly above the object and now we want to pick an object by
using electromechanical gripper. As shown in rung 0022, when input I:0/0 (gripper
excitation) is energized by giving signal from parallel port, the output BSL instruction will
energized and bits will rotate in bit file B3:6 with 16 as a size of array Left side. As the
rotating will be done, bits in the bit file change to ‘0101010101010101’ and here bit 0 will
set. As the bit B3:6/0 is energized, the gripper excites and picks the object nearest to it.




                                                                                              24
REFERENCES:-

 Books:-

    1) Introduction to Programmable Logic Controller By Gary Dunning
    2) Allen Bradley SLC 500 Instruction set (E-Book in PDF format)
    3) MicroLogix Programmable Controller Selection Guide (E-Book in PDF format)

 Websites:-

    1)   www.rockwellautomation.com
    2)   www.plcs.net
    3)   www.wikipedia.com
    4)   www.howstuffworks.com
    5)   www.google.co.in




                                                                                   25
Parallel Port Control by MATLAB

The Parallel Port:-

        The PC supports up to three parallel ports that are assigned the labels LPT1, LPT2, and
LPT3. We can use any of these standard ports as long as they use the usual base addresses, which
are (in hex) 378, 278, and 3BC, respectively. The port labels and addresses are typically configured
through the PC's BIOS. Additional ports, or standard ports not assigned the usual base addresses,
are not accessible by the toolbox.
         Most PCs that support MATLAB will include a single parallel port with label LPT1 and base
address 378. To create a DIO object for this port,

       parport = digitalio('parallel','LPT1');

     A. Parallel Port Properties:-

           The device-specific parallel port properties are given below.

Table (A): Parallel Port Properties
  Property Name     Description                                                         Device
                                                                                        Objects
  Bidirectional     Specify the BIOS control register bit that determines bidirectional DIO
  Bit               operation.
  Port Address      Indicate the base address of the parallel port.                     DIO

     B. Digital Input/output:-

      Digital I/O (DIO) subsystems are designed to transfer digital values to and from hardware.
These values are handled either as single bits or lines, or as a port, which typically consists of eight
lines. While most popular data acquisition boards include some DIO capability, it is usually limited
to simple operations and special dedicated hardware is required for performing advanced DIO
operations. The Data Acquisition Toolbox provides access to digital I/O subsystems through a
digital I/O object. The DIO object can be associated with a parallel port or with a DIO subsystem on
a data acquisition board. The purpose of this chapter is to show you how to perform data
acquisition tasks using your digital I/O hardware. The sections are as follows.



                                                                                                    26
Creating a Digital I/O Object                           Create a MATLAB object that
                                                            represents the digital I/O subsystem
    Adding Lines to a Digital I/O Object                    Associate hardware lines with the
                                                            digital I/O object
    Writing and Reading Digital I/O Line Values             Write values to digital lines, and read
                                                            values from digital lines
       i.    Creating a Digital I/O Object:-

     We create a digital I/O (DIO) object with the digitalio function. digitalio accepts the adaptor
name and the hardware device ID as input arguments. For parallel ports, the device ID is the port
label (LPT1, LPT2, or LPT3). For data acquisition boards, the device ID refers to the number
associated with the board when it is installed. Note that some vendors refer to the device ID as the
device number or the board number. Use the daqhwinfo function to determine the available
adaptors and device IDs. Each DIO object is associated with one parallel port or one subsystem.
For example, to create a DIO object associated with a National Instruments board:

     dio = digitalio('nidaq',1);

     The digital I/O object dio now exists in the MATLAB workspace. You can display the class of
dio with the whos command.

    whos dio
     Name Size            Bytes Class

     dio       1x1        1308 digitalio object

    Grand total is 40 elements using 1308 bytes

     Once the object is created, the properties listed below are automatically assigned values.
These general purpose properties provide descriptive information about the object based on its
class type and adaptor.

    Table (B): Descriptive Digital I/O Properties
     Property Name Description
     Name                 Specify a descriptive name for the device object.
     Type                 Indicate the device object type.

    You can display the values of these properties for dio with the get function.

    get(dio,{'Name','Type'})
    ans =
      'nidaq1-DIO' 'Digital IO'


                                                                                                 27
ii.    Adding Lines to a Digital I/O Object:-

            After creating the digital I/O (DIO) object, we must add lines to it. As shown by the
figure, we can think of a device object as a container for lines. The collection of lines contained by
the DIO object is referred to as a line group. A line group consists of a mapping between hardware
line IDs and MATLAB indices (see below).
            When adding lines to a DIO object, we must follow these rules:
                 The lines must reside on the same hardware device. We cannot add lines from
                   different devices, or from different subsystems on the same device.
                 We can add a line only once to a given digital I/O objects. However, a line can
                   be added to as many different digital I/O objects as we desire.
                 We can add lines that reside on different ports to a given digital I/O object.

           We add lines to a digital I/O object with the addline function. addline requires the
device object, at least one hardware line ID, and the direction (input or output) of each added line
as input arguments. We can optionally specify port IDs, descriptive line names, and an output
argument. For example, to add eight output lines from port 0 to the device object dio created in
the preceding section:

             hwlines = addline(dio,0:7,'out');

          The output argument hwlines is a line object that reflects the line group contained by
dio. We can display the class of hwlines with the whos command.

             whos hwlines
              Name      Size        Bytes Class

              hwlines     8x1        536 dioline object

             Grand total is 13 elements using 536 bytes

            We can use hwlines to easily access lines. For example, we can configure or return
property values for one or more lines.
             Once we add lines to a DIO object, the properties listed below are automatically
assigned values. These properties provide descriptive information about the lines based on their
class type and ID.

             Table (C): Descriptive Digital I/O Line Properties
                                                                                                   28
Property Name          Description
            HwLine                 Specify the hardware line ID.
            Index                  Indicate the MATLAB index of a hardware line.
            Parent                 Indicate the parent (device object) of a line.
            Type                   Indicate a line.
           Line and Port Characteristics:-

           As described in the preceding section, when we add lines to a DIO object, they must be
configured for either input or output. We read values from an input line and write values to an
output line. Whether a given hardware line is addressable for input or output depends on the port
it resides on. We can classify digital I/O ports into these two groups based on your ability to
address lines individually:
            Port-configurable devices – We cannot address the lines associated with a port-
                configurable device individually. Therefore, we must configure all the lines for
                either input or output. If we attempt to mix the two configurations, an error is
                returned.
                We can add any number of available port-configurable lines to a DIO object.
                However, the engine will address all lines behind the scenes. For example, if one
                line is added to a DIO object, then we automatically get all lines. Therefore, if a DIO
                object contains lines from a port-configurable device, and we write a value to one
                or more of those lines, then all the lines are written to even if they are not
                contained by the device object.
            Line-configurable devices – We can address the lines associated with a line-
                configurable device individually. Therefore, we can configure individual lines for
                either input or output. Additionally, we can read and write values on a line-by-line
                basis. Note that for National Instruments E Series hardware, port 0 is always line-
                configurable, while all other ports are port-configurable.

           We can return the line and port characteristics with the daqhwinfo function. For
example, National Instruments AT-MIO-16DE-10 board has four ports with eight lines per port. To
return the digital I/O characteristics for this board:

           hwinfo = daqhwinfo(dio);

           Display the line characteristics for each port.
           hwinfo.Port(1)
           ans =
                    ID: 0
               LineIDs: [0 1 2 3 4 5 6 7]
             Direction: 'in/out'
                Config: 'line'
           hwinfo.Port(2)
           ans =

                                                                                                    29
ID: 2
               LineIDs: [0 1 2 3 4 5 6 7]
             Direction: 'in/out'
                Config: 'port'
           hwinfo.Port(3)
           ans =
                    ID: 3
               LineIDs: [0 1 2 3 4 5 6 7]
             Direction: 'in/out'
                Config: 'port'
           hwinfo.Port(4)
           ans =
                    ID: 4
               LineIDs: [0 1 2 3 4 5 6 7]
             Direction: 'in/out'
                Config: 'port'

           This information tells we that we can configure all 32 lines for either input or output,
and that the first port is line-configurable while the remaining ports are port-configurable.

           Parallel Port Characteristics:-

           The parallel port consists of eight data lines, four control lines, five status lines, and
eight ground lines. In normal usage, the lines are controlled by the host computer software and
the peripheral device following a protocol such as IEEE Standard 1284-1994. The protocol defines
procedures for transferring data such as handshaking, returning status information, and so on.
However, the toolbox uses the parallel port as a basic digital I/O device, and no protocol is
needed. Therefore, we can use the port to input and output digital values just as we would with a
typical DIO subsystem. To access the physical parallel port lines, most PCs come equipped with
one 25-pin female connector, which is shown below. The lines use TTL logic levels. A line is high
(true or asserted) when it is a TTL high level, while a line is low (false or unasserted) when it is a
TTL low level. The exceptions are lines 1, 11, 14, and 17, which are hardware inverted. The toolbox
groups the 17 nonground lines into three separate ports. The port IDs and the associated pin
numbers are given below.

           Table (D): Parallel Port IDs and Pin Numbers
            Port ID   Pins                  Description
            0         2-9                   Eight I/O lines, with pin 9 being the most significant bit (MSB).
            1         10-13, and 15         Five input lines used for status
            2         1, 14, 16, and 17     Four I/O lines used for control

          Note that in some cases, port 0 lines might be unidirectional and only output data. If
supported by the hardware, we can configure these lines for both input and output with your PC's

                                                                                                      30
BIOS by selecting a bidirectional mode such as EPP (Enhanced Parallel Port) or ECP (Extended
Capabilities Port).


           Referencing Individual Hardware Lines:-

           As described in the preceding section, we can access lines with the Line property or
with a line object. To reference individual lines, we must specify either MATLAB indices or
descriptive line names.
            MATLAB Indices:
               Every hardware line contained by a DIO object has an associated MATLAB index
that is used to reference the line. When adding lines with the addline function, index assignments
are made automatically. The line indices start at 1 and increase monotonically up to the number of
line group members. The first line indexed in the line group represents the least significant bit
(LSB), and the highest indexed line represents the most significant bit (MSB). Unlike adding
channels with the addchannel function, we cannot manually assign line indices with addline.
               For example, the digital I/O object dio created in the preceding section has the
MATLAB indices 1 through 8 automatically assigned to the hardware lines 0 through 7,
respectively. To swap the first two hardware lines so that line ID 1 is the LSB, we can supply the
appropriate index to hwlines and use the HwLine property.

              hwlines(1).HwLine = 1;
              hwlines(2).HwLine = 0;
              Alternatively, we can use the Line property.
              dio.Line(1).HwLine = 1;
              dio.Line(2).HwLine = 0;
            Descriptive Line Names:
                Choosing a unique, descriptive name can be a useful way to identify and reference
lines -- particularly for large line groups. We can associate descriptive names with hardware lines
with the addline function. For example, suppose we want to add 8 lines to dio, and we want to
associate the name TrigLine with the first line added.

              addline(dio,0,'out','TrigLine');
              addline(dio,1:7,'out');
              Alternatively, we can use the LineName property.
              addline(dio,0:7,'out');
              dio.Line(1).LineName = 'TrigLine';
              we can now use the line name to reference the line.
              dio.TrigLine.Direction = 'in';



                                                                                                31
 Example: Adding Lines for National Instruments Hardware:

                This example illustrates various ways we can add lines to a DIO object associated
with a National Instruments AT-MIO-16DE-10 board. This board is a multiport device whose
characteristics are described in Line and Port Characteristics.

               To add eight input lines to dio from port 0:
               addline(dio,0:7,'in');
               To add four input lines and four output lines to dio from port 0:
               addline(dio,0:7,{'in','in','in','in','out','out','out','out'});
                 Suppose we want to add the first two lines from port 0 configured for input, and
the first two lines from port 2 configured for output. There are four ways to do this.

              i.      The first way requires only one call to addline because it uses the hardware line
                      IDs, and not the port IDs.

                    addline(dio,[0 1 8 9],{'in','in','out','out'});

             ii.      The second way requires two calls to addline, and specifies one line ID and
                      multiple port IDs for each call.

                    addline(dio,0,[0 2],{'in','out'});
                    addline(dio,1,[0 2],{'in','out'});

             iii.     The third way requires two calls to addline, and specifies multiple line IDs and
                      one port ID for each call.

                    addline(dio,0:1,0,'in');
                    addline(dio,0:1,2,'out');

            iv.       We can use four addline calls -- one for each line added




                                                                                                    32
iii.    Writing and Reading Digital I/O Line Values:-

                After we add lines to a digital I/O (DIO) object, you can:
                     Write values to lines
                     Read values from lines

             1) Writing Digital Values:-

               We write values to digital lines with the putvalue function. putvalue requires the
DIO object and the values to be written as input arguments. We can specify the values to be
written as a decimal value or as a binary vector (binvec). A binary vector is a logical array that is
constructed with the least significant bit (LSB) in the first column and the most significant bit
(MSB) in the last column. For example, the decimal value 23 is written in binvec notation as [1 1 1
0 1] = 20 + 21 + 22 + 24. We might find that binvecs are easier to work with than decimal values
because there is a clear association between a given line and the value (1 or 0) that is written to it.
We can convert decimal values to binvec values with the dec2binvec function. For example,
suppose we create the digital I/O object dio and add eight output lines to it from port 0.

                       dio = digitalio('nidaq',1);
                       addline(dio,0:7,'out');

                To write a value of 23 to the eight lines contained by dio, we can write to the device
object.
                       data = 23;
                       putvalue(dio,data)

                Alternatively, we can write to individual lines through the Line property.

                       putvalue(dio.Line(1:8),data)

                To write a binary vector of values using the device object and the Line property:

                       bvdata = dec2binvec(data,8);
                       putvalue(dio,bvdata)
                       putvalue(dio.Line(1:8),bvdata)

                Alternatively, we can create the binary vector without using dec2binvec.



                                                                                                    33
bvdata = logical([1 1 1 0 1 0 0 0]);
                      putvalue(dio,bvdata)


             Rules for Writing Digital Values:

               Writing values to digital I/O lines follows these rules:
               If the DIO object contains lines from a port-configurable device, then the data
acquisition engine writes to all lines associated with the port even if they are not contained by the
device object.
               • When writing decimal values,
                    If the value is too large to be represented by the lines contained by the
                       device object, then an error is returned.
                    We can write to a maximum of 32 lines. To write to more than 32 lines, we
                       must use a binvec value.
               • When writing binvec values,
                    We can write to any number of lines.
                    There must be an element in the binary vector for each line we write to.
               • We can always read from a line configured for output. Reading values is
                   discussed in Reading Digital Values.
               • An error is returned if you write a negative value, or if we write to a line
                   configured for input.




           2) Reading Digital Values:-

                We can read values from one or more lines with the getvalue function. getvalue
requires the DIO object as an input argument. We can optionally specify an output argument,
which represents the returned values as a binary vector. Binary vectors are described in Writing
Digital Values. For example, suppose we create the digital I/O object dio and add eight input lines
to it from port 0.
                       dio = digitalio('nidaq',1);
                       addline(dio,0:7,'in');

               To read the current value of all the lines contained by dio:

                      portval = getvalue(dio)
                      portval =
                         1 1 1 0 1 0 0 0
               To read the current values of the first five lines contained by dio:



                                                                                                  34
lineval = getvalue(dio.Line(1:5))
                      lineval =
                         1 1 1 0 1
              We can convert a binvec to a decimal value with the binvec2dec function. For
example, to convert the binary vector lineval to a decimal value:

                    out = binvec2dec(lineval)
                    out =
                      23

           Rules for Reading Digital Values:

             Reading values from digital I/O lines follows these rules:

               •   If the DIO object contains lines from a port-configurable device, then all lines
                   are read even if they are not contained by the device object. However, only
                   values from the lines contained by the object are returned.
               •   We can always read from a line configured for output.
               •   For National Instruments hardware, lines configured for input return a value
                   of 1 by default.
               •   getvalue always returns a binary vector (binvec). To convert the binvec to a
                   decimal value, use the binvec2dec function.




                                                                                                35

More Related Content

What's hot

automatic mixing & filling bottle using PLC
automatic mixing & filling bottle using PLCautomatic mixing & filling bottle using PLC
automatic mixing & filling bottle using PLCLeelu Veerendra Pulagam
 
GSM Based Fault Monitoring System (Project)
GSM Based Fault Monitoring System (Project)GSM Based Fault Monitoring System (Project)
GSM Based Fault Monitoring System (Project)Aishwary Verma
 
TRAINING REPORT ON INDUSTRIAL AUTOMATION- PLC SCADA, VARIABLE FREQUENCY DRIVE
TRAINING REPORT ON INDUSTRIAL AUTOMATION- PLC SCADA, VARIABLE FREQUENCY DRIVETRAINING REPORT ON INDUSTRIAL AUTOMATION- PLC SCADA, VARIABLE FREQUENCY DRIVE
TRAINING REPORT ON INDUSTRIAL AUTOMATION- PLC SCADA, VARIABLE FREQUENCY DRIVEAKSHAY SACHAN
 
43542179 programmable-logic-controller-plc-ppt
43542179 programmable-logic-controller-plc-ppt43542179 programmable-logic-controller-plc-ppt
43542179 programmable-logic-controller-plc-pptParbat Rajpurohit
 
Programming logic controllers (plc) seminar
Programming  logic controllers (plc) seminarProgramming  logic controllers (plc) seminar
Programming logic controllers (plc) seminarmanish gharte
 
3 phase Transmission Line fault detector edit 1-3.pptx
3 phase Transmission Line fault detector edit 1-3.pptx3 phase Transmission Line fault detector edit 1-3.pptx
3 phase Transmission Line fault detector edit 1-3.pptxKrishna2017
 
summer internship report on PLC & SCADA
summer internship report on PLC & SCADAsummer internship report on PLC & SCADA
summer internship report on PLC & SCADAVarunKumarRaghav
 
Plc example presentation
Plc example presentationPlc example presentation
Plc example presentationRoshit Kadiru
 
Summer Internship Report on PLC
Summer Internship Report on PLCSummer Internship Report on PLC
Summer Internship Report on PLCSudeep Giri
 
INDUSTRIAL AUTOMATION USING PLC
INDUSTRIAL AUTOMATION USING PLCINDUSTRIAL AUTOMATION USING PLC
INDUSTRIAL AUTOMATION USING PLCMehvish Mushtaq
 
Introduction to plc (s7)­
Introduction to  plc (s7)­ Introduction to  plc (s7)­
Introduction to plc (s7)­ majitra
 
PLC ARCHITECTURE AND HARDWARE COMPONENTS
PLC ARCHITECTURE AND HARDWARE COMPONENTSPLC ARCHITECTURE AND HARDWARE COMPONENTS
PLC ARCHITECTURE AND HARDWARE COMPONENTSAkshay Dhole
 
Electric traction
Electric tractionElectric traction
Electric tractionDipak Meher
 
PPT on INDUSTRIAL AUTOMATION, PLC, SCADA
 PPT on INDUSTRIAL AUTOMATION, PLC, SCADA PPT on INDUSTRIAL AUTOMATION, PLC, SCADA
PPT on INDUSTRIAL AUTOMATION, PLC, SCADAAakashkumar276
 
PLC and SCADA in Industrial Automation
PLC and SCADA in Industrial AutomationPLC and SCADA in Industrial Automation
PLC and SCADA in Industrial AutomationNikhil nnk
 

What's hot (20)

automatic mixing & filling bottle using PLC
automatic mixing & filling bottle using PLCautomatic mixing & filling bottle using PLC
automatic mixing & filling bottle using PLC
 
GSM Based Fault Monitoring System (Project)
GSM Based Fault Monitoring System (Project)GSM Based Fault Monitoring System (Project)
GSM Based Fault Monitoring System (Project)
 
TRAINING REPORT ON INDUSTRIAL AUTOMATION- PLC SCADA, VARIABLE FREQUENCY DRIVE
TRAINING REPORT ON INDUSTRIAL AUTOMATION- PLC SCADA, VARIABLE FREQUENCY DRIVETRAINING REPORT ON INDUSTRIAL AUTOMATION- PLC SCADA, VARIABLE FREQUENCY DRIVE
TRAINING REPORT ON INDUSTRIAL AUTOMATION- PLC SCADA, VARIABLE FREQUENCY DRIVE
 
Plc presentation
Plc presentation Plc presentation
Plc presentation
 
43542179 programmable-logic-controller-plc-ppt
43542179 programmable-logic-controller-plc-ppt43542179 programmable-logic-controller-plc-ppt
43542179 programmable-logic-controller-plc-ppt
 
Plc 101
Plc 101Plc 101
Plc 101
 
Programming logic controllers (plc) seminar
Programming  logic controllers (plc) seminarProgramming  logic controllers (plc) seminar
Programming logic controllers (plc) seminar
 
3 phase Transmission Line fault detector edit 1-3.pptx
3 phase Transmission Line fault detector edit 1-3.pptx3 phase Transmission Line fault detector edit 1-3.pptx
3 phase Transmission Line fault detector edit 1-3.pptx
 
summer internship report on PLC & SCADA
summer internship report on PLC & SCADAsummer internship report on PLC & SCADA
summer internship report on PLC & SCADA
 
Basic plc
Basic plcBasic plc
Basic plc
 
Plc example presentation
Plc example presentationPlc example presentation
Plc example presentation
 
Static relay
Static relayStatic relay
Static relay
 
Summer Internship Report on PLC
Summer Internship Report on PLCSummer Internship Report on PLC
Summer Internship Report on PLC
 
INDUSTRIAL AUTOMATION USING PLC
INDUSTRIAL AUTOMATION USING PLCINDUSTRIAL AUTOMATION USING PLC
INDUSTRIAL AUTOMATION USING PLC
 
Introduction to plc (s7)­
Introduction to  plc (s7)­ Introduction to  plc (s7)­
Introduction to plc (s7)­
 
PLC ARCHITECTURE AND HARDWARE COMPONENTS
PLC ARCHITECTURE AND HARDWARE COMPONENTSPLC ARCHITECTURE AND HARDWARE COMPONENTS
PLC ARCHITECTURE AND HARDWARE COMPONENTS
 
Electric traction
Electric tractionElectric traction
Electric traction
 
Plc seminar abu
Plc seminar    abuPlc seminar    abu
Plc seminar abu
 
PPT on INDUSTRIAL AUTOMATION, PLC, SCADA
 PPT on INDUSTRIAL AUTOMATION, PLC, SCADA PPT on INDUSTRIAL AUTOMATION, PLC, SCADA
PPT on INDUSTRIAL AUTOMATION, PLC, SCADA
 
PLC and SCADA in Industrial Automation
PLC and SCADA in Industrial AutomationPLC and SCADA in Industrial Automation
PLC and SCADA in Industrial Automation
 

Viewers also liked

Plc (PROGRAMMABLE LOGIC CONTROLLER)
Plc (PROGRAMMABLE LOGIC CONTROLLER)Plc (PROGRAMMABLE LOGIC CONTROLLER)
Plc (PROGRAMMABLE LOGIC CONTROLLER)Urval Chotalia
 
PLC(Programmable Logic Controller)-Control system Engineering.
PLC(Programmable Logic Controller)-Control system Engineering.PLC(Programmable Logic Controller)-Control system Engineering.
PLC(Programmable Logic Controller)-Control system Engineering.Tahmid Rongon
 
Programmable logic controller(plc)
Programmable logic controller(plc)Programmable logic controller(plc)
Programmable logic controller(plc)Mustahid Ali
 
RSLogix 5000 Report(s)
RSLogix 5000 Report(s)RSLogix 5000 Report(s)
RSLogix 5000 Report(s)AYAN MONDAL
 
Programmable Logic Controller(PLC)
Programmable Logic Controller(PLC)Programmable Logic Controller(PLC)
Programmable Logic Controller(PLC)Ahad Hossain
 
PLC (Programmable Logic Controller) S.M.54
PLC (Programmable Logic Controller) S.M.54PLC (Programmable Logic Controller) S.M.54
PLC (Programmable Logic Controller) S.M.54Subhash Mahla
 
Getting started with PLCs
Getting started with PLCsGetting started with PLCs
Getting started with PLCsplc_course
 
Parking Control System using PLC
Parking Control System using PLCParking Control System using PLC
Parking Control System using PLCZunAib Ali
 
PLC and SCADA training.
PLC and SCADA training.PLC and SCADA training.
PLC and SCADA training.Ishank Ranjan
 
Plc.checklist.supt.cohort
Plc.checklist.supt.cohortPlc.checklist.supt.cohort
Plc.checklist.supt.cohortWSU Cougars
 
Siemens s7 plc shift register instructions (shrb) plc ladder logic
Siemens s7 plc shift register instructions (shrb) plc ladder logicSiemens s7 plc shift register instructions (shrb) plc ladder logic
Siemens s7 plc shift register instructions (shrb) plc ladder logicarco zhang
 

Viewers also liked (20)

PLC - Programmable Logic Controller
PLC - Programmable Logic ControllerPLC - Programmable Logic Controller
PLC - Programmable Logic Controller
 
ppt on PLC
ppt on PLCppt on PLC
ppt on PLC
 
Plc (PROGRAMMABLE LOGIC CONTROLLER)
Plc (PROGRAMMABLE LOGIC CONTROLLER)Plc (PROGRAMMABLE LOGIC CONTROLLER)
Plc (PROGRAMMABLE LOGIC CONTROLLER)
 
PLC(Programmable Logic Controller)-Control system Engineering.
PLC(Programmable Logic Controller)-Control system Engineering.PLC(Programmable Logic Controller)-Control system Engineering.
PLC(Programmable Logic Controller)-Control system Engineering.
 
stepper motor
stepper motorstepper motor
stepper motor
 
Programmable logic controller(plc)
Programmable logic controller(plc)Programmable logic controller(plc)
Programmable logic controller(plc)
 
RSLogix 5000 Report(s)
RSLogix 5000 Report(s)RSLogix 5000 Report(s)
RSLogix 5000 Report(s)
 
Programmable Logic Controller(PLC)
Programmable Logic Controller(PLC)Programmable Logic Controller(PLC)
Programmable Logic Controller(PLC)
 
Stepper motor
Stepper motorStepper motor
Stepper motor
 
Best Practices in PLC Programming
Best Practices in PLC ProgrammingBest Practices in PLC Programming
Best Practices in PLC Programming
 
PLC (Programmable Logic Controller) S.M.54
PLC (Programmable Logic Controller) S.M.54PLC (Programmable Logic Controller) S.M.54
PLC (Programmable Logic Controller) S.M.54
 
Getting started with PLCs
Getting started with PLCsGetting started with PLCs
Getting started with PLCs
 
PLC
PLCPLC
PLC
 
Parking Control System using PLC
Parking Control System using PLCParking Control System using PLC
Parking Control System using PLC
 
PLC and SCADA training.
PLC and SCADA training.PLC and SCADA training.
PLC and SCADA training.
 
Plc.checklist.supt.cohort
Plc.checklist.supt.cohortPlc.checklist.supt.cohort
Plc.checklist.supt.cohort
 
Pe 4030 plc coe
Pe 4030 plc coePe 4030 plc coe
Pe 4030 plc coe
 
Plc's
Plc'sPlc's
Plc's
 
Arcelor Mittal
Arcelor Mittal Arcelor Mittal
Arcelor Mittal
 
Siemens s7 plc shift register instructions (shrb) plc ladder logic
Siemens s7 plc shift register instructions (shrb) plc ladder logicSiemens s7 plc shift register instructions (shrb) plc ladder logic
Siemens s7 plc shift register instructions (shrb) plc ladder logic
 

Similar to Programmable Logic Controller

Introduction to PLC
Introduction to PLCIntroduction to PLC
Introduction to PLCVeerakumar S
 
Programming logic controllers (plc)
Programming  logic controllers (plc)Programming  logic controllers (plc)
Programming logic controllers (plc)Sudhir Reddy
 
Basic Control System unit5
Basic Control System unit5Basic Control System unit5
Basic Control System unit5Asraf Malik
 
Advanced plc programming & scada system design
Advanced plc programming & scada system designAdvanced plc programming & scada system design
Advanced plc programming & scada system designlakshanwalpita
 
Programmable Logic Controllers Paper (PLC) SM54
Programmable Logic Controllers Paper (PLC) SM54Programmable Logic Controllers Paper (PLC) SM54
Programmable Logic Controllers Paper (PLC) SM54Subhash Mahla
 
Plc 7 my saminar plc
Plc 7  my saminar plcPlc 7  my saminar plc
Plc 7 my saminar plcRameez Raja
 
1 introduction to plc and its programming-1
1 introduction to plc and its programming-11 introduction to plc and its programming-1
1 introduction to plc and its programming-1VishalGupta969
 
Programmable Logic Controllers
Programmable Logic ControllersProgrammable Logic Controllers
Programmable Logic ControllersAnchit Walia
 
Implementation of T-Junction Traffic Light Control System Using Simatic S7-20...
Implementation of T-Junction Traffic Light Control System Using Simatic S7-20...Implementation of T-Junction Traffic Light Control System Using Simatic S7-20...
Implementation of T-Junction Traffic Light Control System Using Simatic S7-20...IJERA Editor
 
Industrial Automation EMERSON EDUARDO RODRIGUES
Industrial Automation EMERSON EDUARDO RODRIGUESIndustrial Automation EMERSON EDUARDO RODRIGUES
Industrial Automation EMERSON EDUARDO RODRIGUESEMERSON EDUARDO RODRIGUES
 
PLC and SCADA summer training report- government engineering college ajmer
PLC and SCADA summer training report- government engineering college ajmerPLC and SCADA summer training report- government engineering college ajmer
PLC and SCADA summer training report- government engineering college ajmerNemichand sencha
 
Automation PLC & SCADA
Automation PLC & SCADA Automation PLC & SCADA
Automation PLC & SCADA NITISH SINGH
 
Basic PLC Programming program The Fundamental Knowledge of PLC.pdf
Basic PLC Programming program The Fundamental Knowledge of PLC.pdfBasic PLC Programming program The Fundamental Knowledge of PLC.pdf
Basic PLC Programming program The Fundamental Knowledge of PLC.pdfLuisDavidCajavilcaCu1
 

Similar to Programmable Logic Controller (20)

Introduction to PLC
Introduction to PLCIntroduction to PLC
Introduction to PLC
 
PLC presentation
PLC presentationPLC presentation
PLC presentation
 
Programming logic controllers (plc)
Programming  logic controllers (plc)Programming  logic controllers (plc)
Programming logic controllers (plc)
 
Basic Control System unit5
Basic Control System unit5Basic Control System unit5
Basic Control System unit5
 
plc-basics.pptx
plc-basics.pptxplc-basics.pptx
plc-basics.pptx
 
Advanced plc programming & scada system design
Advanced plc programming & scada system designAdvanced plc programming & scada system design
Advanced plc programming & scada system design
 
Programmable Logic Controllers Paper (PLC) SM54
Programmable Logic Controllers Paper (PLC) SM54Programmable Logic Controllers Paper (PLC) SM54
Programmable Logic Controllers Paper (PLC) SM54
 
module 1.pptx
module 1.pptxmodule 1.pptx
module 1.pptx
 
Plc 7 my saminar plc
Plc 7  my saminar plcPlc 7  my saminar plc
Plc 7 my saminar plc
 
1 introduction to plc and its programming-1
1 introduction to plc and its programming-11 introduction to plc and its programming-1
1 introduction to plc and its programming-1
 
Programmable Logic Controllers
Programmable Logic ControllersProgrammable Logic Controllers
Programmable Logic Controllers
 
Implementation of T-Junction Traffic Light Control System Using Simatic S7-20...
Implementation of T-Junction Traffic Light Control System Using Simatic S7-20...Implementation of T-Junction Traffic Light Control System Using Simatic S7-20...
Implementation of T-Junction Traffic Light Control System Using Simatic S7-20...
 
Matter new
Matter newMatter new
Matter new
 
Industrial Automation EMERSON EDUARDO RODRIGUES
Industrial Automation EMERSON EDUARDO RODRIGUESIndustrial Automation EMERSON EDUARDO RODRIGUES
Industrial Automation EMERSON EDUARDO RODRIGUES
 
PLC-converted.pdf
PLC-converted.pdfPLC-converted.pdf
PLC-converted.pdf
 
PLC (Programmable Logic Circuit)
PLC (Programmable Logic Circuit)PLC (Programmable Logic Circuit)
PLC (Programmable Logic Circuit)
 
PLC and SCADA summer training report- government engineering college ajmer
PLC and SCADA summer training report- government engineering college ajmerPLC and SCADA summer training report- government engineering college ajmer
PLC and SCADA summer training report- government engineering college ajmer
 
Automation PLC & SCADA
Automation PLC & SCADA Automation PLC & SCADA
Automation PLC & SCADA
 
I012455457
I012455457I012455457
I012455457
 
Basic PLC Programming program The Fundamental Knowledge of PLC.pdf
Basic PLC Programming program The Fundamental Knowledge of PLC.pdfBasic PLC Programming program The Fundamental Knowledge of PLC.pdf
Basic PLC Programming program The Fundamental Knowledge of PLC.pdf
 

More from Jinesh Patel

Creation Of Fluid Flow Pump
Creation Of Fluid Flow PumpCreation Of Fluid Flow Pump
Creation Of Fluid Flow PumpJinesh Patel
 
Handbook Of Formulae And Constants
Handbook Of Formulae And ConstantsHandbook Of Formulae And Constants
Handbook Of Formulae And ConstantsJinesh Patel
 
Sensors And Actuators
Sensors And ActuatorsSensors And Actuators
Sensors And ActuatorsJinesh Patel
 

More from Jinesh Patel (6)

Hydraulics Valves
Hydraulics ValvesHydraulics Valves
Hydraulics Valves
 
Creation Of Fluid Flow Pump
Creation Of Fluid Flow PumpCreation Of Fluid Flow Pump
Creation Of Fluid Flow Pump
 
Handbook Of Formulae And Constants
Handbook Of Formulae And ConstantsHandbook Of Formulae And Constants
Handbook Of Formulae And Constants
 
Hydraulics
HydraulicsHydraulics
Hydraulics
 
Heat Engine
Heat EngineHeat Engine
Heat Engine
 
Sensors And Actuators
Sensors And ActuatorsSensors And Actuators
Sensors And Actuators
 

Recently uploaded

Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsManeerUddin
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxleah joy valeriano
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 

Recently uploaded (20)

Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture hons
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 

Programmable Logic Controller

  • 1. Chapter 5 Programmable Logic Controller (PLC) Contents:- 5.1 Introduction 5.2 Brief History of PLC 5.3 Area of Application of a PLC 5.4 How works PLC 5.5 Types of PLC 5.5.1Fixed PLCs 5.5.2Modular PLCs 5.6 Basic Components of PLC 5.6.1Processor (Control Processing Unit) 5.6.2Input/output system 5.6.3Memory unit 5.6.4Programming language & device 5.6.5Power supply 5.7 Advantages 5.8 Allen Bradley MicroLogix 5.8.1MicroLogix 1200 controller 5.8.1.1Power and I/O Configuration of MicroLogix 1200 controller 5.8.1.2Advantages for MicroLogix 1200 controller 5.9 PLC programming 5.9.1RSLogix 500 5.9.2Ladder Logic 5.9.3Main Ladder Program 5.9.4Explanation of Program 5.9.4.1Explanation of Instructions 5.9.4.2Explaining of Control of X-Motor 5.9.4.3Explaining of Control of Electromechanical Gripper 1
  • 2. 5.1 Introduction to PLC :- A Programmable Logic Controller (PLC) or Programmable Controller is a digital computer used for automation of electromechanical processes, such as control of machinery on factory assembly lines, control of amusement rides, or control of lighting fixtures. A formal definition Of a PLC comes from the National Electrical Manufacturers Association (NEMA): “A digitally operating electronic system, designed for use in an industrial environment, which uses a programmable memory for the internal storage of user-oriented instructions for implementing specific functions such as logic, sequencing, timing, counting and arithmetic, to control, through digital or analogue inputs and outputs, various types of machines or processes. Both the PC and its associated peripherals are designed so that they can be easily integrated into an industrial control system and easily used in all their intended functions." PLCs are used in many different industries and machines such as packaging and semiconductor machines. Unlike general-purpose computers, the PLC is designed for multiple inputs and output arrangements, extended temperature ranges, immunity to electrical noise, and resistance to vibration and impact. Programs to control machine operation are typically stored in battery-backed or non-volatile memory. A PLC is an example of a real time system since output results must be produced in response to input conditions within a bounded time, otherwise unintended operation will result. 5.2 Brief History of PLC :- In 1960s and 1970s, electromachanical relays, timer, counters and sequencers were the standard. Many Control Panels Contained Hundreds of these electromachanical devices and in some cases, a mile or more of wire. The primary negative aspect of mechanical control was that reliability was low, in contrast to maintenance costs associated with keeping these panels operating, which were extremely high. The auto industry complained that the real cost of purchase and replace a single relay could run as high as $50. A second major factor was time, expense, and labor required when a change in control needs dictated a control panel modification. In fact, during the model year changeovers, the auto industry discarded entire control panels and replaced them with new ones as the quickest and cheapest solution. The programmable controller is a solid state electronic device designed in the early 1970s to replace electromechanical relays, mechanical timers, counters, and sequencers. The Hydromatic division of General Motors was the first to see the need for a device that would become what we know as the programmable logic controller. High speed manufacturing, as in the auto industry, required reliable control devices that was smaller, consumed less power featured 2
  • 3. fast switching, and were quickly and easily changeable. These devices must also be able to withstand the harsh industrial environment. Keep in mind that the first PLCs were little more than relay replacers. 5.3 Area of Application of a PLC :- Every system or machine has a controller. Depending on the type of technology used, controllers can be divided into pneumatic, hydraulic, electrical and electronic controllers. Frequently, a combination of different technologies is used. Furthermore, differentiation is made between hard-wired programmable (e.g. wiring of electro-mechanical or electronic components) and programmable logic controllers. The first is used primarily in cases, where any reprogramming by the user is out of the question and the job size warrants the development of a special controller. Typical applications for such controllers can be found in automatic washing machines, video cameras, and cars. Fig (A): Example of a PLC application 3
  • 4. However, if the job size does not warrant the development of a special controller or if the user is to have the facility of making simple or independent program changes, or of setting timers and counters, then the use of a universal controller, where the program is written to an electronic memory, it is the preferred option. The PLC represents such a universal controller. It can be used for different applications and, via the program installed in its memory, provides the user with a simple means of changing, extending and optimizing control processes. 5.4 How works PLC :- The original task of a PLC involved the interconnection of input signals according to a specified program and, if "true", to switch the corresponding output. Boolean algebra forms the mathematical basis for this operation, which recognizes precisely two defined statuses of one variable: "0" and "1" (see also chapter 3). Accordingly, an output can only assume these two statuses. For instance, a connected motor could therefore be either switched on or off, i.e. controlled. This function has coined the name PLC: Programmable logic controller, i.e. the input/output behavior is similar to that of an electromagnetic relay or pneumatic switching valve controller; the program is stored in an electronic memory. In our Project, we are going to work with Controlling of a stepper motor, so that it is required pulses to rotate a motor. And pulse is given to PLC by using Parallel Port. However, the tasks of a PLC have rapidly multiplied: Timer and counter functions, memory setting and resetting, mathematical computing operations all represent functions, which can be executed by practically any of today’s PLCs. 5.5 Types of PLC :- PLC hardware falls into two physical configurations: I. Fixed PLCs II. Modular PLCs 5.5.1 Fixed PLCs :- A Fixed PLC has all of its components-the input section, CPU and associated memory, power supply, and output section-built into one self-contained unit. All input and output terminals are built into the PLC package and are fixed, not removable. This style of PLC is also called a Packed Controller. With miniaturization of modern electronics component, today’s more compact fixed PLCs are referred to as micro PLCs. 4
  • 5. Fig (B): Fixed PLC Fig (C): Modular PLC 5.5.2 Modular PLCs :- The modular PLC comes as separate pieces. A modular PLC is purchased piece by piece. There may be two or three power supplies to choose from, a handful of different processors (CPUs), many separate input and output cards or modules, and selection of assemblies, called racks, chassis, or base plates to hold the pieces together. When purchasing a modular PLC you select and purchase the specific pieces you need to build the PLC specifically for the needs of your control situation. 5.6 Basic Components of PLC :- Regardless of Size, cost, or complexity, all programmable controllers share the same basic components and functional characteristics. A Programmable controller will always consist of following components: I. Processor (Control Processing Unit) II. Input/output system III. Memory unit IV. Programming language & device V. Power supply 5.6.1 Processor (CPU) :- The Processor consists of one or more standard or custom microprocessor and other integrated circuits that perform the computing and control function of the PC system. Since the processor in most programmable controller system is microprocessor- based. The CPU is the focal point of the system, it must have facilities for storing the control program, and there must be some sort of data storage. In executing a program, the microprocessor uses the data buses to exchange information in a well-defined manner. The 5
  • 6. complete sequence of information exchange that carries out one program stop is known as an “Instruction cycle”. Fig (D): PLC Components 5.6.2 Input/output System :- Input/output (I/O) system provides the physical connection between the process equipment and the processor. The programmable controller system uses various input modules to sense and measure physical quantities of the process, such as motion, level, temperature, pressure, position, current, and voltage. Based on the status sensed or values measured, the processor controls various output modules to drive field devices such as valves, motors, pumps, and alarms to exercise control over a machine or a process. There are different types of Input/output (I/O) modules: I. Analog I/O Modules, II. Digital I/O Modules, III. AC I/O Modules, IV. DC I/O Modules and V. Intelligent I/O Modules. 6
  • 7. 5.6.3 Memory Unit :- Memory is used to store control program for the PC System; it is usually located in the same housing as the CPU. The information stored in memory determines how the input and output data will be processed. Memory elements store individual pieces of data called bits. A bit has two states: 1 or 0, on or off, true or false, etc. Memory units are mounted on circuit boards and are usually specified in thousands or “K” increments where 1K is 1024 words (i.e., 2 10 =1024) of storage space. Programmable controller memory capacity may vary from less than one thousand words to over 64,000 words (64K words) depending on the programmable controller manufacturer. The complexity of the control plan will determine the amount of memory required. 5.6.4 Programming Language & Device :- The Programming language allows the user to communicate with the PLC via a programming device. Programmable controller manufacturers use several different programming languages; but they all convey to the system, by means of instruction a basic control plan. The control plan or program is defined as a set of instructions that are arranged in a logical sequence to control the actions of a process or machine. A program is written by combining instruction in a certain order. Rules govern the manner in which instructions are combined and the actual form of the instructions. These rules and instructions combine to form a language. The four most common types of languages encountered in programmable logic controllers are as follows: I. Ladder Programming II. Statement List Programming III. Function Block Programming IV. Boolean Logic The Programming device is used to enter, store, and monitor the programmable controller software. Programming devices can be dedicated or personal computers that normally have four basic components: keyboard, visual display, microprocessor, and communication cable. The programming terminal is normally connected only to the programmable logic controller system during programming or during troubleshooting of the control system. Otherwise the programming device is disconnected from the system. The most common programming terminals are as follows: I. Hand-held manual programmer (HMI) II. Industrial programming terminal III. Personal computer-based programmer(PLC Software) 7
  • 8. 5.6.5 Power Supply :- The power supply converts ac line voltage to dc voltage to power the electronics circuits in a programmable controller system. These power supplies rectify, filter, and regulate voltages and currents to supply the correct amounts of voltage and current to the system. The power supply normally converts 120 V ac or 240 V ac line voltages into direct voltages into direct current voltages such as + 5 or ± 15 V. The power supply for a programmable controller system may be integrated with the processor, memory, and I/O module into a single housing or it may be a separate unit connected to system through a cable. Fig (E): programmable controller system with process graphics. 8
  • 9. 5.7 Advantages of PLC :- PLCs have been gaining popularity on the factory floor and will probably remain predominant for some time to come. Most of this is because of the advantages they offer:  Smaller physical size than the hard-wire solution.  Easier and faster to make changes.  PLCs have integrated diagnostics and override functions.  Reliability of the plc is greater and maintenance is easier.  Diagnostics are centrally available.  Applications can be immediately documented.  Applications can be dublicated faster and less expensively.  Cost effective for controlling complex systems.  Flexible and can be reapplied to control other systems quickly and easily.  Computational abilities allow more sophisticated control.  Trouble shooting aids make programming easier and reduce downtime. 5.8 Allen Bradley MicroLogix PLCs :- The MicroLogix family of controllers provides five levels of control. Small on size, big on performance, the MicroLogix 1000 controller offers control capabilities in an affordable, compact package. The MicroLogix 1200 controller is small enough to fit in tight spaces, but powerful enough to accommodate a broad range of applications. Designed to grow as your needs grow, the MicroLogix 1500 controller helps you achieve high-level control in a variety of applications. The MicroLogix family’s newest members, the MicroLogix 1100 and 1400 controllers, further enhance the MicroLogix family by expanding the application coverage area while offering great new features at an affordable price. 9
  • 10. Fig (F): The MicroLogix Family of Programmable controller. In our project, we have used Allen Bradley MicroLogix 1200 controller for controlling Stepper motor. Thus, now we will discuss about MicroLogix 1200 controller and its specification & advantages. 5.8.1 MicroLogix 1200 controller :- The MicroLogix 1200 controller provides more computing power and flexibility than the MicroLogix 1000 controller to solve a variety of application needs. Available in 24- and 40-point versions, the I/O count can be expanded by using rack less I/O modules. This results in larger control systems, greater application flexibility and expandability at a lower cost and reduced parts inventory. A field-upgradable flash operating system that helps to make sure you will always be up- to-date with the latest features, without having to replace hardware. The controller can be easily updated with the latest firmware via a website download. 10
  • 11. Fig (G): Use of MicroLogix 1200 PLC 5.8.1.1 Power and I/O Configuration of MicroLogix 1200 controller:- Table (A): CAT. NO. LINE VOLTAGE NUMBER OF INPUTS NUMBER OF OUTPUTS HIGH SPEED I/O 1762-L24AWA, 120/240V AC (14) 120V AC (10) Relay N/A 1762-L24AWAR 1762-L40AWA, 120/240V AC (24) 120V AC (16) Relay N/A 1762 -L40AWAR 1762-L24BWA, (10) Standard 24V DC 120/240V AC (10) Relay (4) 20 kHz input 1762 -L24BWAR (4) Fast 24V DC 1762-L40BWA, (20) Standard 24V DC 120/240V AC (16) Relay (4) 20 kHz input 1762 -L40BWAR (4) Fast 24V DC (5) Relay 1762-L24BXB, (10) Standard 24V DC (4) 20 kHz input 24V DC (4) Standard 24V DC FET 1762 -L24BXBR (4) Fast 24V DC (1) 20 kHz output (1) Fast 24V DC FET (8) Relay 1762-L40BXB, (20) Standard 24V DC (4) 20 kHz input 24V DC (7) Standard 24V DC FET 1762-L40BXBR (4) Fast 24V DC (1) 20 kHz output (1) Fast 24V DC FET 5.8.1.2 Advantages for MicroLogix 1200 controller :- 11
  • 12.  Large 6 KB memory (4 KB User Program with 2 KB User Data) to solve a variety of applications.  High performance expansion I/O options (up to six modules depending on current/power budget).  Four high-speed inputs (for controllers with 24V DC inputs) that can be used individually as latching (pulse-catch) inputs, event interrupts, or alternately combined as one 20 kHz high- speed counter featuring eight modes of operation.  One high-speed output that can be configured as 20 kHz pulse train output (PTO) or as pulse width modulated (PWM) output (available on controllers with embedded 24V DC outputs).  One, 1 ms, selectable timed interrupt (STI).  High-resolution, 1 ms timers.  The same advanced communication options as the MicroLogix 1000 controller, including peer-to-peer and SCADA/RTU networks, DF1 full-duplex, DF1 half-duplex slave, DH-485, Device Net and Ethernet/IP , plus DF1 half-duplex master, Modbus master and slave, and DF1 radio modem protocols.  ASCII read/write capability.  An additional Programming/HMI Port, providing connectivity to a DF1 full-duplex compatible device such as an operator interface or programming terminal (MicroLogix 1200R controllers only, catalog number 1762-LxxxxxR).  Optional real-time clock, to allow control to be based on actual time of day, day of week, or other calendar related timing.  Optional memory module, for external program backup, transport and transfer to another controller. Control program and data are securely backed up to internal flash memory when power is not applied.  Data file download protection prevents critical user data from being altered via program downloads from programming computers or memory modules.  Two built-in analog trim potentiometers.  32-bit signed integer math.  Floating-point and double integer data file support.  Built-in PID capabilities.  Finger-safe terminal blocks meet global safety standards.  Removable terminal blocks on 40-point controllers allow pre-wiring.  Regulatory agency certifications for world-wide market (CE, C-Tick, UL, c-UL, including Class 1 Division 2 Hazardous Location). 5.9 PLC Programming :- 12
  • 13. We have used RSLogix 500 as a programming software and Ladder logic as a programming language. So now, we will discuss about RSLogix 500, Ladder logic and main PLC program in this topic. 5.9.1 RSLogix 500 :- RSLogix 500 software is a 32-bit Windows ladder logic programming package for the SLC 500 and MicroLogix® processors. RSLogix 500 is compatible with SLC 500 and MicroLogix programs created with any of Rockwell Software’s programming packages. ♦ RSLogix 500 software includes:  A free-form ladder editor that lets you concentrate on the application logic instead of syntax as you write your program.  A powerful project verifier that you use to build a list of errors you can navigate to make corrections at your convenience.  drag-and-drop editing to quickly move data table elements from one data file to another, rungs from one subroutine or project to another, or instructions from rung to rung within a project.  An address wizard that makes entering addresses easier and reduces keying errors.  A point-and-click interface called a project tree that lets you access all the folders and files contained in your project.  SLC libraries for storing and retrieving portions of ladder logic for use across any of Rockwell Software's SLC programming software products.  A compare utility that lets you graphically view project differences. Menu toolbar Icon bar Online bar Instruction toolbar Project tree Result pane Ladder view Status bar Fig (H): RSLogix 500 for PLC programming 5.9.2 Ladder Logic :- 13
  • 14. Ladder logic is the main programming method used for PLCs. It is defined by “Graphical language for describing output of an electrical switching system as a function of its inputs”. It is also known as “relay ladder logic” or RLL. Primarily it is used to relate logical inputs (switch closures) to relay coil outputs. (For example, Start switch used to energize a motor contactor relay). And commonly it is used to document control equipment in process plants. Ladder logic has been developed to mimic relay logic. The decision to use the relay logic diagrams was a strategic one. By selecting ladder logic as the main programming method, the amount of retraining needed for engineers and trades people was greatly reduced. Ladder logic input contacts and output coils allow simple logical decisions. Functions extend basic ladder logic to allow other types of control. For example, the addition of timers and counters allowed event based control. A longer list of functions is shown below:  Combinatorial Logic - relay contacts and coils  Events - Timer instructions - counter instructions  Data Handling - Moves - Mathematics - Conversions  Numerical Logic - Boolean operations - Comparisons  Lists - shift registers/stacks - Sequencers  Program Control - branching/looping - Immediate inputs/outputs - fault/interrupt detection  Input and Output - PID - Communications - high speed counters - ASCII string functions Fig (I) shows the simple example of ladder logic to energize a motor by pushing ‘START’ pushbutton. When we press pushbutton output coil set to logic 1 or true. Control Voltage Source START MOTOR 14 Control Voltage Return Contact Coil
  • 15. Fig (I): Simple Example of Ladder logic 5.9.3 Main Ladder program :- Now, we are explaining our Main Ladder program for stepper motor controlling which is shown in figure (J). 15
  • 16. 16
  • 17. Fig (J): PLC Ladder Program for controlling three stepper motors and one electromagnetic gripper 17
  • 18. 5.9.4 Explanation of Program:- For fully explanation of PLC ladder program, we should have knowledge about elements of ladder, and various instructions such as basic, comparison, math, data handling, program flow, application specific, block transfer instructions. But in this topic, we are giving information about those instructions which are used in our PLC program. In PLC program, we are using following instructions: 1) XIC Examine if Closed 2) XIO Examine if Open 3) OTE Output Energize 4) ONS One-shot 5) MOV Move 6) BSL Bit Shift Left 7) BSR Bit Shift Right 5.9.4.1 Explanation of Instructions: 1. XIC (Examine if Closed) : Use the XIC (Normally open) instruction in your ladder program to determine if a bit is ‘On’. When the instruction is executed, if the bit addressed is on (1), then the instruction is evaluated as true. When the instruction is executed, if the bit addressed is off (0), then the instruction is evaluated as false. Symbol Table (B):- XIC Bit State Bit Address XIC Instruction State 0 False 1 True Usage: In our program, this instruction is used for giving the input which comes from parallel port to X-, Y- or Z-stepper motors. 2. XIO (Examine if Open) : Use the XIO (Normally closed) instruction in your ladder program to determine if a bit is ‘Off’. When the instruction is executed, if the bit addressed is off (0), then the instruction is evaluated as true. When the instruction is executed, if the bit addressed is on (1), then the instruction is evaluated as false. Symbol Table (C):- XIO Bit State Bit Address XIC Instruction State 0 True 1 False Usage: In our program, this instruction is used for two purposes. (1) Initial loading of bits in to Bit file which is used for giving the sequence of pulses to the stepper motor. (2) To stop to motor by using limit switch for safety in reverse direction. 18
  • 19. 3. OTE (Output Energize) : Use the OTE instruction in your ladder program to turn on a bit when rung conditions are evaluated as true. An example of a device that turns on or off is an output wired to a pilot light (addressed as O: 0/4). Symbol OTE instructions are reset when:  The SLC enters or returns to the REM Run or REM Test mode or power is restored.  The OTE is programmed within an inactive or false Master Control Reset (MCR) zone. Usage: In our program, this instruction is used for giving output signal to the steps of the X-, Y- or Z-stepper motor, when input signal comes on bits of the bit file from the parallel port. 4. OSR (One-shot Rising) : The ONS instruction is an input instruction that makes the rung true for one program scan upon a false-to-true transition of the conditions preceding the ONS instruction on the rung. Use the ONS instruction to start events that are triggered by a pushbutton, such as pulling values from thumbwheel switches or freezing rapidly displayed LED values. You must enter a bit address for the bit. Use either a binary file or integer file address. Symbol Entering Parameters: Use a bit address from either the bit or integer data file. The addressed bit is set (1) for one scan when rung conditions preceding the ONS instruction are true (even if the ONS instruction becomes false); the bit is reset (0) when rung conditions preceding the ONS instruction are false. 19
  • 20. Notes: Do not use an input or output address to program the address parameter of the ONS instruction. The bit address you use for this instruction must be unique. Do not use it elsewhere in the program. Example: When the input instruction goes from false-to-true, the ONS instruction conditions the rung so that the output goes true for one program scan. The output goes false and remains false for successive scans until the input makes another false-to-true transition. Usage: In our program, this instruction is used for initial loading of bits in to Bit file which is used for giving the sequence of pulses to the stepper motor. 5. MOV (Move) : This output instruction moves the source value to the destination location. As long as the rung remains true, the instruction moves the data each scan. Symbol Entering Parameters: Enter the following parameters when programming this instruction:  Source is the address or constant of the data you want to move  Destination is the address where the instruction moves the data Usage: In our program, this instruction is used for loading and moving of constant value in a bit file and this bit file contains 16 bits. These bits are used to give pulses in sequence to the stepper motor. 20
  • 21. In our project, the aim is to control the stepper motor. The stepper motor has four coils and we are using full step operation on it in which we are giving signals to two coils simultaneously because of high loads acting on the motor. 6. BSL (Bit Shift Left) : BSL is output instruction that load data into a bit array one bit at a time. The data is shifted left through the array, then unloaded one bit at a time. Symbol Entering Parameters: Enter the following parameters when programming these instructions:  File is the address of the bit array you want to manipulate. You must use the file indicator (#) in the bit array address.  Control is the control element that stores the status byte of the instruction and the size of the array (in number of bits). Note that the control address should not be used for any other instruction. Table (D):- Control File Structure 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Word 0 EN DN E UL Not used R Word 1 Size of bit array (number of bits) Word 2 Reserved Status bits of the control element may be addressed by mnemonic. They include: • Unload Bit UL (bit 10) stores the status of the bit exited from the array each time the instruction is enabled. • Error Bit ER (bit 11), when set, indicates the instruction detected an error such as entering a negative number for the length or position. Avoid using the output bit when this bit is set. • Done Bit DN (bit 13), when set, indicates the bit array has shifted one position. • Enable Bit EN (bit 15) is set on a false-to-true transition of the rung and indicates the instruction is enabled. When the register shifts and input conditions go false, the enable, done, and error bits are reset. 21
  • 22.  Bit Address is the address of the source bit that the instruction inserts in the first (lowest) bit position (BSL) or the last (highest) bit position (BSR).  Length (size of bit array) is the number of bits in the bit array, up to 2048 bits. A length value of 0 causes the input bit to be transferred to the UL bit. When the rung goes from false-to-true, the processor sets the enable bit (EN bit 15) and the data block is shifted to the left (to a higher bit number) one bit position. The specified bit at the bit address is shifted into the first bit position. The last bit is shifted out of the array and stored in the unload bit (UL bit 10). The shift is completed immediately. Usage: In our program, once a value is loaded in the bit file by using the MOV instruction, now we are rotating bits contained in bit file with 16 as a size of array left side. When the rung goes from false-to-true, this process will be done. As the bits are rotating left, motor gets forward sequence and it steps forward. 7. BSR (Bit Shift Right) : BSR is output instruction that load data into a bit array one bit at a time. The data is shifted right through the array, then unloaded one bit at a time. Symbol When the rung goes from false-to-true, the enable bit (EN bit 15) is set and the data block is shifted to the right (to a lower bit number) one bit position. The specified bit at the bit address is shifted into the last bit position. The first bit is shifted out of the array and stored in the unload bit (UL bit 10) in the status byte of the control element. The shift is completed immediately. Entering Parameters: As discussed above, same entering parameters are used in this instruction. Usage: In our program, once a value is loaded in the bit file by using the MOV instruction, now we are rotating bits contained in bit file with 16 as a size of array right side. When the rung goes from false-to-true, this process will be done. As the bits are rotating right, motor gets reverse sequence and it will rotate in reverse direction. 22
  • 23. Now, we will explain how stepper motors work by using PLC program. So please refer figure (J) and read following portion carefully. First, we should clear that we are using 5-wired Unipolar wound stepper motor And we are using Full Step Drive (2 phases on). Fig (K): Unipolar wound stepper motor construction Fig (L): Excitation Sequence (full step) In Full Step Drive we are energizing two phases at any given time. The stator is energized according to the sequence A B  AB AB  AB and the rotor steps from position 1  3  5  7 as show in fig (K). Full step mode results in the same angular movement as 1 phase on drive but the mechanical position is offset by one half of a full step. 5.9.4.2 Explaining of Control of X-Motor: At the Starting of the program, we are loading the bit stream ‘0011001100110011’ in binary form in the bit file B3:0, because of using the full step drive due to high loads applied on motor so that we are giving pulses on two coils simultaneously. This process is done by MOV instruction as shown in Rung 0000 in fig (J). As the initial loading of bits, bits 0, 1, 4, 5, 8, 9, 12 and 13 set to ‘1’ so that motor will get first step due to bits 0 & 1 as shown in rungs 0003 & 0004. As shown in Rung 0001, when input I:0/8 (X-Forward) is energized by giving signal from parallel port, the output BSL instruction will energized and bits will rotate in bit file B3:0 with 16 as a size of array Left side. As the rotating will be done, bits in the bit file change to ‘0110011001100110’. Here, bits 1 & 2 set to ‘1’ which will give another step to 23
  • 24. the motor as shown in rungs 0004 & 0005. If an another signal is given to the input I:0/8, again bits will rotate in bit file B3:0 with 16 as a size of array left side and change to ‘1100110011001100’. Now, bits 2 & 3 go to state ‘1’ which will give next step to the motor as shown in rungs 0005 & 0006 and so on. This process is called ‘Forward Motion of Motor’. Now, going to Rung 0002, when input I:0/9 (X-Reverse) is energized by giving signal from parallel port, the output BSR instruction will energized and bits will rotate in bit file B3:0 with 16 as a size of array Right side. As the rotating will be done, bits in the bit file change to ‘1001100110011001’. Here, bits 0 & 4 will set which will give step to the motor which rotates in reverse direction as shown in rungs 0003 & 0006. If an another signal is given to the input I:0/9, again bits will rotate in bit file B3:0 with 16 as a size of array right and change to ‘1100110011001100’. Now, bits 2 & 3 set to ‘1’ which will give next step to the motor I reverse direction as shown in rungs 0005 & 0006 and so on. This process is called ‘Forward Motion of Motor’. The normally close (XIO) input instruction I:0/17 is used with label ‘X-Limit’ in the rung 0003. When we are applying input I:0/9 no of times, motor will rotate in X-reverse direction over the given limit. The purpose of using this NC input is to stop the motor or pulses given to it over the predefined limit. When the limit switch is pressed the rung 0003 will become false and we will not get any output to motor. Thus, X-Motion is controlled by above described procedures and similarly we are controlling remaining motors (Y and Z-Motion) by using parallel port and PLC Ladder Logic. 5.9.4.3 Explaining of Control of Electromechanical Gripper: For controlling Electromechanical Gripper which is attached to bottom of Z-axis slide, we are using somewhat similar logic to that of X-, Y- and Z-motion control. In this, at an initial loading time, we are loading the bit stream ‘1010101010101010’ in binary form in the bit file B3:6 by using the MOV instruction. From rung 0023, we can say that bit 0 of the bit file decides the gripper output. At this initial level, bit 0 is already reset bit and hence, the gripper does not excite. When all the three motions (X, Y, and Z) are being done by the manipulator, at that time the gripper stands exactly above the object and now we want to pick an object by using electromechanical gripper. As shown in rung 0022, when input I:0/0 (gripper excitation) is energized by giving signal from parallel port, the output BSL instruction will energized and bits will rotate in bit file B3:6 with 16 as a size of array Left side. As the rotating will be done, bits in the bit file change to ‘0101010101010101’ and here bit 0 will set. As the bit B3:6/0 is energized, the gripper excites and picks the object nearest to it. 24
  • 25. REFERENCES:- Books:- 1) Introduction to Programmable Logic Controller By Gary Dunning 2) Allen Bradley SLC 500 Instruction set (E-Book in PDF format) 3) MicroLogix Programmable Controller Selection Guide (E-Book in PDF format) Websites:- 1) www.rockwellautomation.com 2) www.plcs.net 3) www.wikipedia.com 4) www.howstuffworks.com 5) www.google.co.in 25
  • 26. Parallel Port Control by MATLAB The Parallel Port:- The PC supports up to three parallel ports that are assigned the labels LPT1, LPT2, and LPT3. We can use any of these standard ports as long as they use the usual base addresses, which are (in hex) 378, 278, and 3BC, respectively. The port labels and addresses are typically configured through the PC's BIOS. Additional ports, or standard ports not assigned the usual base addresses, are not accessible by the toolbox. Most PCs that support MATLAB will include a single parallel port with label LPT1 and base address 378. To create a DIO object for this port, parport = digitalio('parallel','LPT1'); A. Parallel Port Properties:- The device-specific parallel port properties are given below. Table (A): Parallel Port Properties Property Name Description Device Objects Bidirectional Specify the BIOS control register bit that determines bidirectional DIO Bit operation. Port Address Indicate the base address of the parallel port. DIO B. Digital Input/output:- Digital I/O (DIO) subsystems are designed to transfer digital values to and from hardware. These values are handled either as single bits or lines, or as a port, which typically consists of eight lines. While most popular data acquisition boards include some DIO capability, it is usually limited to simple operations and special dedicated hardware is required for performing advanced DIO operations. The Data Acquisition Toolbox provides access to digital I/O subsystems through a digital I/O object. The DIO object can be associated with a parallel port or with a DIO subsystem on a data acquisition board. The purpose of this chapter is to show you how to perform data acquisition tasks using your digital I/O hardware. The sections are as follows. 26
  • 27. Creating a Digital I/O Object Create a MATLAB object that represents the digital I/O subsystem Adding Lines to a Digital I/O Object Associate hardware lines with the digital I/O object Writing and Reading Digital I/O Line Values Write values to digital lines, and read values from digital lines i. Creating a Digital I/O Object:- We create a digital I/O (DIO) object with the digitalio function. digitalio accepts the adaptor name and the hardware device ID as input arguments. For parallel ports, the device ID is the port label (LPT1, LPT2, or LPT3). For data acquisition boards, the device ID refers to the number associated with the board when it is installed. Note that some vendors refer to the device ID as the device number or the board number. Use the daqhwinfo function to determine the available adaptors and device IDs. Each DIO object is associated with one parallel port or one subsystem. For example, to create a DIO object associated with a National Instruments board: dio = digitalio('nidaq',1); The digital I/O object dio now exists in the MATLAB workspace. You can display the class of dio with the whos command. whos dio Name Size Bytes Class dio 1x1 1308 digitalio object Grand total is 40 elements using 1308 bytes Once the object is created, the properties listed below are automatically assigned values. These general purpose properties provide descriptive information about the object based on its class type and adaptor. Table (B): Descriptive Digital I/O Properties Property Name Description Name Specify a descriptive name for the device object. Type Indicate the device object type. You can display the values of these properties for dio with the get function. get(dio,{'Name','Type'}) ans = 'nidaq1-DIO' 'Digital IO' 27
  • 28. ii. Adding Lines to a Digital I/O Object:- After creating the digital I/O (DIO) object, we must add lines to it. As shown by the figure, we can think of a device object as a container for lines. The collection of lines contained by the DIO object is referred to as a line group. A line group consists of a mapping between hardware line IDs and MATLAB indices (see below). When adding lines to a DIO object, we must follow these rules:  The lines must reside on the same hardware device. We cannot add lines from different devices, or from different subsystems on the same device.  We can add a line only once to a given digital I/O objects. However, a line can be added to as many different digital I/O objects as we desire.  We can add lines that reside on different ports to a given digital I/O object. We add lines to a digital I/O object with the addline function. addline requires the device object, at least one hardware line ID, and the direction (input or output) of each added line as input arguments. We can optionally specify port IDs, descriptive line names, and an output argument. For example, to add eight output lines from port 0 to the device object dio created in the preceding section: hwlines = addline(dio,0:7,'out'); The output argument hwlines is a line object that reflects the line group contained by dio. We can display the class of hwlines with the whos command. whos hwlines Name Size Bytes Class hwlines 8x1 536 dioline object Grand total is 13 elements using 536 bytes We can use hwlines to easily access lines. For example, we can configure or return property values for one or more lines. Once we add lines to a DIO object, the properties listed below are automatically assigned values. These properties provide descriptive information about the lines based on their class type and ID. Table (C): Descriptive Digital I/O Line Properties 28
  • 29. Property Name Description HwLine Specify the hardware line ID. Index Indicate the MATLAB index of a hardware line. Parent Indicate the parent (device object) of a line. Type Indicate a line. Line and Port Characteristics:- As described in the preceding section, when we add lines to a DIO object, they must be configured for either input or output. We read values from an input line and write values to an output line. Whether a given hardware line is addressable for input or output depends on the port it resides on. We can classify digital I/O ports into these two groups based on your ability to address lines individually:  Port-configurable devices – We cannot address the lines associated with a port- configurable device individually. Therefore, we must configure all the lines for either input or output. If we attempt to mix the two configurations, an error is returned. We can add any number of available port-configurable lines to a DIO object. However, the engine will address all lines behind the scenes. For example, if one line is added to a DIO object, then we automatically get all lines. Therefore, if a DIO object contains lines from a port-configurable device, and we write a value to one or more of those lines, then all the lines are written to even if they are not contained by the device object.  Line-configurable devices – We can address the lines associated with a line- configurable device individually. Therefore, we can configure individual lines for either input or output. Additionally, we can read and write values on a line-by-line basis. Note that for National Instruments E Series hardware, port 0 is always line- configurable, while all other ports are port-configurable. We can return the line and port characteristics with the daqhwinfo function. For example, National Instruments AT-MIO-16DE-10 board has four ports with eight lines per port. To return the digital I/O characteristics for this board: hwinfo = daqhwinfo(dio); Display the line characteristics for each port. hwinfo.Port(1) ans = ID: 0 LineIDs: [0 1 2 3 4 5 6 7] Direction: 'in/out' Config: 'line' hwinfo.Port(2) ans = 29
  • 30. ID: 2 LineIDs: [0 1 2 3 4 5 6 7] Direction: 'in/out' Config: 'port' hwinfo.Port(3) ans = ID: 3 LineIDs: [0 1 2 3 4 5 6 7] Direction: 'in/out' Config: 'port' hwinfo.Port(4) ans = ID: 4 LineIDs: [0 1 2 3 4 5 6 7] Direction: 'in/out' Config: 'port' This information tells we that we can configure all 32 lines for either input or output, and that the first port is line-configurable while the remaining ports are port-configurable. Parallel Port Characteristics:- The parallel port consists of eight data lines, four control lines, five status lines, and eight ground lines. In normal usage, the lines are controlled by the host computer software and the peripheral device following a protocol such as IEEE Standard 1284-1994. The protocol defines procedures for transferring data such as handshaking, returning status information, and so on. However, the toolbox uses the parallel port as a basic digital I/O device, and no protocol is needed. Therefore, we can use the port to input and output digital values just as we would with a typical DIO subsystem. To access the physical parallel port lines, most PCs come equipped with one 25-pin female connector, which is shown below. The lines use TTL logic levels. A line is high (true or asserted) when it is a TTL high level, while a line is low (false or unasserted) when it is a TTL low level. The exceptions are lines 1, 11, 14, and 17, which are hardware inverted. The toolbox groups the 17 nonground lines into three separate ports. The port IDs and the associated pin numbers are given below. Table (D): Parallel Port IDs and Pin Numbers Port ID Pins Description 0 2-9 Eight I/O lines, with pin 9 being the most significant bit (MSB). 1 10-13, and 15 Five input lines used for status 2 1, 14, 16, and 17 Four I/O lines used for control Note that in some cases, port 0 lines might be unidirectional and only output data. If supported by the hardware, we can configure these lines for both input and output with your PC's 30
  • 31. BIOS by selecting a bidirectional mode such as EPP (Enhanced Parallel Port) or ECP (Extended Capabilities Port). Referencing Individual Hardware Lines:- As described in the preceding section, we can access lines with the Line property or with a line object. To reference individual lines, we must specify either MATLAB indices or descriptive line names.  MATLAB Indices: Every hardware line contained by a DIO object has an associated MATLAB index that is used to reference the line. When adding lines with the addline function, index assignments are made automatically. The line indices start at 1 and increase monotonically up to the number of line group members. The first line indexed in the line group represents the least significant bit (LSB), and the highest indexed line represents the most significant bit (MSB). Unlike adding channels with the addchannel function, we cannot manually assign line indices with addline. For example, the digital I/O object dio created in the preceding section has the MATLAB indices 1 through 8 automatically assigned to the hardware lines 0 through 7, respectively. To swap the first two hardware lines so that line ID 1 is the LSB, we can supply the appropriate index to hwlines and use the HwLine property. hwlines(1).HwLine = 1; hwlines(2).HwLine = 0; Alternatively, we can use the Line property. dio.Line(1).HwLine = 1; dio.Line(2).HwLine = 0;  Descriptive Line Names: Choosing a unique, descriptive name can be a useful way to identify and reference lines -- particularly for large line groups. We can associate descriptive names with hardware lines with the addline function. For example, suppose we want to add 8 lines to dio, and we want to associate the name TrigLine with the first line added. addline(dio,0,'out','TrigLine'); addline(dio,1:7,'out'); Alternatively, we can use the LineName property. addline(dio,0:7,'out'); dio.Line(1).LineName = 'TrigLine'; we can now use the line name to reference the line. dio.TrigLine.Direction = 'in'; 31
  • 32.  Example: Adding Lines for National Instruments Hardware: This example illustrates various ways we can add lines to a DIO object associated with a National Instruments AT-MIO-16DE-10 board. This board is a multiport device whose characteristics are described in Line and Port Characteristics. To add eight input lines to dio from port 0: addline(dio,0:7,'in'); To add four input lines and four output lines to dio from port 0: addline(dio,0:7,{'in','in','in','in','out','out','out','out'}); Suppose we want to add the first two lines from port 0 configured for input, and the first two lines from port 2 configured for output. There are four ways to do this. i. The first way requires only one call to addline because it uses the hardware line IDs, and not the port IDs. addline(dio,[0 1 8 9],{'in','in','out','out'}); ii. The second way requires two calls to addline, and specifies one line ID and multiple port IDs for each call. addline(dio,0,[0 2],{'in','out'}); addline(dio,1,[0 2],{'in','out'}); iii. The third way requires two calls to addline, and specifies multiple line IDs and one port ID for each call. addline(dio,0:1,0,'in'); addline(dio,0:1,2,'out'); iv. We can use four addline calls -- one for each line added 32
  • 33. iii. Writing and Reading Digital I/O Line Values:- After we add lines to a digital I/O (DIO) object, you can:  Write values to lines  Read values from lines 1) Writing Digital Values:- We write values to digital lines with the putvalue function. putvalue requires the DIO object and the values to be written as input arguments. We can specify the values to be written as a decimal value or as a binary vector (binvec). A binary vector is a logical array that is constructed with the least significant bit (LSB) in the first column and the most significant bit (MSB) in the last column. For example, the decimal value 23 is written in binvec notation as [1 1 1 0 1] = 20 + 21 + 22 + 24. We might find that binvecs are easier to work with than decimal values because there is a clear association between a given line and the value (1 or 0) that is written to it. We can convert decimal values to binvec values with the dec2binvec function. For example, suppose we create the digital I/O object dio and add eight output lines to it from port 0. dio = digitalio('nidaq',1); addline(dio,0:7,'out'); To write a value of 23 to the eight lines contained by dio, we can write to the device object. data = 23; putvalue(dio,data) Alternatively, we can write to individual lines through the Line property. putvalue(dio.Line(1:8),data) To write a binary vector of values using the device object and the Line property: bvdata = dec2binvec(data,8); putvalue(dio,bvdata) putvalue(dio.Line(1:8),bvdata) Alternatively, we can create the binary vector without using dec2binvec. 33
  • 34. bvdata = logical([1 1 1 0 1 0 0 0]); putvalue(dio,bvdata) Rules for Writing Digital Values: Writing values to digital I/O lines follows these rules: If the DIO object contains lines from a port-configurable device, then the data acquisition engine writes to all lines associated with the port even if they are not contained by the device object. • When writing decimal values,  If the value is too large to be represented by the lines contained by the device object, then an error is returned.  We can write to a maximum of 32 lines. To write to more than 32 lines, we must use a binvec value. • When writing binvec values,  We can write to any number of lines.  There must be an element in the binary vector for each line we write to. • We can always read from a line configured for output. Reading values is discussed in Reading Digital Values. • An error is returned if you write a negative value, or if we write to a line configured for input. 2) Reading Digital Values:- We can read values from one or more lines with the getvalue function. getvalue requires the DIO object as an input argument. We can optionally specify an output argument, which represents the returned values as a binary vector. Binary vectors are described in Writing Digital Values. For example, suppose we create the digital I/O object dio and add eight input lines to it from port 0. dio = digitalio('nidaq',1); addline(dio,0:7,'in'); To read the current value of all the lines contained by dio: portval = getvalue(dio) portval = 1 1 1 0 1 0 0 0 To read the current values of the first five lines contained by dio: 34
  • 35. lineval = getvalue(dio.Line(1:5)) lineval = 1 1 1 0 1 We can convert a binvec to a decimal value with the binvec2dec function. For example, to convert the binary vector lineval to a decimal value: out = binvec2dec(lineval) out = 23 Rules for Reading Digital Values: Reading values from digital I/O lines follows these rules: • If the DIO object contains lines from a port-configurable device, then all lines are read even if they are not contained by the device object. However, only values from the lines contained by the object are returned. • We can always read from a line configured for output. • For National Instruments hardware, lines configured for input return a value of 1 by default. • getvalue always returns a binary vector (binvec). To convert the binvec to a decimal value, use the binvec2dec function. 35