KR20180032033A - Apparatus and method for controlling simulation of satellite operation - Google Patents

Apparatus and method for controlling simulation of satellite operation Download PDF

Info

Publication number
KR20180032033A
KR20180032033A KR1020160120678A KR20160120678A KR20180032033A KR 20180032033 A KR20180032033 A KR 20180032033A KR 1020160120678 A KR1020160120678 A KR 1020160120678A KR 20160120678 A KR20160120678 A KR 20160120678A KR 20180032033 A KR20180032033 A KR 20180032033A
Authority
KR
South Korea
Prior art keywords
measurement
measurement data
value
code
driving environment
Prior art date
Application number
KR1020160120678A
Other languages
Korean (ko)
Other versions
KR101880808B1 (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 KR1020160120678A priority Critical patent/KR101880808B1/en
Publication of KR20180032033A publication Critical patent/KR20180032033A/en
Application granted granted Critical
Publication of KR101880808B1 publication Critical patent/KR101880808B1/en

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B9/00Simulators for teaching or training purposes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B9/00Simulators for teaching or training purposes
    • G09B9/02Simulators for teaching or training purposes for teaching control of vehicles or other craft
    • G09B9/52Simulators for teaching or training purposes for teaching control of vehicles or other craft for teaching control of an outer space vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/1851Systems using a satellite or space-based relay
    • H04B7/18519Operations control, administration or maintenance

Abstract

Provided is a satellite operation simulation control device for controlling simulation with respect to remote measurement data of a satellite based on a scenario. The device comprises: an execution unit configured to execute at least one first command related to a first script inputted from a user interface; and a processing unit configured to generate at least one first measurement data in a driving environment set in correspondence with the first command.

Description

위성 운영 시뮬레이션 제어 장치 및 방법{APPARATUS AND METHOD FOR CONTROLLING SIMULATION OF SATELLITE OPERATION}[0001] APPARATUS AND METHOD FOR CONTROLLING SIMULATION OF SATELLITE OPERATION [0002]

위성 운영 시뮬레이션 제어 기술에 연관되며, 보다 상세하게는 시나리오에 기반하여 위성의 원격 측정 데이터에 대한 시뮬레이션을 제어하는 장치 및 제어 방법에 연관된다.
And more particularly to an apparatus and method for controlling simulation of telemetry data of a satellite based on a scenario.

위성과 같은 대형 운영 시스템의 경우, 초기 운영 리허설이나 운영자 교육 등을 위해 시뮬레이터가 사용되는 것이 일반적이다. 시뮬레이터가 아닌 실제 시스템을 사용하여 리허설이나 교육을 실시한다면, 시스템이 직접 위험에 노출되는 상황이 발생할 수 있기 때문이다. 다만, 대형 운영 시스템에 적용되는 시뮬레이터는 시스템 자체의 복잡한 모델링 과정뿐만 아니라, 시스템이 운영되는 다양하고 복잡한 환경조건이 고려되어야 하며, 이로 인해 시스템 시뮬레이션을 위한 모델링과 검증에 소요되는 비용 및 시간이 커질 수밖에 없다.For large operating systems such as satellites, it is common for simulators to be used for early operational rehearsals or operator training. If you rehearse or train using a real system rather than a simulator, the system may be exposed to direct danger. However, a simulator applied to a large-scale operating system must consider not only the complicated modeling process of the system itself, but also various complex environmental conditions in which the system operates, thereby increasing cost and time for modeling and verification for system simulation There is no other choice.

또한, 시스템의 초기 운영 리허설이나 운영자 교육을 위해서는 여러 상황들을 가정한 시나리오가 필요하지만, 복잡한 시스템과 환경조건으로 인해 다양한 시나리오를 개발하여 검증하는 데 어려움이 있다.In addition, scenarios in which various scenarios are assumed for initial operation rehearsal and operator training of the system are required, but it is difficult to develop and verify various scenarios due to complicated system and environmental conditions.

이러한 한계를 보완하여 시스템 시뮬레이션 과정의 복잡도와 시뮬레이션을 위한 모델링 및 검증에 필요한 비용을 낮추기 위해서는, 복잡한 대형 시스템 전체에 대해 모델링 하지 않고 운영자 인터페이스가 시스템에 직접 연결되는 부분에 대해서만 시뮬레이션을 수행하도록 하는 기술이 요구된다.
To overcome these limitations to reduce the complexity of the system simulation process and the cost of modeling and verification for simulation, it is necessary to simulate only the parts where the operator interface is directly connected to the system, .

일측에 따르면, 시나리오에 기반하여 위성의 원격 측정 데이터에 대한 시뮬레이션을 제어하는 위성 운영 시뮬레이션 제어 장치가 제공된다. 상기 장치는: 사용자 인터페이스로부터 입력된 제1 스크립트에 연관되는 적어도 하나의 제1 명령어를 실행하는 실행부, 및 미리 지정된 주기에 따라 상기 제1 명령어에 대응하여 설정되는 구동환경에서의 적어도 하나의 제1 측정 데이터를 생성하는 처리부를 포함할 수 있다.According to one aspect, there is provided a satellite operating simulation control apparatus for controlling simulation of telemetry data of a satellite based on a scenario. The apparatus comprising: an execution unit that executes at least one first instruction associated with a first script input from a user interface; and an execution unit configured to execute at least one first instruction in a driving environment set corresponding to the first instruction, And a processing unit for generating one measurement data.

일실시예에 따르면, 상기 처리부는: 실행부에 의해 제어되는 설정 시간에 기초하여 상기 미리 지정된 주기를 결정할 수 있다.According to one embodiment, the processing section may determine the predetermined period based on a set time controlled by the execution section.

또한, 상기 처리부는: 상기 적어도 하나의 제1 측정 데이터를 미리 지정된 순서에 따라 패킷으로 구성하여 반복 출력할 수 있다.In addition, the processing unit may repeat the output of the at least one first measurement data in packets in a predetermined order.

일실시예에 따르면, 상기 처리부는: 실행되는 스크립트 별로 상기 제1 측정 데이터를 관리할 수도 있다.According to an embodiment, the processing unit may manage the first measurement data for each script to be executed.

일실시예에 따르면, 상기 장치는: 상기 구동환경에서의 제1 측정 데이터가 저장된 데이터베이스를 관리하는 관리부를 더 포함하며, 상기 처리부는, 상기 데이터베이스로부터 상기 제1 명령어에 대응하는 상기 제1 측정 데이터를 로딩한다.According to one embodiment, the apparatus further comprises: a management unit for managing a database in which the first measurement data in the driving environment is stored, wherein the processing unit is configured to receive, from the database, the first measurement data corresponding to the first instruction Lt; / RTI >

여기서, 상기 데이터베이스는: 상기 구동환경에서 생성되는 측정 데이터의 종류별로 부여되는 측정 코드 및 상기 측정 코드에 대응하는 값을 저장할 수 있다.Here, the database may store a measurement code assigned to each type of measurement data generated in the driving environment and a value corresponding to the measurement code.

일실시예에 따르면, 상기 데이터베이스는 상기 측정 코드마다 설정되는 규칙을 저장하는 전체 리스트 데이터베이스(Total value List DB), 설정 가능한 규칙 별 데이터 특성이 정의된 규칙 테이블(Rule Table), 상기 측정 코드 중 고정된 값이 정의된 코드의 값을 저장하는 정적 데이터베이스(Static DB), 상기 측정 코드 중 시간함수에 의해 정의되는 코드의 값을 저장하는 가변 데이터베이스(Variable DB) 및 구동환경 별 로딩할 데이터가 정의된 패킷 리스트 데이터베이스(Packet List DB) 중 적어도 하나를 포함한다.
According to one embodiment, the database may include a total value list DB storing rules set for each measurement code, a rule table defining a settable data characteristic per rule, (Variable DB) for storing a value of a code defined by a time function among the measurement codes and data to be loaded according to a driving environment And a packet list database (Packet List DB).

다른 일측에 따르면, 시나리오에 기반하여 위성의 원격 측정 데이터에 대한 시뮬레이션을 제어하는 방법이 제공된다. 상기 방법은: 사용자 인터페이스로부터 입력된 제1 스크립트에 연관되는 적어도 하나의 제1 명령어를 실행하는 단계, 및 미리 지정된 주기에 따라 상기 제1 명령어에 대응하여 설정되는 구동환경에서의 적어도 하나의 제1 측정 데이터를 생성하는 단계를 포함할 수 있다.According to another aspect, there is provided a method of controlling simulation of telemetry data of a satellite based on a scenario. The method comprising the steps of: executing at least one first instruction associated with a first script input from a user interface, and generating at least one first instruction in a driving environment set corresponding to the first instruction in accordance with a pre- And generating measurement data.

일실시예에 따르면, 상기 제1 측정 데이터를 생성하는 단계는: 상기 적어도 하나의 제1 측정 데이터를 미리 지정된 순서에 따라 패킷으로 구성하여 반복 출력하는 단계를 포함할 수 있다.According to an embodiment, the step of generating the first measurement data may include: forming the packets of the at least one first measurement data in a predetermined order and repeatedly outputting the packets.

일실시예에 따르면, 상기 제1 측정 데이터를 생성하는 단계는: 상기 구동환경에서의 제1 측정 데이터가 저장된 데이터베이스로부터 상기 제1 명령어에 대응하는 상기 제1 측정 데이터를 로딩한다.According to one embodiment, the step of generating the first measurement data comprises: loading the first measurement data corresponding to the first instruction from a database storing first measurement data in the driving environment.

또한, 상기 데이터베이스는, 상기 구동환경에서 생성되는 측정 데이터의 종류별로 부여되는 측정 코드 및 상기 측정 코드에 대응하는 값을 저장할 수 있다.The database may store a measurement code assigned to each kind of measurement data generated in the driving environment and a value corresponding to the measurement code.

일실시예에 따르면, 상기 데이터베이스는: 상기 측정 코드마다 설정되는 규칙을 저장하는 전체 리스트 데이터베이스(Total value List DB), 설정 가능한 규칙 별 데이터 특성이 정의된 규칙 테이블(Rule Table), 상기 측정 코드 중 고정된 값이 정의된 코드의 값을 저장하는 정적 데이터베이스(Static DB), 상기 측정 코드 중 시간함수에 의해 정의되는 코드의 값을 저장하는 가변 데이터베이스(Variable DB) 및 구동환경 별 로딩할 데이터가 정의된 패킷 리스트 데이터베이스(Packet List DB) 중 적어도 하나를 포함한다.
According to one embodiment, the database includes: a total value list DB storing rules set for each measurement code; a rule table defining a settable data characteristic for each rule; A static database (Static DB) for storing a value of a code for which a fixed value is defined; a variable database (Variable DB) for storing a value of a code defined by a time function in the measurement code; And a Packet List DB.

도 1은 일반적인 대형 운영 시스템의 시뮬레이터 구조 및 실행 방식을 설명하는 도면이다.
도 2는 일실시예에 따른 위성 운영 시뮬레이션 제어 장치를 도시하는 블록도이다.
도 3은 일실시예에 따라 입력 스크립트에 기반하여 운영되는 시뮬레이션 제어 장치의 세부 구조를 설명하는 도면이다.
도 4는 일실시예에 따라 운영 스크립트에 대응하는 측정 데이터의 생성 과정을 설명하는 도면이다.
도 5는 일실시예에 따라 운영 스크립트에 대응하여 실행되는 제어 명령을 설명하는 도면이다.
도 6은 일실시예에 따른 위성 운영 시뮬레이션 제어 방법을 도시하는 흐름도이다.
FIG. 1 is a diagram for explaining the structure and execution method of a general large-scale operating system.
2 is a block diagram illustrating a satellite operational simulation control apparatus in accordance with one embodiment.
3 is a diagram illustrating a detailed structure of a simulation control apparatus that is operated based on an input script according to an embodiment.
4 is a view for explaining a process of generating measurement data corresponding to an operation script according to an embodiment.
5 is a view for explaining a control command executed in response to an operation script according to an embodiment.
6 is a flowchart illustrating a method of controlling a satellite operation simulation according to an embodiment.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.It is to be understood that the specific structural or functional descriptions of embodiments of the present invention disclosed herein are presented for the purpose of describing embodiments only in accordance with the concepts of the present invention, May be embodied in various forms and are not limited to the embodiments described herein.

본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Embodiments in accordance with the concepts of the present invention are capable of various modifications and may take various forms, so that the embodiments are illustrated in the drawings and described in detail herein. However, it is not intended to limit the embodiments according to the concepts of the present invention to the specific disclosure forms, but includes changes, equivalents, or alternatives falling within the spirit and scope of the present invention.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.The terms first, second, or the like may be used to describe various elements, but the elements should not be limited by the terms. The terms may be named for the purpose of distinguishing one element from another, for example without departing from the scope of the right according to the concept of the present invention, the first element being referred to as the second element, Similarly, the second component may also be referred to as the first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~사이에"와 "바로~사이에" 또는 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Expressions that describe the relationship between components, for example, "between" and "immediately" or "directly adjacent to" should be interpreted as well.

본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises ", or" having ", and the like, are used to specify one or more of the features, numbers, steps, operations, elements, But do not preclude the presence or addition of steps, operations, elements, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these embodiments. Like reference symbols in the drawings denote like elements.

도 1은 일반적인 대형 운영 시스템의 시뮬레이터 구조 및 실행 방식을 설명하는 도면으로, 도 1a는 대형 운영 시스템의 시뮬레이션을 수행하는 시뮬레이터의 구조를, 도 1b는 시뮬레이션 수행 과정에서 조작되는 운영자 인터페이스를 각각 나타낸다.FIG. 1 is a diagram for explaining a structure and an execution method of a general large-scale operating system. FIG. 1a shows a structure of a simulator for performing a simulation of a large-scale operating system, and FIG. 1b shows an operator interface operated in a simulation execution process.

일반적으로 대형 운영 시스템의 동작 리허설이나 운영자 교육을 위해 적용되는 시뮬레이터를 구현하기 위해서는, 시스템 자체의 복잡성뿐만 아니라 시스템이 운영되는 환경 조건이 고려되어야 한다. 또한, 시뮬레이션 구현을 위해서는 시뮬레이션을 통해 시험 또는 교육하고자 하는 기능에 대한 시나리오 개발과 이에 기반한 모델링 작업이 필요하며, 이 과정에서 시스템 및 환경 조건에 대한 시뮬레이터 설계자나 시나리오 개발자의 폭넓은 이해가 요구된다. 그러나, 실제 위성 운영에 이용되는 기능이나 데이터 스트림은 복잡한 계산식에 기반하여 작성되기 때문에, 시뮬레이션 모델링 과정 또한 복잡하고 그 구현이 쉽지 않다.In general, in order to implement a simulator that is applied for operation rehearsal or operator training of a large operating system, the complexity of the system itself as well as the environmental conditions in which the system operates should be considered. In addition, for the simulation implementation, it is necessary to develop a scenario for the function to be tested or to be trained through the simulation, and to perform a modeling work based on the scenario. In this process, a wide understanding of the simulator designer or the scenario developer for the system and the environmental condition is required. However, since the functions or data streams used for actual satellite operation are created based on complex computations, the simulation modeling process is also complicated and difficult to implement.

도 1a에 도시된 시뮬레이터는 운영자가 검증하고자 하는 기능에 대한 시나리오나 이에 연관되는 제어 명령이 입력되는 GUI(110), 시스템 시뮬레이션 과정에서 요구되는 기능들을 수행하는 코어 모듈(120), 및 모델링 모듈(130)을 포함한다. 도 1a에서 실선으로 표시된 블록들은 상기 시뮬레이터 구현 시 필수적으로 요구되는 기본 기능을 제공하는 코어 컴포넌트이고, 점선으로 표시된 블록들은 시뮬레이션 목적에 따라 운영자(또는 설계자)가 구성 가능한 컴포넌트로 각각 이해될 수 있다. GUI(110)는 시뮬레이션 과정에서 운영자와의 통신을 지원하는 MMI(Multi Modal Interface, 111) 외에, 시스템 외부의 다른 프로그램과의 연동을 제공하는 외부 어플리케이션(External Application, 112), 수행되는 시뮬레이션의 특성에 따라 보다 다양한 인터페이스를 제공하는 미션 특정 MMI(Mission Specific MMIs, 113) 및 SAT3D(114)를 포함할 수 있다. 코어 모듈(120)은 시스템에 대한 시뮬레이션 수행 시 필요한 스케줄/시간/데이터/파일 관리와 같은 기본 기능들을 제공하는 스케줄러(Scheduler, 121), 로거(Logger, 122), 타임키퍼(Time Keeper, 123), 스크립트 호스트(Script Host, 124) 및 데이터 프로바이더(Data Provider, 125)와, 위성의 원격 측정을 위해 구성된 모델링 모듈과의 연동을 위한 스페이스크래프트 SMI 어댑터(Spacecraft SMI Adapter, 126) 및 그라운드 SMI 어댑터(Ground SMI Adapter)를 포함할 수 있다. 모델링 모듈(130)은 시뮬레이션 대상인 위성 특성에 적합하도록 구현되는 부분으로서, 미션 특정 스페이스크래프트 모델(Mission Specific Spacecraft Models, 131), 에뮬레이터(Emulators, 132), 센스(SENSE, 133), 펨(PEM, 134), 심팩(SIMPACK, 135) 및 ESA 그라운드 모델(European Space Agency Ground Models, 136) 등을 포함할 수 있다. 도 1a와 같이 위성 시스템에 대한 시뮬레이터를 구현하기 위해서는 시스템 전반과 시스템이 운영되는 환경 조건에 대한 운영자 및 설계자의 지식 습득이 선행되어야 하며, 시뮬레이션 과정에서 연동되는 연계 시스템이나 기능에 대한 모델링 작업 또한 수행되어야 하기 때문에, 시뮬레이터 구현 과정에서의 시간 및 비용이 많이 소요될 수밖에 없다.The simulator shown in FIG. 1A includes a GUI 110 in which a scenario for a function to be verified by the operator or a control command related thereto is inputted, a core module 120 for performing functions required in a system simulation process, and a modeling module 130). Blocks indicated by solid lines in FIG. 1A are core components that provide essential basic functions required in the simulator implementation, and blocks indicated by dashed lines can be respectively understood as components configurable by the operator (or designer) according to the simulation purpose. The GUI 110 includes an external application 112 that provides interoperation with other programs external to the system, an external application 112 that supports the communication with the operator, Specific MMIs (MMIs) 113 and SAT3Ds 114, which provide a more varied interface in accordance with the MMI. The core module 120 includes a scheduler 121, a logger 122, a time keeper 123, and a scheduler 123, which provide basic functions such as schedule / time / data / A Script Host 124 and a Data Provider 125 and a Spacecraft SMI Adapter 126 for interworking with a modeling module configured for telemetry of the satellite and a Ground SMI Adapter (Ground SMI Adapter). The modeling module 130 is a part adapted to suit the characteristics of the satellite to be simulated and includes a Mission Specific Spacecraft Models 131, Emulators 132, SENSE 133, PEMs 134, a SIMPACK 135, and an ESA ground model 136, and the like. In order to implement a simulator for a satellite system as shown in FIG. 1A, it is necessary to acquire knowledge of the system and the operator and the designer about the environmental conditions in which the system operates, and also to perform modeling work on a link system or function to be linked in the simulation process Therefore, it takes much time and cost in the process of implementing the simulator.

또한, 도 1a와 같이 시뮬레이터를 구현하더라도, 실제 위성 운영에 이용되는 기능이나 데이터 스트림의 시험 검증을 위해서는 복잡한 계산식을 바탕으로 운영 시나리오나 제어 명령이 입력되어야 하기 때문에, 운영자의 제어 명령 입력과 데이터 출력이 제공되는 운영자 인터페이스 또한 도 1b와 같이 복잡해질 수밖에 없다.
Also, even if a simulator is implemented as shown in FIG. 1A, since an operation scenario or a control command must be input based on a complicated calculation formula in order to test and verify a function or a data stream used in actual satellite operation, The provided operator interface also becomes complicated as shown in FIG. 1B.

도 2는 일실시예에 따른 위성 운영 시뮬레이션 제어 장치(200)를 도시하는 블록도이다.2 is a block diagram illustrating an apparatus 200 for controlling satellite operation simulation according to one embodiment.

위성 운영 시뮬레이션 제어 장치(200)는 위성과 같은 대형 운영 시스템의 원격 측정 기능에 대한 시뮬레이션을 제어하는 수단으로, 복잡한 대형 운영 시스템 전체에 대해 모델링 하지 않고 운영자 인터페이스가 시스템에 직접 연결되는 부분에 대해서만 시뮬레이션이 수행되도록 하여 시스템 시뮬레이션 과정의 복잡도와 시뮬레이션을 위한 모델링 및 검증에 필요한 비용을 감소시킬 수 있다. 상기 위성 운영 시뮬레이션 제어 장치(200)는 실행부(210), 처리부(220) 및 관리부(230)를 포함할 수 있다. 다만, 관리부(230)는 선택적인(optional) 구성으로서, 일부 실시예에서는 상기 관리부가 생략될 수도 있다.The satellite operation simulation control device 200 is a means for controlling the simulation of the telemetry function of a large operating system such as a satellite. It does not model the entire complex large operating system but only simulates the part where the operator interface is directly connected to the system So that the complexity of the system simulation process and the cost required for modeling and verification for the simulation can be reduced. The satellite operation simulation control apparatus 200 may include an execution unit 210, a processing unit 220, and a management unit 230. However, the management unit 230 is an optional configuration, and in some embodiments, the management unit may be omitted.

