
- •1. TABLE OF CONTENTS
- •2. COMPUTER HARDWARE
- •3. A BRIEF OVERVIEW OF COMPUTER HARDWARE
- •3.1 BASIC COMPONENTS
- •3.1.1 The components of a computer are,
- •3.1.2 Some I/O Devices
- •3.2 AN EXAMPLE OF A COMPUTER IN MANUFACTURING
- •3.3 COMMERCIAL COMPUTERS
- •3.3.1 Mainframes
- •3.3.2 Super Computers
- •3.3.3 Workstations
- •3.3.4 Personal Computers
- •3.3.5 Dedicated Computers
- •3.3.6 Single Board Computers
- •3.4 ARCHITECTURE AND BUSES
- •3.4.1 Clock Speed and the Buses
- •3.5 SOFTWARE
- •4. COMPUTER INTERFACING
- •4.1 DIGITAL SIGNALS
- •4.2 ANALOG SIGNALS
- •4.2.1 Analog to Digital Conversion
- •4.2.1.1 - Flash A/D Converter
- •4.2.2 Digital to Analog Conversion
- •4.3 TIMING
- •4.3.1 Interrupts
- •4.3.2 Clocks and Timers
- •4.3.3 Watch Dog Timers
- •4.3.4 Polling
- •4.4 DISPLAYS
- •5. COMPUTER INTERFACE BOARDS
- •5.1 OVERVIEW
- •5.1.1 Types
- •5.2 REGISTER LEVEL PROGRAMMING
- •5.3 EXAMPLES
- •6. COMPUTER CONTROL OF PROCESSES
- •6.1 TEMPERTURE CONTROL
- •6.2 BATCH PROCESSING
- •6.3 COMPUTER PROCESS MONITORING
- •6.4 IMPLEMENTING A COMPUTER CONTROL SYSTEM
- •6.4.1 SCADA
- •6.5 PRACTICE PROBLEMS
- •7. COMPUTER COMMUNICATIONS
- •7.1 COMPUTER COMMUNICATIONS CATEGORIES
- •7.2 THE HISTORY
- •7.3 SERIAL COMMUNICATIONS
- •7.6 GPIB/IEEE-488
- •7.7 PARALLEL COMMUNICATIONS
- •8. INTERFACING COMPUTERS FOR DATA TRANSFER
- •8.1 SERIAL DATA TRANSFER
- •8.2 PARALLEL DATA TRANSFER
- •8.2.1 GPIB Bus (IEEE-488)
- •9. COMPUTER NETWORKING
- •9.1 OSI NETWORK MODEL
- •9.1.1 Why Use A Network?
- •9.1.1.1 - Physical Layer
- •9.1.1.2 - Data Link Layer
- •9.1.1.3 - Network Layer
- •9.1.1.4 - Transport Layer
- •9.1.1.5 - Session Layer
- •9.1.1.6 - Presentation Layer
- •9.1.1.7 - Application Layer
- •9.2 OPEN SYSTEMS
- •9.3 NETWORKING HARDWARE
- •10. MANUFACTURING AUTOMATION PROTOCOL (MAP)
- •10.1 OVERVIEW
- •10.2 DETAILS
- •10.2.1 Physical Alternatives (Layer 1 OSI Model),
- •10.2.2 Data Link Layer (Layer 2 OSI Model),
- •10.2.3 Application Layer:
- •10.3 DETAILS FOR TOP
- •10.3.1 Application Layer:
- •10.5 MAP AND OTHER STANDARDS
- •10.6 AN EXAMPLE OF A MAP IMPLEMENTATION
- •10.7 ETHERNET
- •10.7.1 Internet
- •10.7.2 SLIP/PPP
- •10.8 DATA HIGHWAY+
- •10.9 REMOTE PLC I/O
- •10.10 DEVICENET
- •10.11 OTHER STUFF
- •10.12 Network Facts
- •11. DATABASE TECHNOLOGY
- •11.1 DISTRIBUTED DATABASE SYSTEMS
- •11.1.1 Relational database systems
- •11.1.2 Issues for distributed database systems
- •11.1.2.1 - Query processing
- •11.1.2.2 - Concurrency control
page 21
We need to select a digital to analog converter for an application. The output will vary from -5V to 10V DC, and we need to be able to specify the voltage to within 50mV. What resolution will be required? How many bits will this D/A converter need?
What will the accuracy be?
4.3 TIMING
•Timing is significant in computer controlled processes. If we think of a simple example, a fixed sample period means that the computer program must arrange to read the analog value at a consistent time.
•Various schemes for timing include,
-interrupts - fairly efficient, but requires some timing hardware inside
•by computer clock - a regular interrupt for the operating system
•programmable timer - a timer that is told to call an interrupt after some time
•by external trigger - asynchronous timing, potentially unstable
•by external clock - an external synchronous clock
-delay loops - consumes a large number of clock cycles
•wait for clock value - reasonable time, but prone to software problems
•count cycles - quite stable, but the computer cannot do anything else
-whenever possible - this ‘non-real-time’ approach can become unstable
-hardware
page 22
•trigger and scan - a special input board can be set to read one or more values when timing or triggering conditions met
•Values are simply read from/written to locations in memory for both analog and digital values. When the process takes more than a single CPU cycle there will be a flag set to indicate when the operation is done. One example is reading analog values. This process may take hundreds of CPU cycles. We have three options,
1.continually check the ‘done’ flag/bit in memory
2.have the A/D converter trigger an interrupt when done
3.have the program perform other tasks for a period of time longer than the longest scan time.
•There are three fundamental properties of interrupts used for timing,
Hardware/Software
Hardware - These are actual pins on the outside of the CPU. When a change occurs the CPU will save its current status, and go to a subroutine. When done the system status is restored, and the computer programs resumes where it was interrupted. The number of hardware interrupts is often severely limited, but extra hardware can be added to expand the hardware interrupts. A computer keyboard and mouse typically use hardware interrupts.
Software - These are similar to hardware interrupts, except they are started by a call in software. These are plentiful, and used in all aspects of modern operating systems. MS-Dos makes extensive use of these software interrupts.
Disabling
Maskable - These interrupts can be turned off by software. When running a critical process we may not want an interrupt to occur (and stop our program temporarily).
Non-Maskable - these interrupts cannot be disabled and will always cause the processor to stop.
Priority
We can set priorities for interrupts. If multiple interrupts occur at the same time the highest priority interrupt will be executed first. This allows critical processes to be addressed first.