KR20190094779A - Plc 명령어 컴파일러 테스트케이스 자동 생성 장치 - Google Patents

Plc 명령어 컴파일러 테스트케이스 자동 생성 장치 Download PDF

Info

Publication number
KR20190094779A
KR20190094779A KR1020180014331A KR20180014331A KR20190094779A KR 20190094779 A KR20190094779 A KR 20190094779A KR 1020180014331 A KR1020180014331 A KR 1020180014331A KR 20180014331 A KR20180014331 A KR 20180014331A KR 20190094779 A KR20190094779 A KR 20190094779A
Authority
KR
South Korea
Prior art keywords
plc
command
instruction
parameter information
test case
Prior art date
Application number
KR1020180014331A
Other languages
English (en)
Inventor
이승환
Original Assignee
엘에스산전 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘에스산전 주식회사 filed Critical 엘에스산전 주식회사
Priority to KR1020180014331A priority Critical patent/KR20190094779A/ko
Publication of KR20190094779A publication Critical patent/KR20190094779A/ko

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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • 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/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13028Convert plc type program in pc type program for running in pc environment

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

본 발명은 PC 프로그램을 이용해 PLC 컴파일러 검증에 사용되는 명령어 오퍼랜드 처리에 따른 테스트케이스를 자동으로 생성하여 테스터케이스의 생성시간을 단축하기 위한 장치에 관한 것이다. 본 발명의 PLC 명령어 컴파일러 테스트케이스 자동 생성 장치는, 검증 대상인 PLC 명령어 및 명령어 오퍼랜드의 파라미터 정보가 입력되는 인터페이스부, 상기 입력되는 상기 PLC 명령어 및 상기 명령어 오퍼랜드의 파라미터 정보를 검증 데이터 DB에 미리 저장되어 있는 PLC 검증 명령어의 검증 파라미터 정보와 비교하여 유효성을 검증하는 파라미터 검사부, 상기 유효성 검증이 확인된 상기 PLC 명령어 및 상기 명령어 오퍼랜드의 파라미터 정보를 조합하여 다수의 테스트케이스를 자동으로 생성하는 테스트케이스 생성부, 및 상기 생성된 다수의 테스트케이스를 포함하는 프로젝트 파일을 생성하는 프로젝트 파일 생성부를 포함한다.

Description