먼저, 실행부(210)는 사용자 인터페이스로부터 입력된 제1 스크립트에 연관되는 적어도 하나의 제1 명령어를 실행할 수 있다. 여기서, 상기 제1 스크립트는 실제 위성 운영 시 발생 가능한 다양한 상황들을 모사하기 위한 시나리오로서, 사용자가 시험 검증하고자 하는 기능이나 상황들에 대응하도록 설계되어 이상 상황에 대비할 수 있다. 상기 제1 명령어는 상기 제1 스크립트에 대응하는 시스템 및 환경 조건을 설정하기 위한 제어 명령으로 이해될 수 있으며, 이는 상기 제1 스크립트에서 모사하는 상황에 부합하도록 사전에 미리 구현된다. 이를 테면, 태양 전력 생산이 잘 되지 않는 상황을 모사하기 위해서는, 태양이 잘 보이지 않는 조건을 설정하도록 데이터를 조정하여 태양 전지판에서의 전력 생산을 낮출 수 있으며, 이를 위한 제어 명령이 입력될 수 있다.First, the execution unit 210 may execute at least one first instruction associated with the first script input from the user interface. Here, the first script is a scenario for simulating various situations that may occur in actual satellite operation, and is designed to correspond to functions or situations that the user desires to test and verify, thereby preparing for an abnormal situation. The first command may be understood as a control command for setting a system and an environmental condition corresponding to the first script, and it is implemented in advance in advance to meet the situation simulating the first script. For example, in order to simulate a situation where solar power production is not good, the power generation in the solar panel can be lowered by adjusting the data to set a condition in which the sun is not visible, and a control command for this can be inputted.

처리부(220)는 미리 지정된 주기에 따라 상기 제1 명령어에 대응하여 설정되는 구동환경에서의 적어도 하나의 제1 측정 데이터를 생성할 수 있다. 이 때, 처리부(220)는 상기 실행부(210)에 의해 제어되는 설정 시간에 기초하여 상기 미리 지정된 주기를 결정할 수 있다. 또한, 상기 처리부(220)는 상기 적어도 하나의 제1 측정 데이터를 미리 지정된 순서에 따라 패킷으로 구성하여 반복적으로 출력하며, 실행되는 스크립트 별로 상기 제1 측정 데이터(또는 상기 출력되는 패킷)를 분류하여 관리할 수 있다. 상기 처리부(220)는 상기 제1 측정 데이터가 저장된 데이터베이스로부터 상기 제1 명령어에 대응하는 데이터를 로딩하는 방식으로, 상기 제1 측정 데이터를 생성한다.The processing unit 220 may generate at least one first measurement data in a driving environment set corresponding to the first instruction word according to a predetermined period. At this time, the processing unit 220 can determine the predetermined period based on the set time controlled by the execution unit 210. [ In addition, the processing unit 220 configures the at least one first measurement data into packets in a predetermined order and repeatedly outputs the packets, and classifies the first measurement data (or the output packet) for each executed script Can be managed. The processing unit 220 generates the first measurement data by loading data corresponding to the first instruction word from the database storing the first measurement data.

관리부(230)는 상기 제1 스크립트에 대응하여 설정된 구동환경에서의 상기 제1 측정 데이터가 저장된 데이터베이스를 관리한다. 이 때, 상기 데이터베이스는 상기 구동환경에서 생성되는 측정 데이터의 종류별로 부여되는 측정 코드 및 상기 측정 코드에 대응하는 값을 저장하며, 전체 리스트 데이터베이스(Total value List DB), 규칙 테이블(Rule Table), 정적 데이터베이스(Static DB), 가변 데이터베이스(Variable DB) 및 패킷 리스트 데이터베이스(Packet List DB) 중 적어도 하나를 포함할 수 있다. 상기 전체 리스트 데이터베이스는 상기 측정 코드마다 설정되는 규칙을 저장하고, 상기 규칙 테이블은 설정 가능한 규칙 별 데이터 특성을 정의한다. 또한, 상기 정적 데이터베이스는 상기 측정 코드 중 고정된 값이 정의된 코드의 값을 저장하고, 상기 가변 데이터베이스는 상기 측정 코드 중 시간함수에 의해 정의되는 코드의 값을 저장하며, 상기 패킷 리스트 데이터베이스는 구동환경 별 로딩할 데이터를 정의할 수 있다. 상기 데이터베이스의 종류나 구성 관계는 일실시예에 불과하며, 시뮬레이션의 목적이나 구현 방식에 따라 다양한 방식으로 구성될 수 있다.The management unit 230 manages the database storing the first measurement data in the driving environment set corresponding to the first script. In this case, the database stores a measurement code assigned to each type of measurement data generated in the driving environment and a value corresponding to the measurement code, and includes a total value list DB, a rule table, A static database, a variable database, and a packet list DB. The entire list database stores rules set for each measurement code, and the rule table defines configurable rule-specific data characteristics. Also, the static database stores a value of a code in which a fixed value is defined among the measurement codes, and the variable database stores a value of a code defined by a time function in the measurement code, You can define the data to be loaded per environment. The types and configuration relationships of the databases are merely one embodiment, and may be configured in various ways depending on the purpose of the simulation and the implementation method.

위성 운영 시뮬레이션 제어 장치(200)는 대형 시스템 전체에 대해 모델링 하지 않고 운영자 인터페이스가 시스템과 직접 연결되는 부분에 대해서만 시뮬레이션이 수행되도록 구현함으로써, 시뮬레이션 과정의 복잡도를 낮추고, 시스템 전반과 시스템이 운영되는 환경 조건에 대한 지식 습득이나 복잡한 계산식에 대한 이해 없이도 다양한 상황들에 대응하는 데이터 측정 및 시험 검증이 가능해진다. 나아가, 위성 운영 시뮬레이션 제어 장치(200)는 시뮬레이션을 위한 모델링 및 검증에 소요되는 시간과 비용을 크게 낮출 수도 있다.
The satellite operation simulation control apparatus 200 implements the simulation so that only the portion where the operator interface is directly connected to the system without modeling the entire large system reduces the complexity of the simulation process, Data acquisition and test verification is possible for a variety of situations, without knowledge of the condition or understanding of complex calculations. Further, the satellite operating simulation control apparatus 200 may significantly reduce the time and cost of modeling and verification for simulation.

도 3은 일실시예에 따라 입력 스크립트에 기반하여 운영되는 시뮬레이션 제어 장치의 세부 구조를 설명하는 도면이다.3 is a diagram illustrating a detailed structure of a simulation control apparatus that is operated based on an input script according to an embodiment.

도 3에 도시된 스크립트 기반 시뮬레이션 제어 장치(300)는 사용자로부터 입력받은 스크립트에 기반하여 위성의 원격측정에 관한 시뮬레이션 과정을 제어하는 장치이며, 크게 운영 인터페이스(310), 원격 측정 데이터 빌더(320) 및 테이블 관리부(330)를 포함하여 구성될 수 있다. 도 3에서, CMD(Command)는 운영 스크립트의 실행에 따라 생성 및 실행되는 명령이고, TLM(Telemetry)는 상기 운영 스크립트 및 상기 명령의 실행 결과 생성되는 원격측정 데이터를 의미한다.The script-based simulation control apparatus 300 shown in FIG. 3 is a device for controlling a simulation process related to telemetry of a satellite based on a script input from a user and includes an operation interface 310, a telemetry data builder 320, And a table management unit 330. FIG. In FIG. 3, CMD (Command) is a command generated and executed according to execution of an operation script, and TLM (Telemetry) means telemetry data generated as a result of executing the operation script and the command.

운영 인터페이스(310)는 시뮬레이션 과정에서 사용자가 시험 검증하고자 하는 기능이나 상황이 모사된 스크립트나 사용자의 제어명령을 입력받는 등 사용자와의 통신 기능을 제공하는 수단으로, 상기 시뮬레이션 제어 장치(300)가 운영자 교육을 위해 이용되는 경우에는 운영 트레이닝 툴로 활용될 수 있다. 상기 운영 인터페이스(310)는 입력된 운영 스크립트의 편집(311) 및 실행(312)을 수행하며, 상기 운영 스크립트가 실행되면 실행된 스크립트에 연관되는 적어도 하나의 제어명령이 원격 측정 데이터 빌더(320)로 전달된다.The operation interface 310 is a means for providing a communication function with a user, such as receiving a simulated script or a control command of a user to test and verify in a simulation process, and the simulation control device 300 When used for operator training, it can be used as an operational training tool. The operation interface 310 performs editing (311) and execution (312) of the input operation script, and when the operation script is executed, at least one control command associated with the executed script is transmitted to the telemetry data builder 320, Lt; / RTI >

원격 측정 데이터 빌더(320)는 상기 운영 인터페이스(310)에 의해 제어되는 시스템 시간에 기초하여 미리 지정된 일정 주기 또는 이벤트에 따라 위성의 원격 측정 데이터를 생성하고, 상기 생성된 원격 측정 데이터의 값을 운영 스크립트 별로 관리한다. 원격 측정 데이터 빌더(320)에 대해서는 도 4를 참조하여 상세히 설명한다.The telemetry data builder 320 generates telemetry data of the satellite according to a predetermined period or event based on the system time controlled by the operation interface 310, Manage by script. The remote measurement data builder 320 will be described in detail with reference to FIG.

도 4는 일실시예에 따라 원격 측정 데이터 빌더(400)가 운영 스크립트에 대응하는 측정 데이터를 생성하는 과정을 설명하는 도면이다.4 is a diagram illustrating a process in which the telemetry data builder 400 generates measurement data corresponding to an operation script according to one embodiment.

원격 측정 데이터 빌더(400)는 운용 인터페이스로부터 입력된 스크립트와 이에 연관되는 제어명령이 실행되면, 원격 측정 데이터를 생성한다. 상기 생성된 원격 측정 데이터는 원격 측정 데이터 빌더(400)의 OBT 클락(401)에 기초하여 일정 주기마다 프레임으로 생성될 수도 있다. 상기 원격 측정 데이터 빌더(400)는 각 구동환경에서의 측정 데이터 종류별로 부여되는 측정 코드와 이에 대응하는 값 등을 저장한 데이터베이스로부터 데이터를 로딩하는 방식으로 상기 원격 측정 데이터를 생성할 수 있다.The telemetry data builder 400 generates telemetry data when a script input from the operational interface and the associated control commands are executed. The generated telemetry data may be generated in frames every predetermined period based on the OBT clock 401 of the telemetry data builder 400. [ The telemetry data builder 400 may generate the telemetry data in a manner that loads data from a database that stores measurement codes and corresponding values, etc., assigned for each type of measurement data in each driving environment.

도 4를 참조하면, 전체 리스트(410)에서는 원격 측정 데이터마다 부여되는 측정 코드(TLM Mnemonic) 별로 설정되는 규칙을 정의하고, 상기 규칙은 규칙 테이블(430)에 의해 정의된다. 상기 규칙 테이블(430)은 설정 가능한 규칙 별 데이터 특성을 정의하고 있는데, 이는 아래 표 1과 같이 설명될 수 있다.Referring to FIG. 4, the entire list 410 defines rules set for each measurement code (TLM Mnemonic) assigned to each telemetry data, and the rule is defined by a rule table 430. The rules table 430 defines configurable data characteristics for each rule, which can be described as Table 1 below.

Figure pat00001
Figure pat00001

전체 리스트(410)에서 측정 코드 별로 설정된 규칙에 따라, 상기 원격 측정 데이터는 정적 DB(420), 가변 DB(440), 사용자 지정 함수나 스크립트, 사용자 로딩 파일 및 위성 시스템의 플레이백 값 중 적어도 하나로부터 로딩되어 생성된다. 정적 DB(420)는 상기 측정 코드 중 고정된 값이 정의된 코드의 값을 저장하고, 가변 DB(440)는 상기 측정 코드 중 시간함수에 의해 정의되는 코드의 값을 저장한다.Depending on the rules set for each measurement code in the overall list 410, the telemetry data may include at least one of a static DB 420, a variable DB 440, a user defined function or script, a user loading file, Lt; / RTI > The static DB 420 stores a value of a code in which a fixed value is defined among the measurement codes, and the variable DB 440 stores a value of a code defined by a time function in the measurement code.

이외에, 패킷 리스트 데이터베이스(미도시)는 구동환경 별 로딩할 데이터나 일정 주기마다 프레임으로 전송될 패킷의 순서 등을 정의하고, Freeze 값 리스트(450)는 운영 스크립트에 연관되는 제어명령 중 *Freeze 명령에 의해 일시적으로 정의되는 코드의 값을 임시 저장할 수 있다. *Freeze는 특정 측정 코드의 값을 일정 시간 동안 특정 값으로 고정시키는 명령어로, 일정 시간 경과 후 상기 고정된 값은 해제된다. 다만, 일정 시간이 경과되지 않더라도, *Melt 명령이 실행되면 *Freeze에 의해 임시 저장된 값은 즉시 초기화되어 리셋된다. *Freeze 및 *Melt 제어 명령에 대해서는 아래 도 5를 참조하여 상세히 설명한다.In addition, the packet list database (not shown) defines the data to be loaded for each driving environment, the order of packets to be transmitted in a frame every predetermined period, and the Freeze value list 450 defines * Freeze command And temporarily store the value of the code temporarily defined by the user. Freeze is a command that fixes the value of a specific measurement code to a specific value for a certain period of time. After a certain period of time, the fixed value is released. However, even if a certain period of time has not elapsed, the value stored temporarily by * Freeze is immediately reset and reset when the * Melt command is executed. * Freeze and * Melt control commands will be described in detail with reference to FIG. 5 below.

공유메모리(460)에는 구동 환경에서 생성되는 프레임에 포함될 측정 데이터의 측정 코드와 이에 대응하는 값, 및 비트 사이즈 값 등이 할당된다. 상기 측정 코드에 대응하는 값은 상기 전체 리스트(410)나 상기 Freeze 값 리스트로부터 가져올 수 있다. 이를 테면, 공유메모리(460)에서 가져오려는 측정 코드의 값이 전체 리스트(410)에 '0'의 규칙 값으로 정의되어 있으면, 이는 고정된 값이 정의된 것을 의미하므로, 정적 DB(420)에 저장된 값을 로딩하게 된다. 마찬가지로, 공유메모리(460)에서 가져오려는 측정 코드의 값이 시간함수에 의해 가변적으로 정의되는 값이라는 의미의 규칙 값인 '1'로 전체 리스트(410)에 정의되어 있으면, 해당 측정 코드의 값은 가변 DB(440)에 저장된 값을 로딩한다. 다만, 예외적으로 *Freeze 명령에 의해 일시적으로 정의되는 코드의 값이 있다면, *Freeze 명령과 함께 입력된 일정 시간 동안에는 전체 리스트(410)가 아닌 Freeze 값 리스트(450)로부터 해당 값을 가져온다.In the shared memory 460, a measurement code of measurement data to be included in a frame generated in the driving environment, a value corresponding thereto, and a bit size value are allocated. A value corresponding to the measurement code may be obtained from the total list 410 or the Freeze value list. For example, if the value of the measurement code to be fetched from the shared memory 460 is defined as a rule value of '0' in the total list 410, this means that a fixed value is defined, Load the stored value. Similarly, if the value of the measurement code to be fetched from the shared memory 460 is defined in the entire list 410 as a rule value '1' meaning a value variably defined by the time function, the value of the measurement code is variable And loads the value stored in the DB 440. However, if there is a code value temporarily defined by the * Freeze command, the value is fetched from the Freeze value list 450 instead of the entire list 410 for a certain time inputted together with the * Freeze command.

상기 공유메모리(460)로부터 로딩된 값들은 프레임으로 구성되어 일정 주기마다 생성(470)될 수 있다. 프레임의 각 바이트 위치에 할당되는 측정 코드 값은 운영 스크립트에 따라 설정된 구동환경에 로딩되는 패킷 리스트 데이터베이스나 미리 지정된 패킷 시퀀스에 의해 정의된다.
The values loaded from the shared memory 460 may be composed of frames and generated (470) at regular intervals. The measurement code value assigned to each byte position of the frame is defined by a packet list database loaded in the driving environment set according to the operation script or a predetermined packet sequence.

다시 도 3을 참조하면, 테이블 관리부(330)는 상기 원격 측정 데이터 빌더(320, 400)의 원격 측정 데이터 생성 과정에서 참조되는 적어도 하나의 데이터베이스나 리스트, 테이블 등을 관리한다. 상기 테이블 관리부(330)에서는 정적 DB 및 가변 DB의 내용을 편집/관리하는 외에, 사용자가 로딩한 파일이나 시스템의 플레이백 데이터(playback data)를 로딩하고, 운영 스크립트에 대한 시뮬레이션 과정에서 송수신되는 명령(CMD), 원격측정 데이터(TLM) 및 패킷들을 시뮬레이션 시스템의 데이터베이스에 로딩하는 역할을 수행할 수 있다.
Referring again to FIG. 3, the table management unit 330 manages at least one database, a list, a table, and the like, which are referred to in the process of generating telemetry data of the telemetry data builders 320 and 400. In addition to editing / managing the contents of the static DB and the variable DB, the table management unit 330 loads the playback data of the file or the system loaded by the user, (CMD), telemetry data (TLM), and packets into the database of the simulation system.

도 5는 일실시예에 따라 운영 스크립트에 대응하여 실행되는 제어 명령을 설명하는 도면이다. 5 is a view for explaining a control command executed in response to an operation script according to an embodiment.

시스템에 대한 시뮬레이션에 이용되는 운영 스크립트는 실제 위성과 같은 시스템 운영 시 발생 가능한 다양한 상황들을 모사하는 시나리오로서, 사용자가 시험 검증하고자 하는 기능이나 상황들에 대응하도록 작성된다. 사용자 인터페이스를 통해 특정 스크립트가 입력되면, 상기 특정 스크립트에 대응하여 작성된 제어 명령들이 순차적으로 실행되며, 이는 상기 스크립트에서 모사하는 상황에 부합하도록 사전에 미리 구현될 수 있다.The operating script used in the simulation for the system is a scenario simulating various situations that can occur in the operation of the system such as an actual satellite, and is prepared to correspond to functions or situations that the user wants to test and verify. When a specific script is input through the user interface, the control commands generated in response to the specific script are sequentially executed, and it can be implemented in advance so as to match the situation simulated in the script.

도 5를 참조하면, 상기 운영 스크립트에 대응하여 실행되는 제어 명령 중 대표적인 2가지 문법을 확인할 수 있다. 먼저, *Freeze는 특정 측정 데이터를 일정 시간 동안 특정 값으로 고정시키는 명령어이다. 510과 같이 <*Freeze "TASTATUS1", "10sec", "OFF">의 명령이 실행되면, "TASTATUS1"의 값이 10초 동안 'OFF'로 시현되도록 조정된다. *Freeze 명령어는 도 4에 도시된 'Freeze 값 리스트'(450)과 같이 별도로 관리되는 리스트(또는 데이터베이스)에 특정 측정 데이터와 이에 대응하는 특정 값을 신규 추가하는 방식으로 정의되며, 시뮬레이션 과정에서 공유메모리(460)에 기록되는 특정 측정 데이터의 값을 전체 리스트(410)가 아닌 Freeze 값 리스트(450)에서 가져오도록 값의 설정 경로를 일시적으로 변경하는 기능을 가진다. *Freeze 명령어 실행 시 입력된 시간이 경과하면, 상기 특정 측정 데이터의 값은 다시 전체 리스트(410)로부터 가져오게 된다.Referring to FIG. 5, representative two types of control commands executed in response to the operation script can be identified. First, * Freeze is a command to fix specific measurement data to a specific value for a certain period of time. TASTATUS1 "," 10sec "," OFF "> command is executed such that the value of" TASTATUS1 "is displayed as" OFF "for 10 seconds. The Freeze command is defined as a method of newly adding specific measurement data and corresponding specific values to a separately managed list (or database), such as a 'Freeze value list' 450 shown in FIG. 4, The function of temporarily changing the value setting path to fetch the value of the specific measurement data recorded in the memory 460 from the Freeze value list 450 instead of the entire list 410. [ When the input time elapses at the time of execution of the Freeze command, the value of the specific measurement data is again taken from the entire list 410.

이에 반해, *Melt는 앞서 *Freeze에 의해 고정된 특정 측정 값을 즉시 초기화하는 명령어이다. 530과 같이 <*Melt "TASTATUS1">의 명령이 실행되면, 510에서 *Freeze 명령어에 의해 고정된 특정 측정 데이터에 대한 특정 값이 삭제되고, *Freeze 명령 실행 이전과 같이 리셋된다. *Melt 명령어는 상기 Freeze 값 리스트(450)에 저장된 특정 측정 데이터와 이에 대응하는 특정 값을 삭제하는 방식으로 정의되며, *Freeze 명령어 실행 시 입력된 시간이 모두 경과하지 않더라도 상기 공유메모리(460)에 기록되는 특정 측정 데이터의 값을 다시 전체 리스트(410)에서 가져오도록 값의 설정 경로를 변경하는 기능을 가진다.On the other hand, * Melt is a command that immediately initializes a specific measurement fixed by * Freeze. When a command of <* Melt "TASTATUS1"> is executed as in 530, the specific value for the specific measurement data fixed by the * Freeze command at 510 is deleted and reset as before the * Freeze command is executed. The * Melt command is defined as a method of deleting the specific measurement data stored in the freeze value list 450 and the corresponding specific value. Even if the input time does not elapse during execution of the * Freeze command, And changing the setting path of the value so that the value of the specific measurement data to be recorded is retrieved again from the total list 410. [

도 5에서, <*Freeze "TASTATUS1", "10sec", "OFF"> (510)의 명령이 실행되면 10초간 "TASTATUS1"의 값이 "OFF"로 설정되는데, 이후 10초가 경과하기 전에 "TASTATUS1"의 값이 "ON"인지를 확인하는 <Verify TLM "TASTATUS1" "ON"> (520) 명령어가 입력되면 이는 현재 설정된 "TASTATUS1"의 값과 다르므로 "Verify FAIL"로 표시된다. 다만, <*Melt "TASTATUS1"> (530)의 명령이 추가 실행되면 앞서 "TASTATUS1"에 대해 고정된 값이 초기화되면서, 이후 "TASTATUS1"의 값이 "ON"인지를 확인하는 <Verify TLM "TASTATUS1" "ON"> (540) 명령어가 입력되면 이는 현재 설정된 "TASTATUS1"의 값과 동일하므로 "Verify OK"가 표시된다.5, when the instruction of <* Freeze "TASTATUS1", "10sec", "OFF"> 510 is executed, the value of "TASTATUS1" is set to "OFF" for 10 seconds. "Verify TLM" TASTATUS1 "" ON "> (520) command to check whether the value of" TASTATUS1 "is" ON "is displayed as" Verify FAIL "because it is different from the currently set TASTATUS1. However, when a command of <* Melt "TASTATUS1"> 530 is additionally executed, a fixed value for "TASTATUS1" is initialized and then <Verify TLM> TASTATUS1 "" ON "> (540) When the command is input," Verify OK "is displayed because it is same as the currently set" TASTATUS1 "value.

상술한 2가지 문법 외에, 시뮬레이션 과정에서 시스템의 설정 값을 변경하기 위한 다양한 제어 명령이 추가 구현될 수 있다. 이를 테면, 명령어 승인 카운터 값을 설정하는 *SET ACCEPT Counter, 명령어 거절 카운터 값을 설정하는 *SET REJECT Counter, 명령어 거절 카운터 값을 1 증가시키는 *SET REJECT Counter Increase 명령이 이용된다. 이외에도, 운영 스크립트 실행 시 시스템 설정 시간이 일정 크기만큼 증가하도록 제어하는 "System Time Control" 명령이 추가될 수 있으며, 이 명령을 통해 운영 스크립트에서 시스템 설정 시간을 특정 시간으로 선언할 경우 상기 특정 시간을 기준으로 일정 크기만큼 증가(이를 테면, 현재 시스템 설정 시간 + 시간 조정 값)하도록 조정된다.
In addition to the above two grammars, various control commands for changing the set values of the system during the simulation process can be additionally implemented. For example, * SET ACCEPT Counter to set the command acknowledge counter value, * SET REJECT Counter to set the command rejection counter value, and * SET REJECT Counter Increase command to increase the command rejection counter value by 1. In addition, a "System Time Control" command may be added to control the system setting time to increase by a certain amount when the operating script is executed. When the operating time script is declared as a specific time in the operating script, (For example, current system setting time + time adjustment value).

도 6은 일실시예에 따른 위성 운영 시뮬레이션 제어 방법을 도시하는 흐름도이다.6 is a flowchart illustrating a method of controlling a satellite operation simulation according to an embodiment.

위성 운영 시뮬레이션 제어 장치는 시험 검증하고자 하는 상황에 대해 미리 작성된 시나리오에 기반하여 위성과 같은 대형 운영 시스템의 원격 측정 기능에 대한 시뮬레이션을 제어하는 방법을 제공한다.The satellite operation simulation control device provides a method for controlling the simulation of the telemetry function of a large operating system, such as a satellite, based on a pre-written scenario for the situation to be tested and verified.

단계 610에서는, 위성 운영 시뮬레이션 제어 장치의 실행부가 사용자 인터페이스로부터 입력된 제1 스크립트에 연관되는 적어도 하나의 제1 명령어를 실행할 수 있다. 여기서, 상기 제1 스크립트는 실제 위성 운영 시 발생 가능한 다양한 상황들을 모사하기 위한 시나리오이고, 상기 제1 명령어는 상기 제1 스크립트에 대응하는 시스템 및 환경 조건을 설정하기 위한 제어 명령으로, 상기 제1 명령어는 상기 제1 스크립트에서 모사하는 상황에 부합하도록 사전에 미리 구현될 수 있다.In step 610, the execution unit of the satellite operational simulation control apparatus may execute at least one first instruction associated with the first script input from the user interface. Here, the first script is a scenario for simulating various situations that may occur in actual satellite operation, and the first command is a control command for setting a system and an environmental condition corresponding to the first script, May be implemented in advance in advance to match the situation simulated in the first script.

단계 620에서는, 위성 운영 시뮬레이션 제어 장치의 처리부가 미리 지정된 주기에 따라 상기 제1 명령어에 대응하여 설정되는 구동환경에서의 적어도 하나의 제1 측정 데이터를 생성할 수 있다. 단계 620에서, 상기 처리부는 상기 실행부에 의해 제어되는 설정 시간에 기초하여 상기 미리 지정된 주기를 결정할 수 있다. 또한, 상기 처리부는 상기 적어도 하나의 제1 측정 데이터를 미리 지정된 순서에 따라 패킷으로 구성하여 반복적으로 출력하며, 실행되는 스크립트 별로 상기 제1 측정 데이터(또는 상기 출력되는 패킷)를 분류하여 관리할 수 있다. In step 620, the processing unit of the satellite operating simulation control apparatus may generate at least one first measurement data in a driving environment in which the processing unit is set corresponding to the first instruction according to a predetermined period. In step 620, the processing unit may determine the predetermined period based on the set time controlled by the execution unit. In addition, the processor configures the at least one first measurement data in packets in a predetermined order and outputs it repeatedly, and classifies and manages the first measurement data (or the output packet) for each executed script have.

단계 620에서, 상기 처리부는 상기 제1 스크립트에 대응하여 설정되는 구동환경에서의 측정 데이터가 저장된 데이터베이스로부터 상기 제1 명령어에 대응하는 데이터를 로딩하는 방식으로 상기 제1 측정 데이터를 생성하는데, 상기 데이터베이스는 위성 운영 시뮬레이션 제어 장치의 관리부에 의해 관리될 수 있다. 여기서, 상기 데이터베이스는 상기 구동환경에서 생성되는 측정 데이터의 종류별로 부여되는 측정 코드 및 상기 측정 코드에 대응하는 값을 저장하며, 전체 리스트 데이터베이스(Total value List DB), 규칙 테이블(Rule Table), 정적 데이터베이스(Static DB), 가변 데이터베이스(Variable DB) 및 패킷 리스트 데이터베이스(Packet List DB) 중 적어도 하나를 포함할 수 있다. 상기 전체 리스트 데이터베이스는 상기 측정 코드마다 설정되는 규칙을 저장하고, 상기 규칙 테이블은 설정 가능한 규칙 별 데이터 특성을 정의한다. 또한, 상기 정적 데이터베이스는 상기 측정 코드 중 고정된 값이 정의된 코드의 값을 저장하고, 상기 가변 데이터베이스는 상기 측정 코드 중 시간함수에 의해 정의되는 코드의 값을 저장하며, 상기 패킷 리스트 데이터베이스는 구동환경 별 로딩할 데이터를 정의할 수 있다. 상기 데이터베이스의 종류나 구성 관계는 일실시예에 불과하며, 시뮬레이션의 목적이나 구현 방식에 따라 다양한 방식으로 구성 가능하다.
In step 620, the processing unit generates the first measurement data by loading data corresponding to the first instruction from a database storing measurement data in a driving environment set corresponding to the first script, May be managed by the management unit of the satellite operation simulation control apparatus. Here, the database stores a measurement code assigned to each type of measurement data generated in the driving environment and a value corresponding to the measurement code, and includes a total value list DB, a rule table, And may include at least one of a database (Static DB), a variable database (Variable DB), and a packet list database (Packet List DB). The entire list database stores rules set for each measurement code, and the rule table defines configurable rule-specific data characteristics. Also, the static database stores a value of a code in which a fixed value is defined among the measurement codes, and the variable database stores a value of a code defined by a time function in the measurement code, You can define the data to be loaded per environment. The types and configuration relationships of the databases are merely one embodiment, and they can be configured in various ways according to the purpose of the simulation or the implementation method.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI &gt; or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (14)

사용자 인터페이스로부터 입력된 제1 스크립트에 연관되는 적어도 하나의 제1 명령어를 실행하는 실행부; 및
미리 지정된 주기에 따라 상기 제1 명령어에 대응하여 설정되는 구동환경에서의 적어도 하나의 제1 측정 데이터를 생성하는 처리부
를 포함하는 위성 운영 시뮬레이션 제어 장치.
An execution unit that executes at least one first instruction associated with a first script input from a user interface; And
A processing unit for generating at least one first measurement data in a driving environment set corresponding to the first instruction word according to a predetermined period;
And a satellite operating simulation control unit.
제1항에 있어서,
상기 처리부는,
상기 실행부에 의해 제어되는 설정 시간에 기초하여 상기 미리 지정된 주기를 결정하는 위성 운영 시뮬레이션 제어 장치.
The method according to claim 1,
Wherein,
And determines the predetermined period based on a set time controlled by the execution unit.
제1항에 있어서,
상기 처리부는,
상기 적어도 하나의 제1 측정 데이터를 미리 지정된 순서에 따라 패킷으로 구성하여 반복 출력하는 위성 운영 시뮬레이션 제어 장치.
The method according to claim 1,
Wherein,
Wherein the at least one first measurement data is composed of packets in a predetermined order and is repeatedly output.
제1항에 있어서,
상기 처리부는,
실행되는 스크립트 별로 상기 제1 측정 데이터를 관리하는 위성 운영 시뮬레이션 제어 장치.
The method according to claim 1,
Wherein,
Wherein the first measurement data is managed for each script to be executed.
제1항에 있어서,
상기 구동환경에서의 제1 측정 데이터가 저장된 데이터베이스를 관리하는 관리부
를 더 포함하며,
상기 처리부는, 상기 데이터베이스로부터 상기 제1 명령어에 대응하는 상기 제1 측정 데이터를 로딩하는 위성 운영 시뮬레이션 제어 장치.
The method according to claim 1,
A management unit for managing a database in which the first measurement data in the driving environment is stored;
Further comprising:
Wherein the processing unit loads the first measurement data corresponding to the first instruction from the database.
제5항에 있어서,
상기 데이터베이스는,
상기 구동환경에서 생성되는 측정 데이터의 종류별로 부여되는 측정 코드 및 상기 측정 코드에 대응하는 값을 저장하는 위성 운영 시뮬레이션 제어 장치.
6. The method of claim 5,
The database includes:
And stores a measurement code assigned to each type of measurement data generated in the driving environment and a value corresponding to the measurement code.
제6항에 있어서,
상기 데이터베이스는,
상기 측정 코드마다 설정되는 규칙을 저장하는 전체 리스트 데이터베이스(Total value List DB), 설정 가능한 규칙 별 데이터 특성이 정의된 규칙 테이블(Rule Table), 상기 측정 코드 중 고정된 값이 정의된 코드의 값을 저장하는 정적 데이터베이스(Static DB), 상기 측정 코드 중 시간함수에 의해 정의되는 코드의 값을 저장하는 가변 데이터베이스(Variable DB) 및 구동환경 별 로딩할 데이터가 정의된 패킷 리스트 데이터베이스(Packet List DB) 중 적어도 하나를 포함하는 위성 운영 시뮬레이션 제어 장치.
The method according to claim 6,
The database includes:
A total value list DB storing a rule set for each measurement code, a rule table defining a settable data characteristic for each rule, a value of a code defining a fixed value among the measurement codes, A Variable DB for storing a value of a code defined by a time function among the measurement codes and a Packet List DB for defining data to be loaded according to the driving environment, At least one satellite operating simulation control device.
사용자 인터페이스로부터 입력된 제1 스크립트에 연관되는 적어도 하나의 제1 명령어를 실행하는 단계; 및
미리 지정된 주기에 따라 상기 제1 명령어에 대응하여 설정되는 구동환경에서의 적어도 하나의 제1 측정 데이터를 생성하는 단계
를 포함하는 위성 운영 시뮬레이션 제어 방법.
Executing at least one first instruction associated with a first script input from a user interface; And
Generating at least one first measurement data in a driving environment set corresponding to the first instruction in accordance with a predetermined period
And the satellite operating simulation control method.
제8항에 있어서,
상기 제1 측정 데이터를 생성하는 단계는,
상기 적어도 하나의 제1 측정 데이터를 미리 지정된 순서에 따라 패킷으로 구성하여 반복 출력하는 단계
를 포함하는 위성 운영 시뮬레이션 제어 방법.
9. The method of claim 8,
Wherein the generating the first measurement data comprises:
Constructing the at least one first measurement data in a predetermined order and repeatedly outputting
And the satellite operating simulation control method.
제8항에 있어서,
상기 제1 측정 데이터를 생성하는 단계는,
상기 구동환경에서의 제1 측정 데이터가 저장된 데이터베이스로부터 상기 제1 명령어에 대응하는 상기 제1 측정 데이터를 로딩하는 위성 운영 시뮬레이션 제어 방법.
9. The method of claim 8,
Wherein the generating the first measurement data comprises:
Wherein the first measurement data corresponding to the first instruction is loaded from a database storing first measurement data in the driving environment.
제10항에 있어서,
상기 데이터베이스는,
상기 구동환경에서 생성되는 측정 데이터의 종류별로 부여되는 측정 코드 및 상기 측정 코드에 대응하는 값을 저장하는 위성 운영 시뮬레이션 제어 방법.
11. The method of claim 10,
The database includes:
And storing a measurement code assigned to each type of measurement data generated in the driving environment and a value corresponding to the measurement code.
제11항에 있어서,
상기 데이터베이스는,
상기 측정 코드마다 설정되는 규칙을 저장하는 전체 리스트 데이터베이스(Total value List DB), 설정 가능한 규칙 별 데이터 특성이 정의된 규칙 테이블(Rule Table), 상기 측정 코드 중 고정된 값이 정의된 코드의 값을 저장하는 정적 데이터베이스(Static DB), 상기 측정 코드 중 시간함수에 의해 정의되는 코드의 값을 저장하는 가변 데이터베이스(Variable DB) 및 구동환경 별 로딩할 데이터가 정의된 패킷 리스트 데이터베이스(Packet List DB) 중 적어도 하나를 포함하는 위성 운영 시뮬레이션 제어 방법.
12. The method of claim 11,
The database includes:
A total value list DB storing a rule set for each measurement code, a rule table defining a settable data characteristic for each rule, a value of a code defining a fixed value among the measurement codes, A Variable DB for storing a value of a code defined by a time function among the measurement codes and a Packet List DB for defining data to be loaded according to the driving environment, RTI ID = 0.0 &gt; 1, &lt; / RTI &gt;
제8항에 있어서,
실행되는 스크립트 별로 상기 적어도 하나의 제1 측정 데이터를 저장 및 관리하는 단계
를 더 포함하는 위성 운영 시뮬레이션 제어 방법.
9. The method of claim 8,
Storing and managing said at least one first measurement data for each executed script
Further comprising the steps of:
기록매체에 저장되는 위성 운영 시뮬레이션 제어를 위한 프로그램으로서, 상기 프로그램은 컴퓨팅 시스템에서 실행되는:
사용자 인터페이스로부터 입력된 제1 스크립트에 연관되는 적어도 하나의 제1 명령어를 실행하는 명령어 세트; 및
미리 지정된 주기에 따라 상기 제1 명령어에 대응하여 설정되는 구동환경에서의 적어도 하나의 제1 측정 데이터를 생성하는 명령어 세트
를 수록하는 위성 운영 시뮬레이션 제어 프로그램.
13. A program for controlling simulation of a satellite operation stored in a recording medium, the program being executed in a computing system,
A set of instructions for executing at least one first instruction associated with a first script input from a user interface; And
Generating at least one first measurement data in a driving environment set corresponding to the first instruction in accordance with a predetermined period,
Satellite simulation simulation control program.
KR1020160120678A 2016-09-21 2016-09-21 Apparatus and method for controlling simulation of satellite operation KR101880808B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160120678A KR101880808B1 (en) 2016-09-21 2016-09-21 Apparatus and method for controlling simulation of satellite operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160120678A KR101880808B1 (en) 2016-09-21 2016-09-21 Apparatus and method for controlling simulation of satellite operation

Publications (2)

Publication Number Publication Date
KR20180032033A true KR20180032033A (en) 2018-03-29
KR101880808B1 KR101880808B1 (en) 2018-07-20

Family

ID=61907192

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160120678A KR101880808B1 (en) 2016-09-21 2016-09-21 Apparatus and method for controlling simulation of satellite operation

Country Status (1)

Country Link
KR (1) KR101880808B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116382333A (en) * 2023-03-23 2023-07-04 北京和德宇航技术有限公司 Satellite instruction arranging method and device, electronic equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100536892B1 (en) * 2002-12-20 2005-12-16 한국전자통신연구원 System for Simulating Communication and Broadcasting Satellite and Method for Processing Telecommand and Telemetry Data
KR101348963B1 (en) * 2011-12-22 2014-01-16 한국항공우주연구원 Scenario-based Simulation System of Satellite Flight Software
KR20140136706A (en) * 2013-05-21 2014-12-01 한국항공우주연구원 Method and System for Constructing Database

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100536892B1 (en) * 2002-12-20 2005-12-16 한국전자통신연구원 System for Simulating Communication and Broadcasting Satellite and Method for Processing Telecommand and Telemetry Data
KR101348963B1 (en) * 2011-12-22 2014-01-16 한국항공우주연구원 Scenario-based Simulation System of Satellite Flight Software
KR20140136706A (en) * 2013-05-21 2014-12-01 한국항공우주연구원 Method and System for Constructing Database

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116382333A (en) * 2023-03-23 2023-07-04 北京和德宇航技术有限公司 Satellite instruction arranging method and device, electronic equipment and storage medium
CN116382333B (en) * 2023-03-23 2023-12-05 北京和德宇航技术有限公司 Satellite instruction arranging method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
KR101880808B1 (en) 2018-07-20

Similar Documents

Publication Publication Date Title
Lu et al. Unlocking the power of OPNET modeler
US9501594B2 (en) Graphical design verification environment generator
JP2008170998A (en) System and method for turbine control simulation
US9063922B2 (en) Firmware generated register file for use in hardware validation
KR20130122853A (en) System and method for simulating realtime severe accident phenomena for training simulator of the nuclear power plant
GB2524737A (en) A system and method for testing a workflow
CN110765010B (en) Method and device for online debugging visual development based on Flink
Walker et al. A simulation environment for ITER PCS development
US20100218172A1 (en) Method for simulating a system on board an aircraft for testing an operating software program and device for implementing said method
Ofenloch et al. MOSAIK 3.0: Combining Time-Stepped and Discrete Event Simulation
KR101880808B1 (en) Apparatus and method for controlling simulation of satellite operation
Nozhenkova et al. Creation of the base of a simulation model’s precedents for analysis of the spacecraft onboard equipment testing results
Fitzgerald et al. Co-modelling and co-simulation in embedded systems design
KR101335657B1 (en) System and method using realtime simulator and programmed system switching for the validation of large-scaled dcs
KR20200041489A (en) System and method for discerte event system specifiaction and simulation entity outsourcing based semiconductor process modeling and simulation
US20170220712A1 (en) Computer-implemented method for simulating a restbus control unit network
Pang et al. Towards Formal Verification of IEC61499: modelling of Data and Algorithms in NCES
Thomas Software Development and Testing Support for the Avionics Systems Telemetry Tool Suite
Trung et al. Developing a SMP2 compliant Hardware‐In‐the‐Loop simulation framework
Villalonga Gomà Development of extension modules for the Distributed Satellite Systems Simulator
Honoré-Livermore et al. Model-Based Systems Engineering for CubeSat FMECA
Verhoef et al. TASTE for Overture to keep SLIM
Trout Testing safety-critical systems using Model-based Systems Engineering (MBSE)
Mady et al. Injecting Formal Verification in FMI-Based Co-simulations of Cyber-Physical Systems
Czifrus et al. 25 years of Experience in the Use of Self-developed PC Based Basic Principle Simulators

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