- •9.7.2 More Timers And Counters
- •9.7.3 Deadman Switch
- •9.7.4 Conveyor
- •9.7.5 Accept/Reject Sorting
- •9.7.6 Shear Press
- •9.8 SUMMARY
- •9.9 PRACTICE PROBLEMS
- •9.10 PRACTICE PROBLEM SOLUTIONS
- •9.11 ASSIGNMENT PROBLEMS
- •10. STRUCTURED LOGIC DESIGN
- •10.1 INTRODUCTION
- •10.2 PROCESS SEQUENCE BITS
- •10.3 TIMING DIAGRAMS
- •10.4 DESIGN CASES
- •10.5 SUMMARY
- •10.6 PRACTICE PROBLEMS
- •10.7 PRACTICE PROBLEM SOLUTIONS
- •10.8 ASSIGNMENT PROBLEMS
- •11. FLOWCHART BASED DESIGN
- •11.1 INTRODUCTION
- •11.2 BLOCK LOGIC
- •11.3 SEQUENCE BITS
- •11.4 SUMMARY
- •11.5 PRACTICE PROBLEMS
- •11.6 PRACTICE PROBLEM SOLUTIONS
- •11.7 ASSIGNMENT PROBLEMS
- •12. STATE BASED DESIGN
- •12.1 INTRODUCTION
- •12.1.1 State Diagram Example
- •12.1.2 Conversion to Ladder Logic
- •12.1.2.1 - Block Logic Conversion
- •12.1.2.2 - State Equations
- •12.1.2.3 - State-Transition Equations
- •12.2 SUMMARY
- •12.3 PRACTICE PROBLEMS
- •12.4 PRACTICE PROBLEM SOLUTIONS
- •12.5 ASSIGNMENT PROBLEMS
- •13. NUMBERS AND DATA
- •13.1 INTRODUCTION
- •13.2 NUMERICAL VALUES
- •13.2.1 Binary
- •13.2.1.1 - Boolean Operations
- •13.2.1.2 - Binary Mathematics
- •13.2.2 Other Base Number Systems
- •13.2.3 BCD (Binary Coded Decimal)
- •13.3 DATA CHARACTERIZATION
- •13.3.1 ASCII (American Standard Code for Information Interchange)
- •13.3.2 Parity
- •13.3.3 Checksums
- •13.3.4 Gray Code
- •13.4 SUMMARY
- •13.5 PRACTICE PROBLEMS
- •13.6 PRACTICE PROBLEM SOLUTIONS
- •13.7 ASSIGNMENT PROBLEMS
- •14. PLC MEMORY
- •14.1 INTRODUCTION
- •14.2 MEMORY ADDRESSES
- •14.3 PROGRAM FILES
- •14.4 DATA FILES
- •14.4.1 User Bit Memory
- •14.4.2 Timer Counter Memory
- •14.4.3 PLC Status Bits (for PLC-5s and Micrologix)
- •14.4.4 User Function Control Memory
- •14.4.5 Integer Memory
- •14.4.6 Floating Point Memory
- •14.5 SUMMARY
- •14.6 PRACTICE PROBLEMS
- •14.7 PRACTICE PROBLEM SOLUTIONS
- •14.8 ASSIGNMENT PROBLEMS
- •15. LADDER LOGIC FUNCTIONS
- •15.1 INTRODUCTION
- •15.2 DATA HANDLING
- •15.2.1 Move Functions
- •15.2.2 Mathematical Functions
- •15.2.3 Conversions
- •15.2.4 Array Data Functions
- •15.2.4.1 - Statistics
- •15.2.4.2 - Block Operations
- •15.3 LOGICAL FUNCTIONS
- •15.3.1 Comparison of Values
- •15.3.2 Boolean Functions
- •15.4 DESIGN CASES
- •15.4.1 Simple Calculation
- •15.4.2 For-Next
- •15.4.3 Series Calculation
- •15.4.4 Flashing Lights
- •15.5 SUMMARY
- •15.6 PRACTICE PROBLEMS
- •15.7 PRACTICE PROBLEM SOLUTIONS
- •15.8 ASSIGNMENT PROBLEMS
plc basic functions - 15.22
|
|
|
addr. |
data (binary) |
|
|
|
N7:0 |
0011010111011011 |
|
|
|
N7:1 |
1010010011101010 |
|
|
|
N7:2 |
0010010011001010 |
after |
|
|||
|
N7:3 |
1011010111111011 |
||
|
|
|
||
|
|
|
N7:4 |
1001000100110001 |
|
|
|
N7:5 |
1100101000100100 |
Figure 15.23 Boolean Function Example
AND
source A N7:0 source B N7:1 dest. N7:2
OR
source A N7:0 source B N7:1 dest. N7:3
XOR
source A N7:0 source B N7:1 dest. N7:4
NOT
source A N7:0 dest. N7:5
15.4DESIGN CASES
15.4.1Simple Calculation
Problem: A switch will increment a counter on when engaged. This counter can be reset by a second switch. The value in the counter should be multiplied by 2, and then displayed as a BCD output using (O:0.0/0 - O:0.0/7)
plc basic functions - 15.23
Solution:
SW1 |
CTU |
|
|
Counter C5:0 |
|
||
|
|
|
|
|
|
Preset 0 |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
MUL |
|
|
|
SourceA C5:0.ACC |
|
|
|
SourceB 2 |
|
|
|
Dest. N7:0 |
|
|
|
|
|
|
|
MVM |
|
|
|
Source N7:0 |
|
|
|
Mask 00FF |
|
|
|
Dest. O:0.0 |
|
SW2 |
RES C5:0 |
||
|
|
||
|
|
|
|
Figure 15.24 A Simple Calculation Example
15.4.2 For-Next
Problem: Design a for-next loop that is similar to ones found in traditional programming languages. When A is true the ladder logic should be active for 10 scans, and the scan number from 1 to 10 should be stored in N7:0.
Solution:
|
|
A |
GRT |
|
|
MOV |
|
|
|
|
|
||||
|
|
|
|
|
|||
|
|
|
SourceA N7:0 |
|
|
Source 0 |
|
|
|
|
|
|
|||
|
|
|
SourceB 10 |
|
|
Dest N7:0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
LEQ |
|
|
|
|
|
|
|
|
|
ADD |
|||
|
|
SourceA N7:0 |
|
|
SourceA N7:0 |
||
|
|
|
|
|
|||
|
|
SourceB 10 |
|
|
SourceB 1 |
||
|
|
|
|
|
|
|
Dest. N7:0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Figure 15.25 A Simple Comparison Example
plc basic functions - 15.24
15.4.3 Series Calculation
Problem: Create a ladder logic program that will start when input A is turned on and calculate the series below. The value of n will start at 1 and with each scan of the ladder logic n will increase until n=100. While the sequence is being incremented, any change in A will be ignored.
x = 2( n – 1)
Solution:
A
A
B3:0
B3:0
B3:0
A = I:000/00 n = N7:0
x = N7:1
B3:0
MOV
Source A 1
Dest. N7:0
B3:0
LEQ
Source A N7:0
Source B 100
CPT
Dest. N7:1 Expression
2 * (N7:0 - 1)
ADD
Source A 1
Source B N7:0
Dest. N7:0
Figure 15.26 A Series Calculation Example