KR102299657B1 - Key Input Virtualization System for Robot Process Automation - Google Patents

Key Input Virtualization System for Robot Process Automation Download PDF

Info

Publication number
KR102299657B1
KR102299657B1 KR1020190171015A KR20190171015A KR102299657B1 KR 102299657 B1 KR102299657 B1 KR 102299657B1 KR 1020190171015 A KR1020190171015 A KR 1020190171015A KR 20190171015 A KR20190171015 A KR 20190171015A KR 102299657 B1 KR102299657 B1 KR 102299657B1
Authority
KR
South Korea
Prior art keywords
script
key input
automation
unit
character
Prior art date
Application number
KR1020190171015A
Other languages
Korean (ko)
Other versions
KR20210078995A (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 KR1020190171015A priority Critical patent/KR102299657B1/en
Publication of KR20210078995A publication Critical patent/KR20210078995A/en
Application granted granted Critical
Publication of KR102299657B1 publication Critical patent/KR102299657B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0238Programmable keyboards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

실제 키보드 입력이 요구되는 프로그램에서 로봇 프로세서 자동화 적용을 위해 문자열 데이터의 키 입력을 가상화할 수 있는 본 발명의 일 측면에 따른 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템은, 로봇 프로세스 자동화(Robot Process Automation)를 위해 생성된 자동화 스크립트(Script)를 실행하는 스크립트 실행부; 상기 자동화 스크립트에 포함된 문자열 데이터를 구성하는 각 문자의 키(Key)에 매핑되는 실제 키보드 상에서의 키 코드를 기초로 가상 키 입력신호를 생성하는 가상 키 입력신호 생성부; 및 상기 가상 키 입력 신호를 기초로 상기 문자열 데이터의 입력을 위한 실제 키 입력 메시지를 생성하는 키보드 구동 드라이버를 포함하는 것을 특징으로 한다.A key input virtualization system for robot processor automation according to an aspect of the present invention that can virtualize key input of string data for application of robot processor automation in a program requiring actual keyboard input is a robot process automation (Robot Process Automation) Script execution unit that executes the generated automation script (Script); a virtual key input signal generator for generating a virtual key input signal based on a key code on a real keyboard mapped to a key of each character constituting the character string data included in the automation script; and a keyboard driving driver generating an actual key input message for input of the character string data based on the virtual key input signal.

Description

로봇 프로세서 자동화를 위한 키 입력 가상화 시스템{Key Input Virtualization System for Robot Process Automation}Key Input Virtualization System for Robot Process Automation

본 발명은 로봇 프로세스 자동화에 관한 것으로서, 보다 구체적으로 로봇 프로세스 자동화를 위한 데이터 입력에 관한 것이다.The present invention relates to robotic process automation, and more particularly, to data input for robotic process automation.

정보통신 기술이 발달함에 따라 컴퓨터를 사용하여 처리하는 업무(이하 "컴퓨팅 업무"라 함)가 크게 증가하게 되었으며, 컴퓨터를 사용하여 일정한 패턴으로 반복 처리하는 업무도 증가하게 되었다.With the development of information and communication technology, the number of tasks performed using a computer (hereinafter referred to as "computing task") has increased significantly, and the number of tasks that are repeatedly processed in a certain pattern using a computer has also increased.

이에 따라, 반복적으로 수행되는 정형화된 업무를 사용자의 관여 없이 자동으로 처리해 줄 수 있는 로봇 프로세스 자동화(Robot Process Automation: RPA, 이하, 'RPA'라 함) 솔루션이 제안된 바 있다. Accordingly, a robot process automation (RPA, hereinafter referred to as 'RPA') solution that can automatically process routinely performed standardized tasks without user involvement has been proposed.

RPA는 사용자의 업무 패턴을 녹화하여 자동화 자동화 스크립트(Script)로 저장 후 재생함으로써 사람의 업무를 대신하게 하는 솔루션으로서, 메일 클라이언트 등 여러 가지 업무용 소프트웨어가 설치된 사용자의 컴퓨터에 로봇(소프트웨어)를 설치하여, 반복적이거나 정형화된 업무를 자동화 자동화 스크립트로 작성하여 재실행하는 소프트웨어를 의미한다.RPA is a solution that records a user's work pattern, stores it as an automation automation script (Script), and plays it back to replace a human's work. , refers to software that re-executes repetitive or standardized tasks as automated automation scripts.

일반적인 RPA 솔루션에서는 업무 자동화를 위해 사용자의 키 입력을 가상으로 대신해 주는 키보드 가상화가 매우 중요하다. 이를 위해, RPA 솔루션에서는 사용자의 키 입력을 자동화하기 위해 운영체제에서 제공하는 응용 프로그램 프로그래밍 인터페이스(Application Programming Interface: API, 이하 'API'라 함)를 통한 키보드 가상화 방법을 이용한다. In a typical RPA solution, keyboard virtualization that virtually replaces the user's keystrokes for task automation is very important. To this end, the RPA solution uses a keyboard virtualization method through an application programming interface (API, hereinafter referred to as 'API') provided by the operating system to automate the user's key input.

하지만 운영체제가 제공하는 API를 사용하는 일반적인 키보드 가상화 방법은 부정한 사용을 막기 위해 실제 키보드 입력을 요구하는 프로그램, 예컨대 은행 프로그램, ERP, 업무 시스템 등에서는 적용할 수 없어, 이러한 프로그램에서는 RPA 솔루션의 이용이 제한된다는 문제점이 있다.However, the general keyboard virtualization method using the API provided by the operating system cannot be applied to programs that require actual keyboard input to prevent illegal use, such as banking programs, ERP, business systems, etc. There is a problem with being limited.

본 발명은 상술한 문제점을 해결하기 위한 것으로서, 실제 키보드 입력이 요구되는 프로그램에서 로봇 프로세서 자동화 적용을 위해 문자열 데이터의 키 입력을 가상화할 수 있는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템을 제공하는 것을 그 기술적 과제로 한다.The present invention is to solve the above problems, and to provide a key input virtualization system for robot processor automation capable of virtualizing key input of character string data for robot processor automation application in a program requiring actual keyboard input. make it a technical task.

또한, 본 발명은 로봇 프로세스 자동화를 위한 자동화 스크립트의 수정 없이도 자동화 스크립트에 포함된 문자열 데이터를 실제 키보드 입력과 동일한 형태의 키 입력 신호로 가상화할 수 있는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템을 제공하는 것을 다른 기술적 과제로 한다.In addition, the present invention provides a key input virtualization system for robot processor automation that can virtualize the string data included in the automation script into a key input signal in the same form as the actual keyboard input without modification of the automation script for robot process automation. other technical tasks.

상술한 목적을 달성하기 위한 본 발명의 일 측면에 따른 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템은, 로봇 프로세스 자동화(Robot Process Automation)를 위해 생성된 자동화 스크립트(Script)를 실행하는 스크립트 실행부; 상기 자동화 스크립트에 포함된 문자열 데이터를 구성하는 문자 별로 실제 키보드 상에서 각 문자의 문자키(Key)에 매핑되는 키 코드를 기초로 가상 키 입력신호를 생성하는 가상 키 입력신호 생성부; 및 상기 가상 키 입력 신호를 기초로 상기 문자열 데이터의 입력을 위한 실제 키 입력 메시지를 생성하는 키보드 구동 드라이버를 포함하는 것을 특징으로 한다.A key input virtualization system for robot processor automation according to an aspect of the present invention for achieving the above object includes: a script execution unit that executes an automation script generated for robot process automation; a virtual key input signal generator for generating a virtual key input signal based on a key code mapped to a character key of each character on a real keyboard for each character constituting the character string data included in the automation script; and a keyboard driving driver generating an actual key input message for input of the character string data based on the virtual key input signal.

상술한 목적을 달성하기 위한 본 발명의 다른 측면에 따른 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템은, 적어도 하나의 이벤트로 구성된 태스크 및 적어도 하나의 태스크로 구성된 프로세스를 설정하며, 상기 태스크 및 상기 프로세스 수행을 위한 자동화 스크립트를 생성하는 적어도 하나의 스크립트 생성부; 상기 태스크를 구성하는 적어도 하나의 이벤트를 실행하여 상기 자동화 스크립트를 실행하는 적어도 하나의 스크립트 실행부; 상기 자동화 스크립트의 실행에 따라 활성화된 객체에 입력될 문자열 데이터로부터 가상의 키 입력신호를 생성하고, 생성된 가상의 키 입력 신호를 기초로 실제 키 입력 메시지를 생성하는 적어도 하나의 키 입력 가상화부; 및 상기 적어도 하나의 스크립트 실행부와 연동되어 상기 자동화 스크립트의 실행을 제어하는 적어도 하나의 제어부를 포함하는 것을 특징으로 한다.A key input virtualization system for robot processor automation according to another aspect of the present invention for achieving the above object sets a task composed of at least one event and a process composed of at least one task, and performs the task and the process At least one script generator for generating an automation script for; at least one script execution unit for executing the automation script by executing at least one event constituting the task; at least one key input virtualization unit for generating a virtual key input signal from string data to be input to an object activated according to the execution of the automation script, and generating an actual key input message based on the generated virtual key input signal; and at least one control unit interworking with the at least one script execution unit to control execution of the automated script.

상술한 바와 같이 본 발명에 따르면, 로봇 프로세스 자동화를 위한 자동화 스크립트에 포함된 문자열 데이터를 실제 키보드 입력에 의한 키 입력신호와 동일한 형태의 신호로 가상화할 수 있기 때문에, 실제 키보드 입력이 요구되는 프로그램에서도 로봇 프로세스 자동화를 적용할 수 있어 로봇 프로세스 자동화의 적용범위를 확장시킬 수 있다는 효과가 있다.As described above, according to the present invention, since character string data included in an automation script for robot process automation can be virtualized into a signal of the same type as a key input signal by an actual keyboard input, even in a program requiring an actual keyboard input As robot process automation can be applied, it has the effect of expanding the scope of application of robot process automation.

또한, 본 발명에 따르면 로봇 프로세스 자동화를 위한 자동화 스크립트의 수정 없이, 자동화 스크립트에 포함된 문자열 데이터를 실제 키보드 입력에 의한 키 입력신호와 동일한 형태의 신호로 가상화할 수 있기 때문에 사용자의 편의성이 증대된다는 효과가 있다.In addition, according to the present invention, without modification of the automation script for robot process automation, the string data included in the automation script can be virtualized into a signal of the same type as the key input signal by the actual keyboard input, so that the user's convenience is increased. It works.

도 1은 본 발명의 일 실시예에 따른 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템의 구성을 보여주는 블록도이다.
도 2는 도 1에 도시된 키 입력 가상화부의 구성을 보여주는 블록도이다.
도 3은 가상 키 입력신호의 데이터 구조를 보여주는 도면이다.
도 4는 소문자 "a"의 입력을 위한 가상 키 입력신호를 보여주는 도면이다.
도 5는 대문자 "S"의 입력을 위한 가상 키 입력신호를 보여주는 도면이다.
도 6은 문자열 데이터 "start"에 대한 가상 키 입력신호들이 큐에 저장된 예를 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 따른 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템의 구성을 보여주는 블록도이다.
1 is a block diagram showing the configuration of a key input virtualization system for robot processor automation according to an embodiment of the present invention.
FIG. 2 is a block diagram showing the configuration of the key input virtualization unit shown in FIG. 1 .
3 is a diagram showing a data structure of a virtual key input signal.
4 is a diagram illustrating a virtual key input signal for inputting a lowercase letter “a”.
5 is a diagram illustrating a virtual key input signal for input of a capital letter “S”.
6 is a diagram illustrating an example in which virtual key input signals for character string data “start” are stored in a queue.
7 is a block diagram showing the configuration of a key input virtualization system for robot processor automation according to an embodiment of the present invention.

명세서 전체에 걸쳐서 동일한 참조번호들은 실질적으로 동일한 구성요소들을 의미한다. 이하의 설명에서, 본 발명의 핵심 구성과 관련이 없는 경우 및 본 발명의 기술분야에 공지된 구성과 기능에 대한 상세한 설명은 생략될 수 있다. 본 명세서에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Like reference numerals refer to substantially identical elements throughout. In the following description, detailed descriptions of configurations and functions known in the art and cases not related to the core configuration of the present invention may be omitted. The meaning of the terms described herein should be understood as follows.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in a variety of different forms, and only these embodiments allow the disclosure of the present invention to be complete, and common knowledge in the technical field to which the present invention belongs It is provided to fully inform the possessor of the scope of the invention, and the present invention is only defined by the scope of the claims.

본 발명의 실시예를 설명하기 위한 도면에 개시된 형상, 크기, 비율, 각도, 개수 등은 예시적인 것이므로 본 발명이 도시된 사항에 한정되는 것은 아니다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다.The shapes, sizes, proportions, angles, numbers, etc. disclosed in the drawings for explaining the embodiments of the present invention are illustrative and the present invention is not limited to the illustrated matters. Like reference numerals refer to like elements throughout. In addition, in describing the present invention, if it is determined that a detailed description of a related known technology may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

본 명세서에서 언급된 '포함한다', '갖는다', '이루어진다' 등이 사용되는 경우 '~만'이 사용되지 않는 이상 다른 부분이 추가될 수 있다. 구성 요소를 단수로 표현한 경우에 특별히 명시적인 기재 사항이 없는 한 복수를 포함하는 경우를 포함한다.When 'including', 'having', 'consisting', etc. mentioned in this specification are used, other parts may be added unless 'only' is used. When a component is expressed in the singular, the case in which the plural is included is included unless otherwise explicitly stated.

구성 요소를 해석함에 있어서, 별도의 명시적 기재가 없더라도 오차 범위를 포함하는 것으로 해석한다.In interpreting the components, it is interpreted as including an error range even if there is no separate explicit description.

위치 관계에 대한 설명일 경우, 예를 들어, '~상에', '~상부에', '~하부에', '~옆에' 등으로 두 부분의 위치 관계가 설명되는 경우, '바로' 또는 '직접'이 사용되지 않는 이상 두 부분 사이에 하나 이상의 다른 부분이 위치할 수도 있다.In the case of a description of the positional relationship, for example, when the positional relationship of two parts is described as 'on', 'on', 'on', 'beside', etc., 'right' Alternatively, one or more other parts may be positioned between the two parts unless 'directly' is used.

시간 관계에 대한 설명일 경우, 예를 들어, '~후에', '~에 이어서', '~다음에', '~전에' 등으로 시간적 선후 관계가 설명되는 경우, '바로' 또는 '직접'이 사용되지 않는 이상 연속적이지 않은 경우도 포함할 수 있다.In the case of a description of a temporal relationship, for example, 'immediately' or 'directly' when a temporal relationship is described with 'after', 'following', 'after', 'before', etc. It may include cases that are not continuous unless this is used.

제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않는다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.Although the first, second, etc. are used to describe various components, these components are not limited by these terms. These terms are only used to distinguish one component from another. Accordingly, the first component mentioned below may be the second component within the spirit of the present invention.

"적어도 하나"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및 제 3 항목 중에서 적어도 하나"의 의미는 제1 항목, 제2 항목 또는 제3 항목 각각 뿐만 아니라 제1 항목, 제2 항목 및 제3 항목 중에서 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미할 수 있다. The term “at least one” should be understood to include all possible combinations from one or more related items. For example, the meaning of “at least one of the first, second, and third items” means each of the first, second, or third items as well as two of the first, second and third items. It may mean a combination of all items that can be presented from more than one.

본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하고, 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시할 수도 있다.Each feature of the various embodiments of the present invention may be partially or wholly combined or combined with each other, technically various interlocking and driving are possible, and each of the embodiments may be implemented independently of each other or may be implemented together in a related relationship. may be

이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예를 구체적으로 설명한다.Hereinafter, an embodiment according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템의 구성을 개략적으로 보여주는 블록도이다. 도 1에 도시된 바와 같이, 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템(100)은 스크립트 생성부(110), 스크립트 실행부(120), 키 입력 가상화부(130), 및 객체 활성화부(140)를 포함한다.1 is a block diagram schematically showing the configuration of a key input virtualization system for robot processor automation according to an embodiment of the present invention. As shown in FIG. 1 , the key input virtualization system 100 for robot processor automation includes a script generation unit 110 , a script execution unit 120 , a key input virtualization unit 130 , and an object activation unit 140 . includes

스크립트 생성부(110)는 로봇 프로세스 자동화를 위한 자동화 스크립트(Script)를 생성한다. 자동화 스크립트란 사용자가 수행하는 반복적이거나 정형화된 업무를 로봇이 대신하여 자동으로 수행할 수 있도록 하기 위해 작성되는 문서를 의미한다. 로봇에 의해 자동화 스크립트가 실행됨으로써, 사용자가 수행해야 하는 업무가 사용자가 수행하는 것과 동일하게 재현될 수 있게 된다. 일 실시예에 있어서, 스크립트 생성부(110)는 자동화 스크립트 생성을 위해 사용자에게 스크립터 생성을 위한 툴(예컨대, 자동화 스크립트 에디터)을 제공하고, 사용자는 스크립터 에디터를 통해 프로세서(Process), 태스크(Task), 및 이벤트(Event) 중 적어도 하나를 구체적으로 설정한 후 디버깅(Debugging)을 수행함으로써 자동화 스크립트를 생성할 수 있게 된다. The script generation unit 110 generates an automation script (Script) for robot process automation. An automation script means a document written to enable a robot to automatically perform repetitive or standardized tasks performed by a user. By executing the automation script by the robot, the task to be performed by the user can be reproduced in the same way as the user does. In one embodiment, the script generating unit 110 provides a tool (eg, an automated script editor) for generating a script to a user to generate an automated script, and the user uses the script editor to generate a processor (Process), a task (Task). ), and by performing debugging after setting at least one of the events in detail, it is possible to generate an automation script.

일 실시예에 있어서, 자동화 스크립트를 통해 설정되는 이벤트(Event)란 사용자가 특정 객체(Object)에 대해 임의의 동작(Action)을 하거나 또는 사용자의 의지와 관계없이 운영체제(Operating System: OS)가 발생시키는 사건을 의미하는 것으로서, 윈도우 오브젝트 검출, 웹 오브젝트 검출, UI(User Interface) 개체 검출, 이미지 검출, OCR(Optical Character Reader) 검출, 키(Key) 입력, 또는 마우스 입력 등을 포함할 수 있다.In one embodiment, an event set through an automation script means that a user performs an arbitrary action on a specific object or an operating system (OS) is generated regardless of the user's will. As a meaning of a trigger event, it may include window object detection, web object detection, UI (User Interface) object detection, image detection, OCR (Optical Character Reader) detection, key input, or mouse input.

또한, 자동화 스크립트를 통해 설정되는 태스크(Task)란 하나 이상의 이벤트로 구성된 사용자의 단위 실행동작을 의미하고, 프로세스(Process)란 하나 이상의 태스크로 구성된 사용자의 단위 컴퓨팅 업무를 의미한다.In addition, a task set through an automation script means a unit execution action of a user composed of one or more events, and a process means a unit computing task of a user composed of one or more tasks.

이를 위해, 스크립트 생성부(110)는 도 1에 도시된 바와 같이, 프로세스 설정부(112), 태스크 설정부(114), 및 스크립트 제작부(116)를 포함할 수 있다.To this end, the script generating unit 110 may include a process setting unit 112 , a task setting unit 114 , and a script generating unit 116 as shown in FIG. 1 .

프로세스 설정부(112)는 사용자에게 프로세스를 설정하고 편집할 수 있는 기능을 제공한다. 예컨대, 프로세스 설정부(112)는 사용자에게 프로세스를 설정하고 편집할 수 있는 프로세스 에디터를 제공하고, 사용자는 프로세스 에디터를 통해 하나 이상의 태스크를 생성하거나 선택하고 이에 대한 속성, 실행조건, 실행순서 등을 결정하여 프로세스를 설정한다. 이를 위해, 프로세스 에디터는 하나 이상의 태스크의 생성을 관리하는 태스크 생성 관리자, 하나 이상의 태스크의 속성을 관리하는 태스크 속성 관리자, 하나 이상의 태스크의 상호 연결을 관리하는 태스크 연결관리자 등을 포함할 수 있다.The process setting unit 112 provides a function for setting and editing a process to the user. For example, the process setting unit 112 provides a process editor capable of setting and editing a process to the user, and the user creates or selects one or more tasks through the process editor, and sets properties, execution conditions, execution order, etc. Decide to set up the process. To this end, the process editor may include a task creation manager that manages creation of one or more tasks, a task property manager that manages properties of one or more tasks, a task connection manager that manages interconnection of one or more tasks, and the like.

이러한 실시예에 따르는 경우 사용자는 프로세스 설정부(112)에 의해 제공되는 프로세스 에디터를 통해 하나 이상의 태스크를 생성하고 이들의 속성, 실행조건, 실행순서 등을 설정한다. 일 실시예에 있어서, 태스크의 속성은 태스크의 명칭, 입력자료, 입력방법, 출력자료, 출력방법, 처리시간, 및 지연시간 중 적어도 하나가 될 수 있으며, 실행조건은 기 설정된 선행 태스크가 종료되면 실행, 기 설정된 입력자료가 수신되면 실행, 및 기 설정된 실행시각에 실행 중 적어도 하나를 포함할 수 있다. 실행순서는 각각의 태스크가 연속적으로 입력 및 출력 관계가 되어 복수개의 태스크가 상호 연결됨으로써 하나의 프로세스가 생성될 수 있다.According to this embodiment, the user creates one or more tasks through the process editor provided by the process setting unit 112 and sets their properties, execution conditions, execution order, and the like. In one embodiment, the attribute of the task may be at least one of the name of the task, input data, input method, output data, output method, processing time, and delay time, and the execution condition is determined when a preset preceding task is terminated. At least one of execution, execution when preset input data is received, and execution at a preset execution time may be included. In the execution order, each task is continuously input and output, and a plurality of tasks are interconnected to create one process.

태스크 설정부(114)는 사용자에게 태스크를 설정하고 편집할 수 있는 기능을 제공한다. 예컨대, 태스크 설정부(114)는 사용자에게 태스크를 설정하고 편집할 수 있는 태스크 에디터를 제공하고, 사용자는 태스크 에디터를 통해 하나 이상의 이벤트를 생성하거나 선택하고 이에 대한 속성, 실행조건, 실행순서 등을 결정하여 태스크를 설정한다. 이를 위해, 태스크 에디터는 하나 이상의 이벤트의 생성을 관리하는 이벤트 생성 관리자, 하나 이상의 이벤트의 속성을 관리하는 이벤트 속성 관리자, 하나 이상의 이벤트의 상호 연결을 관리하는 이벤트 연결 관리자 등을 포함할 수 있다. The task setting unit 114 provides a function for setting and editing a task to the user. For example, the task setting unit 114 provides a task editor capable of setting and editing a task to the user, and the user creates or selects one or more events through the task editor and sets properties, execution conditions, execution order, etc. Decide and set the task. To this end, the task editor may include an event generation manager managing generation of one or more events, an event property manager managing properties of one or more events, an event connection manager managing interconnection of one or more events, and the like.

이러한 실시예에 따르는 경우, 사용자는 태스크 설정부(114)에 의해 제공되는 태스크 에디터를 통해 하나 이상의 이벤트를 생성하고 이들의 속성, 실행조건, 실행순서 등을 설정한다. 일 실시예에 있어서, 이벤트의 속성은 이벤트의 명칭, 대상(예; 텍스트, 이미지, 오브젝트, 파일), 실행방법(예; 오브젝트 검출, 키 입력, 마우스 입력), 실행결과(예; 단순 실행, 텍스트 저장, 이미지 저장, 파일 생성), 및 실행시간 중 적어도 하나를 포함할 수 있고, 실행조건은 기 설정된 선행 이벤트가 종료되면 실행, 기 설정된 선행 이벤트가 종료되면 일정 시간 경과 후 실행, 및 기 설정된 실행시각에 실행 중 적어도 하나를 포함할 수 있다. 실행순서는 각각의 이벤트가 연속적으로 입력 및 출력 관계가 되어 복수개의 이벤트가 상호 연결됨으로써 하나의 태스크가 생성될 수 있다.According to this embodiment, the user creates one or more events through the task editor provided by the task setting unit 114 and sets their properties, execution conditions, execution order, and the like. In one embodiment, the properties of the event include the name of the event, a target (eg, text, image, object, file), an execution method (eg, object detection, key input, mouse input), and execution result (eg, simple execution, text storage, image storage, file generation), and at least one of an execution time, and the execution condition is executed when a preset precedent event ends, execution after a predetermined time has elapsed when a preset precedent event ends, and a preset execution time It may include at least one of the executions at execution time. In the execution order, each event becomes an input and output relationship in succession, so that a plurality of events are interconnected, so that one task can be created.

일 실시예에 있어서, 상술한 프로세스 설정부(112)와 태스크 설정부(114)는 사용자가 프로세스와 태스크를 실행하는 행동 패턴을 레코딩하여 프로세스 레코딩 자료와 태스크 레코딩 자료(참고로, 컴퓨팅 환경 정보가 반영됨)를 생성하고, 프로세스/태스크 레코딩 자료에 기초하여 프로세스와 태스크의 속성, 실행조건, 실행순서 등을 추출할 수 있다.In one embodiment, the above-described process setting unit 112 and task setting unit 114 records the behavior pattern of the user executing the process and task, process recording material and task recording material (for reference, computing environment information reflected) and extract process and task attributes, execution conditions, execution order, etc. based on process/task recording data.

스크립트 제작부(116)는 사용자가 프로세스 설정부(112) 및 태스크 설정부(114)를 통해 설정한 프로세스와 태스크가 실제 자동으로 실행될 수 있도록 자동화 스크립트를 제작한다. 예컨대, 스크립트 제작부(116)는 프로세스 설정부(112)에서 설정된 프로세스를 수행하는 프로세스 자동화 스크립트를 제작하고, 마찬가지로 태스크 설정부(114)에서 설정된 태스크를 수행하는 태스크 자동화 스크립트를 제작한다. 그리고, 스크립트 제작부(116)는 스크립트 실행부(120)와 연동하여 태스크를 구성하는 하나 이상의 이벤트가 실제 실행순서대로 정상적으로 동작할 수 있는지 검증하여 디버깅(Debugging)하고, 마찬가지로 프로세스를 구성하는 하나 이상의 태스크가 실제 실행순서대로 정상적으로 동작할 수 있는지 검증하여 디버깅한다.The script production unit 116 produces an automated script so that the processes and tasks set by the user through the process setting unit 112 and the task setting unit 114 can be actually automatically executed. For example, the script production unit 116 produces a process automation script for performing the process set by the process setting unit 112 , and similarly produces a task automation script for performing the task set by the task setting unit 114 . In addition, the script production unit 116 interworks with the script execution unit 120 to verify that one or more events constituting the task can operate normally in the actual execution order, and debugs, and similarly, one or more tasks constituting the process. Debugging is verified by verifying that the program can operate normally in the actual execution order.

스크립트 제작부(116)는 이와 같이 생성된 프로세스 자동화 스크립트 또는 태스크 자동화 스크립트를 실제 실행을 위해 스크립트 실행부(120)로 전송하고, 추후 재사용 및 관리를 위해 제작된 프로세스 자동화 스크립트 또는 태스크 자동화 스크립트를 저장할 수 있다.The script production unit 116 transmits the generated process automation script or task automation script to the script execution unit 120 for actual execution, and may store the process automation script or task automation script produced for later reuse and management. have.

상술한 바와 같은 스크립트 생성부(110)는 생성된 자동화 스크립트를 스크립트 실행부(120)로 전송함으로써 스크립트 실행부(120)에 의해 자동화 스크립트가 자동으로 실행될 수 있도록 한다.As described above, the script generating unit 110 transmits the generated automated script to the script executing unit 120 so that the automated script can be automatically executed by the script executing unit 120 .

스크립트 실행부(120)는 스크립트 생성부(110)에 의해 생성된 자동화 스크립트를 실제로 실행함으로써 사용자의 컴퓨팅 업무를 자동으로 처리한다. 구체적으로, 스크립트 실행부(120)는 스크립트 생성부(110)로부터 프로세스 자동화 스크립트 또는 태스크 자동화 스크립트를 수신하고, 수신된 프로세스 자동화 스크립트 또는 태스크 자동화 스크립트를 해석하여 각각의 이벤트, 태스크, 프로세스에 대해 속성, 실행조건, 우선순위 등을 판단하고 실행순서를 스케쥴링한다. 또한, 스크립트 실행부(120)는 각각의 이벤트들을 실행순서에 따라 순차적으로 실행함으로써 태스크를 실행하고, 또한 각각의 태스크들을 실행순서에 따라 실행함으로써 프로세스를 실행한다.The script execution unit 120 automatically processes the computing task of the user by actually executing the automated script generated by the script generation unit 110 . Specifically, the script execution unit 120 receives the process automation script or task automation script from the script generation unit 110, interprets the received process automation script or task automation script, and attributes for each event, task, and process. , execution conditions, priorities, etc. are determined and the execution order is scheduled. In addition, the script execution unit 120 executes the task by sequentially executing each event according to the execution order, and also executes the process by executing each task according to the execution order.

키 입력 가상화부(130)는 스크립트 실행부(120)에 의해 실행된 자동화 스크립트에 포함되어 있는 문자열 데이터를 자동화 스크립트 실행에 따라 활성화된 객체에 입력하기 위해 문자열 데이터로부터 가상의 키 입력신호를 생성하고, 생성된 가상의 키 입력 신호를 기초로 실제 키 입력 메시지를 생성한다.The key input virtualization unit 130 generates a virtual key input signal from the string data to input the string data included in the automation script executed by the script execution unit 120 to the object activated according to the execution of the automation script, and , generates an actual key input message based on the generated virtual key input signal.

본 발명에 따른 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템(100)이 키 입력 가상화부(130)를 포함하는 이유는, 로봇 프로세스 자동화를 위해서는 사용자의 키(Key) 입력을 가상으로 수행하는 가상 키보드가 요구되고, 은행 또는 ERP 등의 업무수행 자동화를 위해서는 실제 키보드 입력의 감지가 필요한데 기존의 가상화 키보드는 실제 키보드 입력과 동일한 신호를 생성할 수 없어 은행 또는 ERP 등의 업무에 대해서는 로봇 프로세스 자동화를 적용할 수 없기 때문이다. 따라서, 본 발명에 따른 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템(100)은 실제 키보드 없이도 실제 키보드 입력과 동일한 신호를 생성하기 위해 키 입력 가상화부(130)를 포함한다.The reason that the key input virtualization system 100 for robot processor automation according to the present invention includes the key input virtualization unit 130 is that a virtual keyboard that virtually performs a user's key input is required for robot process automation. In order to automate tasks such as banking or ERP, it is necessary to detect the actual keyboard input, but the existing virtual keyboard cannot generate the same signal as the actual keyboard input, so robot process automation cannot be applied to tasks such as banking or ERP. because it can't Therefore, the key input virtualization system 100 for robot processor automation according to the present invention includes the key input virtualization unit 130 to generate the same signal as the actual keyboard input without the actual keyboard.

이하, 본 발명에 따른 키 입력 가상화부(130)의 구성을 도 2를 참조하여 보다 구체적으로 설명한다.Hereinafter, the configuration of the key input virtualization unit 130 according to the present invention will be described in more detail with reference to FIG. 2 .

도 2는 본 발명의 일 실시예에 따른 키 입력 가상화부의 구성을 보여주는 블록도이다. 도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 키 입력 가상화부(130)는 문자열 데이터 추출부(210), 가상 키 입력신호 생성부(220), 큐(230), 키 입력부(240), 및 키보드 구동 드라이버(250)를 포함한다.2 is a block diagram showing the configuration of a key input virtualization unit according to an embodiment of the present invention. As shown in FIG. 2 , the key input virtualization unit 130 according to an embodiment of the present invention includes a character string data extraction unit 210 , a virtual key input signal generation unit 220 , a queue 230 , and a key input unit ( 240 ), and a keyboard drive driver 250 .

문자열 데이터 추출부(210)는 스크립트 실행부(120)에 의해 실행된 자동화 스크립트로부터 문자열 데이터를 추출한다. 문자열 데이터 추출부(210)는 추출된 문자열 데이터를 가상 키 입력신호 생성부(220)로 전달한다.The string data extraction unit 210 extracts string data from the automated script executed by the script execution unit 120 . The string data extraction unit 210 transmits the extracted string data to the virtual key input signal generation unit 220 .

가상 키 입력신호 생성부(220)는 문자열 데이터 추출부(210)에 의해 추출된 문자열 데이터를 구성하는 각 문자 별로 가상 키 입력신호를 생성한다. 구체적으로, 가상 키 입력신호 생성부(220)는 문자열 데이터의 각 문자에 대응되는 키(Key) 별로 실제 키보드 상에서 해당 키에 매핑되는 키 코드를 이용하여 가상 키 입력신호를 생성한다.The virtual key input signal generating unit 220 generates a virtual key input signal for each character constituting the character string data extracted by the character string data extracting unit 210 . Specifically, the virtual key input signal generating unit 220 generates a virtual key input signal by using a key code mapped to the corresponding key on the real keyboard for each key corresponding to each character of the character string data.

이때, 문자열 데이터는 각 문자에 대응되는 키들의 입력 순서와 각 키의 다운(DOWN) 또는 업(UP) 상태로 표현될 수 있고, 하나의 문자에 해당하는 키 입력은 해당 키의 눌려짐(DOWN) 및 눌려짐 해제(UP) 과정이 순차적으로 발생하였을 때 완료된다. 따라서, 복수개의 문자로 구성된 문자열 데이터는 각 문자에 대응되는 키 별로 해당 키의 눌려짐 상태(DOWN) 및 눌려짐 해제 상태(UP)의 과정이 순차적으로 수행됨에 의해 입력될 수 있다. 따라서, 본 발명에 따른 가상 키 입력신호 생성부(220)는 문자열 데이터를 각 문자에 대응되는 키의 키 코드와 해당 키의 상태정보를 이용하여 가상 키 입력신호로 변환할 수 있다.In this case, the character string data may be expressed as an input sequence of keys corresponding to each character and a DOWN or UP state of each key, and a key input corresponding to one character is a DOWN of the corresponding key ) and the press release (UP) process is completed when sequentially occurring. Accordingly, string data composed of a plurality of characters may be input by sequentially performing processes of a depressed state (DOWN) and a depressed state (UP) of a corresponding key for each key corresponding to each character. Accordingly, the virtual key input signal generating unit 220 according to the present invention may convert the string data into a virtual key input signal by using the key code of the key corresponding to each character and the state information of the corresponding key.

이를 위해, 가상 키 입력신호 생성부(220)는 문자열 데이터를 각 문자 단위로 분할한다. 일 예로, 자동화 스크립트에서 추출된 문장열 데이터가 "start"인 경우, 가상 키 입력신호 생성부(220)는 해당 문자열 데이터를 "s", "t", "a", "r", "t"와 같이 문자 단위로 분할한다.To this end, the virtual key input signal generating unit 220 divides the character string data into units of each character. For example, when the text string data extracted from the automation script is "start", the virtual key input signal generating unit 220 converts the string data into "s", "t", "a", "r", "t" Split by character like ".

이후, 가상 키 입력신호 생성부(220)는 분할된 각 문자 별로 실제 키보드 상에서 해당 문자에 대응되는 키에 매핑되어 있는 키 코드가 기록되는 제1 필드 및 해당 키의 다운(DOWN) 또는 업(UP) 상태를 나타내는 정보가 기록되는 제2 필드로 구성된 가상 키 입력신호를 생성한다. 여기서, 해당 키의 다운 정보란 해당 키가 사용자에 의해 눌려지는 것을 나타내고, 해당 키의 업 정보란 해당 키의 눌려짐이 해제되는 것을 나타내는 것으로서, 해당 키가 다운상태일 때에는 "1"이라는 값이 기록되고, 해당 키가 업 상태일 때에는 "0"이라는 값이 기록될 수 있다.Thereafter, the virtual key input signal generating unit 220 generates a first field in which a key code mapped to a key corresponding to the corresponding character on the real keyboard for each divided character is recorded, and the DOWN or UP of the corresponding key. ) generates a virtual key input signal composed of a second field in which information indicating the state is recorded. Here, the down information of the corresponding key indicates that the corresponding key is pressed by the user, and the up information of the corresponding key indicates that the pressing of the corresponding key is released. is recorded, and when the corresponding key is in an up state, a value of “0” may be recorded.

일 실시예에 있어서, 가상 키 입력신호 생성부(220)에 의해 생성된 가상 키 입력신호는 문자입력간 지연시간 정보가 기록되는 제3 필드를 추가로 포함할 수 있다. 본 발명에서 가상 키 입력신호가 문자입력간 지연시간 정보가 기록되는 제3 필드를 추가로 포함하는 이유는, 각 문자입력간 지연시간이 존재하지 않는 경우 인접한 문자들이 너무 빠른 시간 내에 입력될 수 있어, 이러한 경우 특정 프로그램에서는 문자입력이 정상적으로 처리되지 않을 수 있기 때문이다.In an embodiment, the virtual key input signal generated by the virtual key input signal generating unit 220 may further include a third field in which delay time information between character input is recorded. In the present invention, the reason that the virtual key input signal additionally includes a third field in which delay time information between character inputs is recorded is that, when there is no delay time between each character input, adjacent characters may be input too quickly. , This is because, in this case, character input may not be processed normally in a specific program.

제1 내지 제3 필드로 구성된 가상 키 입력신호의 예가 도 3에 도시되어 있다. 도 3에 도시된 바와 같이, 제1 필드에는 각 문자에 대응되는 키의 키 코드가 기록되고, 제2 필드에는 해당 키의 다운 또는 업에 대한 상태정보가 기록되며, 제3 필드에는 문자 입력간 지연시간 정보가 기록됨을 알 수 있다.An example of a virtual key input signal composed of first to third fields is shown in FIG. 3 . As shown in FIG. 3 , the key code of the key corresponding to each character is recorded in the first field, status information on the down or up of the corresponding key is recorded in the second field, and the character input interval is recorded in the third field. It can be seen that delay time information is recorded.

일 예로, 입력할 문자가 "a'인 경우, 가상 키 입력신호 생성부(220)는 도 4에 도시된 바와 같이 제1 필드에는 "a"의 키 코드값인 "0x04"가 기록되고, 제2 필드에는 해당 키의 "DOWN"상태를 나태는 정보인 "1"이 기록되며, 제3 필드에는 문자입력간 지연시간 정보로 "20ms"에 해당하는 "20"이 기록된 제1 가상 키 입력신호(410)를 생성한다. 도 4에 도시된 제1 가상 키 입력신호(410)는 "a"라는 문자에 대응되는 키가 눌려진 후 20ms 이후에 다음의 가상 키 입력신호가 입력되어야 함을 나타낸다. 또한, 가상 키 입력신호 생성부(220)는 도 4에 도시된 바와 같이 제1 필드에는 "a"의 키 코드값인 "0x04"가 기록되고, 제2 필드에는 해당 키의 "UP"상태를 나타내는 정보인 "0"이 기록되며, 제3 필드에는 문자입력간 지연시간 정보로 "20ms"에 해당하는 "20"이 기록된 제2 가상 키 입력신호(420)를 생성한다. 도 4에 도시된 제2 가상 키 입력신호(420)는 "a"라는 문자에 대응되는 키의 눌려짐이 해제된 이후 20ms 이후에 다음의 가상 키 입력신호가 입력되어야 함을 나타낸다.For example, when the character to be input is “a”, the virtual key input signal generating unit 220 records “0x04”, which is the key code value of “a”, in the first field as shown in FIG. 4 , In field 2, information indicating the “DOWN” status of the corresponding key, “1” is recorded, and in field 3, the first virtual key input in which “20” corresponding to “20ms” is recorded as delay time information between character input. Generates a signal 410. The first virtual key input signal 410 shown in Fig. 4 indicates that the next virtual key input signal should be input 20 ms after the key corresponding to the letter "a" is pressed In addition, as shown in FIG. 4 , in the virtual key input signal generating unit 220 , “0x04”, which is the key code value of “a”, is recorded in the first field, and the “UP” state of the corresponding key is recorded in the second field. A second virtual key input signal 420 is generated in which “0”, which is information representing The illustrated second virtual key input signal 420 indicates that the next virtual key input signal should be input 20 ms after the key corresponding to the letter “a” is released.

상술한 바와 같이 가상키 입력신호 생성부(220)는 하나의 문자 입력을 위해 2개의 가상 키 입력신호를 생성함을 알 수 있다.As described above, it can be seen that the virtual key input signal generating unit 220 generates two virtual key input signals for inputting one character.

상술한 실시예에 있어서는, 문자열 데이터 추출부(210)에 의해 추출된 문자열 데이터에 기능키(또는 특수키, 이하 '기능키'라 함) 입력이 포함되지 않은 경우를 설명하였다. 하지만, 대문자의 입력과 같이 문자열 데이터에 기능키 입력이 포함되어 있는 경우, 가상 키 입력신호 생성부(220)는 문자키 이외에 기능키에 대해서도 가상 키 입력신호를 추가로 생성한다. 이하, 문자열 데이터에 기능키 입력이 포함되어 있는 경우 가상 키 입력신호 생성부(220)가 가상 키 입력신호를 생성하는 방법에 대해 설명한다.In the above-described embodiment, a case has been described in which the input of a function key (or a special key, hereinafter referred to as a 'function key') is not included in the character string data extracted by the character string data extraction unit 210 . However, when a function key input is included in the character string data, such as a capital letter input, the virtual key input signal generating unit 220 additionally generates a virtual key input signal for the function key in addition to the character key. Hereinafter, a method for generating a virtual key input signal by the virtual key input signal generating unit 220 when a function key input is included in the character string data will be described.

먼저, 가상 키 입력신호 생성부(220)는 문자열 데이터를 문자 단위로 분할하고, 각 문자의 입력을 위해 기능키의 입력이 요구되는지 여부를 판단한다. 일 예로, 가상 키 입력신호 생성부(220)는 분할된 문자에 대문자가 포함되어 있는 경우 기능키의 입력이 요구되는 것으로 판단할 수 있다.First, the virtual key input signal generating unit 220 divides character string data into character units, and determines whether input of a function key is required to input each character. For example, the virtual key input signal generating unit 220 may determine that input of the function key is required when the divided characters include uppercase letters.

예컨대, 추출된 문자열 데이터가 "Start"인 경우 문자 "S"는 대문자이기 때문에 대문자 "S"의 입력을 위해서는 기능키인 "Shift"키와 문자키인 "s"키가 동시에 선택되어야 한다. 따라서, 가상 키 입력신호 생성부(220)는 해당 문자의 입력을 위해 기능키 입력이 요구되는 것으로 판단되면, 실제 키보드 상에서 기능키에 매핑되는 키 코드를 이용하여 기능키에 대한 가상 키 입력신호를 생성한 이후, 해당 문자에 대응되는 키에 대한 가상 키 입력신호를 생성한다.For example, when the extracted string data is "Start", since the letter "S" is a capital letter, the "Shift" key as the function key and the "s" key as the letter key must be simultaneously selected in order to input the capital letter "S". Accordingly, when it is determined that the function key input is required for input of the corresponding character, the virtual key input signal generating unit 220 generates a virtual key input signal for the function key using a key code mapped to the function key on the actual keyboard. After creation, a virtual key input signal for a key corresponding to the corresponding character is generated.

구체적으로, 도 5에 도시된 바와 같이, "S"라는 대문자 입력이 요구되는 경우, 가상 키 입력신호 생성부(220)는 기능키인 "Shift"에 대한 키 코드값인 "0xE1", "Shift"키의 "DOWN"상태를 나타내는 정보인 "1", 및 문자입력간 지연시간 정보로 "20ms"에 해당하는 "20"이 기록된 제3 가상 키 입력신호(510)를 생성한다. 이후, 가상 키 입력신호 생성부(220)는 문자 키인 "s"에 대한 키 코드값인 '0x16", "s"의 "DOWN" 상태를 나타내는 정보인 "1", 및 문자입력간 지연시간 정보로 "20ms"에 해당하는 "20"이 기록된 제4 가상 키 입력신호(520), 문자 키인 "s"에 대한 키 코드값인 '0x16", "s"의 "UP" 상태를 나타내는 정보인 "0", 및 문자입력간 지연시간 정보로 "20ms"에 해당하는 "20"이 기록된 제5 가상 키 입력신호(530)를 생성한다. 마지막으로, 가상 키 입력신호 생성부(220)는 기능 키인 "Shift"에 대한 키 코드값인 "0xE1", "Shift"키의 "UP"상태를 나타내는 정보인 "0", 및 문자입력간 지연시간 정보로 "20ms"에 해당하는 "20"이 기록된 제6 가상 키 입력신호(540)를 생성함으로써, 문자 "S"에 대한 가상 키 입력신호 생성을 완료한다.Specifically, as shown in FIG. 5 , when a capital letter “S” is required to be input, the virtual key input signal generating unit 220 generates key code values “0xE1” and “Shift” for the function key “Shift”. A third virtual key input signal 510 is generated in which "1", which is information indicating the "DOWN" state of the key, and "20" corresponding to "20 ms" are recorded as delay time information between character input. Thereafter, the virtual key input signal generating unit 220 generates '0x16' which is a key code value for the character key "s", "1" which is information indicating the "DOWN" state of "s", and delay time information between character input. The fourth virtual key input signal 520 in which "20" corresponding to "20ms" is recorded, '0x16', which is the key code value for the character key "s", information indicating the "UP" state of "s" A fifth virtual key input signal 530 in which "0" and "20" corresponding to "20 ms" are recorded as delay time information between character input is generated. Finally, the virtual key input signal generating unit 220 generates “0xE1” which is a key code value for “Shift” which is a function key, “0” which is information indicating the “UP” state of the “Shift” key, and a delay between character input. By generating the sixth virtual key input signal 540 in which "20" corresponding to "20 ms" is recorded as time information, the generation of the virtual key input signal for the letter "S" is completed.

가상 키 입력신호 생성부(220)는 문자열 데이터를 구성하는 각 문자 별로 생성된 가상 키 입력신호를 큐(230)에 저장한다.The virtual key input signal generating unit 220 stores the virtual key input signal generated for each character constituting the character string data in the queue 230 .

큐(230)에는 가상 키 입력신호 생성부(220)에 의해 생성된 가상 키 입력신호가 문자열 데이터를 구성하는 각 문자의 입력순서에 따라 순차적으로 삽입된다. 일 예로, 자동화 스크립트에서 추출된 문자열 데이터가 "start"인 경우, 도 6에 도시된 바와 같이, 큐(230)에는 "s"에 대한 2개의 가상 키 입력신호(600, 610), 't"에 대한 2개의 가상 키 입력신호(620, 630), "a"에 대한 2개의 가상 키 입력신호(640, 650), "r"에 대한 2개의 가상 키 입력신호(660, 670), 및 "t"에 대한 2개의 가상 키 입력신호(680, 690)가 문자 발생 순서에 따라 순차적으로 삽입됨을 알 수 있다.The virtual key input signal generated by the virtual key input signal generating unit 220 is sequentially inserted into the queue 230 according to the input order of each character constituting the character string data. As an example, when the string data extracted from the automation script is “start”, as shown in FIG. 6 , in the queue 230 , two virtual key input signals 600 and 610 for “s”, 't' Two virtual key input signals 620 and 630 for "a", two virtual key input signals 640 and 650 for "r", two virtual key input signals 660 and 670 for "r", and " It can be seen that the two virtual key input signals 680 and 690 for t" are sequentially inserted in the order of occurrence of characters.

