KR20210118795A - Apparatus, method and program for opc ua specification compliance verification - Google Patents
Apparatus, method and program for opc ua specification compliance verification Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31472—Graphical display of process
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
본 발명은 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).
본 발명의 목적은, 상기 문제점을 해결하기 위한 것으로, 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
도 4에 도시된 바와 같이, OPC UA 규격 적합성 검증 장치는 테스트케이스 생성부(110), 테스트케이스 변환부(120), 적합성 시험부(130) 및 출력제어부(140)를 포함한다.As shown in FIG. 4 , the OPC UA standard conformance verification apparatus includes a test
테스트케이스 생성부(110)는 GUI(Graphic User Interface)를 기반으로 테스트케이스 개발자로부터 해당되는 테스트케이스의 파라미터(Parameter)를 입력받아 테스트케이스를 생성하거나 편집하고, 생성된 테스트케이스를 포함하는 적합성 시험 단위(Conformance Unit)를 생성하거나 편집한다.The test
테스트케이스 변환부(120)는 테스트케이스 생성부(110)에서 GUI를 기반으로 생성된 테스트케이스 및 적합성 시험 단위(Conformance Unit)를 컴퓨터가 이해할 수 있는 프로그래밍 언어로 변환한다. 이때, 변환되는 형식은 자바스크립트(JavaScript)일 수 있으며, 해당되는 파일의 확장자는 xml일 수 있으나, 이외에도 테스트케이스 및 적합성 시험 단위(Conformance Unit)는 컴퓨터가 이해할 수 있는 프로그래밍 언어로 변환될 수 있다.The test
적합성 시험부(130)는 변환된 테스트케이스 및 적합성 시험 단위를 이용하여 CTT 프로그램과 연동하여 OPC UA 기반의 4세대 SCADA 시스템을 이용한 전력설비들이 OPC UA 규격에 적합하게 구현되었는지를 검증한다. 이때, CTT 프로그램은 적합성 시험부(130)에 내장되어 있거나, 적합성 시험부(130)와 전기적으로 연결되어 있는 또 다른 장치에 포함되거나, 변환된 테스트케이스를 적합성 시험부(130)로부터 온라인 상으로 전송받을 수 있다.The
만약, CTT 프로그램이 적합성 시험부(130)에 내장되지 않은 경우라면, 적합성 시험부(130)는 직접 적합성 시험을 실행하는 것이 아니라 변환된 테스트케이스를 CTT 프로그램에 전송하고, 적합성 시험 결과를 수신하는 역할을 할 수 있다.If the CTT program is not built into the
출력제어부(140)는 OPC UA 규격 적합성 검증 장치의 다른 구성들의 동작과 함께 테스트케이스 개발자에게 GUI를 기반으로 하는 적합성 시험 단위(Conformance Unit) 및 테스트케이스 개발화면을 제공할 수 있다. 또한, 출력제어부(140)는 적합성 시험부(130)의 적합성 판정 결과와 관련하여, CTT프로그램에서 제공하는 결과 레포트를 적합성 시험자에게 제공할 수 있으며, 나아가 CTT프로그램에서 제공하는 결과 레포트를 활용하여 보다 상세한 결과를 나타내는 상세 적합성 결과보고서를 적합성 시험자에게 제공할 수 있다.The
도 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
적합성 시험 단위 및 테스트케이스를 생성 및 편집하는 단계(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
적합성 시험 단위 및 테스트케이스 각각을 프로그래밍 언어로 변환하는 단계(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
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
나아가, 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
도 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
더욱 상세하게, 적합성 시험 단위 및 테스트케이스를 생성 및 편집(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
나아가, 테스트케이스 개발자는 이미 생성되어 있는 프로젝트 파일을 선택하여 열수 있으며, 선택된 프로젝트 파일에 포함된 컴플라이언스(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
이때, 테스트케이스 변환부(120)는 테스트케이스에 포함되어 있는 서비스 블록을 검사하여 자바스크립트(JavaScript) 코드를 생성한 뒤, 이를 인코딩 하여 xml의 형식으로 저장할 수 있다.In this case, the test
한편 테스트케이스 변환부(120)는 CTT에서 정의한 UaScriptExport 스키마 규격에 따라 개별 테스트케이스를 xml의 형식으로 저장할 수 있다. 테스트케이스 개발자는 개별 테스트케이스에 대하여 'Export Conformance Unit 메뉴'를 선택한 뒤 저장할 파일명을 입력할 수 있다. 이때, 테스트케이스 변환부(120)는 테스트케이스에 포함되어 있는 서비스 블록을 검사하여 이를 프로그래밍 언어로 변환할 수 있다.Meanwhile, the test
즉, 테스트케이스 변환부(120)는 테스트케이스를 포함하는 적합성 시험 단위(Conformance Unit) 전체를 프로그래밍 언어로 변환하거나 테스트케이스만을 프로그래밍 언어로 변환(S300)할 수 있다.That is, the test
한편, 적합성 시험 단위 및 테스트케이스를 생성 및 편집하는 단계(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
테스트케이스 생성부(110)는 테스트케이스 개발자의 서비스 블록 선택에 대응하여 해당되는 파라미터의 설정을 입력받고 서비스 별 설정내역을 저장하거나 로드(load)할 수 있다.The test
이때, 적합성 시험 단위 및 테스트케이스를 생성 및 편집하는 단계(S200)에서 테스트케이스 생성부(110)는 테스트케이스 개발자의 입력에 따라 서비스 블록들을 각각 기설정된 위치에 배치하고, 배치된 서비스 블록들을 테스트케이스의 전체동작의 순서에 따라 순차적으로 연결할 수 있다.At this time, in the step of generating and editing the conformance test unit and test case ( S200 ), the test
나아가, 테스트케이스 생성부(110)는 테스트케이스의 전체동작 중 특정동작구간이 기설정된 횟수만큼 반복되는 경우 특정동작구간의 시작과 끝에 각각 위치한 서비스 블록들을 루프(Loop)형태로 연결할 수 있으며, 테스트케이스의 전체동작 중 특정한 개별동작이 기설정된 횟수만큼 반복되는 경우 개별동작을 수행하는 서비스 블록에 자가 루프(Self Loop)를 설정할 수 있다.Furthermore, the test
여기서 배치된 서비스 블록들은 화살표로 연결될 수 있으며 이러한 화살표에 따라 호출 순서가 설정될 수 있다.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
예컨대 도 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
이때, 서비스 블록(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
이때, 적합성 시험자는 '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
이때, 적합성 시험자는 '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)
상기 테스트케이스 및 상기 적합성 시험 단위 각각의 파라미터(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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527645B (en) * | 2020-12-14 | 2023-05-30 | 机械工业仪器仪表综合技术经济研究所 | OPC-UA consistency automatic test method |
Citations (1)
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)
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 |
-
2015
- 2015-06-11 KR KR1020150082704A patent/KR102307895B1/en active IP Right Grant
-
2021
- 2021-09-23 KR KR1020210125809A patent/KR20210118795A/en not_active Application Discontinuation
Patent Citations (1)
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 |