- •24.3 HYDRAULICS
- •24.4 OTHER SYSTEMS
- •24.5 SUMMARY
- •24.6 PRACTICE PROBLEMS
- •24.7 PRACTICE PROBLEM SOLUTIONS
- •24.8 ASSIGNMENT PROBLEMS
- •25. CONTINUOUS CONTROL
- •25.1 INTRODUCTION
- •25.2 CONTROL OF LOGICAL ACTUATOR SYSTEMS
- •25.3 CONTROL OF CONTINUOUS ACTUATOR SYSTEMS
- •25.3.1 Block Diagrams
- •25.3.2 Feedback Control Systems
- •25.3.3 Proportional Controllers
- •25.3.4 PID Control Systems
- •25.4 DESIGN CASES
- •25.4.1 Oven Temperature Control
- •25.4.2 Water Tank Level Control
- •25.5 SUMMARY
- •25.6 PRACTICE PROBLEMS
- •25.7 PRACTICE PROBLEM SOLUTIONS
- •25.8 ASSIGNMENT PROBLEMS
- •26. FUZZY LOGIC
- •26.1 INTRODUCTION
- •26.2 COMMERCIAL CONTROLLERS
- •26.3 REFERENCES
- •26.4 SUMMARY
- •26.5 PRACTICE PROBLEMS
- •26.6 PRACTICE PROBLEM SOLUTIONS
- •26.7 ASSIGNMENT PROBLEMS
- •27. SERIAL COMMUNICATION
- •27.1 INTRODUCTION
- •27.2 SERIAL COMMUNICATIONS
- •27.2.1.1 - ASCII Functions
- •27.3 PARALLEL COMMUNICATIONS
- •27.4 DESIGN CASES
- •27.4.1 PLC Interface To a Robot
- •27.5 SUMMARY
- •27.6 PRACTICE PROBLEMS
- •27.7 PRACTICE PROBLEM SOLUTIONS
- •27.8 ASSIGNMENT PROBLEMS
- •28. NETWORKING
- •28.1 INTRODUCTION
- •28.1.1 Topology
- •28.1.2 OSI Network Model
- •28.1.3 Networking Hardware
- •28.1.4 Control Network Issues
- •28.2 NETWORK STANDARDS
- •28.2.1 Devicenet
- •28.2.2 CANbus
- •28.2.3 Controlnet
- •28.2.4 Ethernet
- •28.2.5 Profibus
- •28.2.6 Sercos
- •28.3 PROPRIETARY NETWORKS
- •28.3.1 Data Highway
- •28.4 NETWORK COMPARISONS
- •28.5 DESIGN CASES
- •28.5.1 Devicenet
- •28.6 SUMMARY
- •28.7 PRACTICE PROBLEMS
- •28.8 PRACTICE PROBLEM SOLUTIONS
- •28.9 ASSIGNMENT PROBLEMS
- •29. INTERNET
- •29.1 INTRODUCTION
- •29.1.1 Computer Addresses
- •29.1.2 Phone Lines
- •29.1.3 Mail Transfer Protocols
- •29.1.4 FTP - File Transfer Protocol
- •29.1.5 HTTP - Hypertext Transfer Protocol
- •29.1.6 Novell
- •29.1.7 Security
- •29.1.7.1 - Firewall
- •29.1.7.2 - IP Masquerading
- •29.1.8 HTML - Hyper Text Markup Language
- •29.1.9 URLs
- •29.1.10 Encryption
- •29.1.11 Compression
- •29.1.12 Clients and Servers
- •29.1.13 Java
- •29.1.14 Javascript
- •29.1.16 ActiveX
- •29.1.17 Graphics
- •29.2 DESIGN CASES
- •29.2.1 Remote Monitoring System
- •29.3 SUMMARY
- •29.4 PRACTICE PROBLEMS
- •29.5 PRACTICE PROBLEM SOLUTIONS
- •29.6 ASSIGNMENT PROBLEMS
- •30. HUMAN MACHINE INTERFACES (HMI)
- •30.1 INTRODUCTION
- •30.2 HMI/MMI DESIGN
- •30.3 DESIGN CASES
- •30.4 SUMMARY
- •30.5 PRACTICE PROBLEMS
- •30.6 PRACTICE PROBLEM SOLUTIONS
- •30.7 ASSIGNMENT PROBLEMS
- •31. ELECTRICAL DESIGN AND CONSTRUCTION
- •31.1 INTRODUCTION
- •31.2 ELECTRICAL WIRING DIAGRAMS
- •31.2.1 Selecting Voltages
- •31.2.2 Grounding
- •31.2.3 Wiring
- •31.2.4 Suppressors
- •31.2.5 PLC Enclosures
- •31.2.6 Wire and Cable Grouping
- •31.3 FAIL-SAFE DESIGN
- •31.4 SAFETY RULES SUMMARY
- •31.5 REFERENCES
- •31.6 SUMMARY
- •31.7 PRACTICE PROBLEMS
- •31.8 PRACTICE PROBLEM SOLUTIONS
- •31.9 ASSIGNMENT PROBLEMS
- •32. SOFTWARE ENGINEERING
- •32.1 INTRODUCTION
- •32.1.1 Fail Safe Design
- •32.2 DEBUGGING
- •32.2.1 Troubleshooting
- •32.2.2 Forcing
- •32.3 PROCESS MODELLING
- •32.4 PROGRAMMING FOR LARGE SYSTEMS
- •32.4.1 Developing a Program Structure
- •32.4.2 Program Verification and Simulation
- •32.5 DOCUMENTATION
- •32.6 COMMISIONING
- •32.7 REFERENCES
- •32.8 SUMMARY
- •32.9 PRACTICE PROBLEMS
- •32.10 PRACTICE PROBLEM SOLUTIONS
- •32.11 ASSIGNMENT PROBLEMS
- •33. SELECTING A PLC
- •33.1 INTRODUCTION
- •33.2 SPECIAL I/O MODULES
- •33.3 SUMMARY
- •33.4 PRACTICE PROBLEMS
- •33.5 PRACTICE PROBLEM SOLUTIONS
- •33.6 ASSIGNMENT PROBLEMS
- •34. FUNCTION REFERENCE
- •34.1 FUNCTION DESCRIPTIONS
- •34.1.1 General Functions
- •34.1.2 Program Control
- •34.1.3 Timers and Counters
- •34.1.4 Compare
- •34.1.5 Calculation and Conversion
- •34.1.6 Logical
- •34.1.7 Move
- •34.1.8 File
- •34.1.10 Program Control
- •34.1.11 Advanced Input/Output
- •34.1.12 String
- •34.2 DATA TYPES
plc pid - 25.14
PID
Control Block: PD12:0
Proc Variable: N7:0
Tieback: N7:1
Control Output: N7:2
Note: When entering the ladder logic program into the computer you will be able to enter the PID parameters on a popup screen.
Figure 25.17 PID Control Block
PID controllers can also be purchased as cards or stand-alone modules that will perform the PID calculations in hardware. These are useful when the response time must be faster than is possible with a PLC and ladder logic.
25.4DESIGN CASES
25.4.1Oven Temperature Control
Problem: Design an analog controller that will read an oven temperature between 1200F and 1500F. When it passes 1500 degrees the oven will be turned off, when it falls below 1200F it will be turned on again. The voltage from the thermocouple is passed through a signal conditioner that gives 1V at 500F and 3V at 1500F. The controller should have a start button and E-stop.
Solution:
plc pid - 25.15
Select a 12 bit 1771-IFE card and use the 0V to 5V range on channel 1 with
double ended inputs. |
|
= |
|
|
|
Vin – Vmin |
|
|
= |
819 |
||||
|
V1V |
INT |
|
R |
|
|||||||||
|
|
|
---------------------------- |
|
||||||||||
|
|
|
|
|
|
V |
|
– V |
|
|
|
|
|
|
|
R = 2N = 4096 |
|
|
|
|
|
|
max |
|
min |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
Vin – Vmin |
|
|
|
|
||||
|
V |
|
= |
INT |
|
R |
|
= |
2458 |
|||||
|
|
|
|
---------------------------- |
|
|||||||||
|
|
3V |
|
|
|
V |
|
– V |
|
|
|
|
|
|
Cards: |
I:000 - Analog Input |
|
|
|
|
|
|
max |
|
min |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
I:001 - DC Inputs
I:002 - DC Outputs
plc pid - 25.16
S2:1/15 - first scan
BT9:0/EN BT9:1/EN
MOV
Source 0000 0000 0000 0001
Dest N7:0
MOV
Source 0000 0101 0000 0000
Dest N7:2
BTW
Rack: 0
Group: 0
Module: 0
BT Array: BT9:0
Data File: N7:0
Length: 37
Continuous: no
BTR
Rack: 0
Group: 0
Module: 0
BT Array: BT9:1
Data File: N7:37
Length: 20
Continuous: no
I:001/1 - START I:001/0 - ESTOP
B3/0 - ON
B3/0 - ON
BT9:0/DN |
BT9:1/DN |
|
|
|
|
||||||||
GRT |
|
U |
B3/1 - HEAT |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
SourceA N7:42 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SourceB 2458 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LES |
|
L |
B3/1 - HEAT |
|
|
|
|
|
|
|
|
|
|
SourceA N7:42 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SourceB 819 |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
B3/0 - ON |
|
B3/1 - HEAT |
|
|
O:002/0 |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
HEATER |
|
|
|
|
|
|
|
|
|
|
|
|
|
Figure 25.18 Oven Control Program
plc pid - 25.17
25.4.2 Water Tank Level Control
Problem: The system in Figure 25.19 will control the height of the water in a tank. The input from the pressure transducer, Vp, will vary between 0V (empty tank) and 5V (full tank). A voltage output, Vo, will position a valve to change the tank fill rate. Vo varies between 0V (no water flow) and 5V (maximum flow). The system will always be on: the emergency stop is connected electrically. The desired height of a tank is specified by another voltage, Vd. The output voltage is calculated using Vo = 0.5 (Vd - Vp). If the output voltage is greater than 5V is will be made 5V, and below 0V is will be made 0V.
Digital |
|
Amp |
to Analog |
|
|
|
|
|
Converter |
|
|
PLC |
|
Water |
Running |
|
Supply |
Control |
|
|
Program |
|
|
Analog |
|
|
to Digital |
Amp |
Water Tank |
Converter |
|
|
|
|
|
|
pressure |
|
|
transducer |
|
Figure 25.19 Water Tank Level Controller |
|
|
plc pid - 25.18
SOLUTION Analog Input: Select a 12 bit 1771-IFE card and use the 0V to 5V range on channel 1 with double ended inputs.
R = 2N = 4096
Analog Output: Select a 12 bit 1771-OFE card and use the 0V to 5V range on channel 1.
R = 2N = 4096
Cards: I:000 - Analog Input
I:001 - Analog Output
Memory: N7:80 - Vd
plc pid - 25.19
S2:1/15 - first scan
BT9:0/EN BT9:1/EN
MOV
Source 0000 0000 0000 0001
Dest N7:0
MOV
Source 0000 0101 0000 0000
Dest N7:2
MOV
Source 1000 0000 0000 0000
Dest N7:64
BTW
Rack: 0
Group: 0
Module: 0
BT Array: BT9:0
Data File: N7:0
Length: 37
Continuous: no
BTR
Rack: 0
Group: 0
Module: 0
BT Array: BT9:1
Data File: N7:37
Length: 20
Continuous: no
Figure 25.20 A Water Tank Level Control Program