키 입력부(240)는 큐(230)로부터 가상 키 입력신호를 순차적으로 인출하여 키보드 구동 드라이버(250)로 입력한다. 즉, 키 입력부(240)는 큐(230)에 저장되어 있는 가상 키 입력신호를 키보드 구동 드라이버(250)로 입력함으로써, 키보드 구동 드라이버(250)가 실제 키보드로부터 키 입력신호가 입력된 것처럼 판단할 수 있도록 한다.The key input unit 240 sequentially retrieves virtual key input signals from the queue 230 and inputs them to the keyboard driving driver 250 . That is, the key input unit 240 inputs the virtual key input signal stored in the queue 230 to the keyboard driving driver 250, so that the keyboard driving driver 250 determines that the key input signal is input from the real keyboard. make it possible

이와 같이, 본 발명에 따르면 키 입력부(240)가 큐(230)에 저장된 가상 키 입력신호를 키보드 구동 드라이버(250)로 입력함에 따라, 키보드 구동 드라이버(250)가 해당 문자열 데이터가 실제 키보드를 이용하여 입력되었을 때와 동일한 형태의 키 입력 메시지를 생성할 수 있도록 한다.As described above, according to the present invention, as the key input unit 240 inputs the virtual key input signal stored in the queue 230 to the keyboard driving driver 250, the keyboard driving driver 250 causes the corresponding string data to use the actual keyboard. to generate a key input message of the same type as when it was input.

키 입력부(240)는 큐(230)에 저장된 모든 가상 키 입력신호의 인출이 완료되면 해당 문자열 데이터에 대한 입력이 완료된 것으로 판단할 수 있다.When the retrieval of all virtual key input signals stored in the queue 230 is completed, the key input unit 240 may determine that the input of the corresponding character string data is completed.

키보드 구동 드라이버(250)는 키 입력부(240)에 의해 입력되는 가상 키 입력 신호를 기초로 문자열 데이터의 입력을 위한 실제 키 입력 메시지를 생성한다. 상술한 바와 같이, 키보드 구동 드라이버(250)는 키 입력부(240)로부터 입력되는 가상 키 입력신호를 사용자가 실제 키보드를 이용하여 입력한 것과 동일한 신호로 판단하기 때문에, 키보드 구동 드라이버(250)는 가상의 키 입력신호가 입력되면 이를 기초로 해당 키 입력신호에 대응되는 실제 키 입력 메시지를 생성하게 된다.The keyboard driving driver 250 generates an actual key input message for inputting character string data based on the virtual key input signal input by the key input unit 240 . As described above, since the keyboard driving driver 250 determines that the virtual key input signal input from the key input unit 240 is the same as that input by the user using the real keyboard, the keyboard driving driver 250 operates the virtual When a key input signal of , an actual key input message corresponding to the corresponding key input signal is generated based on this.

키보드 구동 드라이버(250)는 생성한 실제 키 입력 메시지를 운영체제(OS)로 전달함으로써, 운영체제가 실제 키 입력 메시지를 자동화 스크립트 실행에 따라 활성화된 객체 내에 입력할 수 있도록 한다.The keyboard driving driver 250 transmits the generated actual key input message to the operating system (OS) so that the operating system can input the actual key input message into the object activated according to the execution of the automation script.

이와 같이, 본 발명에 따르면 기존의 운영체제에서 지원되는 응용 프로그램 프로그래밍 인터페이스(Application Programming Interface: API) 기반으로 구현된 가상화 키보드와 달리, 실제 키보드의 구동을 지원하는 키보드 구동 드라이버(250)를 이용함으로써, 가상 키 입력신호로부터 실제 키보드 이용시 발생되는 키 입력 메시지를 생성할 수 있어, 실제 키보드 입력이 요구되는 프로그램에서도 로봇 프로세서 자동화를 적용할 수 있게 된다.As described above, according to the present invention, unlike the virtual keyboard implemented based on an application programming interface (API) supported by the existing operating system, by using the keyboard driving driver 250 that supports the driving of the actual keyboard, It is possible to generate a key input message generated when using the real keyboard from the virtual key input signal, so that robot processor automation can be applied to programs that require real keyboard input.

또한, 본 발명에서는 키보드 구동 드라이버(250)를 사용하면서도 자동화 스크립트에 포함된 문자열 데이터가 키보드 구동 드라이버(250)로 전송하기 위한 가상 키 입력신호로 자동으로 변환되기 때문에, 별도의 자동화 스크립트 수정이 요구되지 않아 사용자의 편의성이 증대된다는 효과가 있다.In addition, in the present invention, since the character string data included in the automation script is automatically converted into a virtual key input signal for transmission to the keyboard driving driver 250 while using the keyboard driving driver 250, a separate automation script modification is required. This has the effect of increasing user convenience.

다시 도 1을 참조하면, 객체 활성화부(140)는 스크립트 실행부(120)에 의해 실행된 자동화 스크립트에 포함된 객체의 정보를 기초로 업무 수행 대상이 되는 컴퓨터 상에서 해당 객체를 탐지하고, 탐지된 객체를 컴퓨터 상에 활성화 시킨다. 객체 활성화부(140)에 의해 활성화된 객체 내에 상술한 키 입력 가상화부(130)에 의해 생성된 실제 키 입력 메시지가 입력됨으로써 해당 자동화 스크립트의 실행이 완성될 수 있게 된다.Referring back to FIG. 1 , the object activator 140 detects a corresponding object on the computer to be performed on the basis of the information on the object included in the automated script executed by the script execution unit 120, and the detected Activate the object on the computer. As the actual key input message generated by the above-described key input virtualization unit 130 is input into the object activated by the object activation unit 140, the execution of the corresponding automation script can be completed.

이를 위해, 객체 활성화부(140)는 도 1에 도시된 바와 같이, 객체정보 획득부(142) 및 객체 탐지부(144)를 포함할 수 있다.To this end, the object activation unit 140 may include an object information acquisition unit 142 and an object detection unit 144 as shown in FIG. 1 .

객체정보 획득부(142)는 스크립트 실행부(120)에 의해 실행된 자동화 스크립트에 포함된 객체들 중 키보드 입력이 수행되어야 할 객체의 정보를 획득한다. 일 실시예에 있어서, 객체정보 획득부(142)는 키보드 입력이 수행되어야 할 객체의 정보로써 해당 객체의 2차원 좌표 정보를 획득할 수 있다. 객체정보 획득부(142)는 획득한 2차원 좌표정보를 객체 탐지부(144)로 전달한다.The object information acquisition unit 142 acquires information on an object on which a keyboard input is to be performed among objects included in the automated script executed by the script execution unit 120 . In an embodiment, the object information obtaining unit 142 may obtain the two-dimensional coordinate information of the object as information on the object on which the keyboard input is to be performed. The object information acquisition unit 142 transmits the acquired two-dimensional coordinate information to the object detection unit 144 .

객체 탐지부(144)는 객체정보 획득부(142)로부터 제공받은 객체의 2차원 좌표정보를 기초로 컴퓨터 상에서 키보드 입력이 수행되어야 할 객체를 탐지한다. 객체 탐지부(144)는 컴퓨터 상에서 2차원 좌표에 매핑되는 객체가 탐지되면 탐지된 객체를 컴퓨터 상에 활성화함으로써 키 입력 가상화부(130)에 의해 생성된 실제 키 입력 메시지가 해당 객체에 입력될 수 있도록 한다.The object detection unit 144 detects an object to which a keyboard input is to be performed on the computer based on the two-dimensional coordinate information of the object provided from the object information acquisition unit 142 . When an object mapped to two-dimensional coordinates is detected on the computer, the object detection unit 144 activates the detected object on the computer so that an actual key input message generated by the key input virtualization unit 130 can be input to the corresponding object. let it be

상술한 실시예에 있어서 객체 탐지부(144)는 키보드 입력이 수행될 객체의 2차원 좌표정보를 기초로 해당 객체를 탐지하는 것으로 기재하였다. 하지만, 변형된 실시예에 있어서, 객체 탐지부(144)는 각 객체의 속성정보 및 계층적 소속정보(예컨대, 실행파일 이름, 타이틀바(Title Bar)의 텍스트, 윈도우 컨트롤의 종류 등)를 이용하여 산출된 고유값을 기초로 객체를 탐지할 수 있다. 구체적으로, 객체 탐지부(144)는 컴퓨터 상에서 해당 객체의 고유값과 동일한 고유값을 가지는 객체가 존재하는지 여부를 탐지하고, 해당 객체의 고유값과 동일한 고유값을 가지는 객체가 탐지되면 해당 객체를 활성화시킨다.In the above-described embodiment, it has been described that the object detection unit 144 detects the corresponding object based on the two-dimensional coordinate information of the object to which the keyboard input is to be performed. However, in a modified embodiment, the object detection unit 144 uses the attribute information and hierarchical affiliation information of each object (eg, executable file name, title bar text, window control type, etc.) The object can be detected based on the calculated eigenvalue. Specifically, the object detection unit 144 detects whether an object having the same eigenvalue as the eigenvalue of the corresponding object exists on the computer, and when an object having the same eigenvalue as the eigenvalue of the object is detected, the object is detected. Activate it.

다른 예로, 객체 탐지부(144)는 각 객체의 이미지 정보를 이용하여 객체를 탐지할 수도 있다. 구체적으로, 객체 탐지부(144)는 컴퓨터 상에서 해당 객체에 대해 미리 획득된 이미지 정보와 동일한 이미지 정보를 갖는 객체가 존재하는지 여부를 탐지하고, 해당 객체의 이미지 정보와 동일한 이미지 정보를 갖는 객체가 탐지되면 해당 객체를 활성화시킨다.As another example, the object detector 144 may detect an object using image information of each object. Specifically, the object detection unit 144 detects whether an object having the same image information as image information obtained in advance for the object exists on the computer, and the object having the same image information as the image information of the object is detected. When this happens, the object is activated.

또 다른 예로, 객체의 이미지 정보를 기초로 동일한 객체의 존재여부를 판단할 때, 실제 동일한 객체임에도 해당 객체의 상태에 따라 객체의 이미지가 상이해 질 수 있기 때문에, 이러한 경우에도 동일한 객체를 정확하게 탐지할 수 있도록 하기 위해, 객체 탐지부는 각 객체 별로 미리 획득된 정형화된 변형 이미지를 추가로 이용하여 해당 객체와 동일한 객체를 탐지할 수 있다.As another example, when determining whether the same object exists based on the image information of the object, the image of the object may be different depending on the state of the object even though it is actually the same object, so even in this case, the same object is accurately detected In order to do this, the object detection unit may detect the same object as the corresponding object by additionally using the standardized deformed image obtained in advance for each object.

이를 위해, 본 발명에 따른 객체 활성화부(140)는 이미지 생성부(146)를 더 포함할 수 있다. 이미지 생성부(146)는 각 객체 별로 정형화된 변형 이미지를 생성한다. 일 실시예에 있어서, 이미지 생성부(146)에 의해 생성되는 정형화된 변형 이미지는, 해당 객체가 인에이블(Enable) 상태일 때의 이미지, 해당 객체가 디스에이블(Disable) 상태일 때의 이미지, 해당 객체가 눌려진(Pressed) 상태일 때의 이미지, 해당 객체가 선택된(Selected) 상태일 때의 이미지, 해당 객체가 포커스(Focus)된 상태일 때의 이미지, 해당 객체 상에 입력도구가 위치(Hover)된 상태일 때의 이미지 중 적어도 하나를 포함할 수 있다.To this end, the object activator 140 according to the present invention may further include an image generator 146 . The image generator 146 generates a standardized modified image for each object. In one embodiment, the standardized deformed image generated by the image generator 146 is an image when the corresponding object is in an enabled state, an image when the corresponding object is in a disabled state, Image when the object is pressed, image when the object is selected, image when the object is in focus, and the input tool is hovered on the object ) may include at least one of the images in the state.

이러한 실시예에 따르는 경우, 객체 탐지부(144)는 해당 객체의 이미지 정보와 동일한 이미지 정보를 갖는 객체가 탐지되지 않는 경우, 이미지 생성부(146)에 의해 생성된 객체의 정형화된 변형 이미지와 동일한 이미지를 갖는 객체가 존재하는지 여부를 추가로 탐지하고, 해당 객체의 정형화된 변형 이미지와 동일한 이미지를 갖는 객체가 탐지되면, 탐지된 객체를 활성화시킨다.According to this embodiment, when an object having the same image information as the image information of the object is not detected, the object detection unit 144 may be identical to the standardized modified image of the object generated by the image generation unit 146 . It is further detected whether an object having an image exists, and when an object having the same image as the standardized modified image of the corresponding object is detected, the detected object is activated.

도 7은 본 발명의 다른 실시예에 따른 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템의 구성을 개략적으로 보여주는 블록도이다. 도 7에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템(700)은 적어도 하나의 스크립트 생성부(710a~710n), 적어도 하나의 스크립트 실행부(720a~720n), 적어도 하나의 키 입력 가상화부(730a~730n), 적어도 하나의 제어부(740a~740n), 및 스크립트 관리부(750)를 더 포함한다.7 is a block diagram schematically showing the configuration of a key input virtualization system for robot processor automation according to another embodiment of the present invention. 7, the key input virtualization system 700 for robot processor automation according to another embodiment of the present invention includes at least one script generating unit 710a to 710n, and at least one script executing unit 720a to 720n), at least one key input virtualization unit 730a to 730n, at least one control unit 740a to 740n, and a script management unit 750 .

도 7에 도시된 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템(700)에서 적어도 하나의 스크립트 실행부(720a~720n)와 적어도 하나의 제어부(750)는 각각 1대1로 연동되어 하나의 제어부(750)가 하나의 하나의 스크립트 실행부(720a~720n)를 제어하는 구조이다. 또한, 도 7에 도시된 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템(700)에서 스크립트 관리부(750)는 적어도 하나의 스크립트 생성부(710) 및 적어도 하나의 스크립트 실행부(720a~720n)를 관리한다.In the key input virtualization system 700 for robot processor automation shown in FIG. 7 , at least one script execution unit 720a to 720n and at least one control unit 750 are interlocked in a one-to-one manner to form one control unit 750 ) is a structure that controls one script execution unit 720a to 720n. In addition, in the key input virtualization system 700 for robot processor automation shown in FIG. 7 , the script management unit 750 manages at least one script generation unit 710 and at least one script execution unit 720a to 720n. .

적어도 하나의 스크립트 생성부(710a~710n)는 로봇 프로세스 자동화를 위한 자동화 스크립트(Script)를 생성한다. 이를 위해, 각 스크립트 생성부(710a~710n)는 프로세스 설정부(712), 태스크 설정부(714), 및 스크립트 제작부(716)를 포함한다. 스크립트 생성부(710a~710n) 및 스크립트 생성부(710a~710n)에 포함된 프로세스 설정부(712), 태스크 설정부(714), 스크립트 제작부(716)는 도 1에 도시된 스크립트 생성부(110) 및 프로세스 설정부(112), 태스크 설정부(114), 스크립트 제작부(116)와 그 기능이 동일하므로 구체적인 설명은 생략하기로 한다.At least one script generating unit (710a to 710n) generates an automation script (Script) for robot process automation. To this end, each script generating unit 710a to 710n includes a process setting unit 712 , a task setting unit 714 , and a script manufacturing unit 716 . The process setting unit 712 , the task setting unit 714 , and the script manufacturing unit 716 included in the script generating units 710a to 710n and the script generating units 710a to 710n include the script generating unit 110 shown in FIG. 1 . ) and the process setting unit 112 , the task setting unit 114 , and the script production unit 116 have the same functions, and thus a detailed description thereof will be omitted.

적어도 하나의 스크립트 실행부(720a~720n)는 적어도 하나의 스크립트 생성부(710)에 의해 생성된 자동화 스크립트를 실제로 실행함으로써 사용자의 컴퓨팅 업무를 자동으로 처리한다. 구체적으로, 각 스크립트 실행부(720a~720n)는 스크립트 생성부(710a~710n) 또는 스크립트 관리부(750)로부터 자동화 스크립트를 수신하고, 제어부(740a~740n) 또는 스크립트 관리부(750)로부터 실행명령을 수신하면 해당 자동화 스크립트를 실행하여 사용자의 컴퓨팅 업무를 처리한다. The at least one script execution unit 720a to 720n automatically processes the user's computing task by actually executing the automated script generated by the at least one script generation unit 710 . Specifically, each script execution unit 720a to 720n receives an automation script from the script generation unit 710a to 710n or the script management unit 750, and executes an execution command from the control unit 740a to 740n or the script management unit 750. Upon receipt, it executes the corresponding automation script to handle the user's computing tasks.

각 스크립트 실행부(720a~720n)는 수신된 자동화 스크립트에 대한 실행명령이 수신되면, 해당 자동화 스크립트를 해석하여 각각의 이벤트, 태스크, 프로세스에 대해 속성, 실행조건, 우선순위 등을 판단하고 실행순서를 스케쥴링한다. 또한, 스크립트 실행부(720a~720n)는 각각의 이벤트들을 실행순서에 따라 순차적으로 실행함으로써 태스크를 실행하고, 또한 각각의 태스크들을 실행순서에 따라 실행함으로써 프로세스를 실행한다.Each script execution unit 720a to 720n receives an execution command for the received automation script, interprets the automation script to determine attributes, execution conditions, priority, etc. for each event, task, and process, and executes the sequence to schedule In addition, the script execution units 720a to 720n execute a task by sequentially executing each event according to the execution order, and also execute a process by executing each task according to the execution order.

특히, 본 발명에 따른 각 스크립트 실행부(720a~720n)는 제어부(740a~740n)와 스크립트 관리부(750) 사이에서 제어부(740a~740n) 및 스크립트 관리부(750)를 상호 연동시켜 제어부(740a~740n)가 스크립트 관리부(750)를 통해 원격의 스크립트 실행부를 제어할 수 있도록 해 준다.In particular, each of the script execution units 720a to 720n according to the present invention interlocks the control units 740a to 740n and the script management unit 750 between the control units 740a to 740n and the script management unit 750 to interlock the control units 740a to 740n) allows the script management unit 750 to control the remote script execution unit.

일 실시예에 있어서, 스크립트 실행부(720a~720n)는 스크립트 실행시 레코딩 시의 컴퓨팅 환경 정보를 참조하여 현재의 컴퓨팅 환경(화면 해상도, 화면 배치, 화면 크기 등)이 레코딩시의 컴퓨팅 환경과 동일해지도록 현재의 컴퓨팅 환경을 조정할 수 있다.In an embodiment, the script execution units 720a to 720n refer to computing environment information at the time of recording when the script is executed so that the current computing environment (screen resolution, screen arrangement, screen size, etc.) is the same as the computing environment at the time of recording. You can adjust your current computing environment to suit your needs.

적어도 하나의 키 입력 가상화부(730a~730n)는 적어도 하나의 스크립트 실행부(720)에 의해 실행된 자동화 스크립트로부터 문자열 데이터를 추출하고, 추출된 문자열 데이터로부터 가상 키 입력신호를 생성하며, 이를 기초로 실제 키 입력 메시지를 생성한다. 키 입력 가상화부(730a~730n)는 생성된 실제 키 입력 메시지를 키보드 구동 드라이버(250)는 생성한 실제 키 입력 메시지를 운영체제(OS)로 전달함으로써, 운영체제가 실제 키 입력 메시지를 자동화 스크립트 실행에 따라 활성화된 객체 내에 입력할 수 있도록 한다.The at least one key input virtualization unit 730a to 730n extracts string data from the automated script executed by the at least one script execution unit 720, and generates a virtual key input signal from the extracted string data, based on this to generate the actual key input message. The key input virtualization units 730a to 730n transmit the actual key input message generated by the keyboard driving driver 250 to the operating system (OS), so that the operating system transmits the actual key input message to the automated script execution. Allows input within the activated object according to

이를 위해, 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템(700)은 자동화 스크립트에 포함된 객체를 탐지하고 활성화시키는 객체 활성화부(미도시)를 더 포함할 수 있다. 객체 활성화부의 기능은 도 1에 도시된 객체 활성화부의 기능과 동일하므로 구체적인 설명은 생략한다. 다른 실시예에 있어서, 객체의 탐지 및 활성화는 상술한 스크립트 실행부(720a~720n)에 의해 직접 수행될 수도 있을 것이다.To this end, the key input virtualization system 700 for robot processor automation may further include an object activator (not shown) for detecting and activating an object included in the automation script. Since the function of the object activator is the same as that of the object activator shown in FIG. 1 , a detailed description thereof will be omitted. In another embodiment, detection and activation of the object may be directly performed by the above-described script execution units 720a to 720n.

키 입력 가상화부(730a~730n)의 구성은 도 2에 도시된 것과 동일하므로 구체적인 설명은 생략하기로 한다.Since the configuration of the key input virtualization units 730a to 730n is the same as that shown in FIG. 2 , a detailed description thereof will be omitted.

상술한 바와 같은 키 입력 가상화부(730)는 스크립트 실행부(720a~720n)별로 각각 구비될 수 있지만, 변형된 실시예에 있어서, 하나의 키 입력 가상화부(730)가 복수개의 스크립트 실행부(720a~720n)와 연동되도록 구현될 수도 있다.The key input virtualization unit 730 as described above may be provided for each script execution unit 720a to 720n, but in a modified embodiment, one key input virtualization unit 730 includes a plurality of script execution units ( 720a ~ 720n) may be implemented to be interlocked.

적어도 하나의 제어부(740a~740n)는 사용자가 적어도 하나의 스크립트 실행부(720a~720n)를 제어하기 위한 장치이다. 적어도 하나의 제어부(740a~740n)는 제어 대상인 적어도 하나의 스크립트 실행부(720a~720n)와 연동되며, 해당 스크립트 실행부(720a~720n)가 처리할 자동화 스크립트를 선택하고, 실행을 명령한다. 또한, 해당 스크립트 실행부(720a~720n)로부터 자동화 스크립트의 실행결과를 수신한다.The at least one control unit (740a to 740n) is a device for the user to control the at least one script execution unit (720a to 720n). At least one control unit (740a to 740n) is interlocked with at least one script execution unit (720a to 720n) that is a control object, selects an automation script to be processed by the corresponding script execution units (720a to 720n), and commands execution. In addition, the execution result of the automation script is received from the corresponding script execution units 720a to 720n.

이를 위해, 각 제어부(740a~740n)는 사용자가 해당 제어부(740a~740n)를 통해 원하는 스크립트 실행부(720a~720n)를 제어할 수 있도록 사용자 인터페이스를 제공한다. 예컨대, 제어부(740a~740n)는 사용자 인터페이스를 통해 사용자의 로그인/로그아웃, 스크립트 실행부 선택, 및 자동화 스크립트의 실행/정지 중 적어도 하나에 대하여 GUI(Graphic User Interface)를 제공하고, 해당 스크립트 실행부(720)에서 실행되고 있는 스크립트에 포함된 프로세스의 진행상태, 실행결과 등을 표시한다.To this end, each of the controllers 740a to 740n provides a user interface so that the user can control the desired script execution units 720a to 720n through the corresponding controllers 740a to 740n. For example, the control units 740a to 740n provide a GUI (Graphic User Interface) for at least one of a user's login/logout, a script execution unit selection, and execution/stop of an automated script through a user interface, and execute the corresponding script The progress status of the process included in the script being executed in the unit 720, the execution result, etc. are displayed.

또한, 제어부(740a~740n)는 스크립트 실행부(720a~720n)에서 처리될 수 있는 자동화 스크립트를 사용자에게 제공한다. 또한, 사용자가 스크립트 실행부(720a~720n)에 대해 임의의 자동화 스크립트를 등록하거나 삭제하면, 이에 따라 해당 자동화 스크립트가 실행되거나 취소될 수 있도록 한다.In addition, the control units 740a to 740n provide the user with an automated script that can be processed by the script execution units 720a to 720n. In addition, when a user registers or deletes an arbitrary automation script for the script execution units 720a to 720n, the corresponding automation script can be executed or canceled accordingly.

또한, 제어부(740a~740n)는 스크립트 실행부(720a~720n)로 해당 자동화 스크립트의 실행을 명령하고, 그 실행결과를 수신하여 사용자 인터페이스를 통해 사용자에게 통지한다.In addition, the control units 740a to 740n instruct the script execution units 720a to 720n to execute the corresponding automated script, receive the execution result and notify the user through the user interface.

