- •16. ADVANCED LADDER LOGIC FUNCTIONS
- •16.1 INTRODUCTION
- •16.2 LIST FUNCTIONS
- •16.2.1 Shift Registers
- •16.2.2 Stacks
- •16.2.3 Sequencers
- •16.3 PROGRAM CONTROL
- •16.3.1 Branching and Looping
- •16.3.2 Fault Detection and Interrupts
- •16.4 INPUT AND OUTPUT FUNCTIONS
- •16.4.1 Immediate I/O Instructions
- •16.4.2 Block Transfer Functions
- •16.5 DESIGN TECHNIQUES
- •16.5.1 State Diagrams
- •16.6 DESIGN CASES
- •16.6.1 If-Then
- •16.6.2 Traffic Light
- •16.7 SUMMARY
- •16.8 PRACTICE PROBLEMS
- •16.9 PRACTICE PROBLEM SOLUTIONS
- •16.10 ASSIGNMENT PROBLEMS
- •17. OPEN CONTROLLERS
- •17.1 INTRODUCTION
- •17.3 OPEN ARCHITECTURE CONTROLLERS
- •17.4 SUMMARY
- •17.5 PRACTICE PROBLEMS
- •17.6 PRACTICE PROBLEM SOLUTIONS
- •17.7 ASSIGNMENT PROBLEMS
- •18. INSTRUCTION LIST PROGRAMMING
- •18.1 INTRODUCTION
- •18.2 THE IEC 61131 VERSION
- •18.3 THE ALLEN-BRADLEY VERSION
- •18.4 SUMMARY
- •18.5 PRACTICE PROBLEMS
- •18.6 PRACTICE PROBLEM SOLUTIONS
- •18.7 ASSIGNMENT PROBLEMS
- •19. STRUCTURED TEXT PROGRAMMING
- •19.1 INTRODUCTION
- •19.2 THE LANGUAGE
- •19.3 SUMMARY
- •19.4 PRACTICE PROBLEMS
- •19.5 PRACTICE PROBLEM SOLUTIONS
- •19.6 ASSIGNMENT PROBLEMS
- •20. SEQUENTIAL FUNCTION CHARTS
- •20.1 INTRODUCTION
- •20.2 A COMPARISON OF METHODS
- •20.3 SUMMARY
- •20.4 PRACTICE PROBLEMS
- •20.5 PRACTICE PROBLEM SOLUTIONS
- •20.6 ASSIGNMENT PROBLEMS
- •21. FUNCTION BLOCK PROGRAMMING
- •21.1 INTRODUCTION
- •21.2 CREATING FUNCTION BLOCKS
- •21.3 DESIGN CASE
- •21.4 SUMMARY
- •21.5 PRACTICE PROBLEMS
- •21.6 PRACTICE PROBLEM SOLUTIONS
- •21.7 ASSIGNMENT PROBLEMS
- •22. ANALOG INPUTS AND OUTPUTS
- •22.1 INTRODUCTION
- •22.2 ANALOG INPUTS
- •22.2.1 Analog Inputs With a PLC
- •22.3 ANALOG OUTPUTS
- •22.3.1 Analog Outputs With A PLC
- •22.3.2 Pulse Width Modulation (PWM) Outputs
- •22.3.3 Shielding
- •22.4 DESIGN CASES
- •22.4.1 Process Monitor
- •22.5 SUMMARY
- •22.6 PRACTICE PROBLEMS
- •22.7 PRACTICE PROBLEM SOLUTIONS
- •22.8 ASSIGNMENT PROBLEMS
- •23. CONTINUOUS SENSORS
- •23.1 INTRODUCTION
- •23.2 INDUSTRIAL SENSORS
- •23.2.1 Angular Displacement
- •23.2.1.1 - Potentiometers
- •23.2.2 Encoders
- •23.2.2.1 - Tachometers
- •23.2.3 Linear Position
- •23.2.3.1 - Potentiometers
- •23.2.3.2 - Linear Variable Differential Transformers (LVDT)
- •23.2.3.3 - Moire Fringes
- •23.2.3.4 - Accelerometers
- •23.2.4 Forces and Moments
- •23.2.4.1 - Strain Gages
- •23.2.4.2 - Piezoelectric
- •23.2.5 Liquids and Gases
- •23.2.5.1 - Pressure
- •23.2.5.2 - Venturi Valves
- •23.2.5.3 - Coriolis Flow Meter
- •23.2.5.4 - Magnetic Flow Meter
- •23.2.5.5 - Ultrasonic Flow Meter
- •23.2.5.6 - Vortex Flow Meter
- •23.2.5.7 - Positive Displacement Meters
- •23.2.5.8 - Pitot Tubes
- •23.2.6 Temperature
- •23.2.6.1 - Resistive Temperature Detectors (RTDs)
- •23.2.6.2 - Thermocouples
- •23.2.6.3 - Thermistors
- •23.2.6.4 - Other Sensors
- •23.2.7 Light
- •23.2.7.1 - Light Dependant Resistors (LDR)
- •23.2.8 Chemical
- •23.2.8.2 - Conductivity
- •23.2.9 Others
- •23.3 INPUT ISSUES
- •23.4 SENSOR GLOSSARY
- •23.5 SUMMARY
- •23.6 REFERENCES
- •23.7 PRACTICE PROBLEMS
- •23.8 PRACTICE PROBLEM SOLUTIONS
- •23.9 ASSIGNMENT PROBLEMS
- •24. CONTINUOUS ACTUATORS
- •24.1 INTRODUCTION
- •24.2 ELECTRIC MOTORS
- •24.2.1 Basic Brushed DC Motors
- •24.2.2 AC Motors
- •24.2.3 Brushless DC Motors
- •24.2.4 Stepper Motors
- •24.2.5 Wound Field Motors
plc advanced functions - 16.28
T4:0/DN
TON T4:0
preset 4.0 sec
T4:0/DN
SQO
File #N7:0 mask 003F Dest. O:000 Control R6:0 Length 10
OUTPUTS
O:000/00 NSG - north south green O:000/01 NSY - north south yellow O:000/02 NSR - north south red O:000/03 EWG - east west green O:000/04 EWY - east west yellow O:000/05 EWR - east west red
Addr. |
Contents (in binary) |
N7:0 0000000000100001
N7:1 0000000000100001
N7:2 0000000000100001
Figure 16.29 An Example Traffic Light Controller
16.7SUMMARY
•Shift registers move bits through a queue.
•Stacks will create a variable length list of words.
•Sequencers allow a list of words to be stepped through.
•Parts of programs can be skipped with jump and MCR statements, but MCR statements shut off outputs.
•Subroutines can be called in other program files, and arguments can be passed.
•For-next loops allow parts of the ladder logic to be repeated.
•Interrupts allow parts to run automatically at fixed times, or when some event happens.
•Immediate inputs and outputs update I/O without waiting for the normal scans.
•Block transfer functions allow communication with special I/O cards that need more than one word of data.
plc advanced functions - 16.29
16.8 PRACTICE PROBLEMS
1.Design and write ladder logic for a simple traffic light controller that has a single fixed sequence of 16 seconds for both green lights and 4 second for both yellow lights. Use shift registers to implement it.
2.A PLC is to be used to control a carillon (a bell tower). Each bell corresponds to a musical note and each has a pneumatic actuator that will ring it. The table below defines the tune to be programmed. Write a program that will run the tune once each time a start button is pushed. A
stop button will stop the song.
time sequence in seconds
O:000/00 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
O:000/00 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
O:000/01 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
|
O:000/02 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
|
O:000/03 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
|
O:000/04 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
O:000/05 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
O:000/06 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
|
O:000/07 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
3.Consider a conveyor where parts enter on one end. they will be checked to be in a left or right orientation with a vision system. If neither left nor right is found, the part will be placed in a reject bin. The conveyor layout is shown below.
vision
left |
right |
reject |
part movement along conveyor
part sensor
4.Why are MCR blocks different than JMP statements?
5.What is a suitable reason to use interrupts?
6.When would immediate inputs and outputs be used?
7.Explain the significant differences between shift registers, stacks and sequencers.
plc advanced functions - 16.30
8.Design a ladder logic program that will run once every 30 seconds using interrupts. It will check to see if a water tank is full with input I:000/0. If it is full, then a shutdown value (B3/37) will be latched on.
9.At MOdern Manufacturing (MOMs), pancakes are made by multiple machines in three flavors; chocolate, blueberry and plain. When the pancakes are complete they travel along a single belt, in no specific order. They are buffered by putting them on the top of a stack. When they arrive at the stack the input I:000/3 becomes true, and the stack is loaded by making output O:001/1 high for one second. As the pancakes are put on the stack, a color detector is used to determine the pancakes type. A value is put in N7:0 (1=chocolate, 2=blueberry, 3=plain) and bit B3/0 is made true. A pancake can be requested by pushing a button (I:000/0=chocolate, I:000/1=blueberry, I:000/2=plain). Pancakes are then unloaded from the stack, by making O:001/0 high for 1 second, until the desired flavor is removed. Any pancakes removed aren’t returned to the stack. Design a ladder logic program to control this stack.
10.a) What are the three fundamental types of interrupts?
b)What are the advantages of interrupts in control programs?
c)What potential problems can they create?
d)Which instructions can prevent this problem?
11.Write a ladder logic program to drive a set of flashing lights. In total there are 10 lights connected to O:000/0 to O:000/11. At any time every one out of three lights should be on. Every second the pattern on the lights should shift towards O:000/11.
12.Implement the following state diagram using subroutines.
FS
|
A |
B |
|
|
|
ST0 |
ST1 |
ST2 |
|
C |
D |
plc advanced functions - 16.31
16.9 PRACTICE PROBLEM SOLUTIONS
1.
T4:0/DN |
T4:0/DN |
B3:0 = 0000 0000 0000 1111 (grn EW) B3:1 = 0000 0000 0001 0000 (yel EW)
B3:2 = 0000 0011 1110 0000 (red EW)
B3:3 = 0000 0011 1100 0000 (grn NS)
B3:4 = 0000 0000 0010 0000 (yel NS)
B3:5 = 0000 0000 0001 1111 (red NS)
TON
Timer T4:0
Delay 4s
BSR File B3:0
Control R6:0
Bit address R6:0/UL Length 10
BSR File B3:1
Control R6:1
Bit address R6:1/UL Length 10
BSR File B3:2
Control R6:2
Bit address R6:2/UL Length 10
BSR File B3:3
Control R6:3
Bit address R6:3/UL Length 10
BSR File B3:4
Control R6:4
Bit address R6:4/UL Length 10
BSR File B3:5
Control R6:5
Bit address R6:5/UL Length 10
plc advanced functions - 16.32
B3:0/0
O:000/0
B3:1/0
O:000/1
B3:2/0
O:000/2
B3:3/0
O:000/3
B3:4/0
O:000/4
B3:5/0
O:000/5
plc advanced functions - 16.33
2.
N7:0 = 0000 0000 0000 0000 |
N7:9 = 0000 0000 1000 0000 |
N7:1 = 0000 0000 0000 0110 |
N7:10 = 0000 0000 0000 0100 |
N7:2 = 0000 0000 0001 0000 |
N7:11 = 0000 0000 0000 1100 |
N7:3 = 0000 0000 0001 0000 |
N7:12 = 0000 0000 0000 0000 |
N7:4 = 0000 0000 0000 0100 |
N7:13 = 0000 0000 0100 1000 |
N7:5 = 0000 0000 0000 1000 |
N7:14 = 0000 0000 0000 0010 |
N7:6 = 0000 0000 0100 0000 |
N7:15 = 0000 0000 0000 0100 |
N7:7 = 0000 0000 0110 0000 |
N7:16 = 0000 0000 0000 1000 |
N7:8 = 0000 0000 0000 0001 |
N7:17 = 0000 0000 0000 0001 |
start |
|
|
stop |
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
play |
|
|
|
|
|
|
|
|
|
T4:0/DN |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|||
|
play |
|
|
|
|
|
TON |
|
|||||
|
NEQ |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
Timer T4:0 |
|
||||
|
|
|
Source A R6:0.POS |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
Delay 4s |
|
||
|
|
|
Source B 16 |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T4:0/DN |
|
|
|
|
|
|
|
SQO |
|
|
|
||
|
|
|
|
|
|
|
File #N7:0 |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
Mask 00FF |
|
||
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
Destination O:000 |
|
||
|
|
|
|
|
|
|
|
|
|
Control R6:0 |
|
||
|
|
|
|
|
|
|
|
|
|
Length 17 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
Position 0 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
plc advanced functions - 16.34
3.
assume:
|
|
|
I:000/0 = left orientation |
|
|
||||
|
|
|
I:000/1 = right orientation |
|
|
||||
|
|
|
I:000/2 = reject |
|
|
||||
|
|
|
I:000/3 = part sensor |
|
|
||||
I:000/3 |
BSR |
||||||||
|
|
|
|
||||||
|
|
|
|
File B3:0 |
|||||
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
Control R6:0 |
||
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
Bit address I:000/0 |
||
|
|
|
|
|
|
|
Length 4 |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BSR |
||
|
|
|
|
|
|
|
File B3:1 |
||
|
|
|
|
|
|
|
Control R6:1 |
||
|
|
|
|
|
|
|
Bit address I:000/1 |
||
|
|
|
|
|
|
|
Length 4 |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
BSR |
||
|
|
|
|
|
|
|
File B3:2 |
||
|
|
|
|
|
|
|
Control R6:2 |
||
|
|
|
|
|
|
|
Bit address I:000/2 |
||
|
|
|
|
B3:0/2 |
Length 4 |
||||
|
|
|
|
|
|
||||
|
|
|
|
|
left |
||||
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
B3:1/1 |
|
right |
|||
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
B3:2/0 |
|
reject |
|||
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
4.In MCR blocks the outputs will all be forced off. This is not a problem for outputs such as retentive timers and latches, but it will force off normal outputs. JMP statements will skip over logic and not examine it or force it off.
5.Timed interrupts are useful for processes that must happen at regular time intervals. Polled interrupts are useful to monitor inputs that must be checked more frequently than the ladder scan time will permit. Fault interrupts are important for processes where the complete failure of the PLC could be dangerous.
6.These can be used to update inputs and outputs more frequently than the normal scan time permits.
7.The main differences are: Shift registers focus on bits, stacks and sequencers on words Shift registers and sequencers are fixed length, stacks are variable lengths
plc advanced functions - 16.35
8.
S2:1/15 - first scan
MOV PROGRAM 2 Source 3
Dest S2:31
MOV
Source 30000
Dest S2:30
I:000/0
L B3/37
PROGRAM 3
9.
|
|
|
|
S1 |
|
|
pancake arrives |
|
|
|
|
|||||||||||
|
pancake |
|
Idle/ |
|
(I:000/3) |
|
|
|
|
|
|
|
|
|||||||||
|
|
T6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
waiting |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
requested T1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
(B3/1) |
pancakes |
|
|
S4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
match |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
Wait for |
|
|
|
|
|
|
|
|
|||||||||
|
S2 |
(B3/2) |
|
|
|
|
|
|
|
|
|
|
||||||||||
|
Unloading |
|
T2 |
|
|
type detect |
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
pancakes |
|
1 second |
|
|
|
|
|
|
|
|
Test Done (B3/0) |
||||||||||
|
|
|
|
delay (T4:0) T5 |
|
|
|
|
T7 |
|
|
|
|
|
|
|
|
|||||
|
pancake |
|
|
|
|
|
|
|
S5 Stacking |
|||||||||||||
|
|
|
T4 |
|
|
|
|
|
|
|
|
|||||||||||
|
doesn’t match |
S3 |
|
|
|
|
|
|
|
|
|
pancakes |
||||||||||
|
|
|
|
1 second |
||||||||||||||||||
|
(not B3/2) |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
Unloading |
|
delay (T4:1) |
|
|
|
|
|
|
|
|
|||||||||
|
|
|
T3 |
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T1 = S1 • B3/1 |
|
|
S1 = ( S1 + T2 + T5 + FS) • |
|
|
|
• |
|
|
|
|
|||||||||||
|
|
T1 |
|
T6 |
|
|||||||||||||||||
T2 = S2 • B3/2 |
|
|
S2 = ( S2 + T1 • |
|
|
|
+ T4) • |
|
• |
|
|
|||||||||||
|
|
T6 |
T2 |
T3 |
|
|||||||||||||||||
T3 = S2 • |
|
|
|
|
S3 = ( S3 + T3) |
• |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
B3/2 |
|
|
|
|
T4 |
|
|
|
|
|
|
|
|
|
|
|||||||
T4 = S3 • T4:0/DN |
|
|
S4 = ( S4 + T6) |
• |
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
T7 |
|
|
|
|
|
|
|
|
|
||||||||||
T5 = S5 • T4:1/DN |
|
|
S5 = ( S5 + T7) |
• |
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
T5 |
|
|
|
|
|
|
|
|
|
||||||||||
T6 = S1 • |
I:000/3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T7 = S4 • |
B3/0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
plc advanced functions - 16.36
|
S3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TON |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
timer T4:0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
delay 1s |
|
|
|
|
|
|
|
|
|
|
|
|
S5 |
|
|
|
|
|
|
|
O:001/0 |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
TON |
|
|
|
|
|
|
|
|
|
|
timer T4:1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
delay 1s |
|
|
|
|
|
|
|
|
|
|
|
|
B3/0 |
|
|
|
|
|
|
|
O:001/1 |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
LFL |
|||
|
|
|
|
|
|
|
|
|
source N7:0 |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
LIFO N7:10 |
|
|
|
|
|
|
|
|
|
|
Control R6:0 |
|
|
|
|
|
|
|
|
|
|
length 10 |
|
|
|
|
|
|
|
|
|
|
position 0 |
|
|
S2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
LFU |
|||
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
LIFO N7:10 |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
destination N7:1 |
|
|
|
|
|
|
|
|
|
|
Control R6:0 |
|
|
|
|
|
|
|
|
|
|
length 10 |
|
|
|
|
|
|
|
|
|
|
position 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EQU |
|
|
B3/2 |
|||
|
|
|
|
|
SourceA N7:1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
SourceB N7:2 |
|
|
|
I:000/0
B3/1
|
|
I:000/1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I:000/2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I:000/0 |
|
|
|
|
|
|
MOV |
||
|
|
|
|
|
Source 1 |
|
|
|
|
|
|
|
|
|
|
|
Dest N7:2 |
|
|
|
|
|
|
|
|
I:000/1 |
|
|
|
|
|
|
MOV |
||
|
|
|
|
|
Source 2 |
|
|
|
|
|
|
|
|
|
|
|
Dest N7:2 |
|
|
|
|
|
|
|
|
I:000/2 |
|
|
|
|
|
|
MOV |
||
|
|
|
|
|
Source 3 |
|
|
|
|
|
|
|
|
|
|
|
Dest N7:2 |
|
|
|
|
|
|
plc advanced functions - 16.37
S1 |
B3/1 |
T1 |
|
|
|
S2 |
B3/2 |
T2 |
|
|
|
S2 |
B3/2 |
T3 |
|
|
|
S3 |
T4:0/DN |
T4 |
|
|
|
S5 |
T4:1/DN |
T5 |
|
|
|
S1 |
I:000/3 |
T6 |
|
|
|
S4 |
B3/0 |
T7 |
|
|
|
S1 |
T1 |
T6 |
|
|
S1 |
T2 |
|
|
T5 |
|
|
FS |
|
|
S2 |
T2 |
T3 |
|
|
S2 |
T1 |
T6 |
|
T4 |
|
|
S3 |
T4 |
S3 |
|
|
|
T3 |
|
|
S4 |
T7 |
S4 |
|
|
|
T6 |
|
|
S5 |
T5 |
S5 |
|
|
|
T7 |
|
|
10. a) Timed, polled and fault, b) They remove the need to check for times or scan for memory |
plc advanced functions - 16.38
changes, and they allow events to occur more often than the ladder logic is scanned. c) A few rungs of ladder logic might count on a value remaining constant, but an interrupt might change the memory, thereby corrupting the logic. d) The UID and UIE
11.
FS
T4:0/DN
T4:0/DN
MOV
source 1001001001 B dest. B3:0
TON T4:0 1 s
BSR
File #B3:0
Control R6:0
Bit R6:0/UL
Length 10
MVM source B3:0 mask 03FF H dest O:000
plc advanced functions - 16.39
12.
|
|
FS |
|
|
||||||||||
file 2 |
|
|
|
|
|
|
|
|
|
|
L |
ST0 |
||
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
U ST1 |
||||
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
U ST2 |
|||
|
|
ST0 |
|
|||||||||||
|
|
|
|
|
|
|||||||||
|
|
JSR |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
File 3 |
|
|||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
ST1 |
|
|
|
|
|
|||||||
|
|
|
|
|
|
|||||||||
|
|
JSR |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
File 4 |
|
|||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
ST2 |
|
|
|
|
|
|||||||
|
|
|
|
|
|
|||||||||
|
|
JSR |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
File 5 |
|
|||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
A |
|
|
|
|
||||||
file 3 |
|
|
|
|
|
ST1 |
||||||||
|
|
|
|
|
|
|
|
|
|
L |
||||
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
U ST0 |
|||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RET |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
|
file 4 |
L |
ST0 |
B |
U ST1 |
|
C |
|
|
|
L |
ST2 |
|
U ST1 |
|
|
RET |
|
D |
|
|
file 5 |
L |
ST1 |
|
U ST2 |
|
|
RET |
|