Chapter-7
COMPUTERIZED NUMERICAL CONTROLLED (CNC) MACHINES Devel Developm opment ent of comp comput uter eriz ized ed numer numeric ical al contr control olle led d (CNC (CNC)) machi machine ness is an outs outsta tand ndin ing g contrib contributi ution on to the manufa manufactu cturin ring g indust industrie ries. s. It has made made possib possible le the automa automati tion on of the machin machining ing proces processs with with flexib flexibili ility ty to handle handle small small to medium medium batch batch of quantit quantities ies in part part production. Initially, the CNC technology was applied on basic metal cutting machine like lathes, milling machin machines, es, etc. etc. Later, Later, to increa increase se the flexibil flexibility ity of the machines machines in handli handling ng a variet variety y of components and to finish them in a single setup on the same machine, CNC machines capable of perfor performin ming g multi multiple ple operati operations ons were were develop developed. ed. To start start with, with, this this concep conceptt was applie applied d to develop a CNC machining centre for machining prismatic components combining operations like milling, drilling, boring and taping. Further, the concept of multi-operations was also extended for machining cylindrical components, which led to the development of turning centers. ADVANTAGES OF CNC MACHINES
Higher flexibility Increased productivity Consistent quality Reduced scrap rate Reliable operation Reduced non productive time Reduced manpower Shorter cycle time High accuracy Reduced lead time Just in time (JIT) manufacture Automatic material handling Lesser floor space Increased operation safety Machining of advanced material
26
Chap Chapte terr-8
CNC SYSTEMS INTRODUCTION Numerical control (NC) is a method employed for controlling the motions of a machine tool slide and its auxiliary functions with input in the form of numerical data. A computer numerical control (CNC) is a microprocessor-based system to store and process the data for the control of slide motions and auxiliary functions of the machine tools. The CNC system is the heart and brain of a CNC machine which enables the operation of various machine members such as slides, spindles, etc. as per the sequence programmed into it, depending on the machining operations. The main advantage of a CNC system lies in the fact that the skills of the operator hitherto required in the operation of a conventional machine is removed and the part production is made automatic. The CNC systems are constructed with a NC un it integrated with a programmable logic controller (PLC) and some times with an additional external PLC (non-integrated). The NC controls the spindle movement and the speeds and feeds in machining. It calculates the traversing path of the axes as a s defined by the inputs. The PLC controls co ntrols the peripheral actuating elements of the machine such as solenoids, relay coils, etc. Working together, the NC and PLC enable the machine tool to operate automatically. Positioning and part accuracy depend on the CNC system's computer control algorithms, the system resolution and the basic mechanical machine accuracy. Control algorithm may cause errors while computing, which will reflect during contouring, but they are very negligible. Though this does not cause point to point positioning error, but when mechanical machine inaccuracies are present, it will result in poorer part accuracy. This chapter gives an overview of the configuration of the CNC system, interfacing and introduction to PLC programming.
27
CONFIGURATION OF THE CNC SYSTEM Fig.1 shows a schematic schematic diagram diagram of the working principle principle of a NC axis of a CNC machine machine and the interface of a CNC control. Spindle Head
CNC system PL C
Servo Drive
Servo Motor Encoder
NC
Command value
Tacho Generator
Velocity Feedback
Lead Screw
Table
Position Feedback
Tape Reader Tape Punch Other Devices •
Inputs
•
Machine Elements
Outputs
• • •
Proximity switches Limit switches Relay coils Pressure switches Float switches
Fig.1 Schematic diagram of a CNC machine tool
A CNC system basically consists of the following:
Work piece
Central processing unit (CPU) Servo-control unit Operator control panel Machine control panel Other peripheral device Programmable logic controller (PLC)
Fig.2 gives the typical numerical control configuration of Hinumerik 3100 CNC system
28
Central Processing Unit (CPU)
The CPU is the heart and brain of a CNC system. It accepts the information stored in the memory as part program. This data is decoded and transformed into specific position control and velocity control signals. It also oversees the movement of the control axis or spindle whenever this does not match the programmed values, a corrective action is taken. All the compensations required for machine accuracy (like lead screw pitch error, tool wear out, backla backlash, sh, etc.) etc.) are calcul calculate ated d by the CPU dependi depending ng upon the corres correspond ponding ing inputs inputs made made available available to the system. system. The same will be taken care of during during the generation generation of control signals for the axis movement. Also, some safety checks are built into the system through this unit and the CPU unit will provide continuous necessary corrective actions. Whenever the situation goes beyond control of the CPU, it takes the final action of shutting down the system in turn the machine.
Speed Control Unit
This unit acts in unison with the CPU for the movement of the machine axes. The CPU sends the control signals generated for the movement of the axis to the servo control unit and the servo control unit convert these signals into the suitable digital or analog signal to be fed to the machine tool axis movement. This also checks whether machine tool axis movement is at the
29
same speed as directed by the CPU. In case any safety conditions related to the axis are overruled during movement or otherwise they are reported to the CPU for corrective action.
Servo-Control Unit
The decode decoded d positi position on and veloci velocity ty contro controll signal signals, s, generat generated ed by the CPU for the axis axis movement forms the input to the servo-control unit. This unit in turn generates suitable signals as command values. The servo-drive unit converts the command values, which are interfaced with the axis and the spindle motors (Fig.1). The servo-control unit receives the position feedback signals for actual movement of the machine tool axes from the feedback devices (like linear scales, rotary encoders, resolves, etc.). The velocity feedback is generally obtained through tacho generators. The feedback signals are passed on to the CPU for further processing. Thus the servo-control unit performs the data communication between the machine tool and the CPU. As explained earlier, the actual movements of the slides on the machine tool is achieved through through servo drives. drives. The amount of movement and the rate of movement are controlled by the CNC system depending upon the type of feedback system used, i.e. closed-loop or open-loop system (Fig.3). Closed-loop System The closed-loop system is characterized by the presence of feedback. In this system, the CNC system send out commands for movement and the result is continuously monitored by the system through various feedback devices. There are generally two types of feedback to a CNC system -- position feedback and velocity feedback. Operational Panel
30
SINUMERIK
SIEMENS
SYSTEM 3
LSMLogic Sub module
LSM2 LSM1
Emergency Stop
X+ Z-
Z+ Machine Control Panel
XPOWER ON
Cycle
Machine Control Panel Expansion
Power Supply
PLC 2, external NC
PLC1 Logic Unit
31 Tape Puncher
Tape Reader
Fig.2 Typical numerical control configuration of Hinumerik 3100 CNC system
Position Feedback
A closed-loop system, regardless of the type of feedback device, will constantly try to achieve and maintain a given position by self-correcting. As the slide of the machine tool moves, its movement is fed back to the CNC system for determining the position of the slide to decide how much is yet to be traveled and also to decide whether the movement is as per the commanded rate. If the actual rate is not as per the required rate, the system tries to correct it. In case this is not possib possible, le, the system system declare declaress fault fault and initia initiates tes action action for disabling disabling the drives and if necessary, switches off the machine.
Table Command Counter Subtraction Circuit
Comparison Circuit Stop at Zero
Position Control
Tape reader
Amplifier
Servo Motor
Lead Screw
Controller
Open-loop positioning control
Error Signal
Active Buffer Storage
Table
Transducer Count Comparator Amplifier
Servo Motor
Lead Screw
Tape reader Position feedback signal
Close-loop positioning control
32
Fig.3 Open-and Closed-loop positioning system
Velocity feedback
In case no time constraint is put on the system to reach the final programmed position, then the system may not produce the required path or the surface finish accuracy. Hence, velocity velocity feedback must be present along with the position position feedback whenever CNC system system are used for contouring, in order to produce correct interpolation and also specified acceleration and deceleration velocities. The tacho generator used for velocity feedback is normally connected to the motor and it rotates whenever the motor rotates, thus giving an analog output proportional to the speed of motor. The analog voltage is taken as speed feedback by the servo-controller and swift action is taken by the controller to maintain the speed of the motor within the required limits. Open-loop system
The open loop system lacks feedback. In this system, the CNC system send out signals for movement but does not check whether actual movement is taking place or not. Stepper motors are used for actual movement and the electronics of these stepper motors is run on digital puls pulses es from from the the CNC CNC syst system em.. Sinc Sincee syst system em contr control olle lers rs have have no acce access ss to any any real real time time information about the system performance, they cannot counteract disturbances appearing during the operation. They can be utilized in point to point system, where loading torque on the axial motor is low and almost constant. Servo-drives
As shown in Fig.1 the servo-drive receives signals from the CNC system and transforms it into actual movement on the machine. The actual rate of movement and direction depend upon the command signal from CNC system. There are various types of servo-drives, viz., dc drives, ac drives and stepper motor drives. A servo-drive consists of two parts, namely, the motor and the electronics for driving the motor.
33
Operator Control Panel
Fig.4 shows shows a typic typical al Hinume Hinumerik rik 3100 3100 CNC syste system's m's operat operator or contro controll panel. panel. The operato operator r control panel provides the user interface to facilitate a two-way communication between the user, CNC system and the machine tool. This consists of two parts: • •
Video Display Unit (VDU) Keyboard
Video Display Unit (VDU)
The VDU displays the status of the various parameters of the CNC system and the machine tool. It displays all current information such as: Complete information of the block currently being executed • Actual position value, set or actual difference, current feed rate, spindle speed • Active G functions • Main program number, subroutine number • Display of all entered data, user programs, user data, machine data, etc. • Alarm messages in plain text • Soft key designations • In addition to a CRT, a few LEDs are generally provided to indicate important operating modes and status. Video display units may be of two types: 1. Monochr Monochrome ome or or black black and and white white displ displays ays 2. Colo Colorr dis display playss
34
Operator's and machine panel SINUMERIK
SIEMENS
SYSTEM 3
Emergency Stop
X+ Z-
Z+ X-
POWER ON
Cycle
Address Keys/Numerical keyboard
Control elements and indicators of the operator's panel
Program in progress Feed hold Position not yet reached (Machine in motion) Alarm CRT
Basic display Tool compensation Zero offset Test Part program
LED-indicator For assignment Of keys
Reset changeover Assignment of keys Cancel word Alter word
Change to actual value display
Enter word Change over to customer display
Change of display Leaf forwards
Operator guidance Yes, No
Leaf backwards 35 Right-Left Cursor
Delete input Start
Fig.4 Operator control panel of Hinumerik 3100 system
Keyboard
A keyboard is provided for the following purposes: • • • • • •
Editing of part programs, tool data, and machine parameters. Selection of different pages for viewing. Selection of operating modes, e.g. manual data input. Selection of feed rate override and spindles speed override. Execution of part programs. Execution of other toll functions.
Machine Control Panel (MCP)
It is the direct interface between operator and the NC system, enabling the operation of the machine through the CNC system. Fig.5 shows the MCP of Hinumerik 3100 system. During program execution, execution, the CNC controls the axis motion, spindle function or tool function on a machine tool, depending upon the part program stored in the memory. Prior to the starting of the machine process, machine should first be prepared with some specific tasks like, Establishing a correct reference point • Loading the system memory with the required part program • Loading and checking of tool offsets, zero offsets, etc. • For these tasks, the system must be operated in specific operating mode so that these preparatory functions can be established. Modes of operation
Generally, the CNC system can be operated in the following modes: • • • • • •
Manual mode Manual data input (MDI) mode Automatic mode Reference mode Input mode Output mode, etc.
36
Control elements of the machine control panel Rapid traverse activate Mode selector Switch
Spindle speed override
Feedrate/rapid Feedrate/rapid traverse override
Emergency Stop
Direction keys
Spindle OFF ON
X+ Z-
Z+
Feed Hold/Start
X-
Cycle start
POWER ON
NC ON
Key operated switch for input inhibit
Cycle
Single Block Dry Run block Delete Block search
Rapid Traverse Override active
Manual encoder active in X-and Z-axis resp.
Fig.5 Machine control panel of Hinumerik 3100 Manual mode: mode:
In this this mode, mode, movem movement ent of a mach machin inee slid slidee can can carr carrie ied d out out manua manuall lly y by pres pressi sing ng the the particular jog button (+ or -). The slide (axis) is selected through an axis selector switch or through individual switches (e.g., X+, X-, Y+, Y-, Z+, Z-, etc.). The feed rate of the slide movement is prefixed. CNC system allows the axis to be jogged at high feed rate also. The axis movement can also be achieved manually using a hand wheel interface instead of jog buttons. In this mode slides can be moved in two ways: • •
Continuous Incremental
Continuous mode : In This mode, the slide will move as long as the jog button is pressed. Incremental mode : Hence the slide will move through a fixed distance, which is selectable. Normally, system allows jogging of axes in 1, 10, 100, 1000, 10000, increments. Axis movement
37
is at a prefixed feed rate. It is initiated by pressing the proper jog+ or jog- key and will be limited to the no of increments selected even if the jog button is continuously pressed. For subsequent movement the jog button has to be released and once again pressed. Manual Data Input (MDI) Mode
In this mode the following operation can be performed: • • •
Building a new part program Editing or deleting of part program stored in the system memory Entering or editing or deleting of: ------ Tool offsets (TO) ------ Zero offsets (ZO) ------ Test data, etc.
Teach-in
Some system system allows direct manual input of a program block and execution of the same. The blocks blocks thus thus execute executed d can be checked checked for correc correctne tness ss of dimens dimension ionss and conseque consequentl ntly y transferred into the program memory as part program.
Playback
In setting up modes like jog or incremental, the axis can be traversed either through the direction keys or via the hand wheel, and the end position can be transferred into the system memory as command values. But the required feed rates, switching functions and other auxiliary functions have to be added to the part program in program editing mode. Thus, teach-in and playback operating method allows a program to created during the first component prove out. Automatic Mode (Auto and Single Block )
In this mode the system allows the execution of a part program continuously. The part program is executed block by block. While one block is being executed, the next block is read by the system, analyzed and kept ready for execution. Execution of the program can be one block after another automatically or the system will execute a block, stop the execution of the next block till it is initiated to do so (by pressing the start button). Selection of p art program execution continuously ( Auto Auto) or one block at a time ( Single Single Block ) is done through the machine control panel. Many systems allow blocks (single or multiple) to be retraced in the opposite direction. Block retrace is allowed only when a cycle stop state is established. Part program execution can resume and its execution begins with the retraced block. This is useful for tool inspection or in case of
38
tool breakage. Program start can be effected at any block in the program, through the BLOCK SEARCH facility. Reference Mode
Under this mode the machine can be referenced to its home position so that all the compens compensati ations ons (e.g., (e.g., pitch pitch error error compen compensat sation ion)) can be proper properly ly applied applied.. Part Part progra programs ms are generally prepared in absolute mode with respect to machine zero. Many CNC systems make it compulsory to reference the slides of the machine to their home positions before a program is executed while others make it optional. Input Mode and Output Mode (I/O Mode )
In this mode, the part programs, machine setup data, tool offsets, etc. can be loaded/unloaded into/from the memory of the system from external devices like programming units, magnetic cassettes or floppy discs, etc. During data input, some systems check for simple errors (like parity, parity, tape format, format, block length, unknown characters, characters, program program already already present present in the memory, memory, etc.). Transfer of data is done through a RS232C or RS422C port.
Other Peripherals
These include sensor interface, provision for communication equipment, programming units, printer, tape reader/puncher interface, etc. Fig.6 gives an overview of the system with few peripheral d evices.
Programmable Logic Controller (PLC)
A PLC matches the NC to the machine. PLCs were basically introduced as replacement for hard wired relay control panels. They were developed to be reprogrammed without hardware changes when requirements were altered and thus are reusable. PLCs are now available with increased functions, more memory and large input/output capabilities. Fig.7 gives the generalized PLC block diagram. In the CPU, all the decisions are made relative to controlling a machine or a process. The CPU receives input data, performs logical decisions based upon stored programs and drives the outputs. Connections to a computer for hierarchical control are done via the CPU. The I/O structure of the PLCs is one of their major strengths. The inputs can be push buttons, limit switches, relay contacts, analog sensor, selector switches, proximity switches, float switches, etc. The outputs can be motor starters, solenoid valves, position valves, relay coils, indicator lights, LED displays, etc. The field devices are typically selected, supplied an d installed by the machine tool builder or o r the end user. The voltage level of the field devices thus normally no rmally determines the type of I/O. So, power to actuate these devices de vices must also be supplied external to the PLC. The PLC power supply is designated and rated only to operate the internal portions of the I/O structures, and n ot the field devices. A wide variety of voltages, current c urrent capacities and types of I/O modules are available.
39
Programming Units
Tape Reader
Tape Puncher
Printers
Fig.6 System with peripheral devices
Inputs Processor Programmer
Logic memory
Storage memory
Power Su l
Fig.7 Generalized PLC block diagram
40
Outputs Power Supply
Field Devices
INTERFACING
Interconnecting the individual elements of both the machine and the CNC system using cables and connectors is called interfacing. Extreme care should be taken during interfacing. Proper grounding in electrical installation is most essential. This reduces the effects of interference and guards against electronic shock to personnel. It is also essential to properly protect the electronic equipment. Cable Cable wires wires of suffi sufficie cientl ntly y large large crosscross-sec secti tional onal area area must must be used. used. Even Even though though proper proper grounding reduces the effect of electrical interference, signal cable requires additional protection. This is generally achieved by using shielded cables. All the cable shields must be grounded at control only, leaving other end free. Other noise reduction techniques include using suppression devices, proper cable separation, ferrous metal wire ways, etc. Electrical enclosures should be designed to provide proper ambient conditions for the controller. MONITORING
In addition to the care taken by the machine tool builder during design and interfacing, basic control also includes constantly active monitoring functions. This is in order to identify faults in the NC, the interface interface control and the machine at an large stage to prevent prevent damages occurring to the work piece, tool or machine. If a fault occurs, first the machining sequence is interrupted, the drives are stopped, the cause of the fault is stored and then displayed as an alarm. At the same time, the PLC is informed informed that an NC alarm exits. In Hinumerik Hinumerik CNC system, for example, the following can be monitored: • • • • • • • • • • • • • • • •
Read-in Format Measuring circuit cables Position encoders and drives Contour Spindle speed Enable signals Voltage Temperature Microprocessors Data transfer between operator control panel and logic unit Transfer between NC and PLC Change of status of buffer battery System program memory User program memory Serial interfaces
41
DIAGNOSTICS
The control will generally be provided with test assistance for service purposes in order to display some status on the CRT such as: Interface signals between NC and PLC as well as between PLC and machine Flags of the PLC • Timers of the PLC • Counters of the PLC • Input/output of the PLC • For the output signals, it is also possible to set and generate signal combinations for test purposes in order to observe how the machine react to a changed signal. This simplifies trouble shooting considerably. •
MACHINE DATA
Generally, a CNC system is designed as a general-purpose control unit, which has to be matched with the particular machine to which the system is interfaced. The CNC is interfaced to the machine by means of data, which is machine specific. The NC and PLC machine data can be entered and changed by means of external equipment or manually by the keyboard. These data are fixed and entered during commissioning of the machine and generally left unaltered during machine operations. Machine data entered is usually relevant to the axis travel limits, feed rates, rapid traverse speeds and spindle speeds, position control multiplication factor, Kv factor, acceleration, drift compensation, adjustment of reference point, backlash compensation, pitch error compensation, etc. Also the optional features of the control system are made available to the machine tool builder by enabling some of the bits of machine data. COMPENSATIONS FOR MACHINE ACCURACY
Machine accuracy is the accuracy of the movement of the carriage, and is influenced by: (a) (b) (c) (d) (e)
Geometric Geometric accuracy accuracy in the alignment alignment of the slide slide ways Deflection Deflection of the bed due due to load load Temperature Temperature gradient gradientss on the machine machine Accuracy of the screw thread thread of any drive screw and the the amount of backlash (lost motion) motion) Amount Amount of twist twist (wind up) of the shaft shaft which will influenc influencee the measurem measurement ent of rotary rotary transducers
The CNC systems offer compensation for the various machines' accuracy. These are detailed below:
42
Lead Screw Pitch Error Compensation
To compensate for movements of the machine slide due to in accuracy of the pitch along the length of the ball screw, pitch error compensation is required. To begin with, the pitch error curve for the entire length of the screw is built up by physical measurement with the aid of an external device (like laser). Then the required compensation at predetermined points is fed in to the system. Whenever a slide is moved, these compensation are automatically added up by the CNC system (Fig.8)
Pitch error (um) Positive end limit
To negative end limit
Reference oint
Fig.8 Typical error curve Backlash Compensation
Whenever a slide is reversed, there is some lost motion due to backlash between nut and the screw; compensation is provided by the CNC system for the motion lost due to reversal, i.e. extra movement is added into the actual movement whenever reversal takes place. This extra movement is equal to backlash between the screw and the nut. This has to be measured in advance and fed to the system. This value keeps on varying due to wear of the ball screws; hence the compensation value has to be updated regularly from time to time Positive backlash the usual case
Negative backlash Table
Table
Backlash Encoder
Toothed wheel Backlash here
M
M Encoder
Ball screw
Encoder actual value precedes the table movement
Actual movement of the table precedes the encoder measurement
43
Fig.9 Backlash compensation Sag Compensation
Inaccuracy due to sag in the slide can be compensated by the system. Compensations required along the length of the slide have to be physically measured and fed to the system. The system automatically adds up the compensation to the movement of the slide. Tool Nose Compensation
Tool nose compensation normally used on tool for turning centers. While machining chamfers, angles or turning curves, it is necessary to make allowance for the tool tip radius; this radius is known as radius compensation. compensation. As shown in Fig.10 (a), if the allowance is nit made, the edges of the tool tip radius would be positioned at the programmed X and Z coordinates, and the tool will follow the path AB and the taper produced will be incorrect. In order to obtain correct taper, tool position has to be adjusted. It is essential that the radius at the tip of the tool is fed to the system to make an automatic adjustment on the position and movement of the tool to get the correct taper on the work. In Fig.10 (b) the distance Xc is the adjustment necessary at the start of the cut and distance Zc is the adjustment at the end of the cut. Z0 X0
Z0
Tool Minimum radi radius us of ta ta er
X0
Datum Position
Datum Position
Xc
A Z -25,0
X 20,0 Z -15,0 Z0
Z -15,0
Zc
X 20,0
X 30,0
B
X 30,0
Fig.10 Tool nose radius compensation Cutter Diameter Compensation
44
The The diam diamet eter er of the the used used tool tool may may be diff differ erent ent from from the the actu actual al valu valuee becau because se of regrinding of the tool or due to non-availability of the assumed tool. It is possible to adjust the relative position of cutter size and this adjustment is known as cutter diameter compensation. Z0
ZR
ZR=Setting distance for reference tool X0 XR=Setting XR=Setting distance for reference tool
Reference tool Tool no.1
ZR
XR Tool no.2 X offset for tool no.2
Z offset for tool no.2
Fig.11 Tool offsets
Tool Offset
A part program is generated keeping in mind a tool of a particular length, shape and thickness as a reference tool. But during the actual mounting of tools on the machine, different tools of varying lengths, thickness and shapes may be available. A correction for dimension of the tools and movements of the work piece has to be incorporated to give the exact machining of the component. This is known as tool offset. This is the difference in the po sitions of the centre line of the tool holder for different tools and the reference tool. When a number nu mber of tools are used, it is necessary to determine the tool offset of each tool and store it in the memory of the control unit. Fig.11 explains the function of the tool offset.
45
Normally, it is found that the size of the work piece (diameter or length) is not within tolerance due to wear of the tool; it is the possible to edit the value of offsets to obtain the correct size. This is known as tool wear compensation
46
Chapter-4
PLC PROGRAMMING The principle of operation of a PLC is determined essentially by the PLC program memory, processor, inputs and outputs. The program that determines PLC operation is stored in the internal PLC program memory. The PLC operates cyclically, i.e. when a complete program has been scanned; it starts again at the beginning of the program. At the beginning of each cycle, the processor examines the signal status at all inputs as well as the external timers and counters and are stored in a process image input (PII). During subsequent program scanning, the processor the accesses this process image. To exec execut utee the the prog progra ram, m, the the proc proces esso sorr fetc fetches hes one stat statem emen entt afte afterr anot another her from from the the programming memory and executes it. The results are constantly stored in the process image output (PIO) during the cycle. At the end of a scanning cycle, i.e. program completion, the processor transfers the contents of the process image output to the output modules and to the external timers and counters. The processor then begins a new program scan. STEP STEP 5 prog progra ramm mmin ing g lang langua uage ge is used used for for writ writin ing g user user progr program amss for for SIMA SIMATI TIC C S5 programmable controllers. The program can be written and entered into the programmable controller as in:
Statement list (STL), Fig.12 (a) Control system flowchart (CSF), Fig.12 (b) Ladder diagram (LAD), Fig.12 (c) I 2.3 Statement list STL
Operation
A A O =
I I I
2.3 4.1 3.2 1.6
A
I
2.3
A
I I
2.3 2 .3
I 4.1
(a)
(b) Control system flow
A N D
I 3 .2
chart CSF
O R
Q 1 .6
(c) Ladder diagram LAD Statement
I 2.3
Operand Parameter Operand identifier
Fig.12 Programmable controller
47
I 3.2
I 4.1
The statement The statement list describes list describes the automation task by means of mnemonic function designations. The control system flowchart is a graphic representation of the automation task. The ladder diagram uses relay ladder logic symbols to represent the automation task. The statement is the smallest STEP 5 program component. It consists of the following: Operation, i.e. what is to be done? E .g .
A = AND operation (series connection) O= OR operation (parallel connection) S= SET operation (actuation)
Operand, i.e. what is to be done with? E .g .
I 4.5, i.e. with the signal of input 4.5
The operand consists of:
Operand identifier (I = input, Q = output, F = flag, etc.) Parameter, i.e. the number of operand identifiers addressed by the statement. For inputs, outputs and flags (internal relay equivalents), the parameter consists of the byte and bit addresses, and for timers and counter, byte ad dress only. The statement may include absolute operands, e.g. I 5.1, or symbolic operand, e.g. I LS1. Programming is considerably simplified in the later case as the actual plant designation is directly used to describe the device connected to the input or output. Typically, a statement takes up one word (two bytes) in the program memory.
48
Chapter-85
STRUCTURED PROGRAMMING The user program can be made more manageable and straightforward if it is broken down into into relati relative ve secti sections. ons. Variou Variouss softwa software re block block types types are availa available ble for constru constructi cting ng the user user program. Program blocks (PB ) contain the user program broken down into technologically or functionally related sections (e.g. program block for transportation, monitoring, etc.). Further blocks, such as program blocks or function blocks can be called from a PB. Organization blocks (OB) contain block calls determinin determining g the sequence in which the PBs are to (OB) contain be processed. It is therefore possible to call PBs conditionally (depending on certain conditions). In addition, special OBs can be programmed by the user to react to interruptions during cyclic programmi programming ng processing. processing. Such an interrupt interrupt can be triggered by a monitoring monitoring function if one or several monitored events occur. (FB)) is block with programs for recurrent and usually complex function. In Function block (FB addition to the basic operations, the user has a extended operation at his disposal for developing function blocks. The program in a function block is usually not written with absolute operands (e.g. I 1.5) but with symbolic operands. This enables a function block to be used several times over with different absolute operands. For even more complex functions, standard function blocks are available from a program library. Such FBs are available, e.g. for individual controls, sequence controls, messages, arithmetic operations, two step control loops, operator communications, listing, etc. These standard FBs for complex functions can be linked it the user program just like user written FBs simply by means of a call along with the relevant parameters. (SB)) contain the step enabling conditions, monitoring times and conditions The Sequence block (SB for the curren currentt step step in sequenc sequencee cascad cascade. e. Sequen Sequence ce blocks blocks are employ employed, ed, for example, example, to organize the sequence cascade in communication with a standard FB. (DB) contain all fixed or variable data of the user program. The data blocks (DB) CYCLIC PROGRAM PROCESSING The blocks of the user program are executed in the sequence in which they specified in the organisation block. INTERRUPT DRIVEN PROGRAM PROCESSING
When certain input signal changes occur, cyclic processing is interrupted at the next block boundary and an OB assigned to this event is started. The user can formulate his response program to this interrupt in the OB. The cyclic program execution is the resumed from the point at which it was interrupted. TIME CONTROLLED PROGRAM EXECUTION
Certain Obs are executed at the predetermined time intervals (e.g. every 100ms, 200ms, 500ms, 1s, 2s, and 5s). For this purpose, cyclic program execution is interrupted at the block boundary
49
and resumed again at this point, once the relevant OB has been executed. Fig.13 gives the organisation and execution of a structured user program. Structured programming
OB1
PB1
FB2
PB2
FB3
Program block (PB)
Organisation block (OB)
Function block (PB)
Cycle execution OB
PB
FB
PB
FB
Interrupt-driven execution PB
OB
Points at which interrupt-driven program can be inserted Start and finish of interrupt-driven program execution
50
FB
Fig.13 Organisation and execution of a structured user program
EXAMPLES OF PLC PROGRAM
Before attempting to write a PLC program, first go through the instruction set of the particular language used for the equipment, and understand the meaning of each instruction. Then study how to use these instructions in the program (through illustration examples given in the manual). Once the familiarization task is over, then start writing the p rogram. Follow the following steps to write a PLC program.
List down each individual element (field device) on the machine as Input/Output. Indicate against each element the respective address as identifier during electrical interfacing of these elements with the PLC. Break down the complete machine auxiliary functions that are controlled by the PLC into individual, self contained functions. Identify each individual function as separate block (PBxx/FBxx) Once the PBs and FBs for each function are identified, take them one by one for writing the program. List down the preconditions required for the p articular function separately. Note down the address of the listed elements. Write down the flow chart for the function. Translate the flow chart into PLC program using the instructions already familiarized. Complete the program translation of all individual functions in similar lines. Check Check the individual individual blocks blocks indepen independen dently tly and correc correctt the progra program m to get the requir required ed results. Organize all the program blocks in the organization block depending upon the sequence in which they are supposed to be executed as per the main machine function flow chart. Check the complete program with all the blocks incorporated in the final p rogram.
Example 1: Spindle ON Preconditions Remark
Feedback elements Address
Fault indication
Address
Tool clamp Job clamp Door close Lubrication ON Drive ready
Pressure switch Proximity switch Limit switch PLC output bit Input signal from Drive unit
Lamp Lamp Lamp Lamp Lamp
Q 2 .1 Q 1 .7 Q 4. 0 Q 7 .7 Q 0 .4
I 2 .4 I 3 .2 I 5 .7 Q 1 .0 I 4 .6
51
PB 12 written is the individual function module for spindle ON for all the preconditions checked and found satisfactory. This function is required to be executed only when the spindle rotation is requested by the NC in the form of a block in the part program. Whenever NC decodes the part program block, it in turn informs the PLC through a fixed buffer location that spindle rotation is requested. Say Flag bit F 100.0 is identified for this informati information on communicati communication. on. With this data, spindle ON function function module can be recalled recalled in the organisation block OB1 as follows. OB 1 …… A F 100.0 JC PB12 …… …… BE Now, spindle ON function module PB12 will be executed only when F 100.0 is set. Otherwise the function execution will be bypassed.
52
FLOW CHART PB12 START Comments NO INDICATE FAULT
TOOL CLAMP
AN I 2.4 = Q 2.1
Tool not clamped Display fault lamp
AN I 3.2 = Q 1.7
Job not clamped Display fault lamp
AN I 5.7 = Q 4.0
Door not closed Display fault lamp
AN Q 1.0 = Q 7.7
Lubrication not on Display fault lamp
AN I 4.6 = Q 0.4
Drive not ready Display fault lamp
YES NO INDICATE FAULT
JOB CLAMP
YES NO INDICATE FAULT
DOOR CLOSED
YES
NO INDICATE FAULT
LUBRICATION ON YES NO
INDICATE FAULT
DRIVE READY
YES YES Exit
STOP SPINDLE
ANY FAULT
NO
53
ON I 2.4 Tool not clamped ON I 3.2 Job not clamped ON I 5.7 Door not closed ON Q 1.0 Lubrication not on ON I 4.6 Drive not ready R Q 67.3 Reset spindle enable bit BEC Block end conditionally A I 2.4 Tool clamped A I 3.2 Job clamped A I 5.7 Door closed A Q 1.0 Lubrication ON A I 4.6 Drive ready S Q 67.3 Set spindle enable bit BE Block end
DO SPINDLE ON
END
54