KR100766310B1 - G 코드로부터 step-nc 파트 프로그램으로 변환하는 방법 및 기록매체 - Google Patents

G 코드로부터 step-nc 파트 프로그램으로 변환하는 방법 및 기록매체 Download PDF

Info

Publication number
KR100766310B1
KR100766310B1 KR1020060000935A KR20060000935A KR100766310B1 KR 100766310 B1 KR100766310 B1 KR 100766310B1 KR 1020060000935 A KR1020060000935 A KR 1020060000935A KR 20060000935 A KR20060000935 A KR 20060000935A KR 100766310 B1 KR100766310 B1 KR 100766310B1
Authority
KR
South Korea
Prior art keywords
information
machining
code
part program
tool
Prior art date
Application number
KR1020060000935A
Other languages
English (en)
Other versions
KR20070073246A (ko
Inventor
서석환
신승준
Original Assignee
포항공과대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포항공과대학교 산학협력단 filed Critical 포항공과대학교 산학협력단
Priority to KR1020060000935A priority Critical patent/KR100766310B1/ko
Priority to US12/160,089 priority patent/US8041445B2/en
Priority to PCT/KR2006/000329 priority patent/WO2007078025A1/en
Priority to DE112006003623T priority patent/DE112006003623T5/de
Priority to JP2008549401A priority patent/JP2009522682A/ja
Publication of KR20070073246A publication Critical patent/KR20070073246A/ko
Application granted granted Critical
Publication of KR100766310B1 publication Critical patent/KR100766310B1/ko

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04DROOF COVERINGS; SKY-LIGHTS; GUTTERS; ROOF-WORKING TOOLS
    • E04D13/00Special arrangements or devices in connection with roof coverings; Protection against birds; Roof drainage ; Sky-lights
    • E04D13/10Snow traps ; Removing snow from roofs; Snow melters
    • E04D13/106Snow removing devices
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • G05B19/40931Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine concerning programming of geometry
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35054STEP or PDES, standard for exchange of product data, form or surface data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35216Program, generate nc program, code from cad data
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Architecture (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Numerical Control (AREA)

Abstract

본 발명은 G 코드 형식의 파트 프로그램을 STEP-NC 언어 형식의 파트 프로그램으로 변환시키는 방법에 관한 것으로서, 더욱 상세하게는 G 코드 형식의 파트 프로그램과 공구 정보로부터 G 코드를 해석하는 과정을 거쳐 가공 공정 정보와 가공 형상 정보 및 가공 방식 정보 등으로 구성되는 STEP-NC 언어 형식의 파트 프로그램을 자동으로 생성해 줌으로써, 현장에서 주로 사용되는 G 코드 형식의 파트 프로그램을 번거로운 수정 없이도 STEP-NC 제어기에 용이하게 적용할 수 있는 방법에 관한 것이다.
본 발명에 따른 G 코드로부터 STEP-NC 파트 프로그램으로 변환하는 방법은, STEP-NC 파트 프로그램을 생성하는데 필요한 G 코드 파트 프로그램, 공구 정보 및 해당 G 코드를 해독할 수 있는 수치 제어기 정보를 입력받는 단계와; 입력받은 G 코드 파트 프로그램을 상기 수치 제어기 종류에 따라 분석하여 G 코드 블록 정보를 생성하는 G 코드 해석 단계와; 상기 G 코드 블록 정보를 이용하여 특징적 블록을 검출하고, 상기 특징적 블록을 경계로 G 코드 블록들을 그룹화하여, 전체 파트 프로그램을 셋업 실행단계(setup workingstep)와 다수의 가공 실행단계(machining workingstep)로 구분되도록 실행단계 단위로 분할하는 단계와; 상기 각 가공 실행단계 별로 그에 대응하는 G 코드 블록 정보를 이용하여, 공구 정보, 기계 기능 정보 및 가공 기술 정보를 생성하고, 상기 공구 정보, 기계 기능 정보 및 가공 기술 정보를 이용하여, 황삭 또는 정삭가공을 구분하는 가공 공정 정보를 생성하는 단계와, 소재영역으로부터 절삭되는 영역을 불리언 작업(boolean operation)으로 제거하여 해당 가공 실행단계의 가공 형상 정보를 생성하는 단계와, 공구의 진입전략, 퇴각 전략 또는 가공 전략을 포함하는 가공 방식 정보를 생성하는 단계를 포함하는 가공 실행단계 내부 정보를 생성하는 단계; 및 상기 각 가공 실행단계의 내부 정보가 모두 생성되면, 상기 가공 실행단계 들을 G 코드 파트 프로그램에서 수행한 가공 공정과 동일한 순서로 나열하여 STEP-NC 파트 프로그램을 생성하는 단계를 포함하여 구성되는 점을 특징으로 한다.
G 코드, STEP-NC, 파트 프로그램, 변환, ISO 14649, ISO 10303-AP238

Description

G 코드로부터 STEP-NC 파트 프로그램으로 변환하는 방법 및 기록매체{ Transformation method of G-code into STEP-NC part program and recording medium}
도 1은 본 발명에 따른 G 코드로부터 STEP-NC 파트 프로그램으로 변환하는 방법이 적용되는 가공 시스템의 구성을 나타내는 도면.
도 2는 본 발명의 일실시예에 따른 G 코드로부터 STEP-NC 파트 프로그램으로 변환하는 방법의 순서도.
도 3은 블록 정보의 데이터 구조를 나타내는 표.
도 4는 도 2에 도시된 실행단계 별 내부 정보 생성 단계를 상세히 나타낸 순서도.
도 5는 도 4에 도시된 가공 공정 정보 생성 단계를 상세히 나타낸 순서도.
도 6은 공정 종류별로 황/정삭을 판별하는 조건과 그 결과에 따른 세부 공정의 종류를 나타내는 표.
도 7은 도 4에 도시된 가공 형상 정보 생성 단계를 상세히 나타낸 순서도.
도 8은 가공 공정과 윤곽 구성 요소에 따라 가공 형상을 매핑하는 방법을 나타내는 표.
도 9는 STEP-NC 데이터 모델에 정의되어 있는 외경용 또는 내경용 공구의 절삭날각을 나타내는 도면.
도 10은 도 9에 도시된 절삭날각과 이송 방향에 따라 결정되는 절삭날을 나타내는 도면.
도 11은 홈 가공용 공구와 드릴 가공용 공구의 절삭날을 나타내는 도면.
도 12는 도 4에 도시된 가공 방식 정보 생성 단계를 상세히 나타낸 순서도.
<도면의 주요부분에 대한 부호의 설명>
10 : 입력 정보 11 : G 코드 파트 프로그램
12 : 공구 정보 13 : 제어기 정보
300 : G 코드 변환기 400 : STEP-NC 파트 프로그램
500 : STEP-NC 시스템 510 : STEP-NC 제어기
520 : STEP-NC 저장부
본 발명은 G 코드 형식의 파트 프로그램을 STEP-NC 언어 형식의 파트 프로그램으로 변환시키는 방법에 관한 것으로서, 더욱 상세하게는 G 코드 형식의 파트 프로그램과 공구 정보로부터 G 코드를 해석하는 과정을 거쳐 가공 공정 정보와 가공 형상 정보 및 가공 방식 정보 등으로 구성되는 STEP-NC 언어 형식의 파트 프로그램을 자동으로 생성해 줌으로써, 현장에서 주로 사용되는 G 코드 형식의 파트 프로그 램을 번거로운 수정 없이도 STEP-NC 제어기에 용이하게 적용할 수 있는 방법에 관한 것이다.
수치제어(Numerical Control;NC) 가공 기술은 1952년 MIT 대학에서 3축 수치제어 밀링 공작기계를 발명한 이래, 마이크로프로세서 기술을 비롯한 전자공학 기술의 발달과 함께 컴퓨터 지원 수치제어(Computer Numerical Control;CNC) 가공 기술로 진화하여 눈부신 발전을 거듭해 오고 있다.
최근 현장에서 가장 보편적으로 이용되는 CNC 가공 방식은 CAD/CAM (Compuer-Aided Design/Compuer-Aided Manufacturing) 소프트웨어를 통하여 가공품의 도면을 비롯한 형상 설계 정보로부터 파트 프로그램(part program)을 생성하고, 이를 수치제어기가 탑재된 공작기계(이하 CNC 공작기계)에 입력하여 가공하는 방식이다.
이와 같은 CNC 가공 방식에 있어서, 작업자는 하드 카피 도면 또는 CAD 시스템에서 작성된 완성품의 형상을 바탕으로 소재 형상, 제거 볼륨, 제거 순서, 사용 공구 및 가공 조건 등을 포함하는 공정 계획을 세우고, 이로부터 CAM 시스템이나 수작업을 이용하여 공구 및 CNC 공작기계의 동작을 지정하는 파트 프로그램을 소정의 코드 형태(G 코드)에 맞춰 생성하게 된다. CNC 제어기는 입력된 G 코드 형식의 파트 프로그램에 따라 공작기계의 동작을 제어하여 최초의 소재를 원하는 형상의 완성품으로 가공해 준다.
G 코드는 공작기계의 동작을 공구 또는 이송축의 위치 및 속도 등으로 표현한 일종의 기계어로서 가장 일반적인 파트 프로그램의 형태로 사용되고 있으나, 이 송축의 직선(G01)과 원(G02, G03) 운동만 지원하기 때문에 고품위 가공이 어렵고, 제품에 대한 기하학적 정보를 포함하지 않기 때문에 5축 가공이나 고속 가공에 부적합하다. 또한, 공정과 관련된 다양한 정보를 가지고 있지 않아 실제 가공을 통하여 최적화된 가공 조건이 CAD/CAM으로 다시 피드백되지 못하며, 공작기계 제조사 별로 상이한 G 코드 체계를 가지고 있기 때문에 이기종간의 데이터 교환이 어려워 이를 위해서 별도의 후처리(post-processing)를 필요로 하는 단점을 가지고 있다.
최근 들어, 이와 같은 단점을 해소하기 위한 새로운 프로그램 언어로서 STEP(STandard for the Exchange of Product Model data) 데이터 모델에 기반한 STEP-NC 언어가 대두되고 있다. STEP-NC 언어는 축 동작을 직접 지정하는 대신 축 동작을 생성할 수 있는 형상정보, 가공절차, 가공방법 및 공구정보 등의 공정 계획 정보를 정의하고 있어 고품위 가공이 가능하며, 가공정보가 CAD-CAM-CNC 프로세스 체인상에서 양방향으로 교환될 수 있다. 또한, CNC 제어기에 중립적인 국제 표준 언어이므로 호환을 위한 후처리가 불필요하다는 장점이 있다.
현재, 이러한 STEP-NC 언어로 작성된 파트 프로그램을 해독하여 직접 축 동작을 생성하는 STEP-NC 제어기는 거의 실용화 단계에 접어 들었는데, 향후 STEP-NC 제어기가 산업 현장에 새로이 적용되는 경우에 사용자가 이전에 G 코드로 작성해 놓은 수많은 프로그램들을 STEP-NC 언어로 변환해야 하는 번거로움에 처하게 되므로, G 코드와 STEP-NC 언어의 호환성 문제는 STEP-NC 제어기의 저변화에 걸림돌로 작용할 여지가 크다고 할 수 있다.
본 발명은 상기한 문제점을 해결하기 위한 것이다. 즉, 본 발명의 목적은 G 코드 형식의 파트 프로그램과 공구 정보로부터 STEP-NC 언어 형식의 파트 프로그램으로 자동 변환시켜주는 파트 프로그램 변환 방법을 제공함으로써, 산업 현장에서 주로 사용되고 있는 G 코드 형식의 파트 프로그램을 STEP-NC 제어기에 용이하게 적용할 수 있도록 하는 데에 있다.
상기의 목적을 달성하기 위한 기술적 사상으로서 본 발명은,
STEP-NC 파트 프로그램을 생성하는데 필요한 G 코드 파트 프로그램, 공구 정보 및 해당 G 코드를 해독할 수 있는 수치 제어기 정보를 입력받는 단계와;
입력받은 G 코드 파트 프로그램을 상기 수치 제어기 종류에 따라 분석하여 G 코드 블록 정보를 생성하는 G 코드 해석 단계와;
상기 G 코드 블록 정보를 이용하여 특징적 블록을 검출하고, 상기 특징적 블록을 경계로 G 코드 블록들을 그룹화하여, 전체 파트 프로그램을 셋업 실행단계(setup workingstep)와 다수의 가공 실행단계(machining workingstep)로 구분되도록 실행단계 단위로 분할하는 단계와;
상기 각 가공 실행단계 별로 그에 대응하는 G 코드 블록 정보를 이용하여, 공구 정보, 기계 기능 정보 및 가공 기술 정보를 생성하고, 상기 공구 정보, 기계 기능 정보 및 가공 기술 정보를 이용하여, 황삭 또는 정삭가공을 구분하는 가공 공정 정보를 생성하는 단계와, 소재영역으로부터 절삭되는 영역을 불리언 작업(boolean operation)으로 제거하여 해당 가공 실행단계의 가공 형상 정보를 생성하는 단계와, 공구의 진입전략, 퇴각 전략 또는 가공 전략을 포함하는 가공 방식 정보를 생성하는 단계를 포함하는 가공 실행단계 내부 정보를 생성하는 단계; 및
상기 각 가공 실행단계의 내부 정보가 모두 생성되면, 상기 가공 실행단계 들을 G 코드 파트 프로그램에서 수행한 가공 공정과 동일한 순서로 나열하여 STEP-NC 파트 프로그램을 생성하는 단계;를 포함하여 구성되는 것을 특징으로 하는 G 코드로부터 STEP-NC 파트 프로그램으로 변환하는 방법을 제공한다.
이하, 본 발명의 바람직한 실시예를 첨부 도면에 의거하여 상세히 설명하기로 한다.
도 1은 본 발명에 따른 G 코드로부터 STEP-NC 파트 프로그램으로 변환하는 방법이 적용되는 가공 시스템의 구성을 나타내는 도면이다.
G 코드 변환기(300)는 본 발명에 따른 G 코드로부터 STEP-NC 파트 프로그램으로 변환하는 방법에 따라 G 코드를 변환하는 장치로서, 도 1에 도시된 바와 같이, CAM이나 사용자로부터 G 코드 파트 프로그램을 비롯한 각종 정보(10)를 입력 받고, 입력 받은 정보(10)를 처리하여 STEP-NC 언어 형식의 파트 프로그램(400)을 출력한다.
G 코드 변환기(300)에 입력되는 정보(10)는 G 코드 파트 프로그램(11), 공구 정보(12), 수치 제어기 정보(13), 최종 형상 정보(14) 및 가공 소재 정보(15)로 구 성된다. 여기서, G 코드 파트 프로그램(11), 공구 정보(12) 및 수치 제어기 정보(13)는 STEP-NC 파트 프로그램(400)을 생성하기 위한 필수적인 입력 정보이며, 최종 형상 정보(14) 및 가공 소재 정보(15)는 선택적으로 입력할 수 있는 부가 정보이다.
G 코드 파트 프로그램(11)은 STEP-NC 파트 프로그램(400)으로 변환되어지는 G 코드 형식의 파트 프로그램으로서, 변환 작업시 오류가 발생하지 않도록 불필요한 공구나 공구 경로가 포함되어 있지 않은 정확한 프로그램으로 작성되는 것이 바람직하다.
공구 정보(12)는 G 코드 파트 프로그램에 명시된 모든 가공 공구와 관련된 정보로서 공구 종류와 공구 홀더 및 인서트 규격에 대한 정보를 지니고 있다. 공구 종류는 외경 황삭·정삭용, 내경 황삭·정삭용, 홈 가공용, 드릴 가공용, 쓰레딩 가공 및 널링 가공용 등으로 구분되는데, 실제로 선반 가공에 사용되는 공구의 종류는 다양하며 제작 회사마다 각기 다른 규격을 가지고 있으므로, 제작 회사에 대한 정보도 포함하는 것이 좋다. 또한, 공구 홀더 규격은 공구 홀더의 종류 및 기하정보(예:PCLNR2525-M12)로 구성되고, 인서트 규격은 인서트의 종류 및 기하정보(예: CNMG12040)로 구성된다.
수치 제어기 정보(13)는 제어기 제작 회사, 제어기 종류, 선반 혹은 밀링 가공용 여부, 제어축수 등으로 구성되는 정보로서, G 코드 중 공통된 코드 외에 제어기 제작 회사에 따른 고유 코드를 정확하게 해석하기 위한 정보이다.
최종 형상 정보(14)는 최종 형상에 대한 CAD 파일로서 사용자의 편의를 위해 제공되는 부가 정보이며, 굳이 입력 정보에 포함되어 입력되지 않더라도 본 실시예에 따른 G 코드로부터 STEP-NC 파트 프로그램으로 변환하는 방법을 통하여 생성될 수 있다.
가공 소재 정보(15)는 가공 소재의 기하학적 종류, 크기 및 재질에 대한 정보로 구성되며, 후술하여 설명할 가공 형상 정보를 생성하는데 도움이 될 수 있는 부가 정보이다.
한편, G 코드 변환기(300)에서 출력되는 STEP-NC 파트 프로그램(400)의 형식은 ISO 10303 Part21(Clear Text Encoding File) 규격을 따르는데, 순차적으로 실행되는 가공 공정별로 구분되는 실행단계들로 구성되며, 각 실행단계에는 가공 공정(machining operation), 가공 형상(manufacturing feature) 및 기하 정보(geometry), 가공 방식(machining strategy), 가공 기술(machining technology), 기계 기능(machine function) 및 가공 공구(machining tool) 정보가 포함된다. 또한, STEP-NC 파트 프로그램(400)의 데이터 모델은 기본적으로 ISO 14649를 따르는데, ISO 14649와 ISO 10303-AP238 데이터 모델은 구조가 거의 유사하고 표현 방식에만 차이가 있으므로, ISO 10303-AP238 데이터 모델도 포함하도록 하는 것이 좋다.
이와 같은 STEP-NC 파트 프로그램(400)은 G 코드 변환기(300)로부터 LAN 또는 인터넷 등의 네트워크망이나 RS232와 같은 통신 케이블을 통하여 STEP-NC 제어기(510)와 STEP-NC 저장부(520)로 구성된 STEP-NC 시스템(500)으로 전송된다.
STEP-NC 제어기(510)는 입력된 STEP-NC 파트 프로그램(400)을 해석하여 공구 경로를 생성하고, 이에 따라 NC의 동작을 제어함으로써 가공을 수행한다.
STEP-NC 저장부(520)는 STEP-NC 제어기(510)로 전송되거나 STEP-NC 제어기(510)에서 자체적으로 생성한 STEP-NC 파트 프로그램을 저장하는 데이터베이스로서, STEP-NC 제어기(510)에서 필요한 파트 프로그램을 독출하여 가공에 이용되게 할 수 있다.
상술한 바와 같이, 본 실시예에서는 G 코드 변환기(300)가 STEP-NC 시스템(500)과 별도로 구성되어 있으나, G 코드 변환기(300)를 STEP-NC 시스템(500) 내부에 통합하여 구성하거나, STEP-NC 시스템(500)을 지원하는 오프라인 CAM 소프트웨어의 내부에 통합하여 구성할 수도 있다.
이하, 도 2를 참조하여 본 발명의 일실시예에 따른 G 코드로부터 STEP-NC 파트 프로그램으로 변환하는 방법을 설명하기로 한다. 여기서, 구체적인 변환 절차는 2축 선반에 적용되는 경우를 기준으로 하여 설명하기로 한다.
STEP-NC 언어의 데이터 구조는 CNC 제어기를 통하여 하나의 완성된 제품을 가공하기 위한 가장 상위의 프로젝트(project) 엔티티와 그 하위에 공작물의 위치가 일정하게 유지되는 하나의 셋업에 대해 가공을 집행하는 워크플랜(workplan) 엔티티들로 구성되어 있다. 또한 각 워크플랜 내부에는 객체 지향적 개념의 실행단계(workingstep)들이 작업단위로 정의되며, 실행단계 내부에는 해당 실행단계의 수행을 통해 가공되어야 할 형상이 정의되고, 이를 가공하기 위해 필요한 모든 공정 정보가 포함된다. STEP-NC 파트 프로그램은 이러한 실행단계가 다수 구성되어 있으며 각각의 실행단계를 제어기의 능력에 따라 순차적으로 또는 병렬적으로 집행하게 된다. 따라서 G 코드로부터 STEP-NC 파트 프로그램으로 변환하는 방법은 G 코드 프로그램을 해석하여 STEP-NC 파트 프로그램 포맷으로 순차적으로 변환시키는 단계를 포함하고 있다.
먼저, G 코드 파트 프로그램, 공구 정보 및 수치 제어기 정보 등의 정보를 입력 받는다(S10).
이후, 입력 받은 G 코드 파트 프로그램을 수치 제어기 종류에 따라 해석하여 G 코드 블록 정보를 생성한다(S20). G 코드 파트 프로그램은 수치 제어기가 한번에 처리하는 구문 단위인 블록으로 구성되며, 블록 내의 G 코드 외에 T, S, F 및 M 코드 등을 해석하여 도 3과 같은 데이터 구조를 가지는 블록 정보를 생성할 수 있다.
도 3에 도시된 바와 같이, 블록 정보의 데이터 구조는 G 코드 값, 이송 끝점(end point), 이송 시작점(start point), 이송 반지름(radius), 이송 속도(feedrate), 주축 회전수(spindle speed), 주축 최고 회전수(maximum spindle speed), 공구 번호(tool number), 공구 보정 종류(compensation type), 공구 보정치(compensation value), 이송 방향(trajectory direction) 및 이송 길이(trajectory length)로 구성된다. 여기서, 이송 방향은 이송 시작점으로부터 이송 끝점까지의 벡터 방향이며, 이송 길이는 이 벡터의 길이에 해당한다. 여기서, G 코드 값에는 G 코드 이외에 블록 내의 T, S, F 및 M 코드의 값도 포함하도록 적절히 코드화하여 저장하는 것이 좋다.
블록 정보의 예를 들면, G 코드 파트 프로그램이 N01 G50 S420; N02 G97 S205 T0100 M01; N03 G00 X85.0 Z180.0; N04 G01 X85.0 Z0.0 F0.2이고 제어기의 종류가 FANUC 0 계열일 때, N04 블록에 해당 하는 블록 정보는 G 코드 = 01, 이송 끝점 = X85.0 Z0.0, 이송 시작점 = X85.0 Z180.0, 이송 반지름 = 0, 이송 속도 = 0.2, 주축 회전수 = 205, 주축 최고 회전수 = 420, 공구 번호 = 01, 공구 보정 종류 = off, 공구 보정치 = X0.0 Z0.0, 이송 방향 = X0.0, Z-180.0, 이송 길이 = 180이다.
상기 블록 정보 생성 단계(S20)가 종료되면, 생성된 블록들을 그룹화하여 STEP-NC 데이터 모델의 기본 작업단위인 실행단계 정보를 생성하는데, 사용되는 공구, 주축 회전수, 이송 속도, 가공 방향 또는 가공 영역에 변화가 발생하는 특징적 블록을 경계로 하여 전체 파트 프로그램을 실행단계 단위로 분할하게 된다(S50).
이러한 특징적 블록에 의해 나누어진 각각의 실행단계는 셋업 실행단계(setup workingstep)와 가공 실행단계(machining workingstep)로 분류될 수 있다. 셋업 실행단계는 좌표계 설정, 절대·상대 지령, 분당·회전당 이송, 주속 일정제어 또는 일정제어 무시, 초기 원점 세팅, 주축 속도, 절삭유 유무 등에 대한 설정 정보로만 구성되어, 가공 경로에 대한 추적이 불필요하다. 이 셋업 실행단계로부터 후술하여 설명할 가공 기술 정보나 기계 기능 정보 등을 얻을 수 있다. 셋업 실행단계에서 생성된 정보들은 이어서 나오는 가공 실행단계들에 영향을 미치게 되어 가공 기술 정보나 기계 기능 정보의 값으로 설정되며, 다른 셋업 실행단계가 나타나면 그 이후의 가공 실행단계부터는 새로 나타난 셋업 실행단계의 정보로 재설정된다. 반면, 가공 실행단계는 공구 이송에 의한 가공을 지령하는 블록의 그룹으로 서 실제로 가공을 집행하는 단계이며, 각각이 하나의 가공 공정으로 정의될 수 있는 실행단계다. 가공 실행단계에 포함되는 블록들은 G코드의 G00, G01, G02 및 G03 등의 코드를 포함하여 급속이송 또는 절삭이송으로 공구를 이송시키게 된다.
여기서, 파트 프로그램의 전체 블록들을 실행단계로 분할하는 방법에 대하여 보다 상세히 설명하면 다음과 같다.
G 코드 파트 프로그램 상에서 좌표계 설정, 절대·상대 지령, 분당·회전당 이송, 주속 일정제어 또는 일정제어 무시, 초기 원점 세팅, 주축 속도, 절삭유 유무 등에 대한 설정 정보만을 포함하고 있는 블록들을 찾아내어 이 블록들을 셋업 실행단계로 분류하고, 나머지 블록들 중에서 가공 공구가 바뀌는 특징적 블록을 경계로 하여, 블록들이 이 경계에 의해 나누어지는 1차 분할을 수행한다. 가공 공구를 기준으로 1차 분할하는 이유는 작업자들이 일반적으로 가공시 공구 교환의 최소화를 고려하여 파트 프로그램을 작성하기 때문에 가장 큰 범주의 블록 그룹으로 묶을 수 있으며, 공구 종류에 따라 가공하는 방법이 다르기 때문에 공구에 따른 가공 방법의 해석 또한 달라지기 때문이다. 1차 분할된 각 블록은 이송 속도나 주축 회전수가 변하게 되는 특징적 블록을 경계로 다시 2차 분할된다. 이송 속도나 주축 회전수의 변화는 가공되는 표면 품질의 변화를 의미하므로 같은 공정 내에서는 이들의 변화를 주지 않는 것이 일반적이다. 1차 분할된 블록 그룹 내에서 같은 공구를 사용하는 블록들이더라도 이송 속도나 주축 회전수가 변화하게 되는 블록들은 다른 가공을 수행할 것이라는 단서를 제공하기 때문에, 이송 속도나 주축 회전수가 변하게 되는 특징적 블록들은 두 번째 분할을 위한 경계가 된다. 2차 분할된 각 블 록은 다시 가공방향이나 가공영역이 바뀌는 특징적 블록을 경계로 3차 분할된다. 같은 공구로 같은 이송 속도나 주축 회전수로 가공되더라도 가공 방향(예를 들어 z축에 수직으로 가공하는 단면 가공과 z축과 평행하게 가공하는 외경 가공)이 다를 수 있다. 또한 위의 조건이 같더라도 가공 영역이 다르면 다른 실행단계임을 의미하므로 가공 영역이 바뀌는 특징적 블록들을 찾아내는 작업을 수행한다. 이러한 과정에 의하여 최종적으로 분할된 블록 그룹 각각이 작업의 기본단위인 실행단계로 설정되며 특히 가공 실행단계에 대하여 가공 공정을 정의하게 된다. 여기서, 만일 G 코드 파트 프로그램 상에 고정 사이클(cycle) 코드가 존재하는 경우, 사이클 코드를 해석하는 별도의 과정을 통하여 실행단계를 생성하게 된다.
이와 같이 실행단계 분할 단계(S50)가 완료되면 각 가공 실행단계 별로 그에 대응하는 G 코드 블록 정보를 이용하여, 공구 정보, 가공 기술 정보, 가공 공정 정보, 가공 형상 정보 및 가공 방식 정보로 구성되는 가공 실행단계 내부 정보를 생성한다(S100).
상기 단계(S100)를 모든 가공 실행단계에 대하여 순차적으로 수행하여 가공 실행단계의 모든 정보가 생성되고 G 코드 파트 프로그램의 모든 블록에 대한 해석이 끝나게 되면, 상기 가공 실행단계들을 G 코드 파트 프로그램에서 수행한 가공 공정과 같은 순차로 나열한다. 나열된 실행단계를 하나의 워크플랜 엔티티에 순차적으로 포함시키며, 이를 최종적으로 프로젝트 엔티티에 포함시킴으로써 완전한 STEP-NC 파트 프로그램을 작성하게 된다(S800).
이후, 상기 단계(S800)에서 생성된 STEP-NC 파트 프로그램을 사용자에게 보 여 줌으로써 사용자에게 검증 및 확인을 요청하는데(S900), 바람직하게는 가공 공정과 이에 따른 가공 형상 등의 정보를 GUI(Graphic User Interface)를 통해 시각적으로 확인하면서 수정할 수 있도록 하는 것이 좋다.
이하, 도 4를 참조하여 도 2에 도시된 가공 실행단계 별 내부 정보 생성 단계(S100)를 보다 상세히 살펴보기로 한다.
먼저, 해당하는 가공 실행단계에 사용된 공구에 대하여 입력 정보 중의 공구 정보를 이용하여 STEP-NC 데이터 모델에 정의된 공구 정보를 생성하고(S200), 해당 가공 실행단계의 G 코드 블록 정보로부터 M-code를 해석하여 이와 관련된 기계 기능 정보를 생성한다(S300). 또한, G 코드 블록 정보를 참조하여 이송 속도, 주축 회전수 및 주축 최고 회전수 등의 정보를 포함하는 가공 기술 정보(S400)를 생성한다. 상기의 각 단계들은 순차적일 필요가 없으며, 통상적으로 G 코드 블록에 기재된 순서에 의해 각각의 정보를 생성한다.
이후, 상기 S200 내지 S400 단계에서 생성된 공구 정보, 기계 기능 정보 및 가공 기술 정보를 참조하여, 공구 종류 및 가공 방향에 따라서 단면, 외경, 홈, 드릴 및 내경 공정 등으로 분류되고 다시 황삭 가공의 유무, 주축 회전수 및 이송 속도 정보 등에 따라 황삭 가공 및 정삭 가공으로 세분화되는 가공 공정 정보를 생성한다(S500).
상기 가공 공정 정보 생성 단계(S500)가 완료되면, G 코드 블록 정보, 가공 공정 정보의 가공 공정 종류, 공구 정보의 공구 종류 및 공구 형상을 참조하여 가 공 실행단계의 보간 이송에 의해 제거되는 영역과 가공 윤곽(machining profile)을 계산하고 이로부터 산출되는 기하 정보를 바탕으로 가공 형상 정보를 생성한다(S600). 또한, 가공 공정 정보의 가공 공정 종류, 공구 정보의 공구 종류를 참조하고 G 코드 블록 정보로부터 구해지는 보간 이송 벡터 및 급속 이송 벡터를 이용하여, 공구의 진입 및 퇴각 전략(approach/retract strategy)과 가공 방법에 관한 가공 전략(machining strategy)으로 구성되는 가공 방식 정보를 생성함으로써(S700), 단위 가공 실행단계의 내부 정보 생성 단계(S100)를 종료하게 된다.
이하, 도 5를 참조하여 도 4에 도시된 가공 공정 정보 생성 단계를 보다 상세히 살펴보기로 한다.
먼저, G 코드 해석 단계와 실행단계 분할 단계에서 생성된 가공 실행단계와 이에 대응하는 블록들의 정보를 가져오고(S510), 해당 실행단계의 공구 종류를 판단한다(S520).
상기 단계(S520)에서 공구 종류가 외경용 공구인 경우, 우선 가공 방향이 X축과 평행인지를 판단한다(S530). 여기서, 가공 방향이 X축에 평행하지 않으면 해당 공정 종류를 외경 가공으로 인식하고, 반대의 경우 단면 가공으로 인식한다.
상기 공구 종류 판단 단계(S520)에서 공구 종류가 홈 가공용 공구인 경우, 가공 경로를 검토하여 해당 가공이 가공 소재를 절단하는지 여부를 판단한다(S540). 여기서, 홈 가공용 공구의 보간 이송 끝점의 X값을 검토하여 그 값이 0보다 작은 경우를 가공 소재를 절단하는 것으로 판단하게 된다. 상기 단계(S540)에서 가공 소재를 절단하는 것으로 판단되는 경우 해당 공정 종류를 단면 가공으로 인식하고, 반대의 경우 홈 가공으로 인식한다(S550).
상기 공구 종류 판단 단계(S520)에서 공구 종류가 내경, 드릴 가공, 쓰레딩 및 널링용 공구인 경우, 해당 공정 종류를 각각 내경, 드릴 가공, 쓰레딩 및 널링 가공으로 인식한다.
이와 같이, 공구 종류에 따라서 공정 종류를 인식한 후 그에 대한 공정 정보를 생성한다(S550).
이후, 공정 종류에 따라 황삭 또는 정삭으로 구분되는 절삭 방법을 판별하고(S560), 해당 실행단계의 공정 종류에 따라 세부 공정 정보를 생성하고 그와 관련된 속성치를 생성하게 된다(S570). 상기 S560, S570 단계에서 공정 종류별로 황/정삭을 판별하는 조건과 그 결과에 따라 세부 공정 종류를 결정하는 방법을 도 6을 참조하여 설명하면 다음과 같다.
공정 종류가 외경 가공, 단면 가공 또는 내경 가공인 경우, 같은 가공 영역에 대하여 동일한 가공 종류의 황삭 작업이 이전 실행단계에 이미 존재하거나, 해당 실행단계에서 정삭용 공구가 사용되거나 황삭 작업에 비해 높은 회전 주축수와 낮은 이송속도가 설정되어 있으면 정삭 가공으로 판단하고, 그 반대이면 황삭 가공으로 판단한다.
한편, 공정 종류가 홈 가공인 경우 해당 실행단계에서 같은 가공 영역에 대하여 홈 황삭 작업이 이미 존재하거나, 해당 실행단계에서 황삭 작업에 비해 높은 회전 주축수와 낮은 이송속도가 설정되어 있으면 정삭 가공으로 판단하고, 그 반대 이면 황삭 가공으로 판단한다.
여기서, 이전 실행단계에 의해 생성된 가공 형상의 기하 정보와 현재 가공 실행단계 내의 블록 정보에 포함된 이송 시작점, 이송 끝점 정보로부터 구해지는 기하 정보를 서로 비교하여, 두 기하 정보가 거의 일치하는 경우에 같은 가공 영역에 대한 동일 가공이 존재하는 것으로 판단한다.
세부 공정은 가공 종류가 외경, 단면, 홈 및 내경 가공인 경우에는 상기 황/정삭 판별 단계(S560)에서 판별된 절삭 방법이 황삭인지 또는 정삭인지에 따라, 각각 외경 황삭(contouring rough), 외경 정삭(contouring finish), 홈 황삭(grooving rough), 홈 정삭(grooving finish), 내경 황삭(contouring rough) 및 내경 정삭(contouring finish) 가공 공정으로 인식된다. 또한, 가공 종류가 드릴 가공인 경우에는 드릴 가공을 위한 사전 작업으로 소재에 작은 홈을 내기 위한 센터 드릴용 공구가 사용되면 센터 드릴(center drilling) 가공 공정으로, 일반 드릴 가공용 공구가 사용되면 드릴(drilling) 가공 공정으로 인식된다.
이와 같이 인식된 세부 공정은 각 공정마다 내부 속성치가 다르게 정의되는데, 상기 세부 공정 정보 생성 단계(S570)에서는 해당 실행단계 내의 블록 정보들을 참조하여 인식된 세부 공정의 내부 속성치를 설정하게 된다.
이하, 도 7을 참조하여 도 4에 도시된 가공 형상 정보 생성 단계를 보다 상세히 살펴보기로 한다.
먼저, 가공 소재의 형상 정보로부터 가공될 영역을 설정한다(S610). 최초의 가공 실행단계의 경우에는 전술하여 설명한 입력 정보(10) 중에서 가공 소재의 형상 정보(15)가 입력되어 있으면 가공 소재 정보에 따라 가공 소재 영역을 생성하고, 가공 소재 형상 정보(15)가 없으면 G 코드 파트 프로그램의 첫번째 급속이송의 시작점을 고려하여 적절한 가공 소재 영역을 설정한다. 이후의 가공 실행단계에 대한 가공 소재 영역은 이전 가공 실행단계에 의해 수행되었던 가공에 의해 제거된 후 남아 있는 가공 소재 영역이 사용된다.
이후, 공구 종류와 보간 이송의 이송 방향을 이용하여 절삭날(cutting edge)를 결정한다(S620). 절삭날은 가공시에 가공 소재와 접촉하는 공구날을 의미하는데, 공구 종류별로 절삭날을 구하는 방법에 대해서는 후술하여 상세히 설명하기로 한다.
상기 단계(S620)에서 절삭날 산출이 완료되면 보간 이송에 따라 공구의 절삭날에 의해 가공 소재가 제거되는 가공 영역을 구하고(S630), 가공 소재 영역으로부터 가공 영역을 차 불리언 작업(substract boolean operation)을 통해 제거하여 최종적으로 남게 되는 가공소재의 윤곽(machining profile)을 구한다(S640). 여기서, 윤곽 정보는 윤곽을 구성하는 선들의 종류, 위치, 방향 등의 정보로 구성된다.
이후, 상기 단계(S640)에서 구한 가공 소재의 윤곽 정보를 이용하여 STEP-NC 데이터 모델에 정의되어 있는 가공 형상(manufacturing feature) 정보를 생성하는데, 도 8에서와 같이 가공 공정, 윤곽을 구성하는 선분 혹은 원호의 개수, 윤곽 구성 요소의 종류 및 윤곽 구성 요소의 기울기에 의해 가공 형상을 매핑하게 된다(S650). 즉, 가공 공정이 단면, 외경, 또는 내경일 경우, 윤곽 구성 요소의 개수, 선분이나 원호의 종류 및 기울기에 따라 STEP-NC 데이터 모델에 정의된 서큘러 페이스(circular face), 아우터 다이어미터(outer diamter), 리볼브드 라운드(revolved round), 리볼브드 플랫(revolved flat), 제너럴 리볼루션(general revolution)으로 매핑되고, 홈 가공의 경우는 그루브(groove), 드릴 가공의 경우는 라운드 홀(round hole)로 매핑된다. 여기서, 윤곽 구성 요소는 가공 후의 소재 윤곽 전체에서 가공 전의 소재 윤곽 성분을 제외한 구성 요소로서, 가공에 의해 새로 생성되는 윤곽을 이루는 구성 요소를 의미한다. 예를 들어, 하나의 실행단계가 가공공정 정보 생성 단계(S500)에서 외경 황삭 공정으로 인식되었고, 가공영역에 의한 가공 윤곽정보 생성 단계(S640)에서 윤곽 구성요소 개수가 3개, 윤곽 구성요소 종류가 모두 선분으로 인식되었다면, 도 8에서와 같이 제너럴 리볼루션 (general revolution)으로 인식된다.
가공윤곽에 의한 가공형상 매핑 단계(S650)에서 저장되는 정보로는 매핑된 형상의 종류와 형상의 하위 정보인 윤곽을 이루는 기하형상에 대한 정보 즉, 윤곽의 원점좌표, 윤곽을 이루는 선분들의 종류인 직선, 직선들에 대한 점들의 위치좌표 및 방향 등이 있다.
이하, 도 9 내지 도 11을 참조하여 가공시의 절삭날을 구하는 방법에 대하여 설명하기로 한다.
도 9는 STEP-NC 데이터 모델에 정의되어 있는 외경용 또는 내경용 공구의 절삭날각을 나타내는 도면이고, 도 10은 도 9에 도시된 절삭날각과 이송 방향에 따라 결정되는 절삭날을 나타내는 도면이며, 도 11은 홈 가공용 공구와 드릴 가공용 공구의 절삭날을 나타내는 도면이다.
도 9에서와 같이, 외경용 혹은 내경용 공구(600)의 인서트(610) 중에서 측면에 형성된 날을 측면 절삭날(side cutting edge; 611)라고 하며, 측면 절삭날이 Z 축과 이루는 각의 절대값을 측면 절삭날각(side cutting edge angle; θs)이라고 한다. 또한, 인서트(610) 중에서 하면에 형성된 날을 하면 절삭날(end cutting edge; 612)이라고 하며, 하면 절삭날이 Z 축과 이루는 각의 절대값을 하면 절삭날각(end cutting edge angle; θs)이라고 한다.
가공시의 절삭날은 이송 방향과 절삭날각에 의해 결정되는데, 절삭날은 도 10의 (a)에서와 같이 이송방향이 (180°- 측면 절삭날각)과 (180°+ 하면 절삭날각) 사이에 있으면 측면 절삭날, 도 10의 (b)에서와 같이 (90°+ 측면 절삭날각)과 (360°+ 하면 절삭날각) 사이에 있으면 하면 절삭날, 도 10의 (c)에서와 같이 (180°+ 하면 절삭날각)과 (90°+ 측면 절삭날각) 사이에 있으면 하면 절삭날과 측면 절삭날의 조합으로 결정된다.
홈 가공용 공구와 드릴 가공용 공구의 절삭날은, 도 11에서와 같이, 공구의 팁(tip) 부분에 해당한다.
이하, 도 12를 참조하여 도 4에 도시된 가공 방식 정보 생성 단계(S700)의 세부 절차를 설명하기로 한다.
먼저, 해당하는 가공 실행단계와 그에 대응하는 블록들의 정보를 가져온다(S710).
이후, 가공 실행단계와 블록 정보를 참조하여 해당 실행단계의 진입 전략(approach strategy) 및 퇴각 전략(retract strategy)에 대한 정보를 생성한다(S720).
여기서, 가공 실행단계의 진입 전략 정보는 해당 실행단계 내에서 첫 번째 보간 이송 이전에 급속 이송 블록이 존재할 때 생성된다. STEP-NC 데이터 모델에서 정의한 접근 방식은 급속 이송 블록들에 의해 산출되는 이송 벡터의 유형에 따라 구분되는데, 이송 벡터가 축에 수직이면 플런지 공구축(plunge tool axis), 기울기가 존재하면 선형 플런지(plunge ramp), 원호이면 나선형 플런지(plunge helix), 그리고 지그재그 형태이면 지그재그형 플런지(plunge zigzag)로 인식된다.
또한, 가공 실행단계의 퇴각 전략은 해당 실행단계 내에서 마지막 보간 이송 이후에 급속 이송 블록이 존재할 때 생성되며, 그 종류와 인식 방법은 진입 전략의 경우와 동일하다.
상기 진입 및 퇴각 전략 생성 단계(S720)가 완료되면, 해당 실행단계에서 사용된 공구의 종류를 판단한다(S730).
상기 단계(S730)에서 사용 공구가 내경용 또는 외경용 공구인 것으로 판단되면, 급속 이송과 보간 이송의 조합에 따른 가공 방향을 고려하여 가공 전략을 수립한다(S740). 가공 전략은 가공이 양방향으로 수행되는 경우 양방향 가공 방식(bidirectional turning)으로, 어느 한 방향으로만 수행되는 경우 단방향 가공 방 식(unidirectional turning)으로, 최종 형상의 윤곽을 따라 보간 이송만이 수행되는 경우 모방 절삭 가공방식(contour turning)으로 수립된다. 여기서, 양방향 가공 방식은 중립 형태의 공구를 사용하는 경우에만 가능한 방식이며, 모방 절삭 가공방식은 보간 이송만이 연속적으로 배열되어 최종 형상의 윤곽을 따라 공구를 보간 이송하는 경우에 해당한다.
상기 가공 전략 수립 단계(S740)가 완료되면, 해당하는 가공 방식 정보를 생성하고 그와 관련된 속성치를 설정함으로써(S750), 가공 방식 정보 생성 단계(S700)를 완료한다. 이때, 관련 속성치는 가공 전략의 종류마다 다르며, 가공 실행단계 내의 블록 정보들로부터 얻어지게 된다.
한편, 공구 종류 판단 단계(S730)에서 공구 종류가 홈 가공용 공구인 경우, 가공 방식을 자동적으로 다단계 홈 가공 방식(multistep grooving strategy)으로 인식하여, 상기 가공 방식 정보 생성 단계(S750)를 수행하게 된다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것은 아니며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백하다 할 것이다.
이상에서 설명한 바와 같이, 본 발명에 따른 G 코드로부터 STEP-NC 파트 프 로그램으로 변환하는 방법은 산업 현장에서 주로 사용되고 있는 G 코드 형식의 파트 프로그램을 별도의 수작업 없이 STEP-NC 제어기에 용이하게 적용할 수 있도록 해줌으로써, STEP-NC를 도입하는 데에 따른 인력 소모와 시간을 대폭 절감할 수 있는 효과가 있다.
또한, STEP-NC 제어기를 통한 새로운 프로그램 방식에 익숙하지 않아 어려움을 겪는 사용자에게 이전의 방식대로 프로그램을 작성하여 STEP-NC 제어기를 가동할 수 있는 방법을 제공함으로써, STEP-NC 제어기의 저변화에 기여할 수 있는 효과도 있다.

Claims (7)

  1. G 코드 형식의 파트 프로그램을 STEP-NC 형식의 파트 프로그램으로 변환시키는 방법에 있어서,
    STEP-NC 파트 프로그램을 생성하는데 필요한 G 코드 파트 프로그램, 공구 정보 및 해당 G 코드를 해독할 수 있는 수치 제어기 정보를 입력받는 단계와;
    입력받은 G 코드 파트 프로그램을 상기 수치 제어기 종류에 따라 분석하여 G 코드 블록 정보를 생성하는 G 코드 해석 단계와;
    상기 G 코드 블록 정보를 이용하여 특징적 블록을 검출하고, 상기 특징적 블록을 경계로 G 코드 블록들을 그룹화하여, 전체 파트 프로그램을 셋업 실행단계(setup workingstep)와 다수의 가공 실행단계(machining workingstep)로 구분되도록 실행단계 단위로 분할하는 단계와;
    상기 각 가공 실행단계 별로 그에 대응하는 G 코드 블록 정보를 이용하여, 공구 정보, 기계 기능 정보 및 가공 기술 정보를 생성하고, 상기 공구 정보, 기계 기능 정보 및 가공 기술 정보를 이용하여, 황삭 또는 정삭가공을 구분하는 가공 공정 정보를 생성하는 단계와, 소재영역으로부터 절삭되는 영역을 불리언 작업(boolean operation)으로 제거하여 해당 가공 실행단계의 가공 형상 정보를 생성하는 단계와, 공구의 진입전략, 퇴각 전략 또는 가공 전략을 포함하는 가공 방식 정보를 생성하는 단계를 포함하는 가공 실행단계 내부 정보를 생성하는 단계; 및
    상기 각 가공 실행단계의 내부 정보가 모두 생성되면, 상기 가공 실행단계 들을 G 코드 파트 프로그램에서 수행한 가공 공정과 동일한 순서로 나열하여 STEP-NC 파트 프로그램을 생성하는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 G 코드로부터 STEP-NC 파트 프로그램으로 변환하는 방법.
  2. 제 1항에 있어서, 상기 실행단계 분할 단계는,
    G 코드 파트 프로그램상에서 초기 원점, 주축, 절삭유 유무를 비롯한 설정 정보만을 포함하고 있는 블록들을 검출하여 해당 블록들을 셋업 실행단계로 분류하는 단계와;
    상기 셋업 실행단계 이외의 블록들을 가공 공구가 바뀌는 특징적 블록을 경계로 하여 1차 분할하는 단계와;
    상기 1차 분할된 블록들을 이송 속도나 주축 회전수가 변하게 되는 특징적 블록을 경계로 2차 분할하는 단계; 및
    상기 2차 분할된 블록들을 가공 방향이나 가공 영역이 바뀌는 특징적 블록을 경계로 3차 분할하는 단계;
    로 구성되는 것을 특징으로 하는 G 코드로부터 STEP-NC 파트 프로그램으로 변환하는 방법.
  3. 제 1항에 있어서, 상기 가공 공정 정보 생성 단계는,
    상기 G 코드 해석 단계와 실행단계 분할 단계에서 생성된 가공 실행단계와 블록 정보를 가져오는 단계와;
    해당 실행단계의 공구 종류를 판단하는 단계와;
    상기 공구 종류에 따라 가공 방향 또는 보간 이송 좌표를 고려하여 공정 종류를 인식하고 해당 공정 정보를 생성하는 단계와;
    상기 공정 정보 생성 단계에서 인식된 공정 종류에 따라 황삭 또는 정삭으로 구분되는 절삭 방법을 판별하는 단계와;
    상기 공정 정보 생성 단계에서 인식된 공정 종류와 상기 황삭 또는 정삭 판별 단계에서 판별된 결과에 따라 세부 공정 정보를 생성하고 그 속성치를 설정하는 단계;
    로 구성되는 것을 특징으로 하는 G 코드로부터 STEP-NC 파트 프로그램으로 변환하는 방법.
  4. 제 1항에 있어서, 상기 가공 형상 정보 생성 단계는,
    가공 소재의 형상 정보로부터 가공될 영역을 설정하는 단계와;
    공구 종류와 보간 이송의 이송 방향을 이용하여 절삭날을 결정하는 단계와;
    보간 이송에 따라 공구의 절삭날에 의해 가공 소재가 제거되는 가공 영역을 구하는 단계와;
    가공 소재 영역으로부터 가공 영역을 차 불리언 작업(substract boolean operation)을 통해 제거하여 최종적으로 남게 되는 가공소재의 윤곽(machining profile)을 산출하는 단계와;
    상기 가공 소재 윤곽 정보 산출 단계에서 산출된 가공 소재 윤곽 정보를 이용하여 가공 형상 정보를 결정하는 단계;
    로 구성되는 것을 특징으로 하는 G 코드로부터 STEP-NC 파트 프로그램으로 변환하는 방법.
  5. 제 1항에 있어서, 상기 가공 방식 정보 생성 단계는,
    해당하는 가공 실행단계와 그에 대응하는 블록들의 정보를 입수하는 단계와;
    가공 실행단계와 블록 정보를 참조하여 해당 실행단계의 진입 전략 및 퇴각 전략에 대한 정보를 생성하는 단계와;
    해당 실행단계에서 사용된 공구의 종류를 판단하는 단계와;
    상기 공구 종류 판단 단계에서 얻어진 공구 종류에 따라, 급속 이송과 보간 이송의 조합에 따른 가공 방향을 고려하여 가공 전략을 수립하는 단계와;
    해당 가공 방식 정보를 생성하고 그 속성치를 설정하는 단계;
    로 구성되는 것을 특징으로 하는 G 코드로부터 STEP-NC 파트 프로그램으로 변환하는 방법.
  6. 삭제
  7. 제 1항 내지 제5항의 G 코드로부터 STEP-NC 파트 프로그램으로 변환하는 방법을 실행시키기 위한 프로그램이 저장된 기록매체.
KR1020060000935A 2006-01-04 2006-01-04 G 코드로부터 step-nc 파트 프로그램으로 변환하는 방법 및 기록매체 KR100766310B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020060000935A KR100766310B1 (ko) 2006-01-04 2006-01-04 G 코드로부터 step-nc 파트 프로그램으로 변환하는 방법 및 기록매체
US12/160,089 US8041445B2 (en) 2006-01-04 2006-01-31 Transformation method of G-code into step-Nc part program
PCT/KR2006/000329 WO2007078025A1 (en) 2006-01-04 2006-01-31 Transformation method of g-code into step-nc part program
DE112006003623T DE112006003623T5 (de) 2006-01-04 2006-01-31 Verfahren zum Transformieren von G-Code in ein Step-NC-Teileprogramm
JP2008549401A JP2009522682A (ja) 2006-01-04 2006-01-31 Gコードからstep−ncパートプログラムに変換する方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060000935A KR100766310B1 (ko) 2006-01-04 2006-01-04 G 코드로부터 step-nc 파트 프로그램으로 변환하는 방법 및 기록매체

Publications (2)

Publication Number Publication Date
KR20070073246A KR20070073246A (ko) 2007-07-10
KR100766310B1 true KR100766310B1 (ko) 2007-10-11

Family

ID=38228359

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060000935A KR100766310B1 (ko) 2006-01-04 2006-01-04 G 코드로부터 step-nc 파트 프로그램으로 변환하는 방법 및 기록매체

Country Status (5)

Country Link
US (1) US8041445B2 (ko)
JP (1) JP2009522682A (ko)
KR (1) KR100766310B1 (ko)
DE (1) DE112006003623T5 (ko)
WO (1) WO2007078025A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111487927A (zh) * 2020-04-26 2020-08-04 华中科技大学 一种基于双代码联合作用的样条轨迹控制指令优化方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9002501B1 (en) * 2005-04-14 2015-04-07 Time Wise Solutions, Llc Rapid production turnkey system and related method
US8340807B1 (en) * 2005-04-14 2012-12-25 Time Wise Solutions, Llc Rapid production turnkey system and related method
US8954185B2 (en) * 2008-03-26 2015-02-10 Haas Automation, Inc. Cut optimization system and method
IT1392608B1 (it) * 2009-04-07 2012-03-09 Milano Politecnico Metodo per la suddivisione di un part program in operazioni elementari
US8244386B2 (en) * 2009-10-08 2012-08-14 Hurco Companies, Inc. Machine tool system control having automatic safe repositioning
CN101859126B (zh) * 2010-04-30 2011-11-16 西北工业大学 五坐标数控加工刀具路径转换方法
DE102012112900A1 (de) * 2011-12-22 2013-06-27 Fanuc Robotics America Corp. Numerische Steuerungsprogrammausrichtung durch Roboter
JP6281334B2 (ja) * 2014-03-12 2018-02-21 株式会社ジェイテクト Ncプログラム作成装置
JP5960189B2 (ja) * 2014-04-18 2016-08-02 ファナック株式会社 加工サイクル生成機能を有する数値制御装置およびプログラム編集方法
DE102014223434A1 (de) * 2014-11-17 2016-05-19 P & L Gmbh & Co. Kg Verfahren zur Bearbeitung eines Werkstücks mittels eines spanabhebenden Werkzeugs auf einer NC-gesteuerten Werkzeugmaschine
CN105701263A (zh) * 2014-11-26 2016-06-22 英业达科技有限公司 三维模型零件比对系统及其方法
CN104392050A (zh) * 2014-11-27 2015-03-04 英业达科技有限公司 三维模型零件比对系统及其方法
WO2016172452A1 (en) * 2015-04-23 2016-10-27 Massachusetts Institute Of Technology Discrete assemblers utilizing conventional motion systems
US9880542B1 (en) * 2015-09-11 2018-01-30 Plethora Corporation Automatic strategy determination for computer aided manufacturing
JP2017068586A (ja) * 2015-09-30 2017-04-06 ファナック株式会社 工具のカッタチップと被削材の衝突位置を制御する数値制御装置
JP7088820B2 (ja) * 2018-12-17 2022-06-21 ファナック株式会社 数値制御装置
CN112068840B (zh) * 2020-07-30 2022-04-01 中国科学院金属研究所 面向脉冲激光3d打印的g代码生成方法
CN113821000A (zh) * 2021-08-05 2021-12-21 北京航空航天大学 一种基于step-nc标准的机床建模方法
CN113392484B (zh) * 2021-08-17 2021-11-16 北京航空航天大学 一种基于step-nc标准的模块化三维建模方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100434025B1 (ko) 2001-12-31 2004-06-04 학교법인 포항공과대학교 스텝-엔씨(step-nc) 용 파트 프로그램을 자동생성하는 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62267804A (ja) * 1986-05-15 1987-11-20 Fanuc Ltd Ncデ−タ変更方法
JPH01194007A (ja) * 1988-01-29 1989-08-04 Fanuc Ltd Iso/eiaコード変換方法
JPH02122304A (ja) * 1988-10-31 1990-05-10 Fanuc Ltd パートプログラム実行方法
JPH03158908A (ja) * 1989-11-17 1991-07-08 Fanuc Ltd 複合加工機における自動プログラミング方式
JP2639169B2 (ja) * 1990-04-09 1997-08-06 三菱電機株式会社 数値制御装置
JPH11143511A (ja) * 1997-11-04 1999-05-28 Fanuc Ltd 数値制御装置
US6512961B1 (en) * 1998-08-24 2003-01-28 Okuma Corporation Method and apparatus for collecting operation event logs in NC machining
EP1048400A1 (en) * 1998-08-28 2000-11-02 Mori Seiki Co., Ltd. Method and apparatus for optimizing nc programs in nc machining
KR100478732B1 (ko) 2002-03-20 2005-03-24 학교법인 포항공과대학교 지능형 스텝-수치 제어기
KR100722504B1 (ko) * 2006-01-18 2007-05-29 학교법인 포항공과대학교 비선형 공정 계획 생성 방법 및 이를 이용한 인터넷 기반step-nc 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100434025B1 (ko) 2001-12-31 2004-06-04 학교법인 포항공과대학교 스텝-엔씨(step-nc) 용 파트 프로그램을 자동생성하는 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111487927A (zh) * 2020-04-26 2020-08-04 华中科技大学 一种基于双代码联合作用的样条轨迹控制指令优化方法
CN111487927B (zh) * 2020-04-26 2022-02-15 华中科技大学 一种基于双代码联合作用的样条轨迹控制指令优化方法

Also Published As

Publication number Publication date
WO2007078025A1 (en) 2007-07-12
US8041445B2 (en) 2011-10-18
US20080281462A1 (en) 2008-11-13
DE112006003623T5 (de) 2008-11-27
KR20070073246A (ko) 2007-07-10
JP2009522682A (ja) 2009-06-11

Similar Documents

Publication Publication Date Title
KR100766310B1 (ko) G 코드로부터 step-nc 파트 프로그램으로 변환하는 방법 및 기록매체
EP0879674B1 (en) Generation of measurement program in nc machining and machining management based on the measurement program
RU2331911C2 (ru) Способ автоматического программирования и устройство автоматического программирования
Dubovska et al. Implementation of CAD/CAM system CATIA V5 in Simulation of CNC Machining Process
EP2862030B1 (en) Computer aided manufacturing (cam) integrated computer numerically controlled (cnc) control of machines
Patil et al. An intelligent feature-based process planning system for prismatic parts
CN104698982A (zh) 步进型cnc系统与加工文件的生成方法、实时控制方法
Oduola et al. A comparative study of product development process using computer numerical control and rapid prototyping methods
JP5969882B2 (ja) 加工データ一貫生成装置、加工データ一貫生成プログラム及び加工データ一貫生成方法
WO2022138056A1 (ja) 情報処理装置および情報処理プログラム
Yeh et al. A structured approach to the automatic planning of machining operations for rotational parts based on computer integration of standard design and process data
JP4165404B2 (ja) 最適化装置、制御プログラム生成装置、プログラム
Ahola Creo Parametric Milling
JP7177905B1 (ja) 情報処理装置
JP7301486B1 (ja) 情報処理装置およびプログラム
Lee et al. Development of ISO14649 compliant CNC milling machine operated by STEP-NC in XML format
Huang A Generative Process Planning System for Turned Components
Petrakov et al. Simulating turning cycles on CNC lathe machines
Srinathu Real-Time Manufacturing Control Strategies Based on Open-Architecture Systems and Precise CAD Geometry
Fu et al. Verification and Learning of Feature Automatic Recognition with Time Prediction for EDM and WEDM
Ahola Creo Parametric Basic Turning
Krishnaswami Automation of process planning for boring of turned components with arbitrary internal geometry from a semi-finished stock
Barbu et al. introduction to CAD-CAM Software
Suh et al. Man–Machine Interface
JPWO2020090058A1 (ja) 加工支援システム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20110916

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20120928

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee