KR20210118795A - Apparatus, method and program for opc ua specification compliance verification - Google Patents

Apparatus, method and program for opc ua specification compliance verification Download PDF

Info

Publication number
KR20210118795A
KR20210118795A KR1020210125809A KR20210125809A KR20210118795A KR 20210118795 A KR20210118795 A KR 20210118795A KR 1020210125809 A KR1020210125809 A KR 1020210125809A KR 20210125809 A KR20210125809 A KR 20210125809A KR 20210118795 A KR20210118795 A KR 20210118795A
Authority
KR
South Korea
Prior art keywords
test case
test
unit
conformance
opc
Prior art date
Application number
KR1020210125809A
Other languages
Korean (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 KR1020210125809A priority Critical patent/KR20210118795A/en
Publication of KR20210118795A publication Critical patent/KR20210118795A/en

Links

Images

Classifications

    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • 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/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31472Graphical display of process

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The present invention relates to an apparatus, method, and program for verifying the OPC UA specification compliance. The apparatus for verifying the OPC UA specification compliance comprises: an output control unit which outputs a conformance unit and a test case development screen based on a graphic user interface (GUI); a test case generation unit which sets a parameter for each of the conformance unit and the test case, and generates and edits the conformance unit and the test case; a test case conversion unit which converts each of the conformance unit and the test case into a programming language; and a compliance test unit which inputs the conformance unit and the test case converted into the programming language into a CTT program, and verifies if power facilities are realized to meet the OPC UA specification or not. The present invention aims to provide an apparatus, method, and program for verifying the OPC UA specification compliance, which are capable of allowing a tester to easily draw a test scenario.

Description

OPC UA 규격 적합성 검증 장치, 방법 및 이를 이용한 프로그램{APPARATUS, METHOD AND PROGRAM FOR OPC UA SPECIFICATION COMPLIANCE VERIFICATION}OPC UA standard conformity verification apparatus, method, and program using the same

본 발명은 GUI(Graphic User Interface)를 이용한 OPC UA(Object Linking and Embedding for Process Control Unified Architecture) 규격 적합성 검증 장치 및 방법에 관한 것이다. 보다 상세하게는, GUI를 기반으로 사용자가 임의의 테스트케이스(Test Case)를 생성하고 이를 프로그래밍 언어로 변환하여 전력설비들의 OPC UA 규격 적합성을 검증하는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for verifying object linking and embedding for process control unified architecture (OPC UA) standards using a graphical user interface (GUI). More specifically, it relates to an apparatus and method for generating an arbitrary test case (Test Case) by a user based on a GUI and converting it into a programming language to verify the OPC UA standard conformity of power facilities.

OPC (Object Linking and Embedding for Process Control) 재단은 산업 자동화 부문의 데이터 교환에 관련된 규격을 제공하고 있다. 현재 OPC DA, OPC A&E(Alarms and Events), OPC HDA(Historical Data Access) 규격이 산업계에서 널리 이용 중이며 특히 시스템 기반의 산업 자동화 부문에서 상술한 규격들은 널리 채택되고 있다. The OPC (Object Linking and Embedding for Process Control) Foundation provides standards related to data exchange in the industrial automation sector. Currently, OPC DA, OPC A&E (Alarms and Events), and OPC HDA (Historical Data Access) standards are widely used in the industry, and in particular, the above-mentioned standards are widely adopted in the system-based industrial automation sector.

최근 OPC 재단은 새로운 OPC 규격인 OPC UA(Unified Architecture)를 발표하였다. 본 규격의 목적은 플랫폼 독립 방식으로 데이터를 제공하는데 있다. OPC UA는 기존 OPC DA, A&E, HDA 등의 규격들을 단일 어드레스 스페이스로 통합하였다. 제품을 개발하는 기업들은 OPC UA의 어드레스 스페이스 모델을 바탕으로 객체 지향 기술을 이용하여 풍부하고 확장 가능한 정보 모델을 표현할 수 있다. OPC UA는 지능형 장치, 제어장치, SCADA 시스템을 비롯하여 ERP 시스템에까지 적용할 수 있으며, 산업 현장에서부터 최상위시스템까지 적용될 수 있을 정도로 매우 넓은 적용 범위를 가지고 있다. Recently, the OPC Foundation announced a new OPC standard, OPC UA (Unified Architecture). The purpose of this specification is to provide data in a platform-independent manner. OPC UA integrates existing standards such as OPC DA, A&E, and HDA into a single address space. Companies developing products can express rich and extensible information models using object-oriented technology based on the address space model of OPC UA. OPC UA can be applied to ERP systems as well as intelligent devices, control devices, and SCADA systems, and has a very wide application range from industrial sites to top-level systems.

나아가, 현재 다양한 제품에 OPC UA를 기반으로 한 정보 모델을 적용한 제품이 시장에 많이 출시되고 있다. 이와 더불어 OPC UA 규격은 전력분야의 시스템 자동화 분야에도 도입되어 스마트그리드의 핵심 엔진으로 선정되었으며 IEC(International Electrotechnical Commission)에서는 OPC UA를 IEC 62541 국제표준으로 채택하였다.Furthermore, a lot of products that apply an information model based on OPC UA to various products are currently on the market. In addition, the OPC UA standard was introduced into the system automation field in the power sector and selected as the core engine of the smart grid, and the International Electrotechnical Commission (IEC) adopted OPC UA as the IEC 62541 international standard.

이에 OPC 재단에서 인증하여 관리하는 제품의 수는 증가하고 있는 추세이며, 이러한 활발한 시장을 성공적으로 관리하기 위해서는 모든 OPC 제품이 서로 상호호환이 가능하고 일정 수준 이상의 품질을 유지할 수 있도록 하는 검증 메커니즘이 요구된다. OPC 재단은 이러한 요구에 맞추어 OPC 규격의 적합성 검증 프로그램인 CTT(Compliance Test Tool)을 개발하여 인증시험에 활용하고 있다.Accordingly, the number of products certified and managed by the OPC Foundation is increasing, and in order to successfully manage this active market, a verification mechanism is required to ensure that all OPC products are compatible with each other and maintain quality above a certain level. do. OPC Foundation has developed CTT (Compliance Test Tool), a conformity verification program for OPC standards, to meet these needs and is using it for certification tests.

CTT 프로그램은 OPC 규격이 적용된 제품이 품질 가이드라인에 적합한지 검증하는 실행절차를 정의한 프로그램이다. 품질 가이드라인은 첫째, OPC 규격의 적합성 준수여부를 시험하는 적합성 테스팅(Compliance Testing), 둘째 다른 기종 제품간의 상호 운용성을 시험하는 상호 운영성 테스팅(Interoperability Testing), 셋째 외적 요인으로 기능상 실시 회복여부를 시험하는 견고성 테스트(Robustness Testing), 넷째 CPU, RAM 및 대역폭(Bandwitch) 등의 성능을 시험하는 효율성 테스트(Efficiency Testing), 마지막으로 사용자 편의성 시험을 위한 편의성 테스트(Usability Testing)가 있다. 제품들이 이와 같은 시험절차를 모두 통과하면 OPC 기관에서 인증서를 해당 제품에 부여하고 3년간 인증이 유효하도록 관리한다. The CTT program is a program that defines the execution procedure to verify whether the product to which the OPC standard is applied conforms to the quality guideline. The quality guideline is first, conformance testing to test compliance with OPC standards, second interoperability testing to test interoperability between different types of products, and thirdly, external factors to determine whether or not functional implementation is restored. Robustness testing, fourth, efficiency testing, which tests the performance of CPU, RAM, and bandwidth (Bandwitch), and finally, usability testing for user convenience. If the products pass all these test procedures, the OPC organization grants a certificate to the product and manages the certification to be valid for 3 years.

이때, CTT 프로그램에는 OPC 재단에서 제시하는 고정된 테스트케이스(Test Case)가 제공된다. 그러나, 사용자가 고정된 테스트케이스를 이용하지 않고 추가로 임의의 테스트케이스를 생성하고자 하는 경우 사용자는 JAVA 언어를 이용하여 직접 스크립트(Script)를 생성해야 한다. At this time, the CTT program is provided with a fixed test case presented by the OPC Foundation. However, if the user wants to additionally create an arbitrary test case without using the fixed test case, the user must directly create a script using the JAVA language.

즉, 사용자가 임의의 테스트 케이스를 생성하려면 사용자는 프로그래밍 언어와 CTT 프로그램에 대한 전문지식을 갖추어야 하는 문제점이 있다. 따라서, GUI(Graphic User Interface)를 기반으로 하여 직관적으로 테스트케이스를 생성할 수 있는 방법이 필요하다.That is, in order for a user to create an arbitrary test case, there is a problem that the user must have expertise in a programming language and a CTT program. Therefore, there is a need for a method that can intuitively generate test cases based on a GUI (Graphic User Interface).

한국 공개특허공보 2014-0037342호(2014.03.27.)Korean Patent Publication No. 2014-0037342 (2014.03.27.)

본 발명의 목적은, 상기 문제점을 해결하기 위한 것으로, OPC UA 규격의 적합성을 검증하기 위하여 CTT 프로그램을 이용함에 있어서, 시험자가 기존에 제시되어 있지 않은 새로운 테스트케이스(Test Case)를 수행하려고 하는 경우, 시험자가 JAVA 언어에 대한 전문적 지식이 없더라도 GUI(Graphic User Inteface)를 기반으로 쉽게 새로운 테스트케이스(Test Case)를 생성할 수 있도록 하여, JAVA 언어에 대한 전문적인 지식이 없는 시험자라도 손쉽게 OPC UA 규격 적합성 시험을 수행할 수 있도록 하기 위함이다.An object of the present invention is to solve the above problem, and when using the CTT program to verify the conformity of the OPC UA standard, when the tester tries to perform a new test case that has not been previously presented , it allows testers to easily create new test cases based on GUI (Graphic User Interface) even if they do not have professional knowledge of JAVA language, so even testers who do not have professional knowledge of JAVA language can easily meet OPC UA standards This is to enable conformance testing to be performed.

상기한 목적을 달성하기 위하여 본 발명의 실시예에 따른 OPC UA 규격 적합성 검증 장치는 GUI(Graphic User Interface)를 기반으로 하여 테스트케이스(Test case) 및 적어도 한 개 이상의 상기 테스트 케이스를 포함하는 적합성 시험 단위(Conformance Unit) 개발화면을 출력하는 출력제어부, 상기 테스트케이스 및 상기 적합성 시험 단위 각각의 파라미터(Parameter)를 설정한 뒤, 상기 테스트케이스 및 상기 적합성 시험 단위를 생성하고 편집하는 테스트케이스 생성부, 상기 테스트케이스를 포함하는 상기 적합성 시험단위 전체를 프로그래밍 언어로 변환하거나 상기 테스트 케이스만을 프로그래밍 언어로 변환하는 테스트케이스 변환부 및 프로그래밍 언어로 변환된 적합성 시험 단위 및 테스트케이스를 CTT 프로그램에 입력하여, 전력설비들이 OPC UA 규격에 적합하게 구현되었는지 검증하는 적합성 시험부를 포함한다.In order to achieve the above object, the OPC UA standard conformance verification apparatus according to an embodiment of the present invention is a conformance test including a test case and at least one or more of the test cases based on a graphic user interface (GUI). An output control unit that outputs a unit (Conformance Unit) development screen, a test case generation unit that sets parameters for each of the test case and the conformance test unit, and then creates and edits the test case and the conformance test unit; A test case converting unit that converts the entire conformance test unit including the test case into a programming language or converts only the test case into a programming language, and the conformance test unit and test case converted into the programming language are input to the CTT program, It includes a conformance test section that verifies that the facilities are implemented in conformity with the OPC UA standard.

이때, 테스트케이스는 적합성 시험 단위에 포함되며, 테스트케이스는 적어도 한 개 이상의 서비스 블록(Service Block)들을 포함하고 서비스 블록 각각에는 테스트케이스의 전체동작을 분할한 개별 동작들이 각각 설정되는 것을 특징으로 한다.At this time, the test case is included in the conformance test unit, and the test case includes at least one or more service blocks. .

한편, 테스트케이스 생성부는 서비스 블록들을 각각 기설정된 위치에 배치하고, 배치된 서비스 블록들을 테스트케이스의 전체동작의 순서에 따라 순차적으로 연결하는 것을 특징으로 한다.On the other hand, the test case generating unit is characterized in that each of the service blocks are arranged at a predetermined position, and the arranged service blocks are sequentially connected according to the order of the overall operation of the test case.

또한, 테스트케이스 생성부는 테스트케이스의 전체동작 중 특정동작구간이 기설정된 횟수만큼 반복되는 경우 특정동작구간의 시작과 끝에 각각 위치한 서비스 블록들을 루프(Loop)형태로 연결한다.In addition, when a specific operation section is repeated a predetermined number of times among the entire operation of the test case, the test case generator connects service blocks located at the beginning and the end of the specific operation section in a loop form, respectively.

그리고, 테스트케이스 생성부는 테스트케이스의 전체동작 중 특정한 개별동작이 기설정된 횟수만큼 반복되는 경우 개별동작을 수행하는 서비스 블록에 자가 루프(Self Loop)를 설정한다.In addition, the test case generator sets a self-loop in the service block for performing the individual operation when a specific individual operation is repeated a predetermined number of times among all operations of the test case.

나아가, 테스트케이스 생성부는 두 개의 개별동작 사이에 대기시간이 필요한 경우 연결된 두 개의 서비스 블록 사이에 대기시간 블록을 설정하는 것을 특징으로 한다.Furthermore, the test case generating unit is characterized in that when a waiting time is required between two individual operations, a waiting time block is set between two connected service blocks.

여기서, 개별동작은 보안채널열기(Open Secure Channel), 세션 생성(Create Session), 세션 실행(Activate Session), 읽기(Read), 세션 닫기(Close Session) 및 보안채널닫기(Close Secure Channel) 중 적어도 하나를 포함하는 것을 특징으로 한다.Here, the individual operation is at least one of Open Secure Channel, Create Session, Activate Session, Read, Close Session, and Close Secure Channel. It is characterized by including one.

한편, 테스트케이스 변환부는 적합성 시험 단위 및 테스트케이스를 xml의 확장자를 가지는 자바스크립트(JavaScript)로 변환하는 것을 특징으로 한다.On the other hand, the test case conversion unit is characterized in that it converts the conformance test unit and test case into JavaScript having an xml extension.

상기한 목적을 달성하기 위하여 본 발명의 실시예에 따른 OPC UA 규격 적합성 검증 방법은 GUI(Graphic User Interface)를 기반으로 하여 테스트케이스(Test case) 및 적어도 한 개 이상의 상기 테스트 케이스를 포함하는 적합성 시험 단위 (Conformance Unit) 개발화면을 출력하는 단계, 상기 테스트케이스 및 상기 적합성 시험 단위 각각의 파라미터(Parameter)를 설정한 뒤, 상기 테스트케이스 및 상기 적합성 시험 단위를 생성 및 편집하는 단계, 상기 테스트케이스를 포함하는 상기 적합성 시험단위 전체를 프로그래밍 언어로 변환하거나 상기 테스트 케이스만을 프로그래밍 언어로 변환하는 단계, 및 프로그래밍 언어로 변환된 적합성 시험 단위 및 테스트케이스를 CTT 프로그램에 입력하여, 전력설비들이 OPC UA 규격에 적합하게 구현되었는지 검증하는 단계를 포함한다.In order to achieve the above object, the OPC UA standard conformance verification method according to an embodiment of the present invention is a conformance test including a test case and at least one or more of the test cases based on a graphic user interface (GUI). Outputting a unit (Conformance Unit) development screen, setting the parameters of each of the test case and the conformance test unit, and then creating and editing the test case and the conformance test unit, the test case Converting the entire conformance test unit, including converting to a programming language, or converting only the test case into a programming language, and inputting the conformance test unit and test case converted into the programming language into the CTT program, so that the power equipment meets the OPC UA standard It includes verifying that it has been properly implemented.

이때, 테스트케이스는 적합성 시험 단위에 포함되며, 이때 테스트케이스는 적어도 한 개 이상의 서비스 블록(Service Block)들을 포함하고 서비스 블록 각각에는 테스트케이스의 전체동작을 분할한 개별 동작들이 각각 설정되는 것을 특징으로 한다.In this case, the test case is included in the conformance test unit, wherein the test case includes at least one or more service blocks, and individual actions obtained by dividing the entire operation of the test case are set in each service block. do.

생성 및 편집하는 단계에서 서비스 블록들은 각각 기설정된 위치에 배치되고, 배치된 서비스 블록들은 테스트케이스의 전체동작의 순서에 따라 순차적으로 연결되는 것을 특징으로 한다.In the step of creating and editing, each of the service blocks is arranged at a predetermined position, and the arranged service blocks are sequentially connected according to the order of the overall operation of the test case.

또한, 생성 및 편집하는 단계에서, 테스트케이스의 전체동작 중 특정동작구간이 기설정된 횟수만큼 반복되는 경우 특정동작구간의 시작과 끝에 각각 위치한 서비스 블록들은 루프(Loop)형태로 연결되는 것을 특징으로 한다.In addition, in the step of creating and editing, when a specific operation section is repeated a predetermined number of times among the entire operation of the test case, the service blocks located at the beginning and the end of the specific operation section, respectively, are connected in a loop form.

나아가, 생성 및 편집하는 단계에서 테스트케이스의 전체동작 중 특정한 개별동작이 기설정된 횟수만큼 반복되는 경우 개별동작을 수행하는 서비스 블록에 자가 루프(Self Loop)가 설정되는 것을 특징으로 한다.Furthermore, in the step of creating and editing, when a specific individual operation is repeated a predetermined number of times among all operations of the test case, a self-loop is set in the service block performing the individual operation.

생성 및 편집하는 단계에서 두 개의 개별동작 사이에 대기시간이 필요한 경우, 연결된 두 개의 서비스 블록 사이에 대기시간 블록이 설정되는 것을 특징으로 한다.When a waiting time is required between two individual operations in the step of creating and editing, it is characterized in that a waiting time block is set between two connected service blocks.

이때, 개별동작은 보안채널열기(Open Secure Channel), 세션 생성(Create Session), 세션 실행(Activate Session), 읽기(Read), 세션 닫기(Close Session) 및 보안채널닫기(Close Secure Channel) 중 적어도 하나를 포함하는 것을 특징으로 한다.At this time, the individual operation is at least one of Open Secure Channel, Create Session, Activate Session, Read, Close Session, and Close Secure Channel. It is characterized by including one.

변환하는 단계에서 적합성 시험 단위 및 테스트케이스를 xml의 확장자를 가지는 자바스크립트(JavaScript)로 변환하는 것을 특징으로 한다.In the conversion step, it is characterized in that the conformance test unit and test case are converted into JavaScript having an xml extension.

상기한 목적을 달성하기 위하여 본 발명의 실시예에 따른 OPC UA 규격 적합성 검증 프로그램은 상술한 OPC UA 규격 적합성 검증 방법 기록매체에 저장한 것을 특징으로 한다.In order to achieve the above object, the OPC UA standard conformity verification program according to an embodiment of the present invention is characterized in that it is stored in the above-described OPC UA standard conformity verification method recording medium.

본 발명에 의하면, 전력시스템 중 하나인 SCADA 시스템에 새롭게 도입된 OPC UA 규격 기반의 전력설비들이 OPC UA 규격에 적합한지를 검증함에 있어서, JAVA 언어를 이용하지 않고도 시험자가 임의의 새로운 시험시나리오를 GUI(Graphic User Interface)를 기반으로 손쉽게 생성할 수 있도록 하여 시험자가 전력분야에서 필요한 시험시나리오를 쉽게 도출할 수 있는 효과가 있다.According to the present invention, in verifying whether the power facilities based on the OPC UA standard newly introduced into the SCADA system, which is one of the power systems, conform to the OPC UA standard, the tester can display any new test scenario in the GUI ( Graphic User Interface), so that the tester can easily derive the necessary test scenarios in the power field.

도 1은 CTT 프로그램과 피시험 시스템 간의 연결 관계를 설명하기 위한 도면이다.
도 2는 프로파일(Profile), 적합성 시험 단위(Conformance Unit) 및 테스트케이스(Test Case)의 상관관계를 설명하기 위한 도면이다.
도 3은 본 발명의 실시예에 따른 OPC UA 규격 적합성 검증 장치와 CTT 프로그램의 관계를 설명하기 위한 도면이다.
도 4는 본 발명의 실시예에 따른 OPC UA 규격 적합성 검증 장치를 설명하기 위한 구성도이다.
도 5는 본 발명의 실시예에 따른 OPC UA 규격 적합성 검증 방법을 설명하기 위한 순서도이다.
도 6은 본 발명의 실시예에 따른 출력제어부의 GUI(Graphic User Interface)를 설명하기 위한 도면이다.
도 7 및 도 8은 본 발명의 실시예에 따른 서비스 블록(Service Block)을 설명하기 위한 도면이다.
도 9는 본 발명의 실시예에 따른 OPC UA 서버 연결정보 설정을 설명하기 위한 도면이다.
1 is a diagram for explaining a connection relationship between a CTT program and a system under test.
2 is a diagram for explaining the correlation between a profile, a conformance unit, and a test case.
3 is a view for explaining the relationship between the OPC UA standard conformity verification apparatus and the CTT program according to an embodiment of the present invention.
4 is a configuration diagram for explaining an OPC UA standard conformity verification apparatus according to an embodiment of the present invention.
5 is a flowchart for explaining the OPC UA standard conformance verification method according to an embodiment of the present invention.
6 is a diagram for explaining a graphic user interface (GUI) of an output control unit according to an embodiment of the present invention.
7 and 8 are diagrams for explaining a service block according to an embodiment of the present invention.
9 is a diagram for explaining the setting of OPC UA server connection information according to an embodiment of the present invention.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부 도면을 참조하여 설명하기로 한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, in order to describe in detail enough that a person of ordinary skill in the art to which the present invention pertains can easily implement the technical idea of the present invention, the most preferred embodiment of the present invention will be described with reference to the accompanying drawings. . First, in adding reference numerals to the components of each drawing, it should be noted that the same components are given the same reference numerals as much as possible even though they are indicated on different drawings. In addition, in describing the present invention, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted.

이하, 본 발명의 실시예에 따른 SCADA 시스템 기반 전력설비들을 위한 OPC UA 규격 적합성 검증 장치 및 방법을 첨부된 도면을 참조하여 상세하게 설명하면 아래와 같다.Hereinafter, an apparatus and method for verifying OPC UA standard conformity for SCADA system-based power facilities according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 CTT 프로그램과 피시험 시스템 간의 연결 관계를 설명하기 위한 도면이다. 도 2는 프로파일(Profile), 적합성 시험 단위(Conformance Unit) 및 테스트케이스(Test Case)의 상관관계를 설명하기 위한 도면이다. 도 3은 본 발명의 실시예에 따른 OPC UA 규격 적합성 검증 장치와 CTT 프로그램의 관계를 설명하기 위한 도면이다. 도 4는 본 발명의 실시예에 따른 OPC UA 규격 적합성 검증 장치를 설명하기 위한 구성도이다. 도 5는 본 발명의 실시예에 따른 OPC UA 규격 적합성 검증 방법을 설명하기 위한 순서도이다. 도 6은 본 발명의 실시예에 따른 출력제어부의 GUI(Graphic User Interface)를 설명하기 위한 도면이다. 도 7 및 도 8은 본 발명의 실시예에 따른 서비스 블록(Service Block)을 설명하기 위한 도면이다. 도 9는 본 발명의 실시예에 따른 OPC UA 서버 연결정보 설정을 설명하기 위한 도면이다.1 is a diagram for explaining a connection relationship between a CTT program and a system under test. 2 is a diagram for explaining the correlation between a profile, a conformance unit, and a test case. 3 is a view for explaining the relationship between the OPC UA standard conformity verification apparatus and the CTT program according to an embodiment of the present invention. 4 is a configuration diagram illustrating an OPC UA standard conformance verification apparatus according to an embodiment of the present invention. 5 is a flowchart for explaining the OPC UA standard conformance verification method according to an embodiment of the present invention. 6 is a diagram for explaining a graphic user interface (GUI) of an output control unit according to an embodiment of the present invention. 7 and 8 are diagrams for explaining a service block according to an embodiment of the present invention. 9 is a view for explaining the setting of OPC UA server connection information according to an embodiment of the present invention.

도 1에 도시된 바와 같이, OPC UA(Object Linking and Embedding for Process Control Unified Architecture) 규격이 적용된 제품의 규격 적합성 여부를 판정하기 위한 시험장치인 CTT(Compliance Test Tool) 프로그램은 서버용과 클라이언트용으로 구분되어 사용되고 있으며 서버와 클라이언트의 시험환경은 각각 상이하다.As shown in FIG. 1, the CTT (Compliance Test Tool) program, which is a test device for determining whether a product to which the OPC UA (Object Linking and Embedding for Process Control Unified Architecture) standard is applied, conforms to the standard is divided into a server and a client. The test environment of the server and the client is different.

이때, 전력설비의 제작업체는 관련 제품을 개발하여 시장에 공급하기 전에 OPC 또는 OPC UA 적합성 시험을 수행하여 인증서를 발급받아야 한다. 그러나, 일반적으로 OPC UA 규격을 이용하는 제품들의 대부분은 OPC UA의 모든 규격이 구현하고 있지는 않다. 예를 들면, 임베디드(Embedded) 장치에서 동작하는 서버인 경우 히스토리컬 데이터(historical data)를 제공하지 않을 수 있으며 구독기능을 제공하지 않을 수도 있다. 또한, 특정 서버들은 그들의 주소 공간에서 일어나는 변화를 감지할 수 있지만 다른 서버들은 아닐 수 있다. 따라서, OPC UA 규격에서는 제품마다 각기 다른 기능들을 각각 제품마다의 프로파일로 정의하여 제품의 인증 범위를 결정한다.In this case, the manufacturer of power equipment must perform OPC or OPC UA conformance test and obtain a certificate before developing and supplying related products to the market. However, in general, most of the products using the OPC UA standard do not implement all the OPC UA standards. For example, in the case of a server operating in an embedded device, historical data may not be provided and a subscription function may not be provided. Also, certain servers may detect changes in their address space, while others may not. Therefore, in the OPC UA standard, different functions for each product are defined as a profile for each product, and the certification scope of the product is determined.

도 2에 도시된 바와 같이, OPC UA CTT 프로그램은 복수 개의 프로파일(Profile)들을 지원한다. 이러한 프로파일들은 서버와 관련된 프로파일, 클라이언트와 관련된 프로파일, 보안과 관련된 프로파일 및 전송과 관련된 프로파일 등을 포함한다. 나아가, 특정 프로파일 B는 또 다른 프로파일 C를 포함할 수도 있다.As shown in Figure 2, the OPC UA CTT program supports a plurality of profiles (Profiles). These profiles include a server-related profile, a client-related profile, a security-related profile, and a transport-related profile. Furthermore, a specific profile B may include another profile C.

나아가, 프로파일은 적어도 한 개 이상의 적합성 시험 단위(Conformance Unit)들을 포함한다. 이때, 적합성 시험 단위(Conformance Unit)는 복수 개의 프로파일에 동시에 속해 있을 수 있으며, 각각의 적합성 시험 단위(Conformance Unit)는 적어도 한 개 이상의 테스트케이스(Test Case)를 포함할 수 있다. 이때, 적합성 시험 단위는 테스트가 가능한 별개의 단위이다.Furthermore, the profile includes at least one or more conformance units. In this case, a conformance unit may simultaneously belong to a plurality of profiles, and each conformance unit may include at least one test case. In this case, the conformance test unit is a separate unit that can be tested.

이때, 프로파일 및 적합성 시험 단위(Conformance Unit)와 관련된 규격은 [OPC UA part 7] 에 정의되어 있으며, 테스트케이스(Test Case)에 관련된 규격은 [OPCTL part 8] 과 [OPCTL part 9]에 정의되어 있다.At this time, the specifications related to the profile and conformance unit (Conformance Unit) are defined in [OPC UA part 7], and the specifications related to the test case are defined in [OPCTL part 8] and [OPCTL part 9]. have.

일반적으로, CTT 프로그램 내부에는 프로파일, 적합성 시험 단위 및 테스트케이스가 고정적으로 제시되어 있다. 이때, 시험자가 기존에 제시되어 있지 않은 새로운 테스트케이스를 수행하고자 하면 JAVA 언어를 이용하여 새로운 테스트케이스를 생성할 수 있다.In general, profiles, conformance test units, and test cases are fixedly presented within the CTT program. In this case, if the tester wants to perform a new test case that has not been previously presented, a new test case can be created using the JAVA language.

도 3에 도시된 바와 같이, OPC UA 기반의 4세대 SCADA 시스템이 OPC UA 규격에 적합하게 구현되었는지를 검증하기 위하여 테스트케이스(Test Case) 개발자는 GUI 기반 프로그램을 이용하여 OPC UA 적합성 시험 시나리오인 테스트케이스(Test Case)를 생성한 뒤 실행한다. 이때, 실행 결과는 CTT 프로그램 내부에서 실행될 수 있는 형태의 출력파일인 자바스크립트(JavaScript)를 기반으로 하는 확장자 xml을 가지는 형태 형태로 변형되어 CTT 프로그램에 제공된다. 한편, 적합성 시험자가 이 출력파일을 CTT 프로그램에 입력하여 실행하면 CTT 프로그램의 적합성 시험 순서에 따라 테스트케이스(Test Case) 개발자가 생성한 테스트 케이스(Test Case)를 실행하여 시험대상이 되는 SCADA 시스템이 OPC UA 규격에 적합한지 여부를 판정하고 그 결과를 CTT 프로그램에서 출력파일로 제공한다.As shown in FIG. 3, in order to verify whether the OPC UA-based 4th generation SCADA system is implemented in conformity with the OPC UA standard, a test case developer uses a GUI-based program to test the OPC UA conformance test scenario. Create a test case and run it. At this time, the execution result is transformed into a form having an extension xml based on JavaScript, which is an output file of a form that can be executed inside the CTT program, and provided to the CTT program. On the other hand, when the conformance tester inputs this output file into the CTT program and executes it, the test case created by the test case developer is executed according to the conformity test sequence of the CTT program, and the SCADA system that is the test target It judges whether it conforms to the OPC UA standard and provides the result as an output file in the CTT program.

더욱 상세하게, 테스트케이스(Test Case) 개발자는 OPC UA 규격 적합성 검증 장치(100)를 이용하여 GUI를 기반으로 테스트케이스를 생성한다. 그 뒤, OPC UA 규격 적합성 검증 장치(100)는 생성된 테스트케이스를 CTT 프로그램 실행 장치(10)에 전송한다. 이때, 적합성 시험자는 테스트 케이스를 수행하고, CTT 프로그램 실행 장치(10)는 테스트 결과 및 로그를 출력하고 이를 다시 OPC UA 규격 적합성 검증 장치(100)에 전송한다. 그 뒤, OPC UA 규격 적합성 검증 장치(100) 전송받은 결과 및 로그를 분석하고 이를 레포팅(Reporting)한다.In more detail, a test case developer creates a test case based on the GUI using the OPC UA standard conformance verification apparatus 100 . Then, the OPC UA standard conformity verification device 100 transmits the generated test case to the CTT program execution device (10). At this time, the conformance tester performs the test case, the CTT program execution device 10 outputs the test result and log, and transmits it back to the OPC UA standard conformity verification device 100 . Thereafter, the OPC UA standard conformity verification apparatus 100 analyzes the transmitted result and log, and reports it.

도 4에 도시된 바와 같이, OPC UA 규격 적합성 검증 장치는 테스트케이스 생성부(110), 테스트케이스 변환부(120), 적합성 시험부(130) 및 출력제어부(140)를 포함한다.As shown in FIG. 4 , the OPC UA standard conformance verification apparatus includes a test case generation unit 110 , a test case conversion unit 120 , a conformance test unit 130 , and an output control unit 140 .

테스트케이스 생성부(110)는 GUI(Graphic User Interface)를 기반으로 테스트케이스 개발자로부터 해당되는 테스트케이스의 파라미터(Parameter)를 입력받아 테스트케이스를 생성하거나 편집하고, 생성된 테스트케이스를 포함하는 적합성 시험 단위(Conformance Unit)를 생성하거나 편집한다.The test case generation unit 110 receives the parameters of the corresponding test case from the test case developer based on the GUI (Graphic User Interface), creates or edits the test case, and performs a conformance test including the generated test case. Create or edit a conformance unit.

테스트케이스 변환부(120)는 테스트케이스 생성부(110)에서 GUI를 기반으로 생성된 테스트케이스 및 적합성 시험 단위(Conformance Unit)를 컴퓨터가 이해할 수 있는 프로그래밍 언어로 변환한다. 이때, 변환되는 형식은 자바스크립트(JavaScript)일 수 있으며, 해당되는 파일의 확장자는 xml일 수 있으나, 이외에도 테스트케이스 및 적합성 시험 단위(Conformance Unit)는 컴퓨터가 이해할 수 있는 프로그래밍 언어로 변환될 수 있다.The test case conversion unit 120 converts the test case and conformance unit generated by the test case generation unit 110 based on the GUI into a programming language that a computer can understand. At this time, the converted format may be JavaScript, and the extension of the corresponding file may be xml. .

적합성 시험부(130)는 변환된 테스트케이스 및 적합성 시험 단위를 이용하여 CTT 프로그램과 연동하여 OPC UA 기반의 4세대 SCADA 시스템을 이용한 전력설비들이 OPC UA 규격에 적합하게 구현되었는지를 검증한다. 이때, CTT 프로그램은 적합성 시험부(130)에 내장되어 있거나, 적합성 시험부(130)와 전기적으로 연결되어 있는 또 다른 장치에 포함되거나, 변환된 테스트케이스를 적합성 시험부(130)로부터 온라인 상으로 전송받을 수 있다.The conformance test unit 130 verifies whether the power facilities using the OPC UA-based 4th generation SCADA system are implemented in conformity with the OPC UA standard by interworking with the CTT program using the converted test case and the conformance test unit. At this time, the CTT program is embedded in the conformance test unit 130 , or included in another device electrically connected to the conformance test unit 130 , or the converted test case is online from the conformity test unit 130 . can be sent

만약, CTT 프로그램이 적합성 시험부(130)에 내장되지 않은 경우라면, 적합성 시험부(130)는 직접 적합성 시험을 실행하는 것이 아니라 변환된 테스트케이스를 CTT 프로그램에 전송하고, 적합성 시험 결과를 수신하는 역할을 할 수 있다.If the CTT program is not built into the conformance test unit 130, the conformance test unit 130 transmits the converted test case to the CTT program rather than directly executing the conformance test and receives the conformance test result. can play a role

출력제어부(140)는 OPC UA 규격 적합성 검증 장치의 다른 구성들의 동작과 함께 테스트케이스 개발자에게 GUI를 기반으로 하는 적합성 시험 단위(Conformance Unit) 및 테스트케이스 개발화면을 제공할 수 있다. 또한, 출력제어부(140)는 적합성 시험부(130)의 적합성 판정 결과와 관련하여, CTT프로그램에서 제공하는 결과 레포트를 적합성 시험자에게 제공할 수 있으며, 나아가 CTT프로그램에서 제공하는 결과 레포트를 활용하여 보다 상세한 결과를 나타내는 상세 적합성 결과보고서를 적합성 시험자에게 제공할 수 있다.The output control unit 140 may provide a GUI-based conformance unit and test case development screen to the test case developer along with the operation of other components of the OPC UA standard conformance verification apparatus. In addition, the output control unit 140 may provide the conformity tester with the result report provided by the CTT program in relation to the conformity determination result of the conformance test unit 130, and furthermore, by utilizing the result report provided by the CTT program, more A detailed conformance report showing detailed results may be provided to the conformance tester.

도 5에 도시된 바와 같이, OPC UA 규격 적합성 검증 방법은 GUI를 기반으로 하여 적합성 시험 단위(Conformance Unit) 및 테스트케이스 개발화면을 출력하는 단계(S100), 적합성 시험 단위 및 테스트케이스를 생성 및 편집하는 단계(S200), 적합성 시험 단위 및 테스트케이스 각각을 프로그래밍 언어로 변환하는 단계(S300) 및 CTT 프로그램을 이용하여 OPC UA 규격 적합성 시험을 실행하여 전력설비들이 OPC UA 규격에 적합하게 구현되었는지 검증하는 단계(S400)를 포함한다.As shown in FIG. 5 , the OPC UA standard conformance verification method outputs a conformance test unit and test case development screen based on a GUI (S100), and creates and edits a conformance test unit and test case Step (S200), converting each of the conformance test unit and test case into a programming language (S300) and using the CTT program to execute the OPC UA standard conformance test to verify whether the power facilities are implemented in conformity with the OPC UA standard Step S400 is included.

적합성 시험 단위(Conformance Unit) 및 테스트케이스 개발화면을 출력하는 단계(S100)에서 테스트케이스 개발자는 출력제어부(140)를 통해 출력된 GUI 기반의 화면을 통해 테스트케이스 생성부(110)에 테스트케이스 생성 명령을 할 수 있다.In the step (S100) of outputting the conformance test unit and the test case development screen, the test case developer creates the test case in the test case generator 110 through the GUI-based screen output through the output control unit 140 can command

적합성 시험 단위 및 테스트케이스를 생성 및 편집하는 단계(S200)에서 테스트케이스 생성부(110)는 테스트케이스 개발자로부터 적합성 시험 단위(Conformance Unit) 및 테스트케이스를 생성할 수 있다. 나아가, 적합성 시험 단위(Conformance Unit) 및 테스트케이스에는 서비스 블록(Service Block)이 포함될 수 있다. 이때, 테스트케이스 생성부(110)는 테스트케이스 개발자가 생성하고자 하는 각각의 적합성 시험 단위(Conformance Unit) 및 테스트케이스에 대한 파라미터를 입력받을 수 있다.In the step of generating and editing the conformance test unit and test case ( S200 ), the test case generator 110 may generate a conformance test unit and test case from a test case developer. Furthermore, the conformance unit and the test case may include a service block. In this case, the test case generation unit 110 may receive each conformance unit that the test case developer wants to generate and parameters for the test case.

적합성 시험 단위 및 테스트케이스 각각을 프로그래밍 언어로 변환하는 단계(S300)에서 테스트케이스 변환부(120)는 테스트케이스 생성부(110)에서 GUI를 기반으로 생성된 적합성 시험 단위(Conformance Unit) 및 테스트케이스를 컴퓨터가 이해할 수 있는 프로그래밍 언어로 변환한다. 이때, 변환되는 형식은 자바스크립트(JavaScript)일 수 있으며, 해당되는 파일의 확장자는 xml일 수 있으나, 이외에도 적합성 시험 단위(Conformance Unit) 및 테스트케이스는 컴퓨터가 이해할 수 있는 프로그래밍 언어로 변환될 수 있다.In the step (S300) of converting each of the conformance test unit and the test case into a programming language, the test case conversion unit 120 generates a conformance unit and test case generated by the test case generating unit 110 based on the GUI. to a programming language that computers can understand. At this time, the converted format may be JavaScript, and the extension of the corresponding file may be xml. .

CTT 프로그램을 이용하여 OPC UA 규격 적합성 시험을 실행하여 전력설비들이 OPC UA 규격에 적합하게 구현되었는지 검증하는 단계(S400)에서 적합성 시험부(130)는 변환된 적합성 시험 단위 및 테스트케이스를 CTT 프로그램에 입력하여 OPC UA 기반의 4세대 SCADA 시스템을 이용한 전력설비들이 OPC UA 규격에 적합하게 구현되었는지를 검증한다.In the step (S400) of verifying whether the power facilities are properly implemented in the OPC UA standard by executing the OPC UA standard conformance test using the CTT program, the conformance test unit 130 applies the converted conformity test unit and test case to the CTT program. It verifies whether the power facilities using the 4th generation SCADA system based on OPC UA are implemented in accordance with the OPC UA standard by inputting it.

나아가, CTT 프로그램을 이용하여 OPC UA 규격 적합성 시험을 실행하여 전력설비들이 OPC UA 규격에 적합하게 구현되었는지 검증하는 단계(S400)가 완료된 뒤, 출력제어부(140)는 적합성 시험부(130)의 적합성 판정 결과와 관련하여, CTT프로그램에서 제공하는 결과 레포트를 적합성 시험자에게 제공할 수 있으며, 나아가 CTT프로그램에서 제공하는 결과 레포트를 활용하여 보다 상세한 결과를 나타내는 상세 적합성 결과보고서를 적합성 시험자에게 제공할 수 있다.Furthermore, after the step (S400) of verifying whether the power facilities are implemented in conformity with the OPC UA standard by executing the OPC UA standard conformance test using the CTT program is completed, the output control unit 140 performs the conformity test unit 130 Regarding the judgment result, the result report provided by the CTT program can be provided to the conformance tester, and further, a detailed conformance result report showing more detailed results can be provided to the conformance tester by using the result report provided by the CTT program. .

도 6에 도시된 바와 같이, 본 발명의 실시예에 따른 OPC UA 규격 적합성 검증 장치 및 방법에서 출력제어부(140)를 통해 출력되는 GUI(Graphic User Interface) 기반의 화면에는 복수 개의 탭이 출력될 수 있다.As shown in FIG. 6 , a plurality of tabs may be output on the GUI (Graphic User Interface)-based screen output through the output control unit 140 in the OPC UA standard conformity verification apparatus and method according to an embodiment of the present invention. have.

더욱 상세하게, 적합성 시험 단위 및 테스트케이스를 생성 및 편집(S200)하기 위하여, 테스트케이스 개발자는 프로젝트를 생성한 뒤, 출력제어부(140)를 통해 출력되는 GUI 기반의 화면에서 'Compliance 메뉴'를 선택한 후, 'TestCase 탭'을 선택하여 적합성 시험 단위(Conformance Unit)를 트리에 추가하거나 삭제할 수 있다.In more detail, in order to create and edit the conformance test unit and test case (S200), the test case developer creates a project and selects the 'Compliance menu' from the GUI-based screen output through the output control unit 140 After that, you can add or delete Conformance Units to the tree by selecting the 'TestCase tab'.

나아가, 테스트케이스 개발자는 이미 생성되어 있는 프로젝트 파일을 선택하여 열수 있으며, 선택된 프로젝트 파일에 포함된 컴플라이언스(Compliance) 테스트케이스를 로드(load)한 뒤, 'Compliance 메뉴'를 이용하여 적합성 시험 단위(Conformance Unit) 트리를 구성할 수 있으며, 적합성 시험 단위(Conformance Unit)에 포함되어 있는 테스트케이스(Test Case) 트리를 구성할 수 있다. 이때, 테스트케이스 개발자는 테스트케이스 트리에 포함되어 있는 테스트케이스를 통해 해당되는 테스트케이스의 세부 내역을 조회할 수 있다.Furthermore, the test case developer can select and open an already created project file, load the compliance test case included in the selected project file, and use the 'Compliance menu' to select the conformance test unit (Conformance). Unit) tree can be configured, and the test case tree included in the conformance unit can be configured. At this time, the test case developer can inquire the details of the corresponding test case through the test case included in the test case tree.

그 뒤, 테스트케이스 개발자는 적합성 시험 단위(Conformance Unit)에 대하여 적합성 시험 단위(Conformance Unit) 트리 아래에 새로운 테스트케이스를 생성할 수 있다. 이때, 생성된 최초의 테스트케이스는 임의의 이름을 할당 받을 수 있으며, 테스트케이스 개발자는 생성된 테스트케이스의 이름을 변경하거나 테스트케이스를 트리에서 삭제하는 작업을 수행할 수 있으며, 이러한 변동사항을 프로젝트에 저장할 수 있다.Then, the test case developer can create a new test case under the conformance unit tree for the conformance unit. At this time, the first created test case can be assigned an arbitrary name, and the test case developer can change the name of the created test case or delete the test case from the tree. can be stored in

나아가, 테스트케이스 개발자는 적합성 시험 단위(Conformance Unit)에 포함되어 있는 하위 테스트 케이스를 구성(Document)의 영역에서 GUI 기반의 화면으로 조회할 수 있다.Furthermore, the test case developer can inquire the sub test cases included in the conformance unit in the area of the document on the GUI-based screen.

한편, CTT용 UaConformaceGroupExport 스키마 규격에 따라 적합성 시험 단위 및 테스트케이스 각각을 프로그래밍 언어로 변환(S300)하기 위하여 테스트케이스 개발자는 적합성 시험 단위(Conformance Unit)에 대하여 'Export Conformance Unit 메뉴'를 선택한 뒤 저장할 파일명을 확장자 xml의 형식으로 입력할 수 있다. 이때, 테스트케이스 변환부(120)는 변환의 대상이 되는 적합성 시험 단위(Conformance Unit)에 속해있는 테스트케이스를 검사하고, 테스트케이스에 포함되어 있는 서비스 블록을 검사하여 이를 프로그래밍 언어로 변환한다.On the other hand, in order to convert each conformance test unit and test case into a programming language (S300) according to the UaConformaceGroupExport schema standard for CTT, the test case developer selects the 'Export Conformance Unit menu' for the conformance unit and then selects the file name to save can be entered in the form of extension xml. At this time, the test case conversion unit 120 examines a test case belonging to a conformance unit to be converted, inspects a service block included in the test case, and converts it into a programming language.

이때, 테스트케이스 변환부(120)는 테스트케이스에 포함되어 있는 서비스 블록을 검사하여 자바스크립트(JavaScript) 코드를 생성한 뒤, 이를 인코딩 하여 xml의 형식으로 저장할 수 있다.In this case, the test case conversion unit 120 may generate a JavaScript code by examining the service block included in the test case, encode it and store it in the xml format.

한편 테스트케이스 변환부(120)는 CTT에서 정의한 UaScriptExport 스키마 규격에 따라 개별 테스트케이스를 xml의 형식으로 저장할 수 있다. 테스트케이스 개발자는 개별 테스트케이스에 대하여 'Export Conformance Unit 메뉴'를 선택한 뒤 저장할 파일명을 입력할 수 있다. 이때, 테스트케이스 변환부(120)는 테스트케이스에 포함되어 있는 서비스 블록을 검사하여 이를 프로그래밍 언어로 변환할 수 있다.Meanwhile, the test case conversion unit 120 may store individual test cases in the form of xml according to the UaScriptExport schema standard defined by CTT. The test case developer can select the 'Export Conformance Unit menu' for each test case and enter the file name to be saved. In this case, the test case conversion unit 120 may examine the service block included in the test case and convert it into a programming language.

즉, 테스트케이스 변환부(120)는 테스트케이스를 포함하는 적합성 시험 단위(Conformance Unit) 전체를 프로그래밍 언어로 변환하거나 테스트케이스만을 프로그래밍 언어로 변환(S300)할 수 있다.That is, the test case conversion unit 120 may convert the entire conformance unit including the test case into a programming language or convert only the test case into a programming language ( S300 ).

한편, 적합성 시험 단위 및 테스트케이스를 생성 및 편집하는 단계(S200)에서 테스트케이스 개발자는 GUI의 테스트케이스의 구성 화면(Document View)에서 'Service Blocks 탭'에서 'Discovery Service 탭'을 선택한 뒤 'FindServers' 또는 'GetEndpoints'의 2개의 서비스 중 하나를 선택할 수 있다. 이때 테스트케이스 개발자가 서비스를 선택하면 선택된 서비스는 구성(Document) 영역에서 확인될 수 있으며, 이때, 구성(Document) 영역에서는 서비스 블록(Service Block)이 생성되어 출력될 수 있다. 이때, 테스트케이스 개발자는 서비스 블록(Service Block)을 선택하고 해당되는 서비스 블록에 대한 'Properties 탭'을 선택하여 각각의 서비스에 대한 파라미터를 변경할 수 있다.Meanwhile, in the step of creating and editing the conformance test unit and test case (S200), the test case developer selects the 'Discovery Service tab' from the 'Service Blocks tab' in the test case configuration screen (Document View) of the GUI and then clicks 'FindServers You can select one of the two services of ' or 'GetEndpoints'. At this time, when the test case developer selects a service, the selected service can be checked in the configuration (Document) area, and in this case, a service block can be generated and output in the configuration (Document) area. At this time, the test case developer can change the parameters for each service by selecting a service block and selecting the 'Properties tab' for the corresponding service block.

이때, 테스트케이스에는 적어도 한 개 이상의 서비스 블록(Service Block)들이 포함될 수 있으며, 이러한 서비스 블록 각각에는 테스트케이스가 수행하는 전체동작을 분할한 개별동작들이 각각 설정될 수 있다.In this case, at least one or more service blocks may be included in the test case, and individual operations obtained by dividing the entire operation performed by the test case may be set in each of these service blocks.

이때, 서비스 블록에 설정된 개별동작들은 보안채널열기(Open Secure Channel), 세션 생성(Create Session), 세션 실행(Activate Session), 읽기(Read), 세션 닫기(Close Session), 보안채널닫기(Close Secure Channel) 중 적어도 하나 이상을 포함할 수 있다.At this time, the individual actions set in the service block are Open Secure Channel, Create Session, Activate Session, Read, Close Session, Close Secure Channel. Channel) may include at least one or more.

도 7에 도시된 바와 같이, 적합성 시험 단위 및 테스트케이스를 생성 및 편집하는 단계(S200)에서 테스트케이스에는 복수 개의 서비스가 포함될 수 있으며, 각각의 서비스는 출력제어부(140)으로부터 출력되는 GUI 화면상에 블록으로 표시될 수 있다. 이때, 블록으로 표시되는 서비스는 서비스 블록(Service Block)이라 할 수 있다. 즉 서비스 블록에는 테스트케이스의 전체동작을 분할한 개별 동작들이 각각 설정될 수 있다.As shown in FIG. 7 , in the step S200 of creating and editing the conformance test unit and test case, the test case may include a plurality of services, and each service is displayed on the GUI screen output from the output control unit 140 . can be displayed as blocks in In this case, the service represented by the block may be referred to as a service block. That is, individual actions obtained by dividing the entire operation of the test case may be set in the service block.

테스트케이스 생성부(110)는 테스트케이스 개발자의 서비스 블록 선택에 대응하여 해당되는 파라미터의 설정을 입력받고 서비스 별 설정내역을 저장하거나 로드(load)할 수 있다.The test case generating unit 110 may receive a setting of a corresponding parameter in response to the test case developer's selection of a service block, and store or load setting details for each service.

이때, 적합성 시험 단위 및 테스트케이스를 생성 및 편집하는 단계(S200)에서 테스트케이스 생성부(110)는 테스트케이스 개발자의 입력에 따라 서비스 블록들을 각각 기설정된 위치에 배치하고, 배치된 서비스 블록들을 테스트케이스의 전체동작의 순서에 따라 순차적으로 연결할 수 있다.At this time, in the step of generating and editing the conformance test unit and test case ( S200 ), the test case generating unit 110 arranges service blocks at predetermined positions according to the input of the test case developer, respectively, and tests the arranged service blocks. It can be connected sequentially according to the order of the entire operation of the case.

나아가, 테스트케이스 생성부(110)는 테스트케이스의 전체동작 중 특정동작구간이 기설정된 횟수만큼 반복되는 경우 특정동작구간의 시작과 끝에 각각 위치한 서비스 블록들을 루프(Loop)형태로 연결할 수 있으며, 테스트케이스의 전체동작 중 특정한 개별동작이 기설정된 횟수만큼 반복되는 경우 개별동작을 수행하는 서비스 블록에 자가 루프(Self Loop)를 설정할 수 있다.Furthermore, the test case generating unit 110 may connect service blocks located at the beginning and the end of the specific operation section, respectively, in a loop form, when a specific operation section is repeated a predetermined number of times among the entire operation of the test case. When a specific individual operation is repeated a preset number of times among all operations, a self-loop may be set in the service block performing the individual operation.

