KR102528203B1 - Computerized numerical control machine tool simulation system - Google Patents
Computerized numerical control machine tool simulation system Download PDFInfo
- Publication number
- KR102528203B1 KR102528203B1 KR1020210004176A KR20210004176A KR102528203B1 KR 102528203 B1 KR102528203 B1 KR 102528203B1 KR 1020210004176 A KR1020210004176 A KR 1020210004176A KR 20210004176 A KR20210004176 A KR 20210004176A KR 102528203 B1 KR102528203 B1 KR 102528203B1
- Authority
- KR
- South Korea
- Prior art keywords
- cnc
- machine tool
- unit
- code
- simulation
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B9/00—Simulators for teaching or training purposes
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B19/00—Teaching not covered by other main groups of this subclass
- G09B19/24—Use of tools
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B25/00—Models for purposes not provided for in G09B23/00, e.g. full-sized devices for demonstration purposes
- G09B25/02—Models for purposes not provided for in G09B23/00, e.g. full-sized devices for demonstration purposes of industrial processes; of machinery
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B5/00—Electrically-operated educational appliances
- G09B5/02—Electrically-operated educational appliances with visual presentation of the material to be studied, e.g. using film strip
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23P—METAL-WORKING NOT OTHERWISE PROVIDED FOR; COMBINED OPERATIONS; UNIVERSAL MACHINE TOOLS
- B23P23/00—Machines or arrangements of machines for performing specified combinations of different metal-working operations not covered by a single other subclass
- B23P23/02—Machine tools for performing different machining operations
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Entrepreneurship & Innovation (AREA)
- Optics & Photonics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
Abstract
본 발명은 CNC 시뮬레이션 시스템에 관한 것으로, 자세하게는 CNC 공작기계 시뮬레이션 환경을 제공하여, CNC 가공에서 발생할 수 있는 오류를 사전에 검사할 뿐만 아니라, 실제 CNC 작업 환경과 유사한 훈련 환경을 제공할 수 있는 CNC 시뮬레이션 시스템에 관한 것으로, CNC 공작기기와 연결되고, CNC 가상 훈련 환경을 제공하는 CNC 시뮬레이션 시스템에 있어서, 복수 개의 디스플레이로 마련되어, CNC 컨트롤패널, 코드에디터, 3D 시뮬레이션 화면 및 상기 CNC 공작기기 촬영 화면을 제공하는 디스플레이부와, 시뮬레이션 동작을 제어하는 동작제어부와, CNC 작업을 위한 코드를 입력하는 코드입력부와, 상기 CNC 공작기기의 제조사, 제조버전을 포함하는 공작기기정보를 입력하는 공작기기선택부 및 상기 코드에 따라 CNC 공정을 가상 CNC 공작기기로 3D 시뮬레이션 하는 시뮬레이션부를 포함하여 구성된다.The present invention relates to a CNC simulation system, and more specifically, provides a CNC machine tool simulation environment to check errors that may occur in CNC machining in advance, as well as providing a training environment similar to an actual CNC working environment. It relates to a simulation system, in a CNC simulation system connected to a CNC machine tool and providing a CNC virtual training environment, provided with a plurality of displays, a CNC control panel, a code editor, a 3D simulation screen, and a shooting screen of the CNC machine tool A display unit to provide, an operation control unit to control simulation operation, a code input unit to input codes for CNC work, a machine tool selection unit to input machine tool information including the manufacturer and manufacturing version of the CNC machine tool, and It is configured to include a simulation unit that 3D simulates the CNC process with a virtual CNC machine tool according to the above code.
Description
본 발명은 CNC 시뮬레이션 시스템에 관한 것으로, 자세하게는 CNC 공작기계 시뮬레이션 환경을 제공하여, CNC 가공에서 발생할 수 있는 오류를 사전에 검사할 뿐만 아니라, 실제 CNC 작업 환경과 유사한 훈련 환경을 제공할 수 있는 CNC 시뮬레이션 시스템에 관한 것이다.The present invention relates to a CNC simulation system, and more specifically, provides a CNC machine tool simulation environment to check errors that may occur in CNC machining in advance, as well as providing a training environment similar to an actual CNC working environment. It is about the simulation system.
일반적으로 수치제어(NC:Numerical Control) 공작 시스템이란, 외부로부터 입력된 NC 코드를 컨트롤러가 해석한 후에, 해석된 결과에 따른 각 좌표축의 이동 신호를 기계로 전송하여 기계로 하여금 전송된 이동 신호에 따라 이동하여 원하는 형상으로 피삭재를 가공하도록 하거나, 컨트롤러가 직접 작성한 NC 코드를 컨트롤러가 해석한 후에, 해석된 결과에 따른 각 좌표축의 이동 신호를 기계로 전송하여 기계로 하여금 전송된 이동 신호에 따라 이동하여 원하는 형상으로 피삭재를 가공하도록 하는 장치를 말한다.In general, a numerical control (NC) machine system means that after the controller interprets the NC code input from the outside, the movement signal of each coordinate axis according to the analyzed result is transmitted to the machine, and the machine responds to the transmitted movement signal. After the controller analyzes the NC code written by the controller, the movement signal of each coordinate axis according to the analyzed result is transmitted to the machine so that the machine moves according to the transmitted movement signal. It refers to a device that allows a workpiece to be machined into a desired shape.
NC 공작기계는 각각의 축이 독립한 메커니즘을 가져, 각각이 독립한 피드백 기구를 갖추고 있다. 예를 들며, XYZ축을 가지는 NC 프라이즈반이라면, X축, Y축, Z축 각각의 방향으로 슬라이드 축을 가져, 독립한 서보 기구를 가지고 있다. 즉 X방향으로 100.0mm 움직이는 지령이 나오면, X축의 엔코더(encoder)에 의해, X방향으로 100.0mm 이동하는 것이 보증되고 있다.In NC machine tools, each axis has an independent mechanism, and each axis has an independent feedback mechanism. For example, in the case of an NC prize board having XYZ axes, it has slide axes in the respective directions of the X-axis, Y-axis, and Z-axis, and has an independent servo mechanism. That is, when a command to move by 100.0 mm in the X direction is given, movement by 100.0 mm in the X direction is guaranteed by the X-axis encoder.
공작기계를 자동적으로 동작시키기 위해, 프로그램을 해석하는 컴퓨터와 짜 합쳐지고 CNC로서 사용된다. 현재는 CNC가 아닌 NC 공작기계는 거의 없고, 보통 NC 공작기계라고 부르는 경우는 CNC 공작기계를 가리킨다. CNC로 사용되는 프로그래밍 언어를 NC 프로그램이라고 한다.In order to automatically operate the machine tool, it is combined with a computer that analyzes the program and used as a CNC. Currently, there are almost no NC machine tools that are not CNC, and usually, when called NC machine tools, they refer to CNC machine tools. The programming language used by CNC is called NC program.
이러한 NC 공작 시스템의 사용자는 NC 공작 시스템을 실제로 조작할 때 발생할 수 있는 위험과 NC 공작 시스템의 파손을 방지하기 위해 능숙하게 NC 공작 시스템을 사용할 수 있도록 조작법을 충분하게 익힐 필요가 있으며, NC 공작 시스템의 조작법을 익히기 위한 도구로는 하드웨어로 프로그램 조작기가 있으며, 소프트웨어로는 CNC 시뮬레이터 등이 사용되고 있다.Users of these NC machining systems need to learn enough operation methods to be able to use the NC machining systems proficiently in order to prevent damage to the NC machining systems and risks that may occur when actually operating the NC machining systems. As a tool for learning how to operate, there is a program controller as hardware and a CNC simulator as software.
프로그램 조작기는 NC 기계 중 기계부분을 제외하고 컨트롤러 부분만을 독립시킨 장치로서, 수동 NC 코드 작성, 기계 패널 조작 등 컨트롤러 기능의 대부분을 익힐 수 있으나, 컨트롤러를 실행시켜도 실제 기계와 연결되어 있지 않아 가공 중 공구 이동 등 기계 작동을 볼 수 없으며, 실제 NC 기계에 의한 피삭재의 가공후 과절삭, 미절삭 등의 검사도 불가능하게 된다. 또한, CNC 시뮬레이터는 NC 코드를 작성한 뒤 각종 가공 조건의 설정을 통해 모의 가공을 해보고 가공후 피삭재를 검증해 볼 수는 있으나, 모의 가공시 가공 조건은 컨트롤러 조작 패널을 통해서 입력하는 것이 아니라 자체 입력 방식에 의함으로써 컨트롤러 사용법을 익히기가 어려울 뿐만 아니라, 피삭재의 형상은 화면에 나타나지만 NC 코드에 의한 공구 이동등 기계 작동 명령에 따른 기계의 반응 및 그때까지의 피삭재 가공 모습은 볼 수 없게 되는 문제점이 있었다.The program operator is a device that separates only the controller part of the NC machine, excluding the machine part. Most of the controller functions, such as manual NC code writing and machine panel operation, can be learned. Machine operation such as tool movement cannot be seen, and it is impossible to inspect overcutting or undercutting after machining the workpiece by the actual NC machine. In addition, the CNC simulator can create NC code, simulate machining by setting various machining conditions, and verify the workpiece after machining. As a result, it is difficult to learn how to use the controller, and the shape of the workpiece is displayed on the screen, but the reaction of the machine according to the machine operation command, such as tool movement by NC code, and the workpiece processing state until then are not visible.
종래의 기술, 대한민국 공개특허 제10-2000-0067027호는, 컴퓨터를 이용하여 실제와 같은 순서와 방법으로 수치 제어(NC: Numerical control) 공작 시스템을 조작 할 수 있도록 교육하기 위한 CNC 공작 교육 시스템, 그 제어 방법 및 기록매체에 관한 것으로, 특히 체계적인 교과과정과 교재를 제공하고, 교재 상에 게재된 내용을 시뮬레이터를 통해서 실시간으로 가공하여 그 형상을 확인할 수 있도록 함과 동시에 문제점을 확인할 수 있도록 함으로써 교육 효과를 극대화시킬 수 있도록 하는 CNC 공작 교육시스템, 그 제어 방법 및 기록매체를 제공하는 것을 목적으로 한다. 해당 문헌에 따르면, 교재 제어 신호를 생성하기 위한 직접 입력 수단, 입력된 교재 제어 신호에 포함된 NC 코드를 교재 상에 표시한 후에, 입력된 NC 코드에 가공시 안정된 환경을 마련하기 위한 명령을 병합하여 출력하기 위한 교재 처리 수단, NC 코드를 해석하여 명령리스트를 작성한 후에, 작성된 명령 리스트의 명령을 실행하여, 컨트롤러의 상태, 기계 상태, 및 소재 상태를 표시하기 위한 표시수단을 포함하여 이루어진 CNC 공작 교육 시스템의 구성을 제공하고 있으나, 입력된 NC 코드를 검증하고, 실제 가공 전 가공과정과 결과를 검증하기 어려워 CNC 공작기계의 손상 및 사고 발생의 문제점이 있었다.Conventional technology, Republic of Korea Patent Publication No. 10-2000-0067027, a CNC machine learning system for training to operate a numerical control (NC: Numerical control) machine system in the same order and method using a computer, It is related to the control method and recording medium, and in particular, provides systematic curriculum and teaching materials, and processes the contents posted on the teaching materials in real time through a simulator so that the shape can be confirmed and problems can be identified at the same time. Its purpose is to provide a CNC machine learning system that can maximize the effect, its control method and recording medium. According to the literature, after displaying the NC code included in the textbook control signal, the direct input means for generating the textbook control signal, and the input textbook control signal on the textbook, the input NC code is merged with a command to prepare a stable environment during processing. A teaching material processing means for outputting a teaching material, a display means for displaying the state of the controller, the state of the machine, and the material by executing the commands of the created command list after analyzing the NC code to create a command list CNC machine Although the configuration of the education system is provided, it is difficult to verify the input NC code and to verify the processing process and results prior to actual processing, resulting in damage to the CNC machine tool and accidents.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 실제 현장에서 사용되는 CNC 공작기기에 대한 교육 훈련을 할 수 있는 CNC 시뮬레이션 시스템을 제공하는 데 있다.An object of the present invention to solve the above problems is to provide a CNC simulation system capable of training education on CNC machine tools used in actual field.
본 발명의 다른 목적은, CNC 공작기기를 통한 실제 가공 이전에, 발생할 수 있는 오류를 검증하여 CNC 공작기기의 손상을 사전에 방지할 수 있는 CNC 시뮬레이션 시스템을 제공하는 데 있다.Another object of the present invention is to provide a CNC simulation system capable of preventing damage to CNC machine tools in advance by verifying errors that may occur prior to actual machining through CNC machine tools.
본 발명이 해결하고자 하는 과제들은 이상에서 언급한 과제로 제한되지 않으며, 여기에 언급되지 않은 본 발명이 해결하고자 하는 또 다른 과제들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems to be solved by the present invention that are not mentioned here are those of ordinary skill in the art to which the present invention belongs from the following description. will be clearly understandable.
상기 과제를 해결하기 위한 본 발명의 일실시예에 따른 CNC 시뮬레이션 시스템은, CNC 공작기기와 연결되고, CNC 가상 훈련 환경을 제공하는 CNC 시뮬레이션 시스템에 있어서, 복수 개의 디스플레이로 마련되어, CNC 컨트롤패널, 코드에디터, 3D 시뮬레이션 화면 및 상기 CNC 공작기기 촬영 화면을 제공하는 디스플레이부와, 시뮬레이션 동작을 제어하는 동작제어부와, CNC 작업을 위한 코드를 입력하는 코드입력부와, 상기 CNC 공작기기의 제조사, 제조버전을 포함하는 공작기기정보를 입력하는 공작기기선택부 및 상기 코드에 따라 CNC 공정을 가상 CNC 공작기기로 3D 시뮬레이션 하는 시뮬레이션부를 포함하여 구성된다.The CNC simulation system according to an embodiment of the present invention for solving the above problems is a CNC simulation system connected to a CNC machine tool and providing a CNC virtual training environment, provided with a plurality of displays, a CNC control panel, a code A display unit that provides an editor, a 3D simulation screen, and the CNC machine tool shooting screen, an operation control unit that controls simulation operation, a code input unit that inputs codes for CNC work, and a manufacturer and manufacturing version of the CNC machine tool It is configured to include a machine tool selection unit for inputting machine tool information and a simulation unit for 3D simulating a CNC process with a virtual CNC machine tool according to the code.
바람직하게는, 상기 코드입력부는, 코드입력수단에 의해 코드가 입력되는 수동입력모듈 및 설계도에 기반하여 자동으로 생성되는 CNC 코드를 입력하는 자동입력모듈을 포함하여 구성될 수 있다.Preferably, the code input unit may include a manual input module for inputting a code by a code input means and an automatic input module for inputting an automatically generated CNC code based on a blueprint.
바람직하게는, 상기 코드입력부에 입력되는 코드를 검증하는 제1검증부를 포함하여 구성될 수 있다.Preferably, it may be configured to include a first verification unit for verifying the code input to the code input unit.
바람직하게는, 상기 시뮬레이션 과정에서 발생하는 상기 가상 CNC 공작기기 동작 오류를 검증하는 제2검증부를 포함하여 구성될 수 있다.Preferably, it may be configured to include a second verifying unit for verifying the virtual CNC machine tool operation errors occurring in the simulation process.
바람직하게는, 상기 시뮬레이션을 통해 생성된 가상 결과물의 치수 오류를 검증하는 치수검증부를 포함하여 구성될 수 있다.Preferably, it may be configured to include a dimension verifying unit that verifies a dimension error of the virtual product generated through the simulation.
바람직하게는, 상기 코드를 상기 CNC 공작기기로 전송하는 MES게이트웨이부를 포함하여 구성될 수 있다.Preferably, it may be configured to include an MES gateway unit for transmitting the code to the CNC machine tool.
바람직하게는, 상기 CNC 공작기기의 오류를 판단하는 기기에러판단부 및 각 오류에 따른 기 저장된 조치사항 안내메세지를 상기 디스플레이부에 전송하는 조치사항안내부를 포함하여 구성될 수 있다.Preferably, it may include a device error determination unit for determining an error of the CNC machine tool and an action guide unit for transmitting a pre-stored action guide message according to each error to the display unit.
본 발명에 따른 CNC 시뮬레이션 시스템은, 복수 개의 디스플레이로 마련되어, CNC 컨트롤패널, 코드에디터, 3D 시뮬레이션 화면 및 상기 CNC 공작기기 촬영 화면을 제공하는 디스플레이부와, 시뮬레이션을 동작시키는 동작제어부와, CNC 작업을 위한 코드를 입력하는 코드입력부와, 상기 CNC 공작기기의 제조사, 제조버전을 포함하는 공작기기정보를 입력하는 공작기기선택부 및 상기 코드에 따라 CNC 공정을 가상 CNC 공작기기로 3D 시뮬레이션 하는 시뮬레이션부를 통해 실제 현장에서 사용되는 CNC 공작기기에 대한 교육 훈련을 할 수 있는 CNC 시뮬레이션 시스템을 제공하는 효과가 있다.The CNC simulation system according to the present invention is provided with a plurality of displays, a display unit for providing a CNC control panel, a code editor, a 3D simulation screen and the CNC machine tool shooting screen, an operation control unit for operating the simulation, and a CNC operation. Through a code input unit that inputs a code for the CNC machine tool, a machine tool selection unit that inputs machine tool information including the manufacturer and manufacturing version of the CNC machine tool, and a simulation unit that 3D simulates the CNC process with a virtual CNC machine tool according to the code It has the effect of providing a CNC simulation system that can provide education and training on CNC machine tools used in the actual field.
본 발명에 따른 CNC 시뮬레이션 시스템은, 코드입력부에 입력되는 코드를 검증하는 제1검증부와 코드에 따라 CNC 공정을 가상 CNC 공작기기로 3D 시뮬레이션 하는 시뮬레이션부 및 가상 CNC 공작기기 동작 오류를 검증하는 제2검증부 구성을 통해 CNC 공작기기의 손상을 사전에 방지할 수 있는 CNC 시뮬레이션 시스템을 제공하는 효과가 있다.The CNC simulation system according to the present invention includes a first verification unit for verifying the code input to the code input unit, a simulation unit for 3D simulating the CNC process with a virtual CNC machine tool according to the code, and a first verification unit for verifying operating errors of the virtual CNC machine tool. It has the effect of providing a CNC simulation system that can prevent damage to CNC machine tools in advance through the configuration of 2 verification units.
도 1은, 본 발명에 따른 CNC 시뮬레이션 시스템의 일실시예에 따른 전체 구성을 나타낸 것이다.
도 2는, 본 발명에 따른 CNC 시뮬레이션 시스템에 있어서, 가공 조건 설정 단계부터 시뮬레이션 결과물 검증단계까지의 과정을 흐름도로 나타낸 것이다.
도 3의 (a)와 (b)는, 본 발명에 따른 CNC 시뮬레이션 시스템의 일실시예에 따른 디스플레이부의 코드에디터 화면이다.
도 4의 (a)와 (b)는, 본 발명에 따른 CNC 시뮬레이션 시스템의 일실시예에 따른 디스플레이부의 3D시뮬레이션 및 컨트롤패널 화면이다.
도 5의 (a)와 (b)는, 본 발명에 따른 CNC 시뮬레이션 시스템의 일실시예에 따른 디스플레이부의 치수검증 및 과미삭 검증 화면이다.
도 6은, 본 발명에 따른 CNC 시뮬레이션 시스템의 일실시예에 따른 MES게이트웨이부의 연결구성 나타낸 것이다.1 shows the overall configuration according to an embodiment of a CNC simulation system according to the present invention.
2 is a flowchart showing a process from setting processing conditions to verifying simulation results in the CNC simulation system according to the present invention.
3 (a) and (b) are code editor screens of the display unit according to an embodiment of the CNC simulation system according to the present invention.
4 (a) and (b) are 3D simulations of a display unit and a control panel screen according to an embodiment of a CNC simulation system according to the present invention.
5 (a) and (b) are dimensions verification and over-measuring verification screens of the display unit according to an embodiment of the CNC simulation system according to the present invention.
6 shows the connection configuration of the MES gateway unit according to an embodiment of the CNC simulation system according to the present invention.
이상과 같은 본 발명에 대한 해결하고자 하는 과제, 과제의 해결수단, 발명의 효과를 포함한 구체적인 사항들은 다음에 기재할 실시예 및 도면들에 포함되어 있다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다.The specific details, including the problems to be solved, the solutions to the problems, and the effect of the invention for the present invention as described above are included in the embodiments and drawings to be described below. Advantages and features of the present invention, and methods of achieving them, will become clear with reference to the detailed description of the following embodiments taken in conjunction with the accompanying drawings.
본 발명에 따른 CNC 시뮬레이션 시스템은, 도 1 내지 도 6에 도시된 바와 같이, CNC 공작기기와 연결되고, CNC 가상 훈련 환경을 제공하는 CNC 시뮬레이션 시스템에 있어서, 복수 개의 디스플레이로 마련되어, CNC 컨트롤패널, 코드에디터, 3D 시뮬레이션 화면 및 상기 CNC 공작기기 촬영 화면을 제공하는 디스플레이부(1)와, 시뮬레이션 동작을 제어하는 동작제어부(2)와, CNC 작업을 위한 코드를 입력하는 코드입력부(3)와, 상기 CNC 공작기기의 제조사, 제조버전을 포함하는 공작기기정보를 입력하는 공작기기선택부(4) 및 상기 코드에 따라 CNC 공정을 가상 CNC 공작기기로 3D 시뮬레이션 하는 시뮬레이션부(5)를 포함하여 구성될 수 있다.As shown in FIGS. 1 to 6, the CNC simulation system according to the present invention is connected to a CNC machine tool and provides a CNC virtual training environment, provided with a plurality of displays, a CNC control panel, A display unit (1) providing a code editor, a 3D simulation screen and the CNC machine tool shooting screen, an operation control unit (2) for controlling simulation operation, a code input unit (3) for inputting codes for CNC work, A machine
먼저, 상기 디스플레이부(1)는 복수 개의 디스플레이로 마련되어, CNC 컨트롤패널, 코드에디터, 3D시뮬레이션 화면 및 상기 CNC 공작기기 촬영 화면을 제공할 수 있다.First, the
구체적으로, 상기 디스플레이부(1)는 적어도 두 개 이상의 모니터로 마련되는 것이 바람직하다.Specifically, it is preferable that the
이는, CNC 공작기기가 동작하기 위해 코드를 보여주는 코드에디터 화면과 컨트롤패널 및 3D시뮬레이션 화면을 보여주기 위함이다.This is to show the code editor screen, control panel, and 3D simulation screen showing codes for the CNC machine tool to operate.
또한, 상기 디스플레이부(1)는 터치스크린을 포함할 수 있다. 터치스크린을 통해 컨트롤패널을 터치하여 상기 가상 CNC 공작기기를 컨트롤 할 수 있다.Also, the
다음으로, 상기 동작제어부(2)는 MPG핸들을 사용하여 생산의 기준이 되는 가공환경을 설정할 수 있다.Next, the
구체적으로 작업자의 수작업으로 이루어지는 CNC 작업에서 기술력과 숙련도가 요구되는 기준설정에서 공작기기의 정밀한 움직임과 제어가 필요하고 생산, 가공의 기준을 설정하는데 적용될 수가 있다.Specifically, it can be applied to setting standards for production and processing, requiring precise movement and control of machine tools in standard setting that requires technical skills and proficiency in CNC work performed manually by workers.
다음으로, 상기 코드입력부(3)는 CNC 작업을 위한 코드를 입력할 수 있다.Next, the
구체적으로, 상기 코드입력부(3)는 수동입력모듈(31)과 자동코드생성모듈을 포함하여 구성될 수 있다.Specifically, the
상기 수동입력모듈(31)은 코드입력수단에 의해 코드가 입력 될 수 있다.A code may be input to the
더욱 상세하게는, 상기 코드입력수단은 타이핑할 수 있는 키보드와 터치스크린에 의한 접촉 입력 방식이 될 수 있다.More specifically, the code input means may be a touch input method using a keyboard that can be typed and a touch screen.
또한, 상기 자동입력모듈(32)은 설계도에 기반하여 자동으로 생성되는 CNC 코드를 입력할 수 있다.In addition, the
즉, 상기 자동입력모듈(32)은 설계도를 바탕으로 자동으로 CNC 생성된 코드를 입력하여 3D시뮬레이션에 적용될 수 있다.That is, the
다음으로, 상기 공작기기선택부(4)는 상기 CNC 공작기기의 제조사, 제조버전을 포함하는 공작기기정보를 입력할 수 있다.Next, the machine
구체적인 실시예로, 상기 공작기기선택부(4)는 각 제조사 및 버전별로 CNC 공작기기의 인터페이스가 다르므로, 훈련 또는 실사용 중인 CNC 공작기기를 선택하여 컨트롤패널을 비롯한 조작환경을 설정하는 것이다. As a specific embodiment, since the interface of the CNC machine tool is different for each manufacturer and version, the machine
다음으로, 상기 시뮬레이션부(5)는 상기 코드에 따라 CNC 공정을 가상 CNC 공작기기로 3D 시뮬레이션 할 수 있다.Next, the
구체적으로, 상기 시뮬레이션부(5)는 상기 공작기기선택부(4)에서 선택된 CNC 공작기기에 해당하는 가상 CNC 공작기기를 생성하여 시뮬레이션하는 것으로, 3D시뮬레이션 화면은 상기 디스플레이부(1)를 통해 모니터로 확인 가능하다.Specifically, the
또한, 본 발명에 따른 CNC 시뮬레이션 시스템은 제1검증부(6)를 포함할 수 있다.In addition, the CNC simulation system according to the present invention may include a first verification unit (6).
구체적으로, 상기 제1검증부(6)는 상기 코드입력부(3)에 입력되는 코드를 검증할 수 있다.Specifically, the
더욱 자세하게는, 상기 제1검증부(6)는 상기 코드입력부(3)에 입력된 코드의 문법상 오류를 검증하는 것으로, 오류를 탐지하여 상기 디스플레이부(1)에 제공한다.More specifically, the
일실시예로, 상기 제1검증부(6)에서는 직선, 코너 등의 움직임에서 일어나는 오류를 판별할 수 있다.In one embodiment, the
일실시예로, 상기 제1검증부(6)는 코드의 오류를 검증하기 위해 비교군이 되는 코드가 기 저장되어 있고 입력된 코드와 비교하여 오류를 탐지하는 것이 바람직하다.In one embodiment, the
또한, 본 발명에 따른 CNC 시뮬레이션 시스템은 제2검증부(7)를 포함할 수 있다.In addition, the CNC simulation system according to the present invention may include a second verification unit (7).
상기 제2검증부(7)는 상기 시뮬레이션 과정에서 발생하는 상기 가상 CNC 공작기기 동작 오류를 검증할 수 있다.The
즉, 상기 제2검증부(7)는 상기 공작기기선택부(4)에서 시뮬레이션 할 CNC 공작기기가 선택된 뒤 상기 시뮬레이션부(5)의 동작 과정에서 발생하는 오류를 판별하는 것으로, 각 공작기기 제조사 또는 버전마다의 차이점에서 발생할 수 있는 오류 또는 문제점을 가상 시뮬레이션을 통해 확인할 수 있다.That is, the
또한, 본 발명에 따른 CNC 시뮬레이션 시스템은 치수검증부(8)를 포함할 수 있다.In addition, the CNC simulation system according to the present invention may include a dimension verification unit (8).
상기 치수검증부(8)는 상기 시뮬레이션을 통해 생성된 가상 결과물의 치수 오류를 검증할 수 있다.The
상기 시뮬레이션부(5)를 통해 생성된 결과물의 치수가 상기 코드입력부(3)에 입력된 치수와 일치하는지를 판별하는 역할을 할 수 있다.It may serve to determine whether the dimensions of the result generated through the
구체적으로, 상기 치수검증부(8)는 상기 가상 결과물의 과미삭을 입체적으로 검증할 수 있다.Specifically, the
또한, 본 발명에 따른 CNC 시뮬레이션 시스템은 MES게이트웨이부(9)를 포함할 수 있다.In addition, the CNC simulation system according to the present invention may include an
상기 MES게이트웨이부(9)는 상기 코드를 상기 CNC 공작기기로 전송할 수 있다.The
MES는 ‘Manufacturing Execution System’의 약어로 생산관리시스템으로 부르기도 한다.MES is an abbreviation for ‘Manufacturing Execution System’ and is also called a production management system.
상기 MES게이트웨이부(9)는 프로젝트 / 견적 / 수주 / 작업의뢰 정보에 대한 체계적인 관리를 지원하고, 반제품 및 완제품에 대한 작업지시 / 실적관리 환경을 제공한다.The
또한, 제품별 생산원가 및 진행현황에 대한 실시간 리포팅 환경을 제공할 수 있다.In addition, a real-time reporting environment for production cost and progress status for each product can be provided.
바람직하게는 통신기능을 통해 네트워크상의 실 CNC 공작기기를 실시간 데이터제어, 데이터집계, 작업활동지시를 수행 할 수 있다.Preferably, it is possible to perform real-time data control, data aggregation, and work activity instructions of actual CNC machine tools on the network through the communication function.
한편, 본 발명에 따른 CNC 시뮬레이션 시스템은 기기에러판단부(10)와 조치사항안내부(11)를 더 포함할 수 있다.On the other hand, the CNC simulation system according to the present invention may further include a machine
상기 기기에러판단부(10)는 상기 CNC 공작기기의 오류를 판단할 수 있다.The machine
구체적으로, 상기 기기에러판단부(10)는 상기 MES게이트웨이부(9)로부터 전송받은 작업 명령에 따라 상기 CNC 공작기기가 동작하는 과정에서 발생하는 기기의 에러를 판단할 수 있다.Specifically, the machine
또한, 상기 조치사항안내부(11)는 각 오류에 따른 기 저장된 조치사항 안내메세지를 상기 디스플레이에 전송할 수 있다.In addition, the
구체적으로, 상기 기기에러판단부(10)에 의해 상기 CNC 공작기기 동작에 문제점이 발견되었을 경우, 공작기기의 손상을 방지하기 위한 조치사항을 안내할 수 있다.Specifically, when a problem is found in the operation of the CNC machine tool by the machine
한편, 본 발명에 따른 CNC 시뮬레이션 시스템에는 조작부가 더 마련될 수 있다.Meanwhile, a control unit may be further provided in the CNC simulation system according to the present invention.
구체적으로, 상기 조작부는 상기 코드입력수단으로 키보드 또는 터치패널이 사용될 수 있으며, 상기 디스플레이부(1)에서 컨트롤패널 화면에서 클릭 동작을 할 수 있는 마우스, CNC 공작기기 훈련을 위한 조그셔틀, MPG핸들(수동조그핸들)을 포함하여 구성될 수 있다.Specifically, the control unit may use a keyboard or a touch panel as the code input means, and a mouse capable of performing a click operation on the control panel screen of the
본 발명에 따른 CNC 시뮬레이션 시스템은 3분할된 모니터를 이용하여 상기 가상 CNC 공작기기 시뮬레이션 훈련을 실시할 수 있는 것으로, 터치스크린, MPG핸들을 포함할 수 있고, MPG핸들을 이용하여 시뮬레이션 훈련 시 현실감을 향상시켜 실제 공작기계 사용 환경을 만들어주는 교육 시스템으로서의 역할을 할 수 있다.The CNC simulation system according to the present invention can perform the virtual CNC machine tool simulation training using a three-part monitor, can include a touch screen and an MPG handle, and provides a sense of reality during simulation training using the MPG handle. It can play a role as an educational system that creates an actual machine tool use environment by improving it.
이러한 본 발명에 따른 CNC 시뮬레이션 시스템은 고가의 장비 구입 없이 교육이 가능하며, 미숙련자의 장비사용으로 인한 사고예방 효과로 교육생의 안전 및 고가장비의 유지보수 비용절감을 기대할 수 있다.The CNC simulation system according to the present invention enables education without purchasing expensive equipment, and can expect safety of trainees and reduction of maintenance costs of expensive equipment due to the effect of preventing accidents caused by the use of equipment by unskilled users.
또한, 가상 공작기계, 터치스크린 기반의 컨트롤러, MPG핸들을 이용하여 실제 기계와 유사한 환경에서 훈련을 진행하여 현장의 리얼리티를 살린 종합적인 훈련을 진행할 수 있다.In addition, by using virtual machine tools, touch screen-based controllers, and MPG handles, training can be conducted in an environment similar to real machines to provide comprehensive training utilizing the reality of the field.
또한, NC 프로그래밍과 CNC 컨트롤러 조작 훈련을 분리하여 전문성 강화된 훈련을 실시할 수 있다.In addition, it is possible to conduct specialized training by separating NC programming and CNC controller operation training.
상술한 바와 같은 본 발명에 따른 CNC 시뮬레이션 시스템의 올바른 적용예는 다음과 같다.Examples of correct application of the CNC simulation system according to the present invention as described above are as follows.
먼저, 상기 코드입력부(3)를 통해 설계 코드가 입력된다. 이때, 입력되는 코드는 설계도를 바탕으로 자동으로 생성된 코드일 수 있으며, 또는 상기 수동입력모듈(31)에 의해 입력된 것일 수 있다.First, a design code is input through the
다음으로, 상기 제1검증부(6)에서 상기 코드입력부(3)가 입력한 코드를 검증한다. 여기에서 코드 상의 문법 오류 및 공작기기 동작 한계 범주를 벗어나는 오류를 판별할 수 있다.Next, the code input by the
다음으로, 상기 공작기기선택부(4)를 통해 가상 시뮬레이션 하고자 하는 CNC 공작기기의 제원이 선택된다. 한편, 상기 공작기기선택부(4)의 동작은 상기 제1검증부(6)의 검증 또는 상기 코드입력부(3)의 코드 입력이 실시되기 이전 단계에 먼저 실시되는 것일 수 있다.Next, the specifications of the CNC machine tool to be simulated through the machine
다음으로, 상기 시뮬레이션부(5)를 통해 가상 CNC 공작기기의 동작을 시뮬레이션 한다.Next, the operation of the virtual CNC machine tool is simulated through the
여기에서, 상기 제2검증부(7)는 상기 시뮬레이션 과정에서 발생하는 오류 및 가상 CNC 공작기기의 손상을 판별한다. 이를 통해, 고가에 형성되어 있는 실제 CNC 공작기기의 손상을 막을 수 있고, 사용 시 사고를 예방할 수 있으면서도 훈련을 실시할 수 있다.Here, the
다음으로, 상기 치수검증부(8)는 상기 시뮬레이션부(5)를 통해 시뮬레이션된 결과물의 치수를 검증한다. 여기에서 과미삭 여부를 판별할 수 있다.Next, the
다음으로, 실제 CNC 공작기기의 작업을 위해서 상기 MES게이트웨이부(9)는 실제 CNC 공작기기에게 작업 명령 지시를 포함하는 실시간 데이터제어를 할 수 있다.Next, for the operation of the actual CNC machine tool, the
다음으로, 상기 기기에러판단부(10)는 상기 실제 CNC 공작기기에서 발생하는 오류를 판별하는 역할을 할 수 있다.Next, the machine
다음으로, 상기 조치사항안내부(11)는 상기 기기에러판단부(10)가 판단한 에러 결과에 따라 상기 디스플레이부(1)가 조치사항 안내메세지를 띄우도록 제어할 수 있다.Next, the
또한, 상기한 각 단계는 상기 디스플레이부(1)에서 실시간 화상으로 제공할 수 있다.In addition, each of the above steps may be provided as a real-time image on the
이와 같이, 상술한 본 발명의 기술적 구성은 본 발명이 속하는 기술분야의 당업자가 본 발명의 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.As such, it will be understood that the technical configuration of the present invention described above can be implemented in other specific forms without changing the technical spirit or essential features of the present invention by those skilled in the art to which the present invention pertains.
그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해되어야 하고, 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Therefore, the embodiments described above should be understood as illustrative and not restrictive in all respects, and the scope of the present invention is indicated by the claims to be described later rather than the detailed description, and the meaning and scope of the claims and their All changes or modified forms derived from equivalent concepts should be construed as being included in the scope of the present invention.
1 : 디스플레이부
2 : 동작제어부
3 : 코드입력부
31 : 수동입력모듈
32 : 자동입력모듈
4 : 공작기기선택부
5 : 시뮬레이션부
6 : 제1검증부
7 : 제2검증부
8 : 치수검증부
9 : MES게이트웨이부
10 : 기기에러판단부
11 : 조치사항안내부1: display unit
2: motion control unit
3: code input unit
31: manual input module
32: automatic input module
4: machine tool selection part
5: simulation part
6: first verification unit
7: second verification unit
8: Dimension verification unit
9: MES gateway part
10: Device error determination unit
11: Action information department
Claims (7)
복수개의 디스플레이로 마련되어, CNC 컨트롤패널, 코드에디터, 3D 시뮬레이션 화면 및 상기 CNC 공작기기 촬영 화면을 제공하는 디스플레이부;
시뮬레이션 동작을 제어하는 동작제어부;
CNC 작업을 위한 코드를 입력하는 코드입력부;
상기 CNC 공작기기의 제조사, 제조버전을 포함하는 공작기기정보를 입력하는 공작기기선택부;
상기 코드에 따라 CNC 공정을 가상 CNC 공작기기로 3D 시뮬레이션 하는 시뮬레이션부;
상기 시뮬레이션을 통해 생성된 가상 결과물의 치수 오류를 검증하는 치수검증부;
상기 코드를 상기 CNC 공작기기로 전송하는 MES게이트웨이부;
상기 CNC 공작기기의 오류를 판단하는 기기에러판단부; 및
각 오류에 따른 기 저장된 조치사항 안내메세지를 상기 디스플레이부에 전송하는 조치사항안내부;를 포함하며,
상기 코드입력부에 입력되는 코드를 검증하는 제1검증부; 및 상기 시뮬레이션 과정에서 발생하는 상기 가상 CNC 공작기기 동작 오류를 검증하는 제2검증부;를 더 포함하고, 상기 제1검증부는 상기 코드입력부에 입력된 코드의 문법상 오류를 검증하고, 상기 CNC 공작기기의 직선과 코너 움직임에서 일어나는 오류를 판별하며, 코드의 오류를 검증하기 위해 비교군이 되는 코드가 기저장되어 있으며,
상기 코드입력부는, 코드입력수단에 의해 코드가 입력되는 수동입력모듈; 및 설계도에 기반하여 자동으로 생성되는 CNC 코드를 입력하는 자동입력모듈;을 포함하는 것을 특징으로 하는 CNC 시뮬레이션 시스템.In a CNC simulation system connected to a CNC machine tool and providing a CNC virtual training environment,
A display unit provided with a plurality of displays and providing a CNC control panel, a code editor, a 3D simulation screen, and a shooting screen of the CNC machine tool;
an operation control unit controlling a simulation operation;
Code input unit for inputting a code for CNC operation;
a machine tool selection unit inputting machine tool information including a manufacturer and manufacturing version of the CNC machine tool;
A simulation unit for 3D simulating the CNC process with a virtual CNC machine tool according to the code;
a dimension verifying unit verifying a dimension error of the virtual product generated through the simulation;
MES gateway unit for transmitting the code to the CNC machine tool;
A device error judgment unit for determining an error of the CNC machine tool; and
Including; action information guidance unit for transmitting a pre-stored action information information message according to each error to the display unit,
a first verification unit verifying the code input to the code input unit; and a second verification unit for verifying an operation error of the virtual CNC machine tool generated during the simulation process, wherein the first verification unit verifies a grammatical error in the code input to the code input unit, and the CNC machine tool. It discriminates errors that occur in the straight line and corner movement of the device, and a code that serves as a comparison group is stored in advance to verify code errors.
The code input unit may include a manual input module into which a code is input by a code input means; And an automatic input module for inputting the automatically generated CNC code based on the blueprint; CNC simulation system comprising a.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210004176A KR102528203B1 (en) | 2021-01-12 | 2021-01-12 | Computerized numerical control machine tool simulation system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210004176A KR102528203B1 (en) | 2021-01-12 | 2021-01-12 | Computerized numerical control machine tool simulation system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220102006A KR20220102006A (en) | 2022-07-19 |
KR102528203B1 true KR102528203B1 (en) | 2023-05-03 |
Family
ID=82606860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210004176A KR102528203B1 (en) | 2021-01-12 | 2021-01-12 | Computerized numerical control machine tool simulation system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102528203B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100454717B1 (en) * | 2003-09-27 | 2004-11-03 | 주식회사 삼호기계 | System for direct controling CNC machine |
KR100936090B1 (en) * | 2009-08-26 | 2010-01-12 | 백승엽 | The semi-immersive multi computerized numuerical control machine tools simulation system |
CN205984105U (en) * | 2016-05-27 | 2017-02-22 | 天津领智教仪科技有限公司 | Open type numerical control lathe teaching device |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100300135B1 (en) | 1999-04-22 | 2001-09-22 | 이종현 | A system of the instruction for the control of CNC and method thereof |
KR20020085716A (en) * | 2001-05-10 | 2002-11-16 | 사단법인 고등기술연구원 연구조합 | Method for converting numerical code in computer numerical control apparatus |
KR20050031043A (en) * | 2003-09-27 | 2005-04-01 | 주식회사 삼호기계 | Method for direct controling cnc machine and record medium recorded program thereof |
KR102357029B1 (en) * | 2015-01-23 | 2022-02-03 | 두산공작기계 주식회사 | The combined process registration apparatus and method using interactive program in computer numarical control machine tools |
KR101959241B1 (en) * | 2017-06-19 | 2019-03-20 | 주식회사 키미이에스 | Intelligent error control method and apparatus for CNC machine |
-
2021
- 2021-01-12 KR KR1020210004176A patent/KR102528203B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100454717B1 (en) * | 2003-09-27 | 2004-11-03 | 주식회사 삼호기계 | System for direct controling CNC machine |
KR100936090B1 (en) * | 2009-08-26 | 2010-01-12 | 백승엽 | The semi-immersive multi computerized numuerical control machine tools simulation system |
CN205984105U (en) * | 2016-05-27 | 2017-02-22 | 天津领智教仪科技有限公司 | Open type numerical control lathe teaching device |
Also Published As
Publication number | Publication date |
---|---|
KR20220102006A (en) | 2022-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9671777B1 (en) | Training robots to execute actions in physics-based virtual environment | |
KR101520855B1 (en) | Simulstion system training machinetool | |
EP2577413B1 (en) | Method and system for closed-loop controller programming | |
Rodriguez et al. | Developing a mixed reality assistance system based on projection mapping technology for manual operations at assembly workstations | |
JP2007293812A (en) | Operation training simulation system applied for computer numerical control machine tool | |
Hamid et al. | Virtual reality applications in manufacturing system | |
US20230153486A1 (en) | Method and device for simulation | |
KR100936090B1 (en) | The semi-immersive multi computerized numuerical control machine tools simulation system | |
CN101373384A (en) | Operation simulation training machine of computer value control tool machine | |
Chryssolouris et al. | A novel virtual experimentation approach to planning and training for manufacturing processes--the virtual machine shop | |
US20210333786A1 (en) | Apparatus and Method for Immersive Computer Interaction | |
KR102528203B1 (en) | Computerized numerical control machine tool simulation system | |
Li et al. | CNC partner: A novel training system for NC machining | |
US20190204816A1 (en) | Simulation device | |
CN111113426A (en) | Robot off-line programming system based on CAD platform | |
KR100300135B1 (en) | A system of the instruction for the control of CNC and method thereof | |
Aksonov et al. | Interactive design of CNC equipment operator panels | |
Kovalev et al. | Development of a mobile application for training operators to work with machine tools with CNC systems using augmented reality | |
Holubek et al. | Novel trend in case study of industrial robot programming and production system design using the virtual reality | |
CHAKRABORTY et al. | A virtual-reality-based model for task-training of equipment operators in the mining industry | |
Blümel et al. | Pragmatic approach to apply virtual reality technology in accelerating a product life cycle | |
Hundhausen et al. | Can direct manipulation lower the barriers to programming and promote positive transfer to textual programming? An experimental study | |
Chuang et al. | A visuo-haptic mixed reality manual milling training simulator | |
Riveros et al. | Digital Twins, Didactic Strategy for Teaching Industrial Automation | |
Méndez et al. | Methodology to eliminate errors in machining processes through Augmented Reality Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |