- •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 function ref - 34.1
34. FUNCTION REFERENCE
The function references that follow are meant to be an aid for programming. There are some notes that should be observed, especially because this list discusses instructions for more than one type of PLC.
•The following function descriptions are for both the Micrologix and PLC-5 processor families. There are some differences between PLC models and families.
-Floating point operations are not available on the micrologix.
-Some instruction names, definition and terminologies have been changed from older to newer models. I attempt to point these out, or provide a general description that is true for all.
-Details for specific instructions can be found in the manuals available at (http://www.ab.com)
•Many flags in status memory can be used with functions, including;
S2:0/0 carry in math operation
S2:0/1 overflow in math operation
S2:0/2 zero in math operation
S2:0/3 sign in math operation
34.1FUNCTION DESCRIPTIONS
34.1.1General Functions
AFI - Always False Instruction
|
|
|
|
|
AFI |
|
|
|
|
||
|
|
|
|
|
|
|
|
Description: |
Putting this instruction in a line will force the line to be false. This is prima- |
||
|
rily designed for debugging programs. |
||
Status Bits: |
none |
||
Registers: |
none |
Available on: Micrologix, PLC-5
plc function ref - 34.2
IIN, IOT - Immediate INput, Immediate OuTput |
|
|||
|
|
A |
|
|
|
|
|
||
|
|
|
IIN |
I:001 |
|
|
B |
O:002 |
|
|
|
|||
|
|
|
IOT |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Description: |
|
These functions update a few inputs and outputs during a program scan, |
||
|
|
instead of the beginning and end. In this example the IIN function will |
||
|
|
update the input values on ’I:001’ if ’A’ is true. If ’B’ is true then the |
||
|
|
output values will be updated for ’O:002’. |
|
|
Status Bits: |
|
none |
|
|
Registers: |
|
none |
|
Available on: Micrologix, PLC-5
OTL, OTU - OutpuT Latch, OutpuT Unlatch
|
|
A |
|
|
|
|
|
L |
X |
|
|
B |
X |
|
|
|
|||
|
|
|
U |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Description: |
|
The OTL ’L’ will latch on an output or memory bit, and the ’OTL’ ’U’ will |
||
|
|
unlatch it. If a value has been changed with a latch its value will stay |
||
|
|
fixed even if the PLC has been restarted. |
|
|
Status Bits: |
|
none |
|
|
Registers: |
|
none |
|
Available on: Micrologix, PLC-5
plc function ref - 34.3
XIC, XIO, OTE - eXamine If Closed, eXamine If Open, OuTput Enable
|
|
A |
|
|
|
|
I:001/0 |
|
|
B |
|
|
|
||
|
|
|
I:001/1 |
|
|
|
|
Description: |
|
These are the three most basic and common instructions. The input ’A’ is a |
|
|
|
normally open contact (XIC), the input ’B’ is a normally closed contact |
|
|
|
(XIO). Both of the outputs are normally off (OTE). |
|
Status Bits: |
|
none |
|
Registers: |
|
none |
Available on: Micrologix, PLC-5
34.1.2 Program Control
JMP, LBL - JuMP, LaBeL |
|
|
||
A |
|
|
||
JMP |
|
|||
|
|
|
|
|
|
|
|
JUMP |
|
|
|
|
|
|
|
|
|
Label |
2 |
|
|
|
|
|
2 |
|
B |
X |
|||
|
LBL |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Description: |
The JMP instruction will allow the PLC to bypass some ladder logic |
|||||
|
|
instructions. When ’A’ is true in this example the JMP will go to label |
||||
|
|
’2’, after which the program scan will continue normally. If ’A’ is false |
||||
|
|
the JMP will be ignored and program execution will continue normally. |
||||
|
|
In either case, ’X’ will be equal to ’B’. |
|
|||
Status Bits: |
none |
|
||||
Registers: |
none |
|
Available on: Micrologix, PLC-5
plc function ref - 34.4
MCR - Master Control Relay
|
A |
|||
|
||||
|
|
|
|
MCR |
|
|
|
||
|
|
|
|
MCR |
|
|
|
|
|
Description: |
|
|
MCR instructions need to be used in pairs. If the first MCR line is true the |
|
|
|
|
instructions up to the next MCR will be examined normally. If the first |
|
|
|
|
MCR line is not true the outputs on the lines after will be FORCED |
|
|
|
|
OFF. Be careful when using normal outputs in these blocks. |
|
Status Bits: |
|
|
none |
|
Registers: |
|
|
none |
Available on: Micrologix, PLC-5
ONS - ONe Shot
B3/10
A
|
ONS |
|
X |
|
|
||
|
|
|
|
Description: |
This instruction will allow a line to be true for only one scan. If ’A’ |
|
becomes true then output of the ’ONS’ instruction will turn on for only |
|
one scan. ’A’ must be turned off for one scan before the ’ONS’ can be |
|
triggered again. The bit is used to track the previous input state, it is |
|
similar to an enabled bit. |
Status Bits: |
none |
Registers: |
none |
Available on: Micrologix, PLC-5