여기서 배치된 서비스 블록들은 화살표로 연결될 수 있으며 이러한 화살표에 따라 호출 순서가 설정될 수 있다.Service blocks arranged here may be connected by arrows, and a call order may be set according to these arrows.

즉, 화살표는 직선형태일 수도 있으며 루프(Loop) 형태일 수도 있다. 화살표가 루프 형태인 경우 루프 형태의 화살표로 연결된 두 개의 서비스 블록 사이의 복수 개의 서비스 블록들은 반복해서 호출될 수 있으며, 화살표가 자가 루프(Self Loop)형태인 경우 해당되는 서비스 블록의 하나의 서비스가 반복해서 호출될 수 있다. 이 경우, 복수 개의 서비스 또는 하나의 서비스가 반복되어 호출되는 횟수는 미리 설정될 수 있다.That is, the arrow may have a straight line shape or a loop shape. When the arrow is in the form of a loop, a plurality of service blocks between two service blocks connected by the arrow in the form of a loop can be called repeatedly. It can be called repeatedly. In this case, the number of times a plurality of services or one service is repeatedly called may be preset.

이때, 테스트케이스 개발자는 테스트케이스를 선택한 뒤, 'Open Test Case 탭'을 선택하여 구성 화면(Document View)에서 테스트케이스 설정 내역을 조회할 수 있다.At this time, the test case developer can select the test case and then select the 'Open Test Case tab' to inquire the test case setting details on the configuration screen (Document View).

도 8에 도시된 바와 같이, 적합성 시험 단위 및 테스트케이스를 생성 및 편집하는 단계(S200)에서 테스트케이스 생성부(110)는 두 개의 개별동작 사이에 대기시간이 필요한 경우, 연결된 두 개의 서비스 블록 사이에 대기시간 블록을 설정할 수 있으며, 이때 대기시간 블록은 테스트케이스에 포함되는 서비스 블록들을 연결하는 화살표에 추가될 수 있다. 이때, 대기시간은 초 단위일 수 있다.As shown in FIG. 8 , in the step ( S200 ) of creating and editing the conformance test unit and test case, the test case generating unit 110 determines between two connected service blocks when a waiting time is required between two individual operations. A waiting time block can be set in . At this time, the waiting time block can be added to the arrow connecting service blocks included in the test case. In this case, the waiting time may be in seconds.

예컨대 도 8에서, 'Read1'서비스 블록은 자가 루프 형태의 화살표를 포함하고 있으며, 대기시간 블록의 대기시간은 10초로 설정되었음을 알 수 있다.For example, in FIG. 8 , it can be seen that the 'Read1' service block includes an arrow in the form of a self-loop, and the waiting time of the waiting time block is set to 10 seconds.

이때, 테스트케이스 개발자는 'Open Test Case 탭'을 선택하여 구성 화면(Document View)에서 테스트케이스 설정 내역을 조회할 수 있다. 그 뒤, 'Service Block 탭'에서 서비스 블록을 선택하여 구성 화면(Document View)에서 대기 시간 블록과 연결하여 대기시간을 설정할 수 있다.At this time, the test case developer can select the 'Open Test Case tab' to inquire the test case setting details on the configuration screen (Document View). After that, you can set the waiting time by selecting the service block in the 'Service Block tab' and connecting it with the waiting time block in the configuration screen (Document View).

도 9에 도시된 바와 같이, 적합성 시험 단위 및 테스트케이스를 생성 및 편집하는 단계(S200)에서 테스트케이스 개발자는 출력제어부(140)가 GUI를 기반으로 출력하는 화면을 통해 OPC UA 서버와의 연결 정보를 설정할 수 있다.As shown in FIG. 9, in the step (S200) of creating and editing the conformance test unit and test case, the test case developer provides connection information with the OPC UA server through the screen output by the output control unit 140 based on the GUI. can be set.

이때, 서비스 블록(Service Block)이 공통으로 사용하는 파라미터의 경우 'Common Configuration 창'에서 입력받을 수 있으며 서비스 블록의 파라미터를 설정할 때 'Common Configuration 창'에 설정되어 있는 것은 기본값으로 설정될 수 있다.In this case, parameters commonly used by the service block may be input from the 'Common Configuration window', and when setting the parameters of the service block, those set in the 'Common Configuration window' may be set as default values.

한편, 전력설비들이 OPC UA 규격에 적합하게 구현되었는지 검증하는 단계(S400)이후에 출력제어부(140)를 통해 출력되는 GUI 기반의 화면에는 적합성 시험부(130)가 CTT 프로그램을 이용하여 테스트케이스를 실행한 후 생성한 결과 파일이 출력될 수 있다.On the other hand, on the GUI-based screen output through the output control unit 140 after the step (S400) of verifying whether the power facilities are implemented appropriately to the OPC UA standard, the conformance test unit 130 uses the CTT program to test case After execution, the generated result file can be output.

이때, 적합성 시험자는 'Test Result 탭'을 선택하여 CTT 프로그램에서 테스트한 결과파일을 불러올 수 있으며, 이때, 'Test Result 탭'의 테이블에는 테스트 결과파일이 추가될 수 있다.At this time, the conformance tester may select the 'Test Result tab' to call the test result file in the CTT program, and at this time, the test result file may be added to the table of the 'Test Result tab'.

나아가, 전력설비들이 OPC UA 규격에 적합하게 구현되었는지 검증하는 단계(S400)이후에 출력제어부(140)를 통해 출력되는 GUI 기반의 화면에는 적합성 시험부(130)가 CTT 프로그램을 이용하여 적합성 시험 단위(Conformance Unit) 별로 수행한 적합성 시험 검증 결과가 종합되어 GUI 기반으로 출력될 수 있다.Furthermore, in the GUI-based screen output through the output control unit 140 after the step (S400) of verifying whether the power facilities are implemented in conformity with the OPC UA standard, the conformance test unit 130 uses a CTT program to perform a conformance test unit. The results of the conformance test and verification performed for each (Conformance Unit) can be synthesized and output based on GUI.

이때, 적합성 시험자는 'Test Result 탭'을 선택하여 CTT 프로그램에서 테스트한 결과파일을 불러올 수 있으며, 이때 'Test Result 탭'의 테이블에는 테스트 결과파일이 추가될 수 있다. 나아가 'Test Result 탭'의 테이블에서 테스트 결과가 선택된 경우 구성 화면(Document View)에서 xml 결과 파일을 분석하여 성공 또는 실패 결과보고서가 생성될 수 있으며, 테스트 결과 내에 있는 모든 서버에 대한 종합적인 결과를 조회하는 화면이 제공될 수 있다.At this time, the conformance tester can select the 'Test Result tab' to call the test result file in the CTT program, and at this time, the test result file may be added to the table of the 'Test Result tab'. Furthermore, when a test result is selected from the table in the 'Test Result tab', a success or failure result report can be generated by analyzing the xml result file on the configuration screen (Document View), and comprehensive results for all servers in the test result can be generated. A screen to inquire may be provided.

상술한 OPC UA 규격 적합성 검증 방법은 기록매체에 저장되어 OPC UA 규격 적합성 검증 프로그램으로 활용될 수 있다.The above-described OPC UA standard conformity verification method may be stored in a recording medium and utilized as an OPC UA standard conformity verification program.

이때, 기록매체는 CD-ROM, DVD, 블루레이, 하드디스크, SSD, USB를 포함하며 통상의 기술자가 프로그램을 저장하기 위하여 이용할 수 있는 모든 기록매체를 포함할 수 있고, OPC UA 규격 적합성 검증 프로그램은 C++, JAVA, 비주얼베이직, C언어, html을 포함하는 통상의 기술자가 용이하게 이용할 수 있는 프로그래밍용 언어를 통해 구현된 프로그램일 수 있다.At this time, the recording medium includes CD-ROM, DVD, Blu-ray, hard disk, SSD, USB, and may include any recording medium that a person skilled in the art can use to store the program, and the OPC UA standard conformity verification program may be a program implemented through a programming language that can be easily used by those skilled in the art, including C++, JAVA, Visual Basic, C language, and html.

이상에서 본 발명에 따른 바람직한 실시예에 대해 설명하였으나, 다양한 형태로 변형이 가능하며, 본 기술분야에서 통상의 지식을 가진 자라면 본 발명의 특허청구범위를 벗어남이 없이 다양한 변형예 및 수정예를 실시할 수 있을 것으로 이해된다.Although the preferred embodiment according to the present invention has been described above, it can be modified in various forms, and those of ordinary skill in the art can make various modifications and modifications without departing from the claims of the present invention. It is understood that it can be implemented.

10: CTT 프로그램 실행 장치 100: OPC UA 규격 적합성 검증 장치
110: 테스트케이스 생성부 120: 테스트케이스 변환부
130: 적합성 시험부 140: 출력제어부
10: CTT program execution device 100: OPC UA standard conformity verification device
110: test case generation unit 120: test case conversion unit
130: conformance test unit 140: output control unit

Claims (1)

GUI(Graphic User Interface)를 기반으로 하여 테스트케이스(Test case) 및 적어도 한 개 이상의 상기 테스트 케이스를 포함하는 적합성 시험 단위(Conformance Unit) 개발화면을 출력하는 출력제어부;
상기 테스트케이스 및 상기 적합성 시험 단위 각각의 파라미터(Parameter)를 설정한 뒤, 상기 테스트케이스 및 상기 적합성 시험 단위를 생성하고 편집하는 테스트케이스 생성부;
상기 테스트케이스를 포함하는 상기 적합성 시험단위 전체를 프로그래밍 언어로 변환하거나 상기 테스트 케이스만을 프로그래밍 언어로 변환하는 테스트케이스 변환부; 및
상기 프로그래밍 언어로 변환된 상기 적합성 시험 단위 및 상기 테스트케이스를 CTT 프로그램에 입력하여, 전력설비들이 OPC UA 규격에 적합하게 구현되었는지 검증하는 적합성 시험부를 포함하되,
상기 CTT 프로그램은 상기 적합성 시험부에 내장되어 있거나, 상기 적합성 시험부와 전기적으로 연결되어 있는 또 다른 장치에 포함되거나, 상기 적합성 시험부로부터 온라인 상으로 전송받는 것을 특징으로 하는,
OPC UA 규격 적합성 검증 장치.
an output control unit for outputting a test case and a conformance unit development screen including at least one or more of the test cases based on a GUI (Graphic User Interface);
a test case generation unit that sets parameters of each of the test case and the conformance test unit, and then creates and edits the test case and the conformance test unit;
a test case conversion unit that converts the entire conformance test unit including the test case into a programming language or converts only the test case into a programming language; and
Comprising a conformance test unit that inputs the conformity test unit and the test case converted into the programming language into a CTT program, and verifies whether the power facilities are implemented in conformity with the OPC UA standard,
The CTT program is embedded in the conformance test unit, is included in another device electrically connected to the conformance test unit, or is transmitted online from the conformity test unit, characterized in that
OPC UA standard conformance verification device.
KR1020210125809A 2015-06-11 2021-09-23 Apparatus, method and program for opc ua specification compliance verification KR20210118795A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210125809A KR20210118795A (en) 2015-06-11 2021-09-23 Apparatus, method and program for opc ua specification compliance verification

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150082704A KR102307895B1 (en) 2015-06-11 2015-06-11 Apparatus, method and program for opc ua specification compliance verification
KR1020210125809A KR20210118795A (en) 2015-06-11 2021-09-23 Apparatus, method and program for opc ua specification compliance verification

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020150082704A Division KR102307895B1 (en) 2015-06-11 2015-06-11 Apparatus, method and program for opc ua specification compliance verification

Publications (1)

Publication Number Publication Date
KR20210118795A true KR20210118795A (en) 2021-10-01

Family

ID=57735066

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020150082704A KR102307895B1 (en) 2015-06-11 2015-06-11 Apparatus, method and program for opc ua specification compliance verification
KR1020210125809A KR20210118795A (en) 2015-06-11 2021-09-23 Apparatus, method and program for opc ua specification compliance verification

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020150082704A KR102307895B1 (en) 2015-06-11 2015-06-11 Apparatus, method and program for opc ua specification compliance verification

Country Status (1)

Country Link
KR (2) KR102307895B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527645B (en) * 2020-12-14 2023-05-30 机械工业仪器仪表综合技术经济研究所 OPC-UA consistency automatic test method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140037342A (en) 2012-09-17 2014-03-27 한국전자통신연구원 Apparatus for testing web service and method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100504834B1 (en) * 2002-12-30 2005-07-29 한국정보보호진흥원 A Conformance Testing System for Secure Multi-purpose Internet Mail Extensions and the Testing Method thereof
KR20040030005A (en) * 2004-02-11 2004-04-08 (주)한국지식웨어 The method and implementation of conformance testing and interoperability testing tools for ebXML message
KR101117541B1 (en) * 2010-05-10 2012-03-07 국방과학연구소 Method for automated interoperability test for messages based weapon system, and system using the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140037342A (en) 2012-09-17 2014-03-27 한국전자통신연구원 Apparatus for testing web service and method thereof

Also Published As

Publication number Publication date
KR20160146085A (en) 2016-12-21
KR102307895B1 (en) 2021-10-05

Similar Documents

Publication Publication Date Title
US8433953B1 (en) Automatic configuration of a test environment
US9846638B2 (en) Exposing method related data calls during testing in an event driven, multichannel architecture
CN103365770B (en) Mobile terminal software test macro and method for testing software
US8356282B1 (en) Integrated development environment for the development of electronic signal testing strategies
CN103559112B (en) A kind of software fault injection method and system
US20100153780A1 (en) Techniques for generating a reusable test script for a multiple user performance test
CN108959068A (en) Software interface testing method, device and storage medium
US9461871B2 (en) Client suitability test apparatus and method for a substation automating system
US20100153087A1 (en) Techniques for generating a reusable test script for a single user performance test
US8745727B2 (en) Graphical user interface tester
CN107562637B (en) Method, device, system and storage medium for software testing
CN109977012B (en) Joint debugging test method, device, equipment and computer readable storage medium of system
CN106093897B (en) A kind of the test system and test method of radar system
WO2021068692A1 (en) Method, apparatus and device for workflow migration, and computer-readable storage medium
US7272753B2 (en) Methods and apparatus for translating application tests for execution with simulation software tools
CN108897695A (en) A kind of the interconnection test method and system of demand side apparatus
KR20210118795A (en) Apparatus, method and program for opc ua specification compliance verification
CN114328250A (en) Automatic self-checking method, medium and device for software system
CN111901155B (en) Internet of things debugging method, device and system and storage medium
CN110837467A (en) Software testing method, device and system
US9298428B2 (en) Graphical user interface editor that displays live data during editing
KR20130125491A (en) System and method using realtime simulator and programmed system switching for the validation of large-scaled dcs
WO2024001594A1 (en) Operator development method and apparatus, operator processing method and apparatus, and electronic device, system and storage medium
CN112035360A (en) Middleware testing method and device, computer equipment and readable storage medium
CN109669868A (en) The method and system of software test

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E601 Decision to refuse application