KR101772785B1 - 프로그램 그래프 표시 장치, 프로그램 그래프 표시 방법 및 프로그램 그래프 표시 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 - Google Patents

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

Info

Publication number
KR101772785B1
KR101772785B1 KR1020157031772A KR20157031772A KR101772785B1 KR 101772785 B1 KR101772785 B1 KR 101772785B1 KR 1020157031772 A KR1020157031772 A KR 1020157031772A KR 20157031772 A KR20157031772 A KR 20157031772A KR 101772785 B1 KR101772785 B1 KR 101772785B1
Authority
KR
South Korea
Prior art keywords
program
code
unit
sub
graph
Prior art date
Application number
KR1020157031772A
Other languages
English (en)
Other versions
KR20150139598A (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 KR20150139598A publication Critical patent/KR20150139598A/ko
Application granted granted Critical
Publication of KR101772785B1 publication Critical patent/KR101772785B1/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/42Syntactic analysis
    • G06F8/427Parsing
    • 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/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • 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/052Linking several PLC's
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/12Plc mp multi processor system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13144GUI graphical user interface, icon, function bloc editor, OI operator interface

Landscapes

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

Abstract

명령 코드 추출부(111)는, 기기 제어 프로그램(210)으로부터 추출 대상 코드 리스트(191)에 표시되는 명령 코드를 추출한다. 부제어 프로그램 생성부(112)는, 추출된 명령 코드를 포함한 부제어 프로그램(212)을 생성한다. 부제어 파라미터 리스트 생성부(113)는, 부제어 프로그램(212)에 포함되는 명령 코드마다 명령 코드를 구성하는 하나 이상의 요소의 각각을 파라미터로서 추출한다. 부제어 파라미터 그래프 표시부(161)는, 추출된 하나 이상의 파라미터를 명령 코드마다에 관련시킨 부제어 파라미터 그래프(194)의 데이터를 생성하고, 생성한 부제어 파라미터 그래프(194)를 표시한다.

Description

프로그램 그래프 표시 장치, 프로그램 그래프 표시 방법 및 프로그램 그래프 표시 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체{PROGRAM CHART DISPLAY DEVICE, PROGRAM CHART DISPLAY METHOD, AND COMPUTER READABLE RECODING MEDIUM FOR RECORDING PROGRAM CHART DISPLAY PROGRAM}
본 발명은, 예를 들면, 필드 기기용의 래더 프로그램(ladder program)을 그래프 형식으로 표시하기 위한 프로그램 그래프 표시 장치, 프로그램 그래프 표시 방법 및 프로그램 그래프 표시 프로그램에 관한 것이다.
공장의 제조 라인 등에서는, 통상, 복수의 필드 기기와 CPU(CPU 유닛 또는 PLC라고 한다)가 네트워크를 통해서 연결된다.
그리고, CPU는, 필드 기기의 입력 단자에 입력된 입력 정보에 근거하여 필드 기기의 출력 단자로부터 출력하는 출력 정보를 작성하는 연산 프로그램을 실행하고, 필드 기기를 자동 제어한다.
또, CPU는 Central Processing Unit의 약어이며, PLC는 Programmable Logic Controller의 약어이다.
상기와 같이 CPU를 이용하여 필드 기기를 자동 제어하는 경우, 필드 기기와 CPU의 사이에서 통신할 필요가 있고, 필드 기기에 대한 입출력 처리에 시간이 걸려 버린다.
그래서, 보다 고속의 입출력의 응답 성능을 얻기 위해, 출력 정보를 작성하는 연산 처리 기능을 갖는 필드 기기가 개발되고 있다.
연산 처리 기능을 가진 필드 기기에는 연산 처리를 지정하는 파라미터가 설정되고, 필드 기기는 설정된 파라미터에 따라서 연산 처리를 실행한다. 단, 필드 기기가 실행 가능한 연산 처리에는 제약이 있다.
비특허문헌 1에는, 독립해서 연산 처리를 실시하는 필드 기기가 개시되어 있다.
비특허문헌 1에 개시되어 있는 필드 기기는, 고속의 입출력 제어를 실현하는 패스트 로직 기능(fast logic function) 기능을 갖추고 있다. 패스트 로직 기능이란, 설정된 파라미터에 따라서 입력 정보에 대한 연산 처리를 실시하여, 출력 정보를 생성하는 기능이다.
예를 들면, 패스트 로직 기능은, 2개의 입력 단자에 입력된 2개의 입력 정보에 대해서 논리곱(AND) 또는 논리합(OR) 등의 논리 연산을 실시하고, 논리 연산의 결과를 출력 단자로 출력할 수 있다. 입력 단자, 출력 단자 및 연산의 종류를 지정하기 위한 파라미터 설정은 전용의 설정 툴을 이용하여 행해지고, 파라미터가 설정된 필드 기기는 고속의 입출력의 응답 성능을 얻는다. 예를 들면, 패스트 로직 기능을 가진 필드 기기에는, 출력 단자와 입력 단자와 연산의 종류에 따라서 특정되는 연산 처리 기능이 고정적으로 할당되어 있다. 그리고, 전용의 설정 툴을 이용한 파라미터의 설정에 의해, 연산 처리 기능이 유효한 기능으로서 동작한다.
특허문헌 1에는, 다른 필드 기기와 제휴하여 연산 처리를 실시하는 필드 기기가 개시되어 있다.
또, 특허문헌 1에는, CPU를 거치지 않는 자동 제어를 실현하기 위해서, 네트워크 상의 각 필드 기기의 입출력 정보의 대응 관계를 설정 툴을 이용하여 설정하기 위한 기술이 개시되어 있다. 또, 대응 관계의 정보는 커넥션 데이터베이스(connection database)로 불리는 파라미터로서 각 필드 기기에 배포된다.
그러나, 특허문헌 1에는, 설정 툴을 이용해 파라미터를 설정하는 수단에 대해 언급되어 있지 않다. 가령, 특허문헌 1의 실시의 형태로 기재된 송수신 대응표를 필드 기기마다 개별적으로 설정하는 수단을 이용하면, 시스템 전체의 입출력 정보간의 의존 관계를 파악하는 것이 곤란하게 된다. 이유는, 송수신 대응표가 필드 기기마다 별개로 설정되어 있기 때문이다.
또, CPU를 거치지 않고 필드 기기간에 연산 처리를 실시하는 경우, 필드 기기 또는 네트워크의 사양에 따라서, 필드 기기가 실행하는 연산에 대해서 제약이 정해지는 것이 많다. 예를 들면, 연산의 입력수는 2개까지, 조합하는 연산의 단수(段數)는 2단까지, 상단의 연산은 논리합 연산만 등의 제약이 존재한다. 그리고, 연산의 제약은 필드 기기 또는 네트워크마다 상이하다. 그 때문에, 개발하는 네트워크 시스템에서 이용하는 네트워크 또는 필드 기기에 따라서 연산의 제약을 의식하면서, 필드 기기의 설정을 검토할 필요가 있다.
특허문헌 2에는, 시스템 개발자가 필드 기기의 제약 또는 네트워크의 제약을 고려하여 필드 기기에 파라미터를 설정하는 것이 개시되어 있다.
특허문헌 2에 있어서, 로직도 편집 장치는, 플랜트 제어용의 프로그램을 설계할 때에 로직도에 대해서 지정된 결선(結線)에 대해서, 결선의 제약을 자동으로 체크한다.
종래는, 일정 조건을 충족하면 어떠한 결선을 지정하는 것도 가능했기 때문에, 타입이 상이한 단자간의 결선 등, 성립하지 않아야 할 결선에 대해서도 로직도로 설정 가능하게 되어 있었다. 그래서, 특허문헌 2의 로직도 편집 장치는 제약 정보를 이용하여 결선의 제약을 체크하고, 성립하지 않아야 할 결선의 설정을 방지한다.
그러나, 시스템 개발자는, 로직도 편집 장치로 하여금 제약의 범위내에서 설정을 실시하게 하기 위해서, 제약을 의식하여 올바른 제약 정보를 작성할 필요가 있다.
일본 공개 특허 공보 제 2000-259208 호 일본 공개 특허 공보 제 2004-213277 호
「CC-Link IE 필드 네트워크 리모트 I/O 유닛 유저 메뉴얼」, 미츠비시 덴키 가부시키가이샤, 2012년 12월
본 발명은, 예를 들면, 필드 기기용의 래더 프로그램을 그래프 형식으로 표시할 수 있도록 하는 것을 목적으로 한다.
본 발명의 프로그램 그래프 표시 장치는,
제 1 실행부와 제 2 실행부에 의해서 실행되는 대상 프로그램에 포함되는 복수의 명령 코드 중, 제 2 실행부에 의해서 실행되는 명령 코드를 추출 대상 코드로서 기억하는 추출 대상 코드 기억부와,
상기 대상 프로그램에 포함되는 상기 복수의 명령 코드 중, 상기 추출 대상 코드 기억부에 기억된 상기 추출 대상 코드와 동일한 명령 코드를 추출 코드로서 추출하는 명령 코드 추출부와,
상기 제 2 실행부에 의해서 실행되는 제 2 프로그램으로서, 상기 명령 코드 추출부에 의해서 추출된 상기 추출 코드를 포함하는 프로그램을 생성하는 제 2 프로그램 생성부와,
상기 제 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에 있어서의 부제어 파라미터 리스트(193)의 일례를 나타내는 도면이다.
도 9는 실시의 형태 1에 있어서의 부제어 파라미터 편집 화면(310)의 일례를 나타내는 도면이다.
도 10은 실시의 형태 1에 있어서의 주제어 프로그램(211)의 일례를 나타내는 도면이다.
도 11은 실시의 형태 1에 있어서의 주제어 프로그램(211)의 일례를 나타내는 도면이다.
도 12는 실시의 형태 1에 있어서의 프로그램 편집 장치(100)의 하드웨어 자원의 일례를 나타내는 도면이다.
도 13은 실시의 형태 2에 있어서의 프로그램 편집 장치(100)의 기능 구성도이다.
도 14는 실시의 형태 2에 있어서의 그래프 형식 표시 화면(410)의 일례를 나타내는 도면이다.
도 15는 실시의 형태 2에 있어서의 표 형식 표시 화면(420)의 일례를 나타내는 도면이다.
도 16은 실시의 형태 2에 있어서의 부제어 파라미터 그래프 표시부(161)의 부제어 파라미터 그래프 생성 처리를 나타내는 흐름도이다.
도 17은 실시의 형태 3에 있어서의 부제어 파라미터 편집 화면(430)의 일례를 나타내는 도면이다.
도 18은 실시의 형태 4에 있어서의 프로그램 편집 장치(100)의 기능 구성도이다.
도 19는 실시의 형태 4에 있어서의 코드 제약 데이터(195)의 일례를 나타내는 도면이다.
도 20은 실시의 형태 4에 있어서의 변환 규칙 데이터(196)의 일례를 나타내는 도면이다.
도 21은 실시의 형태 4에 있어서의 부제어 프로그램 편집부(116)의 코드 제약 확인 처리를 나타내는 흐름도이다.
도 22는 실시의 형태 4에 있어서의 명령 코드의 변환예를 나타내는 도면이다.
도 23은 실시의 형태 4에 있어서의 부제어 파라미터 편집 화면(430)의 일례를 나타내는 도면이다.
도 24는 실시의 형태 5에 있어서의 프로그램 편집 장치(100)의 기능 구성도이다.
실시의 형태 1.
CPU용의 제어 프로그램으로부터 필드 기기용의 래더 프로그램을 생성하고, 생성한 래더 프로그램을 편집하는 형태에 대해 설명한다.
도 1은 실시의 형태 1에 있어서의 프로그램 편집 장치(100)와 기기 제어 장치(200)의 관계도이다.
실시의 형태 1에 있어서의 프로그램 편집 장치(100)와 기기 제어 장치(200)의 관계에 대해서, 도 1에 근거하여 설명한다.
기기 제어 장치(200)는, 센서 또는 모터 등의 주변 기기(209)를 제어한다.
예를 들면, 기기 제어 장치(200)는, FA(Factory Automation) 시스템에 이용된다.
기기 제어 장치(200)는 CPU 유닛(201)과, 입출력 유닛(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 프로그램 생성부의 일례)와, 부제어 파라미터 리스트 생성부(113)(파라미터 추출부의 일례)와, 부제어 파라미터 리스트 표시부(114)(제 2 프로그램 표시부의 일례)와, 편집 지시 입력부(115)와, 부제어 프로그램 편집부(116)(제 2 프로그램 편집부의 일례)를 구비한다.
프로그램 편집 장치(100)는, 주제어 프로그램 생성부(121)(제 1 프로그램 생성부의 일례)와, 주제어 프로그램 편집부(122)(제 1 프로그램 편집부의 일례)를 구비한다.
명령 코드 추출부(111)는, 기기 제어 프로그램(210)(대상 프로그램의 일례)에 포함되는 명령 코드 중 추출 대상 코드 리스트(191)에 나타낸 추출 대상 코드와 동일한 명령 코드를 추출하여, 추출 코드 리스트(192)를 생성한다.
추출 대상 코드 리스트(191)는, 입출력 유닛(202)에서 실행할 수 있는 명령 코드(추출 대상 코드)의 일람을 나타낸다.
추출 코드 리스트(192)는, 기기 제어 프로그램(210)으로부터 추출된 명령 코드(이하, 추출 코드라 한다)의 일람을 나타낸다.
부제어 프로그램 생성부(112)는, 추출 코드 리스트(192)에 나타낸 추출 코드를 포함하는 부제어 프로그램(212)(제 2 프로그램의 일례)를 생성한다.
부제어 파라미터 리스트 생성부(113)는, 부제어 프로그램(212) 또는 추출 코드 리스트(192)에 근거하여 부제어 파라미터 리스트(193)(제 2 프로그램 정보의 일례)를 생성한다.
부제어 파라미터 리스트(193)는, 부제어 프로그램(212)에 포함되는 명령 코드(이하, 부제어 코드라 한다)를 구성하는 부제어 파라미터의 일람을 나타낸다.
부제어 파라미터는, 부제어 프로그램(212)에 포함되는 명령 코드(부제어 코드)를 구성하는 구성 요소이다.
부제어 파라미터 리스트 표시부(114)는, 부제어 파라미터 리스트(193)가 표시하는 부제어 파라미터를 표시한다.
편집 지시 입력부(115)는, 부제어 파라미터 리스트(193)가 표시하는 부제어 파라미터에 대한 편집 지시를 입력한다.
부제어 프로그램 편집부(116)는, 편집 지시에 따라서 부제어 프로그램(212)을 편집한다.
예를 들면, 부제어 프로그램 편집부(116)는, 부제어 프로그램(212)에 포함되는 부제어 코드 중 유저가 지정한 부제어 코드(주제어 프로그램(211)으로 이행하는 명령 코드)를, 부제어 프로그램(212)으로부터 삭제한다.
주제어 프로그램 생성부(121)는, 추출 코드 리스트(192)에 표시되는 추출 코드를 기기 제어 프로그램(210)으로부터 제외함으로써, 주제어 프로그램(211)(제 1 프로그램의 일례)을 생성한다.
주제어 프로그램 편집부(122)는 주제어 프로그램(211)을 편집한다.
예를 들면, 주제어 프로그램 편집부(122)는, 부제어 프로그램(212)에 포함되는 부제어 코드 중 유저가 지정한 부제어 코드(주제어 프로그램(211)으로 이행하는 명령 코드)를 주제어 프로그램(211)에 추가한다.
장치 기억부(190)는, 프로그램 편집 장치(100)에서 사용하는 데이터를 기억한다.
예를 들면, 장치 기억부(190)는, 기기 제어 프로그램(210)과, 추출 대상 코드 리스트(191)와, 추출 코드 리스트(192)와, 부제어 파라미터 리스트(193)와, 부제어 프로그램(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 이후, 처리는 S114로 진행된다.
이하에, 부제어 프로그램 생성 처리(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으로 돌아와서, S114부터 설명을 계속한다.
S114에 있어서, 부제어 파라미터 리스트 생성부(113)는, 부제어 프로그램(212)에 포함되는 부제어 코드(명령 코드)로부터 부제어 파라미터를 추출하고, 추출한 부제어 파라미터를 일람으로 한 부제어 파라미터 리스트(193)를 생성한다.
단, 부제어 파라미터 리스트 생성부(113)는, 부제어 프로그램(212) 대신에 추출 코드 리스트(192)를 이용하여, 부제어 파라미터 리스트(193)를 생성해도 상관없다.
S114 이후, 처리는 S115로 진행된다.
이하에, 부제어 파라미터 리스트 생성 처리(S114)의 구체예에 대해 도 8에 근거하여 설명한다.
도 8은 실시의 형태 1에 있어서의 부제어 파라미터 리스트(193)의 일례를 나타내는 도면이다.
도 8에 나타내는 부제어 파라미터 리스트(193)는, No.1 ~ No.3의 부제어 파라미터를 나타내고 있다.
또, 부제어 파라미터는, 「No.」 「입력 디바이스 1」 「입력 디바이스 2」 「연산자」 「출력 디바이스」를 포함하고 있다.
「No.」는 기기 제어 프로그램(210)으로부터 추출된 부제어 코드의 추출 개소를 식별하는 추출 개소 식별자를 나타낸다.
「입력 디바이스 1」는 명령 코드를 구성하는 구성 요소 중, 값의 입력원인 제 1 입력 디바이스를 식별하는 식별자를 나타낸다.
「입력 디바이스 2」는 명령 코드를 구성하는 구성 요소 중, 값의 입력원인 제 2 입력 디바이스를 식별하는 식별자를 나타낸다.
「연산자」는 명령 코드를 구성하는 구성 요소 중, 연산의 종류를 식별하는 식별자를 나타낸다.
「출력 디바이스」는 명령 코드를 구성하는 구성 요소 중, 값의 출력 목적지인 출력 디바이스를 식별하는 식별자를 나타낸다.
부제어 파라미터 리스트 생성부(113)는 도 7의 부제어 프로그램(212)에 근거하여 도 8의 부제어 파라미터 리스트(193)를 생성한다.
즉, 부제어 파라미터 리스트 생성부(113)는, 도 7의 부제어 프로그램(212)에 포함되는 (1) ~ (3)의 명령 코드마다, 명령 코드로부터 부제어 파라미터를 추출한다.
그리고, 부제어 파라미터 리스트 생성부(113)는, (1) ~ (3)의 명령 코드마다 명령 코드로부터 추출한 부제어 파라미터를 나타내는 도 8의 부제어 파라미터 리스트(193)를 생성한다.
단, 부제어 파라미터 리스트 생성부(113)는, 도 7의 부제어 프로그램(212) 대신에 도 6의 추출 코드 리스트(192)를 이용하여, 도 8의 부제어 파라미터 리스트(193)를 생성해도 상관없다.
도 8의 부제어 파라미터 리스트(193)에 있어서, L1의 부제어 파라미터는, 도 7 또는 도 6의 (1) ~ (3)의 명령 코드 중, 추출 개소 식별자 L1에 대응지은 (1)의 명령 코드를 구성하는 부제어 파라미터이다.
마찬가지로, L2의 부제어 파라미터는 도 7 또는 도 6의 (2)의 명령 코드를 구성하는 부제어 파라미터이며, L3의 부제어 파라미터는 도 7 또는 도 6의 (3)의 명령 코드를 구성하는 부제어 파라미터이다.
도 3으로 돌아와서, S115부터 설명을 계속한다.
S115에 있어서, 부제어 파라미터 리스트 표시부(114)는, 부제어 파라미터 리스트(193)가 표시하는 부제어 파라미터를 표시한다.
예를 들면, 부제어 파라미터 리스트 표시부(114)는, 도 9에 나타내는 부제어 파라미터 편집 화면(310)을 표시한다.
도 9는 실시의 형태 1에 있어서의 부제어 파라미터 편집 화면(310)의 일례를 나타내는 도면이다.
도 9의 부제어 파라미터 편집 화면(310)은, 표 형식으로 나타낸 도 8의 부제어 파라미터 리스트(193)를 포함하고 있다. 또, 부제어 파라미터 편집 화면(310)은 「CPU 실행」란이 추가되어 있다.
「CPU 실행」란은, CPU 유닛(201)으로 하여금 실행하게 하고 싶은 부제어 코드, 즉, 주제어 프로그램(211)으로 이행하고 싶은 부제어 코드를 지정하기 위한 체크 박스를 갖추고 있다.
또, 부제어 파라미터 리스트(193)의 표시란은 편집 가능한 텍스트 박스이다. 단, 텍스트 박스 이외의 편집 수단(풀 다운(pull-down) 리스트, 메뉴 등)을 이용해도 상관없다.
또, 부제어 파라미터 편집 화면(310)은, 부제어 파라미터 리스트(193)에 대한 편집의 종료를 지시하기 위한 편집 종료 버튼(311)을 포함하고 있다.
이하, CPU 유닛(201)으로 하여금 실행하게 하고 싶은 명령 코드, 즉, 주제어 프로그램(211)으로 이행하고 싶은 명령 코드로서 지정된 부제어 코드를 「이행 코드」라고 한다.
S115 이후, 처리는 S116으로 진행된다.
S116에 있어서, 유저는, 표시된 부제어 파라미터에 대한 편집 지시(추가, 변경 또는 삭제 등)를, 키보드 또는 마우스 등의 입력 기기를 이용하여 프로그램 편집 장치(100)로 지정한다.
예를 들면, 유저는, 도 9의 부제어 파라미터 편집 화면(310)에 표시된 L1의 입력 디바이스 1를 「X1」로부터 「X2」로 변경하고, 편집 종료 버튼(311)을 누른다.
예를 들면, 도 9의 부제어 파라미터 편집 화면(310)에 표시된 L1의 부제어 파라미터에 관한 부제어 코드를 CPU 유닛(201)으로 하여금 실행하게 하고 싶은 경우, 유저는, L1의 「CPU 실행」란의 체크 박스에 체크를 하고, 편집 종료 버튼(311)을 누른다.
그리고, 편집 지시 입력부(115)는, 유저로부터 지정된 편집 지시를 입력 기기로부터 입력한다.
S116 이후, 처리는 S117로 진행된다.
S117에 있어서, 부제어 프로그램 편집부(116)는, 유저의 편집 지시에 따라서 부제어 프로그램(212)에 포함되는 부제어 코드를 편집한다.
부제어 프로그램 편집부(116)는, 유저의 편집 지시에 따라서 부제어 파라미터 리스트(193)를 편집하고, 편집 후의 부제어 파라미터 리스트(193)에 근거하여 편집 후의 부제어 프로그램(212)을 생성해도 상관없다.
예를 들면, 도 9의 부제어 파라미터 편집 화면(310)에서 L1의 입력 디바이스 1가 「X1」로부터 「X2」로 변경된 경우, 부제어 프로그램 편집부(116)는, 도 7의 부제어 프로그램(212)에 포함되는 (1) ~ (3)의 부제어 코드 중, 추출 개소 식별자 L1에 대응지은 (1)의 부제어 코드를 선택한다. 그리고, 부제어 프로그램 편집부(116)는, 선택한 (1)의 부제어 코드에 포함되는 입력 디바이스의 식별자를 「X1」로부터 「X2」로 변경한다.
예를 들면, 도 9의 부제어 파라미터 편집 화면(310)에서 L1의 「CPU 실행」란의 체크 박스에 체크가 들어간 경우, 부제어 프로그램 편집부(116)는, 도 7의 부제어 프로그램(212)에 포함되는 (1) ~ (3)의 부제어 코드 중, 추출 개소 식별자 L1에 대응지은 (1)의 부제어 코드를 삭제한다. (1)의 부제어 코드는 주제어 프로그램(211)으로 이행되는 이행 코드이다.
S117 이후, 처리는 S121로 진행된다.
S121에 있어서, 주제어 프로그램 생성부(121)는, 추출 코드 리스트(192)에 표시되는 추출 코드를 기기 제어 프로그램(210)으로부터 제외함으로써, 주제어 프로그램(211)을 생성한다.
S121 이후, 처리는 S122로 진행된다.
이하에, 주제어 프로그램 생성 처리(S121)의 구체예에 대해 도 10 및 도 11에 근거하여 설명한다.
도 10은 실시의 형태 1에 있어서의 주제어 프로그램(211)의 일례를 나타내는 도면이다.
도 10에 나타내는 주제어 프로그램(211)은 래더 프로그램이며, D1로부터 D3의 더미 코드와, (4)의 명령 코드를 포함하고 있다. 더미 코드는 실행되지 않는 무효의 명령 코드이다. 즉, 주제어 프로그램(211)을 컴파일해도, 더미 코드에 상당하는 오브젝트 코드(실행 코드 또는 머신 코드라고도 한다)는 생성되지 않는다.
주제어 프로그램 생성부(121)는, 도 4의 기기 제어 프로그램(210)과 도 6의 추출 코드 리스트(192)에 근거하여, 도 10의 주제어 프로그램(211)을 생성한다.
즉, 주제어 프로그램 생성부(121)는, 도 4의 기기 제어 프로그램(210)에 포함되는 (1) ~ (4)의 명령 코드 중 도 6의 추출 코드 리스트(192)에 표시되는 (1) ~ (3)의 명령 코드를 각각의 추출 개소 식별자 Ln에 근거하여 특정한다.
그리고, 주제어 프로그램 생성부(121)는, 특정한 (1) ~ (3)의 명령 코드를 더미 코드로 치환함으로써, 도 10의 주제어 프로그램(211)을 생성한다.
도 10의 D1 ~ D3가 더미 코드이며, 각각의 더미 코드에는 대응하는 추출 코드의 추출 개소 식별자 Ln를 포함한 문자열 「DMY_Ln」가 설정되어 있다.
도 11은 실시의 형태 1에 있어서의 주제어 프로그램(211)의 일례를 나타내는 도면이다.
도 11에 나타내는 주제어 프로그램(211)은, 기호 「#」을 부여한 코멘트 행과, (4)의 명령 코드를 포함하고 있다.
주제어 프로그램 생성부(121)는, 도 4의 기기 제어 프로그램(210)과 도 6의 추출 코드 리스트(192)에 근거하여, 도 11의 주제어 프로그램(211)을 생성해도 좋다.
즉, 주제어 프로그램 생성부(121)는, 도 4의 기기 제어 프로그램(210)에 포함되는 (1) ~ (4)의 명령 코드 중 도 6의 추출 코드 리스트(192)에 표시되는 (1) ~ (3)의 명령 코드를 더미 코드로 치환하는 대신에 코멘트 행으로 치환하여도 좋다.
또, 주제어 프로그램 생성부(121)는, 부제어 프로그램(212)으로 이행된 명령 코드인 것을 나타내는 코멘트 「부제어_Ln」를 코멘트 행에 부기해도 좋다.
도 3으로 돌아와서, S122부터 설명을 계속한다.
S122에 있어서, 주제어 프로그램 편집부(122)는, 유저의 편집 지시로 지정된 이행 코드를 주제어 프로그램(211)에 추가한다.
예를 들면, 도 9의 부제어 파라미터 편집 화면(310)에서 L1의 「CPU 실행」란의 체크 박스에 체크가 들어간 경우, 주제어 프로그램 편집부(122)는, 도 10의 주제어 프로그램(211)에 포함되는 D1 ~ D3의 더미 코드 중, 추출 개소 식별자 L1에 대응지은 D1의 더미 코드를 선택한다. 그리고, 주제어 프로그램 편집부(122)는, 선택한 D1의 더미 코드를 통상의 명령 코드로 변환(복원)함으로써, 주제어 프로그램(211)에 이행 코드를 추가한다. 주제어 프로그램(211)에 추가되는 이행 코드는, S117에서 부제어 프로그램(212)으로부터 삭제된 (1)의 부제어 코드이다.
S122 이후, 프로그램 편집 처리는 종료된다. 단, 유저의 편집 지시에 의해서 이행 코드가 지정되어 있지 않은 경우, S122는 행해지지 않고, 프로그램 편집 처리는 종료된다.
도 12는 실시의 형태 1에 있어서의 프로그램 편집 장치(100)의 하드웨어 자원의 일례를 나타내는 도면이다.
도 12에 있어서, 프로그램 편집 장치(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)(오퍼레이팅 시스템), 프로그램군(922), 파일군(923)이 기억되어 있다.
프로그램군(922)에는, 실시의 형태에 있어서 「~부」로서 설명하는 기능을 실행하는 프로그램이 포함된다. 프로그램(예를 들면, 프로그램 그래프 표시 프로그램)은 CPU(901)에 의해 판독되어 실행된다. 즉, 프로그램은, 「~부」로서 컴퓨터를 기능하게 하는 것이고, 또 「~부」의 수순이나 방법을 컴퓨터로 하여금 실행하게 하는 것이다.
파일군(923)에는, 실시의 형태에 있어서 설명하는 「~부」에서 사용되는 각종 데이터(입력, 출력, 판정 결과, 계산 결과, 처리 결과 등)가 포함된다.
실시의 형태에 있어서 구성도 및 흐름도에 포함되어 있는 화살표는 주로 데이터나 신호의 입출력을 나타낸다.
흐름도 등에 기초하여 설명하는 실시의 형태의 처리는 CPU(901), 기억 장치, 입력 장치, 출력 장치 등의 하드웨어를 이용하여 실행된다.
실시의 형태에 있어서 「~부」로서 설명하는 것은 「~회로」, 「~장치」, 「~기기」이어도 좋고, 또 「~스텝」, 「~순서」, 「~처리」이어도 좋다. 즉, 「~부」로서 설명하는 것은, 펌웨어, 소프트웨어, 하드웨어 또는 이들의 조합 중 어느 하나로 실장되어도 상관없다.
실시의 형태 1에 의해, 예를 들면, 이하와 같은 효과를 갖는다.
프로그램 편집 장치(100)는, CPU 유닛 상에서 실행하는 제어 프로그램으로부터, 연산 기능을 가진 고속 응답 입출력 유닛으로 실행하기 위한 입출력 응답 제어 프로그램(부제어 프로그램)을 자동으로 추출할 수 있다.
유저는 부제어 프로그램(212)을 프로그래밍 없이 용이하게 편집할 수 있다.
유저는 CPU 유닛과 입출력 유닛의 처리의 분담을 용이하게 파악할 수 있다.
유저는 부제어 프로그램(212)에 포함되는 부제어 코드를 주제어 프로그램(211)으로 이행할 수 있다.
실시의 형태 2.
부제어 프로그램(212)(예를 들면, 필드 기기용의 래더 프로그램)을 시각적으로 표시하는 형태에 대해 설명한다.
이하, 실시의 형태 1과 상이한 사항에 대해 주로 설명한다. 설명을 생략하는 사항에 대해서는 실시의 형태 1과 마찬가지이다.
또, 도 1에 나타낸 입출력 유닛(202) 및 주변 기기(209)는 필드 기기라고도 한다.
도 13은 실시의 형태 2에 있어서의 프로그램 편집 장치(100)의 기능 구성도이다.
실시의 형태 2에 있어서의 프로그램 편집 장치(100)의 기능 구성에 대해서, 도 13에 근거하여 설명한다.
프로그램 편집 장치(100)(프로그램 그래프 표시 장치의 일례)는, 실시의 형태 1(도 2 참조)에서 설명한 구성에 더하여, 부제어 파라미터 그래프 표시부(161)(그래프 데이터 생성부, 프로그램 그래프 표시부의 일례)를 구비한다.
부제어 파라미터 그래프 표시부(161)는, 부제어 파라미터 리스트(193)를 그래프 형식으로 표시한다.
유저가 프로그램 편집 장치(100)에 대해서 부제어 파라미터 리스트(193)의 그래프 형식 표시를 지정한 경우, 부제어 파라미터 그래프 표시부(161)는, 부제어 파라미터 리스트(193)에 근거하여 부제어 파라미터 그래프(194)의 데이터를 생성하고, 도 14에 나타내는 그래프 형식 표시 화면(410)을 표시한다.
도 14는 실시의 형태 2에 있어서의 그래프 형식 표시 화면(410)의 일례를 나타내는 도면이다.
도 14에 나타내는 바와 같이, 그래프 형식 표시 화면(410)은, 부제어 파라미터 그래프(194)와 표 형식 표시 버튼(411)을 포함한다.
부제어 파라미터 그래프(194)의 데이터는 부제어 파라미터 리스트(193)를 그래프화한 데이터이다.
표 형식 표시 버튼(411)은, 부제어 파라미터 리스트(193)를 표 형식으로 나타내는 표 형식 표시 화면(420)으로의 전환을 지정하기 위한 버튼(유저 인터페이스의 일례)이다.
그래프 형식 표시 화면(410)의 표 형식 표시 버튼(411)을 누른 경우, 부제어 파라미터 리스트 표시부(114)는, 부제어 파라미터 리스트(193)에 근거하여, 도 15에 나타내는 표 형식 표시 화면(420)을 표시한다. 표 형식 표시 화면(420)의 표시 방법은 부제어 파라미터 편집 화면(310)(도 9 참조)의 표시 방법과 마찬가지이다.
도 15는 실시의 형태 2에 있어서의 표 형식 표시 화면(420)의 일례를 나타내는 도면이다.
도 15에 나타내는 바와 같이, 표 형식 표시 화면(420)은, 표 형식의 부제어 파라미터 리스트(193)와 그래프 형식 표시 버튼(421)을 포함한다.
그래프 형식 표시 버튼(421)은, 부제어 파라미터 리스트(193)를 그래프 형식으로 나타내는 그래프 형식 표시 화면(410)으로의 전환을 지정하기 위한 버튼이다.
또, 유저가 부제어 파라미터 리스트(193)의 그래프 형식 표시를 지정하기 전에 표 형식 표시를 프로그램 편집 장치(100)에 대해서 지정한 경우, 부제어 파라미터 리스트 표시부(114)는, 부제어 파라미터 리스트(193)에 근거하여, 도 15에 표시되는 표 형식 표시 화면(420)을 표시한다.
도 14로 돌아와서, 그래프 형식 표시 화면(410)의 설명을 계속한다.
도 14에 나타낸 부제어 파라미터 그래프(194)는 도 15에 나타낸 부제어 파라미터 리스트(193)의 내용을 그래프화한 것이다.
예를 들면, 부제어 파라미터 그래프(194)의 상단 부분은 L1의 명령 코드를 나타내고, 부제어 파라미터 그래프(194)의 중단 부분은 L2의 명령 코드를 나타내고, 부제어 파라미터 그래프(194)의 하단 부분은 L3의 명령 코드를 나타내고 있다.
부제어 파라미터 그래프(194)는, 명령 코드마다, 입력 데이터의 입력원의 필드 기기, 필드 기기의 입력 단자(입력 디바이스), 출력 데이터의 출력 목적지의 필드 기기, 필드 기기의 출력 단자(출력 디바이스) 및 연산(연산 소자 또는 연산 회로)의 종류를 나타낸다. 필드 기기란, 입출력 유닛(202) 또는 주변 기기(209) 등이다.
부제어 파라미터 그래프(194)는, 입력 단자를 나타내는 아이콘과, 출력 단자를 나타내는 아이콘과, 연산의 종류를 나타내는 아이콘을 선으로 연결함으로써, 입력 단자와 출력 단자와 연산의 종류를 대응짓고 있다.
부제어 파라미터 그래프(194)는, 연산의 종류마다 상이한 아이콘을 표기하고 있다.
예를 들면, L1의 논리곱과, L2의 논리합과, L3의 대소 비교는, 각각의 아이콘의 형상이 상이하다. 단, 각 연산의 아이콘은, 형상 이외의 표기 방법(예를 들면, 색)이 상이하여도 좋다.
부제어 파라미터 그래프(194)는 입력 단자와 출력 단자를 둥근 아이콘으로 표기하고 있다.
단, 입력 단자와 출력 단자를 상이한 아이콘으로 표기해도 상관없다(예를 들면, 둥근 아이콘과 사각진 아이콘).
부제어 파라미터 그래프(194)는, 필드 기기마다 입력 단자 및 출력 단자를 선으로 둘러싸고 있다.
예를 들면, 1번의 필드 기기 「기기 1」의 프레임 선은, 명령 코드 L1의 입력 단자 「X1」과 명령 코드 L3의 입력 단자 「X20」를 둘러싸고 있다.
즉, 부제어 파라미터 그래프(194)의 데이터는, 아이콘의 종류(형상, 색 등), 관계하는 아이콘끼리를 연결하는 접속선, 아이콘의 표시 위치 등을 지정하는 정보를 포함하고 있다.
도 16은 실시의 형태 2에 있어서의 부제어 파라미터 그래프 표시부(161)의 부제어 파라미터 그래프 생성 처리를 나타내는 흐름도이다.
실시의 형태 2에 있어서의 부제어 파라미터 그래프 표시부(161)의 처리 방법에 대해서, 도 16에 근거하여 설명한다.
S210에 있어서, 부제어 파라미터 그래프 표시부(161)는, 장치 기억부(190)로부터 부제어 파라미터 리스트(193)를 취득한다.
S210 이후, 처리는 S220로 진행된다.
S220에 있어서, 부제어 파라미터 그래프 표시부(161)는, 부제어 파라미터 리스트(193)로부터 미선택의 명령 코드를 1개 선택한다. 이하, S220에서 선택한 명령 코드를 「선택 코드」라고 한다.
S220 이후, 처리는 S221로 진행된다.
S221에 있어서, 부제어 파라미터 그래프 표시부(161)는, 선택 코드의 부제어 파라미터에 근거하여, 입력 단자용의 아이콘, 출력 단자용의 아이콘, 연산의 종류를 나타내는 아이콘, 아이콘끼리를 연결하는 접속선, 아이콘의 표시 위치 등의 그래프 정보를 생성한다.
또, 그래프 정보의 생성에 필요한 그래프 표기 데이터(예를 들면, 아이콘 데이터)는 장치 기억부(190)에 미리 기억된다. 예를 들면, 아이콘 데이터는, 아이콘 및 아이콘의 종류(입력 단자, 출력 단자, 논리곱, 논리합 등)와 대응지은 데이터이다.
S221 이후, 처리는 S222로 진행된다.
S222에 있어서, 부제어 파라미터 그래프 표시부(161)는, 부제어 파라미터 리스트(193)에 미선택의 명령 코드가 남아 있는지 아닌지를 판정한다.
미선택의 명령 코드가 남아 있는 경우(YES), 처리는 S220로 되돌아간다.
미선택의 명령 코드가 남아 있지 않은 경우(NO), 처리는 S230로 진행된다.
S230에 있어서, 부제어 파라미터 그래프 표시부(161)는, S221에서 생성한 명령 코드 마다의 그래프 정보를 포함한 부제어 파라미터 그래프(194)의 데이터를 생성한다.
S230 이후, 부제어 파라미터 그래프 생성 처리는 종료된다.
실시의 형태 2에 의해, 부제어 프로그램(212)을 시각적으로 표시할 수 있다. 또, 유저는 필드 기기 간의 입출력 및 연산 처리의 관계를 시각적으로 파악할 수 있다.
실시의 형태 1, 2 또는 이후의 실시의 형태는, 이하와 같은 구성이어도 상관없다.
(1) 추출 대상 코드 리스트(191) 및 추출 코드 리스트(192)는 C 언어 등의 구조체의 형식으로 명령 코드를 나타내도 좋다. 명령 코드를 나타내는 구조체는, 연산의 종류(예를 들면, 논리곱, 논리합), 입력(예를 들면, 기기 식별자, 단자명), 출력(예를 들면, 기기 식별자, 단자명) 등을 포함하는 데이터이다.
(2) 프로그램 편집 장치(100)는, 부제어 프로그램(212)(또는 부제어 프로그램(212)에 포함되는 적어도 일부의 명령 코드)을 필드 기기(입출력 유닛(202), 주변 기기(209)등)에 송신함으로써, 필드 기기의 메모리에 부제어 프로그램(212)을 기입하는 프로그램 기입부를 갖추어도 좋다. 예를 들면, 프로그램 기입부는, 부제어 프로그램(212)의 데이터 형식을 필드 기기에 기입 가능한 데이터 형식으로 변환하고, 변환 후의 부제어 프로그램(212)을 필드 기기에 기입한다.
실시의 형태 3.
그래프화하여 표시한 부제어 프로그램(212)을 편집하는 형태에 대해 설명한다.
이하, 실시의 형태 2와 상이한 사항에 대해 주로 설명한다. 설명을 생략하는 사항에 대해서는 실시의 형태 2와 마찬가지이다.
프로그램 편집 장치(100)의 기능 구성은, 실시의 형태 2(도 13 참조)와 같다.
단, 부제어 파라미터 그래프 표시부(161)는 도 17에 나타내는 부제어 파라미터 편집 화면(430)을 표시한다.
도 17은 실시의 형태 3에 있어서의 부제어 파라미터 편집 화면(430)의 일례를 나타내는 도면이다.
부제어 파라미터 편집 화면(430)은, 부제어 파라미터 그래프(194)와, 표 형식 표시 버튼(431)과, 편집 종료 버튼(432)과, 부품 일람(439)을 구비한다.
부품 일람(439)은, 입력 단자, 출력 단자, 논리곱, 논리합, 대소 비교 등, 부제어 파라미터 그래프(194)에 이용하는 아이콘을 나타낸다.
편집 종료 버튼(432)은, 부제어 파라미터 그래프(194)의 편집의 종료를 지정하기 위한 버튼이다.
유저는, 입력 기기를 조작함으로써 부제어 파라미터 그래프(194) 또는 부품 일람(439)의 아이콘을 선택하고, 부제어 파라미터 그래프(194)에 대해서 아이콘의 추가, 이동 또는 삭제를 지시한다. 예를 들면, 유저는, 마우스를 이용하여 아이콘을 드래그 앤드 드롭한다.
또, 유저는, 입력 기기를 조작함으로써, 아이콘끼리를 연결하는 접속선을 긋고, 입출력 단자에 대해서 단자명을 지정하는 등의 편집을 실시한다.
부제어 파라미터 그래프(194)의 편집이 종료된 경우, 유저는 편집 종료 버튼(432)을 누른다.
편집 지시 입력부(115)는 유저의 편집 지시를 입력 기기로부터 입력하고, 부제어 프로그램 편집부(116)는 유저의 편집 지시에 따라서 부제어 파라미터 그래프(194)의 아이콘을 추가, 변경 또는 삭제한다.
편집 종료 버튼(432)이 눌러진 경우, 부제어 프로그램 편집부(116)(제 2 프로그램 편집부의 일례)는, 편집 후의 부제어 파라미터 그래프(194)의 데이터를 장치 기억부(190)에 덮어쓰기하고, 편집 후의 부제어 파라미터 그래프(194)의 데이터에 맞춰서 부제어 프로그램(212)을 갱신한다.
실시의 형태 3에 의해, 유저는 부제어 프로그램(212)을 시각적으로 편집할 수 있다. 즉, 부제어 프로그램(212)의 편집이 용이해진다.
실시의 형태 4.
필드 기기 및 네트워크의 제약을 충족하지 않는 명령 코드를 변환 규칙에 따라서 변환하는 형태에 대해 설명한다.
이하, 실시의 형태 3과 상이한 사항에 대해 주로 설명한다. 설명을 생략하는 사항에 대해서는 실시의 형태 3과 마찬가지이다.
도 18은 실시의 형태 4에 있어서의 프로그램 편집 장치(100)의 기능 구성도이다.
실시의 형태 4에 있어서의 프로그램 편집 장치(100)의 기능 구성에 대해서, 도 18에 근거하여 설명한다.
프로그램 편집 장치(100)의 장치 기억부(190)는, 필드 기기의 종류마다, 또, 네트워크의 종류마다, 코드 제약 데이터(195)(제약 데이터의 일례)와 변환 규칙 데이터(196)(대체 코드 데이터의 일례)을 기억한다.
또, 부제어 프로그램 편집부(116)(제 2 프로그램 편집부의 일례)는, 유저의 편집 지시에 따라서 부제어 프로그램(212), 부제어 파라미터 리스트(193) 또는 부제어 파라미터 그래프(194)를 편집할 때에, 코드 제약 데이터(195)에 설정되어 있는 제약을 충족하지 않는 명령 코드를, 변환 규칙 데이터(196)에 설정된 변환 규칙에 따라서 변환한다.
도 19는 실시의 형태 4에 있어서의 코드 제약 데이터(195)의 일례를 나타내는 도면이다.
실시의 형태 4에 있어서의 코드 제약 데이터(195)의 일례에 대해서, 도 19에 근거하여 설명한다.
코드 제약 데이터(195)는, 필드 기기마다 연산의 종류 또는 입출력 등의 제약을 나타내는 데이터이다.
코드 제약 데이터(195)는, 「기기」 「연산 종류」 「사용 가부」 「입력수」 「출력수」 「단수」를 대응짓고 있다.
「기기」는 필드 기기의 식별자(명칭, 번호 등)를 나타낸다.
「연산 종류」는 연산의 종류(논리곱, 논리합 등)를 나타낸다.
「사용 가부」는, 「연산 종류」에 표시되는 연산(연산 소자 또는 연산 회로)이 사용 가능한 연산인지 아닌지를 나타낸다.
「입력수」는 「연산 종류」에 표시되는 연산에 대한 입력수의 조건을 나타낸다.
「출력수」는 「연산 종류」에 표시되는 연산에 대한 출력수의 조건을 나타낸다.
「단수」는 「연산 종류」에 표시되는 연산을 사용 가능한 단수의 조건을 나타낸다. 단수란, 복수의 연산이 계층 관계를 갖고 접속하는 경우(예를 들면, 1단째의 연산의 출력이 2단째의 연산에 입력되는 등)의 계층의 계층수에 상당한다.
예를 들면, 기기 F1는, 논리합(OR) 및 논리곱(AND)을 사용할 수 있지만, 배타적 논리합(XOR)을 사용할 수 없다(사용 가부의 란을 참조).
또, 논리합 및 논리곱은 2 입력 1 출력이어야 한다(입력수 및 출력수의 란을 참조).
또한, 논리합은 1단째 또는 2단째의 연산이어야 하며, 논리곱은 1단째의 연산이어야 한다(단수의 란을 참조).
도 20은 실시의 형태 4에 있어서의 변환 규칙 데이터(196)의 일례를 나타내는 도면이다.
실시의 형태 4에 있어서의 변환 규칙 데이터(196)의 일례에 대해서, 도 20에 근거하여 설명한다.
변환 규칙 데이터(196)는, 연산의 종류마다 변환전의 명령 코드의 내용과 변환 후의 명령 코드의 내용을 나타내는 데이터이다.
변환 규칙 데이터(196)는, 「연산 종류」 「변환전」 「변환 후」를 대응짓고 있다.
「변환전」은 변환전의 명령 코드의 내용을 나타낸다.
「변환 후」는 변환 후의 명령 코드(대체 코드군의 일례)의 내용을 나타낸다.
예를 들면, 항 번호 1이 나타내는 변환 규칙에 따라서, 3 입력 1 출력의 논리합(OR)은 2 입력 1 출력의 논리합과 2 입력 1 출력의 논리합의 2단의 논리합으로 변환된다.
또, 입력 또는 출력의 괄호 내에 표기하는 「Xn」(n는 0 이상의 정수)은 필드 기기의 입력 단자를 식별하고, 「Yn」는 필드 기기의 출력 단자를 식별하고, 「Zn」는 연산(회로 또는 소자)의 입출력 단자를 식별하고, 「M0」는 필드 기기의 내부 메모리를 식별한다. 또, 「!」는 부정을 의미한다.
도 21은 실시의 형태 4에 있어서의 부제어 프로그램 편집부(116)의 코드 제약 확인 처리를 나타내는 흐름도이다.
부제어 파라미터 편집 화면(430)(도 17 참조)에서 부제어 파라미터 그래프(194)가 편집된 경우, 부제어 프로그램 편집부(116)는 이하와 같은 코드 제약 확인 처리를 실행한다.
S310에 있어서, 부제어 프로그램 편집부(116)는, 복수의 코드 제약 데이터(195) 및 변환 규칙 데이터(196) 중, 대상 네트워크용의 코드 제약 데이터(195) 및 변환 규칙 데이터(196)를 선택한다.
S310 이후, 처리는 S320로 진행된다.
S320에 있어서, 부제어 프로그램 편집부(116)는, 부제어 파라미터 그래프(194)로부터 미선택의 명령 코드를 1개 선택한다. 이하, S320에서 선택한 명령 코드를 「선택 코드」라고 한다.
S320 이후, 처리는 S330으로 진행된다.
S330에 있어서, 부제어 프로그램 편집부(116)는, 코드 제약 데이터(195)로부터 선택 코드에 대응하는 제약 정보를 선택한다. 이하, S330에서 선택한 제약 정보를 「선택 제약」이라고 한다.
S330 이후, 처리는 S331으로 진행된다.
S331에 있어서, 부제어 프로그램 편집부(116)는, 선택 코드와 선택 제약을 비교하고, 선택 코드가 선택 제약을 충족하는지 아닌지를 판정한다.
선택 코드가 선택 제약을 충족하는 경우(YES), 처리는 S321로 진행된다.
선택 코드가 선택 제약을 충족하지 않는 경우(NO), 처리는 S332로 진행된다.
S332에 있어서, 부제어 프로그램 편집부(116)는, 변환 규칙 데이터(196)로부터 선택 코드에 대응하는 변환 규칙을 선택한다. 이하, S332에서 선택한 변환 규칙을 「선택 규칙」이라고 한다.
S332 이후, 처리는 S333으로 진행된다.
S333에 있어서, 부제어 프로그램 편집부(116)는, 선택 규칙에 따라서 선택 코드를 변환한다.
S333 이후, 처리는 S321로 진행된다.
도 22는 실시의 형태 4에 있어서의 명령 코드의 변환예를 나타내는 도면이다.
예를 들면, 부제어 프로그램 편집부(116)는, 도 19의 코드 제약 데이터(195) 및 도 20의 변환 규칙 데이터(196)에 근거하여, 도 22에 나타내는 바와 같이 명령 코드를 변환한다.
(1) 부제어 프로그램 편집부(116)는, 3 입력 1 출력의 논리합을 2 입력 1 출력의 논리합과 2 입력 1 출력의 논리합의 2단의 논리합으로 변환한다.
(2) 부제어 프로그램 편집부(116)는, 3 입력 1 출력의 논리곱을 2 입력 1 출력의 논리곱과 2 입력 1 출력의 논리곱의 2단의 논리곱으로 변환한다.
(3) 부제어 프로그램 편집부(116)는, 2 입력 1 출력의 배타적 논리합을 2 입력 1 출력의 2개의 논리곱과 2 입력 1 출력의 논리합의 2단의 연산으로 변환한다.
도 21으로 돌아와서, S321부터 설명을 계속한다.
S321에 있어서, 부제어 프로그램 편집부(116)는, 부제어 파라미터 그래프(194)에 미선택의 명령 코드가 남아 있는지 아닌지를 판정한다.
미선택의 명령 코드가 남아 있는 경우(YES), 처리는 S320로 돌아간다.
미선택의 명령 코드가 남지 않은 경우(NO), 처리는 S340로 진행된다.
S340에 있어서, 부제어 프로그램 편집부(116)는, 제약을 충족하지 않는 명령 코드를 변환한 취지의 메세지와 함께, 변환 후의 부제어 파라미터 그래프(194)를 부제어 파라미터 편집 화면(430)에 표시한다.
또, 부제어 프로그램 편집부(116)는, 변환 후의 부제어 파라미터 그래프(194)를 장치 기억부(190)에 덮어쓰기한다.
또한, 부제어 프로그램 편집부(116)는, 변환 후의 부제어 파라미터 그래프(194)에 맞춰서, 부제어 프로그램(212) 및 부제어 파라미터 리스트(193)를 갱신한다.
S340 이후, 코드 제약 확인 처리는 종료된다.
도 23은, 실시의 형태 4에 있어서의 부제어 파라미터 편집 화면(430)의 일례를 나타내는 도면이다.
도 23에 나타내는 바와 같이, 부제어 프로그램 편집부(116)는, (1) 부제어 파라미터 그래프(194)의 명령 코드를 변환하고, (2) 명령 코드를 변환한 후의 부제어 파라미터 그래프(194)를 부제어 파라미터 편집 화면(430)에 표시한다. 또, (2)에 있어서, X1, X3 또는 X4로부터 논리곱으로의 입력선 중, 논리곱 측에 동그라미 표시가 붙은 입력선은, 부정의 입력(입력치의 반전)을 의미한다.
실시의 형태 4에 의해, 필드 기기 및 네트워크의 제약을 충족하지 않는 명령 코드를 변환 규칙에 따라서 변환할 수 있다.
즉, 유저는, 필드 기기 및 네트워크의 제약을 의식하지 않고 부제어 프로그램(212)을 편집할 수 있다.
실시의 형태 5.
네트워크 또는 필드 기기가 추가되었을 때에 제약 정보 및 변환 규칙을 추가하는 형태에 대해 설명한다.
이하, 실시의 형태 4와 상이한 사항에 대해 주로 설명한다. 설명을 생략하는 사항에 대해서는 실시의 형태 4와 마찬가지이다.
도 24는 실시의 형태 5에 있어서의 프로그램 편집 장치(100)의 기능 구성도이다.
실시의 형태 5에 있어서의 프로그램 편집 장치(100)의 기능 구성에 대해서, 도 24에 근거하여 설명한다.
프로그램 편집 장치(100)는, 실시의 형태 4(도 18 참조)에서 설명한 기능 구성에 더하여, 프로파일 해석부(162)와 프로파일 데이터(197)를 구비한다.
유저는, 새로운 네트워크 또는 새로운 필드 기기의 프로파일 데이터(197)를 프로그램 편집 장치(100)에 입력한다. 프로파일 데이터(197)는, 제약 정보 및 변환 규칙에 관한 정보를 포함한 데이터이다.
프로파일 해석부(162)는, 입력된 프로파일 데이터(197)로부터 제약 정보 및 변환 규칙을 추출하고, 추출한 제약 정보를 포함한 코드 제약 데이터(195)를 생성하고, 추출한 변환 규칙을 포함한 변환 규칙 데이터(196)를 생성한다.
실시의 형태 5에 의해, 네트워크 또는 필드 기기가 추가되었을 때에 제약 정보 및 변환 규칙을 추가할 수 있다. 즉, 유저는, 네트워크 또는 필드 기기가 추가되었을 경우에도, 제약을 의식하지 않고 부제어 프로그램(212)을 생성할 수 있다.
각 실시의 형태는, 모순이 생기지 않는 범위에서, 전부 또는 일부를 조합해도 상관없다.
100 : 프로그램 편집 장치 111 : 명령 코드 추출부
112 : 부제어 프로그램 생성부 113 : 부제어 파라미터 리스트 생성부
114 : 부제어 파라미터 리스트 표시부
115 : 편집 지시 입력부 116 : 부제어 프로그램 편집부
121 : 주제어 프로그램 생성부 122 : 주제어 프로그램 편집부
161 : 부제어 파라미터 그래프 표시부
162 : 프로파일 해석부 190 : 장치 기억부
191 : 추출 대상 코드 리스트 192 : 추출 코드 리스트
193 : 부제어 파라미터 리스트 194 : 부제어 파라미터 그래프
195 : 코드 제약 데이터 196 : 변환 규칙 데이터
200 : 기기 제어 장치 201 : CPU 유닛
202 : 입출력 유닛 204 : 네트워크
209 : 주변 기기 210 : 기기 제어 프로그램
211 : 주제어 프로그램 212 : 부제어 프로그램
310 : 부제어 파라미터 편집 화면 311 : 편집 종료 버튼
410 : 그래프 형식 표시 화면 411 : 표 형식 표시 버튼
420 : 표 형식 표시 화면 421 : 그래프 형식 표시 버튼
430 : 부제어 파라미터 편집 화면 431 : 표 형식 표시 버튼
432 : 편집 종료 버튼 439 : 부품 일람
901 : CPU 902 : 버스
903 : ROM 904 : RAM
905 : 통신 보드 911 : 디스플레이
912 : 키보드 913 : 마우스
914 : 드라이브 920 : 자기 디스크 장치
921 : OS 922 : 프로그램군
923 : 파일군

Claims (7)

  1. 제 1 실행부와 제 2 실행부에 의해서 실행되는 대상 프로그램에 포함되는 복수의 명령 코드 중, 제 2 실행부에 의해서 실행되는 명령 코드를 추출 대상 코드로서 기억하는 추출 대상 코드 기억부와,
    상기 대상 프로그램에 포함되는 상기 복수의 명령 코드 중, 상기 추출 대상 코드 기억부에 기억된 상기 추출 대상 코드와 동일한 명령 코드를 추출 코드로서 추출하는 명령 코드 추출부와,
    상기 제 2 실행부에 의해서 실행되는 제 2 프로그램으로서 상기 명령 코드 추출부에 의해서 추출된 상기 추출 코드를 포함한 프로그램을 생성하는 제 2 프로그램 생성부와,
    상기 제 2 프로그램에 포함되는 하나 이상의 명령 코드의 명령 코드마다, 명령 코드를 구성하는 하나 이상의 요소의 각각을 파라미터로서 추출하는 파라미터 추출부와,
    상기 파라미터 추출부에 의해서 추출된 하나 이상의 파라미터를 명령 코드마다에 관련지은 파라미터 리스트를 제 2 프로그램 그래프로서 나타내는 그래프 데이터를 생성하는 그래프 데이터 생성부
    를 구비하는 것을 특징으로 하는 프로그램 그래프 표시 장치.
  2. 제 1 항에 있어서,
    상기 그래프 데이터 생성부에 의해서 생성된 상기 그래프 데이터에 근거하여 상기 제 2 프로그램 그래프를 표시하는 프로그램 그래프 표시부를 구비하는 것을 특징으로 하는 프로그램 그래프 표시 장치.
  3. 제 2 항에 있어서,
    상기 프로그램 그래프 표시부에 의해서 표시된 상기 제 2 프로그램 그래프에 대한 편집 지시에 따라서, 상기 제 2 프로그램을 편집하는 제 2 프로그램 편집부를 구비하는 것을 특징으로 하는 프로그램 그래프 표시 장치.
  4. 제 3 항에 있어서,
    상기 프로그램 그래프 표시 장치는, 제약 데이터 기억부와, 대체 코드 데이터 기억부를 구비하며,
    상기 제약 데이터 기억부는, 상기 제 2 실행부에 관한 명령 코드의 제약을 나타내는 제약 데이터를 기억하고,
    상기 대체 코드 데이터 기억부는, 명령 코드마다, 대체가 되는 복수의 명령 코드로서 대체 코드군을 나타내는 대체 코드 데이터를 기억하고,
    상기 제 2 프로그램 편집부는, 편집 후의 상기 제 2 프로그램에 포함되는 명령 코드 중, 상기 제약 데이터가 표시하는 상기 제약을 충족하지 않는 명령 코드를 변환 대상 코드로서 선택하고,
    상기 제 2 프로그램 편집부는, 선택한 상기 변환 대상 코드와 동일한 명령 코드에 대응지은 대체 코드 데이터를 선택하고,
    상기 제 2 프로그램 편집부는, 선택한 상기 변환 대상 코드를, 선택한 상기 대체 코드 데이터가 표시하는 대체 코드군으로 치환하는
    것을 특징으로 하는 프로그램 그래프 표시 장치.
  5. 제 4 항에 있어서,
    상기 제약에 관한 제약 정보와 상기 대체 코드군에 관한 대체 코드 정보를 포함한 데이터로서 지정된 프로파일 데이터에 근거하여, 상기 제약 데이터와 상기 대체 코드 데이터를 생성하는 프로파일 해석부를 구비하는 것을 특징으로 하는 프로그램 그래프 표시 장치.
  6. 추출 대상 코드 기억부와, 명령 코드 추출부와, 제 2 프로그램 생성부와, 파라미터 추출부와, 그래프 데이터 생성부를 구비하는 프로그램 그래프 표시 장치를 이용하는 프로그램 그래프 표시 방법으로서,
    상기 추출 대상 코드 기억부는, 제 1 실행부와 제 2 실행부에 의해서 실행되는 대상 프로그램에 포함되는 복수의 명령 코드 중, 제 2 실행부에 의해서 실행되는 명령 코드를 추출 대상 코드로서 기억하는 기억부이며,
    상기 명령 코드 추출부는, 상기 대상 프로그램에 포함되는 상기 복수의 명령 코드 중, 상기 추출 대상 코드 기억부에 기억된 상기 추출 대상 코드와 동일한 명령 코드를 추출 코드로서 추출하고,
    상기 제 2 프로그램 생성부는, 상기 제 2 실행부에 의해서 실행되는 제 2 프로그램으로서, 상기 명령 코드 추출부에 의해서 추출된 상기 추출 코드를 포함한 프로그램을 생성하고,
    상기 파라미터 추출부는, 상기 제 2 프로그램에 포함되는 하나 이상의 명령 코드의 명령 코드마다, 명령 코드를 구성하는 하나 이상의 요소의 각각을 파라미터로서 추출하고,
    상기 그래프 데이터 생성부는, 상기 파라미터 추출부에 의해서 추출된 하나 이상의 파라미터를 명령 코드마다에 관련지은 파라미터 리스트를 제 2 프로그램 그래프로서 나타내는 그래프 데이터를 생성하는
    것을 특징으로 하는 프로그램 그래프 표시 방법.
  7. 청구항 1 내지 청구항 5 중 어느 한 항에 기재된 프로그램 그래프 표시 장치로서 컴퓨터를 기능시키기 위한 프로그램 그래프 표시 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
KR1020157031772A 2013-04-08 2013-04-08 프로그램 그래프 표시 장치, 프로그램 그래프 표시 방법 및 프로그램 그래프 표시 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 KR101772785B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/060590 WO2014167623A1 (ja) 2013-04-08 2013-04-08 プログラムグラフ表示装置、プログラムグラフ表示方法およびプログラムグラフ表示プログラム

Publications (2)

Publication Number Publication Date
KR20150139598A KR20150139598A (ko) 2015-12-11
KR101772785B1 true KR101772785B1 (ko) 2017-08-29

Family

ID=51689060

Family Applications (1)

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

Country Status (7)

Country Link
US (1) US20160132305A1 (ko)
JP (1) JP5921765B2 (ko)
KR (1) KR101772785B1 (ko)
CN (1) CN105144004B (ko)
DE (1) DE112013006918T5 (ko)
TW (1) TWI497241B (ko)
WO (1) WO2014167623A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10623244B2 (en) * 2014-12-19 2020-04-14 Emerson Process Management Lllp Data transfer on an industrial process network
JP6400558B2 (ja) * 2015-11-17 2018-10-03 ファナック株式会社 シーケンス制御プログラミング装置、シーケンス制御プログラミング方法及び作業システム
JP2020149300A (ja) * 2019-03-13 2020-09-17 オムロン株式会社 グラフ表示装置、グラフ表示方法、及びグラフ表示プログラム
JP7183877B2 (ja) * 2019-03-13 2022-12-06 オムロン株式会社 グラフ表示装置、グラフ表示方法、及びグラフ表示プログラム
JP7172864B2 (ja) * 2019-06-07 2022-11-16 オムロン株式会社 サポート装置およびサポートプログラム
CN117608559B (zh) * 2024-01-24 2024-04-19 卡奥斯创智物联科技有限公司 页面显示代码生成方法、装置、电子设备、存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001325011A (ja) 2000-05-12 2001-11-22 Omron Corp プログラマブルコントローラシステム
JP2002041111A (ja) 2000-07-26 2002-02-08 Matsushita Electric Works Ltd プログラミング支援装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05241619A (ja) * 1992-03-02 1993-09-21 Hitachi Ltd プログラマブルコントローラのプログラミング装置
JPH0695713A (ja) * 1992-09-14 1994-04-08 Hitachi Ltd プログラマブルコントローラとそのプログラミング方法
US6268853B1 (en) * 1999-09-30 2001-07-31 Rockwell Technologies, L.L.C. Data structure for use in enterprise controls
JP2003084813A (ja) * 2001-09-14 2003-03-19 Fuji Electric Co Ltd ラダー回路の編集装置、および、その編集方法
US7272458B2 (en) * 2004-04-13 2007-09-18 Omron Corporation Control system setting device
JP3910196B2 (ja) * 2004-10-21 2007-04-25 ファナック株式会社 シーケンスプログラムの編集装置
JP4924976B2 (ja) * 2005-03-23 2012-04-25 新日鉄ソリューションズ株式会社 ソフトウェア開発支援システム
US8499277B2 (en) * 2006-03-29 2013-07-30 Mitsubishi Electric Corporation Programming support apparatus, programming support method, program for causing computer to implement the method, and recording medium containing the program
CN102365594B (zh) * 2009-03-25 2014-04-16 三菱电机株式会社 参数设定装置
WO2011080945A1 (ja) * 2009-12-28 2011-07-07 三菱電機株式会社 プログラム作成支援装置
JP5163766B2 (ja) * 2011-03-15 2013-03-13 オムロン株式会社 設計支援システム
JP5195955B2 (ja) * 2011-03-15 2013-05-15 オムロン株式会社 設計支援システム
WO2014167622A1 (ja) * 2013-04-08 2014-10-16 三菱電機株式会社 プログラム編集装置、プログラム編集方法およびプログラム編集プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001325011A (ja) 2000-05-12 2001-11-22 Omron Corp プログラマブルコントローラシステム
JP2002041111A (ja) 2000-07-26 2002-02-08 Matsushita Electric Works Ltd プログラミング支援装置

Also Published As

Publication number Publication date
JPWO2014167623A1 (ja) 2017-02-16
DE112013006918T5 (de) 2015-12-24
TW201439700A (zh) 2014-10-16
JP5921765B2 (ja) 2016-05-24
CN105144004A (zh) 2015-12-09
CN105144004B (zh) 2017-11-10
KR20150139598A (ko) 2015-12-11
WO2014167623A1 (ja) 2014-10-16
US20160132305A1 (en) 2016-05-12
TWI497241B (zh) 2015-08-21

Similar Documents

Publication Publication Date Title
KR101772785B1 (ko) 프로그램 그래프 표시 장치, 프로그램 그래프 표시 방법 및 프로그램 그래프 표시 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
US8249732B2 (en) System and method for developing automated templates for knowledge capture
JP2009501970A (ja) 有限状態マシンモデルの構築
JP5777837B2 (ja) プログラム開発支援装置およびその方法
US20230384766A1 (en) Information processing apparatus, ladder-program generation apparatus, information processing method, ladder-program generation method, method of manufacturing product, and recording medium
CN115495069B (zh) 基于模型驱动的煤炭工业软件流程实现方法、装置及设备
JP7067520B2 (ja) 開発支援装置、開発支援装置の制御方法、情報処理プログラム、および記録媒体
JP5425317B2 (ja) モーションsfcプログラム部品作成装置
KR101726120B1 (ko) 프로그램 편집 장치, 프로그램 편집 방법 및 프로그램 편집 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
JP2010033500A (ja) Guiデータ変換システムおよびguiデータ変換方法
JP2017102872A (ja) 開発装置、開発システム、およびプログラム
JP2007011507A (ja) プログラムツリーの表示方法、およびプログラム生成システム
JP2015056140A (ja) クローン検出方法及びクローン共通関数化方法
JP2011204069A (ja) テスト方法およびテスト仕様書テストデータ自動生成装置
US20220164495A1 (en) Manufacturing system design assistance apparatus
JP7380376B2 (ja) 情報処理装置およびラダープログラムを表示するためのプログラム
JP2003223204A (ja) プログラマブルコントローラのプログラミング方法およびその装置並びに記憶媒体
JP2007047971A (ja) 個別プログラム生成装置及び方法
CN110637522B (zh) 控制律增益模型自动生成方法及系统
JP2014186617A (ja) 画面操作テスト項目実行装置
JP2016014951A (ja) 情報処理装置及び情報処理方法及びプログラム
WO2012124153A1 (ja) シミュレーション装置
JP2016071388A (ja) ジョブ管理システム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant