KR101010489B1 - 프로그램 실행 시스템을 위한 프로그래밍 시스템 및검사장치용 프로그램 작성 시스템 - Google Patents

프로그램 실행 시스템을 위한 프로그래밍 시스템 및검사장치용 프로그램 작성 시스템 Download PDF

Info

Publication number
KR101010489B1
KR101010489B1 KR1020070003797A KR20070003797A KR101010489B1 KR 101010489 B1 KR101010489 B1 KR 101010489B1 KR 1020070003797 A KR1020070003797 A KR 1020070003797A KR 20070003797 A KR20070003797 A KR 20070003797A KR 101010489 B1 KR101010489 B1 KR 101010489B1
Authority
KR
South Korea
Prior art keywords
program
storage means
coded
file
configuration information
Prior art date
Application number
KR1020070003797A
Other languages
English (en)
Other versions
KR20070023798A (ko
Inventor
사토루 나카이
히데아키 미나미데
유조 이와이
마사시 토미타
후미히코 마에다
Original Assignee
미츠비시덴키 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 미츠비시덴키 가부시키가이샤 filed Critical 미츠비시덴키 가부시키가이샤
Priority to KR1020070003797A priority Critical patent/KR101010489B1/ko
Publication of KR20070023798A publication Critical patent/KR20070023798A/ko
Application granted granted Critical
Publication of KR101010489B1 publication Critical patent/KR101010489B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

과제
개개의 프로그램의 거대화를 회피하고, 분산개발 및 병렬개발을 가능하게 하고, 검사 대상 기종을 효율적이고 또한 용이하게 추가할 수 있는 프로그램 실행 시스템을 얻는다.
해결 수단
프로그램(10a, 10b)을 작성하기 위한 프로그래밍 소프트웨어(9)와, 코드화된 프로그램(10a)을 보존하는 코드 보존 수단(2)과, 프로그램(10b)의 코드화 파일(7b)을 격납하는 축적 수단(6)과, 실행 대상이 되는 프로그램이 전개되는 메모리 영역(3)과, 프로그램을 실행하기 위한 프로그램 실행 수단(4)과, 코드 보존 수단(2), 메모리 영역(3) 및 프로그램 실행 수단(4)을 탑재하는 검사장치(1)를 구비하고, 프로그램 실행 수단(4)은, 프로그램 로드 수단(5)을 포함한다. 프로그램 로드 수단(5)은, 프로그램(10a)의 동작중에, 프로그램(10b)에 대한 호출 명령에 응답하고 축적 수단(6)으로부터 메모리 영역(3)에 프로그램(10b)을 로드한다.
프로그램, 프로그램 실행 시스템

Description

프로그램 실행 시스템을 위한 프로그래밍 시스템 및 검사장치용 프로그램 작성 시스템{PROGRAMMING SYSTEM FOR PROGRAM EXECUTING SYSTEM AND PROGRAM CONSTRUCTING SYSTEM FOR EXAMINATION DEVICE}
도 1은 본 발명의 제 1 실시형태에 관한 프로그램 실행 시스템을 도시한 블록도.
도 2는 본 발명의 제 1 실시형태에 관한 프로그램 실행 시스템을 도시한 블록도.
도 3은 본 발명의 제 1 실시형태에 관한 기종 선택 프로그램을 도식적으로 도시한 설명도.
도 4는 본 발명의 제 1 실시형태에 관한 프로그램 처리 동작을 도시한 플로우 차트.
도 5는 본 발명의 제 2 실시형태에 관한 프로그램 실행 시스템을 도시한 블록도.
도 6은 본 발명의 제 2 실시형태에 관한 프로그램 처리 동작을 도시한 플로우 차트.
도 7은 본 발명의 제 3 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도.
도 8은 본 발명의 제 3 실시형태에 관한 프로그램 처리 동작을 도시한 플로우 차트.
도 9는 본 발명의 제 4 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도.
도 10은 본 발명의 제 4 실시형태에 관한 프로그램 처리 동작을 도시한 플로우 차트.
도 11은 본 발명의 제 5 실시형태에 관한 프로그램 처리 동작을 도시한 플로우 차트.
도 12는 본 발명의 제 6 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도.
도 13은 본 발명의 제 6 실시형태에 관한 프로그램 처리 동작을 도시한 플로우 차트.
도 14는 본 발명의 제 7 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도.
도 15는 본 발명의 제 7 실시형태에 관한 프로그램 처리 동작을 도시한 플로우 차트.
도 16은 본 발명의 제 8 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도.
도 17은 본 발명의 제 8 실시형태에 관한 프로그램 처리 동작을 도시한 플로우 차트.
도 18은 본 발명의 제 9 실시형태에 관한 프로그램 처리 동작을 도시한 플로우 차트.
도 19는 본 발명의 제 10 실시형태에 관한 프로그램 실행 시스템을 도시한 블록도.
도 2O은 본 발명의 제 10 실시형태에 관한 콘피규레이션 정보를 도식적으로 도시한 블록도.
도 21은 본 발명의 제 10 실시형태에 의한 콘피규레이션 정보의 정합성 체크 처리 동작을 도시한 플로우 차트.
도 22는 본 발명의 제 11 실시형태에 의한 콘피규레이션 정보의 정합성 체크 처리 동작을 도시한 플로우 차트.
도 23은 본 발명의 제 12 실시형태에 의한 버전 정보의 정합성 체크 처리 동작을 도시한 플로우 차트.
도 24는 본 발명의 제 13 실시형태에 관한 프로그램 실행 시스템을 도시한 블록도.
도 25는 본 발명의 제 13 실시형태에 의한 F/W 버전 정보의 정합성 체크 처리 동작을 도시한 플로우 차트.
도 26은 본 발명의 제 14 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도.
도 27은 본 발명의 제 14 실시형태에 관한 콘피규레이션 정보의 엑스포트 처리를 도시한 플로우 차트.
도 28은 본 발명의 제 14 실시형태에 관한 콘피규레이션 정보의 임포트 처리를 도시한 플로우 차트.
도 29는 본 발명의 제 15 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도.
도 30은 본 발명의 제 15 실시형태에 관한 콘피규레이션 정보의 링크 처리를 도시한 플로우 차트.
도 31은 본 발명의 제 16 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도.
도 32는 본 발명의 제 16 실시형태에 관한 프로그램 해석 처리를 도시한 플로우 차트.
도 33은 본 발명의 제 17 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도.
도 34는 본 발명의 제 17 실시형태에 관한 프로그램 관리 처리를 도시한 플로우 차트.
(도면의 주요부분에 대한 부호의 설명)
1, 1A, 1B, 1C, 1D, 1E, 1F, 1G, 1H : 검사장치,
2 : 코드 보존 수단,
3 : 메모리 영역,
4, 4A, 4B, 4C, 4D, 4E, 4F, 4G, 4H : 프로그램 실행 수단,
5, 5A, 5B, 5C, 5D, 5E, 5G, 5H : 프로그램 로드 수단,
5F : 프로그램 업로드 수단,
6, 6D : 축적 수단,
7, 7a, 7b, 7b', 7b", 7c : 코드화 파일,
9, 9a, 9b, 9A : 프로그래밍 소프트웨어,
10, 10a, 10b, 10A, 10B : 프로그램,
12 : 표시/조작 수단,
13 : 프로그램 실행 단위,
14 : 디바이스 초기화 정보,
15 : 프로그램 로드 이력 보존 수단,
16 : 콘피규레이션 정합성 체크 수단,
17, 17a, 17b, 17c : 콘피규레이션 정보,
19 F/W : 버전 정보,
20 : 엑스포트 수단,
21 : 임포트 수단,
22 : 콘피규레이션 정보 링크 수단,
23 : 프로그램 해석 수단,
24 : 해석 결과 표시 수단,
25 : 프로그램 관리 수단,
26 : 의존관계 표시 수단
기술 분야
본 발명은, 프로그램 작성 수단에 의해 작성되어 코드화된 프로그램을 메모리 영역에 전개하고 프로그램을 실행하는 프로그램 실행 시스템에 관한 것으로, 특히, 제 1의 프로그램의 동작중에, 제 1의 프로그램으로부터 제 2의 프로그램을 호출하고, 제 2의 프로그램을 축적 수단으로부터 로드하고 실행하는 프로그램 실행 시스템에 관한 것이다.
또한, 본 발명은, 프로그램 실행 시스템에서 동작하는 프로그램을 위한 프로그래밍 시스템, 프로그램 해석 시스템 및 프로그램 관리 시스템에 관한 것이다.
또한, 본 발명은, 프로그램 실행 시스템을 구비한 검사장치(인텔리전트 검사 유닛)나 제어 장치(시퀀스 컨트롤러, 모션 컨트롤러, 수치 제어 장치, 로봇 등의 FA 기기), 검사장치용 프로그램 작성 시스템 및 검사장치 시스템에 관한 것이다.
종래의 기술
일반적으로, 검사 처리용의 프로그램을 검사장치(인텔리전트 검사 유닛)에 다운로드하여 동작시키기 위해서는, 미리 퍼스널 컴퓨터상의 프로그래밍 소프트웨어로 유저가 프로그램을 작성하고, 프로그래밍 소프트웨어가 인스톨되어 있는 퍼스널 컴퓨터와 검사장치를 케이블 등으로 접속한 후, 프로그래밍 소프트웨어로부터의 다운로드 명령에 의해, 유저가 작성한 프로그램을 코드화하고, 코드화된 데이터를 검사장치에 다운로드하고 있다.
종래의 검사장치에서의 프로그램 실행 시스템 및 프로그래밍 시스템의 일예로서, 인텔리전트 검사 유닛에 있어서의 프로그램 다운로드 장치가 제안되어 있다(예를 들면, 비특허 문헌 1 참조).
상기 비특허 문헌 1에 기재된 종래 장치에서는, 프로그래밍 소프트웨어(IU Developer)를 구비한 퍼스널 컴퓨터에 의해, 이하와 같이 프로그램 로드 처리가 실행된다.
우선, 검사장치에 대해, Ethernet(등록상표)/USB/RS232C 케이블을 통하여, 퍼스널 컴퓨터 내의 프로그래밍 소프트웨어를 접속한다.
계속해서, 프로그래밍 소프트웨어에 의해, 통상의 「실행 메뉴」 또는 「리빌드 실행 메뉴」를 실행한다.
이때, 「실행 메뉴」에서는, 갱신된 프로그램에 의해 결정되는 항목만을 코드화하여 검사장치에 전송하고, 검사장치 내의 플래시 메모리에 프로그램을 기록한다. 또한, 「리빌드 실행 메뉴」에서는 모든 프로그램을 코드화하여 검사장치에 전송하고, 검사장치 내의 플래시 메모리에 프로그램을 기록한다.
검사장치 내의 플래시 메모리에 기록된 프로그램은, 검사장치의 기동시에 메모리 영역(RAM)상에 전개되고, 검사장치 내의 프로그램 실행 수단상에서 실행된다. 또한, 프로그램 실행 수단은 표시/조작 수단에 접속되어 있다.
이와 같이, 종래 장치에서는, 퍼스널 컴퓨터에 인스톨된 프로그래밍 소프트웨어(IU Developer)로 프로그램을 작성하고, 퍼스널 컴퓨터와 검사장치(인텔리전트 검사 유닛 본체)를 접속한 후, 프로그래밍 소프트웨어의 「실행」 또는 「리빌드 실행」의 메뉴에 의해, 작성한 프로그램을 코드화하여 검사장치(인텔리전트 검사 유닛 본체)에 다운로드하여 동작시키도록 되어 있다.
그러나, 상기 종래 장치에서는, 프로그램이 하나의 파일로 통괄되어 있기 때문에, 검사 대상이 되는 기종의 추가 등이 빈번하게 발생하면, 각 기종에 대응한 고유의 프로그램이 필요해지기 때문에, 작성하여야 할 프로그램이 거대화되어 버린다.
또한, 기종별로 프로그램을 기술할 수 없기 때문에, 분산개발이나 병렬개발을 실현할 수 없다. 예를 들면, A프로그램에 B프로그램을 추가하기 위해서는, A프로그램의 후에 B프로그램을 추기하면 좋지만, A프로그램과 B프로그램을 독립하여 개발한 경우에는, A프로그램 및 B프로그램을 새롭게 하나의 프로그램으로 구축하기 위해 작업이 필요해진다.
또한, 상기 기술적 배경 때문에 메인터넌스성도 나빠지는데다가, 예를 들면, A기종을 검사하는 검사장치에 대해 B기종의 검사 기능을 추가하기 위해서는, A프로그램에 B프로그램을 추가할 필요가 있다.
또한, 기종별로 프로그램을 분리하여 기술할 수 없기 때문에, 복수의 유저에 의한 분산개발이나 병렬개발이 곤란해지는데다가, 기종 추가 등을 행하는 경우에는, 이미 동작하고 있는 기존 부분에 대한 영향도 충분히 고려하면서 신규 프로그램을 작성할 필요가 있기 때문에, 실질적으로 기종 추가시의 개발이 곤란해진다.
또한, 유저가 작성하는 프로그램의 용량이 검사장치 내의 플래시 메모리에 의해 제한되어 있고, 플래시 메모리의 최대 메모리 용량을 초과하는 프로그램을 작 성할 수 없기 때문에, 임의 수의 기종에 대응할 수 없다.
또한, 기종 추가시에, 반드시 퍼스널 컴퓨터와 검사장치를 케이블 등으로 접속하고 나서 추가분을 포함한 모든 프로그램을 재차 프로그래밍 소프트웨어로부터 다운로드할 필요가 있다.
[비특허 문헌 1]
IU2 시리즈 「IU Developer 오퍼레이션 매뉴얼」 B-206페이지
이상과 같이, 종래의 프로그램 실행 시스템에서는, 프로그램이 하나의 파일로 통괄되어 있기 때문에, 기종 추가 등이 빈번하게 발생하면 프로그램이 거대화되어 버리고, 검사 대상 기종을 용이하게 추가할 수 없다는 과제가 있다.
또한, 기종별로 프로그램을 분리하여 기술할 수 없기 때문에, 분산개발이나 병렬개발을 실현할 수 없고, 메인터넌스성도 나쁘다는 과제가 있다.
또한, 기종별로 프로그램을 분리하여 기술할 수 없고, 분산개발이나 병렬개발이 곤란하기 때문에, 실질적으로 기종 추가시의 개발이 곤란해진다는 과제가 있다.
또한, 장치의 최대 메모리 용량을 초과하는 프로그램의 작성이 곤란하고, 기종 추가시에는 퍼스널 컴퓨터와 검사장치를 재접속하고, 추가분을 포함한 모든 프로그램을 재차 프로그래밍 소프트웨어로부터 다운로드할 필요가 있다는 과제가 있다.
본 발명은, 상기한 바와 같은 과제를 해결하기 위해 이루어진 것으로, 개개 의 프로그램의 거대화를 회피하여, 분산개발 및 병렬개발을 가능하게 하고, 검사 대상 기종을 효율적이고 또한 용이하게 추가할 수 있는 프로그램 실행 시스템을 얻는 것을 목적으로 한다.
또한, 상기 프로그램 실행 시스템을 위한 프로그래밍 시스템, 프로그램 해석 시스템 및 프로그램 관리 시스템, 및, 프로그램 실행 시스템을 구비한 검사장치, 검사장치용 프로그램 작성 시스템 및 검사장치 시스템을 얻는 것을 목적으로 한다.
과제를 해결하기 위한 수단
본 발명에 의한 프로그램 실행 시스템은, 코드화된 제 1의 프로그램을 보존하는 코드 보존 수단과, 코드 보존 수단으로 보존되어 있는 제 1의 프로그램이 전개되는 메모리 영역과, 메모리 영역에 전개된 제 1의 프로그램을 실행하는 프로그램 실행 수단을 구비한 프로그램 실행 시스템에 있어서, 코드화된 제 2의 프로그램을 코드화 파일로서 격납하는 축적 수단을 또한 구비하고, 프로그램 실행 수단은, 축적 수단에 코드화 파일로서 격납되어 있는 제 2의 프로그램을 메모리 영역에 로드하기 위한 프로그램 로드 수단을 포함하고, 프로그램 실행 수단은, 메모리 영역에 전개된 제 1의 프로그램을 실행하고 있는 동작중에, 축적 수단 내의 제 2의 프로그램에 대한 호출 명령에 응답하여, 축적 수단 내의 제 2의 프로그램을 메모리 영역에 로드하여, 제 2의 프로그램을 실행하는 것이다.
본 발명에 의하면, 미리 프로그래밍 소프트웨어로 생성된 코드화 파일(제 2의 프로그램)을 축적 수단으로부터 판독하여 메모리 영역에 로드하고, 동작중의 제 1의 프로그램과 교체하여 동작시킴에 의해, 각 프로그램의 거대화를 회피하여 분산 개발 및 병렬개발을 가능하게 하고, 검사 대상 기종을 효율적이고 또한 용이하게 추가할 수 있다.
제 1 실시형태
도 1 및 도 2는 본 발명의 제 1 실시형태에 관한 프로그램 실행 시스템을 프로그래밍 시스템과 함께 도시한 블록도로서, 전술한 바와 마찬가지로 검사장치(1)에 적용한 경우를 도시하고 있다.
도 1 및 도 2에서, 검사장치(1)는, 인텔리전트 검사 유닛을 구성하고 있고, CPU, I/F 및 각종 메모리 등을 포함한다.
검사장치(1)는, 퍼스널 컴퓨터(8) 내의 프로그래밍 소프트웨어(9)(도 1 참조) 또는 프로그래밍 소프트웨어(9a, 9b)(도 2 참조)로, 유저가 작성한 제 1 또는 제 2의 프로그램(이하, 각각 단지 「프로그램」이라고 한다)(10a, 10b)에 의해 동작한다.
이 경우, 프로그램(10a, 10b)은, 검사 처리 프로그램으로 된다.
프로그래밍 소프트웨어(9, 9a, 9b)는 구체적으로는 프로그램(10a, 10b)을 작성하는 수단(개발 환경 등)이다.
프로그램(10a, 10b)은, 구체적으로는 유저가 작성한 프로그램 코드(소스 코드 등)로 된다.
도 1에서, 프로그램(10a)은, 예를 들면 기종 선택 프로그램(후술하다)으로 되고, 프로그램(10b)은, 예를 들면 코드화 파일 「work1.up」의 처리 프로그램으로 된다.
또한, 도 2에서는, 프로그램(10a, 10b)을 작성하기 위한 프로그래밍 소프트웨어로서, 1대의 퍼스널 컴퓨터(8) 내에 복수의 프로그래밍 소프트웨어(9a, 9b)를 도시하고 있지만, 각 프로그램(10a, 10b)은 도 1과 같이 동일한 프로그래밍 소프트웨어(9)를 이용하여 작성되어도 좋고, 복수의 퍼스널 컴퓨터(도시 생략) 내의 개별의 프로그래밍 소프트웨어를 이용하여 작성되어도 좋다.
검사장치(1)는, 필요에 따라 퍼스널 컴퓨터(8)에 접속되는 코드 보존 수단(2)과, 코드 보존 수단(2)에 접속된 메모리 영역(3)과, 메모리 영역(3)에 접속된 프로그램 실행 수단(4)과, 프로그램 실행 수단(4) 내에 마련된 프로그램 로드 수단(5)과, 프로그램 실행 수단(4)에 접속된 표시/조작 수단(12)을 구비하고 있다.
코드 보존 수단(2)은, 장치 전원이 OFF 되어도 데이터 보존이 가능한 메모리(플래시 R0M 등)로 이루어지고, 프로그래밍 소프트웨어(9, 9a)에 의해 작성된 메인 동작 프로그램이 되는 프로그램(10a)을 격납한다.
메모리 영역(3)은, 통상의 데이터 보존 수단(RAM 메모리 등)에 의해 구성되어 있다.
프로그램 실행 수단(4)에는, 하드 디스크 또는 메모리 카드 등의 대용량 디지털 데이터 기록 매체에 의해 구성된 축적 수단(6)이 접속된다.
축적 수단(6)에는, 프로그래밍 소프트웨어(9, 9b)에 의해 작성된 대상 기종마다의 검출 처리용의 프로그램(10b)이 필요에 따라 격납된다.
프로그램(10b)은, 프로그래밍 소프트웨어(9)(도 1 참조) 내의 코드화 파일 생성 수단(11), 또는 프로그래밍 소프트웨어(9b)(도 2 참조) 내의 코드화 파일 생성 수단(11b)에 의해 코드화된다.
즉, 유저가 작성한 프로그램(10b)은, 프로그래밍 소프트웨어(9, 9b) 내의 개발 환경(코드화 파일 생성 수단(11, 11b)을 포함한다)에서 코드화되고, 코드화 파일(7b)로 되어, 퍼스널 컴퓨터(8)로부터 축적 수단(6)에 미리 기록된다.
코드화 파일(7b)은, 구체적으로는 유저가 작성한 프로그램(10b)을 개발 환경으로 코드화한 파일이다.
또한, 여기서는, 편의적으로 하나의 코드화 파일(7b)만을 나타내고 있지만, 검사 대상의 기종 수 등에 따라, 필요에 응한 임의 수의 코드화 파일(7b)이 기록될 수 있다.
또한, 개별화된 복수의 코드화 파일(7b)(프로그램(10b))은, 필요에 따라 외부로부터 추가 또는 변경될 수 있다.
또한, 축적 수단(6)은 검사장치(1)에 내장되어도 좋다.
검사장치(1) 내에서, 프로그램 실행 수단(4)은, CPU상에서 동작하는 프로그램(F/W:팜웨어)으로 되고, 유저가 작성한 프로그램(10a 또는 10b)을 해석하여 실행한다. 프로그램 실행 수단(4) 내의 프로그램 로드 수단(5)은, 필요에 따라, 축적 수단(6)으로부터 코드화 파일(7b)을 취득하여 메모리 영역(3)에 전개한다.
즉, 프로그램 실행 수단(4)은, 코드 보존 수단(2) 내의 프로그램(10a)을 메모리 영역(3)에 로드하여 동작시킴과 함께, 프로그램 실행 수단(4) 내의 프로그램 로드 수단(5)은, 프로그램(10a)중의 호출 명령에 응답하여, 프로그램(10a)의 동작 중에, 축적 수단(6)으로부터 메모리 영역(3)에 프로그램(10b)을 로드하여 동작시킨다.
표시/조작 수단(12)은, 맨·머신 인터페이스를 구성하고, 구체적으로는 LCD 및 키보드 등을 가지며, 유저에 대해 화면 표시나 키 입력의 접수 등을 행한다.
퍼스널 컴퓨터(8) 내의 프로그래밍 소프트웨어(9, 9a, 9b)는, 유저의 조작에 의해 동작하고, 검사장치(1)에서 동작하는 프로그램(10a, 10b)을 작성한다.
퍼스널 컴퓨터(8)는, 프로그램(10a)을 판독하여 실행 코드를 생성하기 위한 개발 환경을 갖고 있고, 실행 코드를 검사장치(1) 내의 코드 보존 수단(2)에 전송하도록 된다.
유저가 작성한 프로그램(10a)의 소스 코드는, 퍼스널 컴퓨터(8) 내의 개발 환경에 의해, 검사장치(1)에서 실행 가능한 형식으로 컴파일되고, 컴파일된 코드는 검사장치(1)에 전송되어 동작하도록 되어 있다.
또한, 실행 코드는, 검사장치(1)에 전송되기 직전에 생성되고, 전송 후에는 삭제되기 때문에, 실행 코드가 유저에 의해 직접 다루어지는 일은 없다.
마찬가지로, 퍼스널 컴퓨터(8) 내의 개발 환경은, 프로그램(10b)을 판독하고, 실행 코드를 생성하지만, 프로그램(10b)의 실행 코드는, 코드화 파일(7b)에 의해 유저가 취급할 수 있는 코드화 파일(7b)로 변환된다.
즉, 코드화 파일 생성 수단(11, 11b)은 개발 환경 내의 프로그램(10b)을 코드화 파일(7b)로 변환한다.
다음에, 도 2에 도시한 본 발명의 제 1 실시형태에 관한 퍼스널 컴퓨터(8) 및 검사장치(1)의 개략적인 동작에 관해 설명한다.
우선, 검사장치(1)에 퍼스널 컴퓨터(8)를 케이블 접속하고, 프로그래밍 소프트웨어(9, 9a)로 작성한 프로그램(10a)을 검사장치(1) 내의 코드 보존 수단(2)에 다운로드한다.
한편, 프로그래밍 소프트웨어(9, 9b)로 작성한 프로그램(10b)은, 코드화 파일 생성 수단(11, 11b)에 의해 코드화되고, 코드화 파일(7b)로서 축적 수단(6) 내로 카피된다.
검사장치(1)는, 퍼스널 컴퓨터(8)에서 유저가 작성한 검사 처리 동작에 관련되는 복수의 프로그램(10a, 10b)을 코드화하여 미리 보존하고, 사용시에 검사장치(1)에 접속된다.
검사장치(1) 내의 프로그램 실행 수단(4)은, 전원 투입시에 코드 보존 수단(2) 내의 프로그램(10a)을 메모리 영역에 전개하여, 프로그램(10a)의 처리를 실행한다.
또한, 프로그램 실행 수단(4) 내의 프로그램 로드 수단(5)은, 검사장치(1)상에서 프로그램(10a)이 실행되고 있는 동안, 대상 기종의 검사 처리에 필요한 프로그램(10b)을 축적 수단(6)으로부터 검사장치(1)에 로드하고, 메모리 영역(3)에 전개하여 실행한다.
이와 같이, 프로그램 실행 수단(4)은, 하나의 프로그램(10a)의 실행중에, 축적 수단(6) 내의 다른 프로그램(10b)을 로드하여 실행한다.
즉, 현재 동작중의 프로그램(10a)으로부터, 프로그램(10b)의 코드화 파 일(7b)에 대한 호출 명령이 발행되면, 축적 수단(6) 내의 지정된 코드화 파일(7b)이 검사장치(1) 내의 메모리 영역(3)(RAM)상에 전개된다.
이 결과, 검사장치(1)상에서 현재 동작하고 있는 프로그램(10a)은, 프로그램(10b)으로 교체되고, 프로그램(10b)의 처리가 실행되게 된다.
도 3은 코드 보존 수단(2)에 격납되는 프로그램(10a)의 구체적인 예를 도식적으로 도시한 설명도로서, 기종 선택 프로그램의 경우를 일예로서 도시한다.
도 3에서, 프로그램(10a)(기종 선택 프로그램)은, 「START」로부터 코드가 시작하고, 선택 게이트에서 지정되는 디바이스(메모리)의 값「DS0」에 의해, 축적 수단(6)으로부터 로드하여야 할 코드화 파일(DS0)(「1」 내지 「4」, 또는 「Def(기타)」)을 지정한다.
여기서는, 5기종에 대응하는 5종류의 코드화 파일(「work1.iup」 내지 「work5.iup」)이 축적 수단(6)에 기록되어 있는 것으로 한다.
예를 들면, 지정 디바이스가 「DS0=1」인 경우에는, 프로그램 실행 수단(4)에서 커맨드「IUP LOAD」가 실행되고, 프로그램 로드 수단(5)에 의해, 파일명 「work1.iup」의 코드화 파일이 축적 수단(6)으로부터 로드된다.
또한, 지정 디바이스가 「DS0=2」인 경우에는, 프로그램 실행 수단(4)에서, 커맨드「IUP LOAD」가 실행되고, 프로그램 로드 수단(5)에 의해, 파일명 「work2.iup」의 코드화 파일이 축적 수단(6)으로부터 로드된다.
또한, 지정 디바이스 DSO가 「1」, 「2」, 「3」, 「4」의 어느것도 아닌 경우에는, 프로그램 실행 수단(4)에서 커맨드「IUP LOAD」가 실행되고, 프로그램 로 드 수단(5)에 의해, 파일명 「work5.iup」의 코드화 파일이 축적 수단(6)으로부터 로드된다.
다음에, 도 4의 플로우 차트를 참조하면서, 본 발명의 제 1 실시형태에 관한 처리 동작에 관해 구체적으로 설명한다.
도 4에서, 우선, 프로그래밍 소프트웨어(9, 9b)로 생성한 프로그램(10b)의 코드화 파일(7b)(하나 또는 복수의 파일)을 축적 수단(6)에 격납하고, 축적 수단(6)을 검사장치(1)에 장착한다(스텝 S1).
계속해서, 퍼스널 컴퓨터(8)를 검사장치(1)에 접속하고, 축적 수단(6) 내의 코드화 파일(7b)에의 호출 명령을 기술한 프로그램(10a)에 대해, 프로그래밍 소프트웨어(9, 9a)로부터의 다운로드 명령을 주고, 다운로드 명령에 의해 프로그램(10a)을 코드화하고, 프로그램(10a)의 코드화 데이터를 코드 보존 수단(2)에 다운로드한다(스텝 S2).
다음에, 검사장치(1)의 다음회 기동시에, 프로그램 실행 수단(4)은, 코드 보존 수단(2)에 기록된 데이터를 메모리 영역(3)에 전개하고, 유저에 의한 표시/조작 수단(12)의 조작에 응답하여 프로그램(10a)의 동작을 시작한다(스텝 S3).
계속해서, 동작중의 프로그램(10a)으로부터 코드화 파일(7b)에의 호출 명령이 발행하였는지의 여부를 판정하고(스텝 S4), 호출 명령이 발행하지 않았다(즉, NO)고 판정되면, 계속해서, 동작중의 프로그램(10a)으로부터 동작 종료 명령이 발행하였는지의 여부를 판정한다(스텝 S5).
스텝 S5에서, 동작 종료 명령이 발행하였다(즉, YES)고 판정되면 동작을 종 료하고(스텝 S7), 한편, 동작 종료 명령이 발행하지 않았다(즉, NO)고 판정되면, 프로그램 실행 수단(4)은, 동작중의 프로그램으로부터 발행된 명령을 계속 실행하고(스텝 S6), 스텝 S4로 되돌아온다.
한편, 스텝 S4에서, 코드화 파일(7b)에의 호출 명령이 발행하고 있다(즉, YES)고 판정되면, 프로그램 로드 수단(5)은, 축적 수단(6) 내의 코드화 파일(7b)을 메모리 영역(3)에 전개하고, 검사장치(1)상에서 현재 동작하고 있는 프로그램과 교체한다(스텝 S8).
최후로, 프로그램 실행 수단(4)은, 검사장치(1) 내의 표시/조작 수단(12)의 조작에 응답하여, 교체 후의 프로그램(10b)의 동작을 시작한다(스텝 S9).
또한, 로드 교체 후의 프로그램(10b)은, 자동적으로 기동하도록 되어 있어도 좋다.
이와 같이, 본 발명의 제 1 실시형태에 관한 프로그램 실행 시스템은, 코드화된 프로그램(10a)을 보존하는 코드 보존 수단(2)과, 프로그램(10a)에 관련된 프로그램(10b)을 코드화 파일(7b)로서 격납하는 축적 수단(6)과, 실행 대상이 되는 프로그램이 전개되는 메모리 영역(3)과, 프로그램(10a, 10b)을 실행하기 위한 프로그램 실행 수단(4)과, 필요에 따라 프로그램(10b)을 메모리 영역(3)에 로드하기 위한 프로그램 로드 수단(5)을 구비하고, 프로그램 로드 수단(5)은, 프로그램(10a)의 동작중에, 프로그램(10b)에 대한 호출 명령에 응답하여, 축적 수단(6)으로부터 메모리 영역(3)에 프로그램(10b)을 로드한다.
이로써, 프로그램을 단일 파일로 통괄하지 않고, 예를 들면 기종별의 코드화 파일(7b)을 복수 생성한 후에, 그들을 축적 수단(6)에 격납하여 두고, 필요한 때 필요한 코드화 파일(7b)을 자유롭게 호출하여 동작시킬 수 있다.
따라서 프로그램(10a)의 거대화를 회피하고, 프로그램(10b)의 분산개발 및 병렬개발을 가능하게 함과 함께, 각 프로그램(10a, 10b)의 실행 코드의 독립성을 높일 수 있다.
또한, 종래 시스템에 있어서 단일 파일로 통괄하고 있음에 의한 프로그램의 거대화를 회피할 수 있다.
또한, 검사장치(1)와는 다른 퍼스널 컴퓨터(8)상에서 기종별로 프로그램(10b)을 기술할 수 있기 때문에, 분산개발 및 병렬개발이 가능해지고, 프로그램(10b)을 기종별로 독립 기술할 수 있고, 이미 동작하고 있는 부분에의 영향도 최소한으로 억제할 수 있다.
여기서, 본 발명의 제 1 실시형태에 의한 효과에 관해, 구체적으로 보충 설명한다.
본 발명의 제 1 실시형태에 의하면, 예를 들면, 제품(A)의 검사항목이 200항목이였던 경우에, 2인의 유저가 100항목씩 나누어 프로그램을 개발할 수 있다.
이 경우, 개발 대상이 되는 프로그램은, 미리 전반의 100항목과 후반의 100항목으로 분산되고, 전반 100항목의 검사 처리는 프로그램(10a)으로서 코드 보존 수단(2) 내에 격납되고, 후반 100항목의 검사 처리는, 프로그램(10b)으로서 축적 수단(6)에 격납된다.
이 결과, 전반 100항목의 검사 처리가 종료된 시점에서, 후반 100항목의 검 사 처리를 실행하는 프로그램(10b)이 실행되고, 토탈 200항목의 검사 처리를 실행할 수 있다. 또한, 코드 보존 수단(2)의 용량이 적은 경우라도, 200항목의 프로그램을, 100항목씩의 2개의 프로그램으로 분할함에 의해, 동작시키는 것이 가능해진다.
또한, 필요한 때 필요한 코드화 파일(7b)을 그때마다 호출하여, 검사장치(1) 내의 메모리 영역(3)(RAM)상에 전개하고, 검사장치(1)상에서 현재 동작중의 프로그램(10a)과 교체하여 동작시킬 수 있기 때문에, 단일 파일로 통괄하면 코드 보존 수단(2)의 최대 메모리 용량을 초과할 정도의 프로그램이라도, 예를 들면 기종별의 코드화 파일(7b)(프로그램(10b))로 분할함에 의해, 프로그램을 검사장치(1)상에서 동작시킬 수 있다.
또한, 종래 시스템에서는, 예를 들면 제품(A)의 검사 프로그램에 제품(B)을 검사하는 기능을 추가하는 경우, 제품(A)의 검사 프로그램에 제품(B)의 검사 프로그램을 추가하여 컴파일을 행하고, 검사장치(1)에 전송하고 있지만, 이때, 원래 동작하고 있던 제품(A)의 프로그램도, 제품(B)의 프로그램을 추가하기 위한 수정이 추가되어 있기 때문에, 동작 확인을 실행하여야 하고, 시간이 걸린다.
그러나, 본 발명의 제 1 실시형태(도 1, 도 2 참조)에 의한 프로그램 실행 시스템에 의하면, 코드화된 프로그램(10a)을 보존하는 코드 보존 수단(2)과, 코드 보존 수단(2)으로 보존되어 있는 프로그램(10a)이 전개되는 메모리 영역(3)과, 메모리 영역(3)에 전개된 프로그램(10a)을 실행하는 프로그램 실행 수단(4)과, 코드화된 프로그램(10b)을 코드화 파일(7b)로서 격납하는 축적 수단(6)(하드 디스크 또 는 메모리 카드 등)을 구비하고, 프로그램 실행 수단(4)은, 축적 수단(6)에 코드화 파일(7b)로서 격납되어 있는 프로그램(10b)을 메모리 영역(3)에 로드하기 위한 프로그램 로드 수단(5)을 갖고 있다.
이로써, 프로그램 실행 수단(4)은, 메모리 영역(3)에 전개된 프로그램(10a)을 실행하고 있는 동작중에, 축적 수단(6) 내의 프로그램(10b)에 대한 호출 명령에 응답하여, 축적 수단(6) 내의 코드화 파일(7b)(프로그램(10b))을 메모리 영역(3)에 로드하고, 프로그램(10b)을 실행할 수 있다.
따라서 도 3에 도시한 바와 같이, 어느 기종의 검사 처리를 실행하는지를 선택하기 위한 기종 선택 프로그램을 기술하고 있기 때문에, 편리성을 높일 수 있다.
예를 들면, 검사장치(1)가 제품(A)에 대응하고 있던 경우에는, 코드 보존 수단(2) 내에 도 3의 기종 선택 프로그램이 격납되어 있고, 축적 수단(6)에 제품(A)의 검사 프로그램이 격납되어 있다. 이 검사장치(1)에, 제품(B)의 검사 기능을 추가하는 경우의 변경 조작은, 도 3의 기종 선택 프로그램에 제품(B)의 분기를 추가하는 것과, 축적 수단(6)에 제품(B)의 검사 프로그램의 코드화 파일(7b)을 격납하는 것이다. 따라서 이상의 2개의 변경 조작만으로 기종 추가를 실현할 수 있기 때문에, 제품(A)의 검사 프로그램을 수정할 필요가 없고, 동작을 체크할 필요도 없다.
제 2 실시형태
또한, 상기 제 1 실시형태에서는, 기종마다 대응하는 프로그램(10b)의 코드화 파일(7b)만을 축적 수단(6)에 격납하였지만, 프로그램(10b)의 실행 후에 검사장 치(1)를 재기동하지 않는 한, 메인 처리용의 프로그램(10a)으로 되돌아 올 수 없다.
그래서, 프로그램(10a)에의 호출 명령을 프로그램(10b)에 기술하여 둠과 함께, 프로그램(10a)의 코드화 파일(7a)을 축적 수단(6)에 추가 격납하여도 좋다.
도 5는 프로그램(10a)의 코드화 파일(7a)을 축적 수단(6)에 추가 격납한 본 발명의 제 2 실시형태에 관한 프로그램 실행 시스템을 도시한 블록도이다.
도 5에서, 전술(도 1, 도 2 참조)한 것과 같은 것에 관해서는, 전술한 것과 동일 부호를 붙이고, 또는 부호 뒤에 「A」를 붙이고 상세한 기술을 생략한다.
이 경우, 퍼스널 컴퓨터(8) 내의 프로그래밍 소프트웨어(9, 9a)는, 검사장치(1A)에 다운로드되는 프로그램(10a)을, 코드화 파일 생성 수단(11, 11a)에 의해 코드화하고, 프로그램(10a)의 코드화 파일(7a)을 축적 수단(6)에 미리 카피한다.
한편, 프로그램(10b)의 최후에는, 프로그램(10a)의 코드화 파일(7a)을 축적 수단(6)으로부터 로드하기 위한 호출 명령이 기술되어 있다.
다음에, 도 6의 플로우 차트를 참조하면서, 도 5에 도시한 본 발명의 제 2 실시형태에 의한 동작에 관해 설명한다.
도 6에서, 스텝 S1A, S2, S3A 내지 S9A는, 전술(도 4 참조)한 스텝 S1 내지 S9에 각각 대응한다.
우선, 프로그램(10b)에의 호출 명령을 기술한 프로그램(10a)의 코드화 파일(7a)과, 프로그램(10a)에의 호출 명령을 기술한 프로그램(10b)의 코드화 파일(7b)을 생성하여 축적 수단(6)에 격납하고, 축적 수단(6)을 검사장치(1A)에 장착 한다(스텝 S1A).
계속해서, 프로그램(10a)에 대해, 프로그래밍 소프트웨어(9, 9a)로부터의 다운로드 명령을 주고, 다운로드 명령에 의해, 프로그램(10a)을 코드화한 데이터를 코드 보존 수단(2)에 다운로드한다(스텝 S2).
다음에, 검사장치(1A)의 기동시에, 코드 보존 수단(2)에 기록된 데이터(프로그램(10a))를 메모리 영역(3)에 전개하고, 표시/조작 수단(12)의 조작에 응답하여, 프로그램(10a)의 동작을 시작한다(스텝 S3A).
이하, 동작중의 프로그램(최초는 프로그램(10a))으로부터 코드화 파일(최초는 코드화 파일(7b))의 호출 명령이 발행하였는지의 여부를 판정하고(스텝 S4A), 호출 명령이 발행하지 않았다(즉, NO)고 판정되면, 계속해서, 동작중의 프로그램으로부터 동작 종료 명령이 발행하였는지의 여부를 판정한다(스텝 S5A).
스텝 S5A에서, 동작 종료 명령이 발행하였다(즉, YES)고 판정되면, 현재 실행중 프로그램의 동작을 종료하고(스텝 S7A), 동작 종료 명령이 발행하지 않았다(즉, NO)고 판정되면, 프로그램 실행 수단(4A)은, 동작중 프로그램으로부터 발행된 명령을 계속 실행하고(스텝 S6A), 스텝 S4A로 되돌아온다.
한편, 스텝 S4A에서, 동작중 프로그램(최초는 프로그램(10a))으로부터 코드화 파일(최초는 코드화 파일(7b))의 호출 명령이 발행하였다(즉, YES)고 판정되면, 프로그램 로드 수단(5A)은, 축적 수단(6) 내의 코드화 파일(7b)(프로그램(10b))을 메모리 영역(3)에 전개하고, 검사장치(1A)상에서 현재 동작중 프로그램(10a)과 교체한다(스텝 S8A).
또한, 검사장치(1A) 내의 표시/조작 수단(12)의 조작에 응하여, 교체 후의 프로그램(10b)의 동작을 시작하고(스텝 S9A), 스텝 S4A로 되돌아온다.
또한, 프로그램(10b)은 자동적으로 기동하도록 구성하여도 좋다.
이하, 교체 후의 프로그램(10b)의 동작중에, 전술한 바와 마찬가지 처리(스텝 S4A 내지 S9A)를 실행한다.
즉, 동작중의 프로그램(10b)의 최후에 코드화 파일(7a)에의 호출 명령이 발행하였는지의 여부를 판정하고(스텝 S4A), 호출 명령이 발행하고 있으면, 축적 수단(6)으로부터 코드화 파일(7a)(프로그램(10a))을 로드하고(스텝 S8A), 프로그램(10a)의 처리 동작을 실행하고(스텝 S9A), 스텝 S4A로 되돌아온다.
이와 같이, 본 발명의 제 2 실시형태(도 5, 도 6 참조)에 의한 프로그램 실행 수단(4A)은, 각 프로그램(10a, 10b)의 호출관계를 항상 파악하고 있고, 프로그램(10b)의 동작중에, 프로그램(10b) 내의 최후에서 기술된 프로그램(10a)에 대한 호출 명령에 응답하여, 축적 수단(6)으로부터 메모리 영역(3)에 프로그램(10a)을 로드한다.
전술한 제 1 실시형태(도 1 내지 도 4 참조)에서는, 코드 보존 수단(2)에 보존되어 있는 프로그램(10a)으로부터, 축적 수단(6)에 보존되어 있는 코드화 파일(7b)이 호출되면, 검사장치(1)를 재기동시키지 않는 한, 코드 보존 수단(2)에 보존되어 있는 프로그램(10a)으로 되돌아 올 수 없었다.
그러나, 본 발명의 제 2 실시형태에 의한 축적 수단(6)은, 프로그램(10b)에 더하여, 프로그램(10a)(또는, 그 밖의 프로그램)을 코드화 파일(7a)로서 격납한다.
따라서 프로그램 실행 수단(4A)은, 메모리 영역(3)에 전개된 프로그램(10a)을 실행하고 있는 동작중에, 축적 수단(6) 내의 프로그램(10b)에 대한 호출 명령에 응답하여, 축적 수단(6) 내의 코드화 파일(7b)(프로그램(10b))을 메모리 영역(3)에 로드하여, 프로그램(10b)을 실행하고, 프로그램(10b)을 실행하고 있는 동작중에, 축적 수단(6) 내의 프로그램(10a)(또는, 다른 프로그램)에 대한 호출 명령에 응답하여, 축적 수단(6) 내의 코드화 파일(7a)(프로그램(10a))을 메모리 영역(3)에 로드하여, 프로그램(10a)(또는, 다른 프로그램)을 실행할 수 있다.
이 경우, 프로그램 실행 수단(4A)은, 프로그램(10a, 10b)의 호출관계를 항상 파악하고 있고, 프로그램(10a)을 코드 보존 수단(2)에 보존할 뿐만 아니라, 코드화 파일 생성 수단(11, 11a)에 의해 변환된 코드화 파일(7a)을 축적 수단(6)에 보존함에 의해 검사장치(1A)가 기동하여 프로그램(10a)이 동작하고, 또한 프로그램(10b)이 동작한 후, 원래의 프로그램(10a)을 실행할 수 있다.
즉, 프로그램 실행 수단(4A)은, 프로그램(10b)의 동작중에, 프로그램(10b) 내의 프로그램(10a)에 대한 호출 명령에 응답하여, 축적 수단(6)으로부터 메모리 영역(3)에 프로그램(10a)을 로드한다.
이로써, 검사장치(1A)의 기동 후에, 프로그램(10a)으로부터 프로그램(10b)의 코드화 파일(7b)이 호출되고, 프로그램(10b)이 실행되고 있는 경우에, 프로그램(10b)의 최후에 프로그램(10a)의 코드화 파일(7a)에의 호출 명령이 기술되어 있으면, 프로그램(10b)의 종료시에, 자동적으로 프로그램(10a)으로 재복귀할 수 있다.
예를 들면, 전술(도 3 참조)한 바와 같이, 프로그램(10a)을, 기종 선택(지정된 코드화 파일(7b)의 호출하고)실행용만의 프로그램으로 함에 의해, 기종 추가 등을 행하기 위해 프로그램(10b)을 추가하는 경우, 추가분의 프로그램(10b)의 코드화 파일(7b)을 생성하고 축적 수단(6)에 격납함과 함께, 프로그램(10a)의 변경 조작으로서 추가분의 코드화 파일(7b)을 지정 가능한 기술을 추가하는 것만으로, 용이하게 기종을 추가할 수 있다.
또한, 프로그램(10a)이 기종 선택용의 경우에, 프로그램(10a)으로 기술되어 있는 기종 선택(코드화 파일(7b)의 지정)이 프로그램(10a)중에서 직접 지정되어 있는 것은 아니고, 간접적으로 지정되어 있는 경우에는, 기종 추가시에 프로그램(10a)을 변경할 필요가 전혀 없다.
따라서 기종 추가마다 퍼스널 컴퓨터(8)와 검사장치(1A)를 케이블 접속하고 프로그래밍 소프트웨어(9, 9a)로부터 재차 프로그램(10a)을 검사장치(1A)에 다운로드할 필요가 없다.
또한, 프로그램(10a)이 도 3과 같이 구성된 경우, DS0 디바이스의 값(「1」 내지 「4」, 「Def」)에 따라서 처리가 분기되고, 미리 지정된 파일(「work1.iup」 내지 「work5.iup」)을 기동하지만, 소망 프로그램에 응하여 표시/조작 수단(12)으로부터 파일명을 입력하고, 대상 파일을 로드할 수 있다.
이와 같은 프로그램 기술을 실행한 경우, 기종 선택 프로그램을 수정할 필요가 없어지기 때문에, 보다 편리성이 높아진다.
또한, 프로그램(10a, 10b)의 호출관계를 용이하게 취득할 수 있고, 로드 시 간을 단축할 수 있고, 프로그램(10a, 10b)의 판독 처리를 확실하게 실행할 수 있다.
상술한 예에서, 프로그램(10b)의 최후에는, 프로그램(10a)의 코드화 파일(7a)을 축적 수단(6)으로부터 로드하기 위한 호출 명령이 기술되어 있는 것으로 한다.
이로써, 프로그램 실행 수단(4A)은, 프로그램(10b)의 동작중에 프로그램(10b) 내의 최후에 기술된 프로그램(10a)에 대한 호출 명령에 응답하여, 축적 수단(6)으로부터 메모리 영역(3)에 프로그램(10a)을 로드할 수 있다.
또한, 이와같이 하여, 프로그램(10b)의 최후에, 프로그램(10a)을 코드 보존 수단(2)으로부터 로드하기 위한 호출 명령이 기술되어 있어도 좋다.
이 경우, 프로그램 실행 수단(4A)은, 프로그램(10b)의 동작중에, 프로그램(10b) 내의 최후에 기술된 프로그램(10a)에 대한 호출 명령에 응답하여, 코드 보존 수단(2)으로부터 메모리 영역(3)에 프로그램(10a)을 로드할 수 있다.
제 3 실시형태
또한, 상기 제 1 및 2 실시형태에서는, 코드화 파일(7b)(프로그램(10b))의 메모리 영역(3)에의 로드 처리를 일괄적으로 실행하였지만, 코드화 파일(7b) 내의 메인 플로우 단위(프로그램 실행 단위)로 로드 처리를 실행하여도 좋다.
도 7은 메인 플로우 단위로 로드 처리를 실행한 본 발명의 제 3 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도이다.
*도 7에서, 전술(도 2 참조)한 것과 같은 것에 관해서는, 전술한 것과 동일 부호를 붙이고, 또는 부호의 뒤에 「B」를 붙이고 상세한 기술을 생략한다.
이 경우, 프로그램 실행 수단(4B) 내의 프로그램 로드 수단(5B)은, 코드화 파일(7b)(프로그램(10b))의 로드 처리를, 코드화 파일(7b) 내의 프로그램 실행 단위(13)(메인 플로우 단위)로 행하도록 되어 있다.
프로그램 실행 단위(13)는, 코드화 파일(7b)(프로그램(10b))에 포함된 실행 프로그램부이며, 구체적으로는 IU Developer 내의 플로우 차트로 된다.
여기서는, 대표적으로 하나의 프로그램 실행 단위(13)를 나타내고 있지만, 하나의 프로그램(10b)에는, 복수의 실행 프로그램부(플로우 차트) 즉 프로그램 실행 단위(13)가 포함되어 있다.
다음에, 도 8의 플로우 차트를 참조하면서, 도 7에 도시한 본 발명의 제 3 실시형태에 의한 동작에 관해 설명한다.
도 8에서, 우선, 프로그램 로드 수단(5B)은, 프로그램의 로드를 시작한다(스텝 S10).
이때, 로드 대상이 되는 프로그램 실행 단위(13)(지정 플로우 차트)만의 판독을 지정한다.
계속해서, 코드화 파일(7b) 내의 지정 플로우 차트만의 판독을 행한다(스텝 S11).
이와 같이, 프로그램 로드 수단(5B)은, 프로그램(10b)의 로드 처리시에, 프로그램(10b)의 전부를 판독하는 것은 아니고, 프로그램(10b) 내의 실행하고 싶은 프로그램 실행 단위(13)(메인 플로우 단위)로 판독한다.
이로써, 판독하는 데이터량이 적어지기 때문에, 검사 기종의 변경에 필요로 하는 시간을 단축할 수 있다.
즉, 본 발명의 제 3 실시형태(도 7, 도 8 참조)에 의한 프로그램 실행 수단(4B)은, 메모리 영역(3)에 전개된 프로그램을 실행하고 있는 동작중에, 축적 수단(6)에 코드화 파일(7b)(또는, 그 밖의 코드화 파일)로서 격납되어 있는 프로그램중의 프로그램 실행 단위(13)(해당하는 실행부 분)에 대한 호출 명령에 응답하여, 축적 수단(6)에 격납된 프로그램 중에서 해당하는 실행 부분에 대응하는 프로그램 실행 단위(13)를 메모리 영역(3)에 로드하고, 프로그램 실행 단위(13)를 실행한다.
따라서 프로그램의 거대화를 회피하여, 분산개발 및 병렬개발을 가능하게 하고, 실행 코드의 독립성을 높인다는 전술한 효과에 더하여, 로드 시간을 단축할 수 있다.
제 4 실시형태
또한, 상기 제 1 실시형태에서는, 검사장치(1) 내의 디바이스(메모리)에 대한 초기화 정보에 관해 고려하지 않았지만, 프로그램(10b)중에 디바이스 초기화 정보를 포함함에 의해, 프로그램(10b)의 로드시에, 디바이스 초기화 정보에 의거하여, 필요에 따라 자동적으로 디바이스를 초기화하도록 구성하여도 좋다.
도 9는 코드화 파일(7b)(프로그램(10b)) 내에 디바이스 초기화 정보(14)를 마련한 본 발명의 제 4 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도이다.
도 9에서, 전술(도 1, 도 2 참조)한 것과 같은 것에 관해서는, 전술한 것과 동일 부호를 붙이고, 또는 부호의 뒤에 「C」를 붙이고 상세한 기술을 생략한다.
이 경우, 코드화 파일(7b)(프로그램(10b))은, 검사장치(1C) 내의 디바이스에 대한 초기화의 실행 유무를 나타내는 디바이스 초기화 정보(14)를 포함한다.
또한, 여기서는, 대표적으로 디바이스 초기화 정보(14)만을 나타내고 있지만, 코드화 파일(7b)은, 디바이스 이외의 다른 초기화 정보를 포함하고 있어도 좋다.
또한, 프로그램 로드 수단(5C)은, 프로그램(10b)의 로드시에, 디바이스 초기화 정보(14)에 의거하여, 필요에 따라 초기화를 실행한다.
디바이스 초기화 정보(14)에는, 코드화 파일(7b)에 부가된 정보이며, 코드화 파일(7b)(프로그램(10b))의 로드시에, 검사장치(1C)의 초기화를 실행하는지 여부의 정보가 설정되어 있다.
다음에, 도 10의 플로우 차트를 참조하면서, 도 9에 도시한 본 발명의 제 4 실시형태에 의한 동작에 관해 설명한다.
도 10에서, 스텝 S10은, 전술(도 8 참조)한 것과 같은 로드 처리이다.
우선, 프로그램 로드 수단(5C)은, 프로그램(10b)의 로드를 시작하고(스텝 S10), 디바이스 초기화 정보(14)에 의거하여, 검사장치(1C) 내의 디바이스의 초기화를 실행하는지의 여부를 판정한다(스텝 S12).
스텝 S12에서, 초기화를 실행하지 않는(즉, NO)다고 판정되면, 곧바로 지정 프로그램을 판독하고(스텝 S13), 한편, 초기화를 실행한다(즉, YES)고 판정되면, 디바이스를 초기화하고 나서(스텝 S14), 지정 프로그램을 판독한다(스텝 S13).
예를 들면, 프로그램 실행 수단(4)C에 의해 프로그램(10a)을 실행하고 있는 상태로부터, 프로그램(10b)을 로드하여 실행하는 경우에, 프로그램(10a)과 프로그램(10b) 사이에서 데이터의 수수 없는 경우에는, 디바이스 내용을 보존할 필요가 없기 때문에, 디바이스 초기화 정보(14)에 의거하여 검사장치(1C) 내의 디바이스를 초기화한다.
한편, 프로그램(10a)과 프로그램(10b) 사이에 데이터의 수수가 있는 경우에는, 디바이스 내용을 보존할 필요가 있기 때문에, 디바이스의 초기화 처리를 실행하지 않는다.
이로써, 전회의 검사 결과 등을 인계하여, 후처리 공정에서 이용할 수 있다. 예를 들면, 프로그램(10a)에서의 「OK/NG」를 나타내는 판정 수를, 그대로 프로그램(10b)으로 인계하여 검사 처리를 속행할 수 있다.
이상과 같이, 본 발명의 제 4 실시형태(도 9, 도 10 참조)에 의하면, 프로그램(10b)은, 검사장치(1C)(프로그램 실행 시스템)에 대한 디바이스 초기화 정보(14)를 포함하고, 프로그램 로드 수단(5C)은, 축적 수단(6)으로부터의 프로그램(10b)의 로드시에, 디바이스 초기화 정보(14)에 의거하여, 필요에 따라 검사장치(1C) 내의 디바이스를 초기화한다
따라서 프로그램(10b)의 로드시에, 초기화 처리의 필요여부를 선택할 수 있고, 필요에 따라 초기화 처리를 자동적으로 실행할 수 있다.
제 5 실시형태
또한, 상기 제 1 내지 4 실시형태에서는, 축적 수단(6) 내에 코드화 파일(7b)이 존재하는 것을 전제로 하여 설명하였지만, 코드화 파일(7b)의 로드시에 코드화 파일(7b)의 유무를 체크하여도 좋다.
이하, 코드화 파일(7b)의 유무 체크 기능을 마련한 본 발명의 제 5 실시형태에 관한 프로그램 실행 시스템에 관해 설명한다.
이 경우, 프로그램 실행 수단(4) 및 프로그램 로드 수단(5)(예를 들면, 도 1, 도 2 참조)은, 프로그램(10b)(또는 프로그램(10a))의 로드시에, 프로그램(10b)(또는 프로그램(10a))의 유무를 체크하고, 호출 명령에 응답하는 프로그램이 존재하지 않는 경우에 에러 처리를 실행(에러 코드를 출력)하도록 되어 있다.
이하, 도 11의 플로우 차트를 참조하면서, 본 발명의 제 5 실시형태에 의한 동작에 관해 설명한다.
도 11에서, 스텝 S10은 전술(도 8, 도 10 참조)한 것과 같은 로드 처리이다. 여기서는, 축적 수단(6) 내의 프로그램(10b)을 로드하는 경우를 예로 들어 설명한다.
우선, 프로그램(10b)의 로드를 시작하고(스텝 S10), 코드화 파일(7b)이 존재하는지의 여부를 판정한다(스텝 S14).
스텝 S14에서, 코드화 파일(7b)이 존재한다(즉, YES)고 판정되면, 코드화 파일(7b)을 판독한다(스텝 S15).
한편, 스텝 S14에서, 코드화 파일(7b)이 존재하지 않는(즉, NO)다고 판정되면, 코드화 파일(7b)이 존재하지 않는 것을 표시/조작 수단(12)의 화면에 표시한 다(스텝 S16).
또한, 인터넷 등의 통신에 의해 다른 장치에 통지하고(스텝 S17), 검사장치(1) 내의 디바이스에 에러 코드를 출력하고(스텝 S18), 동작을 정지한다(스텝 S19).
또한, 스텝 S16 내지 S18에 관해서는, 모든 처리를 실행할 필요는 없고, 어느 하나의 처리만을 실행하거나, 또는 어느 2개의 처리만을 실행하여도 좋다.
이와 같이, 프로그램 실행 수단(4)은, 프로그램(10b)의 로드시에, 대상이 되는 코드화 파일(7b)이 존재하지 않았던 경우에는, 검사장치(1)의 동작을 정지함과 함께, 화면 표시에 의한 에러 통보, 통신에 의한 통지, 또는 검사장치(1) 내의 디바이스에 에러 코드 기록을 행한다.
또한, 축적 수단(6)으로부터 프로그램(10a)을 로드하는 경우도 마찬가지이다.
도 11에 도시한 바와 같이, 본 발명의 제 5 실시형태에 의한 프로그램 실행 수단은, 프로그램 로드 수단에 의한 축적 수단(6)으로부터의 소정의 프로그램 로드시에, 소정의 프로그램이 축적 수단(6)에 존재하는지의 여부를 확인하고, 호출 명령에 응답하는 소정의 프로그램이 축적 수단(6) 내에 존재하지 않는 경우에는 에러 코드를 출력한다.
이로써, 전술한 효과에 더하여, 프로그램 로드시의 에러 처리를 실행할 수 있고, 로드시에 대응하는 프로그램이 존재하지 않는 상태에서는, 이상 동작을 회피함과 함께, 정지한 원인을 특정하는 편리성이 향상된다는 효과가 있다.
제 6 실시형태
또한, 상기 제 1 내지 5 실시형태에서는, 프로그램 로드시의 대상이 되는 축적 수단(6)으로서, 1종류의 기록 매체(메모리 카드 등)를 상정하여 설명하였지만, 복수의 다른 기록 매체(예를 들면, 메모리 카드 및 하드 디스크 등)를 프로그램 로드시의 대상으로 하여도 좋다.
도 12는 복수의 축적 수단(6, 6D)을 프로그램 로드시의 대상으로 한 본 발명의 제 6 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도이다.
도 12에서, 전술(도 2 참조)한 것과 같은 것에 관해서는, 전술한 것과 동일 부호를 붙이고, 또는 부호의 뒤에 「D」또는 「'」를 붙이고 상세한 기술을 생략한다.
이 경우, 각 프로그램에 대응한 코드화 파일(7b, 7b')은 각각이 격납된 축적 수단(6, 6D)에 관한 판독처 정보를 포함한다.
또한, 검사장치(1D) 내의 프로그램 실행 수단(4D) 및 프로그램 로드 수단(5D)은, 로드 대상이 되는 코드화 파일(7b, 7b') 내의 판독처 정보에 응하여, 각 프로그램의 판독처를 개별적으로 변경하도록 되어 있다.
다음에, 도 13의 플로우 차트를 참조하면서, 도 12에 도시한 본 발명의 제 6 실시형태에 의한 동작에 관해 설명한다.
여기서는, 대표적으로, 프로그램(10b)에 대응하는 코드화 파일(7b)을 로드 대상으로 한 경우에 관해 설명한다. 또한, 축적 수단(6)은 메모리 카드이고, 축적 수단(6') 은 하드 디스크(HDD)인 것으로 한다.
도 13에서, 우선, 로드 대상이 되는 코드화 파일(7b)(프로그램(10b))의 로드를 시작하고(스텝 S10), 대상이 되는 코드화 파일(7b) 내의 판독처 정보를 참조하여, 메모리 카드(축적 수단(6))로부터 로드하는 상태인지의 여부를 판정한다(스텝 S20).
스텝 S20에서, 메모리 카드로부터 로드하는 상태(즉, YES)라고 판정되면, 판독처가 메모리 카드(축적 수단(6))라고 인식하고, 메모리 카드로부터 코드화 파일을 판독한다(스텝 S21).
한편, 스텝 S20에서, 메모리 카드로부터 로드하는 상태가 아니(즉, NO)라고 판정되면, 판독처가 하드 디스크(HDD)라고 인식하고, 네트워크상의 HDD로부터 코드화 파일을 판독한다(스텝 S22).
또한, 여기서는, 2개의 축적 수단(6, 6D)중에서 판독처를 지정하는 경우에 관해 설명하였지만, 검사장치(1D)에 3개 이상의 축적 수단이 접속되어 있어도 좋다.
이와 같이, 본 발명의 제 6 실시형태(도 12, 도 13 참조)에서, 소정 프로그램(코드화 파일(7b 또는 7b'))에 대한 호출 명령을 이용한 프로그램은, 호출 명령에 응답하는 소정의 프로그램이 격납되어 있는 축적 수단(6 또는 6D)에 관한 판독처 정보를 포함하고, 프로그램 실행 수단(4D)은, 판독처 정보에 응하여, 소정 프로그램의 판독처를 개별적으로 변경한다.
이로써, 판독처 정보에 의거하여 로드처(판독처)의 지정이 가능하기 때문에, 대상이 되는 축적 수단(6, 6D)을 자동적으로 전환할 수 있다.
따라서 기종에 따른 코드화 파일(7b, 7b')의 선택의 폭이 넓어지고, 네트워크상의 하드 디스크(HDD) 등의 축적 수단(6D) 내의 코드화 파일(7b')을 지정할 수 있다.
또한, 다른 장치의 설치 현장으로 나가서 행하여 코드화 파일의 교체 조작 등을 행할 필요가 없고, 프로그램의 변경을 실현할 수 있다.
또한, 본 발명의 제 6 실시형태에 의하면, 전술한 효과에 더하여, 프로그램(코드화 파일(7b 또는 7b'))의 판독 처리를 확실하게 실행할 수 있다.
제 7 실시형태
또한, 상기 제 1 내지 6 실시형태에서는, 특히 언급하지 않았지만, 프로그램의 로드시에 로드 이력 정보를 보존하여도 좋다.
도 14는 로드 이력 정보를 보존 가능하게 구성한 본 발명의 제 7 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도이다.
도 14에서, 전술(도 2 참조)한 것과 같은 것에 관해서는, 전술한 것과 동일 부호를 붙이고, 또는 부호의 뒤에 「E」를 붙이고 상세한 기술을 생략한다.
이 경우, 검사장치(1E) 내의 프로그램 실행 수단(4E)은 프로그램 로드 이력 보존 수단(15)을 구비하고 있다.
프로그램 로드 이력 보존 수단(15)은, 코드화 파일(7b)(프로그램(10b))에 관한 로드 이력을 취득하여 보존한다.
예를 들면, 프로그램 로드 이력 보존 수단(15)에는 동작한 프로젝트(프로그램(10b) 또는 코드화 파일(7b))의 이력이나, 코드화 파일(7b)(프로그램(10b))의 로 드시에 변경한 프로그램명 등이 시계열로 보존된다.
또한, 여기서는, 대표적으로 코드화 파일(7b)(프로그램(10b))을 로드하는 경우를 도시하고 있지만, 전술(도 5 참조)한 코드화 파일(7a)(프로그램(10a))을 로드하는 경우에도 적용 가능하다.
다음에, 도 15의 플로우 차트를 참조하면서, 도 14에 도시한 본 발명의 제 7 실시형태에 의한 동작에 관해 설명한다.
도 15에서, 우선, 프로그램 로드 수단(5E)이 프로그램(10b)의 로드를 시작하면(스텝 S10), 프로그램 로드 이력 보존 수단(15)은, 프로그램(10b)의 로드 이력(구체적으로는, 로드한 「파일명」)을 보존한다(스텝 S24).
계속해서, 다음의 프로그램(10b')의 로드가 시작되면(스텝 S10A), 마찬가지로, 프로그램 로드 이력 보존 수단(15)은 다음의 프로그램(10b')의 로드 이력을 보존한다(스텝 S24A).
이하, 프로그램(10b)의 로드가 시작될 때마다, 같은 로드 처리 및 로드 이력 보존 처리가 반복된다.
이로써, 예를 들면, 프로그램(10b, 10b', …)이 프로그램(A)→프로그램(B)→프로그램(C), …와 같이 순차적으로 로드된 경우, 프로그램 로드 이력 보존 수단(15)에는, 프로그램(A), 프로그램(B), 프로그램(C), …으로 보존된다.
이와 같이, 본 발명의 제 7 실시형태(도 14, 도 15 참조)에 의한 프로그램 실행 수단(4E)은, 프로그램 로드 이력 보존 수단(15)을 포함하고, 프로그램 로드 이력 보존 수단(15)은, 축적 수단(6) 내의 소정 프로그램(예를 들면, 코드화 파 일(7b))에 대한 호출 명령에 응답하여, 프로그램 실행 수단(4E)이 축적 수단(6) 내의 소정 프로그램을 메모리 영역(3)에 로드하여 실행할 때, 소정의 프로그램이 로드된 것을 로드 이력으로서 보존한다.
이로써, 이상 발생시에, 원인이 되는 프로그램이 어느 것인지를 조사하는데 도움이 되고 또, 에러 스톱 발생시의 다음의 기동시에, 어느 프로그램으로부터 스타트하면 좋은지를 특정하는데 도움이 된다.
또한, 로드 이력을 참조함에 의해, 어떤 기종을 검사하였는지를 인식할 수 있다.
또한, 프로그램의 호출관계를 용이하게 취득할 수 있다.
제 8 실시형태
또한, 상기 제 1 내지 7 실시형태에서는, 프로그램(프로젝트)의 로드 처리만에 관해 설명하였지만, 검사장치로부터 축적 수단에 프로그램(프로젝트)을 업로드하여도 좋다.
도 16은 프로그램 실행 수단(4F)에 업로드 기능을 마련한 본 발명의 제 8 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도이다.
도 16에서, 전술(도 2 참조)한 것과 같은 것에 관해서는, 전술한 것과 동일 부호를 붙이고, 또는 부호의 뒤에 「F」를 붙이고 상세한 기술을 생략한다.
이 경우, 검사장치(1F) 내의 프로그램 실행 수단(4F)은, 프로그램 업로드 수단(5F)을 구비하고 있다.
프로그램 업로드 수단(5F)은, 메모리 영역(3)에 전개되어 있는 프로그램(10a 또는 10b)을, 코드화 파일(7c)로 변환하여 축적 수단(6)에 카피한다.
또한, 프로그램 업로드 수단(5F)은, 전술한 프로그램 로드 수단(5 내지 5E)의 기능에 포함되어도 좋고, 프로그램 로드 수단(5 내지 5E)과는 별도로 마련되어도 좋다.
또한, 축적 수단(6)으로서는, 다른 복수의 기록 매체(PC 카드, HDD 등)가 접속되어도 좋다
다음에, 도 17의 플로우 차트를 참조하면서, 도 16에 도시한 본 발명의 제 8 실시형태에 의한 동작에 관해 설명한다.
도 17에서, 우선, 프로그램 업로드 수단(5F)은, 메모리 영역(3)상에 전개되어 실행중 프로그램의 업로드를 시작하고(스텝 S25), 업로드 대상이 되는 프로그램의 보존처의 지정이 PC 카드인지 아니지(HDD)를 판정한다(스텝 S26).
스텝 S26에서, 보존처의 지정이 PC 카드(즉, YES)라고 판정되면, 축적 수단(6)이 되는 PC 카드에 코드화 파일(7c)(프로그램)을 보존한다(스텝 S27).
한편, 스텝 S26에서, 보존처의 지정이 PC 카드가 아니(즉, NO)라고 판정되면, 축적 수단(6)이 되는 HDD에 코드화 파일(7c)(프로그램)을 보존한다(스텝 S28).
이와 같이, 본 발명의 제 8 실시형태(도 16, 도 17 참조)에 의한 프로그램 실행 수단(4F)은, 프로그램 업로드 수단(5F)을 포함하고, 프로그램 업로드 수단(5F)은, 검사장치(1F) 내에서 프로그램 실행 수단(4F)이 실행중 프로그램을, 축적 수단(6)에 업로드한다.
이로써, 실행중 프로그램을 축적 수단(6)에 보존할 수 있고 또, 업로드시의 보존처로서, PC 카드 또는 HDD로 지정할 수 있다. 또한, HDD에 관해서는 네트워크에 접속된 HDD라도 좋다.
또한, 일반적으로, 검사장치(1F)가 가동하고 있는 동안에, 규격치를 조정한 경우에는, 원래 데이터의 정합성을 잃어버리지만, 본 발명의 제 8 실시형태에 의하면, 프로그램의 원래 파일을 갱신하여 보존할 수 있기 때문에, 원래 파일에 대해 규격치의 조정을 개별적으로 반영시길 필요가 없어진다는 이점도 있다.
제 9 실시형태
또한, 상기 제 8 실시형태에서는, 프로그램의 업로드만을 실행하였지만, 업로드되는 프로그램에, 어플리케이션 버전 정보(이하, 단지 「버전 정보」라고 한다)를 부가하여도 좋다.
어플리케이션이란, 검사 대상에 응하여, 유저에 의해 프로그래밍 소프트웨어(9)(또는, 9a, 9b)로 작성되는 프로그램에 관한 것이다.
도 18은 본 발명의 제 9 실시형태에 관한 프로그램 실행 시스템에 의한 동작을 도시한 플로우 차트이다.
도 18에서, 전술(도 17 참조)한 것과 다른점은, 업로드의 시작(스텝 S25)에 계속해서, 버전 정보의 부가 처리(스텝 S25A)가 추가된 것뿐이다.
또한, 본 발명의 제 9 실시형태에 의한 시스템 구성은, 도 16에 도시한 바와 같고, 프로그램 업로드 수단(5F)이, 업로드시의 버전 정보 관리 기능 및 버전 정보 부가 기능을 갖고 있는 점만이 다르다.
이 경우, 프로그램 업로드 수단(5F)(도 16 참조)은, 축적 수단(6)에 업로드 되는 프로그램에 대해, 버전 정보를 부가하도록 되어 있다.
다음에, 도 18을 참조하면서, 본 발명의 제 9 실시형태에 의한 동작에 관해 설명한다.
우선, 프로그램 업로드 수단(5F)은, 프로그램의 업로드를 시작하고(스텝 S25), 업로드하는 프로그램에 버전 정보를 부가한다(스텝 S25A).
이하, 전술한 바와 마찬가지로, 프로그램의 보존처의 지정을 판정하고(스텝 S26), PC 카드 또는 HDD에 프로그램을 보존한다(스텝 S27, S28).
이와 같이, 본 발명의 제 9 실시형태에 의한 프로그램 실행 수단은, 프로그램 업로드 수단(5F)(도 16 참조)에 의한 축적 수단(6)으로의 프로그램 업로드시에, 축적 수단(6)에 업로드되는 프로그램(실행중 프로그램)에 대해 버전 정보를 부가한다.
예를 들면, 전술(도 16, 도 17 참조)한 제 8 실시형태에서는, 프로그램(프로젝트)의 업로드시에 원래 파일이 갱신되지만, 나중에 보았을 때, 변경 전의 파일인지 변경 후의 파일인지를 판별할 수 없게 된다.
그러나, 본 발명의 제 9 실시형태(도 18 참조)에 의하면, 파일 갱신시에 버전 정보가 부가되기 때문에, 갱신된 파일인지의 여부를 판별할 수 있고, 관리하기 쉽게 되고 게다가 버전 차에 의한 오동작을 방지할 수도 있다.
제 10 실시형태
또한, 상기 제 1 내지 9 실시형태에서는, 특히 언급하지 않았지만, 축적 수단(6)으로부터의 프로그램 로드시에 콘피규레이션 정보를 비교하여, 로드되는 프로 그램과 검사장치의 정합성을 체크하여도 좋다.
이하, 도 19 내지 도 21을 참조하면서, 콘피규레이션 정보의 정합성 체크 기능을 마련한 본 발명의 제 10 실시형태에 관한 프로그램 실행 시스템에 관해 설명한다.
도 19는 검사장치에 콘피규레이션 정보의 체크 기능을 마련한 본 발명의 제 10 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도이다.
도 19에서, 전술(도 2 참조)한 것과 같은 것에 관해서는, 전술한 것과 동일 부호를 붙이고, 또는 부호의 뒤에 「G」를 붙이고 상세한 기술을 생략한다.
이 경우, 프로그램 실행 수단(4G) 내의 프로그램 로드 수단(5G)은, 검사장치(1G) 및 코드화 파일(7b)의 각 콘피규레이션 정보를 비교하는 콘피규레이션 정보 정합성 체크 수단(16)을 구비하고 있다.
또한, 축적 수단(6)은, 복수의 코드화 파일(7b, 7b', …)을 격납하고 있는 것으로 한다.
각 코드화 파일(7b, 7b')은, 자신이 동작하기 위한 콘피규레이션 정보, 즉, 실제의 프로그램 처리 동작에 적합하기 위한 검사장치(1G)의 H/W 구성 또는 디바이스 구성에 대응한 동작 콘피규레이션 정보(이하, 단지 「콘피규레이션 정보」라고 한다)를 갖고 있다.
프로그램 실행 수단(5G) 내의 콘피규레이션 정합성 체크 수단(16)은, 프로그램 로드 수단(5G)에 의한 축적 수단(6)으로부터의 소정 프로그램의 로드시에, 소정 프로그램의 콘피규레이션 정보와, 프로그램 실행 수단이 동작하고 있는 환경 콘피 규레이션 정보(이하, 단지 「콘피규레이션 정보」라고 한다)를 비교하여 양자가 일치하는지의 여부를 확인하고, 확인 결과가 불일치를 나타내는 경우에는 에러 코드를 출력한다.
이와 같이, 축적 수단(6) 내의 코드화 파일(7b, 7b')(프로그램(10b, 10b')) 및 검사장치(1G) 내의 프로그램 실행 수단(4G)은, 각각의 콘피규레이션 정보를 포함하고, 프로그램 실행 수단(4G)은 축적 수단(6)으로부터의 프로그램 로드시에 콘피규레이션 정보의 정합성을 체크하도록 되어 있다.
또한, 프로그램 실행 수단(4G)은, 축적 수단(6) 내의 프로그램 로드시에, 로드 대상이 되는 소정 프로그램 예를 들면 코드화 파일(7b)(프로그램(10b))의 콘피규레이션 정보를 판독함에 의해, 소정 프로그램에 대응한 콘피규레이션 정보를 공유화하여도 좋다.
후술하는 바와 같이, 콘피규레이션 정합성 체크 수단(16)은, 검사장치(1G)의 콘피규레이션 정보(H/W 구성 또는 디바이스 구성)와, 축적 수단(6)으로부터 판독된(또는, 앞으로 로드되는) 코드화 파일(7b)(또는, 다른 코드화 파일(7b'))의 콘피규레이션 정보를 비교하고, 실제로 프로그램 동작이 가능한지의 여부를 확인한다.
도 20은 보드에 관한 검사장치(1G)와 코드화 파일(7b, 7b', 7b")과의 각 콘피규레이션 정보의 관계를 도식적으로 도시한 블록도이다.
도 20에서, 검사장치(1G)는 콘피규레이션 정보로서, 증설 보드(18a, 18b)를 갖고 있는 것으로 한다.
또한, 축적 수단(6) 내의 코드화 파일(7b, 7b', 7b")은 개별의 콘피규레이션 정보(17a, 17b, 17c)를 갖고 있는 것으로 한다.
콘피규레이션 정보(17a 내지 17c)는, 구체적으로는 검사장치(1G)의 H/W 구성(사용하고 있는 증설 보드의 종류나 슬롯 위치 등)이나 검사장치(1G) 내의 디바이스(메모리) 설정이 보존된 파일이다.
여기서는, 콘피규레이션 정보(17a)는, 증설 보드(18a, 18b)에 대응하고, 콘피규레이션 정보(17b)는, 증설 보드(18a, 18c)에 대응하고, 콘피규레이션 정보(17c)는 증설 보드(18a)에 대응하고 있는 것으로 한다.
다음에, 도 21의 플로우 차트를 참조하면서, 도 19 및 도 20에 도시한 본 발명의 제 10 실시형태에 의한 콘피규레이션 정보 체크 동작에 관해 설명한다.
도 21에서, 스텝 S10, S15, S17 내지 S19는, 전술(도 11 참조)한 것과 같은 처리이다.
우선, 프로그램 실행 수단(4G)에서, 축적 수단(6)으로부터 프로그램(10b)의 로드를 시작하면(스텝 S10), 프로그램 로드 수단(5G) 내의 콘피규레이션 정합성 체크 수단(16)은, 콘피규레이션 정보(17a)(또는, 17b, 17c)가 검사장치(1G)의 콘피규레이션 정보(H/W 구성, 디바이스 구성)와 완전하게 일치하고 있는지의 여부를 판정한다(스텝 S29).
스텝 S29에서, 콘피규레이션 정보(17a)가 검사장치(1G)의 H/W 구성과 완전하게 일치한다(즉, YES)고 판정되면, 코드화 파일(7b)(도 20의 예에서는, 검사장치(1G)의 H/W 구성과 완전하게 일치한다)을 판독한다(스텝 S15).
한편, 스텝 S29에서, 예를 들면 콘피규레이션 정보(17b)가 검사장치(1G)의 H/W 구성과 완전하게는 일치하지 않는(즉, NO)다고 판정되면, 콘피규레이션 정보(17b)가 검사장치(1G)의 H/W 구성과 일치하지 않는 것을, 표시/조작 수단(12)의 화면상에 표시한다(스텝 S30).
또한, 통신에 의해 다른 장치에 통지하고(스텝 S17), 검사장치(1G) 내의 디바이스에 에러 코드를 출력하고(스텝 S18), 검사장치(1G)를 정지시킨다(스텝 S19).
예를 들면, 도 20에서, 축적 수단(6) 내의 코드화 파일(7b)은 콘피규레이션 정보(17a)(증설 보드(18a, 18b))가 검사장치(1G)의 보드 구성(증설 보드(18a, 18b))과 완전하게 일치하기 때문에, 코드화 파일(7b)을 검사장치(1G)에 판독할 수 있다.
한편, 축적 수단(6)으로부터 코드화 파일(7b')을 판독하려고 하면, 콘피규레이션 정보(17b)(증설 보드(18a, 18c))가 검사장치(1G)의 보드 구성과 일치하지 않기 때문에, 에러로 되고, 코드화 파일(7b')을 검사장치(1G)에 판독할 수 없다
이상과 같이, 본 발명의 제 10 실시형태(도 19 내지 도 21 참조)에 의하면, 축적 수단(6)에 격납되어 있는 프로그램(코드화 파일(7b, 7b', …))은, 자신이 동작하기 위한 콘피규레이션 정보(17b, 17b, …)를 포함하고, 프로그램 실행 수단(4G)은 콘피규레이션 정합성 체크 수단(16)을 포함하고, 콘피규레이션 정합성 체크 수단(16)은, 프로그램 로드 수단(5G)에 의한 축적 수단(6)으로부터의 소정 프로그램의 로드시에, 소정 프로그램의 콘피규레이션 정보와, 프로그램 실행 수단이 동작하고 있는 환경의 콘피규레이션 정보가 일치하는지의 여부를 확인하고, 확인 결과가 불일치를 나타내는 경우에는 에러 코드를 출력한다.
이로써, 전술한 효과에 더하여, 콘피규레이션 정보(17b, 17b, …)의 정합성을 체크하고, 검사장치(1G)에서 처리 동작이 불가능한 프로그램의 로드를 회피할 수 있다.
즉, 축적 수단(6)으로부터 소정의 프로그램이 로드되고 실행될 때, 소정의 프로그램에서 취급하여야 할 증설 보드가 검사장치(1G)에 존재하지 않은 경우, 또는, 다른 증설 보드였던 경우에 있어서의 이상 동작을 미연에 방지할 수 있다.
제 11 실시형태
또한, 상기 제 10 실시형태에서는, 프로그램 및 검사장치의 각 콘피규레이션 정보의 완전한 일치를 확인하였지만, 허용 범위를 넓혀서, 축적 수단(6)으로부터 로드되는 소정의 프로그램이 동작하기 위해 충분한지의 여부를 확인하여도 좋다.
도 22는 허용 범위를 넓힌 본 발명의 제 11 실시형태에 의한 콘피규레이션 정보의 확인 동작을 도시한 플로우 차트이다.
이 경우, 콘피규레이션 정합성 체크 수단(16)(도 19 참조)은, 축적 수단(6)으로부터 로드된 소정 프로그램의 콘피규레이션 정보와, 프로그램 실행 수단(4G)의 동작 환경(검사장치(1G))의 콘피규레이션 정보의 정합성 확인시에, 검사장치(1G)의 콘피규레이션 정보가, 소정의 프로그램이 동작하기 위해 충분한지의 여부를 판정하고, 동작 환경의 콘피규레이션 정보가, 소정의 프로그램이 동작하기 위해 불충분한 경우에는, 에러 코드를 출력하도록 되어 있다.
이하, 전술한 도 19 및 도 20과 함께, 도 22의 플로우 차트를 참조하면서, 본 발명의 제 11 실시형태에 의한 콘피규레이션 정보의 정합성 체크 처리 동작에 관해 설명한다.
도 22에서, 스텝 S10, S15, S17 내지 S19, S29는, 전술(도 21 참조)한 것과 같은 처리이다.
우선, 프로그램 실행 수단(4G)에서, 축적 수단(6)으로부터 소정 프로그램(예를 들면, 코드화 파일(7b))의 로드를 시작하면(스텝 S10), 콘피규레이션 정합성 체크 수단(16)은, 콘피규레이션 정보(17a)(또는, 17b, 17c)가 검사장치(1G)의 콘피규레이션 정보와 완전하게 일치하고 있는지의 여부를 판정한다(스텝 S29).
스텝 S29에서, 예를 들면 콘피규레이션 정보(17a)가 검사장치(1G)의 H/W 구성과 완전하게 일치한다(즉, YES)고 판정되면, 코드화 파일(7b)을 판독한다(스텝 S15).
한편, 스텝 S29에서, 로드 대상 프로그램의 콘피규레이션 정보가 검사장치(1G)의 H/W 구성과 완전하게는 일치하지 않는(즉, NO)다고 판정되면, 계속해서 콘피규레이션 정보(17b 또는 17c)가 검사장치(1G)의 H/W 구성에서 몇개의 증설 보드를 삭제한 것과 일치하고 있는지의 여부를 판정한다(스텝 S29A).
스텝 S29A에서, 예를 들면 콘피규레이션 정보(17c)가, 검사장치(1G)의 H/W 구성에서 몇개의 증설 보드를 삭제한 것과 일치한다(즉, YES)고 판정되면, 콘피규레이션 정보(17c)에 해당하는 코드화 파일(7b")을 판독한다(스텝 S15).
도 20의 예에서는, 코드화 파일(7b")의 콘피규레이션 정보(17c)(증설 보드(18a))는, 검사장치(1G)의 H/W 구성에서 증설 보드(18b)를 삭제한 것과 일치한다.
한편, 스텝 S29A에서, 예를 들면 콘피규레이션 정보(17b)가, 검사장치(1G)의 H/W 구성으로부터 몇개의 증설 보드를 삭제한 것과도 일치하지 않는(즉, NO)다고 판정되면, 콘피규레이션 정보(17b)가 검사장치(1G)의 H/W 구성과 일치하지 않는 것을, 표시/조작 수단(12)의 화면상에 표시한다(스텝 S30A).
또한, 통신에 의해 다른 장치에 통지하고(스텝 S17), 검사장치(1G) 내의 디바이스에 에러 코드를 출력하고(스텝 S18), 검사장치(1G)를 정지시킨다(스텝 S19).
이상과 같이, 축적 수단(6) 내의 코드화 파일(7b)(도 20 참조)은, 콘피규레이션 정보(17a)가 검사장치(1G)의 보드 구성과 완전하게 일치하기 때문에, 코드화 파일(7b)을 검사장치(1G)에 판독할 수 있다.
또한, 축적 수단(6) 내의 코드화 파일(7b")은, 콘피규레이션 정보(17c)(증설 보드(18a))가 검사장치(1G)의 보드 구성에서 증설 보드(18b)를 삭제한 것과 일치하기 때문에, 코드화 파일(7b")을 검사장치(1G)에 판독할 수 있다.
전술한 제 10 실시형태에서는, 코드화 파일(7c)(도 20 참조)을 로드할 수 없었지만, 본 발명의 제 11 실시형태에서는, 코드화 파일(7c)을 검사장치(1G)에 로드할 수 있다.
한편, 축적 수단(6) 내의 코드화 파일(7b')은, 콘피규레이션 정보(17b)(증설 보드(18a, 18c))가 검사장치(1G)의 보드 구성에서 몇개의 증설 보드를 삭제하여도 일치하지 않고, 허용 범위를 넓혀도 에러로 되기 때문에, 코드화 파일(7b')을 검사장치(1G)에 판독할 수 없다.
예를 들면, 공장 등에서 가동하고 있는 검사장치에서, 새로운 기종을 검사하 기 위해, 추가의 증설 보드를 사용한 신규의 프로그램을 작성한 경우, 지금까지 가동하고 있던 기존 프로그램의 콘피규레이션 정보가 검사장치의 콘피규레이션 정보와는 다른 것으로 되어 버린다. 왜냐하면, 지금까지 가동하고 있던 기존 프로그램에서는, 추가의 증설 보드에 관한 기술이 없기 때문이다.
그러나, 추가의 증설 보드를 사용한 신규 프로그램을 작성한 경우라도, 본 발명의 제 11 실시형태에 의하면, 신규 프로그램의 콘피규레이션 정보가 검사장치의 H/W 구성과 완전하게는 일치하지 않았던 경우에, 다시, 검사장치의 H/W 구성에서 몇개의 증설 보드를 삭제한 구성과고 일치하는지의 여부의 체크를 행함에 의해, 지금까지 가동하고 있던 기존 프로그램을 변경하는 일 없고, 신규로 추가한 증설 보드를 사용한 프로그램(프로젝트)을 작성할 수 있다.
이와 같이, 본 발명의 제 11 실시형태에 의하면, 콘피규레이션 정합성 체크 수단(16)은, 로드 대상이 되는 소정 프로그램의 콘피규레이션 정보와 검사장치(1G)의 콘피규레이션 정보의 정합성 확인시에, 검사장치(1G)의 콘피규레이션 정보가, 소정의 프로그램이 동작하기 위해 충분한지의 여부를 판정하고, 소정의 프로그램이 동작하기 위해 불충분한 경우만에 에러 코드를 출력하기 때문에, 전술한 작용 효과에 더하여, 로드 대상 프로그램의 허용 범위를 넓힐 수 있다.
제 12 실시형태
또한, 상기 제 1 내지 11 실시형태에서는, 축적 수단(6)으로부터 로드된 소정 프로그램의 버전 정보(어플리케이션 버전 정보)의 정합성 체크에 관해 고려하지 않았지만, 버전 정보의 정합성 체크 기능을 마련하여도 좋다.
이하, 도 23의 플로우 차트를 참조하면서, 버전 정보의 정합성 체크 기능을 마련한 본 발명의 제 12 실시형태에 의한 처리 동작에 관해 설명한다.
도 23에서, 스텝 S10, S15, S17 내지 S19는, 전술(도 21, 도 22 참조)한 것과 같은 처리이다.
이 경우, 축적 수단(6)에 격납되어 있는 프로그램은, 자신이 동작하기 위한 동작 어플리케이션 버전 정보(이하, 단지 「버전 정보」라고 한다)를 포함하고, 검사장치 내의 프로그램 실행 수단은, 프로그램 로드 수단에 의한 축적 수단(6)으로부터의 소정 프로그램의 로드시에, 소정 프로그램의 버전 정보와 프로그램 실행 수단의 환경 어플리케이션 버전 정보(이하, 단지 「버전 정보」라고 한다)를 비교하여 정합성을 확인하고, 확인 결과가 부정합을 나타내는 경우에는 에러 코드를 출력하도록 되어 있다.
우선, 축적 수단(6)으로부터 소정 프로그램의 로드를 시작하고(스텝 S10), 로드되는 프로그램의 버전 정보와 로드 전의 실행 프로그램의 버전 정보가 일치하는지의 여부를 판정한다(스텝 S31).
즉, 프로그램 로드 전의 실행 프로그램과의 버전 정보가 같은지의 여부를 판정하고, 양자가 일치한다(즉, YES)고 판정되면, 코드화 파일을 판독한다(스텝 S15).
한편, 스텝 S31에서, 양자가 일치하지 않는다(즉, NO)고 판정되면, 버전 정보가 일치하지 않는 것을, 표시/조작 수단(12)의 화면상에 표시한다(스텝 S32).
또한, 통신에 의해 다른 장치에 통지함과 함께(스텝 S17), 검사장치 내의 디 바이스에 에러코드를 출력하고(스텝 S18), 검사 처리를 정지한다(스텝 S19).
또한, 전술한 바와 같이, 「어플리케이션」이란, 프로그래밍 소프트웨어(9)(또는, 9a, 9b)로 작성한 「프로그램」에 관한 것으로, 유저가 작성하는 프로그램은, 검사 대상에 따라 다르다. 따라서 검사 대상을 식별하기 위해, 개개의 「프로그램」에, 검사 대상에 응한 버전 정보가 부여되어 있다.
특히, 본 발명에서는, 복수의 유저가 프로그램을 분산하여 작성하기 때문에, 분산하여 작성한 프로그램이 동작하는지의 여부, 즉, 「기종 선택 프로그램(프로그램(10a))」과, 이 「기종 선택 프로그램」으로부터 호출되는 「Work1.iup(프로그램(10b))」(도 1, 도 3 참조)이 같은 한 목적으로 작성된 것인지의 여부를 판정하는 것이 중요해진다.
예를 들면, 어떤 유저가, 기종(A, B, C)을 검사 대상으로 한 「프로그램」을, 「기종 선택 프로그램」 및 「Work1.iup」으로 작성하고, 다른 유저가, 기종(D, E, F)을 검사 대상으로 한 「프로그램」을, 「기종 선택 프로그램」 및 「Work1.iup」으로 작성하였다고 한다.
이 경우, 「기종 선택 프로그램」에서, 「Work1.iup」의 취급이 잘못되면, 의도하지 않은 「Work1.iup」이 호출되어 버리는 것이 된다.
따라서 프로그램의 로드 미스를 미연에 방지하기 위해, 검사장치에의 로드 대상이 되는 프로그램에 버전 정보를 부여하는 것이 유효해진다.
즉 「기종 선택 프로그램」 및 「Work1.iup」의 양쪽에, 같은 버전 정보를 부여함에 의해, 프로그램 실행 수단이 의도하는 「Work1.iup」를 판별할 수 있다.
예를 들면, 어떤 유저는, 기종(A, B, C)을 검사 대상으로 하는 「프로그램」을 「기종 선택 프로그램」 및 「Work1.iup」으로 작성할 때, 각각 「버전 정보 ABC」를 부여하여 둔다.
한편, 다른 유저는, 기종(D, E, F)을 검사 대상으로 하는 「프로그램」을 「기종 선택 프로그램」 및 「Work1.iup」으로 작성할 때, 각각 「버전 정보 DEF」를 부여하여 둔다.
이로써, 「Workl.iup」의 취급을 잘못하여도, 「Work1.iup」가 호출될 때, 「버전 정보 ABC」의 「기종 선택 프로그램」으로부터 「버전 정보 DEF」의 「Work1.iup」가 호출되는 것을 체크할 수 있다.
이와 같이, 본 발명의 제 12 실시형태에 의하면, 축적 수단(6)에 격납되어 있는 프로그램은, 자신이 동작하기 위한 버전 정보(동작 어플리케이션 버전 정보)를 포함하고, 검사장치 내의 프로그램 실행 수단은, 프로그램 로드 수단에 의한 축적 수단(6)으로부터의 소정 프로그램의 로드시에, 소정 프로그램의 버전 정보와 프로그램 실행 수단의 버전 정보(환경 어플리케이션 버전 정보)를 비교하여, 양자의 정합성을 확인하고, 확인 결과가 부정합을 나타내는 경우에는, 에러 코드를 출력하기 때문에, 버전 정보가 잘못되어 있는 것을 유저에게 경보할 수 있다.
따라서 전술한 작용 효과에 더하여, 프로그램 로드시의 에러 처리를 실행함에 의해, 버전 차이에 의한 오동작을 방지할 수 있다.
또한, 전술한 제 10 및 11 실시형태와 같이 콘피규레이션 정보를 비교하는 것이 아니라, 프로그래밍중에 유저가 등록한 어플리케이션 버전 정보(기종 번호)가 일치하고 있는지의 여부에 따라, 콘피규레이션 정보의 판정을 행하는 것도 가능하다.
제 13 실시형태
또한, 상기 제 12 실시형태에서는, 축적 수단(6)으로부터의 프로그램 로드시에, 검사 대상마다 다른 어플리케이션 버전 정보의 정합성을 체크하였지만, 축적 수단(6)으로부터의 프로그램 로드시에, 프로그램 실행 수단의 F/W 버전 정보(업그레이드에 관한 버전 정보)에 대한 정합성을 체크하여도 좋다.
이하, 도면을 참조하면서, F/W 버전 정보의 정합성 체크 기능을 마련한 본 발명의 제 13 실시형태에 관해 설명한다.
도 24는 본 발명의 제 13 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도이다.
도 24에서, 전술한 것과 같은 것에 관해서는, 전술한 것과 동일 부호를 붙이고, 또는 부호의 뒤에 「H」를 붙이고 상세한 기술을 생략한다.
이 경우, 축적 수단(6) 내의 격납되어 있는 프로그램(코드화 파일(7b))은, 자신이 동작하기 위한 동작 F/W 버전 정보(이하, 단지 「F/W 버전 정보」라고 한다)로서, 프로그램 실행 수단(4H)의 환경 F/W 버전 정보(이하, 단지 「F/W 버전 정보」라고 한다)에 대응한 F/W 버전 정보(19)를 갖고 있다.
코드화 파일(7b) 내에 부가된 F/W 버전 정보(19)는, 자신의 코드를 실행하는데 충분한 F/W(프로그램 실행 수단(4H))의 버전 정보를 보존하고 있다.
또한, 검사장치(1H) 내의 프로그램 실행 수단(4H)은, 프로그램 로드 수 단(5H)에 의한 축적 수단(6)으로부터의 소정 프로그램의 로드시에, 소정 프로그램의 F/W 버전 정보(19)와, 프로그램 실행 수단(4H)이 동작하고 있는 F/W 버전 정보를 비교하여, 양자의 정합성을 확인하고, 확인 결과가 부정합을 나타내는 경우에는 에러 코드를 출력하도록 되어 있다.
다음에, 도 24와 함께 도 25의 플로우 차트를 참조하면서, 본 발명의 제 13 실시형태에 의한 로드 대상 프로그램(프로젝트)과 프로그램 실행 수단(4H)의 F/W)의 F/W 버전 정보의 정합성 체크 동작에 관해 설명한다. 도 25에서, 스텝 S10, S15, S17 내지 S19는, 전술(도 21 내지 도 23 참조)한 것과 같은 처리이다.
우선, 프로그램 실행 수단(4H)은, 축적 수단(6)으로부터 프로그램의 로드를 시작하고(스텝 S10), 코드화 파일(7b)의 F/W 버전 정보(19)와 검사장치(1H)의 F/W 버전 정보를 비교하여, F/W 버전 정보(19)가 검사장치(1H)의 F/W 버전 정보와 같은지, 또는 그 이하인지의 여부를 판정한다(스텝 S33).
스텝 S33에서, F/W 버전 정보(19)가 검사장치(1H)의 F/W 버전 정보 이하(즉, YES)라고 판정되면, 로드 대상 프로그램의 그레이드가 프로그램 실행 수단(4H)의 그레이드 이하이기 때문에 실행 가능하다고 간주하고, 코드화 파일(7b)을 판독한다(스텝 S133).
한편, 스텝 S33에서, F/W 버전 정보(19)가 검사장치(1H)의 F/W 버전 정보보다도 크다(즉, YES)고 판정되면, 로드 대상 프로그램의 그레이드가 프로그램 실행 수단(4H)의 그레이드보다도 높기 때문에 실행 불가능이라고 간주하고, 검사장치(1H) 내의 프로그램 실행 수단(4H)(F/W)이 대응하지 않는 것을, 표시/조작 수 단(12)의 화면상에 표시한다(스텝 S34).
또한, 통신에 의해 다른 장치에 통지하고(스텝 S17), 검사장치(1G) 내의 디바이스에 에러 코드를 출력하고(스텝 S18), 검사장치(1G)를 정지시킨다(스텝 S19).
또한, 전술한 바와 같이, 「F/W」란, 검사장치(1H) 내의 프로그램 실행 수단(4H)에 관한 것으로서, 검사 대상에 의해 변하는 일은 없다.
일반적으로, 검사장치(1H)(컨트롤러)를 업그레이드하는 경우, 프로그램 실행 수단(4H) 자체가 업그레이드하는 것으로 되기 때문에, 프로그램 실행 수단(4) 자체에도 F/W 버전 정보가 부여된(즉, 「F/W」에 버전 정보가 부여되는) 것이 바람직하다.
즉, 검사장치(1H)에는, 프로그램을 해석하고 동작시키는 F/W가 실장되어 있지만, 프로그램 로드시에 있어서 새롭게 판독하는 프로그램이, F/W로 서포트되지 않는 기능을 사용하고 있을 가능성이 있다.
그래서, 도 25와 같이, 프로그램의 로드 시작시에, 프로그램이 대응하는 F/W 버전 정보(19)와 검사장치(1H)의 F/W 버전 정보를 비교하여, F/W 버전 정보(19)가, 검사장치(1H)의 F/W 버전 정보 이하인 경우에는, 프로그램의 판독을 행하고, F/W 버전 정보(19)가 검사장치(1H)의 F/W 버전 정보보다도 큰 경우에는 에러 표시를 행함에 의해, 프로그램에서 상정되어 있는 기능을 사용할 수 없었던 경우의 프로그램 이상 동작을 미연에 방지할 수 있다.
예를 들면, 최신 버전의 F/W로 동작하도록 작성한 프로그램은, 오래된 버전의 F/W로 동작시키려고 하여도 올바르게 동작하지 않을 가능성이 있다.
그러나, 도 24와 같이, 프로그램 실행 수단(4H)에 다운로드된 프로그램이 F/W 버전 정보(19)를 갖고 있으면, 다운로드 대상이 되는 프로그램이 어느 버전의 F/W로 동작하도록 작성된 것인지를, 프로그램 실행 수단(4H)에서 사전에 확인할 수 있다.
이와 같이, 본 발명의 제 13 실시형태에 의하면, 축적 수단(6)에 격납되어 있는 프로그램은, 자신이 동작하기 위한 F/W 버전 정보(동작 F/W 버전 정보)(19)를 포함하고, 프로그램 실행 수단(4H)은, 프로그램 로드 수단(5H)에 의한 축적 수단(6)으로부터의 소정 프로그램의 로드시에, 소정 프로그램의 F/W 버전 정보(19)와, 프로그램 실행 수단(4H)이 동작하고 있는 F/W 버전 정보(환경 F/W 버전 정보)를 비교하여 정합성을 확인하고, 확인 결과가 부정합을 나타내는 경우에는 에러 코드를 출력하기 때문에, F/W 버전 정보(19)가 검사장치(1H)로 동작할 수 없는 것을 유저에게 경보할 수 있고, F/W 버전 정보의 차이에 의한 오동작을 방지할 수 있다.
제 14 실시형태
또한, 상기 제 1 내지 13 실시형태에서는, 프로그래밍 소프트웨어에서의 프로그램 작성시에 있어서의 콘피규레이션 정보의 반영에 관해 언급하지 않았지만, 프로그래밍 작성시에 외부(예를 들면, 검사장치)와의 사이에서 콘피규레이션 정보의 수수를 실행하여도 좋다.
도 26은 프로그래밍 소프트웨어에 콘피규레이션 정보의 수수 기능을 마련한 본 발명의 제 14 실시형태에 관한 프로그램 실행 시스템의 프로그램 작성부를 도시한 블록도이다.
도 26에서, 프로그래밍 소프트웨어(9)는, 콘피규레이션 정보(17)가 설정되는 프로그램(10), 외부에 대해 콘피규레이션 정보(17)의 수수를 행하기 위한 엑스포트 수단(20) 및 임포트 수단(21)을 구비하고 있다.
또한, 여기서는, 프로그래밍 소프트웨어(9), 프로그램(10), 콘피규레이션 정보(17)에 관해서는, 특히 한정되지 않는 대상인 것을 나타내기 위해 총칭적으로 숫자만을 붙이고 있다.
또한, 예를 들면 검사장치 내의 프로그램 실행 수단(도시 생략)은, 프로그래밍 소프트웨어(9)로부터의 엑스포트 처리에 의해 콘피규레이션 정보(17)를 보존하고, 검사장치 내의 메모리 영역에 로드된 프로그램(10)에 대해, 콘피규레이션 정보(17)를 반영시키도록 되어 있다.
콘피규레이션 정보(17)의 엑스포트 수단(20)은, 구체적으로는 프로그램(10)에 관련되는 검사장치의 H/W 구성이나 디바이스의 설정을 추출하는 수단이다.
또한, 콘피규레이션 정보(17)의 임포트 수단(21)은, 구체적으로는 이미 보존된 H/W 구성이나 디바이스의 설정을 프로그램(10)에 반영시키기 위한 수단이다.
또한, 여기서는 도시를 생략하지만, 본 발명의 제 14 실시형태에 의한 프로그래밍 시스템은, 전술(도 1 내지 도 4 참조)한 바와 같이, 프로그램 실행 시스템(4)에 의해 실행되는 프로그램(10)(적어도, 프로그램(10b)을 포함한다)을 작성하기 위한 프로그램 작성부(퍼스널 컴퓨터(8) 내의 프로그래밍 소프트웨어(9, 9a, 9b))를 구비하고 있다.
또한, 프로그램 작성 수단은, 코드화된 프로그램(10)을 코드화 파일로서 생 성하는 코드화 파일 생성 수단(11 또는 11b)을 포함하고, 프로그램(10)에서의 프로그램 호출 명령에 응답하여 호출되는 다른 프로그램을, 별도 코드화하여 코드화 파일로서 생성한다.
또한, 프로그래밍 소프트웨어(9) 내의 코드화 파일 생성 수단은, 콘피규레이션 정보(17)를 외부에 기록하는 엑스포트 수단(20)과, 외부에 기록된 콘피규레이션 정보(17)를 판독하는 임포트 수단(21)을 포함하고, 프로그램(10)으로부터의 호출 명령에 응답하여 호출되는 다른 프로그램을 작성할 때, 프로그램(10)을 작성한 때의 콘피규레이션 정보를, 다른 프로그램을 작성할 때 유용(流用)하도록 되어 있다.
도 27은 프로그래밍 소프트웨어(9)로부터 검사장치에의 콘피규레이션 정보(17)의 엑스포트 처리를 도시한 플로우 차트이고, 도 28은 프로그래밍 소프트웨어(9)에의 콘피규레이션 정보(17)의 임포트 처리를 도시한 플로우 차트이다.
이하, 도 26 및 도 27을 참조하면서, 본 발명의 제 14 실시형태에 의한 프로그래밍 소프트웨어(9)에서의 콘피규레이션 정보(17)의 엑스포트 처리 동작에 관해 설명한다.
도 27에서, 우선, 프로그래밍 소프트웨어(9)상에서 프로그램(10)을 작성하고(스텝 S35), 엑스포트 수단(20)을 통하여, 프로그래밍 소프트웨어(9)상에서 콘피규레이션 정보(17)의 엑스포트를 실행한다(스텝 S36).
최후로, 콘피규레이션 정보(17)를 파일로서 보존하고(스텝 S37), 도 27의 엑스포트 처리를 종료한다.
다음에, 도 26 및 도 28을 참조하면서, 본 발명의 제 14 실시형태에 의한 콘 피규레이션 정보(17)의 임포트 처리 동작에 관해 설명한다.
도 28에서, 우선, 프로그래밍 소프트웨어(9)상에서 프로그램을 작성하고(스텝 S35), 임포트 수단(21)을 통하여, 프로그래밍 소프트웨어(9)상에서 콘피규레이션 정보(17)의 임포트를 실행한다(스텝 S38).
다음에, 이미 콘피규레이션 정보(17)를 작성하고 있는지의 여부를 판정하고(스텝 S39), 콘피규레이션 정보(17)를 작성하지 않았다(즉, NO)고 판정되면, 콘피규레이션 정보(17)를 프로그램(10)에 반영시킨다(스텝 S40)
한편, 스텝 S39에서, 이미 콘피규레이션 정보(17)를 작성하고 있다(즉, YES)고 판정되면, 계속해서, 콘피규레이션 정보(17)를 재기록하는지의 여부를 판정한다(스텝 S41).
스텝 S41에서, 콘피규레이션 정보(17)를 재기록한다(즉, YES)고 판정되면, 콘피규레이션 정보(17)를 재기록하여 프로그램(10)에 반영시킨다(스텝 S40).
한편, 스텝 S41에서, 콘피규레이션 정보(17)를 재기록하지 않는다(즉, NO)고 판정되면, 콘피규레이션 정보(17)의 일부를 선택하고, 엑스포트 수단(20)을 통하여 엑스포트를 실행한 후(스텝 S42), 콘피규레이션 정보(17)를 프로그램(10)에 반영시킨다(스텝 S40).
일반적으로, 증설 보드를 사용하도록 기술된 프로그램(10)에서는, 프로그램(10)이 동작하는 검사장치 내에 사용 대상의 증설 보드가 삽입되어 있지 않으면, 프로그램(10)이 검사장치 내에서 정상적으로 동작할 수 없다.
또한, 프로그램(10)의 로드시에 있어서도, 로드된 프로그램(10)의 콘피규레 이션 정보와 검사장치의 콘피규레이션 정보가 다른 경우에는, 프로그램(10)은 정상적으로 동작하지 않는다.
따라서 하나의 프로그램(A)으로부터 프로그램 로드를 사용하여 로드된 프로그램(B)에는, 프로그램(A)과 같은 콘피규레이션 정보가 설정될 필요가 있다.
본 발명의 제 14 실시형태에 의하면, 콘피규레이션 정보(17)의 엑스포트/임포트 처리에 의해, 콘피규레이션 정보(17)를 일원 관리할 수 있다.
또한, 콘피규레이션 정보(17)의 공유화가 가능해짐과 함께, 프로그래밍시의 미스를 방지할 수도 있다.
다음에, 본 발명의 제 14 실시형태에 의한 효과에 관해, 구체적인 예를 들어 보충 설명한다.
우선, 검사장치의 제 1의 H/W 구성으로서, 슬롯「0」에 「RS232C 보드」가 삽입되고, 슬롯「1」에 「디지털 입출력 보드」가 삽입된 것을 고려한다.
또한, 검사장치의 제 2의 H/W 구성으로서, 슬롯「0」에 「아날로그 출력 보드」가 삽입된 것을 고려한다.
상기 각 구성예에 대해, 제 1의 H/W 구성에서 동작하는 프로그램(A)과, 제 2의 H/W 구성에서 동작하는 프로그램(B)을 작성한다.
여기서, 제 1의 H/W 구성의 검사장치에서, 프로그램(A)으로부터의 프로그램 로드에 의해, 프로그램(B)을 로드하여 실행하려고 한 경우를 상정한다.
이때, 프로그램(B)은, 슬롯「0」에 「아날로그 보드」가 삽입되어 있는 것을 전제로 프로그램되어 있음에도 불구하고, 검사장치의 슬롯「0」에는, 「RS232C 보 드」가 삽입되어 있기 때문에, 프로그램(B)이 정상적으로 동작할 수는 없다.
검사장치의 증설 보드의 구성을 변경하지 않고, 검사장치상에서 프로그램(A, B)을 동작시키기 위해서는, 제 3의 H/W 구성으로 하여, 슬롯「O」에 「RS232C 보드」가 삽입되고, 슬롯「1」에 「디지털 입출력 보드」가 삽입되고, 슬롯「3」에 「아날로그 보드」가 삽입된 것을 고려하여, 이 콘피규레이션 정보에 의해 프로그램(A, B)이 작성되어 있어야 한다.
본 발명의 제 14 실시형태에 의하면, 프로그램(A)이 동작하고 있는 검사장치에 프로그램(B)을 추가하는 경우에, 상기 제 3의 H/W 구성의 콘피규레이션 정보를 작성함에 의해, 프로그램(B)을 개발할 때 이미 작성된 콘피규레이션 정보를 활용할 수 있다.
이로써, 전술한 작용 효과에 더하여, 콘피규레이션 정보를 공유화하여, 콘피규레이션 정보를 일원 관리함과 함께, 프로그래밍시의 미스를 방지할 수 있다.
제 15 실시형태
또한, 상기 제 14 실시형태에서는, 보존된 콘피규레이션 정보를 필요에 따라 프로그램에 반영시켰지만, 링크에 의해 콘피규레이션 정보를 일원 관리하여도 좋다.
도 29는 본 발명의 제 15 실시형태에 관한 프로그램 실행 시스템의 프로그램 작성부를 도시한 블록도이다.
도 29에서, 프로그래밍 소프트웨어(9A)는, 콘피규레이션 정보가 설정되는 프로그램(10a)과, 콘피규레이션 정보 링크 수단(22)을 구비하고 있다.
콘피규레이션 정보 링크 수단(22)은, 구체적으로는, 콘피규레이션 정보를 참조하기 위한 참조처 파일을 설정하는 수단이고, 참조처 파일을 설정하여, 콘피규레이션 정보를 외부의 프로그램(10b)과의 사이에서 링크시킨다.
또한, 본 발명의 제 15 실시형태에 의한 프로그래밍 시스템도, 전술(도 1 내지 도 4 참조)한 것과 같은 구성을 갖고 있고, 프로그래밍 소프트웨어(9A) 내의 코드화 파일 생성 수단(11 또는 11b)은, 외부의 콘피규레이션 정보를 참조하는 콘피규레이션 정보 링크 수단(22)을 포함한다.
코드화 파일 생성 수단은, 프로그램(10a)으로부터의 호출 명령에 응답하여 호출되는 프로그램(10b)을 작성할 때, 프로그램(10a)을 작성한 때의 콘피규레이션 정보를, 프로그램(10b)을 작성할 때 유용하도록 되어 있다.
다음에, 도 29와 함께, 도 30의 플로우 차트를 참조하면서, 본 발명의 제 15 실시형태에 의한 콘피규레이션 정보의 링크 처리 동작에 관해 설명한다.
도 30에서, 스텝 S35는 전술(도 27 참조)한 것과 같은 처리이다.
우선, 프로그래밍 소프트웨어(9A)상에서, 프로그램(10a)을 작성한다(스텝 S35). 또한, 이 경우, 스텝 S35에서, 콘피규레이션 정보를 설정할 필요는 없다.
계속해서, 프로그래밍 소프트웨어(9A)상에서 콘피규레이션 정보의 참조처 파일을 설정한다(스텝 S43).
전술한 제 14 실시형태(도 26 내지 도 28 참조)에서는, 콘피규레이션 정보(17)에 변경이 있던 경우, 하나의 프로그램(10)을 수정하고, 콘피규레이션 정보(17)의 엑스포트 처리를 실행하고, 그 콘피규레이션 정보(17)를 임포트한 프로그 램(10)의 전부에 대해, 재차, 콘피규레이션 정보(17)의 임포트 처리를 실행하여야 하였다.
그러나, 본 발명의 제 15 실시형태에서는, 링크처의 프로그램(10b)의 콘피규레이션 정보만을 변경함으로써, 참조하고 있는 모든 프로그램(10b)에 콘피규레이션 정보의 변경을 적용할 수 있다.
따라서 콘피규레이션 정보의 변경을 잊음에 의한 이상을 회피함과 함께, 링크를 이용한 일원 관리에 의해, 콘피규레이션 정보를 변경할 수 있고, 편리성을 높일 수 있다.
다음에, 본 발명의 제 15 실시형태에 의한 효과에 관해, 구체적인 예를 들어 보충 설명한다.
우선, 프로그램(A)의 H/W 구성으로서, 슬롯「O」에 「RS232C 보드」가 삽입되고, 슬롯「1」에 「디지털 입출력 보드」가 삽입되어 있는 것으로 한다.
또한, 프로그램(A)에 링크되는 프로그램(B)의 H/W 구성으로서, 슬롯「2」에 「아날로그 출력 보드」가 삽입되어 있는 것으로 한다.
본 발명의 제 15 실시형태에 의하면, 프로그램(A)에 대응하는 검사장치의 H/W 구성으로서, 슬롯「0」에 「RS232C 보드」가 삽입되고, 슬롯「1」에 「디지털 입출력 보드」가 삽입됨과 함께, 슬롯「2」에 「아날로그 출력 보드」가 삽입된다.
또한, 상기 프로그램(A, B)을 작성하는 경우에, 프로그램(A)의 제 1의 H/W 구성에는, 사용하지 않는 슬롯「2」의 기술을 넣어 두고, 프로그램(B)에서는, 특히 H/W 구성을 기술하지 않고, 제 1의 H/W 구성을 링크하여 두고, 제 1의 H/W 구성을 사용한 프로그램(B)을 작성하여 간다.
이상과 같이, 본 발명의 제 15 실시형태에 의하면, 링크에 의해 콘피규레이션 정보를 일원 관리할 수 있다.
제 16 실시형태
또한, 상기 제 14 및 15 실시형태에서는, 특히 언급하지 않았지만, 프로그램(프로젝트)의 호출관계를 자동적으로 해석하도록 구성하여도 좋다.
도 31은 프로그램 해석 기능을 마련한 본 발명의 제 16 실시형태에 관한 프로그램 작성부의 주요부를 도시한 블록도이다.
도 31에서, 예를 들면 프로그램 작성부(전술한 퍼스널 컴퓨터(8), 또는 프로그래밍 소프트웨어(9, 9a))는, 프로그램 해석 수단(23)을 구비하고 있고, 프로그램 해석 수단(23)은 해석 결과 표시 수단(24)을 갖고 있다.
프로그램 해석 수단(23)에는 코드화 파일(7) 또는 프로그램(10)이 판독된다.
또한, 여기서는, 코드화 파일(7) 및 프로그램(10)에 관해서는, 특히 한정되지 않는 대상인 것을 나타내기 위해, 총칭적으로 숫자만을 붙이고 있다.
프로그램 해석 수단(23)은, 구체적으로는 프로그램(10)을 해석하여 프로그램 로드의 호출관계를 취득하는 수단이다.
해석 결과 표시 수단(24)은, 구체적으로는 프로그램(10)을 해석하여 얻어진 프로그램 로드의 호출관계를 표시하는 수단이다.
즉, 프로그램 해석 수단(23)은, 호출 명령에 응답하여 호출되는 프로그램(10)의 호출관계를 해석하고, 해석 결과 표시 수단(24)은 프로그램 해석 수 단(23)에 의해 얻어진 프로그램의 호출관계의 해석 결과를 표시하고, 이로써, 프로그램 작성부에 의해 작성된 프로그램(10) 또는 코드화 파일(7)을, 하나 이상 판독하여 해석하도록 되어 있다.
다음에, 도 31과 함께, 도 32의 플로우 차트를 참조하면서, 본 발명의 제 16 실시형태에 의한 프로그램(10)의 해석 처리에 관해 설명한다.
도 32에서, 우선, 프로그램 해석 수단(23)은, 프로그램(10)을 해석하고(스텝 S44), 계속해서, 해석 결과 표시 수단(24)은 해석하고 있는 프로그램(10)으로부터 호출되어 있는 프로그램명을 표시한다(스텝 S45).
또한, 여기서는, 설명을 생략하지만 코드화 파일(7)의 해석 처리도 같은 순서로 실행된다.
예를 들면, 전술(도 3 참조)한 프로그램(기종 선택 프로그램)(10a)에서는, DS0 디바이스의 값에 의해, 「work1.iup」, 「work2.iup」, 「work3.iup」, 「work4.iup」, 「work5.iup」를 호출할 수 있지만, 이대로는, 선택 내용(무엇이 호출되어 있는지)을 유저가 인식하기 위해서는 프로그램(10a) 속을 구체적으로 판독하여 보아야 한다.
즉, 상기한 바와 같은 프로그램(10a)의 호출관계를 확인하기 위해서는, 예를 들면 프로그램(10a)을 프로그래밍 소프트웨어(9, 9a)로 열어서, 내용을 확인할 필요가 있다. 또한, 프로그래밍 소프트웨어(9, 9a)에서는, 코드화 파일을 열어서 내용을 확인할 수 없다.
따라서 작성한 프로그램 수가 증가함에 따라, 각 프로그램의 호출관계를 파 악하는 것은 매우 곤란해진다.
그러나, 본 발명의 제 16 실시형태에 의하면, 도 3의 기종 선택 프로그램(10a)에서 호출되는 프로그램(work1.iup, work2.iup, work3.iup, work4.iup, work5.iup)이 해석 결과 표시 수단(24)상에 자동적으로 표시되기 때문에, 유저가 해석 결과를 일람할 수 있다.
따라서 프로그램(10)의 의존관계의 해석이 용이해짐과 함께, 코드화 파일(7)로부터도 의존관계를 확인할 수 있다.
이상과 같이, 본 발명의 제 16 실시형태에 의하면, 전술한 작용 효과에 더하여, 프로그램(10)의 호출관계를 용이하게 취득할 수 있다.
제 17 실시형태
또한, 상기 제 14 내지 16 실시형태에서는, 특히 언급하지 않았지만, 프로그램(프로젝트)의 의존관계를 자동적으로 관리하도록 구성하여도 좋다.
도 33은 프로그램 관리기능을 마련한 본 발명의 제 17 실시형태에 관한 프로그램 작성부의 주요부를 도시한 블록도이다.
도 33에서, 프로그램 작성부는, 관리 툴로서, 프로그램 관리 수단(25)을 구비하고 있고, 프로그램 관리 수단(25)은, 의존관계 표시 수단(26)을 갖고 있다.
프로그램 관리 수단(25)에는, 복수의 프로그램(10)(또는, 복수의 코드화 파일(7))이 등록된다.
프로그램 관리 수단(25)은, 구체적으로는 복수의 프로그램(10)이나 코드화 파일(7)을 관리하는 수단이다.
의존관계 표시 수단(26)은, 구체적으로는 프로그램 관리 수단(25)에 등록된 프로그램(10)이나 코드화 파일(7)의 의존관계를 표시하는 수단이다.
즉, 프로그램 관리 수단(25)은, 프로그램(10) 또는 코드화 파일(7)을 어플리케이션마다 등록하여 관리하고, 의존관계 표시 수단(26)은, 등록된 프로그램(10) 또는 코드화 파일(7)을 어플리케이션마다 표시하고, 이로써, 프로그램 작성부에 의해 작성된 프로그램(10) 또는 코드화 파일(7)을 하나 이상 관리하도록 되어 있다.
다음에, 도 33과 함께, 도 34의 플로우 차트를 참조하면서, 본 발명의 제 17 실시형태에 의한 프로그램(프로젝트)의 관리 처리에 관해 설명한다.
도 34에서, 우선, 프로그램 관리 수단(25)에 프로그램(10) 및 코드화 파일(7)을 등록한다(스텝 S46).
이때, 프로그램 관리 수단(25)에는, 복수의 프로그램(10) 및 복수의 코드화 파일(7)을 등록하여도 좋다.
계속해서, 의존관계 표시 수단(26)상에, 프로그램 관리 수단(25)의 호출관계를 표시함과 함께(스텝 S47), 등록한 프로그램(10) 및 코드화 파일(7)에 관한 호출관계를 표시한다(스텝 S48).
일반적으로, 작성한 프로그램(10)의 수가 증가함에 따라, 각 프로그램(10)의 호출관계를 파악하는 것은 극히 곤란해진다.
전술한 제 16 실시형태에서는, 하나하나의 프로그램(10) 또는 코드화 파일(7)에 대해, 해석 결과로서 호출관계를 표시하였지만, 본 발명의 제 17 실시형태에 의하면, 최초에 조사하고 싶은 복수의 프로그램(10) 및 코드화 파일(7)을 등록 함에 의해, 전체의 의존관계가 표시되기 때문에 전체의 해석이 용이해진다.
이로써, 검사장치 내에서 동작하고 있는 프로그램(10)의 전부에 관해, 프로그램(10)의 호출관계를 용이하게 취득하여 조사하는 것이 용이해지고, 조사 누락을 방지할 수 있다.
제 18 실시형태
또한, 상기 제 17 실시형태에서는, 콘피규레이션 정보의 변경에 관해 고려하지 않았지만, 프로그램 관리 수단(25)(도 33 참조)에서 관리되어 있는 경우에, 콘피규레이션 정보의 수정을 행하면, 모든 관련된 프로그램(10)이 자동적으로 업데이트되도록 하여도 좋다.
이하, 도 33을 참조하면서, 자동적인 프로그램 업데이트 기능을 마련한 본 발명의 제 18 실시형태에 관해 설명한다.
본 발명의 제 18 실시형태에 의한 프로그램 작성부는, 콘피규레이션 일괄 갱신 수단(도시 생략)을 또한 구비하고 있고, 어플리케이션마다 등록되어 있는 모든 프로그램(10)이나 코드화 파일(7)에 대해, 콘피규레이션 정보를 일괄하여 갱신하도록 되어 있다.
여기서, 구체적인 예로서, 프로그램(10)의 H/W 구성이, 제 1의 구성(슬롯「0」에 「RS232C 보드」가 삽입되고, 슬롯「1」에 「디지털 입출력 보드」가 삽입된 상태)으로부터, 제 2의 구성(슬롯「3」으로 「아날로그 보드」가 삽입된 상태)로 추가된 경우를 고려한다.
즉, 이미 공장 등에서 가동하고 있는 검사장치에서, 새로운 기종을 검사하기 위해, 추가로 증설 보드를 사용한 프로그램을 작성한 경우, 지금까지 가동하고 있던 프로그램(A) 그대로는, 추가의 증설 보드에 관한 기술이 없기 때문에, 지금까지 가동하고 있던 프로그램(A)의 콘피규레이션 정보가, 추가로 증설 보드를 사용한 검사장치의 콘피규레이션 정보와는 달라져 버린다.
그러나, 본 발명의 제 18 실시형태에 의하면, 콘피규레이션 일괄 갱신 수단을 마련하였기 때문에, 프로그램 관리 수단(25)에서 관리되고 있는 경우에, 콘피규레이션 정보의 수정이 행해지면, 모든 관련된 프로그램(10)이 자동적으로 업데이트되게 되고, 프로그램(10)의 호출관계를 용이하게 취득할뿐만 아니라, 용이하게 콘피규레이션 정보를 공유화할 수 있다.
제 19 실시형태
또한, 상기 제 16 실시형태(도 31 참조)에서는, 전술한 제 14 및 15 실시형태의 프로그램 작성부에 프로그램 해석 수단(23)을 설치한 경우에 관해 설명하였지만, 프로그램 해석 수단(23)을 구비한 프로그램 해석 시스템을 구성하여도 좋다.
즉, 본 발명의 제 19 실시형태에 관한 프로그램 해석 시스템은, 프로그램 작성부(프로그래밍 시스템)에 의해 작성된 프로그램(10) 또는 코드화 파일(7)(도 31 참조)을 하나 이상 판독하여 해석하기 때문에, 호출 명령에 응답하여 호출되는 프로그램(10)의 호출관계를 해석하는 프로그램 해석 수단(22)과, 프로그램 해석 수단(22)에 의해 얻어진 프로그램의 호출관계의 해석 결과를 표시하는 해석 결과 표시 수단(24)을 구비하고 있다.
이로써, 상기 제 16 실시형태와 같은 작용 효과를 이루는 프로그램 해석 시 스템을 실현할 수 있다.
제 20 실시형태
또한, 상기 제 17 실시형태(도 33 참조)에서는, 전술한 제 14 내지 16 실시형태의 프로그램 작성부에 프로그램 관리 수단(25)을 마련한 경우에 관해 설명하였지만, 프로그램 관리 수단(25)을 구비한 프로그램 해석 시스템을 구성하여도 좋다.
즉, 본 발명의 제 19 실시형태에 관한 프로그램 해석 시스템은, 프로그램 작성부(프로그래밍 시스템)에 의해 작성된 프로그램(10) 또는 코드화 파일(7)(도 33 참조)을 하나 이상 관리하기 위해, 프로그램(10) 또는 코드화 파일(7)을 어플리케이션마다 등록하여 관리하는 프로그램 관리 수단(25)과, 등록된 프로그램(10) 또는 코드화 파일(7)의 의존관계를 어플리케이션마다 표시하는 의존관계 표시 수단(26)을 구비하고 있다.
이로써, 상기 제 17 실시형태와 같은 작용 효과를 이루는 프로그램 해석 시스템을 실현할 수 있다.
제 21 실시형태
또한, 상기 제 20 실시형태에 관한 프로그램 해석 시스템에 대해, 또한 콘피규레이션 일괄 갱신 수단을 마련하고, 어플리케이션마다 등록되어 있는 모든 프로그램(10)이나 코드화 파일(7)에 대해, 콘피규레이션 정보를 일괄하여 갱신하도록 하여도 좋다.
이로써, 상기 제 18 실시형태와 같은 작용 효과를 이루는 프로그램 해석 시스템을 실현할 수 있다.
제 22 실시형태
또한, 상기 제 1 내지 13 실시형태(도 1 내지 도 25 참조)에서는, 축적 수단(6) 및 프로그램 실행 수단(4)(또는, 1A 내지 1H)을 구비한 프로그램 실행 시스템에 관해 설명하였지만, 상기 제 1 내지 13 실시형태에 관한 프로그램 실행 시스템을 구비한 검사장치를 구성하여도 좋다.
이로써, 상기 제 1 내지 13 실시형태와 같은 작용 효과를 이루는 검사장치를 실현할 수 있다.
제 23 실시형태
또한, 상기 제 14 내지 18 실시형태에 관한 프로그래밍 시스템을 구비한 검사장치용 프로그램 작성 시스템을 구성하여도 좋다.
이로써, 상기 제 14 내지 18 실시형태와 같은 작용 효과를 이루는 검사장치용 프로그램 작성 시스템을 실현할 수 있다.
제 24 실시형태
또한, 상기 제 1 내지 14 실시형태에 관한 프로그램 실행 시스템과, 상기 제 15 내지 18 실시형태에 관한 프로그래밍 시스템을 구비한 검사장치용 프로그램 작성 시스템을 구성하여도 좋다.
이로써, 상기 제 1 내지 18 실시형태와 같은 작용 효과를 이루는 검사장치 시스템을 실현할 수 있다.
본 발명에 의하면, 미리 프로그래밍 소프트웨어로 생성된 코드화 파일(제 2 의 프로그램)을 축적 수단으로부터 판독하여 메모리 영역에 로드하고, 동작중의 제 1의 프로그램과 교체하여 동작시킴에 의해, 각 프로그램의 거대화를 회피하여 분산개발 및 병렬개발을 가능하게 하고, 검사 대상 기종을 효율적이고 또한 용이하게 추가할 수 있다.

Claims (20)

  1. 코드화된 제 1의 프로그램을 보존하는 코드 보존 수단과, 상기 코드 보존 수단으로 보존되어 있는 제 1의 프로그램이 전개되는 메모리 영역과, 상기 메모리 영역에 전개된 제 1의 프로그램을 실행하는 프로그램 실행 수단을 구비한 프로그램 실행 시스템에 있어서, 코드화된 제 2의 프로그램을 코드화 파일로서 격납하는 축적 수단을 또한 구비하고, 상기 프로그램 실행 수단은, 상기 축적 수단에 코드화 파일로서 격납되어 있는 상기 제 2의 프로그램을 상기 메모리 영역에 로드하기 위한 프로그램 로드 수단을 포함하고, 상기 프로그램 실행 수단은, 상기 메모리 영역에 전개된 상기 제 1의 프로그램을 실행하고 있는 동작중에, 상기 축적 수단 내의 상기 제 2의 프로그램에 대한 호출 명령에 응답하여, 상기 축적 수단 내의 상기 제 2의 프로그램을 상기 메모리 영역에 로드하여, 상기 제 2의 프로그램을 실행하는 프로그램 실행 시스템에 의해, 실행되는 적어도 상기 제 2의 프로그램을 작성하기 위한 프로그램 작성 수단을 구비한 프로그래밍 시스템에 있어서,
    상기 프로그램 작성 수단은, 상기 프로그램 실행 시스템이 해석하여 실행할 수 있는 형식으로 컴파일되어 코드화된 상기 제 2의 프로그램을, 상기 프로그램 실행 시스템이 상기 제 1의 프로그램의 작동 중에 상기 축적 수단으로부터 로드하여 실행할 수 있도록, 코드화 파일로서 생성하는 코드화 파일 생성 수단을 포함하고,
    상기 제 1의 프로그램에서의 프로그램에 대한 호출 명령에 응답하여 호출되는 상기 제 2의 프로그램을, 상기 코드화 파일 생성 수단에 의해 별도 코드화하여 상기 코드화 파일로서 생성하는 것을 특징으로 하는 프로그래밍 시스템.
  2. 삭제
  3. 삭제
  4. 제 1항에 있어서,
    상기 프로그램 작성 수단에 의해 작성된 프로그램 또는 코드화 파일을, 하나 이상 판독하고 해석하기 때문에, 호출 명령에 응답하여 호출되는 프로그램의 호출관계를 해석하는 프로그램 해석 수단과,
    상기 프로그램 해석 수단에 의해 얻어진 프로그램의 호출관계의 해석 결과를 표시하는 해석 결과 표시 수단을 또한 구비한 것을 특징으로 하는 프로그래밍 시스템.
  5. 제 1항에 있어서,
    상기 프로그램 작성 수단에 의해 작성된 프로그램 또는 코드화 파일을, 하나 이상 관리하기 위해,
    상기 프로그램 또는 상기 코드화 파일을 어플리케이션마다 등록하여 관리하는 프로그램 관리 수단과,
    상기 프로그램 관리 수단에 등록된 프로그램 또는 코드화 파일의 의존관계를 어플리케이션마다 표시하는 의존관계 표시 수단을 또한 구비한 것을 특징으로 하는 프로그래밍 시스템.
  6. 제 5항에 있어서,
    상기 어플리케이션마다 등록되어 있는 모든 프로그램이나 코드화 파일에 대해, 콘피규레이션 정보를 일괄하여 갱신하기 위한 콘피규레이션 일괄 갱신 수단을 또한 구비한 것을 특징으로 하는 프로그래밍 시스템.
  7. 제 1항에 있어서,
    상기 축적 수단은, 하드 디스크 또는 메모리 카드에 의해 구성된 것을 특징 으로 하는 프로그래밍 시스템.
  8. 제 1항에 있어서,
    상기 축적 수단은, 상기 제 2의 프로그램에 더하여, 상기 제 1 프로그램을 코드화 파일로서 격납하고 있고,
    상기 프로그램 실행 수단은,
    상기 메모리 영역에 로드된 상기 제 1의 프로그램을 실행하고 있는 동작중에, 상기 축적 수단 내의 상기 제 2의 프로그램에 대한 호출 명령에 응답하여, 상기 축적 수단 내의 상기 제 2의 프로그램을 상기 메모리 영역에 로드하여 교체하고,
    상기 제 2의 프로그램을 실행하고,
    상기 제 2의 프로그램을 실행하고 있는 동작 중에, 상기 축적 수단 내의 상기 제 1의 프로그램에 대한 호출 명령에 응답하여, 상기 축적 수단 내의 상기 제 1의 프로그램을 상기 메모리 영역에 로드하여 교체하고, 상기 제 1의 프로그램을 실행하는 것을 특징으로 하는 프로그래밍 시스템.
  9. 제 1항에 있어서,
    상기 프로그램 실행 수단은,
    상기 메모리 영역에 전개된 프로그램을 실행하고 있는 동작중에, 상기 축적 수단에 코드화 파일로서 격납되어 있는 프로그램중 해당하는 실행 부분에 대한 호출 명령에 응답하고, 상기 축적 수단에 격납된 프로그램중에서부터 상기 해당하는 실행 부분에 대응하는 프로그램 실행 단위를 상기 메모리 영역에 로드하여, 상기 프로그램 실행 단위를 실행하는 것을 특징으로 하는 프로그래밍 시스템.
  10. 제 1항에 있어서,
    상기 제 2의 프로그램은, 상기 프로그램 실행 시스템에 대한 초기화 정보를 포함하고,
    상기 프로그램 로드 수단은, 상기 축적 수단으로부터의 상기 제 2의 프로그램의 로드시에, 상기 초기화 정보에 의거하여, 초기화를 실행하는 것을 특징으로 하는 프로그래밍 시스템.
  11. 제 1항에 있어서,
    상기 프로그램 실행 수단은,
    상기 프로그램 로드 수단에 의한 상기 축적 수단으로부터의 소정 프로그램의 로드시에, 상기 소정의 프로그램이 상기 축적 수단에 존재하는지의 여부를 확인하고,
    호출 명령에 응답하는 상기 소정의 프로그램이 상기 축적 수단 내에 존재하지 않는 경우에는, 에러 처리를 실행하는 것을 특징으로 하는 프로그래밍 시스템.
  12. 제 1항에 있어서,
    소정 프로그램에 대한 호출 명령을 이용한 프로그램은, 상기 호출 명령에 응답하는 상기 소정의 프로그램이 격납되어 있는 상기 축적 수단에 관한 판독처 정보를 포함하고,
    상기 프로그램 실행 수단은, 상기 판독처 정보에 응하여, 상기 소정 프로그램의 판독처를 개별적으로 변경하는 것을 특징으로 하는 프로그래밍 시스템.
  13. 제 1항에 있어서,
    상기 프로그램 실행 수단은, 프로그램 로드 이력 보존 수단을 포함하고,
    상기 프로그램 로드 이력 보존 수단은, 상기 축적 수단 내의 소정 프로그램에 대한 호출 명령에 응답하여, 상기 프로그램 실행 수단이 상기 축적 수단 내의 상기 소정 프로그램을 상기 메모리 영역에 로드하여 실행할 때, 상기 소정의 프로그램이 로드된 것을 이력으로서 보존하는 것을 특징으로 하는 프로그래밍 시스템.
  14. 제 1항에 있어서,
    상기 프로그램 실행 수단은, 프로그램 업로드 수단을 포함하고,
    상기 프로그램 업로드 수단은, 상기 프로그램 실행 수단이 실행중 프로그램을, 상기 축적 수단에 업로드하는 것을 특징으로 하는 프로그래밍 시스템.
  15. 제 14항에 있어서,
    상기 프로그램 실행 수단은,
    상기 프로그램 업로드 수단에 의한 상기 축적 수단으로의 프로그램 업로드시에, 상기 축적 수단에 업로드되는 상기 프로그램에 대해 어플리케이션 버전 정보를 부가하는 것을 특징으로 하는 프로그래밍 시스템.
  16. 제 1항에 있어서,
    상기 축적 수단에 격납되어 있는 프로그램은, 자신이 동작하기 위한 동작 콘피규레이션 정보를 포함하고,
    상기 프로그램 실행 수단은, 콘피규레이션 정합성 체크 수단을 포함하고,
    상기 콘피규레이션 정합성 체크 수단은, 상기 프로그램 로드 수단에 의한 상기 축적 수단으로부터의 소정 프로그램의 로드시에, 상기 소정 프로그램의 동작 콘피규레이션 정보와, 상기 프로그램 실행 수단이 동작하고 있는 환경 콘피규레이션 정보가 일치하는지의 여부를 확인하고, 확인 결과가 불일치를 나타내는 경우에는 에러 처리를 실행하는 것을 특징으로 하는 프로그래밍 시스템.
  17. 제 16항에 있어서,
    상기 콘피규레이션 정합성 체크 수단은,
    상기 동작 콘피규레이션 정보와 상기 환경 콘피규레이션 정보의 정합성 확인시에, 상기 환경 콘피규레이션 정보가, 상기 소정의 프로그램이 동작하기 위해 충분한지의 여부를 판정하고,
    상기 환경 콘피규레이션 정보가, 상기 소정의 프로그램이 동작하기 위해 불충분한 경우에는, 에러 처리를 실행하는 것을 특징으로 하는 프로그래밍 시스템.
  18. 제 1항에 있어서,
    상기 축적 수단에 격납되어 있는 프로그램은, 자신이 동작하기 위한 동작 어플리케이션 버전 정보를 포함하고,
    상기 프로그램 실행 수단은, 상기 프로그램 로드 수단에 의한 상기 축적 수단으로부터의 소정 프로그램의 로드시에, 상기 소정 프로그램의 동작 어플리케이션 버전 정보와 상기 프로그램 실행 수단의 환경 어플리케이션 버전 정보를 비교하여 정합성을 확인하고, 확인 결과가 부정합을 나타내는 경우에는 에러 처리를 실행하는 것을 특징으로 하는 프로그래밍 시스템.
  19. 제 1항에 있어서,
    상기 축적 수단에 격납되어 있는 프로그램은, 자신이 동작하기 위한 동작 F/W 버전 정보를 포함하고,
    상기 프로그램 실행 수단은, 상기 프로그램 로드 수단에 의한 상기 축적 수단으로부터의 소정 프로그램의 로드시에, 상기 소정 프로그램의 동작 F/W 버전 정보와, 상기 프로그램 실행 수단이 동작하고 있는 환경 F/W 버전 정보를 비교하여 정합성을 확인하고, 확인 결과가 부정합을 나타내는 경우에는 에러 처리를 실행하는 것을 특징으로 하는 프로그래밍 시스템.
  20. 삭제
KR1020070003797A 2005-06-21 2007-01-12 프로그램 실행 시스템을 위한 프로그래밍 시스템 및검사장치용 프로그램 작성 시스템 KR101010489B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070003797A KR101010489B1 (ko) 2005-06-21 2007-01-12 프로그램 실행 시스템을 위한 프로그래밍 시스템 및검사장치용 프로그램 작성 시스템

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00180777 2005-06-21
KR1020070003797A KR101010489B1 (ko) 2005-06-21 2007-01-12 프로그램 실행 시스템을 위한 프로그래밍 시스템 및검사장치용 프로그램 작성 시스템

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020050089156A Division KR100787323B1 (ko) 2005-06-21 2005-09-26 프로그램 실행 시스템

Publications (2)

Publication Number Publication Date
KR20070023798A KR20070023798A (ko) 2007-02-28
KR101010489B1 true KR101010489B1 (ko) 2011-01-21

Family

ID=43655002

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070003797A KR101010489B1 (ko) 2005-06-21 2007-01-12 프로그램 실행 시스템을 위한 프로그래밍 시스템 및검사장치용 프로그램 작성 시스템

Country Status (1)

Country Link
KR (1) KR101010489B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8159585B2 (en) 2007-05-01 2012-04-17 Omnivision Technologies, Inc. Image sensor pixel with gain control

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0756743A (ja) * 1993-08-17 1995-03-03 Inter Sci Kk モジュ−ル管理方法および装置
KR20010006947A (ko) * 1999-04-02 2001-01-26 마찌다 가쯔히꼬 비휘발성 메모리가 내장된 마이크로컴퓨터
KR20010006749A (ko) * 1999-03-09 2001-01-26 윌리엄 비. 켐플러 설치된 모든 대용량 저장 장치들의 리부트/파워 온리컨피그레이션을 최종 사용한 컨피그레이션과 동일하게하도록 각각의 대용량 저장 장치의 비휘발성 메모리에시스템 레벨 대용량 저장 컨피그레이션 데이터를 저장하는장치 및 방법
JP2001195238A (ja) 2000-01-06 2001-07-19 Internatl Business Mach Corp <Ibm> アプリケーションの起動方法、アプリケーションの起動のためのソフトウエア・プロダクト

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0756743A (ja) * 1993-08-17 1995-03-03 Inter Sci Kk モジュ−ル管理方法および装置
KR20010006749A (ko) * 1999-03-09 2001-01-26 윌리엄 비. 켐플러 설치된 모든 대용량 저장 장치들의 리부트/파워 온리컨피그레이션을 최종 사용한 컨피그레이션과 동일하게하도록 각각의 대용량 저장 장치의 비휘발성 메모리에시스템 레벨 대용량 저장 컨피그레이션 데이터를 저장하는장치 및 방법
KR20010006947A (ko) * 1999-04-02 2001-01-26 마찌다 가쯔히꼬 비휘발성 메모리가 내장된 마이크로컴퓨터
JP2001195238A (ja) 2000-01-06 2001-07-19 Internatl Business Mach Corp <Ibm> アプリケーションの起動方法、アプリケーションの起動のためのソフトウエア・プロダクト

Also Published As

Publication number Publication date
KR20070023798A (ko) 2007-02-28

Similar Documents

Publication Publication Date Title
US7831320B2 (en) Parameter setting device
JP5039428B2 (ja) プログラマブルコントローラ及びplcシステム
KR100787323B1 (ko) 프로그램 실행 시스템
US20030212983A1 (en) Method and system for modifying executable code to add additional functionality
US8381173B2 (en) Platform-independent method and system for deploying control logic programming
JPH10283189A (ja) 内蔵実行可能アプリケーション及びコンピュータ読み取り可能な記憶媒体並びに内蔵実行可能アプリケーションの作成方法及びその作成システム
US20180210415A1 (en) Support device, method, and recording medium whereon support program is stored
CN112711403B (zh) 游戏开发同步的方法、装置、计算机设备和存储介质
US20100312541A1 (en) Program test device and program
JP2008276690A (ja) 開発システム、開発システムのサーバ、開発方法
JP2017142794A (ja) プログラマブルコントローラシステム、そのコントローラ、支援装置、hci装置、二重化コントローラシステム
JP6442131B2 (ja) 制御システムおよび制御装置
CN114924737A (zh) 一种电池管理系统源代码集成测试方法、测试装置及电子设备
JP2007095107A (ja) パラメータ設定装置
KR101010489B1 (ko) 프로그램 실행 시스템을 위한 프로그래밍 시스템 및검사장치용 프로그램 작성 시스템
US20150355997A1 (en) Server-Platform Simulation Service
CN107902507B (zh) 控制软件现场调试系统以及调试方法
JP5052472B2 (ja) プログラムの設定情報切替システム及び切替方法
CN113094251A (zh) 嵌入式系统测试方法、装置、计算机设备和存储介质
US20150033213A1 (en) Compiling method, storage medium and compiling apparatus
CN115629815A (zh) 可验证emmc用户接口的fpga原型验证平台
CN114281390A (zh) 一种基于Zynq 7000的在线升级系统及方法
JP2006302066A (ja) リモート実行機能を備えたメンテナンスシステムおよびその方法
CN114090189A (zh) 一种基于流水线的构建部署管理方法及系统
CN109019217B (zh) 一种电梯控制软件现场调试系统

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20131218

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee