KR20190066180A - A mounter control system for multi-user - Google Patents

A mounter control system for multi-user Download PDF

Info

Publication number
KR20190066180A
KR20190066180A KR1020170165673A KR20170165673A KR20190066180A KR 20190066180 A KR20190066180 A KR 20190066180A KR 1020170165673 A KR1020170165673 A KR 1020170165673A KR 20170165673 A KR20170165673 A KR 20170165673A KR 20190066180 A KR20190066180 A KR 20190066180A
Authority
KR
South Korea
Prior art keywords
command
unit
program
user
mounting
Prior art date
Application number
KR1020170165673A
Other languages
Korean (ko)
Other versions
KR102024189B1 (en
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 KR1020170165673A priority Critical patent/KR102024189B1/en
Publication of KR20190066180A publication Critical patent/KR20190066180A/en
Application granted granted Critical
Publication of KR102024189B1 publication Critical patent/KR102024189B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K13/00Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
    • H05K13/08Monitoring manufacture of assemblages
    • H05K13/0882Control systems for mounting machines or assembly lines, e.g. centralized control, remote links, programming of apparatus and processes as such
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K13/00Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
    • H05K13/08Monitoring manufacture of assemblages
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K13/00Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
    • H05K13/04Mounting of components, e.g. of leadless components
    • H05K13/046Surface mounting

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Operations Research (AREA)
  • Automation & Control Theory (AREA)
  • Supply And Installment Of Electrical Components (AREA)

Abstract

The present invention relates to a control method for a surface mounting device for multiple users, which performs control such that a plurality of users can use one surface mounting device in a remote place and mounting programs requested by the users are received and processed in the order requested. The control method comprises: a step (a) of receiving requests for executing mounting programs from user terminals; a step (b) of determining the execution order of the mounting programs; a step (c) of controlling the surface mounting device in accordance with an ordered mounting program, and performing a unit operation corresponding to each unit instruction of the mounting program according to the unit instruction; a step (d) of requesting a correction operation from a corresponding user terminal when an error occurs in the unit operation; a step (e) of extracting a correction value in a corrected state and correcting the unit operation with the extracted correction value; a step (f) of repeating the steps (c) to (e) until all unit operations of the mounting program are performed; and a step (g) of terminating the mounting program when the correction operation is not completed in the step (e), or when all the unit operations are performed, and executing a next mounting program. According to the method, each user can be prevented from excessively occupying the surface mounting device and the waiting time can be predicted by requesting permissions from the mounting program and permitting control authority within the range of the permissions.

Description

다중 사용자를 위한 표면실장기의 제어 방법 { A mounter control system for multi-user }[0001] The present invention relates to a multi-user control system for multi-

본 발명은 다수의 사용자가 원격에서 하나의 표면실장기를 사용하도록 제어하되, 각 사용자가 요청하는 실장 프로그램들을 수신하여 요청한 순서대로 처리하도록 제어하는, 다중 사용자를 위한 표면실장기의 제어 방법에 관한 것이다.The present invention relates to a control method of a surface realization for a multi-user, which controls a plurality of users to use one surface mount machine remotely, and controls each user to receive the requested mount programs and process them in the requested order .

특히, 본 발명은 각 실장 프로그램의 커맨드(command) 작업 단위로 해당 사용자에게 정밀조정 작업을 요청하고, 요청한 작업 범위 내에서 제어 권한을 제한하거나 정밀조정 작업시간을 제한하는, 다중 사용자를 위한 표면실장기의 제어 방법에 관한 것이다.In particular, the present invention relates to a method for requesting a precise adjustment operation to a corresponding user in a command work unit of each implementation program, restricting control authority within a requested operation range, or limiting the fine adjustment operation time, To a control method for a long term.

일반적으로, 반도체 등 전자제품 생산기술을 가르치는 교육기관은 표면실장기(SMT, surface mounter component-placer) 등 반도체 장비를 도입하여, 학습자들이 직접 해당 반도체 장비를 실습하게 한다.In general, educational institutions that teach electronic manufacturing techniques such as semiconductors introduce semiconductor equipment such as surface mounter component-placer (SMT), and allow learners to practice their semiconductor equipment directly.

그런데, 표면실장기(SMT)는 매우 고가의 장비이므로 필요한 만큼 많은 수의 장비를 구입할 수 없다. 따라서 대부분 교육기관은 한정된 장비를 구입하여, 다수의 학습자들이 공동으로 사용할 수 있도록 제공한다. 특히, 학교 등 대부분 교육기관에는 한 두 대의 장비로 30여명의 학습자들이 동시에 실습을 하기 때문에, 학습자들이 직접 장비를 운영해볼 기회가 매우 부족하다.However, surface mount (SMT) equipment is very expensive, so you can not purchase as many equipment as you need. Thus, most educational institutions purchase limited equipment and provide them for use by many learners. Especially, in most educational institutions such as schools, about 30 students are practicing at the same time with one or two equipments, so there is not much opportunity for learners to operate the equipment directly.

이러한 문제를 해결하기 위하여, 표면실장기(또는 마운터)의 가상모델(예를들어 애니메이션 모델, 시뮬레이션 모델 등)을 통해 실제와 같은 동작 순서와 방법으로 마운터를 조작할 수 있도록 교육하기 위한 기술이 제시되고 있다[특허문헌 1,2]. 그러나 상기 선행기술은 애니메이션이나 시뮬레이션 등 가상의 환경에서만 실습하기 때문에, 표면실장기 또는 마운터를 직접 운전해볼 수 없는 문제점이 있다.In order to solve this problem, a technique for training the mounter to operate in the same operation sequence and method as the virtual model of the surface mount (or mounter) (for example, animation model, simulation model, etc.) [Patent Literatures 1 and 2]. However, since the prior art is practiced only in a virtual environment such as an animation or a simulation, there is a problem that it is impossible to directly operate a surface mount or a mounter.

또한, 도 1에서 보는 바와 같이, 종래에는 표면실장기(1)를 다수의 사용자가 원격에서도 이용할 수 있도록 다수의 사용자 단말(4)을 네트워크(3)에 연결하여 제어할 수 있도록 제공하고 있다.As shown in FIG. 1, conventionally, a plurality of user terminals 4 are connected to the network 3 for control so that a plurality of users can utilize the surface real-organ 1 remotely.

즉, 표면실장기(1)에는 기기를 직접 제어하기 위한 제어단말(2)이 구비되어 있다. 제어단말(2)은 표면실장기의 모든 것을 제어할 수 있다. 제어단말(2)이 네트워크(2)에 연결되어, 다수의 사용자 단말(4)과 통신을 수행한다. 제어단말(2)은 사용자 단말(4)로부터 사용 요청을 수신하여, 요청된 순서대로 순차적으로 기기의 제어 권한을 해당 사용자 단말(4)에게 넘겨준다. 제어 권한을 받은 사용자 단말(4)은 제어단말(2)과 같이 표면실장기(1)를 점유하여 모든 작업을 수행해 볼 수 있다.That is, the surface mount organ 1 has a control terminal 2 for directly controlling the apparatus. The control terminal 2 can control all of the surface finish. The control terminal 2 is connected to the network 2 and performs communication with a plurality of user terminals 4. [ The control terminal 2 receives the use request from the user terminal 4 and sequentially passes control authority of the apparatus to the corresponding user terminal 4 in the order requested. The user terminal 4 having the control right can occupy the surface realm 1 like the control terminal 2 and perform all the operations.

일단 하나의 사용자 단말(4)이 표면실장기(1)의 제어 권한을 점유하면, 다른 사용자 단말(4)은 해당 사용자 단말(4)이 제어 권한을 제어단말(2)에 반환하기 전까지 대기해야 한다.Once one user terminal 4 occupies the control authority of the surface real estate 1, the other user terminal 4 has to wait until the corresponding user terminal 4 returns the control authority to the control terminal 2 do.

따라서 대기하는 사용자는 현재 사용자가 언제까지 사용할지 알 수 없어 대기 시간을 예측할 수 없는 문제점이 있다. 또한, 현재 사용자가 제어 권한을 반환하지 않는 이상 계속 점유할 수 있기 때문에 감독자 등이 직접 관여하여 물리적으로 시간을 제한해야 하는 문제점이 있다. 무차별적인 시간 제한을 둘 수도 있으나 이 경우 사용자가 작업을 마무리 하지 못한 상태에서 작업이 종료되는 문제점이 있다.Therefore, the waiting user can not know how long the current user will use it, and thus the waiting time can not be predicted. In addition, since the current user can continue to occupy the control unless the control authority is returned, there is a problem that the supervisor or the like directly participates and the time is limited physically. There may be indiscriminate time limits, but in this case there is a problem that the job is terminated without the user finishing the job.

특히, 종래기술의 가장 큰 문제점은 표면실장기(1)가 매우 비효율적으로 운영되고 있다는 문제점이 있다. 즉, 표면실장기(1)를 사용하기 위해서, 학습자는 먼저 실장 프로그램을 작성한 후 실장 프로그램을 표면실장기(1)에 로드하여 이를 실행시키면서 실장 작업을 수행한다. 그런데 실장 프로그램을 실행시켜 표면실장기(1)를 직접 구동하는 시간 보다 실장 프로그램을 작성하거나 수정하는 시간이 훨씬 많이 소요된다. 학습자가 표면실장기의 제어 권한을 갖는 동안 실장 프로그램을 작성 또는 수정하면, 그 시간 동안 표면실장기는 구동되지 않고 방치된다.Particularly, the biggest problem of the prior art is that the surface layer 1 is operated very inefficiently. That is, in order to use the surface real organ 1, the learner first builds a mounting program, loads the mounting program into the surface realm 1, and executes the mounting operation while executing the mounting program. However, it takes much more time to create or modify the mounting program than to execute the mounting program and directly drive the surface mount (1). If a learner creates or modifies a mounting program while having control over the surface real estate, the surface mount is left unattended during that time.

한국공개특허공보 제10-2006-0071205호(2006.06.26.공개)Korean Patent Publication No. 10-2006-0071205 (published on June 26, 2006) 한국공개특허공보 제10-2006-0034058호(2006.04.21.공개)Korean Patent Publication No. 10-2006-0034058 (published on April 21, 2006)

본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 다수의 사용자가 원격에서 실장 프로그램으로 표면실장기 사용을 요청하면, 요청한 순서대로 해당 실장 프로그램이 실행되도록 제어 권한을 제공하는, 다중 사용자를 위한 표면실장기의 제어 방법을 제공하는 것이다.It is an object of the present invention to solve the above-mentioned problems, and it is an object of the present invention to provide a method and a system for providing a control authority to execute a corresponding implementation program in a requested order when a plurality of users request a surface real- And to provide a control method of a surface emitting laser for a plasma display panel.

또한, 본 발명의 목적은 각 실장 프로그램의 커맨드(command) 작업 단위로 해당 사용자에게 정밀조정 작업을 요청하고, 요청한 작업 범위 내에서 제어 권한을 제한하거나 정밀조정 작업시간을 제한하는, 다중 사용자를 위한 표면실장기의 제어 방법을 제공하는 것이다.It is also an object of the present invention to provide a method and system for multiple users that request a precise adjustment operation to a corresponding user in command execution units of each implementation program and limit control authority within a requested operation range, And to provide a method of controlling the surface finish.

상기 목적을 달성하기 위해 본 발명은 서버가 다수의 사용자 단말과 네트워크로 연결되어 상기 사용자 단말의 요청에 따라 표면실장기를 제어하는, 다중 사용자를 위한 표면실장기의 제어 방법에 관한 것으로서, (a) 상기 사용자 단말들로부터 실장 프로그램들의 실행 요청을 수신하는 단계; (b) 상기 실장 프로그램들의 실행 순서를 정하는 단계; (c) 순서가 도래한 실장 프로그램에 따라 상기 표면실장기를 제어하되, 상기 실장 프로그램의 각 단위명령에 따라 이에 대응되는 단위작업을 수행하는 단계; (d) 해당 단위작업에서 에러가 발생하면, 해당 사용자 단말에 보정작업을 요청하는 단계; (e) 보정된 상태에서 보정값을 추출하여 보정값으로 상기 단위작업을 보정하는 단계; (f) 해당 실장 프로그램의 모든 단위작업을 수행할 때까지 상기 (c)단계 내지 상기 (e)단계를 반복하는 단계; 및, (g) 상기 (e)단계에서 보정작업이 완성되지 못하거나, 모든 단위작업이 수행되면, 해당 실장 프로그램을 종료하고, 다음 순서의 실장 프로그램이 순서가 도래한 것으로 보아 실행시키는 단계를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a method of controlling a surface mount for a multi-user, the method comprising the steps of: (a) Receiving an execution request of the execution programs from the user terminals; (b) determining an execution order of the implementation programs; (c) controlling the surface mount machine in accordance with an assembled mounting program, and performing a unit operation corresponding to each unit instruction of the mounting program; (d) requesting a corresponding user terminal for a correction operation when an error occurs in the unit operation; (e) extracting a correction value from the corrected state and correcting the unit operation with a correction value; (f) repeating the steps (c) to (e) until all unit operations of the implementation program are performed; And (g) when the correction operation is not completed in the step (e), or when all unit operations are performed, the execution program is terminated and the execution program of the next step is executed .

또, 본 발명은 다중 사용자를 위한 표면실장기의 제어 방법에 있어서, 상기 (b)단계에서, 상기 실장 프로그램이 요청된 순서에 따라 실장 프로그램의 실행 순서를 정하거나, 누적된 사용횟수나 누적 사용시간에 반비례하여 사용자의 우선순위를 정하고 상기 사용자의 우선순위와 요청 순서를 반영하여 실행 순서를 정하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a method of controlling a surface real estate for a multi-user system, the method comprising the steps of: The priority order of the user is determined in inverse proportion to the time, and the execution order is determined by reflecting the priority order of the user and the order of requests.

또, 본 발명은 다중 사용자를 위한 표면실장기의 제어 방법에 있어서, 상기 단위명령은 부품을 흡착시키는 흡착명령, 부품을 검사하는 검사명령, 부품을 보드에 실장시키는 실장명령, 헤드의 노즐을 변경하는 노즐명령을 포함하는 명령들 중 어느 하나 이상인 것을 특징으로 한다.According to another aspect of the present invention, there is provided a method of controlling a surface mount component for a multi-user, the unit instruction including an adsorption command for adsorbing a component, an inspection command for inspecting a component, a mounting command for mounting a component on a board, And a nozzle instruction to be executed by the controller.

또, 본 발명은 다중 사용자를 위한 표면실장기의 제어 방법에 있어서, 상기 실장 프로그램은 다수의 커맨드로 구성되고, 상기 커맨드는 적어도 흡착명령, 검사명령, 및 실장 명령으로 구성되고, 상기 (e)단계에서, 사용자의 요청에 따라 해당 단위작업을 보정하지 않고, 해당 단위작업에 속하는 커맨드를 스킵하고 다음 커맨드의 단위작업들을 실행할 수 있고, 스킵하는 경우 커맨드 실행을 위한 초기 상태로 복구시키는 것을 특징으로 한다.In the control method for a surface real-time for a multi-user, the mounting program is composed of a plurality of commands, and the command is composed of at least an adsorption command, an inspection command, and an installation command, The unit tasks can be skipped and the unit tasks of the next command can be skipped without correcting the unit tasks according to the request of the user. In case of skipping, commands are restored to the initial state for command execution do.

또, 본 발명은 다중 사용자를 위한 표면실장기의 제어 방법에 있어서, 상기 (e)단계에서, 상기 서버는 현재 작업상태 이미지를 촬영하여 상기 사용자 단말로 전송하고, 상기 작업상태 이미지 상에서 사용자에 의해 보정된 결과를 입력받고 입력된 보정결과로부터 보정값을 추출하여, 상기 실장 프로그램의 단위명령에서 지정된 값을 상기 보정값으로 보정하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a method of controlling a surface real estate for a multi-user, the method comprising the steps of: (a) receiving, by the user, And the correction value is extracted from the input correction result, and the value specified in the unit command of the implementation program is corrected to the correction value.

상술한 바와 같이, 본 발명에 따른 다중 사용자를 위한 표면실장기의 제어 방법에 의하면, 실장 프로그램으로 사용 권한을 요청하고 그 범위 내에서 제어 권한을 허락함으로써, 각 사용자가 과도하게 표면실장기를 점유하는 것을 방지하고 대기 시간을 예측할 수 있는 효과가 얻어진다. 또한, 이를 통해, 표면실장기의 사용 효율을 극대화할 수 있다.As described above, according to the method for controlling the surface real estate for multiple users according to the present invention, each user can occupy the surface mounter excessively by requesting the use right with the implementation program and granting the control right within the range. And the waiting time can be predicted. In addition, through this, it is possible to maximize the use efficiency of the surface yarn organs.

도 1은 종래기술에 따른 표면실장기의 제어시스템의 구성에 대한 블록도.
도 2는 본 발명을 실시하기 위한 전체 시스템에 대한 구성도.
도 3은 본 발명의 일실시예에 따른 표면실장기의 구성에 대한 블록도.
도 4는 본 발명의 일실시예에 따른 실장 프로그램에 대한 예시도.
도 5는 본 발명의 일실시예에 따른 실장 프로그램의 단위명령 시에 촬영된 단위작업 이미지.
도 6은 본 발명의 일실시예에 따른 다중 사용자를 위한 표면실장기의 제어 방법을 설명하는 흐름도.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of a configuration of a control system for a surface mount semiconductor device according to the prior art; FIG.
2 is a block diagram of an overall system for implementing the present invention;
3 is a block diagram of a configuration of a surface treatment organ according to an embodiment of the present invention.
4 is an exemplary view of a mounting program according to an embodiment of the present invention;
5 is a unit work image taken at the time of a unit command of a mounting program according to an embodiment of the present invention.
6 is a flowchart illustrating a method of controlling a surface real estate for a multi-user according to an embodiment of the present invention.

이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the drawings.

또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.In the description of the present invention, the same parts are denoted by the same reference numerals, and repetitive description thereof will be omitted.

먼저, 본 발명을 실시하기 위한 전체 시스템의 구성을 도 2를 참조하여 설명한다.First, the configuration of the entire system for carrying out the present invention will be described with reference to FIG.

도 2에서 보는 바와 같이, 본 발명을 실시하기 위한 전체 시스템은 기판에 부품을 실장하는 표면실장기(10), 네트워크(80)에 연결되어 실장 프로그램(70)의 실행을 요청하는 사용자 단말(20), 및, 사용자 단말(20)의 실장 프로그램 실행 요청을 수신하여 순차적으로 실행시켜주는 서버(30)로 구성된다.2, the overall system for implementing the present invention comprises a surface mount 10 for mounting components on a substrate, a user terminal 20 connected to the network 80 and requesting the execution of the mount program 70 And a server 30 for receiving a request to execute the implementation program of the user terminal 20 and sequentially executing the request.

먼저, 표면실장기(10)는 서버(30)의 제어에 따라, 인쇄회로기판(PCB) 등 보드(100)에 전자부품을 실장하는 기기이다. 바람직하게는, 표면실장기(10)는 각 실장 프로그램(70) 별로 새로운 보드(100)를 준비하여, 해당 보드(100)에 부품을 실장한다.First, the surface mount chip 10 is a device for mounting electronic components on a board 100, such as a printed circuit board (PCB), under the control of the server 30. Preferably, the surface mount chip 10 prepares a new board 100 for each mounting program 70, and mounts the components on the board 100.

다음으로, 사용자 단말(20)은 사용자가 사용하는 단말로서, PC, 노트북, 태블릿PC 등 컴퓨팅 기능을 구비한 단말이다. 바람직하게는, 사용자 단말(20)에는 실장 프로그램(70)의 작성, 요청, 실행 등을 수행할 수 있는 소프트웨어 등 클라이언트가 설치될 수 있다. 사용자는 상기 클라이언트를 이용하여 표면실장기(10)의 실장 작업을 수행한다. 서버(30)가 웹 기반으로 서비스를 제공하는 경우에는 클라이언트는 웹브라우저 등이 될 수 있다. 이하에서는, 설명의 편의를 위하여 사용자가 사용자 단말(20)을 이용하여 해당 작업을 수행하는 것으로 설명한다.Next, the user terminal 20 is a terminal used by a user and has a computing function such as a PC, a notebook, and a tablet PC. Preferably, the user terminal 20 may be provided with a client, such as software, capable of creating, requesting, and executing the implementation program 70. The user performs the mounting operation of the surface mount 10 using the client. When the server 30 provides a web based service, the client may be a web browser or the like. Hereinafter, for the sake of convenience of explanation, it is assumed that the user performs the corresponding task using the user terminal 20. [

사용자 단말(20)은 실장 프로그램(70)을 작성하여, 서버(30)에 해당 실장 프로그램(70)의 실행을 요청한다.The user terminal 20 creates the implementation program 70 and requests the server 30 to execute the implementation program 70. [

실장 프로그램(70)은 PCB 기판 등 보드(100) 상에 부품을 실장시키는 일련의 명령, 즉, 커맨드(command)로 구성된 프로그램이다. 하나의 커맨드(command)는 하나의 부품을 특정하여, 해당 부품의 위치를 지정함으로써 흡착(pick)시키고, 기준 이미지를 지정함으로써 흡착된 부품의 이미지와 기준 이미지와 비교하여 검사(inspect)하고, 보드 상의 장착점(또는 실장점)을 지정함으로써 해당 부품을 보드(100)에 실장(mount)시키는 일련의 단위작업들로 구성된다. 하나의 보드(100) 상에는 다수의 부품이 실장되므로, 상기와 같은 커맨드들이 일련으로 다수 구성되어 하나의 실장 프로그램으로 구성된다.The mounting program 70 is a series of commands for mounting components on a board 100 such as a PCB board, that is, a program composed of commands. One command specifies one component, picks it by specifying the position of the component, inspects the image of the picked-up part by comparing it with the reference image by designating the reference image, (Or a mounting point) on the board 100 by mounting the board on the board 100 so that the board is mounted on the board 100. Since a plurality of components are mounted on one board 100, a plurality of the above-described commands are formed in a series to constitute one mounting program.

사용자 단말(20)은 실장 프로그램(70)을 작성할 수 있는 편집기가 설치되어, 사용자는 해당 편집기를 통해 실장 프로그램(70)을 작성한다. 사용자 단말(20)은 작성된 실장 프로그램(70)을 서버(30)에 전송하여 해당 실장 프로그램의 실행을 요청한다.The user terminal 20 is provided with an editor capable of creating the mounting program 70, and the user creates the mounting program 70 through the corresponding editor. The user terminal 20 sends the created implementation program 70 to the server 30 and requests execution of the implementation program.

또한, 사용자 단말(20)은 실장 프로그램(70)이 실행될 때 정밀조정 작업(또는 보정작업)을 위한 기능을 제공한다. 즉, 보드 상에 장착점 등을 정밀하게 지정하기 위하여, 사용자 단말(20)은 표면실장기(10)에서 촬영된 장착점 부위 이미지를 수신하여 표시하고, 해당 이미지 상에서 사용자가 지정한 세부 장착점 위치를 입력받아 해당 위치 정보를 서버(30) 또는 표면실장기(10)에 전송한다. 즉, 사용자는 촬영된 장착점 부위를 육안으로 확인되고, 세부 장착점 위치를 지정하여 입력할 수 있다.In addition, the user terminal 20 provides a function for precise adjustment (or correction) when the implementation program 70 is executed. That is, in order to precisely designate a mount point or the like on the board, the user terminal 20 receives and displays an image of the mount point region photographed by the surface mount organ 10, receives the detailed mount point position designated by the user on the image And transmits the position information to the server (30) or the surface body (10). That is, the user can visually confirm the photographed mount point portion, and can specify and input the detailed mount point position.

다음으로, 서버(30)는 사용자 단말(20)로부터 실장 프로그램(70)의 실행 요청을 수신하여, 요청된 실장 프로그램(70)에 따라 표면실장기(10)를 제어하여 실장 작업을 수행시킨다.Next, the server 30 receives the execution request of the mounting program 70 from the user terminal 20, controls the surface real-time machine 10 according to the requested mounting program 70, and performs the mounting operation.

서버(30)는 작업 스택(40)을 구성하여, 요청된 실장 프로그램(70)들을 수신하여, 작업 스택(40)에 적재한다. 그리고 서버(30)는 작업 스택(40)에 적재된 실장 프로그램(70)을 적재된 순서에 따라 해당 실장 프로그램(70)을 순차적으로 실행시켜준다.The server 30 configures the job stack 40 to receive the requested mounting programs 70 and load them on the job stack 40. [ Then, the server 30 sequentially executes the mounting program 70 loaded on the work stack 40 according to the loaded order.

도 1의 예에서, 사용자 단말 1은 실장 프로그램 S11, S12를 작성하여 서버(30)에 요청하고, 사용자 단말 2는 실장 프로그램 S21을 작성하여 요청한다. 이와 같이, 각 사용자 단말들은 실장 프로그램을 작성하여 서버(30)에 요청한다. 서버(30)는 실장 프로그램(70)을 요청된 순서에 따라 작업 스택(40)에 적재한다. 즉, 요청 순서에 따라, 실장 프로그램 S11, SN1, S21, S12의 순서대로 적재하고, 그 순서대로 실장 프로그램 S11, SN1, S21, S12을 순차적으로 실행시켜준다.In the example of FIG. 1, the user terminal 1 creates the installation programs S11 and S12 and requests the server 30, and the user terminal 2 creates and requests the installation program S21. In this manner, each user terminal creates a mounting program and requests the server 30 to do so. The server 30 loads the mounting program 70 in the job stack 40 in the requested order. That is, in accordance with the request order, the mounting programs S11, SN1, S21, and S12 are loaded in this order, and the mounting programs S11, SN1, S21, and S12 are sequentially executed in that order.

한편, 사용자 단말 1에서와 같이, 하나의 사용자 단말에서 다수의 실장 프로그램을 작성하여 실행을 요청할 수 있다.On the other hand, as in the user terminal 1, a plurality of implementation programs can be created in one user terminal and requested to be executed.

또한, 바람직하게는, 일실시예로서, 각 사용자 단말(20)에서 작성되는 실장 프로그램은 모두 동일한 인쇄회로기판(PCB)을 만들기 위한 것이다. 즉, 최종적으로 완성하려는 인쇄회로기판(PCB)은 동일하다. 본 발명은 교육용으로 사용될 수 있기 때문에, 기기 실습을 하는 사용자에게 동일한 PCB를 제작하도록 과제가 제시될 수 있다. 이 경우, 각 부품들을 실장하는 순서 등은 다를 수 있으나, 최종 결과는 동일해야 한다. 특히, 해당 PCB를 제작하기 위해서 실장되는 부품들은 모두 동일한 종류이다.Also, preferably, as one embodiment, the mounting programs created in each user terminal 20 are all for making the same printed circuit board (PCB). That is, the final printed circuit board (PCB) is the same. Since the present invention can be used for education, a task can be presented to produce the same PCB for the user who is practicing the device. In this case, the order in which the components are mounted may be different, but the final result should be the same. Particularly, all of the components mounted to manufacture the PCB are the same type.

또는, 다른 실시예로서, 각 사용자 단말(20)에서 작성되는 실장 프로그램들은 서로 다른 인쇄회로기판(PCB)를 제작하나, 모두 동일한 부품 또는 피더(18)에서 공급되는 부품 내에서 제작된다. 즉, 요청되는 실장 프로그램(70)들은 피더(18)에서 제공되는 부품 내에서 실장되어야 한다.Alternatively, the mounting programs created in the respective user terminals 20 may be manufactured in the same parts or in the parts supplied from the feeder 18, although different printed circuit boards (PCB) may be manufactured. That is, the requested mounting programs 70 should be mounted in the parts provided in the feeder 18.

한편, 서버(30)는 인터넷, 인트라넷, LAN 등 네트워크(80)를 통해 각 사용자 단말(20)들과 연결된다. 즉, 서버(30)는 하나의 실습장 내에 LAN 등 근거리통신망을 통해 구성될 수도 있고, 인터넷 등을 통해 원거리에서도 서비스를 제공할 수 있다.Meanwhile, the server 30 is connected to each user terminal 20 through a network 80 such as the Internet, an intranet, and a LAN. In other words, the server 30 can be configured in a lab through a local area network such as a LAN, or can provide services over a long distance via the Internet or the like.

또한, 서버(30)에 설치되는 서버 기능과, 사용자 단말(20)에 설치되는 클라이언트 기능은 서버-클라이언트 구현방법에 따라 다양하게 구성될 수 있다. 즉, 일례로서, 서버에서 실행 프로그램의 작성, 요청, 정밀조정 등 대부분의 작업을 수행하고, 클라이언트는 더미 터미널의 기능만을 제공할 수 있다. 다른 예로서, 클라언트에서 실행 프로그램의 작성과 실행 요청 작업만 수행하고, 서버에서 정밀조정 작업(또는 보정작업) 등을 수행하는 등 작업들을 분담하여 수행될 수 있다.In addition, the server function installed in the server 30 and the client function installed in the user terminal 20 can be variously configured according to the server-client implementation method. That is, as an example, the server performs most of operations such as creation of an executable program, request, fine tuning, and the like, and the client can provide only the function of the dummy terminal. As another example, it can be performed by sharing only tasks such as performing a creation and execution request operation of an execution program in a client, performing a fine adjustment operation (or a correction operation) on the server, and the like.

다음으로, 본 발명의 일실시예에 따른 표면실장기(10)의 구성에 대하여 도 3을 참조하여 보다 구체적으로 설명한다.Next, the configuration of the surface yarn organ 10 according to one embodiment of the present invention will be described in more detail with reference to Fig.

도 3에서 보는 바와 같이, 표면실장기(10)의 중앙에는 좌우로 이동하는 컨베이어벨트 등 이송부(11)가 구비된다. 이송부(11)는 그 일측에 보드공급부(12)와 연결되어, 보드공급부(12)에서 이송부(11)로 보드(100)가 공급된다. 이송부(11)는 공급되는 보드(100)를 이동시켜 중앙에 위치하게 하거나, 보드(100)의 실장작업이 완료되면 해당 보드를 이동시켜 배출시킨다. 또한, 바람직하게는, 보드배출부(미도시)는 완료된 보드(100)들이 적재되어, 추후 사용자들이 완료된 보드들을 가져갈 수 있도록 구성될 수 있다.As shown in FIG. 3, a conveying unit 11 such as a conveyor belt moving left and right is provided at the center of the surface yarn 10. The transfer unit 11 is connected to the board supply unit 12 at one side thereof and the board 100 is supplied from the board supply unit 12 to the transfer unit 11. The transfer unit 11 moves the supplied board 100 to a central position, or moves the board when the board 100 is mounted. Also, preferably, the board ejection unit (not shown) can be configured so that the completed boards 100 are loaded so that the users can take the completed boards later.

또한, 이송부(11) 위에는 X축과 Y축으로 헤드(14)를 이동시키는 갠트리(13)가 구비된다. 즉, 구동모터에 의해 헤드(14)는 X축과 Y축의 갠트리(13)를 통해 X, Y축으로 이동하여, 피더(18)에서 공급되는 부품을 흡착하고, 보드(100) 상에 부품이 놓여질 위치로 이동하여 흡착한 부품을 실장시킨다. 이와 같은 부품 실장 작업을 반복적으로 수행한다.A gantry 13 for moving the head 14 in the X axis and the Y axis is provided on the transfer unit 11. That is, the head 14 is moved in the X and Y axes through the gantry 13 of the X and Y axes by the drive motor to pick up the parts supplied from the feeder 18, Move to the position to be placed and mount the adsorbed parts. The component mounting operation is repeatedly performed.

헤드(14)는 크게 툴(jaw 또는 chuck)과 노즐로 이루어져 있다. 상기 노즐은 진공상태를 조성하여 실제로 전자부품을 흡착하는 부분이며, 툴 부분은 전자부품이 노즐에 흡착되었을때 흡착된 전자부품이 노즐의 중심위치에 놓이게 하여 장착시 위치 및 각도의 정밀도를 보장하기 위한 것이다. 노즐은 그 크기나 형상이 다른 여러 종류가 준비되고, 전자부품의 크기나 형상에 따라 그에 맞는 노즐이 사용된다.The head 14 largely consists of a tool (jaw or chuck) and a nozzle. The nozzle is a part for absorbing an electronic component by composing a vacuum state. The tool part ensures that the suctioned electronic part is positioned at the center position of the nozzle when the electronic part is adsorbed to the nozzle, . The nozzles are prepared in various sizes and shapes, and nozzles corresponding to the size and shape of the electronic components are used.

한편, 헤드(14)에는 카메라(15)가 인접되어 설치되고, 카메라(15)는 헤드(14)가 위치하는 아래 부분을 촬영하여, 촬영된 이미지를 획득한다.On the other hand, a camera 15 is provided adjacent to the head 14, and the camera 15 photographs the lower part where the head 14 is located, and acquires the photographed image.

또한, 피더 베이스부(17)는 표면실장기(10)의 일측에는 구비된다. 전자부품을 공급하는 피더(18)는 피더 베이스부(17)에 탈부착시킬 수 있다. 하나의 피더(18)에는 한 종류의 전자부품들로 채워진다. 필요한 부품이 채워진 피더(18)들을 피더 베이스부(17)에 장착시켜, 필요 부품들을 공급한다.Further, the feeder base portion 17 is provided on one side of the surface yarn organ 10. The feeder 18 for supplying the electronic component can be detachably attached to the feeder base portion 17. One feeder 18 is filled with one kind of electronic parts. The feeder 18 filled with the necessary parts is mounted on the feeder base part 17 to supply necessary parts.

한편, 노즐 스테이션(16)이 표면실장기(10)의 일측에 설치되고, 바람직하게는, 피더 베이스부(17)와 인접한 위치에 설치된다.On the other hand, the nozzle station 16 is installed at one side of the surface sealant 10, preferably at a position adjacent to the feeder base 17.

앞서 설명한 바와 같이, 표면실장기(10)에서 장착 가능한 부품들은 그 외형이나 크기, 리드(lead)의 유무와 리드 피치(lead pitch) 및 요구 장착 정밀도 등에 따라 각기 다른 노즐을 사용하여 작업을 수행하게 된다. 따라서, 보드(100) 상에 필요한 부품의 종류에 대응할 노즐의 수가 다양한 경우에는 장착할 부품에 따라 필요한 노즐을 헤드(14)상에서 교환해 가며 작업을 수행해야 한다. 작업에 필요한 노즐은 헤드(14)상에 이미 설치되어 있거나 노즐 스테이션(16)에 설치되어 있어야 한다. 표면실장기(10)는 사용자가 실장 프로그램에 의해 지정한 노즐의 정보를 이용하여 작업 순서에 따라 노즐을 교환하면서 작업을 수행한다.As described above, the components mountable in the surface mount 10 perform operations using different nozzles depending on the external shape, the size, the presence or absence of leads, the lead pitch, and the required mounting accuracy do. Therefore, when the number of nozzles corresponding to the kinds of parts required on the board 100 is various, it is necessary to perform the operation by exchanging necessary nozzles on the head 14 according to the parts to be mounted. The nozzles necessary for the operation must be already installed on the head 14 or installed in the nozzle station 16. [ The surface real-time organ 10 performs the work while exchanging the nozzles according to the work order by using the information of the nozzles designated by the mounting program by the user.

다음으로, 본 발명의 일실시예에 따른 실장 프로그램(70)의 구조에 대하여 도 4를 참조하여 보다 구체적으로 설명한다.Next, the structure of the mounting program 70 according to the embodiment of the present invention will be described more specifically with reference to FIG.

도 4a에서 보는 바와 같이, 본 발명에 따른 실장 프로그램(70)은 다수의 커맨드(command) 또는 명령으로 구성되며, 특히, 일련의 커맨드들로 구성된다. 도 4a는 커맨드 C1, C2, C3, ..., Cn으로 구성되는 실장 프로그램을 보여주고 있다.As shown in FIG. 4A, the mounting program 70 according to the present invention is composed of a plurality of commands or commands, in particular, a series of commands. Fig. 4A shows a mounting program composed of the commands C1, C2, C3, ..., Cn.

즉, 하나의 커맨드는 하나의 부품을 보드(100)에 실장하는 명령을 말한다. 하나의 실장 프로그램(70)은 하나의 보드(100)에 필요한 부품들을 모두 실장하도록 지시하는 프로그램이다. 따라서 실장 프로그램(70)은 보드(100)에 실장하려는 부품의 수만큼 커맨드를 실행해야 한다.In other words, one command refers to a command to mount one component on the board 100. One mounting program 70 is a program for instructing mounting of all necessary components in one board 100. Therefore, the mounting program 70 has to execute a command as many times as the number of parts to be mounted on the board 100. [

또한, 하나의 커맨드는 해당 부품의 위치를 지정함으로써 흡착(pick)시키는 단위명령, 기준 이미지를 지정함으로써 흡착된 부품의 이미지와 기준 이미지와 비교하여 검사(inspect)하는 단위명령, 보드 상의 장착점(또는 실장점)을 지정함으로써 해당 부품을 보드(100)에 실장(mount)시키는 단위명령으로 구성된다.One command is a unit command for picking by specifying the position of the part, a unit command for inspecting the image of the picked-up part by comparing the image of the picked-up part with the reference image, And mounts the component on the board 100 by designating the mounting point.

도 4a에서 Pick(B1, a1, b1)은 부품 B1의 피드 위치(또는 흡착위치) (a1,b1)로 이동하여 해당 부품을 흡착시키는 단위명령이다. 또한, Inspect(B1,P1)는 부품 B1을 기준 이미지 P1과 대비하여 검사하라는 단위명령이다. 또한, Mount(B1,x1,y1)은 부품 B1을 보드(100) 상의 위치(또는 실장위치) (x1,y1)에 실장시키라는 단위명령이다.In Fig. 4A, Pick (B1, a1, b1) is a unit command to move to the feed position (or adsorption position) a1, b1 of the component B1 and adsorb the component. In addition, Inspect (B1, P1) is a unit command for checking the part B1 against the reference image P1. Mount (B1, x1, y1) is a unit command to mount the component B1 on the board 100 (or mounting position) (x1, y1).

즉, 하나의 커맨드는 특정된 부품을 보드(100)에 실장시키는 명령으로서, 특정된 부품을 흡착하고(흡착 세부명령 또는 흡착명령), 흡착된 부품을 검사하고(검사명령), 검사된 부품을 장착점에 실장한다(실장명령).That is, one command is a command to mount a specified part on the board 100, and the specified part is sucked (suction command or suction command), the suctioned part is inspected (inspection command) Mounted on the mounting point (mounting command).

한편, 도 4b와 같이, 하나의 커맨드에는 노즐을 변경하는 단위명령(Nozzle)을 더 포함할 수 있다. 노즐 단위명령(또는 노즐명령)은 지정된 노즐로 변경하라는 단위명령이다. 도 4b의 Nozzle(N2,p2,q2)는 위치 (p2,q2)에 배치된 노즐 N2로 변경하라는 단위명령이다.On the other hand, as shown in FIG. 4B, one command may further include a unit command for changing nozzles. A nozzle unit command (or nozzle command) is a unit command to change to a designated nozzle. The nozzle (N2, p2, q2) in Fig. 4B is a unit command to change to the nozzle N2 disposed at the position (p2, q2).

도 4b와 같이 노즐 변경의 단위 명령은 하나의 커맨드에 포함될 수 있고, 도 4c와 같이 하나의 커맨드로 처리될 수도 있다.As shown in FIG. 4B, the nozzle change unit command may be included in one command and may be processed by one command as shown in FIG. 4C.

앞서 도 4에서 제시된 실장 프로그램들은 여러 실시예일 뿐, 이에 한정되지 않는다. 예를 들어, 반복되는 실장 작업을 하나의 명령이나, 반복문 등으로 표시될 수도 있다.The mounting programs shown in FIG. 4 are various embodiments, but are not limited thereto. For example, a repeating implementation may be displayed as a single command, a loop, or the like.

다음으로, 본 발명에서 사용되는 정밀 조정 또는 보정작업에 대하여 도 5를 참조하여 보다 구체적으로 설명한다.Next, the fine adjustment or correction operation used in the present invention will be described in more detail with reference to FIG.

도 5는 실장 프로그램에 따라 흡착명령 Pick(B1,a1,b1)의 단위명령을 수행할 때, 해당 흡착점에서 촬영된 이미지(또는 작업 이미지)를 나타내고 있다.Fig. 5 shows an image (or a working image) photographed at the suction point when performing the unit command of the suction instruction Pick (B1, a1, b1) according to the mounting program.

도 5에서 보는 바와 같이, 실장 프로그램에서 부품 B1에 대한 흡착 위치(또는 흡착점)가 (a1,b1)로 지정되고 있다. 그러나 표면실장기(10)가 헤드(14)를 이동시켜 해당 위치로 이동하였으나, 실제 그 위치에 해당 부품 B1이 위치되지 않을 수 있다. 해당 부품 B1의 실제 위치는 (a1',b1')이다.As shown in Fig. 5, the suction position (or suction point) for the component B1 in the mounting program is designated as (a1, b1). However, the surface yarn 10 moves to the corresponding position by moving the head 14, but the corresponding part B1 may not be positioned at the actual position. The actual position of the component B1 is (a1 ', b1').

따라서 해당 부품 B1의 흡착점의 실제위치를 (a1,b1)에서 (a1',b1')로 보정해주어야 한다. 이를 보정작업(또는 정밀조정)이라 부르기로 한다. 즉, 보정작업은 초기 명령에서 지정해준 값(또는 초기지정값, 지정값)을 보정값(또는 실제값)으로 보정해주는 것을 말한다.Therefore, the actual position of the absorption point of the component B1 must be corrected from (a1, b1) to (a1 ', b1'). This is called a correction operation (or fine adjustment). That is, the correction operation is to correct the value (or initial designation value, designation value) specified in the initial command by the correction value (or actual value).

흡착 명령인 경우에는 흡착점의 위치를 실제위치(보정값)로 보정해주는 것을 말하고, 실장 명령인 경우에는 장착점의 위치를 조정(보정)해주는 것을 말한다. 또한, 검사 명령에서는 기준 이미지 비교를 통한 검사결과를 실제로 확인해주는 것을 말한다.In the case of the suction command, the position of the suction point is corrected to the actual position (correction value). In the case of the mounting command, the position of the mounting point is adjusted (corrected). In addition, the inspection command is to actually check the inspection result by comparing the reference image.

구체적으로, 사용자는 도 5와 같은 현재 작업 이미지를 확인하여, 헤드의 초점을 (a1,b1)에서 (a1',b1')의 위치로 이동시킨다. 즉, 사용자 단말(20)이 헤드의 이동을 직접 제어한다. 그리고 헤드의 초점이 (a1',b1')의 위치와 일치하면, 사용자는 현재 위치가 실제 위치인 것을 확인해준다. 그러면 서버(30)는 현재 헤드의 위치 값을 보정값(실제값)으로 보정한다.Specifically, the user confirms the current operation image as shown in FIG. 5 and moves the focus of the head from (a1, b1) to (a1 ', b1'). That is, the user terminal 20 directly controls the movement of the head. If the focus of the head coincides with the position of (a1 ', b1'), the user confirms that the current position is the actual position. Then, the server 30 corrects the position value of the current head to a correction value (actual value).

즉, 정밀 조정은 사용자가 표면실장기를 직접 제어하여 실제값으로 보정한다. 특히, 작업 상태 이미지 상에서 보정한다.That is, the fine adjustment directly controls the surface mount machine by the user and corrects it to the actual value. In particular, correction is made on the work state image.

다음으로, 본 발명의 일실시예에 따른 다중 사용자를 위한 표면실장기의 제어 방법에 대하여 도 6을 참조하여 설명한다.Next, a method of controlling a surface real estate for a multi-user according to an embodiment of the present invention will be described with reference to FIG.

본 발명에 따른 표면실장기의 제어 방법은 앞서 도 1의 예와 같이, 표면실장기(10)의 제어를 사용자 단말(20)에서 원격으로 제어할 수 있도록 서비스를 제공하는 서버(30) 형태로 실시될 수 있다. 또한, 도 1의 서버와 클라이언트 형태의 서버-클라이언트 시스템 방식으로 실시될 수도 있다.The control method of the surface seal organ according to the present invention is a method of controlling the surface seal agent 10 in the form of a server 30 for providing a service to remotely control the surface mount machine 10 from the user terminal 20 . It may also be implemented in a server-client system manner in the form of a server and a client of FIG.

도 6에서 보는 바와 같이, 먼저, 서버(30)는 사용자 단말(10)로부터 실장 프로그램의 실행 요청을 수신한다(S10). 이때, 실장 프로그램도 함께 수신한다.As shown in FIG. 6, first, the server 30 receives a request to execute the implementation program from the user terminal 10 (S10). At this time, a mounting program is also received.

실장 프로그램은 실장 프로그램 작성도구(또는 에디터)를 통해 작성된다. 즉, 서버(30)는 실장 프로그램(70)을 작성하는 도구를 지원할 수 있다. 일실시예로서, 서버(30)는 실장 프로그램의 작성 도구(에디터 또는 클라이언트)를 사용자 단말(20)에 다운로드 하여 설치하도록 제공한다. 이 경우, 사용자 단말(20)에서 프로그램 작성 작업을 대부분 수행할 수 있다. 다만, 정밀 보정 등 온라인 상에서만 처리가능한 기능은 클라이언트가 서버(30)와 연동하여 제공될 수 있다.The implementation program is created through the implementation program creation tool (or editor). That is, the server 30 can support a tool for creating the implementation program 70. [ As one embodiment, the server 30 provides a tool (editor or client) for creating a package to be downloaded to the user terminal 20 for installation. In this case, most of the program creation work can be performed in the user terminal 20. [ However, functions that can be processed only on-line, such as precision correction, can be provided by a client in conjunction with the server 30.

다른 실시예로서, 서버(30)는 온라인 상에서 실장 프로그램을 작성할 수 있는 서비스를 제공한다. 일례로서, 서버(30)는 웹어플리케이션 서버로서 작동하고, 온라인 상에서 프로그램을 작성하도록 인터페이스를 제공할 수 있다.In another embodiment, the server 30 provides a service capable of creating a mounting program on-line. As an example, the server 30 operates as a web application server and can provide an interface for creating a program on-line.

다음으로, 서버(30)는 사용자 단말(20)로부터 요청된 실장 프로그램들의 실행 순서를 정한다(S20).Next, the server 30 determines the execution order of the application programs requested from the user terminal 20 (S20).

바람직하게는, 서버(30)는 요청된 순서대로 실행 순서를 정한다. 따라서 요청된 순서대로 실장 프로그램이 순차적으로 실행될 수 있다.Preferably, the server 30 determines the order of execution in the requested order. Therefore, the mounting program can be sequentially executed in the requested order.

또한, 다른 실시예로서, 서버(30)는 각 사용자별 우선순위를 정하고, 우선순위를 반영하여 실행 순서를 정할 수 있다. 즉, 사용자의 우선순위와 요청 순위를 모두 반영하여 최종적인 실행 순서를 정할 수 있다. 예를 들어, 누적된 사용횟수(또는 요청횟수)나 사용시간이 적을수록 해당 사용자의 우선순위를 높게 설정할 수 있다.Further, as another embodiment, the server 30 may set the priority order for each user, and may determine the execution order by reflecting the priority order. That is, the final execution order can be determined by reflecting both the user priority and the request ranking. For example, as the cumulative number of times of use (or the number of requests) or the usage time is smaller, the priority of the user can be set higher.

다음으로, 서버(30)는 실행될 실장 프로그램이 정해지면, 해당 실장 프로그램에 따라 표면실장기(10)를 제어하여 보드(100) 상에 전자 부품을 실장시키는 작업을 시작한다. 특히, 서버(10)는 실장 프로그램의 각 단위명령에 따라 이에 대응되는 단위작업을 수행한다(S30).Next, when the mounting program to be executed is determined, the server 30 starts the operation of mounting the electronic component on the board 100 by controlling the surface mount machine 10 according to the mounting program. In particular, the server 10 performs a unit operation corresponding to each unit instruction of the mounting program (S30).

앞서 설명한 바와 같이, 실장 프로그램(70)은 다수의 커맨드로 구성되고, 각 커맨드는 단위명령으로 구성된다. 단위명령은 부품을 흡착시키는 흡착명령, 부품을 검사하는 검사명령, 부품을 보드(100)에 실장시키는 실장명령, 헤드(14)의 노즐을 변경하는 노즐명령 등이다. 각 단위명령에 따라 표면실장기(10)를 제어하는 작업을 단위작업이라 부르기로 한다. 또한, 각 단위 명령의 종류에 따라 흡착작업, 검사작업, 실장작업, 노즐작업 등으로 부르기로 한다.As described above, the mounting program 70 is composed of a plurality of commands, and each command is constituted by a unit command. The unit command is an adsorption command to adsorb a part, an inspection command to inspect the part, a mounting command to mount the part on the board 100, a nozzle command to change the nozzle of the head 14, and the like. The operation of controlling the surface finish 10 according to each unit command is called a unit operation. In addition, depending on the type of each unit command, it is referred to as adsorption operation, inspection operation, mounting operation, nozzle operation, and the like.

즉, 서버(10)는 실장 프로그램에 구성된 각 단위명령에 따라 단위작업을 처리한다.That is, the server 10 processes the unit work according to each unit instruction configured in the implementation program.

도 4a의 예와 같이, 실장 프로그램은 커맨드 C1, C2, C3, ..., Cn으로 구성되고, 커맨드 C1은 흡착명령, 검사명령, 실장명령으로 구성된다. 따라서 프로그램 실행부(33)는 각 단위명령에 따라 흡착작업, 검사작업, 실장작업을 수행한다.As shown in the example of Fig. 4A, the mounting program is composed of commands C1, C2, C3, ..., Cn, and the command C1 is composed of an adsorption instruction, an inspection instruction, and a mounting instruction. Therefore, the program executing section 33 performs the adsorption operation, the inspection operation, and the mounting operation in accordance with each unit command.

이때, 서버(10)는 각 단위작업을 수행하기 위하여, 표면실장기(10)를 제어한다. 즉, 지정된 위치로 헤드(14)를 이동시키고 전자부품을 흡착시키거나 실장시킨다. 예를 들어, 위치지정을 위해, 갠트리(13)를 이용하여 헤드(14)를 X축과 Y축으로 이동시키거나, 지정된 위치에서 헤드(14)에 부착된 노즐로 전자부품을 흡착시키거나 실장시킨다.At this time, the server 10 controls the surface yarn 10 in order to perform each unit operation. That is, the head 14 is moved to the designated position and the electronic component is sucked or mounted. For example, for positioning, the gantry 13 may be used to move the head 14 in the X and Y axes, to adsorb the electronic components to the nozzles attached to the head 14 at designated locations, .

또한, 서버(10)는 각 단위작업을 수행할 때의 작업 상태를 카메라(15)로 촬영하여 현재 작업 이미지를 획득하고, 현재 작업 이미지를 사용자 단말(20)로 전송한다. 사용자는 현재 작업 이미지를 육안으로 확인함으로써, 해당 단위작업의 현재 작업 상태를 확인할 수 있다. 이를 통해, 전체 작업과정에서 사용자는 실시간으로 현재 작업 상태를 확인할 수 있다.In addition, the server 10 photographs the work state at the time of performing each unit work with the camera 15, obtains the current work image, and transmits the current work image to the user terminal 20. [ The user can visually check the current operation image to confirm the current operation status of the unit operation. This allows the user to check the current work status in real time during the entire work process.

다음으로, 서버(10)는 해당 단위작업이 정상적으로 처리되는지, 즉, 에러가 발생되는지를 확인한다(S40). 만약 해당 단위작업이 정상 처리되면 다음 단위명령을 수행한다(S80).Next, the server 10 checks whether the unit job is normally processed, that is, whether an error occurs (S40). If the unit job is normally processed, the next unit command is executed (S80).

만약, 단위작업을 수행할 때 지정된 명령이 정밀하게 처리되지 않으면(즉, 에러가 발생되면), 서버(10)는 사용자 단말(20)에 해당 에러 처리를 위한 보정작업을 요청한다(S50). 그리고 서버(10)는 보정된 상태에서 보정값을 추출하여 보정값으로 보정한다(S60).If the designated command is not processed precisely (i.e., an error occurs), the server 10 requests the user terminal 20 for a correction process for the error processing (S50). Then, the server 10 extracts the correction value from the corrected state and corrects it as a correction value (S60).

예를 들어, 흡착점을 지정하였으나 해당 흡착점으로 해당 부품이 흡착되지 않아 에러가 발생될 때, 서버(10)는 사용자 단말(20)에 보정을 요청한다. 또한, 부품을 촬영한 이미지와 기준 이미지가 달라 지정된 부품이 일치되지 않는 에러가 발생될 때, 서버(10)는 사용자에게 부품확인을 위한 보정을 요청한다.For example, when an adsorption point is designated but an error occurs because the component is not adsorbed to the adsorption point, the server 10 requests the user terminal 20 for correction. In addition, when an error occurs in which the image taken with the component and the reference image differ from the specified component, the server 10 requests the user to perform correction for the component identification.

서버(10)는 헤드(14)에 인접하게 설치된 카메라(15)를 통해 현재 헤드(14)가 수행하는 작업 상태를 촬영한다. 촬영된 현재 작업 이미지는 사용자 단말(20) 또는 클라이언트로 전송되어, 사용자가 현재 작업 상태를 실시간으로 직접 확인할 수 있다.The server 10 photographs the operation state of the current head 14 through the camera 15 installed adjacent to the head 14. [ The photographed current operation image is transmitted to the user terminal 20 or the client so that the user can directly confirm the current operation status in real time.

서버(10)는 사용자 단말(20) 또는 클라이언트에 현재 상태 이미지를 전송하고, 사용자 단말(20)로부터 직접 보정값을 입력받는다. 바람직하게는, 현재 상태 이미지에서 사용자가 보정한 결과(또는 보정한 위치)를 실제값(또는 보정값)으로 입력받을 수 있다. 또는 부품 이미지와 기준 이미지를 대비한 결과를 직접 사용자로부터 입력받아, 해당 부품의 검사 결과값을 보정할 수 있다.The server 10 transmits the current state image to the user terminal 20 or the client and receives the correction value directly from the user terminal 20. [ Preferably, a result (or a corrected position) corrected by the user in the current state image may be input as an actual value (or a correction value). Alternatively, a result obtained by directly comparing the part image and the reference image can be input directly from the user, and the inspection result value of the part can be corrected.

즉, 보정값은 사용자 단말(10)에 의해 현재 상태에서 직접 보정된 결과를 반영한 값이다.That is, the correction value is a value that reflects a result directly corrected by the user terminal 10 in the current state.

또한, 서버(10)는 지정된 값(지정값)을 보정값(또는 실제값, 정밀값)으로 단위작업을 보정한다. 바람직하게는, 서버(10)는 실장 프로그램(70)에서 해당 지정값을 보정값으로 보정할 수 있다. 또는 서버(10)는 실장 프로그램(70)의 보정판을 생성할 수 있다. 즉, 요청된 실장 프로그램(70)과 동일하나 지정값을 보정값으로 보정된 프로그램을 생성한다.In addition, the server 10 corrects the unit work by using a specified value (designated value) as a correction value (or actual value, precision value). Preferably, the server 10 can correct the designation value in the mounting program 70 to a correction value. Or the server 10 can generate a correction version of the mounting program 70. [ That is, the program is the same as the requested implementation program 70 but is corrected with the correction value as the designated value.

앞서 도 5의 예에서, 실장 프로그램(70)에서는 부품 B1의 위치를 (a1,b1)으로 지정하고 있다. 사용자가 직접 헤드(14)의 위치를 조정하여 (a1',b1')으로 위치로 이동시키고, 해당 위치에서 실제 위치임을 확인해준다. 이때, 서버(30)는 현재 상태에서 보정된 결과를 반영하여, (a1',b1')의 값을 보정값으로 추출한다. 그리고 지정값 (a1,b1)을 보정값 (a1',b1')으로 보정한다. 이때, 사용자가 작성한 실장 프로그램에서 지정값(a1,b1)을 보정값 (a1',b1')으로 보정하거나, 실장 프로그램의 보정판을 새로 생성하고 보정판에서 보정값(a1',b1')으로 위치값을 정한다.In the example of Fig. 5, the mounting program 70 designates the position of the component B1 as (a1, b1). The user directly adjusts the position of the head 14 to move it to the position (a1 ', b1'), and confirms the actual position at that position. At this time, the server 30 extracts the values of (a1 ', b1') as the correction values, reflecting the corrected result in the current state. Then, the specified values a1 and b1 are corrected to correction values a1 'and b1'. At this time, in the mounting program created by the user, the specified values a1 and b1 are corrected to the correction values a1 'and b1', or the correction values of the mounting program are newly generated and the correction values a1 'and b1' Set the value.

다음으로, 서버(30)는 보정 작업이 성공하였는지를 판단한다(S70). 만약 성공하지 않으면 현재 실장 프로그램의 실행을 중단하고, 다음 순서의 실장 프로그램을 실행시킨다.Next, the server 30 determines whether the correction operation is successful (S70). If it is not successful, abort the execution of the current executable program and execute the executable program in the next step.

서버(30)는 보정작업에 대한 제한 시간을 사전에 설정하고, 상기 제한 시간 내에 처리되지 않으면 해당 보정작업이 실패한 것으로 판단한다. 또한, 서버(30)는 사용자의 실패 또는 종료를 입력하면 해당 보정작업이 실패한 것으로 판단한다.The server 30 sets a time limit for the correction job in advance and determines that the correction job has failed if it is not processed within the time limit. In addition, when the user inputs a failure or termination of the user, the server 30 determines that the corresponding correction job has failed.

또한, 서버(30)는 보정값으로 보정한 후, 단위작업을 수행하여 완료되면 해당 단위작업이 성공된 것으로 판단한다.In addition, the server 30 corrects the correction value to a unit value, and if the unit operation is completed, determines that the corresponding unit operation is successful.

바람직하게는, 사용자 단말(20)이 해당 단위작업이 속한 커맨드를 스킵(skip)하라고 명령하면, 해당 커맨드에 속하는 모든 단위작업을 진행하지 않고 해당 커맨드의 단위작업들이 성공한 것으로 판단하여 다음 단위작업(또는 다음 커맨드의 단위작업)을 수행할 수 있다. 이때, 표면실장기(10)는 커맨드를 실행하기 위한 초기 상태로 복구시킨다. 예를 들어, 전자부품을 흡착한 경우, 흡착한 전자부품을 버리거나 원래 위치로 복구시킨다. 즉, 작업의 스킵은 커맨드 단위로 수행된다.Preferably, when the user terminal 20 instructs to skip the command to which the unit task belongs, it is determined that the unit tasks of the command are successful without proceeding with all the unit tasks belonging to the command, Or a unit operation of the next command). At this time, the surface real-organ 10 returns to the initial state for executing the command. For example, when an electronic component is adsorbed, the adsorbed electronic component is discarded or restored to its original position. That is, the skipping of the job is performed on a command-by-command basis.

보정 작업이 성공하면, 다음 수행할 단위명령이 존재하는지를 확인한다(S80). 만약 다음 단위명령이 존재하면, 다음 단위명령에 대한 단위작업을 수행한다(S30). 만약 다음 단위명령이 존재하지 않으면, 다음 실장 프로그램을 실행시킨다(S20).If the correction operation is successful, it is confirmed whether a next unit command to be performed exists (S80). If the next unit command exists, a unit operation for the next unit command is performed (S30). If there is no next unit command, the next execution program is executed (S20).

만약 실행할 실장 프로그램이 존재하지 않으면, 실장 프로그램 실행이 요청되는 것을 대기한다(S10).If there is no executable program to be executed, it waits for execution of the executable program (S10).

이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.Although the present invention has been described in detail with reference to the above embodiments, it is needless to say that the present invention is not limited to the above-described embodiments, and various modifications may be made without departing from the spirit of the present invention.

10 : 표면실장기 11 : 이송부
12 : 보드공급부 13 : 갠트리
14 : 헤드 15 : 카메라
16 : 노즐 스테이션 17 : 피더 베이스부
18 : 피더
20 : 사용자 단말 30 : 서버
40 : 작업스택
70 : 실장 프로그램 80 : 네트워크
10: surface treatment 11:
12: board supply part 13: gantry
14: head 15: camera
16: nozzle station 17: feeder base
18: Feeder
20: user terminal 30: server
40: Task stack
70: implementation program 80: network

Claims (5)

서버가 다수의 사용자 단말과 네트워크로 연결되어 상기 사용자 단말의 요청에 따라 표면실장기를 제어하는, 다중 사용자를 위한 표면실장기의 제어 방법에 있어서,
(a) 상기 사용자 단말들로부터 실장 프로그램들의 실행 요청을 수신하는 단계;
(b) 상기 실장 프로그램들의 실행 순서를 정하는 단계;
(c) 순서가 도래한 실장 프로그램에 따라 상기 표면실장기를 제어하되, 상기 실장 프로그램의 각 단위명령에 따라 이에 대응되는 단위작업을 수행하는 단계;
(d) 해당 단위작업에서 에러가 발생하면, 해당 사용자 단말에 보정작업을 요청하는 단계;
(e) 보정된 상태에서 보정값을 추출하여 보정값으로 상기 단위작업을 보정하는 단계;
(f) 해당 실장 프로그램의 모든 단위작업을 수행할 때까지 상기 (c)단계 내지 상기 (e)단계를 반복하는 단계; 및,
(g) 상기 (e)단계에서 보정작업이 완성되지 못하거나, 모든 단위작업이 수행되면, 해당 실장 프로그램을 종료하고, 다음 순서의 실장 프로그램이 순서가 도래한 것으로 보아 실행시키는 단계를 포함하는 것을 특징으로 하는 다중 사용자를 위한 표면실장기의 제어 방법.
A method of controlling a surface mount for a multi-user system, wherein a server is connected to a plurality of user terminals via a network to control a surface mount apparatus according to a request of the user terminal,
(a) receiving an execution request of the execution programs from the user terminals;
(b) determining an execution order of the implementation programs;
(c) controlling the surface mount machine in accordance with an assembled mounting program, and performing a unit operation corresponding to each unit instruction of the mounting program;
(d) requesting a corresponding user terminal for a correction operation when an error occurs in the unit operation;
(e) extracting a correction value from the corrected state and correcting the unit operation with a correction value;
(f) repeating the steps (c) to (e) until all unit operations of the implementation program are performed; And
(g) terminating the execution program if the correction operation is not completed in the step (e), or if all the unit operations are performed, and executing the execution program of the next sequence as the order comes A method for controlling a surface finish for a multi - user.
제1항에 있어서,
상기 (b)단계에서, 상기 실장 프로그램이 요청된 순서에 따라 실장 프로그램의 실행 순서를 정하거나, 누적된 사용횟수나 누적 사용시간에 반비례하여 사용자의 우선순위를 정하고 상기 사용자의 우선순위와 요청 순서를 반영하여 실행 순서를 정하는 것을 특징으로 하는 다중 사용자를 위한 표면실장기의 제어 방법.
The method according to claim 1,
In the step (b), the order of execution of the implementation program is determined according to the requested order of the implementation program, the priority of the user is determined in inverse proportion to the accumulated use time or the cumulative use time, And the execution order is determined in accordance with the result of the comparison.
제1항에 있어서,
상기 단위명령은 부품을 흡착시키는 흡착명령, 부품을 검사하는 검사명령, 부품을 보드에 실장시키는 실장명령, 헤드의 노즐을 변경하는 노즐명령을 포함하는 명령들 중 어느 하나 이상인 것을 특징으로 하는 다중 사용자를 위한 표면실장기의 제어 방법.
The method according to claim 1,
Wherein the unit command is one or more of an adsorption command to adsorb a part, an inspection command to inspect the part, an installation command to mount the part on a board, and a nozzle command to change a nozzle of the head. A method for controlling the surface finish of a substrate.
제1항에 있어서,
상기 실장 프로그램은 다수의 커맨드로 구성되고, 상기 커맨드는 적어도 흡착명령, 검사명령, 및 실장 명령으로 구성되고,
상기 (e)단계에서, 사용자의 요청에 따라 해당 단위작업을 보정하지 않고, 해당 단위작업에 속하는 커맨드를 스킵하고 다음 커맨드의 단위작업들을 실행할 수 있고, 스킵하는 경우 커맨드 실행을 위한 초기 상태로 복구시키는 것을 특징으로 하는 다중 사용자를 위한 표면실장기의 제어 방법.
The method according to claim 1,
Wherein the mounting program is composed of a plurality of commands, and the command comprises at least an adsorption command, an inspection command, and an implementation command,
In the step (e), it is possible to skip the command belonging to the unit job and to execute the unit tasks of the next command without correcting the unit job according to the request of the user, and to restore the initial state for command execution Wherein the control unit is configured to control the surface of the substrate.
제1항에 있어서,
상기 (e)단계에서, 상기 서버는 현재 작업상태 이미지를 촬영하여 상기 사용자 단말로 전송하고, 상기 작업상태 이미지 상에서 사용자에 의해 보정된 결과를 입력받고 입력된 보정결과로부터 보정값을 추출하여, 상기 실장 프로그램의 단위명령에서 지정된 값을 상기 보정값으로 보정하는 것을 특징으로 하는 다중 사용자를 위한 표면실장기의 제어 방법.
The method according to claim 1,
In the step (e), the server captures a current work state image and transmits it to the user terminal, receives a result corrected by the user on the work state image, extracts a correction value from the input correction result, And correcting the value specified in the unit command of the mounting program to the correction value.
KR1020170165673A 2017-12-05 2017-12-05 A mounter control system for multi-user KR102024189B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170165673A KR102024189B1 (en) 2017-12-05 2017-12-05 A mounter control system for multi-user

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170165673A KR102024189B1 (en) 2017-12-05 2017-12-05 A mounter control system for multi-user

Publications (2)

Publication Number Publication Date
KR20190066180A true KR20190066180A (en) 2019-06-13
KR102024189B1 KR102024189B1 (en) 2019-09-23

Family

ID=66847753

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170165673A KR102024189B1 (en) 2017-12-05 2017-12-05 A mounter control system for multi-user

Country Status (1)

Country Link
KR (1) KR102024189B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060034058A (en) 2004-10-18 2006-04-21 미래산업 주식회사 Virtual mounter system
KR20060071205A (en) 2004-12-21 2006-06-26 미래산업 주식회사 Virtual education system for mounter, and method for controlling using the same
JP2010165874A (en) * 2009-01-15 2010-07-29 Panasonic Corp Method for improving and supporting component mounting skill, apparatus for improving and supporting component mounting skill, mounting-related facility, system for improving and supporting component mounting skill, and program
JP2011055011A (en) * 2010-12-14 2011-03-17 Fuji Mach Mfg Co Ltd Display system for operation machine for pair circuit board
JP2014011689A (en) * 2012-06-29 2014-01-20 Panasonic Corp Part mounting machine
KR20170099488A (en) * 2016-02-24 2017-09-01 한국기술교육대학교 산학협력단 Device for Mounting Parts and Method for Controlling the Same

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060034058A (en) 2004-10-18 2006-04-21 미래산업 주식회사 Virtual mounter system
KR20060071205A (en) 2004-12-21 2006-06-26 미래산업 주식회사 Virtual education system for mounter, and method for controlling using the same
JP2010165874A (en) * 2009-01-15 2010-07-29 Panasonic Corp Method for improving and supporting component mounting skill, apparatus for improving and supporting component mounting skill, mounting-related facility, system for improving and supporting component mounting skill, and program
JP2011055011A (en) * 2010-12-14 2011-03-17 Fuji Mach Mfg Co Ltd Display system for operation machine for pair circuit board
JP2014011689A (en) * 2012-06-29 2014-01-20 Panasonic Corp Part mounting machine
KR20170099488A (en) * 2016-02-24 2017-09-01 한국기술교육대학교 산학협력단 Device for Mounting Parts and Method for Controlling the Same

Also Published As

Publication number Publication date
KR102024189B1 (en) 2019-09-23

Similar Documents

Publication Publication Date Title
JP6297591B2 (en) Data update method for circuit board working system and circuit board working system
US10893641B2 (en) Group determination method and group determination apparatus
KR20140000269A (en) Electronic component mounting system and electronic component mounting method
KR20140000272A (en) Electronic component mounting system and electronic component mounting method
KR200236121Y1 (en) Apparatus for inspecting and refilling solder paste printed on a PCB
KR20140000271A (en) Electronic component mounting system and electronic component mounting method
US10345792B2 (en) Group determination method and group determination apparatus
CN105209891A (en) Component mounting machine
KR101314141B1 (en) Component mounting device
KR102024189B1 (en) A mounter control system for multi-user
JP2010062343A (en) Component mounting method
JP4896855B2 (en) Component mounting system
JP6462439B2 (en) Apparatus for optimizing mounting operation and method for optimizing mounting operation
JP2645155B2 (en) Component mounting method and device
CN100584184C (en) Substrate recognition method and element mounting system
US20190313559A1 (en) Production plan creation system and production plan creation method
KR20010089196A (en) Apparatus for inspecting solder paste printed on a PCB and supplementarily dispensing solder paste
WO2019146004A1 (en) Correspondence relationship generation device
WO2021234848A1 (en) Component mounting system
JP6064168B2 (en) Mark imaging method and component mounting line
CN105830553A (en) Substrate work device
KR100258619B1 (en) Method for verifying a mounting data of equipment
JP2018113467A (en) Component mounting line, and board inspection device
JP2009027204A (en) Determining method of component mounting order, and determining device of component mounting order
JP7266944B2 (en) COMPONENT MOUNTING CONTROL DEVICE, COMPONENT MOUNTING CONTROL METHOD

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant