KR101726120B1 - 프로그램 편집 장치, 프로그램 편집 방법 및 프로그램 편집 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 - Google Patents

프로그램 편집 장치, 프로그램 편집 방법 및 프로그램 편집 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR101726120B1
KR101726120B1 KR1020157027644A KR20157027644A KR101726120B1 KR 101726120 B1 KR101726120 B1 KR 101726120B1 KR 1020157027644 A KR1020157027644 A KR 1020157027644A KR 20157027644 A KR20157027644 A KR 20157027644A KR 101726120 B1 KR101726120 B1 KR 101726120B1
Authority
KR
South Korea
Prior art keywords
program
code
unit
instruction
command
Prior art date
Application number
KR1020157027644A
Other languages
English (en)
Other versions
KR20150127163A (ko
Inventor
아키히로 미우라
Original Assignee
미쓰비시덴키 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 미쓰비시덴키 가부시키가이샤 filed Critical 미쓰비시덴키 가부시키가이샤
Publication of KR20150127163A publication Critical patent/KR20150127163A/ko
Application granted granted Critical
Publication of KR101726120B1 publication Critical patent/KR101726120B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Abstract

명령 코드 추출부(111)는 CPU 유닛과 입출력 유닛에 의해서 실행하는 기기 제어 프로그램(210)에 포함되는 복수의 명령 코드 중, 추출 대상 코드 리스트(191)에 나타내어지는 추출 대상 코드와 동일한 명령 코드를 추출 코드로서 추출한다. 부제어 프로그램 생성부(112)는 입출력 유닛에 의해서 실행하는 부제어 프로그램(212)으로서, 추출된 추출 코드를 포함한 프로그램을 생성한다. 주제어 프로그램 생성부(121)는, CPU 유닛에 의해서 실행하는 주제어 프로그램(211)으로서, 추출된 추출 코드를 기기 제어 프로그램(210)으로부터 제외하여 얻어지는 프로그램을 생성한다.

Description

프로그램 편집 장치, 프로그램 편집 방법 및 프로그램 편집 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체{PROGRAM EDITING DEVICE, PROGRAM EDITING METHOD AND COMPUTER READABLE RECODING MEDIUM FOR RECORDING PROGRAM EDITING PROGRAM}
본 발명은, 예를 들면 제어 프로그램을 편집하기 위한 프로그램 편집 장치, 프로그램 편집 방법 및 프로그램 편집 프로그램에 관한 것이다.
종래의 FA(Factory Automation) 시스템에서는, CPU(Central Processing Unit) 유닛 및 입출력 유닛 등을 조합하여 제어 시스템을 구축해서, 모터 또는 센서 등의 제조 장치를 제어하고 있다.
CPU 유닛은 제조 장치로부터 입출력 유닛으로 입력되는 입력 신호에 근거하여, 제어 프로그램(예를 들면, 래더 프로그램(ladder program))에 기술되어 있는 연산 처리를 실시한다. CPU 유닛은 연산 결과에 근거하는 출력 신호를 제조 장치에 송신하는 것에 의해, 제조 장치를 제어한다.
최근, CPU 유닛의 부하 경감과 제조 장치에 대한 입출력의 고속화를 목적으로, 연산 처리의 기능을 갖게 한 입출력 유닛이 보급되어 오고 있다.
이것에 의해, CPU 유닛에서 실행하고 있던 제어 프로그램의 일부를 입출력 유닛에서 실행할 수 있다. 즉, 입출력 유닛이 CPU 유닛을 거치지 않고 제조 장치에 대한 입출력을 제어할 수 있다.
그러나, 유저는 입출력 유닛에 실행시키는 제어 프로그램의 일부를 수동으로 추출하고, 추출한 제어 프로그램의 일부를 입출력 유닛용의 제어 프로그램으로서 다시 작성할 필요가 있다. 이 때문에, 유저의 작업 부하가 높아진다.
또한, 종래 기술로서, 프로그래머블 콘트롤러 또는 로봇 콘트롤러 등의 각 콘트롤러용으로 제어 프로그램을 분할하고, 분할한 제어 프로그램마다 각 콘트롤러용의 프로그램 모듈을 생성하는 방법이 있다(특허문헌 1 참조).
그러나, 이 방법에서는, 제어 프로그램의 일부를 자동으로 추출하여, 입출력 유닛용의 제어 프로그램을 생성할 수 없다.
또한, 이 방법에서는, 각 콘트롤러를 의식해서 제어 프로그램을 작성할 필요가 있고, 또한, 제어 프로그램을 작성하기 위한 프로그래밍 기술이 필요하다.
특허문헌 1: 일본 특허 공개 평09-171405호 공보
본 발명은, 예를 들면 대상 프로그램(예를 들면, 제어 프로그램)에 포함되는 명령 코드 중 제 2 실행부(예를 들면, 입출력 유닛)에서 실행할 수 있는 명령 코드를 추출하고, 제 2 실행부에서 실행하는 제 2 프로그램을 생성할 수 있도록 하는 것을 목적으로 한다.
본 발명의 프로그램 편집 장치는, 제 1 실행부와 제 2 실행부에 의해서 실행하는 대상 프로그램에 포함되는 복수의 명령 코드 중, 제 2 실행부에 의해서 실행하는 명령 코드를 추출 대상 코드로서 기억하는 추출 대상 코드 기억부와, 상기 대상 프로그램에 포함되는 상기 복수의 명령 코드 중, 상기 추출 대상 코드 기억부에 기억된 상기 추출 대상 코드와 동일한 명령 코드를 추출 코드로서 추출하는 명령 코드 추출부와, 상기 제 2 실행부에 의해서 실행하는 제 2 프로그램으로서, 상기 명령 코드 추출부에 의해서 추출된 상기 추출 코드를 포함한 프로그램을 생성하는 제 2 프로그램 생성부와, 상기 제 1 실행부에 의해서 실행하는 제 1 프로그램으로서, 상기 명령 코드 추출부에 의해서 추출된 상기 추출 코드를 상기 대상 프로그램으로부터 제외하여 얻어지는 프로그램을 생성하는 제 1 프로그램 생성부를 구비한다.
본 발명에 의하면, 예를 들면 대상 프로그램(예를 들면, 제어 프로그램)에 포함되는 명령 코드 중 제 2 실행부(예를 들면, 입출력 유닛)에서 실행할 수 있는 명령 코드를 추출하여, 제 2 실행부에서 실행하는 제 2 프로그램을 생성할 수 있다.
도 1은 실시 형태 1에 있어서의 프로그램 편집 장치(100)와 기기 제어 장치(200)의 관계도이다.
도 2는 실시 형태 1에 있어서의 프로그램 편집 장치(100)의 기능 구성도이다.
도 3은 실시 형태 1에 있어서의 프로그램 편집 장치(100)의 프로그램 편집 처리를 나타내는 흐름도이다.
도 4는 실시 형태 1에 있어서의 기기 제어 프로그램(210)의 일례를 나타내는 도면이다.
도 5는 실시 형태 1에 있어서의 추출 대상 코드 리스트(191)의 일례를 나타내는 도면이다.
도 6은 실시 형태 1에 있어서의 추출 코드 리스트(192)의 일례를 나타내는 도면이다.
도 7은 실시 형태 1에 있어서의 부제어 프로그램(212)의 일례를 나타내는 도면이다.
도 8은 실시 형태 1에 있어서의 주제어 프로그램(211)의 일례를 나타내는 도면이다.
도 9는 실시 형태 1에 있어서의 주제어 프로그램(211)의 일례를 나타내는 도면이다.
도 10은 실시 형태 1에 있어서의 프로그램 편집 장치(100)의 하드웨어 자원의 일례를 나타내는 도면이다.
도 11은 실시 형태 2에 있어서의 프로그램 편집 장치(100)의 기능 구성도이다.
도 12는 실시 형태 2에 있어서의 프로그램 편집 장치(100)의 프로그램 편집 처리를 나타내는 흐름도이다.
도 13은 실시 형태 2에 있어서의 부제어 파라미터 리스트(193)의 일례를 나타내는 도면이다.
도 14는 실시 형태 2에 있어서의 부제어 파라미터 편집 화면(310)의 일례를 나타내는 도면이다.
도 15는 실시 형태 3에 있어서의 프로그램 편집 장치(100)의 기능 구성도이다.
도 16은 실시 형태 3에 있어서의 프로그램 편집 장치(100)의 프로그램 편집 처리를 나타내는 흐름도이다.
도 17은 실시 형태 3에 있어서의 부제어 파라미터 편집 화면(310)의 일례를 나타내는 도면이다.
도 18은 실시 형태 4에 있어서의 프로그램 편집 장치(100)의 기능 구성도이다.
도 19는 실시 형태 4에 있어서의 프로그램 편집 장치(100)의 프로그램 편집 처리를 나타내는 흐름도이다.
도 20은 실시 형태 4에 있어서의 분할 코드 추출 처리(S130)의 일례를 나타내는 흐름도이다.
도 21은 실시 형태 4에 있어서의 명령 코드 분할 처리(S133)의 구체예를 나타내는 도면이다.
도 22는 실시 형태 5에 있어서의 프로그램 편집 장치(100)의 기능 구성도이다.
도 23은 실시 형태 5에 있어서의 추출 조건 화면(320)의 일례를 나타내는 도면이다.
도 24는 실시 형태 5에 있어서의 라벨명 대응표(329)의 일례를 나타내는 도면이다.
도 25는 실시 형태 5에 있어서의 기기 제어 프로그램(210)의 일례를 나타내는 도면이다.
도 26은 실시 형태 6에 있어서의 프로그램 편집 장치(100)의 기능 구성도이다.
도 27은 실시 형태 6에 있어서의 프로그램 편집 장치(100)의 프로그램 편집 처리를 나타내는 흐름도이다.
도 28은 실시 형태 6에 있어서의 부제어 프로그램 편집 처리(S117)를 나타내는 흐름도이다.
도 29는 실시 형태 6에 있어서의 검출 결과 표시 처리(S117-3)의 구체예를 나타내는 도면이다.
실시 형태 1
대상 프로그램(예를 들면, 제어 프로그램)에 포함되는 명령 코드 중 제 2 실행부(예를 들면, 입출력 유닛)에서 실행할 수 있는 명령 코드를 추출하여, 제 2 실행부에서 실행하는 제 2 프로그램을 생성하는 형태에 대해 설명한다.
도 1은 실시 형태 1에 있어서의 프로그램 편집 장치(100)와 기기 제어 장치(200)의 관계도이다.
실시 형태 1에 있어서의 프로그램 편집 장치(100)와 기기 제어 장치(200)의 관계에 대해 도 1에 근거하여 설명한다.
기기 제어 장치(200)는 센서 또는 모터 등의 주변 기기(209)를 제어한다.
예를 들면, 기기 제어 장치(200)는 FA(Factory Automation) 시스템에 이용된다.
기기 제어 장치(200)는 CPU 유닛(201)(CPU: Central Processing Unit)과, 입출력 유닛(202)을 구비한다.
CPU 유닛(201)(제 1 실행부의 일례)은 네트워크(204)를 거쳐서 입출력 유닛(202)에 접속하고, 입출력 유닛(202) 및 입출력 유닛(202)에 접속되는 주변 기기(209)를 제어한다.
또한, CPU 유닛(201)은 프로그램을 실행하기 위한 연산 기능(예를 들면, 연산 회로)을 구비하고, 주변 기기(209)를 제어하기 위한 기기 제어 프로그램(210)(단, 입출력 유닛(202)에 의해서 실행되는 부분을 제외함)을 실행한다.
예를 들면, CPU 유닛(201)의 일례는 프로그래머블 콘트롤러이다.
입출력 유닛(202)(제 2 실행부의 일례)는 주변 기기(209)에 접속하여, 주변 기기(209)에 대해 신호의 입출력을 행한다. 예를 들면, 입출력 유닛(202)은 주변 기기(209)로부터 출력되는 출력 신호를 입력받고, 주변 기기(209)를 제어하기 위한 제어 신호를 주변 기기(209)에 출력한다.
또한, 입출력 유닛(202)은 CPU 유닛(201)과 동일하게 연산 기능을 구비하며, 기기 제어 프로그램(210)의 일부를 실행한다.
기기 제어 프로그램(210)은 주변 기기(209)를 제어하기 위한 프로그램이다.
예를 들면, 기기 제어 프로그램(210)은 주변 기기(209)의 출력 신호(예를 들면, 센서가 계측한 계측값을 나타내는 신호)를 처리하고, 처리 결과에 근거하여 제어 신호(예를 들면, 모터를 기동 또는 정지하기 위한 신호)를 생성하기 위한 하나 이상의 명령문(이하, 명령 코드라고 함)을 포함한다.
또, 기기 제어 프로그램(210)은 래더 언어 또는 C 언어 등의 프로그래밍 언어로 기술된 소스 프로그램과, 기계어로 기술된 오브젝트 프로그램 중 어느 하나이더라도 상관없다.
프로그램 편집 장치(100)는 기기 제어 프로그램(210)을 편집하는 것에 의해서 주제어 프로그램(211)(제 1 프로그램의 일례)과 부제어 프로그램(212)(제 2 프로그램의 일례)을 생성하는 컴퓨터이다.
주제어 프로그램(211)은 기기 제어 프로그램(210) 중, CPU 유닛(201)에 의해서 실행하는 프로그램의 부분이다.
부제어 프로그램(212)은 기기 제어 프로그램(210) 중, 입출력 유닛(202)에 의해서 실행하는 프로그램의 부분이다.
이하에, 프로그램 편집 장치(100)의 상세에 대해 설명한다.
도 2는 실시 형태 1에 있어서의 프로그램 편집 장치(100)의 기능 구성도이다.
실시 형태 1에 있어서의 프로그램 편집 장치(100)의 기능 구성에 대해 도 2에 근거하여 설명한다.
프로그램 편집 장치(100)는 명령 코드 추출부(111)와, 부제어 프로그램 생성부(112)(제 2 프로그램 생성부의 일례)와, 주제어 프로그램 생성부(121)(제 1 프로그램 생성부의 일례)를 구비한다.
명령 코드 추출부(111)는 기기 제어 프로그램(210)(대상 프로그램의 일례)에 포함되는 명령 코드 중 추출 대상 코드 리스트(191)에 나타내어지는 추출 대상 코드와 동일한 명령 코드를 추출하여, 추출 코드 리스트(192)를 생성한다.
추출 대상 코드 리스트(191)는 입출력 유닛(202)에서 실행할 수 있는 명령 코드(추출 대상 코드)의 일람을 나타낸다.
추출 코드 리스트(192)는 기기 제어 프로그램(210)으로부터 추출된 명령 코드(이하, 추출 코드라고 함)의 일람을 나타낸다.
부제어 프로그램 생성부(112)는 추출 코드 리스트(192)에 나타내어지는 추출 코드를 포함하는 부제어 프로그램(212)(제 2 프로그램의 일례)을 생성한다.
주제어 프로그램 생성부(121)는 추출 코드 리스트(192)에 나타내어지는 추출 코드를 기기 제어 프로그램(210)으로부터 제외하는 것에 의해서, 주제어 프로그램(211)(제 1 프로그램의 일례)을 생성한다.
장치 기억부(190)는 프로그램 편집 장치(100)에서 사용하는 데이터를 기억한다.
예를 들면, 장치 기억부(190)는 기기 제어 프로그램(210)과, 추출 대상 코드 리스트(191)와, 추출 코드 리스트(192)와, 부제어 프로그램(212)과, 주제어 프로그램(211)을 기억한다.
도 3은 실시 형태 1에 있어서의 프로그램 편집 장치(100)의 프로그램 편집 처리를 나타내는 흐름도이다.
실시 형태 1에 있어서의 프로그램 편집 장치(100)의 프로그램 편집 처리에 대해 도 3에 근거하여 설명한다.
S111에서, 명령 코드 추출부(111)는, 기기 제어 프로그램(210)에 포함되는 명령 코드 중, 추출 대상 코드 리스트(191)에 나타내어지는 추출 대상 코드와 동일한 명령 코드를 추출한다.
여기서, 동일한 명령 코드란, 변수값도 포함하여 모두가 동일한 명령 코드와, 변수값이 상이하지만 코드 형식이 동일한 명령 코드와, 명령 또는 연산의 종류가 동일한 명령 코드 중 어느 하나이어도 상관없다.
S111의 후, 처리는 S112로 진행된다.
S112에서, 명령 코드 추출부(111)는 기기 제어 프로그램(210)으로부터 추출한 명령 코드(추출 코드)를 일람으로 한 추출 코드 리스트(192)를 생성한다.
추출 코드 리스트(192)는 추출 코드의 일람을 나타냄과 아울러, 추출 코드마다 추출 코드의 추출 개소를 식별하는 추출 개소 식별자를 나타낸다.
S112의 후, 처리는 S113으로 진행된다.
이하에, 대상 코드 추출 처리(S111) 및 추출 코드 리스트 생성 처리(S112)의 구체예를 도 4, 도 5 및 도 6에 근거하여 설명한다.
도 4는 실시 형태 1에 있어서의 기기 제어 프로그램(210)의 일례를 나타내는 도면이다.
도 4에 나타내는 기기 제어 프로그램(210)은 래더 언어로 기술된 래더 프로그램이며, (1) 내지 (4)의 명령 코드를 포함하고 있다.
(1)의 명령 코드는 1비트의 카피를 의미하고, (2)의 명령 코드는 2개의 값의 논리곱의 산출을 의미하고, (3)의 명령 코드는 2개의 값의 논리합의 출력을 의미한다.
Xn은 입력 디바이스를 식별하는 변수값을 나타내고, Yn은 출력 디바이스를 식별하는 변수값을 나타내고 있다. 이들 표기의 의미는 이후의 도면에서도 마찬가지이다.
도 5는 실시 형태 1에 있어서의 추출 대상 코드 리스트(191)의 일례를 나타내는 도면이다.
도 5에 나타내는 추출 대상 코드 리스트(191)는 래더 언어로 기술된 (a) 내지 (c)의 추출 대상 코드를 나타내고 있다.
도 6은 실시 형태 1에 있어서의 추출 코드 리스트(192)의 일례를 나타내는 도면이다.
도 6에 나타내는 추출 코드 리스트(192)는 래더 언어로 기술된 (1) 내지 (3)의 추출 코드를 나타내고 있다.
또한, 추출 코드 리스트(192)는 추출 코드마다 추출 코드가 추출된 추출 개소를 식별하는 추출 개소 식별자(예를 들면, 기기 제어 프로그램(210)의 행 번호)를 나타내고 있다. 도면 중의 L1 내지 L3이 추출 개소 식별자이다. Ln은 기기 제어 프로그램(210)의 n행째로부터 추출된 것을 의미하고 있다.
도 4의 기기 제어 프로그램(210)에 포함되는 (1) 내지 (4)의 명령 코드 중 (1) 내지 (3)의 명령 코드는 도 5의 추출 대상 코드 리스트(191)에 나타내어지는 (a) 내지 (c)의 추출 대상 코드와 동일한 명령 코드이다. (1) 내지 (3)의 명령 코드는 (a) 내지 (c)의 명령 코드와 코드 형식 및 명령(연산)의 종류가 동일하다.
또한, 기기 제어 프로그램(210)의 (4)의 명령 코드는 추출 대상 코드 리스트(191)에 나타내어지는 어느 하나의 추출 대상 코드와도 상이한 명령 코드이다.
따라서, 명령 코드 추출부(111)는 기기 제어 프로그램(210)에 포함되는 (1) 내지 (4)의 명령 코드 중 (1) 내지 (3)의 명령 코드를 추출하고(도 3의 S111), 도 6의 추출 코드 리스트(192)를 생성한다(도 3의 S112).
도 3으로 되돌아가서, S113으로부터 설명을 계속한다.
S113에서, 부제어 프로그램 생성부(112)는 추출 코드 리스트(192)에 나타내어지는 추출 코드를 포함한 부제어 프로그램(212)을 생성한다. S113의 후, 처리는 S121로 진행된다.
이하에, 부제어 프로그램 생성 처리(S113)의 구체예에 대해 도 7에 근거하여 설명한다.
도 7은 실시 형태 1에 있어서의 부제어 프로그램(212)의 일례를 나타내는 도면이다.
도 7에 나타내는 부제어 프로그램(212)은 래더 프로그램이며, (1) 내지 (3)의 명령 코드를 포함하고 있다.
부제어 프로그램 생성부(112)는 도 6의 추출 코드 리스트(192)에 근거하여 도 7의 부제어 프로그램(212)을 생성한다.
즉, 부제어 프로그램 생성부(112)는 도 6의 추출 코드 리스트(192)가 나타내는 (1) 내지 (3)의 추출 코드를 각각의 추출 개소 식별자 Ln에 근거하여 나열하는 것에 의해, 도 7의 부제어 프로그램(212)을 생성한다.
또한, 부제어 프로그램 생성부(112)는 (1) 내지 (3)의 추출 코드에 추출 개소 식별자 Ln을 부가해도 좋다. 예를 들면, 부제어 프로그램 생성부(112)는 추출 개소 식별자를 나타내는 코멘트 「#Ln」을 부가한다.
도 3으로 되돌아가서, S121로부터 설명을 계속한다.
S121에서, 주제어 프로그램 생성부(121)는 추출 코드 리스트(192)에 나타내어지는 추출 코드를 기기 제어 프로그램(210)으로부터 제외하는 것에 의해서, 주제어 프로그램(211)을 생성한다.
S121의 후, 프로그램 편집 처리는 종료된다.
이하에, 주제어 프로그램 생성 처리(S121)의 구체예에 대해 도 8 및 도 9에 근거하여 설명한다.
도 8은 실시 형태 1에 있어서의 주제어 프로그램(211)의 일례를 나타내는 도면이다.
도 8에 나타내는 주제어 프로그램(211)은 래더 프로그램이며, D1 내지 D3의 더미 코드와, (4)의 명령 코드를 포함하고 있다. 더미 코드는 실행되지 않는 무효의 명령 코드이다. 즉, 주제어 프로그램(211)을 컴파일하여도, 더미 코드에 상당하는 오브젝트 코드(실행 코드 또는 머신 코드라고도 함)는 생성되지 않는다.
주제어 프로그램 생성부(121)는 도 4의 기기 제어 프로그램(210)과 도 6의 추출 코드 리스트(192)에 근거하여, 도 8의 주제어 프로그램(211)을 생성한다.
즉, 주제어 프로그램 생성부(121)는 도 4의 기기 제어 프로그램(210)에 포함되는 (1) 내지 (4)의 명령 코드 중 도 6의 추출 코드 리스트(192)에 나타내어지는 (1) 내지 (3)의 명령 코드를 각각의 추출 개소 식별자 Ln에 근거하여 특정한다.
그리고, 주제어 프로그램 생성부(121)는, 특정한 (1) 내지 (3)의 명령 코드를 더미 코드로 치환하는 것에 의해서, 도 8의 주제어 프로그램(211)을 생성한다.
도 8의 D1 내지 D3이 더미 코드이며, 각각의 더미 코드에는 대응하는 추출 코드의 추출 개소 식별자 Ln을 포함한 문자열 「DMY_Ln」이 설정되어 있다.
도 9는 실시 형태 1에 있어서의 주제어 프로그램(211)의 일례를 나타내는 도면이다.
도 9에 나타내는 주제어 프로그램(211)은 기호 「#」을 부여한 코멘트 행과, (4)의 명령 코드를 포함하고 있다.
주제어 프로그램 생성부(121)는, 도 4의 기기 제어 프로그램(210)과 도 6의 추출 코드 리스트(192)에 근거하여, 도 9의 주제어 프로그램(211)을 생성해도 좋다.
즉, 주제어 프로그램 생성부(121)는 도 4의 기기 제어 프로그램(210)에 포함되는 (1) 내지 (4)의 명령 코드 중 도 6의 추출 코드 리스트(192)에 나타내어지는 (1) 내지 (3)의 명령 코드를 더미 코드로 치환하는 대신에 코멘트 행으로 치환하여도 좋다.
또한, 주제어 프로그램 생성부(121)는 부제어 프로그램(212)으로 이행된 명령 코드인 것을 나타내는 코멘트 「부제어_Ln」을 코멘트 행에 부기하여도 좋다.
도 10은 실시 형태 1에 있어서의 프로그램 편집 장치(100)의 하드웨어 자원의 일례를 나타내는 도면이다.
도 10에 있어서, 프로그램 편집 장치(100)(컴퓨터의 일례)는 CPU(901)(Central Processing Unit)를 구비하고 있다. CPU(901)는 버스(902)를 거쳐서 ROM(903), RAM(904), 통신 보드(905)(통신 장치), 디스플레이(911)(표시 장치), 키보드(912), 마우스(913), 드라이브(914), 자기 디스크 장치(920) 등의 하드웨어 디바이스와 접속되어, 이들 하드웨어 디바이스를 제어한다. 드라이브(914)는 FD(Flexible Disk), CD(Compact Disc), DVD(Digital Versatile Disc) 등의 기억 매체에 대해 판독/기록하는 장치이다.
ROM(903), RAM(904), 자기 디스크 장치(920) 및 드라이브(914)는 기억 장치의 일례이다. 키보드(912), 마우스(913) 및 통신 보드(905)는 입력 장치의 일례이다. 디스플레이(911) 및 통신 보드(905)는 출력 장치의 일례이다.
통신 보드(905)는 유선 또는 무선으로 LAN(Local Area Network), 인터넷, 전화 회선 등의 통신망에 접속하고 있다.
자기 디스크 장치(920)에는, OS(921)(operating system), 프로그램군(922), 파일군(923)이 기억되어 있다.
프로그램군(922)에는, 실시 형태에서 「~부」로서 설명하는 기능을 실행하는 프로그램이 포함된다. 프로그램(예를 들면, 프로그램 편집 프로그램)은 CPU(901)에 의해 판독되어 실행된다. 즉, 프로그램은, 「~부」로서 컴퓨터를 기능시키는 것이고, 또한 「~부」의 순서나 방법을 컴퓨터가 실행하게 하는 것이다.
파일군(923)에는, 실시 형태에서 설명하는 「~부」에서 사용되는 각종 데이터(입력, 출력, 판정 결과, 계산 결과, 처리 결과 등)가 포함된다.
실시 형태에서 구성도 및 흐름도에 포함되어 있는 화살표는 주로 데이터나 신호의 입출력을 나타낸다.
흐름도 등에 근거하여 설명하는 실시 형태의 처리는 CPU(901), 기억 장치, 입력 장치, 출력 장치 등의 하드웨어를 이용해서 실행된다.
실시 형태에서 「~부」로서 설명하는 것은 「~ 회로」, 「~ 장치」, 「~ 기기」이어도 좋고, 또한 「~ 스텝」, 「~ 순서」, 「~ 처리」이어도 좋다. 즉, 「~부」로서 설명하는 것은 펌웨어, 소프트웨어, 하드웨어 또는 이들의 조합 중 어느 하나로 실장되어도 상관없다.
실시 형태 1에 의해, 예를 들면 이하와 같은 효과를 얻을 수 있다.
프로그램 편집 장치(100)는 CPU 유닛 상에서 실행하는 제어 프로그램으로부터, 연산 기능을 가진 고속 응답 입출력 유닛에서 실행하기 위한 입출력 응답 제어 프로그램(부제어 프로그램)을 자동으로 추출할 수 있다.
실시 형태 1에서, 예를 들면 프로그램 편집 장치(100)에 대해 설명하였다. 괄호 내에, 대응하는 구성의 부호 또는 명칭을 기재하였다.
상기 프로그램 편집 장치는 추출 대상 코드 기억부(191)와, 명령 코드 추출부(111)와, 제 2 프로그램 생성부(112)와, 제 1 프로그램 생성부(121)를 구비한다.
상기 추출 대상 코드 기억부는 제 1 실행부(201)와 제 2 실행부(202)에 의해서 실행하는 대상 프로그램(210)에 포함되는 복수의 명령 코드 중, 제 2 실행부에 의해서 실행하는 명령 코드를 추출 대상 코드로서 기억한다.
상기 명령 코드 추출부는 상기 대상 프로그램에 포함되는 상기 복수의 명령 코드 중, 상기 추출 대상 코드 기억부에 기억된 상기 추출 대상 코드와 동일한 명령 코드를 추출 코드로서 추출한다.
상기 제 2 프로그램 생성부는 상기 제 2 실행부에 의해서 실행하는 제 2 프로그램(212)으로서, 상기 명령 코드 추출부에 의해서 추출된 상기 추출 코드를 포함한 프로그램을 생성한다.
상기 제 1 프로그램 생성부는 상기 제 1 실행부에 의해서 실행하는 제 1 프로그램(211)으로서, 상기 명령 코드 추출부에 의해서 추출된 상기 추출 코드를 상기 대상 프로그램으로부터 제외하여 얻어지는 프로그램을 생성한다.
실시 형태 2
부제어 프로그램(212)을 편집하는 형태에 대해 설명한다.
이하, 실시 형태 1과 다른 사항에 대해 주로 설명한다. 설명을 생략하는 사항에 대해서는 실시 형태 1과 같다.
도 11은 실시 형태 2에 있어서의 프로그램 편집 장치(100)의 기능 구성도이다.
실시 형태 2에 있어서의 프로그램 편집 장치(100)의 기능 구성에 대해 도 11에 근거하여 설명한다.
프로그램 편집 장치(100)는, 실시 형태 1(도 2 참조)에서 설명한 구성에 부가하여, 부제어 파라미터 리스트 생성부(113)(파라미터 추출부의 일례)와, 부제어 파라미터 리스트 표시부(114)(제 2 프로그램 표시부의 일례)와, 편집 지시 입력부(115)와, 부제어 프로그램 편집부(116)(제 2 프로그램 편집부의 일례)을 구비한다.
부제어 파라미터 리스트 생성부(113)는 부제어 프로그램(212) 또는 추출 코드 리스트(192)에 근거하여 부제어 파라미터 리스트(193)(제 2 프로그램 정보의 일례)를 생성한다.
부제어 파라미터 리스트(193)는 부제어 프로그램(212)에 포함되는 명령 코드(이하, 부제어 코드라고 함)를 구성하는 부제어 파라미터의 일람을 나타낸다.
부제어 파라미터는 부제어 프로그램(212)에 포함되는 명령 코드(부제어 코드)를 구성하는 구성요소이다.
부제어 파라미터 리스트 표시부(114)는 부제어 파라미터 리스트(193)가 나타내는 부제어 파라미터를 표시한다.
편집 지시 입력부(115)는 부제어 파라미터 리스트(193)가 나타내는 부제어 파라미터에 대한 편집 지시를 입력한다.
부제어 프로그램 편집부(116)는 편집 지시에 따라 부제어 프로그램(212)을 편집한다.
도 12는 실시 형태 2에 있어서의 프로그램 편집 장치(100)의 프로그램 편집 처리를 나타내는 흐름도이다.
실시 형태 2에 있어서의 프로그램 편집 장치(100)의 프로그램 편집 처리에 대해 도 12에 근거하여 설명한다.
프로그램 편집 처리는 실시 형태 1(도 3 참조)에서 설명한 처리에 부가하여, S114 내지 S117을 포함한다.
S111 내지 S113에서, 명령 코드 추출부(111)는 추출 코드 리스트(192)를 생성하고, 부제어 프로그램 생성부(112)는 부제어 프로그램(212)을 생성한다(실시 형태 1과 동일).
S113의 후, 처리는 S114로 진행된다.
S114에서, 부제어 파라미터 리스트 생성부(113)는 부제어 프로그램(212)에 포함되는 부제어 코드(명령 코드)로부터 부제어 파라미터를 추출하고, 추출한 부제어 파라미터를 일람으로 한 부제어 파라미터 리스트(193)를 생성한다.
단, 부제어 파라미터 리스트 생성부(113)는 부제어 프로그램(212) 대신에 추출 코드 리스트(192)를 이용하여, 부제어 파라미터 리스트(193)를 생성해도 상관없다.
S114의 후, 처리는 S115로 진행된다.
이하에, 부제어 파라미터 리스트 생성 처리(S114)의 구체예에 대해 도 13에 근거하여 설명한다.
도 13은 실시 형태 2에 있어서의 부제어 파라미터 리스트(193)의 일례를 나타내는 도면이다.
도 13에 나타내는 부제어 파라미터 리스트(193)는 L1 내지 L3의 부제어 파라미터를 나타내고 있다.
또한, 부제어 파라미터는 「No」, 「입력 디바이스 1」, 「입력 디바이스 2」, 「연산자」, 「출력 디바이스」를 포함하고 있다.
「No.」는 기기 제어 프로그램(210)으로부터 추출된 부제어 코드의 추출 개소를 식별하는 추출 개소 식별자를 나타낸다.
「입력 디바이스 1」은 명령 코드를 구성하는 구성요소 중, 값의 입력원인 제 1 입력 디바이스를 식별하는 식별자를 나타낸다.
「입력 디바이스 2」는 명령 코드를 구성하는 구성요소 중, 값의 입력원인 제 2 입력 디바이스를 식별하는 식별자를 나타낸다.
「연산자」는 명령 코드를 구성하는 구성요소 중, 연산의 종류를 식별하는 식별자를 나타낸다.
「출력 디바이스」는 명령 코드를 구성하는 구성요소 중, 값의 출력처인 출력 디바이스를 식별하는 식별자를 나타낸다.
부제어 파라미터 리스트 생성부(113)는 도 7의 부제어 프로그램(212)에 근거하여 도 13의 부제어 파라미터 리스트(193)를 생성한다.
즉, 부제어 파라미터 리스트 생성부(113)는 도 7의 부제어 프로그램(212)에 포함되는 (1) 내지 (3)의 명령 코드마다, 명령 코드로부터 부제어 파라미터를 추출한다.
그리고, 부제어 파라미터 리스트 생성부(113)는 (1) 내지 (3)의 명령 코드마다 명령 코드로부터 추출한 부제어 파라미터를 나타내는 도 13의 부제어 파라미터 리스트(193)를 생성한다.
단, 부제어 파라미터 리스트 생성부(113)는, 도 7의 부제어 프로그램(212) 대신에 도 6의 추출 코드 리스트(192)를 이용하여, 도 13의 부제어 파라미터 리스트(193)를 생성해도 상관없다.
도 13의 부제어 파라미터 리스트(193)에서, L1의 부제어 파라미터는 도 7 또는 도 6의 (1) 내지 (3)의 명령 코드 중, 추출 개소 식별자 L1에 대응지어진 (1)의 명령 코드를 구성하는 부제어 파라미터이다.
마찬가지로, L2의 부제어 파라미터는 도 7 또는 도 6의 2의 명령 코드를 구성하는 부제어 파라미터이고, L3의 부제어 파라미터는 도 7 또는 도 6의 (3)의 명령 코드를 구성하는 부제어 파라미터이다.
도 12로 되돌아가서, S115로부터 설명을 계속한다.
S115에서, 부제어 파라미터 리스트 표시부(114)는 부제어 파라미터 리스트(193)가 나타내는 부제어 파라미터를 표시한다.
예를 들면, 부제어 파라미터 리스트 표시부(114)는 도 14에 나타내는 부제어 파라미터 편집 화면(310)을 표시한다.
도 14는 실시 형태 2에 있어서의 부제어 파라미터 편집 화면(310)의 일례를 나타내는 도면이다.
도 14의 부제어 파라미터 편집 화면(310)은 표 형식으로 나타낸 도 13의 부제어 파라미터 리스트(193)를 포함하고 있다.
또, 부제어 파라미터 리스트(193)의 표시란은 편집 가능한 텍스트 박스이다. 단, 텍스트 박스 이외의 편집 수단(풀다운 리스트, 메뉴 등)을 이용해도 상관없다.
또한, 부제어 파라미터 편집 화면(310)은 부제어 파라미터 리스트(193)에 대한 편집의 종료를 지시하기 위한 편집 종료 버튼(311)을 포함하고 있다.
S115의 후, 처리는 S116으로 진행된다.
S116에서, 유저는 표시된 부제어 파라미터에 대한 편집 지시(추가, 변경 또는 삭제 등)를, 키보드 또는 마우스 등의 입력 기기를 이용하여 프로그램 편집 장치(100)에 지정한다.
예를 들면, 유저는 도 14의 부제어 파라미터 편집 화면(310)에 표시된 L1의 입력 디바이스 1을 「X1」로부터 「X2」로 변경하고, 편집 종료 버튼(311)을 누른다.
그리고, 편집 지시 입력부(115)는 유저로부터 지정된 편집 지시를 입력 기기로부터 입력받는다.
S116의 후, 처리는 S117로 진행된다.
S117에서, 부제어 프로그램 편집부(116)는 유저의 편집 지시에 따라 부제어 프로그램(212)에 포함되는 부제어 코드를 편집한다.
예를 들면, 도 14의 부제어 파라미터 편집 화면(310)에서 L1의 입력 디바이스 1이 「X1」로부터 「X2」로 변경된 경우, 부제어 프로그램 편집부(116)는 도 7의 부제어 프로그램(212)에 포함되는 (1) 내지 (3)의 부제어 코드 중, 추출 개소 식별자 L1에 대응지어진 (1)의 부제어 코드를 선택한다. 그리고, 부제어 프로그램 편집부(116)는 선택한 (1)의 부제어 코드에 포함되는 입력 디바이스의 식별자를 「X1」로부터 「X2」로 변경한다.
또한, 부제어 프로그램 편집부(116)는 유저의 편집 지시에 따라 부제어 파라미터 리스트(193)를 편집하고, 편집 후의 부제어 파라미터 리스트(193)에 근거하여 편집 후의 부제어 프로그램(212)을 생성해도 상관없다.
S117의 후, 처리는 S121로 진행된다.
S121에서, 주제어 프로그램 생성부(121)는 추출 코드 리스트(192)에 나타내어지는 추출 코드를 기기 제어 프로그램(210)으로부터 제외하는 것에 의해서, 주제어 프로그램(211)을 생성한다(실시 형태 1과 동일).
실시 형태 2에 의해, 유저는 부제어 프로그램(212)을 어떠한 프로그래밍없이 용이하게 편집할 수 있다.
또한, 유저는 CPU 유닛과 입출력 유닛의 처리의 분담을 용이하게 파악할 수 있다.
실시 형태 2에서, 예를 들면 이하와 같은 프로그램 편집 장치(100)에 대해 설명하였다. 괄호 내에, 대응하는 구성의 부호 또는 명칭을 기재한다.
프로그램 편집 장치(100)는 제 2 프로그램 표시부(114)와, 제 2 프로그램 편집부(116)를 구비한다.
상기 제 2 프로그램 표시부는 상기 제 2 프로그램 생성부에 의해서 생성된 상기 제 2 프로그램을 나타내는 제 2 프로그램 정보(193)를 표시한다.
상기 제 2 프로그램 편집부는 상기 제 2 프로그램 표시부에 의해서 표시된 상기 제 2 프로그램 정보에 대한 편집 지시에 따라 상기 제 2 프로그램을 편집한다.
상기 프로그램 편집 장치는 상기 제 2 프로그램에 포함되는 하나 이상의 명령 코드의 명령 코드마다, 명령 코드를 구성하는 하나 이상의 요소의 각각을 파라미터로서 추출하는 파라미터 추출부(113)를 구비한다.
상기 제 2 프로그램 표시부는 상기 파라미터 추출부에 의해서 추출된 각 파라미터를 표 형식으로 나타낸 정보를 상기 제 2 프로그램 정보로서 표시한다.
실시 형태 3
부제어 프로그램(212)에 포함되는 부제어 코드를 주제어 프로그램(211)으로 이행하는 형태에 대해 설명한다.
이하, 실시 형태 2와 다른 사항에 대해 주로 설명한다. 설명을 생략하는 사항에 대해서는 실시 형태 2와 동일하다.
도 15는 실시 형태 3에 있어서의 프로그램 편집 장치(100)의 기능 구성도이다.
실시 형태 3에 있어서의 프로그램 편집 장치(100)의 기능 구성에 대해 도 15에 근거하여 설명한다.
프로그램 편집 장치(100)는 실시 형태 2(도 11 참조)에서 설명한 구성에 부가하여, 주제어 프로그램 편집부(122)(제 1 프로그램 편집부의 일례)를 구비한다.
주제어 프로그램 편집부(122)는 주제어 프로그램(211)을 편집한다.
예를 들면, 주제어 프로그램 편집부(122)는 부제어 프로그램(212)에 포함되는 부제어 코드 중 유저가 지정한 부제어 코드를 주제어 프로그램(211)에 추가한다.
도 16은 실시 형태 3에 있어서의 프로그램 편집 장치(100)의 프로그램 편집 처리를 나타내는 흐름도이다.
실시 형태 3에 있어서의 프로그램 편집 장치(100)의 프로그램 편집 처리에 대해 도 16에 근거하여 설명한다.
프로그램 편집 처리는 실시 형태 2(도 12 참조)에서 설명한 처리에 부가하여, S122를 포함한다.
S111 내지 S113에서, 명령 코드 추출부(111)는 추출 코드 리스트(192)를 생성하고, 부제어 프로그램 생성부(112)는 부제어 프로그램(212)을 생성한다(실시 형태 1과 동일).
S113의 후, 처리는 S114로 진행된다.
S114에서 부제어 파라미터 리스트 생성부(113)는 부제어 파라미터 리스트(193)를 생성한다(실시 형태 2와 동일).
S114의 후, 처리는 S115로 진행된다.
S115에서, 부제어 파라미터 리스트 표시부(114)는 부제어 파라미터 리스트(193)를 표시한다.
예를 들면, 부제어 파라미터 리스트 표시부(114)는 도 17에 나타내는 부제어 파라미터 편집 화면(310)을 표시한다.
도 17은 실시 형태 3에 있어서의 부제어 파라미터 편집 화면(310)의 일례를 나타내는 도면이다.
도 17의 부제어 파라미터 편집 화면(310)은 실시 형태 2(도 14 참조)에서 설명한 화면에 「CPU 실행」란을 부가하고 있다.
「CPU 실행」란은 CPU 유닛(201)에게 실행시키고자 하는 부제어 코드, 즉 주제어 프로그램(211)으로 이행하고자 하는 부제어 코드를 지정하기 위한 체크 박스를 구비하고 있다.
이하, CPU 유닛(201)에게 실행시키고자 하는 명령 코드, 즉 주제어 프로그램(211)으로 이행하고자 하는 명령 코드로서 지정된 부제어 코드를 「이행 코드」라고 한다.
S115의 후, 처리는 S116으로 진행된다.
S116에서, 유저는 부제어 파라미터에 대한 편집 지시를 프로그램 편집 장치(100)로 지정하고, 편집 지시 입력부(115)는 유저로부터 지정된 편집 지시를 입력받는다(실시 형태 2와 동일).
예를 들면, 도 17의 부제어 파라미터 편집 화면(310)에 표시된 L1의 부제어 파라미터에 관한 부제어 코드를 CPU 유닛(201)에게 실행시키고자 하는 경우, 유저는 L1의 「CPU 실행」란의 체크 박스에 체크를 기입한다.
S116의 후, 처리는 S117로 진행된다.
S117에서, 부제어 프로그램 편집부(116)는 유저의 편집 지시에 따라 부제어 프로그램(212)에 포함되는 부제어 코드의 부제어 파라미터를 편집한다(실시 형태 2와 동일).
예를 들면, 도 17의 부제어 파라미터 편집 화면(310)에서 L1의 「CPU 실행」란의 체크 박스에 체크가 기입된 경우, 부제어 프로그램 편집부(116)는 도 7의 부제어 프로그램(212)에 포함되는 (1) 내지 (3)의 부제어 코드 중, 추출 개소 식별자 L1에 대응지어진 (1)의 부제어 코드를 삭제한다. (1)의 부제어 코드는 주제어 프로그램(211)으로 이행되는 이행 코드이다.
S117의 후, 처리는 S121로 진행된다.
S121에서, 주제어 프로그램 생성부(121)는 주제어 프로그램(211)을 생성한다(실시 형태 1과 동일).
S121의 후, 처리는 S122로 진행된다.
S122에서, 주제어 프로그램 편집부(122)는 유저의 편집 지시에서 지정된 이행 코드를 주제어 프로그램(211)에 추가한다.
예를 들면, 도 17의 부제어 파라미터 편집 화면(310)에서 L1의 「CPU 실행」란의 체크 박스에 체크한 경우, 주제어 프로그램 편집부(122)는 도 8의 주제어 프로그램(211)에 포함되는 D1 내지 D3의 더미 코드 중, 추출 개소 식별자 L1에 대응지어진 D1의 더미 코드를 선택한다. 그리고, 주제어 프로그램 편집부(122)는 선택한 D1의 더미 코드를 통상의 명령 코드로 변환(복원)하는 것에 의해서, 주제어 프로그램(211)에 이행 코드를 추가한다. 주제어 프로그램(211)에 추가되는 이행 코드는 S117에서 부제어 프로그램(212)으로부터 삭제된 (1)의 부제어 코드이다.
S122의 후, 프로그램 편집 처리는 종료된다. 단, 유저의 편집 지시에 의해서 이행 코드가 지정되어 있지 않는 경우, S122는 행해지지 않고, 프로그램 편집 처리가 종료된다.
실시 형태 3에 의해, 유저는 부제어 프로그램(212)에 포함되는 부제어 코드를 주제어 프로그램(211)으로 이행할 수 있다.
실시 형태 3에서, 예를 들면 이하와 같은 프로그램 편집 장치(100)에 대해 설명하였다. 괄호 내에, 대응하는 구성의 부호 또는 명칭을 기재한다.
상기 프로그램 편집 장치는 제 1 프로그램 편집부(122)를 구비한다.
상기 제 1 프로그램 편집부는 상기 제 2 프로그램 정보에 대한 상기 편집 지시가 상기 제 2 프로그램에 포함되는 어느 하나의 명령 코드를 상기 제 1 프로그램으로 이행하는 이행 코드로서 지정하는 이행 지시인 경우, 상기 이행 코드를 상기 제 1 프로그램에 추가한다.
상기 제 2 프로그램 편집부(116)는 상기 편집 지시가 상기 이행 지시인 경우, 상기 이행 코드를 상기 제 2 프로그램으로부터 삭제한다.
실시 형태 4
기기 제어 프로그램(210)의 명령 코드를 복수의 명령 코드로 분할할 수 있는 경우, 분할 후의 명령 코드 중 추출 대상 코드와 동일한 명령 코드를 추출하고, 부제어 프로그램(212)을 생성하는 형태에 대해 설명한다.
이하, 실시 형태 1과 다른 사항에 대해 주로 설명한다. 설명을 생략하는 사항에 대해서는 실시 형태 1과 동일하다.
도 18은 실시 형태 4에 있어서의 프로그램 편집 장치(100)의 기능 구성도이다.
실시 형태 4에 있어서의 프로그램 편집 장치(100)의 기능 구성에 대해 도 18에 근거하여 설명한다.
프로그램 편집 장치(100)는, 실시 형태 1(도 2 참조)에서 설명한 구성에 부가하여, 명령 코드 분할부(131)(분할 판정부의 일례)와, 기기 제어 프로그램 수정부(132)를 구비한다.
명령 코드 분할부(131)는 기기 제어 프로그램(210)에 포함되는 명령 코드 중 복수의 명령 코드로 분할할 수 있는 명령 코드를 분할한다.
이하, 분할할 수 있는 명령 코드를 「분할 가능 코드」라고 하고, 분할 후의 명령 코드를 「분할 코드」라고 한다.
기기 제어 프로그램 수정부(132)는 기기 제어 프로그램(210)에 포함되는 분할 가능 코드를 복수의 분할 코드로 수정(변환)한다.
도 19는 실시 형태 4에 있어서의 프로그램 편집 장치(100)의 프로그램 편집 처리를 나타내는 흐름도이다.
실시 형태 4에 있어서의 프로그램 편집 장치(100)의 프로그램 편집 처리에 대해 도 19에 근거하여 설명한다.
프로그램 편집 처리는 실시 형태 1(도 3 참조)에서 설명한 처리에 부가하여, S130을 구비한다.
S130에서, 명령 코드 추출부(111)는 S111에서 추출하지 않았던 미추출의 명령 코드를 분할한 복수의 분할 코드 중, 추출 대상 코드 리스트(191)에 나타내어지는 추출 대상 코드와 동일한 명령 코드를 추출한다.
S130에서 추출된 명령 코드는 S111에서 추출된 명령 코드와 함께 추출 코드 리스트(192)에 설정된다(S112).
도 20은 실시 형태 4에 있어서의 분할 코드 추출 처리(S130)의 일례를 나타내는 흐름도이다.
실시 형태 4에 있어서의 분할 코드 추출 처리(S130)의 일례에 대해 도 20에 근거하여 설명한다.
S131에서, 명령 코드 추출부(111)는 기기 제어 프로그램(210)에 포함되는 미추출 코드 중, 미선택의 미추출 코드를 1개 선택한다.
예를 들면, 명령 코드 추출부(111)는 기기 제어 프로그램(210)에 포함되는 미추출 코드를 선두로부터 순서대로 1개 선택한다.
미추출 코드는 기기 제어 프로그램(210)에 포함되는 명령 코드 중, S111(도 19 참조)에서 추출되지 않았던 명령 코드이다.
이하, S131에서 선택한 미추출 코드를 「선택 코드」라고 한다.
S131의 후, 처리는 S132로 진행된다.
S132에서, 명령 코드 분할부(131)는 선택 코드가 복수의 명령 코드로 분할 가능한 분할 가능 코드인지 여부를 판정한다.
예를 들면, 분할 가능 코드는 출력값을 출력하는 출력처로서 복수의 출력처가 지정된 명령 코드이다. 제 1 출력처와 제 2 출력처가 지정된 명령 코드는 제 1 출력처에 출력값을 출력하는 제 1 명령 코드와, 제 2 출력처에 출력값을 출력하는 제 2 명령 코드의 2개의 명령 코드로 분할될 수 있다.
명령 코드가 분할 가능 코드이기 위한 분할 가능 조건은 프로그램 또는 테이블 등에 의해서 미리 정해 둔다. 선택 코드가 분할 가능 조건을 만족하는 경우, 명령 코드 분할부(131)는 선택 코드가 분할 가능 코드라고 판정한다.
선택 코드가 분할 가능 코드인 경우(예), 처리는 S133으로 진행된다.
선택 코드가 분할 가능 코드가 아닌 경우(아니오), 처리는 S135로 진행된다.
S133에서, 명령 코드 분할부(131)는 기기 제어 프로그램(210)에 포함되는 선택 코드를 복제하고, 복제한 선택 코드를 복수의 분할 코드로 분할한다.
예를 들면, 명령 코드 분할부(131)는 제 1 출력처와 제 2 출력처가 지정된 선택 코드를, 제 1 출력처에 출력값을 출력하는 제 1 분할 코드와, 제 2 출력처에 출력값을 출력하는 제 2 분할 코드의 2개의 분할 코드로 분할한다.
선택 코드를 복수의 분할 코드로 분할하는 분할 순서는 프로그램 또는 테이블 등에 의해서 미리 정해 둔다. 명령 코드 분할부(131)는 분할 순서에 따라 선택 코드를 복수의 분할 코드로 분할한다.
S133의 후, 처리는 S134로 진행된다.
도 21은 실시 형태 4에 있어서의 명령 코드 분할 처리(S133)의 구체예를 나타내는 도면이다.
도 21에서, (A)는 X1로부터의 입력값과 X11로부터의 입력값의 논리곱을 취한 제 1 출력값을 Y100에 출력함과 아울러, 제 1 출력값과 X21로부터의 입력값의 논리곱을 취한 제 2 출력값을 Y101에 출력하는 분할 가능 코드이다.
명령 코드 분할부(131)는 (A)의 분할 가능 코드를, (a) 제 1 출력값을 Y100에 출력하는 제 1 분할 코드와, (b) 제 2 출력값을 Y101에 출력하는 제 2 분할 코드의 2개의 분할 코드로 분할한다.
도 20으로 되돌아가서, S134로부터 설명을 계속한다.
S134에서, 명령 코드 추출부(111)는 복수의 분할 코드 중 추출 대상 코드 리스트(191)에 나타내어지는 추출 대상 코드와 동일한 명령 코드를 추출한다.
S134는 도 19의 S111에서 기기 제어 프로그램(210)에 포함되는 명령 코드를 복수의 분할 코드로 치환한 처리이다.
S134의 후, 처리는 S135로 진행된다.
S135에서, 명령 코드 추출부(111)는 S131에서 선택하고 있지 않는 미선택의 미추출 코드가 남아 있는지 여부를 판정한다.
미선택의 미추출 코드가 남아 있는 경우(예), 처리는 S131로 되돌아간다.
미선택의 미추출 코드가 남지 않는 경우(아니오), 처리는 S136으로 진행된다.
S136에서, 기기 제어 프로그램 수정부(132)는 기기 제어 프로그램(210)에 포함되는 미추출 코드 중, S134에서 추출된 분할 코드의 분할원인 분할 가능 코드와 동일한 미추출 코드를 복수의 분할 코드로 수정(변환)한다.
S136의 후, 분할 코드 추출 처리(S130)는 종료된다.
실시 형태 4는 실시 형태 2와 같이 부제어 프로그램(212)을 편집할 수 있는 형태이어도 좋고, 실시 형태 3과 같이 부제어 프로그램(212)에 포함되는 부제어 코드를 주제어 프로그램(211)으로 이행할 수 있는 형태이어도 좋다.
실시 형태 4에 의해, 기기 제어 프로그램(210)의 명령 코드가 복수의 명령 코드로 분할될 수 있는 경우, 프로그램 편집 장치(100)는 분할 후의 명령 코드 중 추출 대상 코드와 동일한 명령 코드를 추출하여, 부제어 프로그램(212)을 생성할 수 있다.
실시 형태 4에서, 예를 들면, 이하와 같은 프로그램 편집 장치(100)에 대해 설명하였다. 괄호 내에, 대응하는 구성의 부호 또는 명칭을 기재한다.
상기 프로그램 편집 장치는 분할 판정부(131)와 명령 코드 분할부(131)를 구비한다.
상기 분할 판정부는 상기 대상 프로그램(210)에 포함되는 상기 복수의 명령 코드 중 상기 명령 코드 추출부에 의해서 추출되지 않는 명령 코드인 미추출 코드가 복수의 명령 코드로 분할될 수 있는 명령 코드인지 여부를 판정한다.
상기 명령 코드 분할부는 상기 분할 판정부에 의해서 상기 미추출 코드를 분할할 수 있는 명령 코드라고 판정된 경우, 상기 미추출 코드를 복수의 명령 코드로 분할한다.
상기 명령 코드 추출부(111)는 상기 명령 코드 분할부에 의해서 얻어진 상기 복수의 명령 코드 중, 상기 추출 대상 코드와 동일한 명령 코드를 새로이 추출 코드로서 추출한다.
실시 형태 5
명령 코드의 추출 조건을 설정하는 형태에 대해 설명한다.
이하, 실시 형태 1과 다른 사항에 대해 주로 설명한다. 설명을 생략하는 사항에 대해서는 실시 형태 1과 동일하다.
도 22는 실시 형태 5에 있어서의 프로그램 편집 장치(100)의 기능 구성도이다.
실시 형태 5에 있어서의 프로그램 편집 장치(100)의 기능 구성에 대해 도 22에 근거하여 설명한다.
프로그램 편집 장치(100)는 실시 형태 1(도 2 참조)에서 설명한 구성에 부가하여, 추출 조건 설정부(141)(추출 조건 화면 표시부의 일례)를 구비한다.
추출 조건 설정부(141)는 기기 제어 프로그램(210)으로부터 명령 코드를 추출하기 위한 추출 조건을 설정한다.
명령 코드 추출부(111)는 추출 대상 코드 리스트(191)에 나타내어지는 추출 대상 코드와 동일한 명령 코드 외에, 추출 조건 설정부(141)에 의해서 설정된 추출 조건을 만족하는 명령 코드를 기기 제어 프로그램(210)으로부터 추출하여, 추출 코드 리스트(192)를 생성한다.
단, 명령 코드 추출부(111)는, 추출 대상 코드 리스트(191)에 나타내어지는 추출 대상 코드 중 추출 조건을 만족하는 추출 대상 코드를 특정하고, 특정한 추출 대상 코드와 동일한 명령 코드를 기기 제어 프로그램(210)으로부터 추출해서, 추출 코드 리스트(192)를 생성해도 상관없다.
이하에, 추출 조건 설정부(141)에 의한 추출 조건 설정 처리에 대해 설명한다.
(1) 추출 조건 설정부(141)는 추출 조건을 설정하기 위한 추출 조건 화면(320)을 표시한다.
(2) 유저는, 입력 기기를 이용하여, 추출 조건 화면(320)에 추출 조건을 지정한다.
(3) 추출 조건 설정부(141)는 추출 조건 화면(320)에 지정된 추출 조건을 입력 기기로부터 입력받는다.
도 23은 실시 형태 5에 있어서의 추출 조건 화면(320)의 일례를 나타내는 도면이다.
실시 형태 5에 있어서의 추출 조건 화면(320)의 일례에 대해 도 23에 근거하여 설명한다.
추출 조건 화면(320)은 추출 조건을 설정하기 위해서 지정하는 항목으로서 「지정 방법」, 「추출 조건」, 「추출 상한값」, 「우선 순위」를 구비한다.
또한, 추출 조건 화면(320)은 추출 조건의 설정을 종료하기 위한 설정 종료 버튼을 구비한다.
「지정 방법」은 입출력 디바이스를 지정하는 방법을 선택하기 위한 항목이다. 입력 디바이스는 입력값의 입력원이고, 출력 디바이스는 출력값의 출력처이다. 예를 들면, 「지정 방법」은 체크 박스를 이용해서 구성된다.
지정 방법에는, 입출력 디바이스를 「디바이스명」으로 지정하는 방법과, 입출력 디바이스를 「라벨명」으로 지정하는 방법이 있다.
「디바이스명」은 알파벳 또는 숫자 등의 기호에 의해서 입출력 디바이스를 식별한다. 「라벨명」은 자연 언어에 의해서 입출력 디바이스를 식별한다.
「추출 조건」은 입출력 디바이스를 지정하기 위한 항목이다.
「추출 상한값」은 추출하는 명령 코드의 수의 상한값을 지정하기 위한 항목이다.
「우선 순위」는 명령 코드에 포함되는 연산자를 지정하기 위한 항목이며, 연산자의 우선 순위가 지정된다.
예를 들면, 「추출 조건」, 「추출 상한값」, 「우선 순위」는 텍스트 박스로 구성된다.
도 24는 실시 형태 5에 있어서의 라벨명 대응표(329)의 일례를 나타내는 도면이다.
라벨명 대응표(329)는 디바이스명과 라벨명을 대응짓는 테이블이다.
프로그램 편집 장치(100)는 도 24에 나타내는 라벨명 대응표(329)를 기억해 두면 좋다.
추출 조건 설정부(141)는 라벨명 대응표(329)를 이용하는 것에 의해서, 추출 조건 화면(320)에서 지정된 디바이스명을 라벨명으로 변환할 수 있다.
또한, 추출 조건 설정부(141)는 라벨명 대응표(329)를 이용하는 것에 의해서, 추출 조건 화면(320)에서 지정된 라벨명을 디바이스명으로 변환할 수 있다.
도 25는 실시 형태 5에 있어서의 기기 제어 프로그램(210)의 일례를 나타내는 도면이다.
도 25에 나타내는 바와 같이, 기기 제어 프로그램(210)은 입출력 디바이스의 라벨명을 이용하여 작성되는 경우가 있다.
이 경우, 명령 코드 추출부(111)는 라벨명 대응표(329)(도 24 참조)를 이용하는 것에 의해서, 기기 제어 프로그램(210)에 기록된 라벨명을 디바이스명으로 변환할 수 있다.
또한, 입출력 디바이스의 디바이스명을 이용하여 기기 제어 프로그램(210)이 작성된 경우, 명령 코드 추출부(111)는 라벨명 대응표(329)를 이용하는 것에 의해서, 기기 제어 프로그램(210)에 기록된 디바이스명을 라벨명으로 변환할 수 있다.
실시 형태 5는 실시 형태 2와 같이 부제어 프로그램(212)을 편집할 수 있는 형태이어도 좋고, 실시 형태 3과 같이 부제어 프로그램(212)에 포함되는 부제어 코드를 주제어 프로그램(211)으로 이행할 수 있는 형태이어도 좋다.
또한, 실시 형태 5는 실시 형태 4와 같이 명령 코드를 분할한 분할 코드를 추출하는 형태이어도 좋다.
실시 형태 5에 의해, 유저는 명령 코드의 추출 조건을 설정할 수 있다.
실시 형태 5에서, 예를 들면 이하와 같은 프로그램 편집 장치(100)에 대해 설명하였다. 괄호 내에, 대응하는 구성의 부호 또는 명칭을 기재한다.
상기 프로그램 편집 장치는 상기 대상 프로그램(210)으로부터 명령 코드를 추출하는 추출 조건을 지정하기 위한 추출 조건 화면(320)을 표시하는 추출 조건 화면 표시부(141)를 구비한다.
상기 명령 코드 추출부(111)는 상기 대상 프로그램에 포함되는 상기 복수의 명령 코드 중, 상기 추출 조건 화면에서 지정된 추출 조건을 만족하는 명령 코드를 새로이 추출 코드로서 추출한다.
실시 형태 6
주제어 프로그램(211)과 부제어 파라미터 리스트(193)의 사이에서 중복되는 명령 코드를 검출하는 형태에 대해 설명한다.
이하, 실시 형태 2와 다른 사항에 대해 주로 설명한다. 설명을 생략하는 사항에 대해서는 실시 형태 2와 동일하다.
도 26은 실시 형태 6에 있어서의 프로그램 편집 장치(100)의 기능 구성도이다.
실시 형태 6에 있어서의 프로그램 편집 장치(100)의 기능 구성에 대해 도 26에 근거하여 설명한다.
프로그램 편집 장치(100)는, 실시 형태 2(도 11 참조)에서 설명한 구성에 부가하여, 중복 코드 검출부(151)(중복 코드 판정부의 일례)와, 검출 결과 표시부(152)(중복 코드 정보 표시부의 일례)를 구비한다.
중복 코드 검출부(151)는 주제어 프로그램(211)과 부제어 파라미터 리스트(193)의 사이에서 중복하는 명령 코드(이하, 중복 코드라고 함)를 검출한다.
검출 결과 표시부(152)는 중복 코드의 검출 결과를 표시한다.
도 27은 실시 형태 6에 있어서의 프로그램 편집 장치(100)의 프로그램 편집 처리를 나타내는 흐름도이다.
도 27에 나타내는 바와 같이, 프로그램 편집 장치(100)는 주제어 프로그램 생성 처리(S121)를 부제어 프로그램 편집 처리(S117) 전에 실행한다.
도 28은 실시 형태 6에 있어서의 부제어 프로그램 편집 처리(S117)를 나타내는 흐름도이다.
실시 형태 6에 있어서의 부제어 프로그램 편집 처리(S117)에 대해 도 28에 근거하여 설명한다.
S117-1에서, 부제어 프로그램 편집부(116)는 S116에서 입력된 편집 지시와 편집 지시된 부제어 파라미터에 근거하여, 편집 후의 부제어 코드를 생성한다.
S117-1의 후, 처리는 S117-2로 진행된다.
S117-2에서, 중복 코드 검출부(151)는 편집 후의 부제어 코드와 주제어 프로그램(211)에 포함되는 주제어 코드가 중복하는지 여부를 판정한다.
여기서, 중복하는 명령 코드(중복 코드)란, 모든 변수값이 동일한 명령 코드와, 적어도 어느 하나의 변수값이 동일한 명령 코드 중 어느 하나이어도 상관없다.
예를 들면, 편집 후의 부제어 코드에 지정되어 있는 출력 디바이스와 주제어 프로그램(211)에 포함되는 주제어 코드에 지정되어 있는 출력 디바이스가 동일한 경우, 중복 코드 검출부(151)는 편집 후의 부제어 코드와 주제어 코드가 중복된다고 판정한다.
편집 후의 부제어 코드와 주제어 코드가 중복되는 경우(예), 처리는 S117-3으로 진행된다.
편집 후의 부제어 코드와 주제어 코드가 중복하지 않는 경우(아니오), 처리는 S117-5로 진행된다. 단, S117-5의 전에, 검출 결과 표시부(152)가 편집 후의 부제어 코드와 주제어 코드가 중복되지 않는 것을 나타내는 표기 또는 메시지를 표시해도 좋다.
S117-3에서, 검출 결과 표시부(152)는 편집 후의 부제어 코드와 주제어 코드가 중복되는 것을 나타내는 표기 또는 메시지를 표시한다.
이것에 의해, 검출 결과 표시부(152)는 유저에게 부제어 파라미터의 수정을 촉구한다.
S117-3의 후, 처리는 S117-4로 진행된다.
도 29는 실시 형태 6에 있어서의 검출 결과 표시 처리(S117-3)의 구체예를 나타내는 도면이다.
도 29에서, 주제어 프로그램(211)의 주제어 코드(1)의 출력 디바이스와, 부제어 코드 L2의 출력 디바이스는 모두 「Y10」이다.
따라서, 중복 코드 검출부(151)는 주제어 코드(1)와 부제어 코드 L2가 중복된다고 판정한다.
그리고, 검출 결과 표시부(152)는 부제어 파라미터 편집 화면(310)에 부제어 코드 L2가 중복 코드인 것을 나타내는 메시지를 표시한다.
S117-4에서, 유저는, 입력 기기를 이용하여, 주제어 코드와 중복되는 부제어 코드에 대한 편집(예를 들면, 부제어 코드의 삭제)을 지시한다.
그리고, 편집 지시 입력부(115)는 편집 지시를 입력 기기로부터 입력받는다.
S117-4의 후, 처리는 S117-5로 진행된다.
S117-5에서, 부제어 프로그램 편집부(116)는 S116에서 입력된 편집 지시 및 S117-4에서 입력된 편집 지시에 따라 부제어 프로그램(212)을 편집한다.
실시 형태 6에 의해, 프로그램 편집 장치(100)는 주제어 프로그램(211)과 부제어 파라미터 리스트(193)의 사이에서 중복되는 명령 코드를 검출할 수 있다.
실시 형태 6에서, 예를 들면 이하와 같은 프로그램 편집 장치(100)에 대해 설명하였다. 괄호 내에, 대응하는 구성의 부호 또는 명칭을 기재한다.
상기 프로그램 편집 장치는 중복 코드 판정부(151)와, 중복 코드 정보 표시부(152)를 구비한다.
상기 중복 코드 판정부는 상기 제 1 프로그램(211)에 포함되는 명령 코드와 중복되는 명령 코드인 중복 코드가 상기 제 2 프로그램(212)에 포함되는지 여부를 상기 편집 지시에 근거하여 판정한다.
상기 중복 코드 정보 표시부는, 상기 중복 코드 판정부에 의해서 상기 제 2 프로그램에 상기 중복 코드가 포함된다고 판정된 경우, 상기 제 2 프로그램에 상기 중복 코드가 포함되는 것을 나타내는 중복 코드 정보를 표시한다.
각 실시 형태는, 모순이 생기지 않는 범위에서, 전체 또는 일부를 조합해도 상관없다.
100: 프로그램 편집 장치
111: 명령 코드 추출부
112: 부제어 프로그램 생성부
113: 부제어 파라미터 리스트 생성부
114: 부제어 파라미터 리스트 표시부
115: 편집 지시 입력부
116: 부제어 프로그램 편집부
121: 주제어 프로그램 생성부
122: 주제어 프로그램 편집부
131: 명령 코드 분할부
132: 기기 제어 프로그램 수정부
141: 추출 조건 설정부
151: 중복 코드 검출부
152: 검출 결과 표시부
190: 장치 기억부
191: 추출 대상 코드 리스트
192: 추출 코드 리스트
193: 부제어 파라미터 리스트
200: 기기 제어 장치
201: CPU 유닛
202: 입출력 유닛
204: 네트워크
209: 주변 기기
210: 기기 제어 프로그램
211: 주제어 프로그램
212: 부제어 프로그램
310: 부제어 파라미터 편집 화면
311: 편집 종료 버튼
320: 추출 조건 화면
329: 라벨명 대응표
901: CPU
902: 버스
903: ROM
904: RAM
905: 통신 보드
911: 디스플레이
912: 키보드
913: 마우스
914: 드라이브
920: 자기 디스크 장치
921: OS
922: 프로그램군
923: 파일군

Claims (11)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 제 1 실행부와 제 2 실행부에 의해서 실행하는 대상 프로그램에 포함되는 복수의 명령 코드 중, 제 2 실행부에 의해서 실행하는 명령 코드를 추출 대상 코드로서 기억하는 추출 대상 코드 기억부와,
    상기 대상 프로그램에 포함되는 상기 복수의 명령 코드 중, 상기 추출 대상 코드 기억부에 기억된 상기 추출 대상 코드와 동일한 명령 코드를 추출 코드로서 추출하는 명령 코드 추출부와,
    상기 제 2 실행부에 의해서 실행하는 제 2 프로그램으로서, 상기 명령 코드 추출부에 의해서 추출된 상기 추출 코드를 포함한 프로그램을 생성하는 제 2 프로그램 생성부와,
    상기 제 1 실행부에 의해서 실행하는 제 1 프로그램으로서, 상기 명령 코드 추출부에 의해서 추출된 상기 추출 코드를 상기 대상 프로그램으로부터 제외하여 얻어지는 프로그램을 생성하는 제 1 프로그램 생성부와,
    상기 제 2 프로그램 생성부에 의해서 생성된 상기 제 2 프로그램을 나타내는 제 2 프로그램 정보를 표시하는 제 2 프로그램 표시부와,
    상기 제 2 프로그램 표시부에 의해서 표시된 상기 제 2 프로그램 정보에 대한 편집 지시에 따라, 상기 제 2 프로그램을 편집하는 제 2 프로그램 편집부와,
    상기 제 2 프로그램 정보에 대한 상기 편집 지시가 상기 제 2 프로그램에 포함되는 어느 하나의 명령 코드를 상기 제 1 프로그램으로 이행하는 이행 코드로서 지정하는 이행 지시인 경우, 상기 이행 코드를 상기 제 1 프로그램에 추가하는 제 1 프로그램 편집부
    를 구비하며,
    상기 제 2 프로그램 편집부는, 상기 편집 지시가 상기 이행 지시인 경우, 상기 이행 코드를 상기 제 2 프로그램으로부터 삭제하는
    것을 특징으로 하는 프로그램 편집 장치.
  5. 제 1 실행부와 제 2 실행부에 의해서 실행하는 대상 프로그램에 포함되는 복수의 명령 코드 중, 제 2 실행부에 의해서 실행하는 명령 코드를 추출 대상 코드로서 기억하는 추출 대상 코드 기억부와,
    상기 대상 프로그램에 포함되는 상기 복수의 명령 코드 중, 상기 추출 대상 코드 기억부에 기억된 상기 추출 대상 코드와 동일한 명령 코드를 추출 코드로서 추출하는 명령 코드 추출부와,
    상기 제 2 실행부에 의해서 실행하는 제 2 프로그램으로서, 상기 명령 코드 추출부에 의해서 추출된 상기 추출 코드를 포함한 프로그램을 생성하는 제 2 프로그램 생성부와,
    상기 제 1 실행부에 의해서 실행하는 제 1 프로그램으로서, 상기 명령 코드 추출부에 의해서 추출된 상기 추출 코드를 상기 대상 프로그램으로부터 제외하여 얻어지는 프로그램을 생성하는 제 1 프로그램 생성부와,
    상기 제 2 프로그램 생성부에 의해서 생성된 상기 제 2 프로그램을 나타내는 제 2 프로그램 정보를 표시하는 제 2 프로그램 표시부와,
    상기 제 2 프로그램 표시부에 의해서 표시된 상기 제 2 프로그램 정보에 대한 편집 지시에 따라, 상기 제 2 프로그램을 편집하는 제 2 프로그램 편집부와,
    상기 제 1 프로그램에 포함되는 명령 코드와 중복되는 명령 코드인 중복 코드가 상기 제 2 프로그램에 포함되는지 여부를 상기 편집 지시에 근거하여 판정하는 중복 코드 판정부와,
    상기 중복 코드 판정부에 의해서 상기 제 2 프로그램에 상기 중복 코드가 포함된다고 판정된 경우, 상기 제 2 프로그램에 상기 중복 코드가 포함되는 것을 나타내는 중복 코드 정보를 표시하는 중복 코드 정보 표시부
    를 구비하는 것을 특징으로 하는 프로그램 편집 장치.
  6. 제 1 실행부와 제 2 실행부에 의해서 실행하는 대상 프로그램에 포함되는 복수의 명령 코드 중, 제 2 실행부에 의해서 실행하는 명령 코드를 추출 대상 코드로서 기억하는 추출 대상 코드 기억부와,
    상기 대상 프로그램에 포함되는 상기 복수의 명령 코드 중, 상기 추출 대상 코드 기억부에 기억된 상기 추출 대상 코드와 동일한 명령 코드를 추출 코드로서 추출하는 명령 코드 추출부와,
    상기 제 2 실행부에 의해서 실행하는 제 2 프로그램으로서, 상기 명령 코드 추출부에 의해서 추출된 상기 추출 코드를 포함한 프로그램을 생성하는 제 2 프로그램 생성부와,
    상기 제 1 실행부에 의해서 실행하는 제 1 프로그램으로서, 상기 명령 코드 추출부에 의해서 추출된 상기 추출 코드를 상기 대상 프로그램으로부터 제외하여 얻어지는 프로그램을 생성하는 제 1 프로그램 생성부와,
    상기 대상 프로그램에 포함되는 상기 복수의 명령 코드 중 상기 명령 코드 추출부에 의해서 추출되지 않는 명령 코드인 미추출 코드가 복수의 명령 코드로 분할될 수 있는 명령 코드인지 여부를 판정하는 분할 판정부와,
    상기 분할 판정부에 의해서 상기 미추출 코드를 분할할 수 있는 명령 코드라고 판정된 경우, 상기 미추출 코드를 복수의 명령 코드로 분할하는 명령 코드 분할부
    를 구비하며,
    상기 명령 코드 추출부는 상기 명령 코드 분할부에 의해서 얻어진 상기 복수의 명령 코드 중, 상기 추출 대상 코드와 동일한 명령 코드를 새로이 추출 코드로서 추출하는
    것을 특징으로 하는 프로그램 편집 장치.
  7. 삭제
  8. 추출 대상 코드 기억부와, 명령 코드 추출부와, 제 2 프로그램 생성부와, 제 1 프로그램 생성부와, 제 2 프로그램 표시부와, 제 2 프로그램 편집부와, 제 1 프로그램 편집부를 구비한 프로그램 편집 장치를 이용하는 프로그램 편집 방법으로서,
    상기 추출 대상 코드 기억부는, 제 1 실행부와 제 2 실행부에 의해서 실행하는 대상 프로그램에 포함되는 복수의 명령 코드 중, 제 2 실행부에 의해서 실행하는 명령 코드를 추출 대상 코드로서 기억하는 기억부이며,
    상기 명령 코드 추출부가, 상기 대상 프로그램에 포함되는 상기 복수의 명령 코드 중, 상기 추출 대상 코드 기억부에 기억된 상기 추출 대상 코드와 동일한 명령 코드를 추출 코드로서 추출하고,
    상기 제 2 프로그램 생성부가, 상기 제 2 실행부에 의해서 실행하는 제 2 프로그램으로서, 상기 명령 코드 추출부에 의해서 추출된 상기 추출 코드를 포함한 프로그램을 생성하고,
    상기 제 1 프로그램 생성부가, 상기 제 1 실행부에 의해서 실행하는 제 1 프로그램으로서, 상기 명령 코드 추출부에 의해서 추출된 상기 추출 코드를 상기 대상 프로그램으로부터 제외하여 얻어지는 프로그램을 생성하고,
    상기 제 2 프로그램 표시부가, 상기 제 2 프로그램 생성부에 의해서 생성된 상기 제 2 프로그램을 나타내는 제 2 프로그램 정보를 표시하고,
    상기 제 2 프로그램 편집부가, 상기 제 2 프로그램 표시부에 의해서 표시된 상기 제 2 프로그램 정보에 대한 편집 지시가 상기 제 2 프로그램에 포함되는 어느 하나의 명령 코드를 상기 제 1 프로그램으로 이행하는 이행 코드로서 지정하는 이행 지시인 경우, 상기 이행 코드를 상기 제 2 프로그램으로부터 삭제하고,
    상기 제 1 프로그램 편집부가, 상기 편집 지시가 상기 이행 지시인 경우, 상기 이행 코드를 상기 제 1 프로그램에 추가하는
    것을 특징으로 하는 프로그램 편집 방법.
  9. 청구항 4 내지 청구항 6 중 어느 한 항에 기재된 프로그램 편집 장치로서 컴퓨터를 기능시키기 위한 프로그램 편집 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
  10. 추출 대상 코드 기억부와, 명령 코드 추출부와, 제 2 프로그램 생성부와, 제 1 프로그램 생성부와, 제 2 프로그램 표시부와, 제 2 프로그램 편집부와, 중복 코드 판정부와, 중복 코드 정보 표시부를 구비한 프로그램 편집 장치를 이용하는 프로그램 편집 방법으로서,
    상기 추출 대상 코드 기억부는, 제 1 실행부와 제 2 실행부에 의해서 실행하는 대상 프로그램에 포함되는 복수의 명령 코드 중, 제 2 실행부에 의해서 실행하는 명령 코드를 추출 대상 코드로서 기억하는 기억부이며,
    상기 명령 코드 추출부가, 상기 대상 프로그램에 포함되는 상기 복수의 명령 코드 중, 상기 추출 대상 코드 기억부에 기억된 상기 추출 대상 코드와 동일한 명령 코드를 추출 코드로서 추출하고,
    상기 제 2 프로그램 생성부가, 상기 제 2 실행부에 의해서 실행하는 제 2 프로그램으로서, 상기 명령 코드 추출부에 의해서 추출된 상기 추출 코드를 포함한 프로그램을 생성하고,
    상기 제 1 프로그램 생성부가, 상기 제 1 실행부에 의해서 실행하는 제 1 프로그램으로서, 상기 명령 코드 추출부에 의해서 추출된 상기 추출 코드를 상기 대상 프로그램으로부터 제외하여 얻어지는 프로그램을 생성하고,
    상기 제 2 프로그램 표시부가, 상기 제 2 프로그램 생성부에 의해서 생성된 상기 제 2 프로그램을 나타내는 제 2 프로그램 정보를 표시하고,
    상기 제 2 프로그램 편집부가, 상기 제 2 프로그램 표시부에 의해서 표시된 상기 제 2 프로그램 정보에 대한 편집 지시에 따라, 상기 제 2 프로그램을 편집하고,
    상기 중복 코드 판정부가, 상기 제 1 프로그램에 포함되는 명령 코드와 중복되는 명령 코드인 중복 코드가 상기 제 2 프로그램에 포함되는지 여부를 상기 편집 지시에 근거하여 판정하고,
    상기 중복 코드 정보 표시부가, 상기 중복 코드 판정부에 의해서 상기 제 2 프로그램에 상기 중복 코드가 포함된다고 판정된 경우, 상기 제 2 프로그램에 상기 중복 코드가 포함되는 것을 나타내는 중복 코드 정보를 표시하는
    것을 특징으로 하는 프로그램 편집 방법.
  11. 추출 대상 코드 기억부와, 명령 코드 추출부와, 제 2 프로그램 생성부와, 제 1 프로그램 생성부와, 분할 판정부와, 명령 코드 분할부를 구비한 프로그램 편집 장치를 이용하는 프로그램 편집 방법으로서,
    상기 추출 대상 코드 기억부는, 제 1 실행부와 제 2 실행부에 의해서 실행하는 대상 프로그램에 포함되는 복수의 명령 코드 중, 제 2 실행부에 의해서 실행하는 명령 코드를 추출 대상 코드로서 기억하는 기억부이며,
    상기 명령 코드 추출부가, 상기 대상 프로그램에 포함되는 상기 복수의 명령 코드 중, 상기 추출 대상 코드 기억부에 기억된 상기 추출 대상 코드와 동일한 명령 코드를 추출 코드로서 추출하고,
    상기 제 2 프로그램 생성부가, 상기 제 2 실행부에 의해서 실행하는 제 2 프로그램으로서, 상기 명령 코드 추출부에 의해서 추출된 상기 추출 코드를 포함한 프로그램을 생성하고,
    상기 제 1 프로그램 생성부가, 상기 제 1 실행부에 의해서 실행하는 제 1 프로그램으로서, 상기 명령 코드 추출부에 의해서 추출된 상기 추출 코드를 상기 대상 프로그램으로부터 제외하여 얻어지는 프로그램을 생성하고,
    상기 분할 판정부가, 상기 대상 프로그램에 포함되는 상기 복수의 명령 코드 중 상기 명령 코드 추출부에 의해서 추출되지 않는 명령 코드인 미추출 코드가 복수의 명령 코드로 분할될 수 있는 명령 코드인지 여부를 판정하고,
    상기 명령 코드 분할부가, 상기 분할 판정부에 의해서 상기 미추출 코드를 분할할 수 있는 명령 코드라고 판정된 경우, 상기 미추출 코드를 복수의 명령 코드로 분할하고,
    상기 명령 코드 추출부가, 상기 명령 코드 분할부에 의해서 얻어진 상기 복수의 명령 코드 중, 상기 추출 대상 코드와 동일한 명령 코드를 새로이 추출 코드로서 추출하는
    것을 특징으로 하는 프로그램 편집 방법.
KR1020157027644A 2013-04-08 2013-04-08 프로그램 편집 장치, 프로그램 편집 방법 및 프로그램 편집 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 KR101726120B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/060589 WO2014167622A1 (ja) 2013-04-08 2013-04-08 プログラム編集装置、プログラム編集方法およびプログラム編集プログラム

Publications (2)

Publication Number Publication Date
KR20150127163A KR20150127163A (ko) 2015-11-16
KR101726120B1 true KR101726120B1 (ko) 2017-04-11

Family

ID=51689059

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157027644A KR101726120B1 (ko) 2013-04-08 2013-04-08 프로그램 편집 장치, 프로그램 편집 방법 및 프로그램 편집 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체

Country Status (7)

Country Link
US (1) US20150370547A1 (ko)
JP (1) JP5936769B2 (ko)
KR (1) KR101726120B1 (ko)
CN (1) CN105122157B (ko)
DE (1) DE112013006915T5 (ko)
TW (1) TWI497240B (ko)
WO (1) WO2014167622A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160132305A1 (en) * 2013-04-08 2016-05-12 Mitsubishi Electric Corporation Program graph display device, program graph display method, and program graph display program
CN105408827B (zh) * 2014-06-02 2017-07-07 三菱电机株式会社 可编程控制器系统、可编程控制器、程序显示装置、程序的显示方法
KR20200121090A (ko) * 2019-04-15 2020-10-23 엘에스일렉트릭(주) Plc 시스템 및 이의 입출력 리프레시 주기 제어방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002041111A (ja) 2000-07-26 2002-02-08 Matsushita Electric Works Ltd プログラミング支援装置
JP2011257904A (ja) 2010-06-08 2011-12-22 Hitachi Ltd 制御装置及びそのデータ処理方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0695713A (ja) * 1992-09-14 1994-04-08 Hitachi Ltd プログラマブルコントローラとそのプログラミング方法
JP3126006B2 (ja) * 1993-03-02 2001-01-22 株式会社日立製作所 プログラマブルコントローラ
JP3658061B2 (ja) 1995-12-20 2005-06-08 株式会社日立製作所 Faシステムの制御装置と方法、制御プログラム生成方法
US6182211B1 (en) * 1997-07-02 2001-01-30 Matsushita Electric Industrial Co., Ltd. Conditional branch control method
JP4186383B2 (ja) * 2000-05-12 2008-11-26 オムロン株式会社 プログラマブルコントローラシステム
US7281242B2 (en) * 2002-01-18 2007-10-09 Bea Systems, Inc. Flexible and extensible Java bytecode instrumentation system
US7587709B2 (en) * 2003-10-24 2009-09-08 Microsoft Corporation Adaptive instrumentation runtime monitoring and analysis
JP4924976B2 (ja) * 2005-03-23 2012-04-25 新日鉄ソリューションズ株式会社 ソフトウェア開発支援システム
JP4541437B2 (ja) * 2006-03-29 2010-09-08 三菱電機株式会社 プログラム作成支援装置、プログラム作成支援方法とその方法をコンピュータに実行させるプログラムおよびそれを記録した記録媒体
US8850388B2 (en) * 2006-09-07 2014-09-30 Microsoft Corporation Controlling application features
US9047412B2 (en) * 2007-05-06 2015-06-02 Dynatrace Corporation System and method for extracting instrumentation relevant inheritance relationships for a distributed, inheritance rule based instrumentation system
TWI442316B (zh) * 2009-01-22 2014-06-21 Foxnum Technology Co Ltd 可編程邏輯控制器程式編輯系統及方法
US8627308B2 (en) * 2010-06-30 2014-01-07 International Business Machines Corporation Integrated exchange of development tool console data
JP2012118715A (ja) * 2010-11-30 2012-06-21 Fuji Electric Co Ltd Plcシステム、その開発支援装置、プログラム
JP5757098B2 (ja) * 2011-02-08 2015-07-29 富士電機株式会社 プログラム作成支援装置、プログラム作成支援方法
US9529816B2 (en) * 2013-01-25 2016-12-27 Konica Minolta Laboratory U.S.A., Inc. Arbitrating among concurrent editors of shared documents
US9465717B2 (en) * 2013-03-14 2016-10-11 Riverbed Technology, Inc. Native code profiler framework

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002041111A (ja) 2000-07-26 2002-02-08 Matsushita Electric Works Ltd プログラミング支援装置
JP2011257904A (ja) 2010-06-08 2011-12-22 Hitachi Ltd 制御装置及びそのデータ処理方法

Also Published As

Publication number Publication date
TW201439695A (zh) 2014-10-16
DE112013006915T5 (de) 2015-12-24
JP5936769B2 (ja) 2016-06-22
KR20150127163A (ko) 2015-11-16
US20150370547A1 (en) 2015-12-24
TWI497240B (zh) 2015-08-21
WO2014167622A1 (ja) 2014-10-16
CN105122157B (zh) 2018-01-19
CN105122157A (zh) 2015-12-02
JPWO2014167622A1 (ja) 2017-02-16

Similar Documents

Publication Publication Date Title
JP2016081185A (ja) 情報処理装置及び情報処理プログラム
JP5921765B2 (ja) プログラムグラフ表示装置、プログラムグラフ表示方法およびプログラムグラフ表示プログラム
JP6786984B2 (ja) プログラム処理装置およびプログラム
WO2020008991A1 (ja) 検証自動化装置、検証自動化方法、およびコンピュータ読み取り可能な記録媒体
WO2016021085A1 (ja) データリンク生成装置、データリンク生成方法、データリンク構造および電子ファイル
KR101726120B1 (ko) 프로그램 편집 장치, 프로그램 편집 방법 및 프로그램 편집 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
WO2020195195A1 (ja) 開発支援装置、開発支援装置の制御方法、情報処理プログラム、および記録媒体
US20110161272A1 (en) Interface for creating and editing boolean logic
JP4476223B2 (ja) 画面データ作成装置、画面データの編集方法及び画面データ編集プログラム
JP2012174179A (ja) 監視制御システム向け動作定義生成装置
JP2019021343A (ja) 情報処理装置及び情報処理プログラム
JP2015056140A (ja) クローン検出方法及びクローン共通関数化方法
US20200310787A1 (en) Code management system and code management method
JP2007047971A (ja) 個別プログラム生成装置及び方法
JP6364786B2 (ja) 設計書管理プログラム、設計書管理方法および設計書管理装置
JP7380376B2 (ja) 情報処理装置およびラダープログラムを表示するためのプログラム
WO2023233448A1 (ja) シーケンスプログラム表示装置、及びシーケンスプログラム表示方法
JP2007094453A (ja) プログラム開発支援システム、プログラム開発支援方法およびプログラム
JP5904885B2 (ja) データ比較装置およびデータ比較方法
JP5629355B1 (ja) ソースプログラム生成装置およびソースプログラム生成プログラム
JP2020161102A (ja) 図面作成支援装置、図面作成支援プログラム及び図面作成支援方法
JP2003271384A (ja) ソフトウェア仕様管理方法およびソフトウェア仕様管理装置並びにプログラム
JP2018005551A (ja) 編集支援プログラム、装置および方法
JPH10260882A (ja) バージョン管理システム
KR20140071126A (ko) Naviswork 모델링 아웃풋 파일의 이미지 및 코멘트 추출 컴퓨터 프로그램 패키지

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