특히, 본 발명에 따른 각각의 제어부(740a~740n)가 각 스크립트 실행부(720a~720n)와 1대1로 연동되는 경우, 사용자가 제1 스크립트 실행부(720a)와 연동되어 있는 제1 제어부(740a)로 제1 제어부(740a)와 연동되어 있지 않은 제2 스크립트 실행부(720b)에서 자동화 스크립트의 실행을 등록하는 경우, 제1 제어부(740)는 제1 스크립트 실행부(720a), 스크립트 관리부(750), 및 제2 스크립트 실행부(720b)를 통해 해당 자동화 스크립트가 실행되도록 할 수 있다.In particular, when each control unit (740a ~ 740n) according to the present invention is linked one-to-one with each script execution unit (720a ~ 720n), the user is the first control unit that is interlocked with the first script execution unit (720a) When the execution of the automation script is registered in the second script execution unit 720b that is not linked with the first control unit 740a as 740a, the first control unit 740 is the first script execution unit 720a, the script A corresponding automation script may be executed through the management unit 750 and the second script execution unit 720b.

구체적으로, 제1 제어부(740a)는 먼저 제1 스크립트 실행부(720a)로 실행요청된 자동화 스크립트의 실행을 명령한다. 이에 따라, 제1 스크립트 실행부(720a)는 이를 스크립트 관리부(750)로 전달하고, 스크립트 관리부(750)는 제2 스크립트 실행부(720b)로 해당 자동화 스크립트를 전송하면서 실행을 명령한다. 제2 스크립트 실행부(720b)는 스크립트 관리부(750)로부터 전달받은 자동화 스크립트를 실행하여 그 결과를 스크립트 관리부(750)로 전달한다. 스크립트 관리부(750)는 해당 자동화 스크립트의 실행결과를 제1 스크립트 실행부(720a)로 전달하고, 제1 스크립트 실행부(720a)는 스크립트 관리부(750)로부터 전달받은 자동화 스크립트의 실행결과를 제1 제어부(740a)로 전달한다.Specifically, the first control unit 740a first instructs the first script execution unit 720a to execute the requested automation script. Accordingly, the first script execution unit 720a transmits it to the script management unit 750, and the script management unit 750 commands execution while transmitting the corresponding automation script to the second script execution unit 720b. The second script execution unit 720b executes the automated script received from the script management unit 750 and delivers the result to the script management unit 750 . The script management unit 750 transmits the execution result of the corresponding automation script to the first script execution unit 720a, and the first script execution unit 720a transmits the execution result of the automation script received from the script management unit 750 to the first It is transmitted to the control unit (740a).

이를 통해, 각각의 제어부(740a~740n)는 자신과 직접 연동된 스크립트 실행부(720a~720n)뿐만 아니라 스크립트 관리부(750)를 통해 원격에 있는 타 스크립트 실행부(720a~720n)에 대해서도 원하는 자동화 스크립트의 실행을 명령할 수 있게 된다. Through this, each control unit (740a ~ 740n) is not only the script execution unit (720a ~ 720n) directly interlocked with itself, but also the script management unit (750) through the remote script execution unit (720a ~ 720n) for the desired automation You can command the execution of the script.

한편, 본 발명에 따른 시스템은 스크립트 관리부(750)를 더 포함할 수 있다.Meanwhile, the system according to the present invention may further include a script management unit 750 .

스크립트 관리부(750)는 적어도 하나의 스크립트 생성부(710a~710n) 및/또는 적어도 하나의 스크립트 실행부(720a~720n)와 연동되어 이들을 관리한다. 스크립트 관리부(750)는 적어도 하나의 스크립트 생성부(710a~710n)와 연동되며, 적어도 하나의 스크립트 생성부(710a~710n)로부터 자동화 스크립트를 수신하여 관리한다. 또한, 스크립트 관리부(750)는 적어도 하나의 스크립트 실행부(720a~720n)와 연동되며, 적어도 하나의 스크립트 실행부(720a~720n)에 대해 자동화 스크립트의 실행을 명령하고 실행결과를 수신하여 관리한다.The script management unit 750 interworks with at least one script generating unit 710a to 710n and/or at least one script execution unit 720a to 720n to manage them. The script management unit 750 interworks with at least one script generation unit 710a to 710n, and receives and manages an automated script from the at least one script generation unit 710a to 710n. In addition, the script management unit 750 is interlocked with at least one script execution unit 720a to 720n, commands the execution of an automation script to at least one script execution unit 720a to 720n, and receives and manages the execution result. .

특히, 본 발명에 따른 스크립트 관리부(750)는 복수개의 스크립트 실행부(720a~720n)들 중 제1 스크립트 실행부(720a)의 요청에 따라 원격에 있는 제2 스크립트 실행부(720b)로 제2 자동화 스크립트의 실행을 명령하고, 그 실행결과를 수신하여 제1 스크립트 실행부(720a)로 전송할 수 있다.In particular, the script management unit 750 according to the present invention is a second script execution unit 720b at a remote location according to the request of the first script execution unit 720a among the plurality of script execution units 720a to 720n. The execution of the automation script may be commanded, and the execution result may be received and transmitted to the first script execution unit 720a.

즉, 스크립트 관리부(750)는 각각의 제어부(740a~740n)가 자신과 직접 연동된 스크립트 실행부(720a~720n) 뿐만 아니라 자신과 연동되어 있지 않는 원격에 있는 타 스크립트 실행부(720a~720n)에 대해서도 원하는 자동화 스크립트의 실행을 명령할 수 있도록 스크립트 실행부(720a~720n)들 사이에서 자동화 스크립트의 송신, 자동화 스크립트의 실행명령의 송수신, 및 자동화 스크립트 실행결과의 송수신 기능을 수행한다. That is, the script management unit 750 includes not only the script execution units 720a to 720n in which each control unit 740a to 740n is directly interlocked with itself, but also to the other remote script execution units 720a to 720n that are not interlocked with themselves. In order to command the execution of the desired automation script, the transmission of the automation script, the transmission and reception of the execution command of the automation script, and the transmission and reception of the execution result of the automation script are performed between the script execution units 720a to 720n.

본 발명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.Those skilled in the art to which the present invention pertains will understand that the above-described present invention may be embodied in other specific forms without changing the technical spirit or essential characteristics thereof.

그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

100: 키 입력 가상화 시스템 110: 스크립트 생성부
120: 스크립트 실행부 130: 키 입력 가상화부
140: 객체 활성화부 210: 문자열 데이터 추출부
220: 가상 키 입력신호 생성부 230: 큐
240: 키 입력부 250: 키보드 구동 드라이버
100: key input virtualization system 110: script generation unit
120: script execution unit 130: key input virtualization unit
140: object activation unit 210: string data extraction unit
220: virtual key input signal generator 230: queue
240: key input unit 250: keyboard driving driver

Claims (20)

로봇 프로세스 자동화(Robot Process Automation)를 위해 생성된 자동화 스크립트(Script)를 실행하는 스크립트 실행부;
상기 자동화 스크립트에 포함된 문자열 데이터를 구성하는 문자 별로 실제 키보드 상에서 각 문자의 문자키(Key)에 매핑되는 키 코드를 기초로 가상 키 입력신호를 생성하는 가상 키 입력신호 생성부; 및
상기 가상 키 입력신호를 기초로 상기 문자열 데이터의 입력을 위한 실제 키 입력 메시지를 생성하는 키보드 구동 드라이버를 포함하고,
상기 가상 키 입력신호 생성부는 상기 문자열 데이터를 문자 단위로 분할하고, 상기 분할된 각 문자 별로 실제 키보드 상에서 상기 문자키에 매핑되는 키 코드가 기록되는 제1 필드 및 상기 문자키의 눌려짐 상태(DOWN)를 나타내는 다운 정보 또는 상기 문자키의 눌려짐 해제 상태(UP)를 나타내는 정보가 기록되는 제2 필드로 구성된 상기 가상 키 입력신호를 생성하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.
Script execution unit for executing the automation script (Script) generated for robot process automation (Robot Process Automation);
a virtual key input signal generator for generating a virtual key input signal based on a key code mapped to a character key of each character on a real keyboard for each character constituting the character string data included in the automation script; and
a keyboard driving driver for generating an actual key input message for input of the character string data based on the virtual key input signal;
The virtual key input signal generating unit divides the string data into character units, and for each divided character, a first field in which a key code mapped to the character key is recorded on the real keyboard and a pressed state (DOWN) of the character key ) A key input virtualization system for robot processor automation, characterized in that it generates the virtual key input signal consisting of a second field in which down information indicating the down information or information indicating the depressed state (UP) of the character key is recorded.
제1항에 있어서,
상기 키보드 구동 드라이버는 상기 실제 키 입력 메시지를 운영체제(Operating System: OS)로 전달하고, 상기 실제 키 입력 메시지는 상기 운영체제를 통해 상기 자동화 스크립트에 의해 실행되는 객체에 입력되는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.
According to claim 1,
The keyboard driving driver transmits the real key input message to an operating system (OS), and the real key input message is input to an object executed by the automation script through the operating system. keystroke virtualization system for
삭제delete 삭제delete 제1항에 있어서,
상기 가상 키 입력신호는, 상기 제2 필드 이후에 배치되고 문자입력간 지연시간정보가 기록되는 제3 필드를 더 포함하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.
According to claim 1,
The virtual key input signal is a key input virtualization system for robot processor automation, characterized in that it further comprises a third field disposed after the second field and in which delay time information between character input is recorded.
제1항에 있어서,
상기 가상 키 입력신호 생성부는 상기 문자의 입력을 위해 기능키 입력이 요구되는 경우, 실제 키보드 상에서 상기 기능키에 매핑되는 키 코드 및 상기 기능키의 눌려짐 상태나 눌려짐 해제상태를 나타내는 정보를 이용하여 상기 기능키에 대한 가상 키 입력신호를 생성하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.
According to claim 1,
When a function key input is required for input of the character, the virtual key input signal generating unit uses a key code mapped to the function key on a real keyboard and information indicating a pressed or released state of the function key. A key input virtualization system for robot processor automation, characterized in that generating a virtual key input signal for the function key.
제1항에 있어서,
상기 가상 키 입력신호 생성부는, 각 문자 별로 문자키의 눌려짐 상태를 나타내는 제1 가상 키 입력신호와 해당 문자키의 눌려짐 해제상태를 나타내는 제2 가상 키 입력신호를 연속하여 생성하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.
According to claim 1,
The virtual key input signal generating unit continuously generates a first virtual key input signal indicating a pressed state of a character key for each character and a second virtual key input signal indicating a depressed state of the corresponding character key. A keystroke virtualization system for robot processor automation.
제1항에 있어서,
상기 가상 키 입력신호 생성부는, 상기 문자의 입력을 위해 기능키의 추가 입력이 요구되는 경우, 상기 기능키의 눌려짐 상태를 나타내는 제3 가상 키 입력신호, 상기 문자키의 눌려짐 상태를 나타내는 제4 가상 키 입력신호, 상기 문자키의 눌려짐 해제상태를 나타내는 제5 가상 키 입력신호, 및 상기 기능키의 눌려짐 해제 상태를 나타내는 제6 가상 키 입력신호를 연속하여 생성하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.
According to claim 1,
The virtual key input signal generating unit may include a third virtual key input signal indicating a pressed state of the function key, and a third virtual key input signal indicating a pressed state of the character key when an additional input of a function key is required to input the character. 4 A robot characterized in that it continuously generates a virtual key input signal, a fifth virtual key input signal indicating a press release state of the character key, and a sixth virtual key input signal indicating a release state of the function key A keystroke virtualization system for processor automation.
제1항에 있어서,
상기 가상 키 입력신호 생성부에 의해 생성된 가상 키 입력신호가 상기 문자열 데이터를 구성하는 각 문자의 입력순서에 따라 순차적으로 삽입되는 큐를 더 포함하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.
According to claim 1,
Key input virtualization for robot processor automation, characterized in that it further comprises a queue in which the virtual key input signal generated by the virtual key input signal generator is sequentially inserted according to the input order of each character constituting the character string data. system.
제9항에 있어서,
상기 큐로부터 상기 가상 키 입력신호를 순차적으로 인출하여 상기 키보드 구동 드라이버로 입력하는 키 입력부를 더 포함하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.
10. The method of claim 9,
The key input virtualization system for robot processor automation, characterized in that it further comprises a key input unit for sequentially fetching the virtual key input signal from the queue and inputting the virtual key input signal to the keyboard driving driver.
제1항에 있어서,
상기 자동화 스크립트에는 업무 자동 실행을 위해 실행되어야 하는 태스크들 또는 프로세스들이 실행순서에 따라 순차적으로 기록되어 있는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.
According to claim 1,
A key input virtualization system for robot processor automation, characterized in that in the automation script, tasks or processes to be executed for automatic task execution are sequentially recorded according to the execution order.
제1항에 있어서,
상기 실행된 자동화 스크립트에 포함된 객체의 정보를 기초로 단말기 상에서 상기 객체의 정보에 대응되는 객체를 탐지하여 활성화시키는 객체 탐지부를 포함하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.
According to claim 1,
and an object detection unit for detecting and activating an object corresponding to the information of the object on the terminal based on the information of the object included in the executed automation script.
제12항에 있어서,
상기 객체 탐지부는 상기 자동화 스크립트에 포함된 객체의 속성정보 및 계층적 소속정보 중 적어도 하나를 이용하여 산출된 고유값과 동일한 고유값을 갖는 객체를 탐지하여 활성화시키는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.
13. The method of claim 12,
The object detection unit detects and activates an object having the same eigenvalue as the eigenvalue calculated using at least one of attribute information and hierarchical affiliation information of the object included in the automation script. Keystroke virtualization system.
제12항에 있어서,
상기 객체 탐지부는 상기 자동화 스크립트에 포함된 객체의 이미지와 동일한 이미지를 갖는 객체를 탐지하여 활성화시키는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.
13. The method of claim 12,
The object detection unit detects and activates an object having the same image as the image of the object included in the automation script and activates the key input virtualization system.
제14항에 있어서,
상기 자동화 스크립트에 포함된 객체의 정형화된 변형 이미지를 생성하는 변형 이미지 생성부를 더 포함하고,
상기 객체 탐지부는 상기 객체의 이미지와 동일한 이미지를 갖는 객체가 탐지되지 않는 경우, 상기 객체의 변형 이미지와 동일한 이미지를 갖는 객체를 탐지하여 활성화시키는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.
15. The method of claim 14,
Further comprising a deformation image generating unit for generating a standardized deformation image of the object included in the automation script,
The object detection unit detects and activates an object having the same image as the deformed image of the object when an object having the same image as the image of the object is not detected and activated.
제15항에 있어서,
상기 정형화된 변형 이미지는, 상기 객체가 인에이블(Enable) 상태일 때의 이미지, 상기 객체가 디스에이블(Disable) 상태일 때의 이미지, 상기 객체가 눌려진(Pressed) 상태일 때의 이미지, 상기 객체가 선택된(Selected) 상태일 때의 이미지, 사이 객체가 포커스(Focus)된 상태일 때의 이미지, 상기 객체 상에 입력도구가 위치(Hover)된 상태일 때의 이미지 중 적어도 하나를 포함하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.
16. The method of claim 15,
The standardized deformation image includes an image when the object is in an enabled state, an image when the object is in a disabled state, an image when the object is in a pressed state, and the object It characterized in that it includes at least one of an image when is in a selected state, an image when an object is in a focused state, and an image when an input tool is hovered on the object. A keystroke virtualization system for robot processor automation with
제1항에 있어서,
상기 실행된 자동화 스크립트로부터 상기 문자열 데이터에 대응되는 상기 실제 키 입력 메시지가 입력될 객체에 대한 위치를 2차원 좌표 형태로 획득하는 객체정보 획득부; 및
상기 객체정보 획득부에 의해 획득된 2차원 좌표를 기초로 상기 객체를 탐지하여 활성화시키는 객체 탐지부를 더 포함하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.
According to claim 1,
an object information acquisition unit configured to acquire, in the form of two-dimensional coordinates, a position of an object to which the actual key input message corresponding to the string data is to be input from the executed automation script; and
Key input virtualization system for robot processor automation, characterized in that it further comprises an object detection unit for detecting and activating the object based on the two-dimensional coordinates obtained by the object information acquisition unit.
적어도 하나의 이벤트로 구성된 태스크 및 적어도 하나의 태스크로 구성된 프로세스를 설정하며, 상기 태스크 및 상기 프로세스의 수행을 위한 자동화 스크립트를 생성하는 적어도 하나의 스크립트 생성부;
상기 태스크를 구성하는 적어도 하나의 이벤트를 실행하여 상기 자동화 스크립트를 실행하는 적어도 하나의 스크립트 실행부;
상기 자동화 스크립트의 실행에 따라 활성화된 객체에 입력될 문자열 데이터로부터 가상의 키 입력신호를 생성하고, 생성된 가상의 키 입력 신호를 기초로 실제 키 입력 메시지를 생성하는 적어도 하나의 키 입력 가상화부; 및
상기 적어도 하나의 스크립트 실행부와 연동되어 상기 자동화 스크립트의 실행을 제어하는 적어도 하나의 제어부를 포함하고,
상기 적어도 하나의 키 입력 가상화부는 상기 문자열 데이터를 문자 단위로 분할하고, 상기 분할된 각 문자 별로 실제 키보드 상에서 각 문자의 문자키에 매핑되는 키 코드가 기록되는 제1 필드 및 상기 문자키의 눌려짐 상태(DOWN)를 나타내는 다운 정보 또는 상기 문자키의 눌려짐 해제 상태(UP)를 나타내는 정보가 기록되는 제2 필드로 구성된 상기 가상의 키 입력신호를 생성하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.
at least one script generator configured to set a task composed of at least one event and a process composed of at least one task, and to generate an automation script for performing the task and the process;
at least one script execution unit for executing the automation script by executing at least one event constituting the task;
at least one key input virtualization unit for generating a virtual key input signal from string data to be input to an object activated according to the execution of the automation script, and generating an actual key input message based on the generated virtual key input signal; and
Comprising at least one control unit interlocked with the at least one script execution unit to control the execution of the automated script,
The at least one key input virtualization unit divides the string data into character units, and for each divided character, a first field in which a key code mapped to a character key of each character on the actual keyboard is recorded and the character key is pressed A key for robot processor automation, characterized in that it generates the virtual key input signal composed of a second field in which down information indicating a state (DOWN) or information indicating a press release state (UP) of the character key is recorded Input virtualization system.
제18항에 있어서,
상기 적어도 하나의 제어부는 상기 적어도 하나의 스크립트 실행부와 각각 대응되어 상기 적어도 하나의 스크립트 실행부로 상기 자동화 스크립트의 실행을 명령하고, 상기 적어도 하나의 스크립트 실행부는 해당 자동화 스크립트를 실행하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.
19. The method of claim 18,
The at least one control unit corresponds to the at least one script execution unit, respectively, and commands the at least one script execution unit to execute the automation script, and the at least one script execution unit executes the corresponding automation script. A keystroke virtualization system for robot processor automation.
제18항에 있어서,
상기 스크립트 실행부에 연동되어 상기 스크립트 실행부를 관리하는 스크립트 관리부를 더 포함하고,
상기 스크립트 관리부는 상기 제어부로부터 제2 스크립트 실행부에서 실행될타겟 자동화 스크립트의 실행명령이 제1 스크립트 실행부를 통해 수신되면, 상기 제2 스크립트 실행부로 상기 타겟 자동화 스크립트 및 상기 타겟 자동화 스크립트의 실행명령을 전달하고, 상기 제2 스크립트 실행부로부터 상기 타겟 자동화 스크립트 실행결과를 수신하여 상기 제1 스크립트 실행부를 통해 상기 제어부로 전달하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.
19. The method of claim 18,
Further comprising a script management unit that interworks with the script execution unit to manage the script execution unit,
When the script management unit receives an execution command of the target automation script to be executed by the second script execution unit from the control unit through the first script execution unit, the script management unit delivers the execution command of the target automation script and the target automation script to the second script execution unit and receiving the target automation script execution result from the second script execution unit and transferring the result to the control unit through the first script execution unit.
KR1020190171015A 2019-12-19 2019-12-19 Key Input Virtualization System for Robot Process Automation KR102299657B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190171015A KR102299657B1 (en) 2019-12-19 2019-12-19 Key Input Virtualization System for Robot Process Automation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190171015A KR102299657B1 (en) 2019-12-19 2019-12-19 Key Input Virtualization System for Robot Process Automation

Publications (2)

Publication Number Publication Date
KR20210078995A KR20210078995A (en) 2021-06-29
KR102299657B1 true KR102299657B1 (en) 2021-09-07

Family

ID=76626597

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190171015A KR102299657B1 (en) 2019-12-19 2019-12-19 Key Input Virtualization System for Robot Process Automation

Country Status (1)

Country Link
KR (1) KR102299657B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102453289B1 (en) * 2022-03-29 2022-10-11 주식회사 시메이션 Robotic automation method and systen, and computing device for executing the method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004220158A (en) * 2003-01-10 2004-08-05 Seiko Epson Corp Integrated keyboard driver
JP6412958B2 (en) * 2014-05-21 2018-10-24 ゼットティーイー コーポレイション Data input method and terminal

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101759536B1 (en) * 2010-05-28 2017-07-19 (주)경문엔터테인먼트 Computer keyboard with key-mapping function
KR20130057628A (en) * 2011-11-24 2013-06-03 한국전자통신연구원 Method and apparatus for authoring task
KR102296897B1 (en) * 2015-10-23 2021-08-31 삼성에스디에스 주식회사 System and method for performing test automation of solution
KR101899298B1 (en) * 2016-12-12 2018-09-17 (주)아이엔소프트 Processing system for automation of cloud and process operating based virtual environment and processing method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004220158A (en) * 2003-01-10 2004-08-05 Seiko Epson Corp Integrated keyboard driver
JP6412958B2 (en) * 2014-05-21 2018-10-24 ゼットティーイー コーポレイション Data input method and terminal

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102453289B1 (en) * 2022-03-29 2022-10-11 주식회사 시메이션 Robotic automation method and systen, and computing device for executing the method

Also Published As

Publication number Publication date
KR20210078995A (en) 2021-06-29

Similar Documents

Publication Publication Date Title
JP7089879B2 (en) Robot-based process automation
KR102160344B1 (en) System and Method for Robot Process Automation
JP5599400B2 (en) Method system and software for providing an image sensor based human machine interface
US9405656B2 (en) Method for remotely testing the operation of a computer system
US20180173614A1 (en) Technologies for device independent automated application testing
KR102446521B1 (en) Screen Response Verification of Robot Execution for Robotic Process Automation
KR102254850B1 (en) Process Editor Apparatus and Robot Process Automation including thereof
US20170322637A1 (en) Mouse action capture and replay system and method, recording medium, and program product
CN104007958A (en) Method and program editor for creating and editing a program for an industrial automation assembly
US11947443B2 (en) Robotic process automation (RPA) debugging systems and methods
JP2009032099A (en) Scenario creation apparatus and scenario creation program
KR20170057264A (en) Code development tool with multi-context intelligent assistance
KR102299657B1 (en) Key Input Virtualization System for Robot Process Automation
KR102294578B1 (en) System for Searching Object for Robot Process Automation
KR20200082932A (en) Apparatus and method for recognizing optical character using template information
CN106815010B (en) Method and device for operating database
KR102439574B1 (en) System for Searching Object Based on Image Search for Robot Process Automation
CN115390720A (en) Robotic Process Automation (RPA) including automatic document scrolling
JP2021033719A (en) Information processing system and information processing method
KR102418739B1 (en) Robotic automation method and computing device for executing the method
KR20230102575A (en) System for Searching Object for Robot Process Automation
KR100818604B1 (en) Componentized method of the execution program of a windows based and a screen apparatus using method thereof
US20170115999A1 (en) Method, system, and non-transitory computer-readable recording medium for recording and reproducing an operation
CN116302398A (en) Workflow arrangement method, device, equipment and medium based on cloud protogenesis
CN117762653A (en) VR software linked system

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant