SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Conversion, Subroutines and
        Forcing I/O
       Chapter 07 and supplemental material
     Chapter 08 Sections 8-1, 8-2, 8-3-3 through
                       8-3-5




Northampton Community College                      1
Binary Coded Decimal (BCD) Review




Northampton Community College           2
BCD Conversion Review
The BCD representation of a decimal number is obtained
  by replacing each decimal digit by its equivalent four-bit
  binary number.




    Northampton Community College                              3
BCD Push Switch (Thumbwheel)




Northampton Community College         4
Push Switch (Thumbwheel) Truth Table


       Dial                     Bit Weight
     Position      8            4        2   1
         0         0            0        0   0
         1         0            0        0   1
         2         0            0        1   0
         3         0            0        1   1
         4         0            1        0   0
         5         0            1        0   1
         6         0            1        1   0
         7         0            1        1   1
         8         1            0        0   0
         9         1            0        0   1



Northampton Community College                    5
PLC Input Module Connections
              (BCD Input Device)




Northampton Community College          6
PLC Output Module Connections
           (BCD Output Device)




Northampton Community College         7
Allen Bradley BCD Conversion Instructions
Convert from BCD (FRD)                        Convert to BCD (TOD)
Conditional or Unconditional                  Conditional or Unconditional
               FRD                                             TOD
            From BCD                    0001               To BCD
            Source        I:1.0                            Source       N22:3
                         2437h<                                          1234<
            Dest          N7:4                             Dest          O:5.0
                          2437<                                         1234h<




                      FRD                                            TOD
              From BCD              1                        To BCD
              Source PushSw Right                            Source DspyOutValue
                          16#0000                                               0
              Dest   PushSw Value                            Dest   DisplayOutput
                                0                                        16#0000




     Northampton Community College                                                  8
Convert To BCD (TOD) Instruction – SLC500
When the rung is true, converts the binary value of a
  decimal number to its equivalent BCD value.




    Northampton Community College                        9
Convert To BCD (TOD) Instruction – ControlLogix
When the rung is true, converts the binary value of a
  decimal number to its equivalent BCD value.




  The decimal    value in the source is converted      to BCD binary       and then

  the binary is displayed      as the decimal   result in the destinatio n.

 9760     Decimal_So    urce        0     0       0     0     9        7       6      0

                                  0000 0000 0000 0000 1001 0111 0110 0000

 0000 0000 0000 0000 1001 0111 0110 0000 is then converted                      to decimal

 and displayed     as a Decimal    number     in the Dest.

 38752     BCD_Dest     0000 0000 0000 0000 1001 0111 0110 0000


      Northampton Community College                                                          10
Convert From BCD (FRD)
When the rung is true, converts the BCD value in the
  Source to its equivalent decimal value.




    Northampton Community College                       11
Convert To BCD (FRD) Instruction – ControlLogix
When the rung is true, converts the BCD value in the
  Source to its equivalent Decimal value.




 The value in the source is c onverted     to binary    and then

 the binary is c onverted   to a BCD number

 38752    BCD_Sourc e       0000 0000 0000 0000 1001 0111 0110 0000

                             0      0       0     0       9      7       6      0

 9760 is then c onverted    to binary   and displayed    as Dec imal   in the Dest.

 9760     Dec imal_De   st 0000 0000 0000 0000 0010 0110 0010 0000


        Northampton Community College                                               12
FRD Source is a non-BCD Value SLC500
When the Source of an FRD is a non-BCD value the error:
 Minor error at end of scan will occur and the processor will
 fault.
This is a recoverable error and the processor fault can be
 avoided by unlatching the Overflow Trap Bit S:5/0.
                I:1       B3:0            FRD
0000                      OSR          From BCD
                      4    0           Source      I:1.0
                                                  A106h<
                                       Dest        N7:4
                                                  32767<

             Processor
             Mode                                 Overflow
             Bit 0                                Trap
                 S:1                                 S:5
0001                                                  U
                 0                                    0


       Northampton Community College                            13
ControlLogix BCD Instructions




Northampton Community College           14
Subroutines

                       Chapter 08
                 Sections 8-3-3 to 8-3-5
                 Supplement Document




Northampton Community College              15
Subroutines
Subroutine(s) is a group of program code that performs a specific
 task. The subroutine(s) are part of a program (in our case the
 MainProgram) and are not part of the MainRoutine.
A subroutine can be invoked, (called), from anyplace in the
 MainRoutine or from another subroutine. When a subroutine is
 called from within another subroutine it is referred to as nesting
 subroutines.
Most, if not all, computer programs and PLC/PAC programs
 contain subroutines.
Subroutines are used to make what would be an enormous
 program more manageable by breaking up the code into smaller
 tasks. Specific functions within a task should be placed in
 subroutines.
Organizing a program by using subroutines makes the code
 easier to read, understand and maintain.
Subroutines can also be reused in other programs that require
 the same task be performed.


     Northampton Community College                                16
Subroutines
SLC500                              ControlLogix
The SLC500 uses                    The ControlLogix uses
 separate ladder files to            separate routines to store
 store and execute                   and execute subroutines.
 subroutines. There are a            The number of routines is
 total of 253 subroutine             limited to 32 per program.
 ladder files; #3 through
 #255.
                                    The MainRoutine is the
                                     main ladder routine and is
