KR101392085B1 - 프로그래머블 컨트롤러 시스템 및 개발 시스템 - Google Patents

프로그래머블 컨트롤러 시스템 및 개발 시스템 Download PDF

Info

Publication number
KR101392085B1
KR101392085B1 KR1020127016098A KR20127016098A KR101392085B1 KR 101392085 B1 KR101392085 B1 KR 101392085B1 KR 1020127016098 A KR1020127016098 A KR 1020127016098A KR 20127016098 A KR20127016098 A KR 20127016098A KR 101392085 B1 KR101392085 B1 KR 101392085B1
Authority
KR
South Korea
Prior art keywords
label
program
information
screen data
identification information
Prior art date
Application number
KR1020127016098A
Other languages
English (en)
Other versions
KR20120096526A (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 KR20120096526A publication Critical patent/KR20120096526A/ko
Application granted granted Critical
Publication of KR101392085B1 publication Critical patent/KR101392085B1/ko

Links

Images

Classifications

    • 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
    • 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
    • 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/13048Display of ladder, RLD, RLL, KOP
    • 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/13052Display of ladder diagram
    • 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/13107Logic symbols, plan LOP, functional block symbols FBS, functional programming FUP
    • 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
    • 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/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23157Display process, synoptic, legend, pictogram, mimic

Landscapes

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

Abstract

효율적인 프로그램 개발을 수행할 수 있도록 하기 위해서, 개발 시스템(1)은 실행 프로그램(D2)이 재생성되었을 때, 당해 실행 프로그램(D2)에 대응하는, 실행 화면 데이터(D5)를 생성하기 위한 라벨 정보 테이블(D3)을 갱신함과 아울러, 상기 라벨 정보 테이블(D3)의 갱신 내용에 따라 당해 라벨 정보 테이블(D3) 및 상기 재생성된 실행 프로그램(D2)에 대응지어져 있는 ID정보의 갱신을 실행/불실행하는 라벨 관리 수단(23)과, 라벨 정보 테이블(D3)에 기초해서 실행 화면 데이터(D5)를 생성했을 때, 당해 실행 화면 데이터(D5)를 생성한 시점에 있어서 당해 라벨 정보 테이블(D3)에 대응지어져 있는 ID정보와 동일한 값의 ID정보를 상기 생성한 실행 화면 데이터(D5)에 대응짓는 작화 장치(3)를 구비한다.

Description

프로그래머블 컨트롤러 시스템 및 개발 시스템{PROGRAMMABLE CONTROLLER SYSTEM AND DEVELOPMENT SYSTEM}
본 발명은 프로그래머블 컨트롤러(이하, PLC)와 PLC의 디바이스 메모리의 상태를 표시하는 프로그래머블 표시기(이하, 표시기)와 PLC를 동작시키는 프로그램 및 표시기의 화면 데이터를 작성하는 개발 시스템을 포함하는 PLC 시스템 및 개발 시스템에 관한 것이다.
PLC를 동작시키는 프로그램은 프로그래밍 장치를 이용해서 작성된다. 이 프로그래밍 장치를 이용해서 대규모 프로그램을 개발할 때, 생산성이나 보수성의 향상을 위해 라벨(혹은, 태그, 변수)을 이용한 프로그래밍이 이루어지고 있다. 예를 들면, 국제 전기표준회의에 의한 IEC 61131-3 규격은, 라벨을 이용한 PLC용의 고급 프로그램 언어를 규정하고 있다.
PLC는 라벨을 사용한 프로그램을 직접 실행할 수 없다. 이에, 프로그래밍 장치는 라벨을 사용한 프로그램을 PLC가 실행 가능한 프로그램 코드로 변환하고, 변환한 프로그램 코드를 PLC에 다운로드 한다. 이로 인하여, PLC는 라벨을 사용해서 작성된 프로그램을 실행할 수 있게 된다.
상기 프로그램은 PLC 내에서 실행되고, 산업용 기기 등의 외부 기기를 제어하기 위한 입출력 데이터, 및 상기 입출력 데이터를 산출하기 위한 중간 데이터를 PLC가 구비하는 메모리 내에 생성ㆍ갱신한다. 이하, 입출력 데이터 및 중간 데이터를 총칭해서 디바이스 데이터라 칭한다. 이 PLC 내의 디바이스 데이터를 표시기나 PC상의 감시 소프트웨어를 이용해서 감시ㆍ조작하는 경우가 있다. 이하, 표시기는 프로그래머블 표시기뿐만이 아니라, 상기한 감시 소프트웨어를 동작시키는 PC 등, PLC 내의 디바이스 데이터를 표시하는 장치를 포함하는 것으로 한다. 종래, 작화(作畵) 장치를 사용해서 표시기에 표시하는 화면 데이터를 작성할 때, 이 감시ㆍ조작 대상인 디바이스 데이터의 지정에 라벨명을 사용할 수 있는 형태가 있다. 이후, 이 기술을 종래 기술 1이라 칭한다.
종래 기술 1에 의하면, 프로그래밍 장치가 라벨 사용 프로그램을 PLC에서 실행 가능한 프로그램 코드로 변환할 때, 각 라벨에 데이터형에 따른 메모리 어드레스를 할당한다. 이 처리에 의해서 라벨-데이터형-메모리 어드레스로 구성되는 라벨 정보가 생성된다. 작화 장치는 이 라벨 정보를 수집하고, 수집한 라벨 정보를 참조함으로써 화면 데이터 상의 각종 부품에 할당되어 있는 라벨을 실제 PLC 데이터 메모리의 메모리 어드레스(디바이스 어드레스)로 변환해서 표시기에 다운로드한다. 표시기는 라벨 정보에 의해서 라벨에 할당되어 있는 PLC에 있어서의 메모리 어드레스로부터 감시ㆍ조작 대상의 디바이스 데이터를 취득할 수 있다.
그런데, 특허 문헌 1에는 PLC와 프로그래밍 장치 사이에 있어서의 데이터 송수신 효율화를 도모하는 것을 목적으로 하고, 데이터에 부여된 ID정보를 활용하는 기술이 개시되어 있다. 즉, 특허 문헌 1에 개시되어 있는 기술에 의하면, PLC의 프로그램 데이터를 수정할 때마다 ID정보를 갱신한다. 그리고, 수정된 데이터만을 PLC와 프로그래밍 장치 사이에서 송수신하기 위해, 송신원과 수신처에서 ID정보를 비교해서 데이터가 수정되어 있는지의 여부를 판단한다. 덧붙여서, 이와 같은 ID정보에는 데이터 최종 수정 일시(타임스탬프)가 이용되는 경우가 많다.
[특허 문헌 1] 특개평 10-333719호 공보
그렇지만, 상기한 종래 기술 1에서는 유저에 의한 프로그램 수정에 의해, 프로그래밍 장치에서 라벨 정의의 추가, 삭제, 변경이 이루어지면, 라벨에 할당되어 있던 메모리 어드레스가 다른 메모리 어드레스로 변경되는 경우가 있다. 표시기 측 라벨의 메모리 어드레스는 프로그램 수정 전의 메모리 어드레스를 참조하고 있기 때문에, 이대로 수정 후의 프로그램을 PLC에 다운로드 하면, 표시기는 유저가 의도하지 않는 메모리 어드레스에 저장되어 있는 디바이스 데이터를 표시하게 되어, 유저에 의한 심각한 오조작을 유발시킬 수 있다. 이것을 회피하기 위해서는, 화면 데이터를 최신 상태의 라벨 정보에 기초해서 변환하고, 변환한 라벨 정보를 표시기에 다운로드할 필요가 있다. 따라서, 유저는 현재의 화면 데이터가 최신 상태의 라벨 정보에 기초해서 변환된 것인지의 여부를 판단하고, 최신 상태의 라벨 정보에 기초하지 않은 것으로 판단한 경우, 화면 데이터를 재변환ㆍ다운로드할 필요가 있다. 이 작업은 유저에게 있어서 매우 번잡한 작업이기 때문에 자동적으로 수행할 수 있도록 하는 것이 바람직하다.
예를 들면, 특허 문헌 1에 개시되어 있는 기술을 종래 기술 1에 조합하면, 화면 데이터의 재작성ㆍ다운로드 필요성의 유무를 판단할 수 있게 된다. 이 기술을 종래 기술 2라 칭한다. 종래 기술 2에 의하면, 프로그래밍 장치에 의해서 작성한 프로그램 데이터, 프로그램 데이터로부터 작성된 라벨 정보, 라벨 정보에 기초해서 작화 장치에 의해서 작성한 화면 데이터의 각각에 ID정보를 갖게 하고, 표시기는 이 ID정보의 일치ㆍ불일치에 기초해서 화면 데이터의 재변환ㆍ다운로드 필요성의 유무를 판단한다.
그런데, 몇 개의 라벨이 사용되지 않게 되는 수정이 이루어지는 경우 등과 같이, 라벨 정보가 수정된 경우여도, 화면 데이터의 재변환ㆍ다운로드를 수행하지 않고도 심각한 오조작을 일으키는 사태는 되지 않는 경우가 존재한다. 그렇지만, 종래 기술 2에 의하면, 라벨 정보가 조금이라도 변경되면, 라벨 정보에 부가된 ID정보가 매회 갱신되게 되어 버리기 때문에, 수정 후의 라벨 정보와 수정 전의 라벨 정보에 기초한 화면 데이터 사이에 ID정보의 불일치가 발생하고, 화면 데이터의 재변환ㆍ다운로드의 필요하다고 판단되어 버린다. 즉, 종래 기술 2에서는 라벨 정보의 수정이 이루어질 때마다 화면 데이터의 재변환ㆍ다운로드 작업을 수행할 필요가 발생하기 때문에, 프로그램 개발의 효율성이 저하한다.
본 발명은 상기를 감안하여 이루어진 것으로서, 효율적인 프로그램 개발을 수행할 수 있는 프로그래머블 컨트롤러 시스템 및 개발 시스템을 얻는 것을 목적으로 한다.
상술한 과제를 해결하고, 목적을 달성하기 위해서, 본 발명은 디바이스 어드레스가 사용되는, 외부 기기를 제어하는 제1 프로그램을 제1 식별 정보와 대응지어 기억하는 제1 메모리를 구비하고, 상기 제1 프로그램을 실행하는 프로그래머블 컨트롤러(PLC)와 디바이스 어드레스가 사용되는 제1 화면 데이터를 제2 식별 정보와 대응지어 기억하는 제2 메모리를 구비하는 표시기와, 디바이스 어드레스 대신에 라벨이 사용되는 제2 프로그램 속에 사용되고 있는 라벨에 디바이스 어드레스를 할당함으로써 상기 제1 메모리에 기억시키는 제1 프로그램을 생성하는 프로그램 변환부와, 상기 프로그램 변환부가 상기 제1 프로그램을 생성했을 때, 상기 제2 프로그램 속에서 사용되고 있는 라벨과 당해 라벨에 할당된 디바이스 어드레스의 라벨마다 대응지어져 있는 라벨 정보를 생성하는 라벨 관리부와, 상기 라벨 관리부가 생성한 라벨 정보를 상기 제1 식별 정보와 대응지어 기억하는 라벨 정보 기억부와, 디바이스 어드레스 대신에 라벨이 사용되는 제2 화면 데이터 속에 사용되고 있는 라벨을 상기 라벨 정보 기억부가 기억하는 라벨 정보에 기초해서 디바이스 어드레스로 변환함으로써 상기 제2 메모리에 기억시키는 제1 화면 데이터를 생성하고, 상기 제1 화면 데이터를 생성한 시점에 있어서 상기 라벨 정보로 대응지어져 있는 제1 식별 정보와 동일한 값을 상기 제2 식별 정보로서 상기 생성한 제1 화면 데이터에 대응짓는 작화부를 구비하는 개발 시스템을 구비하고, 상기 라벨 관리부는 상기 프로그램 변환부가 상기 제1 프로그램을 재생성했을 때, 상기 제1 프로그램의 재생성에 대응해서 상기 라벨 정보 기억부가 기억하는 라벨 정보를 갱신함과 아울러, 상기 라벨 정보의 갱신 내용에 따라 당해 라벨 정보 및 상기 재생성된 제1 프로그램에 대응지어져 있는 제1 식별 정보의 갱신을 실행/불실행하고, 상기 표시기는 상기 PLC가 실행하는 제1 프로그램에 대응지어져 있는 제1 식별 정보와 상기 제2 메모리가 기억하는 제1 화면 데이터에 대응지어져 있는 제2 식별 정보가 합치하는지의 여부를 판정해서, 상기 쌍방의 식별 정보가 합치한 경우, 상기 제2 메모리가 기억하는 제1 화면 데이터에 기초해서 디바이스 어드레스의 내용을 상기 PLC로부터 취득해서 표시하고, 상기 쌍방의 식별 정보가 합치하지 않는 경우, 이상 처리를 실행하는 것을 특징으로 한다.
본 발명에 의하면 효율적인 프로그램 개발을 수행할 수 있다고 하는 효과를 달성한다.
도 1 은 본 발명의 실시형태에 관한 PLC 시스템의 구성을 나타내는 도면이다.
도 2 는 ID정보 및 버전의 갱신 룰을 설명하기 위한 도면이다.
도 3 은 본 발명의 실시형태에 관한 PLC 시스템의 기능 구성을 설명하는 도면이다.
도 4 는 본 발명의 실시형태에 관한 개발 시스템의 하드웨어 구성을 설명하는 도면이다.
도 5 는 실행 프로그램 변환의 동작을 설명하는 흐름도이다.
도 6 은 신규 추가 처리를 상세히 설명하는 흐름도이다.
도 7 은 데이터형 변경 처리를 상세히 설명하는 흐름도이다.
도 8 은 할당처 메모리 어드레스 변경 처리를 상세히 설명하는 흐름도이다.
도 9 는 삭제 부활 처리를 상세히 설명하는 흐름도이다.
도 10 은 삭제 처리를 상세히 설명하는 흐름도이다.
도 11 은 실행 화면 데이터 변환을 설명하는 흐름도이다.
도 12 는 ID 대조 처리를 설명하는 흐름도이다.
이하에, 본 발명에 따른 프로그래머블 컨트롤러 시스템 및 개발 시스템의 실시형태를 도면에 기초해서 상세히 설명한다. 또한, 본 실시형태에 의해 본 발명이 한정되는 것은 아니다.
[실시형태]
도 1 은 본 발명에 따른 프로그래머블 컨트롤러(PLC) 시스템의 실시형태의 구성을 나타내는 도면이다.
도 1에 나타내는 바와 같이, PLC 시스템(100)은 프로그래밍 장치(2), 작화 장치(3), 및 프로그래밍 장치(2) 및 작화 장치(3)의 쌍방에서 액세스 가능한 기억 수단(4)을 구비하는 개발 시스템(1)과, PLC(5)와, 프로그래머블 표시기(표시기)(6)를 구비하고 있다.
유저는 래더 프로그램 등의 PLC(5)에서 실행 가능한 실행 프로그램인 실행 프로그램 D2를 생성하기 위한 프로그램인 소스 프로그램(D1)을 작성한다. 소스 프로그램(D1)에서는 PLC(5)가 구비하는 메모리의 메모리 어드레스를 지정하기 위한 라벨이 정의되고 있고, 메모리 어드레스 대신에 이 메모리 어드레스에 대응하는 라벨이 기술되어 있다. 또한, 소스 프로그램(D1) 속에서의 라벨의 정의에는, 라벨의 명칭(라벨명)과 당해 라벨의 데이터형이 정의되는 타입(자동 할당 타입)과, 상기 자동 할당 타입의 기술에 부가해서 한층 더 메모리 어드레스가 정의되는 타입(수동 할당 타입)의 두 개 타입의 기술로 정의할 수 있다.
프로그래밍 장치(2)는 유저에 의해서 작성된 소스 프로그램(D1)을 컴파일해서, 자동 할당 타입인 경우, 라벨마다 정의되어 있는 데이터형에 합치하는 PLC(5)의 메모리 어드레스를 라벨에 할당하고, PLC(5)에서 실행 가능한 형식의 실행 프로그램(D2)을 생성한다. 생성된 실행 프로그램(D2)에 있어서는, 소스 프로그램(D1)으로 사용되고 있던 라벨이 PLC(5)의 데이터 메모리의 메모리 어드레스로 변환되어 있다.
도 1에 나타낸 예에서는, 소스 프로그램(D1) 속에 라벨 「스위치 1」, 라벨 「램프 2」가 사용되고 있고, 실행 프로그램(D2)에서는 라벨 「스위치 1」이 메모리 어드레스 「X10」, 라벨 「램프 2」가 메모리 어드레스 「Y20」으로 변환되어 있다. 실행 프로그램(D2)은 PLC(5)에 다운로드 된다. PLC(5)는 다운로드된 실행 프로그램(D2)에 기초해서 사이클릭(cyclic) 처리를 실행한다.
프로그래밍 장치(2)는 소스 프로그램(D1)을 실행 프로그램(D2)으로 변환할 때, 소스 프로그램(D1)에 포함되는 라벨명과 당해 라벨의 데이터형과 당해 라벨의 할당처의 메모리 어드레스(할당처 메모리 어드레스)로 이루어진 라벨 정보의 테이블(라벨 정보 테이블(D3))을 생성하고, 기억 수단(4)에 저장(등록)한다. 라벨 정보 테이블(D3)에는 라벨 정보마다 상태를 나타내는 플래그(삭제 플래그)가 기술되는 필드가 포함되어 있어, 삭제 플래그가 0으로 되어 있는 상태의 라벨 정보는 유효한 라벨 정보로서 다루어지고, 삭제 플래그가 1로 되어 있는 상태의 라벨 정보는 라벨 정보 테이블(D3)로부터 삭제된 것으로서 다루어진다. 또한, 라벨 정보 테이블(D3)을 구성하는 각각의 라벨 정보를 단지 레코드라고 표현하기도 한다. 도 1에 나타낸 예에서는, 라벨 정보 테이블(D3)에는 데이터형이 「BOOL(부울리안 형)」으로 할당처 메모리 어드레스가 「X10」인 라벨 「스위치 1」을 나타내는 라벨 정보와, 데이터형이 「BOOL」로 할당처 메모리 어드레스가 「Y20」인 라벨 「램프 2」를 나타내는 라벨 정보가 포함되어 있다.
유저는 표시기(6)에 PLC(5)에서 사용되고 있는 디바이스 데이터의 내용을 표시하기 위한 설정 데이터인 화면 데이터(D4)를 작성하고, 작화 장치(3)에 작성한 화면 데이터(D4)를 입력한다. 화면 데이터(D4)에서는 메모리 어드레스 대신에 당해 메모리 어드레스에 대응하는 라벨이 기술되어 있다. 작화 장치(3)는 기억 수단(4)이 기억하고 있는 라벨 정보 테이블(D3)을 참조한다. 작화 장치(3)는 당해 라벨 정보 테이블(D3)에 기초해서 화면 데이터(D4)에 포함되는 라벨을 메모리 어드레스로 변환하고, 표시기(6)에서 실행 가능한 형식의 설정 데이터인 실행 화면 데이터(D5)를 생성한다.
생성된 실행 화면 데이터(D5)는 표시기(6)에 다운로드된다. 표시기(6)는 PLC(5)가 구비하는 메모리에 있어서의 다운로드된 실행 화면 데이터(D5)에 기술되어 있는 메모리 어드레스로부터 디바이스 데이터를 취득하고, 취득한 디바이스 데이터를 실행 화면 데이터(D5)에 기술되어 있는 표시 방식으로 표시한다. 또한, 표시기(6)는 유저에 의한 디바이스 데이터를 조작하는 입력을 접수할 수 있고, 접수한 입력을 PLC(5)에 송신한다.
도 1에 나타낸 예에 있어서는, 화면 데이터(D4)에는 라벨 「스위치 1」을 나타내는 버튼의 그림과, 라벨 「램프 2」를 나타내는 램프의 그림이 포함되어 있다. 실행 화면 데이터(D5)에는 라벨 「스위치 1」에 대응하는 메모리 어드레스 「X10」을 나타내는 버튼의 그림과, 라벨 「램프 2」에 대응하는 메모리 어드레스 「Y20」을 나타내는 램프의 그림이 포함되어 있다. 또한, 표시기(6)는 유저에 의한 메모리 어드레스 「X10」을 나타내는 버튼을 ON/OFF하는 조작을 PLC(5)에 송신하고, PLC(5)는 메모리 어드레스 「Y20」에 저장되어 있는 디바이스 데이터를 표시기(6)에 송신한다.
여기서, 유저에 의해 소스 프로그램(D1)에 수정이 가해져 실행 프로그램(D2)이 재생성된 경우, 재생성된 실행 프로그램(D2)에 대응한 실행 화면 데이터(D5)를 재생성하고, 재생성한 실행 화면 데이터(D5)를 표시기(6)에 다운로드할 필요가 발생한다. 이에, 실행 화면 데이터(D5)의 재변환할 필요가 있는지의 여부를 자동 판정할 수 있도록 하기 위해서, 프로그래밍 장치(2) 및 작화 장치(3)는 각각 실행 프로그램(D2) 및 실행 화면 데이터(D5)에 상기 자동 판정을 실행할 수 있도록 하기 위한 ID정보를 부여한다. 그리고, 본 실시형태에 있어서는 재변환이 필요한 것으로 판정되는 빈도를 저감하기 위해서, 소스 프로그램(D1)의 수정 중, 당해 수정이 실행 화면 데이터(D5)의 재변환을 수행하지 않으면 표시기(6)가 유저의 오조작을 유발하게 하는 표시(부정 동작)를 수행해 버리는 수정이었을 때, 실행 프로그램(D2)에 부여된 ID정보를 갱신한다.
보다 구체적으로는, 프로그래밍 장치(2)는 실행 프로그램(D2)을 생성했을 때, ID정보(제1 식별 정보)를 생성하고, 실행 프로그램(D2) 및 라벨 정보 테이블(D3)에 생성한 ID정보를 부여한다. 그리고, 프로그래밍 장치(2)는 실행 프로그램(D2)을 재생성했을 때, 후술하는 갱신 룰에 기초해서 ID정보를 갱신한다. 작화(作畵) 장치(3)는 실행 화면 데이터(D5)를 생성했을 때, 라벨 정보 테이블(D3)에 부여되어 있던 ID정보와 동일한 값의 ID정보를 생성하고, 생성한 ID정보(제2 식별 정보)를 실행 화면 데이터(D5)에 부여해 둔다.
표시기(6)는 PLC(5)와의 사이에서 자신이 실행하는 실행 화면 데이터(D5)의 ID정보와 PLC(5)가 실행하는 실행 프로그램(D2)의 ID정보를 대조함으로써, 실행 화면 데이터(D5)의 재변환이 필요한지의 여부를 판정하는 ID 대조 처리를 실행한다. 표시기(6)는 쌍방의 ID정보가 다른 경우, 부정 동작을 막기 위한 이상 처리를 실행한다. 여기에서는 이상 처리의 일례로서, 화면의 다시 읽기(실행 화면 데이터(D5)의 재변환ㆍ다운로드)가 필요한 취지의 메시지를 표시함과 아울러 표시 화면을 잠그는 것으로 한다.
또한, 작화 장치(3)는 화면 데이터(D4)를 재변환할 때, 당해 화면 데이터(D4)에 대응하는 실행 화면 데이터(D5)에 부여되어 있는 ID정보와 라벨 정보 테이블(D3)의 ID정보를 대조(비교)해서, 쌍방의 ID정보가 다른 경우, 당해 화면 데이터(D4)의 재변환을 실행하고, 쌍방의 ID정보가 동일한 경우, 당해 화면 데이터(D4)의 재변환을 실행하지 않는다.
게다가, 프로그래밍 장치(2)는 실행 화면 데이터(D5)의 재변환ㆍ다운로드가 필요하지 않은 변경을 포함하는 변경의 유무를 유저가 인식할 수 있도록, 실행 프로그램(D2) 및 라벨 정보 테이블(D3)에 ID정보 외에 버전 정보(이후, 버전이라 함)를 부여하도록 하고 있다. 또한, 작화 장치(3)는 라벨 정보 테이블(D3)에 부여되어 있던 버전도 실행 화면 데이터(D5)에 부여하도록 하고 있다.
도 1에 나타낸 예에서는, 실행 프로그램(D2) 및 라벨 정보 테이블(D3)에는, ID 「20081224212030」 및 버전 「2」가 부여되어 있다. 또한, 실행 화면 데이터(D5)에는 ID 「20081224212030」 및 버전 「1」이 부여되어 있다.
다음으로, 프로그래밍 장치(2)에 의한 ID정보 및 버전의 갱신 룰을 설명한다. 도 2 는 프로그래밍 장치(2)에 의한 ID정보 및 버전의 갱신 룰을 설명하기 위한 도면이다. 도 2에 나타내는 도면에 있어서, 좌열부터, 갱신 룰을 설명하기 위한 케이스 번호, 라벨 정보 테이블(D3)의 예, 라벨 정보 테이블(D3)에 대한 조작 및 당해 조작에 대응하는 프로그래밍 장치(2)의 ID정보 및 버전에 대한 처치를 나타내고 있다.
케이스 번호 1은 실행 프로그램(D2)이 신규 생성되고, 당해 생성에 수반해 라벨 정보 테이블(D3)이 신규로 생성된 경우를 나타내고 있다. 라벨 정보 테이블(D3)은「램프 1」,「램프 2」,「램프 3」,「스위치 1」,「스위치 2」,「스위치 3」,「스위치 4」,「온도 1」,「온도 2」의 라벨에 관한 라벨 정보를 포함하고 있고, ID정보 「xxxx-xxx-001」및 버전「1」이 부여되어 있다. 또한, 모든 라벨 정보의 삭제 플래그가 「0」으로 되어 있다. 이 상태를 초기 상태로 한다.
케이스 번호 2는 케이스 번호 1의 상태로부터 라벨 「스위치 10」 및 라벨 「습도 1」이 추가된 경우를 나타내고 있다. 케이스 번호 2의 경우, 표시기(6)는 유저가 추가된 라벨을 표시할 수 있도록 화면 데이터(D4)를 수정하지 않는 한 추가된 라벨에 대응하는 메모리 어드레스 상태를 표시할 수 없지만, 각각의 디바이스 데이터의 표시로서 유저가 의도한 메모리 어드레스에 저장되어 있는 디바이스 데이터를 계속해서 표시할 수 있다. 즉, 표시기(6)는 작화 장치(3)에 의한 재변환이 이루어지지 않아도 심각한 운전 실수를 발생하게 하는 오표시를 수행하는 사태는 되지 않는다. 따라서, 프로그래밍 장치(2)는 라벨의 추가를 수행한 경우, ID정보는 변경하지 않고 버전을 인크리멘트(increment)한다. 여기에서는 버전이 인크리멘트되어 「2」로 되어 있다.
케이스 번호 3은 케이스 번호 2의 상태로부터 라벨 「램프 3」 및 라벨 「스위치 4」가 삭제된 경우를 나타내고 있다. 즉, 라벨 정보 테이블(D3)이 포함하는 라벨 「램프 3」 및 라벨 「스위치 4」의 라벨 정보의 삭제 플래그 상태가 「1」로 되어 있다. 케이스 번호 3의 경우, 삭제된 라벨에 대응하는 메모리 어드레스 상태가 갱신되지 않게 되므로, 당해 메모리 어드레스의 표시가 화면상에서 변화하지 않게 된다. 그렇지만, 케이스 번호 2의 상태와 마찬가지로, 표시기(6)는 화면 데이터(D4)를 수정하지 않아도, 각각의 디바이스 데이터의 표시로서 유저가 의도한 메모리 어드레스에 저장되어 있는 디바이스 데이터를 계속해서 표시할 수 있다. 즉, 표시기(6)는 작화 장치(3)에 의한 재변환이 이루어지지 않더라도 심각한 운전 실수를 유발하게 하는 오표시를 수행하는 사태는 되지 않는다. 따라서, 프로그래밍 장치(2)는 라벨의 삭제를 수행한 경우, ID정보를 변경하지 않고 버전을 인크리멘트한다. 여기에서는 버전이 인크리멘트되어 「3」으로 되어 있다.
케이스 번호 4는 케이스 번호 3의 상태로부터 일단 삭제된 라벨 「램프 3」이 부활된 경우를 나타내고 있다. 즉, 케이스 번호 3의 경우에 있어서 삭제 플래그가 「1」로 되어 있던 라벨 「램프 3」의 라벨 정보의 삭제 플래그가, 여기에서는 「0」으로 되어 있다. 케이스 번호 4의 경우, 케이스 번호 2의 경우와 동일하게 작화 장치(3)에 의한 재변환이 이루어지지 않아도 심각한 운전 실수를 유발하게 하는 오표시를 수행하는 사태는 되지 않는다. 따라서, 프로그래밍 장치(2)는 라벨의 부활을 수행한 경우, ID정보를 변경하지 않고 버전을 인크리멘트한다. 여기에서는 버전이 인크리멘트되어 「4」로 되어 있다.
케이스 번호 5는 케이스 번호 4의 상태로부터 라벨 「온도 2」의 할당처 메모리 어드레스가 변경되고, 라벨 「습도 1」의 데이터형이 변경된 경우를 나타내고 있다. 할당처 메모리 어드레스의 변경은, 소스 프로그램(D1) 내에서 수동 할당 타입의 기술이 포함하는 할당처 메모리 어드레스가 유저에 의해서 변경된 경우 외, 자동 할당 타입의 기술이 포함하는 데이터형의 정의가 변경된 경우에도 발생한다. 데이터형이 변경된 경우, 재변환하는 일 없이 실행 화면 데이터(D5)를 사용하면, 표시기(6)는 유저가 의도한 메모리 어드레스에 저장되어 있는 디바이스 데이터를 올바르게 표시할 수 없다. 또한, 할당처 메모리 어드레스가 변경된 경우, 표시기(6)는 변경된 라벨에 대응하는 메모리 어드레스의 상태로서 변경 전의 메모리 어드레스에 저장되어 있는 디바이스 데이터(바꾸어 말하면 유저가 의도하지 않은 디바이스 데이터)의 상태를 표시해 버린다. 그러면, 유저는 표시되고 있는 디바이스 데이터의 상태를 상기 라벨에 대응하는 메모리 어드레스에 저장되어 있는 디바이스 데이터의 상태로서 오인식하고, 심각한 운전 실수를 수행해 버릴 가능성이 있다. 따라서, 케이스 번호 5의 경우, 작화 장치(3)에 의한 재변환이 필요하다. 프로그래밍 장치(2)는 ID정보를 신규번호지정(갱신)하고, 버전을 1로 초기화한다. 여기에서는, 라벨 정보 테이블(D3)에는 새로운 ID정보 「xxxx-xxx-002」가 부여되어 있다.
이와 같이, 본 실시형태에서는 종래 기술 2와 같이 소스 프로그램(D1)이 변경될 때마다 ID정보를 갱신하는 것이 아니라, 라벨 정보 테이블(D3)의 갱신 내용에 따라 ID정보의 갱신을 실행/불실행하도록 했으므로, 작화 장치(3)에 의한 화면 데이터(D4)의 재변환(및 재생성된 실행 화면 데이터(D5)의 다운로드) 빈도를 저감할 수 있어, 결과적으로 효율적인 프로그램 개발을 수행할 수 있게 된다.
도 3 은 본 실시형태에 관한 PLC 시스템(100)의 기능 구성을 설명하는 도면이다. 도시한 바와 같이, 기억 수단(4)에는 라벨 정보 테이블(D3) 외, 소스 프로그램(D1), 실행 프로그램(D2), 화면 데이터(D4), 실행 화면 데이터(D5)가 저장된다. 또한, 여기에서는 소스 프로그램(D1) 및 화면 데이터(D4)는 이미 작성되어 기억 수단(4)에 저장되어 있는 것으로 해서 설명한다.
프로그래밍 장치(2)는 편집 입력 접수 수단(21), 실행 프로그램 변환 수단(22), 라벨 관리 수단(23), 통신 수단(24)을 구비하고 있다.
편집 입력 접수 수단(21)은 유저로부터의 소스 프로그램(D1)의 편집 입력을 접수하고, 편집 입력된 내용을 기억 수단(4)에 저장되어 있는 소스 프로그램(D1)에 반영시킨다.
실행 프로그램 변환 수단(22)은 기억 수단(4)에 저장되어 있는 소스 프로그램(D1)을 변환해서 실행 프로그램(D2)을 생성하고, 생성한 실행 프로그램(D2)을 기억 수단(4)에 저장한다. 실행 프로그램 변환 수단(22)은 소스 프로그램(D1)을 재변환(즉, 실행 프로그램(D2)의 재생성)한 경우, 실행 프로그램(D2)은 재변환에 의해 생성된 새로운 실행 프로그램(D2)에 의해 덮어쓰기 되는 것으로 한다. 또한, 재변환에 의해 생성된 새로운 실행 프로그램(D2)은 덮어쓰기가 아니라, 축적 기억되도록 해도 무방하다.
라벨 관리 수단(23)은 소스 프로그램(D1)에 기술되어 있던 라벨과, 실행 프로그램 변환 수단(22)이 실행 프로그램(D2)을 생성했을 때에 당해 라벨에 할당한 메모리 어드레스 혹은 수동 할당 타입의 기술에 의해 할당되어 있는 메모리 어드레스의 대응짓기에 기초해서 라벨 정보 테이블(D3)을 생성한다. 그때, 라벨 관리 수단(23)은 ID정보 및 버전을 생성하고, 생성된 실행 프로그램(D2) 및 라벨 관리 테이블(D3)에 상기 ID정보 및 버전을 부여한다.
게다가, 라벨 관리 수단(23)은 실행 프로그램 변환 수단(22)이 실행 프로그램(D2)을 재변환했을 때, 당해 재변환된 내용에 대응하도록 라벨 정보 테이블(D3)을 수정한다. 그때, 라벨 관리 수단(23)은 상기한 갱신 룰에 기초해서 실행 프로그램(D2) 및 라벨 정보 테이블(D3)의 ID정보 및 버전을 갱신한다.
통신 수단(24)은 기억 수단(4)에 저장되어 있는 실행 프로그램(D2)을 PLC(5)에 다운로드한다.
작화 장치(3)는 편집 입력 접수 수단(31)과 실행 화면 데이터 변환 수단(32)과 라벨 참조 수단(33)과 통신 수단(34)을 구비하고 있다.
편집 입력 접수 수단(31)은 유저로부터의 화면 데이터(D4)의 편집 입력을 접수하고, 편집 입력된 내용을 기억 수단(4)에 저장되어 있는 화면 데이터(D4)에 반영시킨다.
라벨 참조 수단(33)은 기억 수단(4)에 저장되어 있는 라벨 정보 테이블(D3), 및 당해 라벨 정보 테이블(D3)에 부여되어 있는 ID정보 및 버전을 읽어낸다.
실행 화면 데이터 변환 수단(32)은 라벨 참조 수단(33)이 읽어낸 라벨 정보 테이블(D3)에 기초해서 기억 수단(4)에 저장되어 있는 화면 데이터(D4)를 변환해서 실행 화면 데이터(D5)를 생성하고, 생성한 실행 화면 데이터(D5)를 기억 수단(4)에 저장한다.
라벨 참조 수단(33)은 라벨 정보 테이블(D3)에 부여되어 있는 ID정보 및 버전을 실행 화면 데이터 변환 수단(32)이 생성한 실행 화면 데이터(D5)에 부여한다. 또한, 라벨 참조 수단(33)은 기억 수단(4)에 실행 화면 데이터(D5)가 저장되어 있는 경우, 기억 수단(4)에 저장되어 있는 실행 화면 데이터(D5)의 ID정보를 읽어낸다. 라벨 참조 수단(33)은 라벨 정보 테이블(D3)의 ID정보와 실행 화면 데이터(D5)의 ID정보를 비교해서 화면 데이터(D4)의 재변환이 필요한지의 여부를 판정하고, 재변환이 필요하다고 판정한 경우, 실행 화면 데이터 변환 수단(32)에 화면 데이터(D4)의 재변환을 실행시킨다.
통신 수단(34)은 기억 수단(4)에 저장되어 있는 실행 화면 데이터(D5)를 표시기(6)에 다운로드한다.
PLC(5)는 통신 수단(51), 메모리(52), 및 프로그램 실행 수단(53)을 구비하고 있다. 통신 수단(51)은 프로그래밍 장치(2)가 송신한 실행 프로그램(D2)을 접수하고, 접수한 실행 프로그램(D2)을 메모리(52)에 저장한다. 프로그램 실행 수단(53)은 메모리(52)에 저장되어 있는 실행 프로그램(D2)에 기초해서 사이클릭 처리를 실행하고, 디바이스 데이터(D6)를 생성한다. 프로그램 실행 수단(53)은 디바이스 데이터(D6)를 메모리(52)에 저장한다. 또한, 통신 수단(51)은 표시기(6)와의 사이의 통신을 수행한다. 구체적으로는, 통신 수단(51)은 실행 프로그램(D2)의 ID정보를 메모리(52)로부터 읽어내고, 읽어낸 ID정보를 표시기(6)에 통지한다. 또한, 통신 수단(51)은 디바이스 데이터(D6) 중 표시기(6)로부터 읽어내기 요구된 메모리(52)에 있어서의 메모리 어드레스에 저장되어 있는 데이터를 읽어내고, 읽어낸 데이터를 표시기(6)에 송신한다.
표시기(6)는 통신 수단(61)과 메모리(62)와 표시 화면(63)과 화면 제어 수단(64)과 라벨 대조 처리 수단(65)을 구비하고 있다.
통신 수단(61)은 작화 장치(3)가 송신한 실행 화면 데이터(D5)를 접수하고, 접수된 실행 화면 데이터(D5)를 메모리(62)에 저장한다. 또한, 통신 수단(61)은 PLC(5)가 송신한 실행 프로그램(D2)의 ID정보를 수신하고, 수신한 실행 프로그램(D2)의 ID정보를 화면 제어 수단(64)에 송신한다.
표시 화면(63)은 액정 디스플레이 등, 데이터를 표시하기 위한 표시부이다. 또한, 표시 화면(63)은 유저에 의한 디바이스 데이터를 조작하는 입력을 접수하는 터치 패널이나 하드 스위치 등의 입력 수단을 구비한 것이어도 무방하다.
화면 제어 수단(64)은 통신 수단(61)이 PLC(5)로부터 수신한 실행 프로그램(D2)의 ID정보를 라벨 대조 처리 수단(65)에 송신한다. 또한, 화면 제어 수단(64)은 메모리(62)에 저장되어 있는 실행 화면 데이터(D5)에 부여되어 있는 ID정보를 읽어내고, 읽어낸 실행 화면 데이터(D5)의 ID정보를 라벨 대조 처리 수단(65)에 송신한다.
라벨 대조 처리 수단(65)은 실행 화면 데이터(D5)의 ID정보와 실행 프로그램(D2)의 ID정보를 비교하는 ID 대조 처리를 실행한다. 비교 결과가 「불일치」인 경우, 라벨 대조 처리 수단(65)은 화면 제어 수단(64)에 이상 처리를 실행하도록 지령한다. 지령을 받은 화면 제어 수단(64)은 표시 화면(63)에 상기 메시지를 출력시킴 아울러, 표시 화면(63)의 화면 출력을 잠근다. 표시 화면(63)이 입력 수단을 구비하는 경우, 입력 수단으로의 입력 접수를 잠그도록 해도 무방하다.
ID 대조 처리에 의한 비교 결과가 「일치」인 경우, 라벨 대조 처리 수단(65)은 화면 제어 수단(64)에 통상 동작시킨다. 화면 제어 수단(64)은 메모리(62)로부터 실행 화면 데이터(D5)를 읽어내고, 읽어낸 실행 화면 데이터(D5)를 실행해서 표시 화면(63)에 표시를 그린다. 이때, 화면 제어 수단(64)은 실행 화면 데이터에 기술되어 있는 메모리 어드레스에 저장되어 있는 데이터의 송신을 통신 수단(61)을 통해서 PLC(5)에 요구한다. 화면 제어 수단(64)은 PLC(5)로부터 통신 수단(61)을 통해서 수신한 데이터를 실행 화면 데이터(D5)의 기술에 기초한 형식으로 표시 화면(63)에 출력한다.
또한, 개발 시스템(1)은 통상의 컴퓨터 구성 하드웨어에서 프로그램을 실행함으로써 실현하도록 해도 무방하다. 여기에서는, 일 예로서 프로그래밍 장치(2), 작화 장치(3) 및 저장 수단(4)을 1대의 컴퓨터로 실현하는 경우의 하드웨어 구성 예를 설명한다.
도 4 는 개발 시스템(1)의 하드웨어 구성을 설명하는 도면이다. 도시한 바와 같이, 개발 시스템(1)은 CPU(Central Processing Unit)(71), ROM(Read Only Memory)(72), RAM(Random Access Memory)(73), 입력부(74), 표시부(75), 통신부(76), 외부 기억장치 인터페이스(77), 및 외부 기억장치(78)를 구비하고 있다. CPU(71), ROM(72), RAM(73), 입력부(74), 표시부(75), 통신부(76), 및 외부 기억장치 인터페이스(77)는 버스 라인을 통해서 각각 접속되어 있다. 외부 기억장치(78)는 외부 기억장치 인터페이스(77)에 접속되어 있다.
CPU(71)는 프로그래밍 장치(2), 작화 장치(3)를 각각 실현하는 컴퓨터 프로그램인 프로그래밍 프로그램(81), 작화 프로그램(82)을 실행한다. 통신부(76)는 실행 프로그램(D2)이나 실행 화면 데이터(D5)를 각각 PLC(5), 표시기(6)에 다운로드할 때에 사용되는 통신 인터페이스이다. 외부 기억장치(78)는 예를 들어 하드 디스크나 SSD(Solid State Drive) 등의 읽고 쓰기 가능한 기억 공간이며, 기억 수단(4)으로서 동작한다. 외부 기억장치 인터페이스(77)는, CPU(71)가 기억 수단(4)으로서의 외부 기억장치(78)에 액세스하기 위한 인터페이스이다. 표시부(75)는 액정 모니터 등의 표시 장치이며, CPU(71)로부터의 지시에 기초해서 조작 화면 등의 유저에 대한 출력 정보를 표시한다. 또한, 표시부(75)는 표시 화면(63)으로서 동작한다. 입력부(74)는 마우스나 키보드를 구비하여 구성되고, 유저로부터의 개발 시스템(1)의 조작이 입력된다. 입력부(74)에 입력된 조작 정보는 CPU(71)로 보내진다.
프로그래밍 프로그램(81) 및 작화 프로그램(82)은 ROM(72) 내에 저장되어 있어, 버스 라인을 통해서 RAM(73)에 로드된다. CPU(71)는 RAM(73) 내에 로드된 프로그래밍 프로그램(81) 및 작화 프로그램(82)을 실행한다. 구체적으로는, CPU(71)는 ROM(72) 내로부터 프로그래밍 프로그램(81) 및 작화 프로그램(82)을 읽어내서 RAM(73) 내의 프로그램 저장 영역에 각각 전개하고, 당해 전개된 프로그래밍 프로그램(81) 및 작화 프로그램(82)에 기초해서 개발 시스템(1)(프로그래밍 장치(2) 및 작화 장치(3))의 동작을 실행한다. 당해 동작을 실행할 때에 발생하는 중간 데이터는, RAM(73) 내의 워크 에리어에 저장된다. 또한, 프로그래밍 프로그램(81) 및 작화 프로그램(82)은 외부 기억장치(78) 등의 기억장치에 저장해 두어도 무방하다. 또한, 프로그래밍 프로그램(81) 및 작화 프로그램(82)은 외부 기억장치(78) 등의 기억장치에 로드되도록 해도 무방하다.
본 실시형태의 개발 시스템(1)에서 실행되는 프로그래밍 프로그램(81)은, 편집 입력 접수 수단(21), 실행 프로그램 변환 수단(22), 라벨 관리 수단(23), 및 통신 수단(24)을 포함하는 구성으로 되어 있고, 이것들 각부가 RAM(73)상에 로드되어 편집 입력 접수 수단(21), 실행 프로그램 변환 수단(22), 라벨 관리 수단(23), 및 통신 수단(24)이 RAM(73)상에 생성된다. 또한, 본 실시형태의 개발 시스템(1)에서 실행되는 작화 프로그램(82)은, 편집 입력 접수 수단(31), 실행 화면 데이터 변환 수단(32), 라벨 참조 수단(33), 및 통신 수단(34)을 포함하는 구성으로 되어 있고, 이것들 각부가 RAM(73)상에 로드되어 편집 입력 접수 수단(31), 실행 화면 데이터 변환 수단(32), 라벨 참조 수단(33), 및 통신 수단(34)이 RAM(73)상에 생성된다.
또한, 본 실시형태의 개발 시스템(1)에서 실행되는 프로그래밍 프로그램(81) 및 작화 프로그램(82)를 인터넷 등의 네트워크에 접속된 컴퓨터상에 저장하고, 네트워크 경유로 다운로드시킴으로써 제공하도록 구성해도 무방하다. 또한, 본 실시형태의 개발 시스템(1)에서 실행되는 프로그래밍 프로그램(81) 및 작화 프로그램(82)을 인터넷 등의 네트워크 경유로 제공 또는 배포하도록 구성해도 무방하다. 또한, 본 실시형태의 프로그래밍 프로그램(81) 및 작화 프로그램(82)을 ROM(72) 등에 미리 삽입해서 본 실시형태의 개발 시스템(1)에 제공하도록 구성해도 무방하다.
또한, 개발 시스템(1)은 복수의 컴퓨터로 실현되도록 해도 무방하다. 예를 들면, 프로그래밍 프로그램(81)과 작화 프로그램(82)을 다른 컴퓨터로 실현하고, 각각 프로그래밍 장치(2), 작화 장치(3)로 하도록 해도 좋다. 또한, 프로그래밍 장치(2) 혹은 작화 장치(3)의 어느 쪽이든 컴퓨터의 외부 기억장치(78)를 기억 수단(4)으로서 동작시켜, 그 중의 기억 수단(4)을 가지지 않는 컴퓨터는 네트워크를 통해서 기억 수단(4)에 액세스하도록 해도 무방하다. 또한, 착탈 가능하고 재기록 가능인 기억 매체를 기억 수단(4)으로서 동작시켜, 유저에 의한 프로그래밍 장치(2) 또는 작화 장치(3)의 조작시에, 조작 대상의 장치에 상기 기억 매체를 장착하도록 해도 무방하다. 또한, 기억 수단(4)을 컴퓨터로부터 액세스 가능한 서버 타입의 컴퓨터에 실현하고, 프로그래밍 장치(2) 및 작화 장치(3)는 네트워크를 통해서 상기 서버 타입의 컴퓨터에 액세스하도록 해도 무방하다.
다음으로, 도 5 ~ 도 12를 참조해서 본 발명의 실시형태에 관한 PLC 시스템(100)의 동작을 설명한다. 도 5 는 프로그래밍 장치(2)가 소스 프로그램(D1)을 실행 프로그램(D2)으로 변환하는 동작(실행 프로그램 변환)을 설명하는 흐름도이다.
도 5에 나타내는 바와 같이, 프로그래밍 장치(2)가 유저로부터 소스 프로그램(D1)을 변환하는 지시의 입력을 접수하면, 라벨 관리 수단(23)은 라벨 정보 테이블(D3)의 모든 레코드의 삭제 플래그를, 「0」도 「1」도 아닌 일시적인 값(여기에서는 「2」)로 한다(스텝 S1). 그리고, 라벨 관리 수단(23)은 소스 프로그램(D1) 중 일행을 주사(走査)하고, 주사한 행으로부터 라벨 정의의 기술 추출을 시도하고(스텝 S2), 소스 프로그램(D1)에 라벨이 발견되었는지의 여부, 즉 주사한 행에 라벨의 정의가 기술되어 있는지의 여부를 판정한다(스텝 S3).
주사한 행에 라벨의 정의가 기술되어 있지 않은 경우(스텝 S3, 아니오), 후술하는 스텝 S15로 이행한다. 주사한 행에 라벨의 정의가 기술되어 있는 경우(스텝 S3, 예), 라벨 관리 수단(23)은 라벨 정보 테이블(D3)로부터, 스텝 S2에서 추출된 라벨과 라벨명이 일치하는 레코드를 검색한다(스텝 S4). 그리고, 라벨 관리 수단(23)은 라벨 정보 테이블(D3)로부터 해당하는 레코드가 발견되었는지의 여부를 판정한다(스텝 S5).
해당하는 레코드가 발견된 경우(스텝 S5, 예), 라벨 관리 수단(23)은 추출된 라벨의 데이터형과 해당하는 레코드의 데이터형을 비교해서, 쌍방이 일치하는지의 여부를 판정한다(스텝 S6).
쌍방의 데이터형이 일치한 경우(스텝 S6, 예), 라벨 관리 수단(23)은 추출된 라벨의 할당처 메모리 어드레스와 해당하는 레코드의 할당처 메모리 어드레스를 비교해서, 쌍방이 일치하는지의 여부를 판정한다(스텝 S7).
쌍방의 할당처 메모리 어드레스가 일치한 경우(스텝 S7, 예), 라벨 관리 수단(23)은 해당하는 레코드의 삭제 플래그가 「1」인지의 여부를 판정한다(스텝 S8).
삭제 플래그가 「1」은 아닌 경우(스텝 S8, 아니오), 라벨 관리 수단(23)은 삭제 플래그를 「0」으로 하고(스텝 S9), 실행 프로그램 변환 수단(22)은 소스 프로그램(D1)의 해당 행의 라벨을 레코드에 기술되어 있는 할당처 메모리 어드레스로 치환하고, 실행 프로그램(D2)을 구성하는 실행 프로그램 코드로 변환한다(스텝 S10).
스텝 S5에 있어서, 라벨 정보 테이블(D3)로부터 해당하는 레코드가 발견되지 않은 경우(스텝 S5, 아니오), 라벨을 신규 추가하는 신규 추가 처리로 이행한다(스텝 S11).
도 6 은 신규 추가 처리를 상세히 설명하는 흐름도이다. 도시한 바와 같이, 우선 실행 프로그램 변환 수단(22)은 PLC(5)의 메모리(52)의 디바이스 데이터(D6)가 저장되는 영역 중, 스텝 S2에서 추출된 라벨의 데이터형에 따른 메모리 사이즈의 영역을, 당해 추출된 라벨에 할당한다(스텝 S21). 이때, 라벨 관리 수단(23)은 삭제 플래그의 값에 상관없이 모든 레코드를 참조해서, 어느 쪽의 레코드에도 기재되어 있지 않은 영역을 상기 추출된 라벨에 할당하도록 한다.
라벨 관리 수단(23)은 스텝 S2에서 추출된 라벨의 라벨명, 당해 라벨의 데이터형, 스텝 S21에서 할당된 메모리 어드레스로 이루어진 레코드를 준비한다(스텝 S22). 여기서, 이 레코드의 삭제 플래그는 「0」으로 해 둔다.
그리고, 라벨 관리 수단(23)은 준비한 레코드를 라벨 정보 테이블(D3)에 추가한다(스텝 S23). 그리고, 라벨 관리 수단(23)은 라벨 정보 테이블(D3) 및 실행 프로그램(D2)의 버전을 인크리멘트 하고(스텝 S24), 신규 추가 처리가 종료가 된다. 신규 추가 처리가 종료한 후 스텝 S10으로 이행한다.
스텝 S6에 있어서, 쌍방의 데이터형이 일치하지 않은 경우(스텝 S6, 아니오), 라벨의 데이터형을 변경하는 데이터형 변경 처리로 이행한다(스텝 S12).
도 7 은 데이터형 변경 처리를 상세히 설명하는 흐름도이다. 도시한 바와 같이, 우선 라벨 관리 수단(23)은 라벨 정보 테이블(D3)로부터 해당 레코드를 삭제한다(스텝 S31). 스텝 S31에 있어서는, 라벨 관리 수단(23)은 당해 레코드에 삭제 플래그를 설정하는 것이 아니라, 당해 레코드를 실제로 라벨 정보 테이블(D3)로부터 삭제한다.
그리고, 실행 프로그램 변환 수단(22)은 PLC(5)의 메모리(52)의 디바이스 데이터(D6)가 저장되는 영역 중, 스텝 S2에서 추출된 라벨의 데이터형에 따른 영역을 당해 라벨에 할당한다(스텝 S32).
그리고, 라벨 관리 수단(23)은 스텝 S2에서 추출된 라벨의 라벨명, 당해 라벨의 데이터형, 스텝 S32에서 할당된 할당처 메모리 어드레스로 이루어진 레코드를 준비한다(스텝 S33). 여기에서도 이 레코드의 삭제 플래그는 「0」으로 한다.
그리고, 라벨 관리 수단(23)은 준비한 레코드를 라벨 정보 테이블(D3)에 추가한다(스텝 S34). 그리고, 라벨 관리 수단(23)은 라벨 정보 테이블(D3) 및 실행 프로그램(D2)의 ID정보를 신규 생성함과 아울러 버전을 초기화하고(즉, 버전=「1」로 해서)(스텝 S35), 데이터형 변경 처리가 종료가 된다. 데이터형 변경 처리가 종료한 후 스텝 S10으로 이행한다.
스텝 S7에 있어서, 추출된 라벨의 할당처 메모리 어드레스와 해당하는 레코드의 할당처 메모리 어드레스가 일치하지 않은 경우(스텝 S7, 아니오), 라벨의 할당처 메모리 어드레스를 변경하는 할당처 메모리 어드레스 변경 처리로 이행한다(스텝 S13).
도 8 은 할당처 메모리 어드레스 변경 처리를 상세히 설명하는 흐름도이다. 도시한 바와 같이, 우선 라벨 관리 수단(23)은 스텝 S31와 동일하게 라벨 정보 테이블(D3)로부터 해당 레코드를 삭제한다(스텝 S41).
그리고, 라벨 관리 수단(23)은 스텝 S2에서 추출된 라벨의 라벨명, 당해 라벨의 데이터형, 추출된 라벨에 할당된 할당처 메모리 어드레스로 이루어진 레코드를 준비한다(스텝 S42). 여기에서도 이 레코드의 삭제 플래그는 「0」으로 한다.
그리고, 라벨 관리 수단(23)은 준비한 레코드를 라벨 정보 테이블(D3)에 추가한다(스텝 S43). 그리고, 라벨 관리 수단(23)은 라벨 정보 테이블(D3) 및 실행 프로그램(D2)의 ID정보를 신규 생성(갱신)함과 아울러 버전을 초기화하고(스텝 S44), 할당처 메모리 어드레스 변경 처리가 종료가 된다. 할당처 메모리 어드레스 변경 처리가 종료한 후 스텝 S10으로 이행한다.
스텝 S8에 있어서, 해당하는 레코드의 삭제 플래그가 「1」인 경우(스텝 S8, 예), 삭제된 것으로서 다루어지고 있던 라벨을 부활시키는 삭제 부활 처리로 이행한다(스텝 S14).
도 9 는 삭제 부활 처리를 상세히 설명하는 흐름도이다. 도시한 바와 같이, 우선 라벨 관리 수단(23)은 해당 레코드의 삭제 플래그를 「1」로부터 「0」으로 변경한다(스텝 S51). 그리고, 라벨 관리 수단(23)은 라벨 정보 테이블(D3) 및 실행 프로그램(D2)의 버전을 인크리멘트 하고(스텝 S52), 삭제 부활 처리가 종료가 된다. 삭제 부활 처리가 종료한 후, 스텝 S10으로 이행한다.
스텝 S10을 거친 후, 라벨 관리 수단(23)은 소스 프로그램(D1)의 모든 행의 주사가 종료했는지의 여부를 판정하고(스텝 S15), 종료하고 있지 않은 경우(스텝 S15, 아니오), 스텝 S2로 이행해서 주사를 계속한다. 종료한 경우(스텝 S15, 예), 라벨을 삭제하는 삭제 처리로 이행한다(스텝 S16).
도 10 은 삭제 처리를 상세히 설명하는 흐름도이다. 도시한 바와 같이, 우선 라벨 관리 수단(23)은 라벨 정보 테이블(D3)로부터 삭제 플래그의 값이 「2」로 되어 있는 레코드를 검색한다(스텝 S61). 그리고, 라벨 관리 수단(23)은 삭제 플래그가 「2」로 되어 있는 레코드가 발견되었는지의 여부를 판정한다(스텝 S62). 발견되지 않은 경우(스텝 S62, 아니오), 삭제 처리가 종료가 된다.
삭제 플래그가 「2」로 되어 있는 레코드가 발견된 경우(스텝 S62, 예), 라벨 관리 수단(23)은 해당 레코드의 삭제 플래그를 「2」로부터 「1」로 변경한다(스텝 S63). 그리고, 라벨 관리 수단(23)은 라벨 정보 테이블(D3) 및 실행 프로그램(D2)의 버전을 인크리멘트 하고(스텝 S64), 삭제 처리가 종료가 된다.
삭제 처리를 거친 후, 실행 프로그램 변환의 동작이 종료가 된다.
또한, 상술한 실행 프로그램 변환에 있어서는, 소스 프로그램(D1)을 1행씩 주사하는 것으로 했지만, 복수 행씩 주사하도록 해도 무방하다. 스텝 S2에 있어서, 주사한 복수 행으로부터 복수의 라벨이 발견된 경우, 발견된 라벨의 각각에 대해서 스텝 S4~스텝 S8의 동작을 순서대로 실행하도록 하면 좋다. 또한, 복수 행씩 주사하는 것이 아니라, 소스 프로그램(D1)의 모든 행을 한 번에 주사하도록 해도 무방하다.
또한, 상술한 실행 프로그램 변환에 있어서는, 각 처리(데이터형 변경 처리, 할당처 메모리 어드레스 변경 처리, 신규 추가 처리, 삭제 부활 처리, 삭제 처리)를 실행할 때마다 ID정보 또는 버전의 조작이 이루어진다고 해서 설명했지만, ID정보 또는 버전의 조작 타이밍은 상기 각 처리마다가 아니어도 상관없다.
예를 들면, 라벨 관리 수단(23)은 상기 각 처리의 실행시에는 ID정보 및 버전을 조작하지 않고, 상기 각 처리를 실행한 것을 기억 수단(4) 등의 기억 영역에 기록해 두어, 실행 프로그램 변환을 종료하기 전에 상기 기록의 내용에 기초해서 ID정보 또는 버전의 조작을 1회만 실행하도록 해도 무방하다. 즉, 라벨 관리 수단(23)은 단일의 소스 프로그램(D1)으로 데이터형 변경 처리 또는 할당처 메모리 어드레스 변경 처리를 한번이라도 실행한 경우, ID정보의 갱신과 버전의 초기화를 1회만 실행하고, 데이터형 변경 처리 및 할당처 메모리 어드레스 변경 처리를 실행하는 일 없이 신규 추가 처리, 삭제 부활 처리, 또는 삭제 처리를 한번이라도 실행한 경우, 버전의 인크리멘트를 1회만 실행한다.
또한, 데이터형 변경 처리 또는 할당처 메모리 어드레스 변경 처리가 이루어졌을 때만 ID정보가 갱신되는 것으로 해서 설명했지만, 데이터형 변경 처리, 할당처 메모리 어드레스 변경 처리에 부가해서 신규 추가 처리, 삭제 부활 처리, 삭제 처리 중 임의의 하나 또는 두 개가 이루어진 때에도 ID정보가 갱신되도록 해도 상관없다.
도 11 은 작화 장치(3)가 화면 데이터(D4)를 실행 화면 데이터(D5)로 변환하는 동작(실행 화면 데이터 변환)을 설명하는 흐름도이다. 도시한 바와 같이, 우선 실행 화면 데이터 변환 수단(32)은 화면 데이터(D4)의 내용이 최후에 실행 화면 데이터 변환이 실행되고 나서 변경되어 있는지의 여부를 판정한다(스텝 S71). 변경되어 있는 경우(스텝 S71, 예), 라벨 참조 수단(33)은 라벨 정보 테이블(D3)을 읽어냄과 아울러, 화면 데이터상의 화면 부품을 1개 주사해서 라벨을 추출한다(스텝 S72). 스텝 S71에 있어서, 화면 데이터(D4)의 내용이 최후에 실행 화면 데이터 변환이 실행되고 나서 변경되어 있지 않은 경우(스텝 S71, 아니오), 라벨 참조 수단(33)은 실행 화면 데이터(D5)의 ID정보와 라벨 정보 테이블(D3)의 ID정보가 일치하는지의 여부를 판정한다(스텝 S73). 쌍방의 ID정보가 일치하지 않은 경우(스텝 S73, 아니오), 스텝 S72로 이행한다. 일치한 경우(스텝 S73, 예), 실행 화면 데이터 변환이 종료가 된다.
스텝 S72에 이어서, 라벨 참조 수단(33)은 화면 부품으로부터 라벨이 발견되었는지의 여부를 판정한다(스텝 S74). 라벨이 발견되지 않은 경우(스텝 S74, 아니오), 후술하는 스텝 S78로 이행한다. 라벨이 발견된 경우(스텝 S74, 예), 라벨 참조 수단(33)은 라벨 정보 테이블(D3)로부터, 화면 부품으로부터 발견된 라벨과 라벨명이 일치하는 레코드를 검색한다(스텝 S75). 그리고, 라벨 참조 수단(33)은 스텝 S75의 검색에 의해서, 라벨 정보 테이블(D3)로부터 해당 레코드가 발견되었는지의 여부를 판정한다(스텝 S76). 해당 레코드가 발견된 경우(스텝 S76, 예), 실행 화면 데이터 변환 수단(32)은 화면 데이터(D4)상의 라벨을 발견된 레코드의 할당처 메모리 어드레스로 치환한다(스텝 S77). 그리고, 라벨 참조 수단(33)은 화면 데이터(D4)의 모든 화면 부품의 주사가 종료했는지의 여부를 판정하고(스텝 S78), 주사가 종료하고 있지 않은 경우(스텝 S78, No), 스텝 S72로 이행하고, 라벨 참조 수단(33)은 주사를 속행한다.
화면 데이터(D4)의 모든 화면 부품의 주사가 종료한 경우(스텝 S78, 예), 라벨 참조 수단(33)은 실행 화면 데이터(D5)의 ID정보와 라벨 정보 테이블(D3)의 ID정보가 일치하는지의 여부를 재차 판정한다(스텝 S79). 쌍방의 ID정보가 일치한 경우(스텝 S79, Yes), 실행 화면 데이터 변환이 종료가 된다.
실행 화면 데이터(D5)의 ID정보와 라벨 정보 테이블(D3)의 ID정보가 일치하지 않은 경우(스텝 S79, 아니오), 라벨 참조 수단(33)은 실행 화면 데이터(D5)의 ID정보 및 버전을 라벨 정보 테이블(D3)과 동일한 것으로 갱신하고(스텝 S80), 실행 화면 데이터 변환이 종료가 된다.
스텝 S76에 있어서, 해당 레코드가 발견되지 않았을 때(스텝 S76, 아니오), 라벨 참조 수단(33)은 라벨이 등록되지 않은(미등록) 것으로 해서 실행 화면 데이터 변환을 이상종료(ABEND)시켜(스텝 S81), 실행 화면 데이터 변환이 종료가 된다.
또한, 상기한 실행 화면 데이터 변환에 대해서는, 화면 데이터(D4)가 포함하는 화면 부품을 1개씩 주사하는 것으로 했지만, 복수씩 주사하도록 해도 무방하다. 주사한 복수의 화면 부품으로부터 복수의 라벨이 발견된 경우, 발견된 라벨의 각각에 대해서 스텝 S75~스텝 S77, 또는 스텝 S75, S76, S81의 처리를 실행하도록 하면 좋다. 화면 데이터(D4)가 포함하는 모든 화면 부품을 한번에 주사하도록 해도 무방하다.
도 12 는 표시기(6)가 실행하는 ID 대조 처리를 설명하는 흐름도이다. 표시기(6)는 PLC(5)에 접속되면, 화면 제어 수단(64)은 통신 수단(61)을 통해서 PLC(5)의 메모리(52)에 저장되어 있는 실행 프로그램(D2)의 ID정보를 취득한다(스텝 S91). 또한, 화면 제어 수단(64)은 메모리(62)에 저장되어 있는 실행 화면 데이터(D5)의 ID정보를 취득한다(스텝 S92). 라벨 대조 처리 수단(65)은 취득한 실행 프로그램(D2)의 ID정보와 실행 화면 데이터(D5)의 ID정보가 일치하는지의 여부를 판정한다(스텝 S93).
스텝 S93에 있어서, 쌍방의 ID정보가 일치한 경우(스텝 S93, 예), ID 대조 처리가 종료가 된다. 즉, 표시기(6)는 통상 동작을 개시한다. 쌍방의 ID정보가 일치하지 않은 경우(스텝 S93, 아니오), 라벨 대조 처리 수단(65)은 화면 제어 수단(64)에 지령해서 이상 처리를 실행시킨다. 즉, 라벨 대조 처리 수단(65)은 화면 제어 수단(64)을 통해서 화면의 다시 읽기(실행 화면 데이터(D5)의 재변환ㆍ재다운로드)가 필요한 취지의 메시지를 표시 화면(63)에 출력하고(스텝 S94), 화면 제어 수단(64)에 대해서 표시 화면(63)의 조작 금지를 지시한다(스텝 S95). 그리고, ID 대조 처리가 종료가 된다.
이와 같이, 본 발명의 실시형태에 의하면, 라벨 관리 수단(23)은 실행 프로그램(D2)이 재생성되었을 때, 당해 실행 프로그램(D2)에 대응하는 라벨 정보 테이블(D3)을 갱신함과 아울러, 당해 라벨 정보 테이블(D3)의 갱신 내용에 따라 실행 프로그램(D2) 및 라벨 정보 테이블(D3)에 부여하는 ID정보의 갱신을 실행/불실행 하도록 구성했으므로, 표시기(6)는 실행 프로그램(D2)이 재생성될 때마다 실행 화면 데이터(D5)의 재다운로드를 실행하지 않아도 완료되므로, 유저는 효율적인 프로그램 개발을 수행할 수 있게 된다.
또한, 라벨 관리 수단(23)은 실행 프로그램(D2) 및 라벨 정보 테이블(D3)에 버전 정보를 부여하고, 라벨 정보 테이블(D3)의 갱신 내용이 레코드의 증감인 경우, 버전 정보를 인크리멘트(갱신) 하도록 구성했으므로, 유저는 ID정보가 갱신되지 않는 경우여도 실행 프로그램(D2) 또는 라벨 정보 테이블(D3)의 버전 정보를 확인함으로써 실행 프로그램(D2), 라벨 정보 테이블(D3)이 갱신된 것을 인식할 수 있게 된다.
또한, 라벨 정보 테이블(D3)은 레코드마다 유효/무효를 나타내는 삭제 플래그를 구비하고, 라벨 관리 수단(23)은 라벨 정보 테이블(D3)을 갱신할 때, 삭제 플래그를 조작함으로써 레코드를 삭제/복원하도록 구성했으므로, 일단 삭제한 레코드를 부활시키는 경우에 새로 메모리 어드레스를 할당하는 처리를 실행하지 않아도 완료되게 된다.
또한, 작화 장치(3)는 실행 프로그램(D2)이 재생성된 후, 상기 재생성된 실행 프로그램(D2)에 부여되어 있는 ID정보와 실행 화면 데이터(D5)에 부여한 ID정보를 비교해서, 쌍방의 ID정보가 다른 경우, 실행 화면 데이터(D5)를 재생성하도록 구성했으므로, 실행 화면 데이터(D5)의 재생성의 빈도를 저감할 수 있으므로, 유저는 효율적인 프로그램 개발을 수행할 수 있게 된다.
이상과 같이, 본 발명에 따른 PLC 시스템 및 개발 시스템은 산업용 기기를 제어하기 위한 PLC 시스템 및 개발 시스템에 적용하기에 매우 적합하다.
1 : 개발 시스템 2 : 프로그래밍 장치
3 : 작화 장치 4 : 기억 수단
5 : 프로그래머블 컨트롤러 6 : 프로그래머블 표시기
21 : 편집 입력 접수 수단 22 : 실행 프로그램 변환 수단
23 : 라벨 관리 수단 24 : 통신 수단
31 : 편집 입력 접수 수단 32 : 실행 화면 데이터 변환 수단
33 : 라벨 참조 수단 34 : 통신 수단
51 : 통신 수단 52 : 메모리
53 : 프로그램 실행 수단 61 : 통신 수단
62 : 메모리 63 : 표시 화면
64 : 화면 제어 수단 65 : 라벨 대조 처리 수단
71 : CPU 72 : ROM
73 : RAM 74 : 입력부
75 : 표시부 76 : 통신부
77 : 외부 기억장치 인터페이스 78 : 외부 기억장치
81 : 프로그래밍 프로그램 82 : 작화 프로그램
100 : PLC 시스템

Claims (25)

  1. 디바이스 어드레스가 사용되는, 외부 기기를 제어하는 제1 프로그램을 제1 식별 정보와 대응지어 기억하는 제1 메모리를 구비하고, 상기 제1 프로그램을 실행하는 프로그래머블 컨트롤러(PLC)와,
    디바이스 어드레스가 사용되는 제1 화면 데이터를 제2 식별 정보와 대응지어 기억하는 제2 메모리를 구비하는 표시기와,
    디바이스 어드레스 대신에 라벨이 사용되는 제2 프로그램 속에 사용되고 있는 라벨에 디바이스 어드레스를 할당함으로써 상기 제1 메모리에 기억시키는 제1 프로그램을 생성하는 프로그램 변환부와, 상기 프로그램 변환부가 상기 제1 프로그램을 생성했을 때, 상기 제2 프로그램 속에서 사용되고 있는 라벨과 당해 라벨에 할당된 디바이스 어드레스와의 라벨마다 대응짓기인 라벨 정보를 생성하는 라벨 관리부와, 상기 라벨 관리부가 생성한 라벨 정보를 상기 제1 식별 정보와 대응지어 기억하는 라벨 정보 기억부와, 디바이스 어드레스 대신에 라벨이 사용되는 제2 화면 데이터 속에 사용되고 있는 라벨을 상기 라벨 정보 기억부가 기억하는 라벨 정보에 기초해서 디바이스 어드레스로 변환함으로써 상기 제2 메모리에 기억시키는 제1 화면 데이터를 생성하고, 상기 제1 화면 데이터를 생성한 시점에 있어서 상기 라벨 정보에 대응지어져 있는 제1 식별 정보와 동일한 값을 상기 제2 식별 정보로서 상기 생성한 제1 화면 데이터에 대응짓는 작화부를 구비하는 개발 시스템을 구비하고,
    상기 라벨 관리부는, 상기 프로그램 변환부가 상기 제1 프로그램을 재생성했을 때, 상기 제1 프로그램의 재생성에 대응해 상기 라벨 정보 기억부가 기억하는 라벨 정보를 갱신함과 아울러, 상기 라벨 정보의 갱신 내용이 소정의 종류에 해당하는 경우를 제외하고, 상기 라벨 정보 및 상기 재생성된 제1 프로그램에 대응지어져 있는 제1 식별 정보를 갱신하고,
    상기 표시기는, 상기 PLC가 실행하는 제1 프로그램에 대응지어져 있는 제1 식별 정보와 상기 제2 메모리가 기억하는 제1 화면 데이터에 대응지어져 있는 제2 식별 정보가 합치하는지의 여부를 판정해서, 상기 쌍방의 식별 정보가 합치한 경우, 상기 제2 메모리가 기억하는 제1 화면 데이터에 기초해서 디바이스 어드레스의 내용을 상기 PLC로부터 취득해서 표시하고, 상기 쌍방의 식별 정보가 합치하지 않는 경우, 이상 처리를 실행하는 것을 특징으로 하는 프로그래머블 컨트롤러 시스템.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 청구항 1에 있어서,
    상기 라벨 정보의 갱신 내용의 소정의 종류는, 상기 라벨 정보를 구성하는 라벨마다의 대응짓기의 추가, 삭제 또는 삭제한 것의 복원인 것을 특징으로 하는 프로그래머블 컨트롤러 시스템.
  14. 청구항 1에 있어서,
    상기 라벨 관리부는 상기 라벨 정보의 갱신 내용이 할당처의 디바이스 어드레스의 변경인 경우, 상기 제1 식별 정보를 갱신하는 것을 특징으로 하는 프로그래머블 컨트롤러 시스템.
  15. 청구항 1에 있어서,
    상기 제2 프로그램 및 상기 라벨 정보에는 상기 제1 메모리에 저장되는 디바이스 데이터의 데이터형이 라벨마다 기술되고,
    상기 라벨 관리부는 상기 라벨 정보의 갱신 내용이 데이터형의 변경인 경우, 상기 제1 식별 정보를 갱신하는 것을 특징으로 하는 프로그래머블 컨트롤러 시스템.
  16. 청구항 13에 있어서,
    상기 라벨 관리부는 상기 제1 프로그램 및 상기 라벨 정보에 상기 제1 식별 정보와 함께 버전 정보를 부여하고, 상기 라벨 정보의 갱신 내용이 상기 소정의 종류에 해당하는 경우, 상기 버전 정보를 갱신하는 것을 특징으로 하는 프로그래머블 컨트롤러 시스템.
  17. 청구항 13에 있어서,
    상기 라벨 정보는 유효/무효를 나타내는 삭제 플래그를 상기 라벨 정보를 구성하는 대응짓기마다 구비하고,
    상기 라벨 관리부는 상기 삭제 플래그를 조작함으로써 상기 라벨 정보를 구성하는 대응짓기를 삭제/복원하는 것을 특징으로 하는 프로그래머블 컨트롤러 시스템.
  18. 청구항 1, 청구항 13 내지 청구항 15 중 어느 한 항에 있어서,
    상기 작화부는, 상기 프로그램 변환부가 상기 제1 프로그램을 재생성한 후, 상기 재생성된 제1 프로그램에 대응지어져 있는 제1 식별 정보와 상기 제1 화면 데이터에 대응지어져 있는 제2 식별 정보를 비교해서, 쌍방의 식별 정보가 다른 경우, 상기 제1 화면 데이터를 재생성하는 것을 특징으로 하는 프로그래머블 컨트롤러 시스템.
  19. 디바이스 어드레스가 사용되는, 외부 기기를 제어하는 제1 프로그램을 제1 식별 정보와 대응지어 기억하는 제1 메모리를 구비하고, 상기 제1 프로그램을 실행하는 프로그래머블 컨트롤러(PLC)에 다운로드되는 상기 제1 프로그램과, 디바이스 어드레스가 사용되는 제1 화면 데이터를 제2 식별 정보와 대응지어 기억하는 제2 메모리를 구비하고, 상기 PLC가 실행하는 제1 프로그램에 대응지어져 있는 제1 식별 정보와 상기 제2 메모리가 기억하는 제1 화면 데이터에 대응지어져 있는 제2 식별 정보가 합치하는지의 여부를 판정해서, 상기 쌍방의 식별 정보가 합치한 경우, 상기 제2 메모리가 기억하는 제1 화면 데이터에 기초해서 디바이스 어드레스의 내용을 상기 PLC로부터 취득해서 표시하고, 상기 쌍방의 식별 정보가 합치하지 않는 경우, 이상 처리를 실행하는 표시기에 다운로드되는 상기 제1 화면 데이터를 작성하는 개발 시스템으로서,
    디바이스 어드레스 대신에 라벨이 사용되는 제2 프로그램 속에 사용되고 있는 라벨에 디바이스 어드레스를 할당함으로써 상기 제1 메모리에 기억시키는 제1 프로그램을 생성하는 프로그램 변환부와,
    상기 프로그램 변환부가 상기 제1 프로그램을 생성했을 때, 상기 제2 프로그램 속에서 사용되고 있는 라벨과 당해 라벨에 할당된 디바이스 어드레스와의 라벨마다 대응짓기인 라벨 정보를 생성하는 라벨 관리부와,
    상기 라벨 관리부가 생성한 라벨 정보를 상기 제1 식별 정보와 대응지어 기억하는 라벨 정보 기억부와,
    디바이스 어드레스 대신에 라벨이 사용되는 제2 화면 데이터 속에 사용되고 있는 라벨을, 상기 라벨 정보 기억부가 기억하는 라벨 정보에 기초해서 디바이스 어드레스로 변환함으로써, 상기 제2 메모리에 기억시키는 제1 화면 데이터를 생성하고, 상기 제1 화면 데이터를 생성한 시점에 있어서 상기 라벨 정보에 대응지어져 있는 제1 식별 정보와 동일한 값을 상기 제2 식별 정보로서 상기 생성한 제1 화면 데이터에 대응짓는 작화부를 구비하고,
    상기 라벨 관리부는, 상기 프로그램 변환부가 상기 제1 프로그램을 재생성했을 때, 상기 제1 프로그램의 재생성에 대응해서 상기 라벨 정보 기억부가 기억하는 라벨 정보를 갱신함과 아울러, 상기 라벨 정보의 갱신 내용이 소정의 종류에 해당하는 경우를 제외하고, 상기 라벨 정보 및 상기 재생성된 제1 프로그램에 대응지어져 있는 제1 식별 정보를 갱신하는 것을 특징으로 하는 개발 시스템.
  20. 청구항 19에 있어서,
    상기 라벨 정보의 갱신 내용의 소정의 종류는, 상기 라벨 정보를 구성하는 라벨마다의 대응짓기의 추가, 삭제 또는 삭제한 것의 복원인 것을 특징으로 하는 개발 시스템.
  21. 청구항 19에 있어서,
    상기 라벨 관리부는 상기 라벨 정보의 갱신 내용이 할당처의 디바이스 어드레스의 변경인 경우, 상기 제1 식별 정보를 갱신하는 것을 특징으로 하는 개발 시스템.
  22. 청구항 19에 있어서,
    상기 제2 프로그램 및 상기 라벨 정보에는 상기 제1 메모리에 저장되는 디바이스 데이터의 데이터형이 라벨마다 기술되고,
    상기 라벨 관리부는 상기 라벨 정보의 갱신 내용이 데이터형의 변경인 경우, 상기 제1 식별 정보를 갱신하는 것을 특징으로 하는 개발 시스템.
  23. 청구항 20에 있어서,
    상기 라벨 관리부는 상기 제1 프로그램 및 상기 라벨 정보에 상기 제1 식별 정보와 함께 버전 정보를 부여하고, 상기 라벨 정보의 갱신 내용이 상기 소정의 종류에 해당하는 경우, 상기 버전 정보를 갱신하는 것을 특징으로 하는 개발 시스템.
  24. 청구항 20에 있어서,
    상기 라벨 정보는 유효/무효를 나타내는 삭제 플래그를 상기 라벨 정보를 구성하는 대응짓기마다 구비하고,
    상기 라벨 관리부는 상기 삭제 플래그를 조작함으로써 상기 라벨 정보를 구성하는 대응짓기를 삭제/복원하는 것을 특징으로 하는 개발 시스템.
  25. 청구항 19 내지 청구항 22 중 어느 한 항에 있어서,
    상기 작화부는, 상기 프로그램 변환부가 상기 제1 프로그램을 재생성한 후, 상기 재생성된 제1 프로그램에 대응지어져 있는 제1 식별 정보와 상기 제1 화면 데이터에 대응지어져 있는 제2 식별 정보를 비교해서, 쌍방의 식별 정보가 다른 경우, 상기 제1 화면 데이터를 재생성하는 것을 특징으로 하는 개발 시스템.
KR1020127016098A 2010-01-20 2010-01-20 프로그래머블 컨트롤러 시스템 및 개발 시스템 KR101392085B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/050612 WO2011089688A1 (ja) 2010-01-20 2010-01-20 プログラマブルコントローラシステムおよび開発システム

Publications (2)

Publication Number Publication Date
KR20120096526A KR20120096526A (ko) 2012-08-30
KR101392085B1 true KR101392085B1 (ko) 2014-05-07

Family

ID=44306512

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127016098A KR101392085B1 (ko) 2010-01-20 2010-01-20 프로그래머블 컨트롤러 시스템 및 개발 시스템

Country Status (7)

Country Link
US (1) US8839199B2 (ko)
EP (1) EP2527938B1 (ko)
JP (1) JP5095013B2 (ko)
KR (1) KR101392085B1 (ko)
CN (1) CN102713774B (ko)
TW (1) TWI439829B (ko)
WO (1) WO2011089688A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0365710A (ja) * 1989-08-03 1991-03-20 Meiki Co Ltd 加熱ゾーンの温度制御装置
WO2012027907A1 (en) * 2010-09-03 2012-03-08 Siemens Aktiengesellschaft Method for parallelizing automatic control programs and compiler
TWI481979B (zh) * 2011-11-08 2015-04-21 Inst Information Industry Programmable logic controller drive system, method and recording media
WO2013168224A1 (ja) * 2012-05-08 2013-11-14 三菱電機株式会社 プログラマブルロジックコントローラ、プログラミングツール及びプログラム・パラメータ編集システム
TWI489232B (zh) * 2012-11-14 2015-06-21 Inst Information Industry 遠端監控系統及方法及其記錄媒體
DE112012007014T5 (de) * 2012-11-22 2015-07-09 Mitsubishi Electric Corporation Systemkonstruktions-Unterstützungsapparatur
WO2014091623A1 (ja) * 2012-12-14 2014-06-19 発紘電機株式会社 プログラマブルコントローラシステム、そのプログラマブル表示器、支援装置、プログラム
JP5931276B2 (ja) * 2013-03-15 2016-06-08 発紘電機株式会社 プログラマブル表示器、そのプログラム
KR101689099B1 (ko) * 2013-04-04 2016-12-22 미쓰비시덴키 가부시키가이샤 엔지니어링 툴 및 프로그래머블 로직 컨트롤러
WO2014188602A1 (ja) * 2013-05-24 2014-11-27 発紘電機株式会社 プログラマブルコントローラシステム、その作画エディタ装置、そのプログラム
JP6071782B2 (ja) * 2013-07-04 2017-02-01 株式会社東芝 プラント制御装置、プラント制御方法及びプラント制御プログラム
WO2015173863A1 (ja) * 2014-05-12 2015-11-19 三菱電機株式会社 プログラマブルコントローラ、プログラマブルコントローラシステム、エンジニアリングツールおよび表示器
WO2015186178A1 (ja) * 2014-06-02 2015-12-10 三菱電機株式会社 プログラマブルコントローラシステム、プログラマブルコントローラ、プログラム表示装置、プログラムの表示方法
JP6309408B2 (ja) * 2014-09-19 2018-04-11 発紘電機株式会社 プログラマブルコントローラシステム、プログラマブル表示器
WO2016135835A1 (ja) * 2015-02-23 2016-09-01 三菱電機株式会社 制御装置及び制御システム
WO2016135943A1 (ja) * 2015-02-27 2016-09-01 三菱電機株式会社 データ編集装置、データ編集方法及びデータ編集プログラム
WO2018216082A1 (ja) * 2017-05-22 2018-11-29 三菱電機株式会社 プログラマブル表示器およびデータ取得方法
KR102068787B1 (ko) * 2018-02-05 2020-01-22 미쓰비시덴키 가부시키가이샤 알람 기능 설정 장치, 알람 기능 설정 시스템 및 알람 기능 설정 프로그램
JP7003842B2 (ja) * 2018-05-31 2022-01-21 オムロン株式会社 サポート装置およびサポートプログラム
WO2020054023A1 (ja) * 2018-09-13 2020-03-19 三菱電機株式会社 設定支援装置、設定支援方法及びプログラム
CN112840278B (zh) * 2018-10-15 2022-05-10 三菱电机株式会社 可编程逻辑控制器、外部仪器、方法及程序
KR102243708B1 (ko) * 2019-01-14 2021-04-22 엘에스일렉트릭(주) Hmi 시스템의 편집 툴 갱신 방법
CN110830766B (zh) * 2019-10-15 2021-05-04 许昌许继软件技术有限公司 一种变电站监控系统间隔画面自动配置、修正方法及装置
US11218360B2 (en) 2019-12-09 2022-01-04 Quest Automated Services, LLC Automation system with edge computing
CN116319665A (zh) * 2023-03-03 2023-06-23 上海繁易信息科技股份有限公司 基于动态定位plc标签地址的通信方法、装置、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009157533A (ja) * 2007-12-25 2009-07-16 Fuji Electric Systems Co Ltd プログラマブルコントローラシステム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5321829A (en) * 1990-07-20 1994-06-14 Icom, Inc. Graphical interfaces for monitoring ladder logic programs
JPH10333719A (ja) * 1997-05-28 1998-12-18 Denso Corp プログラマブルコントローラのプログラミング装置
JP3297844B2 (ja) * 1998-01-28 2002-07-02 株式会社デジタル ダウンロードシステム及びダウンロードプログラムを記録したコンピュータ読み取り可能な記録媒体
EP1816531A3 (en) * 1999-08-31 2007-12-26 Digital Electronics Corporation Editing apparatus and recording medium in which editing program is recorded
JP2004258797A (ja) 2003-02-24 2004-09-16 Keyence Corp データ収集装置、プログラマブルコントローラ、データ収集システムおよびデータ収集プログラム
JP4288700B2 (ja) 2003-12-12 2009-07-01 横河電機株式会社 プログラマブルコントローラ
JP3910184B2 (ja) * 2004-03-29 2007-04-25 ファナック株式会社 シーケンスプログラム編集装置
JP2008159002A (ja) * 2006-12-26 2008-07-10 Toshiba Corp プラント制御システム、監視操作装置及びプラント監視プログラム
JP2008198148A (ja) 2007-02-16 2008-08-28 Yokogawa Electric Corp プログラマブルコントローラ
JP2009146229A (ja) * 2007-12-14 2009-07-02 Fuji Electric Systems Co Ltd プログラマブルコントローラシステム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009157533A (ja) * 2007-12-25 2009-07-16 Fuji Electric Systems Co Ltd プログラマブルコントローラシステム

Also Published As

Publication number Publication date
WO2011089688A1 (ja) 2011-07-28
CN102713774A (zh) 2012-10-03
JP5095013B2 (ja) 2012-12-12
TWI439829B (zh) 2014-06-01
TW201126293A (en) 2011-08-01
JPWO2011089688A1 (ja) 2013-05-20
EP2527938A1 (en) 2012-11-28
KR20120096526A (ko) 2012-08-30
CN102713774B (zh) 2015-05-13
US8839199B2 (en) 2014-09-16
EP2527938A4 (en) 2017-05-03
EP2527938B1 (en) 2018-09-19
US20120290775A1 (en) 2012-11-15

Similar Documents

Publication Publication Date Title
KR101392085B1 (ko) 프로그래머블 컨트롤러 시스템 및 개발 시스템
CN111142903B (zh) 一种基于文件对比的配置文件交互式更新方法及装置
JP5387282B2 (ja) コンテンツ処理装置、コンテンツの部分完全性保証のためのプログラム
JP4541418B2 (ja) プログラマブルコントローラの周辺装置、置換方法およびプログラム
JP5039428B2 (ja) プログラマブルコントローラ及びplcシステム
JP2009146229A (ja) プログラマブルコントローラシステム
US6948059B1 (en) Component loader for industrial control device providing resource search capabilities
EP2523103A1 (en) Stabilized binary differencing
JP2009157533A (ja) プログラマブルコントローラシステム
CN109101244A (zh) 一种ios系统一体化自动打包方法
CN104850791A (zh) 处理任务的方法和系统
CN116303348A (zh) 一种基于canal在线迁移DRDS分库分表的方法及系统
CN115688119A (zh) 漏洞修复方法、装置、电子设备及存储介质
JPWO2019229845A1 (ja) プログラム管理システム、プログラミング支援装置、プログラム管理方法、およびプログラミング支援プログラム
JP2011059918A (ja) バージョン管理装置及びバージョン管理方法
JP2015022511A (ja) プログラマブルコントローラシステム、その支援装置、プログラム
JP5205988B2 (ja) Plcのグローバル変数定義方式
JP2006302066A (ja) リモート実行機能を備えたメンテナンスシステムおよびその方法
JP2015005224A (ja) プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ、プログラム
JP2009098963A (ja) モジュール自動生成システム
KR100258633B1 (ko) 제어로직 프로그램 관리방법
JP2016151973A (ja) 制御コントロールシステム、その開発支援装置、制御装置
JP2023138113A (ja) 情報処理装置及び情報処理システム
JP2002189506A (ja) Pcサポート装置
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