KR20090010942A - 프로그래머블 컨트롤러의 주변 장치, 치환 방법 및프로그램 - Google Patents

프로그래머블 컨트롤러의 주변 장치, 치환 방법 및프로그램 Download PDF

Info

Publication number
KR20090010942A
KR20090010942A KR1020087009545A KR20087009545A KR20090010942A KR 20090010942 A KR20090010942 A KR 20090010942A KR 1020087009545 A KR1020087009545 A KR 1020087009545A KR 20087009545 A KR20087009545 A KR 20087009545A KR 20090010942 A KR20090010942 A KR 20090010942A
Authority
KR
South Korea
Prior art keywords
variable
program
address
sequence program
type
Prior art date
Application number
KR1020087009545A
Other languages
English (en)
Other versions
KR100967761B1 (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 KR20090010942A publication Critical patent/KR20090010942A/ko
Application granted granted Critical
Publication of KR100967761B1 publication Critical patent/KR100967761B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • 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/13152Modification of program

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)

Abstract

기존의 프로그램을, 변수를 사용한 프로그램으로 치환하기 위해서, 상기 기존의 프로그램에 있어서 기술된 어드레스를 추출하고, 상기 추출한 각 어드레스에 대해 각각 고유의 변수를 할당하여, 상기 어드레스와 이 어드레스에 대응하는 변수를 관련지은 변수 대응 정보를 작성하는 변수 정보 작성 수단과, 상기 기존의 프로그램에 있어서 기술된 어드레스를 상기 변수 대응 정보에 기초하여 상기 변수로 치환하고, 상기 기존의 프로그램을 상기 변수를 사용한 프로그램으로 치환하는 치환 수단을 구비한다.

Description

