KR100787323B1 - Program executing system - Google Patents
Program executing system Download PDFInfo
- Publication number
- KR100787323B1 KR100787323B1 KR1020050089156A KR20050089156A KR100787323B1 KR 100787323 B1 KR100787323 B1 KR 100787323B1 KR 1020050089156 A KR1020050089156 A KR 1020050089156A KR 20050089156 A KR20050089156 A KR 20050089156A KR 100787323 B1 KR100787323 B1 KR 100787323B1
- Authority
- KR
- South Korea
- Prior art keywords
- program
- storage means
- inspection apparatus
- configuration information
- file
- Prior art date
Links
- 238000003860 storage Methods 0.000 claims abstract description 130
- 230000015654 memory Effects 0.000 claims abstract description 74
- 238000000034 method Methods 0.000 claims description 59
- 230000008569 process Effects 0.000 claims description 46
- 238000009825 accumulation Methods 0.000 claims description 38
- 230000004044 response Effects 0.000 claims description 32
- 230000007613 environmental effect Effects 0.000 claims description 4
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 28
- 238000012360 testing method Methods 0.000 abstract description 13
- 238000007689 inspection Methods 0.000 description 207
- 238000010586 diagram Methods 0.000 description 31
- 238000012545 processing Methods 0.000 description 31
- 230000006870 function Effects 0.000 description 18
- 230000000694 effects Effects 0.000 description 16
- 238000004458 analytical method Methods 0.000 description 14
- 230000008859 change Effects 0.000 description 13
- 230000008676 import Effects 0.000 description 11
- 230000033001 locomotion Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 4
- 238000004321 preservation Methods 0.000 description 4
- 102220502164 TP53-binding protein 1_S29A_mutation Human genes 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000007257 malfunction Effects 0.000 description 3
- 102220615152 Calcyphosin_S25A_mutation Human genes 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011112 process operation Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 102220615150 Calcyphosin_S10A_mutation Human genes 0.000 description 1
- 102220615148 Calcyphosin_S24A_mutation Human genes 0.000 description 1
- 102220559233 Voltage-dependent L-type calcium channel subunit alpha-1C_S30A_mutation Human genes 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent 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
과제assignment
개개의 프로그램의 거대화를 회피하고, 분산개발 및 병렬개발을 가능하게 하고, 검사 대상 기종을 효율적이고 또한 용이하게 추가할 수 있는 프로그램 실행 시스템을 얻는다. The program execution system which can avoid the huge of individual programs, enables distributed development and parallel development, and can add the model to test efficiently and easily.
해결 수단Resolution
프로그램(10a, 10b)을 작성하기 위한 프로그래밍 소프트웨어(9)와, 코드화된 프로그램(10a)을 보존하는 코드 보존 수단(2)과, 프로그램(10b)의 코드화 파일(7b)을 격납하는 축적 수단(6)과, 실행 대상이 되는 프로그램이 전개되는 메모리 영역(3)과, 프로그램을 실행하기 위한 프로그램 실행 수단(4)과, 코드 보존 수단(2), 메모리 영역(3) 및 프로그램 실행 수단(4)을 탑재하는 검사장치(1)를 구비하고, 프로그램 실행 수단(4)은, 프로그램 로드 수단(5)을 포함한다. 프로그램 로드 수단(5)은, 프로그램(10a)의 동작중에, 프로그램(10b)에 대한 호출 명령에 응답하고 축적 수단(6)으로부터 메모리 영역(3)에 프로그램(10b)을 로드한다. Programming software 9 for creating programs 10a and 10b, code storage means 2 for storing coded program 10a, and storage means for storing coded file 7b of program 10b ( 6), a memory region 3 in which a program to be executed is developed, a program executing means 4 for executing a program, a code storing means 2, a memory region 3, and a program executing means 4 Is provided, and the program execution means 4 includes the program load means 5. The program loading means 5 responds to a call instruction to the program 10b during the operation of the program 10a and loads the program 10b from the storage means 6 into the memory area 3.
프로그램, 프로그램 실행 시스템 Program, program execution system
Description
도 1은 본 발명의 제 1 실시형태에 관한 프로그램 실행 시스템을 도시한 블록도. 1 is a block diagram showing a program execution system according to a first embodiment of the present invention.
도 2는 본 발명의 제 1 실시형태에 관한 프로그램 실행 시스템을 도시한 블록도. 2 is a block diagram showing a program execution system according to the first embodiment of the present invention.
도 3은 본 발명의 제 1 실시형태에 관한 기종 선택 프로그램을 도식적으로 도시한 설명도. 3 is an explanatory diagram schematically showing a model selection program according to the first embodiment of the present invention.
도 4는 본 발명의 제 1 실시형태에 관한 프로그램 처리 동작을 도시한 플로우 차트. 4 is a flowchart showing a program processing operation according to the first embodiment of the present invention.
도 5는 본 발명의 제 2 실시형태에 관한 프로그램 실행 시스템을 도시한 블록도. 5 is a block diagram showing a program execution system according to a second embodiment of the present invention.
도 6은 본 발명의 제 2 실시형태에 관한 프로그램 처리 동작을 도시한 플로우 차트. 6 is a flowchart showing a program processing operation according to the second embodiment of the present invention.
도 7은 본 발명의 제 3 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도. Fig. 7 is a block diagram showing main parts of a program execution system according to a third embodiment of the present invention.
도 8은 본 발명의 제 3 실시형태에 관한 프로그램 처리 동작을 도시한 플로우 차트. 8 is a flowchart illustrating a program processing operation according to the third embodiment of the present invention.
도 9는 본 발명의 제 4 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도. Fig. 9 is a block diagram showing main parts of a program execution system according to a fourth embodiment of the present invention.
도 10은 본 발명의 제 4 실시형태에 관한 프로그램 처리 동작을 도시한 플로우 차트. 10 is a flowchart showing a program processing operation according to the fourth embodiment of the present invention.
도 11은 본 발명의 제 5 실시형태에 관한 프로그램 처리 동작을 도시한 플로우 차트. Fig. 11 is a flowchart showing a program processing operation according to the fifth embodiment of the present invention.
도 12는 본 발명의 제 6 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도. Fig. 12 is a block diagram showing main parts of a program execution system according to a sixth embodiment of the present invention.
도 13은 본 발명의 제 6 실시형태에 관한 프로그램 처리 동작을 도시한 플로우 차트. Fig. 13 is a flowchart showing a program processing operation according to the sixth embodiment of the present invention.
도 14는 본 발명의 제 7 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도. Fig. 14 is a block diagram showing main parts of a program execution system according to a seventh embodiment of the present invention.
도 15는 본 발명의 제 7 실시형태에 관한 프로그램 처리 동작을 도시한 플로우 차트. Fig. 15 is a flowchart showing a program processing operation according to the seventh embodiment of the present invention.
도 16은 본 발명의 제 8 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도. Fig. 16 is a block diagram showing main parts of a program execution system according to an eighth embodiment of the present invention.
도 17은 본 발명의 제 8 실시형태에 관한 프로그램 처리 동작을 도시한 플로우 차트. Fig. 17 is a flowchart showing a program processing operation according to the eighth embodiment of the present invention.
도 18은 본 발명의 제 9 실시형태에 관한 프로그램 처리 동작을 도시한 플로우 차트. Fig. 18 is a flowchart showing a program processing operation according to the ninth embodiment of the present invention.
도 19는 본 발명의 제 10 실시형태에 관한 프로그램 실행 시스템을 도시한 블록도. Fig. 19 is a block diagram showing a program execution system according to a tenth embodiment of the present invention.
도 2O은 본 발명의 제 10 실시형태에 관한 콘피규레이션 정보를 도식적으로 도시한 블록도. Fig. 2 is a block diagram schematically showing configuration information according to the tenth embodiment of the present invention.
도 21은 본 발명의 제 10 실시형태에 의한 콘피규레이션 정보의 정합성 체크 처리 동작을 도시한 플로우 차트. Fig. 21 is a flowchart showing a consistency check processing operation of configuration information according to the tenth embodiment of the present invention.
도 22는 본 발명의 제 11 실시형태에 의한 콘피규레이션 정보의 정합성 체크 처리 동작을 도시한 플로우 차트. Fig. 22 is a flowchart showing a consistency check processing operation of configuration information according to the eleventh embodiment of the present invention.
도 23은 본 발명의 제 12 실시형태에 의한 버전 정보의 정합성 체크 처리 동작을 도시한 플로우 차트. Fig. 23 is a flowchart showing a consistency check processing operation of version information according to the twelfth embodiment of the present invention.
도 24는 본 발명의 제 13 실시형태에 관한 프로그램 실행 시스템을 도시한 블록도. Fig. 24 is a block diagram showing a program execution system according to a thirteenth embodiment of the present invention.
도 25는 본 발명의 제 13 실시형태에 의한 F/W 버전 정보의 정합성 체크 처리 동작을 도시한 플로우 차트. Fig. 25 is a flowchart showing a consistency check processing operation of F / W version information according to the thirteenth embodiment of the present invention.
도 26은 본 발명의 제 14 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도. Fig. 26 is a block diagram showing main parts of a program execution system according to a fourteenth embodiment of the present invention.
도 27은 본 발명의 제 14 실시형태에 관한 콘피규레이션 정보의 엑스포트 처리를 도시한 플로우 차트. Fig. 27 is a flowchart showing an export process of configuration information according to the fourteenth embodiment of the present invention.
도 28은 본 발명의 제 14 실시형태에 관한 콘피규레이션 정보의 임포트 처리를 도시한 플로우 차트. Fig. 28 is a flowchart showing an import process of configuration information according to the fourteenth embodiment of the present invention.
도 29는 본 발명의 제 15 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도. Fig. 29 is a block diagram showing main parts of a program execution system according to a fifteenth embodiment of the present invention.
도 30은 본 발명의 제 15 실시형태에 관한 콘피규레이션 정보의 링크 처리를 도시한 플로우 차트. 30 is a flowchart illustrating link processing of configuration information according to a fifteenth embodiment of the present invention.
도 31은 본 발명의 제 16 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도. Fig. 31 is a block diagram showing main parts of a program execution system according to a sixteenth embodiment of the present invention.
도 32는 본 발명의 제 16 실시형태에 관한 프로그램 해석 처리를 도시한 플로우 차트. 32 is a flowchart showing a program analysis process according to the sixteenth embodiment of the present invention.
도 33은 본 발명의 제 17 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도. 33 is a block diagram showing a main part of a program execution system according to a seventeenth embodiment of the present invention.
도 34는 본 발명의 제 17 실시형태에 관한 프로그램 관리 처리를 도시한 플로우 차트. Fig. 34 is a flowchart showing a program management process according to the seventeenth embodiment of the present invention.
(도면의 주요부분에 대한 부호의 설명)(Explanation of symbols for the main parts of the drawing)
1, 1A, 1B, 1C, 1D, 1E, 1F, 1G, 1H : 검사장치, 1, 1A, 1B, 1C, 1D, 1E, 1F, 1G, 1H: Inspection device,
2 : 코드 보존 수단, 2: means of code preservation,
3 : 메모리 영역, 3: memory area,
4, 4A, 4B, 4C, 4D, 4E, 4F, 4G, 4H : 프로그램 실행 수단, 4, 4A, 4B, 4C, 4D, 4E, 4F, 4G, 4H: program execution means,
5, 5A, 5B, 5C, 5D, 5E, 5G, 5H : 프로그램 로드 수단, 5, 5A, 5B, 5C, 5D, 5E, 5G, 5H: program load means,
5F : 프로그램 업로드 수단, 5F: program upload means,
6, 6D : 축적 수단, 6, 6D: means of accumulation,
7, 7a, 7b, 7b', 7b", 7c : 코드화 파일, 7, 7a, 7b, 7b ', 7b ", 7c: encoded file,
9, 9a, 9b, 9A : 프로그래밍 소프트웨어, 9, 9a, 9b, 9A: programming software,
10, 10a, 10b, 10A, 10B : 프로그램, 10, 10a, 10b, 10a, 10b: program,
12 : 표시/조작 수단, 12: display / operation means,
13 : 프로그램 실행 단위, 13: program execution unit,
14 : 디바이스 초기화 정보, 14: device initialization information,
15 : 프로그램 로드 이력 보존 수단, 15: program load history preservation means,
16 : 콘피규레이션 정합성 체크 수단, 16: configuration consistency check means,
17, 17a, 17b, 17c : 콘피규레이션 정보, 17, 17a, 17b, 17c: configuration information,
19 F/W : 버전 정보, 19 F / W: Version information,
20 : 엑스포트 수단, 20: export means,
21 : 임포트 수단, 21 means of import,
22 : 콘피규레이션 정보 링크 수단, 22: configuration information link means,
23 : 프로그램 해석 수단, 23 means for interpreting the program,
24 : 해석 결과 표시 수단, 24: analysis result display means,
25 : 프로그램 관리 수단, 25: means of program management,
26 : 의존관계 표시 수단 26: dependency display means
기술 분야Technical field
본 발명은, 프로그램 작성 수단에 의해 작성되어 코드화된 프로그램을 메모리 영역에 전개하고 프로그램을 실행하는 프로그램 실행 시스템에 관한 것으로, 특히, 제 1의 프로그램의 동작중에, 제 1의 프로그램으로부터 제 2의 프로그램을 호출하고, 제 2의 프로그램을 축적 수단으로부터 로드하고 실행하는 프로그램 실행 시스템에 관한 것이다. BACKGROUND OF THE
또한, 본 발명은, 프로그램 실행 시스템에서 동작하는 프로그램을 위한 프로그래밍 시스템, 프로그램 해석 시스템 및 프로그램 관리 시스템에 관한 것이다. The present invention also relates to a programming system, a program analysis system, and a program management system for a program operating in the program execution system.
또한, 본 발명은, 프로그램 실행 시스템을 구비한 검사장치(인텔리전트 검사 유닛)나 제어 장치(시퀀스 컨트롤러, 모션 컨트롤러, 수치 제어 장치, 로봇 등의 FA 기기), 검사장치용 프로그램 작성 시스템 및 검사장치 시스템에 관한 것이다. The present invention also provides an inspection apparatus (intelligent inspection unit) equipped with a program execution system, a control apparatus (sequence controller, motion controller, numerical control apparatus, FA equipment such as a robot), a program preparation system for inspection apparatus, and an inspection apparatus system. It is about.
종래의 기술Conventional technology
일반적으로, 검사 처리용의 프로그램을 검사장치(인텔리전트 검사 유닛)에 다운로드하여 동작시키기 위해서는, 미리 퍼스널 컴퓨터상의 프로그래밍 소프트웨 어로 유저가 프로그램을 작성하고, 프로그래밍 소프트웨어가 인스톨되어 있는 퍼스널 컴퓨터와 검사장치를 케이블 등으로 접속한 후, 프로그래밍 소프트웨어로부터의 다운로드 명령에 의해, 유저가 작성한 프로그램을 코드화하고, 코드화된 데이터를 검사장치에 다운로드하고 있다. In general, in order to download and operate a program for inspection processing to an inspection apparatus (intelligent inspection unit), a user creates a program in advance with programming software on a personal computer, and connects a personal computer and an inspection apparatus on which programming software is installed. After the connection is made, the program created by the user is coded by the download command from the programming software, and the coded data is downloaded to the inspection apparatus.
종래의 검사장치에서의 프로그램 실행 시스템 및 프로그래밍 시스템의 일예로서, 인텔리전트 검사 유닛에 있어서의 프로그램 다운로드 장치가 제안되어 있다(예를 들면, 비특허 문헌 1 참조). As an example of the program execution system and programming system in the conventional inspection apparatus, the program download apparatus in the intelligent inspection unit is proposed (for example, refer nonpatent literature 1).
상기 비특허 문헌 1에 기재된 종래 장치에서는, 프로그래밍 소프트웨어(IU Developer)를 구비한 퍼스널 컴퓨터에 의해, 이하와 같이 프로그램 로드 처리가 실행된다. In the conventional apparatus described in the
우선, 검사장치에 대해, Ethernet(등록상표)/USB/RS232C 케이블을 통하여, 퍼스널 컴퓨터 내의 프로그래밍 소프트웨어를 접속한다. First, programming software in a personal computer is connected to the inspection apparatus via an Ethernet (registered trademark) / USB / RS232C cable.
계속해서, 프로그래밍 소프트웨어에 의해, 통상의 「실행 메뉴」 또는 「리빌드 실행 메뉴」를 실행한다. Then, the ordinary "execution menu" or "rebuild execution menu" is executed by programming software.
이때, 「실행 메뉴」에서는, 갱신된 프로그램에 의해 결정되는 항목만을 코드화하여 검사장치에 전송하고, 검사장치 내의 플래시 메모리에 프로그램을 기록한다. 또한, 「리빌드 실행 메뉴」에서는 모든 프로그램을 코드화하여 검사장치에 전송하고, 검사장치 내의 플래시 메모리에 프로그램을 기록한다. At this time, in the "execution menu", only items determined by the updated program are coded and transmitted to the inspection apparatus, and the program is recorded in the flash memory in the inspection apparatus. In the "Rebuild Execution Menu", all programs are coded and transmitted to the inspection apparatus, and the programs are recorded in the flash memory in the inspection apparatus.
검사장치 내의 플래시 메모리에 기록된 프로그램은, 검사장치의 기동시에 메모리 영역(RAM)상에 전개되고, 검사장치 내의 프로그램 실행 수단상에서 실행된다. 또한, 프로그램 실행 수단은 표시/조작 수단에 접속되어 있다. The program recorded in the flash memory in the inspection apparatus is developed on the memory area RAM at the start of the inspection apparatus and executed on the program execution means in the inspection apparatus. The program execution means is also connected to the display / operation means.
이와 같이, 종래 장치에서는, 퍼스널 컴퓨터에 인스톨된 프로그래밍 소프트웨어(IU Developer)로 프로그램을 작성하고, 퍼스널 컴퓨터와 검사장치(인텔리전트 검사 유닛 본체)를 접속한 후, 프로그래밍 소프트웨어의 「실행」 또는 「리빌드 실행」의 메뉴에 의해, 작성한 프로그램을 코드화하여 검사장치(인텔리전트 검사 유닛 본체)에 다운로드하여 동작시키도록 되어 있다. As described above, in the conventional apparatus, a program is created by programming software (IU Developer) installed in a personal computer, and the personal computer and the inspection apparatus (intelligent inspection unit main body) are connected, and then "execution" or "rebuild execution" of the programming software is performed. Menu, the created program is coded, downloaded to the inspection apparatus (intelligent inspection unit main body), and operated.
그러나, 상기 종래 장치에서는, 프로그램이 하나의 파일로 통괄되어 있기 때문에, 검사 대상이 되는 기종의 추가 등이 빈번하게 발생하면, 각 기종에 대응한 고유의 프로그램이 필요해지기 때문에, 작성하여야 할 프로그램이 거대화되어 버린다. However, in the above-mentioned conventional apparatus, since the programs are collectively in one file, when the addition of a model to be inspected frequently occurs, a unique program corresponding to each model is required. It becomes huge.
또한, 기종별로 프로그램을 기술할 수 없기 때문에, 분산개발이나 병렬개발을 실현할 수 없다. 예를 들면, A프로그램에 B프로그램을 추가하기 위해서는, A프로그램의 후에 B프로그램을 추가하면 좋지만, A프로그램과 B프로그램을 독립하여 개발한 경우에는, A프로그램 및 B프로그램을 새롭게 하나의 프로그램으로 구축하기 위해 작업이 필요해진다. In addition, since the program cannot be described for each model, distributed development or parallel development cannot be realized. For example, to add a B program to an A program, a B program may be added after the A program. However, when the A program and the B program are independently developed, the A program and the B program are newly constructed as one program. You need work to do it.
또한, 상기 기술적 배경 때문에 메인터넌스성도 나빠지는데다가, 예를 들면, A기종을 검사하는 검사장치에 대해 B기종의 검사 기능을 추가하기 위해서는, A프로그램에 B프로그램을 추가할 필요가 있다. In addition, because of the above technical background, the maintainability is also deteriorated. For example, in order to add the inspection function of the B type to the inspection device for inspecting the A type, it is necessary to add the B program to the A program.
또한, 기종별로 프로그램을 분리하여 기술할 수 없기 때문에, 복수의 유저에 의한 분산개발이나 병렬개발이 곤란해지는데다가, 기종 추가 등을 행하는 경우에 는, 이미 동작하고 있는 기존 부분에 대한 영향도 충분히 고려하면서 신규 프로그램을 작성할 필요가 있기 때문에, 실질적으로 기종 추가시의 개발이 곤란해진다. In addition, since programs cannot be described separately for each model, distributed development or parallel development by a plurality of users becomes difficult, and when adding a model or the like, the influence on the existing parts already in operation is fully considered. Since it is necessary to create a new program while developing, it becomes difficult to develop when adding a model substantially.
또한, 유저가 작성하는 프로그램의 용량이 검사장치 내의 플래시 메모리에 의해 제한되어 있고, 플래시 메모리의 최대 메모리 용량을 초과하는 프로그램을 작성할 수 없기 때문에, 임의 수의 기종에 대응할 수 없다. In addition, since the capacity of a program created by a user is limited by the flash memory in the inspection apparatus, and a program exceeding the maximum memory capacity of the flash memory cannot be created, it cannot cope with any number of models.
또한, 기종 추가시에, 반드시 퍼스널 컴퓨터와 검사장치를 케이블 등으로 접속하고 나서 추가분을 포함한 모든 프로그램을 재차 프로그래밍 소프트웨어로부터 다운로드할 필요가 있다. In addition, when adding a model, it is necessary to connect a personal computer and a test | inspection apparatus by cable etc., and to download all the programs including an addition from programming software again.
[비특허 문헌 1][Non-Patent Document 1]
IU2 시리즈 「IU Developer 오퍼레이션 매뉴얼」 B-206페이지 IU2-series IU Developer Operation Manual, page B-206
이상과 같이, 종래의 프로그램 실행 시스템에서는, 프로그램이 하나의 파일로 통괄되어 있기 때문에, 기종 추가 등이 빈번하게 발생하면 프로그램이 거대화되어 버리고, 검사 대상 기종을 용이하게 추가할 수 없다는 과제가 있다. As described above, in the conventional program execution system, since a program is integrated into a single file, there is a problem that if a model addition or the like occurs frequently, the program becomes large and the model to be inspected cannot be easily added.
또한, 기종별로 프로그램을 분리하여 기술할 수 없기 때문에, 분산개발이나 병렬개발을 실현할 수 없고, 메인터넌스성도 나쁘다는 과제가 있다. In addition, since the programs cannot be described separately for each model, there is a problem that distributed development and parallel development cannot be realized, and maintenance is also poor.
또한, 기종별로 프로그램을 분리하여 기술할 수 없고, 분산개발이나 병렬개발이 곤란하기 때문에, 실질적으로 기종 추가시의 개발이 곤란해진다는 과제가 있다. In addition, since the programs cannot be described separately for each model and distributed development or parallel development is difficult, there is a problem that it is difficult to develop when adding a model.
또한, 장치의 최대 메모리 용량을 초과하는 프로그램의 작성이 곤란하고, 기 종 추가시에는 퍼스널 컴퓨터와 검사장치를 재접속하고, 추가분을 포함한 모든 프로그램을 재차 프로그래밍 소프트웨어로부터 다운로드할 필요가 있다는 과제가 있다. In addition, it is difficult to prepare a program exceeding the maximum memory capacity of the apparatus, and when adding a model, there is a problem that it is necessary to reconnect the personal computer and the inspection apparatus and to download all the programs including the additional portions from the programming software again.
본 발명은, 상기한 바와 같은 과제를 해결하기 위해 이루어진 것으로, 개개의 프로그램의 거대화를 회피하여, 분산개발 및 병렬개발을 가능하게 하고, 검사 대상 기종을 효율적이고 또한 용이하게 추가할 수 있는 프로그램 실행 시스템을 얻는 것을 목적으로 한다. SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and it is possible to avoid large programs of individual programs, to enable distributed development and parallel development, and to execute a program that can efficiently and easily add an inspection target model. The goal is to get the system.
또한, 상기 프로그램 실행 시스템을 위한 프로그래밍 시스템, 프로그램 해석 시스템 및 프로그램 관리 시스템, 및, 프로그램 실행 시스템을 구비한 검사장치, 검사장치용 프로그램 작성 시스템 및 검사장치 시스템을 얻는 것을 목적으로 한다. Moreover, it aims at obtaining the programming system, program analysis system, and program management system for the said program execution system, and the test | inspection apparatus provided with the program execution system, the program preparation system for inspection apparatus, and an inspection apparatus system.
과제를 해결하기 위한 수단Means to solve the problem
본 발명에 의한 프로그램 실행 시스템은, 코드화된 제 1의 프로그램을 보존하는 코드 보존 수단과, 코드 보존 수단으로 보존되어 있는 제 1의 프로그램이 전개되는 메모리 영역과, 메모리 영역에 전개된 제 1의 프로그램을 실행하는 프로그램 실행 수단을 구비한 프로그램 실행 시스템에 있어서, 코드화된 제 2의 프로그램을 코드화 파일로서 격납하는 축적 수단을 또한 구비하고, 프로그램 실행 수단은, 축적 수단에 코드화 파일로서 격납되어 있는 제 2의 프로그램을 메모리 영역에 로드하기 위한 프로그램 로드 수단을 포함하고, 프로그램 실행 수단은, 메모리 영역에 전개된 제 1의 프로그램을 실행하고 있는 동작중에, 축적 수단 내의 제 2의 프로그램에 대한 호출 명령에 응답하여, 축적 수단 내의 제 2의 프로그램을 메모리 영역에 로드하여, 제 2의 프로그램을 실행하는 것이다. The program execution system according to the present invention includes a code storage means for storing a coded first program, a memory area in which a first program stored in the code storage means is developed, and a first program developed in the memory area. A program execution system comprising program execution means for executing a code, comprising: storage means for storing a coded second program as an encoded file, wherein the program execution means is a second stored in the storage means as an encoded file; Program loading means for loading a program of in the memory area, wherein the program execution means responds to a call instruction for a second program in the storage means during an operation executing the first program deployed in the memory area. To load the second program in the storage means into the memory area, To run the program.
본 발명에 의하면, 미리 프로그래밍 소프트웨어로 생성된 코드화 파일(제 2의 프로그램)을 축적 수단으로부터 판독하여 메모리 영역에 로드하고, 동작중의 제 1의 프로그램과 교체하여 동작시킴에 의해, 각 프로그램의 거대화를 회피하여 분산개발 및 병렬개발을 가능하게 하고, 검사 대상 기종을 효율적이고 또한 용이하게 추가할 수 있다.According to the present invention, the coded file (second program) generated in advance by programming software is read from the storage means, loaded into the memory area, and replaced with the first program in operation, thereby enlarging each program. By avoiding this problem, distributed development and parallel development are possible, and the inspection target model can be added efficiently and easily.
제 1 실시형태1st Embodiment
도 1 및 도 2는 본 발명의 제 1 실시형태에 관한 프로그램 실행 시스템을 프로그래밍 시스템과 함께 도시한 블록도로서, 전술한 바와 마찬가지로 검사장치(1)에 적용한 경우를 도시하고 있다. 1 and 2 are block diagrams showing a program execution system according to a first embodiment of the present invention together with a programming system, and show a case where the same is applied to the
도 1 및 도 2에서, 검사장치(1)는, 인텔리전트 검사 유닛을 구성하고 있고, CPU, I/F 및 각종 메모리 등을 포함한다. 1 and 2, the
검사장치(1)는, 퍼스널 컴퓨터(8) 내의 프로그래밍 소프트웨어(9)(도 1 참조) 또는 프로그래밍 소프트웨어(9a, 9b)(도 2 참조)로, 유저가 작성한 제 1 또는 제 2의 프로그램(이하, 각각 단지 「프로그램」이라고 한다)(10a, 10b)에 의해 동작한다. The
이 경우, 프로그램(10a, 10b)은, 검사 처리 프로그램으로 된다. In this case, the
프로그래밍 소프트웨어(9, 9a, 9b)는 구체적으로는 프로그램(10a, 10b)을 작성하는 수단(개발 환경 등)이다. The
프로그램(10a, 10b)은, 구체적으로는 유저가 작성한 프로그램 코드(소스 코드 등)로 된다. The
도 1에서, 프로그램(10a)은, 예를 들면 기종 선택 프로그램(후술하다)으로 되고, 프로그램(10b)은, 예를 들면 코드화 파일 「work1.up」의 처리 프로그램으로 된다. In Fig. 1, the
또한, 도 2에서는, 프로그램(10a, 10b)을 작성하기 위한 프로그래밍 소프트웨어로서, 1대의 퍼스널 컴퓨터(8) 내에 복수의 프로그래밍 소프트웨어(9a, 9b)를 도시하고 있지만, 각 프로그램(10a, 10b)은 도 1과 같이 동일한 프로그래밍 소프트웨어(9)를 이용하여 작성되어도 좋고, 복수의 퍼스널 컴퓨터(도시 생략) 내의 개별의 프로그래밍 소프트웨어를 이용하여 작성되어도 좋다. In addition, in FIG. 2, although
검사장치(1)는, 필요에 따라 퍼스널 컴퓨터(8)에 접속되는 코드 보존 수단(2)과, 코드 보존 수단(2)에 접속된 메모리 영역(3)과, 메모리 영역(3)에 접속된 프로그램 실행 수단(4)과, 프로그램 실행 수단(4) 내에 마련된 프로그램 로드 수단(5)과, 프로그램 실행 수단(4)에 접속된 표시/조작 수단(12)을 구비하고 있다. The
코드 보존 수단(2)은, 장치 전원이 OFF 되어도 데이터 보존이 가능한 메모리(플래시 R0M 등)로 이루어지고, 프로그래밍 소프트웨어(9, 9a)에 의해 작성된 메인 동작 프로그램이 되는 프로그램(10a)을 격납한다. The code storage means 2 is made up of a memory (flash R0M or the like) capable of data storage even when the device power supply is turned off, and stores a
메모리 영역(3)은, 통상의 데이터 보존 수단(RAM 메모리 등)에 의해 구성되어 있다. The
프로그램 실행 수단(4)에는, 하드 디스크 또는 메모리 카드 등의 대용량 디 지털 데이터 기록 매체에 의해 구성된 축적 수단(6)이 접속된다. The program execution means 4 is connected with an accumulation means 6 constituted by a large capacity digital data recording medium such as a hard disk or a memory card.
축적 수단(6)에는, 프로그래밍 소프트웨어(9, 9b)에 의해 작성된 대상 기종마다의 검출 처리용의 프로그램(10b)이 필요에 따라 격납된다. In the storage means 6, a
프로그램(10b)은, 프로그래밍 소프트웨어(9)(도 1 참조) 내의 코드화 파일 생성 수단(11), 또는 프로그래밍 소프트웨어(9b)(도 2 참조) 내의 코드화 파일 생성 수단(11b)에 의해 코드화된다. The
즉, 유저가 작성한 프로그램(10b)은, 프로그래밍 소프트웨어(9, 9b) 내의 개발 환경(코드화 파일 생성 수단(11, 11b)을 포함한다)에서 코드화되고, 코드화 파일(7b)로 되어, 퍼스널 컴퓨터(8)로부터 축적 수단(6)에 미리 기록된다. In other words, the
코드화 파일(7b)은, 구체적으로는 유저가 작성한 프로그램(10b)을 개발 환경으로 코드화한 파일이다. The
또한, 여기서는, 편의적으로 하나의 코드화 파일(7b)만을 나타내고 있지만, 검사 대상의 기종 수 등에 따라, 필요에 응한 임의 수의 코드화 파일(7b)이 기록될 수 있다. Incidentally, although only one
또한, 개별화된 복수의 코드화 파일(7b)(프로그램(10b))은, 필요에 따라 외부로부터 추가 또는 변경될 수 있다.In addition, the individualized plurality of encoded
또한, 축적 수단(6)은 검사장치(1)에 내장되어도 좋다. In addition, the accumulating
검사장치(1) 내에서, 프로그램 실행 수단(4)은, CPU상에서 동작하는 프로그램(F/W:팜웨어)으로 되고, 유저가 작성한 프로그램(10a 또는 10b)을 해석하여 실행한다. 프로그램 실행 수단(4) 내의 프로그램 로드 수단(5)은, 필요에 따라, 축적 수단(6)으로부터 코드화 파일(7b)을 취득하여 메모리 영역(3)에 전개한다. In the
즉, 프로그램 실행 수단(4)은, 코드 보존 수단(2) 내의 프로그램(10a)을 메모리 영역(3)에 로드하여 동작시킴과 함께, 프로그램 실행 수단(4) 내의 프로그램 로드 수단(5)은, 프로그램(10a)중의 호출 명령에 응답하여, 프로그램(10a)의 동작중에, 축적 수단(6)으로부터 메모리 영역(3)에 프로그램(10b)을 로드하여 동작시킨다. That is, the program execution means 4 loads and operates the
표시/조작 수단(12)은, 맨·머신 인터페이스를 구성하고, 구체적으로는 LCD 및 키보드 등을 가지며, 유저에 대해 화면 표시나 키 입력의 접수 등을 행한다. The display / operation means 12 constitutes a man machine interface, specifically, has an LCD, a keyboard, and the like, and performs screen display and key input reception for the user.
퍼스널 컴퓨터(8) 내의 프로그래밍 소프트웨어(9, 9a, 9b)는, 유저의 조작에 의해 동작하고, 검사장치(1)에서 동작하는 프로그램(10a, 10b)을 작성한다. The
퍼스널 컴퓨터(8)는, 프로그램(10a)을 판독하여 실행 코드를 생성하기 위한 개발 환경을 갖고 있고, 실행 코드를 검사장치(1) 내의 코드 보존 수단(2)에 전송하도록 된다. The
유저가 작성한 프로그램(10a)의 소스 코드는, 퍼스널 컴퓨터(8) 내의 개발 환경에 의해, 검사장치(1)에서 실행 가능한 형식으로 컴파일되고, 컴파일된 코드는 검사장치(1)에 전송되어 동작하도록 되어 있다. The source code of the
또한, 실행 코드는, 검사장치(1)에 전송되기 직전에 생성되고, 전송 후에는 삭제되기 때문에, 실행 코드가 유저에 의해 직접 다루어지는 일은 없다. In addition, since the executable code is generated immediately before being transmitted to the
마찬가지로, 퍼스널 컴퓨터(8) 내의 개발 환경은, 프로그램(10b)을 판독하고, 실행 코드를 생성하지만, 프로그램(10b)의 실행 코드는, 코드화 파일(7b)에 의 해 유저가 취급할 수 있는 코드화 파일(7b)로 변환된다. Similarly, the development environment in the
즉, 코드화 파일 생성 수단(11, 11b)은 개발 환경 내의 프로그램(10b)을 코드화 파일(7b)로 변환한다. That is, the encoding file generating means 11, 11b converts the
다음에, 도 2에 도시한 본 발명의 제 1 실시형태에 관한 퍼스널 컴퓨터(8) 및 검사장치(1)의 개략적인 동작에 관해 설명한다. Next, a schematic operation of the
우선, 검사장치(1)에 퍼스널 컴퓨터(8)를 케이블 접속하고, 프로그래밍 소프트웨어(9, 9a)로 작성한 프로그램(10a)을 검사장치(1) 내의 코드 보존 수단(2)에 다운로드한다. First, the
한편, 프로그래밍 소프트웨어(9, 9b)로 작성한 프로그램(10b)은, 코드화 파일 생성 수단(11, 11b)에 의해 코드화되고, 코드화 파일(7b)로서 축적 수단(6) 내로 카피된다. On the other hand, the
검사장치(1)는, 퍼스널 컴퓨터(8)에서 유저가 작성한 검사 처리 동작에 관련되는 복수의 프로그램(10a, 10b)을 코드화하여 미리 보존하고, 사용시에 검사장치(1)에 접속된다. The
검사장치(1) 내의 프로그램 실행 수단(4)은, 전원 투입시에 코드 보존 수단(2) 내의 프로그램(10a)을 메모리 영역에 전개하여, 프로그램(10a)의 처리를 실행한다. The program execution means 4 in the
또한, 프로그램 실행 수단(4) 내의 프로그램 로드 수단(5)은, 검사장치(1)상에서 프로그램(10a)이 실행되고 있는 동안, 대상 기종의 검사 처리에 필요한 프로그램(10b)을 축적 수단(6)으로부터 검사장치(1)에 로드하고, 메모리 영역(3)에 전 개하여 실행한다. In addition, the program loading means 5 in the program execution means 4 stores the
이와 같이, 프로그램 실행 수단(4)은, 하나의 프로그램(10a)의 실행중에, 축적 수단(6) 내의 다른 프로그램(10b)을 로드하여 실행한다. In this way, the program execution means 4 loads and executes another
즉, 현재 동작중의 프로그램(10a)으로부터, 프로그램(10b)의 코드화 파일(7b)에 대한 호출 명령이 발행되면, 축적 수단(6) 내의 지정된 코드화 파일(7b)이 검사장치(1) 내의 메모리 영역(3)(RAM)상에 전개된다. That is, when a call instruction for the
이 결과, 검사장치(1)상에서 현재 동작하고 있는 프로그램(10a)은, 프로그램(10b)으로 교체되고, 프로그램(10b)의 처리가 실행되게 된다. As a result, the
도 3은 코드 보존 수단(2)에 격납되는 프로그램(10a)의 구체적인 예를 도식적으로 도시한 설명도로서, 기종 선택 프로그램의 경우를 일예로서 도시한다. FIG. 3 is an explanatory diagram schematically showing a specific example of the
도 3에서, 프로그램(10a)(기종 선택 프로그램)은, 「START」로부터 코드가 시작하고, 선택 게이트에서 지정되는 디바이스(메모리)의 값「DS0」에 의해, 축적 수단(6)으로부터 로드하여야 할 코드화 파일(DS0)(「1」 내지 「4」, 또는 「Def(기타)」)을 지정한다. In Fig. 3, the
여기서는, 5기종에 대응하는 5종류의 코드화 파일(「work1.iup」 내지 「work5.iup」)이 축적 수단(6)에 기록되어 있는 것으로 한다. Here, it is assumed that five kinds of encoding files ("work1.iup" to "work5.iup") corresponding to five models are recorded in the storage means 6.
예를 들면, 지정 디바이스가 「DS0=1」인 경우에는, 프로그램 실행 수단(4)에서 커맨드「IUP LOAD」가 실행되고, 프로그램 로드 수단(5)에 의해, 파일명 「work1.iup」의 코드화 파일이 축적 수단(6)으로부터 로드된다. For example, when the designated device is "DS0 = 1", the command "IUP LOAD" is executed by the program execution means 4, and the program load means 5 encodes the coded file of the file name "work1.iup". It is loaded from this storage means 6.
또한, 지정 디바이스가 「DS0=2」인 경우에는, 프로그램 실행 수단(4)에서, 커맨드「IUP LOAD」가 실행되고, 프로그램 로드 수단(5)에 의해, 파일명 「work2.iup」의 코드화 파일이 축적 수단(6)으로부터 로드된다. When the designated device is "DS0 = 2", the command "IUP LOAD" is executed in the program execution means 4, and the coded file of the file name "work2.iup" is executed by the program load means 5. It is loaded from the accumulating
또한, 지정 디바이스 DSO가 「1」, 「2」, 「3」, 「4」의 어느것도 아닌 경우에는, 프로그램 실행 수단(4)에서 커맨드「IUP LOAD」가 실행되고, 프로그램 로드 수단(5)에 의해, 파일명 「work5.iup」의 코드화 파일이 축적 수단(6)으로부터 로드된다. When the designated device DSO is not one of "1", "2", "3", and "4", the command "IUP LOAD" is executed by the program execution means 4, and the program load means 5 is executed. By this, the coded file having the file name "work5.iup" is loaded from the storing means 6.
다음에, 도 4의 플로우 차트를 참조하면서, 본 발명의 제 1 실시형태에 관한 처리 동작에 관해 구체적으로 설명한다. Next, the processing operation which concerns on 1st Embodiment of this invention is demonstrated concretely with reference to the flowchart of FIG.
도 4에서, 우선, 프로그래밍 소프트웨어(9, 9b)로 생성한 프로그램(10b)의 코드화 파일(7b)(하나 또는 복수의 파일)을 축적 수단(6)에 격납하고, 축적 수단(6)을 검사장치(1)에 장착한다(스텝 S1). In FIG. 4, first, the
계속해서, 퍼스널 컴퓨터(8)를 검사장치(1)에 접속하고, 축적 수단(6) 내의 코드화 파일(7b)에의 호출 명령을 기술한 프로그램(10a)에 대해, 프로그래밍 소프트웨어(9, 9a)로부터의 다운로드 명령을 주고, 다운로드 명령에 의해 프로그램(10a)을 코드화하고, 프로그램(10a)의 코드화 데이터를 코드 보존 수단(2)에 다운로드한다(스텝 S2). Subsequently, the
다음에, 검사장치(1)의 다음회 기동시에, 프로그램 실행 수단(4)은, 코드 보존 수단(2)에 기록된 데이터를 메모리 영역(3)에 전개하고, 유저에 의한 표시/조작 수단(12)의 조작에 응답하여 프로그램(10a)의 동작을 시작한다(스텝 S3). Next, at the next start of the
계속해서, 동작중의 프로그램(10a)으로부터 코드화 파일(7b)에의 호출 명령 이 발행하였는지의 여부를 판정하고(스텝 S4), 호출 명령이 발행하지 않았다(즉, NO)고 판정되면, 계속해서, 동작중의 프로그램(10a)으로부터 동작 종료 명령이 발행하였는지의 여부를 판정한다(스텝 S5). Subsequently, it is determined whether a call instruction from the
스텝 S5에서, 동작 종료 명령이 발행하였다(즉, YES)고 판정되면 동작을 종료하고(스텝 S7), 한편, 동작 종료 명령이 발행하지 않았다(즉, NO)고 판정되면, 프로그램 실행 수단(4)은, 동작중의 프로그램으로부터 발행된 명령을 계속 실행하고(스텝 S6), 스텝 S4로 되돌아온다. In step S5, if it is determined that the operation end instruction has been issued (i.e., YES), the operation ends (step S7). On the other hand, if it is determined that the operation termination command has not been issued (i.e., NO), the program execution means 4 ) Continues the instruction issued from the program in operation (step S6), and returns to step S4.
한편, 스텝 S4에서, 코드화 파일(7b)에의 호출 명령이 발행하고 있다(즉, YES)고 판정되면, 프로그램 로드 수단(5)은, 축적 수단(6) 내의 코드화 파일(7b)을 메모리 영역(3)에 전개하고, 검사장치(1)상에서 현재 동작하고 있는 프로그램과 교체한다(스텝 S8). On the other hand, if it is determined in step S4 that a call instruction to the coded
최후로, 프로그램 실행 수단(4)은, 검사장치(1) 내의 표시/조작 수단(12)의 조작에 응답하여, 교체 후의 프로그램(10b)의 동작을 시작한다(스텝 S9). Finally, the program execution means 4 starts the operation of the replaced
또한, 로드 교체 후의 프로그램(10b)은, 자동적으로 기동하도록 되어 있어도 좋다. In addition, the
이와 같이, 본 발명의 제 1 실시형태에 관한 프로그램 실행 시스템은, 코드화된 프로그램(10a)을 보존하는 코드 보존 수단(2)과, 프로그램(10a)에 관련된 프로그램(10b)을 코드화 파일(7b)로서 격납하는 축적 수단(6)과, 실행 대상이 되는 프로그램이 전개되는 메모리 영역(3)과, 프로그램(10a, 10b)을 실행하기 위한 프로그램 실행 수단(4)과, 필요에 따라 프로그램(10b)을 메모리 영역(3)에 로드하기 위 한 프로그램 로드 수단(5)을 구비하고, 프로그램 로드 수단(5)은, 프로그램(10a)의 동작중에, 프로그램(10b)에 대한 호출 명령에 응답하여, 축적 수단(6)으로부터 메모리 영역(3)에 프로그램(10b)을 로드한다. As described above, the program execution system according to the first embodiment of the present invention includes a code storage means 2 for storing the coded
이로써, 프로그램을 단일 파일로 통괄하지 않고, 예를 들면 기종별의 코드화 파일(7b)을 복수 생성한 후에, 그들을 축적 수단(6)에 격납하여 두고, 필요한 때 필요한 코드화 파일(7b)을 자유롭게 호출하여 동작시킬 수 있다. Thus, after generating a plurality of coded
따라서 프로그램(10a)의 거대화를 회피하고, 프로그램(10b)의 분산개발 및 병렬개발을 가능하게 함과 함께, 각 프로그램(10a, 10b)의 실행 코드의 독립성을 높일 수 있다. Therefore, the largeness of the
또한, 종래 시스템에 있어서 단일 파일로 통괄하고 있음에 의한 프로그램의 거대화를 회피할 수 있다. In addition, in a conventional system, a large program can be avoided by integrating a single file.
또한, 검사장치(1)와는 다른 퍼스널 컴퓨터(8)상에서 기종별로 프로그램(10b)을 기술할 수 있기 때문에, 분산개발 및 병렬개발이 가능해지고, 프로그램(10b)을 기종별로 독립 기술할 수 있고, 이미 동작하고 있는 부분에의 영향도 최소한으로 억제할 수 있다. In addition, since the
여기서, 본 발명의 제 1 실시형태에 의한 효과에 관해, 구체적으로 보충 설명한다. Here, the effect by the 1st Embodiment of this invention is demonstrated supplementally concretely.
본 발명의 제 1 실시형태에 의하면, 예를 들면, 제품(A)의 검사항목이 200항목이였던 경우에, 2인의 유저가 100항목씩 나누어 프로그램을 개발할 수 있다. According to the first embodiment of the present invention, when the inspection item of the product A is 200 items, for example, two users can develop a program by dividing by 100 items.
이 경우, 개발 대상이 되는 프로그램은, 미리 전반의 100항목과 후반의 100 항목으로 분산되고, 전반 100항목의 검사 처리는 프로그램(10a)으로서 코드 보존 수단(2) 내에 격납되고, 후반 100항목의 검사 처리는, 프로그램(10b)으로서 축적 수단(6)에 격납된다. In this case, the program to be developed is distributed into 100 items in the first half and 100 items in the second half, and the inspection processing of the first 100 items is stored in the code preservation means 2 as the
이 결과, 전반 100항목의 검사 처리가 종료된 시점에서, 후반 100항목의 검사 처리를 실행하는 프로그램(10b)이 실행되고, 토탈 200항목의 검사 처리를 실행할 수 있다. 또한, 코드 보존 수단(2)의 용량이 적은 경우라도, 200항목의 프로그램을, 100항목씩의 2개의 프로그램으로 분할함에 의해, 동작시키는 것이 가능해진다. As a result, when the inspection process of the first 100 items ends, the
또한, 필요한 때 필요한 코드화 파일(7b)을 그때마다 호출하여, 검사장치(1) 내의 메모리 영역(3)(RAM)상에 전개하고, 검사장치(1)상에서 현재 동작중의 프로그램(10a)과 교체하여 동작시킬 수 있기 때문에, 단일 파일로 통괄하면 코드 보존 수단(2)의 최대 메모리 용량을 초과할 정도의 프로그램이라도, 예를 들면 기종별의 코드화 파일(7b)(프로그램(10b))로 분할함에 의해, 프로그램을 검사장치(1)상에서 동작시킬 수 있다. In addition, when necessary, the necessary
또한, 종래 시스템에서는, 예를 들면 제품(A)의 검사 프로그램에 제품(B)을 검사하는 기능을 추가하는 경우, 제품(A)의 검사 프로그램에 제품(B)의 검사 프로그램을 추가하여 컴파일을 행하고, 검사장치(1)에 전송하고 있지만, 이때, 원래 동작하고 있던 제품(A)의 프로그램도, 제품(B)의 프로그램을 추가하기 위한 수정이 추가되어 있기 때문에, 동작 확인을 실행하여야 하고, 시간이 걸린다. In addition, in the conventional system, for example, when adding a function of inspecting the product B to the inspection program of the product A, the inspection program of the product B is added to the inspection program of the product A to compile. And the transfer to the
그러나, 본 발명의 제 1 실시형태(도 1, 도 2 참조)에 의한 프로그램 실행 시스템에 의하면, 코드화된 프로그램(10a)을 보존하는 코드 보존 수단(2)과, 코드 보존 수단(2)으로 보존되어 있는 프로그램(10a)이 전개되는 메모리 영역(3)과, 메모리 영역(3)에 전개된 프로그램(10a)을 실행하는 프로그램 실행 수단(4)과, 코드화된 프로그램(10b)을 코드화 파일(7b)로서 격납하는 축적 수단(6)(하드 디스크 또는 메모리 카드 등)을 구비하고, 프로그램 실행 수단(4)은, 축적 수단(6)에 코드화 파일(7b)로서 격납되어 있는 프로그램(10b)을 메모리 영역(3)에 로드하기 위한 프로그램 로드 수단(5)을 갖고 있다. However, according to the program execution system according to the first embodiment of the present invention (see Figs. 1 and 2), the code storage means 2 for storing the coded
이로써, 프로그램 실행 수단(4)은, 메모리 영역(3)에 전개된 프로그램(10a)을 실행하고 있는 동작중에, 축적 수단(6) 내의 프로그램(10b)에 대한 호출 명령에 응답하여, 축적 수단(6) 내의 코드화 파일(7b)(프로그램(10b))을 메모리 영역(3)에 로드하고, 프로그램(10b)을 실행할 수 있다. Thereby, the program execution means 4 responds to the call instruction for the
따라서 도 3에 도시한 바와 같이, 어느 기종의 검사 처리를 실행하는지를 선택하기 위한 기종 선택 프로그램을 기술하고 있기 때문에, 편리성을 높일 수 있다. Therefore, as shown in FIG. 3, since the model selection program for selecting which model to perform the inspection process is described, convenience can be improved.
예를 들면, 검사장치(1)가 제품(A)에 대응하고 있던 경우에는, 코드 보존 수단(2) 내에 도 3의 기종 선택 프로그램이 격납되어 있고, 축적 수단(6)에 제품(A)의 검사 프로그램이 격납되어 있다. 이 검사장치(1)에, 제품(B)의 검사 기능을 추가하는 경우의 변경 조작은, 도 3의 기종 선택 프로그램에 제품(B)의 분기를 추가하는 것과, 축적 수단(6)에 제품(B)의 검사 프로그램의 코드화 파일(7b)을 격납하는 것이다. 따라서 이상의 2개의 변경 조작만으로 기종 추가를 실현할 수 있기 때문에, 제품(A)의 검사 프로그램을 수정할 필요가 없고, 동작을 체크할 필요도 없 다. For example, when the
제 2 실시형태2nd Embodiment
또한, 상기 제 1 실시형태에서는, 기종마다 대응하는 프로그램(10b)의 코드화 파일(7b)만을 축적 수단(6)에 격납하였지만, 프로그램(10b)의 실행 후에 검사장치(1)를 재기동하지 않는 한, 메인 처리용의 프로그램(10a)으로 되돌아 올 수 없다. In the first embodiment, only the coded
그래서, 프로그램(10a)에의 호출 명령을 프로그램(10b)에 기술하여 둠과 함께, 프로그램(10a)의 코드화 파일(7a)을 축적 수단(6)에 추가 격납하여도 좋다. Therefore, the call instruction to the
도 5는 프로그램(10a)의 코드화 파일(7a)을 축적 수단(6)에 추가 격납한 본 발명의 제 2 실시형태에 관한 프로그램 실행 시스템을 도시한 블록도이다. FIG. 5 is a block diagram showing a program execution system according to a second embodiment of the present invention in which the
도 5에서, 전술(도 1, 도 2 참조)한 것과 같은 것에 관해서는, 전술한 것과 동일 부호를 붙이고, 또는 부호 뒤에 「A」를 붙이고 상세한 기술을 생략한다. In Fig. 5, the same reference numerals as those described above (or referring to Figs. 1 and 2) are given the same reference numerals, or "A" is attached after the reference numerals and detailed description thereof is omitted.
이 경우, 퍼스널 컴퓨터(8) 내의 프로그래밍 소프트웨어(9, 9a)는, 검사장치(1A)에 다운로드되는 프로그램(10a)을, 코드화 파일 생성 수단(11, 11a)에 의해 코드화하고, 프로그램(10a)의 코드화 파일(7a)을 축적 수단(6)에 미리 카피한다. In this case, the
한편, 프로그램(10b)의 최후에는, 프로그램(10a)의 코드화 파일(7a)을 축적 수단(6)으로부터 로드하기 위한 호출 명령이 기술되어 있다. On the other hand, at the end of the
다음에, 도 6의 플로우 차트를 참조하면서, 도 5에 도시한 본 발명의 제 2 실시형태에 의한 동작에 관해 설명한다. Next, with reference to the flowchart of FIG. 6, operation | movement by 2nd Embodiment of this invention shown in FIG. 5 is demonstrated.
도 6에서, 스텝 S1A, S2, S3A 내지 S9A는, 전술(도 4 참조)한 스텝 S1 내지 S9에 각각 대응한다. In FIG. 6, steps S1A, S2, and S3A to S9A correspond to steps S1 to S9 described above (see FIG. 4), respectively.
우선, 프로그램(10b)에의 호출 명령을 기술한 프로그램(10a)의 코드화 파일(7a)과, 프로그램(10a)에의 호출 명령을 기술한 프로그램(10b)의 코드화 파일(7b)을 생성하여 축적 수단(6)에 격납하고, 축적 수단(6)을 검사장치(1A)에 장착한다(스텝 S1A). First, an
계속해서, 프로그램(10a)에 대해, 프로그래밍 소프트웨어(9, 9a)로부터의 다운로드 명령을 주고, 다운로드 명령에 의해, 프로그램(10a)을 코드화한 데이터를 코드 보존 수단(2)에 다운로드한다(스텝 S2). Subsequently, the download command from the
다음에, 검사장치(1A)의 기동시에, 코드 보존 수단(2)에 기록된 데이터(프로그램(10a))를 메모리 영역(3)에 전개하고, 표시/조작 수단(12)의 조작에 응답하여, 프로그램(10a)의 동작을 시작한다(스텝 S3A). Next, at the start of the
이하, 동작중의 프로그램(최초는 프로그램(10a))으로부터 코드화 파일(최초는 코드화 파일(7b))의 호출 명령이 발행하였는지의 여부를 판정하고(스텝 S4A), 호출 명령이 발행하지 않았다(즉, NO)고 판정되면, 계속해서, 동작중의 프로그램으로부터 동작 종료 명령이 발행하였는지의 여부를 판정한다(스텝 S5A). In the following, it is determined whether or not a call instruction of a coded file (first coded
스텝 S5A에서, 동작 종료 명령이 발행하였다(즉, YES)고 판정되면, 현재 실행중 프로그램의 동작을 종료하고(스텝 S7A), 동작 종료 명령이 발행하지 않았다(즉, NO)고 판정되면, 프로그램 실행 수단(4A)은, 동작중 프로그램으로부터 발행된 명령을 계속 실행하고(스텝 S6A), 스텝 S4A로 되돌아온다. In step S5A, if it is determined that the operation end instruction has been issued (i.e., YES), the operation of the program currently being executed is terminated (step S7A), and if it is determined that the operation termination command has not been issued (i.e., NO), the program The execution means 4A continues to execute the instruction issued from the program during operation (step S6A), and returns to step S4A.
한편, 스텝 S4A에서, 동작중 프로그램(최초는 프로그램(10a))으로부터 코드 화 파일(최초는 코드화 파일(7b))의 호출 명령이 발행하였다(즉, YES)고 판정되면, 프로그램 로드 수단(5A)은, 축적 수단(6) 내의 코드화 파일(7b)(프로그램(10b))을 메모리 영역(3)에 전개하고, 검사장치(1A)상에서 현재 동작중 프로그램(10a)과 교체한다(스텝 S8A). On the other hand, if it is determined in step S4A that the call instruction of the coded file (firstly coded
또한, 검사장치(1A) 내의 표시/조작 수단(12)의 조작에 응하여, 교체 후의 프로그램(10b)의 동작을 시작하고(스텝 S9A), 스텝 S4A로 되돌아온다. In addition, in response to the operation of the display / operation means 12 in the
또한, 프로그램(10b)은 자동적으로 기동하도록 구성하여도 좋다. In addition, the
이하, 교체 후의 프로그램(10b)의 동작중에, 전술한 바와 마찬가지 처리(스텝 S4A 내지 S9A)를 실행한다. Hereinafter, during the operation of the replaced
즉, 동작중의 프로그램(10b)의 최후에 코드화 파일(7a)에의 호출 명령이 발행하였는지의 여부를 판정하고(스텝 S4A), 호출 명령이 발행하고 있으면, 축적 수단(6)으로부터 코드화 파일(7a)(프로그램(10a))을 로드하고(스텝 S8A), 프로그램(10a)의 처리 동작을 실행하고(스텝 S9A), 스텝 S4A로 되돌아온다. That is, it is determined whether or not a call instruction to the coded
이와 같이, 본 발명의 제 2 실시형태(도 5, 도 6 참조)에 의한 프로그램 실행 수단(4A)은, 각 프로그램(10a, 10b)의 호출관계를 항상 파악하고 있고, 프로그램(10b)의 동작중에, 프로그램(10b) 내의 최후에서 기술된 프로그램(10a)에 대한 호출 명령에 응답하여, 축적 수단(6)으로부터 메모리 영역(3)에 프로그램(10a)을 로드한다. As described above, the program execution means 4A according to the second embodiment of the present invention (see FIGS. 5 and 6) always grasps the call relationship of each of the
전술한 제 1 실시형태(도 1 내지 도 4 참조)에서는, 코드 보존 수단(2)에 보존되어 있는 프로그램(10a)으로부터, 축적 수단(6)에 보존되어 있는 코드화 파일 (7b)이 호출되면, 검사장치(1)를 재기동시키지 않는 한, 코드 보존 수단(2)에 보존되어 있는 프로그램(10a)으로 되돌아 올 수 없었다. In the above-described first embodiment (see Figs. 1 to 4), when the
그러나, 본 발명의 제 2 실시형태에 의한 축적 수단(6)은, 프로그램(10b)에 더하여, 프로그램(10a)(또는, 그 밖의 프로그램)을 코드화 파일(7a)로서 격납한다. However, the accumulation means 6 according to the second embodiment of the present invention stores the
따라서 프로그램 실행 수단(4A)은, 메모리 영역(3)에 전개된 프로그램(10a)을 실행하고 있는 동작중에, 축적 수단(6) 내의 프로그램(10b)에 대한 호출 명령에 응답하여, 축적 수단(6) 내의 코드화 파일(7b)(프로그램(10b))을 메모리 영역(3)에 로드하여, 프로그램(10b)을 실행하고, 프로그램(10b)을 실행하고 있는 동작중에, 축적 수단(6) 내의 프로그램(10a)(또는, 다른 프로그램)에 대한 호출 명령에 응답하여, 축적 수단(6) 내의 코드화 파일(7a)(프로그램(10a))을 메모리 영역(3)에 로드하여, 프로그램(10a)(또는, 다른 프로그램)을 실행할 수 있다. Therefore, the program executing means 4A stores the accumulating
이 경우, 프로그램 실행 수단(4A)은, 프로그램(10a, 10b)의 호출관계를 항상 파악하고 있고, 프로그램(10a)을 코드 보존 수단(2)에 보존할 뿐만 아니라, 코드화 파일 생성 수단(11, 11a)에 의해 변환된 코드화 파일(7a)을 축적 수단(6)에 보존함에 의해 검사장치(1A)가 기동하여 프로그램(10a)이 동작하고, 또한 프로그램(10b)이 동작한 후, 원래의 프로그램(10a)을 실행할 수 있다. In this case, the program execution means 4A always grasps the call relations of the
즉, 프로그램 실행 수단(4A)은, 프로그램(10b)의 동작중에, 프로그램(10b) 내의 프로그램(10a)에 대한 호출 명령에 응답하여, 축적 수단(6)으로부터 메모리 영역(3)에 프로그램(10a)을 로드한다. That is, the program execution means 4A responds to a call instruction to the
이로써, 검사장치(1A)의 기동 후에, 프로그램(10a)으로부터 프로그램(10b)의 코드화 파일(7b)이 호출되고, 프로그램(10b)이 실행되고 있는 경우에, 프로그램(10b)의 최후에 프로그램(10a)의 코드화 파일(7a)에의 호출 명령이 기술되어 있으면, 프로그램(10b)의 종료시에, 자동적으로 프로그램(10a)으로 재복귀할 수 있다. Thus, after the
예를 들면, 전술(도 3 참조)한 바와 같이, 프로그램(10a)을, 기종 선택(지정된 코드화 파일(7b)의 호출하고)실행용만의 프로그램으로 함에 의해, 기종 추가 등을 행하기 위해 프로그램(10b)을 추가하는 경우, 추가분의 프로그램(10b)의 코드화 파일(7b)을 생성하고 축적 수단(6)에 격납함과 함께, 프로그램(10a)의 변경 조작으로서 추가분의 코드화 파일(7b)을 지정 가능한 기술을 추가하는 것만으로, 용이하게 기종을 추가할 수 있다. For example, as described above (refer to FIG. 3), the
또한, 프로그램(10a)이 기종 선택용의 경우에, 프로그램(10a)으로 기술되어 있는 기종 선택(코드화 파일(7b)의 지정)이 프로그램(10a)중에서 직접 지정되어 있는 것은 아니고, 간접적으로 지정되어 있는 경우에는, 기종 추가시에 프로그램(10a)을 변경할 필요가 전혀 없다. In addition, when the
따라서 기종 추가마다 퍼스널 컴퓨터(8)와 검사장치(1A)를 케이블 접속하고 프로그래밍 소프트웨어(9, 9a)로부터 재차 프로그램(10a)을 검사장치(1A)에 다운로드할 필요가 없다. Therefore, it is not necessary to cable-connect the
또한, 프로그램(10a)이 도 3과 같이 구성된 경우, DS0 디바이스의 값(「1」 내지 「4」, 「Def」)에 따라서 처리가 분기되고, 미리 지정된 파일(「work1.iup」 내지 「work5.iup」)을 기동하지만, 소망 프로그램에 응하여 표시/조작 수단(12)으로부터 파일명을 입력하고, 대상 파일을 로드할 수 있다. In addition, when the
이와 같은 프로그램 기술을 실행한 경우, 기종 선택 프로그램을 수정할 필요가 없어지기 때문에, 보다 편리성이 높아진다. When such a program technique is executed, there is no need to modify the model selection program, thereby increasing convenience.
또한, 프로그램(10a, 10b)의 호출관계를 용이하게 취득할 수 있고, 로드 시간을 단축할 수 있고, 프로그램(10a, 10b)의 판독 처리를 확실하게 실행할 수 있다. In addition, the calling relationship of the
상술한 예에서, 프로그램(10b)의 최후에는, 프로그램(10a)의 코드화 파일(7a)을 축적 수단(6)으로부터 로드하기 위한 호출 명령이 기술되어 있는 것으로 한다. In the above example, it is assumed that at the end of the
이로써, 프로그램 실행 수단(4A)은, 프로그램(10b)의 동작중에 프로그램(10b) 내의 최후에 기술된 프로그램(10a)에 대한 호출 명령에 응답하여, 축적 수단(6)으로부터 메모리 영역(3)에 프로그램(10a)을 로드할 수 있다. Thereby, the program execution means 4A, in response to the call instruction for the
또한, 이와같이 하여, 프로그램(10b)의 최후에, 프로그램(10a)을 코드 보존 수단(2)으로부터 로드하기 위한 호출 명령이 기술되어 있어도 좋다. In this way, a call instruction for loading the
이 경우, 프로그램 실행 수단(4A)은, 프로그램(10b)의 동작중에, 프로그램(10b) 내의 최후에 기술된 프로그램(10a)에 대한 호출 명령에 응답하여, 코드 보존 수단(2)으로부터 메모리 영역(3)에 프로그램(10a)을 로드할 수 있다. In this case, the program execution means 4A, in response to the call instruction for the
제 3 실시형태Third embodiment
또한, 상기 제 1 및 2 실시형태에서는, 코드화 파일(7b)(프로그램(10b))의 메모리 영역(3)에의 로드 처리를 일괄적으로 실행하였지만, 코드화 파일(7b) 내의 메인 플로우 단위(프로그램 실행 단위)로 로드 처리를 실행하여도 좋다. Incidentally, in the first and second embodiments, the load processing of the coded
도 7은 메인 플로우 단위로 로드 처리를 실행한 본 발명의 제 3 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도이다. FIG. 7 is a block diagram showing a main part of a program execution system according to a third embodiment of the present invention in which load processing is executed in main flow units.
도 7에서, 전술(도 2 참조)한 것과 같은 것에 관해서는, 전술한 것과 동일 부호를 붙이고, 또는 부호의 뒤에 「B」를 붙이고 상세한 기술을 생략한다. In FIG. 7, the same code | symbol as the above-mentioned (refer FIG. 2) attaches | subjects the same code | symbol as above, or attaches "B" after a code | symbol, and abbreviate | omits detailed description.
이 경우, 프로그램 실행 수단(4B) 내의 프로그램 로드 수단(5B)은, 코드화 파일(7b)(프로그램(10b))의 로드 처리를, 코드화 파일(7b) 내의 프로그램 실행 단위(13)(메인 플로우 단위)로 행하도록 되어 있다. In this case, the program loading means 5B in the program execution means 4B executes the load processing of the coded
프로그램 실행 단위(13)는, 코드화 파일(7b)(프로그램(10b))에 포함된 실행 프로그램부이며, 구체적으로는 IU Developer 내의 플로우 차트로 된다. The
여기서는, 대표적으로 하나의 프로그램 실행 단위(13)를 나타내고 있지만, 하나의 프로그램(10b)에는, 복수의 실행 프로그램부(플로우 차트) 즉 프로그램 실행 단위(13)가 포함되어 있다. Although one
다음에, 도 8의 플로우 차트를 참조하면서, 도 7에 도시한 본 발명의 제 3 실시형태에 의한 동작에 관해 설명한다. Next, an operation according to the third embodiment of the present invention shown in FIG. 7 will be described with reference to the flowchart of FIG. 8.
도 8에서, 우선, 프로그램 로드 수단(5B)은, 프로그램의 로드를 시작한다(스텝 S10). In Fig. 8, first, the program loading means 5B starts loading of a program (step S10).
이때, 로드 대상이 되는 프로그램 실행 단위(13)(지정 플로우 차트)만의 판독을 지정한다. At this time, reading of only the program execution unit 13 (designated flow chart) to be loaded is specified.
계속해서, 코드화 파일(7b) 내의 지정 플로우 차트만의 판독을 행한다(스텝 S11). Subsequently, only the designated flow chart in the
이와 같이, 프로그램 로드 수단(5B)은, 프로그램(10b)의 로드 처리시에, 프로그램(10b)의 전부를 판독하는 것은 아니고, 프로그램(10b) 내의 실행하고 싶은 프로그램 실행 단위(13)(메인 플로우 단위)로 판독한다. In this way, the program load means 5B does not read all of the
이로써, 판독하는 데이터량이 적어지기 때문에, 검사 기종의 변경에 필요로 하는 시간을 단축할 수 있다. As a result, since the amount of data to be read is reduced, the time required for changing the inspection model can be shortened.
즉, 본 발명의 제 3 실시형태(도 7, 도 8 참조)에 의한 프로그램 실행 수단(4B)은, 메모리 영역(3)에 전개된 프로그램을 실행하고 있는 동작중에, 축적 수단(6)에 코드화 파일(7b)(또는, 그 밖의 코드화 파일)로서 격납되어 있는 프로그램중의 프로그램 실행 단위(13)(해당하는 실행부 분)에 대한 호출 명령에 응답하여, 축적 수단(6)에 격납된 프로그램 중에서 해당하는 실행 부분에 대응하는 프로그램 실행 단위(13)를 메모리 영역(3)에 로드하고, 프로그램 실행 단위(13)를 실행한다. That is, the program execution means 4B according to the third embodiment of the present invention (see FIGS. 7 and 8) is coded in the accumulation means 6 during the operation of executing the program developed in the
따라서 프로그램의 거대화를 회피하여, 분산개발 및 병렬개발을 가능하게 하고, 실행 코드의 독립성을 높인다는 전술한 효과에 더하여, 로드 시간을 단축할 수 있다. Therefore, the load time can be shortened in addition to the above-described effects of avoiding huge programs, enabling distributed and parallel development, and increasing the independence of executable code.
제 4 실시형태Fourth embodiment
또한, 상기 제 1 실시형태에서는, 검사장치(1) 내의 디바이스(메모리)에 대한 초기화 정보에 관해 고려하지 않았지만, 프로그램(10b)중에 디바이스 초기화 정보를 포함함에 의해, 프로그램(10b)의 로드시에, 디바이스 초기화 정보에 의거하여, 필요에 따라 자동적으로 디바이스를 초기화하도록 구성하여도 좋다. In addition, in the said 1st Embodiment, although it did not consider about the initialization information about the device (memory) in the
도 9는 코드화 파일(7b)(프로그램(10b)) 내에 디바이스 초기화 정보(14)를 마련한 본 발명의 제 4 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도이다. FIG. 9 is a block diagram showing a main part of a program execution system according to a fourth embodiment of the present invention in which device initialization
도 9에서, 전술(도 1, 도 2 참조)한 것과 같은 것에 관해서는, 전술한 것과 동일 부호를 붙이고, 또는 부호의 뒤에 「C」를 붙이고 상세한 기술을 생략한다. In Fig. 9, the same reference numerals as those described above (see Figs. 1 and 2) are denoted by the same reference numerals, or "C" is attached after the reference numerals and detailed description thereof is omitted.
이 경우, 코드화 파일(7b)(프로그램(10b))은, 검사장치(1C) 내의 디바이스에 대한 초기화의 실행 유무를 나타내는 디바이스 초기화 정보(14)를 포함한다. In this case, the
또한, 여기서는, 대표적으로 디바이스 초기화 정보(14)만을 나타내고 있지만, 코드화 파일(7b)은, 디바이스 이외의 다른 초기화 정보를 포함하고 있어도 좋다. In addition, although only the
또한, 프로그램 로드 수단(5C)은, 프로그램(10b)의 로드시에, 디바이스 초기화 정보(14)에 의거하여, 필요에 따라 초기화를 실행한다. In addition, the program loading means 5C performs initialization as needed based on the
디바이스 초기화 정보(14)에는, 코드화 파일(7b)에 부가된 정보이며, 코드화 파일(7b)(프로그램(10b))의 로드시에, 검사장치(1C)의 초기화를 실행하는지 여부의 정보가 설정되어 있다. The
다음에, 도 10의 플로우 차트를 참조하면서, 도 9에 도시한 본 발명의 제 4 실시형태에 의한 동작에 관해 설명한다. Next, an operation according to the fourth embodiment of the present invention shown in FIG. 9 will be described with reference to the flowchart of FIG. 10.
도 10에서, 스텝 S10은, 전술(도 8 참조)한 것과 같은 로드 처리이다. In FIG. 10, step S10 is a load process as mentioned above (refer FIG. 8).
우선, 프로그램 로드 수단(5C)은, 프로그램(10b)의 로드를 시작하고(스텝 S10), 디바이스 초기화 정보(14)에 의거하여, 검사장치(1C) 내의 디바이스의 초기화를 실행하는지의 여부를 판정한다(스텝 S12). First, the program loading means 5C starts loading the
스텝 S12에서, 초기화를 실행하지 않는(즉, NO)다고 판정되면, 곧바로 지정 프로그램을 판독하고(스텝 S13), 한편, 초기화를 실행한다(즉, YES)고 판정되면, 디바이스를 초기화하고 나서(스텝 S14), 지정 프로그램을 판독한다(스텝 S13). In step S12, if it is determined that initialization is not performed (i.e., NO), the designated program is immediately read (step S13), while if it is determined that initialization is performed (i.e., YES), then the device is initialized ( Step S14), the designated program is read (step S13).
예를 들면, 프로그램 실행 수단(4)C에 의해 프로그램(10a)을 실행하고 있는 상태로부터, 프로그램(10b)을 로드하여 실행하는 경우에, 프로그램(10a)과 프로그램(10b) 사이에서 데이터의 수수 없는 경우에는, 디바이스 내용을 보존할 필요가 없기 때문에, 디바이스 초기화 정보(14)에 의거하여 검사장치(1C) 내의 디바이스를 초기화한다. For example, when the
한편, 프로그램(10a)과 프로그램(10b) 사이에 데이터의 수수가 있는 경우에는, 디바이스 내용을 보존할 필요가 있기 때문에, 디바이스의 초기화 처리를 실행하지 않는다. On the other hand, when there is data transfer between the
이로써, 전회의 검사 결과 등을 인계하여, 후처리 공정에서 이용할 수 있다. 예를 들면, 프로그램(10a)에서의 「OK/NG」를 나타내는 판정 수를, 그대로 프로그램(10b)으로 인계하여 검사 처리를 속행할 수 있다. Thereby, a previous test result etc. can be taken over and can be used in a post-processing process. For example, the number of determinations indicating "OK / NG" in the
이상과 같이, 본 발명의 제 4 실시형태(도 9, 도 10 참조)에 의하면, 프로그램(10b)은, 검사장치(1C)(프로그램 실행 시스템)에 대한 디바이스 초기화 정보(14)를 포함하고, 프로그램 로드 수단(5C)은, 축적 수단(6)으로부터의 프로그램(10b)의 로드시에, 디바이스 초기화 정보(14)에 의거하여, 필요에 따라 검사장치(1C) 내의 디바이스를 초기화한다 As described above, according to the fourth embodiment (see FIGS. 9 and 10) of the present invention, the
따라서 프로그램(10b)의 로드시에, 초기화 처리의 필요여부를 선택할 수 있 고, 필요에 따라 초기화 처리를 자동적으로 실행할 수 있다. Therefore, at the time of loading of the
제 5 실시형태5th embodiment
또한, 상기 제 1 내지 4 실시형태에서는, 축적 수단(6) 내에 코드화 파일(7b)이 존재하는 것을 전제로 하여 설명하였지만, 코드화 파일(7b)의 로드시에 코드화 파일(7b)의 유무를 체크하여도 좋다. In the first to fourth embodiments described above, the premise is that the
이하, 코드화 파일(7b)의 유무 체크 기능을 마련한 본 발명의 제 5 실시형태에 관한 프로그램 실행 시스템에 관해 설명한다. Hereinafter, the program execution system which concerns on 5th Embodiment of this invention which provided the presence / absence check function of the
이 경우, 프로그램 실행 수단(4) 및 프로그램 로드 수단(5)(예를 들면, 도 1, 도 2 참조)은, 프로그램(10b)(또는 프로그램(10a))의 로드시에, 프로그램(10b)(또는 프로그램(10a))의 유무를 체크하고, 호출 명령에 응답하는 프로그램이 존재하지 않는 경우에 에러 처리를 실행(에러 코드를 출력)하도록 되어 있다. In this case, the program execution means 4 and the program load means 5 (for example, see FIGS. 1 and 2), when the
이하, 도 11의 플로우 차트를 참조하면서, 본 발명의 제 5 실시형태에 의한 동작에 관해 설명한다. Hereinafter, operation | movement by 5th Embodiment of this invention is demonstrated, referring the flowchart of FIG.
도 11에서, 스텝 S10은 전술(도 8, 도 10 참조)한 것과 같은 로드 처리이다. 여기서는, 축적 수단(6) 내의 프로그램(10b)을 로드하는 경우를 예로 들어 설명한다. In Fig. 11, step S10 is a load process as described above (see Figs. 8 and 10). Here, the case where the
우선, 프로그램(10b)의 로드를 시작하고(스텝 S10), 코드화 파일(7b)이 존재하는지의 여부를 판정한다(스텝 S14). First, loading of the
스텝 S14에서, 코드화 파일(7b)이 존재한다(즉, YES)고 판정되면, 코드화 파일(7b)을 판독한다(스텝 S15). If it is determined in step S14 that the encoded
한편, 스텝 S14에서, 코드화 파일(7b)이 존재하지 않는(즉, NO)다고 판정되면, 코드화 파일(7b)이 존재하지 않는 것을 표시/조작 수단(12)의 화면에 표시한다(스텝 S16). On the other hand, if it is determined in step S14 that the
또한, 인터넷 등의 통신에 의해 다른 장치에 통지하고(스텝 S17), 검사장치(1) 내의 디바이스에 에러 코드를 출력하고(스텝 S18), 동작을 정지한다(스텝 S19). In addition, other devices are notified by communication such as the Internet (step S17), an error code is output to the device in the inspection apparatus 1 (step S18), and the operation is stopped (step S19).
또한, 스텝 S16 내지 S18에 관해서는, 모든 처리를 실행할 필요는 없고, 어느 하나의 처리만을 실행하거나, 또는 어느 2개의 처리만을 실행하여도 좋다. In addition, regarding step S16 to S18, it is not necessary to perform all the processes, only one of the processes may be performed, or only two of the processes may be executed.
이와 같이, 프로그램 실행 수단(4)은, 프로그램(10b)의 로드시에, 대상이 되는 코드화 파일(7b)이 존재하지 않았던 경우에는, 검사장치(1)의 동작을 정지함과 함께, 화면 표시에 의한 에러 통보, 통신에 의한 통지, 또는 검사장치(1) 내의 디바이스에 에러 코드 기록을 행한다. In this way, the program execution means 4 stops the operation of the
또한, 축적 수단(6)으로부터 프로그램(10a)을 로드하는 경우도 마찬가지이다. The same applies to the case where the
도 11에 도시한 바와 같이, 본 발명의 제 5 실시형태에 의한 프로그램 실행 수단은, 프로그램 로드 수단에 의한 축적 수단(6)으로부터의 소정의 프로그램 로드시에, 소정의 프로그램이 축적 수단(6)에 존재하는지의 여부를 확인하고, 호출 명령에 응답하는 소정의 프로그램이 축적 수단(6) 내에 존재하지 않는 경우에는 에러 코드를 출력한다. As shown in Fig. 11, in the program execution means according to the fifth embodiment of the present invention, a predetermined program is stored in the program storage means at the time of loading a predetermined program from the accumulation means 6 by the program load means. If a predetermined program in response to the call command does not exist in the storage means 6, an error code is output.
이로써, 전술한 효과에 더하여, 프로그램 로드시의 에러 처리를 실행할 수 있고, 로드시에 대응하는 프로그램이 존재하지 않는 상태에서는, 이상 동작을 회피함과 함께, 정지한 원인을 특정하는 편리성이 향상된다는 효과가 있다.As a result, in addition to the above-described effects, error processing upon program loading can be executed, and in the state where a program corresponding to the load does not exist, abnormal operation is avoided, and convenience of specifying the cause of stopping is improved. It is effective.
제 6 실시형태6th embodiment
또한, 상기 제 1 내지 5 실시형태에서는, 프로그램 로드시의 대상이 되는 축적 수단(6)으로서, 1종류의 기록 매체(메모리 카드 등)를 상정하여 설명하였지만, 복수의 다른 기록 매체(예를 들면, 메모리 카드 및 하드 디스크 등)를 프로그램 로드시의 대상으로 하여도 좋다. In the first to fifth embodiments described above, one type of recording medium (memory card or the like) has been described as the storage means 6 to be subjected to the program load, but a plurality of different recording media (for example, , A memory card, a hard disk, or the like) may be used as a program load target.
도 12는 복수의 축적 수단(6, 6D)을 프로그램 로드시의 대상으로 한 본 발명의 제 6 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도이다. FIG. 12 is a block diagram showing an essential part of a program execution system according to a sixth embodiment of the present invention in which a plurality of accumulating
도 12에서, 전술(도 2 참조)한 것과 같은 것에 관해서는, 전술한 것과 동일 부호를 붙이고, 또는 부호의 뒤에 「D」또는 「'」를 붙이고 상세한 기술을 생략한다. In FIG. 12, the same code | symbol as the above-mentioned (refer FIG. 2) is attached | subjected, or "D" or "'" is attached after a code | symbol, and detailed description is abbreviate | omitted.
이 경우, 각 프로그램에 대응한 코드화 파일(7b, 7b')은 각각이 격납된 축적 수단(6, 6D)에 관한 판독처 정보를 포함한다. In this case, the coded
또한, 검사장치(1D) 내의 프로그램 실행 수단(4D) 및 프로그램 로드 수단(5D)은, 로드 대상이 되는 코드화 파일(7b, 7b') 내의 판독처 정보에 응하여, 각 프로그램의 판독처를 개별적으로 변경하도록 되어 있다. In addition, the program executing means 4D and the program loading means 5D in the
다음에, 도 13의 플로우 차트를 참조하면서, 도 12에 도시한 본 발명의 제 6 실시형태에 의한 동작에 관해 설명한다. Next, with reference to the flowchart of FIG. 13, operation | movement by 6th Embodiment of this invention shown in FIG. 12 is demonstrated.
여기서는, 대표적으로, 프로그램(10b)에 대응하는 코드화 파일(7b)을 로드 대상으로 한 경우에 관해 설명한다. 또한, 축적 수단(6)은 메모리 카드이고, 축적 수단(6') 은 하드 디스크(HDD)인 것으로 한다. Here, the case where the
도 13에서, 우선, 로드 대상이 되는 코드화 파일(7b)(프로그램(10b))의 로드를 시작하고(스텝 S10), 대상이 되는 코드화 파일(7b) 내의 판독처 정보를 참조하여, 메모리 카드(축적 수단(6))로부터 로드하는 상태인지의 여부를 판정한다(스텝 S20). In Fig. 13, first, loading of the coded
스텝 S20에서, 메모리 카드로부터 로드하는 상태(즉, YES)라고 판정되면, 판독처가 메모리 카드(축적 수단(6))라고 인식하고, 메모리 카드로부터 코드화 파일을 판독한다(스텝 S21). If it is determined in step S20 that it is loaded from the memory card (that is, YES), the read destination is recognized as the memory card (accumulating means 6), and the coded file is read from the memory card (step S21).
한편, 스텝 S20에서, 메모리 카드로부터 로드하는 상태가 아니(즉, NO)라고 판정되면, 판독처가 하드 디스크(HDD)라고 인식하고, 네트워크상의 HDD로부터 코드화 파일을 판독한다(스텝 S22). On the other hand, if it is determined in step S20 that it is not loaded from the memory card (that is, NO), the read destination is recognized as the hard disk HDD, and the coded file is read from the HDD on the network (step S22).
또한, 여기서는, 2개의 축적 수단(6, 6D)중에서 판독처를 지정하는 경우에 관해 설명하였지만, 검사장치(1D)에 3개 이상의 축적 수단이 접속되어 있어도 좋다. In addition, although the case where a reading destination is specified among the two storage means 6 and 6D was demonstrated here, three or more storage means may be connected to the
이와 같이, 본 발명의 제 6 실시형태(도 12, 도 13 참조)에서, 소정 프로그램(코드화 파일(7b 또는 7b'))에 대한 호출 명령을 이용한 프로그램은, 호출 명령에 응답하는 소정의 프로그램이 격납되어 있는 축적 수단(6 또는 6D)에 관한 판독처 정보를 포함하고, 프로그램 실행 수단(4D)은, 판독처 정보에 응하여, 소정 프로그램의 판독처를 개별적으로 변경한다. As described above, in the sixth embodiment of the present invention (see Figs. 12 and 13), a program using a call instruction for a predetermined program (encoded
이로써, 판독처 정보에 의거하여 로드처(판독처)의 지정이 가능하기 때문에, 대상이 되는 축적 수단(6, 6D)을 자동적으로 전환할 수 있다. Thereby, since the load destination (read destination) can be specified based on the read destination information, the storage means 6 and 6D to be targeted can be automatically switched.
따라서 기종에 따른 코드화 파일(7b, 7b')의 선택의 폭이 넓어지고, 네트워크상의 하드 디스크(HDD) 등의 축적 수단(6D) 내의 코드화 파일(7b')을 지정할 수 있다. Therefore, the selection of the coded
또한, 다른 장치의 설치 현장으로 나가서 행하여 코드화 파일의 교체 조작 등을 행할 필요가 없고, 프로그램의 변경을 실현할 수 있다. In addition, it is not necessary to go out to the installation site of another apparatus and perform a replacement operation of the coded file, etc., and the change of the program can be realized.
또한, 본 발명의 제 6 실시형태에 의하면, 전술한 효과에 더하여, 프로그램(코드화 파일(7b 또는 7b'))의 판독 처리를 확실하게 실행할 수 있다. According to the sixth embodiment of the present invention, in addition to the effects described above, the reading processing of the program (coded
제 7 실시형태7th embodiment
또한, 상기 제 1 내지 6 실시형태에서는, 특히 언급하지 않았지만, 프로그램의 로드시에 로드 이력 정보를 보존하여도 좋다. In addition, although not mentioned in particular in said 1st-6th embodiment, load history information may be preserve | saved at the time of loading of a program.
도 14는 로드 이력 정보를 보존 가능하게 구성한 본 발명의 제 7 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도이다. Fig. 14 is a block diagram showing a main part of a program execution system according to a seventh embodiment of the present invention in which load history information can be stored.
도 14에서, 전술(도 2 참조)한 것과 같은 것에 관해서는, 전술한 것과 동일 부호를 붙이고, 또는 부호의 뒤에 「E」를 붙이고 상세한 기술을 생략한다. In Fig. 14, the same reference numerals as those described above (see Fig. 2) are denoted by the same reference numerals, or "E" is attached after the reference numerals and detailed description thereof is omitted.
이 경우, 검사장치(1E) 내의 프로그램 실행 수단(4E)은 프로그램 로드 이력 보존 수단(15)을 구비하고 있다. In this case, the program execution means 4E in the
프로그램 로드 이력 보존 수단(15)은, 코드화 파일(7b)(프로그램(10b))에 관한 로드 이력을 취득하여 보존한다. The program load history storage means 15 acquires and stores a load history regarding the
예를 들면, 프로그램 로드 이력 보존 수단(15)에는 동작한 프로젝트(프로그램(10b) 또는 코드화 파일(7b))의 이력이나, 코드화 파일(7b)(프로그램(10b))의 로드시에 변경한 프로그램명 등이 시계열로 보존된다. For example, the program load history saving means 15 includes a history of an activated project (
또한, 여기서는, 대표적으로 코드화 파일(7b)(프로그램(10b))을 로드하는 경우를 도시하고 있지만, 전술(도 5 참조)한 코드화 파일(7a)(프로그램(10a))을 로드하는 경우에도 적용 가능하다. In addition, although the case where the
다음에, 도 15의 플로우 차트를 참조하면서, 도 14에 도시한 본 발명의 제 7 실시형태에 의한 동작에 관해 설명한다. Next, with reference to the flowchart of FIG. 15, operation | movement by 7th Embodiment of this invention shown in FIG. 14 is demonstrated.
도 15에서, 우선, 프로그램 로드 수단(5E)이 프로그램(10b)의 로드를 시작하면(스텝 S10), 프로그램 로드 이력 보존 수단(15)은, 프로그램(10b)의 로드 이력(구체적으로는, 로드한 「파일명」)을 보존한다(스텝 S24). In Fig. 15, first, when the program loading means 5E starts loading the
계속해서, 다음의 프로그램(10b')의 로드가 시작되면(스텝 S10A), 마찬가지로, 프로그램 로드 이력 보존 수단(15)은 다음의 프로그램(10b')의 로드 이력을 보존한다(스텝 S24A). Subsequently, when loading of the
이하, 프로그램(10b)의 로드가 시작될 때마다, 같은 로드 처리 및 로드 이력 보존 처리가 반복된다. Each time the load of the
이로써, 예를 들면, 프로그램(10b, 10b', …)이 프로그램(A)→프로그램(B)→프로그램(C), …와 같이 순차적으로 로드된 경우, 프로그램 로드 이력 보존 수단(15)에는, 프로그램(A), 프로그램(B), 프로그램(C), …으로 보존된다. Thus, for example, the
이와 같이, 본 발명의 제 7 실시형태(도 14, 도 15 참조)에 의한 프로그램 실행 수단(4E)은, 프로그램 로드 이력 보존 수단(15)을 포함하고, 프로그램 로드 이력 보존 수단(15)은, 축적 수단(6) 내의 소정 프로그램(예를 들면, 코드화 파일(7b))에 대한 호출 명령에 응답하여, 프로그램 실행 수단(4E)이 축적 수단(6) 내의 소정 프로그램을 메모리 영역(3)에 로드하여 실행할 때, 소정의 프로그램이 로드된 것을 로드 이력으로서 보존한다. As described above, the program execution means 4E according to the seventh embodiment of the present invention (see Figs. 14 and 15) includes a program load history storage means 15, and the program load history storage means 15, In response to a call instruction for a predetermined program (for example, the
이로써, 이상 발생시에, 원인이 되는 프로그램이 어느 것인지를 조사하는데 도움이 되고 또, 에러 스톱 발생시의 다음의 기동시에, 어느 프로그램으로부터 스타트하면 좋은지를 특정하는데 도움이 된다. This helps to determine which program is the cause when an error occurs, and helps to specify which program should be started at the next start when an error stop occurs.
또한, 로드 이력을 참조함에 의해, 어떤 기종을 검사하였는지를 인식할 수 있다. In addition, by referring to the load history, it is possible to recognize which model was inspected.
또한, 프로그램의 호출관계를 용이하게 취득할 수 있다. In addition, it is possible to easily acquire the calling relationship of the program.
제 8 실시형태Eighth embodiment
또한, 상기 제 1 내지 7 실시형태에서는, 프로그램(프로젝트)의 로드 처리만에 관해 설명하였지만, 검사장치로부터 축적 수단에 프로그램(프로젝트)을 업로드하여도 좋다. In the first to seventh embodiments, only the load processing of the program (project) has been described, but the program (project) may be uploaded from the inspection apparatus to the accumulation means.
도 16은 프로그램 실행 수단(4F)에 업로드 기능을 마련한 본 발명의 제 8 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도이다. FIG. 16 is a block diagram showing an essential part of a program execution system according to an eighth embodiment of the invention in which an upload function is provided in the program execution means 4F.
도 16에서, 전술(도 2 참조)한 것과 같은 것에 관해서는, 전술한 것과 동일 부호를 붙이고, 또는 부호의 뒤에 「F」를 붙이고 상세한 기술을 생략한다. In FIG. 16, the same code | symbol as the above-mentioned (refer FIG. 2) is attached | subjected, or "F" is attached after a code | symbol, and detailed description is abbreviate | omitted.
이 경우, 검사장치(1F) 내의 프로그램 실행 수단(4F)은, 프로그램 업로드 수 단(5F)을 구비하고 있다. In this case, the program execution means 4F in the
프로그램 업로드 수단(5F)은, 메모리 영역(3)에 전개되어 있는 프로그램(10a 또는 10b)을, 코드화 파일(7c)로 변환하여 축적 수단(6)에 카피한다. The program upload means 5F converts the
또한, 프로그램 업로드 수단(5F)은, 전술한 프로그램 로드 수단(5 내지 5E)의 기능에 포함되어도 좋고, 프로그램 로드 수단(5 내지 5E)과는 별도로 마련되어도 좋다. The program upload means 5F may be included in the functions of the program load means 5 to 5E described above, or may be provided separately from the program load means 5 to 5E.
또한, 축적 수단(6)으로서는, 다른 복수의 기록 매체(PC 카드, HDD 등)가 접속되어도 좋다 In addition, as the storage means 6, a plurality of other recording media (PC card, HDD, etc.) may be connected.
다음에, 도 17의 플로우 차트를 참조하면서, 도 16에 도시한 본 발명의 제 8 실시형태에 의한 동작에 관해 설명한다. Next, with reference to the flowchart of FIG. 17, operation | movement by 8th Embodiment of this invention shown in FIG. 16 is demonstrated.
도 17에서, 우선, 프로그램 업로드 수단(5F)은, 메모리 영역(3)상에 전개되어 실행중 프로그램의 업로드를 시작하고(스텝 S25), 업로드 대상이 되는 프로그램의 보존처의 지정이 PC 카드인지 아니지(HDD)를 판정한다(스텝 S26). In Fig. 17, first, the program upload means 5F expands on the
스텝 S26에서, 보존처의 지정이 PC 카드(즉, YES)라고 판정되면, 축적 수단(6)이 되는 PC 카드에 코드화 파일(7c)(프로그램)을 보존한다(스텝 S27). In step S26, when it is determined that the designation of the storage destination is a PC card (i.e., YES), the coded
한편, 스텝 S26에서, 보존처의 지정이 PC 카드가 아니(즉, NO)라고 판정되면, 축적 수단(6)이 되는 HDD에 코드화 파일(7c)(프로그램)을 보존한다(스텝 S28). On the other hand, if it is determined in step S26 that the designation of the storage destination is not a PC card (that is, NO), the coded
이와 같이, 본 발명의 제 8 실시형태(도 16, 도 17 참조)에 의한 프로그램 실행 수단(4F)은, 프로그램 업로드 수단(5F)을 포함하고, 프로그램 업로드 수단(5F)은, 검사장치(1F) 내에서 프로그램 실행 수단(4F)이 실행중 프로그램을, 축적 수단(6)에 업로드한다. Thus, the program execution means 4F by 8th Embodiment (refer FIG. 16, FIG. 17) of this invention includes the program upload means 5F, and the program upload means 5F is the
이로써, 실행중 프로그램을 축적 수단(6)에 보존할 수 있고 또, 업로드시의 보존처로서, PC 카드 또는 HDD로 지정할 수 있다. 또한, HDD에 관해서는 네트워크에 접속된 HDD라도 좋다. In this way, the program being executed can be stored in the storage means 6 and can be designated as a PC card or HDD as a storage destination at the time of upload. The HDD may be an HDD connected to a network.
또한, 일반적으로, 검사장치(1F)가 가동하고 있는 동안에, 규격치를 조정한 경우에는, 원래 데이터의 정합성을 잃어버리지만, 본 발명의 제 8 실시형태에 의하면, 프로그램의 원래 파일을 갱신하여 보존할 수 있기 때문에, 원래 파일에 대해 규격치의 조정을 개별적으로 반영시길 필요가 없어진다는 이점도 있다. In general, when the standard value is adjusted while the
제 9 실시형태9th Embodiment
또한, 상기 제 8 실시형태에서는, 프로그램의 업로드만을 실행하였지만, 업로드되는 프로그램에, 어플리케이션 버전 정보(이하, 단지 「버전 정보」라고 한다)를 부가하여도 좋다. In addition, in the eighth embodiment, only uploading of the program is executed, but application version information (hereinafter, simply referred to as "version information") may be added to the uploaded program.
어플리케이션이란, 검사 대상에 응하여, 유저에 의해 프로그래밍 소프트웨어(9)(또는, 9a, 9b)로 작성되는 프로그램에 관한 것이다. The application relates to a program created by the user in the programming software 9 (or 9a, 9b) in response to the inspection target.
도 18은 본 발명의 제 9 실시형태에 관한 프로그램 실행 시스템에 의한 동작을 도시한 플로우 차트이다. Fig. 18 is a flowchart showing the operation by the program execution system according to the ninth embodiment of the present invention.
도 18에서, 전술(도 17 참조)한 것과 다른점은, 업로드의 시작(스텝 S25)에 계속해서, 버전 정보의 부가 처리(스텝 S25A)가 추가된 것뿐이다. In FIG. 18, the difference from the above-described (see FIG. 17) is that only the version information addition process (step S25A) is added following the start of upload (step S25).
또한, 본 발명의 제 9 실시형태에 의한 시스템 구성은, 도 16에 도시한 바와 같고, 프로그램 업로드 수단(5F)이, 업로드시의 버전 정보 관리 기능 및 버전 정보 부가 기능을 갖고 있는 점만이 다르다. The system configuration according to the ninth embodiment of the present invention is as shown in Fig. 16, except that the program upload means 5F has a version information management function and a version information addition function at the time of upload.
이 경우, 프로그램 업로드 수단(5F)(도 16 참조)은, 축적 수단(6)에 업로드되는 프로그램에 대해, 버전 정보를 부가하도록 되어 있다. In this case, the program upload means 5F (see FIG. 16) adds version information to the program uploaded to the accumulation means 6.
다음에, 도 18을 참조하면서, 본 발명의 제 9 실시형태에 의한 동작에 관해 설명한다. Next, operation according to the ninth embodiment of the present invention will be described with reference to FIG.
우선, 프로그램 업로드 수단(5F)은, 프로그램의 업로드를 시작하고(스텝 S25), 업로드하는 프로그램에 버전 정보를 부가한다(스텝 S25A). First, the program upload means 5F starts uploading a program (step S25), and adds version information to the program to upload (step S25A).
이하, 전술한 바와 마찬가지로, 프로그램의 보존처의 지정을 판정하고(스텝 S26), PC 카드 또는 HDD에 프로그램을 보존한다(스텝 S27, S28). Hereinafter, as described above, the designation of the storage destination of the program is determined (step S26), and the program is stored in the PC card or the HDD (steps S27, S28).
이와 같이, 본 발명의 제 9 실시형태에 의한 프로그램 실행 수단은, 프로그램 업로드 수단(5F)(도 16 참조)에 의한 축적 수단(6)으로의 프로그램 업로드시에, 축적 수단(6)에 업로드되는 프로그램(실행중 프로그램)에 대해 버전 정보를 부가한다. In this manner, the program execution means according to the ninth embodiment of the present invention is uploaded to the accumulation means 6 at the time of uploading the program to the accumulation means 6 by the program upload means 5F (see FIG. 16). Add version information to the program (running program).
예를 들면, 전술(도 16, 도 17 참조)한 제 8 실시형태에서는, 프로그램(프로젝트)의 업로드시에 원래 파일이 갱신되지만, 나중에 보았을 때, 변경 전의 파일인지 변경 후의 파일인지를 판별할 수 없게 된다. For example, in the eighth embodiment described above (refer to Figs. 16 and 17), the original file is updated at the time of uploading the program (project), but when viewed later, it can be determined whether the file is before the change or after the change. There will be no.
그러나, 본 발명의 제 9 실시형태(도 18 참조)에 의하면, 파일 갱신시에 버전 정보가 부가되기 때문에, 갱신된 파일인지의 여부를 판별할 수 있고, 관리하기 쉽게 되고 게다가 버전 차에 의한 오동작을 방지할 수도 있다. However, according to the ninth embodiment of the present invention (see Fig. 18), since version information is added at the time of file update, it is possible to determine whether or not it is an updated file, to be easy to manage, and to malfunction due to version differences. It can also prevent.
제 10 실시형태10th embodiment
또한, 상기 제 1 내지 9 실시형태에서는, 특히 언급하지 않았지만, 축적 수단(6)으로부터의 프로그램 로드시에 콘피규레이션 정보를 비교하여, 로드되는 프로그램과 검사장치의 정합성을 체크하여도 좋다. In addition, although not mentioned in particular in the said 1st-9th embodiment, you may compare the configuration information at the time of the program load from the accumulating
이하, 도 19 내지 도 21을 참조하면서, 콘피규레이션 정보의 정합성 체크 기능을 마련한 본 발명의 제 10 실시형태에 관한 프로그램 실행 시스템에 관해 설명한다. The following describes a program execution system according to a tenth embodiment of the present invention in which a consistency check function of configuration information is provided with reference to FIGS. 19 to 21.
도 19는 검사장치에 콘피규레이션 정보의 체크 기능을 마련한 본 발명의 제 10 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도이다. FIG. 19 is a block diagram showing a main part of a program execution system according to a tenth embodiment of the present invention in which the inspection apparatus has a check function of configuration information.
도 19에서, 전술(도 2 참조)한 것과 같은 것에 관해서는, 전술한 것과 동일 부호를 붙이고, 또는 부호의 뒤에 「G」를 붙이고 상세한 기술을 생략한다. In Fig. 19, the same reference numerals as those described above (see Fig. 2) are denoted by the same reference numerals, or "G" is attached after the reference numerals, and detailed description thereof is omitted.
이 경우, 프로그램 실행 수단(4G) 내의 프로그램 로드 수단(5G)은, 검사장치(1G) 및 코드화 파일(7b)의 각 콘피규레이션 정보를 비교하는 콘피규레이션 정보 정합성 체크 수단(16)을 구비하고 있다. In this case, the program loading means 5G in the program execution means 4G is provided with configuration information consistency checking means 16 for comparing each configuration information of the
또한, 축적 수단(6)은, 복수의 코드화 파일(7b, 7b', …)을 격납하고 있는 것으로 한다. In addition, it is assumed that the accumulating means 6 stores a plurality of coded
각 코드화 파일(7b, 7b')은, 자신이 동작하기 위한 콘피규레이션 정보, 즉, 실제의 프로그램 처리 동작에 적합하기 위한 검사장치(1G)의 H/W 구성 또는 디바이스 구성에 대응한 동작 콘피규레이션 정보(이하, 단지 「콘피규레이션 정보」라고 한다)를 갖고 있다. Each encoded
프로그램 실행 수단(5G) 내의 콘피규레이션 정합성 체크 수단(16)은, 프로그 램 로드 수단(5G)에 의한 축적 수단(6)으로부터의 소정 프로그램의 로드시에, 소정 프로그램의 콘피규레이션 정보와, 프로그램 실행 수단이 동작하고 있는 환경 콘피규레이션 정보(이하, 단지 「콘피규레이션 정보」라고 한다)를 비교하여 양자가 일치하는지의 여부를 확인하고, 확인 결과가 불일치를 나타내는 경우에는 에러 코드를 출력한다. The configuration consistency checking means 16 in the program execution means 5G includes configuration information of the predetermined program at the time of loading the predetermined program from the accumulation means 6 by the program loading means 5G, Compares the environmental configuration information (hereinafter referred to simply as "configuration information") in which the program execution means operates, checks whether they match, and outputs an error code if the verification result indicates inconsistency. do.
이와 같이, 축적 수단(6) 내의 코드화 파일(7b, 7b')(프로그램(10b, 10b')) 및 검사장치(1G) 내의 프로그램 실행 수단(4G)은, 각각의 콘피규레이션 정보를 포함하고, 프로그램 실행 수단(4G)은 축적 수단(6)으로부터의 프로그램 로드시에 콘피규레이션 정보의 정합성을 체크하도록 되어 있다. In this manner, the
또한, 프로그램 실행 수단(4G)은, 축적 수단(6) 내의 프로그램 로드시에, 로드 대상이 되는 소정 프로그램 예를 들면 코드화 파일(7b)(프로그램(10b))의 콘피규레이션 정보를 판독함에 의해, 소정 프로그램에 대응한 콘피규레이션 정보를 공유화하여도 좋다. In addition, the program execution means 4G reads configuration information of a predetermined program to be loaded, for example, the
후술하는 바와 같이, 콘피규레이션 정합성 체크 수단(16)은, 검사장치(1G)의 콘피규레이션 정보(H/W 구성 또는 디바이스 구성)와, 축적 수단(6)으로부터 판독된(또는, 앞으로 로드되는) 코드화 파일(7b)(또는, 다른 코드화 파일(7b'))의 콘피규레이션 정보를 비교하고, 실제로 프로그램 동작이 가능한지의 여부를 확인한다. As will be described later, the configuration consistency checking means 16 reads (or forwards) the configuration information (H / W configuration or device configuration) of the
도 20은 보드에 관한 검사장치(1G)와 코드화 파일(7b, 7b', 7b")과의 각 콘피규레이션 정보의 관계를 도식적으로 도시한 블록도이다. Fig. 20 is a block diagram schematically showing the relationship between the configuration information of the
도 20에서, 검사장치(1G)는 콘피규레이션 정보로서, 증설 보드(18a, 18b)를 갖고 있는 것으로 한다. In FIG. 20, it is assumed that the
또한, 축적 수단(6) 내의 코드화 파일(7b, 7b', 7b")은 개별의 콘피규레이션 정보(17a, 17b, 17c)를 갖고 있는 것으로 한다. In addition, it is assumed that the
콘피규레이션 정보(17a 내지 17c)는, 구체적으로는 검사장치(1G)의 H/W 구성(사용하고 있는 증설 보드의 종류나 슬롯 위치 등)이나 검사장치(1G) 내의 디바이스(메모리) 설정이 보존된 파일이다. Specifically, the
여기서는, 콘피규레이션 정보(17a)는, 증설 보드(18a, 18b)에 대응하고, 콘피규레이션 정보(17b)는, 증설 보드(18a, 18c)에 대응하고, 콘피규레이션 정보(17c)는 증설 보드(18a)에 대응하고 있는 것으로 한다. Here, the
다음에, 도 21의 플로우 차트를 참조하면서, 도 19 및 도 20에 도시한 본 발명의 제 10 실시형태에 의한 콘피규레이션 정보 체크 동작에 관해 설명한다. Next, the configuration information checking operation according to the tenth embodiment of the present invention shown in FIGS. 19 and 20 will be described with reference to the flowchart shown in FIG. 21.
도 21에서, 스텝 S10, S15, S17 내지 S19는, 전술(도 11 참조)한 것과 같은 처리이다. In FIG. 21, steps S10, S15, and S17 to S19 are the same processes as those described above (see FIG. 11).
우선, 프로그램 실행 수단(4G)에서, 축적 수단(6)으로부터 프로그램(10b)의 로드를 시작하면(스텝 S10), 프로그램 로드 수단(5G) 내의 콘피규레이션 정합성 체크 수단(16)은, 콘피규레이션 정보(17a)(또는, 17b, 17c)가 검사장치(1G)의 콘피규레이션 정보(H/W 구성, 디바이스 구성)와 완전하게 일치하고 있는지의 여부를 판정한다(스텝 S29). First, when the program execution means 4G starts loading the
스텝 S29에서, 콘피규레이션 정보(17a)가 검사장치(1G)의 H/W 구성과 완전하게 일치한다(즉, YES)고 판정되면, 코드화 파일(7b)(도 20의 예에서는, 검사장치 (1G)의 H/W 구성과 완전하게 일치한다)을 판독한다(스텝 S15). In step S29, when it is determined that the
한편, 스텝 S29에서, 예를 들면 콘피규레이션 정보(17b)가 검사장치(1G)의 H/W 구성과 완전하게는 일치하지 않는(즉, NO)다고 판정되면, 콘피규레이션 정보(17b)가 검사장치(1G)의 H/W 구성과 일치하지 않는 것을, 표시/조작 수단(12)의 화면상에 표시한다(스텝 S30). On the other hand, in step S29, for example, if it is determined that the
또한, 통신에 의해 다른 장치에 통지하고(스텝 S17), 검사장치(1G) 내의 디바이스에 에러 코드를 출력하고(스텝 S18), 검사장치(1G)를 정지시킨다(스텝 S19).In addition, other devices are notified by communication (step S17), an error code is output to the device in the
예를 들면, 도 20에서, 축적 수단(6) 내의 코드화 파일(7b)은 콘피규레이션 정보(17a)(증설 보드(18a, 18b))가 검사장치(1G)의 보드 구성(증설 보드(18a, 18b))과 완전하게 일치하기 때문에, 코드화 파일(7b)을 검사장치(1G)에 판독할 수 있다. For example, in Fig. 20, the
한편, 축적 수단(6)으로부터 코드화 파일(7b')을 판독하려고 하면, 콘피규레이션 정보(17b)(증설 보드(18a, 18c))가 검사장치(1G)의 보드 구성과 일치하지 않기 때문에, 에러로 되고, 코드화 파일(7b')을 검사장치(1G)에 판독할 수 없다 On the other hand, when trying to read the
이상과 같이, 본 발명의 제 10 실시형태(도 19 내지 도 21 참조)에 의하면, 축적 수단(6)에 격납되어 있는 프로그램(코드화 파일(7b, 7b', …))은, 자신이 동작하기 위한 콘피규레이션 정보(17b, 17b, …)를 포함하고, 프로그램 실행 수단(4G)은 콘피규레이션 정합성 체크 수단(16)을 포함하고, 콘피규레이션 정합성 체크 수단(16)은, 프로그램 로드 수단(5G)에 의한 축적 수단(6)으로부터의 소정 프로그램의 로드시에, 소정 프로그램의 콘피규레이션 정보와, 프로그램 실행 수단이 동작 하고 있는 환경의 콘피규레이션 정보가 일치하는지의 여부를 확인하고, 확인 결과가 불일치를 나타내는 경우에는 에러 코드를 출력한다. As described above, according to the tenth embodiment of the present invention (see FIGS. 19 to 21), the program (coded
이로써, 전술한 효과에 더하여, 콘피규레이션 정보(17b, 17b, …)의 정합성을 체크하고, 검사장치(1G)에서 처리 동작이 불가능한 프로그램의 로드를 회피할 수 있다. Thereby, in addition to the above-described effects, the consistency of the
즉, 축적 수단(6)으로부터 소정의 프로그램이 로드되고 실행될 때, 소정의 프로그램에서 취급하여야 할 증설 보드가 검사장치(1G)에 존재하지 않은 경우, 또는, 다른 증설 보드였던 경우에 있어서의 이상 동작을 미연에 방지할 수 있다. That is, when the predetermined program is loaded from the storage means 6 and executed, abnormal operation in the case where the expansion board to be handled in the predetermined program does not exist in the
제 11 실시형태11th Embodiment
또한, 상기 제 10 실시형태에서는, 프로그램 및 검사장치의 각 콘피규레이션 정보의 완전한 일치를 확인하였지만, 허용 범위를 넓혀서, 축적 수단(6)으로부터 로드되는 소정의 프로그램이 동작하기 위해 충분한지의 여부를 확인하여도 좋다. In addition, in the tenth embodiment, the complete match between the configuration information of the program and the inspection apparatus is confirmed, but the allowable range is widened to determine whether or not the predetermined program loaded from the accumulation means 6 is sufficient for operation. You may check it.
도 22는 허용 범위를 넓힌 본 발명의 제 11 실시형태에 의한 콘피규레이션 정보의 확인 동작을 도시한 플로우 차트이다. Fig. 22 is a flowchart showing an operation of confirming configuration information according to the eleventh embodiment of the present invention in which the allowable range is widened.
이 경우, 콘피규레이션 정합성 체크 수단(16)(도 19 참조)은, 축적 수단(6)으로부터 로드된 소정 프로그램의 콘피규레이션 정보와, 프로그램 실행 수단(4G)의 동작 환경(검사장치(1G))의 콘피규레이션 정보의 정합성 확인시에, 검사장치(1G)의 콘피규레이션 정보가, 소정의 프로그램이 동작하기 위해 충분한지의 여부를 판정하고, 동작 환경의 콘피규레이션 정보가, 소정의 프로그램이 동작하기 위해 불충분한 경우에는, 에러 코드를 출력하도록 되어 있다. In this case, the configuration consistency checking means 16 (see FIG. 19) includes configuration information of the predetermined program loaded from the storage means 6 and the operating environment of the program execution means 4G (
이하, 전술한 도 19 및 도 20과 함께, 도 22의 플로우 차트를 참조하면서, 본 발명의 제 11 실시형태에 의한 콘피규레이션 정보의 정합성 체크 처리 동작에 관해 설명한다. The following describes the consistency check processing operation of the configuration information according to the eleventh embodiment of the present invention with reference to the flowchart shown in FIG. 22 together with FIG. 19 and FIG. 20 described above.
도 22에서, 스텝 S10, S15, S17 내지 S19, S29는, 전술(도 21 참조)한 것과 같은 처리이다. In FIG. 22, steps S10, S15, S17 to S19, and S29 are the same processes as those described above (see FIG. 21).
우선, 프로그램 실행 수단(4G)에서, 축적 수단(6)으로부터 소정 프로그램(예를 들면, 코드화 파일(7b))의 로드를 시작하면(스텝 S10), 콘피규레이션 정합성 체크 수단(16)은, 콘피규레이션 정보(17a)(또는, 17b, 17c)가 검사장치(1G)의 콘피규레이션 정보와 완전하게 일치하고 있는지의 여부를 판정한다(스텝 S29). First, when the program execution means 4G starts to load a predetermined program (for example, the
스텝 S29에서, 예를 들면 콘피규레이션 정보(17a)가 검사장치(1G)의 H/W 구성과 완전하게 일치한다(즉, YES)고 판정되면, 코드화 파일(7b)을 판독한다(스텝 S15). In step S29, for example, if it is determined that the
한편, 스텝 S29에서, 로드 대상 프로그램의 콘피규레이션 정보가 검사장치(1G)의 H/W 구성과 완전하게는 일치하지 않는(즉, NO)다고 판정되면, 계속해서 콘피규레이션 정보(17b 또는 17c)가 검사장치(1G)의 H/W 구성에서 몇개의 증설 보드를 삭제한 것과 일치하고 있는지의 여부를 판정한다(스텝 S29A). On the other hand, if it is determined in step S29 that the configuration information of the load target program does not completely match the H / W configuration of the
스텝 S29A에서, 예를 들면 콘피규레이션 정보(17c)가, 검사장치(1G)의 H/W 구성에서 몇개의 증설 보드를 삭제한 것과 일치한다(즉, YES)고 판정되면, 콘피규레이션 정보(17c)에 해당하는 코드화 파일(7b")을 판독한다(스텝 S15). In step S29A, for example, if it is determined that the
도 20의 예에서는, 코드화 파일(7b")의 콘피규레이션 정보(17c)(증설 보드 (18a))는, 검사장치(1G)의 H/W 구성에서 증설 보드(18b)를 삭제한 것과 일치한다. In the example of FIG. 20, the
한편, 스텝 S29A에서, 예를 들면 콘피규레이션 정보(17b)가, 검사장치(1G)의 H/W 구성으로부터 몇개의 증설 보드를 삭제한 것과도 일치하지 않는(즉, NO)다고 판정되면, 콘피규레이션 정보(17b)가 검사장치(1G)의 H/W 구성과 일치하지 않는 것을, 표시/조작 수단(12)의 화면상에 표시한다(스텝 S30A). On the other hand, if it is determined in step S29A that the
또한, 통신에 의해 다른 장치에 통지하고(스텝 S17), 검사장치(1G) 내의 디바이스에 에러 코드를 출력하고(스텝 S18), 검사장치(1G)를 정지시킨다(스텝 S19). In addition, other devices are notified by communication (step S17), an error code is output to the device in the
이상과 같이, 축적 수단(6) 내의 코드화 파일(7b)(도 20 참조)은, 콘피규레이션 정보(17a)가 검사장치(1G)의 보드 구성과 완전하게 일치하기 때문에, 코드화 파일(7b)을 검사장치(1G)에 판독할 수 있다. As described above, the
또한, 축적 수단(6) 내의 코드화 파일(7b")은, 콘피규레이션 정보(17c)(증설 보드(18a))가 검사장치(1G)의 보드 구성에서 증설 보드(18b)를 삭제한 것과 일치하기 때문에, 코드화 파일(7b")을 검사장치(1G)에 판독할 수 있다. In addition, the
전술한 제 10 실시형태에서는, 코드화 파일(7c)(도 20 참조)을 로드할 수 없었지만, 본 발명의 제 11 실시형태에서는, 코드화 파일(7c)을 검사장치(1G)에 로드할 수 있다. In the tenth embodiment described above, the
한편, 축적 수단(6) 내의 코드화 파일(7b')은, 콘피규레이션 정보(17b)(증설 보드(18a, 18c))가 검사장치(1G)의 보드 구성에서 몇개의 증설 보드를 삭제하여도 일치하지 않고, 허용 범위를 넓혀도 에러로 되기 때문에, 코드화 파일(7b')을 검사장치(1G)에 판독할 수 없다. On the other hand, the
예를 들면, 공장 등에서 가동하고 있는 검사장치에서, 새로운 기종을 검사하기 위해, 추가의 증설 보드를 사용한 신규의 프로그램을 작성한 경우, 지금까지 가동하고 있던 기존 프로그램의 콘피규레이션 정보가 검사장치의 콘피규레이션 정보와는 다른 것으로 되어 버린다. 왜냐하면, 지금까지 가동하고 있던 기존 프로그램에서는, 추가의 증설 보드에 관한 기술이 없기 때문이다. For example, in an inspection apparatus operating in a factory or the like, when a new program using an additional expansion board is created to inspect a new model, the configuration information of the existing program that has been operated so far is displayed in the inspection apparatus. It is different from the configuration information. This is because there is no description of the additional expansion board in the existing program that has been operating until now.
그러나, 추가의 증설 보드를 사용한 신규 프로그램을 작성한 경우라도, 본 발명의 제 11 실시형태에 의하면, 신규 프로그램의 콘피규레이션 정보가 검사장치의 H/W 구성과 완전하게는 일치하지 않았던 경우에, 다시, 검사장치의 H/W 구성에서 몇개의 증설 보드를 삭제한 구성과고 일치하는지의 여부의 체크를 행함에 의해, 지금까지 가동하고 있던 기존 프로그램을 변경하는 일 없고, 신규로 추가한 증설 보드를 사용한 프로그램(프로젝트)을 작성할 수 있다. However, even when a new program using an additional extension board is created, according to the eleventh embodiment of the present invention, when the configuration information of the new program does not completely match the H / W configuration of the inspection apparatus, In addition, by checking whether or not the number of expansion boards correspond to the configuration in which the H / W configuration of the inspection apparatus is deleted, the newly added expansion boards are not changed without changing the existing programs that have been running. You can create a program (project) using.
이와 같이, 본 발명의 제 11 실시형태에 의하면, 콘피규레이션 정합성 체크 수단(16)은, 로드 대상이 되는 소정 프로그램의 콘피규레이션 정보와 검사장치(1G)의 콘피규레이션 정보의 정합성 확인시에, 검사장치(1G)의 콘피규레이션 정보가, 소정의 프로그램이 동작하기 위해 충분한지의 여부를 판정하고, 소정의 프로그램이 동작하기 위해 불충분한 경우만에 에러 코드를 출력하기 때문에, 전술한 작용 효과에 더하여, 로드 대상 프로그램의 허용 범위를 넓힐 수 있다. As described above, according to the eleventh embodiment of the present invention, the configuration consistency checking means 16 checks the consistency of the configuration information of the predetermined program to be loaded and the configuration information of the
제 12 실시형태12th Embodiment
또한, 상기 제 1 내지 11 실시형태에서는, 축적 수단(6)으로부터 로드된 소정 프로그램의 버전 정보(어플리케이션 버전 정보)의 정합성 체크에 관해 고려하지 않았지만, 버전 정보의 정합성 체크 기능을 마련하여도 좋다. In the first to eleventh embodiments, the consistency check of the version information (application version information) of the predetermined program loaded from the storage means 6 is not considered, but a consistency check function of the version information may be provided.
이하, 도 23의 플로우 차트를 참조하면서, 버전 정보의 정합성 체크 기능을 마련한 본 발명의 제 12 실시형태에 의한 처리 동작에 관해 설명한다. The following describes the processing operation according to the twelfth embodiment of the present invention in which the consistency check function of the version information is provided with reference to the flowchart of FIG. 23.
도 23에서, 스텝 S10, S15, S17 내지 S19는, 전술(도 21, 도 22 참조)한 것과 같은 처리이다. In FIG. 23, steps S10, S15, and S17 to S19 are the same processes as those described above (see FIGS. 21 and 22).
이 경우, 축적 수단(6)에 격납되어 있는 프로그램은, 자신이 동작하기 위한 동작 어플리케이션 버전 정보(이하, 단지 「버전 정보」라고 한다)를 포함하고, 검사장치 내의 프로그램 실행 수단은, 프로그램 로드 수단에 의한 축적 수단(6)으로부터의 소정 프로그램의 로드시에, 소정 프로그램의 버전 정보와 프로그램 실행 수단의 환경 어플리케이션 버전 정보(이하, 단지 「버전 정보」라고 한다)를 비교하여 정합성을 확인하고, 확인 결과가 부정합을 나타내는 경우에는 에러 코드를 출력하도록 되어 있다. In this case, the program stored in the storage means 6 includes operation application version information (hereinafter, simply referred to as "version information") for itself to operate, and the program execution means in the inspection apparatus is a program load means. When loading a predetermined program from the storage means 6 by means of comparison, the version information of the predetermined program is compared with the environmental application version information (hereinafter, simply referred to as "version information") of the program execution means to confirm consistency, and to confirm. If the result indicates a mismatch, an error code is output.
우선, 축적 수단(6)으로부터 소정 프로그램의 로드를 시작하고(스텝 S10), 로드되는 프로그램의 버전 정보와 로드 전의 실행 프로그램의 버전 정보가 일치하는지의 여부를 판정한다(스텝 S31). First, the loading of the predetermined program is started from the storage means 6 (step S10), and it is determined whether or not the version information of the loaded program and the version information of the executed program before loading match (step S31).
즉, 프로그램 로드 전의 실행 프로그램과의 버전 정보가 같은지의 여부를 판정하고, 양자가 일치한다(즉, YES)고 판정되면, 코드화 파일을 판독한다(스텝 S15). That is, it is determined whether the version information with the execution program before the program load is the same, and when it is determined that the two match (i.e., YES), the coded file is read (step S15).
한편, 스텝 S31에서, 양자가 일치하지 않는다(즉, NO)고 판정되면, 버전 정보가 일치하지 않는 것을, 표시/조작 수단(12)의 화면상에 표시한다(스텝 S32). On the other hand, if it is determined in step S31 that the two do not match (that is, NO), then the version information does not match is displayed on the screen of the display / operation means 12 (step S32).
또한, 통신에 의해 다른 장치에 통지함과 함께(스텝 S17), 검사장치 내의 디바이스에 에러코드를 출력하고(스텝 S18), 검사 처리를 정지한다(스텝 S19).Further, the communication is notified to another apparatus (step S17), an error code is output to the device in the inspection apparatus (step S18), and the inspection process is stopped (step S19).
또한, 전술한 바와 같이, 「어플리케이션」이란, 프로그래밍 소프트웨어(9)(또는, 9a, 9b)로 작성한 「프로그램」에 관한 것으로, 유저가 작성하는 프로그램은, 검사 대상에 따라 다르다. 따라서 검사 대상을 식별하기 위해, 개개의 「프로그램」에, 검사 대상에 응한 버전 정보가 부여되어 있다. In addition, as mentioned above, an "application" relates to the "program" created with the programming software 9 (or 9a, 9b), and the program which a user creates depends on a test object. Therefore, in order to identify a test target, the version information corresponding to a test target is provided to each "program".
특히, 본 발명에서는, 복수의 유저가 프로그램을 분산하여 작성하기 때문에, 분산하여 작성한 프로그램이 동작하는지의 여부, 즉, 「기종 선택 프로그램(프로그램(10a))」과, 이 「기종 선택 프로그램」으로부터 호출되는 「Work1.iup(프로그램(10b))」(도 1, 도 3 참조)이 같은 한 목적으로 작성된 것인지의 여부를 판정하는 것이 중요해진다. In particular, in the present invention, since a plurality of users distribute and create a program, whether or not a distributed and created program is operated, that is, a "model selection program (
예를 들면, 어떤 유저가, 기종(A, B, C)을 검사 대상으로 한 「프로그램」을, 「기종 선택 프로그램」 및 「Work1.iup」으로 작성하고, 다른 유저가, 기종(D, E, F)을 검사 대상으로 한 「프로그램」을, 「기종 선택 프로그램」 및 「Work1.iup」으로 작성하였다고 한다. For example, a user creates a "program" for which a model (A, B, C) is an inspection object as a "model selection program" and "Work1.iup", and another user selects a model (D, E). It is assumed that "program" whose test target is, F) is written as a "model selection program" and "Work1.iup".
이 경우, 「기종 선택 프로그램」에서, 「Work1.iup」의 취급이 잘못되면, 의도하지 않은 「Work1.iup」이 호출되어 버리는 것이 된다. In this case, when the "Work1.iup" is handled incorrectly in the "model selection program", unintentional "Work1.iup" is called.
따라서 프로그램의 로드 미스를 미연에 방지하기 위해, 검사장치에의 로드 대상이 되는 프로그램에 버전 정보를 부여하는 것이 유효해진다. Therefore, in order to prevent a load miss of a program in advance, it is effective to provide version information to a program to be loaded into the inspection apparatus.
즉 「기종 선택 프로그램」 및 「Work1.iup」의 양쪽에, 같은 버전 정보를 부여함에 의해, 프로그램 실행 수단이 의도하는 「Work1.iup」를 판별할 수 있다.That is, by giving the same version information to both the "model selection program" and "Work1.iup", "Work1.iup" intended by the program execution means can be determined.
예를 들면, 어떤 유저는, 기종(A, B, C)을 검사 대상으로 하는 「프로그램」을 「기종 선택 프로그램」 및 「Work1.iup」으로 작성할 때, 각각 「버전 정보 ABC」를 부여하여 둔다. For example, a user assigns "version information ABC" to each of "A", "B", and "C" when creating a "program" as an "model selection program" and "Work1.iup". .
한편, 다른 유저는, 기종(D, E, F)을 검사 대상으로 하는 「프로그램」을 「기종 선택 프로그램」 및 「Work1.iup」으로 작성할 때, 각각 「버전 정보 DEF」를 부여하여 둔다. On the other hand, the other user gives "version information DEF", respectively, when creating "program" which makes the model D, E, F into a test object with "model selection program" and "Work1.iup".
이로써, 「Workl.iup」의 취급을 잘못하여도, 「Work1.iup」가 호출될 때, 「버전 정보 ABC」의 「기종 선택 프로그램」으로부터 「버전 정보 DEF」의 「Work1.iup」가 호출되는 것을 체크할 수 있다. Thus, even when the "Workl.iup" is handled incorrectly, when "Work1.iup" is called, "Work1.iup" of the "version information DEF" is called from the "model selection program" of the "version information ABC". You can check it.
이와 같이, 본 발명의 제 12 실시형태에 의하면, 축적 수단(6)에 격납되어 있는 프로그램은, 자신이 동작하기 위한 버전 정보(동작 어플리케이션 버전 정보)를 포함하고, 검사장치 내의 프로그램 실행 수단은, 프로그램 로드 수단에 의한 축적 수단(6)으로부터의 소정 프로그램의 로드시에, 소정 프로그램의 버전 정보와 프로그램 실행 수단의 버전 정보(환경 어플리케이션 버전 정보)를 비교하여, 양자의 정합성을 확인하고, 확인 결과가 부정합을 나타내는 경우에는, 에러 코드를 출력하기 때문에, 버전 정보가 잘못되어 있는 것을 유저에게 경보할 수 있다. As described above, according to the twelfth embodiment of the present invention, the program stored in the storage means 6 includes version information (operation application version information) for itself to operate, and the program execution means in the inspection apparatus includes: At the time of loading a predetermined program from the storage means 6 by the program loading means, the version information of the predetermined program is compared with the version information (environment application version information) of the program execution means, and the consistency of both is confirmed, and the result of confirmation Indicates a mismatch, an error code is output, and the user can be alerted that the version information is wrong.
따라서 전술한 작용 효과에 더하여, 프로그램 로드시의 에러 처리를 실행함에 의해, 버전 차이에 의한 오동작을 방지할 수 있다. Therefore, in addition to the above-described effects, by performing error processing at program load, malfunctions due to version differences can be prevented.
또한, 전술한 제 10 및 11 실시형태와 같이 콘피규레이션 정보를 비교하는 것이 아니라, 프로그래밍중에 유저가 등록한 어플리케이션 버전 정보(기종 번호)가 일치하고 있는지의 여부에 따라, 콘피규레이션 정보의 판정을 행하는 것도 가능하다. Instead of comparing the configuration information as in the tenth and eleventh embodiments described above, the determination of the configuration information is performed according to whether or not the application version information (model number) registered by the user matches during programming. It is also possible to do.
제 13 실시형태Thirteenth embodiment
또한, 상기 제 12 실시형태에서는, 축적 수단(6)으로부터의 프로그램 로드시에, 검사 대상마다 다른 어플리케이션 버전 정보의 정합성을 체크하였지만, 축적 수단(6)으로부터의 프로그램 로드시에, 프로그램 실행 수단의 F/W 버전 정보(업그레이드에 관한 버전 정보)에 대한 정합성을 체크하여도 좋다. In addition, in the twelfth embodiment, when the program load from the accumulation means 6 is checked for consistency of different application version information for each inspection object, the program execution means is executed when the program load from the accumulation means 6 is loaded. You may check the consistency with respect to F / W version information (version information regarding an upgrade).
이하, 도면을 참조하면서, F/W 버전 정보의 정합성 체크 기능을 마련한 본 발명의 제 13 실시형태에 관해 설명한다. EMBODIMENT OF THE INVENTION Hereinafter, 13th Embodiment of this invention which provided the consistency check function of F / W version information is demonstrated, referring drawings.
도 24는 본 발명의 제 13 실시형태에 관한 프로그램 실행 시스템의 주요부를 도시한 블록도이다. 24 is a block diagram showing a main part of a program execution system according to a thirteenth embodiment of the present invention.
도 24에서, 전술한 것과 같은 것에 관해서는, 전술한 것과 동일 부호를 붙이고, 또는 부호의 뒤에 「H」를 붙이고 상세한 기술을 생략한다. In FIG. 24, the same code | symbol as the above-mentioned is attached | subjected about the same thing as mentioned above, or "H" is attached after a code | symbol, and detailed description is abbreviate | omitted.
이 경우, 축적 수단(6) 내의 격납되어 있는 프로그램(코드화 파일(7b))은, 자신이 동작하기 위한 동작 F/W 버전 정보(이하, 단지 「F/W 버전 정보」라고 한다)로서, 프로그램 실행 수단(4H)의 환경 F/W 버전 정보(이하, 단지 「F/W 버전 정보」라고 한다)에 대응한 F/W 버전 정보(19)를 갖고 있다. In this case, the program stored in the storage means 6 (coded
코드화 파일(7b) 내에 부가된 F/W 버전 정보(19)는, 자신의 코드를 실행하는데 충분한 F/W(프로그램 실행 수단(4H))의 버전 정보를 보존하고 있다. The F /
또한, 검사장치(1H) 내의 프로그램 실행 수단(4H)은, 프로그램 로드 수단(5H)에 의한 축적 수단(6)으로부터의 소정 프로그램의 로드시에, 소정 프로그램의 F/W 버전 정보(19)와, 프로그램 실행 수단(4H)이 동작하고 있는 F/W 버전 정보를 비교하여, 양자의 정합성을 확인하고, 확인 결과가 부정합을 나타내는 경우에는 에러 코드를 출력하도록 되어 있다. In addition, the program execution means 4H in the
다음에, 도 24와 함께 도 25의 플로우 차트를 참조하면서, 본 발명의 제 13 실시형태에 의한 로드 대상 프로그램(프로젝트)과 프로그램 실행 수단(4H)의 F/W)의 F/W 버전 정보의 정합성 체크 동작에 관해 설명한다. 도 25에서, 스텝 S10, S15, S17 내지 S19는, 전술(도 21 내지 도 23 참조)한 것과 같은 처리이다. Next, the F / W version information of the load target program (project) and F / W of the program execution means 4H according to the thirteenth embodiment of the present invention will be described with reference to the flowchart of FIG. 25 together with FIG. The consistency check operation will be described. In FIG. 25, steps S10, S15, and S17 to S19 are the same processes as those described above (see FIGS. 21 to 23).
우선, 프로그램 실행 수단(4H)은, 축적 수단(6)으로부터 프로그램의 로드를 시작하고(스텝 S10), 코드화 파일(7b)의 F/W 버전 정보(19)와 검사장치(1H)의 F/W 버전 정보를 비교하여, F/W 버전 정보(19)가 검사장치(1H)의 F/W 버전 정보와 같은지, 또는 그 이하인지의 여부를 판정한다(스텝 S33). First, the program execution means 4H starts loading the program from the accumulation means 6 (step S10), and the F /
스텝 S33에서, F/W 버전 정보(19)가 검사장치(1H)의 F/W 버전 정보 이하(즉, YES)라고 판정되면, 로드 대상 프로그램의 그레이드가 프로그램 실행 수단(4H)의 그레이드 이하이기 때문에 실행 가능하다고 간주하고, 코드화 파일(7b)을 판독한다(스텝 S133). In step S33, if it is determined that the F /
한편, 스텝 S33에서, F/W 버전 정보(19)가 검사장치(1H)의 F/W 버전 정보보다도 크다(즉, YES)고 판정되면, 로드 대상 프로그램의 그레이드가 프로그램 실행 수단(4H)의 그레이드보다도 높기 때문에 실행 불가능이라고 간주하고, 검사장치 (1H) 내의 프로그램 실행 수단(4H)(F/W)이 대응하지 않는 것을, 표시/조작 수단(12)의 화면상에 표시한다(스텝 S34). On the other hand, if it is determined in step S33 that the F /
또한, 통신에 의해 다른 장치에 통지하고(스텝 S17), 검사장치(1G) 내의 디바이스에 에러 코드를 출력하고(스텝 S18), 검사장치(1G)를 정지시킨다(스텝 S19). In addition, other devices are notified by communication (step S17), an error code is output to the device in the
또한, 전술한 바와 같이, 「F/W」란, 검사장치(1H) 내의 프로그램 실행 수단(4H)에 관한 것으로서, 검사 대상에 의해 변하는 일은 없다. In addition, as mentioned above, "F / W" relates to the program execution means 4H in the
일반적으로, 검사장치(1H)(컨트롤러)를 업그레이드하는 경우, 프로그램 실행 수단(4H) 자체가 업그레이드하는 것으로 되기 때문에, 프로그램 실행 수단(4) 자체에도 F/W 버전 정보가 부여된(즉, 「F/W」에 버전 정보가 부여되는) 것이 바람직하다. Generally, when upgrading the
즉, 검사장치(1H)에는, 프로그램을 해석하고 동작시키는 F/W가 실장되어 있지만, 프로그램 로드시에 있어서 새롭게 판독하는 프로그램이, F/W로 서포트되지 않는 기능을 사용하고 있을 가능성이 있다. That is, although the F / W for interpreting and operating a program is mounted in the
그래서, 도 25와 같이, 프로그램의 로드 시작시에, 프로그램이 대응하는 F/W 버전 정보(19)와 검사장치(1H)의 F/W 버전 정보를 비교하여, F/W 버전 정보(19)가, 검사장치(1H)의 F/W 버전 정보 이하인 경우에는, 프로그램의 판독을 행하고, F/W 버전 정보(19)가 검사장치(1H)의 F/W 버전 정보보다도 큰 경우에는 에러 표시를 행함에 의해, 프로그램에서 상정되어 있는 기능을 사용할 수 없었던 경우의 프로그램 이상 동작을 미연에 방지할 수 있다. Thus, as shown in FIG. 25, at the start of loading of the program, the program corresponds to the F /
예를 들면, 최신 버전의 F/W로 동작하도록 작성한 프로그램은, 오래된 버전 의 F/W로 동작시키려고 하여도 올바르게 동작하지 않을 가능성이 있다. For example, a program written to run with the latest version of the F / W may not work correctly even if you try to run the older version of the F / W.
그러나, 도 24와 같이, 프로그램 실행 수단(4H)에 다운로드된 프로그램이 F/W 버전 정보(19)를 갖고 있으면, 다운로드 대상이 되는 프로그램이 어느 버전의 F/W로 동작하도록 작성된 것인지를, 프로그램 실행 수단(4H)에서 사전에 확인할 수 있다. However, as shown in Fig. 24, if the program downloaded to the program execution means 4H has F /
이와 같이, 본 발명의 제 13 실시형태에 의하면, 축적 수단(6)에 격납되어 있는 프로그램은, 자신이 동작하기 위한 F/W 버전 정보(동작 F/W 버전 정보)(19)를 포함하고, 프로그램 실행 수단(4H)은, 프로그램 로드 수단(5H)에 의한 축적 수단(6)으로부터의 소정 프로그램의 로드시에, 소정 프로그램의 F/W 버전 정보(19)와, 프로그램 실행 수단(4H)이 동작하고 있는 F/W 버전 정보(환경 F/W 버전 정보)를 비교하여 정합성을 확인하고, 확인 결과가 부정합을 나타내는 경우에는 에러 코드를 출력하기 때문에, F/W 버전 정보(19)가 검사장치(1H)로 동작할 수 없는 것을 유저에게 경보할 수 있고, F/W 버전 정보의 차이에 의한 오동작을 방지할 수 있다. As described above, according to the thirteenth embodiment of the present invention, the program stored in the storage means 6 includes F / W version information (operation F / W version information) 19 for itself to operate. When the program execution means 4H loads the predetermined program from the accumulation means 6 by the program loading means 5H, the F /
제 14 실시형태Fourteenth embodiment
또한, 상기 제 1 내지 13 실시형태에서는, 프로그래밍 소프트웨어에서의 프로그램 작성시에 있어서의 콘피규레이션 정보의 반영에 관해 언급하지 않았지만, 프로그래밍 작성시에 외부(예를 들면, 검사장치)와의 사이에서 콘피규레이션 정보의 수수를 실행하여도 좋다. In addition, although the said 1st-13th embodiment did not mention the reflection of the configuration information at the time of programming in programming software, it did not mention about the reflection with external (for example, inspection apparatus) at the time of programming preparation. You may carry out the configuration information.
도 26은 프로그래밍 소프트웨어에 콘피규레이션 정보의 수수 기능을 마련한 본 발명의 제 14 실시형태에 관한 프로그램 실행 시스템의 프로그램 작성부를 도시 한 블록도이다. Fig. 26 is a block diagram showing a program creation unit of the program execution system according to the fourteenth embodiment of the present invention in which the programming software receives the configuration information.
도 26에서, 프로그래밍 소프트웨어(9)는, 콘피규레이션 정보(17)가 설정되는 프로그램(10), 외부에 대해 콘피규레이션 정보(17)의 수수를 행하기 위한 엑스포트 수단(20) 및 임포트 수단(21)을 구비하고 있다. In FIG. 26, the
또한, 여기서는, 프로그래밍 소프트웨어(9), 프로그램(10), 콘피규레이션 정보(17)에 관해서는, 특히 한정되지 않는 대상인 것을 나타내기 위해 총칭적으로 숫자만을 붙이고 있다. In addition, here, the
또한, 예를 들면 검사장치 내의 프로그램 실행 수단(도시 생략)은, 프로그래밍 소프트웨어(9)로부터의 엑스포트 처리에 의해 콘피규레이션 정보(17)를 보존하고, 검사장치 내의 메모리 영역에 로드된 프로그램(10)에 대해, 콘피규레이션 정보(17)를 반영시키도록 되어 있다. For example, the program execution means (not shown) in the inspection apparatus stores the
콘피규레이션 정보(17)의 엑스포트 수단(20)은, 구체적으로는 프로그램(10)에 관련되는 검사장치의 H/W 구성이나 디바이스의 설정을 추출하는 수단이다. The exporting means 20 of the
또한, 콘피규레이션 정보(17)의 임포트 수단(21)은, 구체적으로는 이미 보존된 H/W 구성이나 디바이스의 설정을 프로그램(10)에 반영시키기 위한 수단이다. In addition, the import means 21 of the
또한, 여기서는 도시를 생략하지만, 본 발명의 제 14 실시형태에 의한 프로그래밍 시스템은, 전술(도 1 내지 도 4 참조)한 바와 같이, 프로그램 실행 시스템(4)에 의해 실행되는 프로그램(10)(적어도, 프로그램(10b)을 포함한다)을 작성하기 위한 프로그램 작성부(퍼스널 컴퓨터(8) 내의 프로그래밍 소프트웨어(9, 9a, 9b))를 구비하고 있다. In addition, although illustration is abbreviate | omitted here, as for the programming system which concerns on 14th Embodiment of this invention, the program 10 (at least) executed by the
또한, 프로그램 작성 수단은, 코드화된 프로그램(10)을 코드화 파일로서 생성하는 코드화 파일 생성 수단(11 또는 11b)을 포함하고, 프로그램(10)에서의 프로그램 호출 명령에 응답하여 호출되는 다른 프로그램을, 별도 코드화하여 코드화 파일로서 생성한다. In addition, the program generating means includes coded file generating means 11 or 11b for generating the coded
또한, 프로그래밍 소프트웨어(9) 내의 코드화 파일 생성 수단은, 콘피규레이션 정보(17)를 외부에 기록하는 엑스포트 수단(20)과, 외부에 기록된 콘피규레이션 정보(17)를 판독하는 임포트 수단(21)을 포함하고, 프로그램(10)으로부터의 호출 명령에 응답하여 호출되는 다른 프로그램을 작성할 때, 프로그램(10)을 작성한 때의 콘피규레이션 정보를, 다른 프로그램을 작성할 때 유용(流用)하도록 되어 있다. In addition, the encoding file generating means in the
도 27은 프로그래밍 소프트웨어(9)로부터 검사장치에의 콘피규레이션 정보(17)의 엑스포트 처리를 도시한 플로우 차트이고, 도 28은 프로그래밍 소프트웨어(9)에의 콘피규레이션 정보(17)의 임포트 처리를 도시한 플로우 차트이다. FIG. 27 is a flowchart showing an export process of the
이하, 도 26 및 도 27을 참조하면서, 본 발명의 제 14 실시형태에 의한 프로그래밍 소프트웨어(9)에서의 콘피규레이션 정보(17)의 엑스포트 처리 동작에 관해 설명한다. Hereinafter, with reference to FIG. 26 and FIG. 27, the export process operation | movement of the
도 27에서, 우선, 프로그래밍 소프트웨어(9)상에서 프로그램(10)을 작성하고(스텝 S35), 엑스포트 수단(20)을 통하여, 프로그래밍 소프트웨어(9)상에서 콘피규레이션 정보(17)의 엑스포트를 실행한다(스텝 S36). In FIG. 27, a
최후로, 콘피규레이션 정보(17)를 파일로서 보존하고(스텝 S37), 도 27의 엑스포트 처리를 종료한다. Finally,
다음에, 도 26 및 도 28을 참조하면서, 본 발명의 제 14 실시형태에 의한 콘피규레이션 정보(17)의 임포트 처리 동작에 관해 설명한다. Next, with reference to FIG. 26 and FIG. 28, the import process operation | movement of the
도 28에서, 우선, 프로그래밍 소프트웨어(9)상에서 프로그램을 작성하고(스텝 S35), 임포트 수단(21)을 통하여, 프로그래밍 소프트웨어(9)상에서 콘피규레이션 정보(17)의 임포트를 실행한다(스텝 S38). In FIG. 28, a program is first created on the programming software 9 (step S35), and the import of the
다음에, 이미 콘피규레이션 정보(17)를 작성하고 있는지의 여부를 판정하고(스텝 S39), 콘피규레이션 정보(17)를 작성하지 않았다(즉, NO)고 판정되면, 콘피규레이션 정보(17)를 프로그램(10)에 반영시킨다(스텝 S40) Next, it is determined whether the
한편, 스텝 S39에서, 이미 콘피규레이션 정보(17)를 작성하고 있다(즉, YES)고 판정되면, 계속해서, 콘피규레이션 정보(17)를 재기록하는지의 여부를 판정한다(스텝 S41). On the other hand, if it is determined in step S39 that the
스텝 S41에서, 콘피규레이션 정보(17)를 재기록한다(즉, YES)고 판정되면, 콘피규레이션 정보(17)를 재기록하여 프로그램(10)에 반영시킨다(스텝 S40). If it is determined in step S41 that the
한편, 스텝 S41에서, 콘피규레이션 정보(17)를 재기록하지 않는다(즉, NO)고 판정되면, 콘피규레이션 정보(17)의 일부를 선택하고, 엑스포트 수단(20)을 통하여 엑스포트를 실행한 후(스텝 S42), 콘피규레이션 정보(17)를 프로그램(10)에 반영시킨다(스텝 S40). On the other hand, if it is determined in step S41 that the
일반적으로, 증설 보드를 사용하도록 기술된 프로그램(10)에서는, 프로그램(10)이 동작하는 검사장치 내에 사용 대상의 증설 보드가 삽입되어 있지 않으면, 프로그램(10)이 검사장치 내에서 정상적으로 동작할 수 없다. In general, in the
또한, 프로그램(10)의 로드시에 있어서도, 로드된 프로그램(10)의 콘피규레이션 정보와 검사장치의 콘피규레이션 정보가 다른 경우에는, 프로그램(10)은 정상적으로 동작하지 않는다. Also, even when the
따라서 하나의 프로그램(A)으로부터 프로그램 로드를 사용하여 로드된 프로그램(B)에는, 프로그램(A)과 같은 콘피규레이션 정보가 설정될 필요가 있다. Therefore, in the program B loaded using the program load from one program A, configuration information such as the program A needs to be set.
본 발명의 제 14 실시형태에 의하면, 콘피규레이션 정보(17)의 엑스포트/임포트 처리에 의해, 콘피규레이션 정보(17)를 일원 관리할 수 있다. According to the fourteenth embodiment of the present invention, the
또한, 콘피규레이션 정보(17)의 공유화가 가능해짐과 함께, 프로그래밍시의 미스를 방지할 수도 있다. In addition, the
다음에, 본 발명의 제 14 실시형태에 의한 효과에 관해, 구체적인 예를 들어 보충 설명한다. Next, the effect by the 14th Embodiment of this invention is supplemented and demonstrated with a specific example.
우선, 검사장치의 제 1의 H/W 구성으로서, 슬롯「0」에 「RS232C 보드」가 삽입되고, 슬롯「1」에 「디지털 입출력 보드」가 삽입된 것을 고려한다. First, as the first H / W configuration of the inspection apparatus, the "RS232C board" is inserted into the slot "0" and the "digital input / output board" is inserted into the slot "1".
또한, 검사장치의 제 2의 H/W 구성으로서, 슬롯「0」에 「아날로그 출력 보드」가 삽입된 것을 고려한다. In addition, as a second H / W configuration of the inspection apparatus, the insertion of an "analog output board" into the slot "0" is considered.
상기 각 구성예에 대해, 제 1의 H/W 구성에서 동작하는 프로그램(A)과, 제 2의 H/W 구성에서 동작하는 프로그램(B)을 작성한다. For each of the above configuration examples, a program A that operates in the first H / W configuration and a program B that operates in the second H / W configuration are created.
여기서, 제 1의 H/W 구성의 검사장치에서, 프로그램(A)으로부터의 프로그램 로드에 의해, 프로그램(B)을 로드하여 실행하려고 한 경우를 상정한다. Here, the case where the inspection apparatus of the first H / W configuration attempts to load and execute the program B by loading the program from the program A is assumed.
이때, 프로그램(B)은, 슬롯「0」에 「아날로그 보드」가 삽입되어 있는 것을 전제로 프로그램되어 있음에도 불구하고, 검사장치의 슬롯「0」에는, 「RS232C 보드」가 삽입되어 있기 때문에, 프로그램(B)이 정상적으로 동작할 수는 없다. At this time, although the program B is programmed on the premise that the "analog board" is inserted into the slot "0", the "RS232C board" is inserted into the slot "0" of the inspection apparatus. (B) cannot operate normally.
검사장치의 증설 보드의 구성을 변경하지 않고, 검사장치상에서 프로그램(A, B)을 동작시키기 위해서는, 제 3의 H/W 구성으로 하여, 슬롯「O」에 「RS232C 보드」가 삽입되고, 슬롯「1」에 「디지털 입출력 보드」가 삽입되고, 슬롯「3」에 「아날로그 보드」가 삽입된 것을 고려하여, 이 콘피규레이션 정보에 의해 프로그램(A, B)이 작성되어 있어야 한다. In order to operate the programs A and B on the inspection apparatus without changing the configuration of the expansion board of the inspection apparatus, the RS232C board is inserted into the slot "O" in the third H / W configuration. Considering that the "digital input / output board" is inserted into "1" and the "analog board" is inserted into the slot "3", the programs A and B should be created by this configuration information.
본 발명의 제 14 실시형태에 의하면, 프로그램(A)이 동작하고 있는 검사장치에 프로그램(B)을 추가하는 경우에, 상기 제 3의 H/W 구성의 콘피규레이션 정보를 작성함에 의해, 프로그램(B)을 개발할 때 이미 작성된 콘피규레이션 정보를 활용할 수 있다. According to the fourteenth embodiment of the present invention, when the program B is added to the inspection apparatus in which the program A operates, the configuration information of the third H / W configuration is created by creating the program. When developing (B), the configuration information already created can be used.
이로써, 전술한 작용 효과에 더하여, 콘피규레이션 정보를 공유화하여, 콘피규레이션 정보를 일원 관리함과 함께, 프로그래밍시의 미스를 방지할 수 있다. In this way, in addition to the above-described effects, configuration information can be shared, the configuration information can be managed in a single manner, and programming errors can be prevented.
제 15 실시형태15th Embodiment
또한, 상기 제 14 실시형태에서는, 보존된 콘피규레이션 정보를 필요에 따라 프로그램에 반영시켰지만, 링크에 의해 콘피규레이션 정보를 일원 관리하여도 좋다. In addition, in the fourteenth embodiment, the stored configuration information is reflected in the program as necessary, but the configuration information may be collectively managed by a link.
도 29는 본 발명의 제 15 실시형태에 관한 프로그램 실행 시스템의 프로그램 작성부를 도시한 블록도이다. Fig. 29 is a block diagram showing a program creation unit of the program execution system according to the fifteenth embodiment of the present invention.
도 29에서, 프로그래밍 소프트웨어(9A)는, 콘피규레이션 정보가 설정되는 프 로그램(10a)과, 콘피규레이션 정보 링크 수단(22)을 구비하고 있다. In FIG. 29, the
콘피규레이션 정보 링크 수단(22)은, 구체적으로는, 콘피규레이션 정보를 참조하기 위한 참조처 파일을 설정하는 수단이고, 참조처 파일을 설정하여, 콘피규레이션 정보를 외부의 프로그램(10b)과의 사이에서 링크시킨다. Specifically, the configuration
또한, 본 발명의 제 15 실시형태에 의한 프로그래밍 시스템도, 전술(도 1 내지 도 4 참조)한 것과 같은 구성을 갖고 있고, 프로그래밍 소프트웨어(9A) 내의 코드화 파일 생성 수단(11 또는 11b)은, 외부의 콘피규레이션 정보를 참조하는 콘피규레이션 정보 링크 수단(22)을 포함한다. The programming system according to the fifteenth embodiment of the present invention also has the same configuration as described above (see FIGS. 1 to 4), and the coded file generating means 11 or 11b in the
코드화 파일 생성 수단은, 프로그램(10a)으로부터의 호출 명령에 응답하여 호출되는 프로그램(10b)을 작성할 때, 프로그램(10a)을 작성한 때의 콘피규레이션 정보를, 프로그램(10b)을 작성할 때 유용하도록 되어 있다. The coded file generating means is useful for creating the configuration information when the
다음에, 도 29와 함께, 도 30의 플로우 차트를 참조하면서, 본 발명의 제 15 실시형태에 의한 콘피규레이션 정보의 링크 처리 동작에 관해 설명한다. Next, with reference to FIG. 29, the link processing operation of configuration information according to the fifteenth embodiment of the present invention will be described with reference to the flowchart of FIG.
도 30에서, 스텝 S35는 전술(도 27 참조)한 것과 같은 처리이다. In FIG. 30, step S35 is the same process as described above (see FIG. 27).
우선, 프로그래밍 소프트웨어(9A)상에서, 프로그램(10a)을 작성한다(스텝 S35). 또한, 이 경우, 스텝 S35에서, 콘피규레이션 정보를 설정할 필요는 없다. First, on the
계속해서, 프로그래밍 소프트웨어(9A)상에서 콘피규레이션 정보의 참조처 파일을 설정한다(스텝 S43). Subsequently, a reference file for configuration information is set on the
전술한 제 14 실시형태(도 26 내지 도 28 참조)에서는, 콘피규레이션 정보(17)에 변경이 있던 경우, 하나의 프로그램(10)을 수정하고, 콘피규레이션 정보 (17)의 엑스포트 처리를 실행하고, 그 콘피규레이션 정보(17)를 임포트한 프로그램(10)의 전부에 대해, 재차, 콘피규레이션 정보(17)의 임포트 처리를 실행하여야 하였다. In the fourteenth embodiment (see FIGS. 26 to 28) described above, when there is a change in the
그러나, 본 발명의 제 15 실시형태에서는, 링크처의 프로그램(10b)의 콘피규레이션 정보만을 변경함으로써, 참조하고 있는 모든 프로그램(10b)에 콘피규레이션 정보의 변경을 적용할 수 있다. However, in the fifteenth embodiment of the present invention, by changing only the configuration information of the linked
따라서 콘피규레이션 정보의 변경을 잊음에 의한 이상을 회피함과 함께, 링크를 이용한 일원 관리에 의해, 콘피규레이션 정보를 변경할 수 있고, 편리성을 높일 수 있다. Therefore, the abnormality caused by forgetting to change the configuration information is avoided, and the configuration information can be changed by one-way management using a link, thereby improving convenience.
다음에, 본 발명의 제 15 실시형태에 의한 효과에 관해, 구체적인 예를 들어 보충 설명한다. Next, the effect by the fifteenth embodiment of the present invention will be described with specific examples.
우선, 프로그램(A)의 H/W 구성으로서, 슬롯「O」에 「RS232C 보드」가 삽입되고, 슬롯「1」에 「디지털 입출력 보드」가 삽입되어 있는 것으로 한다. First, as an H / W configuration of the program A, the "RS232C board" is inserted into the slot "O" and the "digital input / output board" is inserted into the slot "1".
또한, 프로그램(A)에 링크되는 프로그램(B)의 H/W 구성으로서, 슬롯「2」에 「아날로그 출력 보드」가 삽입되어 있는 것으로 한다. In addition, as an H / W structure of the program B linked to the program A, it is assumed that the "analog output board" is inserted into the slot "2".
본 발명의 제 15 실시형태에 의하면, 프로그램(A)에 대응하는 검사장치의 H/W 구성으로서, 슬롯「0」에 「RS232C 보드」가 삽입되고, 슬롯「1」에 「디지털 입출력 보드」가 삽입됨과 함께, 슬롯「2」에 「아날로그 출력 보드」가 삽입된다. According to the fifteenth embodiment of the present invention, as the H / W configuration of the inspection apparatus corresponding to the program A, the "RS232C board" is inserted into the slot "0", and the "digital input / output board" is inserted into the slot "1". In addition, the "analog output board" is inserted into the slot "2".
또한, 상기 프로그램(A, B)을 작성하는 경우에, 프로그램(A)의 제 1의 H/W 구성에는, 사용하지 않는 슬롯「2」의 기술을 넣어 두고, 프로그램(B)에서는, 특히 H/W 구성을 기술하지 않고, 제 1의 H/W 구성을 링크하여 두고, 제 1의 H/W 구성을 사용한 프로그램(B)을 작성하여 간다. In addition, in the case of creating the programs A and B, the description of the slot "2" which is not used is placed in the first H / W configuration of the program A. In the program B, in particular, H Without describing the / W configuration, the first H / W configuration is linked, and a program B using the first H / W configuration is created.
이상과 같이, 본 발명의 제 15 실시형태에 의하면, 링크에 의해 콘피규레이션 정보를 일원 관리할 수 있다. As described above, according to the fifteenth embodiment of the present invention, it is possible to unify the configuration information by a link.
제 16 실시형태16th Embodiment
또한, 상기 제 14 및 15 실시형태에서는, 특히 언급하지 않았지만, 프로그램(프로젝트)의 호출관계를 자동적으로 해석하도록 구성하여도 좋다. In addition, in said 14th and 15th embodiment, although not mentioned in particular, you may comprise so that the call relationship of a program (project) may be analyzed automatically.
도 31은 프로그램 해석 기능을 마련한 본 발명의 제 16 실시형태에 관한 프로그램 작성부의 주요부를 도시한 블록도이다. FIG. 31 is a block diagram showing a main part of a program creation unit according to a sixteenth embodiment of the present invention with a program analysis function.
도 31에서, 예를 들면 프로그램 작성부(전술한 퍼스널 컴퓨터(8), 또는 프로그래밍 소프트웨어(9, 9a))는, 프로그램 해석 수단(23)을 구비하고 있고, 프로그램 해석 수단(23)은 해석 결과 표시 수단(24)을 갖고 있다. In Fig. 31, for example, the program creation unit (the
프로그램 해석 수단(23)에는 코드화 파일(7) 또는 프로그램(10)이 판독된다. The
또한, 여기서는, 코드화 파일(7) 및 프로그램(10)에 관해서는, 특히 한정되지 않는 대상인 것을 나타내기 위해, 총칭적으로 숫자만을 붙이고 있다. In addition, the
프로그램 해석 수단(23)은, 구체적으로는 프로그램(10)을 해석하여 프로그램 로드의 호출관계를 취득하는 수단이다. Specifically, the program analyzing means 23 is a means for analyzing the
해석 결과 표시 수단(24)은, 구체적으로는 프로그램(10)을 해석하여 얻어진 프로그램 로드의 호출관계를 표시하는 수단이다. The analysis result display means 24 is a means which specifically displays the call relationship of the program load obtained by analyzing the
즉, 프로그램 해석 수단(23)은, 호출 명령에 응답하여 호출되는 프로그램 (10)의 호출관계를 해석하고, 해석 결과 표시 수단(24)은 프로그램 해석 수단(23)에 의해 얻어진 프로그램의 호출관계의 해석 결과를 표시하고, 이로써, 프로그램 작성부에 의해 작성된 프로그램(10) 또는 코드화 파일(7)을, 하나 이상 판독하여 해석하도록 되어 있다. That is, the program analyzing means 23 analyzes the call relation of the
다음에, 도 31과 함께, 도 32의 플로우 차트를 참조하면서, 본 발명의 제 16 실시형태에 의한 프로그램(10)의 해석 처리에 관해 설명한다. Next, an analysis process of the
도 32에서, 우선, 프로그램 해석 수단(23)은, 프로그램(10)을 해석하고(스텝 S44), 계속해서, 해석 결과 표시 수단(24)은 해석하고 있는 프로그램(10)으로부터 호출되어 있는 프로그램명을 표시한다(스텝 S45). In FIG. 32, first, the program analyzing means 23 analyzes the program 10 (step S44), and then the analysis result display means 24 calls the program name called from the interpreted
또한, 여기서는, 설명을 생략하지만 코드화 파일(7)의 해석 처리도 같은 순서로 실행된다. In addition, although description is abbreviate | omitted here, the analysis process of the
예를 들면, 전술(도 3 참조)한 프로그램(기종 선택 프로그램)(10a)에서는, DS0 디바이스의 값에 의해, 「work1.iup」, 「work2.iup」, 「work3.iup」, 「work4.iup」, 「work5.iup」를 호출할 수 있지만, 이대로는, 선택 내용(무엇이 호출되어 있는지)을 유저가 인식하기 위해서는 프로그램(10a) 속을 구체적으로 판독하여 보아야 한다. For example, in the program (model selection program) 10a mentioned above (refer FIG. 3), "work1.iup", "work2.iup", "work3.iup", and "work4. iup "and" work5.iup "can be called. However, in order for the user to recognize the selection contents (what is called), the user must specifically read the
즉, 상기한 바와 같은 프로그램(10a)의 호출관계를 확인하기 위해서는, 예를 들면 프로그램(10a)을 프로그래밍 소프트웨어(9, 9a)로 열어서, 내용을 확인할 필요가 있다. 또한, 프로그래밍 소프트웨어(9, 9a)에서는, 코드화 파일을 열어서 내용을 확인할 수 없다. That is, in order to confirm the call relation of the
따라서 작성한 프로그램 수가 증가함에 따라, 각 프로그램의 호출관계를 파악하는 것은 매우 곤란해진다. Therefore, as the number of created programs increases, it becomes very difficult to grasp the calling relationship of each program.
그러나, 본 발명의 제 16 실시형태에 의하면, 도 3의 기종 선택 프로그램(10a)에서 호출되는 프로그램(work1.iup, work2.iup, work3.iup, work4.iup, work5.iup)이 해석 결과 표시 수단(24)상에 자동적으로 표시되기 때문에, 유저가 해석 결과를 일람할 수 있다. However, according to the sixteenth embodiment of the present invention, the programs (work1.iup, work2.iup, work3.iup, work4.iup, work5.iup) called by the
따라서 프로그램(10)의 의존관계의 해석이 용이해짐과 함께, 코드화 파일(7)로부터도 의존관계를 확인할 수 있다. Therefore, the dependency of the
이상과 같이, 본 발명의 제 16 실시형태에 의하면, 전술한 작용 효과에 더하여, 프로그램(10)의 호출관계를 용이하게 취득할 수 있다. As described above, according to the sixteenth embodiment of the present invention, in addition to the above-described effects, the calling relationship of the
제 17 실시형태17th Embodiment
또한, 상기 제 14 내지 16 실시형태에서는, 특히 언급하지 않았지만, 프로그램(프로젝트)의 의존관계를 자동적으로 관리하도록 구성하여도 좋다. In addition, although not mentioned in particular in said 14th-16th embodiment, you may comprise so that the dependency of a program (project) may be managed automatically.
도 33은 프로그램 관리기능을 마련한 본 발명의 제 17 실시형태에 관한 프로그램 작성부의 주요부를 도시한 블록도이다. Fig. 33 is a block diagram showing main portions of a program creating unit according to the seventeenth embodiment of the present invention with a program management function.
도 33에서, 프로그램 작성부는, 관리 툴로서, 프로그램 관리 수단(25)을 구비하고 있고, 프로그램 관리 수단(25)은, 의존관계 표시 수단(26)을 갖고 있다. In FIG. 33, the program creation unit includes a program management means 25 as a management tool, and the program management means 25 has dependency relationship display means 26.
프로그램 관리 수단(25)에는, 복수의 프로그램(10)(또는, 복수의 코드화 파일(7))이 등록된다. In the program management means 25, a plurality of programs 10 (or a plurality of encoded files 7) are registered.
프로그램 관리 수단(25)은, 구체적으로는 복수의 프로그램(10)이나 코드화 파일(7)을 관리하는 수단이다. Specifically, the program management means 25 is a means for managing the plurality of
의존관계 표시 수단(26)은, 구체적으로는 프로그램 관리 수단(25)에 등록된 프로그램(10)이나 코드화 파일(7)의 의존관계를 표시하는 수단이다. Specifically, the dependency relationship display means 26 is a means for displaying the dependency relationship between the
즉, 프로그램 관리 수단(25)은, 프로그램(10) 또는 코드화 파일(7)을 어플리케이션마다 등록하여 관리하고, 의존관계 표시 수단(26)은, 등록된 프로그램(10) 또는 코드화 파일(7)을 어플리케이션마다 표시하고, 이로써, 프로그램 작성부에 의해 작성된 프로그램(10) 또는 코드화 파일(7)을 하나 이상 관리하도록 되어 있다. That is, the program management means 25 registers and manages the
다음에, 도 33과 함께, 도 34의 플로우 차트를 참조하면서, 본 발명의 제 17 실시형태에 의한 프로그램(프로젝트)의 관리 처리에 관해 설명한다. Next, with reference to the flowchart of FIG. 34 with FIG. 33, the management process of the program (project) which concerns on 17th Embodiment of this invention is demonstrated.
도 34에서, 우선, 프로그램 관리 수단(25)에 프로그램(10) 및 코드화 파일(7)을 등록한다(스텝 S46). In Fig. 34, first, the
이때, 프로그램 관리 수단(25)에는, 복수의 프로그램(10) 및 복수의 코드화 파일(7)을 등록하여도 좋다. At this time, the program management means 25 may register a plurality of
계속해서, 의존관계 표시 수단(26)상에, 프로그램 관리 수단(25)의 호출관계를 표시함과 함께(스텝 S47), 등록한 프로그램(10) 및 코드화 파일(7)에 관한 호출관계를 표시한다(스텝 S48). Subsequently, on the dependency relation display means 26, the call relation of the program management means 25 is displayed (step S47), and the call relation regarding the registered
일반적으로, 작성한 프로그램(10)의 수가 증가함에 따라, 각 프로그램(10)의 호출관계를 파악하는 것은 극히 곤란해진다. In general, as the number of created
전술한 제 16 실시형태에서는, 하나하나의 프로그램(10) 또는 코드화 파일(7)에 대해, 해석 결과로서 호출관계를 표시하였지만, 본 발명의 제 17 실시형태에 의하면, 최초에 조사하고 싶은 복수의 프로그램(10) 및 코드화 파일(7)을 등록함에 의해, 전체의 의존관계가 표시되기 때문에 전체의 해석이 용이해진다. In the sixteenth embodiment described above, the calling relationship is displayed as the analysis result for each
이로써, 검사장치 내에서 동작하고 있는 프로그램(10)의 전부에 관해, 프로그램(10)의 호출관계를 용이하게 취득하여 조사하는 것이 용이해지고, 조사 누락을 방지할 수 있다. Thereby, it becomes easy to acquire and examine the calling relationship of the
제 18 실시형태18th Embodiment
또한, 상기 제 17 실시형태에서는, 콘피규레이션 정보의 변경에 관해 고려하지 않았지만, 프로그램 관리 수단(25)(도 33 참조)에서 관리되어 있는 경우에, 콘피규레이션 정보의 수정을 행하면, 모든 관련된 프로그램(10)이 자동적으로 업데이트되도록 하여도 좋다. In the seventeenth embodiment, no change is made to the configuration information. However, when the configuration information is modified in the program management means 25 (see FIG. 33), all the related information is corrected. The
이하, 도 33을 참조하면서, 자동적인 프로그램 업데이트 기능을 마련한 본 발명의 제 18 실시형태에 관해 설명한다. The following describes an eighteenth embodiment of the present invention in which the automatic program update function is provided with reference to FIG. 33.
본 발명의 제 18 실시형태에 의한 프로그램 작성부는, 콘피규레이션 일괄 갱신 수단(도시 생략)을 또한 구비하고 있고, 어플리케이션마다 등록되어 있는 모든 프로그램(10)이나 코드화 파일(7)에 대해, 콘피규레이션 정보를 일괄하여 갱신하도록 되어 있다. The program creation unit according to the eighteenth embodiment of the present invention further includes configuration batch updating means (not shown), and the configuration for all
여기서, 구체적인 예로서, 프로그램(10)의 H/W 구성이, 제 1의 구성(슬롯「0」에 「RS232C 보드」가 삽입되고, 슬롯「1」에 「디지털 입출력 보드」가 삽입된 상태)으로부터, 제 2의 구성(슬롯「3」으로 「아날로그 보드」가 삽입된 상태)로 추가된 경우를 고려한다. Here, as a specific example, the H / W configuration of the
즉, 이미 공장 등에서 가동하고 있는 검사장치에서, 새로운 기종을 검사하기 위해, 추가로 증설 보드를 사용한 프로그램을 작성한 경우, 지금까지 가동하고 있던 프로그램(A) 그대로는, 추가의 증설 보드에 관한 기술이 없기 때문에, 지금까지 가동하고 있던 프로그램(A)의 콘피규레이션 정보가, 추가로 증설 보드를 사용한 검사장치의 콘피규레이션 정보와는 달라져 버린다. That is, in the inspection apparatus already operating in a factory or the like, when a program using an extension board is additionally created in order to inspect a new model, the technology related to the additional expansion board is maintained as it is. Since the configuration information of the program A which has been operating up to now is different from the configuration information of the inspection apparatus using the expansion board.
그러나, 본 발명의 제 18 실시형태에 의하면, 콘피규레이션 일괄 갱신 수단을 마련하였기 때문에, 프로그램 관리 수단(25)에서 관리되고 있는 경우에, 콘피규레이션 정보의 수정이 행해지면, 모든 관련된 프로그램(10)이 자동적으로 업데이트되게 되고, 프로그램(10)의 호출관계를 용이하게 취득할뿐만 아니라, 용이하게 콘피규레이션 정보를 공유화할 수 있다. However, according to the eighteenth embodiment of the present invention, since the configuration collective update means is provided, if the configuration information is corrected when managed by the program management means 25, all related programs ( 10) is automatically updated, and not only can easily acquire the calling relationship of the
제 19 실시형태19th Embodiment
또한, 상기 제 16 실시형태(도 31 참조)에서는, 전술한 제 14 및 15 실시형태의 프로그램 작성부에 프로그램 해석 수단(23)을 설치한 경우에 관해 설명하였지만, 프로그램 해석 수단(23)을 구비한 프로그램 해석 시스템을 구성하여도 좋다. In addition, in the said 16th embodiment (refer FIG. 31), although the case where the program analysis means 23 was provided in the program preparation part of 14th and 15th embodiment mentioned above was provided, it has a program analysis means 23. One program analysis system may be configured.
즉, 본 발명의 제 19 실시형태에 관한 프로그램 해석 시스템은, 프로그램 작성부(프로그래밍 시스템)에 의해 작성된 프로그램(10) 또는 코드화 파일(7)(도 31 참조)을 하나 이상 판독하여 해석하기 때문에, 호출 명령에 응답하여 호출되는 프로그램(10)의 호출관계를 해석하는 프로그램 해석 수단(22)과, 프로그램 해석 수단(22)에 의해 얻어진 프로그램의 호출관계의 해석 결과를 표시하는 해석 결과 표시 수단(24)을 구비하고 있다. That is, the program analysis system according to the nineteenth embodiment of the present invention reads and analyzes one or
이로써, 상기 제 16 실시형태와 같은 작용 효과를 이루는 프로그램 해석 시스템을 실현할 수 있다. Thereby, the program analysis system which achieves the effect similar to the said 16th embodiment can be implement | achieved.
제 20 실시형태20th Embodiment
또한, 상기 제 17 실시형태(도 33 참조)에서는, 전술한 제 14 내지 16 실시형태의 프로그램 작성부에 프로그램 관리 수단(25)을 마련한 경우에 관해 설명하였지만, 프로그램 관리 수단(25)을 구비한 프로그램 해석 시스템을 구성하여도 좋다. In addition, in the 17th embodiment (refer FIG. 33), although the case where the program management means 25 was provided in the program preparation part of 14th-16th embodiment mentioned above was demonstrated, the program management means 25 was provided. You may comprise a program analysis system.
즉, 본 발명의 제 19 실시형태에 관한 프로그램 해석 시스템은, 프로그램 작성부(프로그래밍 시스템)에 의해 작성된 프로그램(10) 또는 코드화 파일(7)(도 33 참조)을 하나 이상 관리하기 위해, 프로그램(10) 또는 코드화 파일(7)을 어플리케이션마다 등록하여 관리하는 프로그램 관리 수단(25)과, 등록된 프로그램(10) 또는 코드화 파일(7)의 의존관계를 어플리케이션마다 표시하는 의존관계 표시 수단(26)을 구비하고 있다. That is, in the program analysis system according to the nineteenth embodiment of the present invention, in order to manage one or
이로써, 상기 제 17 실시형태와 같은 작용 효과를 이루는 프로그램 해석 시스템을 실현할 수 있다. Thereby, the program analysis system which achieves the effect similar to the said 17th embodiment can be implement | achieved.
제 21 실시형태21st Embodiment
또한, 상기 제 20 실시형태에 관한 프로그램 해석 시스템에 대해, 또한 콘피규레이션 일괄 갱신 수단을 마련하고, 어플리케이션마다 등록되어 있는 모든 프로그램(10)이나 코드화 파일(7)에 대해, 콘피규레이션 정보를 일괄하여 갱신하도록 하여도 좋다. In addition, for the program analysis system according to the twentieth embodiment, configuration collective update means is further provided, and configuration information is provided for all
이로써, 상기 제 18 실시형태와 같은 작용 효과를 이루는 프로그램 해석 시 스템을 실현할 수 있다. Thereby, the program analysis system which achieves the same effect as the said 18th embodiment can be implement | achieved.
제 22 실시형태22nd Embodiment
또한, 상기 제 1 내지 13 실시형태(도 1 내지 도 25 참조)에서는, 축적 수단(6) 및 프로그램 실행 수단(4)(또는, 1A 내지 1H)을 구비한 프로그램 실행 시스템에 관해 설명하였지만, 상기 제 1 내지 13 실시형태에 관한 프로그램 실행 시스템을 구비한 검사장치를 구성하여도 좋다. In addition, although the said 1st-13th embodiment (refer FIG. 1-25) demonstrated the program execution system provided with the accumulating
이로써, 상기 제 1 내지 13 실시형태와 같은 작용 효과를 이루는 검사장치를 실현할 수 있다. Thereby, the inspection apparatus which achieves the same effect as the said 1st-13th embodiment can be implement | achieved.
제 23 실시형태23rd Embodiment
또한, 상기 제 14 내지 18 실시형태에 관한 프로그래밍 시스템을 구비한 검사장치용 프로그램 작성 시스템을 구성하여도 좋다. Moreover, you may comprise the program preparation system for inspection apparatuses provided with the programming system which concerns on said 14th-18th embodiment.
이로써, 상기 제 14 내지 18 실시형태와 같은 작용 효과를 이루는 검사장치용 프로그램 작성 시스템을 실현할 수 있다. Thereby, the program preparation system for inspection apparatus which can achieve the same effect as the said 14th-18th embodiment can be implement | achieved.
제 24 실시형태24th Embodiment
또한, 상기 제 1 내지 14 실시형태에 관한 프로그램 실행 시스템과, 상기 제 15 내지 18 실시형태에 관한 프로그래밍 시스템을 구비한 검사장치용 프로그램 작성 시스템을 구성하여도 좋다. In addition, you may comprise the program production system for test | inspection apparatus provided with the program execution system which concerns on said 1st-14th embodiment, and the programming system which concerns on said 15th-18th embodiment.
이로써, 상기 제 1 내지 18 실시형태와 같은 작용 효과를 이루는 검사장치 시스템을 실현할 수 있다.Thereby, the inspection apparatus system which achieves the effect similar to the said 1st-18th embodiment can be implement | achieved.
본 발명에 의하면, 미리 프로그래밍 소프트웨어로 생성된 코드화 파일(제 2의 프로그램)을 축적 수단으로부터 판독하여 메모리 영역에 로드하고, 동작중의 제 1의 프로그램과 교체하여 동작시킴에 의해, 각 프로그램의 거대화를 회피하여 분산개발 및 병렬개발을 가능하게 하고, 검사 대상 기종을 효율적이고 또한 용이하게 추가할 수 있다.According to the present invention, the coded file (second program) generated in advance by programming software is read from the storage means, loaded into the memory area, and replaced with the first program in operation, thereby enlarging each program. By avoiding this problem, distributed development and parallel development are possible, and the inspection target model can be added efficiently and easily.
Claims (26)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2005-00180777 | 2005-06-21 | ||
JP2005180777A JP4110557B2 (en) | 2005-06-21 | 2005-06-21 | Inspection apparatus and programming system provided with program execution system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070003797A Division KR101010489B1 (en) | 2005-06-21 | 2007-01-12 | Programming system for program executing system and program constructing system for examination device |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060133873A KR20060133873A (en) | 2006-12-27 |
KR100787323B1 true KR100787323B1 (en) | 2007-12-21 |
Family
ID=37583424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050089156A KR100787323B1 (en) | 2005-06-21 | 2005-09-26 | Program executing system |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP4110557B2 (en) |
KR (1) | KR100787323B1 (en) |
CN (1) | CN100485618C (en) |
TW (1) | TWI277867B (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043677B (en) * | 2009-10-22 | 2013-01-16 | 系微股份有限公司 | Parallel processing method for dual-operation system |
CN102722410B (en) * | 2012-05-25 | 2015-07-29 | 华为终端有限公司 | The method of executive routine, server, mobile terminal and system |
TW201441932A (en) * | 2013-04-19 | 2014-11-01 | Nuvoton Technology Corp | Processing devices and system program updating methods |
KR20160075629A (en) * | 2013-10-31 | 2016-06-29 | 미쓰비시덴키 가부시키가이샤 | Program creating device, program creating method, and program |
US9836426B2 (en) * | 2015-08-04 | 2017-12-05 | Honeywell International Inc. | SD card based RTU |
JP7036064B2 (en) * | 2019-03-06 | 2022-03-15 | オムロン株式会社 | How to deploy controllers and software |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010006749A (en) * | 1999-03-09 | 2001-01-26 | 윌리엄 비. 켐플러 | Storing system-level mass storage configuration data in non-volatile memory on each mass storage device to allow for reboot/power-on reconfiguration of all installed mass storage devices to the same configuration as last use |
KR20010022458A (en) * | 1997-07-29 | 2001-03-15 | 추후제출 | Computerized system and associated method for optimally controlling storage and transfer of computer programs on a computer network |
-
2005
- 2005-06-21 JP JP2005180777A patent/JP4110557B2/en not_active Expired - Fee Related
- 2005-08-29 TW TW094129457A patent/TWI277867B/en not_active IP Right Cessation
- 2005-09-26 KR KR1020050089156A patent/KR100787323B1/en not_active IP Right Cessation
- 2005-12-19 CN CNB2005101361489A patent/CN100485618C/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010022458A (en) * | 1997-07-29 | 2001-03-15 | 추후제출 | Computerized system and associated method for optimally controlling storage and transfer of computer programs on a computer network |
KR20010006749A (en) * | 1999-03-09 | 2001-01-26 | 윌리엄 비. 켐플러 | Storing system-level mass storage configuration data in non-volatile memory on each mass storage device to allow for reboot/power-on reconfiguration of all installed mass storage devices to the same configuration as last use |
Also Published As
Publication number | Publication date |
---|---|
TW200700986A (en) | 2007-01-01 |
KR20060133873A (en) | 2006-12-27 |
CN1885263A (en) | 2006-12-27 |
JP4110557B2 (en) | 2008-07-02 |
TWI277867B (en) | 2007-04-01 |
CN100485618C (en) | 2009-05-06 |
JP2007004273A (en) | 2007-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9940225B2 (en) | Automated error checking system for a software application and method therefor | |
KR100787323B1 (en) | Program executing system | |
JP5039428B2 (en) | Programmable controller and PLC system | |
US10705500B2 (en) | Support device, method, and recording medium for simplifying control program changing operation | |
US8381173B2 (en) | Platform-independent method and system for deploying control logic programming | |
US9384020B2 (en) | Domain scripting language framework for service and system integration | |
EP1179776A1 (en) | Test automation framework | |
CN113342387A (en) | Automatic software upgrading method, updating client and updating server | |
JP2017142794A (en) | Programmable controller system, controller thereof, support device, hci device, and duplex controller system | |
JP2007095107A (en) | Parameter setting device | |
JP6442131B2 (en) | Control system and control device | |
CN107902507B (en) | Control software field debugging system and debugging method | |
KR101010489B1 (en) | Programming system for program executing system and program constructing system for examination device | |
US20150355997A1 (en) | Server-Platform Simulation Service | |
CN113094251A (en) | Embedded system testing method and device, computer equipment and storage medium | |
JP5052472B2 (en) | Program setting information switching system and switching method | |
CN115629815A (en) | FPGA prototype verification platform capable of verifying EMMC user interface | |
US20010039650A1 (en) | Method in a software controlled system | |
JP2006302066A (en) | Maintenance system with remote execution function and method therefor | |
CN114090189A (en) | Construction deployment management method and system based on assembly line | |
CN112486511A (en) | Method for generating operating system installation mirror image through web | |
CN109019217B (en) | Elevator control software field debugging system | |
CN113127022A (en) | Automatic code updating method and device, computer equipment and storage medium | |
JP2008059482A (en) | Information processor and processing method | |
Antunes et al. | Test Framework for Jenkins Shared Libraries |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
A107 | Divisional application of patent | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
G170 | Publication of correction | ||
FPAY | Annual fee payment |
Payment date: 20121121 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20131118 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20141120 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20151118 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |