KR20240023169A - 작성 지원 방법, 프로그램 및 작성 지원 시스템 - Google Patents

작성 지원 방법, 프로그램 및 작성 지원 시스템 Download PDF

Info

Publication number
KR20240023169A
KR20240023169A KR1020247002459A KR20247002459A KR20240023169A KR 20240023169 A KR20240023169 A KR 20240023169A KR 1020247002459 A KR1020247002459 A KR 1020247002459A KR 20247002459 A KR20247002459 A KR 20247002459A KR 20240023169 A KR20240023169 A KR 20240023169A
Authority
KR
South Korea
Prior art keywords
processing
product inspection
inspection program
execution
program
Prior art date
Application number
KR1020247002459A
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 파나소닉 아이피 매니지먼트 가부시키가이샤
Publication of KR20240023169A publication Critical patent/KR20240023169A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 개시는 제품 검사 프로그램의 신뢰성을 높이는 것을 목적으로 한다. 작성 지원 방법은 제품 검사 프로그램의 작성 지원을 행하는 작성 지원 방법이다. 작성 지원 방법은 판독 처리와, 실행 처리와, 출력 처리를 갖는다. 판독 처리에서는 테스트용 데이터를 판독한다. 실행 처리에서는 테스트용 데이터를 입력으로 하여 제품 검사 프로그램을 실행한다. 출력 처리에서는 실행 처리의 결과를 출력한다. 실행 처리는 제품 검사 프로그램을 실행 도중에 정지하는 정지 처리를 포함한다. 출력 처리는 정지 처리에 의해 제품 검사 프로그램의 처리가 정지하고 있는 시점에서의 실행 처리 결과를 출력하는 것을 포함한다.

Description

작성 지원 방법, 프로그램 및 작성 지원 시스템
본 개시는 일반적으로 작성 지원 방법, 프로그램 및 작성 지원 시스템에 관한 것으로, 보다 상세하게는, 제품 검사 프로그램의 작성을 지원하기 위한 작성 지원 방법, 프로그램 및 작성 지원 시스템에 관한 것이다.
특허문헌 1에 기재된 화상 처리 장치는, 일련의 처리 흐름 중에서 원하는 처리 항목을 복수 선택하여, 선택된 처리 항목에 대응하는 처리 화상을 복수 표시 가능하게 함으로써, NG가 발생했을 때에 처리 단계를 따라 처리 화상을 확인할 수 있다. 이에 따라 문제 발생시의 원인 등의 해명이 용이해진다.
[특허문헌 1] 일본 공개특허공보 제2007-128306호
특허문헌 1에 기재된 화상 처리 장치에서는, 상기한 바와 같이 제품 검사가 행해진다. 그리고, 제품 검사에는 프로그램(제품 검사 프로그램)이 이용된다. 본 개시는, 제품 검사 프로그램의 신뢰성을 높일 수 있는 작성 지원 방법, 프로그램 및 작성 지원 시스템을 제공하는 것을 목적으로 한다.
본 개시의 일 양태에 따른 작성 지원 방법은, 제품 검사 프로그램의 작성 지원을 행하는 작성 지원 방법이다. 상기 작성 지원 방법은, 판독 처리와, 실행 처리와, 출력 처리를 갖는다. 상기 판독 처리에서는, 테스트용 데이터를 판독한다. 상기 실행 처리에서는, 상기 테스트용 데이터를 입력으로 하여 상기 제품 검사 프로그램을 실행한다. 상기 출력 처리에서는, 상기 실행 처리의 결과를 출력한다. 상기 실행 처리는, 상기 제품 검사 프로그램을 실행 도중에 정지하는 정지 처리를 포함한다. 상기 출력 처리는, 상기 정지 처리에 의해 상기 제품 검사 프로그램의 처리가 정지하고 있는 시점에서의 상기 실행 처리의 결과를 출력하는 것을 포함한다.
본 개시의 일 양태에 따른 프로그램은, 상기 작성 지원 방법을, 1 이상의 프로세서에 실행시키기 위한 프로그램이다.
본 개시의 일 양태에 따른 작성 지원 시스템은, 제품 검사 프로그램의 작성 지원을 행하는 작성 지원 시스템이다. 상기 작성 지원 시스템은 판독부와, 실행부와, 출력부를 구비한다. 상기 판독부는 테스트용 데이터를 판독한다. 상기 실행부는, 상기 테스트용 데이터를 입력으로 하여 상기 제품 검사 프로그램을 실행한다. 상기 출력부는 상기 실행부의 처리의 결과를 출력한다. 상기 실행부의 처리는, 상기 제품 검사 프로그램을 실행 도중에 정지하는 정지 처리를 포함한다. 상기 출력부의 처리는, 상기 정지 처리에 의해 상기 제품 검사 프로그램의 처리가 정지하고 있는 시점에서의 상기 실행부의 처리의 결과를 출력하는 것을 포함한다.
도 1은 일 실시형태에 따른 작성 지원 방법에 있어서의 디스플레이의 표시예를 나타내는 설명도이다.
도 2는 상기의 작성 지원 방법에 있어서의 실행 처리를 나타내는 흐름도이다.
도 3은 상기의 작성 지원 방법에 있어서의 디스플레이의 일부의 표시예를 나타내는 설명도이다.
도 4는 상기의 작성 지원 방법을 실현하는 작성 지원 시스템 및 센서 장치의 블록도이다.
도 5는 상기의 작성 지원 방법에 있어서의 디스플레이의 일부의 표시예를 나타내는 설명도이다.
이하, 실시 형태에 따른 작성 지원 방법, 프로그램 및 작성 지원 시스템에 대하여 도면을 이용하여 설명한다. 다만, 하기의 실시 형태는 본 개시의 다양한 실시 형태 중 하나에 불과하다. 하기의 실시 형태는 본 개시의 목적을 달성할 수 있으면, 설계 등에 따라 다양한 변경이 가능하다.
(개요)
본 실시 형태의 작성 지원 방법은 제품 검사 프로그램의 작성 지원을 행하는 방법이다. 보다 상세하게는, 작성 지원 방법은 제품 검사 프로그램의 동작 확인(디버그)을 행하기 위해 실행된다. 제품 검사 프로그램이 실제로 제품의 검사 공정에서 사용되기 전에, 컴퓨터 시스템 상에서 작성 지원 방법에 의해 제품 검사 프로그램의 동작 확인이 이루어진다. 사용자는 동작 확인의 결과를 참조하여 제품 검사 프로그램의 결함을 수정한다.
본 실시 형태의 작성 지원 방법은 판독 처리와, 실행 처리와, 출력 처리를 갖는다.
판독 처리에서는, 테스트용 데이터를 판독한다. 예를 들면, 도 1에 도시한 바와 같이, 테스트용 데이터로서의 제품 화상 Im1을 판독하고, 컴퓨터 시스템의 디스플레이(표시부(14): 도 4 참조)에 표시한다.
실행 처리에서는, 테스트용 데이터를 입력으로 하여 제품 검사 프로그램을 실행한다. 실행 처리는, 제품 검사 프로그램을 실행 도중에 정지하는 정지 처리를 포함한다. 실행 처리는, 예를 들면 도 2의 흐름도에서 나타내는 처리이다. 자세한 것은 후술한다.
출력 처리에서는, 실행 처리의 결과를 출력한다. 출력 처리는, 정지 처리에 의해 제품 검사 프로그램의 처리가 정지하고 있는 시점에서의 실행 처리의 결과를 출력하는 것을 포함한다. 예를 들어, 도 3에 도시한 바와 같이, 제품 검사에 관한 각종 변수의 값이, 실행 처리의 결과를 나타내는 정보로서, 컴퓨터 시스템의 디스플레이(표시부(14): 도 4 참조)에 표시된다. 보다 상세하게는, 제품 검사 프로그램의 처리가 당해 프로그램의 말미에 도달하여 처리가 정지(종료)했을 때 및, 정지 처리에 의해 처리가 정지(중단)했을 때에, 현재의 변수의 값이 표시된다. 변수는, 예를 들어 제품의 형상, 특성, 상태 및 양부(良否)에 관한 값이다. 또한, 변수는, 예를 들어 제품 검사 프로그램의 조건 분기에 관한 플래그이다. 또한, 예를 들어 실행 처리의 과정에서 가공된 제품 화상 Im1이, 실행 처리의 결과를 나타내는 정보로서, 컴퓨터 시스템의 디스플레이(표시부(14): 도 4 참조)에 표시된다.
본 실시 형태의 작성 지원 방법에 의하면, 제품 검사 프로그램의 적부에 관한 분석을 행하기 쉬워진다. 즉, 제품 검사 프로그램의 정지 시에 처리의 결과를 출력함으로써, 제품 검사 프로그램의 불량 유무 및 그 원인을 특정하기 쉬워진다. 이에 따라, 제품 검사 프로그램의 신뢰성을 높일 수 있다.
또한, 본 실시 형태의 작성 지원 방법은, 컴퓨터 시스템의 1 이상의 프로세서에 의해 실행 가능하다. 즉, 일 양태에 따른 프로그램은, 상기 작성 지원 방법을 1 이상의 프로세서에 실행시키기 위한 프로그램이다. 상기 일 양태에 따른 프로그램은, 제품 검사 프로그램의 작성 지원을 행하는 프로그램이다.
또한, 본 실시 형태의 작성 지원 방법은, 작성 지원 시스템(1)(도 4 참조)에 의해 실행 가능하다. 작성 지원 시스템(1)은 제품 검사 프로그램의 작성 지원을 행하는 시스템이다. 도 1에 도시한 바와 같이, 작성 지원 시스템(1)은 판독부(111)와, 실행부(112)와, 출력부(113)를 구비한다. 판독부(111)는 테스트용 데이터를 판독한다. 실행부(112)는 테스트용 데이터를 입력으로 하여 제품 검사 프로그램을 실행한다. 출력부(113)는 실행부(112)의 처리 결과를 출력한다. 실행부(112)의 처리는 제품 검사 프로그램을 실행 도중에 정지하는 정지 처리를 포함한다. 출력부(113)의 처리는 정지 처리에 의해 제품 검사 프로그램의 처리가 정지하고 있는 시점에서의 실행부(112)의 처리 결과를 출력하는 것을 포함한다.
(상세)
(1) 구성
이하, 작성 지원 시스템(1)의 구성에 대하여 보다 상세하게 설명한다. 또한, 본 실시 형태에서는, 제품 검사 프로그램이 검사 대상의 화상에 근거하여 검사 대상을 검사하는 경우를 상정하여 설명한다. 검사 대상은, 공장 등의 설비에서 제조되는 제품이다. 검사 대상의 제품은 특별히 한정되지 않지만, 도 1에서는, 제품 화상 Im1에 찍힌 검사 대상의 제품은, 위에서 보아 U자 형상의 부재이다.
도 4에 도시한 바와 같이, 작성 지원 시스템(1)은 처리부(11)와, 통신부(12)와, 기억부(13)와, 표시부(14)를 구비한다.
작성 지원 시스템(1)은, 1 이상의 프로세서 및 메모리를 갖는 컴퓨터 시스템을 포함하고 있다. 컴퓨터 시스템의 메모리에 기록된 프로그램을, 컴퓨터 시스템의 프로세서가 실행함으로써, 작성 지원 시스템(1)의 적어도 일부의 기능이 실현된다. 프로그램은, 메모리에 기록되어 있어도 좋고, 인터넷 등의 전기 통신 회선을 통하여 제공되어도 좋고, 메모리 카드 등의 비일시적 기록 매체에 기록되어 제공되어도 좋다.
본 실시 형태에서는, 작성 지원 시스템(1)이 퍼스널 컴퓨터에 실장되는 경우를 예로 들어 설명한다. 즉, 작성 지원 시스템(1)을 실현하기 위한 프로그램이 퍼스널 컴퓨터에 제공되고, 이 프로그램을 퍼스널 컴퓨터의 프로세서가 실행한다. 또한, 작성 지원 시스템(1)은 퍼스널 컴퓨터에 한정되지 않고, 태블릿 단말 또는 스마트폰 등의 휴대 단말, 또는 서버 컴퓨터에 실장되어도 좋다.
또한, 후술하는 바와 같이, 사용자는 퍼스널 컴퓨터를 조작하여 제품 검사 프로그램을 작성한다.
처리부(11)는 상술한 1 이상의 프로세서를 포함한다. 처리부(11)는 판독부(111)와, 실행부(112)와, 출력부(113)를 갖는다. 또한, 이들은 처리부(11)를 구성하는 1 이상의 프로세서에 의해 실현되는 기능을 나타내고 있는 것에 지나지 않고, 반드시 실체가 있는 구성을 나타내는 것은 아니다.
작성 지원 방법은, 복수의 모드를 전환하여 실행한다. 본 실시 형태와 같이 작성 지원 방법이 작성 지원 시스템(1)에 의해 실현되는 경우에는, 처리부(11)의 동작 모드가, 복수의 모드 중에서 전환된다. 복수의 모드는, 제품 검사 프로그램을 디버그하는 디버그 모드와, 검사 대상을 검사하기 위해 제품 검사 프로그램을 실행하는 오퍼레이션 모드를 포함한다.
디버그 모드에서는, 판독부(111)는 테스트용 데이터를 판독하고, 실행부(112)는 테스트용 데이터를 입력으로 하여 제품 검사 프로그램을 실행한다. 오퍼레이션 모드에서는, 판독부(111)는 검사 대상의 제품의 데이터를 판독하고, 실행부(112)는 검사 대상의 제품의 데이터를 입력으로 하여 제품 검사 프로그램을 실행한다. 검사 대상의 제품의 데이터는, 구체적으로는 후술하는 센서 장치(2)로부터 출력된 검사 대상의 화상의 전자 데이터이다. 이 전자 데이터는 통신부(12)에서 수신되고, 판독부(111)에서 판독된다.
또한, 테스트용 데이터는 작성 지원 시스템(1)의 기억부(13)에 미리 기억되어 있어도 좋고, 플래시 메모리 등의 비일시적 통신 매체, 또는 네트워크를 통하여 작성 지원 시스템(1)에 제공되어도 좋다. 또한, 센서 장치(2)로부터 출력된 테스트용 제품의 화상의 전자 데이터를 테스트용 데이터로 해도 좋다.
실행부(112)에 의해 제품 검사 프로그램이 실행되고, 출력부(113)는 제품 검사 프로그램의 실행 결과를 출력한다. 오퍼레이션 모드에서는, 실행 결과는 제품 검사 프로그램의 종료 시의 결과가 된다. 디버그 모드에서는, 실행 결과는 제품 검사 프로그램이 실행 도중에 정지한 경우의 결과, 또는 제품 검사 프로그램의 종료 시의 결과가 된다. 출력부(113)는 제품 검사에 관한 각종 변수의 값, 및 제품 화상 Im1을, 실행 결과를 나타내는 정보로서 출력한다. 구체적으로는, 출력부(113)는 실행 결과를 표시부(14)에 표시시킨다.
통신부(12)는, 통신 인터페이스 장치를 포함하고 있다. 통신부(12)는, 통신 인터페이스 장치를 통해, 센서 장치(2)와 통신 가능하다. 본 개시에서 말하는 「통신 가능」이란, 유선 통신 또는 무선 통신의 적절한 통신 방식에 의해, 직접적, 또는 네트워크 또는 중계기 등을 통해 간접적으로, 신호를 수수할 수 있는 것을 의미한다. 본 실시 형태에서는, 통신부(12)는, 라우터 R1을 통해 센서 장치(2)와 통신한다.
기억부(13)는, 작성 지원 시스템(1)에서 이용되는 정보를 기억한다. 기억부(13)는, 예를 들면, 작성 지원 시스템(1)에서 작성된 제품 검사 프로그램을 기억한다. 기억부(13)는, 예를 들면, ROM(Read Only Memory), RAM(Random Access Memory) 또는 EEPROM(Electrically Erasable Programmable Read Only Memory) 등이다.
표시부(14)는, 작성 지원 방법에 관한 표시를 하는 출력 인터페이스이다. 표시부(14)는, 예를 들어 액정 디스플레이, 또는 유기 EL(Electro Luminescence) 디스플레이 등의 표시 장치이다. 도 1은, 표시부(14)에 표시되는 화상의 일례이다. 표시부(14)는, 제품 검사 프로그램의 실행 결과를 표시한다. 또한, 표시부(14)는, 제품 검사 프로그램의 작성 지원 방법을 실행하기 위해 사용자가 행하는 조작을 안내하기 위한 사용자 인터페이스를 표시한다.
작성 지원 시스템(1)은 센서 장치(2)와 함께 이용된다. 센서 장치(2)는, 검사 대상에 관한 물리량을 검출하기 위한 장치이다. 본 실시 형태의 센서 장치(2)는, 검사 대상을 촬상하여, 검사 대상의 화상의 전자 데이터를 생성한다. 즉, 본 실시 형태에서는, 상기 물리량은 검사 대상의 표면의 광량에 상당한다. 센서 장치(2)는 촬상부(21)와, 화상 처리부(22)와, 통신부(23)를 갖는다.
촬상부(21)는 검사 대상을 촬상하고, 검사 대상의 화상의 전자 데이터를 생성한다. 촬상부(21)는, 예를 들어 CCD(Charge Coupled Devices) 이미지 센서, 또는 CMOS(Complementary Metal-Oxide Semiconductor) 이미지 센서 등의 2차원 이미지 센서이다.
화상 처리부(22)는, 촬상부(21)에서 생성된, 검사 대상의 화상의 전자 데이터에 대해 화상 처리를 행한다. 일례로서, 화상 처리부(22)는 데이터 형식의 변환, 및 데이터 압축 등을 행한다.
통신부(23)는 통신 인터페이스 장치를 포함하고 있다. 통신부(23)는 통신 인터페이스 장치를 통해 작성 지원 시스템(1)의 통신부(12)와 통신 가능하다.
(2) 화면 표시
이하, 도 1, 도 3 및 도 5에 대하여 보다 상세하게 설명한다. 사용자는 퍼스널 컴퓨터에 접속한 마우스를 조작하여, 도 1, 도 3 및 도 5에 표시되는 화상의 소정의 위치에 마우스 커서를 맞추어 클릭 조작 등을 행함으로써, 작성 지원 시스템(1)에 작성 지원 방법을 실행시킨다. 도 1에 도시한 바와 같이, 표시부(14)에 표시되는 화상은 윈도우(3∼8)를 포함한다. 또한, 도 1, 도 3 및 도 5는 작성 지원 방법을 실행하기 위한 사용자 인터페이스의 일례로서, 예를 들어 각종 버튼의 배치 및 표기되어 있는 문자 등의 양태는 도 1, 도 3 및 도 5의 양태에 한정되지 않는다.
우선, 도 1을 참조하여 설명한다. 윈도우(3)는 복수(도 1에서는 5개)의 탭(31)을 포함한다. 사용자가 복수의 탭(31) 중 원하는 탭(31)을 조작(클릭)하여 선택함으로써, 대응하는 리본이 전개된다. 사용자가 복수의 탭(31) 중 '디버그'라고 기재된 탭(31)을 조작하여 선택하면, 작성 지원 방법(작성 지원 방법은 제품 검사 프로그램의 디버그를 포함함)을 실행하기 위한 인터페이스(복수의 버튼 등)를 포함하는 리본이 전개된다. 복수의 버튼은 개시/속행 버튼(32), 정지 버튼(33), 스텝인 버튼(34), 스텝오버 버튼(35), 스텝아웃 버튼(36), 브레이크 포인트의 설정/해제 버튼(37) 및 모든 브레이크 포인트의 삭제 버튼(38)을 포함한다.
윈도우(4)는 제품 검사의 설정 순서를 나타내는 표시 윈도우(41)를 포함한다. 예를 들어, 본 실시 형태에서는, 설정 순서는 검사 대상의 촬상, 기준 화상의 판독, 검사, 종합 판정, 결과 출력, 화상 출력과 같은 순서이다. 표시 윈도우(41)에는 각 순서를 나타내는 문자열이 표시된다.
윈도우(5)는 제품 검사 프로그램의 편집 및 브레이크 포인트의 설정 등을 행하기 위한 윈도우이다. 윈도우(5)에는, 제품 검사 프로그램의 적어도 일부를 나타내는 흐름도(51)(도 1에서는 흐름도(51A), 도 5에서는 흐름도(51B))가 표시된다. 환언하면, 제품 검사 프로그램은 흐름도 형식으로 표시된다.
또한, 윈도우(5)는 메인 탭(52)과, 복수의 블록 탭(블록 탭(53, 54) 등)을 포함한다. 사용자가 메인 탭(52)을 조작(클릭)하여 선택하면, 도 1에 도시한 바와 같이, 흐름도(51)로서 메인 루틴이 표시된다. 메인 루틴은 복수의 블록을 조합하여 구성되어 있다. 특히, 도 1에서는, 메인 루틴은 복수의 블록에 더하여 1 이상의 칩을 조합하여 구성되어 있다. 구체적으로는 스텝 S3, S6이 각각 칩이며, 스텝 S1, S2, S4, S5, S7, S8이 각각 블록이다. 또한, 각 블록은 복수의 칩을 포함한다. 후술하는 바와 같이, 제품 검사 프로그램의 디버그 시에, 스텝인에서는 칩을 단위로 하여 처리가 행해지고, 스텝오버에서는 블록을 단위로 하여 처리가 행해진다. 제품 검사 프로그램은 1 이상의 칩과 1 이상의 블록 중 2개 이상을 조합하여 작성된다. 제품 검사 프로그램은 복수의 칩을 조합하여 작성되어도 좋고, 복수의 블록을 조합하여 작성되어도 좋고, 1 이상의 칩과 1 이상의 블록을 조합하여 작성되어도 좋다.
흐름도(51)에 있어서, 각 칩을 나타내는 직사각형 안에 칩의 내용을 설명하는 코멘트 및 칩의 명칭이 표기되어 있다. 또한, 흐름도(51)에 있어서, 각 블록을 나타내는 직사각형 안에 블록의 내용을 설명하는 코멘트 및 블록의 명칭이 표기되어 있다.
복수의 블록 탭(53, 54)은 각각 어느 하나의 블록(스텝 S1, S2, S4, S5, S7 또는 S8)에 대응한다. 도 1에서는 블록 탭(53, 54) 이외의 블록 탭은 생략되어 있다.
사용자가 블록 탭(53)을 조작(클릭)하여 선택하면, 도 5에 도시한 바와 같이, 대응하는 블록의 내용을 나타내는 흐름도(51B)가 표시된다. 특히, 도 5의 흐름도(51B)는 스텝 S1의 블록의 내용을 나타내고 있다. 도 5에서는, 블록(스텝 S1)은 복수의 칩(스텝 S11~S14)을 포함한다.
또한, 윈도우(5)는 편집 버튼(55~57)을 포함한다. 편집 버튼(55~57)은, 사용자가 제품 검사 프로그램을 편집하기 위한 버튼이다.
윈도우(6)는 제품 화상 Im1의 표시 영역을 포함한다. 판독부(111)(도 4 참조)에서 판독된 제품 화상 Im1이 윈도우(6)에 표시된다.
윈도우(7)는, 윈도우(6)에 표시된 제품 화상 Im1에 관한 정보의 표시 영역을 포함한다. 표시 영역에는, 예를 들면, 화상의 사양(모노크롬 화상인지, 컬러 화상인지의 종별, 및 화상 사이즈 등), 및 촬상 설정 등이 표시된다.
윈도우(8)는 복수(도 1에서는 3개)의 탭(81~83)을 포함한다.
'가이드라인'으로 기재된 탭(81)이 조작(클릭)되어 선택되면, 윈도우(8)에는 도움말 정보가 표시된다. 예를 들어, 윈도우(5) 내의 흐름도(51) 중 특정 스텝(예를 들어, 스텝 S1)이 선택되어 있을 때에는, 윈도우(8)에는 당해 특정 스텝의 처리 내용을 설명하는 정보가 표시된다.
'검사 이력'으로 기재된 탭(82)이 조작(클릭)되어 선택되면, 도 1에 도시된 바와 같이 윈도우(8)에는 과거에 제품 검사 프로그램에 의해 검사된 제품 화상이 일람 표시된다. 도 1에서는, 각 제품 화상에는 검사 시각이 라벨로 묶여 표시되어 있다. 사용자가 제품 화상을 선택하면, 선택된 제품 화상에 대응하는 검사 결과가 표시된다. 예를 들어, 제품 화상은 더블 클릭에 의해 선택된다.
「변수」로 기재된 탭(83)이 조작(클릭)하여 선택되면, 도 3에 도시한 바와 같이, 윈도우(8)에는 제품 검사에 관한 각종 변수의 값이 표시된다. 보다 상세하게는, 이때 윈도우(8)는 복수(도 3에서는 5개)의 버튼(831)과, 표시 영역(832)을 포함한다. 표시 영역(832)에는 변수 ID와, 변수명과, 변수에 관한 코멘트와, 변수의 초기값과, 변수의 현재의 값이 표시된다. 복수의 버튼(831)은 표시 영역(832)에 표시되는 내용을 전환하기 위한 버튼이다. 복수의 버튼(831) 중, 편집 버튼(8310)이 눌리면, 표시 영역(832)에 표시되는 내용의 편집이 가능해진다. 이때, 변수의 현재의 값을 사용자가 입력함으로써, 변수의 현재의 값을 변경할 수 있다. 변수의 현재의 값의 변경은, 정지 처리에 의해 제품 검사 프로그램이 정지하고 있을 때에도 행할 수 있다. 즉, 본 실시 형태의 작성 지원 방법은 변경 처리를 더 갖고, 변경 처리는, 정지 처리에 의해 제품 검사 프로그램이 정지하고 있을 때에, 제품 검사 프로그램의 처리에 관한 변수를 변경하는 처리이다. 변수의 현재의 값은, 예를 들어 키 입력에 의해 변경된다.
(3) 디버그
다음에, 작성 지원 방법에 의해 제품 검사 프로그램의 동작 확인(디버그)을 행하는 경우의 처리의 흐름의 일례에 대하여 설명한다.
(3.1) 제품 검사 프로그램의 작성
우선, 사용자는 작성 지원 시스템(1)이 실장된 퍼스널 컴퓨터를 조작하여, 제품 검사 프로그램을 작성한다. 작성 지원 시스템(1)은, 프로그램의 기술 방법에 대한 지식을 갖지 않는 사용자라도 제품 검사 프로그램을 작성할 수 있도록 구성되어 있다. 보다 상세하게는, 사용자는 미리 준비된 복수의 처리(칩 및 블록)를 조합하여 제품 검사 프로그램을 작성한다. 즉, 본 실시 형태의 작성 지원 방법은 미리 준비된 복수의 처리를 조합하여 제품 검사 프로그램을 작성하는 처리를 더 갖는다. 보다 상세하게는, 본 실시 형태의 작성 지원 방법은 미리 준비된 복수의 블록(및 칩)을 조합하여 제품 검사 프로그램을 작성하는 처리를 갖는다. 복수의 블록의 각각은 칩을 복수 포함하고, 칩은 스텝인에 있어서의 처리의 단위이다. 칩은 1 이상의 코드로 이루어진다. 칩을 일반적인 프로그램 코드로 치환한다고 하면, 칩은 1행 이상의 코드에 상당한다. 칩은 1 이상의 서브루틴을 포함하고 있어도 좋다. 예를 들어, 코드가 비교적 짧은 처리는 칩으로서 정의되어 있고, 코드가 비교적 긴 처리는 블록으로서 정의되어 있다.
도 1을 예로 설명하면, 윈도우(5)에 표시된 스텝 S1∼S8의 각각이, 조합 가능한 처리(칩 또는 블록)이다. 사용자가 편집 버튼(55∼57)을 조작(클릭)함으로써, 미리 준비된 복수의 처리(칩 또는 블록)의 일람을 표시할 수 있고, 일람 중에서 처리(칩 또는 블록)를 선택하고, 선택한 처리(칩 또는 블록)를 윈도우(5)에 이동시킴으로써, 처리(칩 또는 블록)를 제품 검사 프로그램에 내장할 수 있다. 또한, 미리 준비된 복수의 처리는 조건 분기 처리를 포함한다. 도 1에서는 스텝 S3이 조건에 따라 흐름을 분기시키는 처리이며, 스텝 S6이 분기된 복수의 흐름을 합류시키는 처리이다.
또한, 스텝 S1은 검사 대상이 찍힌 화상에 있어서, 검사 대상의 위치 조정을 하는 처리이다. 도 5에 도시한 바와 같이, 스텝 S1은 스텝 S11∼S14를 포함한다. 스텝 S11, S12의 처리는 소정 축 방향에 있어서의 검사 대상의 에지의 위치를 계측하는 처리이다. 스텝 S13의 처리는 검사 대상을 회전시켜 위치를 보정하는 처리이다. 스텝 S14는 검사 대상의 화상에 근거하여 소정의 연산을 하는 처리이다.
이하, 미리 준비된 처리(칩 또는 블록)의 그 밖의 예를 열거한다. 이하의 예는 검사 대상의 화상을 가공 또는 분석하는 등에 의해, 검사 대상의 화상에 근거하여 검사 대상을 검사하는 처리의 일례이며, 종래부터 주지의 기술이기 때문에 상세한 설명은 생략한다. 상기 처리는 화상의 노이즈를 제거하는 처리라도 좋다. 상기 처리는 화상에 블러(blur)를 넣는 처리라도 좋다. 상기 처리는 화상을 2치화하는 처리라도 좋다. 상기 처리는 화상의 특징 부분을 강조하는 처리라도 좋다. 상기 처리는 화상의 콘트라스트를 변경하는 처리라도 좋다. 상기 처리는 화상에 있어서의 검사 대상의 유무를 판정하는 처리라도 좋다. 상기 처리는 화상에 있어서의 검사 대상의 개수를 구하는 처리라도 좋다. 상기 처리는 검사 대상의 위치를 구하는 처리라도 좋다. 상기 처리는 검사 대상의 치수를 구하는 처리라도 좋다. 상기 처리는 검사 대상의 색을 판정하는 처리라도 좋다. 상기 처리는 검사 대상의 특징을 추출하는 처리라도 좋다. 상기 처리는 검사 대상의 윤곽선을 구하는 처리라도 좋다. 상기 처리는 검사 대상을 패턴 매칭하는 처리라도 좋다. 상기 처리는 검사 대상의 윤곽선을 패턴 매칭하는 처리라도 좋다. 상기 처리는 검사 대상의 흠집, 버(burr) 또는 결손 등의 특징의 유무를 판정하는 처리라도 좋다.
(3.2) 제품 검사 프로그램 테스트
사용자는, 이상과 같이 제품 검사 프로그램을 작성한 후, 테스트용 데이터를 입력으로 하여 실행부(112)(도 2 참조)에 제품 검사 프로그램을 실행시키고, 디버그한다. 이에 대해, 도 1, 도 2를 참조하여 설명한다. 또한, 도 2에 도시하는 흐름도는, 본 개시에 관한 실행부(112)에 의한 처리의 일례를 나타내고 있는 것에 지나지 않고, 처리의 순서가 적절히 변경되어도 좋고, 처리가 적절히 추가 또는 생략되어도 좋다.
우선, 테스트용 데이터가 판독되고, 윈도우(6)에 표시된다. 또, 윈도우(5)에는 제품 검사 프로그램이 흐름도(51)로서 표시된다. 여기서, 사용자는 윈도우(3)의 '디버그'라고 기재된 탭(31)의 복수의 버튼 등을 조작함으로써 실행부(112)에 제품 검사 프로그램을 실행시킨다. 또, '디버그'라고 기재된 탭(31)이 조작되고, 대응하는 리본이 전개된 상태가 상술한 디버그 모드에 상당한다. '검사'라고 기재된 탭(31)이 조작되고, 대응하는 리본이 전개된 상태가 상술한 오퍼레이션 모드에 상당한다.
(3.2.1) 스텝인
스텝인 버튼(34)이 조작(클릭)되면, 스텝인이 실행된다. 스텝인에서는 칩을 단위로 하여 처리가 행해진다. 즉, 작성 지원 방법에 있어서의 실행 처리는 스텝인을 포함하고, 스텝인에서는 제품 검사 프로그램의 처리를 1칩 실행하면 제품 검사 프로그램의 실행을 정지한다.
스텝인 버튼(34)이 조작되면(처리 P1:입력=Step Into), 제품 검사 프로그램에 있어서의 다음의 처리가 실행되고(처리 P2), 그 후 제품 검사 프로그램의 실행이 정지한다(처리 P3). 예를 들면, 제품 검사 프로그램을 아직 개시하고 있지 않을 때에 스텝인 버튼(34)이 조작되면, 스텝 S1(블록) 내의 처리인 스텝 S11(칩)이 실행되고, 그 후 제품 검사 프로그램의 실행이 정지한다. 또 한번 스텝인 버튼(34)이 조작되면, 스텝 S12가 실행되고, 그 후 제품 검사 프로그램의 실행이 정지한다. 스텝 S14가 실행된 후, 스텝인 버튼(34)이 조작되면, 스텝 S2(블록) 내의 최초의 처리(칩)가 실행된다.
스텝 S8의 최후의 처리가 실행된 경우에는, 이것에 의해 처리가 제품 검사 프로그램의 말미에 도달하므로(처리 P4:Yes), 제품 검사 프로그램의 실행이 종료한다.
(3.2.2) 스텝오버
또한, 스텝오버 버튼(35)이 조작(클릭)되면, 스텝오버가 실행된다. 스텝오버에서는 블록을 단위로 하여 처리가 행해진다. 즉, 작성 지원 방법에서의 실행 처리는 스텝오버를 포함하고, 제품 검사 프로그램의 다음 처리가 블록의 서두의 처리인 상태에서 스텝오버가 실행되면, 블록을 빠져나갈 때까지 처리를 계속 실행하고, 블록은 2단위(즉, 2칩) 이상의 처리를 포함한다.
스텝오버 버튼(35)이 조작되면(처리 P1:입력=Step Over), 제품 검사 프로그램에 있어서의 다음의 처리가 블록의 서두의 처리가 아니면(처리 P5:No), 스텝인 버튼(34)이 조작되었을 때와 동일한 처리를 한다. 즉, 다음 칩의 처리를 실행한다. 제품 검사 프로그램에 있어서의 다음 처리가 블록의 서두의 처리이면(처리 P5:Yes), 블록을 빠져나갈 때까지 처리를 계속 실행한다(처리 P6). 예를 들면, 제품 검사 프로그램을 개시하기 전이면, 다음 처리는 스텝 S1(블록)의 서두의 스텝 S11의 처리이므로, 스텝 S1에 포함되는 스텝 S11∼S14가 계속 실행되고, 그 후 제품 검사 프로그램의 실행이 정지한다(처리 P3). 한번 더 스텝오버 버튼(35)이 조작되면, 스텝 S2에 포함되는 처리가 모두 실행되고, 그 후 제품 검사 프로그램의 실행이 정지한다. 스텝 S8이 실행된 경우는, 이에 의해 처리가 제품 검사 프로그램의 말미에 도달하므로(처리 P4:Yes), 제품 검사 프로그램의 실행이 종료된다.
(3.2.3) 스텝아웃
또한, 스텝아웃 버튼(36)이 조작(클릭)되면, 스텝아웃이 실행된다. 스텝아웃에서는, 블록을 빠져나갈 때까지 처리가 계속 실행된다. 즉, 작성 지원 방법에서의 실행 처리는, 블록의 실행 중에, 블록을 빠져나갈 때까지 처리를 계속 실행하는 스텝아웃을 포함하고, 블록은 제품 검사 프로그램의 2단위(즉, 2칩) 이상의 처리를 포함한다.
스텝아웃 버튼(36)이 조작되면(처리 P1:입력=Step Out), 제품 검사 프로그램에 있어서의 직전의 처리가 블록 내의 처리가 아니면(처리 P7:No), 스텝인 버튼(34)이 조작되었을 때와 동일한 처리를 한다. 즉, 다음 칩의 처리를 실행한다. 제품 검사 프로그램에 있어서의 직전의 처리가 블록 내의 처리이면(처리 P7:Yes), 블록을 빠져나갈 때까지 처리를 계속 실행한다(처리 P6). 예를 들면, 직전의 처리가 스텝 S1(블록) 내의 스텝 S11이면, 스텝 S1 중 스텝 S11보다 후의 스텝 S12∼S14가 계속 실행되고, 그 후 제품 검사 프로그램의 실행이 정지한다(처리 P3). 스텝 S8 내에서 스텝아웃이 실행된 경우에는, 이에 의해 처리가 제품 검사 프로그램의 말미에 도달하므로(처리 P4:Yes), 제품 검사 프로그램의 실행이 종료된다.
(3.2.4) 개시/속행
또한, 개시/속행 버튼(32)이 조작(클릭)되면, 제품 검사 프로그램이 종료되거나, 브레이크 포인트에 도달할 때까지, 처리가 계속 실행된다. 예를 들면, 브레이크 포인트가 설정되어 있지 않고, 또한 제품 검사 프로그램을 아직 개시하고 있지 않을 때에 개시/속행 버튼(32)이 조작되면, 스텝 S1∼S3이 실행되고, 스텝 S4 또는 S5가 실행되고, 스텝 S6∼S8이 실행된다. 또한, 제품 검사 프로그램의 처리가 정지하고 있을 때에 개시/속행 버튼(32)이 조작되면, 정지 위치의 후속 처리가 계속 실행된다. 예를 들면, 스텝 S6을 실행하고, 스텝 S7을 실행하기 전에 처리가 정지하고 있는 경우에는, 개시/속행 버튼(32)이 조작되면, 스텝 S7, S8이 실행된다.
(3.2.5) 브레이크 포인트
또한, 제품 검사 프로그램의 비 실행시에는, 브레이크 포인트의 설정 및 해제를 할 수 있다. 보다 상세하게는 브레이크 포인트의 설정/해제 버튼(37)이 조작(클릭)되면, 브레이크 포인트의 설정/해제가 가능한 모드로 전환된다. 이때, 윈도우(5)에 표시된 블록 또는 칩(스텝 S1∼S8, S11∼S14)의 왼쪽 공백이 조작(클릭)되면, 당해 블록 또는 칩에 브레이크 포인트가 설정된다. 브레이크 포인트가 설정된 블록 또는 칩에는 동그라미 표시가 붙여진다. 예를 들어, 도 1에서는, 스텝 S5에 브레이크 포인트가 설정된 것을 나타내는 동그라미 표시가 스텝 S5의 왼쪽 공백에 표시되어 있다. 한번 더 동일한 조작(클릭)이 행해지면, 당해 블록 또는 칩의 브레이크 포인트가 해제된다. 또한, 모든 브레이크 포인트의 삭제 버튼(38)이 조작(클릭)되면, 설정된 모든 브레이크 포인트가 해제된다.
브레이크 포인트가 설정된 상태에서, 개시/속행 버튼(32)이 조작되면, 처리가 브레이크 포인트에서 정지한다. 즉, 작성 지원 방법은 제품 검사 프로그램에 브레이크 포인트를 설정하는 설정 처리를 더 갖고, 실행 처리에서는, 제품 검사 프로그램의 처리가 브레이크 포인트까지 진행되면 처리를 정지한다.
보다 상세하게는, 개시/속행 버튼(32)이 조작되면(처리 P1:입력=Start), 칩 단위로 다음의 처리가 실행된다(처리 P8). 이 처리 직후에 브레이크 포인트가 설정되어 있는 경우는(처리 P9:Yes), 제품 검사 프로그램의 실행이 정지한다(처리 P3). 그렇지 않은 경우는, 제품 검사 프로그램의 처리가 말미에 도달했는지 여부를 판정한다(처리 P10). 말미에 도달하면(처리 P10:Yes), 제품 검사 프로그램의 실행이 종료한다. 말미에 도달하지 않은 경우는(처리 P10:No), 다음의 처리가 더 실행된다(처리 P8). 브레이크 포인트에 도달하거나, 처리가 제품 검사 프로그램의 말미에 도달할 때까지, 처리가 계속 실행된다.
또한, 브레이크 포인트는 메인 루틴의 스텝 S1∼S8뿐만 아니라 블록 내 칩(예를 들어, 스텝 S11∼S14)에도 설정 가능하다.
또한, 도 2에서는 기재를 생략하지만, 스텝아웃에 의해 처리가 계속 실행되고 있을 때, 처리가 브레이크 포인트까지 진행된 경우도 제품 검사 프로그램의 실행이 정지된다.
(3.2.6) 정지
제품 검사 프로그램의 실행 시에, 정지 버튼(33)이 조작(클릭)되면, 제품 검사 프로그램의 처리가 일시적으로 정지한다. 그 후, 처리를 실행하기 위한 복수의 버튼 중 어느 하나가 조작되면, 처리가 재개된다. 처리를 실행하기 위한 복수의 버튼은, 개시/속행 버튼(32), 스텝인 버튼(34), 스텝오버 버튼(35), 및 스텝아웃 버튼(36)을 포함한다.
처리의 정지 시에는, 정지 개소가 강조 표시된다. 예를 들면, 처리의 정지 시에는, 다음에 실행되는 처리의 왼쪽의 공백에, 소정의 아이콘이 표시된다. 혹은, 처리의 정지 시에는, 다음에 실행되는 처리(스텝 S1, S11 등 중의 하나)를 나타내는 직사각형에, 특정 색이 부여된다.
(3.2.7) 정지 시의 표시
제품 검사 프로그램의 처리가 당해 프로그램의 말미에 도달하여 처리가 종료되었을 때 및 정지 처리에 의해 처리가 중단되었을 때에, 도 3에 도시한 바와 같이, 제품 검사에 관한 각종 변수의 값이 표시된다. "정지 처리에 의해 처리가 중단되었을 때"란, 예를 들면, 처리가 브레이크 포인트까지 진행되었을 때, 스텝인에 의해 1칩의 처리가 실행되었을 때, 스텝오버 또는 스텝아웃에 의해 1블록의 처리가 실행되었을 때 및 정지 버튼(33)이 조작되었을 때이다.
변수의 값을 재기입함으로써, 변수의 값에 따라 분기하는 처리(스텝 S3)에 있어서의 분기처를 변경할 수 있다. 따라서, 각 분기처의 프로그램을 디버그할 수 있다.
또한, 제품 검사 프로그램은 입력 화상으로서의 제품 화상 Im1을 가공하는 가공 처리를 포함할 수 있다. 제품 검사 프로그램의 처리가 제품 검사 프로그램의 말미에 도달하여 처리가 종료되었을 때 및 정지 처리에 의해 처리가 중단되었을 때, 윈도우(6)(도 1 참조)에는 그 시점에서의 제품 화상 Im1이 표시된다. 즉, 작성 지원 방법에 있어서의 실행 처리는, 검사 대상의 화상(제품 화상 Im1)을 가공하는 가공 처리를 포함할 수 있다. 출력 처리는 정지 처리에 의해 제품 검사 프로그램의 처리가 정지하고 있는 시점에서의 검사 대상의 화상을 출력하는 것을 포함할 수 있다.
이상에서는 제품 검사 프로그램의 처리가 말미에 도달함으로써 제품 검사 프로그램이 종료하는 것으로 설명하였으나, 물론 말미보다 앞의 위치에, 제품 검사 프로그램을 종료 또는 정지시키는 처리가 편입되어 있어도 좋다. 이 경우의 종료 또는 정지는 정상 종료, 이상 종료, 정상 정지 또는 이상 정지일 수 있지만, 제품 검사 프로그램 자체에 의해 종료 또는 정지하는 것이므로, 본 개시에서 말하는 '정지 처리'에 의한 정지에는 해당하지 않는다.
(4) 제품 검사
도 1의 윈도우(3)의 「검사」라고 기재된 탭(31)이 조작되고, 대응하는 리본이 전개됨으로써, 작성 지원 시스템(1)의 모드는, 검사 대상을 검사하기 위해 제품 검사 프로그램을 실행하는 오퍼레이션 모드로 된다. 「검사」라고 기재된 탭(31)에 대응하는 리본은, 적어도 검사를 개시하기 위한 버튼(개시/속행 버튼(32)과 동일한 기능의 버튼)을 갖는다. 또한, 당해 리본은, 바람직하게는, 검사를 정지하기 위한 버튼(정지 버튼(33)과 동일한 기능의 버튼)을 갖는다.
디버그 모드와 오퍼레이션 모드의 차이는 다음과 같다. 즉, 디버그 모드에서는 제품 검사 프로그램의 브레이크 포인트를 유효하게 한다. 오퍼레이션 모드에서는 제품 검사 프로그램의 브레이크 포인트를 무효로 한다. 즉, 윈도우(5)에서 작성된 제품 검사 프로그램이 오퍼레이션 모드에서 사용될 때에는 브레이크 포인트가 삭제된다.
오퍼레이션 모드에서는, 센서 장치(2)(도 4 참조)의 촬상부(21)에서 생성된 검사 대상의 화상의 전자 데이터(화상 데이터)가, 센서 장치(2)로부터 작성 지원 시스템(1)에 제공된다. 이 화상 데이터를 입력으로 하여, 제품 검사 프로그램이 실행된다.
그런데, 오퍼레이션 모드에서 이용되는 제품 검사 프로그램이 디버그 모드에서 이용되는 제품 검사 프로그램과 완전히 일치하고 있을 필요는 없다. 전자가 후자의 일부 또는 전부를 포함하고 있어도 좋다. 예를 들면, 디버그 모드에서 이용되는 제품 검사 프로그램이 1회분의 검사를 행하는 프로그램인 경우에, 오퍼레이션 모드에서 이용되는 제품 검사 프로그램은 디버그 모드에서 이용되는 제품 검사 프로그램을 반복 실행하는 프로그램이어도 좋다. 또 오퍼레이션 모드에서 이용되는 제품 검사 프로그램은, 디버그 모드에서 이용되는 제품 검사 프로그램과 다른 프로그램의 조합이어도 좋다.
(이점)
이상 설명한 작성 지원 방법, 프로그램 및 작성 지원 시스템(1)에 의하면, 제품 검사 프로그램의 정지 시에, 처리의 결과로서의 변수 및 화상 등을 출력함으로써, 제품 검사 프로그램의 불량 유무 및 그 원인을 특정하기 쉬워진다. 이것에 의해 제품 검사 프로그램의 신뢰성을 높일 수 있다.
또 제품 검사 프로그램에 있어서 처리가 이상이라고 판정되었는지의 여부에 관계없이 처리를 정지시킬 수 있다. 이것에 의해 제품 검사 프로그램의 불량 유무 및 그 원인을 더욱 특정하기 쉬워진다.
또 제품 검사 프로그램은 사용자에 의해 블록(및 칩)을 조합하여 작성된다. 블록은 복수의 칩을 포함한다. 칩 및 블록은 각각 미리 규정된 처리이다. 제품 검사 프로그램의 디버그 시에는, 칩 또는 블록을 단위로 하여 처리가 실행된다. 그 때문에 일반적인 프로그램 코드를 디버그하는 경우와 같이 프로그램 코드를 1행씩 실행하는 경우와 비교하여, 프로그래밍에 익숙하지 않은 사용자라도 용이하게 디버그를 행할 수 있다.
이하, 실시 형태의 변형예를 열거한다. 이하의 변형예는 적절히 조합하여 실현되어도 좋다.
실시 형태에서는 작성 지원 방법을 실현하기 위해 사용자가 행하는 조작의 구체예로서, 클릭 조작 등을 들었지만, 조작은 클릭 조작에 한정되지 않고, 예를 들면, 더블 클릭 조작 또는 드래그 조작 등이어도 좋다. 또한, 조작은 마우스를 사용한 조작에 한정되지 않고, 예를 들면 터치 패널에 대한 터치 조작 등이어도 좋다.
실시 형태에서는, 칩은 제품 검사 프로그램의 처리의 최소 단위이다. 이에 대하여, 칩보다 작은 처리가 존재해도 된다. 또한, 실행 처리는 칩보다 작은 상기 처리를 1개 실행하면 제품 검사 프로그램의 실행을 정지하는 것을 포함하고 있어도 좋다.
출력 처리는, 실행 처리의 결과를 표시부(14)에 시각적으로 표시하는 처리에 한정되지 않는다. 출력 처리는, 실행 처리의 결과를 음성으로서 출력하는 처리여도 좋다. 혹은, 출력 처리는, 실행 처리의 결과를 전자 데이터로서, 기록 매체 또는 작성 지원 시스템(1)의 외부의 장치에 전송하는 처리여도 좋다.
오퍼레이션 모드에 있어서 제품 검사 프로그램의 브레이크 포인트를 무효로 한다는 것은 브레이크 포인트를 삭제하는 것에 한정되지 않는다. 브레이크 포인트를 삭제하는 것 대신에, 처리가 브레이크 포인트까지 진행해도 처리를 정지하지 않도록 해도 좋다.
제품 검사 프로그램은, 검사 대상의 화상에 근거하여 검사 대상을 검사하는 프로그램에 한정되지 않는다. 제품 검사 프로그램은, 예를 들어 검사 대상에 관한 물리량을 검출하는 측위 센서, 초음파 센서 또는 온도 센서 등을 구비하는 센서 장치의 검출 결과에 근거하여, 검사 대상을 검사하는 프로그램이어도 좋다.
실시 형태에서는, 테스트용 데이터가 입력된 후, 제품 검사 프로그램의 디버그는 컴퓨터 시스템 상에서 완결한다. 단, 제품 검사 프로그램의 디버그는 컴퓨터 시스템 상에서 완결되어 있지 않아도 좋다. 예를 들면, 제품 검사 프로그램의 디버그는 컴퓨터 시스템의 외부로부터 더 취득한 정보를 이용하여 이루어져도 좋다. 예를 들면, 환경 상태를 검출하는 센서 장치의 검출 결과를 더 이용하여 제품 검사 프로그램의 디버그가 이루어져도 좋다. 또한, 디버그의 과정에서 제품 검사 프로그램이 실행됨으로써, 컴퓨터 시스템의 외부의 장치가 제어되어도 좋다. 또한, 상기 장치의 동작 상태에 관한 데이터를 더 이용하여 제품 검사 프로그램의 디버그가 이루어져도 좋다. 이것과는 반대로, 상기 장치의 동작 상태에 관한 데이터 등을 미리 정해진 데이터로 치환함으로써, 제품 검사 프로그램의 디버그가 컴퓨터 시스템 상에서 완결되도록 해도 좋다.
본 개시에 있어서의 작성 지원 시스템(1)은 컴퓨터 시스템을 포함하고 있다. 컴퓨터 시스템은 하드웨어로서의 프로세서 및 메모리를 주 구성으로 한다. 컴퓨터 시스템의 메모리에 기록된 프로그램을 프로세서가 실행함으로써, 본 개시에 있어서의 작성 지원 시스템(1)으로서의 기능의 적어도 일부가 실현된다. 프로그램은 컴퓨터 시스템의 메모리에 미리 기록되어도 좋고, 전기 통신 회선을 통하여 제공되어도 좋고, 컴퓨터 시스템에서 판독 가능한 메모리 카드, 광학 디스크, 하드 디스크 드라이브 등의 비 일시적 기록 매체에 기록되어 제공되어도 좋다. 컴퓨터 시스템의 프로세서는 반도체 집적 회로(IC) 또는 대규모 집적 회로(LSI)를 포함하는 1 내지 복수의 전자 회로로 구성된다. 여기서 말하는 IC 또는 LSI 등의 집적 회로는 집적의 정도에 따라 호칭이 다르고, 시스템 LSI, VLSI(Very Large Scale Integration), 또는 ULSI(Ultra Large Scale Integration)라고 불리는 집적 회로를 포함한다. 또한, LSI의 제조 후에 프로그래밍되는 FPGA(Field-Programmable Gate Array), 또는 LSI 내부의 접합 관계의 재구성 혹은 LSI 내부의 회로 구획의 재구성이 가능한 논리 디바이스에 대해서도, 프로세서로서 채용할 수 있다. 복수의 전자 회로는 1개의 칩에 집약되어 있어도 좋고, 복수의 칩에 분산하여 마련되어 있어도 좋다. 복수의 칩은 1개의 장치에 집약되어 있어도 좋고, 복수의 장치에 분산하여 마련되어 있어도 좋다. 여기서 말하는 컴퓨터 시스템은 1 이상의 프로세서 및 1 이상의 메모리를 갖는 마이크로 컨트롤러를 포함한다. 따라서, 마이크로 컨트롤러에 대해서도 반도체 집적 회로 또는 대규모 집적 회로를 포함하는 1 내지 복수의 전자 회로로 구성된다.
또한, 작성 지원 시스템(1)에 있어서의 복수의 기능이, 하나의 장치에 집약되어 있는 것은 작성 지원 시스템(1)에 필수적인 구성이 아니고, 작성 지원 시스템(1)의 구성 요소는 복수의 장치에 분산하여 마련되어 있어도 좋다. 또한, 작성 지원 시스템(1)의 적어도 일부의 기능, 예를 들면 실행부(112)의 일부의 기능이 클라우드(클라우드 컴퓨팅) 등에 의해 실현되어도 좋다.
반대로, 실시 형태에 있어서, 복수의 장치에 분산되어 있는 복수의 기능이, 하나의 장치에 집약되어 있어도 좋다. 예를 들면, 작성 지원 시스템(1)과 센서 장치(2)에 분산되어 있는 복수의 기능이, 하나의 장치에 집약되어 있어도 좋다.
(정리)
이상 설명한 실시 형태 등으로부터, 이하의 양태가 개시되어 있다.
제1 양태에 따른 작성 지원 방법은, 제품 검사 프로그램의 작성 지원을 행하는 작성 지원 방법이다. 작성 지원 방법은 판독 처리와, 실행 처리와, 출력 처리를 갖는다. 판독 처리에서는, 테스트용 데이터를 판독한다. 실행 처리에서는, 테스트용 데이터를 입력으로 하여 제품 검사 프로그램을 실행한다. 출력 처리에서는, 실행 처리의 결과를 출력한다. 실행 처리는, 제품 검사 프로그램을 실행 도중에 정지하는 정지 처리를 포함한다. 출력 처리는, 정지 처리에 의해 제품 검사 프로그램의 처리가 정지하고 있는 시점에서의 실행 처리의 결과를 출력하는 것을 포함한다.
상기 구성에 의하면, 제품 검사 프로그램의 적부에 관한 분석을 행하기 쉬워진다. 즉, 제품 검사 프로그램의 정지 시에 처리의 결과를 출력함으로써, 제품 검사 프로그램의 불량 유무 및 그 원인을 특정하기 쉬워진다. 이에 따라, 제품 검사 프로그램의 신뢰성을 높일 수 있다.
또한, 제2 양태에 따른 작성 지원 방법에서는, 제1 양태에 있어서, 실행 처리는 스텝인을 포함한다. 스텝인에서는, 제품 검사 프로그램의 처리를 처리의 단위인 1칩 실행하면 제품 검사 프로그램의 실행을 정지한다.
상기 구성에 의하면, 처리를 1칩씩 실행할 수 있다.
또, 제3 양태에 따른 작성 지원 방법은, 제2 양태에 있어서, 1 이상의 칩과, 1 이상의 블록 중 2개 이상을 조합하여 제품 검사 프로그램을 작성하는 처리를 더 갖는다. 블록은 칩을 복수 포함한다. 칩은 스텝인에 있어서의 처리의 단위이다.
상기 구성에 의하면, 제품 검사 프로그램을 간단하게 작성하고, 또한 이와 같이 작성된 제품 검사 프로그램의 신뢰성을 높일 수 있다. 또한, 스텝인에서는 칩을 단위로 하여 처리가 실행된다. 그 때문에 프로그래밍에 익숙하지 않은 사용자라도 용이하게 디버그를 행할 수 있다.
또한, 제4 양태에 따른 작성 지원 방법에서는, 제1 내지 제3 양태 중 어느 하나에 있어서, 실행 처리는 스텝오버를 포함한다. 제품 검사 프로그램의 다음 처리가 블록의 서두의 처리인 상태에서 스텝오버가 실행되면, 블록을 빠져나갈 때까지 처리를 계속 실행한다. 블록은 2단위 이상의 처리를 포함한다.
상기 구성에 의하면, 블록의 처리를 일괄하여 실행할 수 있다.
또, 제5 양태에 따른 작성 지원 방법에서는, 제1 내지 제4 양태 중 어느 하나에 있어서, 실행 처리는 스텝아웃을 포함한다. 스텝아웃은, 블록의 실행 중에, 블록을 빠져나갈 때까지 처리를 계속하여 실행한다. 블록은, 제품 검사 프로그램의 2단위 이상의 처리를 포함한다.
상기 구성에 의하면, 블록의 처리를 일괄하여 실행할 수 있다.
또, 제6 양태에 따른 작성 지원 방법은, 제1 내지 제5 양태 중 어느 하나에 있어서, 설정 처리를 더 갖는다. 설정 처리에서는, 제품 검사 프로그램에 브레이크 포인트를 설정한다. 실행 처리에서는, 제품 검사 프로그램의 처리가 브레이크 포인트까지 진행하면, 처리를 정지한다.
상기 구성에 의하면, 브레이크 포인트까지, 처리를 일괄하여 실행할 수 있다.
또, 제7 양태에 따른 작성 지원 방법에서는, 제6 양태에 있어서, 디버그 모드와 오퍼레이션 모드를 포함하는 복수의 모드를 전환하여 실행한다. 디버그 모드에서는, 제품 검사 프로그램을 디버그한다. 오퍼레이션 모드에서는, 검사 대상을 검사하기 위해 제품 검사 프로그램을 실행한다. 디버그 모드에서는, 제품 검사 프로그램의 브레이크 포인트를 유효하게 한다. 오퍼레이션 모드에서는, 제품 검사 프로그램의 브레이크 포인트를 무효로 한다.
상기 구성에 의하면, 제품 검사 프로그램의 디버그와 실제 검사에서의 운용의 양쪽을 행할 수 있다.
또, 제8 양태에 따른 작성 지원 방법은, 제1 내지 제7 양태 중 어느 하나에 있어서, 변경 처리를 더 갖는다. 변경 처리는, 정지 처리에 의해 제품 검사 프로그램이 정지하고 있을 때에, 제품 검사 프로그램의 처리에 관한 변수를 변경하는 처리이다.
상기 구성에 의하면, 제품의 상태(불량 유무 등)를 유사하게 재현하여, 제품 검사 프로그램의 디버그를 행할 수 있다.
또, 제9 양태에 따른 작성 지원 방법에서는, 제1 내지 제8 양태 중 어느 하나에 있어서, 제품 검사 프로그램은, 검사 대상의 화상에 근거하여 검사 대상을 검사한다.
상기 구성에 의하면, 화상에 근거한 검사의 신뢰성을 높일 수 있다.
또, 제10 양태에 따른 작성 지원 방법에서는, 제9 양태에 있어서, 실행 처리는 가공 처리를 포함한다. 가공 처리는, 검사 대상의 화상을 가공하는 처리이다. 출력 처리는, 정지 처리에 의해 제품 검사 프로그램의 처리가 정지하고 있는 시점에서의 검사 대상의 화상을 출력하는 것을 포함한다.
상기 구성에 의하면, 가공 처리로 가공된 화상, 또는 가공되고 있는 도중의 화상을 출력할 수 있다.
또, 제11 양태에 따른 작성 지원 방법에서는, 제1 내지 제10 양태 중 어느 하나에 있어서, 미리 준비된 복수의 처리를 조합하여 제품 검사 프로그램을 작성하는 처리를 더 갖는다.
상기 구성에 의하면, 제품 검사 프로그램을 간단하게 작성하고, 또한, 이와 같이 작성된 제품 검사 프로그램의 신뢰성을 높일 수 있다.
제1 양태 이외의 구성에 대해서는, 작성 지원 방법에 필수적인 구성이 아니라, 적절히 생략 가능하다.
또, 제12 양태에 따른 프로그램은, 제1 내지 제11 양태 중 어느 하나에 관한 작성 지원 방법을, 1 이상의 프로세서에 실행시키기 위한 프로그램이다.
상기 구성에 의하면, 제품 검사 프로그램의 신뢰성을 높일 수 있다.
제13 양태에 따른 작성 지원 시스템(1)은, 제품 검사 프로그램의 작성 지원을 행하는 작성 지원 시스템이다. 작성 지원 시스템(1)은, 판독부(111)와, 실행부(112)와, 출력부(113)를 구비한다. 판독부(111)는 테스트용 데이터를 판독한다. 실행부(112)는 테스트용 데이터를 입력으로 하여 제품 검사 프로그램을 실행한다. 출력부(113)는 실행부(112)의 처리의 결과를 출력한다. 실행부(112)의 처리는, 제품 검사 프로그램을 실행 도중에 정지하는 정지 처리를 포함한다. 출력부(113)의 처리는, 정지 처리에 의해 제품 검사 프로그램의 처리가 정지하고 있는 시점에서의 실행부(112)의 처리의 결과를 출력하는 것을 포함한다.
상기 구성에 의하면, 제품 검사 프로그램의 신뢰성을 높일 수 있다.
상기 양태에 한정되지 않고, 실시 형태에 따른 작성 지원 시스템 (1)의 여러 구성(변형예를 포함한)은 작성 지원 방법, (컴퓨터) 프로그램 또는 프로그램을 기록한 비 일시적 기록 매체에 의해 구현 가능하다.
1 작성 지원 시스템
111 판독부
112 실행부
113 출력부

Claims (13)

  1. 제품 검사 프로그램의 작성 지원을 행하는 작성 지원 방법으로서,
    테스트용 데이터를 판독하는 판독 처리와,
    상기 테스트용 데이터를 입력으로 하여 상기 제품 검사 프로그램을 실행하는 실행 처리와,
    상기 실행 처리의 결과를 출력하는 출력 처리를 갖고,
    상기 실행 처리는 상기 제품 검사 프로그램을 실행 도중에 정지하는 정지 처리를 포함하고,
    상기 출력 처리는 상기 정지 처리에 의해 상기 제품 검사 프로그램의 처리가 정지하고 있는 시점에서의 상기 실행 처리의 결과를 출력하는 것을 포함하는
    작성 지원 방법.
  2. 제1항에 있어서,
    상기 실행 처리는 상기 제품 검사 프로그램의 처리를 처리의 단위인 1칩 실행하면 상기 제품 검사 프로그램의 실행을 정지하는 스텝인을 포함하는
    작성 지원 방법.
  3. 제2항에 있어서,
    하나 이상의 칩과, 하나 이상의 블록 중 2개 이상을 조합하여 상기 제품 검사 프로그램을 작성하는 처리를 더 갖고,
    상기 블록은 상기 칩을 복수 포함하고,
    상기 칩은 상기 스텝인에 있어서의 처리의 단위인
    작성 지원 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 실행 처리는 스텝오버를 포함하고, 상기 제품 검사 프로그램의 다음 처리가 2단위 이상의 처리를 포함하는 블록의 서두의 처리인 상태에서 상기 스텝오버가 실행되면, 상기 블록을 빠져나갈 때까지 처리를 계속하여 실행하는
    작성 지원 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 실행 처리는 상기 제품 검사 프로그램의 2단위 이상의 처리를 포함하는 블록의 실행 중에, 상기 블록을 빠져나갈 때까지 처리를 계속하여 실행하는 스텝아웃을 포함하는
    작성 지원 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 제품 검사 프로그램에 브레이크 포인트를 설정하는 설정 처리를 더 갖고,
    상기 실행 처리에서는, 상기 제품 검사 프로그램의 처리가 상기 브레이크 포인트까지 진행하면, 처리를 정지하는
    작성 지원 방법.
  7. 제6항에 있어서,
    상기 제품 검사 프로그램을 디버그하는 디버그 모드와, 검사 대상을 검사하기 위해 상기 제품 검사 프로그램을 실행하는 오퍼레이션 모드를 포함하는 복수의 모드를 전환하여 실행하고,
    상기 디버그 모드에서는 상기 제품 검사 프로그램의 상기 브레이크 포인트를 유효로 하고,
    상기 오퍼레이션 모드에서는 상기 제품 검사 프로그램의 상기 브레이크 포인트를 무효로 하는
    작성 지원 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 정지 처리에 의해 상기 제품 검사 프로그램이 정지하고 있을 때에, 상기 제품 검사 프로그램의 처리에 관한 변수를 변경하는 변경 처리를 더 갖는
    작성 지원 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 제품 검사 프로그램은 검사 대상의 화상에 근거하여 상기 검사 대상을 검사하는
    작성 지원 방법.
  10. 제9항에 있어서,
    상기 실행 처리는 상기 검사 대상의 상기 화상을 가공하는 가공 처리를 포함하고,
    상기 출력 처리는 상기 정지 처리에 의해 상기 제품 검사 프로그램의 처리가 정지하고 있는 시점에서의 상기 검사 대상의 상기 화상을 출력하는 것을 포함하는
    작성 지원 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    미리 준비된 복수의 처리를 조합하여 상기 제품 검사 프로그램을 작성하는 처리를 더 갖는
    작성 지원 방법.
  12. 청구항 1 내지 청구항 11 중 어느 한 항에 기재된 작성 지원 방법을, 하나 이상의 프로세서에 실행시키기 위한
    프로그램.
  13. 제품 검사 프로그램의 작성 지원을 행하는 작성 지원 시스템으로서,
    테스트용 데이터를 판독하는 판독부와,
    상기 테스트용 데이터를 입력으로 하여 상기 제품 검사 프로그램을 실행하는 실행부와,
    상기 실행부의 처리의 결과를 출력하는 출력부를 구비하고,
    상기 실행부의 처리는 상기 제품 검사 프로그램을 실행 도중에 정지하는 정지 처리를 포함하고,
    상기 출력부의 처리는 상기 정지 처리에 의해 상기 제품 검사 프로그램의 처리가 정지하고 있는 시점에서의 상기 실행부의 처리의 결과를 출력하는 것을 포함하는
    작성 지원 시스템.
KR1020247002459A 2021-09-28 2022-06-28 작성 지원 방법, 프로그램 및 작성 지원 시스템 KR20240023169A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2021-158183 2021-09-28
JP2021158183A JP2023048715A (ja) 2021-09-28 2021-09-28 作成支援方法、プログラム及び作成支援システム
PCT/JP2022/025786 WO2023053641A1 (ja) 2021-09-28 2022-06-28 作成支援方法、プログラム及び作成支援システム

Publications (1)

Publication Number Publication Date
KR20240023169A true KR20240023169A (ko) 2024-02-20

Family

ID=85780101

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247002459A KR20240023169A (ko) 2021-09-28 2022-06-28 작성 지원 방법, 프로그램 및 작성 지원 시스템

Country Status (4)

Country Link
JP (1) JP2023048715A (ko)
KR (1) KR20240023169A (ko)
CN (1) CN117561503A (ko)
WO (1) WO2023053641A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007128306A (ja) 2005-11-04 2007-05-24 Omron Corp 画像処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162664B2 (en) * 2003-06-20 2007-01-09 Microsoft Corporation Debugging breakpoints on pluggable components
JP2017138901A (ja) * 2016-02-05 2017-08-10 パナソニック デバイスSunx株式会社 検査支援装置、検査支援方法及び検査支援プログラム
US10049028B2 (en) * 2016-11-02 2018-08-14 Servicenow, Inc. Debug session management

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007128306A (ja) 2005-11-04 2007-05-24 Omron Corp 画像処理装置

