Documente Academic
Documente Profesional
Documente Cultură
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
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
A-5400 Hallein-Taxach/Austria
Phone ++43-(0)62 45-891-0
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:
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
G: Flexible NC programming
Variables and arithmetic parameters .................................. G1
Calculating with variables .................................................. G1
Control structures .............................................................. G2
Relational operators .......................................................... G2
I: Control Alarms
Control Alarms .................................................................... I1
4
EMCO WINNC GE SERIES FANUC 21MB KEY DESCRIPTION
A: Key Description
Control Keyboard, Digitizer Overlay
*()DQXF6HULHV
;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
2 1 * ( 3
&
; < = 4"
8 9 :
, -$ .# 5
0 6 7 /
Function Keys
2))6(7
326 352* 6(77,1*
A2
EMCO WINNC GE SERIES FANUC 21MB KEY DESCRIPTION
A3
EMCO WINNC GE SERIES FANUC 21MB KEY DESCRIPTION
; 4
(',7
= =
4 ;
'5< = <
6.,3
581
[
237
6723
; ;
(',7
6%/ < =
$8; $8;
RESET
= <
; ;
manual axis movement
< =
A4
EMCO WINNC GE SERIES FANUC 21MB KEY DESCRIPTION
Spindel stop / spindle start; spindle start in JOG and INC1...INC10000 mode:
Coolant on/off
Vorschub- / Eilgangkorrekturschalter
Feed / rapid feed override switch
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".
B: Basics
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.
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.
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&*()DQXF6HULHV0F(0&2 [
Input of the Zero Offset
2)
:25.&225',1$7(6 21
; ;
= =
Select the softkey W.SHFT
;
*<
;
*<
The input pattern beside will be displayed
= =
>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
keys and .
the key
B3
EMCO WINNC GE SERIES FANUC 21MB BASICS
B4
EMCO WINNC GE SERIES FANUC 21MB BASICS
B5
EMCO WINNC GE SERIES FANUC 21MB BASICS
B6
EMCO WINNC GE SERIES FANUC 21MB OPERATING SEQUENCES
C: Operating Sequences
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
C1
EMCO WINNC GE SERIES FANUC 21MB OPERATING SEQUENCES
Danger of Collisions
Mind for obstacles in the working area (Clamping
devices, clamped work pieces, etc.)
C2
EMCO WINNC GE SERIES FANUC 21MB OPERATING SEQUENCES
:LQ1&*()DQXF6HULHV0F(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*
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
Input of a block
Example:
Block number (not necessary)
1. word
2. word
or
Note:
With the parameter SEQUENCE NO (PARAMETER
MANUELL) you can determine whether block
numbering should occur automatically (1 = yes, 0 =
no).
and value) and press the key . and press the key
Alter a Word
Move the cursor before the word that should be
Delete a Word
Move the cursor before the word, that should be
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 .
key .
:LQ1&*()DQXF6HULHV0F(0&2 [
Data Input - Output
2)
,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.
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
C6
EMCO WINNC GE SERIES FANUC 21MB OPERATING SEQUENCES
Program Run
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&*()DQXF6HULHV0F(0&2 [
Part Counter and Piece Time
2)
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
start.
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&*()DQXF6HULHV0F(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
With the softkey GRAPH you will get into the simulation
:LQ1&*()DQXF6HULHV0F(0&2 [
window.
2)
1&
< 67$57
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.
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
* /RFDO&RRUGLQDWH6\VWHP
G10 .............. Data Setting
* 0DFKLQH&RRUGLQDW6\VWHP
G11 .............. Data Setting Off
* &RRUGLQDWH6\WHP6HWWLQJ
G151 ....................... End Polar Coordinate Interpolation
* 3RVLWLRQLQJ5DSLG7UDYHUVH
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
* /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
* 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+
6
/
#
&
/
,34
/
-,-@
!
#/
(
/
5
0
-
)#*" #
#
# !
) !
)
/
/
) !
,
/
!
!
#
!
=
!
,
(K* ,
/
)!
!
#,
/
)
; < % ' )
! -D (:;
f
*
#
%
φ
7L
%
L !
,
)
!
/#
G
)
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING
+ '##
-7: MN
-7& MN
D
EMCO WINNC GE SERIES FANUC 21MB
ROGRAMMING
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
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#
- !
/
!
/
#$
% ++MG
,
G
,G/,
G/N
% 0/
("094, #
!
*
M,
N
%
/
M,
N
%
#
M,
N
%
MG
,G
N
% +
-
%
/
# ! E
/
!
!G
%
#
5 ( 5E-E#
1
*
%
##
-
-Q
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING
(:,;,<*
+ /
:, ;
<,
!
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
7
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING
5 * 5
* *
*
&
""
"
""
"
/
*
"
!
#
!
5
/
5
9,!
!
5
9,
/
!
* !
>
/
!
""
"
5
5
5 * 5
*
* *
' "
' "
( )
*
/
"
!
#
5
!
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING
,
!!-
; 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
= =
:;
= < = <
D
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING
A
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING
1 /*
-
' !
,!
!
!
2)
/ 2)
/ -
/,
!!-
-7
<
+
% +
/ !
/
!-@@(T*
% -@!
#!250&5GG
,
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
-A
9
<
-6
;
+ )
,
#
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!
!
(
4
#
"
(-6*!
/
"
(-6*/
; ; ;
:
;
!
#
!
# "
-6A
/
Q
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING
-6A(-66*-D@G-A@:;<(9*&8
+4
1
!
8,
9 /
,
!
4
*
4
,
!
#
*
:,; .
!&
< '(
*
5 7
3 9MN '(!-6
*/
!
!
&MN !
-D@ (-66*
&O
+ +
8MN
/
E
4
5
"
!
4
4
4
!&
5 7
,+ ! #
0
#&5GG
" #
#-D7! -A7!/
1
#-A7
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING
4 ###
-6A(-66*-A:;<(9*+4
1
/!
!
!
"
!
9
*
1
,
!
-6A -66
-6A(-66* 9
(!
!
5 3 8
#
*
:,; .
< '(
*
9MN '(!-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* :,; .
< '(
*
9MN '(!-6
*/
!
!
&MN !
&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
4
4
4
!&
5 3
4+#
0
#&5GG
-6A(-66*-A7:;<(9*+&4
)
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING
40 #
-A (-6A* -6A(-66*-A:;<(9*+4
/!
!
!
!
!
9
!
!
!
E
1
E
-6A
/ !
!
'
1
E
!
9
-6A(-66* 9
(!
!
E
*
1
:,; .
1 < '(
*
9MN '(!-6
*/
$
#
"
"
!
!
"
+ +
4
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING
;
! "!
# -66
,
!
#
/!
'
!
1
!,
E
#
9
:,; .
&
< '(
*
9MN '(!-6
*/
!
!
$
#
"
" &MN !
$
&O
+ +
D
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING
/!
.0 5#
! (&* 9
!
!
!
,
0
#&5BBGG
-6A
/!
"-6
+(*/
G/
-6+
., #
"-6D
1/
/G
-6D1
. ;#
-6
% '
!
-6
-6
!
!
% -6 (-6*
!-
(-6-:;<*
. " #
-6
-6
A
EMCO WINNC GE SERIES FANUC 21MB PROGRAMMING
=
2)
$
7 5
" R 1'9R
-7@ .7
'
/!!
!#7
!
/
!!/
!/
!5
(
.7* !
!
//
(
E
6
*
# '
/!!
!
/
!!/
5 ! 5, !
0& 10&
/
(
#0&
*0&
10&
/,5
! #
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
)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]
G1
EMCO WINNC GE SERIES FANUC 21MB FLEXIBLE NC- PROGRAMMING
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
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.
A 2007-05
H1
A LARMS AND M ESSAGES
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
H2
A LARMS AND M ESSAGES
H3
A LARMS AND M ESSAGES
H4
A LARMS AND M ESSAGES
H5
A LARMS AND M ESSAGES
H6
A LARMS AND M ESSAGES
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)
H7
A LARMS AND M ESSAGES
H8
A LARMS AND M ESSAGES
H9
A LARMS AND M ESSAGES
H 10
A LARMS AND M ESSAGES
H 11
A LARMS AND M ESSAGES
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
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 cant 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
I2
EMCO WINNC GE SERIES FANUC 21MB ALARMS AND MESSAGES
I3
EMCO WINNC GE SERIES FANUC 21MB ALARMS AND MESSAGES
I4
CURS:
FABRICAŢIE ASISTATĂ DE CALCULATOR
- 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:
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.
Î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.
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ță.
Volum vânzări
Timp
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%
Materii prime
Produse
Scule si disp. finale
Sistem de
Echipamente
fabricație
Energie
rebuturi
Munca
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 sisteme de productie de tip linie: Ford model A 1927 si Toyota 2002
Vânzări
Timp
ETO MTO/ATO MTS
Proiect x
Atelier x
Repetitive x x
Linie x x
Continuu x x
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.
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.
- 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
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
Organizatia de support
Functiile include departamentele de: personal, de paza, de intretinere, resurse umane, dezvoltare si servicii de
calculator.
NewVWFactoryinGermany.pps
Mercedes Benz Factory.flv
Lean Enterprise Case Study DELL Example [clipnabber.com].flv
Google.pps
AGV.mpg
ASRS.wmv
- 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
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
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.
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.
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.
Strategie Efect
9. Controlul operațiilor la nivelul întregului sistem de producție Reduce: Tsu, TF, WIP. Creşte U
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.
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:
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.).
Aceasta este o metodă de stabilire a efectului schimbarilor volumului de producţie asupra costurilor,
încasărilor şi profitului.
Costuri totale
Costuri totale in
varianta
automatizata
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
Costul
fabricatie CoTo+Cno
Tsu+QTo+Tno
∑(CoTo+Cno)
Cm
1 2 3 nm-1 nm
Timpul de fabricatie
2.1 Introducere
Modelul conceptual al unui sistem CIM este ilustrat de Society of Manufacturing Engineers in figura
urmatoare.
Organizatii Imbunatatire
globale continua
Sevicii Documentatie
clienti (1) si lansare
Clienti
Planificare
Productie resurse
componente
Asamblare Planificare
si testare operatii
• 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.
Proiectare
Planificarea si
controlul
Productie
fabricatiei
(MPC)
• Productie: Ultimul proces include activităţile asociate cu producţia sau cu “shop floor”.
Nivelul operational
Nivelul strategic Nivelul tactic
Fabricatia asistata de
Managementul asistat de calculator Ingineria asistată de calculator (CAE) calculator (CAM)
Plan Ciclul de
MPS productie CAE
productie
Planificare
Planificare
Planificare MRP
materiale
Proiectare CAD
CAM
Realizare
Realizare
date proces
Asamblare
Control
montaj Asamblare
Comanda Control
CAQ
expeditie calitate
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.
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:
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:
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.
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:
Într-o primă clasificare, bazată pe funcţia sistemului informaţional, acesta poate fi de mai multe tipuri:
TPS - preia datele generate de activitatea internă economico-socială în baza de date internă şi constituie
infrastructura unuia din nivelurile sistemului informaţional.
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:
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.
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).
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:
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
• 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
Baza de
date Sistemul de Management
al Informaţiilor (MIS)
Mediu
Date Informaţii
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
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
Raport de vânzări
pentru sfârşitul săptamânii
Vânzări Beneficiu
200
150
Milioane dolari
100
50
0
1980 1981 1982 1983 1984
Legenda:
Apples
Oranges
Peanuts
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
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.
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
• 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
Nivele de management
Controlul Controlul Planificare
operatiilor managementului strategica
Manager + Calculator
Solutie (DSS)
Solutii gasite
de Solutie
calculator manager
- 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.
- 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:
Tendintele recente au adaugat elemente de inteligenta artificiala si programarea analitica online (OLAP).
Modele DSS
Mediu
Data
Baza de date
Comunicatie
Sistem de
suport al deciziilor Informatie
Mediu
Managementul Managementul
Date interne Modele externe
datelor modelului
Interfata utilizator
Manager (utilizator)
• 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.
Manageri
de nivel înalt
E I S
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
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.
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
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
Departamentul
central
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
- 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.
– 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.
– 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.
- Modelul relational-obiect: este similar celui relational, dar schema datelor suporta in definirea obiectelor,
notiunile programarii pe obiecte si limbajul de interogare.
Schema bazei de date este structurata de administratorul bazei de date (DBA), dupa anumite proceduri
corespunzator metodologiei de proiectare logica a bazei 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:
O tranzactie reprezinta un set de actiuni elementare (inserare, stergere) asupra obiectelor ce contin date.
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 */
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.
Proiectarea logică
[vederi multiple]
Model Integrarea vederilor
[o singură vedere]
Normalizare
Proiectarea fizică
Selectează indecşi
[cerinţe speciale]
Denormalizare
[else] Implementare
Implementare
[else]
Monitorizare
[defunct]
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.
Products Salepersons
Customers Orders
2. Modelarea logica
a) proiectarea conceptuala
N N
served-by sold-by
1 salesperson
N
N
customer N order for
1 places
N
N
N
salesperson order-product
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 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.
- 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..
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
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
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
1 1 1 N
Has
Engineer Desktop department has employee
allocated
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.
program documentation
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 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
contains
department
1 1
N
manager secretary engineer technician
location 1 1 1 N
1 1 1 N
Constrangerile de integritate – sunt reguli care restrang valorile care pot fi prezente in baza de date.
- 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).
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:
Student
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) Tabelul Student cu grupurile care se repeta poate fi aplatizat, modificand relatia ca in Student2:
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.
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.
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.
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.
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:
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.
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.
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.
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:
– 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.
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.
In concluzie:
pentru ca relatia R(a,b,c,d) cu cd sa fie in forma 3NF aceasta se transforma in:
R(a,b,c)
R1(c,d)
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:
Pentru a fi o forma BCNF, toti determinantii valizi trebuie sa fie candidat de cheie.
In relatia R,
a,bc,d este determinantul folosit, astfel incat primul determinant este bun.
a,db 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
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)
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)
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)
– DB(Patno,Time,doctor)
– R1(Patno,PatName)
– R2(Time,appNo)
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.
• 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)
Student(StudNo, StudName)
StudMajor(StudNo, Major, Advisor)
StudCourse(StudNo, Major, CourseNo, Grade)
Course(CourseNo, Ctitle, InstrucName, InstructLocn)
Student(StudNo, StudName)
StudCourse(StudNo, Major, CourseNo, Grade)
Course(CourseNo, Ctitle, InstrucName)
Instructor(InstructName, InstructLocn)
StudMajor(StudNo, Advisor)
Adviser(Advisor, Major)
Fie tabelul
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.
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.
1 N
DRIVER drives CAR PRICE
DOB
OWNER
DRIVER CAR
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
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:
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!.
• 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).
Comentarii
Ex:
SELECT regno -- The registration number
FROM car -- The car storage table
Datele calendaristice sunt considerate de valoare mai mare cu cat sunt in viitorul mai indepartat.
Astfel, DATE1>DATE2 indica DATE1 in viitor dupa DATE2.
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:
REGNO
• 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:
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%’;
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.
DISTINCT
COLOUR COLOUR
BLUE BLUE
RED RED
BLUE GREEN
GREEN
BLUE
FIAT GREEN
FORD RED
• 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
PRICE
AVG(PRICE)
22000
12800
12000
11000
6000
13000
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;
GREEN 6000
BLUE 13000
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
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;
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
SELECT *
FROM car,driver
WHERE owner = name;
SELECT *
FROM car JOIN driver ON ( owner = name );
SELECT *
FROM car LEFT JOIN driver ON ( owner = name )
;
LEFT
SELECT *
FROM car LEFT JOIN driver ON ( owner = name )
;
SELECT *
FROM car RIGHT JOIN driver ON ( owner = name )
;
SELECT *
FROM car FULL JOIN driver ON ( owner = name );
SELECT *
FROM car LEFT JOIN driver ON ( owner = name )
UNION
SELECT *
FROM car RIGHT JOIN driver ON ( owner = name );
;
Cateodata coloana nume poate fi ambigua daca de exemplu se face referire la doua tabele, ambele avand o
coloana NAME:
Aceasta interogare esueaza din motivele aratate, dar se poate rezolva prin:
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?
SELECT other.owner
FROM car bobsmith, car other
owner
WHERE bobsmith.colour = other.colour -- 1
AND bobsmith.owner = ‘Bob Smith’ -- 2 Jim Smith
• 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…
• Sunt doua interogari si dorim sa facem intr-o singura interogare. Sa stocam cele doua interogari in doua
vederi diferite.
Select count1.total,count2.total
from count1,count2;
Total Total
4 5
Stergerea unei vederi
Exemple:
• Cine din baza de date este mai in varsta decat Jim Smith?
Dob
11 Jan 1980
SELECT name FROM driver WHERE dob > ’11 Jan 1980’;
name
Bob Jones
Bob Smith
SELECT name
FROM driver NAME
Bob Jones
WHERE dob > (SELECT dob
Bob Smith
FROM driver
WHERE name = ‘Jim Smith’)
;
• 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.
Jim detine 2 masini, una este RED si cealalta BLUE. Cautam masini care sunt fie RED fie BLUE.
Exemplu cu NOT IN
• 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
);
• 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
SELECT name,0
FROM driver
WHERE name NOT IN (select owner from car)
NAME
David Davis 0
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)
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’);
• 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]
• Optionalinfo pot fi
– O INTEGER REFERENCES b(c)
– PRIMARY KEY
– NOT NULL
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.
É 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:
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.
Ç 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.
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”.
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;
- 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.
- 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.
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)
Nod_radacina
v1 v2
Nod_frunza Nod_frunza
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.
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ă.
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.
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:
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.
Î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
Calculăm entropia medie a setului de date complet pentru fiecare din cele 4 atribute (Istoria creditului, Datorii,
Garantii, Venit):
Istoria creditului:
Necunoscuta 2 1 2 5
Rea 3 1 0 4
Buna 1 1 3 5
Total 6 3 5 14
Gain
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
0-15k 4 0 0 4
15-35k 2 2 0 4
>35k 0 1 5 6
Total 6 3 5 14
Gain
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
Mari 2 1 0 3 0.918
Mici 0 1 0 1 0
Total 2 2 0 4 1
Gain 0,311
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.
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
Mari 0 0 2 2 0
Mici 0 1 3 4 0,811
Total 0 1 5 6 0.65
Gain 0.109
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.
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.
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):
,
∈
, ,
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.
Info(Play) = Info{9/14,5/14}=0,9402
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
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
2 4 3 5
Gain(Play,Temperature) = Info(Temperature) -
Info(Play,Temperature) = 0.985 – 0.939 = 0.046
GainRatio(Play,Temperature) = 0,046/0,985=0,0467
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
3 6 3 2
Gain(Play,Humidity)= Info(Humidity) -
Info(Temperature,S) = 0.940 – 0.937 = 0.003
GainRatio(Play,Humidity )= 0,003/0,985=0,003
2 6 3 3
GainRatio(Play,Windy) = 0,093/0,985=0,094
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:
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
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
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
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
Gini_split=0,536 Gini_split=0,262
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
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
RM 0 0 0 RM 0 0 RM 0 0
Rm 2 0 3 Rm 2 3 Rm 3 2
9 casatorit 75k no no 2 4 1
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
Venit
no yes
impozabil
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ă:
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.
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.
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.
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
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.
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.
Î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
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
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.
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.
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.
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.
Modelarea solidului
Operatii Booleene
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.
, , , , , ,
, , , , , , , , .
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.
∗ , ∗ , ∗
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 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.
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:
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
1 0 0 0
3 3 0 0
1
3 6 3 0
1 3 3 1
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.
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
Masina unealta
(MU)
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.)
Program sursa
Editor de texte Instructiuni APT
Interpretor
Calcul
geometric
Program sursa
Instructiuni APT
+
Referinte erori
Sistem CAD
Calcul
deplasari scula
Post-Procesor
Cod G
(masina i)
L2
SETPT 0,-2
ANGLF
X+
Cerc
• 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)
• VECTOR Vector
• MATRIX Matrice
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
?
?
YLARGE
XSMALL
LEFT
Y
X
RIGHT
XLARGE
YSMALL
• 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
Point
TabCl1
Y
Line
PNT11
X
• Punctul N dintr-un patern
PNT12=POINT/ Patt, N
PL3 K1
PJ
PI PL2
PL1
LN4 ’ LN5
RIGHT C2
• Axa X sau Y
LN8 = LINE/ {XAXIS, YAXIS}
Point1
Point1
Y
LN6 Degrees
Degrees LN10 Ligne1
X
Y
LN13 LN13 ’
LN13
X YSMALL
XLARGE
Point2
Y
TabCyl1
Degrees
Degrees ’
X
Val ’
X
Val
LN16
Point1 LN17
LN15
LE
80
-45
CI2
LJ
LC
C7 LARGE
Point1
Cerc1
C7 SMALL
Linie1
XSMALL, Linie1, YLARGE, Linie2
YSMALL, Linie1, XLARGE, Linie2
XLARGE, Linie1, YLARGE, Linie2
YLARGE, Linie1, XLARGE, Linie2
raza
Y
Linie2
…., 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
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
Y Point1
TabC11
Ligne1
raza X
VE1
PT5
PG
Z
PE
Y
PT2
PT1
PA PT3
PT4
60 PB
X
PC
• 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
Traiectoria de conturare
– Observatie:
In 2D, PS este in mod obisnuit un plan paralel cu XY si DS,
CS sunt curbe.
PS
CS
DS
PS
– TLON PS DS DS
DS
Centrul sculei in contact cu PS
PS PS PS
PS PS PS
• Pozitia sculei / DS
– TLFT
– TLRGT
– TLON
– TLNDON
DS DS DS
TLON
TLFT TLRGT
TLNDON
PSTAN
CS
CS
CS
CS
DS
DS
DS DS
TO
ON PAST TANTO
DSTAN
GOLFT
GOFWD
GOBACK
GORGT
– 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.
[label] GO / TO , DS , TO , PS , TO , CS
ON ON ON
optional PAST PAST PAST
TANTO
C1
FROM/P1
GO/ON,C1
P1
C2
L1
FROM/P1
GO/TO,L1
FROM/P2
P2
GO/PAST,C2
SURF3 SURF4
P4
P3
PL3 PL4
FROM/P3
FROM/P4
GO/TO,SURF3,ON,PL3
GO/PAST,SURF4,ON,PL4
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
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
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
Cu D = 2R cu D > 2R
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