Ladder file #2 (LAD2) is            the one we have been
 the main ladder file and is         using in all labs to this
 the one we have been                date.
 using in all labs to this
 date.
                                    Scan starts at rung 0 in the
                                     MainRoutine and ends at
Scan starts at rung 0 LAD2          the End statement in the
 and ends at the End                 MainRoutine
 statement in LAD2.

    Northampton Community College                              17
Creating a ControlLogix Subroutine




1. To create a new subroutine right
click on MainProgram and select
New Routine… from the pop-up          2. New Routine dialog box will open.
menu                                  Type in the name of the subroutine
                                      and from the Type: dropdown,
                                      select the type of program code.
      3. The new
      subroutine will appear
      listed under the
      program that it was
      created in. Double
      click the subroutine to
      open the ladder
      editor.
     Northampton Community College                                    18
Program Control Instructions
 There are many program control instructions. Below is a list of them and the
    platforms they are available on:
         Instruction          CL 500 Sim            Instruction          CL   500 Sim
                                               UID – User Interrupt
JMP – Jump to Label              ●   ●    ●                              ●
                                               Disable
                                               UIE – User Interrupt
LBL – Label                      ●   ●    ●                              ●
                                               Enable
                                               SFR – Reset Sequential
JXR – Jump to External Routine   ●                                       ●
                                               Chart
                                               SFP – Pause Sequential
JSR – Jump to Subroutine         ●   ●    ●                              ●
                                               Chart
                                               EVENT – Trigger Event
RET – Return from Subroutine     ●   ●    ●                              ●
                                               Task
SBR – Subroutine Label           ●   ●    ●    EOT – End of Transition   ●
TND – Temporary End              ●   ●    ●    AFI – Always False        ●
MCR – Master Control Reset       ●   ●    ●    NOP – No Operation        ●
SUS - Suspend

 This course will only cover the instructions shown in Red. The instruction in
   Green can be used, but they will not be discussed in class.

        Northampton Community College                                              19
ControlLogix Program Control Instructions
JSR – Jump to Subroutine (an output instruction)
The JSR is an output instruction that is used to “call” a
 subroutine.
The instruction rung can be conditional or unconditional.
JSR instructions can have several parameters. The one
 shown here has 3-parameters.            Subroutine name to
                                           be “called” (required)

                                           Parameter to pass to
                                           the subroutine
                                           (optional)

                                           Parameter to accept a
                                           value returning from
                                           the subroutine
                                           (optional)

     Northampton Community College                                  20
ControlLogix Program Control Instructions
Entering JSR parameters:
    Routine Name (Required) –
     Double-click this parameter field,
     click the dropdown arrow and
     select the subroutine name from
     the dropdown list. The subroutine
     name will only be in the list if the
     subroutine has been created.
    Input Par and Return Par
     (Optional) – These parameters
     will not be used in this course.
     When a parameter is not used it
     must be removed. Right click on
     the parameter field and select
     Remove Instruction Parameter
     from the context specific menu.
     Do this for each parameter that is
     not required. The picture on this
     slide illustrates removing a
     parameter field.
       Northampton Community College              21
ControlLogix Program Control Instructions
JSR operation
When the rung containing a JSR instruction is true, the
 processor scan jumps to the subroutine referenced in the
 Routine Name parameter and begins program execution at
 the first rung in that subroutine
A jump cannot be made into the middle of a subroutine.
 Execution will always start at the first instruction on the first
 rung in that ladder routine.




            This rung will unconditionally jump to the
                   subroutine named Routine04

     Northampton Community College                               22
ControlLogix Program Control Instructions
SBR – Subroutine Label
The SBR in an input instruction that is always true and
 marks the beginning of a subroutine. It must be the first
 instruction on the first rung of the subroutine.
The input parameter field(s) is used to reference tags
 whose data is to be used (passed) to the subroutine. (This
 course will not be using these parameters).
SBR instructions can have several parameters. The one
 shown here has one parameters.
                                         Parameter that passes
                                         data to the subroutine
                                         (optional)




    Northampton Community College                             23
ControlLogix Program Control Instructions
For this course the Input Par parameter will need to be
  removed from the SBR instruction. To remove the
  parameter right-click on the parameter and select Remove
  Instruction Parameter from the context specific menu.




    Northampton Community College                            24
ControlLogix Program Control Instructions
RET – Return from Subroutine
The RET instruction is an output instruction that is used to
 stop executing the subroutine and return to the ladder file
 that originally “called” the subroutine.
The instruction can be conditional or unconditional and can
 contain several parameters. The RET instruction shown
 here has one parameter. (This course will not use these
 parameters).
                                         Parameter that passes
                                         data back to the
                                         ladder file that
                                         originally “called” the
                                         subroutine. (optional)




     Northampton Community College                                 25
ControlLogix Program Control Instructions
For this course the Input Par parameter will need to be
  removed from the RET instruction. To remove the
  parameter right-click on the parameter and select Remove
  Instruction Parameter from the context specific menu.




    Northampton Community College                            26
