KR100694948B1 - Program execution control mode - Google Patents

Program execution control mode Download PDF

Info

Publication number
KR100694948B1
KR100694948B1 KR1020040110089A KR20040110089A KR100694948B1 KR 100694948 B1 KR100694948 B1 KR 100694948B1 KR 1020040110089 A KR1020040110089 A KR 1020040110089A KR 20040110089 A KR20040110089 A KR 20040110089A KR 100694948 B1 KR100694948 B1 KR 100694948B1
Authority
KR
South Korea
Prior art keywords
program
execution
function block
execution flag
character string
Prior art date
Application number
KR1020040110089A
Other languages
Korean (ko)
Other versions
KR20050103446A (en
Inventor
미나미데히데아키
나카이사토루
츠보이타카시
요시오카신지
Original Assignee
미츠비시덴키 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 미츠비시덴키 가부시키가이샤 filed Critical 미츠비시덴키 가부시키가이샤
Publication of KR20050103446A publication Critical patent/KR20050103446A/en
Application granted granted Critical
Publication of KR100694948B1 publication Critical patent/KR100694948B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag

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)
  • Debugging And Monitoring (AREA)
  • Programmable Controllers (AREA)

Abstract

본 발명은 프로그램을 편집할 때마다 실행 형식으로 변환할 필요가 없는 프로그램의 실행 제어 방식을 제공하기 위한 것으로서, 상기 목적을 달성하기 위한 해결 수단에 있어서, 본 발명의 프로그램의 실행 제어 방식은, 펑션 블록 형식에 의해 프로그램을 작성하는 프로그램 작성 수단과, 상기 프로그램 작성 수단에서 작성된 프로그램을 실행하는 프로그램 실행 수단을 구비하고 있고, 상기 펑션 블록에 그 펑션 블록을 실행할지의 여부를 정하는 실행 플래그를 마련하고, 상기 펑션 블록으로 기술된 프로그램의 정지중 또는 실행중에 상기 실행 플래그의 ON/OFF를 조작하는 것을 가능하게 하고, 상기 실행 플래그가 유효한 펑션 블록만을 상기 프로그램 실행 수단에 의해 실행하도록 한 것이다.The present invention is to provide a program execution control method that does not need to be converted to an execution form every time a program is edited. In the solving means for achieving the above object, the program execution control method of the present invention is a function. A program creation means for creating a program in a block format and a program execution means for executing a program created by the program creation means, and providing execution flags for determining whether to execute the function block in the function block; It is possible to operate the ON / OFF of the execution flag during the stop or execution of the program described by the function block, and to execute only the function block for which the execution flag is valid by the program execution means.

프로그램 실행 제어Program execution control

Description

프로그램 실행 제어 방식{PROGRAM EXECUTION CONTROL MODE}Program execution control method {PROGRAM EXECUTION CONTROL MODE}

도 1은 본 발명의 프로그램 실행 제어 방식에 사용되는 시스템을 도시한 블록 구성도.1 is a block diagram showing a system used in the program execution control method of the present invention.

도 2는 상기 시스템의 동작을 도시한 기능 구성도.2 is a functional diagram showing the operation of the system.

도 3은 펑션 블록 다이어그램의 일예를 도시한 도면.3 shows an example of a function block diagram.

도 4는 본 발명의 실시예 1에 의한 실행 플래그를 마련한 펑션 블록의 일예를 도시한 도면.4 is a diagram showing an example of a function block provided with an execution flag according to the first embodiment of the present invention.

도 5는 상기 실행 플래그를 갖는 펑션 블록에 의해 기술한 펑션 블록 다이어그램의 일예를 도시한 도면.5 is a diagram showing an example of a function block diagram described by a function block having the execution flag.

도 6은 도 5의 펑션 블록 다이어그램과 등가한 펑션 블록 다이어그램.6 is a function block diagram equivalent to the function block diagram of FIG. 5.

도 7은 실행 플래그를 마련한 펑션 블록의 데이터 포맷의 예를 도시한 도면.7 is a diagram showing an example of a data format of a function block provided with an execution flag.

도 8은 상기 실시예 1에 있어서의 프로그램 실행 수단의 처리를 도시한 플로우 차트.Fig. 8 is a flowchart showing the processing of the program execution means in the first embodiment.

도 9는 본 발명의 대체 안(案)을 도시한 펑션 블록 다이어그램.9 is a function block diagram illustrating an alternative scheme of the present invention.

도 10은 본 발명의 실시예 2에 있어서의 프로그램 확인 수단을 구비한 시스템의 구성을 도시한 도면.Fig. 10 is a diagram showing the configuration of a system provided with program confirmation means in a second embodiment of the present invention.

도 11은 상기 실시예 2에 있어서의 프로그램 확인 수단의 처리를 도시한 플 로우 차트.Fig. 11 is a flow chart showing the processing of the program confirmation means in the second embodiment.

도 12는 본 발명의 실시예 2에 있어서의 프로그램 표시 수단의 표시예를 도시한 도면.Fig. 12 is a diagram showing a display example of the program display means in the second embodiment of the present invention.

도 13은 마찬가지로 상기 프로그램 표시 수단의 다른 표시예를 도시한 도면.Fig. 13 is a diagram showing another display example of the program display means in the same manner.

도 14는 본 발명의 실시예 3에 있어서의 대체 회로를 갖는 경우의 펑션 블록 다이어그램.Fig. 14 is a function block diagram in the case of having an alternative circuit in Embodiment 3 of the present invention.

도 15는 상기 실시예 3에 있어서의 펑션 블록의 데이터 포맷의 예를 도시한 도면.Fig. 15 is a diagram showing an example of the data format of a function block in the third embodiment.

도 16은 본 발명의 실시예 4에 있어서의 온라인 재기록를 행하는 실행 플래그 조작 수단을 구비한 시스템의 구성을 도시한 도면.Fig. 16 is a diagram showing the configuration of a system provided with execution flag operation means for performing on-line rewriting in Embodiment 4 of the present invention.

도 17은 본 발명의 실시예 5에 있어서의 실행 플래그 제어 수단을 마련한 경우의 제어 양태를 도시한 도면.Fig. 17 is a diagram showing a control mode when the execution flag control means in the fifth embodiment of the present invention is provided;

도 18은 본 발명의 실시예 6에 있어서의 실행 플래그로서 문자열을 설정하는 경우의 시스템 구성예를 도시한 도면.Fig. 18 is a diagram showing a system configuration example in the case where a character string is set as an execution flag in the sixth embodiment of the present invention.

도 19는 실행 플래그에 문자열을 기술한 예를 도시한 펑션 블록 다이어그램.Fig. 19 is a function block diagram showing an example in which a string is written in an execution flag.

도 20은 상기 실시예 6에 있어서의 프로그램 실행 수단의 처리의 흐름을 도시한 플로우 차트.Fig. 20 is a flowchart showing the flow of processing of the program execution means in the sixth embodiment.

도 21은 실행 플래그에 정의하는 문자열을 제품마다 설정한 경우의 펑션 블록 다이어그램.Fig. 21 is a function block diagram when a character string defined in an execution flag is set for each product.

도 22는 본 발명의 실시예 7에 있어서의 유효 펑션 블록 검출 수단을 마련한 경우의 시스템 구성도.Fig. 22 is a system configuration diagram in the case where an effective function block detecting means is provided according to the seventh embodiment of the present invention.

도 23은 본 발명의 실시예 8에 있어서의 실행 플래그로서 플로우 차트를 설정한 경우의 시스템 구성예를 도시한 도면.Fig. 23 is a diagram showing an example of the system configuration when a flowchart is set as an execution flag in the eighth embodiment of the present invention.

도 24는 본 발명의 실시예 9에 있어서의 실행 플래그로서 표시기를 설정한 경우의 시스템 구성예를 도시한 도면.Fig. 24 is a diagram showing a system configuration example in the case where the indicator is set as the execution flag in the ninth embodiment of the present invention.

도 25는 본 발명의 한 대상인 검사 시스템의 유닛 구성을 도시한 도면.Fig. 25 is a diagram showing a unit configuration of an inspection system which is one object of the present invention.

도 26은 상기 검사 시스템의 프로그래머블 검사 장치에 이용되는 표 형식 프로그램의 예를 도시한 도면.Fig. 26 is a diagram showing an example of a tabular program used for the programmable inspection device of the inspection system.

도 27은 본 발명의 실시예 10에 있어서의 실행 플래그로서 표 형식 프로그램의 각 요소를 설정한 경우의 시스템 구성예를 도시한 도면.Fig. 27 is a diagram showing an example of the system configuration when each element of the tabular program is set as an execution flag in the tenth embodiment of the present invention.

<도면의 주요부분에 대한 설명><Description of main parts of drawing>

200 : 프로그램 작성 수단 201 : 프로그램 보존 수단200: program creation means 201: program storage means

202 : 프로그램 실행 수단 203 : 데이터 보존 수단202: program execution means 203: data storage means

204 : 입력 수단 205 : 출력 수단204: input means 205: output means

206 : 조작 수단 207 : 표시 수단206: operation means 207: display means

31 내지 33, 41, 121 내지 124 : 펑션 블록31 to 33, 41, 121 to 124: function block

42 : 실행 플래그 1002 : 프로그램 확인 수단42: execution flag 1002: program confirmation means

1003 : 프로그램 표시 수단 141 : 대체 펑션 블록1003: program display means 141: alternative function block

161 : 실행 플래그 조작 수단 171 : 실행 플래그 제어 수단161: execution flag control means 171: execution flag control means

181 : 유효 문자열 보존 수단 222 : 유효 FB 검출 수단181: effective character string storage means 222: valid FB detection means

233 : 플로우 차트 실행 수단 244 : 표시 실행 수단233: flow chart execution means 244: display execution means

273 : 표 형식 프로그램 실행 수단273: means for executing a tabular program

기술분야Field of technology

본 발명은 제어 장치, 검사 장치, 계측 장치 등의 프로그램의 편집을 행할 때의 프로그램 실행 제어 방식에 관한 것으로, 특히 실행하는 프로그램의 내용을 실행시에 전환 가능한 프로그램 실행 제어 방식에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a program execution control method when editing a program of a control device, an inspection device, a measurement device, and the like, and more particularly, to a program execution control method that can switch contents of a program to be executed at execution time.

종래기술Prior art

프로그램의 개발 과정에 있어서는, 프로그램의 디버그를 행할 때, 개발한 프로그램의 부분적인 동작을 확인하기 위해 동작의 확인에 관계가 없는 부분을 코멘트 아웃하여 실행하는 일이 있다. 또한, 개발한 프로그램에 관련되는 프로그램으로, 실행은 하지 않지만 참조하고 싶은 프로그램을, 코멘트 아웃하여 같은 프로그램 중에 기술하는 일이 있다.In the program development process, when debugging a program, in order to confirm the partial operation of the developed program, a part which is not related to the operation confirmation may be commented out and executed. In addition, a program related to the developed program may be commented out and described in the same program.

코멘트 아웃하는 경우는 프로그램에 대해 코멘트 아웃을 의미하는 기호를 추가한다. 플로우 차트나 블록 다이어그램 등의 도형 정보를 취급하는 그래피컬 프로그래밍에, 이와 같은 코멘트 아웃 기능을 적용하는 시도가 행하여지고 있다(예를 들면 특허 문헌 1 참조).To comment out, add a symbol for comment out to the program. Attempts have been made to apply such a comment out function to graphical programming that handles graphic information such as flow charts and block diagrams (see Patent Document 1, for example).

특허 문헌 1에는 예를 들면 도면중에 주석을 기입한 기능을 실현하기 위해 프로그램 편집 영역에서 코멘트 아웃으로서 취급하는 영역을 각각 지정함에 의해 이것을 코드화하지 않도록 하는 기술이 개시되어 있다. 즉, 프로그램 영역에서 코멘트로서 취급하는 영역을 지정하고, 소정의 프로그램 오브젝트를 이 영역으로 둘러싸고, 각각의 오브젝트가 프로그램으로서 취급되는지, 코멘트로서 취급되는지를 판별하도록 한다.Patent Literature 1 discloses, for example, a technique of designating an area to be treated as a comment out in the program editing area so as not to code the code in order to realize a function of annotating in the drawing. That is, an area to be treated as a comment is designated in the program area, and a predetermined program object is surrounded by this area to determine whether each object is treated as a program or as a comment.

[특허 문헌 1][Patent Document 1]

특개평2-14370호 공보(특허번호 제2851852호)Japanese Patent Application Laid-Open No. 2-14370 (Patent No. 2851852)

그런데, 프로그램을 실행할 때에 실행 코드로 변환하는 형태의 프로그래밍 방식에 있어서는, 코멘트 아웃 등의 프로그램에 대한 변경 내용을 실행시에 반영시키기 위해서는 변경한 프로그램을 실행하기 전에 재차 실행 코드로 변환할 필요가 있다. 코멘트 위치를 변환할 때마다 프로그램을 실행 형식으로 변환하고, 변환한 실행 형식을 프로그램 실행 수단으로 다운로드하고, 실행의 시작을 지시하고 있기 때문에 프로그램 개발의 효율이 나쁜 것으로 되어 있다. 특히, 프로그램의 실행 코드로의 변화나 다운로드에 시간이 걸리는 시스템에 있어서는, 프로그램을 변경할 때마다 이와 같은 처리를 행할 필요가 있기 때문에 프로그램의 개발 효율은 저하되어 버린다는 문제가 있다.By the way, in the programming method of converting the program to the execution code when executing the program, in order to reflect the changes to the program such as the comment out at the time of execution, it is necessary to convert the program again to the execution code before executing the changed program. . Every time a comment position is converted, the program is converted into an execution form, the converted execution form is downloaded to the program execution means, and the start of execution is instructed. In particular, in a system that takes a long time to change or download a program to executable code, such a process needs to be performed every time the program is changed, which causes a problem that the development efficiency of the program is lowered.

또한, 프로그램에 따라서는, 온라인으로 프로그램을 실행하면서 프로그램의 일부의 실행·비실행의 조작을 행하면, 문법적으로 올바른 프로그램으로 되지 않고, 실행이 정지할 가능성이 있다. In addition, depending on the program, if a part of the program is executed or not executed while the program is executed online, the program may not be syntactically correct and execution may be stopped.                         

또한, 프로그램 중에 실행 플래그를 설정하면, 유효한 설정이 되어 있기 때문에 실행하는 프로그램과, 설정이 되어 있지 않기 때문에 무효한 프로그램이 존재하게 되어, 프로그램 중의 어느 부분이 실제로 실행되는지의 판단이 어려워지고, 프로그램의 가독성(可讀性)이 저하되어 버린다는 문제도 있다.In addition, if an execution flag is set in a program, a program to be executed because it is set effectively and an invalid program because it is not set will exist, making it difficult to determine which part of the program is actually executed. There is also a problem that the readability is reduced.

본 발명의 제 1의 목적은, 프로그램을 편집할 때마다 실행 형식으로 변환할 필요가 없는 프로그램의 실행 제어 방식을 제공하는 것이다.It is a first object of the present invention to provide a program execution control method which does not need to be converted into an executable form each time a program is edited.

본 발명의 제 2의 목적은, 프로그램이 문법적으로 올바른 프로그램으로 되어 있는지를 확인하고, 프로그램 중에서 부정(不正)으로 되는 부분을 검출하는 프로그램 확인 수단을 갖는 프로그램의 실행 제어 방식을 제공하는 것이다.A second object of the present invention is to provide a program execution control method having a program checking means for checking whether a program is a grammatically correct program and detecting an indefinite portion of the program.

본 발명의 제3의 목적은, 프로그램 중의 조건 분기(分岐)를 위한 기술(記述)을 줄여서, 가독성이 높은 프로그램의 실행 제어 방식을 제공하는 것이다.A third object of the present invention is to provide a method for controlling execution of a program with high readability by reducing the description for conditional branching in a program.

본 발명의 프로그램의 실행 제어 방식은, 펑션 블록 형식에 의해 프로그램을 작성하는 프로그램 작성 수단과, 상기 프로그램 작성 수단에서 작성된 프로그램을 실행하는 프로그램 실행 수단을 구비하고, 상기 펑션 블록에 그 펑션 블록을 실행할지의 여부를 정하는 실행 플래그를 마련하고, 상기 펑션 블록으로 기술된 프로그램의 정지중 또는 실행중에 상기 실행 플래그의 ON/0FF를 조작하는 것을 가능하게 하고, 상기 실행 플래그가 유효한 펑션 블록만을, 상기 프로그램 실행 수단에 의해 실행하도록 한 것이다.The execution control method of the program of the present invention includes program creation means for creating a program in a function block format, and program execution means for executing a program created by the program creation means, and executes the function block on the function block. An execution flag for deciding whether or not to be provided is provided, and it is possible to operate ON / 0FF of the execution flag during the stop or execution of the program described by the function block, and only the function block for which the execution flag is valid is executed. It is to be executed by the execution means.

또한, 본 발명의 프로그램의 실행 제어 방식은, 펑션 블록의 실행 플래그를 조작한 결과, 문법적으로 올바른 프로그램으로 되어 있는지를 확인함과 함께, 올바 르지 않는 프로그램으로 되는 경우는 프로그램 중에서 부정이 되는 부분을 검출하는 프로그램 확인 수단을 마련한 것이다.In addition, the execution control method of the program of the present invention checks whether the program is grammatically correct as a result of operating the execution flag of the function block. The program confirmation means to detect was provided.

또한, 본 발명의 프로그램의 실행 제어 방식은, 실행 플래그가 유효한 펑션 블록을 검출하는 유효 펑션 블록 검출 수단을 마련하고, 유효한 설정이 되어 있고 실행시에 처리를 행하는 펑션 블록만을 프로그램 표시 수단에 표시하도록 한 것이다.In addition, the execution control method of the program of the present invention provides a valid function block detecting means for detecting a function block having an effective execution flag, and displays only the function blocks that have been set and are executed at the time of execution on the program display means. It is.

실시예 1Example 1

이하, 도면을 참조하여, 본 발명의 실시예에 관해 기술한다.EMBODIMENT OF THE INVENTION Hereinafter, with reference to drawings, embodiment of this invention is described.

도 1은 본 발명의 프로그램 실행 제어 방식에 사용되는 시스템 구성을 도시한 블록도이다. 이 시스템은, 하드웨어 자원으로서 CPU(중앙 연산 장치)(100)와, ROM(리드온리 메모리)(101)과, RAM(랜덤 액세스 메모리)(102)과, 표시 장치(103)와, I/O(입출력 장치)(105)와, D/A(디지털 아날로그 변환기)(106)와, A/D(아날로그 디지털 변환기)(107)를 구비하여 구성된다.1 is a block diagram showing a system configuration used in the program execution control method of the present invention. The system includes a CPU (central computing unit) 100, a ROM (lead only memory) 101, a RAM (random access memory) 102, a display device 103, and I / O as hardware resources. (Input / Output Device) 105, D / A (Digital Analog Converter) 106, and A / D (Analog Digital Converter) 107.

이들은 버스를 통하여 접속되어 있지만, 이들의 전부는 갖추어질 필요는 없고, 아날로그 입력을 취급하지 않은 경우는 A/D(107)가 없어도 좋고, 아날로그 출력을 취급하지 않은 경우는 D/A(106)가 없어도 좋다. 또한, 화면상에 표시할 필요가 없는 경우는 표시 장치(103)를 생략 할 수 있다.These are connected via a bus, but not all of them need to be equipped, and if the analog inputs are not handled, there may be no A / D 107, or the D / A 106 if the analog outputs are not handled. There is no need to. In addition, when it is not necessary to display on a screen, the display apparatus 103 can be abbreviate | omitted.

예를 들면, ROM(101)에는 오퍼레이팅 시스템이나 시스템의 동작을 제어하는 프로그램이 격납되어 있고, 또한, RAM(102)에는 유저가 작성하는 프로그램이나 데 이터가 격납된다. CPU(100)는, ROM(101)에 격납되어 있는 시스템의 동작을 제어하는 프로그램에 의해 각종 기능을 실행하는 것이다.For example, the ROM 101 stores an operating system and a program for controlling the operation of the system, and the RAM 102 stores a program or data created by a user. The CPU 100 executes various functions by a program for controlling the operation of the system stored in the ROM 101.

도 2는 본 발명의 실시예 1에 의한 시스템의 동작을 도시한 기능 구성도로서, 상기 CPU(100), ROM(101), RAM(102), 표시 장치(103), 입력 장치(104)의 각종 처리에 의해 실행되는 것이다. 예를 들면, CPU(100)는, 표시 장치(103)와 함께 표시 수단(207)으로서 기능하고, 입력 장치(104)와 함께 조작 수단(206)으로서 기능함과 함께, ROM(101)과 RAM(102)과 함께 펑션 블록 실행 수단 등의 유저가 작성한 프로그램을 실행하는 수단(202)으로서 기능하고, I/0(105)와 A/D(107)와 함께 입력 수단(204)로서 기능하고, I/0(105)와 D/A(106)와 함께 출력 수단(205)으로서 기능한다. 표시 장치(103)는 예를 들면 LCD로 이루어지고, 유저 프로그램의 실행 상황을 표시할 수 있다. 입력 장치(104)는 예를 들면 키보드나 LCD에 붙여진 터치 패널로 이루어지고, 프로그램의 실행의 지시나 처리를 전환할 수 있다.2 is a functional configuration diagram showing the operation of the system according to the first embodiment of the present invention, wherein the CPU 100, the ROM 101, the RAM 102, the display device 103, and the input device 104 are shown. It is executed by various processes. For example, the CPU 100 functions as the display means 207 together with the display device 103, functions as the operation means 206 together with the input device 104, and the ROM 101 and the RAM. And function as a means 202 for executing a program created by a user, such as a function block execution means, together with the 102, and as an input means 204 together with the I / 0 105 and the A / D 107, It functions as an output means 205 together with I / 0 105 and D / A 106. The display device 103 is made of LCD, for example, and can display the execution status of the user program. The input device 104 consists of a touch panel attached to a keyboard or LCD, for example, and can switch the instruction | indication and process of execution of a program.

다음에, CPU(100)가 실행하는 각종 기능에 관해 도 2를 참조하여 설명한다.Next, various functions executed by the CPU 100 will be described with reference to FIG. 2.

프로그램 작성 수단(200)은, 유저가 소망하는 동작을 실현하는 프로그램을 작성하기 위한 수단이다. 이 수단은, 프로그램 실행 수단(202)과 같은 하드웨어상에 존재하는 것도 있고, 다른 하드웨어상에 존재하는 것도 있다. 다른 하드웨어상에 존재하는 경우는 그곳에서 작성한 프로그램을, 통신 수단을 이용하여 프로그램 실행 수단(202)과 같은 하드웨어상에 전송한다. 프로그램 작성 수단(200)에서는 유저가 펑션 블록 등의 프로그램 언어에 의해 프로그램의 작성을 행하는데, 프로그램 실행 수단(202)은 그대로는 실행할 수 없기 때문에 프로그램 언어를 프로그램 실행 수단(202)에서 실행 가능한 형식으로 변환하고, 일단, 프로그램 보존 수단(201)에 격납한다.The program creation means 200 is a means for creating a program for realizing a desired operation by the user. This means may exist on the same hardware as the program execution means 202, or may exist on other hardware. If it exists on other hardware, the program created there is transmitted on the same hardware as the program execution means 202 using a communication means. In the program creation means 200, a user creates a program by a program language such as a function block, but since the program execution means 202 cannot be executed as it is, the program language can be executed by the program execution means 202. The program is stored in the program storage means 201 once.

프로그램 보존 수단(201)은 프로그램 작성 수단(200)으로 작성한 프로그램을 보존하는 수단이다. 프로그램 실행 수단(202)은 프로그램 작성 수단(200)에 의해 작성되고, 프로그램 보존 수단(201)에 보존되어 있는 유저 프로그램을 판독하여 실행하는 수단이다. 이 프로그램 실행 수단(202)에서는 프로그램에 기술되어 있는 동작 지시에 의거하여 데이터 보존 수단(203)으로부터 데이터를 받아들이고, 그 데이터를 가공하여 재차 데이터 보존 수단(203)에 출력한다. 또한, 프로그램 실행 수단(202)에서는 조작 수단(206)으로부터 유저의 지시를 수취하여 대응하는 처리를 행함과 함께, 프로그램의 실행 상황을 표시 수단(207)에 표시한다. 또한, 실행 결과를 보존하는 경우는 실행 결과 보존 수단(208)에 실행 결과를 출력한다.The program storage means 201 is a means for saving a program created by the program creation means 200. The program execution means 202 is a means for reading and executing a user program created by the program creation means 200 and stored in the program storage means 201. The program execution means 202 receives data from the data storage means 203 based on the operation instruction described in the program, processes the data, and outputs the data to the data storage means 203 again. In addition, the program execution means 202 receives the user's instruction from the operation means 206 and performs a corresponding process, and displays the execution status of the program on the display means 207. When the execution result is stored, the execution result is output to the execution result storage means 208.

입력 수단(204) 및 출력 수단(205)은 주기적 또는 프로그램 실행 수단(202)의 지시에 의해 동작하고, 외부 접속 기기와의 사이에서 데이터 보존 수단(203)에 격납되어 있는 데이터를 입출력한다.The input means 204 and the output means 205 operate periodically or under the instruction of the program execution means 202, and input and output data stored in the data storage means 203 with an external connection device.

도 3에 유저가 프로그램의 작성을 행할 때에 이용하는 펑션 블록 다이어그램(이하 FBD)의 일예를 도시한다. FBD는, 펑션 블록(이하 FB)에 의해 기술된 프로그램이다. 이 도면에서, FB1(31)의 처리가 종료되면, FB1(31)에서의 처리 결과가 FB2(32)에 입력된다. 다음에 FB2(32)에서의 처리가 종료되면, FB3(33)에 입력된다. 최후로 FB3(33)의 처리 결과가 출력된다.3 shows an example of a function block diagram (hereinafter referred to as FBD) used when a user creates a program. FBD is a program described by a function block (hereinafter referred to as FB). In this figure, when the process of FB1 31 is complete | finished, the process result in FB1 31 is input into FB232. Next, when the processing in the FB2 32 ends, it is input to the FB3 33. Finally, the processing result of the FB3 33 is output.

이와 같이 FBD에서는 개개의 FB에서 처리된 데이터가 접속선에 의해 접속된 FB에 입력으로서 주어짐으로써 데이터의 가공이 진행된다. 선두의 FB에는 데이터 보존 수단(203)의 값이 입력되고, 최후미(尾)의 FB로부터 출력되는 값이, 재차 데이터 보존 수단(203)에 출력된다.In this manner, in the FBD, the data processed by the individual FBs is given as input to the FBs connected by the connection lines. The value of the data storage means 203 is input to the head FB, and the value output from the last FB is output to the data storage means 203 again.

배경 기술의 항에서 설명한 바와 같이 프로그램 개발중의 단계에서는 프로그램의 동작을 부분적에 확인하기 위해 동작 확인의 대상으로부터 벗어나는 부분을 코멘트 아웃하는 일이 있다. 단, 유저가 작성한 프로그램을 코멘트 아웃하는데는 프로그램 작성 수단(200)상에서 프로그램에 변경을 가할 필요가 있고, 그리고, 변경한 프로그램을 실행하는데는 실행 형식으로 변환하고, 프로그램 보존 수단(201)에 격납한 후 프로그램 실행 수단(202)에 판독할 필요가 있다. 코멘트 아웃의 위치를 변경할 때마다 이 일련의 작업을 행하는 것은 효율적이 아니고, 프로그램의 개발 효율이 높다고는 할 수 없다.As described in the section of the background art, in the stage of program development, in order to partially check the operation of the program, it is sometimes necessary to comment out a part which deviates from the object of the operation confirmation. However, in order to comment out the program created by the user, it is necessary to change the program on the program creation means 200, and to execute the changed program, it is converted into an execution form and stored in the program storage means 201. After that, it is necessary to read the program execution means 202. It is not efficient to perform this series of operations every time the comment-out location is changed, and the program development efficiency is not high.

그래서, 본 실시예 1에서는 각 FB에 실행 플래그를 마련하고, 프로그램 실행 수단(202)에서 프로그램을 실행할 때에 프로그램 실행 플래그가 붙어 있는 FB만을 실행하는 형식으로 한 것이다. 또한, 실행 플래그의 ON/OFF는, 프로그램 작성 수단(200)에서 프로그램을 편집하는 일 없이 실행 형식으로 변환 후의 프로그램상에서 행하여지는 것으로 한다. 실행 플래그의 ON/OFF의 조작은, FBD를 실행하는 실기(實機)가 LCD 등의 표시 장치를 갖고 있는 경우는 그 표시 장치에 표시되는 FBD를 보면서 입력 장치를 이용하여 ON/OFF의 조작을 하는 것이 가능하다. FBD를 표시하지 않고 실행 플래그만을 화면에 나열하여 표시하고, ON/OFF의 조작을 실기상에서 행하는 것도 가능하다. 또한, FBD를 실행하는 실기가, 퍼스널 컴퓨터 등의 프로그램 개발 환경과 접속되어 있는 경우는 프로그램 개발 환경상에 FBD를 표시하여 소망하는 FB의 실행 플래그를 조작하는 것도 가능하다.Therefore, in the first embodiment, an execution flag is provided in each FB, and when the program is executed by the program execution means 202, only the FB with the program execution flag is executed. In addition, ON / OFF of an execution flag shall be performed on the program after conversion to an execution form, without editing a program in the program creation means 200. FIG. For the operation of turning ON / OFF the execution flag, if the actual machine that executes the FBD has a display device such as an LCD, the ON / OFF operation is performed using the input device while watching the FBD displayed on the display device. It is possible to do It is also possible to display only execution flags on the screen without displaying the FBD, and to perform ON / OFF operations on the actual machine. In addition, when the actual machine that executes the FBD is connected to a program development environment such as a personal computer, it is also possible to display the FBD on the program development environment and operate the execution flag of the desired FB.

코멘트 아웃의 위치를 변경할 때마다 프로그램 작성 수단(200)에서 프로그램을 편집하고, 실행 형식으로 변환 후 프로그램 실행 수단(202)에 재차 판독할 필요가 없기 때문에 프로그램의 개발 효율을 개선할 수 있다.Whenever the position of the comment out is changed, it is not necessary to edit the program in the program creation means 200, and to read the program execution means 202 again after converting it to an execution form, thereby improving the development efficiency of the program.

다음에, 실현의 수단에 관해 기술한다.Next, the means of realization will be described.

도 4는 실행 플래그를 마련한 FB의 일예를 도시한 도면으로서, 도 4(a)는, 실행 플래그(42)에 체크가 들어가 있고, 이 FB(41)를 실행하는 것을 나타내고 있다. 한편, 도 4(b)는, 실행 플래그(42)에 체크가 들어가 있지 않고, 이 FB(41)를 실행하지 않는 것을 나타내고 있다. 실행 플래그(42)를 갖는 FB에 의해 기술한 FBD의 일예를 도 5에 도시한다. 도 5에서는 FB1(31)와 FB3(33)에는 실행 플래그(42)에 체크가 들어가 있지만, FB2(32)의 실행 플래그(42)에 체크가 들어가 있지 않기 때문에 FB2(32)는 실행되지 않는다. 이 때문에 도 6에 도시한 FBD와 등가의 프로그램으로 된다.Fig. 4 is a diagram showing an example of an FB in which an execution flag is provided. Fig. 4 (a) shows that the execution flag 42 is checked, and this FB 41 is executed. On the other hand, Fig. 4B shows that the execution flag 42 is not checked and that the FB 41 is not executed. An example of the FBD described by the FB with the execution flag 42 is shown in FIG. In FIG. 5, the execution flag 42 is checked in the FB1 31 and FB3 33, but the FB2 32 is not executed because the execution flag 42 of the FB2 32 is not checked. For this reason, the program is equivalent to the FBD shown in FIG.

이 예에서는 실행 플래그에 체크가 들어가 있는 FB를 유효하다고 판단하여 실행하고, 체크가 없는 FB는 실행하지 않는 방식을 나타내고 있지만, 이것과는 역으로, 실행 플래그에 체크가 들어가 있는 FB는 실행하지 않고, 실행 플래그에 체크가 들어가 있지 않은 FB를 실행하는 방식이라도 좋다.In this example, the FB with the checkmark in the execution flag is determined to be valid, and the FB without the check is executed. However, the FB with the checkmark in the execution flag is not executed. Alternatively, the FB may be executed without checking the execution flag.

따라서 각 FB의 연산 결과는, 연산 결과를 보존하기 위한 변수에 대입되고, 이 변수의 값은 다음에 실행하는 FB의 입력으로 된다. 따라서 연속한 FB 중에서 실 행하지 않는 FB가 존재하면, 그 FB의 처리가 결과로서 얻어지는 값에 반영되지 않게 되고, 코멘트 아웃과 같은 결과를 얻을 수 있다.Therefore, the operation result of each FB is substituted into the variable for saving the operation result, and the value of this variable becomes an input of the FB executed next. Therefore, if there is an FB not executed in the continuous FBs, the processing of the FBs is not reflected in the resultant value, and the same result as the comment out can be obtained.

실행 플래그(42)를 마련한 FB의 데이터 포맷의 예를 도 7에 도시한다. 개개의 FB의 데이터는 FB를 특정하기 위한 펑션 블록의 ID(71), 실행을 제어하는 실행 플래그(72), FB의 입력 핀에 접속하는 접속선의 데이터를 보존하는 입력(1)(73)과 입력(2)(75), 마찬가지로 출력 핀에 접속하는 접속선의 데이터를 보존하는 출력(1)(75)과 출력(2)(76)으로 이루어진다. 실행 플래그(42)의 정보는 이와 같이 FB의 데이터 포맷 중에 포함할 수도 있고, 실행 플래그(42)만을 정리하여 격납하는 영역을 작성하고, 각 FB로부터 대응하는 실행 플래그(42)를 참조하도록 하여도 좋다.7 shows an example of the data format of the FB in which the execution flag 42 is provided. The data of each FB includes the ID 71 of the function block for specifying the FB, the execution flag 72 for controlling execution, the inputs 1 and 73 for storing data of the connection line connected to the input pin of the FB, and It consists of the input (2) 75 and the output (1) 75 and the output (2) 76 which similarly store the data of the connection line connected to an output pin. The information of the execution flag 42 may be included in the data format of the FB in this manner, or a region containing only the execution flag 42 in a collective manner is stored, and the corresponding execution flag 42 is referred to from each FB. good.

다음에, 프로그램 실행 수단(202)에서의 처리에 관해 도 8을 이용하여 설명한다. 프로그램 실행 수단(202)은 프로그램으로부터 하나의 FB를 판독한다(스텝 81). 그 FB의 실행 플래그(42)가 유효인지 무효인지를 판단하고(스텝 82), 유효하면 그 FB의 처리를 실행한다(스텝 83). 무효인 경우는 그 FB의 처리를 실행하지 않는다. 다음에, 실행하는 FB를 지시하는 프로그램 카운터를 하나 진전한다(스텝 84). 그리고, 프로그램의 종단에 달하였는지를 판단한다(스텝 85). 프로그램의 종단에 달한 경우는 프로그램을 종료하고, 계속이 존재하는 경우는 다음의 FB의 판독으로 이행한다.Next, processing by the program execution means 202 will be described with reference to FIG. 8. The program execution means 202 reads one FB from the program (step 81). It is determined whether the execution flag 42 of the FB is valid or invalid (step 82), and if it is valid, the processing of the FB is executed (step 83). If it is invalid, the processing of the FB is not performed. Next, one program counter indicating the FB to be executed is advanced (step 84). Then, it is determined whether the end of the program has been reached (step 85). If the end of the program is reached, the program is terminated. If there is a continuation, the program moves to the next FB reading.

이 실행 플래그(42)의 ON/OFF는, 표시 수단(207)상에 표시된 FBD를 확인하면서 조작 수단(206)에 의해 조작하는 것도 가능하고, 프로그램 작성 수단(200)상에서 표시한 FBD를 확인하면서 조작하는 것도 가능하다. 이들의 조작은 실행 형식으 로 변환 후의 FBD에 대해 행하여지기 때문에 조작 후에 프로그램을 실행 형식으로 변환할 필요는 없다.The ON / OFF of the execution flag 42 can be operated by the operation means 206 while checking the FBD displayed on the display means 207, while checking the FBD displayed on the program creation means 200. It is also possible to operate. Since these operations are performed on the FBD after conversion to the execution form, there is no need to convert the program to the execution form after the operation.

도 9는, 실행 형식을 변환하는 일 없이 실행의 흐름을 전환하는 방법으로서, 조건문을 추가하는 방법을 나타내는 FBD이다. 동 도면에서는 조건문(91, 92)을 첨가하였기 때문에 본래 프로그램으로 기술하고 싶은 처리와는 다른 FB를 프로그램 중에 추가하는 것으로 된다. 그 결과, 코드의 가독성이나 메인티넌스성을 나쁘게 하는 것으로 된다. 따라서, 각 FB에 실행 플래그(42)를 마련하는 방법에 비하여 바람직하다고는 할 수 없다.Fig. 9 is a FBD showing a method of adding a conditional statement as a method of switching the flow of execution without changing the execution format. In the figure, the conditional statements 91 and 92 are added, so that an FB different from the process originally described by the program is added to the program. The result is poor code readability and maintainability. Therefore, this is not preferable as compared with the method of providing the execution flag 42 in each FB.

이상과 같이 프로그램 중에서 코멘트 아웃을 하고자 하는 부분이 있는 경우는 해당하는 개소의 실행 플래그를 무효로 전환할뿐, 프로그램을 실행 형식으로 변환하는 일 없이 코멘트 아웃과 같은 효과를 얻을 수 있다. 또한, 프로그램 작성중에 프로그램의 변환 작업이 필요하게 되지 않기 때문에 프로그램의 개발 효율을 효율화할 수 있다.As described above, when there is a part to be commented out of the program, the execution flag of the corresponding place is invalidated and the same effect as the comment out can be obtained without converting the program to the execution format. In addition, since the conversion work of the program is not necessary during program creation, the development efficiency of the program can be improved.

실시예 2Example 2

도 10은, 프로그램으로서 문법적으로 올바른지를 판정하는 프로그램 확인 수단(1002)을 프로그램 개발 환경상에 마련한 경우의 실시예이다. 프로그램 확인 수단(1002)은 FBD(1001)중의 어떤 FB의 실행 플래그(42)의 ON/OFF의 조작에 의해 문법적으로 올바른 FBD로 되어 있는지를 판정하는 수단이다. 프로그램 확인 수단(1002)은 FBD를 실행하는 실기상에 존재하여도 좋다.Fig. 10 shows an embodiment in which a program confirmation means 1002 is provided on a program development environment for determining whether it is grammatically correct as a program. The program checking means 1002 is a means for determining whether the FBD 1001 is grammatically correct by operation of ON / OFF of the execution flag 42 of which FB. The program confirmation means 1002 may exist on the actual machine that executes the FBD.

프로그램 확인 수단(1002)은 실행 플래그(42)의 전환 조작을 행한 직후에 동 작하고, 프로그램의 문법 체크를 행한다. 그리고, 확인한 결과를 프로그램 표시 수단(1003)에 표시한다. 프로그램 표시 수단(1003)은 프로그램을 표시하는 것으로, 예를 들면, 표시 수단(207)이나 프로그램 작성 수단(200)의 표시 부분을 들 수 있다.The program checking means 1002 operates immediately after performing the switching operation of the execution flag 42, and checks the grammar of the program. Then, the confirmed result is displayed on the program display means 1003. The program display means 1003 displays a program, and examples thereof include display portions of the display means 207 and the program creation means 200.

다음에 프로그램 확인 수단(1002)의 흐름에 관해 도 11을 이용하여 설명한다.Next, the flow of the program confirmation means 1002 will be described with reference to FIG.

프로그램 확인 수단(1002)은 FB의 실행 플래그(42)가 조작되면, 매회 기동된다. 프로그램 확인 수단(1002)이 기동하면, 프로그램을 판독하고(스텝 111), 프로그램이 문법적으로 올바른지를 확인한다(스텝 112). 다음에, 프로그램이 문법적으로 올바른지를 확인한다(스텝 113). 프로그램이 문법적으로 올바른 경우는 프로그램에 문제가 없는 것을 프로그램 표시 수단(1003)에 의해 나타낸다. 한편, 프로그램이 문법적으로 올바르지 않은 경우는 예를 들면 프로그램 중의 올바르지 않는 부분을 강조하여 표시한다(스텝 114).The program confirmation means 1002 is activated every time when the execution flag 42 of the FB is operated. When the program confirmation means 1002 starts up, the program is read (step 111), and it is checked whether the program is grammatically correct (step 112). Next, it is checked whether the program is syntactically correct (step 113). If the program is grammatically correct, the program display means 1003 indicates that there is no problem with the program. On the other hand, if the program is grammatically incorrect, for example, an incorrect part of the program is highlighted (step 114).

프로그램 표시 수단(1003)의 표시예를 도 12 및 도 13에 도시한다. 도 12에서는 2입력 1출력을 갖는 FB12(123)의 실행 플래그(42)를 OFF로 하고 있다. FB12(123)가 무효로 되면, 이 FBD는, 문법적으로 성립하지 않게 되기 때문에 실행할 수 없다. 그래서, 도 13에 도시한 바와 같이 올바르지 않는 부분을 강조 표시한다.12 and 13 show examples of the display of the program display means 1003. In Fig. 12, the execution flag 42 of the FB12 123 having two inputs and one output is turned OFF. If the FB12 123 is invalid, this FBD cannot be executed because it is not syntactically valid. Thus, the incorrect part is highlighted as shown in FIG.

이 예에서는 선의 폭을 두껍게 함에 의해 올바르지 않는 부분을 강조하고 있지만, 선의 색을 바꾸거나 배경의 색을 바꾸는 등, 다양한 방법에 의해 올바르지 않는 부분을 강조할 수 있다.In this example, the width of the line is thickened to emphasize the wrong part, but the wrong part can be emphasized by various methods such as changing the color of the line or changing the color of the background.

이와 같이 올바르지 않는 부분을 강조 표시함에 의해 문제가 발생하고 있는 부분을 용이하게 특정할 수 있다.By highlighting the incorrect part in this way, it is easy to identify the part where the problem occurs.

실시예 3Example 3

도 14에, FB의 실행 플래그(42)가 0FF인 경우에 실행하는 대체 FB(141)를 갖는 FB의 예를 도시한다. 이 예에서는 FB12(123)가 대체 FB(141)로서, AND의 FB를 보존하고 있다. FB12(123)의 실행 플래그(42)가 0FF로 되어 있기 때문에 실행시에는 FB12(123)가 아니라 FB(AND)(141)가 실행된다. 한편, 실행 플래그(42)가 ON인 경우는 FB12(123)가 실행된다.14 shows an example of an FB having a replacement FB 141 executed when the execution flag 42 of the FB is 0FF. In this example, the FB12 123 is the replacement FB 141 and stores the FB of AND. Since the execution flag 42 of the FB12 123 is 0FF, the FB (AND) 141 is executed instead of the FB12 123 at the time of execution. On the other hand, when the execution flag 42 is ON, the FB12 123 is executed.

대체 FB(141)를 갖는 FB의 데이터 포맷의 예를 도 15에 도시한다. 통상의 PB의 데이 포맷에 대해 대체 FB의 ID(151)를 추가하고 있다. 실행 플래그(42)가 0FF인 경우는 대체 FB의 ID(151)을 판독하고, 실행한다.An example of the data format of an FB with a replacement FB 141 is shown in FIG. 15. The ID 151 of the replacement FB is added to the normal PB day format. When the execution flag 42 is 0FF, the ID 151 of the replacement FB is read and executed.

이와 같이 실행 플래그(42)를 0FF로 하였을 때에 실행한 대체 FB(141)를 별도 보존함에 의해 실행 플래그(42)의 조작에 의해 프로그램이 문법적으로 부정하게 되는 것을 막을 수 있다. 또한, 프로그램을 변경하고, 실행 형식으로 재변환하는 일 없이 프로그램의 실행 내용을 전환할 수 있기 때문에 디버그용의 FB를 등록하여 두는 등, 디버그를 효율화할 수 있다.Thus, by separately storing the replacement FB 141 executed when the execution flag 42 is set to 0FF, it is possible to prevent the program from being grammatically denied by the operation of the execution flag 42. In addition, since the execution contents of the program can be switched without changing the program and reconverting to the execution form, debugging can be made more efficient, such as registering a debug FB.

또한, 이 예에서는 하나의 FB에 대해 하나의 대체 FB(141)를 기술하고 있지만, 하나의 FB에 대해 복수의 FB로 이루어지는 하나의 회로를 등록할 수도 있다.Also, in this example, one replacement FB 141 is described for one FB, but one circuit consisting of a plurality of FBs may be registered for one FB.

실시예 4Example 4

FB의 실행 플래그의 재기록은, FBD의 프로그램을 정지하고 있는 동안도 좋고, 실행하고 있는 동안도 좋다. FBD의 프로그램의 실행 플래그를 재기록하는데는 실기상에서 행하는 방법과, 퍼스널 컴퓨터 등의 위에 실현된 프로그램 개발 환경상에서 행하는 방법이 있다.The rewriting of the execution flag of the FB may be either while the program of the FBD is stopped or while it is being executed. There are two methods for rewriting the execution flag of the program of the FBD: a method performed on a practical machine, and a method performed on a program development environment realized on a personal computer or the like.

FB의 실행 플래그의 재기록를 실기상에서 행하는 경우의 실시예를 도 16에 도시한다. 실행 플래그 조작 수단(161)이란, FBD의 각 FB의 실행 플래그(42)를 조작하는 수단이다. 이 실행 플래그 조작 수단(161)은 실기가 갖는 화면상에 FB를 표시하거나 실행 플래그에 대응하는 표시 부품을 나열하여 표시하는 등, 실행 플래그의 상태를 표시하는 수단과, 실행 플래그(42)의 조작을 행하는 실기의 입력 장치(104)에 의해 실현한다. 실기가 표시 화면을 갖지 않은 경우는 입력 장치(104)에 실행 플래그(42)를 대응시키고, 입력에 따라 실행 플래그(42)를 조작한다.16 shows an example in the case where rewriting of the execution flag of the FB is performed on the actual machine. The execution flag operation means 161 is a means for operating the execution flag 42 of each FB of an FBD. The execution flag operation means 161 includes means for displaying the state of the execution flag, such as displaying an FB on a screen of the actual machine or listing and displaying display components corresponding to the execution flag, and operation of the execution flag 42. This is realized by the actual input device 104 which performs the operation. When the actual machine does not have a display screen, the execution flag 42 is associated with the input device 104, and the execution flag 42 is operated in accordance with the input.

실행 플래그 조작 수단(161)에 의해 조작된 실행 플래그는 실기상의 프로그램 확인 수단(1002)에 의해 문법적으로 올바른 프로그램으로 되는지를 확인한다.The execution flag operated by the execution flag operation means 161 confirms whether it becomes a grammatically correct program by the actual program confirmation means 1002.

프로그램 개발 환경상에서 행하는 경우는 도 16의 실행 플래그 조작 수단(161) 및 프로그램 확인 수단(1002)이 프로그램 개발 환경상에 존재하고, 새롭게 설정한 실행 플래그의 조합이 문법적으로 문제 없는지를 확인한다. 그리고, 문법적으로 성립하고 있는 실행 플래그의 조합을 실행 형식의 프로그램에 반영시킨다.When the program is executed in the program development environment, the execution flag operation means 161 and the program confirmation means 1002 in FIG. 16 exist on the program development environment, and it is confirmed whether the newly set execution flag combination is grammatically correct. The combination of the execution flags that are grammatically established is reflected in the program of the execution form.

프로그램 확인 수단(1002)이, 실기상에 존재하는 경우도, 프로그램 개발 환경상에 존재하는 경우도, 프로그램이 문법적으로 올바르게 되는 실행 플래그(42)의 설정이 되어 있지 않은 경우는 실행 형식의 프로그램 중에 존재하는 실행 플래그 (42)의 변경을 일체 행하지 않는다.Whether the program checking means 1002 exists on the actual machine or on the program development environment, the program checking means 1002 exists in the program of the execution form when the program does not set the execution flag 42 that is grammatically correct. The execution flag 42 is not changed at all.

이와 같이 온라인으로 실행 플래그(42)를 재기록할 때에 프로그램 확인 수단(1002)에 의해 문법적으로 올바른 것을 확인하고 나서, 일제히 FB의 실행 플래그(42)를 전환함에 의해 실행 플래그(42)의 조작이 원인이 되어, FBD의 처리에 문법 에러가 발생하고, 처리를 중단한다는 상황이 발생하는 것을 막을 수 있다.In this way, when rewriting the execution flag 42 online, after confirming that it is grammatically correct by the program checking means 1002, the operation of the execution flag 42 is caused by simultaneously switching the execution flag 42 of the FB. This can prevent a syntax error from occurring in the processing of the FBD and a situation in which the processing is interrupted.

실시예 5Example 5

프로그램 중의 실행 플래그(42)의 조작을 프로그램 중에서 행하는 실행 플래그 제어 수단(171)을 마련한 경우의 실시예를 도 17에 도시한다. FB의 하나로서, 지정한 FB의 실행 플래그(42)를 조작하는 FB를 마련한다. 이 FB에는 실행 플래그(42)의 조작 대상이 되는 FB의 식별 번호를 지정한다. 식별 번호란, 실행 플래그(42)의 조작 대상이 되는 FB를 하나 특정할 수 있는 번호이다.FIG. 17 shows an embodiment in the case where execution flag control means 171 for performing the operation of the execution flag 42 in the program is provided in the program. As one of the FBs, an FB for operating the execution flag 42 of the designated FB is provided. In this FB, the identification number of the FB to be operated by the execution flag 42 is specified. The identification number is a number capable of specifying one FB to be operated by the execution flag 42.

프로그램 실행 수단(202)은 실행 플래그(42)를 조작하는 FB를 판독하면, 실행 플래그 제어 수단(171)을 호출하고, 실행 플래그(42)의 조작을 행한다. 실행 플래그(42)의 조작은, ON부터 OFF로 할 수도 있고, 0FF로부터 0N으로 할 수도 있다.When the program execution means 202 reads the FB for operating the execution flag 42, it calls the execution flag control means 171 and performs the operation of the execution flag 42. The operation of the execution flag 42 may be turned from ON to OFF, or may be set from 0FF to 0N.

프로그램 중에서 지정한 FB의 실행 플래그(42)를 조작함에 의해 실행하는 FB를 선택할 수 있다. 이 때문에 실행 상황에 따라 실행하는 FB를 전환한다는 처리가 가능해진다.The FB to be executed can be selected by operating the execution flag 42 of the designated FB from among the programs. For this reason, the process of switching the FB to be executed according to the execution situation becomes possible.

이 실행 플래그(42)의 제어는, 대체 회로를 갖는 FB에도 적용 가능하다. 또한, 프로그램의 확인을 행하고 나서 실행 플래그(42)를 조작할 수도 있다.The control of this execution flag 42 is also applicable to an FB having a replacement circuit. In addition, the execution flag 42 can be operated after confirming the program.

실시예 6Example 6

이 실시예 6에서는 실행 플래그(42)로서 문자열을 설정한 것이다.In the sixth embodiment, the character string is set as the execution flag 42.

도 18은 이 경우의 시스템 구성예를 도시하고 있고, 실행 플래그(42)에 설정한 문자열과, 유효 문자열 보존 수단(181)이 보존하고 있는 문자열을, 프로그램 실행 수단(202)이 비교하고, 일치하는 문자열을 실행 플래그(42)에 갖는 FB를 실행하도록 한 것이다.18 shows an example of the system configuration in this case, and the program execution means 202 compares and matches the character string set in the execution flag 42 with the character string stored by the valid character string storage means 181. The FB having the execution string 42 in the execution flag 42 is executed.

유효 문자열 보존 수단(181)은, FB의 실행 플래그(42)에 기술된 문자열과 비교하기 위한 문자열을 보존하는 수단으로서, 복수의 문자열을 보존할 수 있다. 프로그램 실행 수단(202)은 판독한 FB의 실행 플래그(42)에 문자열이 기술되어 있는 경우, 유효 문자열 보존 수단(181)의 중에 일치하는 문자열이 존재하는지를 확인하고, 일치하는 문자열이 존재하는 경우는 그 FB를 실행한다.The effective character string storage means 181 is a means for saving a character string for comparison with a character string described in the execution flag 42 of the FB, and can save a plurality of character strings. When the character string is described in the execution flag 42 of the read-out FB, the program execution means 202 checks whether a matching character string exists in the valid character string storage means 181, and when there is a matching character string, Run that FB.

실행 플래그(42)에 문자열을 기술한 예를 도 19에 도시한다. 실행 플래그(42)에는 ON/OFF만이 아니라 문자열을 기술할 수 있다. 이 예에서는 문자열으로서 "DEBUG"를 기술하고 있다.An example in which a character string is described in the execution flag 42 is shown in FIG. The execution flag 42 may describe not only ON / OFF but also a character string. This example describes "DEBUG" as a string.

문자열을 지정한 경우는 프로그램 실행 수단(202) 중에서 유효하다고 정의되어 있는 문자열을 갖는 FB만을 실행한다. 유효하다고 정의되지 않은 문자열을 갖는 FB는 실행되는 일은 없다. 또한, 실행 플래그(42)에 아무것도 설정되어 있지 않은 FB는 그대로 실행한다.When a character string is designated, only the FB having the character string defined as valid among the program execution means 202 is executed. FBs with strings that are not defined as valid will not be executed. In addition, the FB in which nothing is set in the execution flag 42 is executed as it is.

유효 문자열 보존 수단(181)에 "DEBUG"가 존재하면, FB31(192)와 FB41(195)는 실행된다. 한편, 유효 문자열 보존 수단(181)에 "DEBUG"가 존재하지 않으면, FB31(192)과 FB41(195)의 처리는 실행되지 않는다.If " DEBUG " exists in the valid character string storing means 181, FB31 192 and FB41 195 are executed. On the other hand, if "DEBUG" does not exist in the valid character string storing means 181, the processing of FB31 192 and FB41 195 is not executed.

이 경우의 프로그램 실행 수단(202)의 처리의 흐름을 도 20에 도시한다.20 shows the flow of the process of the program execution means 202 in this case.

프로그램 실행 수단(202)은 프로그램으로부터 하나의 FB를 판독하다(스텝 2001). 그 FB의 실행 플래그(42)가 문자열인지의 여부를 판단한다(스텝 2002). 문자열이 아니라 0N/0FF를 나타내는 플래그이라면, 실행 플래그(42)가 유효로 되어 있는지를 판정한다(스텝 2003). 한편, 실행 플래그(42)에 문자열이 설정되어 있는 경우는 유효 문자열 보존 수단(181)의 중에 일치하는 문자열이 존재하는지를 확인한다(스텝 2004). 일치하는 문자열이 존재하는 경우는 실행 플래그(42)가 ON의 경우와 마찬가지로 해당하는 FB를 실행한다(스텝 2005). 한편, 유효 문자열 보존 수단(181) 중에 일치하는 문자열이 존재하지 않은 경우는 실행 플래그(42)가 0FF인 경우와 마찬가지로, 해당하는 FB를 실행하지 않고, 프로그램 카운터의 이동으로 옮긴다(스텝 2006).The program execution means 202 reads one FB from the program (step 2001). It is determined whether or not the execution flag 42 of the FB is a character string (step 2002). If the flag indicates 0N / 0FF rather than a character string, it is determined whether the execution flag 42 is valid (step 2003). On the other hand, when the character string is set in the execution flag 42, it is checked whether there is a matching character string in the valid character string storage means 181 (step 2004). If there is a matching character string, the corresponding FB is executed as in the case where the execution flag 42 is ON (step 2005). On the other hand, if there is no matching character string in the valid character string storage means 181, the motion is shifted to the program counter without executing the corresponding FB as in the case where the execution flag 42 is 0FF (step 2006).

프로그램 카운터를 다음의 FB로 진전한 후 프로그램의 종단에 달하였는지를 판정한다(스텝 2007). 프로그램의 종단에 달한 경우는 프로그램을 종료하고, 계속이 존재하는 경우는 다음 FB의 판독으로 옮긴다. 유효하다고 정의한 문자열의 지정은, 프로그램 작성 수단(200)이나 입력 장치(104)에 의해 행한다.After the program counter advances to the next FB, it is determined whether the end of the program has been reached (step 2007). If the end of the program is reached, the program ends. If there is a continuation, the program moves to the next FB reading. The character string defined as valid is specified by the program generating means 200 or the input device 104.

유효하다고 정의하는 문자열을 유효 문자열 보존 수단(181)에 등록하기 전에 프로그램 확인 수단(1002)를 이용하여, 유효한 문자열을 변경함으로써 문법적으로 올바른 프로그램으로 되는지를 확인할 수도 있다.Before registering the character string defined as valid in the valid character string storage means 181, the program confirmation means 1002 can be used to confirm whether the program is grammatically correct by changing the valid character string.

디버그시에, 정보를 표시하고 싶은 경우는 데이터의 표시 기능을 갖는 FB의 실행 플래그(42)에 같은 문자열을 정의하고, 유효 문자열 보존 수단(181)에 같은 문자열을 유효하다고 정의하면 좋다. 같은 문자열이 유효하다고 정의되어 있으면, 정보를 표시하는 FB가 실행되기 때문에 표시 기능을 갖는 FB에 의해 프로그램의 동작을 확인할 수 있다. 한편, 프로그램의 동작 확인이 끝나면, 같은 문자열을 무효로 함에 의해 표시를 전부 소거하는 것이 가능하다.When debugging information is desired, the same character string may be defined in the execution flag 42 of the FB having the data display function, and the same character string may be defined in the valid character string storage means 181 as valid. If the same character string is defined as valid, the FB for displaying the information is executed, and thus the operation of the program can be confirmed by the FB having the display function. On the other hand, after the operation check of the program is completed, it is possible to erase all the display by invalidating the same character string.

또한, FB의 실행 플래그(42)에 정의하는 문자열을 제품마다 설정함에 의해 다품종에 대응한 프로그램을 작성할 수 있다. 도 21은, 2종류의 제품에 대응한 FBD의 예이다.In addition, by setting the character string defined in the execution flag 42 of the FB for each product, a program corresponding to a variety of products can be created. 21 is an example of an FBD corresponding to two kinds of products.

FB60(211)과 FB70(214)을 실행 후 유효 문자열 보존 수단(181)에 "workA"가 정의되어 있는 경우는 FB61(212)과 FB71(215)이, "WorkB"가 정의되어 있는 경우는 FB62(213)와 FB72(216)가 실행된다. 제품마다 전환하는 처리를 조건 분기로 기술하면, 품종이 증가하는데 수반하여 조건 분기가 증가하기 때문에 프로그램의 가독성이 나빠진다. 실행 플래그(42)에 문자열을 설정하는 방법으로는, 유효 문자열 보존 수단(181)으로 보존되어 있는 문자열과 일치하는 FB만이 실행되기 때문에 조건 분기를 기술하는 일 없이 가독성이 좋은 프로그램의 기술이 가능하다.If "workA" is defined in the effective character string storage means 181 after executing FB60 (211) and FB70 (214), FB61 (212) and FB71 (215) have FB62 if "WorkB" is defined. 213 and FB72 216 are executed. Describing the conversions for each product as conditional branching makes the program more readable because the conditional branching increases with increasing variety. As a method of setting a character string in the execution flag 42, since only the FB matching the character string stored by the effective character string storage means 181 is executed, it is possible to describe a program with high readability without describing a conditional branch. .

실시예 7Example 7

프로그램 중에서 실행 플래그(42)가 유효한 FB를 검출하는 유효 FB 검출 수단(222)을 마련한 실시예를 도 22에 도시한다. 유효 FB 검출 수단(222)은, 프로그램 중의 FB에 설정되어 있는 실행 플래그(42)나, 유효 문자열 보존 수단(181)으로 보존되어 있는 문자열을 참조하여, 유효한 설정이 되어 있고 실행시에 처리를 행하 는 FB만을 프로그램 표시 수단(1003)에 표시한다.FIG. 22 shows an embodiment in which valid FB detection means 222 is provided for detecting an FB in which the execution flag 42 is valid in the program. The valid FB detection means 222 refers to the execution flag 42 set in the FB in the program or the character string stored by the valid character string storage means 181, and performs valid processing at execution. Displays only the FB on the program display means 1003.

이 실시예에 의하면, 유효한 설정이 되어 있는 FB만이 표시되기 때문에 각 FB에 설정되어 있는 실행 플래그(42)를 개개로 확인할 필요가 없어지고, 프로그램을 알기 쉽게 표시할 수 있다.According to this embodiment, since only the FBs that are validly set are displayed, there is no need to individually check the execution flag 42 set for each FB, and the program can be displayed easily.

또한, 유효한 설정이 되어 있는 FB와 그 밖의 FB의 표시 색을 바꾸어 표시함에 의해 유효한 FB를 알기 쉽게 표시하는 것도 가능하다.In addition, it is also possible to display the effective FB easily by changing the display color of the FB and other FBs that are set effectively.

실시예 8Example 8

실시예 8에서는 실행 플래그(42)로서 플로우 차트를 설정한 것이다.In the eighth embodiment, the flowchart is set as the execution flag 42.

도 23은, 이 경우의 시스템 구성도를 도시하고 있고, 플로우 차트의 각 플로우에 실행 플래그(42)를 설정하고, 각 플로우에 설정되어 있는 실행 플래그(42)의 상태에 의해 그 플로우의 실행·비실행을 결정하는 플로우 차트 실행 수단(233)을 마련한 것이다.FIG. 23 shows a system configuration diagram in this case. The execution flag 42 is set in each flow of the flowchart, and the execution of the flow is performed by the state of the execution flag 42 set in each flow. The flowchart execution means 233 which determines non-execution is provided.

플로우 차트 실행 수단(233)은, 실시예 2부터 실시예 7의 각 수단중에서 FB에 상당하는 부분을 플로우로 치환하여 실시할 수 있다.The flowchart execution means 233 can replace and implement the part corresponding to FB among the means of Example 2-Example 7 by a flow.

실시예 2에 의하면, 프로그램 확인 수단(1002)에 의해 프로그램 중의 문법적으로 오류가 있는 부분을 강조하여 표시할 수 있다.According to the second embodiment, the program checking means 1002 can highlight and display a grammatically defective part of the program.

실시예 3에 의하면, 각 플로우에 대체 플로우를 기술하고, 실행 플래그(42)가 0FF나 무효인 경우는 대체 플로우에 기술되어 있는 내용을 실행할 수 있다.According to the third embodiment, the replacement flow is described in each flow, and when the execution flag 42 is 0FF or invalid, the contents described in the replacement flow can be executed.

실시예 4에 의하면, 프로그램 확인 수단(1002)에 의해 프로그램이 문법적으로 올바른 것을 확인하고 나서, 실행 플래그 조작 수단(161)에 의해 프로그램 중의 실행 플래그(42)를 일제히 전환할 수 있다.According to the fourth embodiment, after confirming that the program is syntactically correct by the program confirming means 1002, the execution flag 42 in the program can be switched simultaneously by the execution flag operation means 161.

실시예 5에 의하면, 프로그램 중에서 실행 플래그 제어 수단(171)을 이용하여, 각 플로우의 실행 플래그(42)를 조작할 수 있다.According to the fifth embodiment, the execution flag 42 of each flow can be operated using the execution flag control means 171 in the program.

실시예 6에 의하면, 각 플로우의 실행 플래그(42)에 문자열을 지정하고, 유효 문자열 보존 수단(181)이 보존하는 문자열과 비교하고, 일치하는 문자열을 갖는 플로우만을 실행할 수 있다.According to the sixth embodiment, it is possible to designate a character string in the execution flag 42 of each flow, compare it with a character string stored by the valid character string storage means 181, and execute only a flow having a matching character string.

실시예 7에 의하면, 각 플로우의 실행 플래그(42)에 문자열을 지정하고, 유효 문자열 보존 수단(181)이 보존하는 문자열과 비교하고, 일치하는 문자열을 갖는 플로우만을 프로그램 작성 수단(200)이나, 프로그램 표시 수단(1003)에 표시할 수 있다.According to the seventh embodiment, a character string is assigned to an execution flag 42 of each flow, compared with a character string stored by the effective character string storage means 181, and only the flow having the matching character string is the program creation means 200; It can display on the program display means 1003.

또한, 펑션 블록이나 플로우 차트에 한하지 않고, 그래피컬한 프로그래밍 언어인 래그나, 시퀀셜·펑션·차트도, 마찬가지로 각 실행 모듈에 실행 플래그(42)를 설정함에 의해 실행시에 실행 플래그(42)를 제어하여, 동작의 전환 등이 가능하다.In addition, not only a function block or a flow chart, but also a lag or sequential function chart, which is a graphical programming language, sets an execution flag 42 at the time of execution by similarly setting an execution flag 42 in each execution module. By controlling, it is possible to switch the operation.

실시예 9Example 9

실시예 9에서는 실행 플래그(42)로서 표시기를 설정한 것이다. 표시기는 표시 처리 수단이 표시 부품의 데이터를 판독하고, 표시 데이터가 나타내는 부품을 화면상에 표시하는 기능을 갖는다. 도 24는, 이 경우의 시스템 구성도를 도시하고 있고, 표시 부품에 실행 플래그(42)를 설정하고, 각 표시 부품에 설정되어 있는 실행 플래그(42)의 상태에 의해 그 표시 부품의 표시·비표시를 결정하는 표시 실행 수단(244)을 마련한 것이다.In the ninth embodiment, the indicator is set as the execution flag 42. The display has a function of the display processing means reading the data of the display component and displaying the component indicated by the display data on the screen. FIG. 24 shows a system configuration diagram in this case. The execution flag 42 is set for the display parts, and the display / ratio of the display parts is changed depending on the state of the execution flag 42 set for each display part. Display execution means 244 for determining the display is provided.

표시 실행 수단(244)은, 실시예 3, 실시예 6, 및 실시예 7에 상당하는 부분을 표시 부품에 적용하여 실행 가능하다.The display execution means 244 can be implemented by applying the parts corresponding to the third, sixth, and seventh embodiments to the display components.

실시예 3에 의하면, 하나의 표시 부품에 대해 그 표시 부품을 표시하지 않을 때에 대신으로 표시하는 표시 부품을 등록할 수 있다. 또한 실시예 6에 의하면, 표시 부품에 대해 그 표시 부품을 표시할지의 여부를 정하는 문자열을 정의하고, 그 문자열이 유효하다고 판단되는 경우만 그 표시 부품을 표시할 수 있다. 복수의 표시 부품을 같은 좌표에 배치하고, 각각 다른 문자열을 유효로 정의함에 의해 유효한 표시 부품만을 표시하는 것이 가능해진다. 또한, 실시예 7에 의하면, 유효 표시 부품 검출 수단(242)에 의해 유효한 설정으로 되어 있는 표시 부품만이 편집 화면상에 표시되기 때문에 편집 작업을 효율화할 수 있다.According to the third embodiment, it is possible to register a display component to be displayed instead of displaying the display component for one display component. In addition, according to the sixth embodiment, a character string that defines whether or not to display the display component is defined for the display component, and the display component can be displayed only when it is determined that the character string is valid. By arranging a plurality of display parts at the same coordinates and defining different character strings as valid, only valid display parts can be displayed. Further, according to the seventh embodiment, since only the display parts that are set to be valid by the effective display part detection means 242 are displayed on the edit screen, the editing work can be made more efficient.

실시예 10Example 10

도 25는 본 발명의 한 대상인 검사 시스템의 유닛 구성을 도시한 도면이다. 도 25에 대상으로 하는 반입기(300), 검사 스테이션(301), 반출기(302)와, 이들을 제어한 프로그래머블 검사 장치(303)를 나타내고, 검사를 실시하는 것을 고려한다. 프로그래머블 검사 장치(303)는, 반입기(300)를 제어하여 검사 대상(304)을 검사 스테이션(301)에 반입한다. 검사 스테이션(301)에서는 검사 대상(304)에 대해 치구를 부착하는 등, 검사 대상(304)과 프로그래머블 검사 장치(303)를 전기적으로 접속하고, 표(表) 형식 프로그램으로 기술된 검사 항목의 검사를 실시한다. 검사를 마친 검사 대상(304)은, 반출기(302)에 의해 검사 스테이션(301)으로부터 반출된 다.Fig. 25 is a diagram showing a unit configuration of an inspection system which is one object of the present invention. 25 shows an importer 300, an inspection station 301, an ejector 302, and a programmable inspection device 303 which controls them, and considers inspection. The programmable inspection apparatus 303 controls the loading machine 300 to carry the inspection object 304 into the inspection station 301. The inspection station 301 electrically connects the inspection object 304 and the programmable inspection device 303, such as attaching a jig to the inspection object 304, and inspects the inspection item described by a tabular program. Is carried out. After the inspection, the inspection object 304 is carried out from the inspection station 301 by the ejector 302.

검사의 진행 상황은 프로그래머블 검사 장치(303)의 표시 화면상에서 확인할 수 있다. 프로그램 검사 장치(303)에서는 검사의 항목과 흐름을 일람표로 한, 표 형식 프로그램을 실행하는 것이 가능하다. 도 26에 표 형식 프로그램의 예를 도시한다. 표 형식 프로그램은 스텝 번호(400), 코멘트(401), 계측조건 설정부(413), 계측대상 설정부(414), 판정기준 설정부(415), 판정후 처리 설정부(416)로 구성된다.The progress of the inspection can be confirmed on the display screen of the programmable inspection apparatus 303. In the program inspection device 303, it is possible to execute a tabular program that lists the items and flows of the inspection. 26 shows an example of a tabular program. The tabular program consists of a step number 400, a comment 401, a measurement condition setting unit 413, a measurement object setting unit 414, a determination reference setting unit 415, and a post-decision processing setting unit 416. .

표 형식 프로그램의 실행시는, 실행중 스텝의 스텝 번호(400)나 코멘트(401), 계측조건 설정부(413)에 기술되어 있는 값, 계측대상 설정부(414)에 기술되어 있는 계측 대상, 판정기준 설정부(415)에 기술되어 있는 값, 판정후 처리 설정부(416)에 기술되어 있는 내용을 표시 화면에 표시할 수 있다.When the tabular program is executed, the value described in the step number 400, the comment 401, the measurement condition setting unit 413 of the step being executed, the measurement target described in the measurement object setting unit 414, The values described in the determination criteria setting unit 415 and the contents described in the post-decision processing setting unit 416 can be displayed on the display screen.

계측조건 설정부(413)에는 계측시에 검사 대상(304)에 설정하는 조건을 기술한다. 도 26에서는 검사 대상(304), 스위치로서 SW-1과 SW-2의 2개를 가지며, 전압을 입력하는 채널(CH-1)을 갖고 있는 경우를 나타내고 있다. 도 26의 표 형식 프로그램 중의 SW-1, SW-2나 CH-1은 전부 태그(검사 장치가 갖는 입출력 디바이스에 대해 유저 등이 임의로 부여하는 명칭)로서, 실제로는 데이터 보존 수단(203)에 대응하는 디바이스가 존재한다. 또한 그들의 디바이스는 입력 수단(204)이나 출력 수단(205)을 통하여 검사 대상(304)에 접속되어 있다. 도 26의 예에서는 스텝 1에서, SW-1를 ON으로, SW-2를 0FF로 하고 CH1에 0.0V를 인가하고 있다. 계측조건 설정부(413)에는 임의의 수의 디바이스를 설정할 수 있다.The measurement condition setting unit 413 describes the conditions to be set for the inspection target 304 at the time of measurement. In FIG. 26, the test | inspection 304 has two cases of SW-1 and SW-2 as a switch, and has the channel CH-1 which inputs a voltage. All of SW-1, SW-2, and CH-1 in the tabular program shown in FIG. 26 are tags (names arbitrarily given by the user to the input / output device included in the inspection apparatus), and actually correspond to the data storage means 203. Device exists. In addition, these devices are connected to the inspection object 304 via the input means 204 or the output means 205. In the example of FIG. 26, in step 1, SW-1 is turned ON, SW-2 is set to 0FF, and 0.0V is applied to CH1. The measurement condition setting unit 413 can set any number of devices.

웨이트 란(405)에는 계측 조건을 설정하고 나서, 계측 대상의 값을 취득하기 까지의 대기 시간을 지정한다. 계측 대상에 따라 다른 시정수의 차이를 웨이트 란에 대기 시간을 지정함에 의해 조정한다. 웨이트에 설정하는 시간의 단위로는 초나 밀리초 등을 들 수 있다. 웨이트 란(405)에서 지정한 시간이 경과한 후 계측대상 설정부(414)에서 지정한 대상에서 계측을 행한다. 계측대상 설정부(414)의 대상 란에는 검사 대상(304)의 값을 계측하는 채널의 번호를 지정한다. 도 26의 스텝 1의 예에서는 A/D1-CH3을 대상으로서 지정하고 있다. 이것은 검사 대상(304)이 접속되어 있는 프로그래머블 검사 장치(303)의 첫번째의 A/D 보드상의 채널(3)의 값을 계측하는 것을 나타내고 있다. 계측한 데이터는 데이터형 란(407)에서 지정한 데이터형으로 보존되고, 후의 합격과 불합격 판정도 지정하는 데이터형으로 행하여진다.In the weight column 405, the waiting time from setting the measurement conditions to acquiring the measurement target value is specified. The difference of time constants according to the measurement object is adjusted by specifying the waiting time in the weight column. As a unit of time to set to a weight, a second, a millisecond, etc. are mentioned. After the time specified in the weight column 405 elapses, measurement is performed on the target specified by the measurement target setting unit 414. In the target column of the measurement target setting unit 414, the number of the channel for measuring the value of the inspection target 304 is specified. In the example of step 1 of FIG. 26, A / D1-CH3 is designated as an object. This shows that the value of the channel 3 on the first A / D board of the programmable inspection device 303 to which the inspection object 304 is connected is measured. The measured data is stored in the data type specified in the data type column 407, and is performed in the data type which also specifies later pass and fail judgments.

계측대상 설정부(414)의 대상 란(406)에서 지정하고, 계측한 대상의 값은 판정기준 설정부(415)에서 지정된 값과 비교하고, 판정 기준을 충족하고 있는지를 판정한다. 판정기준 설정부(415)에는 최소치 란(408), 최대치 란(409), 일치비교 란(410)이 있다. 최소치 란(408)에는 합격과 불합격 판정 기준의 최소치를 기술하고, 최대치 란(409)에는 합격과 불합격 판정 기준의 최대치를 기술한다. 계측한 값이 이 범위에 들어가 있으면, 합격(OK)의 판정을 행한다. 계측한 값이 이 값에 들어가 있지 않으면, 불합격(NG)의 판정을 행한다. 최소치, 최대치에 값의 기술이 없고, 일치비교 란(410)에만 수치가 기술되어 있는 경우에는 계측한 값과, 일치비교 란(410)에 기술된 수치가 일치하고 있는지를 판정한다. 일치하고 있는 경우는 합격(OK)의 판정을 행한다. 일치하지 않으면 불합격(NG)의 판정을 행한다.The value of the object specified by the target column 406 of the measurement target setting unit 414 is compared with the value specified by the determination reference setting unit 415, and it is determined whether the determination criteria are satisfied. The decision criterion setting unit 415 includes a minimum value column 408, a maximum value column 409, and a match comparison column 410. The minimum value column 408 describes the minimum value of the pass and fail determination criteria, and the maximum value field 409 describes the maximum value of the pass and fail determination criteria. If the measured value is in this range, the pass (OK) is judged. If the measured value does not fall within this value, the pass NG is determined. When there is no description of a value in the minimum value and the maximum value, and a numerical value is described only in the coincidence comparison column 410, it is determined whether the measured value and the numerical value described in the coincidence comparison column 410 coincide. If they match, pass (OK) is determined. If there is a mismatch, fail NG is determined.

계측대상 설정부(414)에서 계측된 값과, 판정기준 설정부(415)에 설정된 값을 비교하여 판정된 판정 결과에 의거하여 판정후 처리 설정부(416)에 기술된 처리를 실행한다. 판정후 처리 설정부(416)는, OK 란(411)과 NG 란(412)의 2개의 란으로 이루어진. OK 란(411)에는 판정 결과가 합격(OK)인 경우에 실행하는 처리를 기술한다. NG 란(412)에는 판정 결과가 불합격(NG)인 경우에 실행하는 처리를 기술한다. 도 26의 스텝 4의 판정후 처리 설정부(416)의 OK 란(411)에서는 시스템상에 존재한 다른 소프트웨어 오브젝트인 「Func1」을 호출하는 처리를 지정하고 있다. 스텝 4의 판정 결과가 OK로 된 경우, 이 「Func1」이 후술하는 표 형식 프로그램 실행 수단(273)으로부터 호출되어 실행된다.The process described in the post-decision processing setting unit 416 is executed based on the determination result determined by comparing the value measured by the measurement target setting unit 414 with the value set in the determination reference setting unit 415. The post-decision processing setting unit 416 consists of two columns, an OK column 411 and an NG column 412. The OK column 411 describes the processing to be executed when the determination result is Pass (OK). The NG column 412 describes processing to be executed when the determination result is Fail NG. In the OK field 411 of the post-decision processing setting unit 416 of FIG. 26, a process of calling "Func1" which is another software object existing on the system is specified. When the determination result of step 4 becomes OK, this "Func1" is called and executed from tabular program execution means 273 which will be described later.

판정후 처리 설정부(416)에 기술한 처리를 종료하면, 표 형식 프로그램 실행 수단(273)은 같은 표 형식 프로그램의 다음 스텝(행)으로 진행하여, 스텝 번호(400)와 코멘트(401)를 판독한다. 이들을 표시 화면에 표시한 후 계측조건 설정부(413)에 기술된 데이터를 출력하고, 이 행의 나머지 처리를 진행한다.When the processing described in the determination processing setting unit 416 ends, the tabular program execution means 273 proceeds to the next step (row) of the same tabular program, so that the step number 400 and the comment 401 are entered. Read it. After displaying these on the display screen, the data described in the measurement condition setting unit 413 are output, and the remaining processing in this row is performed.

이와 같이 1행의 데이터의 처리를 종료하면 다음 행으로 진행한다. 그리고 표 프로그램 전체의 처리를 종료하면, 그 표 형식 프로그램의 종료로 된다.In this manner, when the processing of data in one row is finished, the processing advances to the next row. When the processing of the entire table program is finished, the table program is terminated.

실시예 10에서는 실행 플래그(42)로서 표 형식 프로그램의 각 요소를 설정하는 것이다.In the tenth embodiment, each element of the tabular program is set as the execution flag 42.

도 27은, 이 경우의 시스템 구성도를 도시하고 있고, 표 형식 프로그램의 각 요소에 실행 플래그(42)를 설정하고, 각 요소에 설정되어 있는 실행 플래그(42)의 상태에 의해 그 요소의 실행·비실행을 결정하는 표 형식 프로그램 실행 수단(273) 을 마련한 것이다.FIG. 27 shows a system configuration diagram in this case. The execution flag 42 is set for each element of the tabular program, and the element is executed by the state of the execution flag 42 set for each element. • A tabular program execution means 273 for determining non-execution is provided.

표 형식 프로그램 실행 수단(273)은, 실시예 2부터 실시예 7에 상당하는 처리를 표 형식 프로그램에 적용하여 실행 가능하다.The tabular program execution means 273 can be executed by applying the processing corresponding to the second embodiment to the seventh embodiment to the tabular program.

즉, 실시예 2에서는 프로그램 확인 수단(1002)에 의해 표 형식 프로그램의 문법이 지켜지고 있는지를 확인한다. 실시예 3에서는 표 형식 프로그램의 셀에 대해 대체 셀을 준비한다. 각 셀의 실행 플래그(42)가 0N이면 셀에 기술되어 있는 내용을 실행하고, 셀의 내용이 0FF이면 대체 셀에 기술되어 있는 내용을 실행하다.That is, in Example 2, it is confirmed by the program confirmation means 1002 whether the grammar of a tabular program is observed. In the third embodiment, replacement cells are prepared for cells of the tabular program. If the execution flag 42 of each cell is 0N, the contents described in the cell are executed. If the contents of the cell is 0FF, the contents described in the replacement cell are executed.

실시예 4에서는 재기록한 실행 플래그(42)의 상태가, 올바르게 동작하는 설정인지를 프로그램 확인 수단(1002)을 이용하여 확인하고 나서, 실제로 프로그램의 실행 플래그(42)를 재기록한다. 실시예 5에서는 표 형식 프로그램 중에서 실행 플래그 제어 수단(171)을 이용하여 셀의 실행 플래그(42)를 조작한다. 셀의 실행 플래그(42)의 조작은, 스크립트 란에 스크립트에 의해 기술하는 것도 가능하고, 조건설정 란에 디바이스와 함께 셀에 설정하는 실행 플래그(42)나, 유효하게 하는 문자열을 기술하는 것도 가능하다.In the fourth embodiment, after confirming by using the program confirming means 1002 whether the state of the rewritten execution flag 42 is set to operate correctly, the execution flag 42 of the program is actually rewritten. In the fifth embodiment, the execution flag 42 of the cell is operated using the execution flag control means 171 in the tabular program. The operation of the execution flag 42 of the cell can be described by a script in the script field, and the execution flag 42 to be set in the cell together with the device and a string to be validated can also be described in the condition field. Do.

실시예 6에서는 각 셀에 문자열을 설정하고, 유효 문자열 보존 수단(181)에 보존되어 있는 문자열과 비교한다. 셀에 기술되어 있는 문자열과, 유효 문자열 보존 수단(181)에 보존되어 있는 문자열이 일치하는 경우는 그 셀에 기술되어 있는 내용을 실행한다. 셀에 기술되어 있는 문자열이 유효 문자열 보존 수단(181) 중에 보존되어 있지 않은 경우는 그 셀에 기술되어 있는 내용은 실행하지 않는다. 또한, 셀의 실행 플래그(42)를 설정하는 란에 문자열이 설정되어 있지 않은 경우는 유효 문자열 보존 수단(181)에 격납되어 있는 문자열에 관계없이 그 셀의 내용을 실행한다.In the sixth embodiment, a character string is set in each cell and compared with the character string stored in the effective character string storage means 181. When the character string described in the cell and the character string stored in the valid character string storage means 181 match, the contents described in the cell are executed. If the character string described in the cell is not stored in the valid character string storage means 181, the contents described in the cell are not executed. If the character string is not set in the field for setting the execution flag 42 of the cell, the contents of the cell are executed regardless of the character string stored in the valid character string storage means 181.

실시예 7에서는 실행 플래그(42)가 ON으로 되어 있는지, 실행 플래그(42)에 설정되어 있는 문자열과 같은 문자열이 유효 문자열 보존 수단(181)에 포함되어 있는 경우에, 해당하는 셀의 내용을 표시한다. 그 이외의 셀은 표시하지 않는다. 또한, 해당하는 셀과 그 이외의 셀을 다른 표시 색으로 표시함에 의해 유효하게 되어 있는 셀을 알기 쉽게 표시하는 것이 가능하다.In the seventh embodiment, the contents of the corresponding cell are displayed when the execution flag 42 is turned ON or when the valid string storage means 181 includes a character string such as a character string set in the execution flag 42. do. Other cells are not displayed. In addition, by displaying the corresponding cell and the other cells in different display colors, it is possible to display the cells which are made effective.

또한, 표 형식 프로그램에서는 열 단위, 행 단위로의 지정도 가능하다.In the tabular program, it is also possible to specify the column unit and the row unit.

실시예 3에 의하면, 행 단위로 대체 행을 작성하거나 열 단위로 대체 열을 작성하는 것이 가능하다.According to the third embodiment, it is possible to create replacement rows in row units or to create replacement columns in column units.

또한, 실시예 6에 의하면, 행 단위로 실행 플래그(42)에 유효 문자열을 설정하거나 열 단위로 실행 플래그(42)에 유효 문자열을 설정하는 것이 가능하다. 유효 문자열 보존 수단(181)에 격납되어 있는 문자열과 일치하는 행이나 열이 실행된다. 따라서 다품종을 취급하는 프로그램을 기술하는 경우는 실행하는 행이나 열을 유효 문자열 보존 수단(181)에 의해 조정하는 것이 가능하다.Further, according to the sixth embodiment, it is possible to set a valid character string to the execution flag 42 on a row basis or to set a valid character string on the execution flag 42 on a column basis. A row or column matching the character string stored in the valid character string storage means 181 is executed. Therefore, when describing a program that handles multiple varieties, it is possible to adjust the rows or columns to be executed by the effective character string storage means 181.

본 발명에 의하면, 펑션 블록에 그 펑션 블록을 실행할지의 여부를 지정하는 실행 플래그를 마련하고, 펑션 블록으로 작성한 프로그램을 실행 형식으로 변환 후에도 이 실행 플래그를 조작 가능한 구조로 함으로써, 프로그램의 일부를 코멘트 아웃하는 등, 프로그램에 대해 변경을 행하여도, 이 실행 플래그를 전환할뿐, 프로그램을 재차 실행 형식으로 다시 변환하는 일 없이 계속해서 프로그램을 실행할 수 있기 때문에 프로그램의 디버그 효율을 높일 수 있다.According to the present invention, by providing an execution flag that designates whether or not to execute the function block in the function block, and having a structure that can operate the execution flag even after converting the program created by the function block into the execution form, a part of the program can be Even if a change is made to a program such as a comment out, the program can be executed continuously without switching the execution flag again without changing the execution flag again, thereby improving the debug efficiency of the program.

또한, 실행 플래그 조작 후의 프로그램이 문법적으로 올바른 프로그램으로 되어 있는지를 확인하고, 문법적으로 올바르지 않은 경우는 어느 부분이 올바지 않은지를 유저에게 나타냄에 의해 유저에 대해 올바른 실행 플래그의 설정을 입력하도록 촉구할 수 있다.Also, it is recommended to prompt the user to enter the correct execution flag setting by checking whether the program after the execution flag operation is a grammatically correct program, and if the grammatically incorrect program is correct, indicating to the user which part is not correct. Can be.

또한, 프로그램 중에서 실행 플래그가 유효하게 되어 있는 프로그램만을 표시하거나 유효한 프로그램과 무효한 프로그램의 표시 색을 나누어 표시할 수 있기 때문에 프로그램의 가독성을 확보할 수 있다.In addition, since only the program whose execution flag is valid among the programs can be displayed or the display colors of the valid and invalid programs can be displayed separately, the readability of the program can be ensured.

Claims (11)

펑션 블록 형식에 의해 프로그램을 작성하는 프로그램 작성 수단과, 상기 프로그램 작성 수단에서 작성된 프로그램을 실행하는 프로그램 실행 수단을 구비하고, 상기 펑션 블록에 그 펑션 블록을 실행할지의 여부를 정하는 실행 플래그를 마련하고, 상기 펑션 블록으로 기술된 프로그램의 정지중 또는 실행중에 상기 실행 플래그의 ON/OFF를 조작하는 것을 가능하게 하고, 상기 실행 플래그가 유효한 펑션 블록만을 상기 프로그램 실행 수단에 의해 실행하도록 한 것을 특징으로 하는 프로그램의 실행 제어 방식.Program execution means for creating a program in function block format and program execution means for executing a program created by said program creation means, and providing execution flags for determining whether to execute said function block in said function block; It is possible to operate the ON / OFF of the execution flag during the stop or execution of the program described by the function block, and to execute only the function block for which the execution flag is valid by the program execution means. How the program controls execution. 제 1항에 있어서,The method of claim 1, 각 펑션 블록의 실행 플래그를 조작하는 실행 플래그 조작 수단과, 상기 실행 플래그 조작 수단에 의해 펑션 블록의 실행 플래그를 조작한 결과, 문법적으로 올바른 프로그램으로 되어 있는지의 여부를 확인함과 함께, 올바르지 않은 프로그램으로 되어 있는 경우는 프로그램 중에서 부정이 되는 부분을 검출하는 프로그램 확인 수단과, 문법적으로 성립하고 있는 실행 플래그의 조합을 실행하는 프로그램 실행 수단을 마련한 것을 특징으로 하는 프로그램 실행 제어 방식.The execution flag operation means for operating the execution flag of each function block and the execution flag of the function block by the execution flag operation means confirm whether or not the program is syntactically correct and the incorrect program is executed. Is a program execution means for detecting a portion of the program to be negated and a program execution means for executing a combination of execution flags that are grammatically established. 제 2항에 있어서,The method of claim 2, 프로그램 중의 올바르지 않는 부분을 강조하여 표시하는 표시 수단을 마련한 것을 특징으로 하는 프로그램의 실행 제어 방식.A display control means for providing a display means for highlighting and displaying an incorrect part of a program. 제 1항에 있어서,The method of claim 1, 각 펑션 블록에 그 펑션 블록의 대체 펑션 블록이 정의되어 있고, 펑션 블록의 실행 플래그가 OFF인 경우에, 정의되어 있는 대체 펑션 블록을 실행하는 것을 특징으로 하는 프로그램의 실행 제어 방식.The execution control method of a program characterized by executing the defined replacement function block when the replacement function block of the function block is defined in each function block and the execution flag of the function block is OFF. 삭제delete 제 1항에 있어서,The method of claim 1, 펑션 블록이 갖는 실행 플래그의 설정을, 실행하는 펑션 블록에서 조작 가능하게 한 것을 특징으로 하는 프로그램의 실행 제어 방식.The execution control method of a program characterized by setting the execution flag of a function block in the function block to be executed. 제 1항에 있어서,The method of claim 1, 펑션 블록이 갖는 실행 플래그에 문자열을 설정하고, 이 문자열을 프로그램 실행 수단이 관리하는 유효 문자열 보존 수단에 의해 보존되어 있는 문자열과 비교하고, 같은 문자열을 갖는 펑션 블록을 유효하다고 판단하여 실행하는 것을 특징으 로 하는 프로그램의 실행 제어 방식.A character string is set to an execution flag of a function block, the character string is compared with a character string stored by a valid character string storage means managed by a program execution means, and a function block having the same character string is judged to be effective. Program execution control method. 제 1항에 있어서,The method of claim 1, 실행 플래그가 유효한 펑션 블록을 검출하는 유효 펑션 블록 검출 수단을 마련하고, 유효한 설정이 되어 있어 실행시에 처리를 행하는 펑션 블록만을 프로그램 표시 수단에 표시하는 것을 특징으로 하는 프로그램의 실행 제어 방식.An effective function block detecting means for detecting a function block in which an execution flag is valid, and the function display control means for displaying only a function block which has been set validly and performs processing at execution, on the program display means. 제 1항, 제 2항, 제 3항, 제 4항, 제 6항, 제 7항, 제 8항중 어느 한 항에 있어서,The method according to any one of claims 1, 2, 3, 4, 6, 7, and 8, 실행 플래그를 플로우차트에 적용한 프로그램의 실행 제어 방식.Execution control of the program with execution flags applied to the flowchart. 제 4항, 제 6항, 제 7항, 제 8항중 어느 한 항에 있어서,The method according to any one of claims 4, 6, 7, and 8, 실행 플래그를 표시기에 표시한 표시 부품에 적용한 프로그램의 실행 제어 방식.Execution control method of the program applied to the display part whose execution flag is displayed on the indicator. 제 1항, 제 2항, 제 3항, 제 4항, 제 6항, 제 7항, 제 8항중 어느 한 항에 있어서,The method according to any one of claims 1, 2, 3, 4, 6, 7, and 8, 실행 플래그를 표 형식 프로그램의 각 요소에 적용한 프로그램의 실행 제어 방식.The execution control of a program by applying the execution flag to each element of a tabular program.
KR1020040110089A 2004-04-26 2004-12-22 Program execution control mode KR100694948B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2004-00129881 2004-04-26
JP2004129881A JP2005310056A (en) 2004-04-26 2004-04-26 Program execution control system

Publications (2)

Publication Number Publication Date
KR20050103446A KR20050103446A (en) 2005-10-31
KR100694948B1 true KR100694948B1 (en) 2007-03-14

Family

ID=35346434

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040110089A KR100694948B1 (en) 2004-04-26 2004-12-22 Program execution control mode

Country Status (4)

Country Link
JP (1) JP2005310056A (en)
KR (1) KR100694948B1 (en)
CN (1) CN100367233C (en)
TW (1) TWI277879B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1936527A1 (en) * 2006-12-18 2008-06-25 Gemplus Method used to vary the number of executions of counter-measures in an executed code
JP5215835B2 (en) * 2008-12-17 2013-06-19 株式会社日立ソリューションズ Program application support tool
CN109791398B (en) * 2017-06-27 2020-12-18 三菱电机株式会社 Debugging device
CN111538505B (en) * 2020-04-23 2023-04-25 保定康强医疗器械制造有限公司 Slitter editing and grammar checking system
WO2023119519A1 (en) * 2021-12-22 2023-06-29 三菱電機株式会社 Fa control test assistance program, fa control test assistance device, fa control test assistance method, and fa control test assistance system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06161723A (en) * 1992-11-18 1994-06-10 Meidensha Corp Program developing language editing device
JPH09160765A (en) * 1995-12-08 1997-06-20 Hitachi Ltd Production of software parts
KR19990026052A (en) * 1997-09-22 1999-04-15 박원훈 How to interpret functional block type process control program and execute it in real time
KR100294876B1 (en) 1995-11-01 2001-09-17 윤종용 Operation system capable of dynamic reconfiguration and method for the same
KR20030008463A (en) * 2001-07-18 2003-01-29 한국전자통신연구원 A modeling system and method by modeling-object assembling

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5762447A (en) * 1980-10-01 1982-04-15 Fujitsu Ltd Control system for execution of program
JPH0324637A (en) * 1989-06-21 1991-02-01 Fuji Electric Co Ltd Method for managing resource for program debagging
JPH1091441A (en) * 1996-09-13 1998-04-10 Sanyo Electric Co Ltd Program execution method and device using the method
JP4015898B2 (en) * 2002-07-26 2007-11-28 松下電器産業株式会社 Program execution device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06161723A (en) * 1992-11-18 1994-06-10 Meidensha Corp Program developing language editing device
KR100294876B1 (en) 1995-11-01 2001-09-17 윤종용 Operation system capable of dynamic reconfiguration and method for the same
JPH09160765A (en) * 1995-12-08 1997-06-20 Hitachi Ltd Production of software parts
KR19990026052A (en) * 1997-09-22 1999-04-15 박원훈 How to interpret functional block type process control program and execute it in real time
KR20030008463A (en) * 2001-07-18 2003-01-29 한국전자통신연구원 A modeling system and method by modeling-object assembling

Also Published As

Publication number Publication date
TWI277879B (en) 2007-04-01
CN1690978A (en) 2005-11-02
TW200535631A (en) 2005-11-01
CN100367233C (en) 2008-02-06
KR20050103446A (en) 2005-10-31
JP2005310056A (en) 2005-11-04

Similar Documents

Publication Publication Date Title
US20010011367A1 (en) Windows-based flowcharting and code generation system
CN109918081B (en) Compiling method and compiler
US6275955B1 (en) Diagnostic software for facilitating flowchart programming
JP4242361B2 (en) Development support equipment
KR100694948B1 (en) Program execution control mode
KR100642906B1 (en) Programming device
JP2000216855A (en) Method, editor, computer, control module and storage medium for editing configuration data for communication system
KR100694381B1 (en) Graphical programing device and programmable indicator
CN111597105A (en) Automatic test system and method based on LV environment
JP4062546B2 (en) Debug device
KR100650840B1 (en) Testing device and programming tool
JP4517302B2 (en) Control method and program for development support apparatus and recording medium
KR100591354B1 (en) Apparatus for writing a program using a computer
KR101716480B1 (en) Apparatus for inputting test-case using gui
JP2006146955A (en) Development support device
US7120616B2 (en) Method for specifying, executing and analyzing method sequences for recognition
JPH11224211A (en) Software inspection support device
US20090013308A1 (en) Programming interface for computer programming
CN111624933A (en) Sequence control program processing device for tracing sequence control program
JP2003223204A (en) Programming method of programmable controller, system thereof and recording medium thereof
KR101303866B1 (en) Method of monitoring substrate processing apparatus
KR100423742B1 (en) Exclusive control system by sequential function chart
JPH0546377A (en) Method and device for generating control program
US20210325841A1 (en) Program comparison apparatus, program comparison method, and computer readable medium
CN117819197A (en) Control method and system of automatic flow, electronic equipment and storage medium

Legal Events

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

Payment date: 20130227

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140220

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150224

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160219

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170221

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180220

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190219

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20200219

Year of fee payment: 14