Also Published As

Publication number Publication date
JP2023048715A (ja) 2023-04-07
WO2023053641A1 (ja) 2023-04-06
CN117561503A (zh) 2024-02-13

Similar Documents

Publication Publication Date Title
US8015239B2 (en) Method and system to reduce false positives within an automated software-testing environment
CN107025174B (zh) 用于设备的用户界面异常测试的方法、装置和可读储介质
WO2019144680A1 (zh) 自动化测试方法及装置、存储介质、电子设备
WO2018010552A1 (zh) 测试方法和装置
US8104020B2 (en) Method and system to automate software testing using sniffer side and browser side recording and a toolbar interface
US10146753B2 (en) Visual regression testing tool
US20140189576A1 (en) System and method for visual matching of application screenshots
US20140218385A1 (en) System and method for visual segmentation of application screenshots
US9904517B2 (en) System and method for automatic modeling of an application
CN104391797A (zh) Gui控件的识别方法和装置
CN110851299A (zh) 自动化流程的异常排除方法、装置、设备及存储介质
JP2008293486A (ja) ソースコード解析機器、解析プログラムおよび解析方法
CN111488109A (zh) 用户界面的控件信息的获取方法、装置、终端及存储介质
CN110716853A (zh) 一种测试脚本录制方法、应用程序测试方法和相关装置
JP5074896B2 (ja) 検査支援システム及び画像処理コントローラ
CN111522749A (zh) 页面测试方法、装置、可读存储介质及电子设备
KR101767481B1 (ko) 프로그램 분석 장치 및 프로그램 분석 제공 방법
KR20240023169A (ko) 작성 지원 방법, 프로그램 및 작성 지원 시스템
CN107515821B (zh) 控件测试方法和装置
JP4767309B2 (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム
CN110309499B (zh) 用于生成审查报告的装置及在线生成审查报告的方法
JP2023000907A (ja) ソースコード修正支援装置及びソースコード修正支援方法
CN113326193A (zh) 一种小程序测试方法及装置
CN115437621A (zh) 基于机器人流程自动化的流程编辑方法、装置
CN112380134A (zh) 一种基于图像识别的WebUI自动化测试方法