ControlLogix Program Control Instructions
Several conditional RET instructions can be present in a
  subroutine. As an example:
    If an RET instruction becomes true that is on rung 0006 in a
     subroutine containing 45-rungs, the program scan will return to the
     ladder file that originally called the subroutine and rungs 0007
     through 0045 will not execute.
    If the RET instruction on rung 0006 becomes false another RET
     instruction becomes true that is on rung 0010 in the same
     subroutine, the program scan will return to the ladder file that
     originally called the subroutine and rungs 0011 through 0045 will not
     executed.
If the entire subroutine ladder file is to be always scanned,
  placing a RET instruction on the last rung of the program is
  optional. If an RET instruction is not found in the subroutine
  ladder file, the END statement performs the return.

     Northampton Community College                                      27
Program Execution using Subroutines




Northampton Community College           28
Forcing I/O




Northampton Community College    29
Using the Force I/O Function
The force function will only work on field I/O devices,
 therefore the input and output data files in the SLC500 and
 the Controller tags in the ControlLogix.
Before applying a force to any input or any output device,
 an understanding of the potential effect that force(s) will
 have on the machine or process operation and to the safety
 of personal is essential.
          DO NOT INSTALL FORCES WITHOUT FIRST
     UNDERSTANDING WHAT AFFECT IT WILL HAVE ON
       THE OPERATION OF THE MACHINE OR PROCESS
Most programming software provide some visible means of
 alerting the user that a force is in affect or installed.
Most processor modules have an LED indicator that will be
 lit if there are any forces installed.

     Northampton Community College                         30
Installing and Enabling Forces
This is an instructor led, interactive lab.
If there is no program running in the PLC at your
 workstation, open a program that uses I/O field devices,
 download the program to the PLC, then place the PLC in
 RUN mode.
Your instructor will also switch to RSLogix and attach to
 someone’s workstation to lead you through and
 demonstrate the force functions.




    Northampton Community College                            31

Weitere ähnliche Inhalte

Was ist angesagt?

Lecture 02 Data Group of Instructions
Lecture 02 Data Group of InstructionsLecture 02 Data Group of Instructions
Lecture 02 Data Group of InstructionsZeeshan Ahmed
 
Lecture1 The 8085 Microprocessor
Lecture1 The 8085 MicroprocessorLecture1 The 8085 Microprocessor
Lecture1 The 8085 MicroprocessorZeeshan Ahmed
 
Computer organization and architecture lab manual
Computer organization and architecture lab manual Computer organization and architecture lab manual
Computer organization and architecture lab manual Shankar Gangaju
 
Computer Organization And Architecture lab manual
Computer Organization And Architecture lab manualComputer Organization And Architecture lab manual
Computer Organization And Architecture lab manualNitesh Dubey
 
Introduction to 8085 & it's description(includes basic lab experiments)
Introduction to 8085 & it's description(includes basic lab experiments)Introduction to 8085 & it's description(includes basic lab experiments)
Introduction to 8085 & it's description(includes basic lab experiments)Basil John
 
Counters ibrahem
Counters ibrahemCounters ibrahem
Counters ibrahemIbranoz1990
 
Chapter 7 - Programming Techniques with Additional Instructions
Chapter 7 - Programming Techniques with Additional InstructionsChapter 7 - Programming Techniques with Additional Instructions
Chapter 7 - Programming Techniques with Additional Instructionscmkandemir
 
Lec 05 - Combinational Logic
Lec 05 - Combinational LogicLec 05 - Combinational Logic
Lec 05 - Combinational LogicVajira Thambawita
 
03 analog control_sp17
03 analog control_sp1703 analog control_sp17
03 analog control_sp17John Todora
 
FYBSC IT Digital Electronics Unit V Chapter I Counters
FYBSC IT Digital Electronics Unit V Chapter I CountersFYBSC IT Digital Electronics Unit V Chapter I Counters
FYBSC IT Digital Electronics Unit V Chapter I CountersArti Parab Academics
 
Ec2308 microprocessor and_microcontroller__lab1
Ec2308 microprocessor and_microcontroller__lab1Ec2308 microprocessor and_microcontroller__lab1
Ec2308 microprocessor and_microcontroller__lab1v1i7n9i2
 
Microprocessor lab manual
Microprocessor lab manualMicroprocessor lab manual
Microprocessor lab manualDhaval Shukla
 
8086 labmanual
8086 labmanual8086 labmanual
8086 labmanualiravi9
 
Counters &amp; time delay
Counters &amp; time delayCounters &amp; time delay
Counters &amp; time delayHemant Chetwani
 

Was ist angesagt? (20)

Lecture 02 Data Group of Instructions
Lecture 02 Data Group of InstructionsLecture 02 Data Group of Instructions
Lecture 02 Data Group of Instructions
 
Lecture1 The 8085 Microprocessor
Lecture1 The 8085 MicroprocessorLecture1 The 8085 Microprocessor
Lecture1 The 8085 Microprocessor
 
Computer organization and architecture lab manual
Computer organization and architecture lab manual Computer organization and architecture lab manual
Computer organization and architecture lab manual
 
Computer Organization And Architecture lab manual
Computer Organization And Architecture lab manualComputer Organization And Architecture lab manual
Computer Organization And Architecture lab manual
 
