KR20110121568A - 플랜트 제어 시스템 및 프로그램 재배치 방법 - Google Patents

플랜트 제어 시스템 및 프로그램 재배치 방법 Download PDF

Info

Publication number
KR20110121568A
KR20110121568A KR1020110040151A KR20110040151A KR20110121568A KR 20110121568 A KR20110121568 A KR 20110121568A KR 1020110040151 A KR1020110040151 A KR 1020110040151A KR 20110040151 A KR20110040151 A KR 20110040151A KR 20110121568 A KR20110121568 A KR 20110121568A
Authority
KR
South Korea
Prior art keywords
variable
program
controller
variable name
name
Prior art date
Application number
KR1020110040151A
Other languages
English (en)
Other versions
KR101260275B1 (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 KR20110121568A publication Critical patent/KR20110121568A/ko
Application granted granted Critical
Publication of KR101260275B1 publication Critical patent/KR101260275B1/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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4188Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by CIM planning or realisation
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • 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
    • 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/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31334Database with devices, configuration, of plant
    • 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/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36122Operator menu with submenu for each item
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

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

Abstract

일실시예에 따르면, 플랜트 제어 시스템은, 복수의 프로그래머블 제어기(PC)를 탑재한 스테이션(ST), 상기 복수의 프로그래머블 제어기(PC)에 의해 실행되는 프로그램을 관리하도록 구성된 엔지니어링 디바이스(100), 유저에 의해 동작되어 상기 엔지니어링 디바이스(100)에 동작 신호를 공급하도록 구성된 입력 디바이스(130, 140), 상기 엔지니어링 디바이스로부터 출력된 비디오 신호를 표시하도록 구성된 디스플레이 디바이스(150), 및 상기 복수의 프로그래머블 제어기(PC) 및 상기 엔지니어링 디바이스(100)에 접속하도록 구성된 데이터 송신 디바이스(600)를 포함하고, 상기 엔지니어링 디바이스(100)는 각각의 프로그래머블 제어기(PC) 내의 복수의 프로그램 사이에서의 데이터의 공유를 허용하는 제어기 글로벌 변수와, 상기 스테이션(ST), 데이터베이스 관리부(120) 및 상기 프로그램들을 이동시키도록 구성된 재배치 관리부(110)에서 복수의 프로그램 사이에서의 데이터의 공유를 허용하는 스테이션 글로벌 변수의 변수 정보를 저장하도록 구성된 데이터베이스(DB1)를 포함하고, 상기 재배치 관리부(110)는 상기 입력 디바이스(130, 140)로부터의 동작 신호에 의거하여, 소스 프로그래머블 제어기, 하나 또는 복수의 이동될 프로그램, 수신지 프로그래머블 제어기, 및 상기 소스 프로그래머블 제어기에서의 프로그램의 실행 순서를 지정하도록 구성된 이동 지정 모듈(114); 상기 이동 지정 모듈(114)에서 지정된 대로 상기 프로그램을 이동시키도록 구성된 모듈(116); 및 상기 프로그램이 이동될 경우에, 상기 프로그램으로부터 액세스 가능해지게 상기 프로그램에서 사용된 상기 제어기 글로벌 변수 및 상기 스테이션 글로벌 변수를 이동 또는 복사하도록 구성된 변수 변경 모듈(118)을 포함한다.

Description

플랜트 제어 시스템 및 프로그램 재배치 방법{PLANT CONTROL SYSTEM AND PROGRAM RELOCATE METHOD}
본원에 개시된 실시예는 일반적으로 플랜트 제어 시스템 및 프로그램 재배치 방법에 관한 것이다.
플랜트 제어 시스템은 하나 또는 복수의 프로그래머블 제어기(programmable controller)와, 상기 복수의 프로그래머블 제어기 사이에서 데이터를 송수신하도록 구성된 데이터 송신 디바이스를 포함한다. 프로그래머블 제어기 내에서 복수의 프로그램이 실행된다. 그 안의 각각의 프로그램은, 예컨대 후술하는 4가지 종류의 변수를 설정한다.
다시 말해, 하나의 프로그램 내에서만 유효한 로컬 변수(local variable), 프로그래머블 제어기 내의 복수의 프로그램 사이에서 데이터를 공유할 수 있는 제어기 글로벌 변수(controller global variable), 데이터 송신 디바이스의 스테이션 내의 복수의 프로그래머블 제어기의 복수의 프로그램 사이에서 데이터를 공유할 수 있는 스테이션 글로벌 변수(station global variable), 및 데이터 송신 디바이스의 복수의 스테이션에서 복수의 프로그래머블 제어기의 복수의 프로그램 사이에서 데이터를 공유할 수 있는 네트워크 변수(network variable)가 설정된다.
플랜트 제어 시스템이 설계되거나 이미 가동 중인 플랜트 제어 시스템에 기능이 추가되면, 프로그래머블 제어기가 예상 실행 시간 내에 동작할 수 없거나, 프로그래머블 제어기에 이용할 수 있는 메모리가 불충분한 경우가 있을 수 있다. 이러한 경우에, 프로그래머블 제어기 내의 하나 또는 복수의 프로그램은 다른 프로그래머블 제어기로 이동될 필요가 있다.
프로그램이 다른 프로그래머블 제어기로 이동될 경우에, 이동될 프로그램이 제어기 글로벌 변수 또는 스테이션 글로벌 변수를 통해 소스 프로그래머블 제어기 내의 프로그램에 대하여 데이터를 입출력하면, 예컨대 제어기 글로벌 변수 또는 스테이션 글로벌 변수는 네트워크 변수로 변경된다. 또한, 변수가 변경될 경우에, 그 변수 이름이 현재의 네트워크 변수의 이름과 겹치면, 변수 이름은 변경될 필요가 있고, 이동될 프로그램과 소스 프로그래머블 제어기 내의 프로그램의 변수 이름은 변경될 필요가 있다.
이동될 프로그램이 기능(복수의 프로그램 사이에서 공유되어 사용될 수 있는 프로그램이며, 그 프로그램 내에 데이터를 저장하기 위한 메모리 영역을 갖고 있지 않음) 및 기능 블록(복수의 프로그램 사이에서 공유되어 사용될 수 있는 프로그램이며, 그 프로그램 내에 데이터를 저장하기 위한 메모리 영역을 갖고 있음)을 사용하는 경우에는, 그 기능 및 기능 블록은 동시에 이동되거나 복사되어 이용되어야 한다.
종래, 임의의 에러를 만들지 않도록 최대한 주의깊게 프로그래머블 제어기의 엔지니어링 디바이스를 사용하여, 일련의 작업이 수동으로 수행되어야 했었다.
변수 등이 상호간에 이동되기 때문에, 상당한 시간을 요하여 설계 작업의 비용을 증가시키게 된다. 복잡한 작업이 상호간에 수행되기 때문에, 설계 에러로 인해 제어 시스템의 품질 열화가 생길 수 있다.
본 발명은 상기 상황을 감안하여 이루어진 것이며, 본 발명의 목적은 설계 작업의 비용을 절감하고 플랜트 제어 장치 및 프로그램 재배치 방법을 고품질로 제공하는 것이다.
일 양태에 따르면, 복수의 프로그래머블 제어기를 탑재한 스테이션, 상기 복수의 프로그래머블 제어기에 의해 실행되는 프로그램을 관리하도록 구성된 엔지니어링 디바이스, 유저에 의해 동작되어 상기 엔지니어링 디바이스에 동작 신호를 공급하도록 구성된 입력 디바이스, 상기 엔지니어링 디바이스로부터 출력된 비디오 신호를 표시하도록 구성된 디스플레이 디바이스, 및 상기 복수의 프로그래머블 제어기 및 상기 엔지니어링 디바이스에 접속하도록 구성된 데이터 송신 디바이스를 포함하는 플랜트 제어 시스템으로서, 상기 엔지니어링 디바이스는 각각의 프로그래머블 제어기 내의 복수의 프로그램 사이에서의 데이터의 공유를 허용하는 제어기 글로벌 변수와, 상기 스테이션, 데이터베이스 관리부 및 상기 프로그램들을 이동시키도록 구성된 재배치 관리부에서 복수의 프로그램 사이에서의 데이터의 공유를 허용하는 스테이션 글로벌 변수의 변수 정보를 저장하도록 구성된 데이터베이스를 포함하고, 상기 재배치 관리부는 상기 입력 디바이스로부터의 동작 신호에 의거하여, 소스 프로그래머블 제어기의 실행, 하나 또는 복수의 이동될 프로그램, 수신지(destination) 프로그래머블 제어기, 및 상기 소스 프로그래머블 제어기에서의 프로그램의 실행 순서를 지정하도록 구성된 이동 지정 모듈; 상기 이동 지정 모듈에 의해 지정된 대로 상기 프로그램을 이동시키도록 구성된 모듈; 및 상기 프로그램이 이동될 경우에, 상기 프로그램으로부터 액세스 가능해지게 상기 프로그램에서 사용된 상기 제어기 글로벌 변수 및 상기 스테이션 글로벌 변수를 이동 또는 복사하도록 구성된 변수 변경 모듈을 포함하는 플랜트 제어 시스템이 제공된다.
본 발명에 따르면, 설계 작업의 비용을 절감하고, 플랜트 제어 장치 및 프로그램 재배치 방법을 고품질로 제공할 수 있다.
도 1a는 일 실시예에 따른 플랜트 제어 시스템의 구조예를 개략적으로 도시하는 도면.
도 1b는 일 실시예에 따른 플랜트 제어 시스템의 구조예를 개략적으로 도시하는 도면.
도 2a는 도 1에 도시된 플랜트 제어 시스템의 재배치 관리부의 구조예를 개략적으로 도시하는 도면.
도 2b는 도 1에 도시된 플랜트 제어 시스템의 재배치 관리부의 예시적인 동작을 설명하기 위한 플로우차트.
도 3은 도 1에 도시된 플랜트 제어 시스템에서 프로그램이 이동될 때의 재배치 화면의 일례를 도시하는 도면.
도 4는 도 1에 도시된 플랜트 제어 시스템에서 변수가 이동 또는 복사될 때의 재배치 화면의 일례를 도시하는 도면.
도 5는 도 1에 도시된 플랜트 제어 시스템에서 변수가 이동 또는 복사될 때의 재배치 화면의 일례를 도시하는 도면.
도 6은 도 1에 도시된 플랜트 제어 시스템에서 변수 이름 전환 규칙을 설정하기 위한 접두어 전환 지정 화면의 일례를 도시하는 도면.
도 7은 제 2 실시예에 따른 플랜트 제어 시스템의 재배치 관리부의 구조예를 개략적으로 도시하는 도면.
도 8은 제 2 실시예에 따른 플랜트 제어 시스템의 예시적인 동작을 설명하기 위한 도면.
도 9는 제 3 실시예에 따른 플랜트 제어 시스템의 예시적인 동작을 설명하기 위한 도면.
도 10은 제 4 실시예에 따른 플랜트 제어 시스템의 예시적인 동작을 설명하기 위한 도면.
도 11은 제 4 실시예에 따른 플랜트 제어 시스템의 예시적인 동작을 설명하기 위한 도면.
도 12는 제 5 실시예에 따른 플랜트 제어 시스템의 예시적인 동작을 설명하기 위한 도면.
도 13은 제 6 실시예에 따른 플랜트 제어 시스템의 예시적인 동작을 설명하기 위한 도면.
도 14는 제 7 실시예에 따른 플랜트 제어 시스템의 예시적인 동작을 설명하기 위한 도면.
도 15는 제 8 실시예에 따른 플랜트 제어 시스템의 예시적인 동작을 설명하기 위한 도면.
도 16은 제 9 실시예에 따른 플랜트 제어 시스템의 예시적인 동작을 설명하기 위한 도면.
도 17은 제 10 실시예에 따른 플랜트 제어 시스템의 예시적인 동작을 설명하기 위한 도면.
도 18은 제 10 실시예에 따른 플랜트 제어 시스템의 예시적인 동작을 설명하기 위한 도면.
도 19는 제 11 실시예에 따른 플랜트 제어 시스템의 예시적인 동작을 설명하기 위한 도면.
도 20은 제 12 실시예에 따른 플랜트 제어 시스템의 재배치 관리부의 구조예를 개략적으로 도시하는 도면.
도 21은 제 12 실시예에 따른 플랜트 제어 시스템의 예시적인 동작을 설명하기 위한 도면.
도 22는 제 13 실시예에 따른 플랜트 제어 시스템의 예시적인 동작을 설명하기 위한 도면.
이하에 제 1 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법을 첨부도면을 참조로 상세하게 설명한다.
도 1a, 도 1b는 플랜트 제어 시스템의 전체 구조의 일례를 도시한다. 플랜트 제어 시스템은 공통 메모리 스페이스(400)를 갖는 데이터 송신 디바이스(500); 복수의 프로그래머블 제어기가 데이터 송신 디바이스(500) 내의 스테이션(ST: ST1, ST2, ...)에 탑재될 수 있는 멀티-제어기; 복수의 프로그램을 실행할 수 있고 그 프로그램 내에서 사용될 수 있는 로컬 변수, 제어기 글로벌 변수, 스테이션 글로벌 변수 및 네트워크 변수를 갖는 프로그래머블 제어기(PC: PC1, PC2, PC3, ...); 및 모든 프로그래머블 제어기(PC)의 로컬 변수, 제어기 글로별 변수, 스테이션 글로벌 변수 및 네트워크 변수의 메모리 어드레스, 데이터 송신 디바이스의 공통 메모리 스페이스의 메모리 어드레스, 송신 모듈 및 모든 프로그래머블 제어기(PC)의 프로그램을 총괄적으로 관리하도록 구성된 엔지니어링 디바이스(100)를 포함한다.
데이터 송신 디바이스(500)는 네트워크(300)를 통해 제어되는 플랜트에 접속된다.
엔지니어링 디바이스(100)는 재배치 관리부(110)와, 프로그램 정보 및 다양한 항목의 변수 정보를 저장하는 제 1 데이터베이스(DB1)와, 시스템 구조를 저장하는 제 2 데이터베이스(DB2)와, 제 1 데이터베이스(DB1) 및 제 2 데이터베이스(DB2)를 관리하도록 구성된 데이터베이스 관리부(120)와, 하드디스크(HD)를 포함한다.
제 1 데이터베이스(DB1)는 프로그램 정보와, 프로그램 소스, 프로그램 오브젝트, 로컬 변수, 제어기 글로벌 변수, 스테이션 글로벌 변수 및 네트워크 변수의 어드레스와 같은 다양한 항목의 변수 정보를 저장한다. 제 2 데이터베이스(DB2)는 플랜트 제어 시스템 상의 시스템 구조 정보를 저장한다. 시스템 구조 정보는, 예컨대 플랜트 제어 시스템 내의 스테이션을 구성하는 프로그래머블 제어기의 구조 정보 및 각각의 프로그래머블 제어기에서 실행되는 프로그램 구조 정보이다.
재배치 관리부(110)는 재배치 화면(112)을 표시하고 후술하는 프로그램 재배치 처리를 수행하도록 구성된다. 재배치 관리부(110)는 제 1 데이터베이스(DB1)에 저장된 프로그램 정보 및 다양한 항목의 변수 정보를 데이터베이스 관리부(120)로부터 획득한다. 재배치 관리부(110)는 제 2 데이터베이스(DB2)에 저장된 시스템 구조 정보를 데이터베이스 관리부(120)로부터 획득한다. 프로그램 재배치 처리를 수행할 경우에, 재배치 관리부(110)는 프로그램 또는 변수에서의 변경 정보를 데이터베이스 관리부(120)에 공급한다. 데이터베이스 관리부(120)는 제 1 데이터베이스(DB1) 및 제 2 데이터베이스(DB2)에 저장된 정보를 재배치 관리부(110)로부터 공급된 변경 정보에 따라 갱신한다.
엔지니어링 디바이스(100)는 마우스(130), 키보드(140) 및 디스플레이 디바이스(150)에 접속된다. 마우스(130) 및 키보드(140)는 엔지니어링 디바이스(100)에 동작 신호를 출력하도록 유저에 의해 동작되는 입력 디바이스이다. 디스플레이 디바이스(150)는 디스플레이부(도시되지 않음)를 포함하고 엔지니어링 디바이스(100)로부터 공급된 신호에 의거하여 디스플레이부에 화상을 표시하는 출력 디바이스이다.
엔지니어링 디바이스(100)는 프로그램 정보 및 변수 정보를 데이터 송신 디바이스(600)를 통해 프로그래머블 제어기(PC: PC0, PC1, ...)에 다운로드하도록 구성된다.
스테이션(ST1)은 프로그래머블 제어기(PC0, PC1, PC2), 공통 메모리 스페이스를 포함하는 데이터 송신 디바이스(500), 스테이션 글로벌 변수부(700) 및 데이터 송신 디바이스(600)를 포함한다.
예컨대, 프로그래머블 제어기(PC0)는 프로그램(MS010, MS020, ..., MS0nn), 각각의 프로그램(MS010, MS020, ..., MS0nn)에 설정된 로컬 변수, 및 제어기 글로벌 변수를 저장한다.
프로그래머블 제어기(PC1)는 프로그램(MS110, MS120, ..., MS1nn), 각각의 프로그램(MS110, MS120, ..., MS1nn)에 설정된 로컬 변수, 및 제어기 글로벌 변수를 저장한다.
프로그래머블 제어기(PC2)는 프로그램(MS210, MS220, ..., MS2nn), 각각의 프로그램(MS210, MS220, ..., MS2nn)에 설정된 로컬 변수, 및 제어기 글로벌 변수를 저장한다.
스테이션(ST2)은 프로그래머블 제어기(PC3, PC4), 공통 메모리 스페이스를 포함하는 데이터 송신 디바이스(500), 스테이션 글로벌 변수부(700) 및 데이터 송신 디바이스(600)를 포함한다.
프로그래머블 제어기(PC3)는 프로그램(MS310, MS320, ..., MS3nn), 각각의 프로그램(MS310, MS320, ..., MS3nn)에 설정된 로컬 변수, 및 제어기 글로벌 변수를 저장한다.
프로그래머블 제어기(PC4)는 프로그램(MS410, MS420, ..., MS4nn), 각각의 프로그램(MS410, MS420, ..., MS4nn)에 설정된 로컬 변수, 및 제어기 글로벌 변수를 저장한다.
스테이션 글로벌 변수부(700)는 동일 스테이션(ST) 내의 상이한 프로그래머블 제어기(PC)에 내포된 프로그램 사이에서 데이터를 교환하기 위한 스테이션 글로벌 변수를 저장하도록 구성된 복수의 블록(BLK1, BLK2, ..., BLKn)을 포함한다.
데이터 송신 디바이스(500)는 네트워크 변수를 저장하는 공통 메모리 스페이스를 포함한다. 공통 메모리 스페이스는 네트워크 변수를 저장하는 복수의 토커(talker) 블록(TBK1, TBK2, ..., TBKn)을 포함한다. 토커 블록(TBK1, TBK2, ..., TBKn)은 각각 복수의 프로그래머블 제어기(PC0, PC1, PC2, PC3 및 PC4)에 전송 데이터 영역으로서 할당된다.
도 2a는 재배치 관리부(110)의 구조예를 개략적으로 도시한다.
재배치 관리부(110)는 입력 디바이스로부터의 동작 신호에 의거하여, 소스 프로그래머블 제어기(PC), 하나 또는 복수의 이동될 프로그램, 수신지 프로그래머블 제어기(PC), 및 상기 소스 프로그래머블 제어기에서의 프로그램의 실행 순서를 지정하도록 구성된 이동 지정 모듈(114), 이동 지정 모듈(114)에 의해 지정된 대로 프로그램을 이동시키도록 구성된 프로그램 이동 모듈(116), 및 프로그램이 이동될 경우에, 프로그램으로부터 액세스 가능해지는 프로그램에 사용된 변수를 이동 또는 복사하도록 구성된 변수 변경 모듈(118)을 포함한다.
변수 변경 모듈(118)은 변수를 이동 또는 복사하도록 구성된 변경 모듈(118A), 변수 이름이 다른 변수와 겹치는지의 여부를 판정하도록 구성된 오버랩 판정 모듈(118B), 변수 이름을 설정하도록 구성된 이름 설정 모듈(118C), 및 변수 이름을 설정 이름으로 변경하도록 구성된 이름 전환 모듈(118D)을 포함한다.
변경 모듈(118A)은 이동될 프로그램에 사용된 변수를 검출하도록 구성된 검출 모듈, 변수가 다른 프로그램에 사용되고 있는지의 여부를 판정하도록 구성된 판정 모듈, 변수를 복사하도록 구성된 복사 모듈, 및 변수를 이동하도록 구성된 이동 모듈을 포함한다.
상술한 바와 같이, 플랜트 제어 시스템에서는, 예컨대 프로그래머블 제어기(PC0) 내의 프로그램(MS010) 및 프로그램(MS020)이 제어기 글로벌 변수를 통해 데이터를 교환하는 경우에는, 프로그램(MS010)만이 스테이션(ST1) 내의 프로그래머블 제어기(PC1)로 이동될 경우에는, 프로그램(MS010)과 프로그램(MS020) 사이에서는 제어기 글로벌 변수를 통해 데이터가 교환될 수 없다.
본 실시예에 따른 플랜트 제어 시스템은, 프로그램이 이동될 경우에, 프로그램의 이동에 대해서 뿐만 아니라 변수를 통한 데이터의 교환에 대해서도 변수 이름이 변경되도록 구성된다.
도 2b는 재배치 관리부(110)의 예시적은 동작을 설명하기 위한 플로우차트를 도시한다.
재배치 관리부(110)는, 프로그램이 이동될 경우에, 입력 디바이스로부터의 동작 신호에 의거하여, 소스 프로그래머블 제어기(PC), 하나 또는 복수의 이동될 프로그램, 수신지 프로그래머블 제어기(PC), 및 상기 수신지 프로그래머블 제어기(PC)에서의 프로그램의 실행 순서를 지정한다(스텝 ST1).
이어서, 이동될 프로그램은 스텝 ST1에서 지정된 대로 이동된다(스텝 ST2). 이때, 이동되는 프로그램에 사용된 변수가 검출되고(스텝 ST3), 검출된 변수가 다른 프로그램에서 사용되고 있는지의 여부에 대한 판정이 이루어진다(스텝 ST4). 그후, 검출된 변수는 유저에 의해 설정된 변수 전환 규칙에 따라 이동될 프로그램으로부터 액세스 가능해지도록 이동 또는 복사된다(스텝 ST5).
이하에서는, 프로그램 재배치 처리의 수행시의 플랜트 제어 시스템의 동작을 설명한다. 프로그래머블 제어기(PC0)에 기록된 프로그램(MS010)이 프로그래머블 제어기(PC1)로 이동될 경우를 설명한다.
도 3, 4, 5 및 6은 프로그램의 이동 수신지를 지정하기 위한 재배치 화면의 예를 도시한다. 도 3은 프로그램의 이동 수신지를 지정하기 위한 화면(112A)의 일례를 도시한다. 화면(112A)은 이동 지정 모듈(114)에 의해 표시된다. 화면(112A)에는, 소스 프로그램을 표시하는 이동 소스 칼럼, 수신지 스테이션(ST) 및 수신지 프로그래머블 제어기(PC)를 지정하기 위한 이동 수신지 칼럼, "OK" 버튼, 및 "취소(cancel)" 버튼이 표시된다.
이동 소스 칼럼에는, 소스 스테이션 이름, 프로그래머블 제어기 이름, 프로그램 태스크 이름을 지정하기 위한 풀다운(pull-down) 칼럼, "모두 선택(select all)" 버튼, "모두 취소(cancel all)" 버튼, 및 프로그램 리스트가 표시된다. 프로그램 리스트는 태스크 등재 번호(task entry number), 프로그램 이름 및 각 프로그램에 대한 코멘트가 표시되는 테이블로서 표시된다.
이동 수신지 칼럼에는, 수신지 스테이션을 지정하기 위한 풀다운 칼럼, 프로그래머블 제어기를 지정하기 위한 풀다운 칼럼, 프로그램 태스크 이름을 지정하기 위한 풀다운 칼럼, "클리어(clear)" 버튼, "모두 클리어(clear all)" 버튼, "이동 개시(start movement)" 버튼, 및 프로그램 리스트가 표시된다. 프로그램 리스트는 태스크 등재 번호, 프로그램 이름 및 각 프로그램에 대한 코멘트를 포함하는 항목이 표시되는 테이블로 표시된다.
수신지 스테이션 및 수신지 제어기가 이동 수신지 칼럼에서 지정된 후에, 이동 소스 칼럼의 프로그램 리스트로부터 이동될 프로그램이 선택되고, "이동 수신지" 칼럼에서 이동될 "태스크 등재 번호"의 로우(row)에 마우스 커서가 옮겨진다. "태스크 등재 번호"의 로우 상에 일시적인 이동 수신지로서 "*"이 표시되고 "이동 개시" 버튼이 클릭되면, 프로그램의 이동과 함께 변경될 변수의 규칙을 규정하기 위한 화면(112B)이 표시된다.
도 4는 프로그램의 이동과 함께 변경될 변수에 대한 전환 규칙을 규정하기 위한 화면(112B)의 일례를 도시한다. 화면(112B)은 이동 지정 모듈(114)에 의해 표시된다. 변경될 변수는 종류별로 분류되어 화면(112B)의 상부에 표시된다. 변수의 종류는 제어기 글로벌 변수의 네트워크 변수로의 이동, 및 제어기 글로벌 변수의 다른 프로그래머블 제어기에서의 제어기 글로벌 변수로의 이동 또는 복사와 같은 변수 변경 규칙의 종류이다. 프로그램 입력/출력 방향 및 단어의 개수가 변수의 종류에 따라 화면(112B)의 상부에 표시된다.
화면(112B)의 상부에서 임의의 종류가 선택되면, 필요한 정보가 화면(112B)의 하부에 표시된다. 제어기 글로벌 변수를 네트워크 변수로 이동하는데 필요한 정보는 도 4에 도시된 화면(112B)의 하부에 표시된다.
소스 제어기 글로벌 변수의 변수 이름 및 데이터 종류는 화면(112B)의 하부에 표시된다. 또한, 소스 제어기 글로벌 변수의 값 및 코멘트가 유저에게 보여질 수도 있다. 유저가 소스 변수를 지정하는 작업을 줄일 수 있도록 정보의 항목이 보여진다.
변수의 리스트를 표시하는 순서를 변경하기 위한 디스플레이 순서 칼럼은 화면(112B)의 하부에 있는 이동 소스 칼럼에 표시된다. 유저가 마우스(130) 등을 조작해서, 예컨대 디스플레이 순서 칼럼에서 "어드레스(address)"를 선택하면, 변수 리스트의 변수 어드레스 순서로 변수가 표시된다. 유저가 마우스(130) 등을 조작해서, 예컨대 디스플레이 순서 칼럼에서 "변수(variable)"를 선택하면, 변수 리스트의 알파벳 순서로 변수 이름이 표시된다.
블록 번호 및 단어 길이는 수신지 네트워크 변수에 대하여 표시된다. 또한, 네트워크 변수에 대한 빈 단어 길이(empty word length), 송신 속도 및 전송 노드도 유저에게 더 보여질 수 있다. 수신지 블록 번호가 지정되면, 지정된 토커 블록(TBK)에 기록된 네트워크 변수의 변수 이름 및 데이터 종류는 이동 수신지 칼럼의 하부에 표시된다. 또한, 네트워크 변수에 대한 코멘트, I/O 속도, 태스크 지정 및 단어 길이는 이동 수신지 칼럼의 하부에 더 표시될 수 있다.
변수의 리스트의 디스플레이 순서를 변경하기 위한 디스플레이 순서 칼럼은 이동 수신지 칼럼의 하부에 표시된다. 유저가 마우스(130) 등을 조작해서, 예컨대 디스플레이 순서 칼럼에서 "어드레스"를 선택하면, 변수 리스트의 변수 어드레스 순서로 변수가 표시된다. 유저가 마우스(130) 등을 조작해서, 예컨대 디스플레이 순서 칼럼에서 "변수"를 선택하면, 변수 리스트의 알파벳 순서로 변수 이름이 표시된다. 유저가 마우스(130) 등을 조작해서, 예컨대 디스플레이 순서 칼럼에서 "오버랩(overlap)"을 선택하면, 겹치는 변수 이름이 변수 리스트의 상부에 표시된다.
수신지 네트워크 변수에 대한 토커 블록(TBK)은 화면(112B)의 하부에 있는 이동 수신지 칼럼의 상부에서 미리 지정된다. 이어서, 유저는 "이동 소스" 칼럼에서 이동될 변수를 선택(다수의 변수가 선택될 수 있음)해서 "이동 수신지" 화면의 우측 하부의 원하는 이동 위치에 마우스를 옮겨놓는다. 이때, 재배치 관리부(110)는 변수 이름이 다른 변수와 겹치는지의 여부를 판정하고, 이동 수신지에 동일한 변수 이름이 존재하면, 겹치는 변수 이름을 뒤집어서 표시한다. 전환이 불필요한 경우에는, 유저는 마우스 등을 조작해서 "전환 불필요(no conversion required)" 항목 칼럼을 클릭함으로써, 전환 대상으로부터 변수를 제거한다.
도 5는 제어기 글로벌 변수가 다른 프로그래머블 제어기(PC)의 제어기 글로벌 변수로 이동되는 화면의 일례를 도시한다. 예컨대, 도 4의 화면(112B)의 하부는 화면(112C)에서와 같이 표시된다. 화면(112C)은 이동 지정 모듈(114)에 의해 표시된다.
화면(112C)에는, 이동 소스 칼럼, 이동 수신지 칼럼, "일시적인 저장(temporary save)" 버튼, "인쇄(print)" 버튼, "옵션(option)" 버튼, "리턴(return)" 버튼, "실행(execute)" 버튼 및 "닫기(close)" 버튼이 표시된다.
이동 소스 칼럼에는, "모두 선택" 버튼, "모두 취소" 버튼, 소스 제어기 글로벌 변수의 변수 이름, 데이터 종류, 값 및 코멘트가 표시된다. 이동 수신지 칼럼에는, "클리어" 버튼, "모두 클리어" 버튼, 수신지 제어기 글로벌 변수의 변수 이름, 데이터 종류, 값 및 코멘트가 표시된다.
유저는 이동 소스 칼럼에서 이동될 변수를 선택(다수의 변수가 선택될 수 있음)해서 이동 수신지 칼럼의 원하는 위치에 마우스를 옮겨놓는다. 이때, 재배치 관리부(110)는 변수 이름이 다른 변수와 겹치는지의 여부를 판정하고, 이동 수신지에 동일한 변수 이름이 존재하면, 겹치는 변수 이름을 뒤집어서 표시한다. 전환이 불필요한 변수에 대해서 유저가 "전환 불필요" 항목 칼럼을 클릭함으로써, 전환 대상으로부터 변수를 제거한다.
또한, 변수 이름 전환 규칙이 규정되면, 제어기 글로벌 변수 또는 네트워크 변수에 대하여 변수 명명(naming) 규칙이 결정될 수 있으므로, 그들 사이의 차이가 설계에 있어서 발견될 수 있다. 예컨대, 제어기 글로벌 변수에 대하여, 변수의 접두어가 "G_"로서 상정되고, 네트워크 변수에 대하여, 변수 이름의 접두어가 "L_"로서 상정된다.
다시 말해, 재배치 관리부(110)의 이름 설정 모듈(118C)은 프로그램이 이동될 때 변수 이름의 접두어를 변경하기 위한 화면을 표시한다. 즉, 재배치 관리부(110)는 전환 규칙에 따라 자동으로 변수를 전환(이동 또는 복사)하도록 구성된 모듈, 전환 규칙을 규정하도록 구성된 모듈, 변수가 전환될 때 변수 이름을 수동으로 변경하도록 구성된 모듈, 변수 이름이 변경될 때, 변경된 변수 이름이 현재의 네트워크 변수의 변수 이름과 겹치는지의 여부를 판정하도록 구성된 오버랩 판정 모듈(118B), 및 전환될 변수 이름을 사용하는 프로그램의 변수 이름을 변경된 변수 이름으로 자동으로 전환하도록 구성된 이름 전환 모듈(118D)을 포함한다.
도 6은 프로그램의 이동과 함께 제어기 글로벌 변수로부터 네트워크 변수로 변수가 이동될 경우에, 소정의 규칙에 따라 변수 이름을 전환하도록 구성된 설정 화면의 일례를 도시한다.
본 실시예에서, 상기 규칙은, 예컨대 "G_?A"가 "L_?A"로 전환되는 것과 같다. 부호 패턴 "?"는 임의의 부호이다. 그러므로, "G_AA"는 "L_AA"로 전환된다. 또한, "G_#A"는 "L_#A"로 전환된다. 부호 패턴 "#"은 임의의 1-바이트 숫자이다. 따라서, "G_1A"는 "L_1A"로 전환된다. 또한, "G_*A"는 "L_*A"로 전환된다. 부호 패턴 "*"은 임의의 개수의 부호를 갖는 부호 문자열이다. 따라서, "G_XYZA"는 "L_XYZA"로 전환된다.
상술한 바와 같이, 변수가 프로그램의 이동과 함께 이동될 때 변수 이름이 설계에서의 변수 명명 규칙에 일치하도록 변수 이름의 접두어가 전환된다.
상술한 바와 같이, 본 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법에서는, 설계 작업의 비용이 절감될 수 있고 플랜트 제어 장치 및 프로그램 재배치 방법이 고품질로 제공될 수 있다.
이하에서는, 제 2 실시예에 따른 플랜트 제어 시스템을 도면을 참조하여 설명한다. 이하의 설명에서, 제 1 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법과 유사한 구성요소에는 동일한 참조번호를 부여하고 그 설명을 생략한다.
본 실시예에 따른 플랜트 제어 시스템은 하기의 부분을 제외하고는 제 1 실시예에 따른 플랜트 제어 시스템과 유사한 구조를 갖는다. 본 실시예에 따른 플랜트 제어 시스템은, 프로그램이 이동될 경우에 그 프로그램에 사용된 기능 및 기능 블록이 존재하면(CALL), 기능 및 기능 블록도 동시에 이동되도록 구성된다.
도 7은 본 실시예에 따른 플랜트 제어 시스템의 재배치 관리부(110)의 구조예를 개략적으로 도시한다.
본 실시예에서, 엔지니어링 디바이스(100) 내의 재배치 관리부(110)는 기능 및 기능 블록을 이동시키도록 구성된 기능/기능 블록 이동 모듈(119)을 더 포함한다.
도 8은 재배치 관리부(110)의 프로그램(MS010)이 이동될 경우에, 기능/기능 블록 이동 모듈(119)이 프로그램(MS010)에 사용된 기능 및 기능 블록을 이동시키는 일례를 도시한다.
프로그램(MS010)은, 예컨대 기능(UserFun1) 및 기능 블록(UserFBK1)을 사용한다. 기능 블록(UserFBK1)은 프로그램(MS012)에서도 사용된다.
기능(UserFUN1)은 프로그램(MS010)에서만 사용되기 때문에, 재배치 관리부(110)는 기능을 수신지 프로그래머블 제어기에 프로그램(MS010)과 함께 이동시킨다. 기능 블록(UserFBK1)은 프로그램(MS012)에서도 사용되기 때문에, 수신지 프로그래머블 제어기에 복사된다.
다시 말해, 프로그램(MS010)이 이동되면, 재배치 관리부(110)는 프로그램(MS010)에서 사용된 기능 및 기능 블록을 검출하고, 상기 기능 및 기능 블록이 다른 프로그램에서 사용되고 있는지의 여부를 판정한다.
상기 기능 및 기능 블록이 다른 프로그램에서 사용되고 있지 않으면, 재배치 관리부는 상기 기능 및 기능 블록을 수신지 프로그램으로 이동시킨다. 상기 기능 및 기능 블록이 다른 프로그램에서 사용되고 있으면, 재배치 관리부(110)는 상기 기능 및 기능 블록을 수신지 프로그램에 복사한다.
본 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법에 있어서, 상술한 바와 같이 프로그램이 이동될 경우에는 기능 및 기능 블록이 자동으로 이동 또는 복사되므로, 사용자의 수동 처리가 감소될 수 있고, 설계 작업의 비용이 절감될 수 있고, 플랜트 제어 장치 및 프로그램 재배치 방법이 고품질로 제공될 수 있다.
이하에서는, 제 3 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법을 도면을 참조하여 설명한다. 본 실시예에 따른 플랜트 제어 시스템은 제 1 실시예와 유사한 구조를 갖는다.
본 실시예는, 소스 프로그래머블 제어기가 복수의 프로그램을 포함하고 하나 또는 복수의 이동될 프로그램이 이동되지 않는 프로그램에 대하여 공통 제어기 글로벌 변수를 통해 데이터를 입력/출력하면, 공통 제어기 글로벌 변수가 네트워크 변수로 전환되도록 구성된다.
재배치 관리부(110)의 변경 모듈(118A)은 이동될 프로그램에서 사용된 제어기 글로벌 변수를 검출하도록 구성된 검출 모듈, 제어기 글로벌 변수가 다른 프로그램에서 사용되고 있는지의 여부를 판정하도록 구성된 판정 모듈, 제어기 글로벌 변수를 복사하도록 구성된 복사 모듈, 및 제어기 글로벌 변수를 이동시키도록 구성된 이동 모듈을 포함한다.
도 9는 복수의 프로그램에 공통인 제어기 글로벌 변수가 네트워크 변수로 전환되는 일례를 도시한다. 재배치 관리부(110)에 대하여, 스테이션(ST1)에는 3개의 프로그래머블 제어기(PC0, PC1, PC2)가 존재하고, 프로그래머블 제어기(PC0)에는 프로그램(MS010) 및 프로그램(MS012)이 존재한다. 프로그램(MS010) 및 프로그램(MS012)은 각각 프로그래머블 제어기(PC0)의 제어기 글로벌 변수를 통해 데이터를 입력/출력하여, 플랜트 제어를 수행한다.
이때, 재배치 관리부(110)는 프로그램(MS010)을 프로그래머블 제어기(PC0)로부터 프로그래머블 제어기(PC1)로 이동시킨다. 이와 함께, 재배치 관리부(110)는 두 프로그램(MS010 및 MS012)에서 사용된 제어기 글로벌 변수를 프로그래머블 제어기(PC0) 및 프로그래머블 제어기(PC1)로부터 액세스 가능한 네트워크 변수로 자동으로 이동시킨다.
이때, 재배치 관리부(110)는 프로그래머블 제어기(PC0)의 토커 블록 및 프로그래머블 제어기(PC1)의 토커 블록을 공통 메모리 스페이스(400)에 추가한다. 재배치 관리부(110)는 프로그램 재배치 처리와 함께 데이터베이스 관리부(120)에 변경 정보를 전송하고, 데이터 관리부(120)는 제 1 데이터베이스(DB1) 및 제 2 데이터베이스(DB2)에 저장된 정보를 갱신한다. 제어기 글로벌 변수를 네트워크 변수로 이동할 때, 재배치 관리부(110)는 설정 전환 규칙에 따라 변수 이름을 변경한다.
재배치 관리부(110)는 상술한 바와 같은 전환 규칙에 따라 변수를 이동시키고, 변수 전환 규칙을 규정하고, 변수가 전환될 때 변수 이름이 수동으로 변경될 수 있게 하고, 변수 이름이 변경될 때, 변경된 변수 이름이 현재의 네트워크 변수의 변수 이름과 겹치는지의 여부를 판정하고, 전환될 변수 이름을 사용하는 프로그램의 변수 이름을 변경된 변수 이름으로 자동으로 전환한다.
본 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법에 있어서, 공통 제어기 글로벌 변수는 상술한 바와 같이 네트워크 변수로 전환되므로, 사용자의 수동 처리가 감소될 수 있고, 설계 작업의 비용이 절감될 수 있고, 플랜트 제어 장치 및 프로그램 재배치 방법이 고품질로 제공될 수 있다.
이하에서는, 제 4 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법을 도면을 참조하여 설명한다. 본 실시예에 따른 플랜트 제어 시스템은 하기의 부분을 제외하고는 제 1 실시예와 유사한 구조를 갖는다.
본 실시예는, 소스 프로그래머블 제어기가 복수의 프로그램을 포함하고, 이동될 하나 또는 복수의 프로그램에서만 사용된 제어기 글로벌 변수를 통해 데이터가 입력/출력되는 경우에, 사용된 제어기 글로벌 변수가 프로그램과 함께 이동될 수 있도록 구성된다.
재배치 관리부(110)의 변경 모듈(110A)은 이동될 프로그램에서 사용된 제어기 글로벌 변수를 검출하도록 구성된 검출 모듈, 제어기 글로벌 변수가 다른 프로그램에서 사용되고 있는지의 여부를 판정하도록 구성된 판정 모듈, 제어기 글로벌 변수를 다른 프로그램에도 복사하도록 구성된 복사 모듈, 및 이동될 프로그램에서만 사용된 제어기 글로벌 변수를 이동시키도록 구성된 이동 모듈을 더 포함한다.
도 10은 하나 또는 복수의 이동될 프로그램에서 사용된 제어기 글로벌 변수가 이동되지 않는 프로그램에 대한 데이터의 입력/출력에 사용되는 경우에, 제어기 글로벌 변수가 이동되는 일례를 도시한다.
스테이션(ST1)에는 2개의 프로그래머블 제어기(PC0 및 PC1)가 존재하고, 프로그래머블 제어기(PC0)에는 프로그램(MS010) 및 프로그램(MS012)이 존재한다. 프로그램(MS010) 및 프로그램(MS012)은 각각 프로그래머블 제어기(PC0)의 제어기 글로벌 변수를 통해 데이터를 입력/출력하지만, 프로그램(MS010)과 프로그램(MS012) 사이에서는 데이터가 교환되지 않아, 동일한 변수는 액세스되지 않는다.
이때, 재배치 관리부(110)는 프로그래머블 제어기(PC1)로의 프로그램(MS010)의 이동과 함께, 프로그램(MS010)에서 사용된 제어기 글로벌 변수를 프로그래머블 제어기(PC0)로부터 프로그래머블 제어기(PC1)로 이동시킨다.
재배치 관리부(110)는 상술한 바와 같은 전환 규칙에 따라 변수를 전환하고, 전환 규칙을 규정하고, 변수가 전환될 때 변수 이름이 수동으로 변경될 수 있게 하고, 제어기 글로벌 변수의 변수 이름이 수신지 프로그래머블 제어기(PC1)에서 이미 사용된 변수 이름과 겹치는지의 여부를 검사하고, 변수 이름이 다른 변수와 겹치면, 이동될 프로그램(MS010)에서 사용된 제어기 글로벌 변수의 변수 이름을 전환하고, 프로그램(MS010)에서 사용된 변수 이름을 변경된 변수 이름으로 자동으로 전환한다.
도 11은 하나 또는 복수의 이동될 프로그램에서 사용된 제어기 글로벌 변수가 이동되지 않는 프로그램에 대한 데이터의 입력/출력에 사용될 경우에, 제어기 글로벌 변수가 이동되는 다른 예를 도시한다.
이하에서는, 프로그램(MS010) 및 프로그램(MS012)이 프로그래머블 제어기(PC0)로부터 프로그래머블 제어기(PC1)로 이동되는 일례를 설명한다. 프로그램(MS010) 및 프로그램(MS012)은 공통 제어기 글로벌 변수를 통해 데이터를 입력/출력한다. 제어기 글로벌 변수는 다른 프로그램에서는 사용되지 않는다.
프로그램(MS010) 및 프로그램(MS012)이 이동될 경우에, 원래 이들 프로그램에서 사용된 제어기 글로벌 변수를 사용하는 프로그램은 존재하지 않기 때문에, 재배치 관리부(110)는 제어기 글로벌 변수를 프로그래머블 제어기(PC1)에 함께 이동시킨다.
본 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법에 있어서, 공통 제어기 글로벌 변수는 상술한 바와 같이 프로그램과 함께 이동되므로, 사용자의 수동 처리가 감소될 수 있고, 설계 작업의 비용이 절감되며, 플랜트 제어 장치 및 프로그램 재배치 방법이 고품질로 제공될 수 있다.
이하에서는, 제 5 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법을 도면을 참조하여 설명한다. 본 실시예에 따른 플랜트 제어 시스템은 하기의 부분을 제외하고는 제 1 실시예와 유사한 구조를 갖는다.
본 실시예는, 소스 프로그래머블 제어기가 복수의 프로그램을 포함하고, 하나 또는 복수의 이동될 프로그램이 이동되지 않는 프로그램에 대하여 제어기 글로벌 변수를 통해 데이터를 입력/출력하는 경우에, 제어기 글로벌 변수가 스테이션 글로벌 변수로 전환되도록 구성된다.
재배치 관리부(110)의 변경 모듈(118A)은 이동될 프로그램에서 사용된 제어기 글로벌 변수를 검출하도록 구성된 검출 모듈, 제어기 글로벌 변수가 다른 프로그램에서 사용되고 있는지의 여부를 판정하도록 구성된 판정 모듈, 및 다른 프로그램과 공통인 제어기 글로별 변수를 스테이션 글로벌 변수로 전환하도록 구성된 이동 모듈을 포함한다.
도 12에서, 스테이션(ST1)은 3개의 프로그래머블 제어기(PC0, PC1, PC2)를 포함하고, 프로그래머블 제어기(PC0)는 프로그램(MS010) 및 프로그램(MS012)을 포함한다. 프로그램(MS010) 및 프로그램(MS012)은 각각 프로그래머블 제어기(PC0)의 제어기 글로벌 변수를 통해 데이터를 입력/출력하여, 플랜트 제어를 수행한다.
이때, 재배치 관리부(110)는 프로그램(MS010)을 프로그래머블 제어기(PC1)로 이동시킨다. 재배치 관리부(110)는 프로그램(MS010) 및 프로그램(MS012)에서 사용된 제어기 글로벌 변수를 프로그램의 이동과 함께 프로그래머블 제어기(PC0) 및 프로그래머블 제어기(PC1)로부터 액세스 가능한 스테이션 글로벌 변수로 이동시킨다.
재배치 관리부(110)는 상술한 바와 같은 전환 규칙에 따라 변수를 이동시키고, 변수 전환 규칙을 규정하고, 변수가 전환될 때 변수 이름이 수동으로 변경될 수 있게 하고, 변수 이름이 변경될 때, 변경된 변수 이름이 현재의 스테이션 글로벌 변수의 변수 이름과 겹치는지의 여부를 판정하고, 전환될 변수 이름을 사용하는 프로그램의 변수 이름을 변경된 변수 이름으로 자동으로 전환한다. 따라서, 재배치 관리부(110)는 제어기 글로벌 변수를 스테이션 글로벌 변수로 이동시킬 경우에 전환 규칙에 따라 변수 이름을 변경한다.
본 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법에 있어서, 공통 제어기 글로벌 변수는 상술한 바와 같이 스테이션 글로벌 변수로 전환되므로, 사용자의 수동 처리가 감소될 수 있고, 설계 작업의 비용이 절감될 수 있고, 플랜트 제어 장치 및 프로그램 재배치 방법이 고품질로 제공될 수 있다.
이하에서는, 제 6 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법을 도면을 참조하여 설명한다. 본 실시예에 따른 플랜트 제어 시스템은 하기의 부분을 제외하고는 제 1 실시예와 유사한 구조를 갖는다.
본 실시예에 따른 플랜트 제어 시스템은, 하나 또는 복수의 이동될 프로그램에서 사용된 스테이션 글로벌 변수가 이동되지 않는 프로그램에 대하여 데이터를 입력/출력하지 않는 경우에, 스테이션 글로벌 변수가 제어기 글로벌 변수로 전환되도록 구성된다.
재배치 관리부(110)의 변경 모듈(118A)은 이동될 프로그램에서 사용된 스테이션 글로벌 변수를 검출하도록 구성된 검출 모듈, 스테이션 글로벌 변수가 다른 프로그램에서 사용되고 있는지의 여부를 판정하도록 구성된 판정 모듈, 및 다른 프로그램에서 사용되지 않은 스테이션 글로벌 변수를 제어기 글로벌 변수로 전환하도록 구성된 이동 모듈을 포함한다.
도 13에서, 스테이션(ST1)은 3개의 프로그래머블 제어기(PC0, PC1, PC2)를 포함한다. 프로그래머블 제어기(PC0)는 프로그램(MS012)을 포함하고, 프로그래머블 제어기(PC1)는 프로그램(MS010)을 포함한다.
프로그램(MS010) 및 프로그램(MS012)은 각각 스테이션 글로벌 변수를 통해 데이터를 입력/출력하여, 플랜트 제어를 수행한다. 스테이션 글로벌 변수는 프로그램(MS010) 및 프로그램(MS012)에서만 사용되고, 다른 프로그램에서는 사용되지 않는 것으로 한다.
이때, 재배치 관리부(110)는 프로그램(MS010)을 프로그래머블 제어기(PC0)로 이동시킨다. 이와 함께, 재배치 관리부(110)는 프로그램(MS010) 및 프로그램(MS012)에서 사용된 스테이션 글로벌 변수를 프로그래머블 제어기(PC0)의 제어기 글로벌 변수로 이동시킨다.
재배치 관리부(110)는 상술한 바와 같은 전환 규칙에 따라 변수를 전환하고, 변수 전환 규칙을 규정하고, 변수가 전환될 때 변수 이름이 수동으로 변경될 수 있게 하고, 변수 이름이 변경될 때, 변경된 변수 이름이 현재의 제어기 글로벌 변수의 변수 이름과 겹치는지의 여부를 판정하고, 전환될 변수 이름을 사용하는 프로그램의 변수 이름을 변경된 변수 이름으로 자동으로 전환한다. 따라서, 스테이션 글로벌 변수를 제어기 글로벌 변수로 이동시킬 경우에, 재배치 관리부(110)는 전환 규칙에 따라 변수 이름을 변경한다.
본 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법에 있어서, 스테이션 글로벌 변수는 상술한 바와 같이 제어기 글로벌 변수로 전환되므로, 사용자의 수동 처리가 감소될 수 있고, 설계 작업의 비용이 절감될 수 있고, 플랜트 제어 장치 및 프로그램 재배치 방법이 고품질로 제공될 수 있다.
이하에서는, 제 7 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법을 도면을 참조하여 설명한다. 본 실시예에 따른 플랜트 제어 시스템은 하기의 부분을 제외하고는 제 1 실시예와 유사한 구조를 갖는다.
본 실시예에 따른 플랜트 제어 시스템은, 하나 또는 복수의 이동될 프로그램을 상이한 스테이션에 제공된 프로그래머블 제어기들 사이에서 이동시킨다.
본 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법은 프로그래머블 제어기의 하나 또는 복수의 프로그램을 프로그램의 로직을 변경하지 않고 데이터 송신 디바이스의 동일 스테이션에 접속된 다른 프로그래머블 제어기로 이동시키도록 구성된다.
재배치 관리부(110)는 소스 프로그래머블 제어기, 하나 또는 복수의 이동될 프로그램, 수신지 프로그래머블 제어기, 및 상기 소스 프로그래머블 제어기에서의 프로그램의 실행 순서를 지정하도록 구성된 이동 지정 모듈을 포함한다.
또한, 하나 또는 복수의 프로그램이 이동되지 않는 프로그램에 대하여 제어기 글로벌 변수를 통해 데이터를 입력/출력하는 경우에, 재배치 관리부(110)의 변수 변경 모듈(118)은 제어기 글로벌 변수를 네트워크 변수로 전환하고, 변수가 전환될 때 변수 이름 전환 규칙에 따라 변수 이름을 자동으로 전환하고, 변수 이름 전환 규칙을 규정하고, 변수가 전환될 때 변수 이름이 수동으로 변경될 수 있게 하고, 변수 이름이 변경될 때, 변경된 변수 이름이 현재의 네트워크 변수의 변수 이름과 겹치는지의 여부를 판정하고, 전환될 변수 이름을 사용하는 프로그램의 변수 이름을 변경된 변수 이름으로 전환한다.
하나 또는 복수의 프로그램이 이동되지 않는 프로그램에 대하여 제어기 글로벌 변수를 통해 데이터를 입력/출력하는 경우에, 재배치 관리부(110)는 전환 규칙에 따라 제어기 글로벌 변수를 스테이션 글로벌 변수로 전환하고, 전환 규칙을 규정하고, 변수가 전환될 때 변수 이름이 수동으로 변경될 수 있게 하고, 변수 이름이 변경될 때, 변경된 변수 이름이 현재의 스테이션 글로벌 변수의 변수 이름과 겹치는지의 여부를 판정하고, 전환될 변수 이름을 사용하는 프로그램의 변수 이름을 변경된 변수 이름으로 전환한다.
소스 프로그래머블 제어기가 복수의 프로그램으로 구성되고, 하나 또는 복수의 이동될 프로그램이 이동되지 않는 프로그램에 대하여 제어기 글로벌 변수를 통해 데이터를 입력/출력하고, 프로그램이 다른 스테이션으로 이동될 때 제어기 글로벌 변수가 네트워크 변수로 전환되는 일례를 아래에서 설명한다.
도 14는 프로그램이 소스 프로그래머블 제어기로부터 다른 스테이션의 프로그래머블 제어기로 이동되기 전후의 플랜트 제어 시스템의 시스템 구조예를 도시한다.
플랜트 제어 시스템은 2개의 스테이션(ST1, ST2)을 포함한다. 스테이션(ST1)은 3개의 프로그래머블 제어기(PC0, PC1, PC2)를 포함한다. 프로그래머블 제어기(PC0)는 프로그램(MS010) 및 프로그램(MS012)을 포함한다.
프로그램(MS010) 및 프로그램(MS012)은 각각 프로그래머블 제어기(PC0)의 공통 제어기 글로벌 변수를 통해 데이터를 입력/출력하여, 플랜트 제어를 수행한다.
스테이션(ST2)은 3개의 프로그래머블 제어기(PC3, PC4, PC5)를 포함한다. 프로그래머블 제어기(PC3)는 프로그램(MS212)을 포함한다. 프로그래머블 제어기(PC5)는 프로그램(MS232)을 포함한다.
이때, 재배치 관리부(110)는 프로그램(MS010)을 스테이션(ST2)의 프로그래머블 제어기(PC4)로 이동시킨다. 이와 함께, 2개의 프로그램(MS010 및 MS012)에서 사용된 제어기 글로벌 변수는 프로그래머블 제어기(PC0) 및 프로그래머블 제어기(PC4)로부터 액세스 가능한 네트워크 변수로 이동된다.
이때, 재배치 관리부(110)는 프로그래머블 제어기(PC0)의 토커 블록 및 프로그래머블 제어기(PC4)의 토커 블록을 공통 메모리 스페이스(400)에 추가하고, 제어기 글로벌 변수를 네트워크 변수로 될 추가된 토커 블록으로 이동시킨다. 또한, 공통 메모리 스페이스(400) 내의 프로그래머블 제어기(PC0)의 토커 블록 및 프로그래머블 제어기(PC5)의 토커 블록의 출력 소스가 변경된다.
재배치 관리부(110)의 변경 모듈(118A)은 상술한 바와 같은 전환 규칙에 따라 변수를 전환하고, 변수 전환 규칙을 규정하고, 변수가 전환될 때 변수 이름이 수동으로 변경될 수 있게 하고, 변수 이름이 변경될 때, 변경된 변수 이름이 현재의 네트워크 변수의 변수 이름과 겹치는지의 여부를 판정하고, 전환될 변수 이름을 사용하는 프로그램의 변수 이름을 변경된 변수 이름으로 전환한다. 따라서, 제어기 글로벌 변수를 네트워크 변수로 이동시킬 경우에, 재배치 관리부(110)는 전환 규칙에 따라 변수 이름을 변경한다.
본 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법에 있어서, 제어기 글로벌 변수는 상술한 바와 같이 네트워크 변수로 전환되므로, 사용자의 수동 처리가 감소될 수 있고, 설계 작업의 비용이 절감될 수 있고, 플랜트 제어 장치 및 프로그램 재배치 방법이 고품질로 제공될 수 있다.
이하에서는, 제 8 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법을 도면을 참조하여 설명한다. 본 실시예에 따른 플랜트 제어 시스템은 하기의 부분을 제외하고는 제 2 실시예와 유사한 구조를 갖는다.
본 실시예에서, 프로그램이 이동될 때, 프로그램에서 사용된 기능 및 기능 블록이 존재하면, 그 기능 및 기능 블록도 동시에 이동될 수 있다.
본 실시예에서, 재배치 관리부(110)는 이동될 프로그램에서 사용된 기능 및 기능 블록이 존재하는 경우에는 기능 및 기능 블록이 동시에 이동되게 하도록 구성된 모듈을 포함한다.
도 15는 이동될 프로그램과 함께 기능 및 기능 블록이 이동되는 경우의 스테이션(ST1) 및 스테이션(ST2)의 구조예를 도시한다. 스테이션(ST1)은 3개의 프로그래머블 제어기(PC0, PC1, PC2)를 포함한다.
프로그래머블 제어기(PC0)는 프로그램(MS010), 프로그램(MS012), 기능(UserFUN1), 기능(UserFUN2), 및 기능 블록(UserFBK1)을 포함한다. 프로그래머블 제어기(PC2)는 프로그램(MS013)을 포함한다.
스테이션(ST2)은 3개의 프로그래머블 제어기(PC3, PC4, PC5)를 포함한다. 프로그래머블 제어기(PC3)는 프로그램(MS211) 및 기능(UserFUN3)을 포함한다. 프로그래머블 제어기(PC5)는 프로그램(MS221)을 포함한다.
본 실시예에서, 예컨대 프로그램(MS010)이 스테이션(ST1)의 프로그래머블 제어기(PC0)로부터 스테이션(ST2)의 프로그래머블 제어기(PC3)로 이동되면, 프로그램(MS010)(CALL)에서 사용된 기능(UserFUN1) 및 기능 블록(UserFBK1)도 이동되게 된다. 이때, 기능 및 기능 블록이 다른 프로그램에서 사용되고 있지 않으면, 이들은 이동되고, 다른 프로그램에서 사용되고 있으면, 이들은 복사된다.
도 15의 예에서, 프로그램(MS010)만이 기능(UserFUN1)을 사용하고 있기 때문에, 기능/기능 블록 이동 모듈(119)은 기능(UserFUN1)을 프로그램(MS010)과 함께 수신지 스테이션(ST2)으로 이동시킨다.
기능 블록(UserFBK1)은 프로그램(MS010)에서뿐만 아니라 프로그램(MS012)에서도 사용되기 때문에, 그것은 수신지 스테이션(ST2)에 복사된다.
본 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법에 있어서, 프로그램이 상술한 바와 같이 이동할 때 기능 및 기능 블록은 자동으로 이동 또는 복사되므로, 사용자의 수동 처리가 더 감소될 수 있고, 설계 작업의 비용이 절감될 수 있고, 플랜트 제어 장치 및 프로그램 재배치 방법이 고품질로 제공될 수 있다.
이하에서는, 제 9 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법을 도면을 참조하여 설명한다. 본 실시예에 따른 플랜트 제어 시스템은 하기의 부분을 제외하고는 제 1 실시예와 유사한 구조를 갖는다.
소스 프로그래머블 제어기가 복수의 프로그램을 포함하고, 하나 또는 복수의 이동될 프로그램이 이동되지 않는 프로그램에 대하여 공통 스테이션 글로벌 변수를 통해 데이터를 입력/출력하는 경우에, 프로그램이 다른 스테이션으로 이동될 때 스테이션 글로벌 변수가 네트워크 변수로 전환되는 본 실시예의 일례를 설명한다.
도 16은 하나 또는 복수의 이동될 프로그램이 소스 프로그래머블 제어기를 탑재하는 스테이션의 다른 프로그래머블 제어기에 포함된 프로그램에 대하여 스테이션 글로벌 변수를 통해 데이터를 입력/출력하는 경우의 플랜트 제어 시스템의 구조예를 도시한다.
본 실시예에서, 재배치 관리부(110)의 변수 변경 모듈(118)은 스테이션 글로벌 변수를 네트워크 변수로 자동으로 전환하도록 구성된 변경 모듈(118A), 변수가 전환될 때 변수 이름 전환 규칙에 따라 자동으로 변수 이름을 전환하도록 구성된 모듈, 변수 이름 전환 규칙을 규정하도록 구성된 모듈, 변수가 전환될 때 변수 이름을 수동으로 변경될 수 있게 하도록 구성된 이름 설정 모듈(118C), 변수 이름이 변경될 때, 변경된 변수 이름이 현재의 네트워크 변수의 변수 이름과 겹치는지의 여부를 판정하도록 구성된 판정 모듈(118B), 및 전환될 변수 이름을 사용하는 프로그램의 변수 이름을 변경된 변수 이름으로 전환하도록 구성된 이름 전환 모듈(118D)을 포함한다.
스테이션(ST1)은 3개의 프로그래머블 제어기(PC0, PC1, PC2)를 포함한다. 프로그래머블 제어기(PC0)는 프로그램(MS010) 및 프로그램(MS012)을 포함한다.
프로그램(MS010) 및 프로그램(MS012)은 각각 스테이션(ST1)의 스테이션 글로벌 변수를 통해 데이터를 입력/출력하여, 플랜트 제어를 수행한다.
이때, 재배치 관리부(110)는 프로그램(MS010)을 스테이션(ST2)의 프로그래머블 제어기(PC1)로 이동시킨다. 이와 함께, 2개의 프로그램(MS010 및 MS012)에서 사용된 스테이션 글로벌 변수는 스테이션(ST2)의 2개의 프로그래머블 제어기(PC3, PC4)로부터 액세스 가능한 네트워크 변수로 이동된다.
이때, 재배치 관리부(110)는 프로그래머블 제어기(PC0)의 토커 블록 및 프로그래머블 제어기(PC4)의 토커 블록을 공통 메모리 스페이스(400)에 추가하고, 스테이션 글로벌 변수를 네트워크 변수로 되는 추가된 토커 블록으로 이동시킨다. 또한, 프로그래머블 제어기(PC0)의 토커 블록 및 프로그래머블 제어기(PC5)의 토커 블록의 출력 소스는 공통 메모리 스페이스(400)에서 변경된다.
또한, 재배치 관리부(110)는 변수가 전환될 때 변수 이름이 수동으로 변경될 수 있게 하고, 변수 이름이 변경될 때, 변경된 변수 이름이 현재의 네트워크 변수의 변수 이름과 겹치는지의 여부를 판정하고, 전환될 변수 이름을 사용하는 프로그램의 변수 이름을 변경된 변수 이름으로 전환한다. 따라서, 스테이션 글로벌 변수를 네트워크 변수로 이동시킬 경우에, 재배치 관리부(110)는 전환 규칙에 따라 변수 이름을 변경한다.
본 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법에 있어서, 스테이션 글로벌 변수가 상술한 바와 같이 네트워크 변수로 전환되므로, 사용자의 수동 처리가 감소될 수 있고, 설계 작업의 비용이 절감될 수 있고, 수동 처리에 기인하는 에러가 방지될 수 있어, 프로그램을 고품질로 설계할 수 있다.
하나 또는 복수의 이동될 프로그램에서 사용된 스테이션 글로벌 변수가 이동되지 않는 프로그램에 대하여 데이터를 입력/출력하는데 사용되지 않는 경우에, 재배치 관리부(110)는 스테이션 글로벌 변수를 전환 규칙에 따라 제어기 글로벌 변수로 전환하고, 전환 규칙을 규정하고, 변수가 전환될 때 변수 이름이 수동으로 변경될 수 있게 하고, 변수 이름이 수신지 프로그래머블 제어기에서 이미 사용된 제어기 글로벌 변수의 변수 이름과 겹치는지의 여부를 판정하고, 변수 이름이 다른 변수와 겹치는 경우에, 이동될 프로그램에서 사용된 스테이션 글로벌 변수의 변수 이름을 전환하고, 프로그램에서 사용된 변수 이름을 변경된 변수 이름으로 전환한다.
플랜트 제어 시스템 및 프로그램 재배치 방법이 상술한 바와 같이 구성되는 경우에도, 스테이션 글로벌 변수는 제어기 글로벌 변수로 전환되므로, 사용자의 수동 처리가 감소될 수 있고, 설계 작업의 비용이 절감될 수 있고, 플랜트 제어 장치 및 프로그램 재배치 방법이 고품질로 제공될 수 있다.
이하에서는, 제 10 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법을 도면을 참조하여 설명한다. 본 실시예에 따른 플랜트 제어 시스템은 하기의 부분을 제외하고는 제 1 실시예와 유사한 구조를 갖는다.
본 실시예에서, 하나 또는 복수의 이동될 프로그램에서 사용된 제어기 글로벌 변수가 이동되지 않는 프로그램에 대하여 데이터를 입력/출력하는데 사용되지 않는 경우에, 제어기 글로벌 변수는 이동된다.
본 실시예에 따른 재배치 관리부(110)는 하나 또는 복수의 이동될 프로그램에서 사용된 제어기 글로벌 변수가 이동되지 않는 프로그램에 대하여 데이터를 입력/출력하는데 사용되지 않을 경우에, 제어기 글로벌 변수의 변수 이름이 수신지 프로그래머블 제어기에서 이미 사용된 제어기 글로벌 변수의 변수 이름과 겹치는지의 여부를 판정하도록 구성된 오버랩 판정 모듈(118C), 변수 이름이 다른 변수와 겹치는 경우에, 이동될 프로그램에서 사용된 제어기 글로벌 변수의 변수 이름을 전환하도록 구성된 이름 설정 모듈(118C), 및 프로그램에서 사용된 변수 이름을 변경된 변수 이름으로 자동으로 전환하도록 구성된 이름 전환 모듈(118D)을 포함한다.
도 17은 프로그램이 이동되기 전후의 스테이션의 구조예를 도시한다. 스테이션(ST1)은 3개의 프로그래머블 제어기(PC0, PC1, PC2)를 포함한다. 프로그래머블 제어기(PC0)는 프로그램(MS010) 및 프로그램(MS012)을 포함한다. 프로그래머블 제어기(PC1)는 프로그램(MS021)을 포함한다.
프로그램(MS010) 및 프로그램(MS012)은 각각 프로그래머블 제어기(PC0)의 제어기 글로벌 변수를 통해 데이터를 입력/출력하지만, 데이터는 두 프로그램 사이에서는 입력/출력되지 않고, 그에 따라 공통 변수는 액세스되지 않는다.
스테이션(ST2)은 3개의 프로그래머블 제어기(PC3, PC4, PC5)를 포함한다. 프로그래머블 제어기(PC3)는 프로그램(MS211)을 포함한다. 프로그래머블 제어기(PC5)는 프로그램(MS221)을 포함한다.
이때, 재배치 관리부(110)는 프로그램(MS010)을 스테이션(ST2)의 프로그래머블 제어기(PC4)로 이동시킨다. 이와 함께, 재배치 관리부(110)는 프로그램(MS010)에서 사용된 제어기 글로벌 변수를 프로그래머블 제어기(PC0)로부터 프로그래머블 제어기(PC4)로 이동시킨다.
도 18은 프로그램(MS010)과 프로그램(MS012) 사이에서만 공통 제어기 글로벌 변수를 통해 데이터가 교환되는 일례를 도시한다. 프로그램(MS010) 및 프로그램(MS012)이 프로그래머블 제어기(PC0)로부터 프로그래머블 제어기(PC4)로 이동되는 경우에, 원래 프로그래머블 제어기(PC0)에서 사용된 제어기 글로벌 변수를 사용하는 프로그램이 존재하지 않게 된다. 이 경우에, 재배치 관리부(110)는 제어기 글로벌 변수도 프로그램(MS010) 및 프로그램(MS012)과 함께 프로그래머블 제어기(PC4)로 이동시킨다.
재배치 관리부(110)는 제어기 글로벌 변수의 변수 이름이 이동될 프로그래머블 제어기(PC4)에서 이미 사용된 제어기 글로벌 변수의 변수 이름과 겹치는지의 여부를 판정하고, 변수 이름이 다른 변수와 겹치는 경우에, 이동될 프로그램에서 사용된 제어기 글로벌 변수의 변수 이름을 전환하고, 프로그램에서 사용된 변수 이름을 변경된 변수 이름으로 전환한다. 따라서, 제어기 글로벌 변수를 이동시킬 경우에, 재배치 관리부(110)는 전환 규칙에 따라 변수 이름을 변경한다.
본 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법에 있어서, 제어기 글로벌 변수는 상술한 바와 같이 이동되므로, 유저의 수동 처리가 감소될 수 있고, 설계 작업의 비용이 절감될 수 있고, 플랜트 제어 시스템 및 프로그램 재배치 방법이 고품질로 제공될 수 있다.
이하에서는, 제 11 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법을 도면을 참조하여 설명한다. 본 실시예에 따른 플랜트 제어 시스템은 하기의 부분을 제외하고는 제 1 실시예와 유사한 구조를 갖는다.
본 실시예에서, 하나 또는 복수의 이동될 프로그램에서 사용된 스테이션 글로벌 변수가 이동되지 않는 프로그램에 대하여 데이터를 입력/출력하는데 사용되지 않을 경우에는, 다른 스테이션의 프로그래머블 제어기로의 이동시에는 스테이션 글로벌 변수는 제어기 글로벌 변수로 전환된다.
본 실시예에 따른 플랜트 제어 시스템은 하나 또는 복수의 이동될 프로그램에서 사용된 스테이션 글로벌 변수가 이동되지 않는 프로그램에 대하여 데이터를 입력/출력하는데 사용되지 않을 경우에 전환 규칙에 따라 스테이션 글로벌 변수를 제어기 글로벌 변수로 자동으로 전환하도록 구성된 모듈, 전환 규칙을 규정하도록 구성된 모듈, 변수가 전환될 때 변수 이름이 수동으로 변경될 수 있게 하도록 구성된 모듈, 변수 이름이 수신지 프로그래머블 제어기에서 이미 사용된 제어기 글로벌 변수의 변수 이름과 겹치는지의 여부를 판정하도록 구성된 모듈, 변수 이름이 다른 변수와 겹치는 경우에, 이동될 프로그램에서 사용된 스테이션 글로벌 변수의 변수 이름을 전환하도록 구성된 모듈, 및 프로그램에서 사용된 변수 이름을 변경된 변수 이름으로 전환하도록 구성된 모듈을 포함한다.
도 19는 프로그램이 이동되기 전후의 스테이션의 구조예를 도시한다. 스테이션(ST1)은 3개의 프로그래머블 제어기(PC0, PC1, PC2)를 포함한다. 프로그래머블 제어기(PC0)는 프로그램(MS010)을 포함하고, 프로그래머블 제어기(PC1)는 프로그램(MS022)를 포함한다.
프로그램(MS010) 및 프로그램(MS022)은 각각 스테이션 글로벌 변수를 통헤 데이터를 입력/출력하여, 플랜트 제어를 수행한다. 프로그램(MS010)은 프로그래머블 제어기(PC0)의 출력 메모리에 기록된 스테이션 글로벌 변수를 통해 데이터를 입력/출력한다. 프로그램(MS022)은 프로그래머블 제어기(PC1)의 출력 메모리에 기록된 스테이션 글로벌 변수를 통해 데이터를 입력/출력한다. 이들 스테이션 글로벌 변수는 프로그램(MS010) 및 프로그램(MS022)에서만 사용되고 다른 프로그램에서는 사용되지 않는다.
이때, 재배치 관리부(110)는 프로그램(MS010) 및 프로그램(MS022)을 스테이션(ST2)의 프로그래머블 제어기(PC4)로 이동시킨다. 재배치 관리부(110)는 프로그램의 이동과 함께 프로그램(MS010) 및 프로그램(MS022)에서 사용된 스테이션 글로벌 변수를 프로그래머블 제어기(PC4)의 제어기 글로벌 변수로 이동시킨다.
또한, 재배치 관리부(110)는 변수가 전환될 때 변수 이름이 수동으로 변경될 수 있게 하고, 변수 이름이 변경될 경우에, 변경된 변수 이름이 현재의 제어기 글로벌 변수의 변수 이름과 겹치는지의 여부를 판정하고, 전환될 변수 이름을 사용하는 프로그램의 변수 이름을 변경된 변수 이름으로 전환한다. 따라서, 스테이션 글로벌 변수의 제어기 글로벌 변수로의 이동시에, 재배치 관리부(110)는 전환 규칙에 따라 변수 이름을 변경한다.
본 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법에 있어서, 스테이션 글로벌 변수는 상술한 바와 같이 제어기 글로벌 변수로 이동되므로, 유저의 수동 처리가 감소될 수 있고, 설계 작업의 비용이 절감될 수 있고, 플랜트 제어 장치 및 프로그램 재배치 방법이 고품질로 제공될 수 있다.
이하에서는, 제 12 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법을 도면을 참조하여 설명한다. 본 실시예에 따른 플랜트 제어 시스템은 하기의 부분을 제외하고는 제 1 실시예와 유사한 구조를 갖는다.
도 20은 본 실시예에 따른 플랜트 제어 시스템의 재배치 관리부(110)의 구조예를 개략적으로 도시한다.
본 실시예에서, 재배치 관리부(110)는 네트워크 변수가 하나 또는 복수의 이동될 프로그램에서 사용되는 경우에, 데이터를 네트워크에 출력하는 네트워크 변수의 데이터 송신 디바이스(500)에서 어드레스를 전환하도록 구성된 어드레스 전환 모듈(111)을 갖는다.
도 21은 프로그램이 이동되기 전후의 플랜트 제어 시스템의 구조예를 개략적으로 도시한다. 스테이션(ST1)은 프로그래머블 제어기(PC0, PC1, PC2)를 포함한다. 프로그래머블 제어기(PC0)는 프로그램(MS010) 및 프로그램(MS012)을 포함한다. 프로그래머블 제어기(PC1)는 프로그램(MS021)을 포함한다.
스테이션(ST2)은 프로그래머블 제어기(PC3, PC4, PC5)를 포함한다. 프로그래머블 제어기(PC3)는 프로그램(MS211)을 포함한다. 프로그래머블 제어기(PC4)는 프로그램(MS221)을 포함한다.
프로그램(MS010)은 데이터를 프로그래머블 제어기(PC0)의 출력 수신지 토커 블록에 기입하고 프로그래머블 제어기(PC3)의 토커 블록으로부터 네트워크 변수 내의 데이터를 판독한다.
프로그램(MS211)은 데이터를 프로그래머블 제어기(PC3)의 출력 수신지 토커 블록에 기입하고 프로그래머블 제어기(PC0)의 토커 블록으로부터 네트워크 변수 내의 데이터를 판독한다.
이때, 재배치 관리부(110)는 프로그램(MS010)을 프로그래머블 제어기(PC4)로 이동시킨다. 재배치 관리부(110)는 프로그램의 이동과 함께 프로그램(MS010)의 토커 블록을 프로그래머블 제어기(PC4)의 출력 수신지 토커 블록으로 전환한다. 이후, 재배치 관리부(110)는 프로그래머블 제어기(PC3)의 토커 블록으로부터 프로그램(MS211)을 판독하도록 입력 수신지를 갱신한다.
본 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법에 있어서, 네트워크 변수를 내부에 기록하는 토커 블록의 입력 수신지 및 출력 소스는 상술한 바와 같이 변경되므로, 유저의 수동 처리가 감소될 수 있고, 설계 작업의 비용이 절감될 수 있고, 플랜트 제어 장치 및 프로그램 재배치 방법이 고품질로 제공될 수 있다.
이하에서는, 제 13 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법을 도면을 참조하여 설명한다.
본 실시예에 따른 플랜트 제어 시스템은 데이터 송신 디바이스를 포함하지 않고, 프로그래머블 제어기의 하나 또는 복수의 프로그램을 프로그램의 로직을 변경하지 않고 동일 모듈에 탑재된 다른 프로그래머블 제어기로 이동시킨다. 본 실시예에 따른 플랜트 제어 시스템은 제어될 플랜트에 네트워크를 통하지 않고 접속된다.
도 22는 본 실시예에 따른 플랜트 제어 시스템의 구조예를 도시한다. 플랜트 제어 시스템은 복수의 프로그래머블 제어기를 탑재할 수 있는 스테이션(ST), 복수의 프로그램을 동작시킬 수 있고 프로그램에서 사용 가능한 로컬 변수, 제어기 글로벌 변수 및 스테이션 글로벌 변수를 갖는 프로그래머블 제어기(PC: PC1, PC2, PC3, ...), 모든 프로그래머블 제어기(PC)의 로컬 변수, 제어기 글로벌 변수 및 스테이션 글로벌 변수와, 송신 모듈과, 모든 프로그래머블 제어기(PC)의 프로그램의 메모리 어드레스를 총괄적으로 관리하도록 구성된 엔지니어링 디바이스(100)를 포함한다.
엔지니어링 디바이스(100)는 도 2에 도시된 재배치 관리부(110), 프로그램 정보 및 다양한 항목의 변수 정보를 저장하는 제 1 데이터베이스(DB1), 시스템 구조를 저장하는 제 2 데이터베이스(DB2), 제 1 데이터베이스(DB1) 및 제 2 데이터베이스(DB2)를 관리하도록 구성된 데이터베이스 관리부(120), 및 하드 디스크(HD)를 포함한다.
재배치 관리부(110)는 재배치 화면(112)을 표시하고 후술하는 프로그램 재배치 처리를 수행하도록 구성된다.
재배치 관리부(110)는 입력 디바이스로부터의 동작 신호에 의거하여, 소스 프로그래머블 제어기(PC), 하나 또는 복수의 이동될 프로그램, 수신지 프로그래머블 제어기(PC) 및 상기 소스 프로그래머블 제어기에서의 프로그램의 실행 순서를 지정하도록 구성된 이동 지정 모듈(114), 이동 지정 모듈(114)에 의해 지정된 대로 프로그램을 이동시키도록 구성된 프로그램 이동 모듈(116), 및 프로그램이 이동될 때 프로그램에서 사용된 변수가 프로그램으로부터 액세스 가능해지게 이동 또는 복사되게 하도록 구성된 변수 변경 모듈(118)을 포함한다.
변수 변경 모듈(118)은 변수를 이동 또는 복사하도록 구성된 변경 모듈(118A), 변수 이름이 다른 변수와 겹치는지의 여부를 판정하도록 구성된 오버랩 판정 모듈(118B), 변수 이름을 설정하도록 구성된 이름 설정 모듈(118C), 및 변수 이름을 설정된 대로 변경하도록 구성된 이름 전환 모듈(118D)을 포함한다.
제 1 데이터베이스(DB1)는 프로그램 정보 및 다양한 항목의 변수 정보로서, 프로그램 소스, 프로그램 오브젝트, 로컬 변수, 제어기 글로벌 변수 및 스테이션 글로벌 변수의 정보를 저장한다. 제 2 데이터베이스(DB2)는 플랜트 제어 시스템의 시스템 구조 정보를 저장한다.
재배치 관리부(110)는 제 1 데이터베이스(DB1)에 저장된 프로그램 정보 및 다양한 항목의 변수 정보를 데이터베이스 관리부(120)로부터 획득한다. 재배치 관리부(110)는 제 2 데이터베이스(DB2)에 저장된 시스템 구조 정보를 데이터베이스 관리부(120)로부터 획득한다. 프로그램 재배치 처리를 수행할 경우에, 재배치 관리부(110)는 프로그램 또는 변수에서의 변경 정보를 데이터베이스 관리부(120)에 공급한다. 데이터베이스 관리부(120)는 제 1 데이터베이스(DB1) 및 제 2 데이터베이스(DB2)에 저장된 정보를 재배치 관리부(110)로부터 공급된 변경 정보에 따라 갱신한다.
엔지니어링 디바이스(100)는 마우스(130), 키보드(140) 및 디스플레이 디바이스(150)에 접속된다. 마우스(130) 및 키보드(140)는 유저에 의해 동작되어 엔지니어링 디바이스(100)에 동작 신호를 출력하도록 구성된 입력 디바이스이다. 디스플레이 디바이스(150)는 디스플레이부(도시되지 않음)를 포함하고 엔지니어링 디바이스(100)로부터 공급된 신호에 의거하여 디스플레이부에 화상을 표시하는 출력 디바이스이다.
엔지니어링 디바이스(100)는 프로그램 정보 및 변수 정보를 데이터 송신 디바이스(600)를 통해 프로그래머블 제어기(PC: PC0, PC1, ...)에 다운로드하도록 구성된다.
스테이션(ST)은 프로그래머블 제어기(PC0, PC1, PC2), 스테이션 글로벌 변수부(700) 및 데이터 송신 디바이스(600)를 포함한다. 예컨대, 프로그래머블 제어기(PC0)는 프로그램(MS010, MS020, ..., MS0nn), 각각의 프로그램(MS010, MS020, ..., MS0nn)에 설정된 로컬 변수, 및 제어기 글로벌 변수를 기록한다.
프로그래머블 제어기(PC1)는 프로그램(MS110, MS120, ..., MS1nn), 각각의 프로그램(MS110, MS120, ..., MS1nn)에 설정된 로컬 변수, 및 제어기 글로벌 변수를 기록한다.
프로그래머블 제어기(PC2)는 프로그램(MS210, MS220, ..., MS2nn), 각각의 프로그램(MS210, MS220, ..., MS2nn)에 설정된 로컬 변수, 및 제어기 글로벌 변수를 기록한다.
본 실시예에서, 재배치 관리부(110)는 소스 프로그래머블 제어기, 하나 또는 복수의 이동될 프로그램, 수신지 프로그래머블 제어기 및 상기 소스 프로그래머블 제어기에서의 하나 또는 복수의 이동될 프로그램의 실행 순서를 지정하도록 구성된 이동 지정 모듈(114)을 포함한다.
예컨대, 프로그래머블 제어기(PC0)의 프로그램(MS010) 및 프로그램(MS012)은 로컬 변수를 갖고, 제어기 글로벌 변수의 사용에 의해 데이터를 교환한다.
이때, 프로그램(MS010)이 스테이션(ST) 내의 다른 프로그래머블 제어기로 이동될 경우에, 프로그래머블 제어기는 다른 제어기이며, 그에 따라 이동 전과는 달리 제어기 글로벌 변수를 통해 데이터가 교환될 수 없다.
따라서, 본 실시예에서는, 재배치 관리부(110)는 프로그램(MS010)이 이동될 경우에, 프로그램(MS010)의 이동과 함께뿐만 아니라 데이터의 교환과 함께 변수를 자동으로 변경하도록 구성된다. 재배치 관리부(110)는 프로그램(MS010)과 함께 제어기 글로벌 변수를 이동 또는 복사한다.
본 실시예에서, 이동 지정 모듈(114)은 제 1 실시예에 따른 플랜트 제어 시스템과 유사하게 재배치 화면(112)을 표시한다. 도 3은 프로그램의 이동 수신지가 지정된 화면(112A)의 일례를 도시한다. 유저는 수신지 제어기를 지정한 후에 이동 소스 칼럼에서 이동될 프로그램을 선택하고, 이동 수신지 칼럼에서 원하는 이동 태스크 등재 번호의 로우에 마우스 커서를 옮겨놓는다. 재배치 관리부(110)는 이동 수신지를 일시적으로 판정하여, 태스크 등재 번호에 "*"을 표시하고, "OK" 버튼이 클릭되면 도 4에 도시된 화면(112B)을 표시한다.
도 4에 도시된 화면(112B)은 프로그램의 이동과 함께 변경될 필요가 있는 변수의 전환 규칙을 규정한다. 변경될 필요가 있는 변수는 화면의 상부에 표시되는 종류로 분류된다. 변수의 종류는 제어기 글로벌 변수의 스테이션 글로벌 변수로의 이동, 제어기 글로벌 변수의 다른 프로그래머블 제어기의 제어기 글로벌 변수로의 이동 등을 포함한다. 유저가 임의의 종류를 선택하면, 필요한 정보가 화면의 하부에 표시된다.
도 4의 화면의 하부는 제어기 글로벌 변수가 스테이션 글로벌 변수로 이동되는 일례이다. 이동될 변수는 이동 소스 칼럼에서 선택(다수의 변수가 선택될 수 있음)되고, 마우스(130)는 이동 수신지 칼럼에서 화면의 우측 하부에 있는 원하는 이동 위치에 커서를 옮기도록 조작된다. 이때, 변수 이름이 다른 변수와 겹치는지의 여부에 대한 판정이 이루어지고, 동일한 변수 이름이 이동 수신지에 존재할 경우에는, 겹치는 변수 이름이 구별되도록 뒤집혀서 표시된다. 전환이 불필요한 경우에는, 유저는 변수 이름이 전환 목표로부터 제외되도록 마우스(130)를 조작해서 전환 불필요 버튼을 클릭한다.
도 5는 제어기 글로벌 변수가 다른 프로그래머블 제어기의 제어기 글로벌 변수로 이동되는 화면(112C)의 일례를 도시한다. 도 4의 화면의 하부는 도 5에서와 같이 표시된다. 이동될 변수는 이동 소스 칼럼에서 선택(다수의 변수가 선택될 수 있음)되고, 마우스(130)는 이동 수신지 칼럼에서 원하는 이동 위치에 옮겨진다. 이때, 변수 이름이 다른 변수와 겹치는지의 여부에 대한 판정이 이루어지고, 동일한 변수 이름이 이동 수신지에 존재할 경우에는, 겹치는 변수 이름이 오버랩을 나타내도록 뒤집혀서 표시된다. 전환이 불필요한 경우에는, 유저는 변수가 전환 목표로부터 제외될 수 있도록 마우스(130)를 조작해서 전환 불필요 버튼을 클릭한다.
도 6은 변수 이름을 변경할 때 전환이 규정되는 화면(112D)을 도시한다. 본 실시예에서, 변수 이름 전환은 제 1 실시예에서 기술한 대로 규정된다. 예컨대, 제어기 글로벌 변수에 대해서는, 변수의 접두어는 "G_"로서 상정되고, 스테이션 글로벌 변수에 대해서는, 변수의 접두어는 "S_"로서 상정된다. 따라서, 변수가 프로그램의 이동과 함께 제어기 글로벌 변수로부터 스테이션 글로벌 변수로 이동되는 경우에, 규칙에 따른 자동 전환을 위한 설정은 도 6의 화면(112D)에 규정된다.
변수 이름의 접두어는, 변수가 프로그램의 이동과 함께 이동되는 경우에, 변수 이름이 설계에서의 변수 명명 규칙과 일치하도록 상술한 바와 같이 전환된다.
상술한 바와 같이, 본 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법에서는, 설계 작업의 비용이 절감될 수 있고, 플랜트 제어 장치 및 프로그램 재배치 방법이 고품질로 제공될 수 있다.
이하에서는, 제 14 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법을 도면을 참조하여 설명한다. 본 실시예에 따른 플랜트 제어 시스템은 하기의 부분을 제외하고는 제 13 실시예와 유사한 구조를 갖는다.
프로그램이 이동될 경우에, 그 프로그램에서 사용된 기능 및 기능 블록이 존재하면, 동시에 그 기능 및 기능 블록도 이동될 수 있는 본 실시예의 일례를 후술한다.
도 7은 본 실시예에 따른 플랜트 제어 시스템의 재배치 관리부(110)의 구조예를 개략적으로 도시한다.
본 실시예에서, 재배치 관리부(110)는 기능 및 기능 블록을 이동시키도록 구성된 기능/기능 블록 이동 모듈(119)을 더 포함한다.
본 실시예에 따른 플랜트 제어 시스템은, 이동될 프로그램에서 사용된 기능 및 기능 블록이 존재할 경우에, 기능 및 기능 블록이 동시에 이동되게 하도록 구성된 모듈을 포함한다.
도 8에서, 프로그램(MS010)이 이동될 경우에, 재배치 관리부(110)는 프로그램(MS010)에서 사용된 기능 및 기능 블록을 이동시킨다(CALL). 이때, 재배치 관리부(110)는 기능 및 기능 블록이 다른 프로그램에서 사용되고 있지 않을 경우에는 기능 및 기능 블록을 이동시키고, 기능 및 기능 블록이 다른 프로그램에서 사용되고 있을 경우에는 기능 및 기능 블록을 복사한다.
도 8의 예에서, 기능(UserFUN1)은 프로그램(MS010)에서만 사용되기 때문에, 그것은 프로그램(MS010)과 함께 수신지 프로그래머블 제어기로 이동된다. 기능 블록(UserFBK1)은 프로그램(MS012)에서도 사용되기 때문에, 그것은 수신지 프로그래머블 제어기로 복사된다.
본 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법에 있어서, 프로그램이 상술한 바와 같이 이동되는 경우에 기능 및 기능 블록은 자동으로 이동 또는 복사되므로, 유저의 수동 처리가 감소될 수 있고, 설계 작업의 비용이 절감될 수 있고, 플랜트 제어 장치 및 프로그램 재배치 방법이 고품질로 제공될 수 있다.
이하에서는, 제 15 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법을 도면을 참조하여 설명한다. 본 실시예에 따른 플랜트 제어 시스템은 하기의 부분을 제외하고는 제 13 실시예와 유사한 구조를 갖는다.
하나 또는 복수의 이동될 프로그램에서 사용된 제어기 글로벌 변수가 이동되지 않는 프로그램에 대하여 데이터를 입력/출력하는데 사용되지 않을 경우에, 제어기 글로벌 변수가 이동되는 본 실시예의 일례를 후술한다.
하나 또는 복수의 이동될 프로그램에서 사용된 제어기 글로벌 변수가 이동되지 않는 프로그램에 대하여 데이터를 입력/출력하는데 사용되지 않을 경우에, 재배치 관리부(110)는 제어기 글로벌 변수의 변수 이름이 수신지 프로그래머블 제어기에서 이미 사용된 제어기 글로벌 변수의 변수 이름과 겹치는지의 여부를 판정하도록 구성된 모듈, 변수 이름이 다른 변수와 겹치는 경우에, 이동될 프로그램에서 사용된 제어기 글로벌 변수의 변수 이름을 전환하도록 구성된 모듈, 및 프로그램에서 사용된 변수 이름을 변경된 변수 이름으로 자동으로 전환하도록 구성된 모듈을 포함한다.
이하에서는, 본 실시예에 따른 플랜트 제어 시스템에서의 변수의 이동을 도 10 및 도 11을 참조하여 설명한다. 도 10에서, 스테이션(ST)에는 2개의 프로그래머블 제어기(PC0, PC1)가 존재하고, 프로그래머블 제어기(PC0)는 프로그램(MS010) 및 프로그램(MS012)을 포함한다. 프로그램(MS010) 및 프로그램(MS012)은 각각 프로그래머블 제어기(PC0)의 제어기 글로벌 변수를 통해 데이터를 입력/출력하지만, 두 프로그램 사이에서는 데이터가 교환되지 않아, 동일한 변수는 액세스되지 않는다.
이때, 재배치 관리부(110)는 프로그램(MS010)을 프로그래머블 제어기(PC1)로 이동시킨다. 이와 함께, 프로그램(MS010)에서 사용된 제어기 글로벌 변수는 프로그래머블 제어기(PC0)로부터 프로그래머블 제어기(PC1)로 이동된다.
재배치 관리부(110)는 제어기 글로벌 변수의 변수 이름이 수신지 프로그래머블 제어기에서 이미 사용된 제어기 글로벌 변수의 변수 이름과 겹치는지의 여부를 판정하고, 변수 이름이 다른 변수와 겹치는 경우에, 이동될 프로그램에서 사용된 제어기 글로벌 변수의 변수 이름을 전환하고, 프로그램에서 사용된 변수 이름을 변경된 변수 이름으로 전환한다.
도 11은 프로그램(MS010) 및 프로그램(MS012)이 제어기 글로벌 변수를 통해 데이터를 교환하는 일례를 도시한다. 프로그램(MS010) 및 프로그램(MS012)이 이동될 경우에, 원래 소스 프로그래머블 제어기에서 사용된 제어기 글로벌 변수를 이용하는 프로그램은 존재하지 않고, 그에 따라 재배치 관리부(110)는 제어기 글로벌 변수를 함께 이동시킨다.
상술한 바와 같이, 본 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법에서는, 설계 작업의 비용이 절감될 수 있고, 플랜트 제어 장치 및 프로그램 재배치 방법이 고품질로 제공될 수 있다.
이하에서는, 제 16 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법을 도면을 참조하여 설명한다. 본 실시예에 따른 플랜트 제어 시스템은 하기의 부분을 제외하고는 제 13 실시예와 유사한 구조를 갖는다.
소스 프로그래머블 제어기가 복수의 프로그램으로 구성되고, 하나 또는 복수의 프로그램이 이동되지 않는 프로그램에 대하여 제어기 글로벌 변수를 통해 데이터를 입력/출력하는 경우에, 제어기 글로벌 변수가 스테이션 글로벌 변수로 전환되는 본 실시예의 일례를 후술한다.
하나 또는 복수의 이동될 프로그램이 이동되지 않는 프로그램에 대하여 제어기 글로벌 변수를 통해 데이터를 입력/출력하는 경우에, 재배치 관리부(110)는 전환 규칙에 따라 제어기 글로벌 변수를 스테이션 글로벌 변수로 전환하도록 구성된 모듈, 전환 규칙을 규정하도록 구성된 모듈, 변수가 전환될 때 변수 이름이 수동으로 변경될 수 있게 하도록 구성된 모듈, 변수 이름이 변경될 때, 변경된 변수 이름이 현재의 스테이션 글로벌 변수의 변수 이름과 겹치는지의 여부를 판정하도록 구성된 모듈, 및 전환될 변수 이름을 사용하는 프로그램의 변수 이름을 변경된 변수 이름으로 자동으로 전환하도록 구성된 모듈을 포함한다.
도 12에서, 스테이션(ST)에는 3개의 프로그래머블 제어기(PC0, PC1, PC2)가 존재하고, 프로그래머블 제어기(PC0)에는 프로그램(MS010) 및 프로그램(MS012)이 존재한다. 프로그램(MS010) 및 프로그램(MS012)은 각각 프로그래머블 제어기(PC0)의 제어기 글로벌 변수를 통해 데이터를 입력/출력하여, 플랜트 제어를 수행한다.
이때, 프로그램(MS010)은 프로그래머블 제어기(PC1)로 이동된다. 이와 함께, 2개의 프로그램(MS010 및 MS012)에서 사용된 제어기 글로벌 변수는 2개의 프로그래머블 제어기(PC0, PC1)로부터 액세스 가능한 스테이션 글로벌 변수로 이동된다.
재배치 관리부(110)는 전환 규칙에 따라 변수를 전환하고, 변수 전환 규칙을 규정하고, 변수가 전환될 때 변수 이름이 수동으로 변환될 수 있게 하고, 변수 이름이 변경될 때, 변경된 변수 이름이 현재의 스테이션 글로벌 변수의 변수 이름과 겹치는지의 여부를 판정하고, 전환될 변수 이름을 사용하는 프로그램의 변수 이름을 변경된 변수 이름으로 전환한다.
상술한 바와 같이, 변수 이름이 전환됨으로써 프로그램의 이동과 함께 변수가 이동하게 되는 경우에, 변수 이름은 설계에서의 변수 명명 규칙과 일치한다.
상술한 바와 같이, 본 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법에서는, 설계 작업의 비용이 절감될 수 있고, 플랜트 제어 장치 및 프로그램 재배치 방법이 고품질로 제공될 수 있다.
이하에서는, 제 17 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법을 도면을 참조하여 설명한다. 본 실시예에 따른 플랜트 제어 시스템은 하기의 부분을 제외하고는 제 13 실시예와 유사한 구조를 갖는다.
하나 또는 복수의 이동될 프로그램에서 사용된 스테이션 글로벌 변수가 이동되지 않는 프로그램에 대하여 데이터를 입력/출력하는데 사용되지 않을 경우에, 스테이션 글로벌 변수가 제어기 글로벌 변수로 전환되는 본 실시예의 일례를 후술한다.
하나 또는 복수의 이동될 프로그램에서 사용된 스테이션 글로벌 변수가 이동되지 않는 프로그램에 대하여 데이터를 입력/출력하는데 사용되지 않을 경우에, 재배치 관리부(110)는 전환 규칙에 따라 스테이션 글로벌 변수를 제어기 글로벌 변수로 전환하도록 구성된 모듈, 전환 규칙을 규정하도록 구성된 모듈, 변수가 전환될 때 변수 이름이 수동으로 변경될 수 있게 하도록 구성된 모듈, 변수 이름이 수신지 프로그래머블 제어기에서 이미 사용된 제어기 글로벌 변수의 변수 이름과 겹치는지의 여부를 판정하도록 구성된 모듈, 변수 이름이 다른 변수와 겹치는 경우에 이동될 프로그램에서 사용된 스테이션 글로벌 변수의 변수 이름을 전환하도록 구성된 모듈, 프로그램에서 사용된 변수 이름을 변경된 변수 이름으로 전환하도록 구성된 모듈을 포함한다.
도 13에서, 스테이션(ST)에는 3개의 프로그래머블 제어기(PC0, PC1, PC2)가 존재하고, 프로그래머블 제어기(PC0)는 프로그램(MS012)을 포함한다. 프로그래머블 제어기(PC1)는 프로그램(MS010)을 포함한다. 프로그램(MS010) 및 프로그램(MS012)은 각각 스테이션 글로벌 변수를 통해 데이터를 입력/출력하여, 플랜트 제어를 수행한다. 스테이션 글로벌 변수는 프로그램(MS010) 및 프로그램(MS012)에서만 사용되고 다른 프로그램에서는 사용되지 않는 것으로 한다.
이때, 재배치 관리부(110)는 프로그램(MS010)을 프로그래머블 제어기(PC0)로 이동시킨다. 프로그램의 이동과 함께, 2개의 프로그램(MS010 및 MS012)에서 사용된 스테이션 글로벌 변수는 프로그래머블 제어기(PC0)의 제어기 글로벌 변수로 이동된다.
재배치 관리부(110)는 전환 규칙에 따라 변수를 전환하고, 변수 전환 규칙을 규정하고, 변수가 전환될 때 변수 이름이 수동으로 변경될 수 있게 하고, 변수 이름이 변경될 때, 변경된 변수 이름이 현재의 제어기 글로벌 변수의 변수 이름과 겹치는지의 여부를 판정하고, 전환될 변수 이름을 사용하는 프로그램의 변수 이름을 변경된 변수 이름으로 전환한다.
상술한 바와 같이, 변수 이름이 전환되고, 그에 따라 변수가 프로그램의 이동과 함께 이동되는 경우에는, 변수 이름은 설계에서의 변수 명명 규칙과 일치한다.
상술한 바와 같이, 본 실시예에 따른 플랜트 제어 시스템 및 프로그램 재배치 방법에서는, 설계 작업의 비용이 절감될 수 있고, 플랜트 제어 장치 및 프로그램 재배치 방법이 고품질로 제공될 수 있다.
제 1 내지 제 17 실시예에 따른 플랜트 제어 시스템에 있어서, 프로그램의 이동에 대한 일련의 설계 작업은 재배치 화면(112)상에 설계자와의 대화 형태로 개선될 수 있다. 설계자가 필요한 정보를 설정하고 나서, 프로그램의 이동에 대한 일련의 설계 작업이, 프로그램의 이동에 대한 일련의 모든 설계 작업을 설계자가 수행할 수 있게 하는 안내 기능에 의해, 자동으로 수행됨으로써, 프로그램을 다른 프로그래머블 제어기로 이동시킬 때 단축된 설계 시간으로 인한 비용 절감 및 잘못된 설계의 배제로 인한 제어 시스템의 품질 개선이 달성된다.
몇가지 실시예가 기술되었지만, 이들 실시예는 예로서만 나타낸 것이지, 발명의 범위를 제한하려는 것은 아니다. 실제로, 본원에 개시된 신규한 실시예는 다양한 다른 형태로 구현될 수 있고, 또한 본원에 개시된 실시 형태에서의 다양한 생략, 치환 및 변경이 발명의 정신으로부터 일탈함이 없이 이루어질 수 있다. 첨부한 특허청구범위 및 그 동등물은 발명의 범위 및 정신 내에 들도록 상기 형태 또는 변형을 보호하려는 것이다.
100 : 엔지니어링 디바이스 110 : 재배치 관리부
112 : 재배치 화면 120 : 데이터베이스 관리부
130 : 마우스 140 : 키보드
150 : 디스플레이 디바이스 DB1 : 제 1 데이터베이스
DB2 : 제 2 데이터베이스 HD : 하드 디스크
300 : 네트워크 400 : 공통 메모리 스페이스
500, 600 : 데이터 송신 디바이스 700 : 스테이션 글로벌 변수부
ST : 스테이션 PC : 프로그래머블 제어기

Claims (12)

  1. 복수의 프로그래머블 제어기를 탑재한 스테이션,
    상기 복수의 프로그래머블 제어기에 의해 실행되는 프로그램을 관리하도록 구성된 엔지니어링 디바이스,
    유저에 의해 동작되어 상기 엔지니어링 디바이스에 동작 신호를 공급하도록 구성된 입력 디바이스,
    상기 엔지니어링 디바이스로부터 출력된 비디오 신호를 표시하도록 구성된 디스플레이 디바이스, 및
    상기 복수의 프로그래머블 제어기 및 상기 엔지니어링 디바이스에 접속하도록 구성된 데이터 송신 디바이스를 포함하고,
    상기 엔지니어링 디바이스는 각각의 프로그래머블 제어기 내의 복수의 프로그램 사이에서의 데이터의 공유를 허용하는 제어기 글로벌 변수(controller global variable)와, 상기 스테이션, 데이터베이스 관리부 및 상기 프로그램들을 이동시키도록 구성된 재배치 관리부에서 복수의 프로그램 사이에서의 데이터의 공유를 허용하는 스테이션 글로벌 변수(station global variable)의 변수 정보를 저장하도록 구성된 데이터베이스를 포함하고,
    상기 재배치 관리부는 상기 입력 디바이스로부터의 동작 신호에 의거하여, 소스 프로그래머블 제어기, 하나 또는 복수의 이동될 프로그램, 수신지(destination) 프로그래머블 제어기, 및 상기 소스 프로그래머블 제어기에서의 프로그램의 실행 순서를 지정하도록 구성된 이동 지정 모듈; 상기 이동 지정 모듈에서 지정된 대로 상기 프로그램을 이동시키도록 구성된 모듈; 및 상기 프로그램이 이동될 경우에, 상기 프로그램으로부터 액세스 가능해지게 상기 프로그램에서 사용된 상기 제어기 글로벌 변수 및 상기 스테이션 글로벌 변수를 이동 또는 복사하도록 구성된 변수 변경 모듈을 포함하는 플랜트 제어 시스템.
  2. 제 1 항에 있어서,
    네트워크에 접속되며, 상기 복수의 프로그래머블 제어기에서의 복수의 프로그램 사이에서 데이터가 공유될 수 있게 하는 네트워크 변수를 기록하는 공통 메모리 스페이스를 갖고, 상기 네트워크와 상기 스테이션 사이에서 데이터를 송수신하는 데이터 송신 디바이스를 더 포함하고,
    상기 데이터베이스는 상기 네트워크 변수의 변수 정보를 더 저장하고,
    상기 변수 변경 모듈은, 프로그램이 이동될 경우에, 상기 프로그램으로부터 액세스 가능해지게 상기 프로그램에 사용된 네트워크 변수를 이동 또는 복사하도록 구성되는 플랜트 제어 시스템.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 재배치 관리부는, 상기 프로그램이 기능 및 기능 블록을 사용할 경우에, 상기 기능 및 상기 기능 블록이 이동될 수 있게 하도록 구성된 모듈을 더 포함하는 플랜트 제어 시스템.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 프로그램에 사용된 제어기 글로벌 변수가 다른 프로그램에 대하여 데이터를 입력/출력하는데 사용되지 않는 경우에,
    상기 변수 변경 모듈은,
    상기 제어기 글로벌 변수의 변수 이름이 수신지 프로그래머블 제어기에서 이미 사용된 제어기 글로벌 변수의 변수 이름과 겹치는지의 여부를 판정하도록 구성된 모듈과,
    상기 변수 이름이 다른 변수와 겹치는 경우에, 이동될 프로그램에서 사용된 제어기 글로벌 변수의 변수 이름을 설정하도록 구성된 모듈과,
    상기 프로그램에서 사용된 변수 이름을 상기 설정 변수 이름으로 자동으로 전환하도록 구성된 모듈을 더 포함하는 플랜트 제어 시스템.
  5. 제 1 항 또는 제 2 항에 있어서,
    소스 프로그래머블 제어기가 복수의 프로그램을 포함하고, 상기 프로그램이 다른 프로그램에 대하여 상기 제어기 글로벌 변수를 통해 데이터를 입력/출력하는 경우에,
    상기 변수 변경 모듈은,
    전환 규칙을 규정하도록 구성된 모듈과,
    상기 전환 규칙에 따라 상기 제어기 글로벌 변수를 상기 스테이션 글로벌 변수로 전환하도록 구성된 모듈과,
    상기 프로그램이 전환될 때 변수 이름이 변경될 수 있게 하도록 구성된 모듈과,
    상기 변수 이름이 변경될 때, 상기 변경된 변수 이름이 현재의 스테이션 글로벌 변수의 변수 이름과 겹치도록 구성된 모듈과,
    상기 변수 이름이 다른 변수와 겹칠 때, 전환될 변수 이름을 사용하는 프로그램의 변수 이름을 상기 변경된 변수 이름으로 전환하도록 구성된 모듈을 포함하는 플랜트 제어 시스템.
  6. 제 1 항 또는 제 2 항에 있어서,
    상기 프로그램에서 사용된 스테이션 글로벌 변수가 다른 프로그램에 대하여 데이터를 입력/출력하는데 사용되지 않을 경우에,
    상기 변수 변경 모듈은,
    전환 규칙을 규정하도록 구성된 모듈과,
    상기 전환 규칙에 따라 상기 스테이션 글로벌 변수를 제어기 글로벌 변수로 전환하도록 구성된 모듈과,
    상기 스테이션 글로벌 변수가 전환될 때, 변수 이름이 수동으로 변경될 수 있게 하도록 구성된 모듈과,
    상기 변수 이름이 수신지 프로그래머블 제어기에서 이미 사용된 제어기 글로벌 변수의 변수 이름과 겹치는지의 여부를 판정하도록 구성된 모듈과,
    상기 변수 이름이 다른 변수와 겹칠 때, 상기 프로그램에서 사용된 상기 스테이션 글로벌 변수의 변수 이름을 전환하도록 구성된 모듈과,
    상기 변수 이름을 상기 변경된 변수 이름으로 전환하도록 구성된 모듈을 포함하는 플랜트 제어 시스템.
  7. 제 2 항에 있어서,
    상기 소스 프로그래머블 제어기가 복수의 프로그램을 포함하고, 상기 프로그램이 다른 프로그램에 대하여 상기 제어기 글로벌 변수를 통해 데이터를 입력/출력하는 경우에,
    상기 변수 변경 모듈은,
    상기 제어기 글로벌 변수를 상기 네트워크 변수로 전환하도록 구성된 모듈과,
    변수 이름 전환 규칙을 규정하도록 구성된 모듈과,
    상기 제어기 글로벌 변수가 전환될 때, 상기 변수 이름 전환 규칙에 따라 변수 이름을 전환하도록 구성된 모듈과,
    상기 변수가 전환될 때, 변수 이름이 수동으로 변경될 수 있게 하도록 구성된 모듈과,
    상기 변수 이름이 변경될 때, 상기 변경된 변수 이름이 현재의 네트워크 변수의 변수 이름과 겹치는지의 여부를 판정하도록 구성된 모듈과,
    상기 변수 이름이 다른 변수와 겹칠 때, 전환될 변수 이름을 사용하는 프로그램의 변수 이름을 상기 변경된 변수 이름으로 자동으로 전환하도록 구성된 모듈을 포함하는 플랜트 제어 시스템.
  8. 제 2 항에 있어서,
    상기 소스 프로그래머블 제어기가 복수의 프로그램을 포함하고, 이동될 하나 또는 복수의 프로그램이 다른 프로그램에 대하여 상기 제어기 글로벌 변수를 통해 데이터를 입력/출력하는 경우에,
    상기 변수 변경 모듈은,
    상기 제어기 글로벌 변수를 상기 네트워크 변수로 전환하도록 구성된 모듈과,
    변수 이름 전환 규칙을 규정하도록 구성된 모듈과,
    상기 제어기 글로벌 변수가 전환될 때 상기 전환 규칙에 따라 변수 이름을 자동으로 전환하도록 구성된 모듈과,
    상기 변수가 전환될 때 상기 변수 이름이 수동으로 변경될 수 있게 하도록 구성된 모듈과,
    상기 변수 이름이 변경될 때, 상기 변경된 변수 이름이 현재의 네트워크 변수의 변수 이름과 겹치는지의 여부를 판정하도록 구성된 모듈과,
    상기 변수 이름이 다른 변수와 겹칠 때, 전환될 변수 이름을 사용하는 프로그램의 변수 이름을 상기 변경된 변수 이름으로 전환하도록 구성된 모듈을 포함하는 플랜트 제어 시스템.
  9. 제 2 항에 있어서,
    상기 소스 프로그래머블 제어기가 복수의 프로그램을 포함하고, 상기 프로그램이 상기 프로그래머블 제어기와 동일한 스테이션에 있는 다른 프로그래머블 제어기에 포함된 프로그램에 대하여 상기 스테이션 글로벌 변수를 통해 데이터를 입력/출력하는 경우에,
    상기 변수 변경 모듈은,
    상기 스테이션 글로벌 변수를 상기 네트워크 변수로 전환하도록 구성된 모듈과,
    변수 이름 전환 규칙을 규정하도록 구성된 모듈과,
    상기 변수가 전환될 때, 상기 전환 규칙에 따라 변수 이름을 전환하도록 구성된 모듈과,
    상기 변수 이름이 수동으로 변경될 수 있게 하도록 구성된 모듈과,
    변수 이름이 변경될 때, 상기 변경된 변수 이름이 현재의 네트워크 변수의 변수 이름과 겹치는지의 여부를 판정하도록 구성된 모듈과,
    전환될 변수 이름을 사용하는 프로그램의 변수 이름을 상기 변경된 변수 이름으로 자동으로 전환하도록 구성된 모듈을 포함하는 플랜트 제어 시스템.
  10. 제 2 항에 있어서,
    네트워크 변수가 하나 또는 복수의 이동될 프로그램에서 사용되는 경우에,
    상기 변수 변경 모듈은, 상기 네트워크에 데이터를 출력하기 위해 네트워크 변수의 상기 데이터 송신 디바이스에서의 어드레스를 전환하도록 구성된 모듈을 더 포함하는 플랜트 제어 시스템.
  11. 소스 프로그래머블 제어기, 하나 또는 복수의 이동될 프로그램, 수신지 프로그래머블 제어기, 및 상기 수신지 프로그래머블 제어기에서의 프로그램의 실행 순서를 지정하는 단계,
    상기 프로그램을 지정된 대로 이동시키는 단계, 및
    상기 프로그램이 이동될 때, 상기 프로그램에 사용된 제어기 글로벌 변수 및 스테이션 글로벌 변수를 상기 프로그램으로부터 액세스 가능해지게 이동 또는 복사하는 단계를 포함하는 프로그램 재배치 방법.
  12. 제 11 항에 있어서,
    상기 프로그램이 이동될 때, 상기 프로그램에 사용된 네트워크 변수를 상기 프로그램으로부터 액세스 가능해지게 이동 또는 복사하는 단계를 포함하는 프로그램 재배치 방법.
KR1020110040151A 2010-04-30 2011-04-28 플랜트 제어 시스템 및 프로그램 재배치 방법 KR101260275B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010105621A JP5444112B2 (ja) 2010-04-30 2010-04-30 プラント制御システムおよびプログラムリロケート方法
JPJP-P-2010-105621 2010-04-30

Publications (2)

Publication Number Publication Date
KR20110121568A true KR20110121568A (ko) 2011-11-07
KR101260275B1 KR101260275B1 (ko) 2013-05-06

Family

ID=44858908

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110040151A KR101260275B1 (ko) 2010-04-30 2011-04-28 플랜트 제어 시스템 및 프로그램 재배치 방법

Country Status (4)

Country Link
US (1) US8700186B2 (ko)
JP (1) JP5444112B2 (ko)
KR (1) KR101260275B1 (ko)
CN (1) CN102236352B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140106976A (ko) * 2013-02-27 2014-09-04 엘지전자 주식회사 빌딩 자동화 시스템, 그에 포함된 게이트웨이 및 게이트웨이의 동작방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5942446B2 (ja) * 2012-02-01 2016-06-29 オムロン株式会社 サポート装置およびサポートプログラム
US9696694B2 (en) 2012-04-02 2017-07-04 Mitsubishi Electric Corporation Parameter setting device
CN103488533A (zh) * 2013-09-06 2014-01-01 乐视致新电子科技(天津)有限公司 一种程序执行方法、设备及系统
EP2874030A1 (de) * 2013-11-19 2015-05-20 Siemens Aktiengesellschaft Automatisierungssystem
JP6879625B2 (ja) * 2016-12-27 2021-06-02 東芝インフラシステムズ株式会社 プログラマブルコントローラ、管理装置および制御システム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2916015B2 (ja) * 1991-03-15 1999-07-05 株式会社日立製作所 プログラマブルコントローラのプログラミング装置
JPH1185490A (ja) 1997-09-10 1999-03-30 Toshiba Corp エンジニアリングシステム
JP2000132210A (ja) * 1998-10-23 2000-05-12 Omron Corp 制御装置及び協調制御方法
JP3737650B2 (ja) * 1999-07-09 2006-01-18 株式会社東芝 統合コントローラ及び制御システム
US6564194B1 (en) * 1999-09-10 2003-05-13 John R. Koza Method and apparatus for automatic synthesis controllers
JP4207105B2 (ja) * 2001-03-15 2009-01-14 オムロン株式会社 システム
DE10140763A1 (de) * 2001-08-20 2003-03-06 Siemens Ag Verfahren und Anordnung zur Konfiguration von Baugruppen in einer Datenverarbeitungsanlage
US6973508B2 (en) * 2002-02-12 2005-12-06 Fisher-Rosemount Systems, Inc. Highly versatile process control system controller
ITSV20020056A1 (it) * 2002-11-14 2004-05-15 Alstom Transp Spa Dispositivo e metodo di verifica di motori software logici di comando di impianti ferroviari, in particolare di impianti di stazione
US7600234B2 (en) * 2002-12-10 2009-10-06 Fisher-Rosemount Systems, Inc. Method for launching applications
US20040181300A1 (en) * 2003-03-11 2004-09-16 Clark Robert L. Methods, apparatus and computer program products for adaptively controlling a system by combining recursive system identification with generalized predictive control
US8290949B2 (en) * 2006-07-24 2012-10-16 International Business Machines Corporation Resource name reconciliation in a configuration database
US8505036B2 (en) 2006-09-29 2013-08-06 Fisher-Rosemount Systems, Inc. Unified application programming interface for a process control system network
JP2008090635A (ja) * 2006-10-03 2008-04-17 Meidensha Corp プログラマブルコントローラ
JP2010049484A (ja) * 2008-08-21 2010-03-04 Okuma Corp プログラマブル・ロジック・コントローラのプログラム編集装置
JP5253324B2 (ja) * 2009-08-06 2013-07-31 株式会社東芝 シーケンス制御装置、プログラム作成装置、及びインタープリター実行エンジン

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140106976A (ko) * 2013-02-27 2014-09-04 엘지전자 주식회사 빌딩 자동화 시스템, 그에 포함된 게이트웨이 및 게이트웨이의 동작방법

Also Published As

Publication number Publication date
US8700186B2 (en) 2014-04-15
KR101260275B1 (ko) 2013-05-06
JP2011233113A (ja) 2011-11-17
CN102236352B (zh) 2013-10-16
CN102236352A (zh) 2011-11-09
JP5444112B2 (ja) 2014-03-19
US20110270421A1 (en) 2011-11-03

Similar Documents

Publication Publication Date Title
KR101260275B1 (ko) 플랜트 제어 시스템 및 프로그램 재배치 방법
JP3875999B2 (ja) 総称データ交換環境において動的データ参照を提供するシステムと方法
US7275236B1 (en) Method for programming a multiple device control system using object sharing
CN105210041A (zh) 针对虚拟处理器处理并路由中断
US20060097956A1 (en) Programmable display device
CN103365262A (zh) 用于确定现场装置之间的操作兼容性的设备和方法
US8370842B2 (en) Portioning and routing of work in a multiple processor system
CN104601471A (zh) 一种转发信息表的读写方法及网络处理器
CN102016802B (zh) 跨任务共享操作系统子进程
CN100504761C (zh) 在不同种类的体系结构中映射调试信息的方法
JP6459630B2 (ja) データ転送制御装置、データ転送制御プログラム、および並列計算システム
EP2085885B1 (en) Multiprocessor system, its control method, and information recording medium
US5949673A (en) Hybrid centralized and distributed industrial controller
CN102203737A (zh) 多线程访问多副本的方法和装置
JP2006190202A (ja) データ処理装置、設定データ生成装置、並びに、それらのプログラムおよび記録媒体
JPH07311606A (ja) プログラマブルコントローラのプログラミング機器およびプログラマブルコントローラ用機能ユニット
US20140005803A1 (en) Automation System
JP4778312B2 (ja) データ処理装置、プログラム、エディタ装置および記録媒体
CN102109992B (zh) 程序使用系统、程序使用方法及程序
CN100568197C (zh) 存储器克隆操作期间保护高速缓冲存储器线的方法和系统
CN109388110A (zh) 在工业自动化系统内提供功能的方法以及自动化系统
US20170090882A1 (en) Program development support system and program development support software
JP2019179475A (ja) サポート装置、サポートプログラム、設定方法
CN114327628A (zh) 分层控制方法、系统、终端设备及存储介质
JP4666172B2 (ja) 制御システム設定管理システム

Legal Events

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

Payment date: 20170330

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 7