KR20060096125A - 제어용 서버장치, 제어용 단말장치, 제어 시스템 및제어용 통신 프로그램이 기록된 기록매체 - Google Patents

제어용 서버장치, 제어용 단말장치, 제어 시스템 및제어용 통신 프로그램이 기록된 기록매체 Download PDF

Info

Publication number
KR20060096125A
KR20060096125A KR1020067015236A KR20067015236A KR20060096125A KR 20060096125 A KR20060096125 A KR 20060096125A KR 1020067015236 A KR1020067015236 A KR 1020067015236A KR 20067015236 A KR20067015236 A KR 20067015236A KR 20060096125 A KR20060096125 A KR 20060096125A
Authority
KR
South Korea
Prior art keywords
data
display
control
screen
program
Prior art date
Application number
KR1020067015236A
Other languages
English (en)
Other versions
KR100706650B1 (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
Priority claimed from JP2000077002A external-priority patent/JP3883775B2/ja
Priority claimed from JP2000095085A external-priority patent/JP3618632B2/ja
Priority claimed from JP2000099664A external-priority patent/JP3621326B2/ja
Priority claimed from JP2000277243A external-priority patent/JP3847542B2/ja
Priority claimed from JP2000277254A external-priority patent/JP3621336B2/ja
Application filed by 가부시끼가이샤 디지탈 filed Critical 가부시끼가이샤 디지탈
Publication of KR20060096125A publication Critical patent/KR20060096125A/ko
Application granted granted Critical
Publication of KR100706650B1 publication Critical patent/KR100706650B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • 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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • 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
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2206Microprocessor for display and parameter input, link to control microprocessor
    • 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/24Pc safety
    • G05B2219/24084Remote and local monitoring, local result to remote, remote takes action
    • 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/31161Java programcode or simular active agents, programs, applets
    • 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/31186TCP-IP internet protocol
    • 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/31457Factory remote control, monitoring through internet

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Programmable Controllers (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Digital Computer Display Output (AREA)
  • Selective Calling Equipment (AREA)

Abstract

화면 데이터는 제어용 호스트 컴퓨터(7)의 화면작성처리부(74)에서 작성된 후에 프로그래머블 표시기(5)로 전송된다. 프로그래머블 표시기(5)는 상기 화면 데이터에 의거하여 PLC(3) 등에 디바이스(21)의 상태를 요청하여 표시를 갱신하거나 입력결과에 따라 제어지시를 송신한다. 한편 제어용 호스트 컴퓨터(7)의 공개 서버부(77)은 컴파일러(76)이 화면 데이터를 컴파일하여 작성한 애플릿을 인터넷(32)를 통하여 클라이언트 장치(9)로 송신한다. 클라이언트 장치(9)는 상기 애플릿을 실행하여 프로그래머블 표시기(5)와 동일한 요청이나 제어지시를 공개 서버부(77)로 송신하고, 응답에 따라 표시를 갱신한다. 새로운 표시화면을 작성하지 않고 프로그래머블 표시기(5)로부터 떨어진 장소에서 프로그래머블 표시기(5)의 표시내용을 확인할 수 있는 제어 시스템을 구현한다.

Description

제어용 서버장치, 제어용 단말장치, 제어 시스템 및 제어용 통신 프로그램이 기록된 기록매체{CONTROL SERVER, CONTROL TERMINAL, CONTROL SYSTEM, AND RECORDING MEDIUM STORING CONTROL COMMUNICATION PROGRAM}
도1은 본 발명의 실시예1에 관한 제어 시스템의 구성을 나타내는 블럭도이다.
도2는 상기 제어 시스템의 프로그래머블 표시기에 있어서 스위치가 OFF 상태인 경우의 화면 데이터로 표시되는 화면과의 관계를 나타내는 설명도이다.
도3은 상기 화면 데이터에 포함되는 처리 지시어의 데이터 구조를 나타내는 설명도이다.
도4는 상기 처리 지시어 중 표시용 처리 지시어의 데이터 구조예를 나타내는 설명도이다.
도5는 상기 처리 지시어 중 입력용 처리 지시어의 데이터 구조예를 나타내는 설명도이다.
도6은 상기 제어 시스템의 프로그래머블 표시기에 있어서 스위치가 ON 상태인 경우의 화면 데이터로 표시되는 화면과의 관계를 나타내는 설명도이 다.
도7은 상기 제어 시스템에 있어서 컴파일러가 생성한 애플릿의 요부를 나타내는 설명도이다.
도8은 상기 제어 시스템의 동작을 나타내는 플로우 차트이다.
도9는 상기 제어 시스템에 있어서 전용 프로토콜로 사용하는 데이터 전송 포맷의 일례를 나타내는 설명도이다.
도10은 상기 제어 시스템에 있어서 공통 프로토콜로 사용하는 데이터 전송 포맷의 일례를 나타내는 설명도이다.
도11은 프로그래머블 표시기가 전용 프로토콜과 공통 프로토콜을 상호 변환할 때에 참조하는 커맨드 변환 테이블의 일례를 나타내는 설명도이다.
도12는 다른 제어 시스템의 구성을 나타내는 블럭도이다.
도13은 도12의 제어 시스템에 있어서 네트워크를 설정할 때의 표시화면을 예시하는 설명도이다.
도14는 도12의 제어 시스템에 있어서 통상의 표시/제어를 할 때의 동작을 나타내는 플로우 차트이다.
도15는 도12의 제어 시스템에 있어서 제어 프로그램을 갱신할 때의 동작을 나타내는 플로우 차트이다.
도16은 또 다른 제어 시스템의 구성을 나타내는 블럭도이다.
도17은 도16의 제어 시스템에 있어서 공개 서버 장치로부터 클라이언트 장치로 전송되는 XML 파일의 예를 나타내는 설명도이다.
도18은 도16의 제어 시스템에 있어서 공개 서버 장치로부터 클라이언트 장치로 전송되는 HTML 파일의 예를 나타내는 설명도이다.
도19는 도16의 제어 시스템의 변형예의 구성을 나타내는 블럭도이다.
도20은 도19의 제어 시스템에 있어서 공개 서버 장치로부터 클라이언트 장치로 전송되는 HTML 파일의 예를 나타내는 설명도이다.
도21은 도16 및 도19에 나타낸 통신의 동작을 나타내는 플로우 차트이다.
도22는 도16 및 도19의 제어 시스템의 클라이언트 장치의 동작을 나타내는 플로우 차트이다.
도23은 도16 및 도19의 제어 시스템의 클라이언트 장치의 동작을 나타내는 플로우 차트이다.
도24는 다른 형태의 제어 시스템의 구성을 나타내는 블럭도이다.
도25는 도24의 제어 시스템의 동작을 나타내는 플로우 차트이다.
도26은 도24의 제어 시스템에 있어서 프로그래머블 표시기 또는 클라이언트 장치에서 표시되는 다른 표시화면을 나타내는 설명도이다.
도27은 상기 각 표시화면을 나타내는 XML 파일을 편집하여 작성한 새로운 XML 파일에 의거한 표시화면을 나타내는 설명도이다.
도28은 도24의 제어 시스템의 변형예의 제어 시스템의 구성을 나타내는 블럭도이다.
도29는 도24의 제어 시스템의 다른 변형예의 제어 시스템의 구성을 나타내는 블럭도이다.
도30은 도24, 도28 및 도29의 제어 시스템의 변형예의 제어 시스템의 구성을 나타내는 블럭도이다.
도31은 본 발명의 실시예2에 관한 제어 시스템의 구성을 나타내는 블럭도이다.
도32는 도31의 제어 시스템에 있어서 프로그래머블 표시기로부터 화면 데이터를 업 로드하여 공개하는 처리절차를 나타내는 플로우 차트이다.
도33은 본 발명의 실시예2에 관한 제어 시스템의 다른 구성을 나타내는 블럭도이다.
도34는 도33의 제어 시스템에 있어서 클라이언트 장치에서 프로그래머블 표시기로 표시되는 화면을 표시하는 처리절차를 나타내는 플로우 차트이다.
도35는 도33의 제어 시스템의 변형예의 구성을 나타내는 블럭도이다.
도36은 도35의 제어 시스템에 있어서 클라이언트 장치에서 프로그래머블 표시기로 표시되는 화면을 표시하는 처리절차를 나타내는 플로우 차트이다.
도37은 도33의 제어 시스템의 다른 변형예의 구성을 나타내는 블럭도이다.
도38은 본 발명의 실시예3에 관한 제어 시스템의 구성을 나타내는 블럭도이다.
도39는 공통 네트워크의 통신 프로토콜을 나타내는 설명도이다.
도40은 상기 제어 시스템에 있어서 퍼스널 컴퓨터에 포함되는 데이터 베이스에서 검색하기 위한 조작 화면 및 검색에 의하여 재생된 화면(재생 화면)을 나타내는 설명도이다.
도41(a)는 상기 데이터 베이스에 저장되는 화면에 관한 레코드의 보존형식을 나타내는 설명도이다.
도41(b)는 상기 데이터 베이스에 저장되는 래더 프로그램에 관한 레코드의 보존형식을 나타내는 설명도이다.
도42는 상기 데이터 베이스에 저장되는 화면 및 래더 프로그램에 관한 레코드의 보존형식을 나타내는 설명도이다.
도43(a)는 상기 퍼스널 컴퓨터에 있어서 전송설정부에서 설정되는 전송조건의 설정화면을 나타내는 설명도이다.
도43(b)는 상기 퍼스널 컴퓨터에 있어서 전송설정부에서 설정되는 전송국·수신국의 설정화면을 나타내는 설명도이다.
도44는 종래의 제어 시스템의 구성을 나타내는 블럭도이다.
본 발명은 프로그래머블 표시기(programable 表示器)를 구비하는 제어 시스템에서 사용되고, 새로운 표시화면을 작성하지 않고 원격지(遠隔地)에서 프로그래머블 표시기의 표시내용을 확인/제어하기 위한 제어용 서버장치, 제어용 단말장치와 이들을 구비한 제어 시스템, 이 제어 시스템에서 이용할 수 있는 제어용 통신 프로그램에 관한 것이다.
종래의 프로그래머블 로직 콘트롤러(programable logic controller, 이하 PLC로 약칭한다) 등으로 불리는 산업용 제어장치는, 시퀸스 제어를 비롯한 각종 제어를 구현하기 위하여 벨트 컨베이어(belt conveyor)식의 자동조립기 등 여러 타겟 시스템(target system)을 제어하는 제어장치로서 널리 사용되고 있다. 또한 최근에는 타겟 시스템이 복잡해짐에 따라 여러 개의 PLC를 서로 연결시켜 사용하는 경우도 있다.
또한 각 PLC로부터의 데이터의 표시 또는 PLC로의 제어지시는 PLC의 근방 등에 배치되는 표시장치에서 이루어진다. 표시장치로서는, PLC로의 제어지시를 하기 위한 제어반(制御盤), PLC의 가동상황을 나타내는 표시등(表示燈) 등을 대신하여 최근에는 HMI(Human Machine Interface)기기로서의 프로그래머블 표시기가 보급되고 있다. 그 외에 예를 들면 이들의 표시장치로부터 떨어진 장소에 설치한 제어용 호스트 컴퓨터에서도 표시 또는 조작할 수 있도록 제어 시스템을 구축한다.
구체적으로는 예를 들면 도44에 나타나 있는 바와 같이 종래의 제어 시스템501에서는 PLC503을 제어의 중심으로 하여 위치가 결정되고 있다. 각 PLC503에는 타겟 시스템502의 제어대상기기521a와 센서521b, 표시 및 제 어지시를 하는 프로그래머블 표시기505가 접속되어 있다. 또한 상기 PLC503에서는, 다른 PLC503과 제어용 호스트 컴퓨터507이 시리얼 케이블504를 통하여 접속되어 있다. PLC503과 제어용 호스트 컴퓨터507의 사이, 각 PLC503 사이에서 제어 데이터의 교환은 PLC503의 통신기능을 이용하여 이루어지고 있다.
이 구성에서는 제어용 호스트 컴퓨터507의 표시처리부571은 PLC503과 통신하여 타겟 시스템502의 상태를 나타내는 데이터를 받아들이고, 상태에 따라 화면을 표시함과 아울러 사용자의 입력에 따라 PLC503으로 제어 데이터를 송출한다. 타겟 시스템502는 이 제어 데이터에 의거하여 제어된다. 마찬가지로 프로그래머블 표시기505는 PLC503과 통신하면서 타겟 시스템502의 상태를 표시/제어한다.
그러나 상기한 구성에서는, 프로그래머블 표시기505용 화면과는 별도로 제어용 호스트 컴퓨터507의 표시처리부571용 화면을 작성할 필요가 있다. 그 때문에 화면의 작성이 번거로울 뿐만 아니라 프로그래머블 표시기505에 표시되어 있는 화면을 제어용 호스트 컴퓨터507로 확인할 수 없다고 하는 문제가 발생한다.
구체적으로는 프로그래머블 표시기505는 화면 데이터에 의거하여 표시/제어를 한다. 화면 데이터는, 베이스 화면상의 영역을 특정하는 위치정보와 그 영역에서의 표시나 입력에 대응하는 디바이스의 어드레스와의 대응관계를 나타내는 정보를 단위로 하여 그들의 정보조합에 의하여 구성되어 있 다. 이 화면 데이터는 제어용 호스트 컴퓨터507의 화면작성처리부572에서 작성된 후에 각 프로그래머블 표시기505로 전송된다.
또한 상기한 제어 시스템501은 기본적으로 폐쇄된 시스템으로서, 원격지에서 프로그래머블 표시기의 화면 등 제어 시스템의 상태를 볼 수 없다. 원격지에서 인터넷을 통하여 제어장치 등의 상태를 열람하는 기술은, 예를 들면 미국특허번호 5,805,442호(특허부여일 1998년 9월 8일), 국제특허공개공보 WO99/13388호(1999년 3월 18일 공개) 및 국제특허공개공보 WO99/13418호(1999년 3월 18일 공개)에 개시되어 있다. 그러나 이러한 특허의 기술도 상기한 문제를 해결할 수 없다.
한편 제어용 호스트 컴퓨터507은 프로그래머블 표시기505와 용도나 설치장소가 다르기 때문에 CPU나 메모리 맵(memory map) 등의 하드웨어 구성과 오퍼레이팅 시스템(operating system) 등의 소프트웨어 구성이 서로 다르다. 따라서 표시처리부571은, 프로그래머블 표시기505의 화면 데이터에 의거하여 표시/제어를 할 수 없어 전용 표시화면을 작성하고 있다. 또한 프로그래머블 표시기505의 표시내용을 확인하기 위해서는 프로그래머블 표시기505의 설치장소로 갈 필요가 있다.
PLC503의 상기한 동작은 제어 프로그램으로 규정되어 있다. 이 때문에 예를 들면 PLC503의 동작 시작 전이나 불량을 수정할 때에는, 제어용 호스트 컴퓨터507에 인스톨된 제어 프로그램 작성 소프트 등에 의하여 새로운 제어 프로그램이 작성(수정)된다. 그 제어 프로그램은 시리얼 케이블504를 통 하여 PLC503으로 전송된다.
상기 제어 시스템501에서는, 제어 프로그램의 작성자는 제어 프로그램을 갱신할 때에 PLC503에 접속된 제어용 호스트 컴퓨터507을 조작하기 위하여 제어용 호스트 컴퓨터507이나 PLC503의 근방으로 갈 필요가 있다. 이 때문에 프로그램 갱신작업이 번거롭다고 하는 문제가 발생한다.
또한 PLC503은, 시퀀서(sequencer)로부터 발달하여 왔기 때문에 대부분의 경우에 제조회사마다 또는 동일한 제조회사일지라도 기종마다 데이터 통신에서 사용하는 통신 프로토콜이 다르다. 또한 이들의 PLC503에서는, 대부분의 경우에 기종마다 CPU나 어드레스 맵 등도 다르기 때문에 제어 프로그램을 기종마다 작성할 필요가 있다. 따라서 제어 프로그램을 작성(수정)하기 위하여 각각의 기종에 대응하는 제어 프로그램 작성 소프트가 필요하게 된다.
한편 각 제어 프로그램 작성 소프트는, 도44에 나타나 있는 바와 같이 시리얼 케이블504를 통하여 직접 PLC503으로 제어 프로그램을 출력하기 때문에 원격지에서 PLC503의 제어 프로그램을 갱신할 수 없는 것이 대부분이다. 그런데 원격지에서 제어 프로그램을 갱신할 수 있는 제어 프로그램 작성 소프트를 새롭게 작성하려고 하면 매우 번거롭다. 구체적으로 제어 프로그램 작성 소프트는 개별 애플리케이션 패키지(application package)로서 판매되고 있는 것이 많기 때문에 보통 애플리케이션 패키지의 판매처에 의뢰된다.
또한 제어 프로그램 작성 소프트에서는, 예를 들면 래더도(참조정보) 등으로부터 제어 프로그램을 작성하기 때문에 비교적 복잡한 처리가 이루어지고 있다. 이 결과 애플리케이션 패키지와는 별도로 새롭게 작성하는 것은 매우 번거롭다. 또한 제어 프로그램은 PLC의 기종마다 다르기 때문에 각 기종마다 제어 프로그램 작성 소프트를 수정/신규작성할 필요가 있다. 따라서 제어 프로그램 작성 소프트의 수정/신규작성은 모두 현실성이 없었다.
본 발명의 목적은, 새로운 표시화면을 작성하지 않고 프로그래머블 표시기에서 떨어진 장소로부터 프로그래머블 표시기의 표시내용을 확인할 수 있는 제어 시스템을 구현시키는 것이다. 또한 본 발명의 다른 목적은, 종래의 제어 프로그램 작성수단을 전용하여 원격지에서 제어유닛의 제어 프로그램을 갱신할 수 있는 제어용 단말장치를 구현하는 것이다.
(1) 상기의 목적을 달성하기 위하여 본 발명의 제어용 서버장치는, 프로그래머블 표시기에 접속되어 이 프로그래머블 표시기의 화면을 나타내는 데이터를 수신하는 표시기측 통신수단, 수신한 데이터를 단말장치가 표시할 수 있는 형식으로 변환하는 변환수단 및 네트워크를 통하여 상기 단말장치와 통신하여 상기 변환수단에 의하여 형식이 변환된 데이터를 송신하는 단말측 통신수단을 포함하고 있다.
상기한 구성에 있어서, 표시기측 통신수단이 프로그래머블 표시기로부터 데이터를 받으면 변환수단은 단말장치가 표시할 수 있는 형식으로 변환하고, 단말측 통신수단은 형식이 변환된 데이터를 인터넷 등의 네트워크를 통하여 단말장치로 송신한다. 여기에서 제어용 서버장치의 표시기측 통신수단은 디바이스를 제어하는 제어장치를 통하지 않고, 프로그래머블 표시기에 직접 접속되어 있다. 따라서 프로그래머블 표시기와 제어용 서버장치가 제어장치를 통하여 접속되어 있는 경우와는 다르게, 프로그래머블 표시기의 화면을 나타내는 데이터가 송신되어 있음에도 불구하고 제어장치의 통신량이 증가하지 않고 제어장치에 부담을 주지 않는다.
상기 제어용 서버장치는, 화면상의 표시영역에 대응하는 디바이스의 어드레스와 화면상의 영역과의 대응관계를 나타내는 처리 지시어를 조합시켜 구성되는 화면 데이터에 의거하여 각 어드레스를 취득하고, 그 내용에 따라 화면상의 영역에 디바이스의 상태를 표시하는 프로그래머블 표시기를 구비하는 제어 시스템에서 사용되고, 또한 단말장치와 통신할 수 있는 단말측 통신수단과 상기 단말측 통신수단에 어드레스를 요청하는 동작 및 응답에 의거하여 디바이스의 상태를 상기 단말장치의 화면영역 중 화면 데이터가 나타내는 화면영역에 표시하는 동작을 하는 프로그램을 생성하도록 상기 화면 데이터를 변환하는 변환수단을 포함하고, 상기 단말측 통신수단이 상기 변환수단이 생성한 프로그램을 상기 단말장치로 송신함과 아울러 상 기 프로그램이 요청하는 어드레스를 취득하고, 상기 단말장치로 송신하는 것이 바람직하다.
상기한 구성에서 제어용 서버장치의 단말측 통신수단은, 변환수단이 화면 데이터로부터 생성한 프로그램을 단말장치로 송신한다. 한편 단말장치의 번역수단은, 상기 프로그램에 의거하여 상기 단말측 통신수단에 어드레스를 요청하고, 단말측 통신수단이 상기 어드레스를 취득하여 상기 단말장치로 송신하면 응답에 의거하여 디바이스의 상태를 상기 단말장치의 화면영역 중 화면 데이터가 나타내는 화면영역에 대응하는 영역에 표시한다.
이 결과로 단말장치는 단말측 통신수단과 통신할 수 있으면, 예를 들면 인터넷을 통하여 원격지에서 액세스하는 경우에도 아무런 지장없이 프로그래머블 표시기의 표시화면과 동일한 내용의 화면을 표시할 수 있다. 또한 상기 동작을 하는 프로그램이 제어용 서버장치로부터 전송되기 때문에 단말장치에 미리 표시용 프로그램을 인스톨할 필요가 없어 인스톨하는 시간이나 비용을 삭감할 수 있다.
또한 변환수단이 화면 데이터로부터 프로그램을 작성하기 때문에 단말장치용 화면을 작성할 필요가 없어 화면을 작성하는 시간을 대폭 삭감할 수 있다. 또한 특별히 원격지용으로 화면 데이터를 작성하는 경우가 아니면, 원격지용의 화면과 프로그래머블 표시기의 화면이 항상 동일하게 유지되기 때문에 쌍방용으로 화면 데이터를 각각 작성하고, 항상 동일하게 되도록 관리하는 경우와 비교하여 관리시간을 대폭 삭감할 수 있다.
이 제어용 서버장치는, 상기 프로그래머블 표시기가, 디바이스를 제어하는 제어장치에 고유한 전용 프로토콜로 제어장치와 통신하는 전용 프로토콜 통신수단, 상기 제어장치와 관계 없이 미리 정해진 공통 프로토콜로 통신하는 공통 프로토콜 통신수단 및 상기 양 프로토콜을 상호 변환하여 전용 프로토콜에 의한 통신과 공통 프로토콜에 의한 통신을 중계하는 중계수단을 구비하고, 상기 디바이스의 어드레스가 제어장치의 제어 디바이스를 나타내고 있는 경우에 상기 단말측 통신수단이 상기 제어장치가 접속되어 있는 프로그래머블 표시기에 상기 공통 프로토콜로 상기 어드레스의 요청을 송신함과 아울러 상기 공통 프로토콜에 의한 상기 프로그래머블 표시기로부터의 응답에 의거하여 상기 어드레스를 취득한다.
상기한 구성에서는, 프로그래머블 표시기가 전용 프로토콜로의 통신과 공통 프로토콜로의 통신을 중계한다. 이 결과, 단말장치가 채용하는 전용 프로토콜과 관계 없이 단말측 통신수단은 제어장치가 접속되어 있는 프로그래머블 표시기와 공통 프로토콜로 통신하는 것 만으로 디바이스의 어드레스를 취득할 수 있다. 따라서 각 제어장치에 고유한 전용 프로토콜로 통신하는 경우와 비교하여 단말측 통신수단을 작성할 때의 시간을 삭감할 수 있다.
본 발명의 다른 제어용 서버장치는, 화면상의 표시영역에 대응하는 디바이스의 어드레스, 화면상의 입력영역에 대응하는 디바이스의 어드레스 및 화면상의 영역의 대응관계를 나타내는 처리 지시어를 조합시켜 구성되는 화면 데이터에 의거하여 화면상의 입력영역에 따라 상기 영역에 대응하는 어드레스를 변경하는 프로그래머블 표시기를 구비하는 제어 시스템에서 사용되고, 또한 단말장치와 통신할 수 있는 단말측 통신수단과 상기 단말장치의 화면영역 중 화면 데이터가 나타내는 화면영역으로의 입력에 따라 상기 단말측 통신수단으로 어드레스의 변경을 지시하는 동작을 하는 프로그램을 상기 화면 데이터를 변환하여 생성하는 변환수단을 포함하고, 상기 단말측 통신수단이 상기 변환수단이 생성한 프로그램을 상기 단말장치로 송신함과 아울러 상기 프로그램의 내용변경지시에 의거하여 지시된 어드레스를 변경하는 것이 바람직하다.
상기한 구성에서도, 전술한 제어용 서버장치와 마찬가지로 제어용 서버장치의 단말측 통신수단은 변환수단이 화면 데이터로부터 생성한 프로그램을 단말장치로 송신한다. 한편 단말장치의 번역수단은 상기 프로그램에 의거하여 상기 단말측 통신수단에 어드레스의 변경지시를 송출하고, 단말측 통신수단이 상기 어드레스를 변경한다.
이 결과로 단말장치는 단말측 통신수단과 통신할 수 있으면, 예를 들면 인터넷을 통하여 원격지에서 액세스하는 경우에도 아무런 지장없이 프로그래머블 표시기의 표시화면과 동일한 내용의 화면에서 디바이스를 제어할 수 있다. 또한 변환수단이 화면 데이터로부터 프로그램을 작성하여 단말장치에서 실행시기키 때문에, 상기한 바와 같이 화면을 작성하는 시간과 관리시간을 삭감할 수 있음과 아울러 인스톨하는 시간이나 비용을 삭감할 수 있다.
또한 상기 제어용 서버장치는, 상기 디바이스의 어드레스가 제어장치의 제어 디바이스를 나타내고 있는 경우에 상기 단말측 통신수단이 상기 제어장치가 접속되어 있는 프로그래머블 표시기에 상기 공통 프로토콜로 상기 어드레스의 요청을 송신하는 것이 상기 제어 시스템에서 사용되는 제어용 서버장치와 다르다.
그러므로 단말장치가 채용하는 전용 프로토콜과 관계 없이 단말측 통신수단은 제어장치가 접속되어 있는 프로그래머블 표시기와 공통 프로토콜로 통신하는 것 만으로 디바이스의 어드레스를 변경할 수 있다. 이 결과로 각 제어장치에 고유한 전용 프로토콜로 통신하는 경우와 비교하여 단말측 통신수단을 작성할 때의 시간을 삭감할 수 있다.
또한 상기의 각 제어용 서버장치에 있어서, 상기 단말측 통신수단은 인터넷을 통하여 상기 단말장치와 통신하는 것이 바람직하다. 이에 따라 회선교환방식의 공중전화회선으로 통신하는 경우와 마찬가지로, 단말장치와의 거리에 따른 통신비용을 필요로 하지 않는다. 또한 제어 시스템의 서포트 요원은, 인터넷에 접속할 수 있는 장소에서 단말장치를 조작함으로써 프로그래머블 표시기와 동일하게 표시/제어를 할 수 있다. 이 결과, 제어 시스템의 서포트 요원을 제어용 서버장치의 근방에 배치하지 않고 제어 시스템을 메인터넌스할 수 있다.
본 발명의 제어 시스템은, 상기 전용 프로토콜 통신수단, 상기 공통 프로토콜 통신수단 및 상기 중계수단을 구비하는 상기 프로그래머블 표시기와, 이 프로그래머블 표시기에 접속되어 상기 프로그래머블 표시기의 화면을 나타내는 데이터를 수신하는 표시기측 통신수단, 수신한 데이터를 단말장치가 표시할 수 있는 형식으로 변환하는 변환수단 및 네트워크를 통하여 상기 단말장치와 통신하여 상기 변환수단이 형식을 변환한 데이터를 송신하는 단말측 통신수단을 구비하는 제어용 서버장치를 포함하고 있다.
상기한 구성에서는, 전술한 제어용 서버장치와 마찬가지로 프로그래머블 표시기가 전용 프로토콜과 공통 프로토콜을 변환하고 있기 때문에, 제어용 서버장치는 단말장치가 채용하는 전용 프로토콜과 관계 없이 공통 프로토콜로 통신하면 좋다. 이 결과로 새로운 제어장치를 제어 시스템에 접속할 때의 시간을 삭감할 수 있다. 또한 제어용 서버장치가 프로그래머블 표시기의 화면을 나타내는 데이터를 수신하고, 형식을 변환하여 단말장치로 송신하기 때문에 제어장치에 부담을 주지 않고 원격지의 단말장치에서 프로그래머블 표시기의 표시화면과 동일한 내용의 화면을 표시할 수 있다.
(2) 상기의 목적을 달성하기 위하여 본 발명의 제어용 단말장치는, 제어 프로그램에 따라 제어대상을 제어하는 제어유닛과 상기 제어유닛과 시리얼 인터페이스를 통하여 통신하고 상기 제어유닛의 제어상태를 표시 또는 제어하는 제어용 표시장치를 구비하는 로컬 제어 시스템에 광역 네트워크를 통하여 접속할 수 있는 광역 네트워크 통신수단과, 제어 프로그램의 전송처가 되는 제어유닛이 설치된 로컬 제어 시스템을 미리 설정함과 아울러 제 어 프로그램 작성수단이 시리얼 포트에 출력하는 제어 프로그램을 시리얼 포트를 대신하여 수신하고 제어 프로그램과 전송처의 제어유닛을 나타내는 지시 데이터를 상기 로컬 제어 시스템으로 송신하여 제어 프로그램의 갱신을 지시하도록 상기 광역 네트워크 통신수단에 지시하는 시리얼 포트 의사수단을 포함하고 있다.
상기한 구성에 있어서 제어 프로그램 작성수단이 시리얼 포트로 제어 프로그램을 출력하고자 하면, 시리얼 포트 의사수단이 시리얼 포트를 대신하여 제어 프로그램을 수신하고, 미리 설정된 로컬 제어 시스템에서 전송처의 제어유닛과 제어 프로그램을 나타내는 지시 데이터를 송출하도록 상기 광역 통신수단에 지시한다. 한편 로컬 제어 시스템은, 예를 들면 인터넷 등의 광역 네트워크를 통하여 지시 데이터를 받으면 상기 지시 데이터에서 특정되는 제어유닛의 제어 프로그램을 지시 데이터가 나타내는 제어 데이터로 갱신한다.
본 발명의 제어 시스템은, 상기 제어용 단말장치와 제어용 유닛 및 제어용 표시장치를 포함하는 로컬 제어 시스템을 포함하고, 상기 제어용 표시장치는, 상기 시리얼 인터페이스를 통하여 상기 제어유닛의 기종에 전용 프로토콜로 통신하여 상기 제어유닛의 제어상태를 표시 또는 제어하는 전용 프로토콜 통신수단, 상기 기종과 관계 없이 미리 정해진 공통 프로토콜로 상기 시리얼 인터페이스와는 다른 네트워크와 통신하는 공통 프로토콜 통신수단 및 상기 공통 및 전용 프로토콜 통신수단의 통신을 중계하는 중계수단 을 구비하고, 상기 로컬 제어 시스템은, 상기 광역 네트워크를 통하여 상기 광역 네트워크 통신수단으로부터 받은 지시 데이터에 의거하여 송신처의 제어유닛이 접속된 제어용 표시장치를 특정함과 아울러 상기 네트워크를 통하여 상기 제어용 표시장치에 상기 공통 프로토콜로 제어 프로그램의 갱신을 지시하는 표시장치 특정수단을 가지고 있다.
상기한 구성에 있어서, 제어용 단말장치가 지시 데이터를 송신하면 로컬 제어 시스템의 표시장치 특정수단이 지시 데이터에 의거하여 송신처의 제어유닛이 접속된 제어용 표시장치를 특정하고, 상기 제어용 표시장치에 공통 프로토콜로 제어 프로그램의 갱신을 지시한다. 한편 제어용 표시장치에 있어서, 공통 프로토콜 통신수단이 받은 제어 프로그램의 갱신지시는 중계수단으로 중계되고, 전용 프로토콜 통신수단 및 시리얼 인터페이스를 통하여 제어유닛에 전해진다. 이에 따라 제어유닛의 제어 프로그램이 갱신된다.
상기 구성에서는 로컬 제어 시스템이 필수적이고, 또한 표시/제어를 할 때에 사용자와 교환하기 위하여 제어유닛과 비교하여 연산능력이나 통신능력에 여유가 있는 제어용 표시장치가 제어유닛에 고유한 전용 프로토콜로의 통신과 공통 프로토콜로의 통신을 중계한다. 이에 따라 서로 다른 기종의 제어유닛을 로컬 제어 시스템에 혼재하는 경우나 새로운 기종의 제어유닛이 로컬 제어 시스템에 추가되는 경우에도, 표시장치 특정수단은 송신처의 제어유닛의 기종과 관계 없이 항상 공통 프로토콜로 제어 프로그램의 갱신을 지시하면 좋다. 따라서 표시장치 특정수단을 제조할 때의 시간을 삭감할 수 있다.
(3) 상기의 목적을 달성하기 위하여 본 발명의 제어 시스템은, 디바이스의 상태를 미리 작성된 표시용 화면에 표시함과 아울러 상기 표시용 화면을 통하여 상기 디바이스로의 제어지시를 하는 제어용 표시장치로부터 상기 표시용 화면의 데이터인 화면 데이터 및 상기 디바이스의 상태를 나타내는 데이터인 디바이스 데이터를 취득하는 취득수단, 취득된 상기 화면 데이터 및 상기 디바이스 데이터에 의거하여 단말장치의 표시면상에 상기 표시용 화면을 표시하기 위한 단말용 데이터를 생성하는 생성수단 및 상기 단말용 데이터를 상기 단말장치로 송신하도록 네트워크를 통하여 상기 단말장치와 통신하는 통신수단을 포함하고 있다.
상기한 구성에서는, 취득수단에 의하여 화면 데이터 및 디바이스 데이터가 취득되면 이들의 데이터에 의거하여 생성수단에 의하여 단말용 데이터가 생성된다. 이 단말 데이터는 통신수단에 의하여 네트워크를 통하여 단말장치로 송신된다. 이에 따라 단말장치에서는 화면 데이터 및 디바이스 데이터에 의한 표시용 화면이 표시된다.
상기의 목적을 달성하기 위하여 본 발명의 다른 제어 시스템은, 상기 제어용 표시장치가 상기 표시용 화면의 데이터인 화면 데이터를 기억하는 기억수단 및 단말장치로부터의 요구에 따라 상기 기억수단에 기억된 상기 화면 데이터를 송신하는 송신수단을 구비하고 있고, 또한 이 제어 시스템은, 상기 디바이스의 상태를 나타내는 데이터인 디바이스 데이터를 상기 제어용 표시장치로부터 취득함과 아울러 네트워크를 통하여 상기 단말장치와 통신할 수 있는 통신수단, 송신된 상기 화면 데이터에 대응하는 상기 디바이스 데이터를 상기 통신수단에 요청하는 동작과 요청의 응답에 따라 상기 단말장치에서 상기 표시용 화면을 표시하는 동작을 상기 단말장치에서 실행시키는 실행 프로그램을 기억하는 실행 프로그램 기억수단 및 취득된 상기 화면 데이터 및 상기 디바이스 데이터에 의거하여 단말장치의 표시면상에 상기 표시용 화면을 표시하기 위한 단말용 데이터를 생성하는 생성수단을 포함하고, 상기 통신수단이 상기 단말장치에 상기 각 동작을 하도록 상기 실행 프로그램 및 상기 단말용 데이터를 상기 단말장치로 송신함과 아울러 상기 단말장치가 요청하는 디바이스 데이터를 취득하여 상기 단말장치로 송신한다.
상기한 구성에서는, 단말장치로부터 화면 데이터의 송신요구가 있으면 송신수단에 의하여 기억수단에 기억된 화면 데이터가 송신된다. 그러면 그 화면 데이터에 의거하여 상기의 각 동작을 실행시키는 프로그램을 포함하는 단말용 데이터를 생성수단에 의하여 생성한다. 이 단말용 데이터 및 실행 프로그램 기억수단에 기억된 실행 프로그램(애플릿 등)은 네트워크를 통하여 단말장치로 통신수단에 의하여 송신된다. 또한 통신수단은 실행 프로그램에 의한 단말장치로부터의 디바이스 데이터의 요청이 있으면 제어용 표시장치로부터 취득한 디바이스 데이터를 단말장치로 송신한다. 이것을 받은 단말장치는 단말용 데이터를 이용하여 실행 프로그램을 실행함으로써, 표시용 화면 을 디바이스 데이터에 의한 디바이스의 상태를 반영시켜 표시한다.
(4) 상기의 목적을 달성하기 위하여 본 발명의 제어 시스템은, 디바이스의 상태를 미리 작성된 표시용 화면에 표시함과 아울러 상기 디바이스로의 제어지시를 상기 표시용 화면을 통하여 부여하는 제어용 표시장치와 상기 제어용 표시장치로부터 상기 디바이스의 상태를 나타내는 데이터인 디바이스 데이터를 취득하는 한편 상기 디바이스 데이터를 송신하는 서버측 통신수단을 구비하는 서버장치 및 상기 표시용 화면의 데이터인 화면 데이터를 표시처리에 적합한 형태로 저장하는 단말측 저장수단, 상기 단말측 저장수단에 저장된 상기 화면 데이터에 대응하는 상기 디바이스 데이터의 취득을 상기 서버측 통신수단에 요청함과 아울러 상기 서버측 통신수단으로부터 송신된 상기 디바이스 데이터에 따라 상기 표시용 화면을 표시하는 표시처리수단 및 상기 표시처리수단에 의한 요청 및 그 응답인 상기 디바이스 데이터를 수신하기 위한 통신을 상기 서버측 통신수단과의 사이에서 로컬 네트워크를 통하여 실행하는 단말측 통신수단을 구비하는 복수의 단말장치를 포함하고 있다.
상기한 구성의 단말장치에 있어서는, 표시처리수단이 서버측 통신수단에 요청함으로써 단말측 저장수단에 저장된 화면 데이터에 대응하는 디바이스 데이터를 취득하면 그 디바이스 데이터에 따라 상기 표시용 화면을 표시한다.
상기의 제어 시스템에 있어서는, 상기 서버장치가 상기 화면 데이터를 표시처리에 적합한 형태로 저장하는 서버측 저장수단 및 상기 서버측 통신수단과 공개 네트워크와의 사이의 통신을 중계하는 통신 중계수단을 구비하고, 상기 서버측 통신수단이 상기 서버측 저장수단에 저장된 상기 화면 데이터를 취득하는 한편 상기 화면 데이터를 상기 통신 중계수단에 부여하고, 상기 표시처리수단이 상기 서버측 저장수단에 저장된 상기 화면 데이터 및 그것에 대응하는 상기 디바이스 데이터의 취득을 상기 공개 네트워크에 의한 상기 중계수단을 통한 중계통신으로 상기 서버측 통신수단에 요청함과 아울러 상기 서버측 통신수단으로부터 상기 중계통신으로 송신된 상기 화면 데이터 및 그것에 대응하는 상기 디바이스 데이터에 따라 상기 표시용 화면을 표시하고, 또한 상기 단말측 저장수단에 저장된 화면 데이터를 취득할 때 상기 서버측 통신수단에 상기 로컬 네트워크를 통하여 통신하도록 하는 한편 상기 서버측 저장수단에 저장된 화면 데이터를 취득할 때 상기 서버측 통신수단에 상기 공개 네트워크를 통하여 통신하도록 하는 것이 바람직하다.
이와 같은 구성에 의하여, 단말장치에서의 표시처리수단이 공개 네트워크에 의한 상기 중계수단을 통한 중계통신으로 서버측 통신수단에 요청함으로써 서버측 저장수단에 저장된 화면 데이터 및 그것에 대응하는 디바이스 데이터를 취득하면 그 화면 데이터와 그것에 대응하는 디바이스 데이터에 따라 상기 표시용 화면을 표시한다. 또한 유저의 지시에 의하여 표시처리수단이 어느 하나의 화면 데이터를 취득하기 때문에 자동적으로 로컬 네트 워크 또는 공개 네트워크를 통한 통신이 선택된다. 따라서 유저가 의식하지 않고 화면 데이터의 취득처에 적합한 통신을 할 수 있다.
(5) 상기의 목적을 달성하기 위하여 본 발명의 제어 시스템은 입력기기 및 출력기기가 접속된 제어장치와 상기 제어장치에 의한 상기 입출력기기의 제어상태를 표시하여 상기 제어장치에 제어지시를 부여하는 표시형 제어장치와의 사이에서 전용 네트워크를 통하여 제어장치에 고유한 통신 프로토콜을 이용하여 통신하고, 상기 표시형 제어장치의 상위에 설치되는 호스트 컴퓨터와 적어도 하나의 상기 표시형 제어장치와의 사이에 공통 네트워크를 통하여 공통 통신 프로토콜로 통신함으로써 상기 제어장치에 관한 데이터를 축적하는 제어 시스템으로서, 상기 표시형 제어장치가 상기 어느 한 네트워크에서 사용되는 통신 프로토콜을 상기 다른 네트워크에서 사용되는 통신 프로토콜과 상호 변환하는 프로토콜 변환수단과, 미리 설정되어 있는 전송조건을 만족시킬 때에 상기 제어장치의 제어상태를 나타내기 위하여 실행되는 유저 프로그램, 상기 유저 프로그램에서 상기 입출력기기의 어드레스에 대응되어 상기 제어지시 데이터 및 상기 제어지시 데이터의 결과로서 얻어지는 상기 출력 데이터에 의하여 변화하는 각 변화 요소 및 상기 변화 요소에 대응하는 상기 제어지시 데이터 및 상기 출력 데이터를 상기 호스트 컴퓨터로 전송하는 전송수단을 구비하여 상기 호스트 컴퓨터가 전송된 상기 유저 프로그램, 상기 변화 요소 및 상기 양 데이터를 상기 표시형 제어장치 단위로 시간 순서대로 축적하는 축적수단과, 상기 축적수단 에 축적된 상기 유저 프로그램, 상기 변화 요소 및 상기 양 데이터를 연속하여 검색하고 이를 표시하는 검색수단과, 단말장치로부터의 요구에 따라 상기 검색수단에 의하여 검색된 상기 유저 프로그램을 상기 단말장치가 실행할 수 있는 실행 프로그램으로 변환하는 변환수단과, 상기 실행 프로그램, 상기 변화 요소 및 상기 양 데이터를 상기 유저 프로그램에서의 상기 변화 요소를 상기 양 데이터에 의거하여 변화시키도록 상기 실행 프로그램을 실행하는 상기 단말장치로 송신하는 통신수단을 구비하고 있다.
상기한 구성에 있어서, 제어장치로부터의 출력 데이터는 전용 네트워크를 통하여 표시형 제어장치로 송출된다. 표시형 제어장치에 있어서는, 전용 네트워크의 통신 프로토콜이 프로토콜 변환수단에 의하여 공통 네트워크의 통신 프로토콜로 변환된다. 그 후, 출력 데이터는 표시형 제어장치로부터 공통 네트워크를 통하여 접속된 호스트 컴퓨터로 전송된다.
또한 미리 설정되어 있는 전송조건(지정시간, 지정주기 등)이 만족되었을 때에, 실행된 유저 프로그램(예를 들면 프로그래머블 표시기에서 표시되는 화면이나 PLC의 래더 프로그램), 유저 프로그램에서의 각 변화 요소(예를 들면 화면에서의 심볼이나 래더 프로그램에의 래더 기호) 및 변화 요소에 대응하는 상기 제어지시 데이터 및 상기 출력 데이터가 호스트 컴퓨터로 전송되면 호스트 컴퓨터의 축적수단에 의하여 그들이 표시형 제어장치 단위로 시간 순서대로 축적된다.
또한 검색된 유저 프로그램이 연속적으로 표시되기 때문에 제어장치가 작동한 때의 유저 프로그램의 상황을 재현할 수 있다. 또한 호스트 컴퓨터에서 검색된 유저 프로그램이 변환수단에 의하여 실행 프로그램으로 변환되면, 변화 요소 및 양 데이터와 함께 통신수단에 의하여 단말장치로 송신된다. 단말장치에서는, 실행 프로그램이 실행됨으로써 유저 프로그램에서의 변화 요소가 양 데이터에 의거하여 변화한다. 이 결과, 예를 들면 화면상에서 변화 요소가 변화하는 상태가 표시된다.
(6) 본 발명의 기록매체는 상기 제어용 서버장치, 상기 제어용 단말장치 및 제어 시스템을 소프트웨어에서 구현하기 위하여 각각의 각 수단을 컴퓨터에 실행시키는 제어용 통신 프로그램이 기록되어 있다. 이 기록매체로부터 읽어 낸 프로그램이 컴퓨터에서 실행되면, 그 컴퓨터는 상기 제어용 서버장치, 상기 제어용 단말장치 및 제어 시스템으로서 작동한다.
본 발명의 또 다른 목적, 특징 및 우수한 점은 이하에 나타내는 기재에 의하여 충분히 알 수 있다. 또한 본 발명의 이익은 첨부된 도면을 참조한 다음의 설명으로 명백하게 될 것이다.
(실시예)
이하 실시예에 의하여 본 발명을 보다 상세하게 설명하지만, 본 발명은 이들에 의하여 어느 것도 한정되는 것은 아니다.
(실시예1)
본 발명의 한 실시예에 대하여 도1 내지 도30에 의거하여 설명하면 아래와 같다.
도1에 나타내는 본 실시예에 관한 제어 시스템은, 예를 들면 타겟 시스템이 벨트 컨베이어식의 자동조립기인 경우 등 복수의 PLC3을 서로 연결하여 제어하도록 타겟 시스템을 제어하는 경우에 특히 적합하게 사용되는 시스템이다.
본 제어 시스템은 프로그래머블 로직 콘트롤러(PLC)3, 프로그래머블 표시기5(이후 간단히 표시기라고 부른다), 네트워크6, 제어용 호스트 컴퓨터(이후 간단히 제어 컴퓨터라고 부른다)7 및 클라이언트 장치(단말장치)9를 구비하고 있다.
PLC3은 미리 저장되어 있는 제어 프로그램에 따라 타겟 시스템을 구성하는 각 디바이스10을 제어하는 제어장치이고, 시리얼 케이블4를 통하여 표시기5에 접속된다. PLC3은 CPU/전원 모듈(CPU/電源 module), 입력 유닛(入力 unit) 및 출력 유닛(出力 unit)을 구비하고 있다. CPU/전원 모듈은 CPU, 메모리를 포함하는 CPU부와 PLC3의 각 부에 전력을 공급하는 전원부로 이루어져 있다. CPU부는 제어 프로그램에 의하여 제어대상기기인 디바이스10…을 제어한다. 구체적으로 CPU부는, 입력 유닛을 통하여 디바이스10으로서의 입력기기로부터 입력되는 신호에 의거하여, 마찬가지로 디바이스10으로서의 출력기기에 부여하는 제어 데이터의 연산처리를 한다. 입력 유닛 및 출력 유닛은 각각 입출력기기에 접속되는 인터페이스 기능을 구비하는 부분으로서, 이들 기기와의 사이에서 입출력되는 디지털 신호 또는 아날로그 신호를 상기한 CPU부와 교환하도록 되어 있다.
입력기기로서는 센서(온도센서, 광센서 등), 스위치(푸시 버튼 스위치(push button switch), 리밋 스위치(limit switch), 압력 스위치(pressure switch) 등)와 같은 기기를 이용할 수 있다. 출력기기로서는 액추에이터(actuator), 릴레이(relay), 전자 밸브(電磁 valve), 표시기 등을 이용할 수 있다. 이들 입출력기기는 제조 라인 등 각종 타겟 시스템의 필요한 각 부에 배치된다.
표시기5는 대부분의 경우에 타겟 시스템의 근방에서 오퍼레이터에 의하여 조작된다. 각 표시기5의 사이는 네트워크6에 의하여 접속되어 있다. 또한 이 네트워크6에는 제어 컴퓨터7이 접속되어 있다. 한편 클라이언트 장치9는 인터넷32를 통하여 제어 컴퓨터7에 접속할 수 있다. 제어 컴퓨터7은 대부분의 경우에 표시기5보다도 떨어진 장소에서 제어 시스템 전체의 감시 제어, 설정 등을 한다. 또한 로컬 제어 시스템31은 타겟 시스템, 표시기5 및 제어 컴퓨터7에 의하여 구성되어 있다.
표시기5는 RAM, ROM, 플래시 ROM, VRAM 등의 메모리와 CPU 등의 연산처리부를 구비하고 있고, 이들에 의하여 표시기5의 각 부의 동작을 제어하고 있다. 이 표시기5는 처리 지시어(태그(tag))를 조합시켜 결정되는 화면 데이터에 의거하여 입력 및 화면표시의 제어가 가능한 표시장치이다. 이 표시기5는 PLC측 통신처리부51(전용 프로토콜 통신수단), 네트워크측 통신처 리부52(공통 프로토콜 통신수단), 프로토콜 변환부53(중계수단), 화면 데이터 메모리54 및 표시처리부55를 구비하고 있다.
PLC측 통신처리부51은 시리얼 케이블4에 접속되고, 네트워크측 통신처리부52는 네트워크6에 접속된다. 프로토콜 변환부53은 양(兩) 통신처리부51·52의 통신을 중계하고, 화면 데이터 메모리54는 상기 화면 데이터를 기억한다. 표시처리부55는 화면 데이터와 터치 패널(touch panel) 등의 조작입력부55a에서의 오퍼레이터 조작이나 통신결과 등에 의거하여 표시처리를 한다. 또한 다른 입력수단으로는 바 코드 리더(bar code reader)55b나 도면에 나타내지 않은 ID센서 등을 사용하여도 좋다.
본 실시예에서 상기 표시처리부55는 복수의 단위 화면을 절환(切換)하는 것이 가능하다. 각 단위 화면은, 예를 들면 도2에 나타나 있는 바와 같이 명판(name plate) 등의 표시내용을 변경하지 않는 정지 도형B와 스위치, 램프 또는 계량기(meter) 등과 같이 형상, 색, 점멸상태 등의 표시상태가 변환하는 부품도형(部品圖形)J(JI)를 베이스 화면상에 배치하여 형성된다.
한편 상기 화면을 나타내는 화면 데이터는, 도3에 나타나 있는 바와 같이 베이스 화면의 파일 번호F, 베이스 화면상에서 실행해야 할 동작내용을 특정하는 사상명(事象名)N 및 각 실행 현상마다 참조되는 하나 또는 여러 개의 참조정보R을 포함하는 처리 지시어(태그)W를 조합시켜 구성되어 있다.
도4에 나타내는 처리 지시어WL은 표시요소를 특정하기 위한 특정정보 로서 예를 들면 소정의 화면영역(표시 좌표범위)에서 소정의 디바이스 어드레스에 따른 부품도형J를 표시하는 경우에 이용할 수 있다. 이 처리 지시어WL의 참조정보R에는, 표시 좌표범위(X·Y), 디바이스 어드레스A 및 예를 들면 부품도형J가 스위치인 경우에 ON을 나타내는 도형의 파일, OFF를 나타내는 도형의 파일 등을 표시할 때에 참조하는 파일 번호FL이 포함된다.
도5에 나타내는 처리 지시어WT는 입력조작부55b를 통하여 입력조작을 규정하는 특정정보이다. 이 처리 지시어WT의 참조정보R에는 입력부24에 있어서 터치 패널상의 유효입력 좌표범위X·Y와 그 입력 좌표범위의 지정에 연동(連動)하여 ON되는 디바이스 어드레스A가 포함된다.
한편 표시기5의 표시처리부55는, 소정의 시간 간격으로 베이스 화면의 파일 번호F의 화면 데이터 메모리54로부터 현재 표시 중인 베이스 화면의 처리 지시어WL(표시 태그)을 추출하고, 각 표시 태그WL의 디바이스 어드레스A를 PLC3의 메모리3a로부터 읽어 냄으로써 내용에 따른 부품도형J를 화면에 표시한다. 예를 들면 도2에 있어서, 화면 데이터 메모리54에 저장된 표시 태그WLl은 스위치를 표시하고 있고, 디바이스 어드레스Al의 기기에 대응하고 있다.
이 표시 태그WL1을 실행하는 경우에 표시처리부55는, 디바이스 어드레스Al이 “0”이기 때문에 스위치를 OFF로 판단하여 표시처리부55의 메모리55a에 저장된 파일 중에서 OFF에 대응되는 파일FLl의 도형을 표시 좌표범위(X·Y)에 표시한다. 이에 따라 상기 좌표범위(X·Y)에는 OFF상태의 스위 치를 나타내는 부품도형J1이 표시된다. 이와 같이 표시처리부55가 소정의 시간 간격으로 화면 데이터 내의 표시 태그WLl을 실행함으로써 표시기5의 화면에는 디바이스의 상태가 반영된다.
또한 도면에 나타내지 않은 터치 패널에서의 터치 조작 등 오퍼레이터의 입력조작을 받으면 표시처리부55는 그 입력조작을 화면에 반영시킨다. 이 때문에 표시처리부55는 화면 데이터 메모리54의 화면 데이터로부터 현재 표시 중인 베이스 화면에 대응하여 그 입력조작에 대응하는 처리 지시어WT(입력 태그)를 검색하여 입력결과에 따라 입력 태그WT가 나타내는 디바이스 어드레스A를 변경한다.
예를 들면 유효입력 좌표범위(X·Y)가 상기 부품도형J1과 같은 좌표범위로 설정되어 동일한 디바이스 어드레스A1을 변경하는 입력 태그WTl이 화면 데이터 중에 포함되어 있는 경우에, 오퍼레이터가 도2에 나타내는 표시화면의 부품도형Jl을 누르면 표시처리부55에 의한 검색결과로 그 입력 태그WT1이 발견된다. 이 경우에 표시처리부55는 PLC측 통신처리부51이나 네트워크측 통신처리부52에서 지시 등을 하여 입력 태그WTl에 대응하는 디바이스 어드레스Al을 갱신한다.
또한 입력조작 후에 표시처리부55가 표시 태그WL1을 처리하면 디바이스 어드레스Al이 “1”로 변경된다. 이에 따라 표시처리부55는 도6에 나타나 있는 바와 같이 파일FL2에 대응하고, ON을 나타내는 부품도형J2를 화면상에 표시한다. 이 결과로 표시처리부55는 입력조작에 따라서 디바이스 어드레스를 갱신함과 아울러 디바이스 어드레스에 따라서 화면표시를 갱신할 수 있다.
또한 디바이스 어드레스A는 제어대상이 되는 디바이스를 특정하는 어드레스로서, PLC3의 메모리3a 등과 표시기5나 PLC3 또는 제어 컴퓨터7 등에 설치된 기억장치의 한 영역을 나타내고 있다. 또한 상기 디바이스를 조작입력부55a와 바 코드 리더55b 등의 입력장치로부터 수동으로 입력된 데이터가 저장된 메모리여도 좋다. 또한 후에 상술하는 바와 같이 예를 들면 PLC측 통신처리부51이나 네트워크측 통신처리부52가 PLC3이나 다른 표시기5와 통신함으로써 각 어드레스를 취득하거나 내용을 변경할 수 있다. 내용의 취득/변경은 그 때마다 지시하여도 좋고, 표시기5 내에 캐쉬(cash)를 설치하여 내용을 취득/변경할 때에는 캐쉬에 액세스함과 아울러 소정의 시간 간격마다 또는 소정의 이벤트마다 통신하여 디바이스 어드레스A의 실체와 동기(同期)를 취하여도 좋다.
제어 컴퓨터7(제어용 서버장치)은 표시처리부71, 공통 프로토콜(인터페이스)IF부72(표시기측 통신수단) 및 서버부73을 구비하고 있다. 제어 컴퓨터7은 대부분의 경우에 표시기5보다도 떨어진 장소에서 타겟 시스템, PLC3, 표시기5 등의 상태를 표시하거나 제어할 수 있다. 표시처리부71은 제어 시스템의 전체를 감시 제어하고, 공통 프로토콜IF부72는 네트워크6에 접속된다. 서버부73은 공통 프로토콜IF부72 및 네트워크6을 통하여 각 표시기5와 통신하고, 표시처리부71 등의 요구에 따라 동작한다.
또한 제어 컴퓨터7에는 표시기5의 화면 데이터를 작성하는 화면작성처리부74와 작성된 화면 데이터를 저장하는 화면 데이터 메모리75가 설치되어 있다. 각 표시기5의 표시/제어 동작을 규정하는 화면 데이터는 화면작성처리부74에서 집약되어 작성(수정)된 후에 서버부73, 공통 프로토콜IF부72 및 네트워크6을 통하여 각 표시기5로 전송된다.
여기에서 상기 화면 데이터는, 상기한 바와 같이 화면상의 영역과 상기 영역에서의 표시나 입력에 대응하는 디바이스의 어드레스와의 대응관계를 나타내는 태그(처리 지시어)를 조합시켜 구성되어 있다. 화면작성처리부74는 예를 들면 태그의 팔레트(pallet)를 표시하고, 팔레트 중의 태그를 선택하여 화면상에 원하는 태그를 배치하도록 사용자에게 통지한다. 또한 화면작성처리부74는 배치된 태그를 지정된 좌표에 표시하여 사용자의 드래그 앤 드롭(drag and drop) 등의 조작에 따라 태그의 좌표를 조정한다. 또한 화면작성처리부74는 입력 태그나 표시 태그에 관련된 디바이스 어드레스를 입력하도록 사용자에게 통지한다.
사용자는 이에 따라 화면작성처리부74를 조작하여 화면상의 원하는 위치에 태그를 배치함과 아울러 각 태그와 디바이스의 어드레스를 단지 대응시키는 것 만으로 화면 데이터를 작성할 수 있다. 이에 따라 표시기5의 표시 프로그램을 수정하는 경우와 비교하여 각 표시기5의 표시나 조작을 용이하게 결정(변경)할 수 있다. 따라서 제어 시스템의 사용자(제어 컴퓨터7의 사용자)는 타겟 시스템의 실정이나 표시기5의 오퍼레이터 숙련도 또는 사용자의 기호에 맞추는 것이 가능하다.
또한 제어 컴퓨터7은 컴파일러76(변환수단)과 공개 서버부77(단말측 통신수단)을 구비하고 있다. 컴파일러76은, 표시기5가 표시에 사용하고 있는 화면 데이터 자체 또는 동일한 구조의 화면 데이터를 클라이언트 장치9의 버츄얼 머신(virtual machine)91에서 동등한 처리를 할 수 있는 자바(Java, 등록상표) 언어의 애플릿(applet)으로 변환한다. 공개 서버부77은 인터넷32를 통하여 클라이언트 장치9로 애플릿을 전송함과 아울러 클라이언트 장치9에서 실행되는 애플릿과 통신한다.
상기 컴파일러76은 사전에, 태그의 종류마다 상기 버츄얼 머신91이 실행하는 메소드(method)를 포함하는 클래스(class)를 도면에 나타내지 않은 기억장치에 저장하고 있다. 또한 컴파일러76은 화면 데이터의 각 태그마다 태그의 종류에 대응하는 메소드를 호출하는 코드를 생성하고 애플릿을 출력할 수 있다.
구체적으로 상기 메소드는, 예를 들면 표시 태그의 경우에 소정의 시간 간격으로 호출되어 특정한 디바이스 어드레스의 데이터를 공개 서버부77에 요구함과 아울러 그 응답에 따라 표시하는 화면작성 메소드이다. 또한 상기 메소드는, 입력 태그의 경우에 입력 이벤트가 발생하였을 때에 호출되어 입력결과에 따른 데이터를 특정한 디바이스 어드레스에 쓰도록 공개 서버부77에 요구하는 입력 메소드이다.
한편 컴파일러76은, 애플릿의 생성지시를 받으면 생성해야 할 애플릿 에 대응하는 화면 데이터를 화면 데이터 메모리75로부터 읽어 내어 그 화면 데이터로부터 태그를 추출한다. 또한 컴파일러76은 추출된 태그의 종류에 의거하여 변환대상이 되는 태그의 종류에 대응하는 클래스의 인스턴스(instance)를 생성하고, 상기 인스턴스의 필드(field)에 태그의 파라미터(parameter)를 설정하기 위한 문자열(코드)을 출력한다.
본 실시예에서는 도7에 나타나 있는 바와 같이 〈param〉요소의 변수로서 태그의 종류와 파라미터를 지정하고, “Gpj. class”가 변수에 의거하여 인스턴스를 생성하여 파라미터를 설정하고 있다. 또한 화면 데이터 중의 모든 태그에 대하여 문자열의 출력이 종료하면 컴파일러76은, HTML(Hyper Text Markup Language) 문서로서 필요한 문자열(“〈HTML〉”, “〈TITLE〉” 등의 문자열)이나 생성된 코드를 애플릿으로서 작동시키기 위한 문자열(〈APPLET〉 등)을 각 태그에 의거하여 생성된 코드의 전후(前後)에 붙여 컴파일(compile)을 종료한다.
이에 따라 컴파일러76은 표시기5가 화면 데이터를 표시하는 경우와 동일한 화면을 클라이언트 장치9에 표시되도록 하기 위한 애플릿을 생성할 수 있다. 또한 화면 데이터를 변경하지 않는 한, 생성되는 애플릿이 동일한 내용이므로 본 실시예에 관한 컴파일러76은 생성한 애플릿(HTML 문서)을 화면 데이터와 관련시켜 기억장치(도면에 나타내지 않는다)에 저장하고 있다. 공개 서버부77은 동일한 화면 데이터가 요구되었을 때에 그것을 상기 기억장치로부터 읽어 낸다. 이에 따라 요구할 때마다 컴파일하는 경우와 비교하여 생성속도를 향상시킬 수 있다.
또한 공개 서버부77은 예를 들면 URI(Universal Resource Identifier) 등에 의거하여 클라이언트 장치9가 요구하고 있는 화면 데이터를 판별하고, CGI(Common Gateway lnterface)나 BGI(Binary Gateway Interface) 등에 의하여 클라이언트 장치9로 애플릿을 송출한다. 또한 공개 서버부77은, 애플릿으로부터 디바이스 어드레스A의 취득/변경 지시를 받으면 표시기5가 다른 표시기5나 PLC3과 통신하여 디바이스 어드레스A를 취득/변경하는 경우와 마찬가지로 상기 지시를 중계하고, 표시기5 자체나 표시기5에 접속된 PLC3 등의 디바이스 어드레스의 실제의 내용으로 취득/변경 지시를 전송한다.
또한 공개 서버부77도 표시처리부55와 마찬가지로 디바이스 어드레스를 캐쉬함으로써 애플릿에 대한 응답시간을 단축할 수 있다.
클라이언트 장치9는 버츄얼 머신91에 부가하여 범용의 브라우저 소프트(browser soft) 등에 의하여 구현되는 브라우저(browser)92를 구비하고 있다. 브라우저92는 인터넷32에 접속된 기기와 통신하여 받은 애플릿을 버츄얼 머신91에서 실행시킨다. 또한 브라우저92는 예를 들면 HTTP(Hyper Text Transfer Protoco1) 프로토콜로 서버장치로부터 HTML 문서 등의 문서를 수신하고 열람할 수도 있다.
상기 제어 시스템은 도8에 나타내는 플로우 차트(flow chart)의 절차로 작동한다. 우선 제어 시스템의 사용자는 상기 화면작성처리부74를 조작하여 타겟 시스템의 실정이나 표시기5의 오퍼레이터 숙련도 또는 사용자의 기호 에 맞추어 화면 데이터를 작성/수정한다(Sl). 또한 작성된 화면 데이터는 예를 들면 시뮬레이션(simulation)이나 접속시험 등에 의하여 정상으로 동작하는 것이 확인된 후에 표시기5로 전송되고(S2), 표시기5가 화면 데이터에 따른 표시를 시작한다(S3).
여기에서 최적의 화면은 기호나 숙련도 등에 의하여 좌우되기 때문에 하나로 결정되지 않고 비교적 빈번하게 변경되는 것이 대부분이다. 그런데 상기한 바와 같이 본 실시예에서는 제어 시스템(제어 컴퓨터7)의 사용자가 화면 데이터를 태그의 조합으로 생성할 수 있기 때문에 이들의 요구에 유연하게 대응할 수 있어 최적의 상태를 계속하여 유지할 수 있다. 또한 제어 컴퓨터7에 의한 일괄적인 관리 때문에 여러 장소에서 병행하여 관리할 경우와 비교하여 화면 데이터를 용이하게 관리할 수 있다.
컴파일러76은 Sl에서 작성한 화면 데이터를 컴파일하여 애플릿을 생성하여 도면에 나타내지 않은 기억장치에 저장한다(S4).
제어 시스템의 가동 중에 브라우저92는 인터넷32를 통하여 공개 서버부77에 액세스(access)하여 어떤 표시기5의 화면을 표시하도록 지시한다(S5). 이에 대하여 공개 서버부77은 화상에 의한 표시/제어가 클라이언트 장치9에 허가되어 있는지 아닌지를 인증하고, 허가되지 않은 클라이언트 장치9로부터의 액세스를 거부한다(S6). 이 때에 예를 들면 클라이언트 장치9로부터 받은 식별번호 및 패스워드(password)가 미리 결정된 조합인지 아닌지를 확인한다.
허가된 정규 클라이언트 장치9인 것이 확인되면 공개 서버부77은 S4에서 컴파일된 애플릿 중에서 클라이언트 장치9가 요구한 애플릿을 포함하는 HTML 문서를 상기 기억장치로부터 읽어 내어 인터넷32를 통하여 클라이언트 장치9로 송신한다(S7).
한편 S8에서 브라우저92는 받은 HTML 문서로부터 APPLET 요소(“〈APPLET〉”에서 “〈/APPLET〉”인 부분)를 추출하고, 버츄얼 머신91에서 실행시킨다. 이에 따라 버츄얼 머신91은 공개 서버부77과 통신하여 표시기5와 동일하게 표시/제어를 한다.
구체적으로는 버츄얼 머신91에서 애플릿 중의 각 표시 태그에 따른 인스턴스의 화면작성 메소드가 소정의 시간 간격으로 실행된다. 이 결과로 버츄얼 머신91은 디바이스 어드레스A를 공개 서버부77에 요청한다. 한편 공개 서버부77은 디바이스 어드레스A를 읽어 내도록 서버부73에 지시한다. 서버부73은 후에 상술하는 바와 같이 표시처리부71이 각 디바이스 어드레스를 읽어 내는 경우와 마찬가지로 디바이스 어드레스A를 취득하여 공개 서버부77로 전달한다. 또한 디바이스 어드레스A가 인터넷32를 통하여 공개 서버부77로부터 버츄얼 머신91에 전해지면 상기 화면작성 메소드는 디바이스 어드레스A에 따라 표시영역(X·Y)의 표시를 갱신한다.
여기에서 상기 애플릿은 화면 데이터가 컴파일된 결과이다. 이러한 애플릿에서의 각 인스턴스는 화면 데이터 중의 대응하는 태그와 동일한 디바이스 어드레스를 참조하도록 설정되어 있다. 또한 각 인스턴스는 디바이 스 어드레스가 동일한 경우에 태그와 동일한 화상을 표시하도록 작성되어 있다. 따라서 애플릿이 실행되면 클라이언트 장치9의 표시화면에는 도2나 도6과 마찬가지로 디바이스의 상태를 나타내는 부품도형Jl(J2)이 표시된다.
또한 본 실시예에 관한 화면 데이터에는 각 단위 화면의 절환 동작도 입력 태그로서 구현되고 있다. 이 입력 태그에는 디바이스 어드레스로서 표시기5 내의 기억영역 중에 현재 표시 중인 단위 화면을 나타내는 데이터가 저장되는 영역이 관련되어 있다. 따라서 어떤 표시기5의 화면 데이터가 컴파일된 애플릿이 클라이언트 장치9에서 실행되고 있는 경우에 클라이언트 장치9와 표시기5에는 항상 동일한 단위 화면이 표시된다.
버츄얼 머신91에는 애플릿의 실행 중에 마우스 등에 의한 입력조작이 이루어지면 애플릿 중의 입력 태그에 대응하는 인스턴스 중에서 입력조작에 따른 인스턴스의 입력 메소드가 실행된다. 이에 따라 버츄얼 머신91은 입력결과에 따른 데이터를 특정한 디바이스 어드레스에 쓰도록 공개 서버부77에 요구한다.
한편 공개 서버부77은 버츄얼 머신91로부터 쓰기 요구를 받으면 서버부73으로 그 요구를 전송한다. 또한 서버부73은 표시처리부71이 디바이스를 제어하는 경우와 마찬가지로 디바이스 어드레스A를 갱신한다. 이 결과로 클라이언트 장치9의 표시화면에는 입력 후 상기 화면작성 메소드가 실행된 시점에서 표시기5와 마찬가지로 조작결과가 반영된다.
또한 도8에 나타내는 플로우 차트에서는 Sl에서 작성된 화면 데이터를 컴파일러76이 미리 컴파일하여 축적해 둔 경우를 예로 들어 설명하였지만, 이것에 한정되는 것은 아니다. 예를 들면 클라이언트 장치9로부터 요구된 화면 데이터가 컴파일되어 있지 않은 경우, 요구된 후에 컴파일하여도 좋다. 이 경우는 첫회의 컴파일에서 클라이언트 장치9에 대한 응답속도가 늦어진다. 그러나 컴파일 후에 화면 데이터가 갱신되어 재컴파일할 가능성을 낮게 할 수 있기 때문에 컴파일의 회수를 삭감할 수 있다.
이상과 같이 본 실시예에 관한 제어 시스템에서는 컴파일러76이 화면 데이터를 컴파일하여 클라이언트 장치9의 버츄얼 머신91에서 실행할 수 있는 애플릿을 생성하고, 공개 서버부77이 인터넷32를 통하여 애플릿을 전송한다. 이에 따라 클라이언트 장치9에 감시제어용 프로그램이 미리 인스톨되어 있지 않은 경우나 원격지에 배치되어 있는 경우에도 클라이언트 장치9는, 표시기5에 표시되는 화면과 동일한 화면을 표시할 수 있고, 표시기5와 동일한 조작으로 PLC3이나 표시기5를 제어할 수 있다.
또한 제어 컴퓨터7이 화면 데이터를 애플릿으로 변환하여 공개하기 때문에 제어 시스템의 사용자는 원격지용으로 화면 데이터를 새롭게 작성할 필요가 없어 화면을 작성하는 시간을 대폭 삭감할 수 있다. 또한 특별히 원격지용으로 화면 데이터를 작성하는 경우가 아니면, 원격지용의 화면과 표시기5의 화면이 항상 동일하게 유지되기 때문에 양쪽의 화면 데이터를 각각 작성하여 항상 동일하도록 관리하는 경우와 비교하여 관리시간을 대폭 삭감할 수 있다.
또한 본 실시예에서는 표시기5와 동일한 요청·변경 지시를 제어 컴퓨터7로 송신하는 동작과 응답에 따라 표시되도록 하는 동작을 클라이언트 장치9에 실행시키는 애플릿을 생성하고, 제어 컴퓨터7이 디바이스 어드레스의 전송을 중계하는 경우를 예로 들어 설명하였지만, 이것에 한정되는 것은 아니다.
예를 들면 제어 컴퓨터7이 표시기5와 통신하여 표시기5의 화면표시와 동일한 내용의 비트맵 형식이나 JPEG 형식의 파일을 생성하고, 클라이언트 장치9로 그 파일을 송신하여도 좋다. 제어 컴퓨터7이 표시기5의 화면을 나타내는 데이터를 수신하고, 클라이언트 장치9가 표시할 수 있는 형식으로 그 데이터의 형식을 변경한 후에 클라이언트 장치9로 송신한다. 이렇게 하면 각 표시기5의 표시·제어용 프로그램을 클라이언트 장치9로 미리 인스톨해 둘 필요가 없어지기 때문에 인스톨하는데 걸리는 수고, 시간 및 비용을 삭감할 수 있다.
단, 제어 컴퓨터7과 클라이언트 장치9가 인터넷32를 통하여 통신하고 있는 경우 등 양자간의 통신속도가 느린 경우에 화면을 나타내는 데이터를 송신하면 클라이언트 장치9에서 화면의 갱신속도가 저하되어 버린다.
이에 대하여 본 실시예에서는 제어 컴퓨터7이, 상기 요청·변경 지시 및 표시동작을 클라이언트 장치9에 실행시키는 애플릿을 배포함과 아울러 디바이스 어드레스의 전송을 중계하고 있다. 이에 따라 데이터의 전송량을 대폭 삭감할 수 있고, 클라이언트 장치9에서의 응답속도를 대폭 향상시킬 수 있다. 또한 예를 들면 커서(cursor)의 이동 등 유저 인터페이스(user interface)를 클라이언트 장치9측에서 처리할 수 있기 때문에 응답속도를 더욱 향상시킬 수 있다.
또한 상기와 같이 애플릿을 전송하는 대신에 예를 들면 베이직(BASIC) 등의 프로그램 언어를 컴파일하는 등의 방법으로 작성되어 애플릿과 동일한 동작을 클라이언트 장치9에 실행시키는 실행 프로그램을 전송하여도 거의 동일한 효과를 얻을 수 있다.
단, 본 실시예와 같이 제어 컴퓨터7이 애플릿을 송신하고, 버츄얼 머신91이 그 애플릿을 해석하여 표시·제어하는 경우에 클라이언트 장치9가 버츄얼 머신91을 구비하고 있으면 클라이언트 장치9의 오퍼레이팅 시스템(OS)이나 CPU가 실행할 수 있는 기계어(機械語)가 다르더라도 애플릿을 실행할 수 있다. 따라서 제어 컴퓨터7이 생성하는 애플릿의 종류를 증가시키지 않고 보다 많은 클라이언트 장치9에서 표시기5와 동일하게 표시/제어를 할 수 있다.
또한 본 실시예에서는 제어 컴퓨터7과 클라이언트 장치9가 인터넷32를 통하여 통신하기 때문에 양자가 떨어져 설치되어 있는 경우에도 각각 가장 가까운 인터넷 서비스 프로바이더(ISP)까지 공중회선으로 접속하면 서로 통신할 수 있다. 따라서 회선 교환형의 공중전화회선을 통하여 서로 접속하는 경우보다도 통신요금을 대폭 삭감할 수 있다.
또한 인터넷32를 통하여 통신하기 때문에 클라이언트 장치9와 제어 컴 퓨터7, 표시기5, PLC3으로 이루어지는 시스템이 각각 다른 나라에 설치되어 있는 경우에도 클라이언트 장치9의 사용자는 아무런 지장없이, 표시기5를 사용하는 경우와 마찬가지로 감시 제어를 할 수 있다. 이 결과로 클라이언트 장치9의 사용자는 상기 시스템이 다른 나라에 있는 경우에도 시스템의 상태를 정확하게 파악할 수 있고, 상기 시스템의 운용자에게 적절한 조언을 하여 운용자를 서포트(support)할 수 있다. 따라서 시스템의 근처에 많은 서포트 요원을 배치할 필요가 없어 서포트하는 시간을 대폭 삭감할 수 있다.
그런데 본 실시예에서는 제어 컴퓨터7이 표시기5와 통신함으로써 제어 컴퓨터7의 공개 서버부77이 디바이스의 어드레스를 취득/변경하고 있지만 이것에 한정되는 것은 아니다. 도44에 나타내는 종래의 제어 시스템과 마찬가지로 제어 컴퓨터7이 PLC3과 직접 통신하여 디바이스의 어드레스를 취득/변경하여도 좋다.
단, 이 경우에 제어 컴퓨터7은 PLC3과 통신하기 위하여 PLC3의 기종에 고유한 전용 프로토콜로 통신해야 하므로 제어 컴퓨터7의 통신 프로그램을 작성하는 것이 번거롭다.
이에 대하여 본 실시예에서는 제어 시스템에 필수적이고, PLC3과 비교하여 연산능력이나 기억용량에 여유가 있는 표시기5가 프로토콜을 변환하고 있기 때문에 제어 컴퓨터7은 PLC3의 기종에 관계없이 공통 프로토콜로 통신할 수 있다. 그 때문에 상기 통신 프로그램을 작성하는 수고를 대폭 삭감할 수 있다. 또한 표시기5는 도44와 같이 접속되어 있어도 PLC3과 통신하기 위하여 전용 프로토콜로 통신해야 한다. 따라서 표시기5를 제어 컴퓨터7과 PLC3의 사이에 배치하여도 표시기5의 통신 프로토콜을 작성할 때의 수고는 증가하지 않는다.
구체적으로 본 실시예에 관한 제어 시스템에서는, 표시내용 또는 제어내용이 동일한 경우, 표시/제어할 때에 네트워크6에서 전송되는 데이터열61(도10참조)이 PLC3의 기종과 관계 없이 서로 동일하게 되도록 네트워크6에서의 전송용 프로토콜(공통 프로토콜)이 규정되어 있다. 또한 통신의 중심에 배치된 표시기5는 PLC3의 기종마다 규정된 전용 프로토콜과 상기 공통 프로토콜을 서로 변환하여 표시기5에 접속된 PLC3, 제어 컴퓨터7 또는 다른 표시기5와의 통신을 중계한다. 이에 따라 각 표시기5에 접속된 PLC3이 서로 다른 전용 프로토콜을 채용하고 있는 경우에도 각 표시기5 및 제어 컴퓨터7의 사이를 공통 프로토콜로 통신할 수 있다.
상기 타겟 시스템은 밸브나 모터 등 지시에 따른 동작을 하는 제어대상기기 또는 유량센서나 온도센서 등 타겟 시스템의 각 부의 상태를 검출하는 센서 등의 디바이스10을 구비하고 있다. 한편 PLC3은 각 디바이스10과 통신하면서 미리 저장된 제어 프로그램에 따라 각 디바이스10을 제어하고 있다. 그 제어 프로그램은 제어 컴퓨터7로부터 표시기5를 통하여 전송하는 등의 방법으로 각 PLC3으로 전송된다.
여기에서 PLC3은 릴레이를 사용한 시퀀서로부터 발달하여 왔기 때문 에 제조회사나 제품의 종류 등 PLC3의 기종마다 제어 프로그램이 다를 뿐만 아니라 PLC3의 기종마다 독자적인 전용 프로토콜을 구비하고 있는 것이 대부분이다. 따라서 PLC3은 시리얼 케이블4를 통하여 표시기5와 접속되어 있고, 상기 PLC3이 통신할 수 있는 통신 프로토콜로 표시기5와 통신한다.
상기 전용 프로토콜에서는, 데이터의 읽어 내기를 지시하는 경우에 대체로 도9에 나타나 있는 바와 같이 다음에 전송되는 코드가 명령임을 나타내는 제어 코드(ESC), PLC3에 데이터의 읽어 내기를 지시하는 커맨드 코드(command code, RD), 읽어 내기 개시 어드레스 (X0001), 읽어 내기 사이즈 (5) 및 전송 종료를 나타내는 제어 코드(RET)를 포함하는 데이터열41이 전송된다. 단, 각 PLC3 사이에는, 커맨드 코드를 포함하는 커맨드 체계는 물론 어드레스나 사이즈 등의 배열절차, 제어 코드 자체 또는 어드레스나 사이즈를 표현할 때의 표현형식(수치를 나타낼 때의 비트폭이나 문자를 나타낼 때의 코드 종류 등)도 서로 다른 경우가 많다.
한편 본 실시예에 관한 네트워크6은 예를 들면 이서넷(Ethernet, 상표:제록스사) 등의 LAN(Local Area Network)으로서 각 표시기5나 제어 컴퓨터7은 TCP/IP 프로토콜로 서로 통신하고 있다. 이에 따라 예를 들면 제어 시스템의 개발자가 사용하는 제어용 호스트 컴퓨터(도면에 나타내지 않는다) 등이 제어 시스템을 운용하는 회사와 다른 장소에서 전화회선을 통하여 접속하는 경우에도 TCP/IP로 통신할 수 있는 통신기기이면 다른 통신기기 사이의 데이터 전송을 저해하지 않고 네트워크6에 자유롭게 참가할 수 있 다.
또한 TCP/IP 프로토콜에서는 데이터열61을 전송할 때에 TCP 모듈이나 IP 모듈 등의 각 모듈이 전송용 헤더(header)를 부가하고 있지만 본 명세서에서는, 「네트워크6으로 전송되는 데이터열61」을 상기 서버부73 등 「보다 상층(上層)이 TCP 모듈로 전송을 의뢰하고, 수신측의 TCP 모듈이 보다 상층으로 반송하는 데이터열」의 의미로 사용한다.
여기에서 본 실시예에서 네트워크6에서의 전송용으로 규정되어 있는 공통 프로토콜에 있어서, 데이터열61은 도10에 나타나 있는 바와 같이 예를 들면 표시/제어용 데이터인지 제어 프로그램인지 등을 식별하기 위한 식별 데이터62와 데이터 본체63을 포함하고 있다. 또한 표시/제어용 데이터로서 예를 들면 데이터 읽어 냄을 지시하는 명령을 PLC3으로 전달할 때의 데이터 본체63r에는 명령의 내용을 나타내는 공통 코드64와 이 공통 코드64에 관련하는 관련 정보65로서 읽어 내기 개시 어드레스 65a 및 읽어 내기 사이즈 65b가 포함되어 있다. 또한 데이터 쓰기를 지시할 때의 데이터 본체63w에는 관련 정보65로서 쓰기 개시 어드레스65c 및 쓰기 데이터65d가 포함된다.
공통 코드64는, 각 PLC3이 이해할 수 있는 명령 중에 서로 동일한 내용의 명령 사이에서는 각 PLC3의 커맨드 코드와 관계 없이 코드가 통일되어 있다. 또한 읽어 내기 개시 어드레스 65a 및 읽어 내기 사이즈 65b 등 관련 정보65 내의 데이터를 전송하는 절차 및 전송할 때의 표현형식도 PLC3의 기종과 관계 없이 통일되어 있다. 이에 따라 공통 프로토콜은 표 시기5에 접속되어 있는 PLC3과 관계 없이 실행시켜야 할 명령을 일의적(一意的)으로 특정할 수 있고, 표시/제어를 할 때에 네트워크6으로 전송되는 데이터열61은 표시내용 또는 제어내용이 동일한 경우에 PLC3의 기종과 관계 없이 동일한 데이터열이 된다.
여기에서 상기 표시기5는 상술한 바와 같이 도1에 나타내는 PLC측 통신처리부51, 네트워크측 통신처리부52 및 프로토콜 변환부53을 구비하고 있고, 프로토콜 변환부53은 상기 전용 프로토콜과 공통 프로토콜이 서로 다른 경우에 양 프로토콜을 상호 변환한다. 이에 따라 표시기5는, 전용 프로토콜에 의한 통신과 공통 프로토콜에 의한 통신을 필요에 따라 중계하면서 스스로 또는 다른 표시기5에 접속된 PLC3의 상황을 화면상에 표시함과 아울러 오퍼레이터의 조작에 따라 각 PLC3으로 지시를 출력할 수 있다.
또한 프로토콜 변환은 예를 들면 국제특허공개공보 W099/56186호(1999년 11월 4일 공개)에 개시된 방법으로 이루어진다.
프로토콜 변환부53은 프로토콜을 상호 변환하기 위한 프로토콜 정보로서, 전용 프로토콜에서 전송되는 데이터열41의 포맷(format)을 나타내는 데이터 전송 포맷FMT, 전용 프로토콜에서의 커맨드 코드 및 상기 공통 코드와의 대응관계를 나타내는 커맨드 변환 테이블TBL을 기억하고 있다.
구체적으로는 도9에 나타나 있는 바와 같이 상기 데이터 전송 포맷FMT는, 상기 데이터열41 중에 예를 들면 읽거나 쓰는 데이터 내용 자체나 데이터의 사이즈 또는 읽고 쓰기 어드레스 등 실제로 전송하는 데이터 내용 에 의하여 변화하는 부분을 미정의(未定義)한 스켈리톤(skeleton) 모양의 데이터열로서 미정의한 부분은 용도만이 정의되어 있다. 또한 커맨드 코드의 영역을 미정의로 하면, 실제로 전송되는 데이터열로부터 추출된 데이터 전송 포맷FMT가 복수의 커맨드 사이에서 공통인 경우에 커맨드 코드의 영역도 미정의로 하여 이들의 명령 사이에서 데이터 전송 포맷을 공용하여도 좋다.
또한 커맨드 변환 테이블TBL에는 도11에 나타나 있는 바와 같이 공통 코드64와 시리얼 케이블4에 접속되어 있는 PLC3의 커맨드 코드와의 대응관계가 저장되어 있다. 프로토콜 변환부53은 일방(一方)의 코드를 타방(他方)의 코드로 변환할 수 있다.
데이터 전송 포맷FMT 및 커맨드 변환 테이블TBL의 조합은, 표시기5 및 PLC3이 표시/제어에 관한 데이터를 통신하기 전에 PLC3의 통신 프로토콜에 맞추어져 설정되어 다른 통신 프로토콜을 채용한 PLC3이 접속되면 상기 프로토콜 정보는 절환된다. 예를 들면 기종A의 PLC3에서 기종B로 변경하는 경우에 도11에 나타내는 커맨드 변환 테이블TBLa에서 커맨드 변환 테이블TBLb로 절환된다.
또한 통신 프로토콜의 선택은 예를 들면 사용자가 제어 컴퓨터7이나 표시기5를 조작함으로써 이루어져도 좋다. 또한 표시기5가 자체적으로 송출할 수 있는 통신 프로토콜을 순차적으로 선택하면서 PLC3의 통신 프로토콜을 특정할 수 있는 명령을 PLC3으로 송출하고, PLC3으로부터의 응답 코드에 의하여 통신 프로토콜을 자동적으로 판별하여도 좋다. 또한 표시기5는 자체적으로 접속할 수 있는 PLC3이 채용하고 있는 통신 프로토콜 전체에 관하여 상기 프로토콜 정보를 저장해 두어도 좋고, 현재 접속되어 있는 PLC3의 통신 프로토콜만을 저장해 두고 필요에 따라 제어 컴퓨터7로부터 또는 기록매체를 통하는 등 여러 방법으로 다운 로드하여도 좋다.
이와 같이 프로토콜 변환부53은 PLC3과의 사이에서 반송하는 데이터열41을 제어 시스템의 동작 중에 리얼 타임(real time)으로 생성한다. 이에 따라 표시기5는 입력된 데이터가 어디로부터 왔는지를 묻지 않고 PLC3으로 데이터를 주고 받을 수 있음과 아울러 PLC3이 변경되는 경우에도 제어 시스템을 정지하지 않고 즉시 응답할 수 있다.
여기에서 표시기5는 제어 시스템에 필수적인 구성이지만, 최근에는 고해상도(高解像度)의 화상을 표시하기 위하여 예를 들면 수 메가 바이트(mega bite) 정도의 기억용량(일반적으로 PLC는 수십 킬로 바이트(kilo bite) 정도)를 가져 표시에 충분한 연산속도를 가지고 있다. 따라서 표시기5는 I/O 제어에 적합한 PLC3과 비교하여 충분한 여력을 가져 상기 프로토콜 변환을 실행할 수 있다.
또한 표시기5와 제어 컴퓨터7과의 사이에 PLC3이 끼어 있지 않기 때문에 PLC3은 타겟 시스템의 제어에 전념할 수 있다. 따라서 도44에 나타내는 종래의 구성 즉, 각 PLC503을 서로 접속하고, 각 PLC503에 표시기505를 접속함으로써 제어 시스템501 내의 통신의 대부분을 각 PLC503이 처리하는 구성과 비교하여 PLC의 기억용량이나 처리능력을 삭감할 수 있다.
또한 통신량이 큰 처리예로서, 타겟 시스템이 제조하는 제품이 다른 제품으로 변환되는 때 등에 있어서 제어 컴퓨터7에서 표시기5로 화면 데이터를 다운 로드하는 처리 등을 들 수 있다. 그런데 본 실시예에 관한 로컬 제어 시스템31에서는, 화면 데이터는 PLC3을 통과하지 않기 때문에 PLC3은 화면 데이터를 다운 로드하는 경우에도 부담이 적어 정상적으로 계속하여 작동할 수 있다.
또한 PLC3의 기종과 관계 없이 각 표시기5 및 제어 컴퓨터7의 사이는 공통 프로토콜로 통신된다. 따라서 동일한 로컬 제어 시스템31 내에 여러 기종의 PLC3을 혼재(混在)시킬 수 있어 기종선택의 폭이 넓어지게 된다. 또한 로컬 제어 시스템31의 네트워크6에서는 통신 프로토콜이 공통이다. 따라서 예를 들면 허브(hurb)나 브리지(bridge), 라우터(router) 등 네트워크6에 접속되는 기기를 자유롭게 전용(轉用)할 수 있어 이들의 기기나 PLC3의 배치에 관한 자유도(自由度)도 향상시킬 수 있다. 또한 종래의 제어 시스템에 있어서 변환기510(도44참조)이 불필요하기 때문에 로컬 제어 시스템31 전체의 제조비를 삭감할 수 있다.
또한 본 실시예에서는 표시기5가 프로토콜을 변환함으로써 네트워크6에 접속되어 있는 표시기5나 제어 컴퓨터7 등의 기기는 PLC3의 기종과 관계 없이 공통 프로토콜로 상호 통신할 수 있다. 따라서 제어 컴퓨터7의 공통 프로토콜IF부72 및 서버부73은 공통 프로토콜로 통신하는 것 만으로 각 표시기5와의 통신이나 표시기5를 통한 PLC3의 통신이 가능하게 된다.
더욱 상세하게는, 서버부73은 디바이스 어드레스에 의거하여 쓰기 요구나 읽어 내기 요구 등 데이터의 송신처(IP 어드레스)를 식별하고, 송신처가 표시기5인 경우에 공통 프로토콜로 상기 데이터를 상기 IP 어드레스로 송신한다. 한편 디바이스 어드레스가 PLC3으로 판정되면 서버부73은 상기 PLC3이 접속되어 있는 표시기5의 IP 어드레스로 상기 데이터를 송신한다.
또한 각 표시기5와 IP 어드레스의 대응은, 각 표시기5가 네트워크6에 접속될 때에 예를 들면 제어 컴퓨터7의 사용자가 지정하거나 제어 컴퓨터7이 비어 있는 IP 어드레스를 할당하여 결정하고, 서버부73의 도면에 나타내지 않은 기억영역에 저장되어 있다. 또한 각 표시기5의 디바이스 어드레스 및 표시기5에 접속되는 PLC3의 디바이스 어드레스는, 예를 들면 표시기5마다 결정되어 있는 경우에 제어 컴퓨터7이 표시기5에 저장되어 있는 대응표를 읽어 내고, 제어 컴퓨터7이 설정할 수 있으면 대응표를 표시기5로 전송하여 결정된다. 따라서 서버부73은 디바이스 어드레스의 대응표와 IP 어드레스의 대응표를 참조함으로써 읽어 내기 요구나 쓰기 요구의 송신처가 되는 IP 어드레스를 결정할 수 있다.
여기에서 표시기5, 제어 컴퓨터7 및 클라이언트 장치9 각각에 있어서의 각 부는, CPU 등의 연산수단이 ROM이나 RAM 등의 기억수단에 저장된 프로그램을 실행하고, 터치 패널이나 액정표시장치(液晶表示裝置) 등의 입출력수단 또는 인터페이스 회로 등의 통신회로를 제어함으로써 구현되는 기능 블럭이다. 따라서 이들의 수단을 구비하는 컴퓨터가 상기 프로그램을 기록 한 기록매체(예를 들면 CD-ROM 등)를 읽어 내고, 상기 프로그램을 실행하는 것 만으로 표시기5, 제어 컴퓨터7 및 클라이언트 장치9를 구현할 수 있다. 특히 클라이언트 장치9의 버츄얼 머신91 및 브라우저92는 많은 컴퓨터에 미리 인스톨되어 있는 범용의 브라우저 소프트로 구현할 수 있기 때문에 이들의 컴퓨터는 특별한 프로그램을 인스톨하지 않고 클라이언트 장치9로서 작동할 수 있다.
또한 시리얼 케이블4, 네트워크6, 인터넷32 및 다른 통신로 등을 통하여 프로그램을 다운 로드하기 위한 프로그램이 상기 컴퓨터에 미리 인스톨되어 있으면 상기 통신로를 통하여 상기 컴퓨터로 상기 프로그램을 배부하는 것도 가능하다.
이어서 제어 시스템의 다른 형태에 관하여 설명한다.
도12에 나타내는 본 제어 시스템의 로컬 제어 시스템31에 있어서, 표시기5는 도1에 나타내는 제어 시스템의 표시기5와 거의 동일하게 구성되어 있다. 본 제어 시스템의 표시기5는 시리얼 케이블4와 PLC측 통신처리부51(전용 프로토콜 통신수단)의 사이에 설치되는 시리얼 인터페이스56 및 네트워크6과 네트워크측 통신처리부52(공통 프로토콜 통신수단 및 중계수단)의 사이에 설치되는 네트워크 인터페이스57을 구비하고 있다. 양 인터페이스56·57에 대해서는 도1의 제어 시스템의 설명에서 언급하지 않았지만 그 제어 시스템에서의 표시기5도 마찬가지로 양 인터페이스56·57을 구비하고 있다.
또한 표시기5에서의 표시처리부55는, 다른 표시기5에 접속된 디바이스 10의 상태를 표시/제어하는 경우에 네트워크측 통신처리부52에 지시하여 상기 디바이스10에 데이터 읽고 쓰기 명령을 다른 표시기5로 출력한다. 이러한 데이터 읽고 쓰기 명령은 공통 프로토콜로 지정된다. 따라서 표시처리부55는 다른 표시기5에 접속된 PLC3의 기종과 관계 없이 그 PLC3과 통신할 수 있다.
한편 PLC측 통신처리부51은 PLC3에 고유한 전용 프로토콜로 PLC3과 통신하고 있고, 프로토콜 변환부53이나 표시처리부55로부터의 요구에 의거하여 데이터 읽고 쓰기 명령을 PLC3으로 출력하거나 PLC측 통신처리부51에 의하여 출력된 제어 프로그램을 PLC3으로 출력한다. 각 부51·53·55로부터 거의 동시에 PLC3과의 통신지시를 받았을 경우에 PLC측 통신처리부51은 그들을 일시적으로 기억하고, 순차적으로 처리하는 등으로 각 통신지시에 따른 명령이나 제어 프로그램을 출력한다.
네트워크측 통신처리부52는, TCP/IP 프로토콜로 다른 표시기5 또는 제어 컴퓨터7과 데이터열61을 송수신함과 아울러 수신한 데이터열61의 식별 데이터62에 의거하여 데이터 본체63의 용도를 식별하고, 표시/제어용 데이터의 경우에 프로토콜 변환부53으로 데이터 본체63을 반송한다. 또한 제어 프로그램의 경우에는 데이터 본체63을 PLC측 통신처리부51로 전송하여 PLC3으로 송출시킨다. 또한 표시기5의 배경화상이나 디바이스10에 따른 도형요소의 배치 등을 나타내는 화면 데이터의 경우에 네트워크측 통신처리부52는 데이터 본체63을 표시처리부55로 전송하여 화면 데이터를 갱신할 수 있다. 이와는 반대로 프로토콜 변환부53, PLC측 통신처리부51 또는 표시처리부55로부터 데이터 본체63을 받았을 경우에 네트워크측 통신처리부52는 그 데이터 본체63에 식별 데이터62를 부가하여 다른 표시기5나 제어 컴퓨터7로 송출한다.
프로토콜 변환부53은 PLC3과의 사이에서 반송하는 상기 데이터열41(도9참조)을 로컬 제어 시스템31의 동작 중에 리얼 타임으로 생성한다.
또한 제어 컴퓨터7은 유저 처리부78과 설정부79를 구비하고 있다. 유저 처리부78은 서버부73으로 지시하여 예를 들면 각 디바이스10의 상태의 표시/제어나 집계 등을 처리한다.
설정부79는 예를 들면 각 표시기5의 국명(局名)이나 IP 어드레스 등 로컬 제어 시스템31 전체를 설정한다. 구체적으로 설정부79는, 네트워크6에 접속되어 있는 표시기5에 대하여 예를 들면 도13에 나타나 있는 바와 같이 각 표시기5의 국명, IP 어드레스, 접속되어 있는 PLC3의 메이커(maker)나 형식 및 버전(version), 각 PLC3에 접속되어 있는 디바이스10 등을 관리하고 있다.
이들의 네트워크 참가국(參加局) 리스트는 로컬 제어 시스템31의 관리자가 제어 컴퓨터7의 입력수단(키보드 등)을 이용하여 설정되어도 좋다. 또한 예를 들면 설정부79가 서버부73에 지시하여 네트워크6으로 전송한 노드 탐색신호에 따라, 각 표시기5가 자기기(自機器)의 IP 어드레스나 접속되어 있는 PLC3 등을 나타내는 상태정보(status information)를 송출함과 아울러 설정부79가 각 상태정보에 의거하여 네트워크 참가국 리스트를 자동으로 작 성하여도 좋다.
여기에서 상술한 바와 같이 본 로컬 제어 시스템31에서의 프로토콜 변환부53을 구비한 표시기5에서 네트워크6으로 전송되는 데이터열61은, 동일한 표시내용/제어내용을 나타내고 있으면 PLC3의 기종과 관계 없이 모두 동일하다. 이에 따라 제어 컴퓨터7의 유저 처리부78은 PLC3의 기종이 다르더라도 동일한 절차대로 서버부73으로 지시함으로써 PLC3으로 제어를 지시하고, PLC3으로부터의 데이터를 받을 수 있다. 따라서 PLC3과의 통신이 필수적인 표시기5에만 전용 프로토콜로 통신하는 프로그램을 준비하면 좋다. 또한 새로운 통신 프로토콜로 통신하는 PLC3이 개발되더라도 표시기5에만 대응하면 좋다. 이 결과 도44의 제어 시스템과 비교하여 로컬 제어 시스템31의 제조 및 유지를 관리하는 데 드는 수고를 삭감할 수 있다.
클라이언트 장치9(제어용 단말장치)는 인터넷 통신처리부93(광역 네트워크 통신수단), 제어 프로그램 작성부94S(제어 프로토콜 작성수단) 및 시리얼 포트 에뮬레이터(serial port emulator, 이후 SPE라고 부른다)95(시리얼 포트 의사수단)를 구비하고 있다. 인터넷 통신처리부93은 인터넷32를 통하여 제어 컴퓨터7에 접속할 수 있고, 도1의 클라이언트 장치9도 구비하고 있다. 제어 프로그램 작성부94S는 PLC3의 제어 프로그램을 작성 또는 수정함과 아울러 시리얼 포트로 출력할 수 있는 형식으로 상기 제어 프로그램을 출력한다. SPE95는 시리얼 포트를 대신하여 제어 프로그램을 수신하고, PLC3을 구비하는 로컬 제어 시스템31의 제어 컴퓨터7로 제어 프로그램 자체와 전송처의 PLC3을 나타내는 지시 데이터를 송신하도록 인터넷 통신처리부93에 지시한다.
한편 제어 컴퓨터7에는 인터넷32(광역 네트워크)를 통하여 클라이언트 장치9의 인터넷 통신처리부93과 접속할 수 있는 인터넷 통신처리부80이 설치되어 있다. 이 인터넷 통신처리부80은 받은 지시 데이터에 의거하여 전송처의 PLC3을 특정함과 아울러 상기 PLC3에 접속된 표시기5에 공통 프로토콜로 제어 프로그램을 송신하도록 상기 서버부73에 지시한다. 이에 따라 클라이언트 장치9는 인터넷32에 접속할 수 있는 임의의 장소에서 PLC3의 제어 프로그램을 갱신할 수 있다.
여기에서 본 제어 시스템에는, SPE95가 설치되어 있기 때문에 제어 프로그램 작성부94S를 구현할 때에 예를 들면 도44에 나타내는 제어용 호스트 컴퓨터507 등 시리얼 포트를 통하여 PLC3에 직접 접속되는 장치로 사용되고 있던 제어 프로그램 작성 소프트를 전용할 수 있다. 이에 따라 PLC3의 기종마다 제어 프로그램 작성 소프트를 새롭게 개발하지 않고, 예를 들면 니모닉(mnemonic), 래더 회로도(ladder circuit diagram), 플로우 차트(flow chart) 또는 시퀀셜 기능 차트(sequential function chart, SFC) 등을 이용하여 제어 프로그램을 기술할 수 있다. 또한 제어 프로그램 작성부94S는 PLC3과 직접 접속하는 것을 전제로 하고 있어 시리얼 포트로 출력하는 데이터열로서 제어 프로그램을 출력하도록 형성되어 있다.
한편 SPE95는 전송처의 PLC3을 특정하기 때문에 PLC3을 구비하는 로컬 제어 시스템31의 제어 컴퓨터7과 PLC3이 접속된 표시기5를 미리 설정할 수 있다. 또한 표시기5에 복수의 PLC3이 접속되어 있는 경우에는 전송처의 PLC3 자체도 설정된다.
구체적으로 SPE95는 예를 들면 미리 PLC3의 제어 프로그램 갱신이 허가되어 있는 로컬 제어 시스템31의 리스트를 제시하고, 사용자에게 선택을 통지하는 것 등의 방법으로 인터넷 통신처리부93이 접속하는 제어 컴퓨터7을 설정할 수 있다. 또한 인터넷32상에 있어서의 어드레스나 도메인의 명칭 등 제어 컴퓨터7을 특정하는 데이터는 미리 저장되어 있다.
또한 SPE95는, 사용자에게 표시기5를 특정하게 할 때에 상기 도13에 나타내는 네트워크 참가국 리스트에 표시되어 있는 정보 중에서 표시기5를 특정할 수 있는 정보 즉, IP 어드레스 또는 국명을 입력 또는 선택하는 박스(box)를 표시하는 등의 방법으로 표시기5를 특정하게 한다. 특히 SPE95가 제어 컴퓨터7과 미리 통신하여 설정부79의 기억내용을 참조하면 자동적으로 선택사항을 표시할 수 있다. 이에 따라 SPE95의 사용자는 제어 컴퓨터7의 설정부79에서 표시기5를 특정하게 할 때와 동일한 방법으로 송신처를 지정할 수 있다.
또한 SPE95는, 제어 프로그램 작성부94S로부터 상기 PLC3용의 제어 프로그램을 나타내는 데이터열을 받으면, 표시기5 및 PLC3을 나타내는 식별자와 제어 프로그램 자체를 나타내는 데이터열을 포함하는 지시 데이터를 인터넷32를 통하여 미리 설정된 제어 컴퓨터7로 송신하도록 인터넷 통신처리부93에 지시한다.
여기에서 PLC3의 기종이 다르거나 기억영역의 크기나 배치 등의 어드레스 맵 또는 CPU 등의 연산부가 이해할 수 있는 기계어 등이 다르면 각 PLC3용의 제어 프로그램을 작성해야 한다. 한편 제어 프로그램 작성 소프트는 상기한 바와 같이 래더도 등으로부터 제어 프로그램을 작성하기 때문에 비교적 복잡한 처리가 이루어지고 있다. 따라서 인터넷32를 통하여 제어 컴퓨터7에 제어 프로그램을 출력할 수 있는 제어 프로그램 작성 소프트를 각 PLC3의 기종마다 신규작성하면 상기 소프트의 작성이 번거롭다.
이에 대하여 본 실시예에서는, SPE95를 설치함으로써 종래의 제어 프로그램 작성 소프트를 전용할 수 있다. 따라서 클라이언트 장치9의 각 부(91~95)를 구현하기 위한 프로그램을 작성하는 수고를 대폭 삭감할 수 있다.
여기에서 상기 각 부78~80·93~95도 전술한 각 부71~77·91·92와 마찬가지로 프로그램으로 구현되는 기능 블럭이다.
상기한 구성에 의하면 표시/제어를 하는 통상 처리에 앞서 설정부79는 S11(도14)에서 네트워크에 접속되어 있는 각 표시기5에 대하여 IP 어드레스나 국명 및 각각에 접속되어 있는 PLC3을 설정하여 네트워크를 설정한다. 여기에서 표시기5의 프로토콜 변환부53이 현재 접속되어 있는 PLC3의 프로토콜 정보를 가지고 있지 않은 경우에, 설정부79에서 프로토콜 변환부53으로 그 프로토콜 정보를 다운 로드할 수도 있다. 이 경우에 도10에 나타내는 데이터열61로서 프로그램 정보의 내용을 나타내는 데이터 본체63과 프 로토콜 정보를 나타내는 식별 데이터62가 전송되고, 네트워크측 통신처리부52에 의하여 데이터 본체63이 프로토콜 변환부53으로 보내진다.
통상 처리의 일례로서 제어 컴퓨터7이 PLC3에 제어를 지시하는 경우에 유저 처리부78은 도9에 나타내는 공통 프로토콜로 PLC3에 테이터 쓰기 명령을 송출하도록 서버부73에 지시한다(S12). 서버부73은 S11에서의 네트워크 설정을 참조하여 상기 PLC3이 접속되어 있는 표시기5의 IP 어드레스를 취득하고, 그 IP 어드레스로 데이터 쓰기 명령을 나타내는 데이터열61을 송출한다(S13).
한편 표시기5에서는 네트워크측 통신처리부52가 상기 데이터열61의 식별 데이터62에 의거하여 표시/제어용 데이터라고 판단하고, 프로토콜을 변환하기 위하여 데이터 본체63을 프로토콜 변환부53으로 보낸다(S14). 프로토콜 변환부53은 공통 프로토콜의 데이터 본체63으로부터 공통 코드64와 관련 정보65를 추출하고, 도11에 나타내는 커맨드 변환 테이블TBL을 참조하여 PLC3이 인식할 수 있고 공통 코드64에 대응하는 커맨드 코드를 선택한다. 또한 필요에 따라서 관련 정보65의 표현형식은 PLC3이 인식할 수 있는 표현형식으로 변환된다.
그 결과, PLC3으로 전송해야 할 커맨드 코드, 데이터 내용 자체, 데이터 사이즈 및 어드레스 등이 결정된다. 그러면 프로토콜 변환부53은 상기 데이터 전송 포맷FMT를 참조하여 PLC3으로 송출하는 데이터열41을 작성하고, PLC측 통신처리부51로 데이터열41의 송출을 지시한다.
또한 PLC측 통신처리부51은, 표시처리부55로부터의 데이터열41의 송출 요구나 네트워크측 통신처리부52로부터의 제어 프로그램의 전송 요구 등 다른 부분으로부터의 송출 요구와 프로토콜 변환부53로부터의 송출 요구에 의거하여 각각에 지시된 데이터열41을 순차적으로 시리얼 케이블4로 송출한다(S15). 한편 PLC3은 자신의 전용 프로토콜에 의한 데이터 쓰기 명령을 받으면 그 명령에 따라 디바이스10의 상태를 제어한다(S16).
또한 상기한 절차에서는 데이터 쓰기 명령의 경우를 예로 들어 설명하였지만, 데이터 읽어 내기 명령의 경우도 마찬가지로 프로토콜 변환부53이 프로토콜을 변환한다. 또한 PLC3에서 제어 컴퓨터7로의 데이터 전송은 상기한 절차와 반대의 절차로 이루어진다. 이 때에 프로토콜 변환부53은 PLC3로부터 데이터열41을 받으면 상기 데이터 전송 포맷FMT에 적용시켜 그 데이터열41이 나타내는 커맨드, 데이터 내용 자체, 데이터의 사이즈 및 어드레스 등을 추출하고, 공통 프로토콜의 데이터 본체63을 작성하여 네트워크측 통신처리부52에 출력한다. 이에 따라 유저 처리부78은 PLC3의 기종과 관계 없이, 공통 프로토콜로 PLC3로부터의 데이터열을 받을 수 있다.
한편 제어 프로그램을 갱신할 때에는 도15에 나타내는 처리가 이루어진다. 즉, 제어 프로그램의 갱신에 앞서 클라이언트 장치9의 SPE95에서 제어 프로그램의 송신처를 설정한다(S21). 이 송신처는 상기한 바와 같이 제어 컴퓨터7과 표시기5의 국명이나 IP 어드레스 자체, PLC3과의 조합 등이고, 제어 컴퓨터7을 제외하고는 S11에서의 네트워크 설정과 동일한 정보로 특정된다. 여기에서 서버부73은 S11에서의 설정을 참조하면 PLC3이 접속된 표시기5의 IP 어드레스를 취득할 수 있다. 따라서 SPE95가 인터넷 통신처리부93, 인터넷32 및 인터넷 통신처리부80을 통하여 서버부73에 요청함으로써 SPE95의 사용자는 새로운 특정 방법을 학습하지 않고 네트워크 설정과 동일한 방법으로 표시기5를 특정할 수 있다.
또한 S21이나 후술하는 S24 등 인터넷32를 통하여 통신할 때에 인터넷 통신처리부80은 인터넷 통신처리부93로부터 받은 식별번호 및 패스워드가 미리 결정된 조합인지 아닌지를 확인하는 등의 방법으로 제어 데이터의 갱신이 클라이언트 장치9 또는 그 사용자에게 허가되어 있는지 아닌지를 인증하고, 허가되지 않은 클라이언트 장치9로부터의 액세스를 거부한다. 인증에 실패한 클라이언트 장치9는 제어 컴퓨터7에서 액세스가 거부되기 때문에 클라이언트 장치9로부터의 데이터는 네트워크6을 통과하지 않는다. 따라서 로컬 제어 시스템31의 안전성을 향상시킬 수 있다.
또한 제어 프로그램 작성부94S는 제어 프로그램을 작성 혹은 수정하거나 미리 작성된 제어 프로그램을 선택하는 등의 방법으로 PLC3으로 송출하는 제어 프로그램을 결정한다(S22).
또한 제어 프로그램 작성부94S는 예를 들면 오퍼레이팅 시스템(OS) 등에 대하여 그 제어 프로그램을 시리얼 포트로 송출하도록 지시한다(S23). 그러면 SPE95는, 송출 지시를 가로 채는 등의 방법으로 시리얼 포트 대신에 제어 프로그램을 수신하고, S21에서 설정한 표시기5 및 PLC3을 나타내 는 식별자와 수신한 제어 프로그램을 나타내는 지시 데이터를 작성하여 S21에서 설정한 제어 컴퓨터7로 송출하도록 인터넷 통신처리부93에 지시한다(S24). 이에 따라 인터넷 통신처리부93은 인터넷32를 통하여 제어 컴퓨터7의 인터넷 통신처리부80으로 지시 데이터를 송출한다.
한편 제어 컴퓨터7에서의 인터넷 통신처리부80은 지시 데이터를 받으면, 지시 데이터에 의거하여 특정한 표시기5로 제어 프로그램을 송신하도록 서버부73에 지시한다(S25). 또한 서버부73은 제어 프로그램 자체로서의 데이터 본체63p에 제어 프로그램을 나타내는 식별 데이터62p를 부가하여 데이터열61p(도10참조)를 작성하여 특정된 표시기5의 IP 어드레스로 송출한다(S26).
또한 송신처가 IP 어드레스 이외로 지정된 경우에 도14의 S11에서의 네트워크 설정을 참조하여 송신처의 IP 어드레스를 특정한다.
표시기5의 네트워크측 통신처리부52는 데이터열61p의 식별 데이터62p에 의거하여 데이터 본체63p를 제어 프로그램이라고 판정하여 데이터 본체63p를 그대로 송출하도록 PLC측 통신처리부51에 지시한다. 또한 PLC측 통신처리부51은 이것에 따라 데이터 본체63p를 PLC3으로 송출한다(S27).
여기에서 데이터 본체63p는 제어 프로그램 작성부94S가 출력한 데이터열, 즉 시리얼 포트로 출력할 때의 데이터열과 동일한 데이터열이다. 따라서 PLC측 통신처리부51이 데이터 본체63p를 출력함으로써 제어 프로그램의 전송로 중에 인터넷32 및 네트워크6이 존재하고 있음에도 불구하고, PLC3은 아무런 지장없이 제어 프로그램을 받을 수 있고, 제어 프로그램을 갱신할 수 있다(S28).
또한 본 제어 시스템에서는, 클라이언트 장치9의 SPE95가 표시기5를 지정하여 PLC3을 특정하는 경우를 예로 들어 설명하였지만, 이것에 한정되는 것은 아니다. 예를 들면 지시 데이터 중에 제어 시스템 전체에서 PLC3을 특정할 수 있는 식별자를 부가하고, 제어 컴퓨터7의 인터넷 통신처리부80이 식별자에 의거하여 표시기5를 특정하여도 동일한 효과를 얻을 수 있다.
단, 상기한 바와 같이 SPE95가 설정부79와 동일한 지정 방법으로 PLC3을 특정한 경우에 SPE95의 사용자가 설정부79와 다른 지정 방법을 기억할 필요가 없기 때문에 보다 사용하기 쉬운 제어 시스템을 구현할 수 있다.
또한 본 제어 시스템에서는, 표시 또는 제어측으로부터의 요구에 따라서 PLC3이 응답하는 경우를 예시하였지만 PLC3 또는 표시기5가 소정의 주기 또는 소정의 이벤트마다 데이터를 전송하여도 좋다. 이 경우에는, 상기 데이터가 네트워크6으로 전송될 때의 표현형식을 PLC3의 기종과 관계 없이 규정하면 좋다. 어느 쪽의 경우이더라도, PLC3의 기종과 관계 없이 동일한 제어지시 또는 동일한 상태를 나타내는 데이터가 네트워크6으로 전송될 때에 서로 동일하게 되도록 네트워크6의 표시/제어 데이터의 전송 프로토콜(공통 프로토콜)이 규정되어 있고, 표시기5가 공통 프로토콜과 기종에 따른 전용 프로토콜을 서로 변환하고 있으면 동일한 효과를 얻을 수 있 다.
이어서 제어 시스템의 또 다른 형태에 관하여 설명한다.
도16에 나타내는 제어 시스템은 로컬 제어 시스템31의 상태를 나타내는 데이터를 공개하는 공개 서버 장치8을 더 구비하고 있다. 제어 컴퓨터7은, 도12에 나타내는 인터넷 통신처리부80이 인터넷32를 통하여 공개 서버 장치4와 통신처리를 한다. 로컬 제어 시스템31과 공개 서버 장치8이 암호로 통신하는 경우에 인터넷 통신처리부80은 미리 정해진 암호키나 해독키를 이용하여 공개 서버 장치8과 암호로 통신한다. 인터넷 통신처리부80은 인터넷32와 접속할 때에 사용되는 각종 데이터를 기억하고 있다.
상기 인터넷 통신처리부80은, 유저로부터 지시를 받은 시점이나 화면 데이터가 변경된 시점 등 원하는 타이밍에 공개 서버 장치8과 통신하여 전술한 화면 데이터 메모리75(도1참조)의 화면 데이터를 공개 서버 장치8로 송신한다. 또한 인터넷 통신처리부80은, 디바이스10이 변경된 시점이나 소정의 시간 간격 등 소정의 타이밍에 공개 서버 장치8에 액세스하여 공개 서버 장치8에서의 데이터 공개에 필요한 디바이스 어드레스A(디바이스 데이터)를 공개 서버 장치8로 송신한다. 디바이스 어드레스A는 표시처리부71이 취득하는 경우와 마찬가지로, 서버부73을 통하여 취득된다. 또한 인터넷 통신처리부80은, 공개 서버 장치8과 통신한 결과 클라이언트 장치9가 디바이스 데이터의 변경을 지시한 경우에 표시처리부71이 디바이스 어드레스A를 변경하는 경우와 마찬가지로 상기 지시를 중계하고, 표시기5 자체나 표시기5에 접속된 PLC3 등 디바이스 어드레스A의 실제의 내용으로 변경하도록 지시를 전송할 수 있다.
공개 서버 장치8은 로컬 제어 시스템측 통신처리부(이후 로컬 통신처리부라고 부른다)81, 파일 생성부82, 표시 파일 기억부83, 데이터 메모리84 및 공개 서버부85를 구비하고 있다.
여기에서 상기 각 부81·82·84·85도 전술한 각 부71~77·91·92와 마찬가지로 프로그램으로 구현되는 기능 블럭이다. 또한 표시 파일 기억부83에 대한 표시 파일의 저장처리도 프로그램으로 구현된다.
XML 파일 기억부83b에 저장되는 XML(extensible mark-up language) 파일은 표시기5의 화면 데이터에 포함되는 각 단위 화면마다 작성되어 있다. 그리고 각 XML 파일에는 상기 단위 화면에 관련하는 각 태그(처리 지시어)를 나타내는 XML 요소(element)가 포함되어 있다.
상기 XML 파일의 개략을 나타낸다. 예를 들면 도4에 나타낸 형식에서 표시기5의 화면 데이터 내에 베이스 화면(단위 화면) = 1 (메인 화면)의 표시 태그WL이 포함되어 있는 경우에 도17에 나타나 있는 바와 같이 메인 화면에 대응하는 XML 파일에는 표시 태그WL에 대응하는 Tag 요소E1이 포함되어 있다. 이 Tag 요소El에는 사상명, 표시 좌표범위, 참조 파일번호 및 디바이스 어드레스 등에 대응하는 TagName 요소E11, X 요소E12, Y 요소E13, LibraryNo 요소E14 및 BitSymbolName 요소E15 등이 포함되어 있다. LibraryNo 요소E14는 유저가 라이브러리(library)에 등록한 도형을 이용하기 위한 라이브러리 태그에 있어서의 등록번호를 나타낸다. 또한 각 요소E11~E15의 내용(컨텐츠)은 표시 태그WL의 내용에 따라서 “L_0000”, “-232”, “120”, “101”, “010100”으로 설정되어 있다.
또한 예를 들면 도5에 나타낸 형식에서 표시기5의 화면 데이터 내에 입력 태그WT가 포함되어 있는 경우에 메인 화면에 대응하는 XML 파일에는 입력 태그WT에 대응하는 Tag 요소E2가 포함되어 있다. 또한 이 Tag 요소E2에는 사상명, 디바이스 어드레스, 유효 입력 범위 등에 대응하는 TagName 요소E21, SymbolName 요소E22, X 요소E23, Y 요소E24, X2 요소E25, Y2 요소E26 등이 입력 태그WT의 내용에 따른 내용으로 각각 설정되어 있다.
이와 같이 파일 생성부82는, 예를 들면 표시기5의 화면 데이터로부터 어떤 단위 화면의 처리 지시어(태그WL·WT …), 즉 베이스 화면의 파일 번호가 소정값의 태그를 순차적으로 추출하고, 그 태그에 따른 XML 요소를 생성하고, 상기 XML 요소의 내용을 상기 태그에 따라 설정함으로써 상기 단위 화면의 XML 파일을 작성할 수 있다.
애플릿 기억부83c에 저장되는 애플릿은 도1의 제어 시스템에서 이용할 수 있는 애플릿과 마찬가지로 버츄얼 머신91이 실행할 수 있는 자바 언어로 기술된 바이트 코드로서 구현되어 있다. 또한 애플릿은 화면 데이터 중에 출현할 수 있는 태그의 종류에 대응하는 메소드가 정의된 클래스와, XML 파일을 참조하여 태그의 종류에 대응하는 메소드를 호출하는 메소드가 정의된 클래스를 포함하고 있다. 이에 대하여 버츄얼 머신91은 XML 파일을 참조하고, 태그를 나타내는 XML 요소에 의거하여 태그의 종류에 따른 메소드를 호출하여 실행한다.
HTML 파일 기억부46에 저장되는 HTML 파일은 표시기5마다 작성되어 있다.
HTML 파일에는, 도18에 나타나 있는 바와 같이 상기 애플릿을 버츄얼 머신91에서 실행시키기 위한 문자열P11과 “〈HTML〉”이나 “〈TITLE〉” 등의 HTML 문서로서 필요한 문자열P1이 포함되어 있다. 또한 HTML 파일에는, 예를 들면 애플릿이 표시하는 표시기5를 설명하는 문자나 화상을 표시하기 위한 문자열 등 HTML의 서식에 따른 문자열P2가 포함되어 있어도 좋다. 또한 HTML 파일에는 단위 화면 절환용 애플릿을 실행시키기 위한 문자열P12가 포함되어 있어도 좋다.
본 제어 시스템에서는 XML 파일이 단위 화면마다 설치되어 있고, 예를 들면 클라이언트 장치9의 브라우저92가 상기 HTML 파일을 표시할 때에 최초로 표시하는 단위 화면의 지정이나 표시기5의 지정 등 화면 데이터(표시기5) 전체에 관련하는 정보(글로벌 정보)는 상기의 문자열P11 중에 포함되어 있다. 본 제어 시스템의 경우에 그 정보는 애플릿을 실행할 때의 파라미터로서 지정되어 있고, 예를 들면 최초의 단위 화면은 PARAM 요소의 속성명 “BASESCR”의 속성값(이 예에서는 “1”)으로서 지정된다.
버츄얼 머신91은 표시 페이지 정보취득부93A, 표시처리부94, 통신처리부96 및 화면 데이터 메모리97을 구비하고 있다.
표시 페이지 정보취득부93A은, 공개 서버 장치8의 표시 페이지 정보기억부84a에 기억되어 있는 표시기5에서의 화면 데이터에 의거하여 현재 표시되어 있는 단위 화면을 나타내는 표시 페이지 정보를 통신처리부96, 인터넷32, 공개 서버부85를 통하여 취득한다.
또한 표시처리부94는 표시 모드 절환부94a 및 리모트 표시 페이지 정보기억부94b를 구비하고 있다.
표시 모드 절환부94a는, 클라이언트 장치9에 표시기5에 현재 표시되어 있는 단위 화면과 동일한 단위 화면을 표시하는 일치 표시 모드와 별도의 단위 화면을 표시할 수 있는 불일치 표시 모드 및 클라이언트 장치9의 오퍼레이터의 지시에 의거하여 절환한다. 리모트 표시 페이지 정보기억부94b는 클라이언트 장치9에 다음에 표시해야 할 단위 화면을 나타내는 리모트 표시 페이지 정보를 저장한다.
여기에서 본 제어 시스템에서의 파일 생성부82는, 표시기5의 화면 데이터에 의거하여 액세스가 예상되는 클라이언트 장치9의 하드웨어 및 소프트웨어의 수단에 대응한 전용의 표시 파일을 생성하는 도면에 나타내지 않은 제너레이터(generator)를 클라이언트 장치9의 수단마다(예를 들면 브라우저의 종류마다) 구비하여도 좋다. 또한 파일 생성부82에 제너레이터를 1개 설치하고, 스위치 등에 의하여 절환시켜 클라이언트 장치9의 각 수단에 대응한 표시 파일을 생성하여도 좋다.
각 제너레이터는 로컬 통신처리부81이 로컬 제어 시스템31로부터 화면 데이터를 받으면, 자동적으로 HTML/XML 파일을 생성하여 표시 파일 기억부83(양 파일 기억부83a·83b)에 설정되어 있는 소정의 폴더에 각각 저장하여도 좋다. 또는 공개 서버 장치8의 유저가 파일 생성부82에서 표시하는 클라이언트 장치9의 수단(예를 들면 브라우저 소프트의 종류)을 선택함으로써, 그 클라이언트 장치9용 HTML/XML 파일을 생성하여 지정한 폴더에 저장하여도 좋다.
이어서 도21에 나타내는 플로우 차트를 참조하면서 본 제어 시스템의 동작을 설명한다.
먼저 로컬 제어 시스템2의 유저가 제어 컴퓨터7의 화면작성처리부74(도1참조)를 조작하여 타겟 시스템의 실정이나 표시기5 오퍼레이터의 숙련도 또는 사용자의 기호에 맞추어 화면 데이터를 작성 또는 수정한다(S31). 작성된 화면 데이터는 예를 들면 시뮬레이션이나 접속시험 등에 의하여 정상적으로 동작되는 것이 확인된 후에 표시기5로 전송되고(S32), 표시기5가 화면 데이터에 따른 표시를 시작한다(S33).
다음에 화면 데이터가 갱신되면 제어 컴퓨터7(인터넷 통신처리부80)은 공개 서버 장치8에 액세스한다(S34). 공개 서버 장치8(로컬 통신처리부81)은 예를 들면 미리 저장된 어카운트 및 패스워드의 조합과 수신된 조합을 비교하는 등의 방법으로 로컬 제어 시스템31 또는 그 유저를 인증한다(S35). 이 인증에 성공하면 로컬 제어 시스템31로부터 공개 서버 장치8로 화면 데이터가 송신된다(S36).
이어서 공개 서버 장치8이 로컬 제어 시스템31로부터 화면 데이터를 받으면, 파일 생성부82는 화면 데이터에 의거하여 표시 파일(HTML 파일 또는 HTML 파일 및 XML 파일)을 생성한다(S37). 또한 파일 생성부82는 생성한 표시 파일을 표시 파일 기억부83의 HTML 파일 기억부83a 및 XML 파일 기억부83b에 저장한다.
또한 상기 S5(도8참조)와 같이, 어떤 로컬 제어 시스템31의 표시기5의 화면을 표시하도록 지시한다(S38). S6과 같이, 상기 화면에 의한 표시 및 제어가 상기 유저 또는 클라이언트 장치9에 허가되어 있는지 아닌지를 인증하고(S39), 허가되어 있지 않은 유저 또는 클라이언트 장치9로부터의 액세스를 거부한다.
허가된 정규의 유저 또는 클라이언트 장치9로부터의 액세스인 것이 확인되면, 브라우저 판정부85a가 리퀘스트를 발신한 클라이언트 장치9의 브라우저를 판별한다(S40). 이 때에 브라우저 판정부85a는 예를 들면 클라이언트 장치9로부터의 리퀘스트 헤드부에 기재되어 있는 브라우저명을 검출한다. 공개 서버부85는 S37에서 생성되어 표시 파일 기억부83에 저장되어 있는 표시 파일 중에 클라이언트 장치9가 요구한 HTML 파일, XML 파일 및 애플릿을 브라우저 판정부85a가 판별한 브라우저에 대응한 폴더로부터 적절하게 읽어 내어 인터넷32를 통하여 클라이언트 장치9로 송신한다(S41).
그리고 클라이언트 장치9에서는 브라우저92가 받은 HTML 파일로부터 APPLET 요소(“〈APPLET〉”에서 “〈/APPLET〉”인 부분)를 추출하고, 버츄얼 머신91에서 실행시킨다(S42). 이에 따라 버츄얼 머신91은, 애플릿에서 HTML 파일 중으로 직접 부여한 파라미터 또는 XML 파일에 의하여 부여한 파라미터에 의거하여 공개 서버부85과 통신하여 표시기5와 동일한 표시 및 제어를 한다.
공개 서버부85는, 브라우저92로부터 어떤 로컬 제어 시스템31의 표시기5의 화면 표시의 요구를 받으면 데이터 메모리84의 기억영역 중에서 요구된 로컬 제어 시스템31에 대응하는 기억영역(표시 파일에 대응하는 유저용 영역 또한 디바이스 어드레스A에 대응하는 영역)으로부터 디바이스 어드레스A에 의거하여 디바이스 데이터(디바이스 어드레스A)를 읽어 내어 클라이언트 장치9로 송신한다. 화면작성 메소드는, 요구한 디바이스 데이터가 인터넷3을 통하여 클라이언트 장치9로 전해지면 상기 디바이스 데이터에 따라 클라이언트 장치9의 표시화면 중에서 파라미터로 설정된 표시영역(X·Y)의 표시를 갱신한다.
또한 버츄얼 머신91은, 표시 파일의 실행 중에 예를 들면 마우스 조작 등의 입력조작이 이루어지면 HTML/XML 파일 중의 입력 태그에 대응하는 인스턴스 중 입력조작에 따른 인스턴스의 입력 메소드를 실행한다. 이에 따라 버츄얼 머신91은 입력결과에 따른 데이터를 특정한 디바이스 어드레스A에 쓰도록 공개 서버부85에 요구한다. 그리고 공개 서버부85는, 클라이언트 장치9로부터 쓰기 요구를 받으면 데이터 메모리84의 기억영역 중 요구된 디바이스 어드레스A 영역의 내용을 갱신한다. 이 결과로 클라이언트 장치9의 표시화면에는 쓰기 후, 상기 화면작성 메소드가 실행된 시점에서 표시기5와 마찬가지로 조작결과가 반영된다.
여기에서 도22 및 도23에 나타내는 플로우 차트를 참조하면서 본 제어 시스템의 동작을 설명한다.
먼저 클라이언트 장치9에 오퍼레이터에 의한 입력조작이 있는 경우에, 도22에 나타나 있는 바와 같이 표시처리부94는 오퍼레이터에 의한 입력조작을 기다리고(S51), 오퍼레이터에 의한 입력조작이 검출되면 그 내용을 판정한다(S52). 다음에 표시처리부94는, 입력조작의 판정 결과로 오퍼레이터에 의하여 페이지 절환이 입력되면(S52에서 “페이지 절환 입력”) 표시 모드 절환부94a의 설정에 의거하여 표시 모드가 일치 표시 모드와 불일치 표시 모드 중 어느 것으로 설정되어 있는지를 판정한다(S53).
이 판정 결과로 표시 모드가 “일치 표시 모드”이면 표시처리부94는 지정된 새로운 페이지를 표시 페이지 정보로 하여 표시 페이지 정보기억부84a로의 쓰기를 통신처리부96를 통하여 공개 서버부85에 요구한다(S54). 표시처리부94는 그 후, 표시 페이지 정보에 대응하는 XML 파일(현재 표시 중인 화면의 데이터)을 통신처리부96을 통하여 공개 서버부85에 송신을 요구하여 취득하고, 화면 데이터 메모리97에 저장한다(S55).
한편 상기 판정 결과로 표시 모드가 “불일치 표시 모드”이면 표시처리부94는 지정된 새로운 페이지를 리모트 표시 페이지 정보로 하여 리모트 표시 페이지 정보기억부94b에 쓴다(S56). 표시처리부94는 그 후, 리모트 표시 페이지 정보에 대응하는 XML 파일을 통신처리부96을 통하여 공개 서버부85에 송신을 요구하여 취득하고, 화면 데이터 메모리97에 저장한다(S57).
또한 표시처리부94는, 표시 파일 기억부83으로부터 취득하여 화면 데이터 메모리97에 저장한 새로운 XML 파일에 의거하여 화면표시에 필요한 디바이스 데이터를 통신처리부96을 통하여 공개 서버부85에 송신을 요구하여 취득한다(S58).
이에 대하여 표시처리부94는 S52에서의 판정 결과로 오퍼레이터에 의하여 제어 입력이 이루어지고(S52에서 “제어 입력”), 지시된 디바이스 데이터의 데이터 메모리84로의 쓰기를 통신처리부96을 통하여 공개 서버부85에 요구한다(S59). 그 후에 표시처리부94,는 화면 데이터 메모리97에 저장되어 있는 XML 파일, 즉 오퍼레이터가 데이터의 변경을 지시한 화면을 작성하고 있는 XML 파일에 의거하여 화면표시에 필요한 디바이스 데이터를 공개 서버부85에 송신을 요구하여 취득한다(S60).
마지막으로 표시처리부94는, 데이터 메모리84로부터 취득한 디바이스 데이터와 화면 데이터 메모리97에 저장되어 있는 표시 파일(HTML/XML 파일 및 애플릿)에 의거하여 화면을 작성하여 갱신한다(S61).
도23은 클라이언트 장치9의 자동 갱신 타이밍에서 화면갱신의 절차를 나타내는 플로우 차트이다. 여기에서 화면의 자동 갱신 타이밍은 예를 들면 소정의 시간 간격이다.
먼저 표시처리부94는 화면의 자동 갱신 타이밍을 기다리고(S71), 화면의 자동 갱신 타이밍에 도달하면 표시 모드 절환부94a의 설정에 의거하여 표 시 모드가 일치 표시 모드와 불일치 표시 모드 중 어느 것으로 설정되어 있는지를 판정한다(S72). 이 판정 결과로 표시 모드가 “일치 표시 모드”이면 표시처리부94는 표시 페이지 정보취득부93A에 의하여 표시 페이지 정보기억부84a에 저장되어 있는 표시 페이지 정보를 취득한다(S73). 표시처리부94는 취득한 표시 페이지 정보가 변경되어 있는지 아닌지를 판정한다(S74).
이 판정 결과로 표시 페이지 정보가 변경되어 있으면, 표시처리부94는 표시 페이지 정보기억부84a에 저장되어 있던 변경 후의 표시 페이지 정보에 대응하는 XML 파일을 송신할 것을 통신처리부96을 통하여 공개 서버부85에 요구하여 취득하고, 화면 데이터 메모리56에 저장한다(S75). 그 후에 표시처리부94는 표시 파일 기억부83으로부터 취득하여 화면 데이터 메모리97에 저장한 새로운 XML 파일에 의거하여 화면표시에 필요한 디바이스 데이터를 통신처리부96을 통하여 공개 서버부85에 송신을 요구하여 취득한다(S76).
한편 S72에서의 판정 결과로 표시 모드가 “불일치 표시 모드”인 경우 및 S74에서의 판정 결과로 표시 페이지 정보가 변경되어 있지 않은 경우에, 표시처리부94는 화면표시에 필요한 디바이스 데이터를 송신할 것을 통신처리부96을 통하여 공개 서버부85에 요구하여 취득한다(S78). 이 때에 표시처리부94는, 화면 데이터 메모리97에 저장되어 있는 XML 파일, 즉 전회(前回)의 화면을 작성한 XML 파일과 동일한 XML 파일에 의거하여 상기의 요구를 한다.
마지막으로 표시처리부94는, 데이터 메모리84로부터 취득한 디바이스 데 이터와 화면 데이터 메모리97에 저장되어 있는 표시 파일(HTML/XML 파일 및 애플릿)에 의거하여 화면을 작성하여 갱신한다(S77).
여기에서 도18의 예에서는, 최초의 단위 화면이 PARAM 요소의 속성명 “BASESCR”의 속성값(이 예에서는 “1”)으로서 지정되어 있다. 이 예에서는 일치 표시 모드인 경우에 속성 “BASESCR”은 무효가 되고, 표시기5에 설정되어 있는 초기 화면 번호로 초기 표시를 한다. 또한 불일치 표시 모드인 경우에 표시처리부94는, 클라이언트 장치9의 리모트 표시 페이지 정보기억부94b에 리모트 표시 페이지 정보로서 “1”을 저장하고, 대응하는 HTML/XML 파일을 취득하여 단위 화면 “1”을 클라이언트 장치9에 표시한다. 이 때에 데이터 메모리84의 표시 페이지 정보기억부84a에는, 표시기5에 표시되어 있는 단위 화면을 나타내는 표시 페이지 정보가 리모트 표시 페이지 정보와 무관하게 저장되어 있다.
본 제어 시스템에서 로컬 제어 시스템31과 공개 서버 장치8은 표시기5에 현재 표시되어 있는 단위 화면을 나타내는 표시 페이지 정보를 포함하고 있어, 화면표시에 필요한 모든 디바이스 데이터가 데이터 메모리84에 저장되어 동기(同期)가 이루어지고 있다. 따라서 클라이언트 장치9는 로컬 제어 시스템31과 직접 통신하지 않고, 데이터 메모리84를 통하여 로컬 제어 시스템31의 상태를 취득하여 화면에 표시할 수 있다. 즉, 표시기5에 표시되어 있는 화면과는 다른 화면을 클라이언트 장치9에서 표시하는 것이 가능하게 된다.
또한 본 제어 시스템에서는 디바이스 데이터를 송신할 수 있으면 좋 기 때문에 로컬 제어 시스템31측의 설정을 간략화할 수 있다. 따라서 로컬 제어 시스템31의 유저에 부담을 주지 않고, 원격지의 클라이언트 장치9에서 로컬 제어 시스템31의 상태를 표시할 수 있다. 특히 클라이언트 장치9에서의 화면표시를 위하여 클라이언트 장치9와 로컬 제어 시스템31이 직접 통신하는 일이 없기 때문에 클라이언트 장치9에 대한 로컬 제어 시스템31의 안전성을 확보할 수 있다.
또한 화면 데이터 메모리97에 표시기5에서는 표시되지 않는 클라이언트 장치9 전용 화면의 HTML/XML 파일을 저장하여 두고, 표시 모드 절환부94a의 절환에 의하여 이들 전용 화면과 표시기5에서 표시되는 단위 화면을 절환하여 표시하여도 좋다. 이에 따라 현장에서 필요로 하지 않는 시스템 데이터의 표시화면이나 리모트 메인터넌스용 표시화면을 클라이언트 장치9에 구축할 수 있다.
또한 본 제어 시스템에서는, 공개 서버부85에 의하여 배포되는 애플릿이 각 단위 화면에 관련된 태그(처리 지시어)를 나타내는 XML 파일에 의거하여 표시/제어를 하지만 이것에 한정되는 것은 아니다.
예를 들면 도20에 나타나 있는 바와 같이, HTML 파일에 기재하는 PARAM 요소로서 화면 데이터에 포함되는 모든 태그에 대응하는 인스턴스를 생성함과 아울러 상기 인스턴스의 각 필드를 태그의 내용에 합쳐 설정한 문자열(코드)을 기술하여도 좋다. 이 경우에 파일 생성부82는 화면 데이터 중의 모든 태그에 대하여 상기 태그의 내용을 참조하고, 문자열P11a에 나 타나 있는 바와 같이 참조 결과에 의거하여 화면표시용 애플릿을 호출하는 문자열을 생성하여 HTML 파일 중에 기술한다.
이 경우에 표시 파일로서는 HTML 파일만이 생성되기 때문에 도19에 나타나 있는 바와 같이 제어 시스템에는 XML 파일 기억부83b(도16참조)이 불필요하다. 따라서 표시 파일 기억부83′에는 HTML 파일 및 애플릿이 클라이언트 장치9의 각 수단에 대응하는 폴더에 각각 저장된다.
그리고 애플릿의 동작이나 호출하는 방법과 관계 없이, 공개 서버부85에 의하여 표시기5가 화면 데이터에 의거하여 디바이스의 상태에 따라 표시하는 동작 및 조작에 따른 디바이스의 상태변경을 지시할 때의 동작을 클라이언트 장치9로 동일하게 지시할 수 있으면 도16 및 도19에 나타낸 제어 시스템은 거의 동일한 효과를 얻을 수 있다.
이어서 제어 시스템의 다른 형태에 관하여 설명한다.
도24에 나타내는 제어 시스템은 도16의 제어 시스템과 기본적으로 거의 동일하게 구성되어 있다. 그러나 본 제어 시스템에서 클라이언트 장치9는 텍스트 에디터98을 더 구비하고 있다.
텍스트 에디터98은 화면 데이터 메모리97에 저장된 파일 중 텍스트 파일을 표시/편집한다.
도25에 나타내는 플로우 차트를 참조하면서 본 제어 시스템의 동작을 설명한다. 먼저 S31 내지 S39 및 S41·S42까지는 도21의 플로우 차트의 절차와 동일하게 진행된다. 클라이언트 장치9의 유저가 화면의 절환을 지시 하면, 버츄얼 머신91은 새로운 XML 파일을 공개 서버 장치8로부터 읽어 데이터 메모리84에 저장하고, 예를 들면 도26에 나타나 있는 바와 같이 그 XML 파일에 대응하는 단위 화면을 표시한다(S43). 한편 새로운 표시기5의 화면을 지시하면 공개 서버 장치8에서 클라이언트 장치9로 HTML 파일이나 XML 파일이 송신되어 클라이언트 장치9의 데이터 메모리84에 저장된다.
또한 클라이언트 장치9의 유저가 도2에 나타내는 단위 화면에 표시되어 있는 디바이스의 상태와 도26에 나타내는 단위 화면에 표시되어 있는 디바이스의 상태를 동시에 표시 또는 조작하고 싶다고 생각한 경우에 유저에 의하여 텍스트 에디터98이 조작되고, 양 단위 화면에 대응하는 XML 파일을 편집하여 새로운 XML 파일을 작성한다(S44).
여기에서 상기 XML 파일은 도17에 나타나 있는 바와 같이 텍스트 파일이고, 텍스트 에디터98 등의 범용의 프로그램으로 편집할 수 있다. 또한 XML 파일에는 각 요소를 계층화(階層化)할 수 있어 각 처리 지시어(태그)에 대응하는 Tag 요소(El·E2)의 계층 하에 처리 지시어의 내용에 관련된 요소(E11~E15·E21~E26)가 포함되어 있다. 따라서 텍스트 에디터98을 조작하는 등의 방법으로 Tag 요소 단위로 편집(삽입/삭제)함으로써 처리 지시어(태그)가 나타내는 표시동작이나 입력동작 등의 동작을 XML 파일에 삽입하거나 삭제할 수 있다. 또한 텍스트 에디터98에서 각 Tag 요소는 일련의 텍스트(〈Tag〉~〈/Tag〉의 텍스트)로서 표현된다.
여기에서 복수의 XML 파일로부터의 Tag 요소가 혼재하는 경우에 각 Tag 요소에 관계하는 표시영역이나 입력영역이 겹치는 경우가 있다. 그런데 이들 영역의 위치는 X요소나 Y요소 등으로 결정할 수 있고, 이들 요소는 좌표에 관련되어 있다는 것을 판별할 수 있도록 미리 정해진 마크(mark)에 의하여 둘러 싸여져 있다. 따라서 이들 요소의 내용을 조정함으로써 표시영역이나 입력영역을 이동시킬 수 있고, 예를 들면 도27에 나타나 있는 바와 같이 새로운 화면을 용이하게 작성할 수 있다. 이 화면을 표시시키는 XML 파일은, 도26에 나타내는 화면의 XML 파일로부터 ON/OFF 스위치에 관련된 Tag 요소를 삭제하고, 도2에 나타내는 화면의 XML 파일로부터 스위치에 관련된 Tag 요소를 추출하여 삽입함과 아울러 스위치에 관련된 Tag 요소 중의 표시/입력영역을 나타내는 요소의 내용을 변경함으로써 작성된다. 이들 편집조작은 모두 텍스트에 대한 편집조작이기 때문에 아무런 지장없이 범용의 텍스트 에디터98로 조작할 수 있다.
본 제어 시스템은 예를 들면 도28에 나타나 있는 바와 같이, 도24에 나타내는 공개 서버 장치8의 데이터 메모리84을 대신하여 로컬 제어 시스템31의 디바이스의 입출력을 의사(擬似)하는 시뮬레이터86을 구비하여도 좋다. 이러한 구성으로 실제의 로컬 제어 시스템31가 아닌 가상의 로컬 제어 시스템을 감시 제어할 수 있다.
구체적으로 공개 서버부85는 클라이언트 장치9로부터의 요청과 내용변경지시를 시뮬레이터86으로 전송한다. 시뮬레이터86은, 예를 들면 디바이스 자체의 특성에 따른 연산으로 디바이스의 입출력을 의사하여도 좋고, 전회 의 출력이나 금회(今回)의 입력 또는 시간이나 참조횟수 등과 디바이스의 출력을 대응시킨 테이블을 미리 저장하여 두고, 상기 테이블을 참조하여 디바이스의 입출력을 의사하여도 좋다. 이 시뮬레이터86도 다른 부분과 마찬가지로 연산수단이 기억수단에 저장된 프로그램을 실행함으로써 구현되는 기능 블럭이다.
또한 본 제어 시스템은 도29에 나타나 있는 바와 같이, 상기 시뮬레이터86을 대신하여 애플릿 메모리87을 구비하여도 좋다. 이 애플릿 메모리87은 로컬 제어 시스템31의 디바이스의 입출력을 클라이언트 장치9에 의사시키는 시뮬레이터용 애플릿을 저장하고 있다. 이에 따라 표시기5와 동일한 동작을 클라이언트 장치9에 실행시키는 애플릿과 아울러 시뮬레이터86과 동일한 동작을 클라이언트 장치9에 실행시키는 애플릿을 송부할 수 있다.
이 구성에서 공개 서버부85는 애플릿 메모리87의 애플릿과 함께 애플릿 메모리87의 애플릿을 클라이언트 장치9로 송신한다. 한편 클라이언트 장치9의 버츄얼 머신91이 상기 애플릿을 실행하면 클라이언트 장치9 내에 시뮬레이터86과 동일한 시뮬레이터가 형성된다. 또한 애플릿 메모리87에 저장된 애플릿이 클라이언트 장치9에서 실행되면 그 클라이언트 장치9는 공개 서버부85에 요청하는 대신에 클라이언트 장치9 내의 상기 시뮬레이터에 요청한 결과에 의거하여 화면을 표시한다.
이들 제어 시스템에서는, 로컬 제어 시스템31로의 부정 액세스를 방지하면서 원격지에 배치된 클라이언트 장치9에서 시뮬레이터86(또는 클라이언트 장치9에 형성되는 시뮬레이터)으로 구현되는 가상의 로컬 제어 시스템31을 감시 제어할 수 있다. 따라서 클라이언트 장치9에서 실제 표시기5의 조작/조작결과를 의사적으로 체험(virtual experience)할 수 있어 예를 들면 표시기5의 오퍼레이터 양성 등에 적합하다.
또한 상기 각 제어 시스템에서는 XML 파일에 한정되지 않고, 예를 들면 SGML(Standard Generalized Markup Language) 등 다른 마크업 언어를 사용하여도 거의 동일한 효과를 얻을 수 있다.
그 외에 도30에 나타내는 제어 시스템에서는, 로컬 제어 시스템31a의 제어 컴퓨터7a는 인터넷 통신처리부80(도12참조)을 대신하여 파일 생성부82, 표시 파일 기억부83 및 공개 서버부85를 구비하고 있다. 단, 공개 서버부85는 데이터 메모리82에 액세스하는 대신에 서버부73에 액세스하여 디바이스 어드레스의 내용을 취득함과 아울러 디바이스 어드레스의 내용변경을 지시한다. 또한 파일 생성부82는 화면 데이터 메모리75로부터 화면 데이터를 읽어 HTML 파일 및 XML 파일을 생성한다.
(실시예2)
본 발명의 다른 실시예에 대하여 도31 내지 도37에 의거하여 설명하면 아래와 같다. 또한 본 실시예에 있어서, 상기 실시예1에서의 구성 요소와 동등한 기능을 구비하는 구성 요소에 대해서는 동일한 부호를 부기하여 그 설명을 생략한다.
본 실시예에 관한 제어 시스템은 도31에 나타나 있는 바와 같이 제어용 호스트 컴퓨터(이후 제어 컴퓨터라고 부른다)1, 복수의 표시기5… 및 복수의 PLC3…을 구비하고 있다.
제어 컴퓨터1 및 표시기5…는 공통 통신 프로토콜로 통신할 수 있는 네트워크6을 통하여 서로 접속되어 있다. 한편 표시기5 및 PLC3은 PLC3마다 고유한 통신 프로토콜로 통신할 수 있는 시리얼 케이블4를 통하여 각각 접속되어 있다. 또한 표시기5는 화면(표시용 화면)을 작성하기 위한 컴퓨터33에 접속되어 있다. 또한 네트워크6은 도면에 나타내지 않은 라우터를 통하여 네트워크로서의 인터넷32에 접속되어 있다. 이 인터넷32에는 클라이언트 장치9가 접속되어 있다.
본 제어 시스템에서는 실시예1의 제어 시스템과 마찬가지로, 표시기5가 네트워크6을 통하여 데이터를 통신하는 경우에 시리얼 케이블4를 통하여 전송되는 통신 프로토콜과 관계 없이 통일된 통신 프로토콜로 통신할 수 있도록 네트워크6으로 전송할 수 있는 통신 프로토콜에 공통 통신 프로토콜(공통 프로토콜)을 규정하고 있다.
컴퓨터33은 예를 들면 퍼스널 컴퓨터(PC)로 구성되어 있고, 상기 화면작성 에디터33a 및 화면 데이터 파일 기억부33b를 구비하고 있다.
화면작성 에디터33a는 실시예1의 제어 시스템에서의 화면작성처리부74(도1참조)와 거의 동일한 기능을 구비하고 있다. 화면 데이터 파일 기억부33b는 화면작성 에디터33a에 의하여 작성된 화면 1개 분량의 화면 데이터를 하나 의 파일(화면 데이터 파일)로서 저장한다. 여기에 기억된 화면 데이터는 필요에 따라 표시기5로 송신되어 화면 데이터 메모리54에 다운 로드된다.
제어용 표시장치로서의 표시기5는 화면 데이터 메모리54, 입력부55b, 시리얼 인터페이스(도면 중에 I/F)56, 네트워크 인터페이스(도면 중에 I/F)57, 데이터 처리부5a, 표시부5b, 변환 데이터 기억부5c 및 메인터넌스 포트5d를 구비하고 있다. 이 표시기5는 기본적인 기능으로는 실시예1의 제어 시스템에서의 표시기5(예를 들면 도1참조)와 동일하다.
데이터 처리부5a는 상기 PLC측 통신처리부51, 네트워크측 통신처리부52, 프로토콜 변환부53 및 표시처리부55를 포함하고 있다. 이 데이터 처리부5a는 상기 프로토콜 변환의 처리 및 화면의 표시 제어를 하고, 표시기5에 기억되어 있는 화면을 제어 컴퓨터1로 업 로드(송신)하기 위하여 각종 데이터를 처리한다.
데이터 처리부5a는, 시리얼 케이블4와 네트워크6의 사이에서의 통신 프로토콜이 서로 다른 경우에 변환 데이터 기억부5c에 기억된 데이터를 참조하면서 일방의 통신 프로토콜에서 타방의 통신 프로토콜로 변환하도록 상기 프로토콜 변환 처리를 한다. 또한 데이터 처리부5a는, 상기 화면작성 에디터33a로 작성된 화면 데이터에 의거하여 표시부5b에 VRAM 등을 이용하여 화면을 작성하도록 상기 표시 제어를 한다. 또한 데이터 처리부5a는 복수의 화면을 유저에 의한 절환 지시 입력에 따라 절환한다.
데이터 처리부5a(송신수단)는, 제어 컴퓨터1에서의 상기 서버부11로부터 의 요구에 따라 지정된 단위 화면의 화면 데이터를 화면 데이터 메모리54에 저장된 화면 데이터로부터 추출하여 제어 컴퓨터1로 송신한다. 또한 데이터 처리부5a는, 액세스가 허가되는 패스워드를 미리 화면 데이터 메모리54 등에 등록하여 두고, 유저에 의하여 제어 컴퓨터1에 입력된 패스워드가 등록된 패스워드인 것으로 확인된 경우에 화면 데이터의 업 로드를 허가한다. 이와 같이, 화면 데이터의 업 로드를 제한하는 보안 체크(security check)를 함으로써 화면 데이터가 뜻하지 않게 유출되는 것을 방지할 수 있다.
상기 데이터 처리부5a는 상기 제어 컴퓨터7(도1참조) 등의 각 부와 마찬가지로 기록매체에 의하여 제공되는 프로그램을 실행함으로써 구현되는 기능 블럭이다.
표시부5b는, 표시기5를 제어반 등에서의 편성이 용이한 소형으로 구성하기 위하여 액정 패널이나 EL 패널과 같은 평판형 표시 소자로 구성되어 있다.
변환 데이터 기억부5c는 프로토콜 변환 처리에 필요한 데이터를 기억하고 있다. 이 데이터는 시리얼 케이블4와 네트워크6의 사이에서 통신 프로토콜을 상호 변환할 수 있으면 어떠한 형식으로도 좋지만, 본 실시예에 관한 변환 데이터 기억부5c는 시리얼 케이블4에서 전송되는 데이터의 포맷을 나타내는 데이터 전송 포맷과, 시리얼 케이블4와 네트워크6의 사이에서 전송되는 커맨드 코드간의 대응관계를 나타내는 커맨드 변환 테이블(도11참조)을 기억하고 있다.
여기에서의 화면 데이터 메모리54(기억수단)는 유저에 의하여 상기 화면작성 에디터33a로 작성된 화면을 저장하는 메모리로서, 플래시 ROM 등으로 구성되어 있다.
메인터넌스 포트5d는 상기 컴퓨터33과의 사이를 통신하기 위한 통신 포트이다. 이 메인터넌스 포트5d는 컴퓨터33의 화면작성 에디터33a로 작성된 화면의 화면 데이터를 상기 화면 데이터 메모리54에 다운 로드하는 등의 이유로 설치되어 있다.
제어 컴퓨터1은 일반적인 범용의 퍼스널 컴퓨터와 마찬가지로 CPU, 메모리(RAM, ROM 등), 외부 기억장치(하드 디스크 드라이브, MO 드라이브 등), 표시장치 및 입력장치(키보드, 마우스 등)를 구비하고 있다. 또한 제어 컴퓨터1은 서버부11, 공통 프로토콜IF부(도면 중에 I/F)12, 화면 데이터 파일 기억부13, 파일 변환부14, 파일 기억부15 및 공개 서버부16을 구비하고 있다.
공통 프로토콜IF부12는 표시기5와의 사이를 통신하기 위하여 네트워크6에 접속되어 있다. 이 공통 프로토콜IF부12는 실시예1의 제어 시스템에서의 공통 프로토콜IF부72와 거의 동일한 기능을 구비하고 있다.
서버부11은 네트워크6을 통한 표시기5…와의 사이의 데이터 통신처리, PLC3로부터 표시기5를 통하여 전송된 PLC3의 출력 데이터를 수집하는 처리 등을 한다. 상기 출력 데이터는 디바이스의 상태(수치, ON·OFF 등)를 나타내는 데이터(디바이스 데이터)나 PLC3 자체의 출력(알람 출력 등)이다. 또 한 서버부11은 이러한 출력 데이터나 디바이스 어드레스를 요구에 따라 공개 서버부16에 공급한다.
서버부11은 유저의 입력지시에 따라 화면 데이터의 업 로드를 표시기5의 상기 데이터 처리부5a에 요구하고, 데이터 처리부5a를 통하여 업 로드된 화면 데이터를 화면 데이터 파일 기억부13에 저장한다. 또한 서버부11은 공개 서버부16을 통한 클라이언트 장치9로부터의 요구에 의해서도 상기 업 로드를 위하여 데이터 처리부5a와의 통신처리를 한다.
화면 데이터 파일 기억부13은 표시기5의 화면 데이터 메모리54로부터 상기 데이터 처리부5a 및 서버부11에 의하여 업 로드된 화면 데이터의 파일(화면 데이터 파일)을 저장한다.
파일 변환부14(생성수단)는 화면 데이터 파일 기억부13에 기억된 화면 데이터 파일을 상기 HTML 파일 및 XML 파일로 변환함으로써 단말용 데이터를 생성한다. 파일 변환부14는 상기 파일 생성부82(도16참조)와 거의 동일한 기능을 구비하고 있다.
상기 표시 파일 기억부83(도16참조)과 거의 동일한 기능을 구비하는 표시 파일 기억부15는 HTML 파일 기억부15a, XML 파일 기억부15b 및 애플릿 기억부15c를 구비하고 있다.
공개 서버부16(통신수단 및 취득수단)은 상기 실시예1에서의 제어 시스템(도1참조)의 공개 서버부77과 거의 동일한 기능을 구비하고 있다. 제어 컴퓨터1은 공개 서버부16을 구비함으로써 인터넷32상에서 웹 서버(Web server, 서버장치)로서 기능한다.
상기 서버부11, 파일 변환부14 및 공개 서버부16도 데이터 처리부5a와 마찬가지로 기록매체에 의하여 제공되는 프로그램을 실행함으로써 구현되는 기능 블럭이다. 또한 표시 파일 기억부15에 대한 표시 파일의 저장처리도 프로그램으로 구현된다.
상기한 바와 같이 구성되는 통신에 있어서 제어 컴퓨터1의 공개 서버부16은, 표시기5가 화면 데이터에 의거하여 디바이스의 상태에 따라 표시하는 동작 및 조작에 따른 디바이스의 상태변경을 지시할 때의 동작과 거의 동일한 동작을 클라이언트 장치9로 지시한다. 단, 표시기5가 화면 데이터에 의거하여 동작하는 경우와 다르거나 표시처가 클라이언트 장치9의 도면에 나타내지 않은 표시장치의 표시면이면, 조작은 클라이언트 장치9의 도면에 나타내지 않은 입력장치로부터 수신한다.
이어서 상기의 통신에 있어서, 표시기5의 화면 데이터를 클라이언트 장치9에서 나타냄과 아울러 표시된 화면으로부터 조작을 하는 경우의 처리에 대하여 도32의 플로우 차트를 참조하여 설명한다.
먼저 클라이언트 장치9는, 인터넷32를 통하여 제어 컴퓨터1의 공개 서버부16에 액세스하여 어떤 표시기5의 화면을 표시하도록 지시한다(S81). 그러면 공개 서버부16은 예를 들면 클라이언트 장치9로부터 받은 식별번호, 패스워드 등이 미리 등록된 것인지 아닌지를 확인하는 등으로 상기 화면에 의한 표시/제어가 상기 클라이언트 장치9 또는 그 유저에 허가되어 있 는지 아닌지를 체크하고(S82), 허가되지 않은 클라이언트 장치9로부터의 액세스를 거부한다.
액세스가 허가된 경우에 표시기5에서는, 데이터 처리부5a에 의하여 서버부11를 통하여 공개 서버부16으로부터 요청된 상기 식별번호, 패스워드 등이 표시기5에 미리 등록된 것인지 아닌지를 확인하는 등으로 화면 데이터의 업 로드가 상기 클라이언트 장치9 또는 그 유저에 허가되어 있는지 아닌지를 체크한다(S83). 그리고 허가되지 않은 클라이언트 장치9로부터의 업 로드를 거부한다.
업 로드가 허가된 경우에 표시기5의 화면 데이터(화면 데이터 파일)를 화면 데이터 파일 기억부13 등에 업 로드한다(S84). 이 때에 표시기5의 데이터 처리부5a는 화면 데이터 메모리54로부터 지정된 화면 데이터를 읽어 내어 제어 컴퓨터1로 전송한다. 제어 컴퓨터1에서의 서버부11은 화면 데이터를 수신하여 화면 데이터 파일 기억부13이나 메인 메모리(main memory)에 저장한다.
그 이후의 처리는 실시예1의 제어 시스템(도16참조)에서의 절차(도21참조) 중의 S37·S41·S42와 마찬가지로 진행된다. 단, S37의 처리는 화면 데이터 파일 기억부13에 업 로드된 화면 데이터 파일에 의거하여 이루어진다. S37의 처리에서 제어 컴퓨터1은 서버부11에 기억된 내용과 표시기5에 기억된 디바이스 어드레스의 실제의 내용을 일치시키고 있다.
또한 일치를 시킬 때에 어느 쪽의 방향으로 전송하는지는 예를 들면 변경시간이나 조작의 우선순위 등에 따라 결정된다.
예를 들면 표시기5의 디바이스 어드레스에 맞추어 서버부11의 기억내용을 갱신하는 경우에 서버부11은 표시기5와 동일하게 디바이스 어드레스를 취득하고, 디바이스 데이터로서 송신한다. 이와는 반대로 서버부11의 기억내용의 변경을 디바이스 어드레스의 실제의 내용으로 전달하는 경우에 표시기5가 액세스해 온 시점에서, 서버부11이 기억하고 있는 디바이스 데이터를 읽어 내어 표시기5로 송신한다.
또한 본 실시예에서도 파일 형식은 HTML 파일 및 XML 파일로 한정되지 않는다. 예를 들면 디바이스 데이터를 통계처리한 데이터를 표시하는 HTML 파일 등 디바이스 데이터에 의거하여 표시하기 위한 파일을 공개 하여도 좋다.
또한 상기 실시예에서도 애플릿을 대신하여 다른 실행 프로그램을 전송하여도 거의 동일한 효과를 얻을 수 있다.
이상에서 서술한 바와 같이 본 실시예에 관한 통신은, 표시기5에 저장되어 있는 화면 데이터를 업 로드하고, 그것에 의거하여 공개용 파일을 작성하고, 클라이언트 장치9에서 그 화면 데이터의 화면을 나타내고, 그 화면으로부터의 조작을 하도록 구성되어 있다. 이에 따라 제어 컴퓨터1이 컴퓨터33과 같이, 화면 데이터를 저장하여 두는 화면 데이터 파일 기억부8b를 전용으로 구비하고 있지 않아도 표시기5에서 나타내고 있는 화면과 동일한 화면을 클라이언트 장치9에 나타낼 수 있다. 그 때문에 화면 데이터 파일 기억부33b에 저장된 화면 데이터와 동일한 화면 데이터를 제어 컴퓨터1에도 저장하여 둘 필요가 없다.
이어서 본 제어 시스템의 다른 형태에 관하여 설명한다.
도33에 나타내는 제어 시스템은 제어 컴퓨터1, 복수의 표시기5, 복수의 클라이언트 장치9 및 복수의 PLC3을 구비하고 있다.
이 제어 시스템에서 공개측 공통 네트워크34(로컬 네트워크)는 TCP/IP로 통일된 인트라넷(intranet) 등의 로컬 네트워크이다. 이러한 공개측 공통 네트워크34를 채용함으로써 인터넷에서 사용되는 응용 프로그램(application program)을 그대로 전용할 수 있다. 공개측 공통 네트워크34는, 기업 내 등의 폐쇄된 범위에서의 정보교환을 하는 네트워크 형태이기 때문에 외부에 공개할 수 없는 중요한 정보를 방화벽(fire wall)에 의하여 방어할 필요가 있다.
여기에서의 서버부11은 상기 출력 데이터나 디바이스 어드레스를 요구에 따라 통신처리부19에 공급한다. 또한 서버부11은 클라이언트 장치9로부터 디바이스 어드레스A의 변경지시를 받으면 디바이스 어드레스A를 지시에 따른 값으로 갱신한다.
화면작성부17은 실시예1의 제어 시스템에 있어서의 화면작성처리부74(도1참조)와 거의 동일한 기능을 구비하고 있다. 화면 데이터 파일 기억부13은 상기 화면작성부17에 의하여 작성된 화면의 화면 1개 분량의 화면 데이터를 하나의 파일(화면 데이터 파일)로서 저장한다.
통신처리부19(서버측 통신수단)는 클라이언트 장치9에 있어서의 후에 상 술하는 애플릿과 통신처리부96를 통하여 통신한다. 또한 통신처리부19는 제어 컴퓨터1에서의 통신처리를 중심으로 하여 기능하고, 클라이언트 장치9의 후에 상술하는 통신처리부96로부터의 액세스, 제어 컴퓨터1 내에서의 표시 파일 기억부15(서버측 저장수단) 및 서버부11로부터의 액세스, 서버부11 및 통신처리부96으로의 액세스 등에 대한 통신처리를 한다. 이 통신처리에 있어서는, 예를 들면 HTML 파일 및 XML 파일이나 디바이스 데이터를 애플릿 기억부15c에 기억된 애플릿의 요구에 따라 실행부18로 송출함과 아울러 후에 상술하는 애플릿 기억부98c에 기억된 애플릿로부터의 요구에 따라 서버부11로 액세스함으로써 통신처리부96에 반송한다.
또한 통신처리부19는 유저 어카운트 파일을 구비하고 있고, 이 유저 어카운트 파일을 이용하여 클라이언트 장치9로부터의 액세스의 레벨에 따른 프로텍트(protect) 처리를 한다. 통신처리부19는 이러한 프로텍트 처리를 하기 위하여 예를 들면 유저명, 패스워드, 액세스 레벨, 알람 로그(alarm log) 작성, 코멘트(comment) 등을 유저마다 설정한다. 액세스 레벨로서는 표시기5의 표시내용을 읽기만 하는 레벨, 읽기 뿐만 아니라 쓰기도 허가하는 레벨, 표시기5에 대하여 리셋 커맨드(reset command)의 송신을 유효하게 하는 레벨, 알람 로그 파일의 작성을 허가하는 레벨 등을 들 수 있다.
상기 리셋 커맨드는 표시기5에 통신 에러 등의 이상이 발생한 경우에 대한 복구조치의 수단으로서 표시기5를 리셋하기 위한 커맨드다. 이러한 커맨드를 제어 컴퓨터1로부터 송신함으로써 제어 컴퓨터1로부터 복구조치를 할 수 있다. 알람 로그 파일은 표시기5에 축적되어 있는 PLC3으로부터의 알람 정보를 제어 컴퓨터1에 나타내기 위한 파일이다.
실행부18은 애플릿 기억부15c(실행 프로그램 기억수단)에 기억된 애플릿을 실행하기 위한 프로그램으로 버츄얼 머신과 동일한 기능을 구비하고 있다.
상기 서버부11, 통신처리부19 및 실행부18도 상기 데이터 처리부5a(도31참조)와 마찬가지로 기록매체에 의하여 제공되는 프로그램을 실행함으로써 구현되는 기능 블럭이다.
여기에서의 클라이언트 장치9는 표시 파일 기억부98(단말측 저장수단)을 구비하고 있다. 표시 파일 기억부98은 HTML 파일 기억부98a, XML 파일 기억부98b 및 애플릿 기억부98c를 구비하고 있다. HTML 파일 기억부98a 및 XML 파일 기억부98b는 각각 상기 HTML 파일 기억부15a 및 XML 파일 기억부15b에 저장된 HTML 파일 및 XML 파일과 동일하게 파일을 저장하고 있다. 애플릿 기억부98c는 클라이언트 장치9의 수단마다 미리 작성된 애플릿을 저장하고 있다.
애플릿 기억부98c에 저장되는 애플릿은, 상기 애플릿 기억부15c에 저장되는 애플릿과 거의 동일한 기능을 구비하고 있지만 클라이언트 장치9에서 표시기5에 표시되는 화면을 나타내고, 그 화면으로부터의 조작을 가능하게 하기 위하여 버츄얼 머신91(표시처리수단)에서 실행된다는 점에서 상기 애플릿과 다르다. 따라서 이 애플릿을 실행하는 버츄얼 머신91은 XML 파일을 참조하고, 태그를 나타내는 XML 요소에 의거하여 태그의 종류에 따라 메소드를 호출한다. 예를 들면 버츄얼 머신91이 실행하는 메소드 중 표시 태그에 대응하는 메소드는 상기 화면작성 메소드이고, 또한 입력 태그에 대응하는 메소드는 상기 입력 메소드이다.
통신처리부96(단말측 통신수단)은 상기 애플릿의 요구에 따라 통신처리부19와 공개측 공통 네트워크34를 통하여 통신한다. 또한 통신처리부96은 클라이언트 장치9에서의 통신처리를 중심으로 하여 기능하고, 표시 파일 기억부98로부터의 액세스, 통신처리부19로부터의 액세스, 버츄얼 머신91로부터의 액세스 등에 대한 통신처리를 한다. 이 통신처리에 있어서는, 예를 들면 애플릿으로부터의 요구에 따라 양 파일 기억부98a·98b로부터의 HTML 파일 및 XML 파일을 버츄얼 머신91에서 다운 로드하는 한편 서버부11에서 받은 디바이스 데이터를 통신처리부19로 액세스함으로써 취득한다.
상기와 같이 구성되는 제어 시스템에서 제어 컴퓨터1이 표시기5에 표시되는 화면을 제어 컴퓨터1에 나타내도록 지시하면, HTML 파일 기억부15a에 기억되어 있는 HTML 파일이 열린다. 그러면 실행부18은 통신처리부19를 통하여 받은 HTML 파일에서의 각 APPLET 요소(“〈APPLET〉”에서 “〈/APPLET〉”인 부분)를 추출하여 실행한다. 또한 실행부18은 화면의 표시에 필요한 XML 파일을 통신처리부19를 통하여 XML 파일 기억부15b로부터 취득한다. 또한 실행부18은, XML 파일을 참조하면서 상기 HTML 파일로 지정된 표시기5의 화면을 제어 컴퓨터1에 설치된 도면에 나타내지 않은 표시부에 표시하 여 그 화면에서의 조작에 따른 제어를 상기 제어 컴퓨터1에 설치된 도면에 나타내지 않은 조작부에서의 입력에 의하여 지시한다.
이와 같이 애플릿을 실행부18에서 실행시킴으로써, 표시기5에 표시되는 화면을 제어 컴퓨터1에 표시함과 아울러 제어 컴퓨터1의 그 화면에서 입력조작을 할 수 있다.
이어서 상기 제어 시스템에 있어서, 표시기5의 화면 데이터를 클라이언트 장치9에서 나타내는 경우의 처리에 대하여 도34의 플로우 차트를 참조하여 설명한다.
표시기5에 표시된 화면을 클라이언트 장치9에 표시하는 처리가 클라이언트 장치9측의 유저에 의하여 지시되면, 애플릿 기억부98c에 기억된 애플릿을 HTML 파일 기억부98a에서의 디폴트 파일인 default.htm으로 출력한다(S91). 이 상태에서 클라이언트 장치9에 표시하기를 원하는 표시기5의 화면에 대응하는 HTML 파일이 HTML 파일 기억부98a에서 열리면 통신처리부96이 작동한다(S92).
통신처리부96이 공개측 공통 네트워크34를 통하여 제어 컴퓨터1에서의 통신처리부19에 액세스하면, 통신처리부19는 상기 보안 설정을 이용하여 클라이언트 장치9로부터 받은 유저명, 패스워드 등이 미리 등록된 것인지 아닌지를 확인하는 등의 방법으로 상기 화면에 의한 표시/제어가 상기 클라이언트 장치9 또는 그 유저에 허가되어 있는지 아닌지를 체크하고(S93), 허가되지 않은 클라이언트 장치9로부터의 액세스를 거부한다. 또한 이 때에 액세스 레벨도 함께 체크된다.
액세스가 허가된 경우에 통신처리부96은 통신처리부19를 통하여 서버부11에 액세스하여 어떤 표시기5의 화면을 표시하도록 지시한다(S94). 통신처리부19는 미리 설정된 액세스 레벨에 따라서 서버부11을 통한 표시기5의 데이터로의 액세스를 제한한다.
다음에 클라이언트 장치9의 브라우저92는, 통신처리부96을 통하여 HTML 파일 기억부98a로부터 HTML 파일을 받아 그 HTML 파일 중의 각 APPLET 요소(“〈APPLET〉”에서 “〈/APPLET〉”인 부분)에서 지정된 애플릿을 마찬가지로 HTML 파일 기억부98a로부터 취득하고, 버츄얼 머신91에서 실행된다(S95). 또한 버츄얼 머신91은, 화면의 표시에 필요한 XML 파일을 통신처리부96을 통하여 XML 파일 기억부98b로부터 취득하여 그 XML 파일을 참조하면서 각 처리 지시어에 따른 인스턴스를 생성한다(S96). 이들의 인스턴스 중 표시용 처리 지시어에 따른 인스턴스의 화면작성 메소드는 소정의 시간 간격으로 실행된다. 이 결과로 버츄얼 머신91은 디바이스 어드레스A를 통신처리부96과 통신처리부19와의 통신를 통하여 서버부11에 요청한다(S97).
한편 서버부11은 요청을 받으면, 상기 애플릿에 대응하는 유저의 기억영역 중 디바이스 어드레스A에 대응하는 영역으로부터 데이터를 읽어 내어 상기 통신에 의하여 클라이언트 장치9로 송신한다(S98). 그 데이터가 공개측 공통 네트워크34를 통하여 클라이언트 장치9에 전해지면, 상기 화면작성 메소드는 그 데이터(디바이스 어드레스A)에 따라 클라이언트 장치9에 표시 된 화면에서 미리 정해진 표시영역(X, Y)의 표시를 갱신한다(S99).
상기 HTML 파일에는 복수의 애플릿이 포함되어 있지만 각 애플릿은 브라우저92로부터 그 화면영역 내의 상대좌표(예를 들면 좌측 상단 모서리 등을 기준으로 하는 상대좌표)에서 화면을 작성한다. 따라서 클라이언트 장치9는 HTML 파일에 포함되어 있는 애플릿의 개수나 절차와 관계 없이 디바이스의 상태를 표시할 수 있다.
한편 버츄얼 머신91은, 애플릿의 실행 중에 예를 들면 마우스 조작 등의 입력조작이 이루어지면 입력용 처리 지시어에 대응하는 인스턴스 중 입력조작에 따른 인스턴스의 입력 메소드를 실행한다. 이에 따라 버츄얼 머신91은 입력결과에 따른 데이터를 특정한 디바이스 어드레스에 쓰도록 양 통신처리부96·19와의 통신을 통하여 서버부11에 요구한다. 서버부11은 기억영역 중 요구된 디바이스 어드레스A 영역의 내용을 갱신한다. 갱신된 그 내용은 네트워크6을 통하여 표시기5로 송신된다. 이 결과로 클라이언트 장치9에 표시된 화면에는 입력 후 상기 입력 메소드가 실행된 시점에서 표시기5와 마찬가지로 조작결과가 반영된다.
이에 따라 클라이언트 장치9는, 표시기5와 떨어진 장소에서 공개측 공통 네트워크34를 통하여 제어 컴퓨터1과 접속되어 있는 경우에도 표시기5의 화면과 동일한 내용의 화면을 표시함과 아울러 동일한 조작으로 디바이스의 상태를 제어할 수 있다.
이상에서 서술한 바와 같이 본 실시예에 관한 제어 시스템은, 각 클라이언트 장치9에 인스톨된 애플릿이 양 통신처리부96·19 사이의 통신을 통하여 표시동작이나 디바이스 어드레스의 변경지시를 버츄얼 머신91에서 실행시키기 위한 요청을 제어 컴퓨터1의 서버부11에 하도록 구성되어 있다. 이에 따라 표시기5가 설치된 장소로부터 떨어진 장소에 설치되어 있는 복수의 클라이언트 장치9에서도 표시기5에 표시되는 화면의 내용을 표시기5에 나타내고 열람할 수 있음과 아울러 그 화면상에서의 조작도 할 수 있다.
또한 제어 컴퓨터1이, 통신처리부19와 액세스할 수 있는 실행부18을 구비함으로써 제어 컴퓨터1에서 애플릿 기억부15c에 기억된 애플릿을 실행한다. 그 때문에 제어 컴퓨터1에서도 표시기5에 표시되는 화면의 내용을 표시기5에 나타내고 열람할 수 있음과 아울러 그 화면상에서의 조작도 할 수 있다.
HTTP를 이용한 일반적인 인터넷 통신을 하는 서버장치는 클라이언트 장치와의 사이의 정보를 교환하기 위하여 웹 서버용 소프트웨어와 CGI를 구비할 필요가 있지만, 이들을 통한 처리는 실행효율이 그다지 좋지 않다. 이에 대하여 상기 통신에서는, 제어 컴퓨터1과 클라이언트 장치9 사이의 통신이 통신처리부19와 통신처리부96 사이의 통신을 통하여 직접 이루어진다. 이에 따라 통신속도가 향상되기 때문에 제어 컴퓨터1과 클라이언트 장치9 사이의 정보교환을 효율적으로 할 수 있다.
또한 본 제어 시스템에서는, 제어 컴퓨터1이 웹 서버용 소프트웨어를 구비하지 않기 때문에 클라이언트 장치9로부터의 액세스에 대응하여 웹 서버 용 소프트웨어의 보안기능을 이용할 수 없다. 그러나 통신처리부19에서는 유저마다 미리 설정된 액세스 레벨로 표시기5의 데이터로의 액세스가 제한되기 때문에 보안성을 높일 수 있다. 또한 이러한 액세스 제한방법으로는, 인터넷 통신에서의 일반적인 액세스 제한과 마찬가지로 모든 레벨로 액세스의 허가 또는 거부를 일괄하여 처리하지 않아 특정한 레벨에서 액세스를 설정할 수 있다. 그 때문에 예를 들면 시스템 관리자 등 통신에 깊이 관여하는 중요한 입장에 있는 유저에 대해서는 보다 높은 레벨의 액세스를 허가한다고 하는 액세스 관리를 할 수 있다.
본 제어 시스템의 또 다른 형태에 관하여 설명한다.
도35에 나타내는 제어 시스템에서는, 클라이언트 장치9가 공개 네트워크로서의 인터넷32를 통하여 제어 컴퓨터1과 인터넷 통신이 가능하도록 접속된다.
본 제어 시스템에서 제어 컴퓨터1은 또한 CGI(Common Gateway lnterface)20을 구비하고 있다.
브라우저92는, 제어 컴퓨터1에 액세스하여 웹 페이지(Web page)로서의 화면을 클라이언트 장치9에 나타내도록 지시된 경우에 그것을 인식하여 HTTP를 이용한 통신이 이루어지는 것을 인식한다. 한편 클라이언트 장치9에서의 브라우저92는, 화면을 클라이언트 장치9에 나타내도록 지시된 경우에 HTML 파일 기억부98a에 기억된 HTML 파일을 열면 통신처리부96을 통하여 통신이 이루어지는 것을 인식한다.
CGI20(통신 중계수단)은 일반적인 인터넷 통신에서 서버장치에 설치되고 플랫폼(platform)에 의존하지 않는 인터페이스 프로그램이다. 이 CGI20은 상기 브라우저92가 공개 서버부16을 통하여 통신처리부19로 액세스함과 아울러 그 액세스에 대한 통신처리부19로부터의 응답(HTML 데이터)을 공개 서버부16에 출력한다.
여기에서의 서버부11은, 클라이언트 장치9로부터 CGI20을 경유하여 통신처리부19에 액세스되어 있는 노드수나 통신처리부19를 통한 타국(他局)으로의 중계 액세스수를 카운트하고, 그것을 표시하는 기능을 구비하고 있다. 이에 따라 액세스 관리가 용이해지기 때문에, 통신처리부19의 통신 액세스의 상태가 파악되어 부정 액세스를 검증할 수 있다.
이어서 상기의 통신에 있어서, 표시기5의 화면 데이터를 클라이언트 장치9에서 나타내는 경우의 처리에 대하여 도36의 플로우 차트를 참조하여 설명한다.
먼저 클라이언트 장치9는, 인터넷32를 통하여 제어 컴퓨터1의 공개 서버부16에 액세스하여 어떤 표시기5의 화면을 표시하도록 지시한다(S101). 그러면 공개 서버부16은 예를 들면 클라이언트 장치9로부터 받은 식별번호, 패스워드 등이 미리 등록된 것인지 아닌지를 확인하는 등의 방법으로 상기 화면에 의한 표시/제어가 상기 클라이언트 장치9 또는 그 유저에 허가되어 있는지 아닌지를 체크하고(S102), 허가되지 않은 클라이언트 장치9로부터의 액세스를 거부한다. 이 때에 통신처리부19가 클라이언트 장치9로부터의 통신처리부19에 대한 액세스의 가부(可否)를 상기한 바와 마찬가지로 체크한다(도34의 S93).
액세스가 허가된 경우에 CGI20을 중계한 통신처리부19로의 액세스에 의하여 클라이언트 장치9로부터의 공개용 파일의 생성요구를 받으면 파일 변환부14는, 화면 데이터 파일 기억부13에 저장된 화면 데이터 파일에 의거하여 HTML 파일 및 XML 파일 등 공개용 파일을 생성하여 HTML 파일 기억부15a 및 XML 파일 기억부15b 중 유저용 영역에 저장한다(S103). 공개 서버부16은 허가된 정규 클라이언트 장치9에 대해서만 클라이언트 장치9가 요구한 화면을 표시하기 위한 HTML 파일을 HTML 파일 기억부15a로부터 읽어 내고, 그 파일을 통신처리부19로부터 CGI20을 중계하고, 공개 서버부16으로부터 인터넷32를 통하여 클라이언트 장치9로 송신한다(S104). 또한 그 파일을 이용하여 클라이언트 장치9에 의한 화면을 표시한다(S105).
본 제어 시스템에서도, 상기 도33의 제어 시스템과 마찬가지로 상기의 요청·변경 지시 및 표시동작을 클라이언트 장치9에서 하는 애플릿을 전송하고 있기 때문에 데이터 전송량을 대폭 삭감할 수 있고, 클라이언트 장치에서의 응답속도를 대폭 향상시킬 수 있다. 또한 예를 들면 커서의 이동 등 유저 인터페이스를 클라이언트 장치측에서 처리할 수 있기 때문에 응답속도를 더욱 향상시킬 수 있다.
또한 본 제어 시스템에서도 상기 실시예1과 마찬가지로 파일 형식은 HTML 파일 및 XML 파일로 한정되지 않는다.
또한 본 제어 시스템은 도37에 나타나 있는 바와 마찬가지로 구성되어 있어도 좋다.
이 제어 시스템에서는, 하나의 클라이언트 장치9가 공개측 공통 네트워크34 및 인터넷32를 통하여 제어 컴퓨터1과 액세스할 수 있도록 구성되어 있다. 이 때문에 브라우저92는 제어 컴퓨터1의 파일에 의거하여 화면을 클라이언트 장치9에 나타내는 경우에 상기와 같이 그것을 인식하고, 통신처리부19에 인터넷32을 통하여 통신하도록 하는 한편, 클라이언트 장치9의 파일을 이용하여 화면을 나타내는 경우에 상기와 같이 그것을 인식하고, 통신처리부19에 공개측 공통 네트워크34를 통하여 통신하도록 한다.
따라서 이러한 제어 시스템에서는 유저가 어느 하나의 통신을 선택하는 것 만으로, 선택된 통신에 적합한 처리가 이루어진다. 그 때문에 유저는 통신 형태의 차이점을 의식하지 않고 화면의 표시 및 표시된 화면으로부터의 조작을 할 수 있다. 그 결과, 유저는 특별한 조작없이 CGI20을 경유하는 일반적인 인터넷32를 통한 통신과 이 통신과 비교하여 보다 고속으로 통신할 수 있는 공개측 공통 네트워크34를 통한 통신을 이용할 수 있다.
(실시예3)
본 발명의 다른 실시예에 대하여 도38 내지 도43에 의거하여 설명하면 아래와 같다. 또한 본 실시예에 있어서, 상기 실시예1 및 실시예2 에서의 구성 요소와 동일한 기능을 구비하는 구성 요소에 대해서는 동일한 부호를 붙이고 그 설명을 생략한다.
본 실시예에 관한 제어 시스템은 도38에 나타나 있는 바와 같이 제어용 호스트 컴퓨터(이후 제어 컴퓨터라고 부른다)2, 복수의 표시기5…, 복수의 PLC3… 및 클라이언트 장치9를 구비하고 있다.
제어 컴퓨터2 및 표시기5…는 공통 통신 프로토콜로 통신할 수 있는 네트워크6(공통 네트워크)을 통하여 서로 접속되어 있다. 한편 표시기5 및 PLC3은 PLC3마다 고유한 통신 프로토콜로 통신할 수 있는 시리얼 케이블4(전용 네트워크)를 통하여 각각 접속되어 있다.
또한 광의(廣義)의 통신 프로토콜에는, 시작문자(start character)나 종료문자(end character)를 나타내는 코드, 각 문자의 송수신 타이밍, 송신처나 송신원(送信元)의 특정 방법 등이 송신원과 송신처를 포함하는 네트워크 내에서 통일되지 않으면 정상적으로 데이터를 전송할 수 없는 통신 프로토콜과, 각 PLC3이 이해할 수 있는 커맨드 체계 등 송신원과 송신처에서 통일되지 않으면 일방이 원하는 동작과 타방이 실시하는 동작이 일치하지 않아 정상적으로 제어할 수 없는 통신 프로토콜이 존재한다. 그 때문에 이하의 설명에서는 양자(兩者)의 조합을 통신 프로토콜이라고 부르고, 양자의 구별이 필요한 경우에는 전자(前者)를 전송 프로토콜, 후자(後者)를 커맨드 체계로 하여 구별한다.
여기에서 각 PLC3의 제조자가 규정하는 통신 프로토콜에서는, 데이터 의 읽어 내기를 지시하는 경우에 대략 도9에 나타내는 상기 데이터열41이 전송된다.
따라서 본 실시예에서는, 표시기5가 네트워크6을 통하여 데이터를 통신하는 경우에 시리얼 케이블4를 통하여 전송되는 통신 프로토콜과 관계 없이 통일된 통신 프로토콜로 통신할 수 있도록 네트워크6으로 전송할 수 있는 통신 프로토콜에 공통 통신 프로토콜(공통 프로토콜)을 규정하고 있다.
이 때문에 네트워크6를 통하여 통신할 때에 도39에 나타나 있는 바와 같이 TCP/IP에서 규정된 형식의 데이터열66을 수신한다. 이 데이터열66은 송신원 및 송신처의 IP 어드레스를 포함하는 헤더부67과 통신 내용을 나타내는 상기 데이터 본체63(도10참조)을 구비하고 있다.
여기에서의 표시기5는 데이터 전송부5e를 구비하고 있다. 데이터 전송부5e는 미리 설정된 전송조건을 만족할 때에 PLC3의 출력 데이터를 지정된 전송처로 전송한다. 이 때문에 데이터 전송부5e에는 전송처의 노드에 관한 노드 정보 및 전송에 관한 설정 정보가 제어 컴퓨터2로부터 미리 다운 로드되어 기억되어 있다.
제어 컴퓨터2(호스트 컴퓨터)는 서버부21, 공통 프로토콜IF부(도면 중 I/F)22, 전송설정부23, 네트워크 파일24, 데이터 등록부25, 어플리케이션부26, 데이터 베이스27, 데이터 메모리28, 컴파일러29 및 공개 서버부30을 구비하고 있다.
인터페이스부22는 표시기5와의 사이에서 통신하기 위하여 네트워크6에 접속되어 있다. 이 공통 프로토콜IF부22는 실시예1의 제어 시스템에서의 공통 프로토콜IF부72(도1참조)와 거의 동일한 기능을 구비하고 있다.
서버부21은 데이터 통신처리부21a 및 데이터 베이스 관리부21b를 구비하고 있다. 이 서버부21은 상기 데이터 처리부5a(도31참조)와 마찬가지로 기록매체에 의하여 제공되는 프로그램을 실행함으로써 구현되는 기능 블럭이다.
데이터 통신처리부21a는 네트워크6을 통한 표시기5…와의 사이의 데이터를 통신처리함과 아울러 어플리케이션부26과의 사이에서 데이터를 교환하는 부분이다. 이 데이터 통신처리부21a는, 예를 들면 후에 상술하는 화면작성 에디터26a로 작성된 화면이나 래더 에디터26b로 작성된 유저 프로그램으로서의 래더 프로그램을 표시기5로 전송하거나 표시기5로부터 전송된 화면 또는 PLC3으로부터 표시기5에 의하여 전송된 래더 프로그램 및 PLC3의 입력 데이터(제어지시 데이터)나 출력 데이터를 수집하는 처리를 한다. 이 입력 데이터는 입력기기에 있어서 후에 상술하는 디바이스 어드레스(비트, 수치 등)의 변경해야 할 내용이고, 출력 데이터는 출력기기에 있어서 디바이스 어드레스의 출력해야 할 내용이다.
데이터 베이스 관리부21b(축적수단 및 검색수단)는, 표시기5로부터 전송된 화면 또는 래더 프로그램 및 PLC3의 입출력 데이터를 데이터 베이스27에 등록하거나 데이터 베이스27에 등록된 그들의 데이터를 검색한다.
구체적으로 데이터 베이스 관리부21b는 데이터 베이스27에서 표시기5마다 명칭이 부여된 폴더를 설정하고, 표시기5로부터 소정의 주기마다 전송되는 표시기5에 표시된 화면 또는 PLC3에서 실행된 래더 프로그램, 그 화면에서의 변화 요소로서의 심볼(부품 및 태그) 또는 그 래더 프로그램에서의 변화 요소로서의 래더 기호, 디바이스 어드레스, 상기 입출력 데이터를 각각 조합시켜서 레코드로 하고, 상기 폴더에 그 레코드를 발생순으로 등록한다. 폴더명으로서는, 예를 들면 표시기5의 국명, 예를 들면 도38에 나타나 있는 바와 같이 A로 표시되는 “노드A”나 표시기5의 기종명으로 한 적당한 명칭이 이용된다. 또한 데이터 베이스 관리부21b는, 유저가 지정한 폴더의 지정한 시간에서의 레코드를 검색하여 얻어진 레코드를 표시하도록 화면작성 에디터26a 또는 래더 에디터26b로 보낸다.
데이터 베이스27이 일반적으로 하드 디스크 장치에 구축되기 때문에, 하드 디스크 장치로부터 데이터를 읽어 내는데는 비교적 긴 시간이 필요하다. 이 때문에 데이터 베이스 관리부21b는 복수의 레코드로 이루어지는 블럭 단위로 레코드를 읽어 낸다. 이에 따라 하드 디스크 장치로의 액세스가 적어지고, 검색의 속도를 높일 수 있다. 또한 복수의 블럭을 정리하여 읽어 냄으로써 보다 고속으로 검색할 수 있다.
데이터 베이스 관리부21b는, 검색을 하기 위하여 예를 들면 도40에 나타내는 검색 화면101을 유저에게 제공한다. 이 검색 화면101은 재생키101a, 정지키101b, 앞으로감기키101c, 뒤로감기키101d, 일시정지키101e, 일시(日時)를 설정하는 일시설정부101f 및 후에 상술하는 키를 지정하는 키 지정부101g를 구비하고 있다.
데이터 베이스 관리부21b는 재생키101a의 조작에 의하여 화면작성 에디터26a 또는 래더 에디터26b가 검색 데이터를 동영상으로 표시하도록 하여 연속적으로 데이터를 검색한다. 이 검색에 있어서 앞으로감기키101c 또는 뒤로감기키101d가 조작되면 검색 속도가 높아지고 검색 화면이 순방향 또는 역방향으로 고속으로 표시되는 한편, 일시정지키101e의 조작에 의하여 검색이 일시정지한다. 이 때에 화면은 정지 상태로 표시된다. 또한 앞으로감기키101c 또는 뒤로감기키101d만의 조작에서는 고속으로 검색 위치가 변화되지만, 화면은 표시(재생)되지 않는다. 이 때에 일시설정부101f에는 검색 위치를 이동할 때 확인된 일시가 표시되어 있다. 또한 정지키101c의 조작에 의하여 검색이 정지한다.
상기 검색 화면101은, 검색되어 화면작성 에디터26a 또는 래더 에디터26b에 의하여 표시된 재생 화면52상에 표시되고, 마우스 등의 드래그 앤 드롭에 의하여 원하는 위치로 이동할 수 있다. 이러한 검색 화면101에 의하여 오디오 장치 등의 조작과 동일하게 검색 환경이 유저에게 제공된다.
또한 데이터 베이스 관리부21b는 네트워크를 통한 데이터 베이스27로의 액세스에 대한 보안 체크를 실시한다. 예를 들면 네트워크6에 있어서 유저 ID 및 패스워드가 등록된 것으로 확인되면 액세스가 허가(인증)된다. 이에 따라 네트워크6에 접속되는 인터넷32로부터의 제3자에 의한 허가되지 않은 액세스를 거부할 수 있다.
전송설정부23은 노드 정보 및 전송 정보를 설정한다. 노드 정보는 네트워크6에서의 노드와 그 노드에 접속되는 표시기5의 종류를 포함하고 있다. 전송 정보는 각 PLC3에 접속되는 디바이스10(입력기기 및 출력기기)의 명칭, 각 표시기5마다의 데이터 전송 타이밍, 전송해야 할 데이터의 저장 어드레스, 수신한 데이터의 저장 어드레스 등을 포함하고 있다. 이들의 노드 정보 및 전송 정보는 네트워크 파일24에 저장되고, 필요에 따라 각 표시기5의 데이터 전송부5e에 다운 로드된다. 이 전송설정부23도 데이터 처리부5a와 마찬가지로 기록매체에 의하여 제공되는 프로그램을 실행함으로써 구현되는 기능 블럭이다.
데이터 등록부25는 변환 데이터 기억부5c에 기억되어야 할 상기 프로토콜 변환 데이터를 미리 등록하고 있다. 이 변환 데이터는 초기 설정을 할 때나 제어 시스템에 접속되는 PLC3이 변경될 때 등의 메인터넌스를 할 때에 데이터 통신처리부5a를 통하여 필요로 하는 표시기5에 다운 로드된다.
어플리케이션부26은 화면작성 에디터26a 및 래더 에디터26b를 포함하고 있다.
화면작성 에디터26a는 실시예1의 제어 시스템에서의 화면작성처리부74(도1참조)와 거의 동일한 기능을 구비하고 있다. 이 화면작성 에디터26a에 의하여 작성된 화면은 필요에 따라 인터페이스부12를 통하여 표시기5로 전송되고, 화면 데이터 메모리54에 다운 로드된다.
래더 에디터26b는, 디바이스10이 원하는 시퀸스를 따라 동작하도록 PLC3의 제어절차를 정하는 래더 프로그램을 작성하기 위한 프로그래밍 소프트웨어이고, 제어 컴퓨터2의 디스플레이(도면에 나타내지 않는다)상에서 디바이스10의 동작에 대응하는 래더 기호를 배치하여 래더도를 작성할 수 있도록 구성되어 있다. 이 래더 에디터26b에 있어서는, 예를 들면 국제기준IEC에 준거한 상기 프로그래밍 언어가 이용된다.
또한 래더 에디터26b는, PLC3의 입력단자 및 출력단자의 각각에 부여되어 있는 입력번호 및 출력번호와 각 입출력단자에 접속되는 입력기기6 및 출력기기7의 명칭(디바이스명)과의 대응으로 변수를 통하여 입출력번호를 할당(I/O 할당)한다. 이 할당한 결과는 제어 컴퓨터2 내의 기억장치(도면에 나타내지 않는다)에 저장된다.
할당할 때, 제어 컴퓨터2 내의 소정의 메모리에는 입력번호 및 출력번호를 각각 어드레스로 하여 각 어드레스에 대응하는 디바이스명이 저장된다. 종래 이러한 할당은 PLC의 메이커에 따라 달라지고, 절대 어드레스로 설정되기 때문에 메이커에 따른 메모리 테이블을 준비해야 한다. 단, IEC에 준거한 본 래더 에디터26b는, 상기 변수(자유변수)에 의하여 유저가 입출력을 결정할 수 있기 때문에 상기와 같은 메모리 테이블은 불필요하다. 또한 한번 결정한 할당도 나중에 변경할 수 있다.
래더 에디터26b로 작성된 래더 프로그램은 프로그래머블 표시기5를 통하여(또는 직접) PLC3으로 전송되고, PLC3 내의 메모리에 다운 로드된다.
데이터 베이스27은 데이터 베이스 관리부21b에 의하여 순차적으로 쓰여 지는 데이터를 폴더마다 관리하고 있다. 예를 들면 노드A의 표시기5에 표시되는 화면에 있어서는, 도41(a)에 나타나 있는 바와 같이 “일시”, “화면”, “설정온도”, “레벨”, “설정압력”, “레벨”, “알람” 등의 각 항목이 필드로서 만들어져 있다. “일시”는 도41(a)에서 분(分) 단위까지 기재되어 있지만, 필요에 따라 초(秒)나 밀리 세크(mili second)의 단위까지 보존할 수 있도록 하여도 좋다. “화면”은 화면의 파일명을 나타내고 있다. “설정온도” 및 "설정압력"은 작업지시로서 설정된 온도 및 압력을 나타내고, “레벨”은 설정된 온도나 압력에 대한 실제의 온도나 압력을 나타내고 있다. 알람은 설정된 온도나 압력이 규정범위 내에 있을 때에는 정상으로서 “0”의 값을 취하고, 규정범위 외에 있을 때에는 비정상으로서 “1”의 값을 취한다.
또한 도면에 나타내지 않지만, “화면”을 제외한 각 필드의 데이터는 디바이스 어드레스 및 화면상의 심볼의 데이터가 대응하도록 맞추어 쓰여진다. 예를 들면 “온도설정”의 경우에는 온도조절기의 디바이스 어드레스 및 수치입력 태그이거나 “알람”의 경우에는 램프의 디바이스 어드레스 및 심볼이다. 그들의 필드에 의하여 하나의 레코드가 형성되고, 각 레코드는 일시순으로 쓰여진다. 화면이 절환하는 경우에는, 그 화면에 따른 파일명이 쓰여지도록 되어 있다.
래더 프로그램에 있어서도 화면에서와 마찬가지로, 도41(b)에 나타나 있는 바와 같이 도41(a)와 같은 형식으로 레코드가 쓰여진다. 이 경우에 “일시”, “래더”, “ON”, “생산량”, “ON/OFF”, “카운트값”, “점등/소등” 등의 각 항목이 필드로서 만들어져 있다. “래더”는 래더 프로그램의 파일명을 나타내고 있다. “ON”은 생산라인의 시작버튼이 ON된 것을 나타내고 있다(ON일 때 “1”이 된다). “생산량”은 라인에서 소정의 위치를 통과하는 제품수의 설정값을 나타내고 있다. “ON/OFF”는 상기 소정의 위치에서 제품의 통과를 검출하는 광센서의 출력을 나타내고 있고, 검출 즉, ON이 “1”이고, 비검출 즉, OFF가 “0”이다. “카운트값”은 광센서의 ON출력의 카운터에 의한 카운트값을 나타내고 있다. “점등/소등”은 설정된 수의 제품이 라인에 의하여 반송되고 있는지 아닌지를 램프의 점등 또는 소등으로 나타내고 있고, 반송될 때 즉, 점등이 “1”이고, 반송되지 않을 때 즉, 소등이 “0”이다.
또한 도42에 나타나 있는 바와 같이, 화면 및 래더 프로그램의 레코드를 일괄하여 관리하도록 하여도 좋다. 도42에서의 “프로그램”은 도41(a)의 “화면” 및 도41(b)의 “래더”에 해당하고, 화면의 파일명및 래더 프로그램의 파일명이 저장되도록 되어 있다.
또한 다른 응용 프로그램에 의하여 작성된 유저 프로그램에 있어서도, 마찬가지로 도41(a)와 같은 형식으로 레코드를 저장하여도 좋고, 도42에 나타나 있는 바와 같은 형식으로 화면 및 래더 프로그램과 병합하여 레코드를 저장하여도 좋다. 이러한 유저 프로그램으로는 예를 들면 타겟 시스템에 있어서 디바이스의 전기적 배선(電氣的 配線)을 설계하는 CAD 도면을 들 수 있다.
데이터 베이스27에서는 레코드가 입력순으로 저장되는 시퀀셜 편성의 파일 구조가 형성된다. 이에 따라 시간순으로 레코드를 검색하는 시퀀셜 액세스를 할 수 있다. 또한 데이터 베이스27에서는, 지정된 검색항목에 의거하여 레코드를 직접 액세스할 수 있도록 하기 위하여 원하는 레코드가 데이터 베이스 관리부21b에 의하여 키를 받은 상태로 저장된다. 이 키의 설정은 도면에 나타내지 않지만, 데이터 베이스 관리부21b가 제공하는 키설정용 화면에서 미리 유저에 의하여 이루어진다.
키는 예를 들면 시간, 알람 등의 데이터(검색항목)에 부여된다. 최종적인 레코드로의 액세스는 물리 어드레스에 의거하여 이루어지기 때문에 물리 어드레스와 키의 대응이 필요하다. 이 대응으로는, 예를 들면 키와 물리 어드레스를 대조표에서 1 대 1로 대응시키거나 키의 값을 기초로 소정의 함수를 이용하여 얻은 값을 물리 어드레스로 하여 레코드를 쓰는 것을 들 수 있다. 또한 키와 물리 어드레스를 대응시키는 대신에, 키로부터 레코드 번호를 산출하여 이 레코드 번호에 의거하여 레코드의 쓰기를 하고, OS의 파일 시스템에서 레코드 번호로부터 물리 어드레스를 산출시키도록 하여도 좋다.
이와 같이, 키를 레코드에 부여함으로써 키에 의하여 원하는 레코드를 일의적으로 특정할 수 있다.
데이터 메모리28은, 데이터 베이스 관리부21b에 의하여 검색된 화면 및 그 심볼(텍스트도 포함한다) 또는 래더 프로그램 및 그 래더 기호와 PLC3의 입출력 데이터(디바이스 어드레스의 데이터)를 컴파일러29의 처리에 사용하기 위하여 일시적으로 저장하여 두는 메모리이다.
컴파일러29(변환수단)는 상기 화면 또는 래더 프로그램을 클라이언트 장치9의 브라우저91에 포함되는 버츄얼 머신에서 실행할 수 있도록 자바 언어의 애플릿으로 변환한다. 이 애플릿은 자바 언어로 되어 있기 때문에 클라이언트 장치9의 플랫폼에 의존하지 않는다. 애플릿에서의 각 인스턴스는 화면에서 대응하는 심볼 또는 래더 프로그램에서 대응하는 래더 기호와 동일한 디바이스 어드레스를 참조하도록 설정되어 있다. 또한 각 인스턴스는 디바이스 어드레스의 입출력 데이터를 심볼 또는 래더 기호에 반영시키도록 작성되어 있다.
제어 컴퓨터2에서는, 미리 화면작성 에디터26a에서 이용할 수 있는 심볼의 종류 또는 래더 에디터26b에서 이용할 수 있는 래더 기호의 종류마다 버츄얼 머신이 실행하는 메소드를 포함하는 클래스가 저장되어 있고, 컴파일러29가 화면에서의 각 심볼 또는 래더 프로그램에서의 각 래더 기호에 대응하는 메소드를 호출하는 코드를 생성한다. 또한 컴파일러29는 화면 또는 래더 프로그램과 동일하게, 도40에 나타내는 검색 화면101도 애플릿으로 변환한다. 이 검색 화면101에 의한 상기 각 검색 조작에 있어서도, 버츄얼 머신이 실행하는 메소드를 포함하는 클래스가 준비되어 있다.
상기 컴파일러29 및 공개 서버부30도 상기 서버부11(도31참조)과 마찬 가지로 기록매체에 의하여 제공되는 프로그램을 실행함으로써 구현되는 기능 블럭이다.
여기에서 상기 전송설정부23에서 설정되는 전송 정보에 대하여 설명한다. 전송 정보는 도43(a) 및 도43(b)에 나타나 있는 바와 같은 설정화면상에서 설정되고, 설정화면에는 “전송조건”과 “전송국·수신국”이 만들어져 있다.
도43(a)에 나타내는 “전송조건”에는 전송 타이밍을 결정하는 조건으로서, 전원투입, 시간지정, 주기지정, 고쳐 쓰기 트리거(trigger), ON기간, OFF기간, 시작 트리거 및 종료 트리거가 만들어져 있다.
“전원투입”은 표시기5의 전원을 투입할 때에 전송하는 조건이고, “시간지정”은 지정된 시간에 전송하는 조건이다. “주기지정”은 원하는 주기마다 전송하는 조건이고, “고쳐 쓰기 트리거”는 출력 데이터가 고쳐 쓰여졌을 때, 즉 출력 데이터가 변화된 때에 전송하는 조건이다. “ON기간”과 “OFF기간”은 디바이스의 ON기간과 OFF기간의 각각에서 계속하여 전송하기 위한 조건이고, “시작 트리거”와 “종료 트리거”는 출력 데이터(지정 디바이스 출력)의 시작과 종료의 각각을 검출할 때에 전송하기 위한 조건이다.
또한 전송조건의 설정화면에서 하측의 영역에는, 상기의 각 조건 중 디바이스의 출력에 의거하는 조건에 대하여 지정해야 할 디바이스의 명칭을 입력하는 난(欄)이 만들어져 있다. 또한 그 아래에는 전송조건을 체크 하는 주기(ms단위), 전송하는 기간의 설정란, 전송한 후에 디바이스 출력을 OFF 또는 ON으로 되돌리기 위한 설정란이 설치되어 있다. 단, 체크 주기는 “전원투입”, “시간설정” 및 “주기지정”의 전송조건에만 유효하고, 기간한정은 “주기지정”의 전송조건에만 유효하다. 또한 전송한 후에 디바이스 출력을 OFF로 되돌리는 설정에 대해서는 “시작 트리거”의 전송조건에만 유효하고, 이 난을 체크하지 않은 경우의 디바이스 출력은 전송한 후에도 ON으로 되어 있다. 한편 전송한 후에 디바이스 출력을 ON으로 되돌리는 설정에 대해서는 “종료 트리거”의 전송조건에만 유효하고, 이 난을 체크하지 않은 경우의 디바이스 출력은 전송한 후에도 OFF로 되어 있다.
한편 도43(b)에 나타내는 “전송국·수신국”에는 전송국 및 수신국에 대한 정보기입부가 설치되어 있다. 전송국의 정보는 표시기5로부터 전송되는 출력 데이터의 출력원(出力元)이 되는 디바이스명과 지정된 기간에 전송하는 데이터의 개수를 포함하고 있다. 또한 수신국의 정보는 수신국이 되는 표시기5에 대응하는 PLC3에 접속된 디바이스의 명칭을 포함하고 있다. 단, 제어 컴퓨터2가 수신국이 되는 경우에 데이터 베이스27에서 관리되는 폴더명을 디바이스명으로 한다.
상기와 같이 구성되는 제어 시스템에 있어서, 네트워크6을 통하여 공통 프로토콜의 데이터열66을 받았을 경우에 데이터 처리부5a는 데이터 본체63에서 PLC3으로 전송해야 할 커맨드를 나타내는 공통 코드64와 관련 정보65를 추출한다. 또한 데이터 처리부5a는 커맨드 변환 테이블TBL을 참조하여 시 리얼 케이블4에서 전송할 수 있기 때문에 그 공통 코드64에 대응하는 커맨드 코드를 선택한다. 또한 필요에 따라 관련 정보65의 표현방법이 시리얼 케이블4에서 전송되는 표현방법으로 변환된다. 이 결과로 PLC3으로 전송해야 할 커맨드, 데이터 내용 자체, 데이터의 사이즈 및 어드레스 등이 결정되면, 데이터 처리부5a는 데이터 전송 포맷FMT를 참조하여 PLC3로 송출하는 데이터열을 생성할 수 있다.
한편 PLC3로부터 데이터열41을 받았을 경우에, 데이터 처리부5a는 상기 데이터 전송 포맷FMT에 맞추어 그 데이터열이 나타내는 커맨드, 데이터 내용 자체, 데이터의 사이즈 및 어드레스 등을 추출하고, 상기와는 반대의 절차로 공통 프로토콜의 데이터열66으로 변환한다.
상기의 데이터 전송 포맷FMT 및 커맨드 변환 테이블TBL의 조합(프로토콜 정보)은 표시기5 및 PLC3이 제어에 관한 데이터를 통신하기 전에 PLC3의 통신 프로토콜에 맞추어 설정되고, 다른 통신 프로토콜을 채용한 PLC3이 접속되면 그 프로토콜 정보는 절환된다. 예를 들면 도11에서는, 기종A의 PLC3으로부터 기종B의 PLC3로 변경하는 경우에 커맨드 변환 테이블TBLa로부터 커맨드 변환 테이블TBLb로 절환된다.
또한 통신 프로토콜의 선택방법은 실시예1의 제어 시스템(도1참조)에서 이루어지는 상기 방법과 동일하게 이루어진다.
이와 같이 본 제어 시스템에서는 종래의 제어 시스템과는 달리, 통신의 중심에 표시기5…가 배치되어 있고, 이 표시기5…가 네트워크6과 시리 얼 케이블4의 쌍방에 접속되어 있다. 또한 표시기5는 시리얼 케이블4 및 네트워크6에서의 통신 프로토콜이 다른 경우에 각각의 통신 프로토콜을 상호 변환하여 자체에 접속된 PLC3과 제어 컴퓨터2 또는 다른 표시기5와의 사이의 통신을 중계한다. 이에 따라 표시기5…의 각각에 접속된 PLC3…이 채용하는 통신 프로토콜이 서로 다르더라도, 각 표시기5와 제어 컴퓨터2의 사이를 공통 통신 프로토콜로 통신할 수 있다.
보다 상세하게는, 타겟 시스템은 유량센서나 온도센서 또는 타겟 시스템의 각 부의 상태를 검출하는 센서와 같은 입력기기와 지시에 따른 동작을 하는 밸브나 모터와 같은 출력기기를 구비하고 있고, 디바이스10은 PLC3에서 제어되고 있다. 또한 PLC3은 시퀀서로부터 발달하여 왔기 때문에, 예를 들면 제조자나 제품의 종류 등 PLC3의 기종마다 독자적인 통신 프로토콜을 구비하고 있는 것이 많다. 따라서 PLC3은 시리얼 케이블4를 통하여 표시기5와 접속되어 있고, 그 PLC3이 통신할 수 있는 통신 프로토콜로 표시기5와 통신한다.
이에 따라 PLC3은, 표시기5로 또는 표시기5를 통하여 다른 표시기5 또는 제어 컴퓨터2로 입력기기가 취득한 데이터를 PLC3의 출력 데이터로서 송신하는 한편, 표시기5로부터 또는 타국(他局)에서 표시기5를 통하여 받은 제어지시를 수신하여 출력기기를 제어 할 수 있다.
상기와 같이 네트워크6으로 통신 프로토콜의 공통화가 이루어진 제어 시스템에 있어서는, 각 표시기5 및 제어 컴퓨터2의 사이에서 화면 및 디 바이스 어드레스의 데이터 전송을 용이하게 할 수 있다. 다음에 그 전송에 대하여 상세하게 설명한다.
여기에서, 네트워크6의 각 노드A~C에 각 표시기5가 접속되어 있고, 표시기5의 각각에 접속되는 PLC3은 각각 100개의 입출력단자를 구비하는 구성에 대하여 설명한다. 이러한 구성에 있어서는, 각 PLC3의 출력단자에 따라서 PLC3에서의 메모리가 대응하는 저장 영역에 표시기5에서 오퍼레이터에 의하여 입력된 제어 데이터가 저장되고, 그 저장 내용에 응답하여 출력기기7이 제어된다. 또한 각 PLC3의 입력단자에 따라서 상기 메모리가 대응하는 저장 영역에 입력기기6로부터의 입력 데이터가 쓰여진다.
예를 들면 노드A~C에 대응하는 각 PLC3의 100개의 각 입출력단자에 대응한 저장 영역에는 각각 100~199, 200~299, 300~399의 저장 어드레스가 할당되어 있다. 노드A의 표시기5에서의 데이터 전송부5e는 상기 전송설정부13에서 미리 설정된 주기(예를 들면 10초)마다 100~199의 저장 영역의 데이터, 즉 모든 입출력 데이터를 전송하고, 그 데이터는 제어 컴퓨터2에 저장된다.
또한 “시작 트리거”의 전송조건을 설정하여 두고, PLC3의 메모리에서 각 디바이스에 대응하는 저장 영역에 디바이스의 에러(알람) 정보, 디바이스 출력에 대응한 작업지시의 정보 등 각종 정보를 나타내는 비트를 설치하여 두면, 이 비트를 시작할 때에 전송조건과 함께 그 디바이스가 접속되는 PLC3의 노드 정보(국명)가 그 노드의 표시기5로부터 송신된다.
또한 제어 컴퓨터2는 각 표시기5로부터 전송되는 모든 데이터를 저장하고 있다. 각 표시기5에는 데이터 전송부5e 내에 전송 데이터의 저장에 필요한 저장 영역이 형성되어 있다.
제어 컴퓨터2에서의 데이터의 수신은 전송원으로부터의 전송 데이터, 예를 들면 IP 어드레스에 수신처의 어드레스를 저장하여 둠으로써 이루어져도 좋다. 또한 수신처가 제어 컴퓨터2만이 아니라 표시기5 등 많을 경우에는, 상기 데이터의 수신이 상기 IP 어드레스를 일제동보(一齊同報)로 하여 수신측에서 전송 데이터의 전송원의 IP 어드레스에 응답하여 데이터를 수신할 것인지 아닌지를 결정하도록 하여 이루어져도 좋다. 또한 모든 표시기5가 제어 컴퓨터2와 마찬가지로, 모든 전송 데이터에 대응한 저장 영역을 구비하고, 모든 전송 데이터를 보유하고 있어도 좋은 것은 물론이다.
상기와 같이 전송조건이 성립하면, 각 표시기5 및 제어 컴퓨터2의 사이에서 데이터를 전송할 수 있을 뿐만 아니라 전송조건의 성립을 트리거로 하여 제어 컴퓨터2의 데이터 베이스27에 전송 데이터를 순차적으로 저장하고, 그 데이터 베이스27로부터 원하는 레코드를 검색할 수 있다. 이어서 그 동작에 대하여 상세하게 설명한다.
예를 들면 노드A의 표시기5에 모아진 PLC3의 입력 데이터(입력기기6의 디바이스 어드레스) 및 출력 데이터(출력기기7의 디바이스 어드레스)는 디바이스 어드레스와 함께 네트워크6을 통하여 제어 컴퓨터2로 전송되고, 공통 프로토콜IF부22에서 서버부21로 수신되고, 데이터 베이스 관리부21b로 보내진다. 데이터 베이스 관리부21b는 노드A의 폴더에 같은 시간에 입력된 데이터를 1건의 레코드로 하여 차례대로 입력되고 있는 레코드를 순차적으로 데이터 베이스27에 쓴다. 이러한 쓰기는 자동적으로 이루어기 때문에 유저가 데이터 베이스27을 의식하지 않고 데이터를 축적할 수 있다.
데이터 베이스27에서 검색하는 경우에, 먼저 서버부21의 동작 모드를 검색 모드로 절환하여 도40에 나타나 있는 바와 같은 검색 화면101을 가동시킨다. 여기에서 레코드를 저장된 일시순으로 검색하는 경우에는 재생키101b를 조작함으로써 지정된 폴더에서 검색을 시작한다. 검색이 이루어질 때에는 레코드가 데이터 베이스 관리부21b에 의하여 데이터 베이스27로부터 순차적으로 읽혀져 화면작성 에디터26a에 출력된다. 화면작성 에디터26a는 받은 레코드에서의 화면과 디바이스 어드레스 및 심볼의 데이터에 의거하여 화면을 재현하고, 도40의 재생 화면102와 마찬가지로 제어 컴퓨터2의 디스플레이에 표시한다. 이러한 일련의 동작이 연속적으로 이루어기 때문에 디스플레이에는, PLC3이 실제로 가동된 때 표시기5에 표시된 화면과 거의 마찬가지로 화면의 변화를 동적으로 재현할 수 있다.
또한 미리 설정된 키에 의거하여 지정된 키에 대응하는 레코드만을 읽어 내는 경우에 예를 들면 알람을 키로서 지정하여 재생키101b를 조작하면, 알람이 발생할 때의 레코드가 순차적으로 읽혀져 화면작성 에디터26a에 의하여 재생된다. 이와 같이 알람을 키로서 지정함으로써 알람이 발생한 때의 화면을 나타낼 수 있을 뿐만이 아니고, 또한 그 알람이 발생한 때의 전후의 화면을 재생함으로써 표시기5에서 알람의 발생 전에 어떤 조작이 되어 있었는지 또는 알람의 발생 후에 회복조치를 위하여 어떤 조작이 되어 있었는지를 확인할 수 있다.
또한 데이터 베이스27에는 도41(a), 도41(b) 및 도42에 나타나 있는 바와 같은 표형식으로 레코드가 저장되어 있다. 이에 따라 데이터 베이스27에 축적된 레코드를 그대로 일일 정보나 월간 정보로서 이용할 수 있다.
상기와 같은 검색 및 재생 조작은 화면만이 아니라 래더 프로그램이나 그 외의 유저 프로그램(예를 들면 상기 CAD 도면)에서도 동일하게 하여 할 수 있다.
래더 프로그램의 경우에 PLC3에서 실행된 래더 프로그램이 표시기5를 통하여 제어 컴퓨터2로 전송되고, 데이터 베이스 관리부21b에 의하여 데이터 베이스27에 쓰여진다. 검색할 때에는 도면에 나타내지 않지만 도40에 나타내는 재생 화면102를 대신하여 검색된 래더 프로그램이 재생된다. 래더 프로그램 모니터를 재생하는 경우에 래더 프로그램은, 선택된 래더 프로그램 모니터의 영역 범위 내에서 재생된다. 그리고 래더 프로그램에서 검색된 접점이나 코일의 동작 등은 예를 들면 그들 부분의 색이 변함으로써 표현된다.
상기와 같은 검색 및 재생의 조작은 인터넷32를 통하여 클라이언트 장치9에서도 실시할 수 있다. 이어서 이 경우의 동작에 대하여 설명한다.
먼저 공개 서버부30은 클라이언트 장치9로부터 검색 요구를 받으면 CGI를 가동하여 서버부21의 데이터 베이스 관리부21b에 검색을 지시한다. 데이 터 베이스 관리부21b는 이 지시를 받아 상기와 같이 하여 데이터 베이스27에 따라 검색한다. 데이터 베이스 관리부21b에서 송출되는 레코드는 일단 데이터 메모리28에 축적된 후에 컴파일러29에 출력된다.
또한 공개 서버부30은 CGI나 BGI 등에 의하여 컴파일러29에 애플릿의 생성을 지시한다. 컴파일러29는, 공개 서버부30으로부터 애플릿의 생성지시를 받으면 데이터 메모리28에서 읽혀진 생성해야 할 애플릿에 대응하는 레코드로부터 화면 또는 래더 프로그램의 각각에서 심볼 또는 래더 기호를 추출하고, 그 심볼 또는 래더 기호의 종류에 대응하는 클래스의 인스턴스를 생성하기 위한 문자열(코드)과 그 인스턴스의 필드에 심볼 또는 래더 기호의 파라미터를 설정하기 위한 문자열(코드)을 출력한다. 또한 인스턴스를 생성할 때의 초기값으로서 양 문자열을 지정하고, 그것을 정리하여 출력 하여도 좋다.
또한 컴파일러29는, 화면 또는 래더 프로그램의 각각에서 모든 심볼 또는 래더 기호에 대하여 문자열의 출력이 종료하였을 때에는 HTML 문서로서 필요한 문자열(“〈HTML〉”, “〈TITLE〉” 등)도 생성된 코드를 애플릿으로서 동작시키기 위한 문자열(“〈APPLET〉” 등)을 각 심볼 또는 각 래더 기호에 의거하여 생성된 코드의 전후에 붙인다.
이와 같이, 데이터 베이스27에 저장되어 있고 실제로 표시기5에 표시된 화면 또는 실제로 PLC3에서 실행된 래더 프로그램은 애플릿으로서 공개 서버30에 출력된다. 공개 서버부30은 인터페이스부12에서 네트워크6 및 인터 넷32를 통하여 클라이언트 장치9로 상기 애플릿을 송출한다.
클라이언트 장치9에서는, 브라우저91이 버츄얼 머신을 가동하고, 제어 컴퓨터2로부터 제공되는 다바이스 어드레스 및 입출력 데이터를 이용하여 화면작성 메소드를 실행함으로써 표시기5에서의 표시상태와 동일하게 화면이 표시되거나 래더 프로그램이 PLC3의 동작상태를 반영시킨 상태로 표시된다. 이렇게 함으로써, 제어 컴퓨터2에서 떨어진 위치에 있는 클라이언트 장치9에서도 제어 컴퓨터2와 마찬가지로 검색할 수 있다.
이상과 같이 본 실시예의 제어 시스템에서는, 표시기5가 PLC3의 기종에 따른 통신 프로토콜의 차이점을 흡수하여 각 표시기5 및 제어 컴퓨터2 사이의 데이터 통신을 용이하게 하고 있다. 그러므로 제어 컴퓨터2에서 다른 기종의 PLC3로부터의 출력 데이터를 용이하게 수집할 수 있다. 또한 데이터 전송부5e에 의한 데이터 전송기능을 이용함으로써 설정된 전송조건을 만족시킬 때마다 표시기5에서 데이터가 제어 컴퓨터2로 전송되고, 그 데이터가 데이터 베이스 관리부21b에 의하여 데이터 베이스27에 순차적으로 축적되고 있기 때문에 종래의 데이터 수집용 소프트와 동일하게 PLC와 통신하면서 퍼스널 컴퓨터측에서 데이터의 송신을 요구하지 않고 효율적으로 데이터를 수집하여 축적할 수 있다. 그러므로 유저가 의식하지 않고 데이터 베이스27을 구축할 수 있다.
또한 데이터가 수집된 시간 순서대로 데이터 베이스27에 축적되고 있기 때문에 데이터 베이스27에서 데이터 구조가 단순화되어 데이터의 상세한 내용이나 소재를 알기 쉽다. 이에 따라 데이터 베이스 관리가 용이해진다.
또한 검색에 의하여 얻은 입출력 데이터를 화면이나 래더 프로그램에 반영시킴으로써 표시기5에서의 조작이 재현된다. 그 때문에 동영상을 기록하는 VTR과 같이 방대한 데이터를 축적할 필요가 없을 뿐 아니라 검색에 의하여 조작 미스가 발생하였을 때의 화면이나 래더 프로그램을 확인할 수 있다. 특히 알람을 키로서 검색함으로써 조작 미스가 발생한 시점을 용이하게 특정할 수 있다. 또한 도40에 나타나 있는 바와 같은 검색 화면101을 이용함으로써 연속적으로 검색하면, 화면의 심볼이나 래더 프로그램의 래더 기호의 입출력 데이터에 의한 변화가 동적으로 표시되기 때문에 VTR 등의 영상 재생기기에서의 재생 조작과 동일한 조작으로 화면과 래더 프로그램을 재생할 수 있다.
이와 같이, 실행된 화면이나 래더 프로그램을 재생하는 것은 조작 미스 등의 검증에 이용될 뿐만 아니라 오퍼레이터의 교육에도 이용할 수 있다. 예를 들면 표시기5의 조작내용을 타겟 시스템을 작동시키지 않고 반복하여 재현할 수 있기 때문에 숙련된 오퍼레이터에 의한 조작내용은 교재로서 충분히 이용할 수 있다.
또한 이전의 작업과 동일한 작업을 하는 경우에, 데이터 베이스27에 저장된 이전의 데이터를 이용하여도 부적합하지 않은지를 화면의 재생으로 확인할 수 있기 때문에 데이터의 재이용을 유효하게 할 수 있다.
또한 본 실시예에서는 네트워크6으로서 인터넷상의 TCP/IP를 채용하고 있지만, 이것에 한정하는 것은 아니다. 예를 들면 IEEE1394 등 다른 네트워크이더라도 좋다. 제어 컴퓨터2가 표시기5를 통하여 각 PLC3과 통신하기 때문에 충분한 통신 용량을 가진 네트워크이면 동일한 효과를 얻을 수 있다.
또한 본 실시예에서는 래더 프로그램을 이용한 예를 나타내었지만 본 발명의 제어절차 프로그램으로서는, 래더 프로그램뿐만이 아니고 상기 IEC 6 1131-3으로 규정된 5언어를 포함하는 다른 언어에 의한 제어절차 프로그램에 있어서도 적용되는 것은 물론이다. 한편 유저 프로그램으로서는, 표시내용 프로그램(화면) 및 제어절차 프로그램 이외에도 PLC3에 의한 제어상태를 나타내는 프로그램이면 상기 CAD 도면 등으로 하여도 좋다.
또한 본 실시예에서는, 제어 컴퓨터2에서 유저 프로그램으로서의 화면이나 래더 프로그램을 애플릿으로 변환하는 예에 대하여 설명하였지만 본 발명은 이것에 한정되지 않는다.
또한 본 실시예에서도, 애플릿을 대신하여 다른 프로그램 언어를 컴파일 하는 등의 방법으로 애플릿과 동일한 동작을 클라이언트 장치9에 실행시키는 프로그램을 전송하여도 거의 동일한 효과를 얻을 수 있다.
또한 실시예에서 서술한 구체적인 실시형태 또는 실시예는 어디까지나 본 발명의 기술내용을 밝히는 것으로서, 그러한 구체적인 예로만 한정하여 협의(狹義)로 해석되어야 하는 것이 아니고 본 발명의 정신과 후에 기재하는 특허청구범위 내에서 여러가지로 변경하여 실시할 수 있다.
(1) 본 발명의 제어용 서버장치 및 이것을 포함하는 제어 시스템은, 프로그래머블 표시기의 화면을 나타내는 데이터를 제어용 서버장치가 단말장치에서 표시할 수 있는 형식으로 변환한 후에 송신된다. 이 결과로 제어장치에 부담을 주지 않고 원격지의 단말장치에서 인터넷 등을 통하여 프로그래머블 표시기의 표시화면과 동일한 내용의 화면을 표시할 수 있다.
(2) 본 발명의 제어용 단말장치는, 시리얼 포트에만 제어 프로그램을 출력할 수 있는 종래의 제어 프로그램 작성수단을 전용하는 경우에도, 제어 프로그램의 갱신지시를 전송처의 제어유닛이 포함되는 로컬 제어 시스템으로 전송할 수 있다. 이 결과로 광역 네트워크를 통하여 제어 프로그램을 출력할 수 있는 제어 프로그램 작성수단을 제어유닛의 기종마다 신규작성하지 않고, 종래의 제어 프로그램 작성수단을 전용하여 원격지에서 제어유닛의 제어 프로그램을 갱신할 수 있다. 또한 로컬 제어 시스템의 근방에 제어 프로그램의 작성 요원을 배치하지 않아도 단시간에 제어 프로그램을 갱신할 수 있기 때문에 메인터넌스 할 때의 시간을 삭감할 수 있다.
(3) 본 발명의 제어 시스템은, 제어용 표시장치와 떨어진 장소에 있는 단말장치에서도 제어용 표시장치에서 표시되는 표시용 화면을 표시할 수 있다. 또한 화면 데이터가 제어용 표시장치로부터 취득되기 때문에 생성수단 및 통신수단을 구비하는 서버장치에 화면 데이터를 기억시킬 필요가 없다. 제어용 표시장치에서 표시되는 표시용 화면을 보다 간단하게 공개할 수 있다.
(4) 본 발명의 제어 시스템은, 제어용 표시장치와 떨어진 장소에 있는 단말장치에서도 제어용 표시장치에서 표시되는 표시용 화면과 동일한 표시용 화면을 표시할 수 있다. 또한 서버장치와 단말장치 사이의 통신은, 서버측 통신수단과 단말측 통신수단이 로컬 네트워크를 통하여 이루어기 때문에 일반적인 인터넷 통신과 동일하게 웹 서버용 소프트웨어를 통한 실행효율이 그다지 좋지 않은 통신 형태를 이용하지 않고, 비교적 높은 통신속도의 효율적인 통신을 할 수 있다.
(5) 본 발명의 제어 시스템은, 표시형 제어장치가 제어장치의 통신 프로토콜과 관계 없이 항상 동일한 통신 프로토콜로 공통 네트워크를 통하여 호스트 컴퓨터와 통신할 수 있다. 이 결과로 호스트 컴퓨터는 통신 프로토콜의 다른 제어장치로부터의 출력 데이터를 용이하게 축적할 수 있다.
또한 미리 설정되어 있는 전송조건을 만족할 때에, 유저가 의식하지 않고 데이터 베이스는 자동으로 구축된다. 또한 축적된 데이터 구조가 단순화되고, 유저 프로그램, 변화 요소 및 양 데이터를 관련시켜 축적되기 때문에 유저 프로그램에서 변화 요소의 양 데이터에 의한 변화 상태를 재현할 수 있다. 따라서 데이터 베이스 관리를 용이하게 함과 아울러 제어장치의 과거의 제어상황을 용이하게 확인할 수 있다.
또한 검색된 유저 프로그램이 연속적으로 표시되기 때문에 제어장치가 작동하였을 때의 유저 프로그램의 상황을 재현할 수 있다. 또한 단말장치에서 실행 프로그램이 실행됨으로써 유저 프로그램에서 변화 요소가 양 데이터에 의거하여 변화한다. 이 결과로 예를 들면 화면상에서 심볼이 변화하는 상태가 표시된다. 따라서 유저 프로그램을 실행 프로그램의 형태로 송신함으로써 인터넷 등 네트워크상의 단말장치에서도 호스트 컴퓨터에 축적된 데이터를 호스트 컴퓨터와 마찬가지로 검색하여 확인할 수 있다.

Claims (3)

  1. 미리 설치되어 있는 프로그램 및 개별적으로 부여되는 제이지시에 의거하여 제어대상기기인 디바이스를 제어하는 프로그래머블 로직 콘트롤러(programable logic controller;PLC)에 연결되어 프로그래머블 로직 콘트롤러로부터 디바이스의 제어상태에 대한 데이터를 수신하여 이를 화면형태로 표시하고 이 화면에 의거하여 개개의 디바이스에 대한 구체적인 제어지시를 작성하게 하고 작성된 제어지시를 프로그래머블 로직 콘트롤러에 부여하는 프로그래머블 표시기의 기능을, 프로그래머블 로직 콘트롤러로부터 떨어진 원격지에 위치하고 프로그래머블 표시기용 프로그램이 설치되어 있지 않은 단말장치에서 구현하기 위하여, 입력기기 및 출력기기가 접속된 제어장치와 상기 제어장치에 의한 상기 입출력기기의 제어상태를 표시하고, 상기 제어장치에 제어지시를 부여하는 프로그래머블 표시기와의 사이에서 전용 네트워크를 통하여 제어장치에 고유한 통신 프로토콜을 이용하여 통신하고, 상기 프로그래머블 표시기의 상위에 설치되는 호스트 컴퓨터와 적어도 하나의 상기 프로그래머블 표시기와의 사이에 공통 네트워크를 통하여 공통 통신 프로토콜로 통신함으로써 상기 제어장치에 관한 데이터를 축적하는 제어 시스템으로서,
    상기 프로그래머블 표시기가, 상기 어느 한 네트워크에서 사용되는 통신 프로토콜을 상기 다른 네트워크에서 사용되는 통신 프로토콜과 상호 변 환하는 프로토콜 변환수단과, 미리 설정되어 있는 전송조건을 만족시킬 때에 상기 제어장치의 제어상태를 나타내기 위하여 실행되는 유저 프로그램, 상기 유저 프로그램에 있어서 상기 입출력기기의 어드레스에 대응되어 상기 제어지시 데이터 및 상기 제어지시 데이터의 결과로서 얻어지는 상기 출력 데이터에 의하여 변화하는 각 변화 요소 및 상기 변화 요소에 대응하는 상기 제어지시 데이터 및 상기 출력 데이터를 상기 호스트 컴퓨터로 전송하는 전송수단을 구비하고,
    상기 호스트 컴퓨터가, 전송된 상기 유저 프로그램, 상기 변화 요소 및 상기 양 데이터를 상기 프로그래머블 표시기 단위로 시간 순서대로 축적하는 축적수단과, 상기 축적수단에 축적된 상기 유저 프로그램, 상기 변화 요소 및 상기 양 데이터를 연속하여 검색하고 이를 표시하는 검색수단과, 프로그래머블 표시기용 프로그램이 설치되어 있지 않은 단말장치로부터의 요구에 따라 상기 검색수단에 의하여 검색된 상기 유저 프로그램을 상기 단말장치가 실행할 수 있는 실행 프로그램으로 변환하는 변환수단과, 상기 실행 프로그램, 상기 변화 요소 및 상기 양 데이터를 상기 유저 프로그램에서 상기 변화 요소를 상기 양 데이터에 의거하여 변화시키도록 상기 실행 프로그램을 실행하는 상기 단말장치로 송신하는 통신수단을 구비하는 것을 특징으로 하는 제어 시스템.
  2. 미리 설치되어 있는 프로그램 및 개별적으로 부여되는 제이지시에 의거하여 제어대상기기인 디바이스를 제어하는 프로그래머블 로직 콘트롤러(programable logic controller;PLC)에 연결되어 프로그래머블 로직 콘트롤러로부터 디바이스의 제어상태에 대한 데이터를 수신하여 이를 화면형태로 표시하고 이 화면에 의거하여 개개의 디바이스에 대한 구체적인 제어지시를 작성하게 하고 작성된 제어지시를 프로그래머블 로직 콘트롤러에 부여하는 프로그래머블 표시기의 기능을, 프로그래머블 로직 콘트롤러로부터 떨어진 원격지에 위치하고 프로그래머블 표시기용 프로그램이 설치되어 있지 않은 단말장치에서 구현하기 위하여, 입력기기 및 출력기기가 접속된 제어장치와 상기 제어장치에 의한 상기 입출력기기의 제어상태를 표시하고, 상기 제어장치에 제어지시를 부여하는 프로그래머블 표시기와의 사이에서 전용 네트워크를 통하여 제어장치에 고유한 통신 프로토콜을 이용하여 통신하고, 상기 프로그래머블 표시기의 상위에 설치되는 호스트 컴퓨터와 적어도 하나의 상기 프로그래머블 표시기와의 사이에 공통 네트워크를 통하여 공통 통신 프로토콜로 통신함으로써 상기 제어장치에 관한 데이터를 축적하는 데이터 축적방법으로서,
    상기 프로그래머블 표시기에서 상기 양 네트워크에서 사용되는 통신 프로토콜을 상호 변환함과 아울러 미리 설정되어 있는 전송조건을 만족시킬 때에 상기 제어장치의 제어상태를 나타내고 실행되는 유저 프로그램, 상기 유저 프로그램에서 상기 입출력기기의 어드레스에 대응되어 상기 제어지시 데이터 및 상기 제어지시 데이터의 결과로서 얻어지는 상기 출력 데이터에 의하여 변화하는 각 변화 요소 및 상기 변화 요소에 대응하는 상기 제어지시 데이터 및 상기 출력 데이터를 상기 호스트 컴퓨터로 전송하고,
    상기 호스트 컴퓨터에 전송된 상기 유저 프로그램, 상기 변화 요소 및 상기 양 데이터를 상기 프로그래머블 표시기 단위로 시간 순서대로 축적하고, 축적된 상기 유저 프로그램, 상기 변화 요소 및 상기 양 데이터를 연속하여 검색하여 표시하고, 프로그래머블 표시기용 프로그램이 설치되어 있지 않은 단말장치로부터의 요구에 따라 검색된 상기 유저 프로그램을 상기 단말장치가 실행할 수 있는 실행 프로그램으로 변환하고, 상기 실행 프로그램, 상기 변화 요소 및 상기 양 데이터를 상기 유저 프로그램에서 상기 변화 요소를 상기 양 데이터에 의거하여 변화시키도록 상기 실행 프로그램을 실행하는 상기 단말장치로 송신하는 것을 특징으로 하는 데이터 축적방법.
  3. 미리 설치되어 있는 프로그램 및 개별적으로 부여되는 제이지시에 의거하여 제어대상기기인 디바이스를 제어하는 프로그래머블 로직 콘트롤러(programable logic controller;PLC)에 연결되어 프로그래머블 로직 콘트롤러로부터 디바이스의 제어상태에 대한 데이터를 수신하여 이를 화면형태로 표시하고 이 화면에 의거하여 개개의 디바이스에 대한 구체적인 제어지시 를 작성하게 하고 작성된 제어지시를 프로그래머블 로직 콘트롤러에 부여하는 프로그래머블 표시기의 기능을, 프로그래머블 로직 콘트롤러로부터 떨어진 원격지에 위치하고 프로그래머블 표시기용 프로그램이 설치되어 있지 않은 단말장치에서 구현하기 위하여, 입력기기 및 출력기기가 접속된 제어장치와 상기 제어장치에 의한 상기 입출력기기의 제어상태를 표시하고, 상기 제어장치에 제어지시를 부여하는 프로그래머블 표시기와의 사이에서 전용 네트워크를 통하여 제어장치에 고유한 통신 프로토콜을 이용하여 통신하고, 상기 프로그래머블 표시기의 상위에 설치되는 호스트 컴퓨터와 적어도 하나의 상기 프로그래머블 표시기와의 사이에 공통 네트워크를 통하여 공통 통신 프로토콜로 통신함으로써 상기 제어장치에 관한 데이터를 축적하기 위한 프로그램을 기록하고 컴퓨터가 읽을 수 있는 기록매체로서,
    상기 프로그래머블 표시기에서 상기 양 네트워크에서 사용되는 통신 프로토콜을 상호 변환함과 아울러 미리 설정되어 있는 전송조건을 만족시킬 때에 상기 제어장치의 제어상태를 나타내고 실행되는 유저 프로그램, 상기 유저 프로그램에서 상기 입출력기기의 어드레스에 대응되어 상기 제어지시 데이터 및 상기 제어지시 데이터의 결과로서 얻어지는 상기 출력 데이터에 의하여 변화하는 각 변화 요소 및 상기 변화 요소에 대응하는 상기 제어지시 데이터 및 상기 출력 데이터를 상기 호스트 컴퓨터로 전송하는 처리와,
    상기 호스트 컴퓨터에 전송된 상기 유저 프로그램, 상기 변화 요소 및 상기 양 데이터를 상기 프로그래머블 표시기 단위로 시간 순서대로 축적하는 처리, 축적된 상기 유저 프로그램, 상기 변화 요소 및 상기 양 데이터를 연속하여 검색하여 표시하는 처리 및 검색된 상기 유저 프로그램을 프로그래머블 표시기용 프로그램이 설치되어 있지 않은 단말장치가 실행할 수 있는 실행 프로그램으로 변환하고 상기 실행 프로그램, 상기 변화 요소 및 상기 양 데이터를 상기 유저 프로그램에서 상기 변화 요소를 상기 양 데이터에 의거하여 변화시키도록 상기 실행 프로그램을 실행하는 상기 단말장치로 송신하는 처리를 하기 위한 프로그램을 기록한 기록매체.
KR1020067015236A 2000-03-17 2001-03-15 제어용 서버장치, 제어용 단말장치, 제어 시스템 및제어용 통신 프로그램이 기록된 기록매체 KR100706650B1 (ko)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
JPJP-P-2000-00077002 2000-03-17
JP2000077002A JP3883775B2 (ja) 2000-03-17 2000-03-17 制御システム用サーバ装置、制御システム、制御システム用サーバ装置の通信方法、および、そのプログラムが記録された記録媒体
JPJP-P-2000-00095085 2000-03-30
JP2000095085A JP3618632B2 (ja) 2000-03-30 2000-03-30 制御用端末装置、制御システム、および、そのプログラムが記録された記録媒体
JPJP-P-2000-00099664 2000-03-31
JP2000099664A JP3621326B2 (ja) 2000-03-31 2000-03-31 データ集積システム、データ集積方法およびデータ集積のためのプログラムを記録した記録媒体
JPJP-P-2000-00277243 2000-09-12
JPJP-P-2000-00277254 2000-09-12
JP2000277243A JP3847542B2 (ja) 2000-09-12 2000-09-12 制御システムおよびプログラムを記録した記録媒体
JP2000277254A JP3621336B2 (ja) 2000-09-12 2000-09-12 制御用通信システムおよび制御用通信プログラムを記録した記録媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020027012219A Division KR100625604B1 (ko) 2000-03-17 2001-03-15 제어용 서버장치, 제어용 단말장치, 제어 시스템 및제어용 통신 프로그램이 기록된 기록매체

Publications (2)

Publication Number Publication Date
KR20060096125A true KR20060096125A (ko) 2006-09-06
KR100706650B1 KR100706650B1 (ko) 2007-04-13

Family

ID=27531454

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020067015236A KR100706650B1 (ko) 2000-03-17 2001-03-15 제어용 서버장치, 제어용 단말장치, 제어 시스템 및제어용 통신 프로그램이 기록된 기록매체
KR1020027012219A KR100625604B1 (ko) 2000-03-17 2001-03-15 제어용 서버장치, 제어용 단말장치, 제어 시스템 및제어용 통신 프로그램이 기록된 기록매체
KR1020067015234A KR100706648B1 (ko) 2000-03-17 2001-03-15 제어용 서버장치, 제어용 단말장치, 제어 시스템 및제어용 통신 프로그램이 기록된 기록매체

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020027012219A KR100625604B1 (ko) 2000-03-17 2001-03-15 제어용 서버장치, 제어용 단말장치, 제어 시스템 및제어용 통신 프로그램이 기록된 기록매체
KR1020067015234A KR100706648B1 (ko) 2000-03-17 2001-03-15 제어용 서버장치, 제어용 단말장치, 제어 시스템 및제어용 통신 프로그램이 기록된 기록매체

Country Status (8)

Country Link
US (1) US7970941B2 (ko)
EP (3) EP1752843B1 (ko)
KR (3) KR100706650B1 (ko)
CN (3) CN1306351C (ko)
AU (1) AU2001241163A1 (ko)
DE (2) DE60139431D1 (ko)
TW (1) TW539990B (ko)
WO (1) WO2001069334A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8209894B2 (en) 2008-11-11 2012-07-03 Samsung Electronics Co., Ltd. Multi-display apparatus, method of manufacture thereof and articles comprising the same

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10243782A1 (de) * 2002-09-20 2004-03-25 Sick Ag Parametrier-/Diagnosesystem für Feldgeräte
DE10259416A1 (de) * 2002-12-19 2004-07-08 Krauss-Maffei Kunststofftechnik Gmbh Verfahren für eine abbildtreue, visuelle Fernbedienung
US7272450B2 (en) * 2004-03-31 2007-09-18 Omron Corporation Development aid device
JP4322770B2 (ja) * 2004-09-30 2009-09-02 株式会社デジタル 画面作成装置、画面作成プログラムおよびそれを記録した記録媒体
US20070055386A1 (en) 2004-11-03 2007-03-08 Rockwell Automation Technologies, Inc. Abstracted display building method and system
US20060095855A1 (en) * 2004-11-03 2006-05-04 Britt Clinton D HMI reconfiguration method and system
JP4426492B2 (ja) 2005-03-30 2010-03-03 Ykk株式会社 プログラマブル・ターミナル・システム
US20060224250A1 (en) * 2005-04-01 2006-10-05 Rockwell Automation Technologies, Inc. Industrial automation interface systems and methods
JP4806625B2 (ja) * 2006-02-20 2011-11-02 株式会社リコー 画像処理装置、画像処理方法、画像処理プログラム及び画像処理システム
US20070283260A1 (en) * 2006-06-06 2007-12-06 Yu-Feng Sun Human-machine Interface System with Device Bridge and Method for Designing and Operating the Same
JP2008165399A (ja) * 2006-12-27 2008-07-17 Fanuc Ltd シミュレーションデータ作成支援装置
FR2912275B1 (fr) * 2007-02-02 2009-04-03 Streamezzo Sa Procede de transmission d'au moins un contenu representatif d'un service, depuis un serveur vers un terminal, dispositif et produit programme d'ordinateur correspondants
JP2008250473A (ja) * 2007-03-29 2008-10-16 Fujifilm Corp 通信制御装置及び制御方法
DE102007029930A1 (de) * 2007-06-28 2009-01-02 Dürr Systems GmbH Verfahren und Vorrichtung zur Überwachung einer technischen Anlage
KR100915661B1 (ko) * 2007-08-17 2009-09-04 주식회사 마이다스엔지니어링 피엘씨 데이터 관리 시스템 및 방법
TWI417764B (zh) * 2007-10-01 2013-12-01 Giga Byte Comm Inc A control method and a device for performing a switching function of a touch screen of a hand-held electronic device
ITMO20080148A1 (it) * 2008-05-21 2009-11-22 Fantuzzi Reggiane Spa Sistema per la creazione e configurazione di una rete di dispositivi
CN101644919A (zh) * 2008-08-04 2010-02-10 施耐德电器工业公司 工业人机界面视觉检测系统和方法
US8519996B2 (en) * 2008-09-30 2013-08-27 Rockwell Automation Technologies, Inc. Method and system for conversion of graphical representations of automation environments
US20130041479A1 (en) * 2008-10-15 2013-02-14 Shuo Zhang Automated control system and supervisor scheduler usable with same
JP5454783B2 (ja) * 2009-03-13 2014-03-26 オムロン株式会社 Plcのプログラミングにおける変数名の入力支援方法、plcのプログラミングにおける変数名の入力支援装置、及びコンピュータプログラム
CN102782596B (zh) * 2010-03-04 2015-03-25 三菱电机株式会社 具有可编程显示器的控制系统、可编程显示器及其绘图数据生成单元
KR101303866B1 (ko) 2010-10-19 2013-09-04 세메스 주식회사 기판 처리 장치의 모니터링 방법
CN103180789B (zh) 2010-10-27 2016-03-02 三菱电机株式会社 日志设定装置、日志设定方法
JP5879706B2 (ja) * 2011-03-15 2016-03-08 オムロン株式会社 制御システム、操作端末およびプログラム
JP4994522B1 (ja) * 2011-12-07 2012-08-08 三菱電機株式会社 プログラマブル表示器用画面データ編集装置
KR101707698B1 (ko) * 2012-01-02 2017-02-27 엘에스산전 주식회사 다중 플랫폼을 위한 프로젝트정보 처리 장치 및 방법
JP6015068B2 (ja) * 2012-03-30 2016-10-26 オムロン株式会社 制御機器および制御機器の更新時間表示方法
JP5944003B2 (ja) * 2012-07-31 2016-07-05 発紘電機株式会社 表示器管理システム、そのサーバ装置、プログラマブル表示器、運用制御方法
JP6024326B2 (ja) * 2012-09-13 2016-11-16 オムロン株式会社 制御装置、制御システム、制御方法、プログラムおよびその記録媒体
JP5805612B2 (ja) * 2012-11-16 2015-11-04 株式会社デジタル プログラマブル表示器、制御プログラムおよび制御システム
CN104813246B (zh) * 2012-11-22 2017-06-30 三菱电机株式会社 程序生成辅助装置以及方法
KR101676980B1 (ko) * 2012-12-20 2016-11-29 미쓰비시덴키 가부시키가이샤 제어 시스템 및 프로그램 송신 장치 및 인증 서버 및 프로그램 보호 방법 및 프로그램 송신 방법 및 프로그램 송신 장치의 프로그램
CN104903801B (zh) * 2013-02-28 2017-08-18 发纮电机株式会社 可编程显示器、可编程控制器系统、以及程序
CN105190454B (zh) * 2013-05-09 2017-04-12 三菱电机株式会社 可编程显示器
US20150186119A1 (en) * 2013-12-31 2015-07-02 Rockwell Automation Technologies, Inc. Industrial automation device with editor and graphical object mobile visualization
JP6343953B2 (ja) * 2014-02-13 2018-06-20 オムロン株式会社 プログラマブル表示器、携帯端末装置、データ処理方法、およびプログラム
JP6038388B2 (ja) 2014-03-17 2016-12-07 三菱電機株式会社 管理システム、ゲートウェイ装置、サーバー装置、管理方法、ゲートウェイ方法及び管理処理実行方法
JP2016012172A (ja) * 2014-06-27 2016-01-21 オムロン株式会社 通信システム、プログラマブル表示器、情報処理装置、動作制御方法、情報処理方法、およびプログラム
CN105610785B (zh) * 2014-11-14 2019-09-03 欧姆龙株式会社 网络系统及控制装置
JP5818050B1 (ja) * 2015-01-28 2015-11-18 ビックリック株式会社 ステータス判定システム
JP6325500B2 (ja) * 2015-09-17 2018-05-16 ファナック株式会社 Cncの動作状況をコメント中に追加表示可能なラダー図モニタ装置
WO2017072928A1 (ja) * 2015-10-29 2017-05-04 三菱電機株式会社 プログラマブル表示器、情報処理装置、画面データ作成支援プログラム、及び画面表示システム
JP6269643B2 (ja) 2015-12-01 2018-01-31 株式会社安川電機 産業機器システム、産業機器、端末装置、サーバ及び産業機器のパラメータ編集方法
CN107346125B (zh) * 2016-05-05 2019-11-19 中冶长天国际工程有限责任公司 一种移动机旁操作方法及系统
CN106325200B (zh) * 2016-08-30 2019-04-23 江苏永冠给排水设备有限公司 一种基于联网自助的次氯酸钠发生器设备群控系统的实现方法
CN106444601B (zh) * 2016-08-30 2018-12-28 江苏永冠给排水设备有限公司 一种基于联网自助的去除硝酸盐水处理设备群控系统的实现方法
CN106371390B (zh) * 2016-08-30 2018-12-28 江苏永冠给排水设备有限公司 一种基于次氯酸钠发生器设备控制系统的实现方法
CN106365249B (zh) * 2016-08-30 2019-04-23 江苏永冠给排水设备有限公司 一种基于去除硝酸盐水处理设备控制系统的实现方法
CN107797525B (zh) * 2016-08-31 2020-12-04 湖南中冶长天节能环保技术有限公司 一种生产参数智能管理方法、系统和移动终端服务器
JP2018067248A (ja) * 2016-10-21 2018-04-26 富士通株式会社 制御プログラム、制御方法、及び情報処理装置
CN108255124B (zh) 2016-12-28 2021-05-14 欧姆龙株式会社 对plc进行程序和参数传递的方法、装置和系统
JP2019003492A (ja) * 2017-06-16 2019-01-10 横河電機株式会社 機器管理装置、機器管理プログラム、および記録媒体
JP2019061299A (ja) * 2017-09-22 2019-04-18 オムロン株式会社 情報機器、端末装置およびプログラム
JP7077604B2 (ja) * 2017-12-21 2022-05-31 オムロン株式会社 操作受付装置、制御システム、制御方法、及び、制御プログラム
JP2019153201A (ja) * 2018-03-06 2019-09-12 株式会社東芝 モータ制御システム
JP6856048B2 (ja) * 2018-04-03 2021-04-07 オムロン株式会社 制御システムおよび制御方法
KR102258667B1 (ko) 2018-06-22 2021-06-01 소프트 서보 시스템즈 가부시키가이샤 모션 제어 프로그램, 모션 제어 방법 및 모션 제어 장치
JP6481248B1 (ja) * 2018-06-22 2019-03-13 ソフトサーボシステムズ株式会社 モーション制御プログラム、モーション制御方法及びモーション制御装置
EP3812853B1 (en) 2018-06-22 2024-01-17 Soft Servo Systems, Inc. Motion control program, motion control method, and motion control device
CN108965271A (zh) * 2018-07-02 2018-12-07 汕头超声印制板(二厂)有限公司 一种secs/gem通讯方法
JP6870664B2 (ja) * 2018-07-10 2021-05-12 株式会社安川電機 制御システム、制御装置及びプログラム
JP7172397B2 (ja) * 2018-10-02 2022-11-16 オムロン株式会社 制御システム、サポート装置およびプログラム
JP7303424B2 (ja) * 2019-05-22 2023-07-05 オムロン株式会社 情報提供システム、サーバおよび情報提供方法
CN110347409B (zh) * 2019-07-12 2021-07-16 威创集团股份有限公司 自动控制方法、客户端和服务器
EP3809221A1 (en) * 2019-10-18 2021-04-21 CODESYS Holding GmbH Data coupling between an industrial controller unit and a visualization unit
CN117724671B (zh) * 2023-12-20 2024-10-22 无锡宇宁智能科技有限公司 基于多屏多触显示系统的数据通信方法、装置及存储介质

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US700023A (en) * 1901-09-06 1902-05-13 William N Shinn Carpenter's tool.
JP3356530B2 (ja) * 1994-02-11 2002-12-16 株式会社デジタル 表示制御装置用のデータ作成支援装置
JPH08286734A (ja) * 1995-04-12 1996-11-01 Idec Izumi Corp プログラマブル表示器
JPH0916215A (ja) * 1995-06-30 1997-01-17 Idec Izumi Corp プログラマブル表示器
JPH0969001A (ja) 1995-09-01 1997-03-11 Fuji Electric Co Ltd 操作表示器
JPH09108998A (ja) 1995-10-18 1997-04-28 Kubota Corp 生産システムにおける設備履歴管理方法
CZ222098A3 (cs) * 1996-01-17 1999-05-12 Siemens Aktiengesellschaft Automatizační zařízení
JP3378148B2 (ja) 1996-07-24 2003-02-17 三菱電機株式会社 遠隔地監視装置
JPH10224386A (ja) 1997-02-07 1998-08-21 Digital Electron Corp データ通信方法
JPH10254513A (ja) 1997-03-06 1998-09-25 Toshiba Mach Co Ltd プログラマブルロジックコントローラ用通信プロトコル変換器
US6199104B1 (en) * 1997-04-28 2001-03-06 Sabre Inc. Server-based host monitor
JPH10333896A (ja) * 1997-06-04 1998-12-18 Omron Corp テーブルリファレンス方法および装置
JP3739897B2 (ja) 1997-07-07 2006-01-25 株式会社東芝 プログラマブルコントローラ
JP3338634B2 (ja) 1997-07-09 2002-10-28 株式会社デンソー 分散処理型の制御装置
JPH1185224A (ja) 1997-09-10 1999-03-30 Toshiba Corp プログラムローディング装置
US6282454B1 (en) 1997-09-10 2001-08-28 Schneider Automation Inc. Web interface to a programmable controller
US6321272B1 (en) * 1997-09-10 2001-11-20 Schneider Automation, Inc. Apparatus for controlling internetwork communications
JP3400315B2 (ja) * 1997-09-30 2003-04-28 株式会社デジタル プロフィバスデータ伝送方式
JPH11109933A (ja) 1997-09-30 1999-04-23 Fuji Electric Co Ltd 監視制御システム
JPH11122679A (ja) 1997-10-14 1999-04-30 Katsumata Denki Seisakusho:Kk 遠隔監視制御方式および遠隔監視制御方法
JPH11266287A (ja) 1997-12-04 1999-09-28 Olympus Optical Co Ltd 分散制御システム
JP3550292B2 (ja) 1997-12-19 2004-08-04 株式会社東芝 コントローラシステム
JPH11249713A (ja) 1998-03-05 1999-09-17 Keyence Corp 遠隔入出力装置用親局ユニット
DE19812901A1 (de) * 1998-03-18 1999-09-23 Bb Data Inf & Komm Syst Gmbh Computernetz mit Daten- oder Kommunikationsendsystemen
KR100264149B1 (ko) * 1998-04-14 2000-08-16 이종수 이더넷 통신모듈 및 그의 제어방법
DE19818041B4 (de) * 1998-04-22 2008-04-03 Siemens Ag Verfahren zur Erzeugung einer Oberfläche zum Bedienen und Beobachten von Leitsystemen
KR100451315B1 (ko) 1998-04-27 2004-10-11 가부시끼가이샤 디지탈 제어시스템, 표시장치 및 제어용 호스트 컴퓨터 및 데이터전송방법
JPH11345149A (ja) 1998-06-01 1999-12-14 Mitsubishi Electric Corp リモートメンテナンスシステム
JP2000004252A (ja) 1998-06-15 2000-01-07 Ricoh Co Ltd ネットワーク通信システムの制御方法
US6363422B1 (en) * 1998-06-24 2002-03-26 Robert R. Hunter Multi-capability facilities monitoring and control intranet for facilities management system
US6300947B1 (en) * 1998-07-06 2001-10-09 International Business Machines Corporation Display screen and window size related web page adaptation system
JP3479222B2 (ja) 1998-07-28 2003-12-15 株式会社デジタル プログラム式表示装置用の表示画面作成支援装置
JP3455681B2 (ja) 1998-08-20 2003-10-14 株式会社東芝 広域プラント監視制御システム
US6496862B1 (en) * 1998-08-25 2002-12-17 Mitsubishi Electric Research Laboratories, Inc. Remote monitoring and control of devices connected to an IEEE 1394 bus via a gateway device
JP2000194416A (ja) 1998-12-28 2000-07-14 Canon Inc デ―タ表示装置及び方法
DE29823119U1 (de) * 1998-12-28 1999-02-25 Siemens AG, 80333 München Automatisierungsgerät
US7230582B1 (en) * 1999-02-12 2007-06-12 Fisher-Rosemount Systems, Inc. Wearable computer in a process control environment
US6538673B1 (en) * 1999-08-23 2003-03-25 Divine Technology Ventures Method for extracting digests, reformatting, and automatic monitoring of structured online documents based on visual programming of document tree navigation and transformation
US6477529B1 (en) * 1999-12-06 2002-11-05 Research In Motion Limited Apparatus and method for dynamically limiting information sent to a viewing device
US6751650B1 (en) * 2000-01-31 2004-06-15 Journyx, Inc. Method and apparatus for monitoring contractor performance
US6593944B1 (en) * 2000-05-18 2003-07-15 Palm, Inc. Displaying a web page on an electronic display device having a limited display area
JP3822024B2 (ja) * 2000-05-24 2006-09-13 シャープ株式会社 データ転送装置
US6690394B1 (en) * 2000-10-24 2004-02-10 Alex J. Harui Method and apparatus for delivering web data to a wireless device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8209894B2 (en) 2008-11-11 2012-07-03 Samsung Electronics Co., Ltd. Multi-display apparatus, method of manufacture thereof and articles comprising the same

Also Published As

Publication number Publication date
US7970941B2 (en) 2011-06-28
CN1607481A (zh) 2005-04-20
CN1307495C (zh) 2007-03-28
AU2001241163A1 (en) 2001-09-24
WO2001069334A8 (fr) 2001-11-29
CN1418332A (zh) 2003-05-14
KR20020086926A (ko) 2002-11-20
CN1206578C (zh) 2005-06-15
TW539990B (en) 2003-07-01
KR100625604B1 (ko) 2006-09-20
EP1280027A1 (en) 2003-01-29
KR100706650B1 (ko) 2007-04-13
KR20060096124A (ko) 2006-09-06
KR100706648B1 (ko) 2007-04-13
EP1280027B1 (en) 2009-03-11
WO2001069334A1 (fr) 2001-09-20
US20060179120A1 (en) 2006-08-10
EP1752843A3 (en) 2007-02-28
EP1758002B1 (en) 2009-07-29
EP1752843B1 (en) 2011-07-27
EP1752843A2 (en) 2007-02-14
CN1607480A (zh) 2005-04-20
DE60137921D1 (de) 2009-04-23
DE60139431D1 (de) 2009-09-10
EP1280027A4 (en) 2004-09-15
CN1306351C (zh) 2007-03-21
EP1758002A1 (en) 2007-02-28

Similar Documents

Publication Publication Date Title
KR100706650B1 (ko) 제어용 서버장치, 제어용 단말장치, 제어 시스템 및제어용 통신 프로그램이 기록된 기록매체
US7467231B2 (en) Control server, control terminal, control system, and recording medium storing control communication program
US7822833B2 (en) System for creating and validating configurations of offline field devices in a process control system
US20040111499A1 (en) Method for launching applications
CN102033897A (zh) 用于过程控制系统的动态超链接
US7356773B1 (en) Wizard builder, for application software, building a setup wizard which sets up a defacto interface between the application program and monitoring or control equipment
JP2003076405A (ja) 制御用表示装置、制御システム、制御プログラムおよびそれを記録した記録媒体
JP3770382B2 (ja) 制御用表示装置、制御システム、制御プログラムならびにそれを記録したコンピュータ読み取り可能な記録媒体
JP3621326B2 (ja) データ集積システム、データ集積方法およびデータ集積のためのプログラムを記録した記録媒体
JP2001282326A (ja) プログラマブル表示器の画面シミュレーション装置、画面シミュレーション方法および画面シミュレーションのためのプログラムを記録した記録媒体
JP3494967B2 (ja) 制御システム、および、そのプログラムが記録された記録媒体
JP3988605B2 (ja) 設定ツール装置
JP3621336B2 (ja) 制御用通信システムおよび制御用通信プログラムを記録した記録媒体
JP3847542B2 (ja) 制御システムおよびプログラムを記録した記録媒体
JP4666172B2 (ja) 制御システム設定管理システム
JP2002091911A (ja) ネットワーク情報作成方法およびそのプログラムを記録した記録媒体ならびにその方法を実行する制御用通信システム
JP3497441B2 (ja) 制御用サーバ装置、および、制御システム
JP2002091912A (ja) 制御システム
WO2020026738A1 (ja) サポート装置およびサポートプログラム
JP2002091514A (ja) 制御システム、および、そのプログラムが記録された記録媒体

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130321

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140319

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160318

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170302

Year of fee payment: 11