Introduction to 8085 & it's description(includes basic lab experiments)
Introduction to 8085 & it's description(includes basic lab experiments)Introduction to 8085 & it's description(includes basic lab experiments)
Introduction to 8085 & it's description(includes basic lab experiments)
 
Counters ibrahem
Counters ibrahemCounters ibrahem
Counters ibrahem
 
Chapter 7 - Programming Techniques with Additional Instructions
Chapter 7 - Programming Techniques with Additional InstructionsChapter 7 - Programming Techniques with Additional Instructions
Chapter 7 - Programming Techniques with Additional Instructions
 
Lec 05 - Combinational Logic
Lec 05 - Combinational LogicLec 05 - Combinational Logic
Lec 05 - Combinational Logic
 
Digital Logic Rcs
Digital Logic RcsDigital Logic Rcs
Digital Logic Rcs
 
03 analog control_sp17
03 analog control_sp1703 analog control_sp17
03 analog control_sp17
 
FYBSC IT Digital Electronics Unit V Chapter I Counters
FYBSC IT Digital Electronics Unit V Chapter I CountersFYBSC IT Digital Electronics Unit V Chapter I Counters
FYBSC IT Digital Electronics Unit V Chapter I Counters
 
Ec2308 microprocessor and_microcontroller__lab1
Ec2308 microprocessor and_microcontroller__lab1Ec2308 microprocessor and_microcontroller__lab1
Ec2308 microprocessor and_microcontroller__lab1
 
Mpmc lab
Mpmc labMpmc lab
Mpmc lab
 
Microprocessor lab manual
Microprocessor lab manualMicroprocessor lab manual
Microprocessor lab manual
 
8085 instruction-set new
8085 instruction-set new8085 instruction-set new
8085 instruction-set new
 
8086 labmanual
8086 labmanual8086 labmanual
8086 labmanual
 
Micro task1
Micro task1Micro task1
Micro task1
 
Logic Fe Tcom
Logic Fe TcomLogic Fe Tcom
Logic Fe Tcom
 
Microprocessor lab manual
Microprocessor lab manualMicroprocessor lab manual
Microprocessor lab manual
 
Counters &amp; time delay
Counters &amp; time delayCounters &amp; time delay
Counters &amp; time delay
 

Ähnlich wie 00 chapter07 and_08_conversion_subroutines_force_sp13

2011 DDR4 Mini Workshop.pdf
2011 DDR4 Mini Workshop.pdf2011 DDR4 Mini Workshop.pdf
2011 DDR4 Mini Workshop.pdfssuser2a2430
 
Automatically Defined Functions for Learning Classifier Systems
Automatically Defined Functions for Learning Classifier SystemsAutomatically Defined Functions for Learning Classifier Systems
Automatically Defined Functions for Learning Classifier SystemsDaniele Loiacono
 
Decoder for digital electronics
Decoder for digital electronicsDecoder for digital electronics
Decoder for digital electronicsIIT, KANPUR INDIA
 
Decoder for digital electronics
Decoder for digital electronicsDecoder for digital electronics
Decoder for digital electronicsKamil Hussain
 
Lmb162 abc manual-rev0.2
Lmb162 abc manual-rev0.2Lmb162 abc manual-rev0.2
Lmb162 abc manual-rev0.2aibad ahmed
 
Arm instruction set
Arm instruction setArm instruction set
Arm instruction setjustus_pm
 
Oc cby meldingtreesarial
Oc cby meldingtreesarialOc cby meldingtreesarial
Oc cby meldingtreesarialashish61_scs
 
LatticeMico32 MMU documentation
LatticeMico32 MMU documentationLatticeMico32 MMU documentation
LatticeMico32 MMU documentationYann Sionneau
 
Micro controller(pratheesh)
Micro controller(pratheesh)Micro controller(pratheesh)
Micro controller(pratheesh)Pratheesh Pala
 
343logic-design-lab-manual-10 esl38-3rd-sem-2011
343logic-design-lab-manual-10 esl38-3rd-sem-2011343logic-design-lab-manual-10 esl38-3rd-sem-2011
343logic-design-lab-manual-10 esl38-3rd-sem-2011e11ie
 
Day 20.1 configuringframerelay
Day 20.1 configuringframerelayDay 20.1 configuringframerelay
Day 20.1 configuringframerelayCYBERINTELLIGENTS
 
EMBEDDED SYSTEMS 4&5
EMBEDDED SYSTEMS 4&5EMBEDDED SYSTEMS 4&5
EMBEDDED SYSTEMS 4&5PRADEEP
 
Top Ten Programming Mistakes by People New to Siemens
Top Ten Programming Mistakes by People New to SiemensTop Ten Programming Mistakes by People New to Siemens
Top Ten Programming Mistakes by People New to SiemensDMC, Inc.
 
Windows to reality getting the most out of direct3 d 10 graphics in your games
Windows to reality   getting the most out of direct3 d 10 graphics in your gamesWindows to reality   getting the most out of direct3 d 10 graphics in your games
Windows to reality getting the most out of direct3 d 10 graphics in your gameschangehee lee
 
Msp430 assembly language instructions &amp;addressing modes
Msp430 assembly language instructions &amp;addressing modesMsp430 assembly language instructions &amp;addressing modes
Msp430 assembly language instructions &amp;addressing modesHarsha herle
 