PLC 명령어 컴파일러 테스트케이스 자동 생성 장치{Automatically Generate Device for PLC Instruction Compiler Test-Case}
본 발명은 PLC 시스템에서 실행되는 PLC 명령어 컴파일러 검증에 관한 것으로, 구체적으로, PLC 컴파일러의 다양한 기능 중 명령어 오퍼랜드 처리 기능에 특화된 테스트케이스 자동 생성 장치에 관한 것이다.
산업 현장의 자동화 설비는 릴레이 등을 이용한 기계적인 장비로 구성된다. 기계적인 장비로 구성된 자동화 설비를 변경하기 위해서는 설비의 내부 회로 배선을 변경하여야 하는 등 어려움이 있다. 이와 같은 어려움을 극복하기 위하여 PLC(Programmable Logic Controller) 시스템이 이용된다.
PLC는 프로그램 가능한 논리적인 컨트롤러로서, PLC 시스템의 CPU 모듈은 PLC 명령어를 실행하여 다양한 작업을 수행할 수 있다.
PLC에는 기본 유닛인 범용 MPU(Main Processing Unit)가 탑재되어 있으며, 범용 MPU는 사용자가 PADT(Programming And Debugging Tool) 등과 같은 프로그램 편집 도구를 통해 작성한 프로그램을 PLC가 인식할 수 있는 코드로 변환하는 컴파일링 과정을 수행하게 된다. PADT는 프로그램 작성, 편집 및 디버그 기능을 수행하는 소프트웨어이다. PADT는 사용자가 작성한 프로젝트의 명령어를 PLC가 이해할 수 있도록 컴파일 한 뒤 PLC에 다운로드하는 기능을 수행한다.
이러한, PLC 컴파일러는 LD(Ladder Diagram), ST(Structured Text), SFC(Sequential Function Charts) 등과 같은 PLC 언어로 작성된 프로그램을 해석하여 PLC CPU에서 즉시 실행될 수 있는 형태의 프로그램 언어로 바꿔주는 중요한 역할을 담당하고 있다.
따라서, PLC 컴파일러는 PADT를 통해 사용자가 작성한 명령어 역시 컴파일러를 통해 프로그램 언어로 변환되는 과정을 거친다. 이때, PLC 컴파일러는 변환 과정에서 컴파일 오류가 발생한다면, 단일 명령어의 동작 오류는 물론이고, 전체 시스템 동작에 치명적인 영향을 줄 수 있다.
따라서, PLC 컴파일러는 충분한 사전 검증이 매우 중요하다.
도1 은 종래의 명령어 컴파일러 테스트케이스 설계를 위한 흐름도이다.
도1을 참조하여 설명하면, 종래의 명령어 컴파일러 테스트케이스 설계는 먼저, 프로그램 편집 도구(PADT)를 실행한다(S10). 프로그램 편집 도구에는 LD 프로그램을 생성하기 위한 라이브러리가 제공될 수 있다.
따라서, 프로그램 작성자는 프로그램 편집 도구를 이용하여 검증 대상인 PLC 명령어 및 명령어 오퍼랜드를 입력한다(S20). 명령어 오퍼랜드에는 일반적으로 디바이스가 입력되며, 그 용도에 따라 디바이스 종류, 디바이스 타입, 주소 지정방식의 3가지 조건을 각각 조합하여 입력할 수 있다.
디바이스 종류는 PLC에서 제공하는 디바이스 종류로 명령어에 따라 사용 가능한 디바이스가 사전에 정의되어 있다. 디바이스 타입은 각 명령어 오퍼랜드 데이터 타입(사이즈)를 의미한다. 주소 지정방식은 #(간접입력), [Z](인덱스), 상수, 직접 등 4 가지의 주소 지정방식이 있다.
이처럼, PLC 명령어 및 명령어 오퍼랜드가 입력되면, 프로그램 편집 도구는 입력되는 명령어 오퍼랜드에 메모리를 할당한다(S30). 도2 는 명령어 ADD에 따른 오퍼랜드에 메모리가 할당된 테스트케이스를 나타낸 실시예이다. 도2에서 도시하고 있는 것과 같이, 테스트케이스는 명령어, 디바이스 종류, 디바이스 타입, 지정된 주소를 각각 포함한다.
그리고 프로그램 편집 도구는 프로그램 작성자에 의해 모든 검증 대상 명령어가 선택될 때까지 상기 과정(S10~S30)을 반복하여 모든 검증 대상 명령어의 선택이 완료되면(S50), 모든 테스트케이스가 저장된 프로젝트를 생성한다(S60).
이렇게 생성된 프로젝트는 프로그램 편집 도구를 이용하여 PLC 시스템에 다운로드 후 모니터링 기능을 통해 입력 오퍼랜드에 값을 넣고 출력 결과와 기대치를 비교해 판정하는 것으로 컴파일러 검증을 마친다.
이때, 컴파일러 검증은 테스트 케이스 설계에 있어 데이터의 중요성보다 오퍼랜드에 어떤 형태의 디바이스 입력 방식을 사용했는지가 더 중요한 요소로서, 다수의 로직이 필요하다. 다수의 로직이 필요하다는 것은 그만큼 많은 테스트케이스 생성이 필요하다고 할 수 있다.
그러나, PLC 시스템은 검증 대상인 PLC 명령어가 수천 개에 이르는 점을 고려할 때, PLC 명령어를 검증하기 위한 테스트케이스를 설계는 결코 간단한 작업이 아니다. 특히, 테스트케이스 설계는 프로그램 작성자가 수동으로 작성하기 때문에 많은 시간과 노력이 소요되는 문제점이 소요된다. 그리고 수동방식은 입력과정에서 테스트케이스 설계자의 휴먼오류, 즉 테스트케이스 데이터의 중복 및 누락이나 오류가 발생할 가능성이 매우 높아 개선이 필요하다.
본 발명은, 이와 같은 문제를 해결하기 위하여, PC 프로그램을 이용해 PLC 컴파일러 검증에 사용되는 명령어 오퍼랜드 처리에 따른 테스트케이스를 자동으로 생성하여 테스터케이스의 생성시간을 단축하기 위한 장치를 제공하는 것을 목적으로 한다.
본 발명의 다른 목적은 테스터케이스의 수동 설계방식에서 발생할 수 있는 휴먼 오류(테스트케이스의 누락, 중복, 오 입력 등)를 PC 프로그램을 이용한 자동생성 방식을 통해 방지하기 위한 장치를 제공하는데 있다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
이와 같은 목적을 달성하기 위하여, 본 발명의 PLC 명령어 컴파일러 테스트케이스 자동 생성 장치는, 검증 대상인 PLC 명령어 및 명령어 오퍼랜드의 파라미터 정보가 입력되는 인터페이스부, 상기 입력되는 상기 PLC 명령어 및 상기 명령어 오퍼랜드의 파라미터 정보를 검증 데이터 DB에 미리 저장되어 있는 PLC 검증 명령어의 검증 파라미터 정보와 비교하여 유효성을 검증하는 파라미터 검사부, 상기 유효성 검증이 확인된 상기 PLC 명령어 및 상기 명령어 오퍼랜드의 파라미터 정보를 조합하여 다수의 테스트케이스를 자동으로 생성하는 테스트케이스 생성부, 및 상기 생성된 다수의 테스트케이스를 포함하는 프로젝트 파일을 생성하는 프로젝트 파일 생성부를 포함한다.
또한, 상기 인터페이스부는 프로그램 편집 도구의 실행 후, '파라미터 정보 입력 메뉴'가 선택되면, 명령어 테이블의 제공을 통한 명령어 이름을 선택 받기 위에 화면에 표시되는 제1 입력부와, 상기 제1 입력부에 입력되는 명령어 이름에 대응되는 오퍼랜드 개수를 선택 또는 입력 받기 위해 화면에 표시되는 제2 입력부를 포함한다.
또한, 상기 파라미터 검사부는 입력 오류, CPU 기종 별 지원 명령어, 디바이스의 유효성 검사를 포함한다.
또한, 상기 파라미터 정보는 명령어 이름, 오퍼랜드 개수(PLC 핀 개수), 명령어 오퍼랜드(OP) 데이터 타입, 디바이스 종류, 주소 지정방식의 조건을 포함한다.
또한, 상기 오퍼랜드 개수는 PLC 시스템의 핀 개수를 의미하고, 상기 디바이스 타입은 각 명령어 오퍼랜드 데이터 타입(사이즈)를 의미하고, 상기 디바이스 종류는 PLC에서 제공하는 디바이스 종류를 의미하고, 상기 주소 지정방식은 #(간접입력), [Z](인덱스), 상수, 직접을 포함하는 4 가지의 주소 지정방식을 포함한다.
또한, 상기 프로젝트 파일 생성부는 PLC 시스템의 프로그램 편집 도구(PADT)에서 사용할 수 있는 파일 형태를 갖는 프로젝트 파일로 생성한다.
또한, 상기 프로젝트 파일 생성부는 상기 파일 형태를 XML 파일 형태로 생성한다.
또한, 상기 파라미터 DB는 PLC 명령어가 가지고 있는 명령어 이름, 오퍼랜드 개수, 디바이스 타입, 종류, 주소 지정방식의 파라미터 정보가 데이터베이스화되어 저장된다.
또한, 상기 검증 데이터 DB는 미리 검증된 PLC 명령어의 파라미터 정보가 데이터베이스화되어 저장된다.
또한, 상기 미리 검증된 PLC 명령어의 파라미터 정보는 기존 명령어 자동검사에서 검증된 PLC 명령어의 파라미터 정보로서, 디바이스 별 명령어 지원리스트, 오퍼랜드 기본 구성 정보를 포함한다.
전술한 바와 같이, 본 발명의 PLC 명령어 컴파일러 테스트케이스 자동 생성 장치는 다음과 같은 효과가 있다.
첫째, 명령어 오퍼랜드 속성 데이터베이스 구축과 테스트케이스 자동 생성을 통해 테스트케이스 설계 시간을 단출할 수 있다.
둘째, 오퍼랜드에 포함되는 각 파라미터의 유효성 검사 과정을 통해 수동 설계방식에서 발생할 수 있는 휴먼 오류(테스트케이스의 누락, 중복, 오 입력 등)를 사전에 방지할 수 있다.
셋째, 기존 명령어 자동검사 프로그램과의 연계를 통해 테스트케이스 설계 이후의 검사과정까지 자동화가 가능하다.
상술한 효과와 더불어 본 발명의 구체적인 효과는 이하 발명을 실시하기 위한 구체적인 사항을 설명하면서 함께 기술한다.
도1 은 종래의 명령어 컴파일러 테스트케이스 설계를 위한 흐름도
도2 는 명령어 ADD에 따른 오퍼랜드에 메모리가 할당된 테스트케이스를 나타낸 실시예
도3 은 본 발명의 실시예에 따른 PLC 명령어 컴파일러 테스트케이스 자동 생성 장치의 구성을 나타낸 블록도
도4 는 도3에서 파라미터 DB에 저장되는 데이터베이스화된 PLC 명령어의 파라미터 정보를 나타낸 실시예
도5 는 본 발명의 실시예에 따른 PLC 명령어 컴파일러 테스트케이스 자동 생성 방법을 설명하기 위한 흐름도
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
이하에서는, 본 발명의 바람직한 실시예에 따른 PLC 명령어 컴파일러 테스트케이스 자동 생성 장치에 관하여 도면을 참조하여 상세하게 설명하도록 한다.
도3 은 본 발명의 실시예에 따른 PLC 명령어 컴파일러 테스트케이스 자동 생성 장치의 구성을 나타낸 블록도이다.
도3에서 도시하고 있는 것과 같이, 본 발명의 PLC 명령어 컴파일러 테스트케이스 자동 생성 장치는 인터페이스부(100), 파라미터 검사부(200), 테스트케이스 생성부(300), 프로젝트 파일 생성부(400), 파라미터 DB(500) 및 검증 데이터 DB(600)를 포함한다.
파라미터 DB(500)는 PLC 명령어가 가지고 있는 명령어 이름, 오퍼랜드 개수, 디바이스 타입, 종류, 주소 지정방식의 파라미터 정보가 데이터베이스화되어 저장된다. 도4 는 도3에서 파라미터 DB에 저장되는 데이터베이스화된 PLC 명령어의 파라미터 정보를 나타낸 실시예이다. 도4에서 도시하고 있는 것과 같이, 파라미터 정보는 명령어 이름((1)-1), 오퍼랜드 개수(PLC 핀 개수)((1)-2), 명령어 오퍼랜드(OP) 데이터 타입((1)-3), 명령어 오퍼랜드에 입력 가능한 디바이스 종류((1)-4)), 그리고 명령어 오퍼랜드에 가능한 주소 지정방식((1)-5)의 각 파라미터를 포함한다. 이때, 디바이스 종류((1)-4))로는 명령어((1)-1)에 따라 이용되는 디바이스 종류가 분류될 수 있으며, 입출력 릴레이(P), 보조 릴레이(M), Keep 릴레이(K), 링크 릴레이(L), 특수 릴레이(R)를 포함한다. 또한, 주소 지정방식((1)-5)은 명령어((1)-1)에 따라 지정되는 주소 지정방식이 분류될 수 있으며, 0xF, 0x3의 주소값으로 지정된다. 참고로, 0xF는 주소값으로 0x0의 상수값을 가지고 있고, 다음 이 순서대로 상수값 0xF까지 주소값을 갖는다. 그러나 이는 하나의 실시예일 뿐 이에 한정되지 않으며, 변경이 가능하다.
검증 데이터 DB(600)는 미리 검증된 PLC 검증 명령어의 검증 파라미터 정보가 데이터베이스화되어 저장된다. 미리 검증된 검증 PLC 명령어의 검증 파라미터 정보는 기존 명령어 자동검사에서 검증된 PLC 명령어의 파라미터 정보로서, 디바이스 별 명령어 지원리스트, 오퍼랜드 기본 구성 정보가 포함된다.
인터페이스부(100)는 파라미터 DB(500)에 저장된 파라미터 정보가 참조되어 검증 대상인 PLC 명령어 및 명령어 오퍼랜드의 파라미터 정보가 입력된다.
파라미터 검사부(200)는 입력되는 검증 대상인 PLC 명령어 및 명령어 오퍼랜드의 파라미터 정보를 검증 데이터 DB(600)에 미리 저장되어 있는 PLC 검증 명령어의 검증 파라미터 정보와 비교하여 유효성을 검증한다. 유효성 검증은 단순 입력 오류 및 CPU 기종 별 지원 명령어 오류 검증을 포함한다. 파라미터 검사부(200)는 인터페이스부(100)를 통해 PLC 명령어 및 명령어 오퍼랜드의 파라미터 정보를 입력할 때 발생하는 단순 텍스트 오류를 확인하는 것뿐만 아니라, CPU 기종 별로 지원되는 명령어, 디바이스의 유효성 검사도 함께 수행할 수 있다.
테스트케이스 생성부(300)는 유효성 검증이 확인된 검증 대상인 PLC 명령어 및 명령어 오퍼랜드의 파라미터 정보를 조합하여 다수의 테스트케이스를 자동으로 생성한다. 파라미터 정보는 그 용도에 따라 명령어 이름, 오퍼랜드 개수(PLC 핀 개수), 명령어 오퍼랜드(OP) 데이터 타입, 디바이스 종류, 그리고 주소 지정방식의 조건을 포함한다.
즉, 기존에는 프로그램 작성자가 종이 형식의 명령어 사용설명서를 참조하거나 개인의 경험으로 직접 PLC 명령어 및 명령어 오퍼랜드의 파라미터 정보를 조합하여 다수의 테스트케이스를 입력하였다. 그러나 본 발명에서는 입력된 파라미터 정보를 이용하여 테스트케이스 생성부(300)에서 자동으로 파라미터 정보의 조건을 그 용도에 따라 조합하여 다수의 테스트케이스를 생성한다.
이때, 오퍼랜드 개수는 PLC 시스템의 핀 개수를 의미한다. 디바이스 타입은 각 명령어 오퍼랜드 데이터 타입(사이즈)을 의미한다. 디바이스 종류는 PLC에서 제공하는 디바이스 종류로 명령어에 따라 사용 가능한 디바이스가 사전에 정의되어 있다. 주소 지정방식은 0xF, 0x3의 주소값으로 그 크기가 지정되며, 또한 지정되는 주소값은 #(간접입력), [Z](인덱스), 상수, 직접 등 4 가지 형태로 지정된다.
프로젝트 파일 생성부(400)는 테스트케이스 생성부(300)에서 생성된 모든 검증 대상 명령에 따른 테스트케이스를 포함하는 프로젝트 파일을 생성한다. 프로젝트 파일 생성부(400)는 PLC 시스템의 프로그램 편집 도구(PADT)에서 사용할 수 있는 파일 형태를 갖는 프로젝트 파일로 생성한다. PLC 시스템의 경우 범용적으로 사용하고 있는 파일 형태가 XML 이므로, 프로젝트 파일 생성부(400)는 프로젝트 파일을 XML 파일 형태로 생성할 수 있다.
이와 같이 구성된 본 발명의 PLC 명령어 컴파일러 테스트케이스 자동 생성 장치에 따른 동작을 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다. 도 3과 동일한 참조부호는 동일한 기능을 수행하는 동일한 부재를 지칭한다.
도5 는 본 발명의 실시예에 따른 PLC 명령어 컴파일러 테스트케이스 자동 생성 방법을 설명하기 위한 흐름도이다.
도5를 참조하여 설명하면, 먼저 프로그램 편집 도구(PADT)를 실행한다(S100). 프로그램 편집 도구에는 LD 프로그램을 생성하기 위한 라이브러리가 제공될 수 있다.
이어서, 프로그램 작성자는 파라미터 DB(500)에 미리 저장된 파라미터 정보를 참조하여 검증 대상인 PLC 명령어 및 명령어 오퍼랜드의 파라미터 정보를 입력한다(S200). 이때, 파라미터 DB(500)는 PLC 명령어가 가지고 있는 명령어 이름, 오퍼랜드 개수, 디바이스 타입, 종류, 주소 지정방식의 파라미터 정보가 데이터베이스화되어 저장된다.
상기 PLC 명령어 및 명령어 오퍼랜드의 파라미터 정보를 입력하는 방법을 설명하면, 예로서, PADT를 실행하면 표시되는 '파라미터 정보 입력 메뉴'를 선택하면, 화면에 명령어 이름을 선택할 수 있는 화면을 제공한다. 그러면, 사용자는 화면에서 제공되는 검증 대상인 명령어 이름을 선택한다. 여기서 명령어 이름은 사용자가 직접 입력할 수도 있고, 여러 가지 명령어 테이블을 제공하여 사용자가 선택할 수도 있다. 이어서, 명령어 이름의 선택이 완료되면 오퍼랜드 개수를 선택할 수 있는 화면을 제공한다. 그러면, 사용자는 화면에서 제공되는 오퍼랜드 개수를 선택한다. 이와 같은 단계로 진행하여 전체 파라미터 정보를 입력할 수 있다.
한편, 상기 PLC 명령어 및 명령어 오퍼랜드의 파라미터 정보를 입력하기 위해 화면에 제공하는 인터페이스는 각 과정이 하나의 화면을 완료하면 다음 단계로 넘어가게 구성될 수 있고, 또한 하나의 화면에서 일괄로 처리할 수 있도록 구성될 수도 있다.
다음으로, 파라미터 검사부(200)를 이용하여, 입력되는 PLC 명령어 및 명령어 오퍼랜드의 파라미터 정보를 검증 데이터 DB(600)에 미리 저장되어 있는 검증된 PLC 검증 명령어의 검증 파라미터 정보와 비교하여 유효성을 검증한다(S300). 이때, 검증 데이터 DB(600)에 저장되는 PLC 검증 명령어의 검증 파라미터 정보는 기존 명령어 자동검사에서 검증된 PLC 명령어의 파라미터 정보로서, 디바이스 별 명령어 지원리스트, 오퍼랜드 기본 구성 정보가 포함된다.
유효성 검증은 단순 입력 오류 및 CPU 기종 별 지원 명령어 오류 검증을 포함한다. 즉, 유효성 검증은 인터페이스부(100)를 통해 PLC 명령어 및 명령어 오퍼랜드의 파라미터 정보를 입력할 때 발생하는 단순 텍스트 오류를 확인하는 것뿐만 아니라, CPU 기종 별로 지원되는 명령어, 디바이스의 유효성 검사도 함께 수행할 수 있다.
유효성 검증이 확인되면(S400), 입력되는 명령어 오퍼랜드에 메모리를 할당하고, 테스트케이스 생성부(300)를 이용하여 검증 대상인 PLC 명령어 및 명령어 오퍼랜드의 파라미터 정보를 조합하여 다수의 테스트케이스를 생성한다(S500). 파라미터 정보는 그 용도에 따라 명령어 이름, 오퍼랜드 개수(PLC 핀 개수), 명령어 오퍼랜드(OP) 데이터 타입, 디바이스 종류, 그리고 주소 지정방식의 조건을 포함한다. 한편, 생성되는 테스트케이스는 파라미터 정보의 모든 조합을 생성하는 것이 바람직하다. 테스트케이스 생성부(300)는 자동화된 테스트케이스 설계 방식으로, 매우 짧은 시간에 다수의 테스트케이스가 생성되므로, 가능한 모든 조합을 시험하는 것이 오류 검출에 효과적일 것이다.
실시예로서, 도4와 같이 PLC 명령어의 파라미터 정보가 데이터베이스화로 구축되어 있을 때, 검증 대상 명령어로 “ADD”를 선택한다고 가정한다. 이때, ADD 명령어((1)-1)는 명령어 오퍼랜드(OP) 데이터 타입((1)-3)이 3개(4,4,4)이고, 디바이스 종류((1)-4))가 5개(P,M,K,L,R), 그리고 주소 지정방식이 0xF, 0x3의 크기로 지정되는 주소값이 #(간접입력), [Z](인덱스), 상수, 직접 등 4가지이다. 따라서, 테스트케이스 생성부(300)는 “ADD” 명령어에서 생성할 수 있는 모든 테스트케이스로, 60가지(3*5*4)의 테스트케이스를 생성할 수 있다.
그리고 모든 검증 대상 명령어가 선택될 때까지 상기 과정(S200~S500)을 반복하고, 모든 검증 대상 명령어의 선택이 완료되면(S600), 프로젝트 파일 생성부(400)를 이용하여 생성된 모든 테스트케이스를 포함하는 프로젝트 파일을 생성한다(S700). 생성되는 프로젝트 파일은 PLC 시스템의 프로그램 편집 도구(PADT)에서 사용할 수 있는 파일 형태로 생성된다. PLC 시스템의 경우 범용적으로 사용하고 있는 파일 형태가 XML 이므로, 프로젝트 파일 생성부(400)는 프로젝트 파일을 XML 파일 형태로 생성할 수 있다. XML 파일은 PC 프로그램을 이용해 편집이 쉽고, 이 역시 기존 명령어 자동검사 프로그램 기능이 있는 XML 해석기를 통해 PLC에 다운로드가 가능하다. 그러나 XML 파일 형태는 일실시예로서 이에 한정되지는 않는다.
전술한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
100: 인터페이스부 200: 파라미터 검사부
300: 테스트케이스 생성부 400: 프로젝트 파일 생성부
500: 파라미터 DB 600: 검증데이터 DB

Claims (10)

  1. 검증 대상인 PLC 명령어 및 명령어 오퍼랜드의 파라미터 정보가 입력되는 인터페이스부;
    상기 입력되는 상기 PLC 명령어 및 상기 명령어 오퍼랜드의 파라미터 정보를 검증 데이터 DB에 미리 저장되어 있는 PLC 검증 명령어의 검증 파라미터 정보와 비교하여 유효성을 검증하는 파라미터 검사부;
    상기 유효성 검증이 확인된 상기 PLC 명령어 및 상기 명령어 오퍼랜드의 파라미터 정보를 조합하여 다수의 테스트케이스를 자동으로 생성하는 테스트케이스 생성부; 및
    상기 생성된 다수의 테스트케이스를 포함하는 프로젝트 파일을 생성하는 프로젝트 파일 생성부를 포함하는
    PLC 명령어 컴파일러 테스트케이스 자동 생성 장치.
  2. 제1 항에 있어서,
    상기 인터페이스부는
    프로그램 편집 도구의 실행 후, '파라미터 정보 입력 메뉴'가 선택되면, 명령어 테이블의 제공을 통한 명령어 이름을 선택 받기 위해 화면에 표시되는 제1 입력부와,
    상기 제1 입력부에 입력되는 명령어 이름에 대응되는 오퍼랜드 개수를 선택 받기 위해 화면에 표시되는 제2 입력부를 포함하는 PLC 명령어 컴파일러 테스트케이스 자동 생성 장치.
  3. 제1 항에 있어서,
    상기 파라미터 검사부는 입력 오류, CPU 기종 별 지원 명령어, 디바이스의 유효성 검사를 포함하는 PLC 명령어 컴파일러 테스트케이스 자동 생성 장치.
  4. 제1 항에 있어서,
    상기 파라미터 정보는 명령어 이름, 오퍼랜드 개수(PLC 핀 개수), 명령어 오퍼랜드(OP) 데이터 타입, 디바이스 종류, 주소 지정방식의 조건을 포함하는 PLC 명령어 컴파일러 테스트케이스 자동 생성 장치.
  5. 제4 항에 있어서,
    상기 오퍼랜드 개수는 PLC 시스템의 핀 개수를 의미하고, 상기 디바이스 타입은 각 명령어 오퍼랜드 데이터 타입(사이즈)를 의미하고, 상기 디바이스 종류는 PLC에서 제공하는 디바이스 종류를 의미하고, 상기 주소 지정방식은 #(간접입력), [Z](인덱스), 상수, 직접을 포함하는 4 가지의 주소 지정방식을 포함하는 PLC 명령어 컴파일러 테스트케이스 자동 생성 장치.
  6. 제 1 항에 있어서,
    상기 프로젝트 파일 생성부는 PLC 시스템의 프로그램 편집 도구(PADT)에서 사용할 수 있는 파일 형태를 갖는 프로젝트 파일로 생성하는 PLC 명령어 컴파일러 테스트케이스 자동 생성 장치.
  7. 제 6 항에 있어서,
    상기 프로젝트 파일 생성부는 상기 파일 형태를 XML 파일 형태로 생성하는 PLC 명령어 컴파일러 테스트케이스 자동 생성 장치.
  8. 제 1 항에 있어서,
    상기 파라미터 DB는 PLC 명령어가 가지고 있는 명령어 이름, 오퍼랜드 개수, 디바이스 타입, 종류, 주소 지정방식의 파라미터 정보가 데이터베이스화되어 저장되는 PLC 명령어 컴파일러 테스트케이스 자동 생성 장치.
  9. 제 1 항에 있어서,
    상기 검증 데이터 DB는 미리 검증된 PLC 명령어의 파라미터 정보가 데이터베이스화되어 저장되는 PLC 명령어 컴파일러 테스트케이스 자동 생성 장치.
  10. 제 9 항에 있어서,
    상기 미리 검증된 PLC 명령어의 파라미터 정보는 기존 명령어 자동검사에서 검증된 PLC 명령어의 파라미터 정보로서, 디바이스 별 명령어 지원리스트, 오퍼랜드 기본 구성 정보를 포함하는 PLC 명령어 컴파일러 테스트케이스 자동 생성 장치.
