Sunteți pe pagina 1din 385

EMCO WinNC GE Series Fanuc 21 MB

Software description/ Software version from 13.76

GE Fanuc Series 21

RESET O N )
G P 7 8 9 ALTER
( E C

X Y Z Q 4 5 6 INSERT
U V W ?

HELP I , JA K@ R 1 2 3 DELETE

M S T L - .
# = * + 0

SHIFT F D ] H B SP / EOB CAN INPUT


[ &

OFFSET
POS PROG SETTING CUSTOM
PAGE

PAGE MMC
SYSTEM MESSAGE GRAPH
CNC

GE Fanuc Series 21

USB RS232

SKIP DRY -4 +Z + Y 1 60 70 80
RUN 10
40 90
OPT.
1x STOP -X +X 100
20 100
1000 10
EDIT 6 110
SBL -Y -Z +4 10000 2
0 120
100%

AUX AUX

0
0
1
1

Software description
EMCO WinNC Fanuc 21 MB
Ref.No. EN 1901 Edition C2003-7

EMCO Maier Ges.m.b.H.


P.O. Box 131

A-5400 Hallein-Taxach/Austria
Phone ++43-(0)62 45-891-0

Fax ++43-(0)62 45-869 65


Internet: www.emco.at

E-Mail: service@emco.co.at
EMCO WINNC GE SERIES FANUC 21MB P REFACE

Preface

The EMCO WinNC GE SERIES FANUC 21MB Milling Software is part of the
EMCO training concept on PC-basis.
This concept aims at learning the operation and programming of a certain
machine control on the PC.

The milling machines of the EMCO PC MILL und CONCEPT MILL series can
be directly controlled via PC by means of the EMCO WinNC for the EMCO MILL.
The operation is rendered very easy by the use of a digitizer or the control
keyboard with TFT flat panel display (optional accessory), and it is didactically
especially valuable since it remains very close to the original control.
This manual does not include the whole functionality of the control software GE
SERIES FANUC 21MB Milling, however emphasis was laid on the simple and
clear illustration of the most important functions so as to achieve a most
comprehensive learning success.

In case any questions or proposals for improving this manual should arise,
please contact us directly:

EMCO MAIER Gesellschaft m. b. H.


Department for technical documentation
A-5400 Hallein, Austria

All rights reserved, reproduction only by authorization of Messrs. EMCO MAIER


© EMCO MAIER Gesellschaft m.b.H., Hallein 2003

2
EMCO WINNC GE SERIES FANUC 21MB C ONTENTS

Contents
A: Key Description D: Programming
Control Keyboard, Digitizer Overlay ..................................... A1 Program Structure ............................................................. D1
Key Functions .................................................................... A1 Used Addresses ................................................................ D1
Data Input Keys ................................................................. A2 Survey of G Commands ................................................... D2
Function Keys .................................................................... A2 Survey of M Commands .................................................... D3
Machine Control Keys ........................................................ A4 Description of G Commands .............................................. D4
PC Keyboard ..................................................................... A6 G00 Positioning (Rapid Traverse) ...................................... D4
G01 Linear Interpolation ................................................... D4
G02 Circular Interpolation Clockwise .................................. D6
B: Basics G03 Circular Interpolation Counterclockwise ....................... D6
Reference Points of the EMCO Milling Machines ................. B1 G04 Dwell ......................................................................... D7
Zero offset ......................................................................... B2 G7.1 Cylindrical Interpolation ............................................. D8
Coordinate System............................................................. B2 G09 Exact Stop ............................................................... D10
Coordinate System with Absolute Programming ............. B2 G10 Data Setting ............................................................ D10
Coordinate System with Incremental Programming ........ B2 G15 End Polar Coordinate Interpolation ............................ D11
Input of the Zero Offset ....................................................... B3 G16 Begin Polar Coordinate Interpolation .......................... D11
Tool Data Measuring .......................................................... B4 G17-G19 Plane Selection ............................................... D12
Tool Data Measuring by Scraping ........................................ B5 G20 Measuring in Inches ................................................. D12
G21 Measuring in Millimeter ............................................ D12
G28 Approach Reference Point ........................................ D13
Cutter Radius Compensation ........................................... D14
C: Operating Sequences G40 Cancel Cutter Radius Compensation ........................ D14
Survey Operating Modes ................................................... C1 G41 Cutter Radius Compensation left .............................. D14
Approach the Reference Point ........................................... C2 G42 Cutter Radius Compensation right ............................ D14
Setting of Language and Workpiece Directory .................... C3 G43 Tool Length Compensation positive ........................... D16
Program Input ................................................................... C4 G44 Tool Length Compensation negative ......................... D16
Call Up a Program....................................................... C4 G49 Cancel Tool Length Compensation............................ D16
Input of a block ........................................................... C4 G50 Cancel Scale Factor, Mirror ...................................... D16
Search a Word ............................................................ C4 G51 Scale Factor, Mirror .................................................. D16
Insert a Word .............................................................. C4 Mirroring a Contour ......................................................... D17
Alter a Word ................................................................ C4 G52 Local Coordinate System ......................................... D18
Delete a Word ............................................................. C4 G53 Machine Coordinate System..................................... D18
Insert a Block .............................................................. C4 G54 - G59 Zero Offset 1 - 6 ............................................. D18
Delete a Block............................................................. C4 G63 Thread Cutting Mode On ......................................... D19
Data Input - Output ............................................................ C5 G64 Cutting mode ........................................................... D19
Adjusting the Serial Interface ....................................... C5 G61 Exact Stop Mode...................................................... D19
Delete a Program .............................................................. C5 G68 / G69 Coordinate System Rotation ............................ D20
Delete All Programs .......................................................... C5 Drilling Cycles G73 - G89 ................................................ D21
Program Output .......................................................... C6 G73 Chip Break Drilling Cycle .......................................... D22
Program Input ............................................................. C6 G74 Left Tapping Cycle ................................................... D22
Tool Offset Output ....................................................... C6 G76 Fine Drilling Cycle .................................................... D23
Tool Offset Input .......................................................... C6 G80 Cancel Drilling Cycles .............................................. D23
Print Programs ............................................................ C6 G81 Drilling Cycle ........................................................... D23
Program Run .................................................................... C7 G82 Drilling Cycle with Dwell ........................................... D24
Start of a Part Program ................................................ C7 G83 Withdrawal Drilling Cycle .......................................... D24
Displays while Program Run ........................................ C7 G84 Tapping Cycle .......................................................... D25
Block Search .............................................................. C7 G85 Reaming Cycle ........................................................ D26
Program Influence ....................................................... C7 G86 Drilling Cycle with Spindle Stop ................................. D26
Program interruption ................................................... C7 G87 Back Pocket Drilling Cycle ........................................ D27
Display of the Software Versions .................................. C7 G88 Drilling Cycle with Program Stop ............................... D27
Part Counter and Piece Time ............................................. C8 G89 Reaming Cycle with Dwell ........................................ D28
Graphic Simulation ............................................................ C9 G90 Absolute Programming ............................................. D28
G91 Incremental Programming ........................................ D28
G92 Coordinate System Setting ....................................... D28
G94 Feed per Minute ...................................................... D28
G95 Feed per Revolution................................................. D28
G97 Revolutions per Minute ............................................ D28
G98 Retraction to the Start Plane ..................................... D28
G99 Retraction to the Withdrawal Plane ........................... D28

3
EMCO WINNC GE SERIES FANUC 21MB C ONTENTS

Description of M Commands ............................................. D29 Starting Information


M00 Programmed Stop .................................................... D29
see attachment
M01 Programmed Stop, Conditional .................................. D29
M02 Main Program End .................................................... D29
M03 Milling Spindle ON Clockwise .................................... D29
M04 Milling Spindle ON Counterclockwise ......................... D29
M05 Milling Spindle OFF .................................................. D29
M06 Tool Change ............................................................. D29
M08 Coolant ON .............................................................. D29
M09 Coolant OFF ............................................................ D29
M27 Swivel Dividing Head ................................................ D29
M30 Main Program End .................................................... D29
M71 Puff blowing ON ....................................................... D29
M72 Puff blowing OFF ...................................................... D29
M98 Subprogram Call ...................................................... D30
M99 Subprogram End, Jump Instruction ............................ D30

G: Flexible NC programming
Variables and arithmetic parameters .................................. G1
Calculating with variables .................................................. G1
Control structures .............................................................. G2
Relational operators .......................................................... G2

H: Alarms and Messages


Input Device Alarms 3000 - 3999 ....................................... H2
Machine Alarms 6000 - 7999 ............................................. H3
Axis Controller Alarms 8000 - 9999 ................................... H11

I: Control Alarms
Control Alarms .................................................................... I1

4
EMCO WINNC GE SERIES FANUC 21MB KEY DESCRIPTION

A: Key Description
Control Keyboard, Digitizer Overlay

*()DQXF6HULHV

5(6(7 2 1 *( 3&    $/7(5

;8 < = 4
: "    ,16(57
9

+(/3 , 
- $ .# 5    '(/(7(

0 6 7 / 
 



) > ' @ +
6+,)7
% 63  (2% &$1 ,1387

2))6(7
3$*( 326 352* 6(77,1* &86720

3$*( 00&
6<67(0 0(66$*( *5$3+
&1&

*()DQXF6HULHV

86% 56

'5<  = <    
6.,3
581   

[
237

6723
; ;  
 
(',7 
6%/ 
< =   
 


$8; $8;






Key Functions

RESET ................. Cancel an alarm, reset the CNC CAN ...................... Delete input
(e.g. interrupt a program), etc. INPUT .................. Word input, data input
HELP .................... Helping menue POS ...................... Indicates the current position
CURSOR .............. Search function, line up/down PROG ................... Program functions
PAGE ................... Page up/down OFSET SETTING . Setting and display of offset
ALTER .................. Alter word (replace) values, tool and wear data, varia-
INSERT ................ Insert word, create new program bles
DELETE ............... Delete (program, block, word) SYSTEM ..............Setting and display of parameter
and display of diagnostic data
EOB ...................... End Of Block
MESSAGES ......... Alarm and message display
GRAPH ................ Graphic display

A1
EMCO WINNC GE SERIES FANUC 21MB KEY DESCRIPTION

Data Input Keys

2 1 * ( 3
&   

; < = 4"
8 9 :   

,  -$ .# 5   

0 6 7 /  
  

) Note for the Data Input Keys


6+,)7 > ' @ + % 63 
Each data input key runs several functions (numbers,
address character(s)). Repeated pressing of the key
switches to the next function automatically.
Data input keys

Function Keys
2))6(7
326 352* 6(77,1*

0(66$*( Note for Function Keys


6<67(0 *5$3+
With the PC keyboard the function keys can be
displayed as softkeys by pressing the key F12.
Function keys

A2
EMCO WINNC GE SERIES FANUC 21MB KEY DESCRIPTION

A3
EMCO WINNC GE SERIES FANUC 21MB KEY DESCRIPTION

Machine Control Keys


The machine control keys are in the lower block of the
control keyboard resp. the digitizer overlay.
Depending on the used machine and the used
accessories not all functions may be active.




; 4 


(',7
= = 

4 ;
  
 

 

 

 

Machine control keyboard

'5<  = <    
6.,3
581   

[
237

6723
; ; 
 
 
(',7  
6%/ < =   
 


$8; $8;






Machine control keyboard of the EMCO PC- Mill Serie

SKIP (skip blocks will not be executed)

DRY RUN (test run of programs)

OPT STOP (program stop at M01)

RESET

Single block machining

Program stop / program start

 = <

; ;
manual axis movement
< = 

Approaching the reference point in all axes

Feed stop / feed start

Spindle override lower / 100% / higher

A4
EMCO WINNC GE SERIES FANUC 21MB KEY DESCRIPTION

Spindel stop / spindle start; spindle start in JOG and INC1...INC10000 mode:

Clockwise: perss key short, Counterclockwise: press min. 1 sec.

Open / close door

Swivel dividing head

Open / close clamping device

Swivel tool turret

Coolant on/off

AUX OFF / AUX ON (auxiliary drives off / on)

  
 

 

 
 Vorschub- / Eilgangkorrekturschalter
 

  
 

 

 
 Feed / rapid feed override switch
 

EMERGENCY OFF (Unlock: pull out button)

 Key switch for special operations (siehe Maschinenbeschreibung)

Additional NC start key

Additional key clamping device

Consent key


No function


A5
PC Keyboard

O
R
QH

VWH
)

1
5

XP

XU

3(
6
NF
HV

5
)

-
7
2
XD

(
OR
QH

$
5
3

8
!

'

2
5

$
'

2
*
>

0
0

!
)


)
)
)

)

)
)
)
)
)

,


,
,
,





,














&
1

&
&
&

1



1
1

&
1
 "
X
    C
1
ƒ P 
       ‰ 
73 32 /

  

@
2 76 6
%

'5 6
5 8 ,.
<1 3

(/
(7
(
'
(
(
1
'

7
=

(
3

5
8
h

4
2
+Z

:
;


#



a
!
EMCO WINNC GE SERIES FANUC 21MB

-
/

$
6
b

'
+
.

*
-X

g
+X
=
=



)( //
5$


1&

<
;
-Z
;




9
%

&
 
7
7$6

!
5

1


0
 B
UJW

A6
UJW
WO
176
&32

6
*
OW WO

$
$$
U U*
6(
7(

  

UJW


WO

6
$
,








1
&
   

Some alarms will be acknowledged with the key ESC. * With F12 the function keys POS, PROG, The machine functions in
OFFSET SAETTING, SYSTEM, the numeric key block are
By pressing the key F1 the modes (MEM, EDIT, MDI,...) will be active only with active NUM
displayed in the softkey line. MESSAGES and GRAPH will be displayed
lock.
The assignement of the accessory functions is described int the chapter in the softkey line.
"Accessory Functions".

The meaning of the key combination ctrl 2 depends on the machine:


EMCO PC MILL 50/55: Puff blowing ON/OFF
EMCO PC MILL 100/125/155: coolant ON/OFF
KEY DESCRIPTION
EMCO WINNC GE SERIES FANUC 21MB BASICS

B: Basics

Reference Points of the EMCO


Milling Machines
M = Machine zero point
An unchangeable reference point established by the
machine manufacturer.
Proceeding from this point the entire machine is
measured.
At the same time "M" is the origin of the coordinate
system.

R = Reference point
A position in the machine working area which is
determined exactly by limit switches. The slide posi-
tions are reported to the control by the slides
1 approaching the "R".
Required after every power failure.

0
: 5 N = Tool mount reference point
Starting point for the measurement of the tools. "N"
lies at a suitable point on the tool holder system and
is established by the machine manufacturer.

W = Workpiece zero point


Starting point for the dimensions in the part program.
Can be freely established by the programmer and
moved as desired within the part program.
Reference points in the working area

B1
EMCO WINNC GE SERIES FANUC 21MB BASICS

Zero offset
With EMCO milling machines the machine zero point
"M" lies on the left front edge of the machine table.
This position is unsuitable as a starting point for
dimensioning. With the so-called zero offset the
coordinate system can be moved to a suitable point
in the working area of the machine.
In the Operating Area Parameter - Zero Offsets are
four adjustable zero offsets available.
0
: When you define a value in the offset register, this
value will be considered with call up in program (G54
- G57) and the coordinate zero point will be shifted
from the machine zero M to the workpiece zero W.
The workpiece zero point can be shifted within a
program in any number.
More informations see in the command description.

Zero offset from machine zero point M to workpiece


zero point W

Coordinate System
=
The X coordinate lies parallel to the front edge of the
Incremental machine table, the Y coordinate lies parallel to the
= side edge of the machine table, the Z coordinate is
< vertical to the machine table.
; Z coordinate values in minus direction describe
movements of the tool system towards the workpiece,
; values in plus direction away from the work piece.
<
Coordinate System with
Absolute Programming
= The origin of the coordinate systemlies in the machine
zero point "M" or after a zero offset in the work piece
zero point "W".
All target points are described from the origin of the
coordinate system by indication of the respective X,
<
Y and Z distances.
= ;
Coordinate System with
; Absolute Incremental Programming
<
The origin of the coordinate system lies at the tool
mount reference point "N" or at the tool tip after a tool
Absolute coordinates refer to a fixed point, incre- call-up.
mental coordinates to the tool position With incremental programming the actual pathes of
the tool (from point to point) are described.

B2
EMCO WINNC GE SERIES FANUC 21MB BASICS

:LQ1&*()DQXF6HULHV0 F (0&2 [
Input of the Zero Offset
2)

:25.&225',1$7(6 21

• Press the key


12'$7$ 12'$7$

; ;

(;7 < * <

= =
• Select the softkey W.SHFT

;

* <
;

* <
• The input pattern beside will be displayed
= =

• You can enter the following offsets:


!B
267 00 .... basic offset 02 ..... G55
-2*
  01 .... G54 03 ..... G56
>2))6(7@
)

>6(7,1*@
)

>:6+)7@
) )

>@
)

> 2357 @
The basic offset is always active, other offsets will
!
be added to.
Input pattern for zero offsets
3$*(
• By pressing the key you get the next display
page. Here you can enter the following offsets:
04 .... G57 06 ...... G59
05 .... G58

• Below X, Y, Z you can enter the distance from the


machine zero point to the workpiece zero
point (pos. sign).

• Go with the cursor to the desired offset with the

keys and .

• Enter the desired offset (e.g.: X+30.5) and press

the key

• Enter the desired offset values one by one.

B3
EMCO WINNC GE SERIES FANUC 21MB BASICS

Tool Data Measuring


Aim of the tool data measuring:
The CNC should use the tool tip resp. the tool centre
at the face end for positioning, not the tool mount
reference point.
1
Every tool which is used for machining has to be
measured. The distance "N" between tool tip and tool
mount reference point is to be measured.
=
To every of this distances a H-parameter in the offset
register (GEOMT) is related to (Tool 1 - H1).
The correction number can be any register number
Length correction
(max.32), but has to be considered with tool call in
program.

The length corrections can be measured half-


automatically, the cutter radius has to be inserted
manually as H-parameter.

Inserting the cutter radius is only necessary for using


cutter radius compensation with this tool.

For G17 (XY plane active):


5 5
Tool data measuring (GEOMETRIE) occurs for
Z absolute from point "N"
Cutter radius R
R radius of the cutter

For all other active planes always the vertical axis to


the plane is computed. In the following the normal
case G17 is described.

B4
EMCO WINNC GE SERIES FANUC 21MB BASICS

Tool Data Measuring by Scraping


Procedure
• Clamp a workpiece in the working area. The
measuring point has to be reachable with the tool
mount reference point and with all tools to be
measured.
The tool mount reference point of the EMCO PC
MILL 100/125/155 is on the reference tool
(clamp before).
• Select the JOG mode
• Place a thin sheet of paper between work piece
and milling spindle.
• Traverse with the tool mount reference point on
the workpiece (standing spindle)
Reduce feed to 1%
Traverse with the spindle (tool mount reference
point) down to the workpiece, so far that the paper
still can be moved.

• Press the key 326 and the softkey REL to show


the relative position at the screen.

• Press the key = : .- the Z display flashes

• Reset Z value with Z0 and softkey PRESET to 0


• Clamp the tool to be measured.
• Change to MDI mode
• Switch on the spindle (e.g. S1000 M3 NC-Start)
• Change to JOG mode.

• Press the key


• Clamp tool to be measured and scrap on the
workpiece
• Now the screen shows the length difference bet-
ween tool mount reference point and the tool tip (Z
value relative)
• Select the corresponding H- parameter

with the keys


• Key in the displayed Z value as H-parameter and

take it over with the ,1387 key.

• Clamp next tool and scrap onto the workpiece


surface etc.

B5
EMCO WINNC GE SERIES FANUC 21MB BASICS

B6
EMCO WINNC GE SERIES FANUC 21MB OPERATING SEQUENCES

C: Operating Sequences

Survey Operating Modes

REF JOG
In this operating mode the reference point will be With the JOG keys the slides can be traversed
approached. manually.
With reaching the reference point the actual position
display is set to the value of the reference point
coordinates. By that the control acknowledges the I1 ... I1000   
position of the slides in the working area.
In this operation mode the slides can be traversed for
With the following situations the reference point has the desired increment (1...1000 in µm/10-4 inch) by
to be approached:: means of the JOG keys
• After switching on the machine
• After mains interruption ; ; < < = =
• After alarm "Approach reference point" or "Ref.
point not reached"
The selected increment (1, 10, 100, ...) must be
• After collisions or if the slides stucked because of
larger than the machine resolution (lowest possible
overload
traverse movement), otherwise no movement occurs.

MEM
For working off a part program the control calls up REPOS
block after block and interprets them.
Repositioning, approach back to the contour in JOG
The interpretation considers all correction which are
mode.
called up by the program.
The so-handled blocks will be worked off one by one.
EDIT
In the EDIT mode you can enter part programs and
transmit data. Teach In

MDI Making programs in dialogue with the machine in


MDA mode.
In the MDI mode you can switch on the spindle and
swivel the tool holder.
The control works off the entered block and deletes
the intermediate store for new inputs..

C1
EMCO WINNC GE SERIES FANUC 21MB OPERATING SEQUENCES

Approach the Reference Point


By approaching the reference point the control will be
synchronized to the machine.

• Change into REF mode

• Press as first the direction keys = or = , then

; or ; and < or < to approach the


reference point in the respective direction.
5()
• With the key $// all axes will be approached
automatically in the correct sequence (PC
keyboard).

Danger of Collisions
Mind for obstacles in the working area (Clamping
devices, clamped work pieces, etc.)

After reaching the reference point its position will be


displayed as actual position. Now the machine is
synchronized to the control.

C2
EMCO WINNC GE SERIES FANUC 21MB OPERATING SEQUENCES

:LQ1&*()DQXF6HULHV0 F (0&2

2)
[
Setting of Language and
3$5$0(7(5 *(1(5$/
21 Workpiece Directory
*($5 

352*5$03$7+ 
• Press the key 6<67(0 .
/$1*8$*( '7

3$*(
• Press the key multiple, until the setting page
(PARAMETER GENERAL) will be displayed.

!B
267
Workpiece Directory
-2*
 

) ) ) ) ) In the workpiece directory the CNC programs created


>3$5$0@ >',$*1@ >30&@ >6<67(0@ > 2357 @
by the operator will be stored.
Parameter General The workpiece directory is a subdirectory of the
program directory which was determined with
installation.
Enter in the input field PROGRAM PATH the name of
the workpiece directory with the PC keyboard, max.
8 characters, no drives or pathes. Not existing
directories will be created.

Active Language
Selection from installed languages, the selected
language will be activated with restart of the
software.
Enter the language sign in the input field
LANGUAGE
• DT for German
• EN for English
• FR for French
• SP for Spanish

C3
EMCO WINNC GE SERIES FANUC 21MB OPERATING SEQUENCES

Program Input
Part programs and subprograms can be entered in
the EDIT mode.

Call Up a Program
• Change into EDIT mode

• Press the key


• With the softkey DIR the existing programs will be
displayed.
• Enter program number O...

• New program: Press the key


• Existing program: Press the softkey O SRH.

Input of a block
Example:
Block number (not necessary)

1. word

2. word


EOB - End of block (on PC keyboard also )

or

Note:
With the parameter SEQUENCE NO (PARAMETER
MANUELL) you can determine whether block
numbering should occur automatically (1 = yes, 0 =
no).

Search a Word Insert a Block


Enter the address of the word to be searched (e.g.: Move the cursor before the EOB sign ";" in that block
X) and press the softkey SRH . which should be before the inserted block and enter
the block to be inserted.
Insert a Word
Move the cursor before the word, that should be Delete a Block
before the inserted word, enter the new word (address Enter block number (if no block number exists: N0)

and value) and press the key . and press the key

Alter a Word
Move the cursor before the word that should be

altered, enter the word and press the key .

Delete a Word
Move the cursor before the word, that should be

deleted and press the key .

C4
EMCO WINNC GE SERIES FANUC 21MB OPERATING SEQUENCES

Delete a Program
EDIT mode
Enter the program number (e.g.: O22) and press the

key .

Delete All Programs


EDIT mode
Enter the program number O 0-9999 and press the

key .

:LQ1&*()DQXF6HULHV0 F (0&2 [
Data Input - Output
2)

3$5$0(7(5 0$18$/ 21


• Press the key 6<67(0 .
3$5$0(7(5:5,7(
 ',6$%/((1$%/(

79&+(&.  2))21


The screen shows (PARAMETER MANUAL).
381&+&2'(  (,$,62 • Below "I/O" you can enter a serial interface
,138781,7  00,1&+

,2&+$11(/
 &20$&',6&3357
(1 or 2) or a drive (A, B or C).
6(48(1&(12

7$3()2500$7
 2))21

 .1.219)
1 serial interface COM1
>@
6(48(1&(6723
 352*5$012 2 serial interface COM2
6(48(1&(6723
 6(48(1&(12 
A disk drive A
B disk drive B
!B
267 C hard disk drive C, workpiece directory
-2*
  (Established with installation or in
) ) ) ) )
(PARAMETER GENERAL)), or any path
>3$5$0@ >',$*1@ >30&@ >6<67(0@ > 2357 @
(adjustment with Win Config).
Selection of the input/output interface P Printer.

Adjusting the Serial Interface


:LQ1&*()DQXF6HULHV0 F (0&2 [
• Press the key 6<67(0 .
2)

3$5$0(7(5 56&,17(5)$&( 21

3$*(
• Press the key 3$*( , until (PARAMETER
,17(5)$&( &20&20'1&

%$8'5$7(

6723%,76


(((
RS232C INTERFACE) is displayed.
'$7$%,76  Settings:



Baudrate 110, 150, 300, 600, 1200, 2400,
&21752/3$5$0(7(5 
4800, 9600
Parity E, O, N
Stopbits 1, 2
!B
267
Datenbits 7, 8
-2*
  Data transmission from / to original control in ISO-
) ) ) ) ) Code only.
>3$5$0@ >',$*1@ >30&@ >6<67(0@ > 2357 @
Standard adjustment:
7 Datenbits, Parity even (=E), 1 Stopbit, 9600 boad
Adjusting the serial interface
Control parameter:
Bit 0: 1...Transmission will be cancelled with ETX
NOTE (End of Text) code
0...Transmission will be cancelled with RESET
When you use an interface expansion card (e.g. for Bit 7: 1...Overwrite part program without message
COM 3 and COM 4), take care that for every interface 0...Message, if a program already exists
a separate interrupt is used (e.g.: COM1 - IRQ4, ETX code: % (25H)
COM2 - IRQ3, COM3 - IRQ11, COM4 - IRQ10).

C5
EMCO WINNC GE SERIES FANUC 21MB OPERATING SEQUENCES

Program Output Tool Offset Output

• EDIT mode • EDIT mode


• Enter the receiver in (PARAMETER MANUAL) • Enter the receiver in (PARAMETER MANUAL)
below "I/O". below "I/O".
2))6(7
• Press the key 352* . • Press the key 6(77,1*

• Press the softkey OPRT. • Press the softkey OPRT.


• Press the key F11. • Press the key F11
• Press the soktkey PUNCH • Pres the soktkey PUNCH
• Enter the program number to be send (e.g. O22). • Press the softkey EXEC
• When you enter e.g. O5-15, all programs with the
numbers 5 to inclusive 15 will be printed.
When you enter the program numbers 0-9999 all Tool Offset Input
programs will be put out.
• Press softkey EXEC • EDIT mode
• Enter the receiver in (PARAMETER MANUAL)
Program Input below "I/O".
• EDIT mode 2))6(7
• Press the key 6(77,1* .
• Enter the receiver in (PARAMETER MANUAL)
below "I/O". • Press the softkey OPRT.
• Press the key F11
• Press the key 352* . • Press the softkey READ
• Press the softkey EXEC
• Press the softkey OPRT
• Press key F11.
• Press softkey READ
Print Programs
• With input from disk or hard disk you have to enter
a program number.
• The printer (standard printer in Windows) must be
Enter the program number when you want to read
connected and must be in ON LINE status.
in one program (e.g.: O22).
• EDIT mode
When you enter e.g. O5-15, all programs with the
• Enter P (Printer) as receiver in (PARAMETER
numbers 5 to inclusive 15 will be transmitted.
MANUAL) below "I/O".
When you enter O-9999 as program number, all
programs will be transmitted. • Press the key 352* .
• Press the softkey EXEC.
• Press the softkey OPRT.
• Press the key F11.
• Press the softkey PUNCH.
• Enter the program to be printed (e.g. O22) when
you want to print one program.
When you enter e.g. O5-15, all programs with the
numbers 5 to inclusive 15 will be printed.
When you enter the program number O-9999 all
programs will be printed.
• Press the softkey EXEC.

C6
EMCO WINNC GE SERIES FANUC 21MB OPERATING SEQUENCES

Program Run

Start of a Part Program Program Influence


Before starting a program the control and the machine DRY RUN
must be ready for running the program. DRY RUN is used for testing programs. The main
• Select the EDIT mode. spindle will not be switched on and all movements
occur in rapid feed.
• Press the key 352* If DRY RUN is active, DRY will be displayed in the first
• Enter the desired part program number (e.g.: line on the screen.
O79).
SKIP
• Press the key . With SKIP all program blocks which are marked with
• Change to MEM mode. a "/" (e.g.: /N0120 G00 X... ) will not be proceeded
and the program will be continued with the next block
• Press the key . without a "/" sign.
If SKIP is active, SKP will be displayed in the first line
on the screen.
Displays while Program Run
Program interruption
While program run different values can be shown.
Single block mode
• Press the softkey PRGRM (basic status). While After every program block the program will be stopped.
program run the actual program block will be
displayed. Continue the program with the key .
• Press the softkey CHECK . While program run the If the program block is aktivated SBL will be displayed
actual program block, the actual positions, active in the first line on the screen.
G and M commands and speed, feed and tool will
be displayed. M00
• Press the softkey CURRNT. While the program After M00 (programmed stop) in the program the
run the aktiv G commands will be displayed. program will be stopped. Continue the program with
• Press the key . The positions will be shown the key .
enlarged at the screen.
M01
If OPT. STOP is active, (display OPT in the first line
of the screen) M01 works like M00, otherwise M01
Block Search has no effect.
With this function you can start a program at any
block.
While block search the same calculations will be
proceeded as with normal program run but the slides
do not move.

• EDIT mode
• Select the program to be machined.
Display of the Software Versions
• Move the cursor with the keys and on
that block, with which machining should start. • Press the key
• Select softkey SYSTEM
• Change to MEM mode. The software version of the control system and the
eventually connected axcontroller, PLC, working
• Start the program with the key .
status,... will be displayed.

C7
EMCO WINNC GE SERIES FANUC 21MB OPERATING SEQUENCES

:LQ1&*()DQXF6HULHV0 F (0&2 [
Part Counter and Piece Time
2)

3$5$0(7(5 7,0(5 21


Below the position display the part counter and the
3$576727$/  piece time are displayed.
3$5765(48,5(' 

3$57&2817 

32:(521 +0 The part counter shows the number of program runs.
23(5$7,1*7,0(

&877,1*7,0(
Each M30 (or M02) increases the part counter for 1.
)5((385326( +06

&<&/(7,0(

'$7(
RUN TIME shows the complete running time of all
7,0( program runs.
!B
267

-2*   


CYCLE TIME shows the running time of the actual
) ) ) ) ) program and will be reset to 0 with every program
>3$5$0@ >',$*1@ >30&@ >6<67(0@ > %(75 @

start.

Display of part counter and piece time


Part Counter Reset
• Press softkey POS.
• Press softkey OPRT
• Select between PTSPRE (reset part counter to 0)
or RUNPRE (reset run time to 0).

Preset of the Part Counter


The part counter can be preset in (PARAMETER
TIMER).
Therefore move the curor on the desired value and
enter the new value.

PARTS TOTAL:
Each M30 increases this number by 1. Every pro-
gram run of every program will be counted (= number
of all program runs).

PARTS REQUIRED:
Preset part number. When this number is reached
the program will be stopped and message 7043
PIECE COUNT REACHED will be displayed.
After that the program can be started only after
resetting the part counter or increasing the preset
part number.

C8
EMCO WINNC GE SERIES FANUC 21MB O   S

Graphic Simulation
NC-programs can be simulated graphically.

:LQ1&*()DQXF6HULHV0 F (0&2 [
Press the key .
2)
*5$3+,&3$7+ 3$5$0(7(5 21 The screen shows the input pattern for graphic
$;,6 3  simulation.
;< ;=  <=  The simulation area is a rectangular window, which
$1*(/
527$7,21 $  is determined by the right upper and left lower edge.
7,/7,1* $ 
6&$/( .
0$;,0800,1,080 Inputs:
;  <  = 
,  -  . 
67$576(412 1  AXIS P
(1'6(412 1 
Enter the simulation plane here.
!B 267 0 XY plane
-2*
 
) ) ) ) ) 1 XZ plane
>3$5$0@ >(;(&@ >6&$/(@ >326@ >@ ! 2 YZ plane

Input pattern for graphic simulation MAXIMUM/MINIMUM


Enter here the right upper (X, Y, Z) and the left lower
(I, J, K) edge of the simulation areaein.

After pressing the key the softkey 3DVIEW will


be shown.
Win 3D View is an option and not included in the basic
version of the software.

With the softkey GRAPH you will get into the simulation
:LQ1&*()DQXF6HULHV0 F (0&2 [
window.
2)

*5$3+,.3$7+ (;(&87,21 21


With the key G. PRM you will go back to the input
;  pattern for graphic simulation.
< 
= 

1&
< 67$57

With the softkey the graphic simulation starts.


;

267
1&
6723
-2*
 
With the softkey the graphic simulation stops.
) ) ) ) )
>(;(&@ >67$57@ >6723@ >5(6(7@ >'(/(7(@ !

Simulation window
With the softkey 5(6(7 the graphic simulation
will be aborted.

Movements in rapid traverse will be displayed as


dashed lines, movements in working traverse will be
displayed as full lines.

C9
EMCO WINNC GE SERIES FANUC 21MB OPERATING SEQUENCES

C 10
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

D: Programming
 


 

 
 
 
 
 
  
 
! 
  
" 
 !   ! 


 #   


   
!  

 

 
  $
% & 
  
%  
% "
% '
%    
   (
) 
 
#
!  *

   
  

+  
,
 
-  
  
.     /


 (0++12*
,3,4   

,

,4

    
#,

)
5  
  
     6666
0  & 
  6766
&  !, 


8    /
 #
9  
 ,
   ! #
1   
  

:,;,<     

(:
!*
=    


EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING


 
G001 ....................... Positioning (Rapid Traverse) *URXS &RPPDQG )XQFWLRQ

G01 .............. Linear Interpolation * 'ZHOO

G02 .............. Circular Interpolation Clockwise * ([DFWVWRS

G03 .............. Circular Interpolation Counterclockwise * 'DWD6HWWLQJ

G04² ............. Dwell 


* 'DWD6HWWLQJ2II

G09² ............. Exact Stop * $SSURDFK5HIHUHQFH3RLQW

* /RFDO&RRUGLQDWH6\VWHP
G10 .............. Data Setting
* 0DFKLQH&RRUGLQDW6\VWHP
G11 .............. Data Setting Off
* &RRUGLQDWH6\WHP6HWWLQJ
G151 ....................... End Polar Coordinate Interpolation
* 3RVLWLRQLQJ 5DSLG7UDYHUVH
G16 .............. Begin Polar Coordinate Interpolation
* /LQHDU,QWHUSRODWLRQ
G171 ....................... Plane Selection XY 
* &LUFXODU,QWHUSRODWLRQ&ORFNZLVH
G18 .............. Plane Selection ZX
* &LUFXODU,QWHUSRODWLRQ&RXQWHUFORFNZLVH
G19 .............. Plane Selection YZ
* 3ODQH6HOHFWLRQ;<
G20 .............. Measuring in Inches  * 3ODQH6HOHFWLRQ=;
G21 .............. Measuring in Millimeter * 3ODQH6HOHFWLRQ<=
G28² ............. Approach Reference Point * $SVROXWH3URJUDPPLQJ

G401 ....................... Cancel Cutter Radius Compensation * ,QFUHPHQWDO3URJUDPPLQJ
G41 .............. Cutter Radius Compensation left * )HHGSHU0LQXWH

G42 .............. Cutter Radius Compensation right * )HHGSHU5HYROXWLRQ
G43 .............. Tool Length Compensation positive * 0HDVXULQJLQ,QFKHV

G44 .............. Tool Length Compensation negative * 0HDVXULQJLQ0LOOLPHWHU

G491 ....................... Cancel Tool Length Compensation * &DQFHO&XWWHU5DGLXV&RPSHQVDWLRQ

G501 ....................... Cancel Scale Factor  * &XWWHU5DGLXV&RPSHQVDWLRQOHIW

G51 .............. Scale Factor * &XWWHU5DGLXV&RPSHQVDWLRQ5LJKW

G52² ............. Local Coordinate System * 7RRO/HQJKW&RPSHQVDWLRQSRVLWLYH

G53² ............. Machine Coordinate System  * 7RROOHQJKW&RPSHQVDWLRQQHJDWLYH

G541 ....................... Zero Offset 1 * &DQFHO7RRO/HQJKW&RPSHQVDWLRQ

G55 .............. Zero Offset 2 * &KLS%UHDN'ULOOLQJ&\FOH

* /HIW7DSSLQJ&\FOH
G56 .............. Zero Offset 3
* )LQH'ULOOLQJ&\FOH
G57 .............. Zero Offset 4
* &DQFHO'ULOOLQJ&\FOHV
G58 .............. Zero Offset 5
* 'ULOOLQJ&\FOH
G59 .............. Zero Offset 6
* 'ULOOLQJ&\FOHZLWK'ZHOO
G61 .............. Exact Stop Mode
 * :LWKGUDZLQJ'ULOOLQJ&\FOH
G62 .............. Automatic Corner Override
* 7DSSLQJ&\FOH
G63 .............. Thread Cuting Mode On
* 5HDPLQJ&\FOH
G641 ....................... Cutting mode
* 'ULOOLQJ&\FOHZLWK6SLQGOH6WRS
G68 .............. Coordinate System Rotation ON * %DFN3RFNHW'ULOOLQJ&\FOH
G69 .............. Coordinate System Rotation OFF * 'ULOOLQJ&\FOHZLWK3URJUDP6WRS
G73 .............. Chip Break Drilling Cycle * 5HDPLQJ&\FOHZLWK'ZHOO
G74 .............. Left Tapping Cycle * 5HWUDFWLRQWR6WDUWLQJ3ODQH

G76 .............. Fine Drilling Cycle * 5HWUDFLRQWR:LWKGUDZDO3ODQH
G801 ....................... Cancel Drilling Cycles (G83 bis G85) * &DQFHO6FDOH)DFWRU

G81 .............. Drilling Cycle * 6FDOH)DFWRU

G82 .............. Drilling Cycle with Dwell  * 5HYROXWLRQVSHU0LQXWH

G83 .............. Withdrawal Drilling Cycle * =HUR2IIVHW

G84 .............. Tapping Cycle * =HUR2IIVHW

G85 .............. Reaming Cycle * =HUR2IIVHW



G86 .............. Drilling Cycle with Spindle Stop * =HUR2IIVHW

G87 .............. Back Pocket Drilling Cycle * =HUR2IIVHW

G88 .............. Drilling Cycle with Program Stop * =HUR2IIVHW

G89 .............. Reaming Cycle with Dwell * ([DFW6WRS0RGH

 * 7KUHDG&XWWLQJ0RGH21
G901 ....................... Absolute Programming
* &XWWLQJ0RGH
G91 .............. Incremental Programming
* &RRUGLQDWH6\VWHP5RWDWLRQ21
G92² ............. Coordinate System Setting 
* &RRUGLQDWH6\VWHP5RWDWLRQ2))
G941 ....................... Feed per Minute
* (QG3RODU&RRUGLQDWH,QWHUSRODWLRQ
G95 .............. Feed per Revolution 
* %HJLQ3RODU&RRUGLQDWH,QWHUSRODWLRQ
G971 ....................... Revolutions per Minute
G981 ....................... Retraction to Starting Plane (Drilling Cycles) 1
............................... 2 
>

G99 .............. Retraction to Withdrawal Plane
?  
>! !  


EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING


 
5  & 
1
5  & 
1,   

5  & 
2 
5@  5
1 0 ! 
57  5
1 0  ! 
51 .......... 5
1 0++
5  

5A  
0
561 .......... 
0++
5  B  /  

5  C   /  

56  0  1 1
5  9

 / 
5  
 / 
5@  & 
2 
5D  &! 0
5D1 .......... &! 0++
56A  1 


566  1 
2 
1
...............................  



@
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

   

   

-:;<

 

/

)  
 

  (
   ,

<  
! 
  *

 
% '  
  + !    ! 
-
% 
)    #

 
% / !  
 /



 
  
; -:7;
;  
< -:E@;E@


 
 


<  ! " # 





6

-:;<+


1
 /  
 



(
 
  


-67

; -:7;+
;
1  1
   
< 2  2   -67+

 
 
 
-:;E6

7
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

$ 

F# 


9




 
 ! !--
< /  

+
$
 
&
-G-:;G9
-G-:;

& 



   


G 
 /
 #+!  


5

:;
(-D*  
E F  /  !   






 
! 
"    
  
   
 
;    







  "    
 
 

 
 

!  
  

 
$
%   
/ 
      ! -G-
  ,
!   




      !)  ,
 
 ! 


%         -G- 
 
 
, 
 ,! 




EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

% 
#" # 
# &'

( 
#" # 

  # &'

-G-@:;<34+
= 
-G-@:;<9+

:,;,<  2  


(
 *
* ,3,4     
 


* ( 
   
      
*
 , 
:,3;,4<*
* * 9  9
 
(
H  ! I9,
J  ! E9*,
 

* *

 

,3,4
*
* ! 
/
  
! 
; <  
+


 
 
  
 
6
 /
 #
& 
/
,34
 
/
  -,-@
!
#/ 

( 
 /

5

0
-

 
     

) #*" # 

#  # !
) !    
 

 
) 

 /


   / 

)  !    
, 
/   !  
!
#


! 
=  

!  



,       
 (K*   ,
 

/
) !   
!
#,

 
     
  
  
 
 

/
)


; < % '  ) 
      !  -D (:;
f 
* #
%  
  
φ 
7L
%   

 
     
 L ! 
 
    ,
)
! 
/#
G
 )
  


EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

+ ' ##

-7: MN

-7& M N

 /  ! 


  
#:& 

   E
 
E
    ,
    ,)


% " 
& 
 

%  ! 

     !   
/   
 /   
>
% 
)O
%     (*

 
D-7: (!O*
6-7& (! O  O  *

D
EMCO WINNC GE SERIES FANUC 21MB ROGRAMMING

G7.1 Cylindrical Interpolation


Format:
4 N... G7.1 Q...
N... G7.1 Q0

G7.1 Q... Starts the cylinder interpolation.


The Q- value describes the radius of
the the blank part.
G7.1 Q0 End of cylinder interpolation

This function enables the development of a cylinder


surface in programming.
The tool tip position 0 must be programmed for all In this way e.g. programs for cyclindrical cam
tools that will be used for the cylindrical interpolation. machining on lathes can be created.
The traverse amount of the rotary axis Q programmed
by indication of the angle is converted in the control
into the distance of a fictitious linear axis along the
external surface of the cylinder.
Thus, it is possible that linear and circular
interpolations on this area can be carried out with
another axis.

With G19 the level is determined in which the rotary


axis Q is preset in parallel to the Y-axis.

Notes:
· The reference point of the cylinder must be entered · In a block between G7.1 Q.. and G7.1 Q0 an
incrementally, since otherwise it would be interrupted program cannot be restarted.
approached by the tool!
· The arc radius with circular interpolation (G2 or G3)
· In the offset data cutter position 0 must be allocated must be programmed via an R-command and must
to the tool. However, the miller radius must be not be programmed in degree and/or via K and J-
entered. coordinates.
· In mode G7.1 the coordinate system must not be · In the geometry program between G7.1 Q.. and
changed. G7.1 Q0 no rapid motion (G0) and/or positioning
procedures causing rapid motion movements (G28)
· G7.1 Q.. and/or G13.1 Q0 must be programmed in
or drilling cycles (G83 to G89) must be programmed.
the mode "cutter radius compensation off" (G40)
and cannot be started or terminated within "cutter · The feed entered in the mode cylindric interpolation
radius compensation on" (G41 or G42). is to be considered as traverse speed on the
unrolled cylinder area.
· G7.1 Q.. and G7.1 Q0 must be programmed in
separate blocks.

D8
EMCO WINNC GE SERIES FANUC 21MB ROGRAMMING

Example - Cylindrical Interpolation


;
X axis with diametrical programming and Q axis with
4 angular programming.

O0002 (Cylindrical Interpol.)


N15 T0505
N25 M13 Sense of rotation for driven tools


(be equivalent to M3)


N30 G97 S2000
N32 M52 Positioning of the spindle
N35 G7.1 Q19.1 Start of the interpolation /
¡[π 

5 blank part radius


N37 G94 F200
N40 G0 X45 Z-5
N45 G1 X35 Q0 Z-5
N50 G1 Z-15 Q22.5
N55 Z-5 Q45
N60 Z-15 Q67.5
N65 Z-5 Q90
ƒ

N70 Z-15 Q112.5


N75 Z-5 Q135
N80 Z-15 Q157.5
N85 Z-5 Q180
4 N90 Z-15 Q202.5
N95 Z-5 Q225
= N100 Z-15 Q247.5
N105 Z-5 Q270
N110 Z-15 Q292.5
Milled with end mill cutter ø5mm N115 Z-5 Q315
N120 Z-15 Q337.5
N125 Z-5 Q360
N130 X45
N135 G7.1 Q0 End of interpolation
N140 M53 End of roundaxis
operation
N145 G0 X80 Z100 M15
N150 M30

D9
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

. /*  

-6
' !  ,!  


 !  
 
 
    ! 
2)
1
 / 2)
1 
 / -6  / ! 

    

-
!/!  

,
 


,!  


-   #    
  !  
> 

  


-B&&=

O 2)
!  > 
OE 
!  > 
  
#
E
& "  > 
/

) 
' 
& 

#
)(:,:,<*

!   


-B&9=
$F#
  
   #! E
 
# 
! B 
 &    
 
B 9   
  /
  


E5(-6*
'    
 /
  
 (-6* 
  
  /
 
) 
/



EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

 0 /#
" # 

;  1 2 #

< 
" # 

 ƒ

-G-
F! -
- 
 #

 "    # "
 
 

  
 ! 



 
! -DE-6
" 
 
) 
 ! 
 
,! 
 
) 

 !    
,  
  
!  > 


 
D -D -
A - : <@
 
) $ 
  :O
 
) $
 ;O@


EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

=
 ,3 .#  # 
*
< 
; -DG-AG-6
;
" -D-6
!  , ! 
=  
 
  


 
 
< 
  
  !    
 
  
  ! 


; *  / 

) 
 /
 
  
  ! 
<
=
= -D :;E&

-A <:E&

; -6 ;<E&

<

= *

<
;
;

= <

$     
"


%  
" $ 

-
F#  
 -  !  /
 !  
 / # $
% ++M G , G , G/, G/N
% 0/
("094,  #
!
*
M , N
% 
/
M , N
%  
#

   M , N
%  M G ,G N

% +
 - 
 
 
%  

 / 
  #  !    E
/ ! 
! G 
%  
   
 #   
    5  (  5E-E#
1
*

%  
## 

-
  
 

 -Q


EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

%4  $    



-A:;<
:,;,< 
  
 
" -A  ! 

/


  
   (:,;,<*
+    /    :, ;
 <,   
  ! 

F /  
! -Q
 -6! 

@
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING



  
"    
    
     




 
#



E

  
   
   

 


 " 
  "

+  #


  

   
  ! 
#
-7


    #   
  ! 

 

/  /  (-,-*
-7
 
 
  -
- /  
C
#-7!  
! 
  

 

+ 


  # 
 (/ !    *
   
      ! , -7 
   E


+

 

 ,
.

 
 (0++12*!  
E
   


! -7
 $
-7.


%  
! -7
-7  
!
$   %  
 " 
   E/ 

  ! -7
% 1    
  ! -- 
#
% & 

 . 

  
#
    
#,  . 

   /

#

+% 


  $
 (/ !    *
"# 
      ! , -7 
  
 


$   %  


 " 
    -7Q

7
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

!  # $#  %  #   

5 * 5

* *
*
& 

""
  
  
  "  ""
  
 
  " 
   

 




/

*
" 

!
#
  
 

! 


5 

 
 

/

   
 

5 
 9,!  
   ! 

 
5    



 9,
  / 
    
   !

*      !
   >  
 / 
  
  
! 

""
  
 
  "  

 

!  # $# "$#&   

5
5

5 * 5

*
* *
' "


   ' "


   ( )

 


* 

/

" 

!
#
  
 
5 
! 



5    





 
5 9,   / 
    
   !

*      !
   >  
 / 
  
  
! 

' "


   * )


 


EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

+( #!  $  


 
++ #!  $  
  

-7@G-77.
" -7@
-77
/
  
(0++12*



E

 
 
! < /E
 (! 
 /:;
E-D*  

 /
! 

 

 
-7@.
/
,!  !     
.,! 

! < /  

 

+.  ##!  $


  
   / (-7@*  
 / (-77*   !  



= 0  # # 5 6


0  # 5 6

-
-:;<34
"  -
     

 !   

 


,  
! ! -
; 3% " :,;
<

 &B!  ,
= <
  
/
! 


" ,3
4/#
) 


( G*
*;<=,-. 
 

+ 
 
  ,


EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

  



!  
),
<  !  
 
 /     ,! 
*;<=,-=


 

3% ;
$   
 , - ,. /.0 ,

 

F# 

 
 /

 ! 

 
 &B

F# 
E
:   !  E
< <

 ;<

,

3% ; ; 3% ;

F# 
3E
;   !  E
< <

 <:

-

3% ; 3% ;

<

F# 
4E
<   !  E
= = 
 :;


< ;. < ;


; 3% ; 3%

= < = <

D
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

0% ! #  



-:;<
"  - 

 
 >  

 /
:,;,<
"       
  
 #   
)  
# 


-  / ! ,  ! 
,  
 ! 
 /


0(  $   



-@

 >   #
E
 

(250  
 $

 
 
 *

!  (
, 

   *
!
#!  

  
! 


" -@>! 
 
 
 

 
#  

 /  

0+30.7 8  31


1 )    ! 


E

 >   (       )  

 / *> 


! -7E-6

A
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

1 /*  

-
' !  ,!  


 !  
 
 
    ! 
2)

 / 2)
 
 / - 
 /,   ! ! -
-7

1( $ 


 8
-@ #! '6 
" 'AA -@
!,!    
F#
 
!
#! ! 

! 
   
  
0 #&5 GG

-@<+

< 

+ 
 

% +
   /  ! 
 
 /
! -@@(T*
% -@!  #! 250&5 GG
, 
  250 & 5  G 
 
     

1+ 


-G7
:
) 
-
-7
/

3 3
F
 
   :   ;
  ! 

# 

   


3 3 
# /   !    
     
 
      )
#
E (
E
 
U #

;
)  

,#
*

     > 
      
#! 
3 3


! 

1" 
        2
2%

6
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

1491.    


-A
9
<


-6

-A  


1# 9
  0
-6  
1# 9
  0++
α / β ........   


 

   /

α, β
9  ' 
 

;
+ )
,       
   

 
# 

 



 1# 
  234 2

 
     

 /
  

(-D,-A-6*

2)
$
;
 -7
ƒ
-7@.5
15@+@



56A&@ =1 





-<
ƒ

@5@
ƒ

0(1 
*
5 -6-A:;9

-6:@;<
= -<E
:7
+
" 
 1# 
  @-<
@566


EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

## # ,(34.

' (%
-6A -66
-6A  ' 
        
1

 



" 
!
 -66  ' 
        

 
! 
!

E #
9


 -6A-66
 /,



-66(" 
!
! 
!

* 
 

9  

" -6A9   

5    3

   9

   ! 
  


 
$

' 
(-6*$
9  ! 
!

/


!  > 

   
 
(-6*$
9  ! 
!



  
 <     (
        
#*" 
 
 //
9! 
!


! !
   ,! 
  /
/
  ! 
!
 
 !   /  

  

') &
6
 D $ 
/! 
  

5    (1*
 #9(9*
E $ #E    
  !    
 (2*
@$ ! 
!

$! -6A


(1*
$! -66! 
!



(

16     3. 

  


< < <

4

      
#
" 
 
(-6* !
 
  /
  

"    
 
(-6* /
; ; ;
 
  
:
;  

 !
# 
! 
# "   
   -6A 
 /
Q


EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

,( $2 &## #


-D@ (-6A*


-6A(-66*-D@G-A@:;<(9*&8
+4
1


   !   8,
9  /
  
 ,  


    


! 
 
4



* 
4

 ,

! 
 #

-6A(-66*  9 


 
(! 
!

E
4

*
:,;  .  
!&
<  '(   
*  
5   7  
  3 9M N  '(! -6   
*/

! 
!


&M N  !

-D@ (-66*
&O
+  +

8M N    /   E 
4      
5

" 
!



4
4
4

!&

5   7  
  

,+ !   #
0 #&5 GG
"    #  
 
   
#-D7!  -A7! /
   
1
 #-A7


EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

,1 5 ## #


0 #
 !    

1
 -6A(-66*-D:;<(9*+84


" 
!
  #  
  !  


 
 


/! 
 ! 
!


,!  
 ,
   !   ,

/ !  
    > 
# (8* 

(

   *

/! 
4

     ! 
!
 
 (-66*


(-6A*

/
 /
8

   
5   72 8      # -6A(-66*  9
    
 
 (! 
!


*
:,;  .  
<  '(   
*  
9M N  '(! -6   
*/

! 
!


+  +
8  . > 

/E/

4      

4  ### # 



-A
    #
 
 # 
/  

#-A
 
(-,
-,*

4 ## #

-6A(-66*-A:;<(9*+4

1
 
/!  ! 



! 
 
" 
!

9 

* 
1  ,

!    
-6A -66
-6A(-66*  9
    
 
 (! 
!

5   3 8    # 
*
:,;  .  
<  '(   
*  
9M N  '(! -6   
*/

! 
!


+  +
4      

@
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

-A (-6A*
4% ## # ' $' ##

-6A(-66*-A:;<(9*&+4
1


   
/ !      !  
,! 
  


! 
 

* 
!&
1 ,

!   #
$   #   

    

"
 -6A(-66*  9 
 
(! 
!

E
*
-A (-66* :,;  .  
<  '(   
*  
9M N  '(! -6   
*/

! 
!


&M N  !

&O
" 
!
 +  +


9 4      

!&

$   #   

      


"


4( : $'### #
-A@ (-6A*


-6A(-66*-D@G-A@:;<(9*&8
+4
" 
!

9 
   !   8,
 /
 

(-6A*! E

!

(-66*,
 
 / 
4

 ,
/! 
   
//   ,  


8    



4

! 
 

* 
4

 ,(*

!   
!&

5   3  
  3

7
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

-6A(-66*  9 


 
(! 
!

E
-D@ (-66* *
:,;  .  
<  '(   
*  
9M N  '(! -6   
*/

! 
!


&M N  !

&O
" 
!
 +  +


 8M N    /   E 
4

4      
4
4

!&

5   3  
  

4+ #
0 #&5 GG

-6A(-66*-A7:;<(9*+&4
)

' "#+$# "#   



'  &
 &!  )
,! 
 
9
 /  ! !  

   !   !       <,
!(&*,!   !  


! 
3
-6A(-66*  9
    
 
 (! 
!


*
:,;  .  
'
""  # 9  : <  '(   
*
 
9M N  '(! -6   
*/

! 
!


+  
 (/  *
&  !

  
4      


EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

40   #

-A (-6A* -6A(-66*-A:;<(9*+4


/!  ! 

 
   ! 
!
 
 !  
9
  ! 
!

! 
 E
1
E    -6A



9 -6A(-66*  9 


 
(! 
!

E
*
:,;  .  
<  '(   
*  
9M N  '(! -6   
*/

! 
!


+  +


  #     

   
 "

4      

41 ## # ' $#


 

-A (-6A* -6A(-66*-A:;<(9*+

  
/ !      !  
'   

1
E 
! 
 


9
-6A(-66*  9 
 
(! 
!

E
*
1  :,;  .  
1 <  '(   
*  
9M N  '(! -6   
*/

$   #   "  "
  

   ! 
!



 "
 +  +

4      


EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

4, 2 & & ## #


0 #
 !    

-AD:;<98+
2)    
 
      ! 

 
 

% !     :
;

  
% ! 
/ > 
# 
8


     
/
8 
 


=
/    
% 
/9( 
 *
% 
/
  > 
# 

8    :,;(
 *
%   
/ / 
     <
5
(
 *
% ' <   ,
/
 > 
#    
 8

  
          (   ) 
  *
! 
   
4 % 
/ > 
#/
8

   :,;

;
! "!    # -66
  
,
!
#





:,;  .  


<  '(   
*  
9M N  F
   
+  +


44 ## # ' $


 

-AA -AA:;<(9*&+5


/! 
 

   '       
 !  
1
 
 
!,
  E

 

#

9
:,;  .  
& 
<  '(   
*  
 9M N  '(! -6   
*/

! 
!


$   #   "
 " &M N  !
 $
&O
+  +


D
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

4.   # ' $' ## .+ 5  



" -67
+(*/

  G 

'(- -67+


/!  

 .0 5   #

   
 ! (&* 9
    
! 
!

! 
,   0 #&5BBGG
-6A
/! 
 
 " -6
+(*/

  G/

 
-6+

.,  #
 

" -6D
1/

 /G 

-6D1
. ;#


-6


% ' 
! -6
-6 
!

 ! 
% -6 (-6* 
   
   
 
! -   
(-6-:;<*

. "    #

-6

-6

.%     .4     $   #


 ..     $ : $'#
-6:< (
1# 1 * #
1     
#     >   R  #-D@E-A6R
!  

 
 ! -6
 >  / 
#
!  

#5@9212   E

#
 /
/ > E

 

A
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

   =

    1 #$


 


 !  

 0 #
 ! 
 
 / #! !! 
   ,

! !  ! / 
 ! 
    

 
 ! 




  2)
$
 7 5
"  R 1'9R    
   
   -7@ .7
  '

 /! !    ! #7

 ! 
/
! !/
  ! / ! 5   
  (   .7* !      

! 
/ /  (   E
   6 
  *
 # '

 /! !  ! 

/
! !/
 
5 !    5, !  0& 10& 
 /
( 
#0&   
 *0&
10&  
 /,5
 

"  R 1'9R    


   
  4 # 8<
  '

 /! !  0 #250&5 GG
 ! 
/
! !/
  
! !  

. # 855


% /
0 #250&5 GG
5!  5@ 
! ! 

%, ' #) 


( ### 8<
0 #
# /  

# &'  /  
! ! / (
 ! !  / 


 

#
K*
 
    
, 
  

 

 !    # 

5@ 
 
  ( /
" 5@
 /! ! 
 
+ ### 8< !  



  # &'

    
  5@
#
 , 
;#'8<
57 

 
0 #
#! / 
! / ! !  
0 ### 855

 / 
 
# ,% 
;#'855
' 
     

 E
0 #
#! / 

#! 
! / ! ! 

6
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING

.4 
;##

56A&

&       


 
  , 
    


% 56A

 
 

/   
 (  -  :  56A
&@*
% "         ,
 
 
 (56A&*
% "  
  ) 



 
% '! 


)

5
 
1 

2

 
 
 
103 1[[[[0

 .. 
;/6
103 >
=" 

 2
 
 566&

 .# "
1[[[[0 " K  
$
3  


16   "
  " K  
&))))$
3    ))))

.#  "
" K  
$
3 
  
,  )


  (
! *
" K  
&))))$
3 
  
   ))))


566 

  


@
EMCO WINNC GE SERIES FANUC 21MB FLEXIBLE NC- PROGRAMMING

G: Flexible NC programming
Variables and arithmetic parameters
9DULDEOH
9DULDEOHW\SH )XQFWLRQ
QXPEHU By using variables instead of fixed values, a program
can be configured more flexibly. Thus, you can react
$OZD\V]HUR7KLVYDULDEOHKDVDOZD\V
to signals, such as e.g. measuring values, or the
 V\VWHP WKHYDOXH]HUR1RW same program can be used for different geometries
YDULDEOH FKDQJHDEOH by using variables as nominal value.
$WGLVSRVDOIRU Together with variable calculation and program jumps
 /RFDOYDULDEOH FDOFXODWLRQVLQWKH you get the possibility to create a highly-flexible
SURJUDP program archive and thus save programming time.
$WGLVSRVDOIRU
*OREDO Local and global variables can be read and written.
 FDOFXODWLRQVLQWKH
YDULDEOHV All other variables can only be read.
SURJUDP
$WGLVSRVDOIRU
6\VWHP
 FDOFXODWLRQVLQWKH
YDULDEOH
SURJUDP
6\VWHP /RDGLQJPDJD]LQHEDU Local variables can only be used in that macro in
 which they are defined.
YDULDEOH HQGUHDFKHG
Global variables can be used in every macro
6\VWHP /RDGLQJPDJD]LQHORDGHU irrespective of the macro in which they were defined.

YDULDEOH KDVDGYDQFHG

6\VWHP /RDGLQJPDJD]LQHILUVW

YDULDEOH SDUWDIWHUEDUFKDQJH

6\VWHP
 1RPLQDOSLHFHQXPEHU
YDULDEOH

6\VWHP
 $FWXDOSLHFHQXPEHU
YDULDEOH

Calculating with variables


With the four basic arithmetic operations the usual
mathematic notation is valid.

)XQFWLRQ ([DPSOH The term at the operator's right can contain constants
  and/or variables combined by functions.
  
  
   Each variable can be replaced again by an arithemetic
   term in square brackets or by a constant.
Example
#1=#[#2]

During the calculation the limitation is valid that the


execution of the calculation is carried out from left to
right without observance of the calculation rule point
before line.
Example
#1=#2*3+#5/2

G1
EMCO WINNC GE SERIES FANUC 21MB FLEXIBLE NC- PROGRAMMING

Control structures Relational operators


In programs the control sequence can be changed by Relational operators consist of two letters and are
IF and GOTO instructions. Three types of branchings used to determine, in comparison with two values, if
are possible: these are equal or if one value is greater and/or less
than the other.
- IF[<condition>] THEN
- IF[<condition>] GOTO <n>
- GOTO <destination>
2SHUDWRU 0HDQLQJ
IF[<Condition>] THEN (4 (TXDO
After IF a provisory term must be indicated. If the 1( 8QHTXDO ž)
provisory term applies, a determined macro *7 *UHDWHUWKDQ !
instruction is carried out. Only one macro *( *UHDWHUWKDQRUHTXDO
instruction can be carried out. /7 /HVVWKDQ 
Example /( /HVVWKDQRUHTXDO

With equal values of #1 and #2 the value 5 is The expressions to be compared can be variable n or
allocated to #3. constants. A variable can be replaced again by a
calculation term in square brackets.
IF [#1 EQ #2] THEN#3=5
Example
IF[#12 EQ 1] GOTO10
IF[<Condition>] GOTO <n>
After IF a provisory term must be indicated. If the
provisory term applies, the branching is carried Comprising macro programming examples:
out to block number n. Otherwise the subsequent IF[#1000 EQ 1] GOTO10
block is carried out.
IF[#[10]] NE #0] GOTO#[#1]
Example
IF[1 EQ 1] THEN#2 =5
If the value of the variable #1 is greater than 10,
IF[#[#4+#[#2/2]] GT #20] THEN#[#10]] =#1*5+#7
the branching is carried out to block number N4.
Otherwise the subsequent block is carried out.
IF [#1 GT 10] GOTO 4

GOTO <n>
The jump command GOTO can also be
programmed without condition. A variable or
constant can be used as a branch destination.
With a variable the number can be replaced again
by a calculation term in square brackets.
Example
Jump to block number 3
GOTO 3

Example
Jump to variable #6
GOTO#6

G2
A LARMS AND M ESSAGES

H: Alarms and Messages


Machine Alarms 6000 - 7999
These alarms will be triggered by the machines.
There are different alarms for the different ma-
chines.
The alarms 6000 - 6999 normally must be
confirmed with RESET. The alarms 7000 - 7999
are messages which normally will disappear when
the releasing situation is finished.

PC MILL 50 / 55 / 100 / 105 / 125 / 155


Concept MILL 55 / 105 / 155

6000: EMERGENCY OFF 6010: DRIVE X-AXIS NOT READY


The EMERGENCY OFF key was pressed. The step motor board is defective or too hot, a
Remove the endangering situation and restart fuse or cabling is defective.
machine and software. A running program will be stopped, the auxiliary
drives will be switched off, the reference position
6001: PLC-CYCLE TIME EXCEEDING will be lost.
Contact EMCO Service. Check fuses or contact EMCO service.

6002: PLC - NO PROGRAM CHARGED 6011: DRIVE Y-AXIS NOT READY


Contact EMCO Service. see alarm 6010.

6003: PLC - NO DATA UNIT 6012: DRIVE Z-AXIS NOT READY


Contact EMCO Service. see alarm 6010.

6004: PLC - RAM MEMORY FAILURE 6013: MAIN DRIVE NOT READY
Contact EMCO Service. Main drive power supply defective, main drive too
hot, fuse defective.
6005: OVERHEAT BRAKEMODUL A running program will be stopped, the auxilliary
Main drive was braked too often, large changes drives will be switched off.
of speed within a short time. E4.2 active Check fuses or contact EMCO Service.

6006: OVERLOAD BRAKE RESISTOR 6014: NO MAIN SPINDLE SPEED


see 6005 This will be released, when the spindle speed is
lower than 20 rpm because of overload.
6007: SAFETY CIRCUIT FAULT Alter cutting data (feed, infeed, spindle speed).
Axis and main drive contactor with machine The CNC program will be aborted, the auxilliary
switched off not disabled. Contactor got stuck or drives will be stopped.
contact error. E4.7 was not active during switch-
on. 6019: VICE TIME EXCEED
The electric vice has not reached a stop position
6009: SAFETY CIRCUIT FAULT within 30 seconds.
Defective step motor system. The control or the clamping device board are
A running CNC program will be interrupted, the defective, the vice is stuck. Adjust the proximity
auxiliary drives will be stopped, the reference po- switches of the stop position.
sition will be lost.
Contact EMCO Service. 6020: VICE FAILURE
When the electric vice is closed, the signal
"clamping device clamped" of the clamping device
board has failed.
The control, the clamping device board or the
wiring are defective.

A 2007-05

H1
A LARMS AND M ESSAGES

6022: CLAMPING DEVICE BOARD 6047: TOOL DISK UNLOCKED


DEFECTIVE Tool drum turned out of locked position, inductive
The signal "clamping device clamped" is proximity switch defective or disadjusted, fuse de-
constantly released, although no command has fective, hardware defective.
been given. A running CNC program will be interrupted.
Replace the board. Contact EMCO service.
When the tool drum is turned out of locked position
6024: MACHINE DOOR OPEN (no defect), act as following:
The door was opened while a machine movement. Turn the drum into locking position manually
The program will be aborted. Change into MANUAL (JOG) mode.
Turn the key switch. Traverse the Z slide upwards,
6027: DOOR LIMIT SWITCH DEFECTIVE until the alarm disappears.
The limit switch of the automatic door is displaced,
defective, wrong cabled. 6048: DIVIDING TIME EXCEEDED
Contact EMCO service. Dividing head stucks, insufficient pressured air
supply, hardware defective.
6028: DOOR TIMEOUT Check for collision, check pressured air supply or
The automatic door stucks, the pressured air contact EMCO service.
supply is insufficient, the limit switch is displaced.
Check door, pressured air supply, limit switch or 6049: INTERLOCKING TIME EXCEEDED
contact EMCO service. see alarm 6048

6030: NO PART CLAMPED 6050: M25 AT RUNNING MAIN SPINDLE


No workpiece inserted, vice cheek displaced, con- Cause: Programming mistake in NC program.
trol cam displaced, hardware defective. A running program will be aborted.
Adjust or contact EMCO service. The auxilliary drives will be switched off.
Remedy: Correct NC program
6040: TOOL TURRET INDEX FAILURE
After WZW procedure drum pressed down by Z- 6064: DOOR AUTOMATIC NOT READY
axis. Spindle position wrong or mechanical Cause: pressure failure automatic door
defect. E4.3=0 in lower state automatic door stucks mechanically
limit switch for open end position defective
6041: TOOL CHANGE TIMEOUT security print circuits defect
Tool drum stucks (collision?), main drive not cabling defective
ready, fuse defective, hardware defective. fuses defective
A running CNC program will be stopped. A running program will be aborted.
Check for collisions, check fuses or contact The auxilliary drives will be switched off.
EMCO service. Remedy: service automatic door

6043-6046: TOOL DISK POSITION FAULT 6069: CLAMPING FOR TANI NOT OPEN
Position error of main drive, error of position When opening the clamping pressure switch does
supervising (inductive proximity switch defective not fall within 400ms. Pressure switch defective
or disadjusted, drum allowance), fuse defective, or mechanical problem. E22.3
hardware defective.
The Z axis could have been slipped out of the 6070: PRESSURE SWITCH FOR TANI MIS-
toothing while the machine was switched off. SING
A running CNC program will be stopped. When closing the clamping pressure switch does
Contact EMCO service. not respond. No compressed air or mechanical
problem. E22.3

6071: DIVIDING DEVICE NOT READY


Servo Ready Signal from frequency converter
missing. Excess temperature drive TANI or
frequency converter not ready for operation.

H2
A LARMS AND M ESSAGES

6072: VICE NOT READY 7017: REFERENCE MACHINE


Attempt to start the spindle with an open vice or Approach the reference point.
without clamped workpiece. When the reference point is not active, manual
Vice stucks mechanically, insufficient compressed movements are possible only with key switch at
air supply, compressed air switch defective, fuse position "setting operation".
defective, hardware defective.
Check the fuses or contact EMCO service. 7018: TURN KEY SWITCH
With NC-Start the key switch was in position
6073: DIVIDING DEVICE NOT READY "setting operation".
Cause: locking switch defective NC-Start is locked.
cabling defective Turn the key switch in the position "automatic" to
fuses defective run a program.
A running program will be aborted.
The auxilliary drives will be switched off. 7020: SPECIAL OPERATION MODE ACTIVE
Remedy: service automatic dividing device Special operation mode: The machine door is
lock the dividing device opened, the auxiliary drives are switched on, the
key switch is in position "setting operation" and
6074: DIVIDING TIME EXCEEDED the consent key is pressed.
Cause: dividing device stucks mechanically Manual traversing the axes is possible with open
locking switch defective door. Swivelling the tool turret is not possible with
cabling defective open door. Running a CNC program is possible
fuses defective only with standing spindle (DRYRUN) and SIN-
insufficient compressed-air supply. GLE block operation.
A running program will be aborted. For safety: If the consent key is pressed for more
The auxilliary drives will be switched off. than 40 sec. the function of this key is interrupted,
Remedy: Check for collision, check the compressed- the consent key must be released and pressed
air supply or contact the EMCO service. again.

6075: M27 AT RUNNING MAIN SPINDLE 7021: INITIALIZE TOOL TURRET


Cause: Programming mistake in NC program. The tool turret operating was interrupted.
A running program will be aborted. No traversing operation is possible.
The auxilliary drives will be switched off. Press tool turret key in JOG operation. Message
Remedy: Correct NC program occurs after alarm 6040.

7000: INVALID TOOL NUMBER PRO- 7022: INITIALIZE TOOL TURRET !


GRAMMED see 7021
The tool position was programmed larger than
10. 7023: WAITING TIME MAIN DRIVE!
The CNC program will be stopped. The LENZE frequency converter has to be
Interrupt program with RESET and correct the separated from the mains supply for at least 20
program. seconds before you are allowed to switch it on
again. This message will appear when the door
7001: NO M6 PROGRAMMED is quickly openend/ closed (under 20 seconds).
For an automatic tool change you also have to
program a M6 after the T word. 7038: LUBRICATION SYSTEM FAULT
The pressure switch is defective or gagged.
7007: FEED STOP! NC-Start is locked. This can be reset only by
The axes have been stopped by the robotics switching off and on the machine.
interface (robotics entry FEEDHOLD). Contact EMCO service.

7016: SWITCH ON AUXILIARY DRIVES 7039: LUBRICATION SYSTEM FAULT


The auxiliary drives are off. Press the AUX ON Not enough lubricant, the pressure switch is de-
key for at least 0.5 sec. (to avoid accidentally fective.
switching on) to switch on the auxiliary drives. NC-Start is locked.
Check the lubricant and lubricate manually or con-
tact EMCO service.

H3
A LARMS AND M ESSAGES

7040: MACHINE DOOR OPEN 7058: RETRACTING THE AXES


The main drive can not be switched on and NC- The position of the tool turret arm cannot be
Start can not be activated (except special clearly defined during the tool change.
operation mode) Open the machine door, push the tool turret
Close the machine to run a program. magazine backwards to the stop. Move the milling
head in the JOG mode upwards to the Z reference
7042: INITIALIZE MACHINE DOOR switch and then traverse the reference point.
Every movement and NC-Start are locked.
Open and close the machine door to initialize the 7270: OFFSET COMPENSATION ACTIVE !
safety circuits. Only with PC-MILL 105
Offset compensation activated by the following
7043: PIECE COUNT REACHED operation sequence.
A predetermined number of program runs was - Reference point not active
reached. NC-Start is locked. Reset the counter to - Machine in reference mode
continue. - Key switch in manual operation
- Press STRG (or CTRL) and simultaneously 4
7050: NO PART CLAMPED This must be carried out if prior to the tool change
After switching on or after an the vice is neither at procedure spindle positioning is not completed
the open position nor at the closed position. (tolerance window too large)
NC-Start is locked.
Traverse the vice manually on a valid end position. 7271: COMPENSATION FINISHED,DATA
SAVED !
7051: DIVIDING HEAD NOT LOCKED! see 7270
Either the dividing head is in an undefined position
after the machine has been switched on, or the
locking signal after a dividing process is missing.
Initiate the dividing process, check, respectively
adjust the proximity switch for locking.

7054: VICE OPEN


Cause: the workpiece is not clamped
When switching on the main spindle with M3/M4
alarm 6072 (vice not ready) will be released.
Remedy: Clamp

7055: OPEN TOOL CLAMPING SYSTEM


A tool is clamped in the main spindle and the
control does not recognize the corresponding T
number.
Eject the tool from the main spindle when the
door is open by means of the PC keys "Strg" and
" 1 ".

7056: SETTING DATA INCORRECT


An invalid tool number is stored in the setting
data.
Delete the setting data in the machine directory
xxxxx.pls.

7057: TOOLHOLDER OCCUPIED


The clamped tool cannot be positioned in the tool
turret since the position is occupied.
Eject the tool from the main spindle when the
door is open by means of the PC keys "Strg" and
" 1 ".

H4
A LARMS AND M ESSAGES

H5
A LARMS AND M ESSAGES

PC TURN 50 / 55 / 105 / 120 / 125 / 155


Concept TURN 55 / 105 / 155

6000: EMERGENCY OFF 6013: MAIN DRIVE NOT READY


The EMERGENCY OFF key was pressed. Main drive power supply defective or main drive
The reference position will be lost, the auxiliary too hot, fuse defective, over- or undervoltage from
drives will be switched off. mains.
Remove the endangering situation and restart ma- A running program will be stopped, the auxilliary
chine and software. drives will be switched off.
Check fuses or contact EMCO Service.
6001: PLC-CYCLE TIME EXCEEDING
The auxiliary drives will be switched off. 6014: NO MAIN SPINDLE SPEED
Contact EMCO Service. This alarm will be released, when the spindle
speed is lower than 20 rpm because of overload.
6002: PLC - NO PROGRAM CHARGED Alter cutting data (feed, infeed, spindle speed).
The auxiliary drives will be switched off. The CNC program will be aborted, the auxiliary
Contact EMCO Service. drives will be switched off.

6003: PLC - NO DATA UNIT 6015: NO DRIVEN TOOL SPINDLE SPEED


The auxiliary drives will be switched off. see 6014.
Contact EMCO Service.
6016: AUTOMATIC TOOL TURRET SIGNAL
6004: PLC - RAM MEMORY FAILURE COUPLED MISSING
The auxiliary drives will be switched off.
Contact EMCO Service. 6017: AUTOMATIC TOOL TURRET SIGNAL
UNCOUPLED MISSING
6008: MISSING CAN SUBSCRIBER In the tool turret that can be coupled, the position
The SPS-CAN board is not identified by the of the coupling and uncoupling magnet is
control. monitored by means of two proximity switches. It
Check the interface cable and the power supply has to be made sure that the coupling is in the
of the CAN board. rear stop position so that the tool turret can get to
the next tool position. Equally, during operation
6009: SAFETY CIRCUIT FAULT with driven tools the coupling has to be safe in
Defective step motor system. the front stop position.
A running CNC program will be interrupted, the Check and adjust the cables, the magnet and the
auxiliary drives will be stopped, the reference po- stop position proximity switches.
sition will be lost.
Contact EMCO Service. 6021: COLLET TIME OUT
During closing of the clamping device the pressure
6010: DRIVE X-AXIS NOT READY switch has not reacted within one second.
The step motor board is defective or too hot, a
fuse is defective, over- or undervoltage from 6022: CLAMPING DEVICE BOARD
mains. DEFECTIVE
A running program will be stopped, the auxiliary The signal "clamping device clamped" is
drives will be switched off, the reference position constantly released, even though no command
will be lost. has been given. Replace the board.
Check fuses or contact EMCO service.
6023: COLLET PRESSURE MONITORING
6012: DRIVE Z-AXIS NOT READY The pressure switch turns off when the clamping
see 6010. device is closed (compressed air failure for more
than 500ms).

H6
A LARMS AND M ESSAGES

6024: MACHINE DOOR OPEN 6041: TOOL CHANGE TIMEOUT


The door was opened while a machine movement. Tool drum stucks (collision?), fuse defective, hard-
The program will be aborted. ware defective.
A running CNC program will be stopped.
6025: GEARBOX COVER NOT CLOSED Check for collisions, check fuses or contact
The gearbox cover was opened while a machine EMCO service.
movement. A running CNC program will be
aborted. 6042: TOOL TURRET OVERHEAT
Close the cover to continue. Tool turret motor too hot.
With the tool turret a max. of 14 swivel procedures
6027: DOOR LIMIT SWITCH DEFECTIVE a minute may be carried out.
The limit switch of the automatic door is displaced,
defective, wrong cabled. 6043: TOOL CHANGE TIMEOUT
Contact EMCO service. Tool drum stucks (collision?), fuse defective, hard-
ware defective.
6028: DOOR TIMEOUT A running CNC program will be stopped.
The automatic door stucks, the pressured air Check for collisions, check fuses or contact
supply is insufficient, the limit switch is displaced. EMCO service.
Check door, pressured air supply, limit switch or
contact EMCO service. 6045: TOOL TURRET SYNC MISSING
Hardware defective.
6029: TAILSTOCK QUILL TIME EXCEED Contact EMCO service.
The tailstock quill does not reach a final position
within 10 seconds. 6046: TOOL TURRET ENCODER FAULT
Adjust the control and the stop position proximity Fuse defective, hardware defective.
switches, or the tailstock quill is stuck. Check fuses or contact EMCO service.

6030: NO PART CLAMPED 6048: CHUCK NOT READY


No workpiece inserted, vice cheek displaced, con- Attempt to start the spindle with open chuck or
trol cam displaced, hardware defective. without clamped workpiece.
Adjust or contact EMCO service. Chuck stucks mechanically, insufficient pressured
air supply, fuse defective, hardware defective.
6031: QUILL FAILURE Check fuses or contact EMCO service.

6032: TOOL CHANGE TIMEOUT 6049: COLLET NOT READY


see alarm 6041. see 6048

6033: TOOL TURRET SYNC ERROR 6050: M25 DURING SPINDLE ROTATION
Hardware defective. With M25 the main spindle must stand still (consider
Contact EMCO service. run-out time, evtl. program a dwell)

6037: CHUCK TIMEOUT 6055: NO PART CLAMPED


The pressure switch does not react within one This alarm occurs when with rotating spindle the
second when the clamping device is closed. clamping device or the tailstock reach the end position.
The workpiece has been pushed out of the chuck or
6039: CHUCK PRESSURE FAILURE has been pushed into the chuck by the tailstock.
The pressure switch turns off when the clamping Check clamping device settings, clamping forces,
device is closed (compressed air failure for more alter cutting data.
than 500ms).
6056: QUILL NOT READY
6040: TOOL TURRET INDEX FAILURE Attempt to start the spindle or to move an axis or
The tool turret is in no locked position, tool turret to swivel the tool turret with undefined tailstock
sensor board defective, cabling defective, fuse position.
defective. Tailstock is locked mechanically (collision), insuf-
A running CNC program will be stopped. ficient pressured air supply, fuse defective,
Swivel the tool turret with the tool turret key, check magnetic switch defective.
fuses or contact EMCO service. Check for collisions, check fuses or contact
EMCO service.

H7
A LARMS AND M ESSAGES

6057: M20/M21 DURING SPINDLE ROTATION 7017: REFERENCE MACHINE


With M20/M21 the main spindle must stand still Approach the reference point.
(consider run-out time, evtl. program a dwell) When the reference point is not active, manual
movements are possible only with key switch at
6058: M25/M26 DURING QUILL FORWARD position "setting operation".
To actuate the clamping device in an NC program with
M25 or M26 the tailstock must be in back end position. 7018: TURN KEY SWITCH
With NC-Start the key switch was in position
6059: C-AXIS SWING IN TIMEOUT "setting operation".
C-axis does not swivel in within 4 seconds. NC-Start is locked.
Reason: not sufficient air pressure, and/or me- Turn the key switch in the position "automatic" to
chanics stuck. run a program.

6060: C-AXIS INDEX FAILURE 7019: PNEUMATIC LUBRICATION MONITOR-


When swivelling in the C-axis the limit switch does ING!
not respond. Refill pneumatic oil
Check pneumatics, mechanics and limit switch.
7020: SPECIAL OPERATION MODE ACTIVE
6064: AUTOMATIC DOOR NOT READY Special operation mode: The machine door is
Door stucks mechanically (collision), insufficient opened, the auxiliary drives are switched on, the
pressured air supply, limit switch defective, fuse key switch is in position "setting operation" and
defective. the consent key is pressed.
Check for collisions, check fuses or contact Manual traversing the axes is possible with open
EMCO service. door. Swivelling the tool turret is possible with
open door. Running a CNC program is possible
6065: LOADER MAGAZINE FAILURE only with standing spindle (DRYRUN) and SIN-
Loader not ready. GLE block operation.
Check if the loader is switched on, correctly con- For safety: If the consent key is pressed for more
nected and ready for operation and/or disable than 40 sec. the function of this key is interrupted,
loader (WinConfig). the consent key must be released and pressed
again.
6066: CLAMPING DEVICE FAILURE
No compressed air at the clamping device 7021: TOOL TURRET NOT LOCKED
Check pneumatics and position of the clamping The tool turret operating was interrupted.
device proximity detectors. NC start and spindle start are locked. Press the
tool turret key in the RESET status of the control.
6067: NO COMPRESSED AIR
Turn the compressed air on, check the setting of 7022: COLLECTION DEVICE MONITORING
the pressure switch. Time exceed of the swivelling movement.
Check the pneumatics, respectively whether the
7000: INVALID TOOL NUMBER mechanical system is jammed (possibly a
PROGRAMMED workpiece is jammed).
The tool position was programmed larger than 8.
The CNC program will be stopped. 7023: ADJUST PRESSURE SWITCH !
Interrupt program with RESET and correct the During opening and closing of the clamping device
program. the pressure switch has to turn off and on once.
Adjust the pressure switch. This alarm does not
7007: FEED HOLD exist any more for versions starting with PLC 3.10.
In the robotic mode a HIGH signal is at input E3.7.
Feed Stop is active until a low signal is at E3.7. 7024: ADJUST CLAMPING DEVICE
PROXIMITY SWITCH !
7016: SWITCH ON AUXILIARY DRIVES When the clamping device is open and the
The auxiliary drives are off. Press the AUX ON position stop control is active, the respective
key for at least 0.5 sec. (to avoid accidentally proximity switch has to feed back that the
switching on) to switch on the auxiliary drives (also clamping device is "Open".
a lubricating pulse will be released). Check and adjust the clamping device proximity
switch, check the cables.

H8
A LARMS AND M ESSAGES

7025 WAITING TIME MAIN DRIVE ! 7052: QUILL IN UNDEFINED POSITION


The LENZE frequency converter has to be The tailstock is in no defined position.
separated from the mains supply for at least 20 All axis movements, the spindle and the tool turret
seconds before you are allowed to switch it on are locked.
again. This message will appear when the door Drive the tailstock in back end position or clamp a
is quickly openend/ closed (under 20 seconds). workpiece with the tailstock.

7038: LUBRICATION SYSTEM FAULT 7053: QUILL - NO PART CLAMPED


The pressure switch is defective or gagged. The tailstock reached the front end position. Tra-
NC-Start is locked. This alarm can be reset only verse the tailstock back to the back end position
by switching off and on the machine. to continue.
Contact EMCO service.
7054: NO PART CLAMPED
7039: LUBRICATION SYSTEM FAULT No part clamped, switch-on of the spindle is
Not enough lubricant, the pressure switch is de- locked.
fective.
NC-Start is locked. 7055: CLAMPING DEVICE OPEN
Check the lubricant and lubricate manually or con- This message indicates that the clamping device
tact EMCO service. is not in clamping state. It disappears as soon as
a part is clamped.
7040: MACHINE DOOR OPEN
The main drive can not be switched on and NC-
Start can not be activated (except special
operation mode)
Close the machine to run a program.

7041: GEARBOX COVER OPEN


The main spindle cannot be switched on and NC
start cannot be activated.
Close the gearbox cover in order to start a CNC
program.

7042: INITIALIZE MACHINE DOOR


Every movement and NC-Start are locked.
Open and close the machine door to initialize the
safety circuits.

7043: PIECE COUNT REACHED


A predetermined number of program runs was
reached. NC-Start is locked. Reset the counter to
continue.

7048: CHUCK OPEN


This message shows that the chuck is open. It
will disappear if a workpiece will be clamped.

7049: CHUCK - NO PART CLAMPED


No part is clamped, the spindle can not be
switched on.

7050: COLLET OPEN


This message shows that the collet is open. It will
disappear if a workpiece will be clamped.

7051: COLLET - NO PART CLAMPED


No part is clamped, the spindle can not be
switched on.

H9
A LARMS AND M ESSAGES

H 10
A LARMS AND M ESSAGES

AC95 / ACC ALARMS


Axis Controller Alarms

8000 Fatal Error AC 8119 PC interrupt no. not valid


8100 Fatal init error AC Cause: The PC interrupt number can not be used.
Cause: Internal error Remedy: Find out free interrupt number in the Win-
Remedy: Restart software or reinstall when neces- dows95 system control (allowed: 5,7,10,
sary, report to EMCO, if repeatable. 11, 12, 3, 4 und 5) and enter this number in
WinConfig.
8101 Fatal init error AC
8120 PC interrupt no. unmaskable
see 8101.
see 8119
8102 Fatal init error AC
8121 Invalid command to PC-COM
see 8101.
Cause: Internal error or defective cable
8103 Fatal init error AC Remedy: Check cables (screw it); Restart software
see 8101. or reinstall when necessary, report to
8104 Fatal system error AC EMCO, if repeatable.
see 8101. 8122 Internal AC mailbox overrun
8105 Fatal init error AC Cause: Internal error
see 8101. Remedy: Restart software or reinstall when neces-
8106 No PC-COM card found sary, report to EMCO, if repeatable.
Cause: PC-COM board can not be accessed (ev. 8123 Open error on record file
not mounted). Cause: Internal error
Remedy: Mount board, adjust other address with Remedy: Restart software or reinstall when neces-
jumper sary, report to EMCO, if repeatable.
8107 PC-COM card not working 8124 Write error on record file
see 8106. Cause: Internal error
8108 Fatal error on PC-COM card Remedy: Restart software or reinstall when neces-
see 8106. sary, report to EMCO, if repeatable.
8109 Fatal error on PC-COM card 8125 Invalid memory for record buffer
see 8106. Cause: Insufficient RAM, record time exceeding.
8110 PC-COM init message missing Remedy: Restart software, ev. remove drivers etc. to
gain more RAM, reduce record time.
Cause: Internal error
Remedy: Restart software or reinstall when neces- 8126 AC Interpolation overrun
sary, report to EMCO, if repeatable. Cause: Ev. insufficient computer performance.
8111 Wrong configuration of PC-COM Remedy: Set a longer interrupt time in WinConfig.
see 8110. This may result in poorer path accuracy.
8113 Invalid data (pccom.hex) 8127 Insufficient memory
Cause: Insufficient RAM
see 8110.
Remedy: Close other programs, restart software,
8114 Programming error on PC-COM ev. remove drivers etc. to gain more RAM.
see 8110.
8128 Invalid message to AC
8115 PC-COM packet acknowledge missing Cause: Internal error
see 8110. Remedy: Restart software or reinstall when neces-
8116 PC-COM startup error sary, report to EMCO, if repeatable.
see 8110. 8129 Invalid MSD data - axisconfig.
8117 Fatal init data error (pccom.hex) see 8128.
see 8110. 8130 Internal init error AC
8118 Fatal init error AC see 8128.
see 8110, ev. insufficient RAM memory 8130 Internal init error AC
see 8128.
8132 Axis accessed by multiple channels
see 8128.

H 11
A LARMS AND M ESSAGES

8133 Insufficient NC block memory AC 8157 Data record done


see 8128. see 8142.
8134 Too much center points programmed 8158 Bero width too large (referencing)
see 8128. see 8142 or Bero hardware error (contact EMCO
8135 No centerpoint programmed Service).
see 8128. 8159 Function not implemented
8136 Circle radius too small Bedeutung: In normal operation this function can not
see 8128. be executed
8137 Invalid for Helix specified 8160 Axis synchronization lost axis 3..7
Cause: Wrong axis for helix. The combination of Cause: Axis spins or slide is locked, axis synchro-
linear and circular axes does not match. nisation was lost
Remedy: Program correction. Remedy: Approach reference point
8140 Maschine (ACIF) not responding 8161 X-Axis synchronization lost
Cause: Machine off or not connected. Step loss of the step motor. Causes:
Remedy: Switch on machine or connect. - Axis mechanically blocked
- Axis belt defective
8141 Internal PC-COM error
- Distance of proximity detector too large
Cause: Internal error
(>0,3mm)
Remedy: Restart software or reinstall when neces-
or proximity detector defective
sary, report to EMCO, if repeatable.
- Step motor defective
8142 ACIF Program error
8162 Y-Axis synchronization lost
Cause: Internal error
Remedy: Restart software or reinstall when neces- see 8161
sary, report to EMCO, if repeatable. 8163 Z-Axis synchronization lost
8143 ACIF packet acknowledge missing see 8161
see 8142. 8164 Software limit switch max axis 3..7
8144 ACIF startup error Cause: Axis is at traverse area end
see 8142. Remedy: Retract axis
8145 Fatal init data error (acif.hex) 8168 Software limit overtravel axis 3..7
see 8142. Cause: Axis is at traverse area end
Remedy: Retract axis
8146 Multiple request for axis
see 8142. 8172 Communication error to machine
Cause: Internal error
8147 Invalid PC-COM state (DPRAM)
Remedy: Restart software or reinstall when neces-
see 8142.
sary, report to EMCO, if repeatable.
8148 Invalid PC-COM command (CNo) Check connection PC - machine, eventu-
see 8142. ally eliminate distortion sources.
8149 Invalid PC-COM command (Len) 8173 INC while NC program is running
see 8142. Remedy: Stop the program with NC stop or with
8150 Fatal ACIF error Reset. Traverse the axis.
see 8142. 8174 INC not allowed
8151 AC Init Error (missing RPG file) Cause: At the moment the axis is in motion.
see 8142. Remedy: Wait until the axis stops and then traverse
8152 AC Init Error (RPG file format) the axis.
see 8142. 8175 MSD file could not be opened
8153 FPGA program timeout on ACIF Cause: Internal error
see 8142. Remedy: Restart software oder bei Bedarf neu in-
stallieren, report to EMCO, if repeatable.
8154 Invalid Command to PC-COM
see 8142. 8176 PLS file could not be opened
see 8175.
8155 Invalid FPGA packet acknowledge
see 8142 or hardware error on ACIF board (contact 8177 PLS file could not be accessed
EMCO Service). see 8175.
8156 Sync within 1.5 revol. not found 8178 PLS file could not be written
see 8142 or Bero hardware error (contact EMCO see 8175.
Service).

H 12
A LARMS AND M ESSAGES

8179 ACS file could not be opened 8201 Internal thread error (IPO)
see 8175. see 8199.
8180 ACS file could not be accessed 8201 Internal thread error (IPO)
see 8175. see 8199.
8181 ACS file could not be written 8203 Fatal AC error (0-ptr IPO)
see 8175. see 8199.
8183 Gear too high 8204 Fatal init error: PLC/IPO running
Cause: The selected gear step is not allowed at the see 8199.
machine. 8205 PLC Runtime exceeded
8184 Invalid interpolaton command Cause: Insufficient computer performance
8185 Forbidden MSD data change 8206 Invalid PLC M-group initialisation
see 8175. see 8199.
8186 MSD file could not be opened 8207 Invalid PLC machine data
see 8175. see 8199.
8187 PLC program error 8208 Invalid application message
see 8175. see 8199.
8188 Gear command invalid 8212 Rotation axis not allowed
see 8175. see 8199.
8189 Invalid channel assignement 8213 Circle and rotation axis can't be
see 8175. interpolated
8190 Invalid channel within message 8214 Thread and rotation axis cant't be
see 8175. interpolated
8191 Invalid jog feed unit 8215 Invalid state
Cause: The machine does not support the rotation see 8199.
feed in the JOG operating mode. 8216 No rotation axis for rotation axis switch
Remedy: Order a software update from EMCO. see 8199.
8192 Invalid axis in command 8217 Axis type not valid!
see 8175. Cause: Switching during the rotary axis operating
8193 Fatal PLC error mode when the spindle is running.
see 8175. Remedy: Stop the spindle and switch over to the
8194 Thread without length rotary axis operating mode.
Cause: The programmed target coordinates are 8218 Referencing round axis without
identical to the starting coordinates. selected round axis!
Remedy: Correct the target coordinates. see 8199.
8195 No thread slope in leading axis 8219 Thread not allowed without spindle
Remedy: Program thread pitch encoder!
8196 Too manny axis for thread Cause: Thread cutting, respectively tapping is only
Remedy: Program max. 2 axes for thread. possible with spindles with encoders.
8197 Thread not long enough 8220 Buffer length exceeded in PC send
Cause: Thread length too short. message!
With transition from one thread to the other see 8199.
the length of the second thread must be 8221 Spindle release although axis is no
sufficient to produce a correct thread. spindle!
Remedy: Longer second thread or replace it by a see 8199.
linear interpolation (G1). 8222 New master spindle is not valid
8198 Internal error (to manny threads) Cause: The indicated master spindle is not valid
see 8175. when switching over to the master spindle.
8199 Internal error (thread state) Remedy: Correct the spindle number.
Cause: Internal error 8224 Invalid stop mode
Remedy: Restart software or reinstall when neces- see 8199.
sary, report to EMCO, if repeatable.
8200 Thread without spindle on
Remedy: Switch on spindle

H 13
A LARMS AND M ESSAGES

8225 Invalid parameter for BC_MOVE_TO_IO! 8239 DAU exceeded 10V limit!
Cause: The machine is not configurated for touch Cause: Internal error
probes. A traversing movement with rotary Remedy: Start the software again or install it anew.
axis is not allowed during touch probe Report the error to EMCO.
operating mode. 8240 Function not valid during active trans-
Remedy: Remove the rotary axis movement from formation (TRANSMIT/TRACYL)!
the traversing movement. Cause: The Jog and INC operating mode are not
8226 Rotary axis switch not valid (MSD data)! possible during Transmit in X/C and during
Cause: The indicated spindle does not have a Tracyl in the rotary axis.
rotary axis. 8241 TRANSMIT not enabled (MSD)!
8228 Rotary axis switch not allowed while Cause: Transmit is not possible at this machine.
axis move! 8242 TRACYL not enabled (MSD)!
Cause: The rotary axis has moved during switching Cause: Tracyl is not possible at this machine.
over to the spindle operating mode.
8243 Round axis invalid during active
Remedy: Stop the rotary axis before switching.
transformation!
8229 Spindle on not allowed while rotary axis Cause: It is not allowed to program the rotary axis
is active! during Transmit/Tracyl.
8230 Program start not allowed due to active 8245 TRACYL radius = 0!
spindle rotation axis! Cause: When selecting Tracyl, a radius of 0 was
8231 Axis configuration (MSD) for TRANSMIT used.
not valid! Remedy: Correct the radius.
Cause: Transmit is not possible at this machine. 8246 Offset alignment not valid for this state!
8232 Axis configuration (MSD) for TRACYL see 8239.
not valid! 8247 Offset alignment: MSD file write
Cause: Tracyl is not possible at this machine. protected!
8233 Axis not available while TRANSMIT/ 8248 Cyclic supervision failed!
TRACYL is active! Cause: The communication with the machine
Cause: Programming of the rotary axis is not keyboard is interrupted.
allowed during Transmit/ Tracyl. Remedy: Start the software again or install it anew.
8234 Axis control grant removed by PLC Report the error to EMCO.
while axis interpolates! 8249 Axis motion check alarm!
Cause: Internal error see 8239
Remedy: Delete error with reset and inform EMCO.
8250 Spindle must be rotation axis !
8235 Interpolation invalid while axis control see 8239
grant is off by PLC!
8251 Lead for G331/G332 missing !
see 8234.
Cause: The threading pitch is missing or the starting
8236 TRANSMIT/TRACYL activated while axis coordinates are identical to the target
or spindle moves! coordinates.
see 8234. Remedy: Program the threading pitch.
8237 Motion through pole in TRANSMIT! Correct the target coordinates.
Cause: It is not allowed to move through the 8252 Multiple or no linear axis programmed
coordinates X0 Y0 inTransmit. for G331/G332 !
Remedy: Alter the traversing movement. Remedy: Program exactly one linear axis.
8238 Speed limit in TRANSMIT exceeded! 8253 Speed value for G331/G332 and G96
Cause: The traversing movement gets too close to missing !
the coordinates X0 Y0. In order to observe Cause: No cutting speed has been programmed.
the programmed feed rate, the maximum Remedy: Program the cutting speed.
speed of the rotary axis would have to be
8254 Value for thread starting point offset
exceeded.
not valid!
Remedy: Reduce the feed rate. Set the value of the
Cause: The thread starting point offset is not within
C-axis feed limitation in WinConfig,
the range of 0 to 360°.
machine data settings / general machine
Remedy: Correct the thread starting point offset.
data/ to 0.2. Thus, the feed rate will be
automatically reduced near the coordinates
X0 Y0.

H 14
A LARMS AND M ESSAGES

8255 Reference point not in valid software


limits!
Cause: The reference point has been defined
outside the software limit switches.
Remedy: Correct the reference points in WinConfig.
8256 Spindle speed too low while executing
G331/G332!
Cause: During tapping the spindle speed has
decreased. Perhaps the incorrect threading
pitch was used or the core drilling is not
correct.
Remedy: Correct the threading pitch. Adapt the
diameter to the core drilling.
8257 Real Time Module not active or PCI card
not found!
Cause: ACC could not be started correctly or the
PCI card in the ACC was not recognized.
Remedy: Report the error to EMCO.
8258 Error allocating Linux data!
see 8239.
8259 Current thread in sequence not valid!
Cause: One block of a thread in sequence has
been programmed without thread G33.
Remedy: Correct the program.
8261 Missing thread in sequence !
Cause: A successive thread has not been
programmed for a thread in sequence, the
number has to be in accordance with the
SETTHREADCOUNT () that has been
defined before.
Remedy: Correct the number of threads in the thread
in sequence and add a thread.
8262 Reference marks are not close enough !
Cause: The settings of the linear scale have been
changed or the linear scale is defective.
Remedy: Correct the settings. Contact EMCO.
8263 Reference marks are too close together!
see 8262.
22000 Gear change not allowed
Cause: Gear step change when the spindle is
active.
Remedy: Stop the spindle and carry out a gear step
change.
22270 Feed too high (thread)
Cause: Thread pitch too large / missing, Feed for
thread reaches 80% of rapid feed
Remedy: Program correction, lower pitch or lower
spindle speed for thread

H 15
A LARMS AND M ESSAGES

H 16
EMCO WINNC GE SERIES FANUC 21MB ALARMS AND MESSAGES

I: Control Alarms

Control Alarms
These alarm s can occur only with operating and 51 Nxxxx Wrong chamfer/radius value
programming the control functions or with running Cause: The contour elements between a chamfer
CNC programs. / radius should be inserted are too short.
Remedy: Program correction
52 Nxxxx Invalid contour draft
1 RS232 parity error ! Cause: From the programmed parameters no valid
Cause: Data transmission error parity error, wrong contour draft would result
RS 232 setting in external device Remedy: Program correction
Remedy: Check data cables, set serial interface of
53 Nxxxx Wrong parameter structure
the external device
Cause: From the programmed parameters no valid
2 RS232 transmission error ! contour draft would result, wrong parameter
Cause: Data transmission error character overflow programmed
Data transmission error invalid data frame Remedy: Program correction
Remedy: Check data cables, set serial interface of
56 Nxxxx Wrong angle value
the external device
Cause: With the programmed angle no intersection
10 Nxxxx Invalid G-code point would result
Remedy: Program correction Remedy: Program correction
11 ORDxx Feed wrong/missing 57 Nxxxx Error in contour draft
Cause: Attempt to start with feed = 0, also with Cause: Invalid parameters programmed.
G95/96, if S = 0 or M5 Remedy: Program correction
Remedy: Program correction
58 Nxxxx Contour draft not determinable
21 Nxxxx Circle: Wrong plane selected Cause: Too much blocks without new position
Cause: The wrong plane (G17, 18, 19) is active for programmed, program end while contour
a circle draft
Remedy: Program correction Remedy: Program correction
30 Nxxxx Invalid tool offset number 60 Nxxxx Block number not found
Cause: The lower 2 digits of the T number are to Cause: Jump target not found
great Remedy: Program correction
Remedy: Program correction
62 Nxxxx General cycle error
33 Nxxxx CRC can’t be determined Cause: Call-up counter of subprogram call invalid,
Cause: Too much blocks without new position feed<=0, thread pitch missing/<=0, cutting
programmed, invalid contour element, depth missing/<=0/invalid, retraction height
programmed circle radius smaller than to small, block address P/Q missing,
cutter radius, contour element to short. declaration pattern repetition missing/in-
Remedy: Program correction valid, infeed for next cut missing/invalid,
34 Nxxxx Error on deactivating CRC undercut at cycle ground <0, cycle end
Remedy: Program correction point missing/invalid, thread end point mis-
37 Nxxxx Plane change while CRC act. sing/invalid;
Cause: Change of plane not permitted with active Remedy: Program correction
cutter radius compensation 63 Nxxxx Wrong Cycle call
Remedy: Program correction Cause: P/Q missing, wrong address
41 Nxxxx Contour violation CRC Remedy: Program correction
Cause: Invalid contour element, programmed circle 70 Insufficient memory
radius smaller than cutter radius, contour Cause: The PC has not enough memory
element to short, contour violation with full Remedy: Close all other Windows applications,
circle. remove resident programs from memory,
Remedy: Program correction restart the PC

I1
EMCO WINNC GE SERIES FANUC 21MB ALARMS AND MESSAGES

71 Program not found 2504 ORDxx No memory for interpreter


Cause: NC program not found Cause: Too less RAM memory, continueing the
With program start no program was program is not possible
selected Remedy: Close all Windows application, close
Remedy: Correct call-up or create program, select WinNC,remove resident programs from
program AUTOEXEC.BAT and CONFIG.SYS,
73 File already exists ! restart the PC
Remedy: Select other file name. 2505 ORDxx No memory for interpreter
77 Insufficient RAM for subroutine see 2504
Cause: Subprograms interlocked too deep 2506 ORDxx Too less RAM
Remedy: Program correction see 2504
83 Nxxxx Circle not in active plane 2507 ORDxx Reference point not active
Cause: Circle is not in active plane for CRC Remedy: Approach reference point
Remedy: Program correction 2508 ORDxx Internal error NC core
142 Wrong simulation area Remedy: RESET, report to EMCO if reproducible
Cause: Wrong scale factor (e.g. 0) programmed 2520 ORDxx RS485 device absent
Remedy: Program correction Cause: With program start a RS485 device did not
142 Invalid scale factor report, while program run a device got
Cause: No or an invalid simulation area was entered defective
Remedy: Enter correct simulation area AC Axis controller
315 ORDxx Rotatory checking X SPS PLC
Cause: The step motor has fallen out of pace MT control keyboard
Remedy: Reduce infeed and feed, check slides for Remedy: Switch on RS485 device (machine, control
smooth running, approach reference point keyboard), check cables and plugs, check
terminator plug, report to EMCO if
325 ORDxx Rotatory checking Y
reproductible
see alarm 315
2521 ORDxx RS485 communication error
335 ORDxx Rotatory checking Z
Remedy: PC restart, report to EMCO if reproducible
see alarm 315
2522 ORDxx RS485 communication error
500 ORDxx Target point exceeds work.area Remedy: PC restart, report to EMCO if reproducible
Cause: Target point, circle target point or circle out
2523 ORDxx INIT error on RS485 PC-board
of working area limitation
See "Software Installation" , Mistakes with installation
Remedy: Program correction
of the software
501 ORDxx Target point exceeds SW limit
2524 ORDxx Gen.-Failure RS485 PC-board
Cause: Target point, circle target point or circle out
Remedy: PC restart, report to EMCO if reproducible
of working area limitation
Remedy: Program correction 2525 ORDxx Transmit error RS485
Cause: Transmission error by poor plug
510 ORDxx Software-limit switch X
connections, missing terminator, external
Cause: Software limit switch in X exceeded (JOG)
sources of electromagnetic interference
Remedy: Traverse back manually
Remedy: Check the error sources above
520 ORDxx Software-limit switch Y
2526 ORDxx Transmit error RS485
see 510
see 2525
530 ORDxx Software-limit switch Z
2527 ORDxx Internal error AC
see 510
Remedy: Switch machine off/on, report to EMCO if
2501 ORDxx Synchronisation-error AC reproducible
Remedy: RESET, report to EMCO if reproducible
2528 ORDxx Operating system error PLC
2502 ORDxx Synchronisation-error AC Remedy: Switch machine off/on, report to EMCO if
see 2501 reproducible
2503 ORDxx Synchronisation-error AC 2529 ORDxx External keyboard error
see 2501 Remedy: The external keyboard always must be
switched on after the PC. Restart the
software, report to EMCO if reproducible

I2
EMCO WINNC GE SERIES FANUC 21MB ALARMS AND MESSAGES

2540 ORDxx Error saving setting-data


Cause: Hard disk full, wrong path setting, no writing
access
Remedy: Check hard disk space, check writing
access, reinstallation of the software if
reproducible
2545 ORDxx Drive / Device not ready
Remedy: Insert disk, lock drive, check disk drive, ...
2546 ORDxx Checksum error machine-data
Remedy: Restart, report to EMCO if reproductible
2550 ORDxx PLC simulation error
Remedy: Restart, report to EMCO if reproducible
2551 ORDxx PLC simulation error
Remedy: Restart, report to EMCO if reproducible
2562 Read error on CNC program
Cause: Defective program file, DOS read error
(disk, hard disk)
Remedy: Solve problem on DOS level, eventually
reinstallation of the software
2614 ORDxx Internal error MSD
Remedy: Report to EMCO if reproducible
2650 ORDxx Internal error cycle call up
Cause: Invalid cycle call when a cycle was called
with a G command
Remedy: Program correction
2849 Internal error CRC
Remedy: Report to EMCO if reproducible
2904 Helix Z value too large
Cause: The pitch of the helix must not be larger
than 45°
Remedy: Program correction

I3
EMCO WINNC GE SERIES FANUC 21MB ALARMS AND MESSAGES

I4
CURS:
FABRICAŢIE ASISTATĂ DE CALCULATOR

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Capitolul 1 – Sisteme de fabricație

• Obiective: Înțelegerea unor concepte de organizare/ management al sistemelor de fabricație,


identificarea tipurilor de sisteme de fabricație si a performantelor acestora, stabilirea
circuitului informațional in interiorul sistemului de fabricație si evidențierea unor soluții
tehnice performante.

– Criteriul de câștig al comenzii


– Ciclul de viată al unui produs
– Managementul ciclului de viată al produsului (PLM)
– Indicatori de performanta a sistemelor de fabricație
– Clasificarea sistemelor de fabricație
– Organizarea sistemelor de fabricație
– Exemple de sisteme de fabricație: Volkswagen, Dell
– Exemplul de organizare la Google

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


1.3 Factori interni

- Aspectul intern cel mai important constă în dezvoltarea unei strategii de fabricație.
Prin strategie de fabricație se înțelege planul sau procesul prin care se forțează congruența dintre
obiectivele companiei, legile pieței și posibilitățile de producție ale companiei.
Satisfacerea acestor cerințe constituie o problemă importantă pentru companii datorită sciziunii care există
intern între departamentul de marketing și cel de producție. Pe de o parte departamentul de marketing privește
comenzile din punctul de vedere al câștigului total, în timp ce pe partea de producție se analizează comenzile
din punctul de vedere al complexității acestora, al gradului de diversitate, al volumului de productie, al
capacitatii de utilizare, al productivitatii și nu valoarea totală. O metodă de abordare a acestei probleme constă
în următorul algoritm:

• Definirea obiectivelor companiei


• Dezvoltarea strategiilor de piața pentru atingerea obiectivelor
• Analiza pieței și a modului în care produselor vor satisface concurența și condițiile pieței
• Determinarea procesului de fabricație utilizat pentru produse
• Asigurarea infrastructurii de fabricație necesară producției.

Un model de armonizare a deciziilor de vânzare cu cele de producție este propus de Terra Hill, permițând un
plan strategic pentru luarea deciziilor.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Obiectivele Criteriul de câștig al
Strategia de marketing Strategii de fabricație
companiei comenzii

Ce are de făcut Cum își va atinge Structura Infrastructura


compania? obiectivele?

- Planul de dezvoltare - Cercetarea piețelor - Stabilirea - Nivelul forței de


al companiei pentru desfacerea capacităților si a muncă si al
- Prețul facilităților de salariilor
- Stabilirea unor produselor - Calitatea
masuri de creștere a - Stabilirea a ce se producție - Procesul de
- Durata de - Stabilirea asigurare a calității
marginii de profit produce (structura fabricație
- Măsuri financiare producției) tehnologiilor de lucru - Controlul și
- Durata de - Stabilirea gradului planificarea
pentru asigurarea - Stabilirea a cat se desfacere/nivelul
echilibrului financiar produce (volumul de de integrarea pe sistemului de
de încredere vertical (cât și ce se fabricație
al companiei producție) - Flexibilitate
- Stabilirea gradului de cumpără vs. cât și ce - Organizarea
- Inovare/abilitate se fabrica) muncii (controlul,
standardizare sau - Mărimea lotului
specializare a evaluarea și
- Design leadership motivarea
produsului (caracterul
- Stabilirea gradului de personalului)
inovator la
inovație al produsului produsului)
- Stabilirea poziției fata
de competitor (statutul
de lider sau urmăritor)
Obiective externe Obiective comune Obiective interne

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Criteriul de câștig al comenzii este formulat astfel încât să conțină nivelul minim operațional pentru a
putea câștiga comanda, ușor de înțeles la toate nivelurile și de către toate departamentele companiei, in
vederea stabilirii caracteristicilor sau a operațiilor de fabricație necesare produsului final, astfel încât
acesta să se califice pe piață.

În unele situații, prin caracteristica criteriului ales, unele departamente trebuie să aibă o contribuție
determinantă. De exemplu când criteriul de câștig al comenzii este gradul de inovare, departamentul de
design va avea contribuția majoră.

Criteriul de câștig al comenzii se poate alege ca un mix al criteriilor enumerate sau criteriul stabilit se
poate schimba pe durata ciclului de viață al produsului.

1.4 Ciclul de viață al unui produs

Ciclul de viață al produsului este caracterizat de variația volumului de vânzări a produsului în timp și
are definite următoarele stadii: introducere, creștere, maturitate și declin.
Fiecare din aceste stadii are propria caracteristica si o abordare diferita pentru modul de management
al afacerii. Succesul in managementul sistemului de fabricație consta, nu numai in a înțelege stadiul in
care se afla un anumit produs, ci într-o acțiune pro activă de aplicare a resurselor, strategiilor de
marketing si vânzări in concordanta cu stadiul produsului in ciclul de viață.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Introducere Creștere Maturitate Declin

Volum vânzări

Timp

Graficul ciclului de viață al unui produs


Stadiul de introducere: este lent vânzările sunt la un nivel scăzut și cheltuielile cu promovarea acoperă
majoritatea câștigului din vânzări. Prețul produsului este cel mai mare în această fază. Competiția este foarte
scăzută.
Stadiul de creștere : Reflectă faptul că piața a acceptat produsul și vânzările cresc cu rapiditate. Este faza cea mai
importantă în stabilirea produsului pe piață.
Stadiul de maturitate : Este faza în care produsele ating maximul vânzărilor cu cheltuielile cele mai mici (nu mai
necesita cheltuieli de proiectare, procesele de producție sunt stabilite). De obicei în aceasta perioada criteriul de
câștig al comenzii este prețul. Creșterea duratei de maturitate a produsului necesită cheltuieli de apărare a poziției
produsului pe piață.
Stadiul de declin : Este stadiul în care vânzările scad, ca urmare a impactului altor produse, competitoare mai
performante de pe piață. La acest nivel compania trebuie să decidă cum să închidă ciclul de viață al produsului.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


1.5 Managementul ciclului de viață al produsului
Strategii în proiectarea ciclului de viață al produselor :
- Menținerea produsului cât mai mult în faza de maturitate, în care se obțin profiturile maxime. Costurile
pentru dezvoltarea produsului sunt considerate investiție și un stadiu lung de maturitate a produsului
permite returnarea investiției.
- În contrast cu prima strategie, este strategia de a menține și influenta ciclul de viață al produsului pentru
a fi menținut în faza de creștere, în care interesul pentru produs este foarte mare și volumul vânzărilor
creste rapid. Ciclul de viață al produsului este mic și costurile pentru dezvoltarea produsului nu se
așteaptă a fi returnate în faza de maturitate ci se consideră, din start costul afacerii. Această strategie este
utilizată cu precădere de companiile japoneze, care prelungesc ciclul de viată al produsului în zona de
introducere creștere prin următoarele metode.
o Îmbunătățire continuă (kiazen) constă în îmbunătățiri continue aduse produsului fără a schimba
forma, funcționalitatea sau condițiile de adaptare la piață. Metoda urmărește doar îmbunătățirea
unor caracteristici ale produsului și scăderea costurilor.
o Prin salt (leaping), constă în crearea unui produs nou, cu caracteristici extinse, plecând de la
produsul inițial.
o Inovare. Se urmărește crearea unui produs complet nou prin formă, funcții și adaptarea la cerințele
pieței.
Procesul de management al produsului de la concepție, proiectare, fabricație, întreținere și desfacere
poartă numele de Managementul Ciclului de Viață al Produsului ( PLM – Product Lifecycle
Management).

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


În concluzie, algoritmul de asigurare a unui management intern al companiei care să fie evite impactul
factorilor interni este:
- Analiza produselor și stabilirea corectă a criteriului de câștig al comenzii pe toată durata de viață a
produsului.
- Pentru fiecare produs să se planifice criteriul de câștig al comenzii si pentru stadiile viitoare ale vieții
produsului.
- Stabilirea corectă a proceselor de fabricație necesare dezvoltării unui produs și capabilitatea sistemului
de fabricație de a transpune cerințele în practică.
- Armonizarea cerințelor cu realitatea fie prin modificarea țintelor de piață, fie prin înnoirea proceselor de
fabricație și/sau a infrastructurii de producție.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


1.6 Indicatori de evaluare a standardului de performanță a sistemelor de fabricație

- Timpul de pregătire a fabricației (setup-time)


- Calitatea exprimată ca procentul părților defecte din totalul volumului de vânzare.
- Raportul spațiului de fabricație fata de spațiul total
- Inventarul: viteza de variație a stocului de reinnoirea ciclului/timpul de rezidentă
- Flexibilitatea mașinilor : numărul de pârți diferite care pot fi produse pe o mașină.
- Distanta
- Procentul timpului de procesare față de timpul total de lucru al mașinilor.

Standard de fabricație
Caracteristică
Standard la nivel mondial Media S.U.A. (aprox. 1990)
Timpul de Sistem : <30min.
24h
pregătire Celulă : 1min.
1500ppm 3-5%
Calitate
Cost calitate 3-5% 15-25%
Spațiul de
>50% 25-30%
fabricație
Reinnoire produse in stoc Reinnoire produse in stoc
Inventarul >100 cicluri aprox. 2-4 cicluri
Rezidență materiale 3zile Rezidență materiale 3luni
Flexibilitate 270 părți/mașină 25parţi/mașină
Distanța 300ft. >1 milă
Timp procesare 95% 65-75%

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


1.7 Clasificarea sistemelor de fabricație
Sistemul de fabricație este definit ca un mod de operare a proceselor și de organizare a producției care
includ: mașinile, uneltele, materialele, oamenii, informațiile, pentru a produce produse fizice, informaționale
sau servicii, cu valoare adăugată și care au parametrii caracteristici măsurabili.

Exemplul unui mod de organizare a spațiului de producție


Modelul unui sistem de fabricație este reprezentat in următoarea diagramă, scoţându-se in evidenţă cele cinci
intrări: materii prime, echipamente, scule si dispozitive, energie si munca. Ieșirile sistemului sunt produsele
finale si rebuturile

Materii prime
Produse
Scule si disp. finale
Sistem de
Echipamente
fabricație
Energie
rebuturi
Munca

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Criterii de clasificare :
A. după cum sunt produse mărfurile în sistemul de fabricație
B. după cum este satisfăcută comanda cumpărătorului de strategia de producție.

A.1) Tip proiect: Se produc produse deosebit de complexe în cantități foarte mici, uneori prototipuri,
necesitând o cantitate foarte mare de muncă, foarte bine calificată. Timpul de producție este lung,
cumpărătorul fiind identificat înaintea începerii producției. Produsele au puține opțiuni, dar un număr
foarte mare de componente. Datorită dimensiunilor produsului, modul de amplasare a facilităților de
producție este unul particular numit: amplasament cu poziții fixate. Prin gabaritul produsului acesta este
fix și mașinile și utilajele sunt aduse la produsul în curs de fabricație.

Exemple de amplasare a facilităților de producție in poziții fixate

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


A.2) Tip atelier (job shop): este sistemul de fabricație cu o producție de volum mic sau mediu, în așa numite
loturi. Gabaritul produselor este mic. Facilitățile de producție sunt amplasate într-o structură de tip proces. În
această configurație, spațiul de producție este împărțit în secții specializate pe o singură operație, de exemplu
secțiile de strunjire, frezare, găurire, vopsire, asamblare, etc. Piesele fiind de gabarit mic, sunt trecute în
prelucrare prin aceste secții, corespunzător planificării proceselor. Traseele pieselor poartă denumirea de rute și
distanta rutelor este un indicator de performanta al sistemului de fabricație. In structura de tip proces rutele sunt
lungi, ceea ce fac sistemul neperformant. O îmbunătățire a structurii de amplasare a facilităților de producție o
reprezintă structura de tip grup tehnologic. În aceasta structura secțiile de producție sunt amplasate consecutive
în ordinea proceselor de fabricație a familiei de produse. Aceasta face ca rutele să fie liniare. Alte caracteristici
ale sistemelor de tip atelier sunt: cantitatea de muncă ridicată, nivelul forței de muncă specializat, costul pe
unitate de produs ridicat, necesitând proiectarea produselor. Dimensiunea loturilor este mica și comenzile pentru
un lot de producție au un procent de 20% de a fi reînnoite. Materiile prime sunt comandate atunci când sunt
necesare.

Exemple de amplasare a facilitatilor de productie de tip proces

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Repartizarea secțiilor de producție la nivelul clădirii in configurația de tip proces

Exemple de amplasare a facilităților de producție de tip Grup Tehnologic

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


A.3) Sistem de producție de tip repetitiv: este un sistem de producție la care produsele finale se produc
în cantități medii spre mari. Comenzile pentru aceste produse se reînnoiesc în proporție de 100% și relația
cu clienții durează câțiva ani. Mărimea loturilor variază în limite largi, produsele fiind de complexitate
medie și necesitând un efort de proiectare mic. Amplasarea facilităților de producție poate fi de tip:
proces/grup tehnologic sau de tip flux de producție (mașini specializate sau centre de lucru (workcenters)
amplasate în lungul unei linii de producție). Mașinile mai poartă denumirea de mașini de transfer.
Cantitatea de muncă și specializarea forței de muncă sunt medii, o parte din aceasta specializare fiind
preluată de mașini. Un exemplu de companii cu structura de producție de acest tip sunt companiile
subcontractoare ale companiilor din industria auto.

Exemplu de amplasare a facilitatilor de productie de tip flux/linie de productie

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


A.4) Structura de producţie de tip linie: este o structură la care volumul de producţie este mare, produsele
finale având multe variante sau opţiuni. Timpul de livrare cerut de clienţi este de obicei mai mic decât timpul
de fabricaţie, ceea ce necesită un inventor de subansambluri. Caracteristicile sistemului sunt: procese cu
viteză mare, la care conţinutul şi specializarea muncii este mic. Se utilizează maşini de transfer specializate
care înlocuiesc specializarea forţei de muncă. Preţul produselor finale este ridicat necesitând un efort ridicat
de proiectare. Produsele finale au un număr ridicat de subcomponente. Amplasarea facilitaţilor de producţie
este de tip flux/linie de producţie. Exemple de companii cu structura aceasta de producţie sunt cele din
industria auto.

Exemple de sisteme de productie de tip linie: Ford model A 1927 si Toyota 2002

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


A.5) Sistem de fabricație cu producție continuă: este un sistem la care volumul de producție este foarte
mare, produsele finale având un preț foarte mic, puține opțiuni și componente. Efortul de proiectare este foarte
mic, întregul efort de fabricație concentrându-se pe volumul cât mai mare de producție într-un timp cât mai
scurt. Durata de fabricație a produsului este mult mai mare decât durata dorită de client pentru livrarea mărfii.
Materia primă intră continuu în sistem în timp ce la capătul liniei de producție ies produsele finale. Comenzile
clienților sunt predictibile pe o perioadă lungă de tip. Se utilizează metode de prognoză pentru dimensionarea
volumului de producție și se utilizează fabricația pe stoc (în avans). Exemple de astfel de sisteme de producție
se găsesc în industria producătoare de bunuri de larg consum.
Caracteristicile sistemelor de fabricație prezentate sunt sintetizate în următorul tabel:

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


După cel de-al doilea criteriu sistemele de fabricație se împart în:
B.1) Sisteme de tip Inginerie la comandă (ETO – Engineering To Order): sunt sisteme la care produsele necesită
proiectare, fiind în primele stadii ale ciclului de viață, introducere/creștere. La aceste sisteme este caracteristic ca
durata de livrare a produsului să fie mai mare sau egală cu durata de fabricație. Clientul acceptă durate mai lungi de
livrare deoarece produsul este fie un prototip fie un produs cu complexitate ridicată realizat într-un sistem de
fabricație de tip proiect.
B2) Sistem de tip Fabricație la comandă (MTO – Make To Order): sunt sisteme la care faza de proiectare este
executată și procesele de fabricație sunt validate. Durata de fabricație este egală cu durata de livrare cerută de clienți
și comenzile nu sunt predictibile. Strategia de fabricație este de a lansa în producție lotul doar la primirea comenzii.
Un exemplu este cazul companiilor care livrează calculatoare după specificațiile clienților.
B3) Sisteme de fabricație de tip Asamblare la comandă (ATO – Assemble To Order): sunt sistemele care fabrică
produse finale la care durata de livrare cerută de clienți este mai mică decât durata de fabricație. Sistemele de
fabricație din această categorie sunt cele de tip linie. Strategia de fabricație este folosită când producția este mixtă,
produselor finale au multe opțiuni și volumul și tipul loturilor poate fi bine prognozată. Este necesar un inventar de
subansambluri și se fabrică în mici cantități pe stoc.
B4) Sisteme de fabricație pe stoc (MTS – Make To Stock): sunt sisteme la care volumul de producție este foarte
mare, produsele au puține opțiuni și durata de așteptare a clienților este mult mai mică decât durata de fabricație.
Strategia aceasta de fabricație se utilizează când cererea de produse finale poate fi foarte bine prognozată, se
utilizează un inventar de materii prime și o strategie de gestionare a inventarului cu un stoc de reînnoire a ciclului,
un stoc de salvare (safety stock, pentru cazul comenzilor nepredictibile) şi un stoc de anticipare (anticipation stock,
pentru cazul comenzilor sezonale). De obicei produsele finale fabricate în aceste sisteme sunt în faza de maturitate,
volumele de producție fiind maxime.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Introducere Creștere Maturitate Declin

Vânzări

Timp
ETO MTO/ATO MTS

Relația dintre ciclul de viață al produselor și strategia de fabricație


In următorul table se face o comparative intre tipurile de sisteme de fabricație si strategii
EOT MTO ATO MTS

Proiect x

Atelier x

Repetitive x x

Linie x x

Continuu x x

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


1.8 Organizarea întreprinderii

O afacere, denumită întreprindere sau companie este o organizație implicată in comercializarea bunurilor
sau serviciilor către consumatori. Organizarea internă reprezintă modul in care aceasta este structurată pentru a
duce la îndeplinire activitățile. Structura companiei este necesar sa fie determinată de obiectivele organizației.
Modalitatea principal de structurare a organizației depinde de:
- funcția companiei,
- produsele fabricate,
- procesele de fabricație,
- aria geografica si
- tipul clienților.

Din aceste motive o structură generală a unei companii de fabricație este greu de dat şi, in literatură, se
regăsesc foarte multe variante de modele. De asemenea nu există două sisteme de fabricație care să fie identice,
dar totuși anumite elemente generale se regăsesc la toate companiile si modelele prezentate. Unul din aceste
modele este ilustrat in figura următoare, unde prin blocuri sunt reprezentate departamente grupate funcțional şi
prin săgeți circuitul informațional intre blocuri.

Schema reprezintă structura de baza a unei întreprinderi, implementările de tip CIM suplimentând fiecare
din departamentele funcționale cu componentele CIM ce le deservesc.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Finanțe şi management

Vânzări și Proiectare produs Ingineria producției


promoție

Lansare fabricație

Planificarea și
controlul
fabricației

Distribuție Recepție

Furnizori
Producție
(shop floor)
Transport
Calitate
Către toate funcțiile
sistemului Suport
organizații
Structura organizatorica a unei companii de fabricație
Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi
Sectorul de vânzări și promoție

Obiectivul principal este de a crea cumpărători. Acest obiectiv este atins prin nouă funcții interne:
- vânzări,
- serviciul clienți,
- publicitate,
- cercetare dezvoltare produs,
- preturi, ambalare,
- Relații publice,
- distribuție produse
- prognoză.
Interfața cu serviciul Clienți îndeplinește trei funcții importante :
- procesarea comenzilor,
- schimbarea/modificarea comenzilor
- desfacere produselor și preturi.
Schimbarea comenzii implică schimbări în specificațiile produsului, în cantitatea comandată și în
datele de livrare.
Serviciul de Vânzări și marketing furnizează informații strategice și de planificare a producției către
sectorul Financiar și de management, specificațiile produsului și reacția cumpărătorilor către sectorul de
Proiectare Produs și informații privind elaborarea planului de producție către sectorul de Planificare si control
al fabricației. Interfața cu sectorul Lansare în fabricație asigură ca orice schimbare propusă a produsului sa fie
revăzuta de sectorul de Vânzări si promoție, înainte de a fi implementate.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Sectorul financiar-contabil și de management

Responsabilități: stabilește obiectivele companiei în ceea ce privește sectorul financiar și se


ocupă de planificarea
Sectorul financiar:

- managementul lichidităților
- planificarea financiară (planificarea pe termen lung a afacerii)
- analiza financiară (stabilește direcția de dezvoltare în viitor pe baza: balanței, intrărilor și
variațiilor financiare ale companiei)
- planificarea strategică (lucrează cu prognozele pe termen mediu și lung)
Prognoza pe termen mediu cuprinde:
- bugetul anual alocat pentru obiectivele de producție,
- structura companiei,
- infrastructura necesară
Sectorul contabil
- contabilitatea generală
- contabilitatea costurilor
- funcții suplimentare

Domenii acoperite: conturile de plăti, conturile încasărilor, nivelul general și conturile de


costuri: costuri de fabricație, produse și suplimentare pe termen mediu și lung.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Definirea proceselor produsului/proceselor (product/process)

Unitatea include: proiectarea produsului, ingineria producției și lansarea în fabricație. Proiectarea


produsului necesită următoarele funcții primare: proiectarea și conceptualizarea, selecția materialelor,
documentația de proiectare. Se stabilesc la acest nivel următoarele standarde: de muncă, de proces și de calitate.

Planificarea și controlul fabricației.


Are rolul interfeței datelor și informațiilor cu celelalte unități și departamente. Responsabilități : stabilirea
direcțiilor întreprinderii prin trecerea planului managerial în indicatori de producție, elaborarea unei planificări
detaliate pentru fluxul materialelor și capacităților care sunt necesare, execuția acestor planuri prin programarea
detaliată a operațiilor de achiziție și de fabricație.

Cererea
Planificarea Sistemul de
planificată Planul de Planificarea
necesarului de control al
producție materialelor si
materiale activităților de
Producția (MPS) a capacităților
(MRP) producție
planificată

Planificarea Sistemul de
detaliată a control
capacităților financiar

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Shop floor

Această unitate se identifică cu producția. Activitățile includ planificarea operațiilor și rapoartelor,


mișcarea materialelor, procesele de fabricație, controlul activității de producție, controlul calității.

Organizatia de support

Functiile include departamentele de: personal, de paza, de intretinere, resurse umane, dezvoltare si servicii de
calculator.

1.9 Exemple de sisteme de fabricatie

NewVWFactoryinGermany.pps
Mercedes Benz Factory.flv
Lean Enterprise Case Study DELL Example [clipnabber.com].flv
Google.pps

Componente ale sistemelor flexibile de fabricatie:

AGV.mpg
ASRS.wmv

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


1.9 Indicatori de producție

- Timpul de fabricație (TF) – Un model al sistemului de producție este cel în care fabricația are loc printr-o
serie de procesări sau asamblări, realizate pas cu pas. Intre operații sunt alte activități precum:
manipularea/transportul materialelor, stocarea materialelor, inspecție și alte activități neproductive.
Activitățile se clasifică în:
activități productive pe care le vom denumi operații și
activități neproductive, denumite non-operații. Non-operațiile se referă la activitățile neproductive
atunci cand o parte în prelucrare este la o mașină. Acestea sunt surse de întârziere în procesul de producție.
Se notează To timpul unei operații, Tno timpul unei non operațiiși timpul de set-up la fiecare mașină notat cu
Tsu. Se presupune că parțile în prelucrare parcurg în serie nm mașini, producția în loturi, mărimea lotului fiind
notată cu Q unități.
Timpul de fabricație se exprimă prin relația :

T T QT T

unde i reprezintă o operație din secvența de nm operații.


Formula de mai sus se simplifică dacă luăm în considerare valorile medii ale timpilor :
T n T QT T
T T T T

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


In cazul producției de tip proiect (Q=1) timpul de fabricație devine :

T n T T T
Iar pentru cazul producției de masă (Q>>1) :
T n T max T

Timpul operației se poate descompune în următoarele subcomponente: Tp timpul de procesare efectivă, Tm timpul
de manipulare și Tms timpul de manipulare a sculelor și dispozitivelor:

T T T T

- Rata de producție. Rata de producție calculată pentru un proces de fabricație sau pentru o operație de asamblare
este exprimată ca numărul de unități produse/ unitatea de timp. Dacă notăm cu TQ timpul în care se produce un lot
de Q unități :
T
T QT
n

Timpul mediu de producție a unei unități din lot pe o mașină este TQ/Q. Rata de producție se calculează ca
inversul acestui raport :
Q
R
T QT

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Formula este corectată dacă se ia în considerare procentul de rebuturi q%,

T Q
T T
n 1 q

Q
R
Q
T T
1 q

- Capacitatea de producție. Prin capacitatea de producție (notată cu Cp) a unui sistem de fabricație se
înțelege rata maximă a ieșirilor pe care sistemul este capabil să le ofere în anumite condiții de operare.
Condițiile de operare se referă la : numărul de schimburi de lucru/zi (notat cu Ns), numărul de ore de
lucru/schimb (notat cu Hs), numărul de centre de lucru (notat cu W, centrul se consideră format dintr-o mașină și
un muncitor).
C WNsH R

Dacă se consideră procesul de fabricație prin nm mașini înseriate, capacitatea de producție a sistemului se
calculează cu următoarea formulă:
WNsH R
C
n
Capacitatea de producție trebuie să acopere cererea săptămânală, notată cu Ds, rezultând ecuația:

nmD
WNsH
R

Ecuația scoate în evidentă că pentru satisfacerea cererii, capacitatea de producție se poate adapta prin
modificarea numărului de centre de lucru, creșterea numărului de schimburi/săptămână sau creșterea numărului
de ore/schimb.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Dacă cererea este pentru mai multe produse, care au rate de producție diferite atunci formula se
generalizează :
D nm
WNsH
R

- Gradul de utilizare și gradul de disponibilitate al unui echipament. Gradul de utilizare, notat cu U se


definește ca ieșirea unui sistem/facilitate de producție raportată la capacitatea acelui sistem/facilitate.
ieşire
U
C
Gradul de disponibilitate al unui echipament se referă la procentul din timpul total de funcționare al unei
mașini în care aceasta este în bune condiții de funcționare. Gradul de disponibilitate se exprimă prin relația :

TMFR TMR
Disp%
TMFR

TMFR – este timpul mediu de funcționare fără reparații, TMR este timpul mediu al reparației. Indicatorul este
o măsură a eficienței echipei de mentenanță.
- Producția neterminată (WIP – work in process). WIP reprezintă cantitatea de produse care se află la un
moment dat în locația sistemului de producție în diferite stadii de prelucrare. O evaluare aproximativă a acestui
indicator este dată de următoarea expresie :
C U
WIP T
NH

Ecuația exprimă faptul că nivelul WIP este egal cu rata cu care pârțile parcurg sistemul.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


WIP reprezintă o investiție care nu este returnată și o strategia de fabricație eficientă urmărește să
mențină cantitatea WIP la valoarea minimă și timpul de fabricație cât mai scurt. Timpii lungi de fabricație pot
fi și o cauză a ineficienței folosirii mașinilor din sistem. Pentru a evalua acest lucru se calculează numărul
mașinilor în procesare cu ajutorul relației :
QT
Nr. maşini în procesare WU
T QT

unde : W - numărul centrelor de lucru disponibile, U - gradul de utilizare al mașinilor din sistem, Q –
cantitatea medie a lotului, Tsu, To – Timpii medii de set-up și operație.
Cei doi indicatori pot fi exprimați sintetic prin raportul lor numit și raportul WIP:
WIP
Raportul WIP
Nr. maşini în procesare

In cazul ideal acest raport este 1 :1, dar în cazuri reale ale unor sisteme de producție se poate calcula și
un raport de 50 -60 :1, ceea ce indică măsura ineficienței sistemului.

- Timpul în procesare. Timpul în procesare sau TIP este o măsură a timpului pe care îl pierde o parte în
prelucrare în sistemul de producție relativ la timpul în care aceea parte este în procesare efectivă. Se exprimă
sub forma unui raport :

TIP

Ideal raportul TIP este 1 :1, dar în cazuri reale se pot obține și rapoarte de 20:1.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


1.10 Strategii de automatizare

Strategie Efect

1. Specializarea operațiilor Reduce : To

2. Combinarea operațiilor pe aceeași mașină Reduce: nm, Tm, Tno


3. Realizarea operațiilor simultan Reduce: nm, Ts Tm, Tno
4. Integrarea operațiilor prin legarea stațiilor de lucru și utilizarea
Reduce: nm, Ts Tm, Tno
dispozitivelor de manipulare/transfer a pârților între centre automat.
5. Creșterea flexibilității mașinilor Reduce: Tsu, TF, WIP. Crește U

6. Îmbunătățirea sistemelor de transport și manipulare Reduce: Tsu, TF, WIP.

7. Inspecție on-line. Reduce: q, Tno

8. Optimizarea și controlul proceselor Reduce: q, To

9. Controlul operațiilor la nivelul întregului sistem de producție Reduce: Tsu, TF, WIP. Creşte U

Reduce: TF. timpul de proiectare,


10. Fabricația integrată pe calculator (integrarea tuturor, proceselor și
timpul de planificare a producției.
activităților într-un sistem unitar)
Crește U

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


1.11 Costuri de producție

- Costuri fixe și variabile


Costurile de fabricație pot fi clasificate în costuri fixe (valoarea lor nu depinde de volumul de
producție) și costuri variabile (sunt liniar dependente de volumul de producție.

Costuri
Costuri
totale
Costuri
variabile

Costuri
fixe

Cantitate

Costurile fixe sunt costurile care includ : costurile aferente clădirii, asigurare, impozite pe proprietate
și costurile cu echipamentul și mașinile de producție.
Costurile variabile includ: costul muncii directe, costul materiilor prime, costul energiei electrice
pentru funcționarea mașinilor.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


- Costuri suplimentare

Clasificarea costurilor în fixe și variabile nu este totdeauna convenabilă pentru contabilitate. O altă metodă
utilizată este aceea în care contabilitatea se gândește în termenii: costurile muncii directe, costuri materiale și
costuri suplimentare.
Costul muncii directe este suma salariilor plătite muncitorilor pentru operarea mașinilor, costurile materiale
sunt costurile cu materiile prime, costurile suplimentare sunt toate celelalte costuri implicate în procesul de
producție.
Costurile suplimentare pot fi împărțite în costurile suplimentare cu producția și costurile suplimentare ale
companiei.
Costurile suplimentare cu producția include: costurile de operare pentru realizarea producției si altele decât
costurile muncii directe.
Costurile suplimentare ale companiei sunt costurile companiei altele decât costurile de producție.

Costurile suplimentare de producție pot depăși de câteva ori costurile muncii directe. Se stabilește un factor
numit rata costurilor suplimentare de producție și acesta caracterizează de câte ori costurile suplimentare de
producție depășesc costul muncii directe:

Costuri suplim prod


Factor cost suplim. prod.
Costul muncii directe

Similar se definește un factor de multiplicarea a costurilor muncii directe, pentru activitățile companiei
(costurile de management, salariul angajaților, ingineri, contabili, etc.).

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


1.12 Analiza costurilor (metoda punctului de intersecție ( metoda “break-even”)

Aceasta este o metodă de stabilire a efectului schimbarilor volumului de producţie asupra costurilor,
încasărilor şi profitului.

- Analiza profitului - Analiza costurilor comparative

Costuri, Incasari Costuri totale


Incasari
Costuri totale in
Profit varianta manuala

Costuri totale
Costuri totale in
varianta
automatizata

Volum producţie Volum producţie


Qmin Qmin

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Costurile pe unitatea de produs

- Analiza soluţiei de investiţie pe baza comparăii preţurilor pe unitate de produs

Costul pe unitate de produs (Cu) se calculează împărţind costurile totale (Ct) la mărimea lotului (Q). Costurile
totale se calculează sumând costurile fixe (Cf) cu costurile variabile (Cv) înmulţite cu mărimea lotului :

C C C Q
C C C Q
C
Q Q
Costuri/unitate
de produs

Variatia costurilor
unitare in varianta
manuala

Variatia costurilor
unitare in varianta
automatizata

Qmin Volum producţie

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


- Costurile producţie
La momentul to costurile de producţie sunt egale cu costurile materiilor prime (Cm). Durata unei operaţii este:
TFi=Tsu+QTo+Tno, iar costurile pentru fiecare operaţie se calculează cu relaţia : Ci=CoTp+Cno, unde Ci este costul
operaţiei i, Co este costul operaţiei, Tp este timpul de fabricaţie al lotului:
T T QT
şi Cno este costul non operaţiilor. Variaţia costurilor la fiecare operaţie se ilustrează în urmatorul grafic:

Costul
fabricatie CoTo+Cno

Tsu+QTo+Tno

∑(CoTo+Cno)

Cm

1 2 3 nm-1 nm
Timpul de fabricatie

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Cap. 2 Sistemul CIM (Computer Integrated Manufacturing)

2.1 Introducere

Definiţia după CASA (Computer and Automation Systems Association):


CIM este conceptul de integrare totală a activităţilor întreprinderii realizat prin integrarea sistemelor, a
comunicaţiilor de date şi a noi filozofii manageriale care îmbunătăţesc eficienţa organizatorică şi de personal.

Definiţia după dicţionarul APICS:


CIM – Integrarea organizatorică totală a fabricaţiei prin folosirea sistemelor de calcul şi a filozofiilor
manageriale cu scopul de a îmbunătăţi eficienţa organizatorică; utilizarea calculatoarelor pentru a interfaţa
diverse sisteme de calcul şi conectarea acestora coerentă într-un tot unitar. De exemplu sectorul financiar,
CAD/CAM, controlul proceselor, sistemele grupului tehnologic, MRPII, sistemul de raportări financiare sunt
legate prin interfeţe.

Mediul informational al unei intreprinderi suporta schimbari frecvente in configuratie si tehnologie. O


arhitectura CIM este un sistem informatic care permite intreprinderilor industriale sa integreze informatiile si
procesele afacerii, oferind o structura flexibila care ii permite sa reactioneze rapid la aceste schimbari. Structura
se bazeaza pe un numar de elemente modulare care se pot modifica usor si se pot dezvolta dupa cerintele
intreprinderii.

Modelul conceptual al unui sistem CIM este ilustrat de Society of Manufacturing Engineers in figura
urmatoare.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Transformari Definirea
ciclu de viata afacerii
Vanzari si produs Proiectare
promotie sistem

Organizatii Imbunatatire
globale continua

Sevicii Documentatie
clienti (1) si lansare
Clienti
Planificare
Productie resurse
componente

Asamblare Planificare
si testare operatii

Modelul conceptual al unui sistem CIM ilustrat de Society of Manufacturing Engineers

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Conceptul CIM are o dezvoltare pe niveluri :

• nivelul 1: Clienţii reprezintă ţinta principală pentru toate activităţile şi efortul de fabricaţie.

• nivelul 2: Acest nivel cuprinde metodele de organizare, motivare, perfecţionare, evaluare şi comunicare
dezvoltate pentru realizarea muncii în echipă şi pentru cooperare.

• nivelul 3: se referă la partajarea cunoştinţelor, sistemelor şi a bazelor comune de date utilizate pentru a
ajuta personalul şi procesele. Resursele includ instrumente manuale sau de calcul pentru a ajuta proiectarea
cercetarea, elaborarea documentaţiei luarea deciziilor şi controlul tuturor activităţilor.

• nivelul 4: Sunt trei categorii principale de procese : definirea produsului şi a proceselor, fabricaţia şi
suportul clienţilor.
– Definirea produs/proces: Definirea afacerii, proiectarea produsului, proiectarea componentelor,
perfecţionarea proiectului, documentaţia şi lansarea produs.
– Fabricaţie: Managementul materialelor, asamblare şi testare, fabricaţia componentelor,
– Planificarea: Planificarea capacităţilor, planificarea resurselor.
– Suportul clienţilor: vânzări şi promovare, tranziţii pe timpul ciclului de viaţă, servicii clienţi.

• nivelul 5: resursele companiei care includ: capitalul, personalul, materiale, management, informaţii,
tehnologie şi furnizori. Compania are responsabilităţi către angajaţi, investitori, şi comunitate. Trebuie să
respecte reguli de etică şi obligaţii faţă de mediu.

• nivelul 6: Infrastructura. Aceasta include clienţii, furnizorii, competitorii, distribuitori, resurse naturale,
pieţe financiare, comunităţi, guverne, instituţii de învăţământ şi de cercetare.

In figura urmatoare este o alta reprezentare a structurii CIM ce evidentiaza: procesele datele si resursele
sistemului.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Managementul
resurselor umane

Proiectare

Planificarea si
controlul
Productie
fabricatiei
(MPC)

Modelul sistemului CIM cu evidentierea proceselor datelor si resurselor sistemului


Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi
Structura CIM include trei procese care se suprapun. Zona comună reprezintă datele şi resursele. De
asemenea cele trei procese sunt susţinute de resursele din cercul care le înconjoară:

• Proiectare şi elaborarea documentaţiei, denumită „product/process” şi care include: definirea afacerii,


proiectarea sistemului, proiectarea componentelor, îmbunătăţirea continuă, documentaţie şi lansare. Acest
sistem poartă denumirea de CAD.
– CAD – utilizarea calculatoarelor în desenul tehnic interactiv şi în arhivarea proiectelor. Programele
realizează forma, transformări geometrice, proiecţii, rotaţii, schimbarea scării de reprezentare,
secţiuni, vederi parţiale a părţilor şi a relaţiilor dintre acestea (definiţia APICS).
– CAE – Procesul de generare şi testare a specificaţiilor tehnice pe platforme de calcul.

• Planificarea si controlul fabricatiei (MPC) include procesele de planificare programare, managementul


inventarului, planificarea capacităţilor, necesare pentru desfăşurarea eficientă a fabricaţiei. Procesul
include: managementul materialelor, elaborarea specificaţiilor de asamblare şi testare, fabricaţia
componentelor, planificarea operaţiilor, şi planificarea resurselor.
– CAPP – O metodă de planificare a proceselor în care sistemul de calcul asistă în dezvoltarea
planurilor proceselor de fabricaţie (definirea operaţiilor, secvenţa, cerinţele de maşini şi scule,
parametrii de fabricaţie, toleranţe, criterii de inspecţie). Inteligenţa artificială şi sistemele de codificare
şi clasificare sunt utilizate în generarea planului de procesare.
– CAM – Utilizarea programelor de calculator pentru programarea, comanda controlul echipamentelor
de producţiei pentru fabricaţia componentelor.
– CNC – O tehnică prin care controlerele maşinilor unelte utilizează calculatoare sau microprocesoare
pentru stocarea şi execuţia instrucţiunilor numerice.
– PAC (Production activity control): funcţia de rutare şi lansare în fabricaţie a operaţiilor care trebuie
executate pe facilităţile de producţie şi realizarea controlului furnizorilor. PAC cuprinde tehnicile
necesare de programare, control, măsură şi evaluare a eficienţei operaţiilor de producţie.
– MRPII – Manufacturing resource planning O metodă pentru planificarea eficientă a tuturor
resusrselor de fabricaţie ale companiei. Este compus din: planificarea afacerii, planificarea vânzărilor
şi a operaţiilor, planificarea producţiei, planul de producţie, planificarea necesarului de materiale,
planificarea capacităţilor.

• Productie: Ultimul proces include activităţile asociate cu producţia sau cu “shop floor”.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Computer Integrated Manufacturing (CIM)

Nivelul operational
Nivelul strategic Nivelul tactic
Fabricatia asistata de
Managementul asistat de calculator Ingineria asistată de calculator (CAE) calculator (CAM)

Sistemul de luare a Sisteme informatice Asigurarea Ingineria


Proiectare Analiza Controlul shop-floor
deciziilor de fabricaţie calitatii fabricatiei

- AI: Inteligenţa - MIS: Sistemul - CAD - FEA -CAQ - CAP - CNC


artificială informatic de - GT - FEM -- SPC - GT - Roboti
- DSS: Sisteme de management - NC - FMS
- MRP: Planificarea - WIP
support al deciziei necesarului de - AS/RS
- DBMS: Sistemul de materiale
management al bazei - BOM: Lista de
de date materiale

Modelul sistemului CIM cu evidentierea nivelurilor ierarhice

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


PPS CAD/CAM

Plan Ciclul de
MPS productie CAE
productie

Planificare
Planificare
Planificare MRP
materiale
Proiectare CAD

CAP Planificare Plan de


capacitati lucru
Programe
Comanda si NC
planificarea Pregatirea Comanda
productiei fabricatiei
Transport
Colectare

CAM
Realizare

Realizare
date proces
Asamblare
Control
montaj Asamblare

Comanda Control
CAQ
expeditie calitate

Modelul in Y a sistemului CIM

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


2.2 Etapele introducerii conceptului CIM:

• 1. Evaluarea întreprinderii sub aspectul : tehnologiei, a resurselor umane şi a sistemului.

– Analiza nivelului tehnologic şi gradul de sofisticare a proceselor utilizate în fabricaţie.


– Nivelul cunoştinţelor angajaţilor privind conceptului CIM
– Analiza critică a sistemului de producţie în care urmează să se introducă conceptul.

Obstacole pentru implementarea CIM :

Lipsa experienţei în interiorul întreprinderii 55%, la nivel managerial nu se obţin beneficii


48%, planificare inadecvată sau lipsă de viziune 46%, metode inadecvate de analiză a costurilor
43%, lipsa de fonduri 36%, frica eşecului implementării 27%, companii care nu au nevoie 8%,
altele 5%.

• 2. Simplificarea şi eliminarea pierderilor. Simplificarea este procesul de eliminarea a pierderilor la nivelul


operaţiilor sau a activităţilor pentru îmbunătăţirea productivităţii şi eficienţei departamentelor şi
organizaţiei.

• 3. Implementarea cu măsurarea performanţelor. Parametrii evaluaţi: timpul ciclului de producţie, durata de


staţionare în inventar, timpii de pregătire a fabricaţiei, eficienţa fabricaţiei, calitatea, productivitatea
angajaţilor.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


2.3 Componente tehnologice in structura CIM

Structura flexibila a sistemului se bazeaza pe utilizarea urmatoarelor componente tehnologice:


comunicatiile si distribuirea datelor, managementul datelor (definirea, stocarea, securitatea si gestionarea
modului de utilizare a datelor) si prezentarea datelor utilizatorilor si dispozitivelor din componenta
intreprinderii.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


a. Comunicatiile

In figura de mai jos este prezentata comunicatia la nivelul intreprinderii.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Comunicatiile prin rolul lor de a distribui datele intreprinderii catre utilizatori, sisteme si dispozitive,
reprezinta un aspect critic al arhitecturii, sistemul de fabricatie utilizand o gama larga de sisteme de calcul,
tehnologii, arhitecturi de sisteme, sisteme de operare si aplicatii. Aceasta diversitate creaza o dificultate
deosebita in realizarea comunicatiei dintre oameni si masini, in special cand utilizeaza formate diferite
pentru date. Plecand de la aceasta problema IBM dezvolta sistemul SNA- System Network Architecture, cu
rolul de a permite comunicatia dintre diferite sisteme IBM. In decursul anilor sistemul a devenit un standard
de comunicatii in multe companii industriale. Cerintele CIM necesita o integrare mai larga decat cea oferita
de sistemul SNA. De exemplu la nivelul sistemului de productie (“shop-floor”), solutia oferita de IBM este
IBM Plant Floor Series, un set de produse software. O componenta a setului, Distributed Automation
Edition (DAE) este un sistem ce permite functii de comunicatie pentru aplicatiile de la nivelul shop-floor:

- definirea si menagementul retelelor


- asignarea dispozitivelor logice
- managementul bibliotecilor de programe
- rutarea mesajelor si gestionarea mesajelor in cozi de asteptare
- Stabilirea unor proceduri de alertar
- Monitorizarea starii celulelor de lucru

DAE suporta diferite protocoale de comunicatie ca de exemplu protocolul ISO token-ring MAP
(Manufacturing Automation Protocol) , IBM-PC Network sau protocolul CSMA/CD, TOP (Technical
Office Protocol). Aceste functii ii permit sistemului DAE sa asiste ingineria fabricatiei in dezvoltarea
programelor, controlul centrelor de lucru si sa ofere capabilitati de comunicatie intre sistemele zonale si
sistemul central.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Managementul si prezentarea datelor

Sistemul de managementul datelor - reprezinta de asemenea o componenta critica datorita diferitelor baze
de date, formate, metode de stocare si accesare a datelor. Managementul datelor defineste si inregistreaza
locatiile datelor create si utilizate de functiile afacerii intreprinderii. De asemenea sistemul permite
accesarea datelor fara a fi cunoscuta locatia in care se gasesc datele. In arhitectura CIM, managementul
datelor este realizat prin trei functii de depozitare individuale:

- Aria de depozitare a datelor


- Stocarea datelor intreprinderii
- Fisiere de date locale

Functiile principale ale managementului datelor sunt implementate de Consolidated Design File (CDF),
functii stabilite prin IBM Data Communication Service (DCS). CDF opereaza cu baze de date relationale si
este construit pe limbajul SQL. Un exemplu de utilizare este la nivelul bazei de date care integreaza
componentele CAD/CAM cu cerintele afacerii prin functiile de management al proceselor ingineresti. In
acest mediu, sistemul IBM DCS/CDF furnizeaza urmatoarele functii:

- Transforma datele in formatul cerut de utilizator


- Depoziteaza datele CAD/CAM
- Adauga atributele datelor CAD/CAM
- Permite utilizatorilor sa interogheze date si atribute.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi
Prezentarea datelor in mediul CIM

Functia aceasta asigura ca datele sa ajunga in formatul corespunzator la utilizatori si dispozitive. Aceasta
functie este critica datorita faptului ca sistemul de fabricatie contine o gama foarte larga de dispozitive si de
cerinte informationale, trebuie sa asigure un mod consistent de distribuire si prezentare a informatiei catre
oameni, masini unelte, roboti, senzori, sisteme cu coduri de bare, vehicule ghidate automat (AGV) si
sisteme AS/RS.

Gama informatiilor cuprinde de la mesaje simple la transferul unor arii mari de date pentru aplicatii de
proiectare inginereasca.

Sistemele sunt distribuite si informatia trebuie trimisa in locatiile in care este ceruta de utilizatori sau
dispozitive.
Echipamentele utilizate pentru prezentarea datelor sunt display-uri care utilizeaza diferite tehnologii. Unele
sunt ne-programabile in timp ce altele sunt statii de lucru programabile si sunt implementate in mod unic
pentru fiecare aplicatie.

In consecinta aceeasi informatie este tratata diferit de diferite aplicatii.


De exemplu, o componenta a produsului fabricat este tratata ca un cod in aplicatia Listei de materiale, a
sistemului de Planificare a Productiei, ca un desen in CAD sau ca o componenta in proiectarea rutelor
Planului de Operatii.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


2.4 Concepte IT şi sisteme informaţionale pentru conducerea fabricaţiei.

Sistemul informaţional - cuprinde ansamblul mijloacelor şi procedurilor de prelucrare, clasificare,


stocare, difuzare şi valorificare a datelor şi informaţiilor la nivelul unei entităţi economico-sociale.

Obiectivul principal este acela al furnizării de informaţii sub formă utilizabilă la momentul oportun, în
scopul asigurării bunei funcţionări a sistemelor operaţionale, precum şi luării deciziilor la diferite niveluri.

Acest obiectiv este susţinut de doua caracteristici principale ale sistemului informaţional:

- sprijinirea procesului decizional şi


- coordonarea intr-un sistem cu mai multe niveluri.

Într-o primă clasificare, bazată pe funcţia sistemului informaţional, acesta poate fi de mai multe tipuri:

 de prelucrare a tranzacţiilor: Transaction Processing System (TPS) – Sistemul de Procesare a Tranzacţiilor,

 de conducere: Management Information System (MIS) - Sistemul Informaţional al Managementului,


Integrated Information System (IIS) – Sistem Informaţional Integrat şi Enterprise Wide Systems (WIS) –
Sistemul Lărgit al Întreprinderii (o aplicaţie in care logistica este considerata ca parte a sistemului),

 de sprijinire in luarea deciziilor: Decision Support System – (DSS) şi

 pentru conducere executiva: Executive Information System – (EIS).

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Functiile sistemelor informationale:

TPS - preia datele generate de activitatea internă economico-socială în baza de date internă şi constituie
infrastructura unuia din nivelurile sistemului informaţional.

MIS – pleacă de la TPS şi sintetizează informaţiile, in rapoarte periodice cu un format predefinit.

DSS – Deoarece rapoartele oferite de MIS nu sunt suficient de relevante pentru luarea deciziilor, mai ales
la nivelurile superioare, s-au dezvoltat sistemele DSS. În general exista mai multe DSS intr-o întreprindere
deoarece, de exemplu, controlul tactic financiar este foarte diferit în ceea ce priveşte cerinţele informaţionale de
controlul tactic al producţiei.

EIS (CIS) – Sistemul de sprijinire a deciziilor la nivelurile superioare de conducere este denumit sistem
informaţional pentru conducere executiva, dezvoltat in formele:

- Executive Information System (EIS) – Sistemul Informational Executiv


- Corporate Information System (CIS) – Sistemul Informaţional al Corporaţiei.

Acestea integrează informaţii provenind de la mai multe surse interne şi externe întreprinderii şi permit
managerilor să controleze şi să dispună de informaţiile necesare luării deciziilor, prezentate intr-un mod
personalizat.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Sistemul informaţional la care operarea este asistată de calculator sau decurge automat poartă denumirea de
sistem informatic.

Sistemul informatic este structurat ierarhic pe nivelurile:

 tranzacţional (se prelucrează evenimente elementare ce reprezint activităţile întreprinderii),

 operaţional (reprezinta nivelul cel mai de jos al deciziei in întreprindere),

 tactic (informaţiile obţinute reprezintă suportul de nivel intermediar al deciziei, esenţiale in activitatea de
control),

 strategic (suportul deciziei de nivel înalt pentru probleme complexe şi puţin repetitive).

Funcţiile sistemelor informatice in procesele manageriale sunt: înregistrarea tranzacţiilor, gestiunea şi


stocarea operaţiilor, sprijinirea in luarea deciziilor si comunicarea.

Subsistemele de înregistrare a tranzacţiilor sunt cele mai puternic automatizate, deoarece aici s-au
concentrat majoritatea aplicaţiilor informatice. Funcţiile esenţiale sunt in acest caz:

 preluarea faptelor elementare,


 stocarea si gestiunea datelor componente in fişiere si baze de date.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


2.5 Sistemul de management al informaţiilor (MIS)

Definiţie: Un sistem informatic care permite ca informaţia, sub forma rapoartelor periodice, rapoartelor speciale
sau rezultate din simulare, sa fie accesibilă utilizatorilor de la aceeaşi arie funcţională, de la acelaşi nivel de
management sau utilizatorilor, manageri sau non-manageri care au aceleaşi cerinţe. MIS este o resursă organizaţională
care furnizează informaţii din trecut, prezent şi elaborează informaţii referitoare la evoluţii viitoare. A constituit prima
încercare de a face datele disponibile managementului, fiind introdus în anii 1960.

In contextul actual MIS este un subsistem al sistemului global de control al afacerii ce acopera aplicatiile
utilizatorilor, documente, tehnologii si proceduri utilizate de managerii contabili pentru a solutiona probleme ale
afacerii precum: costurile produsului, servicii sau strategii de afacere.
Sistemele MIS sunt utilizate pentru a analiza alte sisteme de informatii aplicate in activitatile operationale ale
organizatiei. Termenul este folosit uzual pentru a se face referire la grupuri de metode de managementul informatiei
folosite pentru automatizarea sau suportul uman in luarea deciziei.

La inceput, in afaceri sau in alte organizatii, rapoartele interne pe produse erau facute manual si numai periodic,
de sistemul contabil. Acestea aveau adaugiri statistice si ofereau informatii limitate si intarziate sistemului de
management. Apoi datele au fost separate individual pe persoane, in functie de cerintele informatice individuale ale
departamentelor din care faceau parte. Mai tarziu s-a facut o distinctie intre date si informatii, stocandu-se colectii
mari de date in functie de cerintele organizatiei

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• Avantaje:
• Aduce contribuţii prin faptul că formează o resursă de management a informaţiei la nivel organizaţional (arie
functionala, manageri, etc)
• Asigură furnizarea continuă de informaţii către manageri pentru identificarea şi înţelegerea problemelor.

• Modelul MIS:
Baza de date: Sistemul de informaţii intra-organizaţional:
- Date şi informaţii despre mediu - Modele matematice
- Software pentru elaborarea rapoartelor

Rezolvarea problemelor
organizaţiei

Software pentru Modele matematice


elaborarea rapoartelor

Baza de
date Sistemul de Management
al Informaţiilor (MIS)

Mediu
Date Informaţii

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Modelarea matematica
Modelele sunt abstracţii ce pot fi:
– statice sau dinamice
– deterministe sau probabilistice
– optimizatoare sau suboptimizatoare (vezi lab1)

Simularea - folosirea unui model este denumită simulare


- ‘Scenarii’ – condiţii care influentează modelul
- Variabilele de decizie sunt valorile de intrare
- Formatul de ieşire variază

Ieşirea grafica
Se folosesc grafice pentru:
– Prezentarea unui sumar rapid al datelor
– Detectarea unor tendinţe in timp
– Activităti de prognoză
– Se caută o impresie simpla asupra unui volum mare de date

Tipuri de grafice
– Linii sau bare pentru a rezuma datele
– Linii grupate sau bar charts pentru a ilustra tendinţa
– Bare chart grupate pentru reprezentarea parţilor ca un întreg
– Compararea variabilelor folosind bare orizontale nu verticale
– Linii simple sau bare chart pentru compararea datelor

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Software pentru elaborarea rapoartelor

Elaborează rapoartele periodice şi cele speciale pot avea aceeaşi structură, diferenţa dintre ele
constând in:
 Rapoartele periodice – produse conform programării
 Rapoarte speciale – produse când are loc un eveniment deosebit

Incorporarea managementului excepţiilor


 Pregătirea rapoartelor numai când au loc excepţii
 Folosirea secvenţei rapoartelor pentru a scoate in evidenţă excepţiile
 Gruparea excepţiilor
 Prezentarea variaţiei faţă de normă

Exemple de rapoarte furnizate de sistem:

Raport de vânzări
pentru sfârşitul săptamânii

16-10 Receptii $ 2,305.00 $ 5,319.20


16-11 Inspectie $ 1,025.60 $ 4,386.12
16-12 Manipulari materiale $ 3,392.50 $12,629.00
16-13 Scule $ 78.00 $ 1,049.00
16-14 Asamblare $ 0.00 $ 792.80
16-15 Plating $ 3,504.90 $12,635.20
16-16 Livrare $ 5,219.16 $18,294.16

TOTAL: $15,525.16 $55,105.48

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Vanzari pe produs
pentru luna iunie

NUMAR NUME VANZARI VANZARI


PRODUS PRODUS LUNA CURENTA Cumulate

129875 CUTIE CENTRU GASKET $ 5,090.23 $ 31,764.00


087235 AX PRINCIPAL 4,760.01 29,329.45
118320 AX 1 DE MISCARE 1,789.45 28,243.59
250067 GARNITURA ULEI 11,560.24 23,450.07
228203 REDUCTOR 8,369.34 14,709.03
576000 HUB 5 .00 13,623.68
516012 MANETA FURCA 450.95 12,634.44
090407 INEL DE SINCRONIZARE 2 2,243.27 9,963.58

282130 MANETA DE LEVIER .00 490.00


576301 GARNITURA POMPA ULEI .00 11.50

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


GRAFIC DE LINII MULTIPLE GRUPATE GRAFIC TIP BARE GRUPATE
Profit vanzari
Profit vanzari
90
80
70
60
50
40
30
20
10
0
1980 1981 1982 1983 1984

Apples Oranges Peanuts

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


GRAFIC CU SEGMENTE DE BARE DIVIZATE

Vânzări Beneficiu

200

150
Milioane dolari

100

50

0
1980 1981 1982 1983 1984
Legenda:
Apples
Oranges
Peanuts

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


2.6 Sisteme de suport in luarea deciziilor
Definitia unui Sistem de suport al deciziei (DSS)

Definitia (Gorry si Scott-Morton – 1971) – un DSS este un sistem interactiv bazat pe calculator care ajuta in
luarea deciziilor, utilizeaza date si modele pentru a rezolva probleme nestructurate.
(Keen si Scott-Morton – 1978) - un sistem DSS cupleaza resursele intelectuale ale indivizilor cu capabilitatile
calculatorului pentru a imbunatati calitatea deciziei. Este un sistem bazat pe calculator pentru, managementul luarii
deciziilor, care este utilizat in probleme semistructurate.

Definitie: un sistem ce furnizeza atat rezolvarea-problemelor cat si capabilitati de comunicare pentru probleme
semistructurate.

In particular – un sistem care suporta un singur manager sau un grup relativ mic de manageri care lucreaza in
echipa pentru rezolvarea unei probleme semistructurate prin furnizarea unor informatii sau facand sugestii cu privire
la decizii specifice.

Luarea deciziei

Fazele (activitatile) in luarea deciziilor

 Inteligenta:
 Gaseste probleme, defineste problema (cauze, scopuri, restrictii)
 Proiectare
 Creeaza, inventeaza, deriveaza diferite solutii posibile
 Alegere
 Analizeaza alternative, alege, implementeaza
 Revizuire
 Examineaza rezultatele si le revizueste dupa caz.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Structurarea informatiilor

 La nivelul cel mai de jos in rezolvarea problemelor se gaseste extragerea elementelor de informatie
 Pe nivelul superior se gaseste actiunea de scoaterea informatiilor din fisiere
 Realizarea unor rapoarte din fisiere multiple
 Sisteme care pot estima consecintele deciziilor
 Sisteme care pot propune decizii
 Si pe nivelul cel mai de sus sisteme care pot lua deciziii

Luare
Propunere decizii
decizii Gradul de
Estimarea
consecintelor suport in
Pregatire deciziei rezolvarea
Analiza rapoarte problemelor
Scoaterea intregului
elementelor din
fisier fisiere
de
informatie multiple

Mic Gradul de complexitate


Mare
in rezolvarea
problemelor

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Tipuri de probleme

• Probleme structurate constau din elemente si relatii intre elemente intelese de rezolvitorul problemei.
Problemele structurate pot fi rezolvate prin algoritmi si reguli de decizie

• Probleme nestructurate sunt problemele care nu contine elemente sau relatii intre elemente care sa fie
intelese de rezolvitor. Problemele nestructurate nu prezinta activitati in luarea deciziei

• Probleme semi-structurate sunt problemele care contine unele elemente si relatii care sunt intelese de
rezolvitor si unele nu. Problemele semi-structurate au faze structurate si nestructurate

Tipuri de decizii

 Programate.
- repetitive si de rutina
- dupa o procedura definita, pusa la punct pentru rezolvare

 Neprogramate.
- noi, nestructurate si intr-o secventa neobisnuita.
- nu este o metoda stabilita de rezolvare
- necesita o modalitate particulara de abordare

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Gradul de structurare a problemelor la diferite nivele
de management, dupa Gorry si Scott Morton

Nivele de management
Controlul Controlul Planificare
operatiilor managementului strategica

Contul de plati Bugetul de Structura


costuri analiza- productiei
Structurate Intrare ordine inginerie produs
Magazii si
Controlul Prognoza pe termen locatie fabrici
Gradul de inventarului scurt
structurare a Semistructurate
problemelor Programarea Analiza variatiilor Aliante si achizitii
productiei bugetului global
Planificare noi produse
Nestructurate Managementul Pregatire
lichiditatilor buget Planificare
cercetare dezvoltare
Sisteme Vanzari si
PERT/COST productie

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


DSS se focalizeaza pe probleme semistructurate

Manager + Calculator
Solutie (DSS)

Solutii gasite
de Solutie
calculator manager

Structurate Semi-structurate Nestructurate

Gradul de structurare a problemei

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


 Functiile DSS

Sistemele DSS s-au dezvoltat din doua domenii principale de cercetare:

- studiile teoretice privind luarea deciziilor in organizatii, facute la Carnegie Institute of Technology intre
anii 1950-1960

- studiile privind sistemele de calcul interactive facute la MIT in anii 1960. Se considera ca sistemele DSS
au devenit un domeniu independent de studiu la mijlocul anilor 1970 si au crescut in intensitate in anii 1980.

Dupa anii 1980, sistemele DSS au evoluat spre:

- sistemele EIS,
- DSS orientate pe un singur utilizator.
- sisteme suport in luarea deciziei in grup si sisteme de suport al deciziei la nivel organizational.
- DSS pentru imbunatatirea eficientei manageriale si a activitatilor profesionale
- statiilor de lucru inteligente.

Din punctul de vedere al obiectivelor sistemele DSS au evoluat de la: sisteme de luarea deciziilor bazate pe
calculator, la sisteme interactive de luarea deciziilor care permiteau utilizarea bazelor de date si modele pentru
rezolvarea problemelor nestructurate.

 Folosite pentru:

- Asistare in rezolvarea problemelor semistructurate


- Sa asiste managerul nu sa-l inlocuiasca
- Sa contribuie la luarea efectiva a deciziilor

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Caracteristici suplimentare au fost adaugate pentru a permite rezolvitorilor de probleme sa lucreze in grup,
asa numitul sistem de suport al deciziei in grup.

Tendintele recente au adaugat elemente de inteligenta artificiala si programarea analitica online (OLAP).

Modele DSS

Mediu

Rezolvitori individuali Alte grupuri


de probleme membre

Software elaborare Modele


GDSS software Legenda:
rapoarte matematice

Data

Baza de date
Comunicatie
Sistem de
suport al deciziilor Informatie

Mediu

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Alte sisteme de Internet, intranet,
Date externe calcul extranet

Managementul Managementul
Date interne Modele externe
datelor modelului

Sisteme bazate pe Subsisteme bazate pe


cunostinte cunostinte
organizationale

Interfata utilizator

Manager (utilizator)

Tipuri de sisteme DSS:


- Sisteme care sugerează decizii
- Sisteme care optimizează
- Modele de reprezentare
- Modele de contabilitate
- Sisteme informatice de analiza
- Sisteme de analiza datelor
- Sisteme care extrag fisiere

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• Sisteme care extrag fişiere: sunt cele mai simple tipuri de DSS. Pot furniza accesul la unitati de informatii,
acestea conducand direct la luarea deciziei.
Ex: o maşina ATM. Se descoperă intîi balanţa contului şi apoi se decide suma care se extrage

• Sistem de analiza datelor: furnizează accesul la date şi permite manipularea acestora.


Ex: Un sistem de rezervare a biletelor de avion. Nu mai sunt bilete, se găseşte o soluţie alternativă, pe baza
informaţiilor se face un plan de zbor.

• Sisteme informatice de analiză: furnizează accesul la multiple surse de date, combină datele de la surse
diferite şi are capabilităţi de analiză.
Ex: Compară creşterea profitului cu media industrială (necesită accesul la mai multe surse de informaţii)

• Modele contabile: folosesc date contabile şi furnizează capabilitţi de modelare contabilă fără a putea
gestiona incertitudinile.
Ex: Pe baza listei de materiale calculează costurile de producţie, ia decizii asupra preţului.

• Model de reprezentare: foloseşte modele pentru a rezolva probleme de decizie, folosind prognoza. Poate fi
folosit pentru lărgirea capabilităţilor modelelor contabile şi pot încorpora incertitudini.
Ex: Foloseşte datele privind cererea de produse pentru a prognoza cererea anului următor. Foloseşte
rezultatele pentru a lua decizii de inventar.

• Sisteme de optimizare: sunt folosite pentru a estima efectele a diferite alternative de decizie pe baza
modelelor de optimizare şi pot încorpora incertitudini.
Ex: Asignează personalul de vînzări pe un anumit teritoriu. Asigură cea mai bună programare relativ la un
indice de performanţă.

• Sisteme de sugestii: folosesc un model descriptiv care poate fi utilizat pentru sugerarea celei mai bune
acţiuni sistemului de luarea deciziiilor. Au un model prescriptiv care poate fi folosit pentru a sugereza
sistemului cea mai bună acţiune şi pot încorpora un sistem expert.
Ex: Clienţii unei bănci aplică pentru un împrumut. Se foloseşte sistemul pentru a recomanda o decizie.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


2.6 Sistemul informatic executiv (Executive Information Systems – EIS)

O companie fără un EIS

Informaţii şi date din mediu

Manageri
de nivel înalt

Sistemul Sistemul Sistemul Sistemul


informatic de informatic de informatic al
informatic
marketing fabricaţie resurselor
contabil
umane

Informaţii şi date din mediu

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


O companie cu un sistem informatic executiv - EIS

Informaţii şi date din mediu

E I S

Sistemul Sistemul Sistemul Sistemul


informatic de informatic de informatic informatic al
marketing fabricaţie contabil resurselor
umane

Informaţii şi date din mediu

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Modelul unui sistem informatic EIS

Statie de lucru executiva


Cereri de
informatii
Baza de
date Calculator
Afisare
executive
informatie

Catre Catre
alte statii alte statii
executive executive

Corporate
database
Face disponibila
Electronic Noutati,
informatia de la
mailboxes explicatii
nivelul corporatiei
Software
library

Corporatie

Date si informatii
externe

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


2.7 Sisteme informatice de planificare

Evoluţia acestora a plecat de la metoda:

 controlului inventarului - Inventory Control (IC), prin care comanda unui lot era lansată ori de cate ori
cantitatea din inventar se reducea sub un nivel fixat, cunoscut sub numele de punctul de lansare a comenzii.
 planificarea necesarului de materiale Material Requirements Planning (MRP), care este caracterizată de
un set de tehnici ce utilizează datele din lista de materiale şi planul de productie pentru a calcula necesarul
de materiale; se generează recomandări de lansare sau replanificare a comenzilor la anumite intervale de
timp şi se reprogramează data la care este necesară satisfacerea comenzii, fără ca aceasta să fie corelată cu
data lansării comenzii. Sistemul MRP utilizează lista de materiale a produselor din planul de producţie şi
determină cantităţile necesare ale tuturor componentelor si materialelor necesare pentru fabricaţia acelor
produse, împreună cu toate datele necesare, la fiecare increment de timp din orizontul considerat.
 planificarea necesarului de materiale II, (MRPII) este o metodă efectivă de planificare a tuturor resurselor
unei companii de fabricaţie. Aceasta implică planificarea operaţională, cu capabilităţi de simulare de tip ce-
se-întamplă-dacă.

Un astfel de sistem este constituit dintr-o varietate de funcţii, interconectate, ca de exemplu: planificarea
afacerii, planificarea operaţiilor şi a vânzărilor, planificarea producţiei şi a sistemului de suport al execuţiei, etc.

Ieşirea sistemului este integrată cu rapoartele financiare, ca de exemplu planul de afaceri, raportul
achiziţiilor contractate, proiecţia cheltuielilor de transport, a bugetului şi a inventarului.

MRPII este astfel o dezvoltare si extensie a MRP in buclă-închisă, care conduce spre o utilizare mai
eficienta a resurselor, o reducere a inventarului, micşorarea timpilor de inactivitate, micşorarea strangulărilor in
procesul de producţie, o îmbunătăţire a planificării, o micşorare a timpilor de lansare a fabricaţiei şi flexibilitate
în programarea producţiei.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


 Sistemul de Planificare al Întreprinderii, Enterprise Resource Planning (ERP) este un sistem informatic
orientat pe contabilitate, pentru identificarea şi planificarea pe scară largă a resurselor necesare pentru a
achiziţiona, produce, livra si contabiliza comenzile clienţilor intr-o întreprindere de fabricaţie şi servicii
distribuite.
Un sistem ERP diferă de sistemul MRPII prin cerinţe tehnice precum: necesitatea unei interfeţe grafice
utilizator, utilizarea bazelor de date relaţionale, utilizarea unui limbaj de generaţia a patra si instrumente
ale ingineriei software de asistare prin calculator pentru dezvoltarea unei arhitecturi client/server,
portabilă şi deschisă, a sistemului.

Sinteza aplicatiilor software pentru planificarea fabricatiei

• IC – Inventory Control – Controlul inventarului


• Material Requirement Planning (MRP) – Sistemul de planificare a necesarului de materiale
• Material Resource Planning II (MRPII) – Sistemul de planificare a resurselor materiale II
• Enterprise Resource Planning (ERP) – Sistemul de planificare a resurselor intreprinderii
O alta terminologie utilizata este: Money Resource Planning (MRPIII) – Planificarea resurselor financiare
III

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Definitia ERP: O solutie software proiectata in vederea satisfacerii cerintelor intreprinderii, avand viziunea
proceselor acesteia cu scopul satisfacerii obiectivelor prin integrarea stransa a tuturor functiilor.

Ce este ERP:
• O modalitate de integrare pe scara
larga a sistemelor informatice ale companiei
• Realizeaza nucleul activitatilor companiei si creste
gradul serviciilor catre client in scopul cresterii
imaginii companiei.

Ce integreaza ERP:
• Bazele de date
• Aplicatii
• Interfete
• Instrumente

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


De ce ERP:
• O integrare completa a sistemelor din cadrul departamentelor cat si a companiei ca un ansamblu
• O solutie imbunatatita pentru managementul de proiect
• O servire imbunatatita a clientilor
• Introducerea tehnologiilor moderne
• Baze de date ce contin experienta in domeniu

Componentele principale:
• Vanzari si marketing
• Planul de productie
• Planificarea necesarului de materiale
• Planificarea capacitatilor necesare
• Lista de materiale
• Achizitii
• Controlul shop-floor (al productiei)
• Gestiunea conturilor de debite/creante
• Logistica

Probleme pe care le rezolva ERP:


• Imbunatatirea gestiunii materialelor Managementul lichiditatilor
• Problemele inventarului Probleme de calitate
• Imbunatatirea productivitatii Serviciul clientilor

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi
Integrarea sistemelor informatice

Departamentul
central

Fabricaţie Sisteme informatice Departamentul


Marketing vânzări
•Comenzi locale, •Managementul proiectelor •Vânzări, livrare, preţuri
verificare comenzi •Inventar •Achiziţii mărfuri
•Managementul inventarului •Achiziţii •Managementul inventarului
•Vanzari interne, •Vânzări •Serviciul clienţi
•livrare, preţuri •Buget
•Analiză profit/pierdere •Colectare lichidităţi
•Utilizarea capacităţilor

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


3. Aplicatii cu baze de date in sisteme de fabricatie
3.1 Structura unei baze de date

O baza de date este o colectie de date intre care exista relatii logice, proiectata pentru a satisface necesitatile
informationale ale unei organizatii si partajata de mai multi utilizatori si aplicatii. Baza de date contine nu numai
datele operationale ale organizatiei ci si o descriere a lor, fiind definita din acest motiv si ca o colectie autodescrisa
de inregistrari integrate (meta-data – date despre date).

Aplicatie 1 Baza de
DML date 1

DBMS
Baza de
Aplicatie 2
DML (Sistemul de date 2

management al bazei
Utilizator de date)
on-line DML

QL Baza de
Utilizator
on-line date n
DML
DDL

DBA Nivel intern


Nivel extern Nivel conceptual

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


DBMS este un sistem software generalizat pentru manipularea bazelor de date care permite utilizarea, definirea,
crearea si intretinerea bazei de date si accesul controlat la aceasta. Sistemul DBMS consta din elemente de software
care interactioneaza cu programele aplicatie utilizator si cu baza de date si permite urmatoarele facilitati:

- Limbajul de definire a datelor (DDL) bazei de date. Este un limbaj descriptiv, care permite administratorului
DBA sau utilizatorului sa descrie si sa denumeasca entitatile cerute de aplicatie si relatiile care pot exista intre
entitati. Limbajul DDL permite specificarea tipurilor de date si a structurilor, precum si definirea modurilor de
vizualizare (reprezentari ale unor subseturi ale bazei de date).
- Limbajul de manipulare a datelor de catre utilizatorii on-line (DML). Un limbaj care asigura un set de
procedee ce permit operatii de baza pentru manipularea datelor continute in baza de date. Limbajul DML permite
utilizatorilor sa insereze noi date, sa modifice datele stocate, sa regaseasca datele continute in baza de date si sa
stearga date.
- Limbajul de interogare a continutului bazei de date (QL), ofera o facilitate de interogare a acestor date.

In functie de operatiile de extragere se pot deosebi doua tipuri de limbaje DML:


- procedurale (acestea specifica cum se va obtine rezultatul unei instructiuni DML)
- neprocedurale (descriu numai ce date vor fi obtinute). Cel mai obisnuit limbaj neprocedural
este limbajul structurat de interogare SQL.
Principala diferenta consta in faptul ca limbajele procedurale trateaza bazele de date inregistrare cu inregistrare, in
timp ce limbajele neprocedurale opereaza asupra unor seturi de inregistrari.

Sistemul DBMS are o vedere: - logica (schema si subschema datelor)

- fizica (metode de acces, clustere de date, limbajul de definire al datelor DDL,


limbajul de manipulare a datelor DML, utilitare: managementul tranzactiilor si
controlul concurentei accesului, integritatea datelor, recuperarea datelor in cazul
caderii sistemului si securitatea).

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Nivelul logic: Datele sunt structurate dupa o schema.
Schema datelor contine o descriere canonica a tipurilor de date ale aplicatiei, cu
atributele, relatiile si restrictiile lor. Schema datelor este un model static al structurii logice a bazei de
date. Baza de date este o instantiere a acestei scheme, fiind un model temporal al mediului pe care il
reprezinta.
O subschema sau o vedere este o schema adaptata pentru un grup de utilizatori.
Modelul datelor este o colectie integrata de concepte, necesare descrierii datelor, relatiilor dintre date si
a constrangerilor asupra datelor. Acesta cuprinde un set de notatii si concepte operationale pentru
expresiile schemei datelor si contine trei componente:
– o parte structurala (setul de reguli pe baza carora sunt construite bazele de date),
– o parte de manipulare (defineste tipuri de operatii care sunt permise asupra datelor),
– un set de reguli de integritate (care garanteaza ca datele sunt corecte).

Modelele clasice de reprezentare a datelor in bazele de date sunt:

– Modelul plat: Acest model este cel mai simplu model de reprezentare format dintr-un tabel cu doua
dimensiuni. Toate datele unei coloane se presupun a fi valori similare si toate valorile unui rand sunt in
relatii unele cu altele.
– Modelul ierarhic : datele sunt organizate intr-o structura de tip arbore, in care fiecare tabel “child” are o
singura tabela de tip “parent” si fiecare tabel de tip “parent” poate avea mai multe tabele de tip “child”. Se
utlizeaza concepte precum entitate, atribut si relatie. O entitate este un obiect abstract distinct, care va fi
reprezentat in baza de date. O colectie de entitati similare formeaza o multime de entitati. Un atribut este o
proprietate care descrie un anumit aspect al obiectului inregistrat. O relatie este o asociere (o conexiune)
intre doua sau mai multe seturi de entitati. Dezavantajul structurii ierarhice consta in faptul ca orice acces
trebuie sa se faca incepand de la nodul radacina.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


– Modelul retea: datele reprezentate prin noduri numite inregistrari conectate prin legaturi etichetate. Spre
deosebire de modelul ierarhic, un tabel de tip “child” poate avea mai multe tabele de tip “parent”.

– Modelul relational: datele reprezentate prin tabele bidimensionale numite relatii si definite prin produsul
cartezian al atributelor lor. Este cel mai utilizat model datorita simplitatii si generalitatii, avand o baza teoretica
adecvata. Modelul relational are un singur concept de modelare a datelor care este relatia (un tabel bi-dimensional in
care sunt aranjate datele). Schema datelor este numele relatiei si multimea atributelor acesteia (atributele se
utilizeaza in ordinea standard).
Pe primul rand sunt atributele relatiei. Acestea sunt numele coloanelor relatiei. Intr-un model relational,
proiectarea bazei de date consta din una sau mai multe scheme si relatii, multimea acestora fiind denumita schema
bazei de date.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Evolutia bazelor de date relationale:

- Modelul relational-obiect: este similar celui relational, dar schema datelor suporta in definirea obiectelor,
notiunile programarii pe obiecte si limbajul de interogare.

Tipurile de modele conceptuale de date sunt: Entitate-relatie


Semantic
Functional
Orientat spre obiecte

Schema bazei de date este structurata de administratorul bazei de date (DBA), dupa anumite proceduri
corespunzator metodologiei de proiectare logica a bazei de date.

Metodologiile de proiectare a bazei de date sunt:


– top-down – se defineste intai conceptual schema si apoi se determina subschema datelor
– bottom-up – este modelata mai intai subschema si apoi se integraza pentru a forma sche

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Nivelul fizic:

Aplicatii si utilizatori care acceseaza baza de date prin intermediul DBMS.


Este o interfata software intre programe externe sau utilizatori si date. Numai DBMS are acces direct la
date.
DBMS ofera accesul controlat la baza de date prin:

• sistemul de securitate, ce previne accesul la baza de date de utilizatori neautorizati


• sistemul de integritate, care mentine concordanta datelor stocate
• sistemul de control al concurentei, care permite accesul partajat
• sistemul de control al refacerii, care permite refacerea datelor ca urmare a unor defectiuni hardware sau
software (un catalog accesibil care contine descrieri ale datelor din baza de date).

Un obiectiv major il reprezinta asigurarea independentei de date (nivelurile superioare nu sunt afectate de
modificarile facute la cele inferioare). Exista doua tipuri de independenta de date:

- Logica – se refera la imunitatea schemelor externe fata de modificarile in schema conceptuala


- Fizica – se refera la imunitatea schemei conceptuale fata de modificarile in schema interna

O tranzactie reprezinta un set de actiuni elementare (inserare, stergere) asupra obiectelor ce contin date.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Vedere externa 1 Vedere externa 2

Nr_Personal Prenume Nume Varsta Salariu Nr_Personal Nume Nr_Filiala

Nivel
conceptual Nr_Personal Prenume Nume DDN Varsta Salariu Nr_Filiala

Struct PERSONAL {
int Nr_Personal;
int Nr_Filiala;
int Varsta;
Nivel char Prenume[15];
intern char Nume [15]
struct data DDN;
float Salariu;
struct PERSONAL *next; /*Pointer la urmatoarea inregistrare
};
Index Nr_Personal; index Nr_Filiala; /* Defineste indexurile pentru personal */

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Ciclul de viata al bazei de date

Ciclul de viata incorporeaza pasii care trebuie facuti in proiectarea schemei globale a bazei de date din
punct de vedere logic, alocarea datelor, definirea schemelor specifice DBMS.
Etapele proiectarii bazei de date sunt prezentate in figura 3.2:

1. Analiza cerintelor. Cerintele sunt determinate de proiectantii bazei de date pe baza analizei proceselor
de manipulare a informatiilor. Determinarea cerintelor implica:
- determinarea datelor necesare sistemului
- determinarea relatiilor dintre date
- alegerea platformei software pentru implementarea bazei de date

2. Proiectarea logica. Aceasta activitate implica proiectarea globala a schemei datelor, un model
conceptual al datelor, reprezentat sub forma de diagrame, care ilustreaza datele si relatiile dintre acestea. Se
dezvolta pe baza modelului: entitate-relatie (ER) sau UML. Metodologia de dezvoltare a schemei globale este
aceeasi atat pentru baze de date centralizate cat si pentru cele distribuite.

a) Modelarea conceptuala a datelor. Cerintele datelor sunt analizate si modelate folosind diagrame ER sau
UML, care includ semantica relatiilor optionale, relatii ternare, supertipuri, subtipuri. Procesarea cerintelor este
specificata in mod tipic pe baza limbajului natural sau prin comenzi SQL.

b) Integrarea vederilor. In cazul unor proiecte complexe in care sunt implicate mai multe persoane, analiza
cerintelor conduce spre vederi multiple. Pentru a elimina redundanta si inconsistenta modelului, aceste vederi
trebuie sa fie rationalizate si apoi consolidate intr-o singura vedere globala.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Cerinţele informaţionale
Determinarea cerinţelor

Proiectarea logică
[vederi multiple]
Model Integrarea vederilor

[o singură vedere]

Transformă în tabele SQL

Normalizare

Proiectarea fizică

Selectează indecşi

[cerinţe speciale]
Denormalizare

[else] Implementare
Implementare
[else]

Monitorizare
[defunct]

Figura 3.2 Diagrama de activitati in proiectarea unei baze de date

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


c) Transformarea modelului conceptual in tabele SQL. Pe baza categoriilor de modele de date si a unui set
de reguli de mapare, fiecare relatie si entitatile asociate sunt transformate intr-un set de tabele relationale
specifice DBMS. Aceste transformari se fac in limbajul SQL.

d) Normalizarea tabelelor. Din diagramele modelului datelor sunt derivate dependentele functionale si din
analiza cerintelor se determina semantica relatiilor. Dependentele functionale se stabilesc intre elemente de
date ale entitatilor, care sunt identificate in mod unic prin chei. Relatiile functionale aditionale reprezinta
dependente intre atribute cheie si atribute care nu sunt cheie si sunt derivate din cerintele specificatiilor.
Tabelele relationale candidat asociate cu toate relatiile functionale derivate sunt normalizate. Prin
normalizare se intelege modificarea prin decompozitie sau splitarea tabelelor in tabele mai mici, folosind
tehnici standard. In final, redondantele privind datele din tabele sunt analizate pentru eliminarea acestora
fara a se afecta integritatea datelor.

3. Proiectarea fizica. Implica alegerea indecsilor (metode de acces), partitionari si impartirea datelor in
clustere. Denormalizarea consta in selectarea proceselor dominante prin frecventa tranzactiilor, a volumului
tranzactionat sau a prioritatii si definirea unor extensii mai simple la tabele cu scopul de a imbunatati
calitatea performantelor interogarilor.

4. Implementarea bazei de date, monitorizarea si modificari. Dupa ce baza de date este complet proiectata,
aceasta este creata prin implementarea schemei formale folosind limbajul DDL al DBMS. Limbajul DML
este folosit pentru interogarea si actualizarea bazei de date, cat si pentru fixarea indecsilor si a restrictiilor,
ca de pilda restrictiile de integritate. Limbajul SQL contine atat DDL cat si DML.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


1. Cerintele informationale

Products Salepersons

Customers Orders

2. Modelarea logica

a) proiectarea conceptuala

customer N orders N product

N N

served-by sold-by

1 salesperson
N

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


b) integrarea vederilor

customer 1 places N order

N
customer N order for
1 places

N
N
N

served-by 1 1 fills-out product


salesperson
create table customer
(cust_no integer,
cust_name char(15),
cust_addr char(30),
c) transformarea modelelor conceptuale in tabele SQL sales_name char(15),
prod_no integer,
customer primary key (cust_no),
foreign key (sales_name)
cust_no cust_name cust_addr sales_name prod_no
references salesperson
foreign key (prod_no)
references product);
product order
prod_no prod_name qty_in_stock order_no sales_name cust_no prod_no

salesperson order-product

sales_name addr dept job_level vacantion_days order_no prod_no

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


d) Normalizarea tabelelor SQL

Decompozitia tabelelor si actualizarea anomaliilor.


Salesperson Sales_vacantions

sales_name addr dept job_level job_level vacantion_days

Modelarea conceptuala a datelor

Acest proces reprezinta componenta de baza a proiectarii logice a bazei de date. Diagramele schemelor au
fost formalizate in 1960 de Charles Bachman. Acestea folosesc dreptunghiuri pentru a reprezenta tipul
inregistrarilor si sageti orientate de la un tip de inregistrare la altul, pentru a reprezenta o relatie “one-to-many”
intre instantele inregistrarilor celor doua tipuri. Metoda entitate-relatie (ER) pentru modelarea datelor a fost
introdusa in anul 1976 de Peter Chen. In acest formalism sunt utilizate dreptunghiuri pentru a specifica entitatile
si romburi pentru a reprezenta diferite tipuri de relatii care sunt diferentiate prin numere sau litere plasate pe
liniile de conexiune dintre romburi si dreptunghiuri. UML a fost introdus in anul 1997 de Grady Booch si James
Rumbaugh si a devenit un limbaj standard de reprezentare grafica pentru specificatiile si documentarea
proiectelor software complexe.

Modelul de tip entitate-relatie

Modelul ER este o reprezentare conceptuala abstracta a datelor, folosita ca metoda de modelarea bazelor de
date. Elementele pe baza cărora se construieşte modelul entitate-relaţie sunt trei clase de obiecte: entitatea,
relatiile si atributele.
- entitatea este un obiect despre care se doreşte a se stoca informaţie. Entităţile sunt concepte recunoscute,
concrete sau abstracte, care au relevanţă pentru baza de date.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


In modelul relaţional o entitate este analogă unui tabel. Entităţile se clasifică în: independente (o entitate care
nu se bazează pe alta pentru a fi identificată) şi dependente sau slabe. O relaţie dependentă este aceea în care o
entitate depinde de alta pentru a fi identificată în mod unic. Tipurile speciale de entităţi sunt: entităţile asociative
(cunoscute şi sub numele de entităţi intersecţie) sunt entităţi folosite pentru a asocia două sau mai multe entităţi în
scopul de a stabili o relaţie “many-to-many”. Entităţile subtip sunt utilizate în ierarhii de generalizare pentru a
reprezenta o submulţime de instanţe ale entităţii părinte, numită supertip, având atribute şi relaţii care se aplică
numai submulţimii.
- atributul unei entităţi este o informaţie elementară care este ataşată acesteia pentru a o identifica sau descrie.
O instanţă particulară a unui atribut este valoarea. Atributele se reprezinta prin elipse (in care se trece numele
atributului), legate prin segmente de entitatile carora le apartin. Atributele se clasifica in:
- identificatori (sau chei)
- descriptori
Un identificator (sau cheie) al entităţii este format din unul sau mai multe atribute unice ale entităţii, astfel
încât fiecare valoare identifică în mod unic o instanta a entităţii.
Un descriptor (sau atribut care nu este cheie) este folosit pentru a specifica o caracteristica care nu este unica
a instantei particulare a entitatii.
Domeniul unui atribut este o colecţie de valori posibile pe care le poate avea atributul.

- relaţia reprezintă o asociere dintre două sau mai multe entităţi, fara a avea o existenta fizica ci doar cea
conceptuala definita intre respectivele entitati. O entitate poate avea o relaţie cu ea însăşi. Relaţiile se clasifică
după grad, conectivitate, cardinalitate şi existenţă. O relaţie binară recursivă are loc când o entitate este în relaţie
cu ea însăşi..

3.3.2 Gradul, conectivitatea, cardinalitatea si existenta relatiilor

Gradul unei relaţii este numărul de entităţi asociate cu aceea relaţie. Acesta poate fi N. Relatiile binare sau
ternare sunt cazuri particulare in care gradul relatiei este 2 si respectiv 3. Relaţiile binare sunt cele mai des
întâlnite.
Conectivitatea unei relaţii descrie modul în care se asociază instanţele entităţilor în relaţie. Valorile
conectivităţii sunt “one” sau “many”.
Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi
Elementele modelului relational
Concept Reprezentare

entitate
Employee

entitate slaba Employee_job_history

relatie
Works-in

atribute:
emp_id
- identificator (cheie)
- descriptor emp_name
- descriptor multivaloare
degrees street
- descriptor complex
city
degrees
country

• Cardinalitatea unei relaţii indică numărul maxim de instanţe (una sau mai multe) în relaţia dintre entităţi.
Pentru a determina cardinalitatea unei relaţii, se determină dacă pot exista mai multe apariţii ale unei entităţi
pentru o apariţie a altei entităţi. Tipurile de bază pentru conectivitatea relaţiilor sunt: “one-to-one”, “one-to-
many” si “many-to-many”.
• Existenta optionala este definita printr-un zero pe linia de legatura dintre entitate si relatie si defineste
cardinalitatea 0.
• Rolul este numele unui capat al relatiei cand la fiecare din capete se utilizeaza un nume distinct care face
relatia sa fie mai clara in inteles.
Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi
Exemple ilustrative a unor relatii cu diferite grade si conectivitati
Grad Reprezentare Existenta Reprezentare

manager
1 optional
binar-recursiv
employee manages 1 1
is_mana
department employee
N ged_by
subordinate

binar N is_sub 1 mandatory


department division
unit_of 1 is_ocupi N
office employee
ed_by

ternar N N
employee uses project

N
skill

Conectivitate Reprezentare

one-to-one 1 1
department is_mana
employee
ged_by

one-to-many 1 N
department has employee

many-to- N works_ N
employee project
many on

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


1 1 Abbreviati 1 1
Report has-abbr is_manag
on Department Employee
ed_by

create table department


create table report (dept_no integer,
(report_no integer, dept_name char(20),
report_name varchar(256), mgr_id char(10) not null unique,
primary key(report_no); primary key (dept_no),
create table abbreviation foreign key (mgr_id) references employee
(abbr_no char(6), on delete set default on update cascade);
report_no integer not null unique, create table employee
primary key (abbr_no), (emp_id char(10),
foreign key (report_no) references report emp_name char(20),
on delete cascade on update cascade); primary key (emp_id));

1 1 1 N
Has
Engineer Desktop department has employee
allocated

create table engineer


(emp_id char(10), create table department
desktop_no integer, (dept_no integer,
primary key (emp_id)); dept_name char(20),
create table desktop primary key (dept_no));
(desktop_no integer, create table employee
emp_id char(10), (emp_id char(10),
primary key (desktop_no), emp_name char(20),
foreign key (emp_id) references engineer dept_no integer not null,
on delete set null on update cascade); primary key (emp_id),
foreign key (dept_no) references department
on delete set default on update cascade);

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


1 N
Department Report N Belongs N
publishes engineer
-to Prof-assoc

create table department create table engineer


(dept_no integer, (emp_id char(10),
dept_name char(20), primary key (emp_id));
primary key (dept_no)); create table prof_assoc
create table report (assoc_name varchar(256),
(report_no integer, primary key (assoc_name));
dept_no integer, create table belongs_to
primary key (report_no), (emp_id char(10),
foreign key (dept_no) references department assoc_name varchar(256),
on delete set null on update cascade); primary key (emp_id, assoc_name),
foreign key (emp_id) references engineer
on delete cascade on update cascade,
foreign key (assoc_name) references prof_assoc
1 on delete cascade on update cascade);
is-group-
engineer
leader-of
N

create table engineer


(emp_id char(10),
leader_id char(10) not null,
primary key (emp_id),
foreign key (leader_id) references engineer
on delete set default on update cascade);

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


3.3.3 Generalizari, supertipuri si subtipuri

Relatia de generalizare specifica faptul ca mai multe tipuri de entitati cu anumite atribute comune pot fi
generalizate la un nivel mai inalt al tipului de entitate (numita generic entitate superclasa – supertype entity).
Nivelul inferior al entitatii (subtype intr-o ierarhie de generalizare) poate fi fie disjuncta sau cu submultimi
suprapuse ale entitatii supertype. In figura de mai jos se prezinta doua exemple de generalizari: cu subtipuri
disjuncte si cu subtipuri cu suprapunere si constrangeri complete.

individual
employee supertype

o
d subtypes

employee customer
manager engineer technician maintenance

3.3.4 Agregarea

Agregarea este o forma de abstractizare intre o entitate supertip si una subtip, diferita de generalizare.
Astfel daca generalizarea este descrisa printr-o relatie caracterizata de termenul “ este-o” intre o entitate subtip si
una supertip, agregarea este o relatie dintre “intreg” si “partile componente” si este descrisa de termenul “ face-
parte din”. Un exemplu este prezentat in urmatoarea diagrama.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


software_product

program documentation

3.3.4 Relatii ternare si relatiile functionale corespunzatoare

Relatiile ternare sunt utilizate cand relatiile binare nu descriu suficient de precis semantica asocierilor
dintre trei entitati. Conectivitatea fiecarei entitati poate fi descrisa fie de “one” fie de “many”. Exemple:

1 uses_ Un inginer foloseste exact un


1
engineer noteb project notebook pentru fiecare
ook proiect. Fiecare notebook
1 apartine unui inginer pentru
notebook fiecare proiect. Un inginer
poate lucra la mai multe
proiecte dar are notebook-uri
Dependentele functionale in relatia ternara diferite pentru diferite
“one-to-one-to-one” : proiecte.

eng_id,project_name -> notebook_no


eng_id,notebook_no-> project_name
project_name, notebook_no-> eng_id

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


1 Assign N N skill_u N
proiect employee Fiecare “employee” asignat la employee project
ed_to sed
un proiect lucreaza numai
1 intr-o “location” pentru acel N
“project”, dar poate fi in
location skill
“location” diferite pentru
diferite “project”. La o
Dependentele functionale in relatia “location” particulara pot fi
ternara “one-to-one-to-many”: mai multi “employee” Mai multi “employee” pot
asignati la un “project” dat. folosi mai multe “skill”
emp_id, loc_name -> project_name pentru fiecare din mai multe
emp_id, project_name-> loc_name “project” si fiecare “project”
are mai multi “employee cu
diferite “skill”.

Dependentele functionale in relatia


ternara “many-to-many-to-many” :

1 manag N Nu sunt!
manager engineer Un “engineer” care lucreaza
es
cu un manager, poate lucra la
N mai multe “project”. Un
project
proiect, sub conducerea unui
manager poate avea mai multi
muncitori. Un “engineer” care
Dependentele functionale in relatia lucreaza la un “project”
ternara “one-to-many-to-many” : trebuie sa aiba numai un
singur manager..
project_name, emp_id -> mngr_id

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Exemple: 1. 1
division

contains

department
1 1

has is_mana is_head


ged_by ed_by
1
skill
1
N 1
N 1
N skill_ N
employee
project used
N
1 N
manages
assigned d
_to

N
manager secretary engineer technician
location 1 1 1 N

is_alloc is_allo has_all belongs


ated cated ocated _to

1 1 1 N

desktop workstation prof_association

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Constrangeri de integritate, redondanta datelor, normalizarea

Constrangerile de integritate – sunt reguli care restrang valorile care pot fi prezente in baza de date.

É Integritatea datelor inseamna asigurarea consistentei si satisfacerea regulilor referitoare la


constrangeri. Acestea se clasifica in:

- integritatea entitatii – Randurile sau t-uplele dintr-o relatie reprezinta entitati si fiecare din ele trebuie sa fie
identificate in mod unic. Astfel cheile primare trebuie sa aiba o valoare unica, nenula pentru fiecare rand.
- integritatea referentiala – Aceasta restrictie se refera la cheile straine. Relatiile se stabilesc prin intermediul
cheilor straine si este esential ca legaturile sa fie corecte. O cheie straina poate fi nula sau valoarea sa trebuie sa
fie aceeasi cu valoarea cheiei din celalalt capat al relatiei.

É Redondanta datelor:

- directa: daca datele se pot gasi in doua locuri diferite apartinand aceleasi baze de date.
- indirecta: daca datele sunt calculate folosindu-se date din locuri diferite ale aceleasi baze de date
Daca exista redondanta intr-o baza de date aceasta creaza probleme in operarea cu baza de date la inserarea
datelor (datele trebuie multiplicate in fiecare loc in care apar versiunile redondante), la actualizarea datelor
(toate datele redondante trebuie actualizate simultan pentru a reflecta schimbarea respectiva).

É Normalizarea trebuie sa elimine redondanta, pastrand integritatea datelor.


Transformarea datelor dintr-o problema intr-o relatie cu asigurarea integritatii datelor si eliminarea
redondantelor poarta numele de normalizare

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Normalizarea
Definitie: Transformarea datelor dintr-o problema in relatii cu asigurarea integritatii datelor si eliminarea
redondantelor poarta numele de normalizare.

Daca exista redondanta intr-o baza de date aceasta creaza probleme in operarea cu baza de date la inserarea
datelor (datele trebuie multiplicate in fiecare loc in care apar versiunile redondante), la actualizarea datelor
(toate datele redondante trebuie actualizate simultan pentru a reflecta schimbarea respectiva).

Forme normale:
Datele din baza de date pot fi considerate a fi in una din urmatoarele forme normale:

–Forma normala 1 (1NF)


–Forma normala 2 (2NF)
–Forma normala 3 (3NF)
–Forma normala Boyce-Codd (BCNF)
–Mai sunt sunt si alte forme dupa BCNF care se utilizeaza mai rar.
Intelegerea cerintelor datelor unei probleme se realizeaza prin scrierea dependentelor functionale ce
caracterizeaza relatiile dintre ele.
O dependenta functionala este formata de doua liste de atribute separata de o sageata. Fiind date valorile
din partea stanga, acestea identifica in mod unic un singur set de valori pentru atributele din partea dreapta.

Fie relatia: R(matric_no, firstname, surname, tutor_no, tutor_name)


si dependenta functionala: tutor_no  tutor_name
Semnificatia: dat un tutor_no acesta identifica in mod unic un tutor_name

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Reguli de Inferenta (axiomele lui Armstrong)

1. Reflexivitatea - Daca Y este o submultime a atributelor lui X atunci X  Y

Ex. X este ABCD si Y este ABC, atunci X  Y.


Cazul banal: X  X

2. Augmentarea - Daca X  Y si Z este o submultime a tabelului R, atunci XZ  YZ.

3. Tranzitivitatea - Daca XY si YZ, atunci XZ.

Reguli care rezulta din axiomele de mai sus.

4. Pseudotranzitivitatea - Daca XY si YWZ, atunci XWZ.

5. Uniun ea - Daca XY si XZ, atunci XYZ.

6. Decompozitia - Daca XYZ, atunci XY and XZ.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Exemplu de normalizare a relatiilor bazei de date

Se considera relatia: Student(matric_no,name, date_of_birth, (subject, grade))

Student

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Forma normala 1 (1NF)

Forma normala 1 (1NF) este determinata de forma inregistrarii. O relatie este in 1NF daca si numai daca
aceasta nu contine atribute sau grupuri de atribute care se repeta (fiecare coloana poate avea numai o singura valoare
pentru fiecare rand al tabelului).

De exemplu tabelul Student cu grupurile care se repeta este un tabel nenormalizat. Pentru a inlatura grupurile
care se repeta fie:

A) se face tabelul plat si se extinde cheia sau


B) se descompune relatia, conducand la forma normala 1.

A) Tabelul Student cu grupurile care se repeta poate fi aplatizat, modificand relatia ca in Student2:

Student2(matric_no, name, date_of_birth, subject, grade)

Aceasta forma nu mai are grupuri repetitive dar are redondanta: pentru fiecare combinatie matric_no/subject, se
replica name si date of birth. Aceasta poate conduce la erori in operatiile de inserare, actualizare si stergere:

- la inserare, subject fiind cheie primara, nu se poate adauga un student pana ce acesta nu are cel putin un subject
(deoarece cheia primara nu poate fi nula!);
- la actualizare, prin schimbarea numelui studentului se cauta toate randurile din baza de date in care exista
studentul si se schimba fiecare din ele separat;
- stergerea de exemplu a informatiei subject conduce la stergerea matric_no.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Student2
matric_no name date_of_birth subject grade
960100 Smith, J 14/11/1977 Databases C
960100 Smith, J 14/11/1977 Soft_Dev A
960100 Smith, J 14/11/1977 ISDE D
960105 White, A 10/05/1975 Soft_Dev B
960105 White, A 10/05/1975 ISDE B
960120 Moore, T 11/03/1970 Databases A
960120 Moore, T 11/03/1970 Soft_Dev B
960120 Moore, T 11/03/1970 Workshop C
960145 Smith, J 09/01/1972 Databases B
960150 Black, D 21/08/1973 Databases B
960150 Black, D 21/08/1973 Soft_Dev D
960150 Black, D 21/08/1973 ISDE C
960150 Black, D 21/08/1973 Workshop B

B) Solutia alternativa este de a imparti tabelul in doua tabele (splitare): unul care sa contina grupurile care
se repeta si unul care sa contina grupurile care nu sunt repetitive. Cheia primara a relatiei originale este inclusa
in ambele relatii noi.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Student Record
matric_no name date_of_birth matric_no subject grade
960100 Smith,J 14/11/1977 960100 Databases C
960105 White,A 10/05/1975 960100 Soft_Dev A
960120 Moore,T 11/03/1970 960100 ISDE D
960145 Smith,J 09/01/1972 960105 Soft_Dev B
960150 Black,D 21/08/1973 960105 ISDE B
... ... ...
960150 Workshop B

Se obtin doua relatii Student si Record:

Student(matric_no, name, date_of_birth)


Record(matric_no, subject, grade)

care contin grupurile repetitive si nerepetitive. Relatia Student are grupul repetitiv si cheia matric_no.

Aceasta versiune a relatiilor nu prezinta anomalii de inserare, actualizare sau stergere si spunem ca este in Forma
Normala 1.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Forma normala 2 (2NF)

O relatie este in forma 2NF daca si numai daca este in forma normala 1NF si fiecare atribut care nu este
cheie este complet functional dependent de intreaga cheie.

Astfel, relatia este in forma 1NF fara grupuri repetitive si toate atributele care nu sunt cheie trebuie sa
depinda de intreaga cheie, nu doar de o parte a ei. Altfel spus, nu trebuie sa existe dependente partiale de cheie.
Problemele apar cand cheia este compusa (de exemplu in relatia Record, cheia compusa matric_no, subject). In
acest caz este posibil ca atributele care nu sunt chei sa depinda numai de o parte a cheii (de exemplu numai de
una din chei). Acest lucru incearca sa previna forma 2NF.

Daca se considera relatia Student din tabelul plat Student2:

Student2(matric_no, name, date_of_birth, subject, grade)

avem o cheie compusa, astfel ca trebuie sa verificam toate atributele care nu sunt cheie, fata de fiecare din
cheile primare pentru a ne asigura ca sunt functional dependente de ele.

Astfel:

matric_no  name (A), matric_no  date_of_birth (A), matric_no grade (F).


(subject, matric_no)  grade (A), (subject, matric_no)  name (F)
(subject, matric_no)  date_of_birth (F).

Acestea sunt probleme cu potential de redondante. Diagrama dependentelor este urmatoarea:

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


matric_no name date_of_birth subject grade

Aceasta relatie nu este in forma 2NF, aparand ca doua tabele puse intr-unul singur. Solutia este de a separa
relatia in partile componente. Se separa toate atributele care sunt dependente numai de matric_no si se pun intr-
o noua relatie Student_details, cu matric_no cheie primara. Se separa toate atributele care depind numai de
subject (in acest caz nici unul in atribute nu depinde de subject). Se separa toate atributele care depind numai de
matric_no + subject si se pun intr-o relatie separata Student cu cheia primara compusa din matric_no + subject.

Student_details matric_no name date_of_birth

matric_no subject grade


Student

Toate atributele din fiecare relatie sunt complet dependente functional de cheia primara. Aceste relatii sunt
acum in forma 2NF. Este interesant de observat ca setul de relatii este acelasi cu cel in care s-au observat
grupurile repetitive.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Forma normala 3 (3NF)

3NF este o forma normala mai stricta si inlatura virtual toate redondantele datelor. O relatie este in 3NF
daca si numai daca nu sunt dependente functionale tranzitive. Dependentele functionale tranzitive au loc cand:
- un atribut care nu este cheie este functional dependent de alt atribut non-cheie.
FD: atribut-non-cheie  atribut-non-cheie si cand nu sunt redondante in baza de date. Prin definitie
dependentele functionale tranzitive pot avea loc numai daca sunt mai mult de un camp non-cheie, asa incat
putem spune ca o relatie 2NF cu zero sau un camp non-cheie trebuie automat sa fie 3NF.

project_no manager address

p1 Black,B 32 High Street


p2 Smith,J 11 New Street
p3 Black,B 32 High Street
p4 Black,B 32 High Street

Relatia Project are mai mult de un camp non-cheie asa incat trebuie verificate dependentele functionale
tranzitive. Atributul address depinde de valoarea manager. Din tabel se poate propune relatia:

Project(project_no, manager, address)


cu dependenta functionala: manager  address.

– In acest caz address este tranzitiv dependenta functional de manager. Cheia primara este project_no, dar
nici membrul stang nici cel drept din relatia de dependenta nu fac referire la aceasta. Redondanta datelor provine
din faptul ca se dubleaza atributul address daca manager are o valoare identica pentru mai multe proiecte. Daca
trebuie schimbata valoarea address aceasta trebuie facuta in mai multe intrari, putand conduce la erori.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Pentru eliminarea dependentelor functionale tranzitive se poate imparti tabelul astfel incat:
- sa se creeze doua relatii – una cu dependenta tranzitiva si alta pentru atributele care raman.
- se imparte relatia Project in relatiile: Project si Manager

Atributul determinant devine cheie primara in noua relatie – Manager devine cheie primara in relatia
Manager. Cheia originala este cheia primara a atributelor non-tranzitive ramase – in acest caz project_no ramane
cheia noii tabele Project.

Acum trebuie sa stocam address numai o data. Daca trebuie sa cunoastem adresa managerului putem cauta
in relatia manager. Atributul manager este legatura intre cele doua tabele si in tabelul Project este acum cheia
primara. Aceste relatii sunt acum in forma 3NF.

Project project_no manager Manager manager address


p1 Black,B
Black,B 32 High
p2 Smith,J Street
p3 Black,B Smith,J 11 New
p4 Black,B Street

In concluzie:
pentru ca relatia R(a,b,c,d) cu cd sa fie in forma 3NF aceasta se transforma in:
R(a,b,c)
R1(c,d)

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Boyce-Codd Normal Form (BCNF)

Cand o relatie are mai mult de o cheie candidat, pot rezulta anomalii chiar daca relatia este in 3NF. Forma
3NF nu rezolva satisfacator cazul unei relatii cu suprapunerea cheilor candidat. De exemplu cazul cheilor
candidat compuse cu cel putin un atribut in comun. BCNF se bazeaza pe conceptul determinantului. Un
determinant este un atribut (simplu sau compus) pe baza caruia alte atribute sunt complet functional dependente.
O relatie este in forma BCNF daca si numai daca orice determinant este un candidat de cheie. Baza
teoretica a metodei este urmatoarea:

Fie urmatoarele relatii si determinanti:


R(a,b,c,d)
a,b  c,d
a,d  b

Pentru a fi o forma BCNF, toti determinantii valizi trebuie sa fie candidat de cheie.
In relatia R,
a,bc,d este determinantul folosit, astfel incat primul determinant este bun.
a,db sugereaza ca a,d pot fi chei primare, ceea ce ar determina pe b, dar nu ar determina pe c. Acesta
nu este un candidat de cheie si in concluzie relatia R nu este BCNF.
Fie exemplul:
Patno PatName appNo Time doctor
1 John 0 09:00 Zarra
2 Kerr 0 09:00 Kate
3 Adam 1 10:00 Zarra
4 Robert 0 13:00 Kate
5 Zane 1 14:00 Zarra

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


DB(Patno,PatName,appNo,Time,doctor)
Determinanti:
– Patno  PatName
– Patno,appNo  Time,doctor
– Time  appNo
Sunt posibile doua selectii de chei pentru forma 1NF
- DB(Patno,PatName,appNo,Time,doctor) (exemplul 1a)
- DB(Patno,PatName,appNo,Time,doctor) (exemplul 1b)

Exemplul 1a

DB(Patno,PatName,appNo,Time,doctor)
Nu sunt grupuri repetitive deci este in forma 1NF
2NF – se elimina dependentele partiale de cheie:
DB(Patno,appNo,Time,doctor)
R1(Patno,PatName)

3NF – nu sunt dependente tranzitive astfel incat forma este 3NF


In continuare se aplica BCNF. Fiecare determinant este un candidat de cheie.

DB(Patno,appNo,Time,doctor)
R1(Patno,PatName)

Este determinantul o cheie?


Patno  PatName
Patno este prezent in DB, dar nu PatName, asa incat este irelevant.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


DB(Patno,appNo,Time,doctor)
R1(Patno,PatName)

Patno,appNo  Time,doctor

Sunt prezente in membrul drept si stang toate atributele deci este relevanta. Este un candidat de cheie?
Patno,appNo este cheia, astfel incat este o cheie candidat.
Time  appNo Time este prezent si la fel appNo, deci este relevanta. Este ocheie?
Daca ar fi atunci am putea rescrie DB ca:

DB(Patno,appNo,Time,doctor)

Nu ar merge deoarece avem nevoie de Time si Patno impreuna pentru a forma o cheie unica.
Deci acest determinant nu este o cheie si DB nu este o forma BCNF.
Considerand din nou relatiile:

DB(Patno,appNo,Time,doctor),
R1(Patno,PatName)

pentru forma BCNF acestea se rescriu:

DB(Patno,Time,doctor)
R1(Patno,PatName)
R2(Time,appNo)
Time-> appNo, Time,Patno->appNo,Patno (A2), cum Patno,appNo->Time,doctor rezulta (A3) Time,Patno->Time,doctor si Time,Patno->doctor (C6)

In aceasta varianta Time este suficient sa lucreze cu appNo corespunzator pacientului. Forma BNCF este
astfel satisfacuta acesta fiind rezultatul final.
Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi
Exemplul 1b:

DB(Patno,PatName,appNo,Time,doctor)

Nu sunt grupuri repetitive deci este o forma 1NF


Pentru forma 2NF se elimina dependentele partiale de cheie:

– DB(Patno,Time,doctor)
– R1(Patno,PatName)
– R2(Time,appNo)

3NF – nu sunt dependente tranzitorii deci este o forma 3NF

In continuare se incearca forma BCNF. Pentru aceasta fiecare determinant este un candidat de cheie. Este
determinantul un candidat de cheie? Avem dependentele functionale:

Patno  PatName - Patno este prezent in DB, dar nu PatName astfel incat este irelevanta.
Patno,appNo  Time,doctor - Lipsesc atribute in membrul stang deci, nu este relevanta.
Time  appNo - Time este prezent dar nu appNo, astfel incat este irelevanta.

Relatiile sunt in BCNF.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Exemplul a demonstrat urmatoarele:

• Relatia BCNF este mai puternica decat 3NF (relatiile care sunt 3NF nu sunt necesar in BCNF.
• BCNF este necesara in unele situatii pentru o intelegere completa a modelului datelor.
• Sunt mai multe cai prin care sa se ajunga la acelasi set de relatii in BCNF.
Din pacate nu sunt reguli care sa determine care este cea mai simpla cale de a ajunge la rezultat.
Exemplul 2.
Grade_report(StudNo,StudName,(Major,Adviser,(CourseNo,Ctitle,InstrucName,InstructLocn,Grade)))
Dependente functionale:
StudNo  StudName
CourseNo  Ctitle, InstrucName
InstrucName  InstrucLocn
StudNo, CourseNo, Major  Grade
StudNo, Major  Advisor
Advisor  Major
Nenormalizata:
Grade_report(StudNo,StudName,(Major,Advisor, (CourseNo,Ctitle,InstrucName,InstructLocn,Grade)))
1NF
Student(StudNo, StudName)
StudMajor(StudNo, Major, Advisor)
StudCourse(StudNo, Major, CourseNo, Ctitle, InstrucName, InstructLocn,Grade)

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


- 1NF inlatura grupurile repetitive
Student(StudNo, StudName)
StudMajor(StudNo, Major,Advisor)
StudCourse(StudNo, Major, CourseNo, Ctitle, InstrucName, InstructLocn, Grade)

- 2NF inlatura dependentele partiale de cheie

Student(StudNo, StudName)
StudMajor(StudNo, Major, Advisor)
StudCourse(StudNo, Major, CourseNo, Grade)
Course(CourseNo, Ctitle, InstrucName, InstructLocn)

- 3NF Inlatura dependentele tranzitive


Student(StudNo, StudName)
StudMajor(StudNo, Major, Advisor)
StudCourse(StudNo, Major, CourseNo, Grade)
Course(CourseNo, Ctitle, InstrucName)
Instructor(InstructName, InstructLocn)

• BCNF Fiecare determinant este un candidat de cheie


– Student: singurul determinant este StudNo
– StudCourse: singurul determinant este StudNo,Major,CourseNo
– Course: singurul determinant este CourseNo
– Instructor: singurul determinant este InstrucName
– StudMajor: determinantii sunt:
• StudNo,Major, or
• Advisor
Numai StudNo,Major este un candidat de cheie.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


- BCNF

Student(StudNo, StudName)
StudCourse(StudNo, Major, CourseNo, Grade)
Course(CourseNo, Ctitle, InstrucName)
Instructor(InstructName, InstructLocn)
StudMajor(StudNo, Advisor)
Adviser(Advisor, Major)

Fie tabelul

StudNo Major Advisor

123 PHYSICS EINSTEIN


123 MUSIC MOZART
456 BIOLOGY DARWIN
789 PHYSICS BOHR
999 PHYSICS EINSTEIN

Forma BCNF rezolva urmatoarele probleme:


- Daca inregistrarea 456 este stearsa se pierd informatii nu numai despre studentul 456 dar si despre faptul ca
DARWIN este advisor la BIOLOGY
- Nu putem inregistra faptul ca WATSON poate fi advisor in COMPUTING pana ce nu avem un student care sa fie
la COMPUTING si caruia sa-i fie asignat WATSON ca advisor.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Se imparte tabelul in doua tabele in forma BCNF.

Student Advisor Advisor Major

123 EINSTEIN EINSTEIN PHYSICS


123 MOZART
MOZART MUSIC
456 DARWIN
DARWIN BIOLOGY
789 BOHR
BOHR PHYSICS
999 EINSTEIN

Legatura cu modelul relational

Sa comparam rezultatul obtinut in urma normalizarii cu modelul ER original. Modelul original poate fi
modificat pentru a tine cont de schimbarile care au avut loc in timpul procesului de normalizare. Diagrama ER
trebuie sa reflecte perfect modelul ce urmeaza a fi implementat. Schimbarile necesare depind de cat de bun a
fost modelul initial.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


3.4 Limbajul SQL
SQL este un limbaj de interogare structurat, folosit pentru a interactiona cu DBMS. Acest limbaj este
standardizat ISO si are la baza algebra relationala.

Limbajul SQL permite:


– Crearea de scheme in DBMS
– Modificarea schemei datelor
– Adaugare date
– Modificare date
– Accesul la date

SQL este un sub limbaj de date (Data Sub Language – DSL), deoarece este o combinatie a doua limbaje:
– DDL – Data Definition Language
– DML – Data Manipulation Language

Pentrua prezentarea comenzilor SQL se va folosi o baza de date, formata din doua tabele: CAR si DRIVER.
Fiecare masina poate fi detinuta de un sofer. Un sofer poate avea mai multe masini.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


MAKE
REGNO COLOUR
NAME

1 N
DRIVER drives CAR PRICE
DOB

OWNER

DRIVER CAR

NAME DOB REGNO MAKE COLOUR PRICE OWNER

Jim Smith 11 Jan 1980 F611 AAA FORD RED 12000 Jim Smith

Bob Smith 23 Mar 1981 J111 BBB SKODA BLUE 11000 Jim Smith

Bob Jones 3 Dec 1986 A155 BDE MERCEDES BLUE 22000 Bob Smith
K555 GHT FIAT GREEN 6000 Bob Jones
SC04 BFE SMART BLUE 13000

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• Fiecare coloana are date de un anumit tip: intreg, sir, zecimal.
– Integer, string, decimal, etc.
– Intervalul valorilor poate fi o constrangere.
– Daca o coloana dintr-un rand nu contine date, continutul este NULL.
– Fiecare rand trebuie sa difere de celelalte intr-un anumit fel
– Uneori un rand este denumit o t-upla.
– Cardinalitatea este numarul de randuri dintr-un tabel.

Chei primare

• In exemplu sunt definite chei primare. O cheie primara este un grup de una sau mai multe coloane, care
atunci cand sunt considerate impreuna identifica in mod unic o inregistrare in tabel. Nici o parte a cheiei
primare nu poate fi NULL. In exemplul considerat:

– Tabelul DRIVER are cheia primara NAME


– Tabelul CAR are cheia primara REGNO

In cazul primului tabel utilizarea cheiei NAME inseamna ca nu exista doi soferi care sa aiba acelasi nume.
Atentie, in alte aplicatii daca pot fi doua nume identice, atunci nu mai poate fi considerata cheie primara
NAME!.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Integritatea referentiala

• Se observa ca este o legatura intre CAR si DRIVER via OWNER. Daca este o valoare in OWNER, atunci
aceasta trebuie sa apara undeva in DRIVER. Daca se schimba numele in DRIVER, trebuie sa fie facuta
aceeasi schimbare in OWNER din CAR.
• DBMS intareste regulile.
• Daca se incearca nerespectarea regulii DBMS raporteaza problema ca o eroare de integritate referentiala
(REFERENTIAL INTEGRITY ERROR).

Comenzile de baza SQL


Comenzile de baza SQL sunt:

– CREATE – creaza o structura de date


– SELECT – citeste unul sau mai multe randuri din tabel
– INSERT – insereaza unul sau mai multe randuri in tabel
– DELETE – sterge unul sau mai multe randuri din tabel
– UPDATE – schimba valorile intr-un rand
– DROP – sterge o structura de date

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Exemple ale comenzii SELECT
SELECT column FROM tablename
• SELECT column1,column2,column3 FROM tablename
• SELECT * FROM tablename
• SELECT * FROM CAR;

REGNO MAKE COLOUR PRICE OWNER


A155 BDE MERCEDES BLUE 22000 Bob Smith
F611 AAA FORD RED 12000 Jim Smith
J111 BBB SKODA BLUE 11000 Jim Smith
K555 GHT FIAT GREEN 6000 Bob Jones
SC04 BFE SMART BLUE 13000

SELECT regno FROM CAR; SELECT colour,owner FROM CAR;


REGNO
COLOUR OWNER
A155 BDE
BLUE Bob Smith
F611 AAA
RED Jim Smith
J111 BBB
BLUE Jim Smith
K555 GHT
GREEN Bob Jones
SC04 BFE
BLUE

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Formatarea comenzilor

• Caracterele SPACE si NEWLINE nu conteaza


• O practica indicata este sa se puna ; la sfarsitul interogarii.
• Tipul caracterelor nu conteaza daca nu sunt intre ghilimele simple.
• Ambele comenzi de mai jos sunt valide

SELECT REGNO FROM CAR;


SElecT regno
From Car
;

Comentarii

• Sunt utile pentru a face comentarii in comanda.


• Comentariile nu sunt executate
• Comentariul incepe cu -- si se termina cu linie noua
• Comentariile sunt permise numai in interogare.

Ex:
SELECT regno -- The registration number
FROM car -- The car storage table

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Filtre de selectie
• Pot fi folosite reguli in interogare
• Aceste reguli sunt testate pentru fiecare rand produs de interogare
• Daca regula este adevarata, atunci randul este afisat; daca este falsa, randul nu este afisat
• Regula incepe cu WHERE
Ex:
SELECT columns
FROM table
WHERE rule

• O regula simpla poate fi selectia unei masini cu culoarea rosie (RED).


• Regula va fi colour = 'RED'
Ex:
SELECT regno FROM CAR SELECT regno FROM CAR
WHERE colour = 'RED'
REGNO
A155 BDE REGNO
F611 AAA F611 AAA
J111 BBB
K555 GHT
SC04 BFE

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Comparatii

• Comparatiile valide include: =,!=,<>,<,<=,>,>=


– Colour = ‘RED’ Culoarea trebuie sa fie RED
– Colour != ‘RED’ Culoarea nu este RED
– Colour <> ‘Red’ La fel ca mai sus
– Price > 10000 Mai mare ca 10000
– Price >= 10000 Mai mare sau egal cu10000
– Price < 10000 Mai mic decat 10000
– Price <=10000 Mai mic sau egal cu 10000
• Numerele se pot scrie ‘10000’ sau 10000. Sirurile sunt totdeauna scrise intre ghilimele
simple.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Date calendaristice

• Compararea datelor calendaristice poate creea probleme


• Se pot utiliza aceiasi operatori si pentru date calendaristice.
Ex:

SELECT name,dob SELECT name,dob from driver


from driver where DOB = ‘3 Dec 1986’

NAME DOB NAME DOB


Bob Jones 3 Dec 1986 Bob Jones 3 Dec 1986
Bob Smith 23 Mar 1981
Jim Smith 11 Jan 1980

Datele calendaristice sunt considerate de valoare mai mare cu cat sunt in viitorul mai indepartat.
Astfel, DATE1>DATE2 indica DATE1 in viitor dupa DATE2.

SELECT name,dob from driver NAME DOB


WHERE DOB >= ‘1 Jan 1981’
Bob Jones 23 Mar 1981
Bob Smith 3 Dec 1986

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Sintaxa datelor calendaristice

• Trebuie sa fie intre apostrof


• Fiecare DBMS utilizeaza datele intr-un mod propriu
• De exemplu ‘1 Jan 2003’ este scris corect.
• Oracle permite date in format ‘1-Jan-2003’ si de asemenea scrise: ‘1-Jan-03’
• Trebuie totdeauna specificata o zi si o lun, altfel DBMS va indica eroare.

BETWEEN

• Uneori se doreste testarea valorii uni camp daca se gaseste intre doua date calendaristice.
Acest lucru se face cu BETWEEN.
Ex: Gasiti toti soferii nascuti intre 1995 si 1999
SELECT name,dob from driver
WHERE DOB between ‘1 Jan 1985’ and ’31 Dec 1999’
• Between se foloseste si pentru alte tipuri de date:

SELECT regno from CAR


where price between 5000 and 10000;

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


NULL

• NULL indica ca ceva nu are nici o valoare


• Nu este o valoare si deci nu poate fi utilizat cu operatori de comparatie.
Ex:
Gresit: SELECT regno from car where owner = NULL
Gresit: SELECT regno from car where owner = ‘NULL’

• Sunt in schimb operatori speciali: IS NULL si IS NOT NULL

SELECT regno from car REGNO


WHERE OWNER is null
SC04 BFE

REGNO

SELECT regno from car K555 GHT


WHERE OWNER is not null A155 BDE
F611 AAA
J111 BBB

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


LIKE

• Cateodata sunt dorite reguli care implica siruri partiale, subsiruri sau wildcards
• LIKE face acest lucru, fiind un inlocuitor pentru ‘=‘
• Daca sirul contine ‘%’ sau ‘_’, LIKE le foloseste ca suport pentru wildcards.
– % - inlocuieste 0 sau mai multe caractere din sir
– _ - inlocuieste numai un caracter din sir
Exemple:

• Name LIKE ‘Jim Smith’ e.g. Jim Smith


• Name LIKE ‘_im Smith’ e.g. Tim Smith
• Name LIKE ‘___ Smith’ e.g. Bob Smith
• Name LIKE ‘% Smith’ e.g. Frank Smith
• Name LIKE ‘% S%’ e.g. Brian Smart
• Name LIKE ‘Bob %’ e.g. Bob Martin
• Name LIKE ‘%’ i.e. match anyone

• LIKE face mai mult ca =


• Daca nu se folosesc wildcards, atunci mai bine folositi = decat LIKE.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Operatori Logici

• Permit combinarea regulilor intr-un singur WHERE


• AND si OR permit acest lucru
• NOT permite modificarea comportamentului regulii Exemplu:

SELECT regno from car SELECT regno from car SELECT regno from car
where colour = ‘BLUE’ WHERE regno LIKE ‘%5%’ WHERE colour = ‘BLUE’ and
regno LIKE ‘%5%’;

REGNO REGNO REGNO

A155 BDE K555 GHT A155 BDE

J111 BBB A155 BDE


SC04 BFE

Reguli AND multiple


REGNO
SELECT regno
FROM car
A155 BDE
WHERE colour = ‘BLUE’
AND regno like ‘%5%’
AND owner like ‘Bob %’

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


OR
Exemplu:
REGNO COLOUR
SELECT regno,colour from CAR
WHERE colour = ‘RED’ OR colour = ‘BLUE’ A155 BDE BLUE
F611 AAA RED
J111 BBB BLUE

NOT SC04 BFE BLUE

• NOT inverseaza regula in fata careia este pus


• De exemplu: WHERE colour = ‘RED’
• Poate fi inversata:
– WHERE colour != ‘RED’
– WHERE NOT colour = ‘RED’

Precedenta
• Precedence este ordinea in care regulile sunt evaluate.
• Aceasta nu este in ordinea in care sunt scrise!
• Regulile sunt grupate impreuna la inceput de AND, apoi OR si in final de NOT.
• Exemplu : Masina care are 5 in reg si este fie red sau blue.

SELECT regno,colour from car


WHERE colour = ‘RED’ -- Line 1
OR colour = ‘BLUE’ -- Line 2
AND regno LIKE ‘%5%’ -- Line 3

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Paranteze
• Poate fi mai clar:
SELECT regno,colour from car
WHERE ( colour = ‘RED’ OR colour = ‘BLUE’ )
AND regno LIKE ‘%5%’

DISTINCT

Exemplu: Gasiti toate culorile folosite la masini.

SELECT colour from car; SELECT DISTINCT colour from car;

COLOUR COLOUR
BLUE BLUE
RED RED
BLUE GREEN
GREEN
BLUE

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


ORDER BY

• Ordonarea ascendenta este implicita


SELECT make from car; SELECT make from car SELECT make from car
ORDER BY make; ORDER BY make DESC;

MAKE MAKE MAKE


MERCEDES FIAT SMART
FORD FORD SKODA
SKODA MERCEDES
MERCEDES
FIAT
SKODA FORD
SMART
SMART FIAT

Ordonarea multi-coloana MAKE COLOUR


MERCEDES BLUE
SELECT make,colour FROM car SKODA BLUE
ORDER BY colour,make; SMART BLUE

FIAT GREEN

FORD RED

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


IN

• Cand este o lista de OR, toate asupra aceluiasi atribut, atunci IN poate fi o modalitate mai
simpla.

• Decat:
SELECT regno,make FROM car
WHERE make = ‘SKODA’ or make = ‘SMART’

• Se poate utiliza:
SELECT regno,make FROM car
WHERE make in (‘SKODA’,’SMART’);

Agregarea functiilor
• Agregaarea functiilor permite scrierea interogarilor care produc calcule statistice asupra
datelor din baza de date.
• Aceste functii sunt denumite functii SET si includ:
– AVG
– SUM
– MAX
– MIN
– COUNT

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Exemple: SELECT price FROM car; SELECT avg(price) FROM car;

PRICE
AVG(PRICE)
22000
12800
12000
11000
6000
13000

SELECT sum(price) FROM car;


SELECT max(price) FROM car;
SELECT min(price) FROM car;
SELECT count(price) FROM car;
SELECT count(colour) from car;
SELECT count(DISTINCT colour) from car;

GROUP BY
• Agregarea functiilor s-a facut doar in interogari cu o singura agregare in linia SELECT, dar se
pot combina functii si non-functii in linia SELECT prin GROUP BY.
Exemplu:
• Intrebare: Care este cea mai scumpa masina pentru fiecare culoare.
• Intuitive ar parea ca varianta de mai jos este corecta, dar nu va fi executata!
SELECT colour,max(price)
FROM car;

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


SELECT colour,price SELECT colour,max(price)
FROM car; FROM car
GROUP BY colour;

COLOUR PRICE COLOUR PRICE

BLUE 22000 BLUE 22000

RED 12000 GREEN 6000

BLUE 11000 RED 12000

GREEN 6000
BLUE 13000

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


HAVING

• WHILE permite reguli pentru fiecare rand.


• HAVING permite reguli pentru fiecare grup din GROUP BY.

Exemplu: Cine are mai mult de o masina?.

• Aceasta s-ar spune:


SELECT owner from car where count(owner) > 1;

Interogarea de mai sus nu functioneaza deoarece:


• Functiile agregate nu sunt permise in WHERE!.
• Ele sunt permise in HAVING.

SELECT owner,count(regno)
FROM car
GROUP BY owner
HAVING count(regno) > 1
OR
SELECT owner
FROM car
GROUP BY owner
HAVING count(regno) > 1

count(*) se poate folosi in acest caz.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


SQL – JOIN si VIEW
Surse multiple de tabele

Deseori este necesara folosirea mai multor tabele. O metoda este de a lista toate tabelele dorite in linia
FROM, dar DBMS va trebui sa stie cum sa alature tabelele.

Conditii JOIN
SELECT * from driver; SELECT * from car;

NAME DOB REGNO MAKE COLOUR PRICE OWNER

Bob Jones 3 Dec 1986 A155 BDE MERCEDES BLUE 22000 Bob Smith
Bob Smith 23 Mar 1981 F611 AAA FORD RED 12000 Jim Smith
Jim Smith 11 Jan 1980 J111 BBB SKODA BLUE 11000 Jim Smith

K555 GHT FIAT GREEN 6000 Bob Jones

SC04 BFE SMART BLUE 13000

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


SELECT *
FROM car,driver

REGNO MAKE COLOUR PRICE OWNER NAME DOB


A155 BDE Mercedes Blue 22000 Bob Smith Bob Jones 3 Dec 1986
A155 BDE Mercedes Blue 22000 Bob Smith Bob Smith 23 Mar 1981
A155 BDE Mercedes Blue 22000 Bob Smith Jim Smith 11 Jan 1980
F611 AAA Ford Red 12000 Jim Smith Bob Jones 3 Dec 1986
F611 AAA Ford Red 12000 Jim Smith Bob Smith 23 Mar 1981
F611 AAA Ford Red 12000 Jim Smith Jim Smith 11 Jan 1980
J111 BBB Skoda Blue 11000 Jim Smith Bob Jones 3 Dec 1986
J111 BBB Skoda Blue 11000 Jim Smith Bob Smith 23 Mar 1981
J111 BBB Skoda Blue 11000 Jim Smith Jim Smith 11 Jan 1980
K555 GHT Fiat Green 6000 Bob Jones Bob Jones 3 Dec 1986
K555 GHT Fiat Green 6000 Bob Jones Bob Smith 23 Mar 1981
K555 GHT Fiat Green 6000 Bob Jones Jim Smith 11 Jan 1980
SC04 BFE Smart Blue 13000 Bob Jones 3 Dec 1986
SC04 BFE Smart Blue 13000 Bob Smith 23 Mar 1981
SC04 BFE Smart Blue 13000 Jim Smith 11 Jan 1980

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


FOREIGN KEY link

REGNO MAKE COLOUR PRICE OWNER NAME DOB


A155 BDE Mercedes Blue 22000 Bob Smith Bob Jones 3 Dec 1986
A155 BDE Mercedes Blue 22000 Bob Smith Bob Smith 23 Mar 1981
A155 BDE Mercedes Blue 22000 Bob Smith Jim Smith 11 Jan 1980
F611 AAA Ford Red 12000 Jim Smith Bob Jones 3 Dec 1986
F611 AAA Ford Red 12000 Jim Smith Bob Smith 23 Mar 1981
F611 AAA Ford Red 12000 Jim Smith Jim Smith 11 Jan 1980
J111 BBB Skoda Blue 11000 Jim Smith Bob Jones 3 Dec 1986
J111 BBB Skoda Blue 11000 Jim Smith Bob Smith 23 Mar 1981
J111 BBB Skoda Blue 11000 Jim Smith Jim Smith 11 Jan 1980
K555 GHT Fiat Green 6000 Bob Jones Bob Jones 3 Dec 1986
K555 GHT Fiat Green 6000 Bob Jones Bob Smith 23 Mar 1981
K555 GHT Fiat Green 6000 Bob Jones Jim Smith 11 Jan 1980
SC04 BFE Smart Blue 13000 Bob Jones 3 Dec 1986
SC04 BFE Smart Blue 13000 Bob Smith 23 Mar 1981
SC04 BFE Smart Blue 13000 Jim Smith 11 Jan 1980

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Traditional JOIN

SELECT *
FROM car,driver
WHERE owner = name;

REGNO MAKE COLOUR PRICE OWNER NAME DOB


K555 GHT Fiat Green 6000 Bob Jones Bob Jones 3 Dec 1986
A155 BDE Mercedes Blue 22000 Bob Smith Bob Smith 23 Mar 1981
F611 AAA Ford Red 12000 Jim Smith Jim Smith 11 Jan 1980
J111 BBB Skoda Blue 11000 Jim Smith Jim Smith 11 Jan 1980

Cu ajutorul lui JOIN

SELECT *
FROM car JOIN driver ON ( owner = name );

REGNO MAKE COLOUR PRICE OWNER NAME DOB


K555 GHT Fiat Green 6000 Bob Jones Bob Jones 3 Dec 1986
A155 BDE Mercedes Blue 22000 Bob Smith Bob Smith 23 Mar 1981
F611 AAA Ford Red 12000 Jim Smith Jim Smith 11 Jan 1980
J111 BBB Skoda Blue 11000 Jim Smith Jim Smith 11 Jan 1980

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


OUTER JOIN

• Sa consideralm ultima linie a unui join fara constrangeri…


REGNO MAKE COLOUR PRICE OWNER NAME DOB
SC04 BFE SMART BLUE 13000 Jim Smith 11 Jan 1980

• Este o masina fara un proprietar.


• Cateodata se doreste sa se vada randurile care nu satisfac conditia JOIN din cauza campurilor
NULL.
• Pentru a vedea NULL in JOIN se foloseste OUTER JOIN.
• Deci JOIN care a fost discutat este cunoscut ca INNER JOIN.
• Astfel OUTER JOIN forteaza toate liniile sa apara in rezultat.
• Sunt unele variante ale OUTER JOIN, care depind de care randuri dorim sa le pastram.
• Se considera:
FROM car JOIN driver on (driver = name)

To the RIGHT of the JOIN

To the LEFT of the JOIN


• Daca dorim toate randurile in CAR sa apara in raspuns trebuie folosit LEFT OUTER JOIN
• Daca dorim toate randurile in DRIVER sa apara in raspuns trebuie folosit RIGHT OUTER
JOIN

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• In exemplu, OWNER este NULL in tabela CAR.
• CAR este la stanga cuvantului JOIN
• Ne trebuie LEFT OUTER JOIN (care este scris LEFT JOIN).

SELECT *
FROM car LEFT JOIN driver ON ( owner = name )
;

REGNO MAKE COLOUR PRICE OWNER NAME DOB


K555 GHT FIAT GREEN 6000 Bob Jones Bob Jones 3 Dec 1986
A155 BDE MERCEDES BLUE 22000 Bob Smith Bob Smith 23 Mar 1981
F611 AAA FORD RED 12000 Jim Smith Jim Smith 11 Jan 1980
J111 BBB SKODA BLUE 11000 Jim Smith Jim Smith 11 Jan 1980
SC04 BFE SMART BLUE 13000

FULL OUTER JOIN


• Cu LEFT OUTER join, se tin toate randurile de la stanga.
• Cu RIGHT OUTER join, se tin toate randurile de la dreapta..
• Daca se doreste tinerea randurilor de la ambele capete se utilizeaza FULL OUTER join, cunoscut ca
FULL JOIN.
• Sa consideram un nou rand in DRIVER, David Davis, care nu are nici o masina.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


NAME DOB
Bob Smith 23 Mar 1981
Bob Jones 3 Dec 1986
David Davis 1 Oct 1975
Jim Smith 11 Jan 1980

LEFT

SELECT *
FROM car LEFT JOIN driver ON ( owner = name )
;

REGNO MAKE COLOUR PRICE OWNER NAME DOB


K555 GHT FIAT GREEN 6000 Bob Jones Bob Jones 3 Dec 1986
A155 BDE MERCEDES BLUE 22000 Bob Smith Bob Smith 23 Mar 1981
F611 AAA FORD RED 12000 Jim Smith Jim Smith 11 Jan 1980
J111 BBB SKODA BLUE 11000 Jim Smith Jim Smith 11 Jan 1980
SC04 BFE SMART BLUE 13000

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Right

SELECT *
FROM car RIGHT JOIN driver ON ( owner = name )
;

REGNO MAKE COLOUR PRICE OWNER NAME DOB


A155 BDE MERCEDES BLUE 22000 Bob Smith Bob Smith 23 Mar 1981
F611 AAA FORD RED 12000 Jim Smith Jim Smith 11 Jan 1980
J111 BBB SKODA BLUE 11000 Jim Smith Jim Smith 11 Jan 1980
K555 GHT FIAT GREEN 6000 Bob Jones Bob Jones 3 Dec 1986
David Davis 1 Oct 1975

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Example: Full

SELECT *
FROM car FULL JOIN driver ON ( owner = name );

In MySQL nu functioneaza FULL JOIN, acelasi rezultat se poate obtine cu:

SELECT *
FROM car LEFT JOIN driver ON ( owner = name )
UNION
SELECT *
FROM car RIGHT JOIN driver ON ( owner = name );
;

REGNO MAKE COLOUR PRICE OWNER NAME DOB


F611 AAA FORD RED 12000 Jim Smith Jim Smith 11 Jan 1980
J111 BBB SKODA BLUE 11000 Jim Smith Jim Smith 11 Jan 1980
A155 BDE MERCEDES BLUE 22000 Bob Smith Bob Smith 23 Mar 1981
K555 GHT FIAT GREEN 6000 Bob Jones Bob Jones 3 Dec 1986
SC04 BFE SMART BLUE 13000
David Davis 1 Oct 1975

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Numele

Cateodata coloana nume poate fi ambigua daca de exemplu se face referire la doua tabele, ambele avand o
coloana NAME:

SELECT name from ALPHA,BRAVO;

Aceasta interogare esueaza din motivele aratate, dar se poate rezolva prin:

SELECT alpha.name from ALPHA,BRAVO;

In unele cazuri este incomod a se repeta denumiri lungi de tabele.


SQL permite redenumirea tabelelor pe durata interogarii.
Se pune noul nume imediat dupa numele tabelului in FROM, separat de spatiu.
In loc de:

SELECT car.owner FROM car;


Se poate scrie:

SELECT c.owner FROM car c;


Aceasta se poate folosi si cu JOIN.

SELECT c.regno, c.owner, d.dob


FROM car c JOIN driver d on (c.owner = d.name)

Selfjoin

Un selfjoin, sau un echi JOIN apare atunci cand acelasi tabel este folosit de doua ori intr-o linie FROM.
Se indica necesitatea utilizarii unei singure tabele in doua moduri simultan.
Se considera intrebarea: “Cine conduce o masina de aceeasi culoare cu a lui Bob Smith?

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


SELECT colour FROM car WHERE owner = ‘Bob Smith’;
Colour
BLUE

SELECT owner FROM car


WHERE colour = ‘BLUE’ owner
AND owner != ‘Bob Smith’ Jim Smith
AND owner IS NOT NULL;

SELECT other.owner
FROM car bobsmith, car other
owner
WHERE bobsmith.colour = other.colour -- 1
AND bobsmith.owner = ‘Bob Smith’ -- 2 Jim Smith

AND bobsmith.owner != other.owner -- 3


AND other.owner IS NOT NULL -- 4
;

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


VIEWS

• VIEWS este pentru baza de date ce este subrutina intr-un limbaj de programare.
• Aceasta permite sa se pastreze o interogare in baza de date, astfel incat sa putem s-o accesam la un moment
ulterior prin nume.
• Cand se scrie o interogare, acestea se trateaza ca tabelele, prin nume,.
• Nu toate implementarile SQL suporta VIEW; MySQL nu suporta VIEW.
• Sa presupunem ca scriem o interogare care sa ne spuna cati soferi si cate masini sunt in baza de date.
• Se pot scrie separat…

SELECT count(*) from DRIVER;


SELECT count(*) from CAR;

• Sunt doua interogari si dorim sa facem intr-o singura interogare. Sa stocam cele doua interogari in doua
vederi diferite.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


CREATE VIEW count1 (total) AS select count(*) from driver;
CREATE VIEW count2 (total) AS select count(*) from car;

Select * from count1;


Total
4
Select * from count2;
Total
5

Select count1.total,count2.total
from count1,count2;
Total Total

4 5
Stergerea unei vederi

Vederea se poate sterge cu comanda DROP VIEW.


• De exemplu

DROP VIEW count1;

DROP VIEW count2;

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Subqueries
• Subquery – o declaratie select in interiorul alteia
• Folosita in clauze WHERE
• Subqueries pot returna mai multe randuri
• Subqueries pot returna numai o coloana.
• Folosite ca un inlocuitor pentru view sau selfjoin.
• Principalul inconvenient, pot fi mai lente decat selfjoin sau view.

Exemple:
• Cine din baza de date este mai in varsta decat Jim Smith?

SELECT dob FROM driver WHERE name = ‘Jim Smith’;

Dob
11 Jan 1980

SELECT name FROM driver WHERE dob > ’11 Jan 1980’;

name
Bob Jones
Bob Smith

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• Combinate:

SELECT name
FROM driver NAME
Bob Jones
WHERE dob > (SELECT dob
Bob Smith
FROM driver
WHERE name = ‘Jim Smith’)
;

• Aceasta solutie va functiona daca este doar 1 Jim Smith.

ANY and ALL

• Pentru a suporta subqueries care returneaza mai mult de 1 rand sunt necesari operatorii aditionali ANY si
ALL.
• ANY – schimba regula astfel incat aceasta trebuie sa fie adevarata pentru macar unul din randurile returnate
de subquery.
• ALL – schimba regula astfel incat aceasta trebuie sa fie adevarata pentru fiecare si oricare din randurile
returnate de subquery.

• Operatorii ANY sau ALL se folosesc imediat inaintea parantezei deschise a subquery.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Examplu 1: Ce masina este de aceeasi culoare ca masina detinuta de Jim Smith?

Jim detine 2 masini, una este RED si cealalta BLUE. Cautam masini care sunt fie RED fie BLUE.

SELECT regno FROM car


WHERE colour = ANY ( SELECT colour
FROM car REGNO
WHERE owner = ‘Jim Smith’ A155 BDE
); F611 AAA
J111 BBB
SC04 BFE
Exemplu 2:
• Listati soferii mai tineri decat toti soferii care detin o masina albastra.
• Se cauta varsta soferilor care detin o masina BLUE si se listeaza soferii care sunt mai tineri decat toate
aceste varste.

SELECT name,dob FROM driver NAME DOB


WHERE dob < ALL ( David Davis 1 Oct 1975
SELECT dob
FROM car JOIN driver ON (owner=name)
WHERE colour = ‘BLUE’
);

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


IN and NOT IN
• O subquery returneaza rezultatul ca o multime.
• Astfel putem utiliza IN si NOT IN in subqueries.

• Intrebare: Care masini au aceeasi culoare ca masina lui Jim Smith?

SELECT regno FROM car REGNO


WHERE colour IN (SELECT colour FROM car A155 BDE
WHERE owner = ‘Jim Smith’); F611 AAA
J111 BBB
SC04 BFE

Exemplu cu NOT IN

• Intrebare: Care masini nu au aceeasi culoare ca masina lui Jim Smith?

SELECT regno FROM car REGNO


K555 GHT
WHERE colour NOT IN (SELECT colour FROM car
WHERE owner = ‘Jim Smith’)

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


EXISTS

• Daca o intrebare implica descoperirea unor unicitati, atunci este probabil sa fie mai usor
rezolvata cu operatorii EXISTS sau NOT EXISTS.
• Operatorul EXISTS testeaza rezultatul unei subquery, si daca este returnat cel putin un rand
este TRUE, altfel este FALSE.
• Operatorul NOT EXISTS este opusul lui EXISTS.

• Exemplu:
• Intrebare: Listati culorile care sunt folosite o singura data in baza de date.

SELECT colour
COLOUR
FROM car a BLUE
WHERE exists ( BLUE
SELECT colour -- The row does not matter BLUE
FROM car b -- unique name from a
WHERE a.colour = b.colour -- Same colour as a
AND a.regno != b.regno -- Different car from a
);

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


UNION
• Cate odata doua sau mai multe interogari produc acelasi rand si se doreste combinarea
rezultatelor intr-unul singur.
• UNION face aceasta si permite alaturarea unor selectii diferite.
• UNION automat scoate randurile duplicate.

• Pentru exemplul urmator presupunem ca un rand a fost adaugat in tabela DRIVER. Acest rand
contine inregistrarea David Davis, dar proprietarul nu detine nici o masina.
• Intrebare: Listati toti soferii din tabela DRIVER, impreuna cu cate masini detin.

SELECT name,count(*)
FROM driver JOIN car on (name = owner)
GROUP BY owner;

NAME Count(*)
Bob Jones 1
Bob Smith 1
Jim Smith 2

David Davis lipseste deoarece nu satisface conditia din JOIN.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• Scrieti o interogare numai pentru David Davis…

SELECT name,0
FROM driver
WHERE name NOT IN (select owner from car)

NAME
David Davis 0

Legati cele doua interogari impreuna:

SELECT name,count(*)
FROM driver JOIN car on (name = owner) NAME Count(*)
UNION Jim Smith 2
SELECT name,0 Bob Smith 1
FROM driver
Bob Jones 1
WHERE name
David Davis 0
NOT IN (select owner
from car)

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Modificatori ai datelor
• Alti operatori utili sunt:
– INSERT
– DELETE
– UPDATE
INSERT
INSERT INTO table_name
[(column_list)] VALUES (value_list)

column_list poate fi omisa daca fiecarei coloane i se va asigna o valoare, altfel trebuie listate
coloanele carora li se vor asigna valori.value_list este o multime de valori literale ce dau
valoarea fiecarei coloane in aceeasi ordine ca column_list, daca sunt specificate sau cum sunt
coloanele definite in CREATE TABLE.
Ex:
insert into driver
values (‘Jessie James’,’31 Nov 1892’);
insert into driver (name,dob)
values (‘John Johnstone’,’1 Aug 1996’);

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


DELETE
DELETE FROM table_name [WHERE condition];

Randurile table_name care satisfac conditia sunt sterse.

• Exemple:
DELETE FROM car; -- Delete all rows from CAR
;
DELETE FROM car
WHERE owner is null -- Delete rows for cars without owners;

UPDATE
UPDATE table_name
SET column_name = expression,{column_name=expression}
[WHERE condition]

Set all BLUE cars to GREEN


UPDATE car SET colour = ‘GREEN’
WHERE colour = ‘BLUE’

Add VAT/Purchase Tax at 17.5% to all prices


UPDATE car SET price = price * 1.175

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


CREATE TABLE
• A Tipuri de date:
– INTEGER
– REAL
– DECIMAL : Including DECIMAL(5) and DECIMAL(4,2)
– VARCHAR
– CHAR : Pads out strings with spaces
– DATE
Sintaxa:

CREATE TABLE tablename (


colname type optionalinfo
,colname type optionalinfo
,other optional info
);

• Optionalinfo pot fi
– O INTEGER REFERENCES b(c)
– PRIMARY KEY
– NOT NULL

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• Alte optional info de la sfarsitul definitiei tind sa fie reguli cu impact asupra a mai mult de un
atribut:
– PRIMARY KEY (col1,col2,…)
– FOREIGN KEY (col1,col2,…) REFERENCES othertable

CREATE table driver (


name varchar(30) PRIMARY KEY,
dob date IS NOT NULL
);
CREATE TABLE car (
regno varchar(8) PRIMARY KEY
,make varchar(20)
,colour varchar(30)
,price decimal(8,2)
,owner varchar(30) references driver(name)
);
CREATE table driver (
name varchar(30)
,dob date IS NOT NULL
,PRIMARY KEY (name)
);

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


CREATE TABLE car (
regno varchar(8)
,make varchar(20)
,colour varchar(30)
,price decimal(8,2)
,owner varchar(30)
,FOREIGN KEY(owner) references driver(name)
,PRIMARY KEY(regno)
);

DROP TABLE
• Pentru stergerea tabelei se foloseste DROP TABLE.
– DROP TABLE tablename
• Dificultatea principala la stergerea tabelului consta in integritatea referentiala. Tabelul CAR
se refera la DRIVER deci trebuie sters intai CAR si apoi DRIVER. Daca se face invers
DBMS va raporta eroare.

DROP TABLE car;


DROP TABLE driver;

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Modificarea tabelului

• Pentru a schimba o tabela care exista se foloseste MODIFY TABLE.


• Aceasta este o comanda complexa cu multe optiuni.
• Un exemplu simplu este de a adauga un camp de adresa la tabela DRIVER.

ALTER TABLE driver ADD address varchar(50)

Ordinea evaluarii in SELECT

SELECT [DISTINCT] column_name 5,6 elimina datele nedorite


FROM label_list 1 Produsul Cartezian
[WHERE condition ] 2 elimina randuri nedorite
[GROUP BY column_list 3 grupeaza randuri
[HAVING condition ]] 4 elimina grupuri nedorite
[ORDER BY column_list[DESC]] 7 sorteaza randuri

Ultimele patru componente sunt optionale

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi
Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi
Data mining
Data Mining este o tehnologie noua ce vizează descoperirea cunoștințelor in baze de date. Aceasta a fost
definita ca analiza automata a unor seturi de date complexe si de volum mare, cu scopul de a descoperi noi
informații (tipare semnificative ale datelor sau tendințe ale acestora).
Procesul de extragerea cunoștințelor se realizează în următorii pași:

É Analiza problemei - care constă în achiziția unor cunoștințe despre starea inițială, precum si despre scopul
aplicației. Această etapă identifică următoarele faze:

- Determinarea obiectivelor. Declanșarea unui astfel de proces este determinată de sesizarea unei oportunități
sau necesități de afaceri, ceea ce impune delimitarea exactă a ceea ce se urmărește de rezolvat prin data miting,
care sunt obiectivele urmărite și rezultatele așteptate. Problemele pot fi diverse: optimizarea răspunsului clienților
în cadrul unei campanii de marketing, prevenirea utilizării frauduloase a cardurilor bancare, detectarea intrărilor
ostile într-un sistem informațional.
- Definirea criteriilor de succes. O dată problema conturată, se recomandă definirea unor criterii ce pot
asigura reușita proiectului; aceste criterii pot fi, atât de natură obiectivă (cantitativă): îmbunătățirea numărului
abaterilor detectate, îmbunătățirea gradului de răspuns al clienților la campaniile de marketing, cât și de natură
subiectivă (calitativă), situație în care expertul domeniului apreciază rezultatele utilizării tehnicilor data mining
corespunzător obiectivelor problemei de rezolvat.
- Evaluarea situației impune o analiză a costurilor implicate și a beneficiilor viitoare, a experienței deținute în
rezolvarea problemei propuse.
- Determinarea scopurilor Data Mining. Etapele anterioare au stabilit problema și criteriile de succes pentru o
soluționare corectă a acesteia, astfel încât în acest moment este necesară o traducere a scopurilor problemei de
rezolvat în termeni “data mining”. Practica a demonstrat adesea, că scopul general al unei probleme este diferit de
scopul “data mining”, exemplele din tabelul 1. evidențiind acest aspect:

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Scopul general al
Scopul „data mining”
problemei de rezolvat
Determinarea caracteristicilor clienților în funcție de
Creșterea vânzărilor
puterea acestora de cumpărare

Determinarea modelelor critice de utilizare frauduloasă a


Prevenirea fraudării
cărților de credit, sau construirea unui algoritm precis
cărților de credit
pentru detectarea automată a fraudelor

Scopul „data mining” este într-o relație directă cu principalele categorii de operații, ce caracterizează acest
proces: descrierea datelor, clasificarea, predicția, analiza dependențelor, analiza clusterelor, analiza excepțiilor.
- Elaborarea unui plan al proiectului. Finalitatea acestei etape se rezumă în descrierea unui plan de
acțiune, cu toate lucrările ce se vor executa, tehnicile ce se vor utiliza în cadrul acestora și obiectivele urmărite.

Ç Identificarea surselor de date. Odată problema definită, este necesară stabilirea structurii generale a
datelor cât și delimitării surselor acestor date. Practica a demonstrat adeseori că este vorba de date dispersate în
diverse sisteme operaționale, stocate în formate diferite, administrate cu produse software diferite, uneori
disponibile doar pe hârtie. Etapa în sine implică realizarea următoarelor acțiuni: colectarea inițială a datelor,
descrierea datelor și verificarea calității acestora. Aceste acțiuni, în ansamblul lor, permit extragerea și plasarea
tuturor datelor într-o bază comună ce urmează a fi folosită, verificarea conținutului fiecăreia dintre surse pentru
o identificare a eventualelor incoerențe sau probleme de definire, “elemente” care ar putea compromite
rezultatele analizelor viitoare.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Ç Pregătirea datelor. Datele selectate în etapa anterioară trebuie supuse unui proces preliminar de
pregătire înainte de a fi realizată extracția prin data mining. Acțiunile importante ce caracterizează această etapă
se pot rezuma la: selectarea datelor, „curățirea datelor”, obținerea noilor date și formatarea lor. „Curățirea
datelor” se distinge ca o fază importantă a etapei, recunoscută ca mare consumatoare de timp datorită tehnicilor
diversificate ce pot fi implementate pentru asigurarea fiabilității datelor. Aceste tehnici vizează:
- normalizarea datelor
- omogenizarea datelor
- administrarea valorilor care lipsesc. Absența anumitor valori influențează negativ exploatarea optimă a
tehnologiilor Data Mining, precum și aplicarea unor metode statistice. În general realizarea unor experimente cu
și fără aceste atribute în etapa de modelare, evidențiază importanta valorilor lipsă. O soluție simplă de rezolvare
a problemei presupune fie:
– înlocuirea tuturor valorilor lipsă cu o constantă totală unică,
– înlocuirea unei valori lipsă cu caracteristica sa medie,
– înlocuirea unei valori lipsă cu caracteristica previzionată.
Adesea, această soluție nu asigură valoarea optimă fapt pentru care datele vor fi afectate. Dacă valorile
lipsă pot fi reduse la doar câteva caracteristici, atunci se poate încerca o soluționare prin ștergerea exemplelor
conținând valori lipsă, sau ștergerea atributelor ce conțin majoritatea valorilor lipsă. O altă soluție este de a se
încerca predicția valorilor lipsă cu ajutorul unui instrument data mining. În acest caz previzionarea valorilor
lipsă reprezintă un caz special al problemei de predicție data mining.
- reducerea datelor. Motivele pentru reducerea datelor sunt în majoritatea cazurilor duble: fie volumul
datelor este prea mare pentru aplicație, fie timpul estimat pentru obținerea soluției este prea lung. Tehnicile
pentru reducerea datelor sunt de regulă eficiente, dar imperfecte.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Cel mai frecvent algoritm pentru reducerea dimensiunilor datelor este de a se examina atributele și de a lua
în considerare doar potențialul predictiv. În general, o parte dintre atribute pot fi în mod obișnuit ignorate, fie
pentru că sunt slab predictive, fie pentru că sunt suplimentare în raport cu alte atribute bune.

Ç Modelarea este etapa de construire a unui model informatic pe baza căruia se va efectua explorarea
propriu-zisă a datelor. Analizând noutatea și abundența tehnicilor și algoritmilor utilizați în cadrul acestei etape,
se poate considera că ea este cea mai interesantă parte a procesului Data Mining. Selectarea tehnicii de modelare
este hotărâtoare pentru construcția modelului în sine, fapt pentru care în tabelul următor sunt prezentate cele mai
importante tehnici de modelare asociate acțiunilor uzuale Data Mining.

Modele de inducţie a regulilor, arbori de decizie, retele


Clasificare neuronale, metoda celor mai apropiaţi k vecini,
raţionament bazat pe cazuri
Analiza regresiei, reţele neuronale, metoda celor mai
Predicţie
apropiaţi k vecini
Analiza corelaţiei, analiza regresiei, reguli de asociere,
Analiza dependenţelor
reţele Bayesiane
Descrierea datelor Tehnici statistice OLAP
Tehnici de clustering, reţele neuronale, vizualizarea
Analiza clusterelor
datelor

Construirea modelului este însoțită de o fază de testare, care verifică calitatea și valabilitatea modelului. De
exemplu, în acțiunile de clasificare a datelor este uzuală folosirea valorilor eronate ca o măsură a calității
modelelor de data mining. Astfel, datele colectate în etapele anterioare vor fi divizate în seturi de „date de
pregătire” și seturi de „date pentru testare”.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Prima categorie de date va reprezenta baza construirii modelului, iar estimarea calității sale va fi abordată
prin prisma celei de-a doua categorii. Odată ales instrumentul/tehnicile de modelare, acestea se vor utiliza pe
setul de date de pregătire, generând diferite tipuri de modele. În general, toate instrumentele de modelare au un
număr de parametri ce conduc procesul de generare al modelului, coeficienți ce pot fi modificați până la
obținerea rezultatelor scontate.
Ç Evaluarea modelului. Această etapă validează modelul din punct de vedere al datelor analizate. În
fazele anterioare, cu precădere în faza de modelare, evaluarea presupunea o analiză a fiabilității și generalității
modelelor generate, în timp ce in această etapă se realizează o evaluarea a modelelor prin prisma obiectivelor
inițiale ale problemei. Se vor analiza și interpreta atât rezultatele direct legate de obiectivele de soluționare a
problemei cât și alte constatări efectuate, acest lucru putând oferi sugestii pentru modelele viitoare și alte
informații suplimentare.
Ç Integrarea noilor cunoștințe. Această etapă finalizează procesul prin expansiunea modelului obținut și a
rezultatelor sale la nivelul sistemului informatic al organizației.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Metode de data mining

Regresia este o metodă folosită în explorarea datelor preluată din statistică, algoritmii liniari și neliniari, fiind
utilizați pentru corelarea datelor. Algoritmul constă în învățarea unei funcții care mapează un set de date peste
variabila estimată a valorii reale. Prin folosirea acestei metode este posibil să se obțină cunoștințe calitative despre
relațiile de intrare-ieșire. Dacă nu sunt cunoștințe apriorice, este necesar de găsit funcția cea mai probabilă prin
încercări succesive, ceea ce poate fi consumatoare de timp. Exemple de acest tip sunt estimarea cererii de consum
pentru un nou produs ca o funcție de publicitate a vânzărilor și estimarea seriilor de timp în care variabilele de
intrare pot fi versiuni întârziate ale variabilelor estimate.

Clasificarea este cunoscută și ca segmentarea, fiind un proces de examinare a grupurilor de date pentru a
determina care caracteristici pot fi utilizate pentru a identifica (sau estima) apartenența la grup. Exemple de
clasificări includ clasificarea tendințelor în piețele financiare, gruparea clienților pe baza tranzacțiilor realizate și
estimarea răspunsului acestora la promoția unui anumit produs. Aplicarea metodei necesită gruparea înregistrărilor
în clase pe baza proprietăților comune (atributelor). Algoritmii de clasificare sunt:
- algoritmi statistici (analiza discriminatorie “discriminant analysis”, regresia logistică);
- arbori de decizie sau segmentarea bazată pe arbori, (folosind metoda divide-et-impera, CHAID sau arbori
de clasificare și regresie: C&RT, QUESt, CART și C4.5/ C5.0).
Învățarea regulilor de clasificare - implică găsirea regulilor sau a arborilor de decizie care petiționează seturi
de date în clase predefinite. Se aplică în cazul volumelor mari de date la care mulțimea arborilor de decizie posibili
este prea mare pentru o căutarea exhaustivă.
Algoritmi din această clasă sunt:
- ID3 este un algoritm de construire a arborilor de decizie care clasifică obiectele prin testarea valorilor
proprietăților. Acesta construiește arborele într-o manieră top-down, plecând de la mulțimea obiectelor și
specificația proprietăților;

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


- C4.5 algoritmul generează arborele de clasificare-decizie pentru un anumit set de date prin partiționarea
recursivă a datelor, luând în considerare toate testele posibile și selectând pe cel care dă cea mai bună
informație. Pentru fiecare atribut se consideră un test și acesta produce atâtea ieșiri cât numărul valorilor
distincte ale atributelor testate.

- SLIQ (Supervised Learning In QUEST) algoritmul este un clasificator bazat pe arbori de decizie proiectat să
clasifice seturi mari de date. Acesta folosește o tehnică de presortare în faza de creștere a arborelui, ceea ce îi
permite evitarea costurilor cu sortarea în fiecare nod. SQLIP păstrează o listă separată pentru fiecare atribut
continuu și a listă separată numită lista claselor. O intrare în lista claselor corespunde unui articol data (data
item) are o etichetă de clasă și numele nodului căruia îi aparține în arborele de decizie.

- rețele neuronale cu dezavantajul că necesită un timp îndelungat de antrenare pentru procesare fată de arborii de
decizie. Timpul de antrenare variază depinzând de numărul de cazuri de antrenare, ponderile în rețea și de
fixarea parametrilor de învățare;

- algoritmi genetici sunt tehnici de optimizare care folosesc procese de combinare genetică, mutații și selecție
naturală într-o proiectare bazată pe conceptele evoluției naturale;

- metoda vecinătății celei mai apropiate clasifică fiecare înregistrare dintr-un set de date pe baza unei combinații
de clase a înregistrării k;

- inducția regulii, extracția datelor utile pe baza unor reguli de tipul dacă – atunci aplicate datelor pe baza
semnificației statistice.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Reguli de asociere - Ideea de bază a asocierii regulilor este de a căuta tipare de date de următoarea formă:
IF (unele condiții sunt adevărate) THEN (alte condiții sunt probabil adevărate). Fiecare condiție extrasă din
prelucrarea datelor este numită o regulă asociată, sau simplu o regulă. Regulile de asociere generează modele
bazate pe reguli și au două caracteristici principale asociate, care le măsoară valoarea: acoperirea și nivelul de
încredere. Acoperirea descrie cât de multă evidență este în setul datelor de antrenare pentru a salva regula. Uzual
domeniul este între 0 și 1 (0% și 100%). În plus, algoritmul regulilor de asociere folosește suportul unei reguli
care este numărul de înregistrări sau tranzacții care confirmă regula. Algoritmul clasic de explorare a datelor
prin Regula de asociere a fost dezvoltat pentru a găsi toate regulile de asociere într-o bază de date a cărei suport
este mai mare decât suportul minim și a cărei confidență este mai mare decât confidența minimă. Acest algoritm
folosește conceptul setului de articole (item set concept), definit ca o mulțime nevidat de articole. Setul de
articole este numit frecvent, dacă suportul său este mai mare decât suportul minim. Un set de articole frecvent
care este maximal este numit mare (large). Problema regulii de asociere în explorarea datelor este descompusă în
următorii pași:

- găsirea tuturor combinațiilor de articole care au tranzacții suport peste suportul minim,
- apelarea acelor combinații ale setului de articole frecvent, folosirea seturilor de articole frecvent pentru a
genera regulile dorite,
- păstrarea regulii care are confidența mai mare sau egală cu confidența minimă și suportul mai mare sau
egal cu suportul minim.

Metode de clustering – La fel ca segmentarea, metoda identifică grupuri de cazuri similare, dar nu
estimează ieșirile sau categoriile țintă. Din acest motiv algoritmii de clustering sunt denumiți algoritmi de
clasificare nesupervizată și aceștia procesează un grup de obiecte fizice abstracte în clase de obiecte similare.
Analiza clustering permite identificarea unor colecții de obiecte dată, similare, incluse în structura de date
analizată. Similaritatea este exprimată prin funcții distanta și se urmărește maximizarea similarități lor dintre
cazurile asignate aceluiași grup și maximizarea diferenței dintre grupuri.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Tipare secvențiale – metoda este o parte componentă a analizei secvențiale, scopul principal fiind acela de
a găsi toate tiparele secvențiale cu suport minim predefinit reprezentat de secvența de date. Datele de intrare sunt
reprezentate de o listă de tranzacții secvențiale, deseori fiind asociate tranzacții-timp.

Tehnici combinate – metoda combină diferiți algoritmi, precum cei de extragere a cunoștințelor pe baza
regulilor cu rețelele neuronale, cu raționamentul bazat pe cazuri. Învățarea bazată pe cazuri reprezintă procesul
de achiziție a cunoștințelor printr-un raționament bazat pe analogii. Această metodă este utilă în cazul procesării
datelor cu structură complexă.

Procesarea analitică on-line (OLAP) – este considerată o metodă complementară metodelor de explorare
a datelor pentru analiza unor date de volum foarte mare, multi-dimensionale în baze de date relaționale. În
comparație cu metodele de explorare a datelor, OLAP nu are capabilități de învățare, nu creează noi cunoștințe
și nu pot căuta soluții noi. OLAP se combină cu metodele de explorare a datelor în două moduri: explorarea
datelor se poate include într-o mașină OLAP existentă, cele două tehnici fiind aplicate intercorelat pentru analiza
aceluiasi set de date sau metoda de explorarea datelor se aplică înaintea analizei OLAP.

ARBORI DE DECIZIE
Un arbore de decizie este o reprezentare vizuală a alegerilor, consecinţelor, probabilităţilor şi
oportunităţilor, prin care se simplifica modelul sistemului printr-un mod facil de a înţelege o structură.

Definitie: Un arbore decizional este o structură sub formă de arbore în care fiecare nod poate fi:
- nod terminal (nod frunza)
- nod decizional (contine un test pentru o anumită proprietate)

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Arcele sunt etichetate cu o valoare a proprietăţii testate din nodul din care pleacă, iar frunză este etichetata
cu clasificaţii (daca clasificatiile sunt simple cu YES şi NO atunci arborele se numeste boolean). Nodurile
intermediare sunt etichetate ca atribute.

Nod_radacina

v1 v2

Nod_frunza Nod_frunza

Set raspunsuri posibile

Arcele reprezintă conexiunile între nodurile părinte şi nodurile fii iar numărul lor este legat de setul de
răspunsuri valide pe care le poate furniza utilizatorul pentru o întrebare. Arcele care pleacă dintr-un nod A sunt
etichetate cu valorile posibile ale atributului A. Parcurgerea arborelui se face de sus în jos, dar există şi situaţii
când poate fi necesară şi deplasarea de jos în sus (de exemplu, într-un arbore care învaţă, atunci când setul de
întrebări trebuie modificat, deoarece au fost găsite soluţii noi sau vechile întrebări nu sunt bine formulate).
Metoda arborilor de decizie este cea mai populară metoda de clasificare şi predicţie. Constructia arborelui se
face prin alegerea pentru fiecare întrebare a unui răspuns dintr-un set de răspunsuri valide. În funcţie de aceste
răspunsuri sunt eliminate o serie de soluţii din setul curent de soluţii posibile ale problemei. Cu cât se coboară în
arbore, cu atât acest set de soluţii posibile se micşorează. Fiecare nod neterminal este conectat la un test care
împarte setul sau de raspunsuri posibile într-o submulţime corespunzând rezultatelor de test diferite. Fiecare
ramură duce rezultatul testului la un alt nod şi fiecare nod este conectat la un set de răspunsuri posibile În final
soluţia furnizată corespunde nodului frunză în care s-a ajuns.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Atractivitatea arborilor de decizie se datorează faptului că reprezintă reguli. În unele aplicaţii acurateţea
clasificării sau predicţiei este singurul lucru care contează.
Sunt o multime de algoritmi pentru a construi arbori de decizie care împart calitatea interpretării.
Metoda arborilor de decizie are numeroase aplicatii in domenii precum: medicina, prognoza vremii,
predictia stocurilor, gestiunea creditelor financiare, analiza greşelilor.
Majoritatea algoritmilor care au fost creaţi pentru învăţarea arborilor de decizie sunt variaţii ale unui
algoritm de baza care implică o parcurgere top-down greedy prin mulţimea arborilor de decizie posibili.
Programele de acest tip construiesc un arbore decizional pornind de la un set de situaţii, cazuri.
Ordinea testelor este importantă, punându-se accent pe criteriul alegerii testului din rădăcina arborelui de
decizie.
Învăţarea regulilor de clasificare - implică găsirea regulilor sau a arborilor de decizie care partiţionează
seturi de date în clase predefinite. Se aplică în cazul volumelor mari de date la care mulţimea arborilor de decizie
posibili este prea mare pentru o căutarea exhaustivă.
În această clasă intră următorii algoritmi:
- ID3 este un algoritmul care construieşte arbori de decizie în manieră top-down. Pentru fiecare proprietate,
putem partiţiona multimea de exemple de învătare în submultimi disjuncte, în fiecare submultime aflându-se
obiecte cu o anumită valoare a acelei proprietăţi. Algoritmul selectează o proprietate pentru a o testa în nodul
curent al arborelui şi foloseşte această proprietate pentru a partiţiona multimea de exemple. Algoritmul se aplică
recursiv pentru construirea subarborilor corespunzători fiecărei partiţii. Acest procedeu continuă până când toţi
membrii unei partiţii sunt în aceeasi clasă. Clasa devine o frunză în arborele de decizie;
- C4.5 algoritmul generează arborele de clasificare-decizie pentru un anumit set de date prin partiţionarea
recursivă a datelor, luând în considerare toate testele posibile şi selectând pe cel care dă cea mai bună
informaţie. Pentru fiecare atribut se consideră un test şi acesta produce atâtea ieşiri cât numărul valorilor
distincte ale atributelor testate.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


– SLIQ (Supervised Learning In QUEST) algoritmul este un clasificator bazat pe arbori de decizie
proiectat să clasifice seturi mari de date. Acesta foloseşte o tehnică de presortare în faza de creştere a arborelui,
ceea ce îi permite evitarea costurilor cu sortarea în fiecare nod. SLIQ păstrează o listă separată pentru fiecare
atribut continuu şi a listă separată idem

ALGORITMUL ID3 (Itemized Dichotomizer 3)

Ideea de bază este de a construi un arbore de decizie printr-o cautare greedy de sus în jos într-un set dat de
date, pentru a testa fiecare atribut la fiecare nod. În loc să selecteze atributul care este cel mai folositor pentru a
clasifica setul de date, introduce o informatie cheie.
ID3 este un algoritm neincremental, însemnând că îşi derivează clasele dintr-un set fix de date de antrenare.
Clasele create de ID3 sunt inductive, ceea ce înseamnă că dând un mic set de date de antrenare, clasele specifice
create de ID3 sunt scutite de a lucra pentru alte instante viitoare. Clasele induse nu pot fi facute sa funcţioneze
pentru toate cazurile din moment ce pot clasifica un numar infinit de instanţe. Datele folosite de ID3 trebuie sa
corespundă unor cerinţe şi anume:
- descrierea valorii atributelor: acelaşi atribut trebuie sa descrie fiecare exemplu şi să aibă un număr fix de
valori;
- clase predefinite: un exemplu de atribut trebuie să fie deja definit, ceea ce înseamnă ca nu este învăţat de
ID3;
- clase discrete: clasele trebuie sa fie foarte bine descrise. Clasele continue împărţite în categorii vagi pot
creea suspiciuni (de ex: greu, putin greu, normal, usor, foarte usor);
- exemple suficiente: din moment ce este utilizată inducţia generalizată trebuie sa fie destule cazuri de test
pentru a putea distinge modele.
Pentru a găsi metoda optimală pentru a clasifica setul de învăţare trebuie să minimizăm întrebarea pusă
(minimizăm adâncimea arborelui). Avem nevoie de nişte funcţii care să faca cea mai bună împărţire. Algoritmul
ID3 aduce două noi îmbunătaţiri algoritmilor de clasificare: vizualizare şi informaţia teoretica euristică.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


- Vizualizarea poate fi folosită dacă setul de antrenare este foarte mare. Un subset din setul de antrenare este ales la
întâmplare pentru a construi arborele iniţial. Cazurile rămase sunt ulterior clasificate folosind arborele. Dacă
arborele ne oferă clasificarea corectă pentru setul de date de intrare atunci este acceptat pentru întreg setul de date şi
procesul ia sfârşit.
- Informaţia teoretică euristică este folosită pentru a produce arbori „superficiali” decizând ordinea în care să fie
selectate atributele. Primul stagiu este calcularea proporţiei cazurilor pozitive şi negative care sunt disponibile într-
un nod. O valoare cunoscută ca entropia atributului tinta S, relativ la clasificarea in c valori este definita ca:

unde c este numarul de valori (clase) ale atributului tinta S, iar pi reprezinta proportia din S care apartine clasei i.
Valoarea entropiei E(S) se utilizeaza pentru a determina cantitativ efectul împărţirii setului de date, folosind un
atribut particular.
De notat ca Entropy este 0 daca toti membrii lui S apartin aceleiasi clase (data este perfect clasificata). Multimea
valorilor entropiei este de la 0 (perfect clasificata) la 1 (total aleatoare).
Pentru aceasta se foloseste o măsura numită Castigul informational (“Information Gain”) care calculează reducerea
entropiei care ar rezulta din împărţirea datelor dupa atributul A.

Pentru un anumit atribut A, câştigul informaţional produs de selectarea acestuia ca rădăcină a arborelui de decizie
este egal cu continutul total de infomaţie din arbore minus continutul de informatie necesar pentru a termina
clasificarea (construirea arborelui), după selectarea atributului A ca radacina.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Information gain - câştigul informaţional reprezintă reducerea aşteptată în entropie cauzata de segmentare.
Mai precis, information gain, Gain(S,A) a unui atribut A în raport cu o colectie S a atributului tinta este definit
ca:
,

unde:
- Valori(A) este un set de posibile valori pentru atributul A
- Sv este o submultime a lui S pentru care atributul A are valoarea v, Sv = {s œ S | A(s) = v}
- E (S) este entropia lui S
- cel de-al doilea termen e valoarea aşteptată pentru entropie, dupa ce S este segmentat folosind atributul A,
deci este suma entropiilor pentru fiecare submultime Sv, înmulţită cu fracţia |Sv|/|S|.
- |Sv| numarul de elemente in Sv
- |S| numarul de elemente in S

Exemplu:

Presupunem ca S este o multime de 14 exemple in care unul din atribute este wind_speed. Valorile acestui
atribut sunt : Weak sau Strong. Clasificarea acestor 14 exemple contine: 9 YES si 5 NO. Pentru atributul Wind,
presupunem ca sunt 8 aparitii ale Wind = Weak si 6 aparitii ale Wind = Strong. Pentru 6 aparitii Wind = Weak,
le corespund valoarea atributului tinta YES si pentru 2 aparitii NO. Pentru Wind = Strong, 3 sunt YES si 3 sunt
NO.
Se calculeaza:

Entropy(S) = - (9/14) Log2 (9/14) - (5/14) Log2 (5/14) = 0.940

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


E (Sweak) = - (6/8)*log2(6/8) - (2/8)*log2(2/8) = 0.811
E (Sstrong) = - (3/6)*log2(3/6) - (3/6)*log2(3/6) = 1.00
Gain(S,Wind) = E(S)-(8/14)*Entropy(Sweak)-(6/14)*Entropy(Sstrong) = 0.940 - (8/14)*0.811 - (6/14)*1.00 = 0.048

Pentru fiecare atribut, se calculeaza castigul si se alege in nodul de decizie cel cu castigul cel mai mare. Algoritmul
continuă alegând un nou atribut şi repetând segmentarea cu fiecare nod neterminal.

Procesul se repeta până când una din cele două condiţii este satisfăcută:
- toate atributele au fost deja incluse in parcurgerea arborelui;
- exemplele antrenate asociate cu nodul frunză au toate aceeaşi valoare de atribut.

wind _speed Yes No Total Entropie


Weak 6 2 8 Entropy(Sweak) = - (6/8)*log2(6/8) - (2/8)*log2(2/8) = 0.811
Strong 3 3 6 Entropy(Sstrong) = -(3/6)*log2(3/6)-(3/6)*log2(3/6) = 1.00

Total 9 5 14 Entropy(S) = - (9/14) Log2 (9/14) - (5/14) Log2 (5/14) = 0.940

Gain(S,wind_speed) = Entropy(S) -(8/14)*Entropy(Sweak)-


Gain
(6/14)*Entropy(Sstrong) = 0.940 - (8/14)*0.811 - (6/14)*1.00 = 0.048

Exemplu de aplicare a algoritmului ID3 – Estimarea riscului de credit

Într-un prim exemplu încercăm să analizăm problema estimării riscului acordării unui credit unei anumite
persoane, bazat pe anumite proprietăţi: comportamentul anterior al persoanei atunci când i-au fost acordate credite
(istoria creditului), datoria curentă, garanţii şi venit. Problema este una de clasificare simplă: a prezice dacă un
solicitant prezintă sau nu un risc mare sau mic pentru credit. Urmatorul tabel prezintă multimea de date de antrenare
pentru aceasta problema.
Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi
Nr. Istoria Clasificarea
Nume Client Datorii Garanţii Venit
Crt. creditului Riscului

1 Andrei Rea Mari Fara 0 – 15k Mare


2 Ion Necunoscuta Mari Fara 15 – 35 k Mare
3 Marius Necunoscuta Mici Fara 15 – 35 k Moderat
4 Vlad Necunoscuta Mici Fara 0 – 15k Mare
5 Bogdan Necunoscuta Mici Fara > 35k Mic
6 Sorin Necunoscuta Mici Adecvate > 35k Mic
7 Alex Rea Mici Fara 0 – 15k Mare
8 Mihai Rea Mici Adecvate > 35k Moderat
9 Lucian Buna Mici Fara > 35k Mic
10 Rares Buna Mari Adecvate > 35k Mic
11 Samir Buna Mari Fara 0 – 15k Mare
12 Petru Buna Mari Fara 15 – 35 k Moderat
13 Marcel Buna Mari Fara > 35k Mic
14 Sorin Rea Mari Fara 15 – 35 k Mare

Calculăm entropia medie a setului de date complet pentru fiecare din cele 4 atribute (Istoria creditului, Datorii,
Garantii, Venit):

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Calculăm entropia medie a setului de date complet pentru fiecare din cele 4 atribute (Istoria creditului, Datorii,
Garantii, Venit):

Istoria creditului:

Istoria Risc Risc Risc


Total Entropie
creditului Mare Moderat Mic

Necunoscuta 2 1 2 5

Rea 3 1 0 4

Buna 1 1 3 5

Total 6 3 5 14

Gain

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Datorii:
Risc Risc Risc
Datorii Total Entropie
Mare Moderat Mic

Mari 4 1 2 7

Mici 2 2 3 7

Total 6 3 5 14

Gain

Garantii: Risc
Risc Risc
Garantii Modera Total Entropie
Mare Mic
t

Fara 6 2 3 11

Adecvate 0 1 2 3

Total 6 3 5 14

Gain

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Venit: Risc Risc Risc
Venit Total Entropie
Mare Moderat Mic

0-15k 4 0 0 4

15-35k 2 2 0 4

>35k 0 1 5 6

Total 6 3 5 14

Gain

Max(0,266;0,063;0,206;1,047)=1,047 Deci se alege radacina: Venit si pe 0-15k se inchide ramura pentru ca


entropia este 0.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Nr. Istoria Clasificarea
Nume Client Datorii Garanţii Venit
Crt. creditului Riscului
2 Ion Necunoscuta Mari Fara 15 – 35 k Mare
3 Marius Necunoscuta Mici Fara 15 – 35 k Moderat
12 Petru Buna Mari Fara 15 – 35 k Moderat
14 Sorin Rea Mari Fara 15 – 35 k Mare

Istoria creditului Risc Mare Risc Moderat Risc Mic Total Entropie

Necunoscuta 1 1 0 2 1
Rea 1 0 0 1 0

Buna 0 1 0 1 0

Total 2 2 0 4 1
Gain 0.5

Datorii Risc Mare Risc Moderat Risc Mic Total Entropie

Mari 2 1 0 3 0.918
Mici 0 1 0 1 0
Total 2 2 0 4 1
Gain 0,311

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Garantii Risc Mare Risc Moderat Risc Mic Total Entropie

Fara 2 2 0 4 1
Adecvate 0 0 0 0 0
Total 2 2 0 14 1
Gain 0

Max(0,5;0,311;0)=0,5 Deci se alege Istoria creditului. Entropiile pentru ramurile: Rea si Buna sunt 0 si se
inchid cu riscul corespunzator, Risc Mare si respectiv Risc Moderat.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Nr. Istoria Clasificarea
Nume Client Datorii Garanţii Venit
Crt. creditului Riscului
5 Bogdan Necunoscuta Mici Fara > 35k Mic
6 Sorin Necunoscuta Mici Adecvate > 35k Mic
8 Mihai Rea Mici Adecvate > 35k Moderat
9 Lucian Buna Mici Fara > 35k Mic
10 Rares Buna Mari Adecvate > 35k Mic
13 Marcel Buna Mari Fara > 35k Mic

Istoria creditului Risc Mare Risc Moderat Risc Mic Total Entropie

Necunoscuta 0 0 2 2 0
Rea 0 1 0 1 0
Buna 0 0 3 3 0
Total 0 1 5 6 0.65
Gain 0.65

Datorii Risc Mare Risc Moderat Risc Mic Total Entropie

Mari 0 0 2 2 0
Mici 0 1 3 4 0,811
Total 0 1 5 6 0.65
Gain 0.109

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Garantii Risc Mare Risc Moderat Risc Mic Total Entropie

Fara 0 0 3 3 0

Adecvate 0 1 2 3 0.918
Total 0 1 5 6 0.65
Gain 0.191

Max(0,65;0,109;0,190)=0,65 Deci se alege Istoria creditului. Cum entropia pentru ramurile: Necunoscuta,
Rea si Buna sunt 0 se inchid cu riscul corespunzator: risc Mic, Risc Moderat si respectiv Risc Mare.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Nr. Istoria Clasificarea
Nume Client Datorii Garanţii Venit
Crt. creditului Riscului
2 Ion Necunoscuta Mari Fara 15 – 35 k Mare
3 Marius Necunoscuta Mici Fara 15 – 35 k Moderat

Risc Risc Risc Risc Risc Risc


Datorii Total Entropie Garantii Total Entropie
Mare Moderat Mic Mare Moderat Mic

Mari 1 0 0 1 0 Fara 1 1 0 2 1
Mici 0 1 0 1 0 Adecvate 0 0 0 0 0

Total 1 1 0 2 1 Total 1 1 0 2 1
Gain 1 Gain 0

Max(1;0)=1 Deci se alege Datorii. Cum entropia pentru ramurile: Mari, Mici sunt 0 se inchid cu riscul
corespunzator: Risc Mare si respectiv Risc Moderat.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Algoritmul C4.5

Algoritmul C4.5 aparţine unei succesiuni de arbori de decizie de învăţare. Este o versiune mai avansată şi
îmbunătăţită a algoritmului ID3. C4.5 generează un arbore de decizie clasificat pentru un set de date dat prin
partiţionarea recursivă a datelor. Arborele este construit folosind strategia „Depth-first”. Algoritmul consideră
toate testele posibile care pot splita setul de date şi selectează un test care ne oferă ce-a mai bună soluţie.
Noutăţile aduse de C4.5 sunt următoarele: Criteriul raportului caştigător: Noţiunea de „informaţia maximă
caştigătoare” este folosită în algoritmul ID3 pentru a determina ce atribut este selectat. Quinlan a remarcat că
dacă un atribut are valori distincte pentru fiecare înregistrare, atunci acest atribut va fi reţinut ca „informaţia
maximă caştigătoare”, iar setul de antrenare va fi împărţit conform cu acest atribut. C4.5 foloseşte „raportul
caştigator”. In general, daca este data o distributie de probabilitate P = {p1, p2, …,pn} atunci Informatia extrasa
din distributie, notata: Info(P) este entropia lui P:

Daca un set de S inregistrari este partitionat in clase disjuncte si exhaustive S= {S1, S2, …,Sn}, pe baza
valorilor v ale unui atribut A (non tinta) si p este multimea probabilitatilor partitiilor {S1, S2, …,Sk}: p={|S1|/|S|,
|S2|/|S|, …, |Sn|/|S|}, atunci informatia necesara identificarii unei clase corespunzatoare unui element din S,
notata cu Info(S,A), devine media ponderata a informatiei necesare identificarii clasei valorii v a atributului Sv,
Info(Sv):

,

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Se noteaza cu Gain(S,A) castigul informational definit:

, ,

GainRatio a fost introdus sa favorizeze atributele care au un numar mare de valori si se defineste:

, , /
unde:

SpiltInfo(A) este informatia obtinuta prin splitarea atributului non-tinta A pe baza valorilor proprii. Astfel
SplitInfo(A)=I{|A1|/|A|, |A2|/|A|,…, |Am|/|A|} unde {A1, A2, …,Am} sunt partitiile lui A induse de valorile sale.

Valorile necunoscute ale atributelor: Algorimul C4.5 poate lucra cu baze de date care au înregistrări cu
valori necunoscute, considerand Gain ratio doar pentru înregistrările unde valoarea atributelor este cunoscută.

Valorie continue ale atributelor: C4.5 poate lucra cu valori continue ale atributelor. De exemplu, dacă un
atribut A are un rang continuu, iar valorile sunt în ordine crescătoare C1, C2, ..., Ci ; atunci pentru fiecare valoare
Cj = 1,2,3..., m algoritmul împarte valorile în cele care au valorile Ai mai mari sau egale cu Aj şi cele care au
valori mai mici decat Aj. Pentru fiecare dintre aceste separări „informaţia caştigătoare” este calculată şi este
selectată partea care maximizează caştigul.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Funcţia C4.5 (R: mulţimea atributelor neclasificate; C: cheia de sortare; S: setul de antrenare)
Returnează arborele de decizie.
begin
dacă S este vidă,
atunci avem nod unic
dacă toate înregistrările din S au aceeaşi valoare pentru cheia de sortare,
atunci avem un singur nod cu acea valoare
dacă R este vidă,
atunci returnează un singur nod cu cea mai frecventă valoare a cheii de sortare din înregistrările din S
dacă R nu este vidă,
atunci reţinem in D cheia cu cea mai bună valoare din mulţimea R
fie {dj | j = 1,2, ... m} valorile atributului D fie {sj | j = 1,2, ... m} submulţimile din S corespunzătoare
valorilor respective din dj
se returnează un arbore cu noduri sursă D şi cu arcele d1, d2, ..., dm
C4.5(R\{D},C,S1), C4.5(R\{D},C,S2), .... C4.5(R\{D},C,Sm);
end;

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Exemplu de calcul:

Info(Play) = Info{9/14,5/14}=0,9402

Outlook Temp Humidity Windy Play


Outlook yes no Total Entropie

sunny 85 85 false yes


sunny 3 2 5 Info(Play,sunny)=Info(3/5,2/5) = 0,9709
sunny 80 90 true yes
overcast 83 78 false no overcast 0 4 4 Info(Play,overcast)=Info(0,4/4) = 0

rain 70 96 false no
rain 2 3 5 Info(Play,rain)=Info(2/5,3/5 ) = 0,9709
rain 68 80 false no
rain 65 70 true yes SplitInfo(Outlook) = -5/14*log(5/14) -
Total 5 9 14
4/14*log(4/14) - 5/14*log(5/14) = 1.5774
overcast 64 65 true no
Info(Play,Outlook) =
sunny 72 95 false yes
5/14*Info(Play,sunny) +
sunny 69 70 false no
4/14*Info(Play,overcast)+
rain 75 80 false no
5/14*Info(Play,rain) = 0.6935
sunny 75 70 true no Gain Gain(Play,Outlook) = Info(Play) -
overcast 72 90 true no Ratio Info(Play,Outlook) = 0.9402 - 0.6935 =
overcast 81 75 false no 0.2467
rain 71 80 true yes GainRatio(Play,Outlook) =
0,2467/1,5774=0,1564

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Temperature 64 65 68 69 70 71 72 72 75 75 80 81 83 85
Play no yes no no no yes no yes no no yes no no yes

[4/no, 2/yes] [5/no, 3/yes]


71,5

Info(Temperature) = Info(6/14,8/14)=0,985

Info(Play,Temperature) = 6/14*Info(2/6,4/6) +
8/14*Info(3/8,5/8) = 6/14*0.918 +8/14*0,954=0,939

<71.5 yes no >71.5 yes no

2 4 3 5

Gain(Play,Temperature) = Info(Temperature) -
Info(Play,Temperature) = 0.985 – 0.939 = 0.046

SplitInfo(Temperature) = -6/14*log(6/14) - 8/14*log(8/14) =


0,985

GainRatio(Play,Temperature) = 0,046/0,985=0,0467

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Humidity 65 70 70 70 75 78 80 80 80 85 90 90 95 96
Play no yes no no no yes no yes no yes no yes yes no

[6/no, 3/yes] [2/no, 3/yes]


82,5

Info(Humidity) = Info(9/14,5/14)=0,940

Info(Play,Humidity) = 9/14*Info(3/9,6/9) +
5/14*Info(3/5,2/5) = 9/14*0.918 +5/14*0,971=0,937

<82.5 yes no >82.5 yes no

3 6 3 2

Gain(Play,Humidity)= Info(Humidity) -
Info(Temperature,S) = 0.940 – 0.937 = 0.003

SplitInfo (Humidity)= -6/14*log(6/14) - 8/14*log(8/14) =


0,985

GainRatio(Play,Humidity )= 0,003/0,985=0,003

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Info(Windy) = I{8/14,6/14}=0,985

Info(Play,Windy) = 8/14*Info(2/8,6/8) + 6/14*Info(3/6,3/6) = =8/14*0.811+6/14*1=0,892

false yes no true yes no

2 6 3 3

Gain(Play, Windy) = Info(Play) - Info(Play,Windy) = 0.985 – 0.892 = 0.093

SplitInfo(Windy) = -8/14*log(8/14) - 6/14*log(6/14) - 5/14*log(5/14) = 0,985

GainRatio(Play,Windy) = 0,093/0,985=0,094

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Algoritmul SLIQ

Algoritmul SLIQ (Supervised Learning In QUEST) este un algoritm de data mining rapid şi masurabil
dezvoltat de către Centrul de Cercetare Almaden al IBM în 1996. Foloseşte o tehnică rapidă de presortare pentru
a construi arborele de decizie atunci când datele din setul de antrenare sunt prea multe.
SLIQ nu impune nici o restricţie asupra cantităţii de date sau a numărului de atribute din exemple. De
aceea, SLIQ poate obţine o acurateţe mai mare clasificând seturi mari de date care nu pot fi făcute cu alţi
algoritmi.
Pentru atribute numerice, timpul de sortare este factorul determinant când căutăm cea mai bună împărţire a
nodurilor arborelui de decizie. Ca urmare, prima tehnică folosită în SLIQ este de a implementa o schemă care
elimină nevoia de a sorta datele la fiecare nod al arborelui de decizie. În schimb, setul de date este sortat o
singură dată pentru fiecare atribut numeric la începutul fazei de creare a arborelui.
Structura algoritmului arată astfel:

CreareArbore (Setul de date T)


Partiţionare(T)
Partiţionare (Data S)
Dacă toate punctele din S sunt din aceeaşi clasa
Atunci intoarce
Evaluare împărţire pentru fiecare atribut A;
Foloseşte cea mai bună împărţire pentru a partiţiona S în S1 şi S2;
Partiţionare(S1);
Partiţionare(S2);

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Pentru a evalua cât de bună este alternativa împarţirii unui atribut se foloseşte un index numit gini. Aceste se
foloseşte pentru a măsura intrări inegale, dar se poate folosi pentru a măsura orice formă de distribuţii inegale.
Indexul gini este un număr între 0 şi 1 si masoara gradul de impuritate al unui nod T. Valoarea minima este 0
cand toate inregistrarile apartin aceleasi clase şi 1 corespunde cu inegalitatea perfectă cand toate inregistrarile
apartin unor clase diferite.
Dacă un set de date S conţine exemple din n clase, Gini(S) este definit ca:

unde pj este frecvenţa relativă a clasei j în S. Exemple:

C1 0 C1 1
C2 6 C2 5
Gini = 1-(0/6)^2 - (6/6)^2 = 0 Gini = 1-(1/6)^2-(5/6)^2 = 0,278

C1 2
C2 1
C3 3
Gini = 1-(2/6)^2-(1/6)^2-(3/6)^2 = 0,611

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


După splitarea S în două subseturi S1 şi S2 indexul gini este definit ca:

In general pentru un nod splitat in k partitii:

unde: ni este numarul de copii ai descendentului i si n numarul de inregistrari in nodul p

Exemplu:
S
v1 v3
v2
Node N1 Node N2 Node N3

Atribut
N1 (valoare1) N2 (valoare2) N3 (valoare3)
C1 1 2 1
C2 4 1 1
Gini(N1)=1- Gini(N2)=1- Gini(N3)=1-(1/2)^2-
(1/5)^2- (2/3)^2- (1/2)^2=0,5
(4/5)^2=0,32 (1/3)^2=0.444
Gini_split=(5/10)*Gini(N1)+(3/10)*Gini(N2)+2/10*Gini(N3)=0,393

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Pentru evaluarea împărţirii se foloseşte următorul algoritm:

EvaluareÎmpărţire()
Pentru fiecare atribut A, Execută
Parcurge lista de atribute a lui A
Pentru fiecare valoare v din lista de atribute,
Execută
Găseşte intrarea corespunzătoare în lista de clase şi de aici clasa corespunzătoare şi ramura nodului 1
Actualizează histograma clasei în ramura 1
Dacă A este un atribut numeric atunci
Calculează indexul de splitare pentru test (A≤v) pentru 1
Dacă A este un atribut direct atunci
Pentru fiecare ramură a arborelui
Execută
Găseşte subsetul din A cu cea mai bună splitare

Pentru actualizarea listei de clase se foloseşte următorul algoritm:

UpdateLabels()
Pentru fiecare atribut A folosit într-o splitare Execută
Parcurge lista de atribute a lui A
Pentru fiecare valoare v din lista de atribute, Execută
Gaseşte intrarea corespunzătoare în lista de clase e Găseşte noua clasă c de care aparţine v aplicând
testul de splitare nodului referinţă din e.
Actualizează eticheta clasei de la e la c
Actualizează nodul referinţă în e copilului corespunzător clasei c

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Exemplu de aplicare a algoritmului SLIQ – Estimarea riscului de credit

Nr. Istoria Clasificarea


Nume Client Datorii Garanţii Venit
Crt. creditului Riscului
1 Andrei Rea Mari Fara 0 – 15k Mare
2 Ion Necunoscuta Mari Fara 15 – 35 k Mare
3 Marius Necunoscuta Mici Fara 15 – 35 k Moderat
4 Vlad Necunoscuta Mici Fara 0 – 15k Mare
5 Bogdan Necunoscuta Mici Fara > 35k Mic
6 Sorin Necunoscuta Mici Adecvate > 35k Mic
7 Alex Rea Mici Fara 0 – 15k Mare
8 Mihai Rea Mici Adecvate > 35k Moderat
9 Lucian Buna Mici Fara > 35k Mic
10 Rares Buna Mari Adecvate > 35k Mic
11 Samir Buna Mari Fara 0 – 15k Mare
12 Petru Buna Mari Fara 15 – 35 k Moderat
13 Marcel Buna Mari Fara > 35k Mic
14 Sorin Rea Mari Fara 15 – 35 k Mare

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Datorii Garantii
Mari Mici Fara Adecvate
RM 4 2 RM 6 0
Mod 1 2 Mod 2 1
Rm 2 3 Rm 3 2
Gini=0,571 Gini=0,653 Gini=0,595 Gini=0,44
Gini_split=0,612 Gini_split=0,563

Istorie credit Venit


Necunnoscuta Rea Buna 0-15k 15-35k >35k
RM 2 3 1 RM 4 2 0
Mod 1 1 1 Mod 0 2 1
Rm 2 0 3 Rm 0 0 5
Gini=0,64 Gini=0,375 Gini=0,56 Gini=0 Gini=0,5 Gini=0,278

Gini_split=0,536 Gini_split=0,262

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Nr. Istoria Clasificarea
Nume Client Datorii Garanţii Venit
Crt. creditului Riscului
1 Andrei Rea Mari Fara 0 – 15k Mare
4 Vlad Necunoscuta Mici Fara 0 – 15k Mare
7 Alex Rea Mici Fara 0 – 15k Mare
11 Samir Buna Mari Fara 0 – 15k Mare
Nr. Istoria Clasificarea
Nume Client Datorii Garanţii Venit
Crt. creditului Riscului
2 Ion Necunoscuta Mari Fara 15 – 35 k Mare
3 Marius Necunoscuta Mici Fara 15 – 35 k Moderat
12 Petru Buna Mari Fara 15 – 35 k Moderat
14 Sorin Rea Mari Fara 15 – 35 k Mare

Istorie credit Datorii Garantii


Necunnoscuta Rea Buna Mari Mici Fara Adecvate
RM 1 1 0 RM 2 0 RM 2 0
Mod 1 0 1 Mod 1 1 Mod 2 0
Rm 0 0 0 Rm 0 0 Rm 0 0
Gini=0,5 Gini=0 Gini=0 Gini=0,444 Gini=0 Gini=0,5 Gini=0

Gini_split=0,25 Gini_split=0,267 Gini_split=0,5

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Nr. Istoria Clasificarea
Nume Client Datorii Garanţii Venit
Crt. creditului Riscului
2 Ion Necunoscuta Mari Fara 15 – 35 k Mare
3 Marius Necunoscuta Mici Fara 15 – 35 k Moderat
12 Petru Buna Mari Fara 15 – 35 k Moderat
14 Sorin Rea Mari Fara 15 – 35 k Mare

Istorie credit
Necunoscuta Rea Buna
RM 1 1 0
Mod 1 0 1

Rm 0 0 0
Gini=0,5 Gini=0 Gini=0

Gini_split=0,25

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Nr. Istoria Clasificarea
Nume Client Datorii Garanţii Venit
Crt. creditului Riscului
2 Ion Necunoscuta Mari Fara 15 – 35 k Mare
3 Marius Necunoscuta Mici Fara 15 – 35 k Moderat

Garantii
Fara Adecvate
RM 1 0
Mod 1 0
Rm 0 0
Gini=0,5 Gini=nedef

Gini_split=0,5

Datorii
Mari Mici
RM 1 0
Mod 0 1
Rm 0 0
Gini=0 Gini=0

Gini_split=0

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Nr. Istoria Clasificarea
Nume Client Datorii Garanţii Venit
Crt. creditului Riscului
5 Bogdan Necunoscuta Mici Fara > 35k Mic
6 Sorin Necunoscuta Mici Adecvate > 35k Mic
8 Mihai Rea Mici Adecvate > 35k Moderat
9 Lucian Buna Mici Fara > 35k Mic
10 Rares Buna Mari Adecvate > 35k Mic
13 Marcel Buna Mari Fara > 35k Mic

Istorie credit Datorii Garantii

Necunoscuta Rea Buna Mari Mici Fara Adecvate

RM 0 0 0 RM 0 0 RM 0 0

Mod 0 1 0 Mod 0 1 Mod 0 1

Rm 2 0 3 Rm 2 3 Rm 3 2

Gini=0 Gini=0 Gini=0 Gini=0 Gini=0 Gini=0,444 Gini=0

Gini_split=0 Gini_split=0,167 Gini_split=0,148

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Determinarea arborelui de decizie cand avem valori numerice

Crt. Stare Venit Eludeaza


civila impozabil plata
impozit
1 necasatorit 125k no
2 casatorit 100k no
3 necasatorit 70k no
4 casatorit 120k no
5 divortat 95k yes
6 casatorit 60k no Stare civila

7 divortat 220k no necasatorit casatorit divortat

8 necasatorit 85k yes yes 2 0 1

9 casatorit 75k no no 2 4 1

10 necasatorit 90k yes Gini_split=0,3

55 65 72 87 92 97 110 122 172 230


<= > <= > <= > <= > <= > <= > <= > <= > <= > <= >
yes 0 3 0 3 0 3 1 2 2 1 3 0 3 0 3 0 3 0 3 0
no 0 7 1 6 2 5 3 4 3 4 3 4 4 3 5 2 6 1 7 0
Gini_ 0,42 0,4 0,375 0,417 0,4 0,3 0,343 0,375 0,4 0,42
split

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


<=97k >97k

Crt. Stare Venit Eludeaza no


civila impozabil plata
impozit
3 necasatorit 70k no Crt. Stare Venit Eludeaza
civila impozabil plata
5 divortat 95k yes impozit
6 casatorit 60k no 1 necasatorit 125k no
8 necasatorit 85k yes 2 casatorit 100k no
9 casatorit 75k no 4 casatorit 120k no
10 necasatorit 90k yes 7 divortat 220k no

55 65 72 87 92
<= > <= > <= > <= > <= >
yes 0 3 0 3 0 3 2 1 3 0
no 0 3 1 2 2 1 3 0 3 0
Gini_ 0,5 0,4 0,25 0,4 0,5
split

Stare civila
necasatorit casatorit divortat
yes 2 0 1
no 1 2 0
Gini_split=0,222

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Venit
impozabil
<=97k >97k
Stare
civila
no
necasatorit
casatorit divortat

Venit
no yes
impozabil

Crt. Stare Venit Eludeaza <=97k >97k


civila impozabil plata
Stare
impozit civila
3 necasatorit 70k no
no
8 necasatorit 85k yes necasatorit casatorit
divortat
10 necasatorit 90k yes Venit
impozabil no yes
<=72k >72k
65 72 87 92
<= > <= > <= > <= > no yes
yes 0 2 0 2 1 1 2 0
no 0 1 1 0 1 0 1 0
Gini_ 0,444 0 0,333 0,444
split

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


4. Sistemul CAD (Computer Aided Design – Proiectarea asistată de calculator)

4.1 Procesul de proiectare

Activitatea de proiectare este una din principalele activităţi care influenţează eficienţa sistemului de fabricaţie.
Intrarea în acest sistem poate fi iniţiată din exterior de către o comandă client, fiind preluată prin intermediul
serviciului de marketing şi prognoză, sau din interior, ca urmare a unor studii de prospectare a pieţei. În ambele
cazuri, la nivelul sistemului CAD intrarea se materializează sub forma unor specificaţii de proiectare, concepute
astfel încât produsul proiectat să satisfacă următoarele cerinţe:
• de formă („form”), (proprietăţi legate de forma produsului, stilul şi caracterul acestuia);
• de potrivire („fit”) cu cerinţele pieţei din punctul de vedere al criteriului de câştigare a comenzii, cu alte
produse aflate deja în fabricaţie şi cu cerinţele segmentului ţintă căruia i se adresează;
• funcţionale („function”) - înglobează caracteristicile care definesc produsul din punctul de vedere al
performanţelor, fiabilităţii, întreţinerii, precum şi al altor criterii generale de câştig a comenzii).

Specificaţiile de proiectare sunt preluate simultan/concurent de echipe cu atribuţii diverse după cum urmează:

• proiectare („product engineering”), preiau specificaţiile de proiectare şi le materializează sub forma


proiectului produsului;
• analiză („analyse engineering”) testează şi simulează funcţiile produsului;
• dezvoltare („development engineering”) se ocupă de realizarea prototipului şi testarea acestuia;
• cercetare, susţin activităţile de mai sus, sub aspect teoretic, al standardizării activităţilor şi al modului de
organizare.

Modul în care aceste echipe interacţionează definesc un prim model al sistemului şi anume modelul
activităţilor de proiectare. În literatură sunt prezentate mai multe astfel de modele propuse de diverşi autori.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Principalele activităţi sunt: conceptualizarea, sinteza, analiza, evaluarea şi realizarea documentaţiei.

Elaborarea Sinteza Analiza Evaluarea Documentaţia


conceptului

Fig. 1 Înlănţuirea etapelor în modelul desfăşurării proiectării

Elaborarea conceptului – reprezintă clarificarea sarcinii de proiectare sub aspectul elaborării cerinţelor de
formă, potrivire şi funcţie („form-fit-function”) ale produsului final.

Până la această etapă, se analizează dacă problema de proiectare este similară cu alte probleme de
proiectare anterioare, clasificându-se ca tipică sau atipică. În cazul unei probleme atipice trebuie elaborat
conceptul de proiectare – aplicarea metodelor de proiectare pentru crearea unui produs nou cu caracteristici
unice. Această activitate este preponderent creativă, dar se ia în considerare utilizarea unor subansamble
standard sau a unor rezultate anterioare obţinute. Spre deosebire de cazul problemelor atipice, în cazul
problemelor tipice se foloseşte proiectarea repetitivă (se aplică concepte de proiectare sau părţi componente
elaborate anterior, la alte produse similar, sau adaptări minore ale acestora). Proiectarea repetitivă necesită un
sistem de clasificare a produselor curente pe baza căruia să se identifice asemănările (criteriile de clasificare se
bazează pe analiza parametrilor produselor sau subansamblelor cu formă şi funcţii asemănătoare, dar diferite
prin mărime şi detalii) şi utilizarea unor modele de proiectare grafice şi analitice care să poată fi transmise şi
recepţionate printr-un sistem de comunicaţie adecvat.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Sinteza – continuă faza de elaborare a conceptului prin adăugarea specificaţiilor de material, a unor noi
caracteristici geometrice şi detalierea dimensiunilor geometrice. Această etapă este importantă pentru că urmăreşte
să raţionalizeze detaliile geometrice ale produsului şi caracteristicile de material, aspecte care influenţează
substanţial costurile de fabricaţie fără a contribui la valoarea de piaţă a acestuia. Pentru aceasta se utilizează
conceptele de proiectare pentru asamblare şi proiectarea pentru fabricaţie, care au fost amintite la impactul
tehnologiilor specifice de fabricaţie. La acest nivel se stabileşte 70% din preţul final al produsului, ceea ce determină
parcurgerea mai multor iteraţii prin care se optimizează soluţia finală.

Analiza – este metoda de determinare sau descriere a naturii unui lucru prin separarea în părţile componente. În
urma analizei se studiază varianta sau variantele furnizate în cadrul sintezei, stabilindu-se gradul de satisfacere a
cerinţelor din specificaţiile de proiectare. Este un proces intens interactiv, în care se utilizează analiza proprietăţilor
de masă (calculul masei, a volumelor, şi suprafeţelor, a centrelor de greutate şi a momentelor de inerţie etc., analiza
toleranţelor şi interferenţa ansamblului – stabilirea faptului că operaţiile de asamblare vor decurge corespunzător) şi
metoda elementului finit (se determină limitele la efort, transferul căldurii şi limitele teoretice de funcţionare).

Evaluarea – constă în verificarea proiectului relativ la specificaţiile de proiectare. Pe lângă verificarea soluţiei
provenită în urma sintezei şi analizei se evaluează relaţia dintre capacităţile de producţie şi specificaţiile de
asamblare şi fabricaţie ale proiectului. Evaluarea necesită de multe ori realizarea unui prototip.
Realizarea rapidă a prototipului („Rapid prototyping”) este conceptul modern utilizat pentru evaluarea
performanţelor operaţionale. Dacă proiectul satisface toate criteriile se înaintează pentru elaborarea documentaţiei.

Elaborarea documentaţiei – ansamblul activităţilor prin care se elaborează toate vederile părţilor componente,
adăugarea detaliilor de proiectare (note de fabricaţie, dimensiuni şi toleranţe), elaborarea documentelor, asignarea
codurilor părţilor componente, elaborarea listei de materiale şi tabelei de referinţe, realizarea fişierelor de date ce vor
fi transmise spre planificarea şi controlul fabricaţiei, spre producţie şi controlul calităţii.
Desfăşurarea activităţilor de proiectare simultan/concurenţial implică proiectarea produsului cu luarea în
considerare a ciclului de viaţă al acestuia. Introducerea acestui concept în modelul organizatoric al activităţilor de
proiectare este ilustrat înurmatoarea figura.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Cercetarea pieţei

Stabilirea costurilor şi a
Echipa de proiectare
sarcinilor de producţie
concurentă
- ingineri tehnologi Procesul de proiectare
- furnizori de echipamente a produsului
- proiectanţi
- controlul producţiei - conceptualizare
- programatori CNC Proiectare - sinteză
- proiectanţi scule şi simultană/concurentă - analiză
dispoziive - evaluare
- controlul calităţii - documentaţie
- furnizori componente
- proiectanţi scule
- achiziţie Se obţin costurile Nu
- marketing planificate?

Da
Dezvoltarea sistemului de
fabricaţie

Operarea sistemului de
fabricaţie

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


4. 2 Rolul comunicării şi al modelelor în sistemul CAD

Activitatea de proiectare este una creativă şi abstractă (produsul este virtual până în faza de realizare a
prototipului). Din acest motiv este necesară introducerea unui sistem de reprezentare a ideilor proiectului.

Sistemul de reprezentare este compus din totalitatea modelelor utilizate pentru reprezentarea
caracteristicilor produsului şi a părţilor componente. În funcţie de complexitatea proiectului, modelul produsului
reprezintă o modalitate de fixare a ideilor, dar şi un mijloc de comunicare între participanţii la această activitate.
În urma comunicării, modelul este analizat de participanţi pe baza unor protocoale standardizate sau a unui set
de reguli şi în urma acestei activităţi se completează cu elemente noi care generează alte modele.

Modelul este un suport pentru evaluarea informaţiilor şi generarea de noi informaţii. Pentru aceeaşi
componentă a unui produs pot exista simultan mai multe tipuri de modele diferite între ele, în funcţie de ce
proprietate a proiectului trebuie modelată şi de receptor.
De exemplu, la un subansamblu mecanic se poate modela forma, cinematica, comportamentul la efort,
transferul căldurii etc.
Uzual în procesul de proiectare se modelează:

– funcţia,
– forma,
– structura,
– proprietăţile de material,
– condiţiile impuse suprafeţelor,
– toleranţe sau dimensiuni ale produsului.

Receptorii sunt participanţii la acest proces.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Dintre toate proprietăţile modelate o importanţă deosebită o au forma şi structura. Acestea influenţează în
mod diferit modul în care se face reprezentarea.

Forma se reprezintă prin desenarea acesteia în timp ce structura se reprezintă folosind simboluri abstracte
care modelează modul intern de conectare şi circuitul fluxului de informaţii, energie sau materiale. Structura se
modelează prin scheme sau diagrame. O parte semnificativă a procesului de proiectare a structurii poate avea loc
fără a detalia forma. Această metodă de proiectare poartă denumirea de ingineria sistemelor.

Relativ la buna comunicare între participanţi, o altă condiţie este legată de limbajul de comunicare folosit.
Complexitatea proiectelor poate conduce la dificultăţi de interpretare, ambiguităţi de reprezentare şi erori de
evaluare. În consecinţă, proiectarea modelelor trebuie să se raporteze la o serie de standarde care definesc
sintaxa limbajului de comunicare.

Modelarea cu ajutorul calculatoarelor trebuie să suporte o modalitate de elaborare progresivă a proiectului,


activităţile de proiectare detaliate anterior, metodele de evaluare şi să furnizeze un mijloc de comunicare. Rolul
calculatorului este de a automatiza şi asista activităţile de elaborare a desenelor, a genera lista de materiale a
produsului şi la un nivel superior de a facilita noi tehnici de elaborare şi asistare a procesului de proiectare.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


4.3 Arhitectura sistemelor CAD

În cele prezentate anterior sistemele CAD au fost descrise logic. Fizic, un sistem CAD este compus din:
structura hardware (calculatorul şi dispozitivele periferice), structura software (programele care rulează pe
structura hardware), structura de date (structura de date creată şi manipulată de software) şi operatorii umani (care
pe baza cunoştinţelor desfăşoară activităţi). Arhitectura sistemelor CAD este reprezentată în fig. 3.

Funcţii
Definire model
Structura de date
Manipulare
model
Baza de date Date de lucru
Generare grafică
- Modelele componentelor - Date geometrice
- Desene - Date asociate
- Standarde Utilitare Intrare/ Utilizatori
- Biblioteci ieşire
- date
Managementul
bazei de date
(DBMS)

Aplicaţii

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Funcţiile CAD sunt:

• definire model (adăugarea componentelor geometrice unui desen)


• manipulare model (operaţiile move, copy, delete, edit, sau orice alte comenzi care modifică elementele
desenului)
• generare grafică (algoritmii de generare a imaginilor pe ecran sau pe un dispozitiv de imprimare)
• interfaţă utilizatori (sistemul de preluare a comenzilor date de utilizatori şi de prezentare a ieşirii către
utilizatori sub un anumit sistem de operare)
• managementul bazei de date (managementul fişierelor care alcătuiesc baza de date)
• aplicaţii (aceste elemente de software nu modifică modelul proiectului, ci îl utilizează pentru generarea
informaţiilor de evaluare, analiză sau fabricaţie)
• utilitare (termen generic ce defineşte toate modulele software care nu afectează direct modelul, dar modifică
modul de operare al sistemului într-un anumit fel, de exemplu: selectarea culorii afişate, unităţile de măsură
utilizate, etc.)
• Aceste funcţii se vor studia în laborator, în cazul unor CAD-uri particulare.

4.4 Definirea modelului şi reprezentarea structurii

Tehnica reprezentării formelor 3D în spaţiul cu două dimensiuni, prin intermediul desenului tehnic pe hârtie
sau cu ajutorul calculatorului poartă denumirea de geometrie descriptivă. Primele începuturi aparţin lui Albrecht
Durer în sec. 15-16, dar în forma în care se utilizează astăzi, dezvoltarea aparţine inginerului militar francez
Gaspard Monge (1764-1818). Monge a introdus o metodă de reprezentare a formelor prin proiecţia acestora în
două planuri mutual perpendiculare. Esenţa metodei lui Monge se utilizează şi astăzi. Formele 3D sunt
reprezentate în două dimensiuni prin punerea în corespondenţă a punctelor obiectului cu punctele proiecţiilor
acestuia în mai multe planuri mutual perpendiculare, prin utilizarea proiecţiilor paralele, perpendiculare pe
planurile de proiecţie. Din proiecţia punctelor se obţine proiecţia muchiilor şi din muchii suprafeţele. Proiecţia în
2D se obţine prin desfăşurarea planurilor perpendiculare într-un singur plan, vezi figura de mai jos

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi
În această metodă se utilizează o serie de convenţii descrise detaliat în standarde. De exemplu: într-un
desen se utilizează diferite tipuri de linii cu semnificaţii diferite, secţiunile se reprezintă ca şi cum o anumită
parte a obiectului este înlăturată, proiecţiile se realizează în două moduri proiecţia paralelă (care păstrează scara
obiectelor) şi proiecţia de perspectivă (care creează impresia de profunzime pentru interpretarea desenului).

Diagramele sau schemele sunt reprezentate printr-o serie de simboluri conectate prin conexiuni. Modalitatea de
reprezentare a simbolurilor şi a conexiunilor este de asemenea stabilită prin standarde. În figura de mai jos se
prezintă un exemplu de modelare a structurii prin simboluri şi conexiuni în ORCAD.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


O modalitate de reprezentare în astfel de modele este reprezentarea de tip top-down. Iniţial sunt prezentate
numai relaţiile dintre blocuri. Prin selectarea unui bloc urmează o detaliere a acestuia şi, prin selecţii consecutive
se determină continuarea detalierii structurii. Modalităţile descrise utilizate în reprezentarea formei şi structurii
au avantaje incontestabile validate în timp prin utilizarea acestora. Practic, orice produs poate fi reprezentat prin
aceste metode. Totuşi sunt şi o serie de dezavantaje: în cadrul unor produse complexe documentaţia poate
conţine un număr foarte mare de desene, interpretarea modelelor necesită cunoştinţe avansate pe care trebuie să
le aibă toţi participanţii la această activitate, pot apare erori în generarea modelelor, curbe complexe pot fi foarte
greu de reprezentat prin tehnicile convenţionale, extragerea informaţiilor din desene s-a dovedit a fi subiectivă şi
în unele situaţii reprezentările prezintă ambiguităţi.

4.5 Reprezentarea desenelor şi schemelor cu calculatorul


4.5.1 Realizarea schiţelor

Se referă la reprezentarea geometriei. Modalitatea este în general asemănătoare cu cea clasică. Se utilizează
aceleaşi standarde şi geometria conturului se reprezintă printr-o serie de elemente geometrice precum puncte,
linii, arce, cercuri, elipse, elementele geometrice individuale purtând numele de entităţi geometrice, fig.6. Aceste
entităţi vor fi definite de sistem prin valori numerice, reprezentând punctele de coordonate sau alte date. De
exemplu, o linie este definită prin coordonatele x şi y ale punctelor extremităţilor, sau un arc de cerc prin
coordonatele centrului cercului, rază şi unghiul de start şi de stop. În reprezentarea manuală dimensiunea
desenului reprezintă o constrângere.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi
Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi
Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi
Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi
Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi
În reprezentarea pe calculator această restricţie dispare. Modelul este construit printr-o serie de proceduri
de calcul care sunt condiţionate numai de numărul entităţilor ce pot fi stocate şi manipulate de calculator. În
consecinţă în CAD desenele pot fi reprezentate în vedere completă, indiferent de mărimea lor. De asemenea,
calculatorul furnizează utilizatorului un număr mare de variante de definire a entităţilor geometrice. De exemplu,
în AUTOCAD un cerc se poate defini prin centru şi rază, centru şi diametru, 2 puncte, 3 puncte, tangentă
tangentă şi rază, tangentă tangentă tangentă. De asemenea, definirea unor entităţi se poate face pe baza entităţilor
deja definite. Coordonatele pot fi introduse prin valori numerice sau prin localizarea cu mouse-ul a punctului pe
ecran.

O parte din comenzile de manipulare a desenului în AUTOCAD sunt: erase, copy, mirror, move, rotate,
scale, strech (fig. 7), trim (fig. 8), extent, join entities.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Desenarea schemelor constă în asistarea de către calculator în procesul de producere a schemelor. Şi acest tip de
reprezentare foloseşte entităţi geometrice. Diferenţa constă în faptul că acestea sunt agregate sub formă de simboluri
şi conexiuni.
Programele au facilitatea de a grupa o colecţie de entităţi care mai sunt cunoscute sub numele de pattern,
template sau symbol. Schema este construită dintr-o serie de pattern-uri conectate prin polilinii. Simbolurile cu care
se construieşte schema au puncte de conexiune şi conectori care permit realizarea legăturilor. Programul permite
extragerea dintr-un astfel de desen a listei simbolurilor şi a modului cum sunt conectate. Aceasta din urmă poartă
denumirea de netlist.
O astfel de reprezentare este utilă pentru identificarea conexiunilor neutilizate, sau a conexiunilor incomplete. În
plus intrările schemei pot fi modelate şi sistemul simulat, fig.9.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi
Modelarea corpurilor prin metoda “WIREFRAME”

• Principiul de reprezentare consta in memoreaza pozitiile liniilor 2D sau 3D


• Folositor pentru realizarea schitelor, fiind usor de realizat vederi multiple si de editat.
• Ambiguitate in reprezentarea suprafetelor, ceea ce limiteaza posibilitatile de interfatare cu sistemul de
fabricatie asistata de calculator (nu permite masurarea volumelor sau generarea traiectoriilor de prelucrare
pentru NC.

Un exemplu de reprezentare prin wireframes este indicat in figura de mai jos, corpul reprezentat in stanga.
Interpretarea acestuia poate conduce la multiple solutii sugerate in figura de mai jos dreapta.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Modelarea suprafetelor

Permite reprezentarea ecuatiilor suprafetelor


• Cele mai multe biblioteci grafice 3D folosesc tehnica de
modelarea suprafetelor.
• Avantaje:
- permit vizualizarea suprafetelor complexe
si generarea automata a traiectorieie de
prelucrare pe NC.
Dezavantaje: informatiile privind volumul corpurilor sau
materialul sunt ambigue sau dificil de determinat.

In fig. alaturata sunt diferite reprezentari prin aceasta tehnica.

Modelarea solidului

Aceasta se realizeaza prin diverse tehnici:


• crearea unor primitive
• operatii Booleane
• operatii de baleiere
• operatii de suprafata
• modelarea pe baza caracteristicilor ingineresti
• modelarea parametrica

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Crearea primitivelor

Primitivele sunt forme solide elementare cu suprafete


matematice simple.
• Pot fi controlate printr-un numar mic de parametrii si
pozitionate prin transformari matriciale (vezi fig. alaturata).

Operatii Booleene

Operatiile Booleene sunt utilizate pentru realizarea unor


corpuri mai complicate prin combinarea primitivelor.
• Sunt posibile trei tipuri de operatii:
– reuniune sau “join”
– intersectie
– diferenta”

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Operatii de baleiere

Folosesc reprezentari wireframe 2D ale sectiunilor pentru a


genera solidul 3D.
Aceasta include operatii ca:
– extrude (extruziune)
– revolve (generarea suprafetelor de revolutie)
– sweep (generarea suprafetelor prin baleiere)
– loft

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Operatii asupra suprafetelor

Acestea opereaza direct asupra modelului suprafetelor


corpului solid, asupra muchiilor sau colturilor pentru a crea
modificarile dorite
• Exemple:
– chamfering
– rounding/filleting
– drafting
– shelling

Modelarea pe baza caracteristicilor

Caracteristicile sunt forme care au anumite semnificatii


ingineresti. De obicei ele sunt reprezentari geometrice ale
operatiilor de prelucrare pe masina sau functia unei
componente
• Exemple:
– hole – pocket (gaura - buzunar)
– slot - boss
• Se utilizeaza termenul de caracteristica pentru orice
operatie de modelare a corpului solid.
• Unele sisteme furnizeaza caracteristici gata definite.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Tehnici de modelare geometrică
Reprezentarea geometriei corpurilor cu ajutorul programelor de proiectarea asistată de calculator,
implică stabilirea unei metode matematice de modelare a entităților geometrice adecvate scopului problemei.
Considerând cazul cel mai simplu al unei entități geometrice 2D, reprezentarea matematică se poate face
prin utilizarea ecuațiilor explicite sau a celor implicite.
Dezavantajele acestor metode in reprezentarea grafica sunt scoase in evidenta, considerandu-se
urmatoarele exemple:
(ecuatia explicita a unei drepte)
0 (ecuatia implicita a unei drepte)
2 2 2 0 (ecuatia implicita a unei conice)
- Pentru cazul formei implicite de reprezentare a dreptei, dacă aceasta este verticală panta este infinită,
dreptele foarte aproape de cazul dreptelor verticale (paralele cu axa y) au valori foarte mari ale pantei;
- dreapta reprezentată implicit este o dreapta de lungime infinită. In cazul unui program de desenare asistat
de calculator utilizatorul este interesat de ecuația dreptei între două puncte sau a unei drepte care satisfice
anumite condiții fată de alte elemente geometrice deja definite.
- In cazul ecuației implicite a unei curbe pentru o anumită valoare a coordonatei y se pot obține mai multe
valori ale lui x. De asemenea, în CAD este necesar să se evalueze ușor coordonatele unor puncte de pe
entitatea geometrică cu anumite proprietăți. Acest lucru este dificil de realizat pentru reprezentările
explicite și implicite.
Apare în concluzie, necesitatea utilizării altei metode matematice care să rezolve eficient toate
problemele enumerate. Aceasta este metoda parametrică de reprezentare a entităților geometrice.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Reprezentarea parametrică a entităților geometrice

Reprezentarea parametrică a unei entități geometrice implică reprezentarea coordonatelor unui punct de pe
curbă funcție de unul sau mai mulți parametri. In cazul general în care p este vectorul coordonatelor unui punct de
pe entitatea geometrică, în spațiul cu n-dimensiuni: … si …
cu:
, este vectorul parametrilor, atunci relația funcțională: definește o entitate m dimensională pe
spatiul n dimensional. Fiecare din componentele (coordonatele) vectorului p este o funcție de vectorul u.

De exemplu, considerând spațiul tridimensional (n=3) și notând componentele vectorului p cu x, y, z, ecuația


parametrică a unei curbe este:
, , ,

O suprafata în spațiul tridimensional este reprezentată de ecuațiile :

, , , , , ,

și un corp în spațiul 3D va fi reprezentat de ecuațiile :

, , , , , , , , .

Un punct de pe entitatea geometrică se poate identifica ușor printr-un set de valori particulare date
componentelor vectorului u. Convenția utilizată pentru valorile parametrilor ui este ca aceștia să varieze între 0 și
1. Coordonatele x0, y0, z0 ale unei entităţi la care valorile parametrilor sunt 0 corespund punctului iniţial.
Coordonatele xF, yF, zF , corespunzătoare cazului în care toţi parametrii au valoarea 1, punctului final.

De exemplu, pentru reprezentarea unei linii în spațiul 3D:

∗ , ∗ , ∗
Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi
pentru : 0 se obțin coordonatele punctului inițial al dreptei ( , , )
1 se obțin coordonatele punctului final al dreptei ( , , )
0.5 se obțin coordonatele mijlocului dreptei ( , , ).

Reprezentarea parametrică a curbelor polinomiale cubice

Reprezentarea corpurilor în CAD necesită posibilitatea de reprezentare a curbelor în spațiul 3D. Curbele
polinomiale cubice pot descrie curbe non-planare, având avantajul că utilizează polinoame de gradul cel mai mic,
ceea ce oferă un avantaj din punctul de vedere al calculelor.
Cum două puncte pot fi legate printr-o dreapta și trei puncte printr-un arc de cerc, patru puncte pot fi legate
printr-o curbă polinomială cubică. Determinarea unei curbe prin patru puncte poartă denumirea de interpolare
Lagrange. Problema determinării curbei de interpolare printr-un polinom de ordinul 3 se poate formula si in alt
mod: fiind date două puncte și pantele în cele două puncte. Această variantă a problemei este cunoscută sub
numele de interpolare Hermite și este utilizată atunci când se dorește controlul pantei curbei în diferite puncte.

Interpolarea Lagrange

Se consideră o curbă polinomială de gradul trei în spațiul 3D. Aceasta poate fi descrisă de următoarele
ecuații :

Rezolvarea acestui sistem implică determinarea celor 12 necunoscute (ai, bi, ci cu i=1,3) ceea ce necesita
cunoasterea coordonatelor a patru puncte (sistem de 12 ecuaţii cu 12 necunoscute). In cazul interpolarii Lagrage
curba determinate trece prin cele patru puncte alese. Acest lucru este un avantaj, dar complexitatea calculelor face
ca metoda sa prezinte dezavantaje.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Interpolarea Hermite
In cazul interpolarii Hermite se specifica doar punctul initial p0 si punctual final p1, precum si
vectorii p0’ si p1’ la care curba este tangent in punctual initial si respectiv, punctual final. Curba de
interpolare este descrisa de ecuatia: si panta tangentei la curba:
2 3 , cu ∈ 0,1 si k0, k1, k2, k3 vectorii necunoscuti. Pentru determinarea
necunoscutelor se scriu ecuatiile si in punctual initial (u=0) si in punctual final (u=1). Se
obtine sistemul urmator:

2 3
a carui soluţie este:

3 2
2
Se inlocuiesc vectorii ki determinati in expresia :
1 3 2 3 2 2 .
Expresia de mai sus poate risa matriceal dupa cum urmeaza:

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


1 0 0 0
0 0 1 0
1
3 3 2 1
2 2 1 1

Functiile de combinare in parametrul u Functia de interpolare Hermite

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Curbe Bezier
Curbele de interpolare Hermite au dezavantajul necesitatii cunoasterii vectorilor tangenti la curba in
punctual initial si final. Bezier propune utilizarea unui poligon de control format din patru puncte: p0, p1, p2, p3.
Vectorii tangenti la curba in punctual initial si final se clculeaza cu relatiile:
3
3
Se obtine sistemul:

3
2 3 3
Solutia sistemului este:

3
3 6 3
3 3
Inlocuind in expresia lui p(u) se obtine:
1 3 3 3 6 3 3 3

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Sub forma matriceala are urmatoarea forma

1 0 0 0
3 3 0 0
1
3 6 3 0
1 3 3 1

Functiile de combinare in parametrul u Functia de interpolare Bezier

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Expresia polinomului Bezier poate fi scrisa sub forma:

3!
1
3 ! !
cu: 0,1 .

In cazul in care se utilizeaza curbe de interpolare de ordin mai mare ca 3, atunci expresia generala poarta
numele de polinomul Bezier-Bernstein si are forma:

!
1
! !

Unde, in acest caz, pi cu i=1,n sunt vectorii de pozitie ale celor n+1 colturi ale poligonului characteristic
generalizat.

De exemplu, folosind polinoame de interpolare de ordinul 5, se poate scrie matriceal:

1 0 0 0 0 0
5 5 0 0 0 0
10 20 10 0 0 0
1
10 30 30 10 0 0
5 20 30 20 5 0
1 5 10 10 5 1

p
Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi
Sistemul CAD/CAM

Geometrie
Cerere CAM
piata
CAD

Geometrie

Prioritati
Fabricatie

Rute
Strategia de
fabricatie
CAPP CAPM

Profilul Profilul
capabilitatilor capacitatii
celulei de celulei de
fabricatie fabricatie

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


CAD
Format Fisier Fisier Fisier Fisier
nativ PDES
.dxf IGES STEP

Translator Translator Translator Translator


Programarea .dxf IGES STEP PDES
asistata de
calculator

Fisier sursa Fisier format CAM Fisier Fisier


scule parametri
Compilare
Elaborarea tehnologici
manuala a Fisierul locatiilor
codului cutitului (CLDATA) Fisierul locatiilor
cutitului (CLDATA) Fisier geometria traseului
Post-procesare

Codul masina (MCD)


Introducere
Transmiterea la Afisare animata a Plotter
manuala a Transmiterea la
distanta masina traseului prelucrat
datelor (MDI)
CAM

Comanda numerica (NC)

Masina unealta
(MU)

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Limbaje simbolice

• Limbajul APT: Automatic Programmed Tool


• Alte limbaje:
IFAP (Germania)Waldo (1ier)PROMO (Franta)
EXAPT (Germania)COMPAC (Bendix)ELAN
MINIAPTSYMPAC (Univac)PAM
SYMAPNUMERISCRIPTGTL
AUTOPROGSPLITPSI
AUTOAPTCINAPCOMPACT II
ADAPTAUTOSPOTNEL (Ferranti)
AUTOPROPSAUTOPRESS (Anglia)NUCOM
PROFILEDATASNAPAUTOPIT (Germania)

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Limbajul APT

Introducere
– Cel mai utilizat limbaj
– Standardizat ANSI X3.37-1980
– Suporta toate tipurile de prelucrari pe masini unelte:
• Punct cu punct, Conturare, 2 axe, 2 1/2 axes sau mai multe axe (3,4,5)
– Convenabil pentru diverse procese
• Uzinare
• Electro-eroziune
• Sudura
• Masini de desenare
Principii
– Total independent de MUCN (Masina Unealta cu Comanda Numerica)
– Utiliseaza propriul reper si nu sistemul de axe al MUCN
• Caracteristici principale
– Referinte simbolice (variabile cu nume)
– Variabile scalare, vectoriale, matriciale, geometrice
– Entitati geometrice (curbe si suprafete)
– Descrierea sculei (forma cutitului, orientarea, precizia pe traiectorie)
– Calcul scalar, matricial, geometric
– Structurat (salt conditionat, bucle, macro-uri)
– Instructiuni de control (tiparire, post-procesare, etc.)

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Arhitectura

Program sursa
Editor de texte Instructiuni APT

Interpretor
Calcul
geometric
Program sursa
Instructiuni APT
+
Referinte erori
Sistem CAD
Calcul
deplasari scula

Cutter location File Parametrii


CL File (masina i)

Post-Procesor
Cod G
(masina i)

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• Exemplu de program LY

PARTNO EXEMPLE TYPE


CLPRNT
REMARK *** DEF. GEOM. ***
SETPT = POINT/ -1, -2, 1.5
ORIG = POINT/ 0, 0
LX = LINE/ XAXIS
LY = LINE/ YAXIS C4
C1 = CIRCLE/TANTO, LY, XLARGE, ORIG, RADIUS, 1.5 R=1.5 R=0.5
L1 = LINE/ (POINT/0, -2), RIGHT, TANTO, C1
C2 = CIRCLE/YSMALL, LX, YLARGE, L1, RADIUS, .5 LX
ORIG R=0.5
C3 = CIRCLE/CENTER, ORIG, RADIUS, 1.5
C4 = CIRCLE/ YLARGE, LX, XLARGE, OUT, C3, RADIUS, .5 C3 C2
C1
L2 = LINE/ LEFT, TANTO, C2, RIGHT, TANTO, C3 L1
REMARK *** DEF. TOL., OUTIL, PARAMETRES *** R=1.5 L2
CUTTER/ 0.5
INTOL/ .005
OUTTOL/ 0. SETP 0,-2
SPINDL/2000,CLW T
FEDRAT/20.0
COOLNT/ON
REMARK *** DEPLACEMENT OUTIL ***
….

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


REMARK *** DEPLACEMENT OUTIL ***
FROM/ SETPT
INDIRV/ 1,0, 0 LY
GO/ PAST, L1
TLRGT, GOFWD/ L1, TANTO, C2
GOFWD/C2,TANTO,LX
GOFWD/ LX, TANTO, C4
GOFWD/ C4, TANTO, C3
GOFWD/ C3, TANTO, L2
GOFWD/ L2, PAST, LY
GOBACK/ LY, TANTO, C1 C4
GOFWD/ C1, TANTO, L1
TLLFT, GOBACK/ L1, PAST, LY
GOTO/ SETPT LX
END ORIG
C3 C2
FINI C1
L1

L2

SETPT 0,-2

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• Elementele limbajului
• Sintaxa. Caractere utilizate.
• ,separator de baza
• /separator de cuvant major
• *semn de multiplicare
• **semn de ridicare la putere
• +numar cu semn pozitiv sau semn de adunare
• -numar cu semn negativ sau semn de scadere
• $caractere de continuare de linie
• $$comentariu
• =semn de asignare
• .Punct zecimal
• ()incadreaza parametrii functiei, indici de tabel,
expresii ale unui IF, definitii imbricate
• )eticheta unei linii

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


– Cuvinte cheie
• Tipuri de entitati geometrice: POINT, SPHERE, PLANE, etc.
• Operatori si functii: IF, SINF, COSF, etc.
• Instructiuni post-procesor: STOP, SPINDL, END, etc.
• Modificatori: XLARGE, ON, LEFT, etc.
• Cuvinte de miscare: GO, GODLTA, etc.
• Moduri de operare: NOPOST, CLPRNT, etc.
– Sintaxa
• Numeretratate ca numere reale, toate formele traditionale de notatie
(totdeauna . Inaintea lui E , ex: 1.E3)
• Simbolurinume de variabile de 1 pana la 6 caractere alfanumerice
• Eticheta 1 la 6 caractere alfanumerice la stanga liniei care urmeaza
• SYN/definirea de sinonime (ex: SYN/PT, POINT, CI, CIRCLE)

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


– Calcul
• Operatori aritmetici+ - * / **
• Functii scalare cele din Fortran IV
SINF, COSF, TANF, ATANF, ATAN2F, ABSF, SQRTF, LOGF, LOG10F, EXPF
• Functii vectoriale
– LNTHF (Vector)Norma vectoriala
– DOTF (Vector 1, Vector 2)Produsul scala al Vector 1, Vector 2
• Functii geometrice
– ANGLF (Cerc, Punct)Unghiul in grade
Punct

ANGLF

X+
Cerc

– DISTF (Plan1, Plan2)Distanta intre doua plane paralele


– DISTF (Ligne1, Ligne2)Distanta intre doua plane paralele
– NUMF (Pattern)Numar de puncte al unui pattern

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


– Tablouri
• RESERV/Nume_tablou, N Declara un tabel cu N elemente,

• Exemple
RESERV/T,12 Tabloul T de 12 elemente
T(1) = 12.34
T(1, THRU, 5)T(1), T(2), …, T(5)
T(THRU, 5) idem
T(ALL) Toate elementele tabloului
T(5, THRU, ALL)T(5), T(6), …, T(12)
T(3,THRU, 8, INCR, 2) T(3), T(5), T(7)
T(ALL, DECR, 3)T(12), T(9), T(6), T(3)
P1 = POINT/ T(3, THRU, 5)$$ X = T(3), Y = T(4), Z = T(5)

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Entitati geometrice:

• POINT punct (se poate utiliza deasemenea ca un vector)


• LINE linie (plan orthogonal pe planul XY, trecand printr-o linie)
• CIRCLE cerc (cilindru ortogonal pe planul XY, trecand printr-un cerc)
• ELLIPS elipsa
• HYPERB hiperbola
• GCONICa x2 + bxy + cy2 + dx + ey + f = 0
curba plana,
• LCONIC Loft conic, o conica definita prin 5 puncte
, 4 puncte + tangenta sau 3 puncte + 2 tangente
• PLANE plan
• CYLNDR cilindru
• CONE cone
• SPHERE sfera
• QADRIC ax2 + by2 + cz2 + dyz + exz + fxy + gx + hy + iz + j = 0
• TABCYL Cilindru tabulat,

• RLDSRF Suprafata rulata

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• POLCON Polyconique, suprafata policonica

• VECTOR Vector
• MATRIX Matrice

– Definitia unei entitati geometrice


• Format generalIdent = Tip / Definitie

Ident: nume de variabila


Tip: tipul entitatii
Definitie: metoda de definire a entitatii

• ZSURF definirea unei valori implicite pentru Z ZSURF/Plan


ZSURF/a,b,c,d

Modificatori
• Pentru ca definirea unei entitati poate conduce la mai multe solutii posibile, modificatorii permit
discriminarea solutiei dorite.
Exemplu: Intersectia unei linii cu un cerc = 2 solutii posibile

?
?

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• XSMALL, YSMALL, XLARGE, YLARGE, RIGHT, LEFT, LARGE, SMALL, etc.

A II-a intrare a definitiei

YLARGE
XSMALL
LEFT
Y

X
RIGHT
XLARGE
YSMALL

Prima intrare a definitiei

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Declaratii geometrice (definitii ale entitatilor geometrice ale conturului de prelucrat)

• POINT
• Coordonate rectangulare
PNT1 = POINT/ xcoord, ycoord [,zcoord]
• Intersectia a doua linii
PNT2 = POINT/ INTOF, Linie1, Linie2
• Intersectia unei linii cu un cerc
PNT3 = POINT/ *Mod, INTOF, Linie1, Cerc1
• Intersectia a doua cercuri
PNT4 = POINT/ *Mod, INTOF, Cerc1, Cerc2
• Pe un cerc la un unghi PNT5
PNT5 = POINT/ Cerc1, ATANGL, Degrees Degrees
• Centrul cercului
PNT6 = POINT/ CENTER, Cerc1
Cerc1
• Intersectia linie conica
PNT7 = POINT/ *Mod, INTOF, Linie1, Conica

* Mod = XLARGE, YLARGE, XSMALL, YSMALL

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• Intersectia a trei plane
PNT8 = POINT/ Plan1, Plan2, Plan3
• Coordonate polare
PNT9 = POINT/ RTHETA, *Pref, Raza, Unghi
PNT10=POINT/ THETAR, *Pref, Unghi, Raza
• Intersectia linie TABCYL
PNT11=POINT/ INTOF, Line, TabCl1, Point

Point
TabCl1
Y
Line

PNT11
X
• Punctul N dintr-un patern
PNT12=POINT/ Patt, N

* Mod = XLARGE, YLARGE,


XSMALL, YSMALL
*Pref = XYPLAN, YZPLAN,
ZXPLAN

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• POINT
PF
– Exemple
C2 45º
Z PG
PA = POINT/ 10,10 L2
PB = POINT/ INTOF, L1, L2 Y
PC = POINT/ YSMALL, INTOF, L1, C1 PE
C1
PE = POINT/ XSMALL, INTOF, C1, C2
PF = POINT/ C2, ATANGL, 45
PG = POINT/ CENTER, C2 10 PC L1
PA PB
PH = POINT/ YSMALL, INTOF, L2, K1
PI = POINT/ PL1, PL2, PL3
PJ = POINT/ THETAR, ZXPLAN, 45, 20
10 X
PH
45º

PL3 K1
PJ

PI PL2

PL1

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• LINE
• Prin 2 puncte
• LN1 = LINE/ x1, y1, z1, x2, y2, z2
LN2 = LINE/ x1, y1, x2, y2
LN3 = LINE/ Point1, Point2
• Punct + cerc tangent
LN4 = LINE/ Point1, RL*, TANTO, Cerc1
• Doua cercuri tangente
• LN5 = LINE/*RL, TANTO,C1, *RL,TANTO, C2
C1
LN4
RIGHT
Cerc1
LEFT
LEFT
Point1

LN4 ’ LN5
RIGHT C2

* RL = LEFT sau RIGHT


LN5 ’

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• Printr-un punct si un unghi
LN6 = LINE/ Point1, ATANGL, Degrees, {[XAXIS], YAXIS}

• Printr-un punct si un unghi


LN7 = LINE/ Point1, SLOPE, Tangte, {[XAXIS], YAXIS}

• Axa X sau Y
LN8 = LINE/ {XAXIS, YAXIS}

• Printr-un punct si o panta in raport cu o linie


LN9 = LINE/ Point1, SLOPE, Tangte, Linie1

• Printr-un punct si o panta in raport cu o linie


LN10 = LINE/ Point1, ATANGL, Degrees, Linie1

Point1
Point1

Y
LN6 Degrees
Degrees LN10 Ligne1
X

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• Printr-un punct si paralel la o linie
• LN11 = LINE/ Point1, PARLEL, Linie1
• Printr-un punct si perpendiculer pe o linie
LN12 = LINE/ Point1, PERPTO, Ligne1
• Paralel la o linie la o distanta
• LN13 = LINE/ PARLEL, Ligne1, Mod*, Dist
• Intersectia a doua plane
XSMALL
LN14 = LINE/ INTOF, Plan1, Plan2 YLARGE
Linie1

Y
LN13 LN13 ’
LN13
X YSMALL
XLARGE

* Mod = XLARGE, YLARGE,


XSMALL, YSMALL

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• Panta si intersectia cu o axa
LN15 = LINE/ SLOPE, Tangte, INTERC, {YAXIS, [XAXIS]}, Val’
• Un unghi si intersectia cu o axa
LN16 = LINE/ ATANGL, Degrees, INTERC, {[YAXIS,] XAXIS}, Val

Point2
Y
TabCyl1
Degrees

Degrees ’
X

Val ’
X
Val
LN16
Point1 LN17
LN15

• Printr-un punct si tangenta la un TABCYL in planul XY


LN17 = LINE/ Point1, TANTO, TabCl1, Point2
• Printr-un punct si perpendicular pe un TABCYL in planul XY
LN18 = LINE/ Point1, PERPTO, TabCyl1, Point2

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


– Exemple

LA = LINE/ PT1, PT2


LB = LINE/ RIGHT, TANTO, CI1, LEFT, TANTO, CI2
LC = LINE/ PT1, RIGHT, TANTO, CI2
LD = LINE/ PT2, ATANGL, -30
LE = LINE/ XAXIS LH
LF = LINE/ PT2, ATANGL, -60, LD LB
LG = LINE/ PT1, PARLEL, LD LA
LH = LINE / PT1, PERPTO, LD
LD PT2
LI = LINE/ PARLEL, LD, XLARGE, 10
LJ =LINE/ ATANGLE, -45, INTERC,XAXIS, 80 LI
-30
10
-60
PT1 CI1
LG
LF

LE

80
-45
CI2

LJ

LC

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• CIRCLE
• Prin coordonatele centrului si raza
C1 = CIRCLE/ xcoord, ycoord, zcoord, raza
C2 = CIRCLE/ xcoord, ycoord, raza
C3 = CIRCLE/ CENTER, Point1, RADIUS, raza
• Prin centru si tangenta la o linie
C4 = CIRCLE/ CENTER, Point1, TANTO, Linie1
• Prin centru si un punct de pe circumferinta
C5 = CIRCLE/ CENTER, Point1, Point2
• Prin 3 puncte pe circumferinta
C6 = CIRCLE/ Point1, Point2, Point3
• Prin centru si tangenta la un cerc
C7 = CIRCLE/ CENTER, Point1, {LARGE,SMALL}, TANTO, Cerc1

C7 LARGE

Point1
Cerc1

C7 SMALL

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• Prin raza si tangenta la 2 linii
C8 = CIRCLE/ *Mod, Linie1,* Mod, Linie2, RADIUS, raza

Linie1
XSMALL, Linie1, YLARGE, Linie2
YSMALL, Linie1, XLARGE, Linie2
XLARGE, Linie1, YLARGE, Linie2
YLARGE, Linie1, XLARGE, Linie2
raza
Y

Linie2

XLARGE, Linie1, YSMALL, Linie2


XSMALL, Linie1, YSMALL, Linie2 YLARGE, Linie1, XSMALL, Linie2
YSMALL, Linie1, XSMALL, Linie2

* Mod = XLARGE, YLARGE, XSMALL, YSMALL

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• Printr-un punct raza si tangenta la o linie
C9 = CIRCLE/ TANTO, Linie1, Mod*, Point1, RADIUS, raza
• Prin raza si tangenta la o linie si un cerc
C10 = CIRCLE/ Mod*, Linie1, Mod*, {IN, OUT,} Cerc1, RADIUS, r

…., XSMALL,…,Cerc1
XSMALL, Linie1, …. …., YLARGE,…, Cerl1
YSMALL, Linie1, ….
Cerc1 …., XLARGE,…,Cerc1
…., YSMALL,…, Cerl1
Y
…,IN, Cerc1,...
…,OUT, Cerc1,... Linie1

X …,OUT, Cerc1,...
C9
XSMALL
YLARGE raza
C9
XLARGE
YSMALL XLARGE, Linie1, ….
Linie1 YLARGE, Linie1, ….
* Mod = XLARGE, YLARGE, XSMALL, YSMALL

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• Prin raza si tangenta la doua cercuri
C11 = CIRCLE/ Mod*, IO*, Cerc1, IO*, Cerc2, RADIUS, raza

Cerc1

raza
…, IN, Cerc1, … …, OUT, Cerc1, …
…, OUT, Cerc2, … …, OUT, Cerc2, …

Cerc2
XLARGE, …..
Y YLARGE, …..
…, IN, Cerc1, …
…, IN, Cerc2, …
…, OUT, Cerc1, … XSMALL, …..
…, IN, Cerc2, … YSMALL, …..
X

* Mod = XLARGE, YLARGE, XSMALL, YSMALL


* IO = IN, OUT

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• Prin raza si tangenta la o linie si un TABCYL
C12 = CIRCLE/ TANTO, Linie1, Mod*, TabCl1, Mod*, Point1, RADIUS, raza

Y Point1
TabC11

Ligne1
raza X

* Mod = XLARGE, YLARGE, XSMALL, YSMALL

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• PLANE
• Prin coeficientii ecuatiei canonice (ax + by + cz + d = 0)
PL1 = PLANE/ a, b, c, d
• Prin trei puncte
PL2 = PLANE/ Point1, Point2, Point3
• Printr-un punct si paralela la un plan
PL3 = PLANE/ Point1, PARLEL, Plan1
• Paralel cu un plan la o distanta
PL4 = PLANE/ PARLEL, Plan1, Mod*, Dist
• Printr-un punct si ortogonal pe un vector
PL5 = PLANE/Point1, PERPTO, Vect1
• Prin doua puncte si ortogonal pe un plan
PL6 = PLANE/ PERPTO, Plan1, Point1, Point2
PL7 = PLANE/ Point1, Point2, PERPTO, Plan1
• Printr-un punct si ortogonal pe 2 plane
PL8 = PLANE/ Point1, PERPTO, Plan1, Plan2

* Mod = XLARGE, YLARGE, ZLARGE, XSMALL, YSMALL,ZSMALL

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


– Exemple
PA = PLANE/ PT1, PT2, PT3
PB = PLANE/ PT4, PARLEL, PA
PC = PLANE/ PARLEL, PA, ZSMALL, 60 PT8
PE = PLANE/ PT5, PERPTO, VE1
PF = PLANE/ PERPTO, PE, PT6, PT5
PG = PLANE/ PT8, PERPTO, PE, PF PT6 PF

VE1
PT5

PG

Z
PE
Y
PT2
PT1

PA PT3

PT4
60 PB

X
PC

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• CYLNDR
• Printr-un punct, o axa si o raza (formeacanonica)
CY1 = CYLNDR/ x, y, z, a, b, c, Raza
CY2 = CYLNDR/ Point1, a, b, c, Raza
CY3 = CYLNDR/ x, y, z, Vect1, Raza
CY4 = CYLNDR/ Point1, Vect1, Raza

• CONE
• Printr-un punct o axa si cosinusul jumatatii unghiului la varf
CO1 = CONE/ x, y, z, a, b, c, CosAng
CO2 = CONE/ Point1, Vect1, CosAng

Z
Y
Point1

Ang
Vect1

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• SPHERE
• Prin centru si raza
SP1 = SPHERE/ x, y, z, raza
• SP2 = SPHERE/ Point1, raza
• SP3 = SPHERE/ CENTER, Point1, RADIUS, raza
• Prin centru si un punct de pe suprafata
SP4 = SPHERE/ CENTER, Point1, Point2
• Prin centru si un plan tangent
SP5 = SPHERE/ CENTER, Point1, TANTO, Plan1
• Prin patru puncte pe suprafata
SP6 = SPHERE/ Point1, Point2, Point3, Point4
• QADRIC
• Prin coeficientii formei canonice
Q1 = QUADRIC/ a, b, c, f, g, h, p, q, r, d
cu ax2+by2+cz2+2fyz+2gxz+2hxy+2px+2qy+2rz+d = 0

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• VECTOR
• Prin coordonate
VE1 = VECTOR/ CoordX, CoordY, CoordZ
• Prin 2 puncte
VE2 = VECTOR/ Point1, Point2
• Prin normala la un plan
VE3 = VECTOR/ PERPTO, Plan1, ModDir*
• Printr-un vector multiplicat cu un scalar
VE4 = VECTOR/ Scal1, TIMES, Vect1
• Prin produsul vectorial
VE5 = VECTOR/ Vect1, CROSS, Vect2
• Prin normalizarea unui vector, a unui punct sau a trei coordonate
VE6 = VECTOR/ UNIT, Vect1
VE7 = VECTOR/ UNIT, Point1
VE8 = VECTOR/ UNIT, CoordX, CoordY, CoordZ

*ModDir = POSX, POSY, POSZ, NEGX, NEGY, NEGZ

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• Prin coordonatele polare intr-un plan de baza
VE9 = VECTOR/LENGTH, Long1, ATANGL, Angle1, ModPlan*
• Prin intersectia a doua plane
VE10 = VECTOR/ PARLEL, INTOF, Plan1, Plan2, ModPos*
• Prin adunarea sau scaderea a doi vectori
VE11 = VECTOR/ Vect1, PLUS, Vect2
VE12 = VECTOR/ Vect1, MINUS, Vect2
• Printr-un unghi in raport cu o linie din planul XY
VE13 = VECTOR/ ATANGL, Angle1, Linie1, Mod*

*ModPlan = XYPLAN, YZPLAN, ZXPLAN


*ModPos = POSX, POSY, POSZ, NEGX, NEGY, NEGZ
*Mod = POSX, POSY, NEGX, NEGY, XLARGE, YLARGE, XSMALL, YSMALL

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Declaratii de miscare

Traiectoria de conturare

• Principii de definire a conturului


– PS: Part Surface (Suprafata piesei)
Controleaza miscarea sculei in directia axei. Este suprafata
care trebuie generata. DS
– DS: Drive Surface (Suprafata conducatoare)
Controleaza miscarea sculei perpendicular pe directia de
deplasare. Este suprafata de ghidaj.
– CS: Check Surface (Suprafata de verificare)
Controleaza sfarsitul miscarii. Este suprafata tinta. CS

– Observatie:
In 2D, PS este in mod obisnuit un plan paralel cu XY si DS,
CS sunt curbe.
PS

CS
DS
PS

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• PS: Part Surface
– Aceasta suprafata controleaza in general profunzimea trecerii.
– Scula se gaseste continuu in contact cu PS cu toleranta definita.
– Planul XY este implicit PS.
– PS este modal si poate fi controlat prin:
• PSIS / Surf1
Surf1 devine PS-ul curent
• AUTOPS
PS este planul XY la cota curenta Z a sculei.
• GO/
Defineste o traiectorie in relatie cu suprafetele 1, 2 su 3.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• Pozitia sculei / PS

– TLON PS DS DS
DS
Centrul sculei in contact cu PS

PS PS PS

Fara compensare de raza Compensare de raza Compensare de raza


la dreapta la stanga
– TLOF PS
Un alt punct al sculei in contact cu PS DS
DS DS

PS PS PS

Nota: TLOF PS are influenta numai la


masinile unelte multi - axa

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• DS: Drive Surface
– Aceasta suprafata ghideaza scula in spatiu mentinand relatia cu suprafata
PS
– Scula se gaseste in permanenta pe suprafata DS cu toleranta definita.
– DS nu este modala si trebuie precizata explicit la fiecare deplasare de
conturare.

• Pozitia sculei / DS
– TLFT
– TLRGT
– TLON
– TLNDON

DS DS DS

TLON
TLFT TLRGT
TLNDON

– Nota: TLFT, TLRGT, TLON si TLDNON sunt modali

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• Pozitia sculei pe CS
– TO
– ON
– PAST
– TANTO, DSTAN
– PSTAN PS
DS

PSTAN

CS

CS
CS
CS

DS
DS
DS DS
TO
ON PAST TANTO
DSTAN

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• Sintaxa generala a unei miscari de conturare

[label] TLLFT GOFWD /DS , TO , [n, INTOF,] CS


,
TLON GOBACK ON
Modificator
Facultativ
TLNDON GORGT PAST intersectii multiple
TLRGT GOLFT TANTO
GOUP
GODOWN
Modificator in raport
Modifica pozitia
cu CS
sculei in raport Modifica directia in raport
cu DS cu miscarea precedenta

GOLFT
GOFWD
GOBACK
GORGT

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Initializarea unei traiectorii

• Deplasarea initiala nu poate fi realizata printr-o miscare de conturare


– Scula nu poate fi in contact cu piesa
– Originea deplasarii nu poate fi cunoscuta (pozitia curenta a sculei).
– Directia de deplasare este nedefinita.
• Definirea punctului initial
– FROM/ Point1 [, Vect1] [,Avans]
– FROM/ x, y, z [, i, j, k] [,Avans]
– FROM/ x, y(combinat cu ZSURF/ )

– Aceasta instructiune defineste un punct initial virtual, utilizat pentru calculul pozitiei sculei.
– Atentie: Pozitia sculei nu este fortata in acest punct.
– Vectorul defineste axa sculei (masini multiaxa).
– Ultimul parametru defineste viteza de avans.
– Aceasta instructiune nu genereaza nici o deplasare.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


– Definirea unei directii de deplasare initiale teoretice.
• INDIRV/ Vect1
• INDIRP/ Point1

– Definirea primei miscari

[label] GO / TO , DS , TO , PS , TO , CS
ON ON ON
optional PAST PAST PAST
TANTO

– Pozitia sculei in raport cu suprafetele 1, 2 sau 3


– DS nu are aceeasi semnificatie ca in conturare
– Scula se deplaseaza pe traiectoria cea mai scurta intre pozitia reala si destinatia definita
prin instructiunea GO/….
– In timpul deplasarii nu se verifica nici o toleranta.

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


– Exemple:

C1

FROM/P1
GO/ON,C1
P1

C2
L1
FROM/P1
GO/TO,L1

FROM/P2
P2
GO/PAST,C2

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


– Exemplu:

SURF3 SURF4
P4
P3

PL3 PL4

FROM/P3
FROM/P4
GO/TO,SURF3,ON,PL3
GO/PAST,SURF4,ON,PL4

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


– Exemplu:

FROM/P5
GO/TO,L5,ON,PL1,PAST,C5 FROM/P5
P5
GO/PAST,L5,ON,PL1,TO,C6

C5
P6

L5

C6 FROM/P6
GO/TO,L5,ON,PL1,TANTO,C6

PL1: Planul ecranului

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


– Exemplu:

FROM/P5
GO/PAST,L5,ON,PL1,TO,C6

FROM/P8
L18 INDIRP/P10 P8
FROM/P7 P7 GO/TO,L8
GO/TO,C7

C7 P10

FROM/P7
INDIRV/-1,-1,0 L8
GO/TO,C7
FROM/P8
INDIRP/0,0,0
GO/PAST,L18

FROM/P9 (0,0,0)
INDIRV/1,1,0
GO/PAST,L9,TO,PL1,PAST,C9
C9
P9 L9

FROM/P9
INDIRV/1,-1,0
GO/PAST,L9,TO,PL1,PAST,C9

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Traiectoria punct cu punct (interpolare liniara)

• Traiectorie liniara printr-un punct in coordonate absolute sau relative.


– In coordonate absolute
GOTO/ Point1 [,Vect1] [,Avans]
GOTO/ x, y, z [, i, j, k] [,Avans]
GOTO/ x, y
– In coordonate relative
GODLTA/ Vect1
GODLTA/ dx, dy, dz
GODLA/ Dltaxe
• Deplasarea pe un "PATTERN"
– GOTO/ Pat1
Aceasta instructiune genereaza un ansamblu de GOTO/ cu coordonatele fiecarui punct din pattern.
Modificatorii (* INVERS, OMIT, RETAIN, AVOID, THRU, CONST) adauga flexibilitate acestei
instructiuni.
GOTO/ Pat1 [, MOD*, Num [, Nums]] [, …]

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Declaratii auxiliare
• CLPRNT
Tipareste pozitiile cutitului la imprimanta
• PARTNO/
Defineste numele piesei
• FINI
Sfarsit fisier

H
• CUTTER/ D, R, E, F, A, B, H
Definitia completa a cutitului sculei
E
R
F
A
B
D

• Definitia simplificata
CUTTER/ D, R

CUTTER/ D CUTER/ D, R CUTTER/ D, R

Cu D = 2R cu D > 2R

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


Definitia tolerantelor

• INTOL/ Val Val


Definirea unei tolerante prin lipsa.

Cota masurata

• OUTTOL/ Val
Definirea unei tolerante prin adaos.

Val

• TOLER/ Val
Alte forme de definire echivalenta cu:
Cota masurata
INTOL/0
OUTTOL/ Val

Cota masurata

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi


• Declaratii post-procesor
• COOLNT/ {ON},{OFF},{FLOOD},{MIST}
Definirea modului de racire in prelucrare
• RAPID
Defineste deplasarea cu avans rapid
• SPINDL/
Defineste viteza de rotatie a cutitului
• FEDRAT/
Defineste viteza de avans
• TURRET/
Defineste scula folosita pentru prelucrare
• MACHINE/
Defineste masina unealta care realizeaza prelucrarea
• END
Sfarsitul program

Facultatea de Automatică şi Calculatoare - Universitatea Tehnică “Gh. Asachi” - Iaşi

S-ar putea să vă placă și