Msp430assemblylanguageinstructionsaddressingmodes 180221091516 (1)
Msp430assemblylanguageinstructionsaddressingmodes 180221091516 (1)Msp430assemblylanguageinstructionsaddressingmodes 180221091516 (1)
Msp430assemblylanguageinstructionsaddressingmodes 180221091516 (1)DrRenumadhavi
 
Introduzione a Software Define Networking
Introduzione a Software Define NetworkingIntroduzione a Software Define Networking
Introduzione a Software Define Networkingfestival ICT 2016
 

Ähnlich wie 00 chapter07 and_08_conversion_subroutines_force_sp13 (20)

2011 DDR4 Mini Workshop.pdf
2011 DDR4 Mini Workshop.pdf2011 DDR4 Mini Workshop.pdf
2011 DDR4 Mini Workshop.pdf
 
Automatically Defined Functions for Learning Classifier Systems
Automatically Defined Functions for Learning Classifier SystemsAutomatically Defined Functions for Learning Classifier Systems
Automatically Defined Functions for Learning Classifier Systems
 
Decoder for digital electronics
Decoder for digital electronicsDecoder for digital electronics
Decoder for digital electronics
 
Decoder for digital electronics
Decoder for digital electronicsDecoder for digital electronics
Decoder for digital electronics
 
Lab 3.5.1 basic frame relay
Lab 3.5.1 basic frame relayLab 3.5.1 basic frame relay
Lab 3.5.1 basic frame relay
 
Lmb162 abc manual-rev0.2
Lmb162 abc manual-rev0.2Lmb162 abc manual-rev0.2
Lmb162 abc manual-rev0.2
 
Lcd tutorial
Lcd tutorialLcd tutorial
Lcd tutorial
 
Arm instruction set
Arm instruction setArm instruction set
Arm instruction set
 
Bcd counter
Bcd counterBcd counter
Bcd counter
 
Oc cby meldingtreesarial
Oc cby meldingtreesarialOc cby meldingtreesarial
Oc cby meldingtreesarial
 
LatticeMico32 MMU documentation
LatticeMico32 MMU documentationLatticeMico32 MMU documentation
LatticeMico32 MMU documentation
 
Micro controller(pratheesh)
Micro controller(pratheesh)Micro controller(pratheesh)
Micro controller(pratheesh)
 
343logic-design-lab-manual-10 esl38-3rd-sem-2011
343logic-design-lab-manual-10 esl38-3rd-sem-2011343logic-design-lab-manual-10 esl38-3rd-sem-2011
343logic-design-lab-manual-10 esl38-3rd-sem-2011
 
Day 20.1 configuringframerelay
Day 20.1 configuringframerelayDay 20.1 configuringframerelay
Day 20.1 configuringframerelay
 
EMBEDDED SYSTEMS 4&5
EMBEDDED SYSTEMS 4&5EMBEDDED SYSTEMS 4&5
EMBEDDED SYSTEMS 4&5
 
Top Ten Programming Mistakes by People New to Siemens
Top Ten Programming Mistakes by People New to SiemensTop Ten Programming Mistakes by People New to Siemens
Top Ten Programming Mistakes by People New to Siemens
 
Windows to reality getting the most out of direct3 d 10 graphics in your games
Windows to reality   getting the most out of direct3 d 10 graphics in your gamesWindows to reality   getting the most out of direct3 d 10 graphics in your games
Windows to reality getting the most out of direct3 d 10 graphics in your games
 
Msp430 assembly language instructions &amp;addressing modes
Msp430 assembly language instructions &amp;addressing modesMsp430 assembly language instructions &amp;addressing modes
Msp430 assembly language instructions &amp;addressing modes
 
Msp430assemblylanguageinstructionsaddressingmodes 180221091516 (1)
Msp430assemblylanguageinstructionsaddressingmodes 180221091516 (1)Msp430assemblylanguageinstructionsaddressingmodes 180221091516 (1)
Msp430assemblylanguageinstructionsaddressingmodes 180221091516 (1)
 
Introduzione a Software Define Networking
Introduzione a Software Define NetworkingIntroduzione a Software Define Networking
Introduzione a Software Define Networking
 

Mehr von John Todora

04 scaling analog_datal_sp17
04 scaling analog_datal_sp1704 scaling analog_datal_sp17
04 scaling analog_datal_sp17John Todora
 
01 control logix_arrays_sp17
01 control logix_arrays_sp1701 control logix_arrays_sp17
01 control logix_arrays_sp17John Todora
 
Comparison instructions, AB, Siemens and AB CCW
Comparison instructions, AB, Siemens and AB CCWComparison instructions, AB, Siemens and AB CCW
Comparison instructions, AB, Siemens and AB CCWJohn Todora
 
Subroutines rev01 fa16
Subroutines rev01 fa16Subroutines rev01 fa16
Subroutines rev01 fa16John Todora
 
Move mask moves_rev01_fa16
Move mask moves_rev01_fa16Move mask moves_rev01_fa16
Move mask moves_rev01_fa16John Todora
 
ControlLogix Counters FA16
ControlLogix Counters FA16ControlLogix Counters FA16
ControlLogix Counters FA16John Todora
 
ControlLogix Timers FA16
ControlLogix Timers FA16ControlLogix Timers FA16
ControlLogix Timers FA16John Todora
 
02 chapter02 fa16
02 chapter02 fa1602 chapter02 fa16
02 chapter02 fa16John Todora
 
01 introduction to_plc-pac_rev01_fa16
01 introduction to_plc-pac_rev01_fa1601 introduction to_plc-pac_rev01_fa16
01 introduction to_plc-pac_rev01_fa16John Todora
 
07 chapter07 loop_diagrams
07 chapter07 loop_diagrams07 chapter07 loop_diagrams
07 chapter07 loop_diagramsJohn Todora
 
06 chapter06 binary_logic_systems_Rev02
06 chapter06 binary_logic_systems_Rev0206 chapter06 binary_logic_systems_Rev02
06 chapter06 binary_logic_systems_Rev02John Todora
 
04 chapter04 specification_forms
04 chapter04 specification_forms04 chapter04 specification_forms
04 chapter04 specification_formsJohn Todora
 
03 chapter03 lists_indexes_databases
03 chapter03 lists_indexes_databases03 chapter03 lists_indexes_databases
03 chapter03 lists_indexes_databasesJohn Todora
 
02 chapter02 p&ids_and_symbols_split_animations
02 chapter02 p&ids_and_symbols_split_animations02 chapter02 p&ids_and_symbols_split_animations
02 chapter02 p&ids_and_symbols_split_animationsJohn Todora
 
01 chapter01 process_flow_diagram
01 chapter01 process_flow_diagram01 chapter01 process_flow_diagram
01 chapter01 process_flow_diagramJohn Todora
 
EMEC130 P&ID Symbol Primer
EMEC130 P&ID Symbol PrimerEMEC130 P&ID Symbol Primer
EMEC130 P&ID Symbol PrimerJohn Todora
 
02 copy file_fill_sp16
02 copy file_fill_sp1602 copy file_fill_sp16
02 copy file_fill_sp16John Todora
 

Mehr von John Todora (20)

04 scaling analog_datal_sp17
04 scaling analog_datal_sp1704 scaling analog_datal_sp17
04 scaling analog_datal_sp17
 
01 control logix_arrays_sp17
01 control logix_arrays_sp1701 control logix_arrays_sp17
01 control logix_arrays_sp17
 
Comparison instructions, AB, Siemens and AB CCW
Comparison instructions, AB, Siemens and AB CCWComparison instructions, AB, Siemens and AB CCW
Comparison instructions, AB, Siemens and AB CCW
 
Lab02 review
Lab02 reviewLab02 review
Lab02 review
 
Subroutines rev01 fa16
Subroutines rev01 fa16Subroutines rev01 fa16
Subroutines rev01 fa16
 
Move mask moves_rev01_fa16
Move mask moves_rev01_fa16Move mask moves_rev01_fa16
Move mask moves_rev01_fa16
 
ControlLogix Counters FA16
ControlLogix Counters FA16ControlLogix Counters FA16
ControlLogix Counters FA16
 
Lab02 lead in
Lab02 lead inLab02 lead in
Lab02 lead in
 
ControlLogix Timers FA16
ControlLogix Timers FA16ControlLogix Timers FA16
ControlLogix Timers FA16
 
02 chapter02 fa16
02 chapter02 fa1602 chapter02 fa16
02 chapter02 fa16
 
01 introduction to_plc-pac_rev01_fa16
01 introduction to_plc-pac_rev01_fa1601 introduction to_plc-pac_rev01_fa16
01 introduction to_plc-pac_rev01_fa16
 
07 chapter07 loop_diagrams
07 chapter07 loop_diagrams07 chapter07 loop_diagrams
07 chapter07 loop_diagrams
 
06 chapter06 binary_logic_systems_Rev02
06 chapter06 binary_logic_systems_Rev0206 chapter06 binary_logic_systems_Rev02
06 chapter06 binary_logic_systems_Rev02
 
04 chapter04 specification_forms
04 chapter04 specification_forms04 chapter04 specification_forms
04 chapter04 specification_forms
 
03 chapter03 lists_indexes_databases
03 chapter03 lists_indexes_databases03 chapter03 lists_indexes_databases
03 chapter03 lists_indexes_databases
 
02 chapter02 p&ids_and_symbols_split_animations
02 chapter02 p&ids_and_symbols_split_animations02 chapter02 p&ids_and_symbols_split_animations
02 chapter02 p&ids_and_symbols_split_animations
 
01 chapter01 process_flow_diagram
01 chapter01 process_flow_diagram01 chapter01 process_flow_diagram
01 chapter01 process_flow_diagram
 
00 introduction
00 introduction00 introduction
00 introduction
 
EMEC130 P&ID Symbol Primer
EMEC130 P&ID Symbol PrimerEMEC130 P&ID Symbol Primer
EMEC130 P&ID Symbol Primer
 
02 copy file_fill_sp16
02 copy file_fill_sp1602 copy file_fill_sp16
02 copy file_fill_sp16
 

Kürzlich hochgeladen

FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024Elizabeth Walsh
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Jisc
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxEsquimalt MFRC
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Association for Project Management
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxJisc
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfDr Vijay Vishwakarma
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 

Kürzlich hochgeladen (20)

FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 