KR1020180014331A 2018-02-06 2018-02-06 Plc 명령어 컴파일러 테스트케이스 자동 생성 장치 KR20190094779A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180014331A KR20190094779A (ko) 2018-02-06 2018-02-06 Plc 명령어 컴파일러 테스트케이스 자동 생성 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180014331A KR20190094779A (ko) 2018-02-06 2018-02-06 Plc 명령어 컴파일러 테스트케이스 자동 생성 장치

Publications (1)

Publication Number Publication Date
KR20190094779A true KR20190094779A (ko) 2019-08-14

Family

ID=67622066

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180014331A KR20190094779A (ko) 2018-02-06 2018-02-06 Plc 명령어 컴파일러 테스트케이스 자동 생성 장치

Country Status (1)

Country Link
KR (1) KR20190094779A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112650189A (zh) * 2019-10-12 2021-04-13 中电智能科技有限公司 一种嵌入式plc自动化测试系统及方法
CN115687161A (zh) * 2022-12-30 2023-02-03 云筑信息科技(成都)有限公司 基于扫描maven仓库自动生成接口测试用例的方法
CN117112540A (zh) * 2023-10-24 2023-11-24 荣耀终端有限公司 数据库性能测试方法和装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112650189A (zh) * 2019-10-12 2021-04-13 中电智能科技有限公司 一种嵌入式plc自动化测试系统及方法
CN115687161A (zh) * 2022-12-30 2023-02-03 云筑信息科技(成都)有限公司 基于扫描maven仓库自动生成接口测试用例的方法
CN115687161B (zh) * 2022-12-30 2023-06-23 云筑信息科技(成都)有限公司 基于扫描maven仓库自动生成接口测试用例的方法
CN117112540A (zh) * 2023-10-24 2023-11-24 荣耀终端有限公司 数据库性能测试方法和装置