프로그래머블 컨트롤러의 주변 장치, 치환 방법 및 프로그램{PERIPHERAL DEVICE OF PROGRAMMABLE CONTROLLER, METHOD OF VARIABLE SUBSTITUTION, AND COMPUTER PROGRAM PRODUCT THEREOF}
본 발명은 프로그래머블 컨트롤러의 주변 장치, 치환 방법 및 프로그램에 관한 것으로, 특히 프로그래머블 로직 컨트롤러(이하, PLC라고 부르는 경우가 있음)의 시퀀스(sequence) 프로그램의 작성 작업, 편집 작업의 간략화를 실현하는 프로그래머블 컨트롤러의 주변 장치, 치환 방법 및 프로그램에 관한 것이다.
종래, PLC의 시퀀스 프로그램의 작성, 편집이 가능한 PLC의 주변 장치에 있어서는 시퀀스 프로그램의 프로그램을 작성할 때에, PLC 내부 메모리의 어드레스를 기술하여 시퀀스 프로그램의 프로그램 코드를 작성하였다.
그러나, 최근 PLC 내부 메모리의 어드레스 대신에 변수를 사용한 프로그램의 작성 방법이 행해지게 되었다. 즉, PLC 내부의 메모리의 어드레스를 직접 시퀀스 프로그램에 기술하는 것이 아니라, 이 PLC 내부 메모리의 어드레스를 변수로 치환하여 기술하는 프로그램의 작성 방법이 행해지게 되었다. 이와 같은 시퀀스 프로그램의 작성 방법에서는 예를 들어 시퀀스 프로그램의 코드에 있어서, 「LD X0」라고 기술하는 대신에 「LD(변수)」라고 기술된다.
특허 문헌 1 : 일본 특개 2000-242313호 공보
그러나, 시퀀스 프로그램의 작성에 있어서는 프로그램 작성 작업의 간략화를 위해, 과거에 작성한 기존의 시퀀스 프로그램 자산을 재사용하여 새로운 시퀀스 프로그램의 작성이 행해지고 있다.
시퀀스 프로그램은 컴파일이 행해져서 PLC에서 사용된다. 과거에 작성한 기존의 시퀀스 프로그램 자산을 재사용하여 작성한 새로운 시퀀스 프로그램에 있어서는 이 컴파일링할 때에, 기존의 시퀀스 프로그램 자산에 있어서 어드레스를 새롭게 사용될 PLC에 있어서 어드레스에 재할당할 필요가 있다.
따라서, 상술한 바와 같은 변수를 사용한 시퀀스 프로그램의 프로젝트(project)를 작성할 때, 변수를 사용하고 있지 않는 기존의 시퀀스 프로그램 자산을 재사용하는 경우에는 우선 변수를 사용하고 있지 않는 기존의 시퀀스 프로그램 자산을 카피(cory)한다. 그리고, 카피한 시퀀스 프로그램내의 입출력 어드레스(입출력 디바이스)를 글로벌(global) 변수로 선언하고, 내부 메모리 어드레스(내부 디바이스)를 로컬(local) 변수로 선언하여, 시퀀스 프로그램내의 디바이스를 변수로 치환할 필요가 있었다.
글로벌 변수는 소정 프로젝트내의 모든 프로그램내에서 사용 가능한 변수로, 프로젝트내의 개개의 프로그램에 의존하지 않는 변수이다. 즉, 글로벌 변수를 사용하는 것에 의해, 변수의 값을 프로젝트내의 모든 프로그램에서 공유할 수 있다. 또, 로컬 변수는 변수를 정의한 프로그램내에서만 사용 가능한 변수로, 프로젝트내의 개개의 프로그램에 의존한 변수이다. 즉, 로컬 변수는 변수의 값을 프로젝트내 의 다른 프로그램과 공유할 필요가 없는 경우에 사용된다. 그리고, 글로벌 변수와 로컬 변수를 구분하여 사용하는 것에 의해, 복수인에 의한 프로그램의 편집 작업을 효율적으로 행할 수 있다고 하는 메리트가 있다.
이들 치환 작업은 시퀀스 프로그램의 작성자가 수작업으로 행해야 하고, 이 치환 작업은 어드레스의 중복이 발생하지 않도록 고려하면서 행할 필요가 있다. 이렇기 때문에, 이 치환 작업은 복잡하고 또한 시간을 필요로 하는 작업으로, 변수를 사용하고 있지 않는 시퀀스 프로그램 자산의 재사용을 효율적으로 행할 수 없다고 하는 문제가 있었다.
또, 글로벌 변수 및 로컬 변수의 어드레스의 할당에 있어서, 메모리에 대한 어드레스의 할당을 자동적으로 행하는 기술이 제안되고 있다(예를 들어, 특허 문헌 1 참조). 그러나, 이 문헌과 같은 종래의 기술에 있어서는 변수를 사용하고 있지 않는 기존의 시퀀스 프로그램 자산의 재사용에 관한 기술은 고려되고 있지 않다.
본 발명은 상기를 감안하여 이루어진 것으로, 변수를 사용하고 있지 않는 기존의 시퀀스 프로그램을, 변수를 사용한 시퀀스 프로그램에 자동으로 효율적으로 변환하는 것이 가능한 프로그래머블 컨트롤러의 주변 장치, 치환 방법 및 프로그램을 얻는 것을 목적으로 한다.
상술한 과제를 해결하고, 목적을 달성하기 위해, 본 발명에 관한 프로그래머블 컨트롤러의 주변 장치는, 기존의 프로그램에 있어서 기술된 어드레스를 추출하고, 추출한 각 어드레스에 대해 각각 고유의 변수를 할당하고, 어드레스와 이 어드레스에 대응하는 변수를 관련지은 변수 대응 정보를 작성하는 변수 정보 작성 수단과; 기존의 프로그램에 있어서 기술된 어드레스를 변수 대응 정보에 기초하여 변수로 치환하고, 기존의 프로그램을, 변수를 사용한 프로그램으로 치환하는 치환 수단을 구비하는 것을 특징으로 한다.
본 발명에 관한 프로그래머블 컨트롤러의 주변 장치는, 기존의 프로그램에 있어서 기술된 어드레스를 추출하고, 추출한 각 어드레스에 대해 각각 고유의 변수를 할당하고, 어드레스와 이 어드레스에 대응하는 변수를 관련지은 변수 대응 정보를 자동으로 작성하고, 이 변수 대응 정보에 기초하여, 기존의 프로그램에 있어서 기술된 어드레스를 변수로 자동으로 치환하고, 기존의 프로그램을, 변수를 사용한 프로그램으로 자동으로 치환할 수 있다. 이에 의해, 본 발명에 관한 프로그래머블 컨트롤러의 주변 장치에 의하면, 기존의 시퀀스 프로그램을, 변수를 사용한 시퀀스 프로그램으로 자동으로 효율적으로 변환하는 것이 가능하다고 하는 효과를 나타낸다.
도 1은 본 발명의 실시 형태에 관한 프로그램 작성 시스템 구성의 일례를 나타내는 도면이다.
도 2는 유용원(流用元) 프로젝트 데이터의 유용원 시퀀스 프로그램의 일례를 나타내는 도면이다.
도 3은 유용원 프로젝트 데이터의 디바이스 코멘트(comment)의 일례를 나타내는 도면이다.
도 4는 본 발명의 실시 형태에 관한 프로그램 작성 장치에 있어서 프로그램 작성부의 기능 구성을 나타내는 블록도이다.
도 5는 본 발명의 실시 형태에 관한 프로그램 작성 장치에 있어서 어드레스 종별(種別) 테이블의 일례를 나타내는 도면이다.
도 6은 본 발명의 실시 형태에 관한 프로그램 작성 장치에 있어서 변수 테이블의 일례를 나타내는 도면이다.
도 7은 본 발명의 실시 형태에 관한 프로그램 작성 장치에 있어서 글로벌 변수 테이블의 일례를 나타내는 도면이다.
도 8은 본 발명의 실시 형태에 관한 프로그램 작성 장치에 있어서 로컬 변수 테이블의 일례를 나타내는 도면이다.
도 9는 유용원 시퀀스 프로그램을, 변수를 사용한 시퀀스 프로그램으로 변환한 시퀀스 프로그램의 일례를 나타내는 도면이다.
도 10은 본 발명의 실시 형태에 관한 프로그램 작성 장치에 있어서 기억부의 구성을 나타내는 블록도이다.
도 11은 본 발명의 실시 형태에 관한 프로그램 작성 장치에 있어서 변수 테이블의 작성 처리를 설명하기 위한 플로우차트이다.
도 12는 본 발명의 실시 형태에 관한 프로그램 작성 장치에 있어서 변수 테이블의 작성 방법을 설명하기 위한 도면이다.
도 13은 본 발명의 실시 형태에 관한 프로그램 작성 장치에 있어서 프로그램의 치환 처리를 설명하기 위한 플로우차트이다.
도 14는 본 발명의 실시 형태에 관한 프로그램 작성 장치에 있어서 시퀀스 프로그램의 변환을 설명하는 도면이다.
도 15는 본 발명의 실시 형태에 관한 프로그램 작성 장치에 있어서 글로벌 변수 선언 처리를 설명하기 위한 플로우차트이다.
도 16은 본 발명의 실시 형태에 관한 프로그램 작성 장치에 있어서 글로벌 변수 테이블의 작성을 설명하는 도면이다.
도 17은 본 발명의 실시 형태에 관한 프로그램 작성 장치에 있어서 로컬 변수 선언 처리를 설명하기 위한 플로우차트이다.
도 18은 본 발명의 실시 형태에 관한 프로그램 작성 장치에 있어서 로컬 변수 테이블의 작성을 설명하는 도면이다.
도 19는 본 발명의 실시 형태에 관한 프로그램 작성 장치의 기능을 설명하는 도면이다.
도 20은 본 발명의 실시 형태에 관한 프로그램 작성 장치의 기능을 설명하는 도면이다.
도 21은 본 발명의 실시 형태에 관한 프로그램 치환 방법 및 프로그램 작성 방법의 프로그램을 실행 가능한 컴퓨터 장치의 개략 구성의 일례를 나타내는 블록도이다.
<부호의 설명>
1 프로그램 작성 장치
3 입력 장치
5 표시 장치
7 외부 기억 장치
11 프로그램 작성부
13 기억부
15 통신부
17 제어부
71 유용원 프로젝트 데이터
72 유용원 시퀀스 프로그램
73 디바이스 코멘트
111 변수 테이블 작성부
112 글로벌 변수 테이블 작성부
113 로컬 변수 테이블 작성부
114 치환 처리부
115 프로그램 작성부
131 프로그램 메모리
132 데이터 메모리
133 유용후 프로젝트 메모리
134 글로벌 변수 테이블
135A 시퀀스 프로그램 A
135B 시퀀스 프로그램 B
136A 로컬 변수 테이블 A
136B 로컬 변수 테이블 B
137 어드레스 종별 테이블
138 변수 테이블
139 유용후 프로젝트 데이터
201 입력 장치
202 표시 장치
203 CPU
204 메모리
205 기억 장치
206 매체 구동 장치
207 네트워크 인터페이스
208 버스
이하에, 본 발명에 관한 프로그래머블 컨트롤러(PLC)의 주변 장치, 치환 방법 및 프로그램의 실시 형태를 도면에 기초하여 상세하게 설명한다. 또한, 본 발명은 이하의 기술에 의해 한정되지 않으며, 본 발명의 요지를 일탈하지 않는 범위내에서 적절히 변경 가능하다.
실시 형태
도 1은 본 발명에 관한 PLC의 주변 장치로서의 기능을 구비한, 본 발명의 실 시 형태에 관한 프로그램 작성 시스템 구성의 일례를 나타내는 도면이다. 본 실시 형태에 관한 프로그램 작성 시스템은 도 1에 나타내는 바와 같이, PLC의 주변 장치인 프로그램 작성 장치(1)와, 입력 장치(3)와, 표시 장치(5)와, 외부 기억 장치(7)를 구비하여 구성되어 있다. 
종래의 프로그램 작성 장치에 있어서, 변수를 사용하고 있지 않는 기존의 시퀀스 프로그램 자산을 재사용하여 변수를 사용한 새로운 시퀀스 프로그램의 프로젝트를 작성하기 위해서는 우선, 변수를 사용하고 있지 않는 기존의 시퀀스 프로그램 자산을 신규의 프로젝트에 카피한다. 다음에, 카피한 시퀀스 프로그램내의 입출력 어드레스(입출력 디바이스)를 글로벌 변수로 선언하고, 내부 메모리 어드레스(내부 디바이스)를 로컬 변수로 선언하여, 시퀀스 프로그램내의 디바이스를 변수로 치환한다.
종래의 치환 작업은 시퀀스 프로그램의 작성자가 수작업으로 행해야 하고, 또 어드레스의 중복이 발생하지 않도록 고려하면서 행할 필요가 있어서 복잡하며 또한 시간을 요하는 작업이었다. 이 때문에, 시퀀스 프로그램 작성자의 작업의 부담이 크고, 변수를 사용하고 있지 않는 시퀀스 프로그램 자산의 재사용을 효율적으로 행할 수 없었다.
이에 대해, 본 실시 형태에 관한 프로그램 작성 장치(1)에서는 이 치환 작업을 자동적으로 행할 수 있다. 이에 의해, 본 실시 형태에 관한 프로그램 작성 장치(1)에서는 시퀀스 프로그램의 작성자 손을 번거롭게 하지 않고, 변수를 사용하고 있지 않는 시퀀스 프로그램 자산을 재사용하여, 새로운 시퀀스 프로그램의 프로젝 트를 효율적으로 작성할 수 있다. 여기서, 본 실시 형태에 관한 프로그램 작성 장치(1)는, 도 1에 나타내는 바와 같이, 프로그램 작성부(11)와, 기억부(13)와, 통신부(15)와 제어부(17)를 구비하여 구성된다.
입력 장치(3)는 프로그램 작성 장치에 대한 조작을 지시하는 조작 지시 정보 등을 입력하는 조작 지시 정보 입력 수단이다. 표시 장치(5)는 시퀀스 프로그램이나 프로그램 작성 장치(1)에 있어서 처리 데이터 등의 각종 정보를 표시하는 표시 수단이다.
외부 기억 장치(7)는 과거에 작성한 유용원 프로젝트 데이터(71)를 기억하는 기억 수단이다. 이 외부 기억 장치(7)에는 유용원 프로젝트 데이터(71)로서, 변수를 사용하고 있지 않는 유용원 시퀀스 프로그램(72)과, 이 유용원 시퀀스 프로그램(72)의 부속 데이터로 시퀀스 프로그램에 사용된 어드레스(디바이스)에 대한 코멘트인 디바이스 코멘트(73)가 기억되어 있다.
도 2는 유용원 프로젝트 데이터(71)의 유용원 시퀀스 프로그램(72)의 일례를 나타내는 도면이다. 이 유용원 시퀀스 프로그램(72)은 후술하는 바와 같이, 기존의 시퀀스 프로그램 자산을 재사용하여 새로운 시퀀스 프로그램을 작성할 때의 유용원으로 되는 시퀀스 프로그램이다. 도 2에 나타내는 바와 같이, 이 유용원 시퀀스 프로그램(72)에는 프로그램의 단계와 이 단계에 대응한 코드가 기술되어 있다. 예를 들어, 도 2에 있어서는 「스텝 0」에는 코드「LD X0」가 기술되고, 「스텝 1」에는 코드「SET M1」이 기술되어 있다. 이와 같이, 유용원 시퀀스 프로그램(72)은 변수를 사용하지 않고 어드레스를 직접 기술한 프로그램이다.
도 3은 유용원 프로젝트 데이터(71)의 디바이스 코멘트(73)의 일례를 나타내는 도면이다. 이 디바이스 코멘트(73)는, 후술하는 바와 같이, 기존의 시퀀스 프로그램 자산을 재사용하여 새로운 시퀀스 프로그램을 작성할 때의 유용원으로 되는 디바이스 코멘트이다. 도 3에 나타내는 바와 같이, 이 디바이스 코멘트(73)에는 유용원 시퀀스 프로그램(72)에 있어서 기술된 어드레스와 이 어드레스에 관한 코멘트가 기술되어 있다. 예를 들어, 도 3에 있어서, 「어드레스 X0」에 대해서는 이 어드레스가 의미하는 내용인 「기동 스위치」가 기술되고, 「어드레스 Y1」에 대해서는 이 어드레스가 의미하는 내용인 「기동 램프」가 기술되어 있다.
도 4는 프로그램 작성부(11)의 기능 구성을 나타내는 블록도이다. 프로그램 작성부(11)는, 도 4에 나타내는 바와 같이, 변수 테이블 작성부(111)와, 글로벌 변수 테이블 작성부(112)와, 로컬 변수 테이블 작성부(113)와, 치환 처리부(114)와, 프로그램 작성부(115)를 구비한다.
프로그램 작성부(11)가 변수를 사용하고 있지 않는 기존의 시퀀스 프로그램 자산을 재사용하여 변수를 사용한 새로운 시퀀스 프로그램의 프로젝트를 작성하는 경우에는 우선 변수 테이블 작성부(111)가 기존의 유용원 시퀀스 프로그램(72)과 디바이스 코멘트(73)를 외부 기억 장치(7)로부터 기억부(13)에 카피한다.
다음에, 변수 테이블 작성부(111)는 카피한 기존의 유용원 시퀀스 프로그램(72)의 코드 중의 어드레스에 대해, 기억부(13)에 미리 기억된 도 5에 나타내는 바와 같은 어드레스 종별 테이블(어드레스 종별 정보)을 검색하는 것에 의해, 유용원 시퀀스 프로그램(72)의 코드 중의 어드레스의 종별을 판별한다. 도 5는 어드레 스 종별 테이블의 일례를 나타내는 도면이다. 어드레스 종별은 글로벌과 로컬의 두 종류로 분류된다. 이 어드레스 종별 테이블에는 시퀀스 프로그램에 있어서 사용되는 어드레스와, 이 어드레스의 어드레스 종별(글로벌 또는 로컬)이 대응지어져 기억되어 있다.
그리고, 변수 테이블 작성부(111)는 기존의 유용원 시퀀스 프로그램(72)의 코드 중의 어드레스와, 판별한 어드레스 종별(글로벌 또는 로컬)과, 디바이스 코멘트(73)에 기초하여, 도 6에 나타내는 바와 같은 어드레스와 이 어드레스에 대응하는 변수를 관련지어 유지하는 변수 테이블(변수 정보)을 작성하여 기억부(13)에 기억시킨다. 도 6은 변수 테이블의 일례를 나타내는 도면이다. 도 6에 있어서는 변수명으로서 디바이스 코멘트(73)에 포함되는 「코멘트」의 명칭을 그대로 유용하여 사용하고 있다.
글로벌 변수 테이블 작성부(112)는 변수 테이블 작성부(111)에 있어서 작성한 도 6에 나타내는 바와 같은 변수 테이블로부터 어드레스 종별이 글로벌 종별인 변수명 및 이 변수명에 대응하는 어드레스를 추출하고, 도 7에 나타내는 이 추출한 변수와 어드레스를 관련지은 글로벌 종별 변수 정보인 글로벌 변수 테이블을 작성하여 글로벌 변수 선언을 행한다. 도 7은 글로벌 변수 테이블의 일례를 나타내는 도면이다. 글로벌 변수 테이블에는, 도 7에 나타내는 바와 같이, 어드레스 종별이 글로벌 종별인 어드레스(디바이스) 및 이에 대응하는 변수명이 유지되어 있다. 이 글로벌 변수 테이블은 변수를 사용하고 있지 않는 기존의 시퀀스 프로그램의 어드레스(디바이스)를 변수로 치환하여 작성한 새로운 시퀀스 프로그램, 또는 이 새로 운 시퀀스 프로그램을 사용하여 작성한 새로운 시퀀스 프로그램의 컴파일링을 행할 때에 사용된다.
로컬 변수 테이블 작성부(113)는 변수 테이블 작성부(111)에 있어서 작성한 도 6에 나타내는 변수 테이블로부터 어드레스 종별이 로컬 종별인 변수명을 추출하고, 도 8에 나타내는 로컬 변수 테이블(어드레스의 종별이 로컬 종별인 변수의 정보인 로컬 종별 변수 정보)을 작성하여 로컬 변수 선언을 행한다. 도 8은 로컬 변수 테이블의 일례를 나타내는 도면이다. 로컬 변수 테이블에는, 도 8에 나타내는 바와 같이, 어드레스 종별이 로컬 종별인 변수명이 유지되어 있다. 이 로컬 변수 테이블은 변수를 사용하고 있지 않는 기존의 시퀀스 프로그램의 어드레스(디바이스)를 변수로 치환하여 작성한 새로운 시퀀스 프로그램, 또는 이 새로운 시퀀스 프로그램을 사용하여 작성한 새로운 시퀀스 프로그램의 컴파일링을 행할 때에 사용된다.
치환 처리부(114)는 변수 테이블 작성부(111)에 있어서 작성한 도 6에 나타내는 바와 같은 변수 테이블에 기초하여, 기존의 유용원 시퀀스 프로그램(72)의 코드 중의 어드레스를, 각 어드레스에 대해 각각 고유의 변수로 치환하는 것에 의해, 기존의 유용원 시퀀스 프로그램(72)을 변수를 사용한 시퀀스 프로그램으로 치환한다(변환한다). 도 9는 도 2에 나타내는 유용원 시퀀스 프로그램(72)을 변수를 사용한 시퀀스 프로그램으로 변환한 시퀀스 프로그램의 일례를 나타내는 도면이다.
여기서, 기존의 유용원 시퀀스 프로그램(72)의 코드 중의 어드레스를 변수로 치환할 때에, 치환 처리부(114)는 도 3에 나타내는 바와 같은 디바이스 코멘트(73) 에 기술된 각 어드레스에 대한 설명 기술인 「코멘트」의 명칭을 「변수」의 명칭(변수명)으로 사용한다. 또, 디바이스 코멘트(73)에 있어서 어드레스에 대한 「코멘트」가 기술되어 있지 않은 경우는 미리 지정된 고정 문자 또는 매회 지시받는 고정 문자를 이 어드레스를 치환하는 「변수」의 명칭(변수명)으로 사용한다.
프로그램 작성부(115)는 변수를 사용한 시퀀스 프로그램을 유용하거나, 또는 신규로 시퀀스 프로그램을 작성하는 프로그램 작성 수단이다.
기억부(13)는 프로그램 작성 장치(1)에 있어서 처리를 행하기 위한 각종 프로그램이나 처리시에 생성되는 시퀀스 프로그램, 데이터 등을 기억하는 기억 수단이다. 도 10은 기억부(13)의 구성을 나타내는 블록도이다. 기억부(13)는, 도 10에 나타내는 바와 같이, 프로그램 작성 장치(1)에 있어서 처리를 행하기 위한 각종 프로그램을 기억하는 프로그램 메모리(131)와, 프로그램 작성 장치(1)에 있어서 처리시에 생성되는 데이터를 기억하는 데이터 메모리(132)와, 프로그램 작성 장치(1)에 있어서 기존의 유용원 시퀀스 프로그램(72)을 유용하여 새롭게 작성 또는 편집한 시퀀스 프로그램의 프로젝트를 기억하는 유용후 프로젝트 메모리(133)를 구비한다.
또, 유용후 프로젝트 메모리(133)는 유용후 프로젝트 데이터(139)를 기억하고 있고, 이 유용후 프로젝트 데이터(139)에는 예를 들어 글로벌 변수 테이블(134)과, 기존의 유용원 시퀀스 프로그램(72)을 유용하여 새롭게 작성 또는 편집한 시퀀스 프로그램 A(135A)와, 시퀀스 프로그램 A(135A)에 대응하는 로컬 변수 테이블 A(136A)와, 기존의 유용원 시퀀스 프로그램(72)을 유용하여 새롭게 작성 또는 편집한 시퀀스 프로그램 B(135B)와, 시퀀스 프로그램 B(135B)에 대응하는 로컬 변수 테 이블 B(136B)와, 어드레스 종별 테이블(137)과, 변수 테이블(138)을 기억하고 있다. 또, 기억부(13)는 외부 기억 장치(7)로부터 기존의 유용원 시퀀스 프로그램(72) 및 디바이스 코멘트(73)를 카피했을 때에는 이것을 데이터 메모리(132)에 기억한다.
통신부(15)는 프로그램 작성 장치(1)의 외부에 접속한 외부 기억 장치(7)와의 사이에서 정보의 입출력을 행하는 정보 입출력 수단이다. 제어부(17)는 프로그램 작성 장치(1) 전체의 제어를 행한다.
다음에, 이와 같이 구성된 본 실시 형태에 관한 프로그램 작성 시스템을 사용하여, 과거에 작성한 기존의 시퀀스 프로그램 자산을 재사용하여 새로운 시퀀스 프로그램을 작성할 때의 처리에 대하여 설명한다. 우선, 도 11을 참조하면서, 변수 테이블의 작성 처리에 대하여 설명한다. 도 11은 본 실시 형태에 관한 프로그램 작성 장치(1)에 있어서 변수 테이블의 작성 처리를 설명하기 위한 플로우차트이다.
본 실시 형태에 관한 프로그램 작성 장치(1)에 있어서 변수 테이블을 작성하기 위해서는 우선, 프로그램 작성부(11)의 변수 테이블 작성부(111)가 기존의 유용원 시퀀스 프로그램(72)과 디바이스 코멘트(73)를 외부 기억 장치(7)로부터 기억부(13)의 데이터 메모리(132)에 카피한다(단계 S101). 다음에, 변수 테이블 작성부(111)는 기억부(13)의 데이터 메모리(132)에 카피한 유용원 시퀀스 프로그램(72)의 선두행부터 검색을 개시하여, 유용원 시퀀스 프로그램(72)의 코드에 포함되는 어드레스(디바이스)의 추출을 행한다(단계 S102).
그리고, 변수 테이블 작성부(111)는 변수 테이블을 참조하여, 추출한 어드레 스(디바이스)가 변수 테이블에 미등록인지의 여부를 판단한다(단계 S103). 추출한 어드레스(디바이스)가 변수 테이블에 미등록인 경우에는(단계 S103에서 긍정), 이 어드레스(디바이스)를 변수 테이블에 등록한다(단계 S104). 그리고, 변수 테이블 작성부(111)는 기억부(13)에 미리 기억된 어드레스 종별 테이블(137)로부터 이 어드레스(디바이스)를 검색하여 어드레스의 종별(글로벌 또는 로컬)을 판별하여, 어드레스의 종별(글로벌 또는 로컬)을 변수 테이블에 등록한다(단계 S105).
다음에, 변수 테이블 작성부(111)는 기억부(13)의 데이터 메모리(132)에 카피한 디바이스 코멘트(73)를 검색하고, 이 어드레스에 대한 코멘트의 유무를 판단한다(단계 S106). 어드레스에 대한 코멘트가 존재하는 경우는(단계 S106에서 긍정), 해당하는 코멘트의 명칭을 이 어드레스에 대응하는 변수(명)로서 변수 테이블에 등록한다(단계 S107). 한편, 어드레스에 대한 코멘트가 존재하지 않는 경우는(단계 S106에서 부정), 미리 지정된 고정 문자 또는 매회 지시받는 고정 문자를 이 어드레스에 대응하는 변수(명)로서 변수 테이블에 등록한다(단계 S108).
그리고, 변수(명)의 등록후, 변수 테이블 작성부(111)는 유용원 시퀀스 프로그램(72)의 코드에 포함되는 모든 어드레스(디바이스)의 추출이 종료하여 변수 테이블에 등록되어 있는지의 여부를 판단한다(단계 S109). 유용원 시퀀스 프로그램(72)의 코드에 포함되는 모든 어드레스(디바이스)가 변수 테이블에 등록되지 있지 않은 경우는(단계 S109에서 부정), 단계 S102로 돌아와서 유용원 시퀀스 프로그램(72)의 코드에 포함되는 어드레스(디바이스)의 추출을 반복한다. 또, 유용원 시퀀스 프로그램(72)의 코드에 포함되는 모든 어드레스(디바이스)가 변수 테이블에 등록되어 있는 경우는(단계 S109에서 긍정), 일련의 변수 테이블의 작성 처리가 종료된다.
또, 단계 S103으로 돌아와서, 추출한 어드레스(디바이스)가 변수 테이블에 등록되어 있는 경우에는(단계 S103에서 부정), 그대로 단계 S109에 진행한다. 변수 테이블 작성부(111)는 유용원 시퀀스 프로그램(72)의 코드에 포함되는 모든 어드레스(디바이스)의 추출이 종료하여 변수 테이블에 등록되어 있는지의 여부를 판단한다(단계 S109).
그리고, 유용원 시퀀스 프로그램(72)의 코드에 포함되는 모든 어드레스(디바이스)가 변수 테이블에 등록되어 있지 않은 경우는(단계 S109에서 부정), 단계 S102로 돌아와서 유용원 시퀀스 프로그램(72)의 코드에 포함되는 어드레스(디바이스)의 추출을 반복한다. 또, 유용원 시퀀스 프로그램(72)의 코드에 포함되는 모든 어드레스(디바이스)가 변수 테이블에 등록되어 있는 경우는(단계 S109에서 긍정), 일련의 변수 테이블의 작성 처리가 종료된다.
이상과 같은 처리를 행하는 것에 의해, 본 실시 형태에 관한 프로그램 작성 장치(1)에 있어서는, 도 12에 나타내는 바와 같이, 유용원 프로젝트 데이터(71)의 유용원 시퀀스 프로그램(72)과 어드레스 종별 테이블(137)에 기초하여 변수 테이블(138)을 작성할 수 있다. 도 12는 본 실시 형태에 관한 프로그램 작성 장치(1)에 있어서 변수 테이블의 작성 방법을 설명하기 위한 도면이다.
다음에, 상기와 같이 하여 작성한 변수 테이블(138)에 기초하여, 기존의 유용원 시퀀스 프로그램(72)의 코드 중의 어드레스를, 이 어드레스에 대응하는 변수 로 치환할 때의 처리에 대하여 도 13을 참조하면서 설명한다. 도 13은 본 실시 형태에 관한 프로그램 작성 장치(1)에 있어서 프로그램의 치환 처리를 설명하기 위한 플로우차트이다.
본 실시 형태에 관한 프로그램 작성 장치(1)에 있어서 프로그램의 치환 처리를 실시하기 위해서는 우선 프로그램 작성부(11)의 치환 처리부(114)가 기억부(13)에 카피한 유용원 시퀀스 프로그램(72)의 선두행부터 검색을 개시하여, 유용원 시퀀스 프로그램(72)의 코드에 포함되는 어드레스(디바이스)의 추출을 행한다(단계 S201). 다음에, 치환 처리부(114)는 추출한 어드레스(디바이스)를 변수 테이블에 있어서 검색하여, 변수 테이블에서 이 어드레스(디바이스)에 대응하는 변수(명)를 추출한다(단계 S202).
그리고, 치환 처리부(114)는 추출한 유용원 시퀀스 프로그램(72)의 어드레스(디바이스)를 이 변수로 치환하는 치환 처리를 행하고, 치환 처리를 행한 시퀀스 프로그램을 예를 들어 시퀀스 프로그램 A(135A)로서 유용후 프로젝트 메모리(133)에 기억시킨다(단계 S203). 치환 처리후, 치환 처리부(114)는 유용원 시퀀스 프로그램(72)의 모든 어드레스(디바이스)를 대응하는 변수로 치환이 완료했는지의 여부를 판단한다(단계 S204).
여기서, 유용원 시퀀스 프로그램(72)내의 모든 어드레스(디바이스)의 변수로의 치환이 완료되지 않다고 판단한 경우는(단계 S204에서 부정), 단계 S201로 돌아온다. 한편, 유용원 시퀀스 프로그램(72)내의 모든 어드레스(디바이스)의 변수로의 치환이 완료했다고 판단한 경우는(단계 S204에서 긍정), 일련의 변수 테이블의 작 성 처리가 종료된다.
이상과 같은 처리를 행하는 것에 의해, 본 실시 형태에 관한 프로그램 작성 장치(1)에 있어서는, 도 14에 나타내는 바와 같이, 유용원 프로젝트 데이터(71)의 유용원 시퀀스 프로그램(72)과 변수 테이블(138)에 기초하여, 유용원 프로젝트 데이터(71)의 유용원 시퀀스 프로그램(72)에 있어서 어드레스(디바이스)를 자동으로 변수로 치환할 수 있다. 그리고, 유용원 프로젝트 데이터(71)를 변수를 사용한 시퀀스 프로그램으로 치환할 수 있다. 즉, 본 실시 형태에 관한 프로그램 작성 장치(1)에 의하면, 변수를 사용하고 있지 않는 기존의 시퀀스 프로그램을, 변수를 사용한 시퀀스 프로그램으로 자동으로 치환(변환)할 수 있다. 도 14는 본 실시 형태에 관한 프로그램 작성 장치(1)에 있어서 시퀀스 프로그램의 치환(변환)을 설명하는 도면이다.
다음에, 상기와 같이 하여 작성한 변수 테이블(138)에 기초하여, 글로벌 변수 테이블을 작성하여 글로벌 변수 선언을 행하는 처리에 대하여 도 15를 참조하면서 설명한다. 도 15는 본 실시 형태에 관한 프로그램 작성 장치(1)에 있어서 글로벌 변수 선언 처리를 설명하기 위한 플로우차트이다.
본 실시 형태에 관한 프로그램 작성 장치(1)에 있어서 글로벌 변수 선언 처리를 행하기 위해서는 우선 프로그램 작성부(11)의 글로벌 변수 테이블 작성부(112)가 어드레스 종별이 글로벌 종별인 변수(명) 및 이 변수에 대응하는 어드레스(디바이스)를 변수 테이블(138)로부터 추출한다(단계 S301). 다음에, 글로벌 변수 테이블 작성부(112)는 추출한 변수(명) 및 이 변수에 대응하는 어드레스(디바이 스)를 글로벌 변수 테이블(134)에 등록한다(단계 S302).
등록후, 글로벌 변수 테이블 작성부(112)는 변수 테이블(138)에 포함되는 모든 글로벌 종별인 변수(명) 및 이 변수에 대응하는 어드레스(디바이스)를 글로벌 변수 테이블(134)에 등록했는지의 여부를 판단한다(단계 S303).
여기서, 변수 테이블(138)에 포함되는 모든 글로벌 종별인 변수(명) 및 이 변수에 대응하는 어드레스(디바이스)를 글로벌 변수 테이블(134)에 등록하고 있지 않다고 판단한 경우에는(단계 S303에서 부정), 단계 S301로 돌아온다. 한편, 변수 테이블(138)에 포함되는 모든 글로벌 종별인 변수(명) 및 이 변수에 대응하는 어드레스(디바이스)를 글로벌 변수 테이블(134)에 등록했다고 판단한 경우는(단계 S303에서 긍정), 일련의 글로벌 변수 선언 처리가 종료된다.
이상과 같은 처리를 행하는 것에 의해, 본 실시 형태에 관한 프로그램 작성 장치(1)에 있어서는, 도 16에 나타내는 바와 같이, 변수 테이블(138)에 기초하여 글로벌 변수 테이블(134)을 자동으로 작성하거나, 또는 새로운 변수(명) 및 이 변수(명)에 대응하는 어드레스(디바이스)를 글로벌 변수 테이블(134)에 추가하여 글로벌 변수 선언을 행할 수 있다. 도 16은 본 실시 형태에 관한 프로그램 작성 장치(1)에 있어서 글로벌 변수 테이블의 작성을 설명하는 도면이다.
다음에, 상기와 같이 하여 작성한 변수 테이블(138)에 기초하여, 로컬 변수 테이블을 작성하여 로컬 변수 선언을 행하는 처리에 대하여 도 17을 참조하면서 설명한다. 도 17은 본 실시 형태에 관한 프로그램 작성 장치(1)에 있어서 로컬 변수 선언 처리를 설명하기 위한 플로우차트이다.
본 실시 형태에 관한 프로그램 작성 장치(1)에 있어서 로컬 변수 선언 처리를 행하기 위해서는 우선 프로그램 작성부(11)의 로컬 변수 테이블 작성부(113)가 어드레스 종별이 로컬 종별인 변수(명)를 변수 테이블(138)로부터 추출한다(단계 S401). 다음에, 로컬 변수 테이블 작성부(113)는 추출한 변수(명)를 예를 들어 로컬 변수 테이블 A(136A)에 등록한다(단계 S402).
등록후, 로컬 변수 테이블 작성부(113)는 변수 테이블(138)에 포함되는 모든 로컬 종별인 변수(명)를 로컬 변수 테이블 A(136A)에 등록했는지를 판단한다(단계 S403).
여기서, 변수 테이블(138)에 포함되는 모든 로컬 종별인 변수(명)를 로컬 변수 테이블 A(136A)에 등록하고 있지 않다고 판단한 경우에는(단계 S403에서 부정), 단계 S401로 돌아온다. 한편, 변수 테이블(138)에 포함되는 모든 로컬 종별인 변수(명)를 로컬 변수 테이블 A(136A)에 등록했다고 판단한 경우는(단계 S403에서 긍정), 일련의 로컬 변수 선언 처리가 종료된다.
이상과 같은 처리를 행하는 것에 의해, 본 실시 형태에 관한 프로그램 작성 장치(1)에 있어서는, 도 18에 나타내는 바와 같이, 변수 테이블(138)에 기초하여, 시퀀스 프로그램 A(135A)에 대응하는 로컬 변수 테이블 A(136A)를 작성하여 로컬 변수 선언을 행할 수 있다. 도 18은 본 실시 형태에 관한 프로그램 작성 장치(1)에 있어서 로컬 변수 테이블의 작성을 설명하는 도면이다.
또, 본 실시 형태에 관한 프로그램 작성 장치(1)에 있어서, 프로그램 작성부(115)는 상기와 같이 하여 치환ㆍ변환한, 변수를 사용한 시퀀스 프로그램 A(135A)를 유용하여 새로운 시퀀스 프로그램 B(135B)를 작성하고, 예를 들어 시퀀스 프로그램 B(135B)로서 유용후 프로젝트 메모리(133)에 기억시킬 수 있다. 이 때, 상기와 동양(同樣)으로 하여, 글로벌 선언 처리를 행하여, 글로벌 변수 테이블(134)에 새로운 어드레스(디바이스)를 추가할 수 있다. 또, 상기와 동양으로 하여, 새로운 시퀀스 프로그램 B(135B)에 대응하는 로컬 변수 테이블 B(136B)를 작성하여 로컬 변수 선언을 실시할 수 있다.
이에 의해, 본 실시 형태에 관한 프로그램 작성 장치(1)에 있어서는, 도 19에 나타내는 바와 같이, 변수를 사용한 시퀀스 프로그램 A(135A)를 유용하여, 변수를 사용한 새로운 시퀀스 프로그램 B(135B)를 작성할 수 있다. 도 19는 본 실시 형태에 관한 프로그램 작성 장치(1)의 기능을 설명하는 도면이다.
즉, 본 실시 형태에 관한 프로그램 작성 장치(1)에 의하면, 도 20에 나타내는 바와 같이, 유용원 프로젝트 데이터(71)의 유용원 시퀀스 프로그램(72) 및 디바이스 코멘트(73)와 변수 테이블(138)에 기초하여, 유용후 프로젝트 데이터(139)의 시퀀스 프로그램 A(135A), 로컬 변수 테이블 A(136A), 및 글로벌 변수 테이블(134)을 자동으로 작성, 갱신할 수 있다.
그리고, 유용후 프로젝트 데이터(139)의 시퀀스 프로그램 A(135A), 로컬 변수 테이블 A(136A) 및 글로벌 변수 테이블(134)과, 변수 테이블(138)에 기초하여, 유용후 프로젝트 데이터(139)의 시퀀스 프로그램 B(135B), 로컬 변수 테이블 B(136B) 및 글로벌 변수 테이블(134)을 작성, 갱신할 수 있다. 도 20은 프로그램 작성 장치(1)의 기능을 설명하는 도면이다.
상술한 바와 같이, 본 실시 형태에 관한 프로그램 작성 장치(1)는 PLC의 시퀀스 프로그램을 작성, 편집하는 PLC의 주변 장치이다. 이 프로그램 작성 장치(1)에 있어서는 시퀀스 프로그램내에 있어서 입출력 어드레스(입출력 디바이스)나 PLC의 내부 메모리 어드레스(내부 디바이스) 등의 어드레스(디바이스) 대신에 변수를 사용하여 시퀀스 프로그램의 작성을 행할 수 있다. 즉, 어드레스를 직접 시퀀스 프로그램에 기술하는 것이 아니라, 이 어드레스를 변수로 치환하여 기술한 시퀀스 프로그램의 작성을 행할 수 있다.
또, 이 프로그램 작성 장치(1)에서는 과거에 작성한 기존의 시퀀스 프로그램 자산을 재사용하여 새로운 시퀀스 프로그램을 작성할 수 있다. 여기서, 이 프로그램 작성 장치(1)에서는 과거에 작성한 시퀀스 프로그램 자산을 재사용하여 새로운 시퀀스 프로그램의 프로젝트를 작성할 때에, 변수를 사용한 기존의 시퀀스 프로그램 자산을 재사용하여 변수를 사용한 새로운 시퀀스 프로그램을 작성할 수 있다. 또, 이 프로그램 작성 장치(1)에서는 변수를 사용하고 있지 않는 기존의 시퀀스 프로그램 자산을 재사용하여 변수를 사용한 새로운 시퀀스 프로그램을 작성할 수 있다.
그리고, 본 실시 형태에 관한 프로그램 작성 장치(1)에서는 변수를 사용하고 있지 않는 기존의 시퀀스 프로그램 자산에 기술된 어드레스(디바이스)를 자동적으로 변수로 치환하여 변수를 사용한 시퀀스 프로그램으로 변환할 수 있다.
또한, 상기에 있어서는 입력 장치 및 표시 장치를 프로그램 작성 장치의 외부에 배치한 구성으로 하고 있으나, 프로그램 작성 장치가 입력 장치 및 표시 장치 를 구비한 구성으로 할 수도 있다. 또, 상기에 있어서는 프로그램 작성 장치와 외부 기억 장치를 직접 접속한 구성으로 하고 있으나, 네트워크를 통하여 프로그램 작성 장치와 외부 기억 장치를 접속하는 구성으로 하는 것도 가능하다. 또, 상기에 있어서는 기존의 유용원 프로젝트 데이터(71)를 외부 기억 장치(7)에 기억하는 형태에 대하여 설명하였으나, 유용원 프로젝트 데이터(71)를 프로그램 작성 장치(1)내의 기억부(13)에 기억하는 구성으로 할 수도 있다.
또, 상술한 프로그램 치환 방법 및 프로그램 작성 방법을, 이들 방법의 처리 순서가 격납된 프로그램으로 구성하고, 이 프로그램을 도 21에 나타내는 바와 같이, CPU, 기억 장치 등을 가지는 컴퓨터(프로그래머블 컨트롤러의 주변 장치)로 실행하는 것에 의해 실현될 수 있다.
도 21은 상술한 프로그램 치환 방법 및 프로그램 작성 방법의 프로그램을 실행 가능한 컴퓨터 장치의 개략 구성의 일례를 나타내는 블록도이다. 이 컴퓨터 장치는 입력 장치(201), 표시 장치(202), CPU(Central Processing Unit:중앙 처리 유닛)(203), 메모리(204), 기억 장치(205), 매체 구동 장치(206), 네트워크 인터페이스(207) 및 버스(208)를 구비하여 구성되어 있다.
여기서, 입력 장치(201)는 키보드, 마우스, 터치 패널, 스캐너 등에 의해 구성되며, 정보의 입력에 사용된다. 표시 장치(202)는 여러 가지의 출력 정보나 입력 장치(201)로부터의 입력된 정보 등을 표시 출력시킨다. CPU(203)는 여러 가지의 프로그램을 동작시킨다. 메모리(204)는 CPU(203)에 의해 실행되는 프로그램이 전개되며, 또 그 프로그램이 CPU(203)에 의해 실행될 때에 일시적으로 작성되는 정보 등 이 기억된다. 기억 장치(205)는 프로그램이나 프로그램 실행시의 일시적인 정보 등을 유지한다. 매체 구동 장치(206)는 프로그램이나 데이터 등을 기억한 기록 매체를 장착하고 그것들을 읽어 들여, 메모리(204) 또는 기억 장치(205)에 격납하는데 사용된다. 네트워크 인터페이스(207)는 컴퓨터 장치와 네트워크를 접속하기 위한 것이다. 버스(208)는 상기 각 부를 접속한다.
또, 상기에 있어서는 PLC의 시퀀스 프로그램을 작성하는 경우를 예로 설명하였으나, 본 발명은 PLC의 시퀀스 프로그램의 작성에 한정되는 것이 아니며, 시퀀스 프로그램의 작성 전반에 적용 가능하다.
이상과 같이, 본 발명에 관한 프로그래머블 컨트롤러의 주변 장치는 변수를 사용하고 있지 않는 기존의 시퀀스 프로그램 자산을 재사용하여 새로운 시퀀스 프로그램을 작성하는 경우에 유용하다.