00 chapter07 and_08_conversion_subroutines_force_sp13

  • 1. Conversion, Subroutines and Forcing I/O Chapter 07 and supplemental material Chapter 08 Sections 8-1, 8-2, 8-3-3 through 8-3-5 Northampton Community College 1
  • 2. Binary Coded Decimal (BCD) Review Northampton Community College 2
  • 3. BCD Conversion Review The BCD representation of a decimal number is obtained by replacing each decimal digit by its equivalent four-bit binary number. Northampton Community College 3
  • 4. BCD Push Switch (Thumbwheel) Northampton Community College 4
  • 5. Push Switch (Thumbwheel) Truth Table Dial Bit Weight Position 8 4 2 1 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 Northampton Community College 5
  • 6. PLC Input Module Connections (BCD Input Device) Northampton Community College 6
  • 7. PLC Output Module Connections (BCD Output Device) Northampton Community College 7
  • 8. Allen Bradley BCD Conversion Instructions Convert from BCD (FRD) Convert to BCD (TOD) Conditional or Unconditional Conditional or Unconditional FRD TOD From BCD 0001 To BCD Source I:1.0 Source N22:3 2437h< 1234< Dest N7:4 Dest O:5.0 2437< 1234h< FRD TOD From BCD 1 To BCD Source PushSw Right Source DspyOutValue 16#0000 0 Dest PushSw Value Dest DisplayOutput 0 16#0000 Northampton Community College 8
  • 9. Convert To BCD (TOD) Instruction – SLC500 When the rung is true, converts the binary value of a decimal number to its equivalent BCD value. Northampton Community College 9
  • 10. Convert To BCD (TOD) Instruction – ControlLogix When the rung is true, converts the binary value of a decimal number to its equivalent BCD value. The decimal value in the source is converted to BCD binary and then the binary is displayed as the decimal result in the destinatio n. 9760 Decimal_So urce 0 0 0 0 9 7 6 0 0000 0000 0000 0000 1001 0111 0110 0000 0000 0000 0000 0000 1001 0111 0110 0000 is then converted to decimal and displayed as a Decimal number in the Dest. 38752 BCD_Dest 0000 0000 0000 0000 1001 0111 0110 0000 Northampton Community College 10
  • 11. Convert From BCD (FRD) When the rung is true, converts the BCD value in the Source to its equivalent decimal value. Northampton Community College 11
  • 12. Convert To BCD (FRD) Instruction – ControlLogix When the rung is true, converts the BCD value in the Source to its equivalent Decimal value. The value in the source is c onverted to binary and then the binary is c onverted to a BCD number 38752 BCD_Sourc e 0000 0000 0000 0000 1001 0111 0110 0000 0 0 0 0 9 7 6 0 9760 is then c onverted to binary and displayed as Dec imal in the Dest. 9760 Dec imal_De st 0000 0000 0000 0000 0010 0110 0010 0000 Northampton Community College 12
  • 13. FRD Source is a non-BCD Value SLC500 When the Source of an FRD is a non-BCD value the error: Minor error at end of scan will occur and the processor will fault. This is a recoverable error and the processor fault can be avoided by unlatching the Overflow Trap Bit S:5/0. I:1 B3:0 FRD 0000 OSR From BCD 4 0 Source I:1.0 A106h< Dest N7:4 32767< Processor Mode Overflow Bit 0 Trap S:1 S:5 0001 U 0 0 Northampton Community College 13
  • 15. Subroutines Chapter 08 Sections 8-3-3 to 8-3-5 Supplement Document Northampton Community College 15
  • 16. Subroutines Subroutine(s) is a group of program code that performs a specific task. The subroutine(s) are part of a program (in our case the MainProgram) and are not part of the MainRoutine. A subroutine can be invoked, (called), from anyplace in the MainRoutine or from another subroutine. When a subroutine is called from within another subroutine it is referred to as nesting subroutines. Most, if not all, computer programs and PLC/PAC programs contain subroutines. Subroutines are used to make what would be an enormous program more manageable by breaking up the code into smaller tasks. Specific functions within a task should be placed in subroutines. Organizing a program by using subroutines makes the code easier to read, understand and maintain. Subroutines can also be reused in other programs that require the same task be performed. Northampton Community College 16
  • 17. Subroutines SLC500 ControlLogix The SLC500 uses The ControlLogix uses separate ladder files to separate routines to store store and execute and execute subroutines. subroutines. There are a The number of routines is total of 253 subroutine limited to 32 per program. ladder files; #3 through #255. The MainRoutine is the main ladder routine and is Ladder file #2 (LAD2) is the one we have been the main ladder file and is using in all labs to this the one we have been date. using in all labs to this date. Scan starts at rung 0 in the MainRoutine and ends at Scan starts at rung 0 LAD2 the End statement in the and ends at the End MainRoutine statement in LAD2. Northampton Community College 17
  • 18. Creating a ControlLogix Subroutine 1. To create a new subroutine right click on MainProgram and select New Routine… from the pop-up 2. New Routine dialog box will open. menu Type in the name of the subroutine and from the Type: dropdown, select the type of program code. 3. The new subroutine will appear listed under the program that it was created in. Double click the subroutine to open the ladder editor. Northampton Community College 18
  • 19. Program Control Instructions  There are many program control instructions. Below is a list of them and the platforms they are available on: Instruction CL 500 Sim Instruction CL 500 Sim UID – User Interrupt JMP – Jump to Label ● ● ● ● Disable UIE – User Interrupt LBL – Label ● ● ● ● Enable SFR – Reset Sequential JXR – Jump to External Routine ● ● Chart SFP – Pause Sequential JSR – Jump to Subroutine ● ● ● ● Chart EVENT – Trigger Event RET – Return from Subroutine ● ● ● ● Task SBR – Subroutine Label ● ● ● EOT – End of Transition ● TND – Temporary End ● ● ● AFI – Always False ● MCR – Master Control Reset ● ● ● NOP – No Operation ● SUS - Suspend  This course will only cover the instructions shown in Red. The instruction in Green can be used, but they will not be discussed in class. Northampton Community College 19
  • 20. ControlLogix Program Control Instructions JSR – Jump to Subroutine (an output instruction) The JSR is an output instruction that is used to “call” a subroutine. The instruction rung can be conditional or unconditional. JSR instructions can have several parameters. The one shown here has 3-parameters. Subroutine name to be “called” (required) Parameter to pass to the subroutine (optional) Parameter to accept a value returning from the subroutine (optional) Northampton Community College 20
  • 21. ControlLogix Program Control Instructions Entering JSR parameters:  Routine Name (Required) – Double-click this parameter field, click the dropdown arrow and select the subroutine name from the dropdown list. The subroutine name will only be in the list if the subroutine has been created.  Input Par and Return Par (Optional) – These parameters will not be used in this course. When a parameter is not used it must be removed. Right click on the parameter field and select Remove Instruction Parameter from the context specific menu. Do this for each parameter that is not required. The picture on this slide illustrates removing a parameter field. Northampton Community College 21
  • 22. ControlLogix Program Control Instructions JSR operation When the rung containing a JSR instruction is true, the processor scan jumps to the subroutine referenced in the Routine Name parameter and begins program execution at the first rung in that subroutine A jump cannot be made into the middle of a subroutine. Execution will always start at the first instruction on the first rung in that ladder routine. This rung will unconditionally jump to the subroutine named Routine04 Northampton Community College 22
  • 23. ControlLogix Program Control Instructions SBR – Subroutine Label The SBR in an input instruction that is always true and marks the beginning of a subroutine. It must be the first instruction on the first rung of the subroutine. The input parameter field(s) is used to reference tags whose data is to be used (passed) to the subroutine. (This course will not be using these parameters). SBR instructions can have several parameters. The one shown here has one parameters. Parameter that passes data to the subroutine (optional) Northampton Community College 23
  • 24. ControlLogix Program Control Instructions For this course the Input Par parameter will need to be removed from the SBR instruction. To remove the parameter right-click on the parameter and select Remove Instruction Parameter from the context specific menu. Northampton Community College 24
  • 25. ControlLogix Program Control Instructions RET – Return from Subroutine The RET instruction is an output instruction that is used to stop executing the subroutine and return to the ladder file that originally “called” the subroutine. The instruction can be conditional or unconditional and can contain several parameters. The RET instruction shown here has one parameter. (This course will not use these parameters). Parameter that passes data back to the ladder file that originally “called” the subroutine. (optional) Northampton Community College 25
  • 26. ControlLogix Program Control Instructions For this course the Input Par parameter will need to be removed from the RET instruction. To remove the parameter right-click on the parameter and select Remove Instruction Parameter from the context specific menu. Northampton Community College 26
  • 27. ControlLogix Program Control Instructions Several conditional RET instructions can be present in a subroutine. As an example:  If an RET instruction becomes true that is on rung 0006 in a subroutine containing 45-rungs, the program scan will return to the ladder file that originally called the subroutine and rungs 0007 through 0045 will not execute.  If the RET instruction on rung 0006 becomes false another RET instruction becomes true that is on rung 0010 in the same subroutine, the program scan will return to the ladder file that originally called the subroutine and rungs 0011 through 0045 will not executed. If the entire subroutine ladder file is to be always scanned, placing a RET instruction on the last rung of the program is optional. If an RET instruction is not found in the subroutine ladder file, the END statement performs the return. Northampton Community College 27
  • 28. Program Execution using Subroutines Northampton Community College 28
  • 30. Using the Force I/O Function The force function will only work on field I/O devices, therefore the input and output data files in the SLC500 and the Controller tags in the ControlLogix. Before applying a force to any input or any output device, an understanding of the potential effect that force(s) will have on the machine or process operation and to the safety of personal is essential. DO NOT INSTALL FORCES WITHOUT FIRST UNDERSTANDING WHAT AFFECT IT WILL HAVE ON THE OPERATION OF THE MACHINE OR PROCESS Most programming software provide some visible means of alerting the user that a force is in affect or installed. Most processor modules have an LED indicator that will be lit if there are any forces installed. Northampton Community College 30
  • 31. Installing and Enabling Forces This is an instructor led, interactive lab. If there is no program running in the PLC at your workstation, open a program that uses I/O field devices, download the program to the PLC, then place the PLC in RUN mode. Your instructor will also switch to RSLogix and attach to someone’s workstation to lead you through and demonstrate the force functions. Northampton Community College 31