Similar Documents

Publication Publication Date Title
KR100744886B1 (ko) 아사달 : 휘처 기반 소프트웨어 제품라인 개발 환경을제공하는 시스템
CN110008113B (zh) 一种测试方法、装置、电子设备
CN103279418B (zh) 一种组态控制信息的测试方法和装置
US8788239B2 (en) Methods, apparatus and articles of manufacture to test batch configurations
US7895575B2 (en) Apparatus and method for generating test driver
KR101053104B1 (ko) 전산기기 소프트웨어 테스트 방법 및 시스템
KR20190094779A (ko) Plc 명령어 컴파일러 테스트케이스 자동 생성 장치
CN106776334A (zh) 基于注释生成测试用例方法及装置
US20070150249A1 (en) Verification Operation Supporting System and Method of the Same
EP1548581A2 (en) Methods, apparatus and programs for system development
CN114924737A (zh) 一种电池管理系统源代码集成测试方法、测试装置及电子设备
JP6310527B1 (ja) オブジェクト分析装置、オブジェクト分析方法、及びプログラム
JP4488227B2 (ja) 可変性を有する制御部品のデバッグ方法、及びデバッグ支援装置
Jamro et al. Agile and hierarchical round-trip engineering of IEC 61131-3 control software
KR100777103B1 (ko) 테스트 드라이버 생성 장치 및 방법
CN115964045A (zh) 一种跨架构的操作系统快速自动化构建的方法、装置及介质
KR20070049126A (ko) 아사달 : 휘처 기반 소프트웨어 제품라인 개발 환경을제공하는 시스템
JP6483507B2 (ja) 制御プログラム作成装置、及び制御プログラムのデバッグ方法
WO2021024520A1 (ja) 情報処理装置、サポートプログラムおよびサポートシステム
Mukade et al. SPERTS: A Tool for Development of Safety-Critical Systems
US20100287415A1 (en) Method of making an enduring universal tool for developing equipment tests and tool for the implementation thereof
JP4609655B2 (ja) プログラム部品の付属データ生成装置
Wiesmayr et al. Generating Por table Test Cases for IEC 61499 FBs from Interface Behaviour Specifications
Bangare et al. Automated testing in development phase
Krapfenbauer et al. Improving component testing of industrial automation software