Claims (7)

  1. 기존의 프로그램을, 변수를 사용한 프로그램으로 치환하는 프로그래머블 컨트롤러의 주변 장치로서,
    상기 기존의 프로그램에 있어서 기술된 어드레스를 추출하고, 상기 추출한 각 어드레스에 대해 각각 고유의 변수를 할당하여, 상기 어드레스와 이 어드레스에 대응하는 변수를 관련지은 변수 대응 정보를 작성하는 변수 정보 작성 수단과,
    상기 기존의 프로그램에 있어서 기술된 어드레스를 상기 변수 대응 정보에 기초하여 상기 변수로 치환하고, 상기 기존의 프로그램을 상기 변수를 사용한 프로그램으로 치환하는 치환 수단을 구비하는 것을 특징으로 하는 프로그래머블 컨트롤러의 주변 장치.
  2. 청구항 1에 있어서,
    상기 변수로서, 상기 추출한 어드레스에 대한 설명 기술인 코멘트의 명칭을 할당하는 것을 특징으로 하는 프로그래머블 컨트롤러의 주변 장치.
  3. 청구항 1에 있어서,
    상기 변수 정보 작성 수단은 상기 변수 대응 정보로서, 상기 기존의 프로그램에 있어서 기술된 어드레스와 이 어드레스의 종별을 관련지은 어드레스 종별 정보에 기초하여, 상기 어드레스와 상기 변수에 또한 상기 어드레스의 종별을 관련지 은 변수 대응 정보를 작성하는 것을 특징으로 하는 프로그래머블 컨트롤러의 주변 장치.
  4. 청구항 3에 있어서,
    상기 어드레스의 종별이 글로벌 종별과 로컬 종별이고,
    상기 어드레스와 상기 변수와 상기 어드레스의 종별을 관련지은 변수 대응 정보로부터, 상기 글로벌 종별로 관련지어진 변수 및 어드레스를 추출하고, 이 추출한 변수와 어드레스를 관련지은 글로벌 종별 변수 정보를 작성하는 글로벌 종별 변수 정보 작성 수단을 구비하는 것을 특징으로 하는 프로그래머블 컨트롤러의 주변 장치.
  5. 청구항 3에 있어서,
    상기 어드레스의 종별이 글로벌 종별과 로컬 종별이고,
    상기 어드레스와 상기 변수와 상기 어드레스의 종별을 관련지은 변수 대응 정보로부터, 상기 로컬 종별로 관련지어진 변수를 추출하고, 상기 어드레스의 종별이 로컬 종별인 변수의 정보인 로컬 종별 변수 정보를 작성하는 로컬 종별 변수 정보 작성 수단을 구비하는 것을 특징으로 하는 프로그래머블 컨트롤러의 주변 장치.
  6. 기존의 프로그램을, 변수를 사용한 프로그램으로 치환하는 치환 방법으로서,
    상기 기존의 프로그램에 있어서 기술된 어드레스를 추출하고, 상기 추출한 각 어드레스에 대해 각각 고유의 변수를 할당하여, 상기 어드레스와 이 어드레스에 대응하는 변수를 관련지은 변수 대응 정보를 작성하는 변수 정보 작성 공정과,
    상기 기존의 프로그램에 있어서 기술된 어드레스를 상기 변수 대응 정보에 기초하여 상기 변수로 치환하고, 상기 기존의 프로그램을 상기 변수를 사용한 프로그램으로 치환하는 치환 공정을 포함하는 것을 특징으로 하는 치환 방법.
  7. 청구항 6에 기재된 치환 방법을 프로그래머블 컨트롤러의 주변 장치에 실행시키는 프로그램.
KR1020087009545A 2007-02-19 2007-02-19 프로그래머블 컨트롤러의 주변 장치, 치환 방법 및프로그램 KR100967761B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/052982 WO2008102426A1 (ja) 2007-02-19 2007-02-19 プログラマブルコントローラの周辺装置、置換方法およびプログラム

Publications (2)

Publication Number Publication Date
KR20090010942A true KR20090010942A (ko) 2009-01-30
KR100967761B1 KR100967761B1 (ko) 2010-07-05

Family

ID=39709711

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087009545A KR100967761B1 (ko) 2007-02-19 2007-02-19 프로그래머블 컨트롤러의 주변 장치, 치환 방법 및프로그램

Country Status (6)

Country Link
US (1) US20100161085A1 (ko)
JP (1) JP4541418B2 (ko)
KR (1) KR100967761B1 (ko)
CN (1) CN101365994B (ko)
DE (1) DE112007003298T5 (ko)
WO (1) WO2008102426A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100108054A (ko) * 2009-03-27 2010-10-06 삼성전자주식회사 복수의 프로세서들을 포함하는 시스템 장치 및 그 변수 선언 및 사용 방법

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5262765B2 (ja) * 2009-01-29 2013-08-14 株式会社明電舎 Plcのプログラム変換ツール
KR101472697B1 (ko) * 2010-10-27 2014-12-12 미쓰비시덴키 가부시키가이샤 로깅 설정 장치, 로깅 설정 방법 및 기록 매체
JP2012141853A (ja) * 2011-01-04 2012-07-26 Mitsubishi Electric Corp プログラマブルコントローラ及びプログラマブルコントローラシステム
US9772617B2 (en) * 2011-06-30 2017-09-26 General Electric Company Systems and methods for function block instantiation
US9582910B2 (en) 2011-12-28 2017-02-28 Mitsubishi Electric Corporation Display-screen-data editing apparatus
JP5968186B2 (ja) * 2012-10-15 2016-08-10 三菱電機株式会社 プログラム作成支援装置及びプログラム
TWI489232B (zh) * 2012-11-14 2015-06-21 Inst Information Industry 遠端監控系統及方法及其記錄媒體
WO2014136185A1 (ja) * 2013-03-04 2014-09-12 三菱電機株式会社 プログラム開発支援装置およびその方法
DE112013006769T5 (de) * 2013-03-29 2015-11-26 Mitsubishi Electric Corp. Erzeugungsprogramm für Ablaufprogramm-Komponenten und Vorrichtung zur Erzeugung von Ablaufprogramm-Komponenten
JP6375666B2 (ja) * 2014-03-31 2018-08-22 株式会社ジェイテクト Plcおよびplc用のプログラミングツール
JP5937637B2 (ja) * 2014-04-30 2016-06-22 ファナック株式会社 シーケンスプログラムの切り替え時に、切り替え予告信号を出力する制御装置
EP3213157B1 (en) * 2014-10-30 2024-03-20 Siemens Aktiengesellschaft Using soft-sensors in a programmable logic controller
JP6483507B2 (ja) * 2015-04-07 2019-03-13 株式会社東芝 制御プログラム作成装置、及び制御プログラムのデバッグ方法
JP6452924B1 (ja) * 2018-05-11 2019-01-16 三菱電機株式会社 コンパイラおよびプログラミング支援装置
CN112084013B (zh) * 2019-06-13 2024-04-05 武汉杰开科技有限公司 一种程序调用方法、芯片及计算机存储介质
CN113268042B (zh) * 2021-05-13 2022-06-24 矿冶科技集团有限公司 一种上位机程序处理方法、装置以及电子设备
CN113848815A (zh) * 2021-08-27 2021-12-28 苏州谷夫道自动化科技有限公司 多通道数控系统plc程序共用的方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2593007B2 (ja) * 1991-03-25 1997-03-19 東北リコー株式会社 プログラム組込型機器
JPH11338732A (ja) * 1998-05-27 1999-12-10 Fuji Electric Co Ltd プログラマブルコントローラ支援装置および記録媒体
JP2000242313A (ja) 1999-02-18 2000-09-08 Omron Corp アドレス自動割付方法および装置
WO2001027701A1 (fr) * 1999-10-15 2001-04-19 Omron Corporation Systeme de reseau, procede de commande, dispositif de commande et multiprocesseur
JP2001229015A (ja) * 2000-02-18 2001-08-24 Mitsubishi Electric Corp 制御装置
FR2820222B1 (fr) * 2001-01-26 2003-03-21 Schneider Automation Procede de programmation d'une application d'automatisme
CN100397268C (zh) * 2002-12-23 2008-06-25 西门子能量及自动化公司 利用plc的存储设备的方法和结构
JP2005129026A (ja) * 2003-10-02 2005-05-19 Omron Corp プログラマブルコントローラおよび通信ユニットならびにコントローラシステムおよびデータ処理方法ならびに変数解決方法およびデータ受渡方法
EP1739512B1 (en) * 2004-04-15 2010-10-06 Mitsubishi Denki Kabushiki Kaisha Programmable logic controller peripheral device and program creation method thereof
JP4485326B2 (ja) * 2004-11-05 2010-06-23 株式会社デジタル プログラマブル表示器、表示制御プログラムおよびそのプログラムを記録した記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100108054A (ko) * 2009-03-27 2010-10-06 삼성전자주식회사 복수의 프로세서들을 포함하는 시스템 장치 및 그 변수 선언 및 사용 방법

Also Published As

Publication number Publication date
US20100161085A1 (en) 2010-06-24
WO2008102426A1 (ja) 2008-08-28
KR100967761B1 (ko) 2010-07-05
DE112007003298T5 (de) 2009-11-19
JPWO2008102426A1 (ja) 2010-05-27
JP4541418B2 (ja) 2010-09-08
CN101365994A (zh) 2009-02-11
CN101365994B (zh) 2013-08-21

Similar Documents

Publication Publication Date Title
KR100967761B1 (ko) 프로그래머블 컨트롤러의 주변 장치, 치환 방법 및프로그램
CN107918666B (zh) 一种区块链上的数据同步方法和系统
JP5747698B2 (ja) 要件管理支援装置
CN110502735B (zh) 一种电子设备通用工艺文件快速制作方法及系统
JP7131119B2 (ja) ソースアプリケーションからのソースデータをターゲットアプリケーションのターゲットデータへとマージするためのシステムおよび方法
CN110989999A (zh) 代码生成方法、装置、电子设备及介质
WO2012104959A1 (ja) モーションsfcプログラム部品作成装置
JP6862042B2 (ja) データ移行プログラム作成システム及びデータ移行プログラム作成用プログラム
JP2011059918A (ja) バージョン管理装置及びバージョン管理方法
Kirchhof et al. Variant and product line co-evolution
CN113971044A (zh) 组件文档生成方法、装置、设备及可读存储介质
JP5275087B2 (ja) プログラム生成装置およびブロック線図生成装置
JP2009176178A (ja) Plcのグローバル変数定義方式
JP2010176594A (ja) ソースコードバージョン管理プログラム及びソースコードバージョン管理方法
JP2007179114A (ja) データ処理装置、その指示データ生成装置、プログラムおよび記録媒体
JP7158576B1 (ja) 明細書作成方法
JPH0546608A (ja) 文書処理装置
JP5181788B2 (ja) ソースプログラムの言語変換装置、方法及びプログラム
JP2003186670A (ja) データベースアクセスコンポーネントの自動生成装置,自動生成方法及び自動生成プログラム
KR100817364B1 (ko) 프로그래머블 로직 컨트롤러의 주변 장치 및 그 프로그램작성 방법
JP6355861B1 (ja) プログラム開発支援装置、プログラム開発支援方法、プログラム開発支援プログラムおよび記録媒体
JP3996114B2 (ja) プログラムの配置方法
JP3577480B2 (ja) リバースエンジニアリング装置
JPH1097552A (ja) Cadデータ変換装置
CN117311767A (zh) 一种利用配置文件的多仓管理方法、装置、设备及介质

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
LAPS Lapse due to unpaid annual fee