1 / 20

ISO 14649 분석 및 프로그래밍 시스템

ISO 14649 분석 및 프로그래밍 시스템. 한주영 , 김도완 , 장병열 , 조현보 산업공학과 포항공과대학교. 발표순서. Background What is ISO 14649? Issues Suggestions Conclusion. ISO 14649 개발 과정. 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001.

lindsay
Download Presentation

ISO 14649 분석 및 프로그래밍 시스템

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ISO 14649 분석 및 프로그래밍 시스템 한주영, 김도완, 장병열, 조현보 산업공학과 포항공과대학교

  2. 발표순서 • Background • What is ISO 14649? • Issues • Suggestions • Conclusion

  3. ISO 14649 개발 과정 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 ESPRIT 6379(OSACA) ESPRIT 9115(OSACA II) ESPRIT 22168 Europe ESPRIT 8643(OPTIMAL) STEP-NC W/S ISO 14649 Proposal OMAC U.S. Cooperation (ISO 14649) NIST - EMC NIST participation into ISO 14649 OSEC Japan Proposal STEP-NC IMS ISO 6983 ISO ISO 14649(in progress)

  4. ISO14649 CAM-CNC Data interface standards ISO6983 • Huge programs by specifying machine tool motions • Very difficult to handle last-minute changes • Not interchangeable of part programs between different controls due tovendor-specific extensions • Poorly suited for five axis milling and high speed cutting • No feedback of data to the planning department • Compact programs by specifying machining processes • Easy to handle changes due to the OO concept • Use of CAD data without conversion • Use of existing standard ISO10303 • Use of spline data for improved surface quality • Feedback of data to the planning department

  5. ISO 14649 의 구성 • Part 1 – Overview and fundamental principles • Part 2 – Language description in EBNF • Part 3 – Predefined functions • Part 9 – Glossary • Part 10 – (reserved for process independent data) • Parts 11-19 – Process data for manufacturing technologies • Part 11 – Process data for milling • Part 11/1 – Tool sheet for milling Tools • Parts 21-29 – STEP Application Interpreted Models(AIM) • Part 21 – STEP AIM for milling Extensions to other applications in progress EDM, RP, Grinding, …

  6. 32 32 64 80 ISO 14649 - NC Program 개요 (Part 1) • Object-oriented 개념을 도입 • Main program file • Technology description • Geometry description Project file PROG = "c:\demo\NcFile.prg" plan = "c:\demo\Examp1.dat" geo = "c:\demo\Examp1.stp" reference reference Main program file Technology description Geometry description … If( var1 > 0 ) var2 = “string”; else flag = TRUE; … exec plan.drilling_hole1; … … drilling_hole1 = spot_drilling_manuf_data( its_id = 'drilling_hole1', its_secplane = plane1 its_feature = hole1, its_tool = drill_12mm, its_technology = techno_drill2, its_machine_functions = mach_fkt_1, retract_plane = plane2); … DATA;  … #71 = POLYLINE((#21,#25)); #81 = CONTOUR((#70,#71,#72,#73)); #301 = LENGTH_MEASURE(12.000); …  ENDSEC; END-ISO-10303-21;

  7. Project / Main program file • Project file • Explicit reference for all the files during the complete manufacturing task • The file indicated by keyword “PROG” contains the main program. • Example • 아래의 Project file이 있는 경우 NC Program의 어디에서도 plan.XXX를 통해 Examp1.dat에 있는 Process data를 참조할 수 있음 • 예) Plan.hole1, plan.pocket1 • Main program file • Process data와 Geometry data를 참조하여 CNC가 실제 수행해야 할 내용을 포함 • “exec”의 keyword를 통해 workingstep을 실행 • Workingstep의 sequencing이 이루어짐 PROG = "c:\demo\NcFile.prg" plan = "c:\demo\Examp1.dat" geo = "c:\demo\Examp1.stp“ // Examp1.dat Hole1 = round_hole( ... ); Pocket1 = Open_pocket( ... );

  8. Technology & Geometry descriptions • Technology description contains • A detailed and complete definition of all workingsteps. • Tool data. (e.g. tool dimension, tool type, etc. ) • Other process data. (e.g. Spindle, feedrate, etc. ) • Geometry descriptions • Is STEP part21 data file generated by CAD/CAM systems. • Is Referenced by Main program, Technology description part. • Contains Geometry entries of finished part. Workingstep • Feature-based NC Program의 작성을 가능하게 해주는 개념 • 각 Manufacturing feature에 해당하는 Workingstep이 정의됨 • NC Program에서 실제 작업 수행이 이루이지는 Data structure • Geometry description part를 참조

  9. NC Program Language 개요 (Part 2) • NC Program Language • Very similar to the high level programming language “C” • Predefined functions available ( Part 3 ) • Used to program “Main program”, “Technology description part” • Geometry description part는 기존의 STEP 파일 형식을 차용 • Comparison with ISO 6983 (“G-code”) • High level programming language style • “C”-like function concept • More flexible control structures • Exception handling mechanism • Parallel processing Program( int argc, char argv[] ) { VAR{ int var1, var2, I; real result1, result2; …. } for ( I=0; I<argc; I++ ) { … } result1 = calcul1( var1, var2 ); result2 = calcul2( var1, &result1 ); … } Main Program example

  10. NC Program - Code examples • Predefined functions • Exception handling • Parallel processing U : utility functions : additional information, attributes  Feedrate(mm/min), FeedOnCont, Download C : command functions : direct executable functions  ProgramStop, Rapid, SpindleOnCW, CoolantON, ChipRemoval Try{ …. calcul1(…); }catch(ThrowID){ Switch(ThrowID){ case ThrowMemExc: ….; Abort; …. } } • TaskSpawn(task identifier, priority, function identifier) • TaskSpawn(task1, 50, FreeformFeatures); • TaskSpawn(task2, 50, 25DFeatures); 이때 priority가 같으면 round robin 방식에 의해 처리됨

  11. NC Program language – Data types • Data types • Simple data types : int, char, … • Structured data types : array, struct, enum • Extended data types : process data types ( Defined in Part 11~19 ) • Milling schema(Part 11)의 경우 • hole, hole_manuf_data 등 Part 11 (EXPRESS) Technology description ENTITY hole_manuf_data; retract_plane: plane; feed_on_retract: OPTIONAL speed_measure; cutting_depth: OPTIONAL length_measure; ….; END_ENTITY; ENTITY spot_drilling_manuf_data; subtype of ( hole_manuf_data );END_ENTITY; VAR { spot_drilling_manuf_data drilling_hole1; … } drilling_hole1 = spot_drilling_manuf_data( its_id = 'drilling_hole1', its_secplane = plane1 its_feature = hole1, its_tool = drill_12mm, its_technology = techno_drill2, its_machine_functions = mach_fkt_1, retract_plane = plane2); Spot_drilling_manuf_dataUsed as Data type

  12. Manufacturing features in Part 11(Milling_schema) Manufacturing_feature Two5D_manufacturing_feature Region Machining_feature Transition_feature Replicate_feature Region_surface_list Region_projection Planar_face Chamfer Pocket Fillet Open_pocket Closed_pocket Slot Step Hole Round_hole Countersunk_hole … Special_feature General_outside_profile Compound_feature

  13. Workingsteps defined in Part 11(Milling_schema) Workingstep Milling_workingstep Rapid_movement Freeform_workingstep Two5D_workingstep Hole_manuf_data Milling_type_manuf_data Spot_drilling_manuf_data Feature_manuf_data Generic_manuf_data Multistep_drilling_manuf_data Boring_manuf_data Planar_face_manuf_data Plane_milling Back_boring_manuf_data Profile_manuf_data Side_milling Threading_manuf_data Pocket_manuf_data Bottom_and_side_milling User_defined_hole_manuf_data Pocket_plunge_manuf_data Pocket_rough_manuf_data Pocket_bottom_finishing_manuf_data, … Step_manuf_data Slot_manuf_data Transition_manuf_data

  14. NC Program Example hole1 Project file PROG = "c:\demo\NcFile.prg" plan = "c:\demo\Examp1.dat" geo = "c:\demo\Examp1.stp" Main program DESCRIPTION { filename = "c:\demo\NcFile.prg"; …} CONST { setup=axis2_placement_3d(location=cpppt); cpppt=cartesian_point(coordinates=[-4.672,76.863,-88.668]); … } PROGRAM() // MAIN PROGRAM { set_placement(setup); set_secplane(withdrawalplane); exec plan.rough_drilling_hole1; exec plan.drilling_hole1; exec plan.pocket1_plunge; exec plan.pocket1_rough; } pocket1 NcFile.prg Feature- workingsteps hole1 Rough_drilling_hole1 Drilling_hole1 pocket1 Pocket1_plunge Workingstep sequencing Pocket1_rough

  15. NC Program Example (2) Technology description rough_drilling_hole1 = spot_drilling_manuf_data( …); drilling_hole1 = spot_drilling_manuf_data( its_id = 'drilling_hole1', its_secplane = plane1 its_feature = hole1, its_tool = drill_12mm, its_technology = techno_drill2, its_machine_functions = mach_fkt_1, retract_plane = plane2); pocket1_plunge = pocket_plunge_manuf_data( …); pocket1_rough = pocket_rough_manuf_data( …); hole1 = round_hole( feature_placement = placement4, its_workpiece = examp1_workpiece, depth = geo.#300, id = 'hole1', manufacturing_data = [rough_drilling_hole1,drilling_hole1], diameter = geo.#301, bottom_condition = through_bottom_condition()); pocket1 = closed_pocket( …); … drill_12mm = tool( ….; dimension = tool_dimension( diameter = 12.000; … ), … ); Examp1.dat ISO-10303-21; HEADER; … ENDSEC; DATA; #21 = CARTESIAN_POINT((0.0,0.0,0.0)); #25 = CARTESIAN_POINT((290.0,0.0,0.0)); #26 = CARTESIAN_POINT((290.0,70.0,0.0)); … … #300 = LENGTH_MEASURE(10.000); #301 = LENGTH_MEASURE(12.000); #302 = CARTESIAN_POINT((45.0,200.0,0.0)); ENDSEC; END-ISO-10303-21; Geometry description Examp1.stp

  16. ISO 14649의 문제점 • Main Program에서 대안 Workingstep, 대안 resource 표현 필요 • Workingstep sequencing이 CNC 기능으로 추가 필요 • FMS로의 확장을 위해 Part sequencing이 CNC 기능으로 추가 필요 CAD Workpiece Data CAM-System optional Shopfloor Programming NEW DATA INTERFACE (ISO 14649) e.g. automatic FMS Extension - path generation Intelligent Functions - tool selection - Part sequencing - technology support - retract strategies - Workingstep sequencing New Control New, Intelligent Control - machine capability requirement

  17. ( F1, F2 ) [ F1, F2 ] { F1, F2 } F2 F1 F1 F1 F2 F2 O & & & O & O O & O & & O & 대안 Workingstep 표현 (Main program 부분) • Workingstep의 Sequence/Order를 표현할 때 Feature Graph를 표현할 수 있도록 하는 방안에 대한 연구 • 예제 ) Feature Graph의 Textual Representation • ([(F1, F2, {([(F3), (F4)]), (F5)}), ({(F6), (F7)}, F8), ([(F9), (F10)], F11)]) F3 F4 F2 F1 F5 F8 F6 F7 F9 F11 F10

  18. & & Workingstep sequencing • Workingstep의 Sequence는 Main Program의 작성 시기에 결정되거나, 혹은 Main Program에 직접 Sequence를 결정하는 Logic을 추가해야 하는 문제점을 가짐 • 앞서 제안된 Feature Graph의 Textual Representation기법을 이용하여 CNC의 자체적 Intelligent Function이 Workingstep의 Sequence를 결정하도록 할 수 있음 제안 현재 Program() { …. EXEC f1; EXEC f2; EXEC f3; …. } Program() { …. EXEC f1; EXEC [ f2, f3 ]; …. } F1 F2 F2 F3 F1 F3

  19. Part A F1 F2 F3 NEW DATA INTERFACE (ISO 14649) & & O O Part B F6 F4 F5 Part sequencing (FMS에서의 사용 예) • ‘F1’ Workingstep을 수행한 뒤 다음 단계의 workingstep을 결정하기 위해 현재 M/C의 Tool setting상황, Part A의 Refixturing 필요 여부 등의 정보를 참조 각 Part의 Feature graph인식 두 Part의 Feature graph를 병합 최적 가공 순서의 On-line 결정 지능적 CNC

  20. Conclusion • New data interface model between CAM-CNC • ISO 6983  ISO 14649 • ISO 14649 gives • Higher flexibility to NC program • Easy manipulation of NC program with feature-based concept • Availability to use existing standards, STEP • ISO 14649 can be BETTER! • For FMS extension, ISO 14649 should express a feature graph, so that an intelligent CNC may control over several parts flexibly. • Future study • Are the ISO 14649-11 Information contents & semantics(ICS) enough for CNC to adopt more intelligent functions? • Is there a more flexible method to extend ISO 14649 to FMS or other applications? • Intelligent function == “compiler”?

More Related