KR101904349B1 - 스크립트 컴파일 장치 - Google Patents

스크립트 컴파일 장치 Download PDF

Info

Publication number
KR101904349B1
KR101904349B1 KR1020160161156A KR20160161156A KR101904349B1 KR 101904349 B1 KR101904349 B1 KR 101904349B1 KR 1020160161156 A KR1020160161156 A KR 1020160161156A KR 20160161156 A KR20160161156 A KR 20160161156A KR 101904349 B1 KR101904349 B1 KR 101904349B1
Authority
KR
South Korea
Prior art keywords
script
power data
index
changed
compiling
Prior art date
Application number
KR1020160161156A
Other languages
English (en)
Other versions
KR20180061693A (ko
Inventor
김태섭
박종호
Original Assignee
엘에스산전 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘에스산전 주식회사 filed Critical 엘에스산전 주식회사
Priority to KR1020160161156A priority Critical patent/KR101904349B1/ko
Priority to EP17173719.0A priority patent/EP3330850A1/en
Priority to US15/614,733 priority patent/US10481926B2/en
Priority to CN201710448778.2A priority patent/CN108614706B/zh
Publication of KR20180061693A publication Critical patent/KR20180061693A/ko
Application granted granted Critical
Publication of KR101904349B1 publication Critical patent/KR101904349B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23266Compiler
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24215Scada supervisory control and data acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 스크립트 컴파일 장치에 관한 것으로, 보다 상세하게는 전력데이터의 인덱스가 변경되었는지 여부에 따라 스크립트를 컴파일하는 스크립트 컴파일 장치에 관한 것이다. 본 발명의 일 실시예에 따른 스크립트 컴파일 장치는 스크립트를 컴파일하기 위한 장치에 있어서, 전력계통으로부터 취득된 전력데이터 및 상기 전력데이터의 인덱스를 저장하는 데이터 베이스, 상기 데이터 베이스에 저장된 전력데이터에 기초하여 스크립트를 생성하는 스크립트 생성부, 상기 데이터 베이스에 저장된 상기 전력데이터의 인덱스가 변경되었는지 여부를 판단하는 판단부 및 상기 판단 결과에 따라 상기 스크립트 생성부에서 생성된 스크립트를 미리 설정된 명령어를 참조하여 컴파일하는 컴파일부를 포함하는 것을 특징으로 한다.

Description

스크립트 컴파일 장치{Apparatus for compiling script}
본 발명은 스크립트 컴파일 장치에 관한 것으로, 보다 상세하게는 전력데이터의 인덱스가 변경되었는지 여부에 따라 스크립트의 컴파일을 수행하는 스크립트 컴파일 장치에 관한 것이다.
스카다(Supervisory Control And Data Acquisition; SCADA) 시스템은 대용량의 데이터를 처리 및 감시하고 이와 관련된 다양한 기능을 제공하는 대규모 시스템이다. 특히 대규모 전력계통을 제어하는데 있어서 주로 스카다 시스템이 적용되고, 해당 전력계통에 관련한 데이터를 직관적으로 파악하고 관리하기 위해 HMI가 이용된다.
HMI에서 다양한 작업을 수행하기 위해서는 전력계통으로부터 취득되는 데이터에 기초하여 산출된 다양한 연산 값이 요구된다. 연산 값은 다양한 수식을 통해 계산되며 이러한 수식의 집합을 연산 스크립트로 정의한다.
HMI는 최적의 성능을 제공하기 위해, 상술한 연산 스크립트를 사용자가 알아보기 쉬운 텍스트 형태에서 컴퓨터 등의 기계가 인지할 수 있는 바이너리 형태로 변환하여 자체 서버에 등록한다.
전력계통으로부터 취득되는 데이터는 전력계통의 감시를 위한 설비의 추가 및 변경으로 인해 수시로 변경된다. 종래의 스크립트 컴파일 방법은 상술한 설비의 추가 및 변경 사항을 반영하기 위해 기 존재하는 연산 스크립트의 등록을 해제하고, 신규 연산 스크립트의 등록을 수행한다.
도 1은 종래의 방법에 따라 스크립트를 컴파일하는 모습을 도시한 도면이다. 이하, 도 1을 참조하여 종래의 방법에 따른 스크립트 컴파일 방법을 구체적으로 설명하도록 한다.
도 1을 참조하면, 전력계통으로부터 취득되는 데이터는 편집기를 통해 입력된다. 텍스트 형태의 연산 스크립트는 입력된 데이터 및 미리 설정된 수식을 이용하여 자동으로 산출된다.
이 때, 종래의 스크립트 컴파일 방법에 따르면 사용자는 산출된 연산 스크립트를 로드하고, 연산 스크립트에 포함된 데이터의 인덱스를 참조하여 해당 연산 스크립트를 바이너리 형태로 컴파일한다. 사용자는 컴파일된 바이너리 형태의 연산 스크립트를 서버에 등록하여 관리한다.
그러나, 종래의 스크립트 컴파일 방법에 의하면 전력계통으로부터 취득되는 데이터가 변경될 때마다, 사용자는 기 존재하는 스크립트의 등록 해제 및 신규 스크립트의 등록을 수동으로 진행해야 하는 불편함이 따른다.
또한, 종래의 스크립트 컴파일 방법에 의하면 사용자가 변경된 데이터의 인덱스를 직접 참조해야 하므로, 사용자의 실수로 인한 변경 데이터의 인덱스 누락을 방지하기 힘든 문제점이 있다.
또한, 종래의 스크립트 컴파일 방법에 의하면 잘못된 신규 연산 스크립트가 등록되어 기존의 연산 스크립트로 복구하고자 할 때, 기존의 여산 스크립트를 구성하는 데이터 및 데이터의 인덱스를 알기 힘든 문제점이 있다.
본 발명은 전력데이터 및 전력데이터의 인덱스가 변경되었는지 여부에 따라 스크립트의 컴파일을 수행함으로써, 전력데이터의 변경에 따른 컴파일 누락을 방지할 수 있는 스크립트 컴파일 장치를 제공하는 것을 목적으로 한다.
또한, 본 발명은 전력데이터의 인덱스 및 미리 설정된 명령어를 참조하여 자동으로 스크립트의 컴파일을 수행함으로써, 수동 컴파일로 인한 사용자의 불편을 해소할 수 있는 스크립트 컴파일 장치를 제공하는 것을 목적으로 한다.
또한, 본 발명은 전력데이터 및 전력데이터의 인덱스에 대응하는 버전 정보를 이용함으로써, 스크립트를 손쉽게 복구할 수 있는 스크립트 컴파일 장치를 제공하는 것을 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
이러한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 스크립트 컴파일 장치는 스크립트를 컴파일하기 위한 장치에 있어서, 전력계통으로부터 취득된 전력데이터 및 상기 전력데이터의 인덱스를 저장하는 데이터 베이스, 상기 데이터 베이스에 저장된 전력데이터에 기초하여 스크립트를 생성하는 스크립트 생성부, 상기 데이터 베이스에 저장된 상기 전력데이터의 인덱스가 변경되었는지 여부를 판단하는 판단부 및 상기 판단 결과에 따라 상기 스크립트 생성부에서 생성된 스크립트를 미리 설정된 명령어를 참조하여 컴파일하는 컴파일부를 포함하는 것을 특징으로 한다.
전술한 바와 같은 본 발명에 의하면 전력데이터 및 전력데이터의 인덱스가 변경되었는지 여부에 따라 스크립트의 컴파일을 수행함으로써, 전력데이터의 변경에 따른 컴파일 누락을 방지할 수 있는 효과가 있다.
또한, 본 발명에 의하면 전력데이터의 인덱스 및 미리 설정된 명령어를 참조하여 자동으로 스크립트의 컴파일을 수행함으로써, 수동 컴파일로 인한 사용자의 불편을 해소할 수 있는 효과가 있다.
또한, 본 발명에 의하면 전력데이터 및 전력데이터의 인덱스에 대응하는 버전 정보를 이용함으로써, 스크립트를 손쉽게 복구할 수 있는 효과가 있다.
도 1은 종래의 방법에 따라 스크립트를 컴파일하는 모습을 도시한 도면.
도 2는 본 발명의 일 실시예에 따른 스크립트 컴파일 장치를 도시한 도면.
도 3은 본 발명의 일 실시예에 따른 스크립트 컴파일 장치가 전력계통 및 서버와 연결된 모습을 도시한 도면.
도 4는 본 발명의 일 실시예에 따라 스크립트를 컴파일하는 모습을 도시한 도면.
도 5는 전력데이터 및 전력데이터의 인덱스에 대응하는 버전 정보를 나타낸 표.
도 6은 본 발명의 일 실시예에 따른 스크립트 컴파일 방법을 도시한 순서도.
도 7은 본 발명의 일 실시예에 따른 전력데이터의 인덱스 변경 여부 판단 과정을 도시한 순서도.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
도 2는 본 발명의 일 실시예에 따른 스크립트 컴파일 장치(100)를 도시한 도면이다. 도 2를 참조하면, 본 발명의 일 실시예에 따른 스크립트 컴파일 장치(100)는 데이터 베이스(110), 스크립트 생성부(120), 판단부(130) 및 컴파일부(140)를 포함하여 구성된다. 도 2에 도시된 스크립트 컴파일 장치(100)는 일 실시예에 따른 것이고, 그 구성요소들이 도 2에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 일부 구성요소가 부가, 변경 및 삭제될 수 있다.
도 3은 본 발명의 일 실시예에 따른 스크립트 컴파일 장치(100)가 전력계통(310) 및 서버(320)와 연결된 모습을 도시한 도면이다. 이하, 도 2 및 도 3을 참조하여 스크립트 컴파일 장치(100)와 이를 구성하는 데이터 베이스(110), 스크립트 생성부(120), 판단부(130) 및 컴파일부(140)를 구체적으로 설명하도록 한다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 데이터 베이스(110)는 전력계통(310)으로부터 취득된 전력데이터를 수신할 수 있다. 전력계통(310)은 발전소, 변전소, 송배전선 및 부하가 일체로 되어 전력의 발생 및 이용이 이루어지는 시스템을 포함한다. 예를 들어, 전력계통(310)은 공정의 현장에서 운행중인 개별 발전기로부터 공정 전체를 구성하는 시스템에 이르는 모든 전력 디바이스를 포함할 수 있다.
전력데이터는 전력계통(310)에서 취득되는 전력에 관한 데이터를 의미한다. 예를 들어, 전력데이터는 발전기에서 측정되는 전압 값 또는 부하에서 측정되는 소모 전류 값 등을 포함할 수 있다.
이러한 전력데이터는 다양한 방법으로 수집될 수 있다. 보다 구체적으로, 본 발명이 스카다(Supervisory Control And Data Acquisition; SCADA) 시스템에서 이용되는 경우, 원격 단말기(Remote Terminal Unit; RTU)를 통해 전력데이터가 수집될 수 있다. 원격 단말기는 공정에 설치된 센서와 직접 연결될 수 있고, 원격 단말기는 센서에서 인식되는 신호를 디지털 데이터로 변환하여 시스템으로 전달할 수 있다.
또한, 전력데이터는 사용자로부터 직접 입력될 수 있다. 예를 들어, 새로운 전력계통(310)이 시스템에 추가되어 해당 전력계통(310)에 원격 단말기 등이 구비되지 않은 경우 사용자는 해당 전력계통(310)에 대한 전력데이터를 직접 입력할 수 있다. 이에 따라, 데이터 베이스(110)는 사용자의 입력을 통해 전력데이터를 수집할 수 있다.
본 발명의 일 실시예에 따른 데이터 베이스(110)는 수집된 각각의 전력데이터에 임의의 인덱스에 할당할 수 있다. 이에 따라 데이터 베이스(110)는 전력데이터 및 전력데이터의 인덱스를 서로 대응되도록 저장할 수 있다. 여기서 인덱스는 전력데이터를 컴파일 하거나 메모리에 기록할 때 해당 데이터의 이름, 크기, 속성 또는 기록장소 등을 표시하는 데이터를 포함할 수 있다. 예를 들어, 인덱스는 전력데이터가 어떤 지역의 어떤 장비로부터 취득된 어떤 값인지에 대한 정보를 포함할 수 있다.
다시 도 3을 참조하면, 본 발명의 일 실시예에 따른 스크립트 생성부(120)는 데이터 베이스(110)에 저장된 전력데이터를 수신하고, 수신된 전력데이터에 기초하여 스크립트를 생성할 수 있다. 여기서 생성된 스크립트는 컴퓨터가 인지할 수 있는 프로그램 언어가 아닌, 인간이 인지할 수 있는 간단한 텍스트로 작성된 명령어 등을 포함할 수 있다.
본 발명이 스카다 시스템에서 이용되는 경우, 스크립트는 전력데이터에 기초하여 작성된 텍스트 형태의 수식일 수 있다. 보다 구체적으로, 전력데이터는 임의의 연산 값을 도출하기 위해 이용될 수 있고, 스크립트는 전력데이터로부터 연산 값을 도출하기 위한 수식의 집합일 수 있다.
이러한 스크립트는 데이터 베이스(110)에 저장된 전력데이터를 이용하여 자동으로 생성될 수 있다. 예를 들어, 스크립트 생성부(120)는 데이터 베이스(110)로부터 수신된 전력데이터를 미리 설정된 수식에 대입함으로써 스크립트를 자동으로 생성할 수 있다.
또한, 스크립트는 사용자로부터 직접 생성될 수도 있다. 예를 들어, 스크립트를 구성하는 수식이 존재하지 않으면 사용자는 새로운 수식을 설정함과 동시에 전력데이터를 수식에 입력함으로써 스크립트를 생성할 수 있다.
다시 도 3을 참조하면, 판단부(130)는 데이터 베이스(110)에 저장된 전력데이터의 인덱스를 수신하여, 해당 인덱스가 변경되었는지 여부를 판단할 수 있다. 예를 들어, 스카다 시스템을 기반으로 운영되는 전력계통(310)에서는 해당 전력계통(310)의 감시를 위한 설비의 추가 및 변경에 따라 일정 주기로 전력데이터가 변경될 수 있다. 새로운 전력데이터가 추가되면 데이터 베이스(110)는 해당 전력데이터에 새로운 인덱스를 할당할 수 있다. 이에 따라, 데이터 베이스(110)에 저장된 전력데이터 및 전력데이터의 인덱스는 일정 주기로 변경될 수 있다.
전력데이터의 인덱스가 변경되었다고 판단되면 판단부(130)는 변경된 인덱스를 컴파일부(140)로 송신할 수 있다. 반면에, 전력데이터의 인덱스가 변경되지 않았다고 판단되면 판단부(130)는 기존의 인덱스를 컴파일부(140)로 송신할 수 있다. 이와 같은 인덱스 송신은 판단부(130)에 의해 수행될 수 있고, 판단부(130)의 제어에 따라 데이터 베이스(110)에 의해 수행될 수도 있다.
다시 도 3을 참조하면, 본 발명의 일 실시예에 따른 컴파일부(140)는 상술한 판단 결과에 따라 스크립트를 미리 설정된 명령어를 참조하여 컴파일 할 수 있다. 컴파일은 인간이 구분하기 쉬운 텍스트 등의 언어로 작성된 스크립트를 컴퓨터 등의 기계가 인지할 수 있는 언어로 변환하는 것을 의미한다. 예를 들어, 스크립트 생성부(120)에 의해 생성된 텍스트 형식의 스크립트는 컴파일부(140)를 통해 바이너리(binary) 형식으로 변환될 수 있다.
명령어는 컴파일을 수행하기 위한 프로그램에서 사용되는 프로그램 명령어를 포함할 수 있다. 이에 따라, 사용자는 특정 프로그램에 대응되는 명령어를 미리 설정할 수 있고, 미리 설정된 명령어를 참조 테이블의 형태로 구성하여 컴파일부(140)에 입력시킬 수 있다.
컴파일부(140)는 판단부(130)의 판단 결과, 전력데이터의 인덱스가 변경되었으면 변경된 전력데이터의 인덱스를 참조하여 생성된 스크립트를 컴파일 할 수 있다. 또한, 컴파일부(140)는 판단부(130)의 판단 결과, 전력데이터의 인덱스가 변경되지 않았으면 기존 전력데이터의 인덱스를 참조하여 생성된 스크립트를 컴파일 할 수 있다. 다시 말해, 컴파일부(140)는 데이터 베이스(110)에 저장된 전력데이터의 인덱스 및 컴파일을 수행하기 위한 프로그램에서 사용되는 명령어를 참조하여 스크립트 전체를 자동으로 컴파일할 수 있다.
이와 같이, 본 발명은 전력데이터의 인덱스 및 미리 설정된 명령어를 참조하여 자동으로 스크립트의 컴파일을 수행함으로써, 수동 컴파일로 인한 사용자의 불편을 해소할 수 있는 효과가 있다.
또한, 컴파일부(140)는 판단부(130)의 판단 결과, 전력데이터의 인덱스가 변경되었으면, 스크립트 중 인덱스가 변경된 전력데이터에 기초하여 생성된 스크립트 부분을, 변경된 전력데이터의 인덱스를 참조하여 컴파일할 수 있다.
보다 구체적으로, 상술한 바와 같이 스크립트는 전력데이터로부터 연산 값을 도출하기 위한 수식의 집합일 수 있다. 이에 따라, 스크립트를 구성하는 수식의 집합은 인덱스가 변경된 전력데이터에 기초하여 생성된 수식을 포함할 수 있다. 이 때, 컴파일부(140)는 변경된 전력데이터의 인덱스를 참조하여 인덱스가 변경된 전력데이터에 기초하여 생성된 수식 부분만을 컴파일할 수 있다. 다시 말해, 컴파일부(140)는 기 생성된 스크립트 중에서 변경이 필요한 스크립트 부분만을 컴파일할 수 있다.
이와 같이, 본 발명은 전력데이터 및 전력데이터의 인덱스가 변경되었는지 여부에 따라 스크립트의 컴파일을 수행함으로써, 전력데이터의 변경에 따른 컴파일 누락을 방지할 수 있는 효과가 있다.
도 4는 본 발명의 일 실시예에 따라 스크립트를 컴파일하는 모습을 도시한 도면이다. 이하, 도 4를 참조하여 본 발명에 따른 스크립트 컴파일 과정을 구체적으로 설명하도록 한다.
도 4를 참조하면, 전력계통(310)으로부터 취득된 전력데이터는 편집기를 통해 데이터 베이스(110)에 입력될 수 있다. 데이터 베이스(110)는 각각의 전력데이터에 인덱스를 할당하여 저장할 수 있다(①). 스크립트는 데이터 베이스(110)에 저장된 전력데이터를 이용하여 텍스트(TEXT) 형태로 생성될 수 있다(②).
텍스트 형태의 스크립트는 데이터 베이스(110)에 저장된 전력데이터의 인덱스 변경 여부에 따라(③) 바이너리(Binary) 형태의 스크립트로 컴파일 될 수 있다(④). 보다 구체적으로, 데이터 베이스(110)에 저장된 전력데이터의 인덱스가 변경되었으면 텍스트 형태의 스크립트는 변경된 전력데이터의 인덱스를 참조하여 컴파일 될 수 있다. 또한, 데이터 베이스(110)에 저장된 전력데이터의 인덱스가 변경되지 않았으면 텍스트 형태의 스크립트는 기존의 전력데이터의 인덱스를 참조하여 컴파일 될 수 있다.
컴파일된 바이너리 형태의 스크립트는 서버(320)에 등록되어 사용자에 의해 관리될 수 있다(⑤). 예를 들어 본 발명이 스카다 시스템에서 이용되는 경우, 서버(320)는 스카다 시스템의 소프트웨어와 연결되고 공정에서 발생하는 각종 데이터를 이용한 분석 기능 등을 제공하는 HMI를 포함할 수 있다.
도 5는 전력데이터 및 전력데이터의 인덱스에 대응하는 버전 정보를 나타낸 표이다. 이하, 도 2 및 도 5를 참조하여 본 발명의 다른 실시예에 따른 데이터 베이스(110), 스크립트 생성부(120), 판단부(130) 및 컴파일부(140)를 구체적으로 설명하도록 한다.
도 5를 참조하면, 본 발명의 다른 실시예에 따른 데이터 베이스(110)는 전력데이터 및 전력데이터의 인덱스에 대응하는 버전 정보를 더 저장할 수 있다. 여기서 버전 정보는 전력데이터 및 전력데이터의 인덱스가 변경되었는지 여부에 따라 설정될 수 있다.
예를 들어, 데이터 베이스(110)에 최초로 저장된 전력데이터가 데이터 1이고, 데이터 1에 할당된 인덱스가 인덱스 1이면, 데이터 베이스(110)는 데이터 1 및 인덱스 1에 대응하는 버전 정보인 버전 1을 더 저장할 수 있다. 이와 같은 방식으로 전력데이터 또는 전력데이터의 인덱스가 변경될 때마다 데이터 베이스(110)는 전력데이터, 인덱스 및 버전 정보를 서로 대응되도록 저장할 수 있다.
본 발명의 다른 실시예에 따른 스크립트 생성부(120)는 데이터 베이스(110)에 저장된 버전 정보에 대응하는 전력데이터에 기초하여 스크립트를 생성할 수 있다. 다시 도 5를 참조하면, 스크립트 생성부(120)는 버전 1에 대응하는 데이터 1에 기초하여 스크립트를 생성할 수 있고, 버전 2에 대응하는 데이터 2에 기초하여 스크립트를 생성할 수도 있다. 이와 같은 방법으로 스크립트를 생성함으로써 스크립트 생성부(120)는 데이터 베이스(110)에 갱신된 전력데이터뿐만 아니라, 과거의 전력데이터에 기초하여 스크립트를 생성할 수 있다.
본 발명의 다른 실시예에 따른 판단부(130)는 버전 정보를 참조하여 전력데이터의 인덱스가 변경되었는지 여부를 판단할 수 있다. 보다 구체적으로, 버전 정보는 전력데이터 및 전력데이터의 인덱스가 변경됨에 따라 다르게 설정될 수 있다. 이에 따라, 판단부(130)는 버전 정보만을 수신하여 버전 정보가 기존 버전 정보와 다르면 전력데이터의 인덱스가 변경되었다고 판단할 수 있다.
본 발명의 다른 실시예에 따른 컴파일부(140)는 버전 정보에 대응하는 전력데이터의 인덱스를 참조하여 스크립트를 컴파일할 수 있다. 다시 도 5를 참조하면, 컴파일부(140)는 버전 1에 대응하는 인덱스 1에 기초하여 스크립트를 컴파일할 수 있고, 버전 2에 대응하는 인덱스 2에 기초하여 스크립트를 컴파일할 수도 있다. 이와 같은 방법으로 스크립트를 컴파일함으로써 컴파일부(140)는 데이터 베이스(110)에 갱신된 전력데이터의 인덱스뿐만 아니라, 과거의 인덱스에 기초하여 스크립트를 컴파일할 수 있다.
이와 같이, 본 발명은 전력데이터 및 전력데이터의 인덱스에 대응하는 버전 정보를 이용함으로써, 스크립트를 손쉽게 복구할 수 있는 효과가 있다.
도 6은 본 발명의 일 실시예에 따른 스크립트 컴파일 방법을 도시한 순서도이다. 이하, 도 6을 참조하여 본 발명의 일 실시예에 따른 스크립트 컴파일 방법을 구체적으로 설명하도록 한다.
도 6을 참조하면, 스크립트 컴파일 방법은 전력계통(310)으로부터 취득된 전력데이터 및 전력데이터의 인덱스를 저장하고(S610), 저장된 전력데이터에 기초하여 스크립트를 생성한다(S620). 그 다음, 저장된 전력데이터의 인덱스가 변경되었는지 여부를 판단하고(S630), 판단 결과에 따라 스크립트를 미리 설정된 명령어를 참조하여 컴파일한다(S640).
단계(S610)는 도 2에 도시된 데이터 베이스(110)에서 설명한 방법과 동일할 수 있고, 단계(S620)는 도 2에 도시된 스크립트 생성부(120)에서 설명한 방법과 동일할 수 있다. 또한, 단계(S630)는 도 2에 도시된 판단부(130)에서 설명한 방법과 동일할 수 있고, 단계(S640)는 도 2에 도시된 컴파일부(140)에서 설명한 방법과 동일할 수 있다.
도 7은 본 발명의 일 실시예에 따른 전력데이터의 인덱스 변경 여부 판단 과정을 도시한 순서도이다. 이하, 도 7을 참조하여 전력데이터의 인덱스 변경 여부 판단 방법을 구체적으로 설명하도록 한다.
도 7을 참조하면, 전력데이터에 기초하여 스크립트를 생성한 후(S620), 전력데이터의 인덱스 변경 여부를 판단할 수 있다(S631). 전력데이터의 인덱스가 변경되었으면 변경된 인덱스를 참조하여(S641) 스크립트를 컴파일할 수 있다(S640). 반대로, 전력데이터의 인덱스가 변경되지 않았으면 기존 인덱스를 참조하여(S642) 스크립트를 컴파일할 수 있다(S640).
단계(S631)은 도 2에 도시된 판단부(130)에서 설명한 방법과 동일할 수 있고, 단계(S641) 및 단계(S642)는 도 2에 도시된 컴파일부(140)에서 설명한 방법과 동일할 수 있다.
전술한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.

Claims (7)

  1. 스크립트를 컴파일하기 위한 장치에 있어서,
    전력계통으로부터 취득된 전력데이터, 상기 전력데이터의 인덱스, 및 상기 전력데이터와 상기 전력데이터의 인덱스에 대응하는 버전 정보를 서로 대응되도록 저장하는 데이터 베이스;
    상기 데이터 베이스에 저장된 전력데이터에 기초하여 스크립트를 생성하는 스크립트 생성부;
    상기 데이터 베이스에 저장된 상기 전력데이터의 인덱스 및 상기 버전 정보 중 적어도 하나가 변경되었는지 여부를 판단하는 판단부; 및
    상기 판단 결과에 따라 상기 스크립트 생성부에서 생성된 스크립트를 컴파일하는 컴파일부를 포함하는 스크립트 컴파일 장치.
  2. 제1항에 있어서,
    상기 컴파일부는
    상기 판단 결과 상기 전력데이터의 인덱스가 변경되었으면 상기 변경된 전력데이터의 인덱스를 참조하여 상기 생성된 스크립트를 컴파일하는 스크립트 컴파일 장치.
  3. 제1항에 있어서,
    상기 컴파일부는
    상기 판단 결과 상기 전력데이터의 인덱스가 변경되었으면, 상기 스크립트 중 상기 인덱스가 변경된 전력데이터에 기초하여 생성된 스크립트 부분을 상기 변경된 전력데이터의 인덱스를 참조하여 컴파일하는 스크립트 컴파일 장치.
  4. 제1항에 있어서,
    상기 버전 정보는
    상기 전력데이터 및 상기 전력데이터의 인덱스가 변경되었는지 여부에 따라 설정되는 스크립트 컴파일 장치.
  5. 제4항에 있어서,
    상기 판단부는
    상기 버전 정보를 참조하여 상기 전력데이터의 인덱스가 변경되었는지 여부를 판단하는 스크립트 컴파일 장치.
  6. 제4항에 있어서,
    상기 스크립트 생성부는
    상기 버전 정보에 대응하는 전력데이터에 기초하여 스크립트를 생성하는 스크립트 컴파일 장치.
  7. 제1항에 있어서
    상기 전력데이터의 인덱스는
    상기 전력데이터의 이름, 크기, 속성 및 기록장소 중 적어도 하나에 대한 정보를 포함하는
    스크립트 컴파일 장치.
KR1020160161156A 2016-11-30 2016-11-30 스크립트 컴파일 장치 KR101904349B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020160161156A KR101904349B1 (ko) 2016-11-30 2016-11-30 스크립트 컴파일 장치
EP17173719.0A EP3330850A1 (en) 2016-11-30 2017-05-31 Apparatus for compiling script
US15/614,733 US10481926B2 (en) 2016-11-30 2017-06-06 Apparatus for compiling script
CN201710448778.2A CN108614706B (zh) 2016-11-30 2017-06-14 用于编译脚本的设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160161156A KR101904349B1 (ko) 2016-11-30 2016-11-30 스크립트 컴파일 장치

Publications (2)

Publication Number Publication Date
KR20180061693A KR20180061693A (ko) 2018-06-08
KR101904349B1 true KR101904349B1 (ko) 2018-11-30

Family

ID=59054978

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160161156A KR101904349B1 (ko) 2016-11-30 2016-11-30 스크립트 컴파일 장치

Country Status (4)

Country Link
US (1) US10481926B2 (ko)
EP (1) EP3330850A1 (ko)
KR (1) KR101904349B1 (ko)
CN (1) CN108614706B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3770703B1 (en) * 2019-07-22 2022-12-28 Siemens Aktiengesellschaft Method for configuring an industrial automation component, industrial automation component, computer program and computer-readable medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100468276B1 (ko) * 2001-12-13 2005-01-27 (주)아이디스 멀티미디어 데이터 저장 및 검색 방법
KR100934866B1 (ko) * 2007-11-06 2009-12-31 엘에스산전 주식회사 전력 계통의 감시데이터 수집 및 운영 시스템과 그 방법
KR101310609B1 (ko) * 2012-03-30 2013-09-24 주식회사 이노와이어리스 Yaml을 이용하여 lte 계측 장비를 위한 데이터 및 인터페이스 생성장치 및 생성방법

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7188003B2 (en) 1994-12-30 2007-03-06 Power Measurement Ltd. System and method for securing energy management systems
US6321369B1 (en) 1996-10-28 2001-11-20 Altera Corporation Interface for compiling project variations in electronic design environments
JP2000125189A (ja) 1998-10-15 2000-04-28 Matsushita Electric Ind Co Ltd コンパイラ及び番組編集装置
US6819746B1 (en) 2000-07-10 2004-11-16 Verizon Services Corp. Expert system for loop qualification of XDSL services
KR20040051023A (ko) 2002-12-11 2004-06-18 엘지전자 주식회사 웹 기반 운영 체제 컴파일 시스템 및 방법
US7562357B2 (en) * 2004-03-08 2009-07-14 Microsoft Corporation Relational database schema version management
CN100487652C (zh) * 2005-04-02 2009-05-13 华为技术有限公司 脚本语言的自动机方法
JP2006302066A (ja) 2005-04-22 2006-11-02 Hitachi Information Systems Ltd リモート実行機能を備えたメンテナンスシステムおよびその方法
US8271452B2 (en) * 2006-06-12 2012-09-18 Rainstor Limited Method, system, and database archive for enhancing database archiving
US7836037B2 (en) * 2007-10-04 2010-11-16 Sap Ag Selection of rows and values from indexes with updates
US10333808B2 (en) * 2009-06-11 2019-06-25 Talari Networks Incorporated Methods and apparatus for providing adaptive private network centralized management system data visualization processes
US8560133B2 (en) 2010-09-01 2013-10-15 General Electric Company Energy smart system
US8717374B2 (en) * 2010-09-13 2014-05-06 Fisher-Rosemount Systems, Inc. Methods and apparatus to display process control information
GB2479060B (en) * 2011-03-24 2012-05-02 Reactive Technologies Ltd Energy consumption management
US20120317038A1 (en) * 2011-04-12 2012-12-13 Altisource Solutions S.A R.L. System and methods for optimizing customer communications
KR101361609B1 (ko) * 2012-09-05 2014-02-11 한국항공우주연구원 스크립트 자동 수정 및 생성 장치와 그 방법
US10353879B2 (en) * 2015-11-18 2019-07-16 Sap Se Database catalog with metadata extensions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100468276B1 (ko) * 2001-12-13 2005-01-27 (주)아이디스 멀티미디어 데이터 저장 및 검색 방법
KR100934866B1 (ko) * 2007-11-06 2009-12-31 엘에스산전 주식회사 전력 계통의 감시데이터 수집 및 운영 시스템과 그 방법
KR101310609B1 (ko) * 2012-03-30 2013-09-24 주식회사 이노와이어리스 Yaml을 이용하여 lte 계측 장비를 위한 데이터 및 인터페이스 생성장치 및 생성방법

Also Published As

Publication number Publication date
US10481926B2 (en) 2019-11-19
EP3330850A1 (en) 2018-06-06
KR20180061693A (ko) 2018-06-08
US20180150304A1 (en) 2018-05-31
CN108614706A (zh) 2018-10-02
CN108614706B (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
Hunt et al. The substation of the future: Moving toward a digital solution
US9733639B2 (en) Dynamic facility management system
CN102479152B (zh) 基于Android平台获取工具自动测试结果的方法及装置
CN103425565A (zh) 获取程序运行信息的方法及***
CN105093047A (zh) 电力线路载流量监测预警***
KR101904349B1 (ko) 스크립트 컴파일 장치
CN102156795B (zh) 基于变电站配置描述文件的数字化变电站信息模拟***
EP3454156A1 (en) Method and device to monitor and automatically report electric motor and transformer conditions
KR20180099044A (ko) Scada 시스템 및 스크립트 언어 컴파일 방법
KR20170031541A (ko) 배전 관리 시스템
WO2014204635A1 (en) Cyber-physical systems programmable logic controller
CN103530824A (zh) 一种基于模板库的变电站智能告警***的知识库生产方法
CN108089080B (zh) 一种配电网规划监控***
KR102645220B1 (ko) 피엠유의 자동연계를 위한 시뮬레이션 장치 및 방법
KR101547848B1 (ko) Qvt 기반 통합모델 변환방법
JP2008141844A (ja) 保護制御装置
CN114204530A (zh) 一种基于ar技术的电网设备远程检修方法和装置
KR101720411B1 (ko) 동적 안정도 평가 장치 및 방법
Liu et al. Reactor protection system testing for the solid fuel thorium molten salt reactor
CN210380385U (zh) 一种微电网功能单元的状态采集装置及微电网监控***
JP2010226864A (ja) 系統解析装置のデータベース化方法
KR101547846B1 (ko) Qvt 기반 통합모델 변환시스템
Hong et al. Translating proprietary protection setting data into standardised IEC 61850 format for protection setting validation
Li et al. Design Verification for Control Logic in Nuclear Power Plant
Wang et al. Research on automatic physical testing method of relay protection equipment through data fusion technology

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