KR20140065410A - 컴퓨터화된 기계 제어 시스템 - Google Patents

컴퓨터화된 기계 제어 시스템 Download PDF

Info

Publication number
KR20140065410A
KR20140065410A KR1020147006407A KR20147006407A KR20140065410A KR 20140065410 A KR20140065410 A KR 20140065410A KR 1020147006407 A KR1020147006407 A KR 1020147006407A KR 20147006407 A KR20147006407 A KR 20147006407A KR 20140065410 A KR20140065410 A KR 20140065410A
Authority
KR
South Korea
Prior art keywords
machine
service
domain model
specific domain
data point
Prior art date
Application number
KR1020147006407A
Other languages
English (en)
Inventor
미카엘 슈엡
Original Assignee
페라그 아게
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 페라그 아게 filed Critical 페라그 아게
Publication of KR20140065410A publication Critical patent/KR20140065410A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/409Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using manual data input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details or by setting parameters
    • 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/33Director till display
    • G05B2219/33141Communication system software module independent from medium, protocol, address

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)
  • Computer And Data Communications (AREA)

Abstract

컴퓨터화된 기계 제어 시스템(1)은 어플리케이션-독립 기계-특정 부분(10)을 포함하며, 어플리케이션-독립 기계-특정 부분(10)이, 기계(15)의 기계-특정 도메인 모델(102)과, 기계-특정 통신 프로토콜을 통해 기계(15)의 데이터 포인트를 액세스하고, 기계-특정 도메인 모델(102)에서의 대응하는 데이터 포인트 오브젝트 또는 기계(15)에서의 데이터 포인트를 업데이트하는 제어 모듈(101)을 포함한다. 또한, 기계 제어 시스템(1)은 기계-독립 어플리케이션-특정 부분(11)을 포함하며, 이 기계-독립 어플리케이션-특정 부분(11)이, 어플리케이션-특정 도메인 모델(112)과, 기계-특정 도메인 모델(102)을 액세스하고, 어플리케이션-특정 도메인 모델(112)의 데이터 오브젝트를 기계-특정 도메인 모델(102)의 데이터 포인트 오브젝트에 맵핑하고, 또한 그 반대로도 맵핑하는 맵핑 모듈(111)을 포함한다.

Description

컴퓨터화된 기계 제어 시스템{COMPUTERISED MACHINE CONTROL SYSTEM}
본 발명은 컴퓨터화된 기계 제어 시스템에 관한 것으로, 보다 구체적으로는 프린터, 인쇄물 처리 기계(printed product processing machine), 운송 기계(conveyance machine) 등과 같은 기계를 제어하기 위한 컴퓨터화된 기계 제어 시스템에 관한 것이다.
프린터, 인쇄물 처리 기계, 운송 기계 등과 같은 기계의 제어는 대체로 소유권을 주장할 수 있는(proprietary) 통신 프로토콜을 통해 고수준의 컴퓨터화된 관리 및/또는 운영 시스템에 의해 액세스되는 프로그래머블 디바이스에 의해 발생한다. 프로그래머블 디바이스는 예컨대 기계의 센서 및 작동기(actors)에 전기 접속되는 소위 프로그래머블 로직 컨트롤러(PLC)이다. 기계가 예컨대 또 다른 제조업체의 제품으로 교체될 때, 관리 및/또는 운영 시스템의 프로그램 어플리케이션에서의 고가이면서 복잡한 적합화(adaptation)가 대체적으로 수행되어야 한다. 여러 개의 기계의 설치가 또 다른 제조업체로부터의 기계로 확장될 때에도 동일한 문제가 발행한다. 소유권을 주장할 수 있는 통신 프로토콜은 상이한 제조업체로부터의 기계들 간의 직접적인 상호작용을, 그것이 가능한 경우라도, 매우 곤란하게 한다.
본 발명의 목적은 공지의 시스템의 단점들 중의 적어도 몇몇을 갖지 않는 컴퓨터화된 기계 제어 시스템을 제안하는 것이다. 구체적으로, 본 발명의 한 가지 목적은 상이한 제조업체로부터의 기계들의 향상된 통합을 허용하는 기계 제어용 컴퓨터화된 기계 제어 시스템을 제안하는 것이다.
본 발명에 따라, 상기한 목적은 독립 청구항의 특징에 의해 달성된다. 또한, 추가의 이로운 실시예가 종속 청구항 및 상세한 설명에 기술되어 있다.
전술한 목적은 본 발명에 의해 달성되며, 구체적으로, 고수준의 관리 또는 운영 시스템의 어플리케이션과 통신하는 통신 모듈을 갖고, 어플리케이션-독립 기계-특정 부분(application-independent, machine-specific part) 및 기계-독립 어플리케이션-특정 부분(machine-independent, application-specific part)을 포함하는 컴퓨터화된 기계 제어 시스템에 의해 달성된다. 상기 어플리케이션-독립 기계-특정 부분은, 기계의 데이터 포인트(data point)를 갖는 기계-특정 도메인 모델(machine-specific domain model)과, 기계-특정 통신 프로토콜을 통해 상기 기계의 데이터 포인트를 액세스하고, 상기 기계-특정 도메인 모델에서의 대응하는 데이터 포인트 오브젝트 또는 상기 기계에서의 데이터 포인트를 업데이트하도록 배치된 제어 모듈을 포함한다. 상기 기계-독립 어플리케이션-특정 부분은, 상기 관리 또는 운영 시스템이 상기 통신 모듈을 통해 액세스할 수 있는 데이터 오브젝트를 갖는 어플리케이션-특정 모델과, 상기 기계 특정 도메인 모델을 액세스하고, 상기 데이터 오브젝트를 상기 데이터 포인트 오브젝트에 맵핑하거나 또는 상기 데이터 포인트 오브젝트를 상기 데이터 오브젝트에 맵핑하도록 배치된 맵핑 모듈을 포함한다.
변형 실시예에서, 상기 제어 모듈은 상기 기계-특정 도메인 모델에서의 대응하는 데이터 포인트 오브젝트를 업데이트하기 위해 상기 기계의 데이터 포인트를 주기적으로 액세스하도록 배치되며, 상기 기계-특정 도메인 모델은 상기 어플리케이션-특정 부분에 대한 요청시에만 상기 기계-특정 도메인 모델에서의 데이터 포인트 오브젝트의 값을 전송하도록 배치된다.
추가의 변형 실시예에서, 상기 제어 모듈은 프로그래머블 로직 컨트롤러를 통해 상기 기계의 데이터 포인트를 액세스하도록 배치되며, 상기 기계-특정 통신 프로토콜은 특별히 상기 프로그래머블 로직 컨트롤러 쪽으로 맞추어지고(geared), 상기 기계-특정 도메인 모델은 상기 프로그래머블 로직 컨트롤러를 통해 이용 가능한 기계의 이들 데이터 포인트의 데이터 포인트 오브젝트를 포함한다.
변형 실시예에서, 상기 제어 모듈은 상기 프로그래머블 로직 컨트롤러를 통해 액세스되었던 상기 데이터 포인트가 일관성 상태(consistent state)에 있을 때에만 상기 기계-특정 도메인 모델에서의 데이터 포인트 오브젝트를 업데이트하도록 배치된다.
바람직한 변형 실시예에서, 상기 어플리케이션-특정 도메인 모델은 상기 관리 또는 운영 시스템이 액세스할 수 있는 서비스-지향 아키텍처 플랫폼(service-oriented architecture platform)의 서비스로서 설계되며, 상기 어플리케이션-특정 도메인 모델의 데이터 오브젝트 및 서비스 정의는 상기 관리 또는 운영 시스템이 액세스할 수 있는 상기 서비스-지향 아키텍처 플랫폼의 인터페이스를 통해 상기 고수준의 관리 또는 운영 시스템의 어플리케이션을 위해 정해진다. 상기 통신 모듈은 윈도우즈 커뮤니케이션 파운데이션(Windows Communication Foundation, WCF)의 통신 기능을 갖는 실행 시간 모듈(run-time module)을 포함하며, 상기 어플리케이션-특정 도메인 모델은 WCF 서비스로서 구현되며, 상기 고수준의 관리 또는 운영 시스템의 어플리케이션을 위한 상기 어플리케이션-특정 도메인 모델의 데이터 오브젝트 및 서비스 정의는 WCF 콘트랙트 인터페이스(contract interface)를 통해 정해진다.
바람직한 변형 실시예에서, 상기 기계-특정 도메인 모델은 서비스-지향 아키텍처 플랫폼의 이용 가능한 서비스로서 구현되며, 상기 기계-특정 도메인 모델의 데이터 포인트 오브젝트 및 서비스 정의는 서비스 고객이 액세스할 수 있는 상기 서비스-지향 아키텍처 플랫폼의 인터페이스를 통해 정해지며, 상기 서비스는 상기 서비스-지향 아키텍처 플랫폼을 통해 서비스 고객이 액세스할 수 있다. 기계-특정 도메인 모델은 예컨대 WCF 서비스로서 구현되며, 기계-특정 도메인 모델의 데이터 오브젝트 및 서비스 정의는 WCF 콘트랙트 인터페이스를 통해 정해진다.
변형 실시예에서, 상기 서비스-지향 아키텍처 플랫폼의 서비스는, 각각, 상기 고수준의 관리 또는 운영 시스템으로부터 주기적인 홀드-액티브 콜(periodic hold-active call)을 수신하고, 상기 관리 또는 운영 시스템에 대한 접속을 보장하기 위해 홀드-액티브 응답(hold-active response)으로 직접 응답하도록 배치된다.
추가의 변형예에서, 상기 제어 모듈은, 상기 기계의 이용 가능성을 주기적으로 체크하고, 정해진 시간 내에 질의 메시지에 대한 응답 메시지가 없다면, 상기 도메인 모델이 상기 기계에 접속되지 않았다는 것을 나타내는 값을 상기 기계-특정 도메인 모델에 할당하도록 배치된다.
컴퓨터화된 기계 제어 시스템에 추가하여, 본 발명은 또한 기계를 제어하기 위한 컴퓨터에 의해 구현되는 방법 및 기계 제어 시스템을 제어하기 위한 컴퓨터 프로그램 제품에 관련된다. 컴퓨터 프로그램 제품은, 상기 기계 제어 시스템이 기계를 제어하는 방법을 실행하도록 상기 기계 제어 시스템의 하나 이상의 프로세서를 제어하기 위한 컴퓨터 프로그램 코드가 저장된 컴퓨터 판독 가능 매체를 포함하는 것이 바람직하다. 여기에서, 상기 기계 제어 시스템이, 기계의 데이터 포인트를 갖고, 고수준의 관리 또는 운영 시스템의 어플리케이션에 독립적인 기계-특정 도메인 모델을 생성하며, 기계-특정 통신 프로토콜을 통해 상기 기계의 데이터 포인트를 액세스하며, 상기 기계-특정 도메인 모델에서의 대응하는 데이터 포인트 오브젝트 또는 상기 기계에서의 데이터 포인트를 업데이트하는 단계들이 수행된다. 이에 부가하여, 상기 기계 제어 시스템은, 상기 관리 또는 운영 시스템이 액세스할 수 있는 데이터 오브젝트를 갖는 기계-독립 어플리케이션-특정 도메인 모델을 생성하며, 상기 기계 특정 도메인 모델을 액세스하며, 상기 데이터 오브젝트를 상기 데이터 포인트 오브젝트에 맵핑하거나 또는 상기 데이터 포인트 오브젝트를 상기 데이터 오브젝트에 맵핑한다.
이하에서는 본 발명의 실시예를 첨부 도면에 예시되어 있는 예를 참조하여 설명한다.
도 1은 기계의 데이터 포인트(data point)를 액세스하기 위해 어플리케이션-독립 기계-특정 부분(application-independent, machine-specific part) 및 기계-독립 어플리케이션-특정 부분(machine-independent, application-specific part)을 포함하는 컴퓨터화된 기계 제어 시스템을 도식적으로 예시하는 블록도이다.
도 2는 서비스-지향 아키텍처 플랫폼(service-oriented architecture platform)을 통해 통신 가능 방식(communication-enabled manner)으로 서로 접속되는 여러 개의 컴퓨터화된 제어 시스템과 고수준의 관리 및 운영 시스템을 도식적으로 예시하는 블록도이다.
도 3은, 기계의 데이터 포인트를 액세스하기 위해, 어플리케이션-독립 기계-특정 부분과 기계-독립 어플리케이션-특정 부분이 상이한 컴퓨터 시스템 상에 구현되고, 서비스-지향 아키텍처 플랫폼을 통해 통신 가능 방식으로 서로 접속되는 컴퓨터화된 기계 제어 시스템을 도식적으로 예시하는 블록도이다.
도 4는 어플리케이션-독립 기계-특정 부분과 기계-독립 어플리케이션-특정 부분이 상이한 컴퓨터 시스템 상에 구현되고, 서비스-지향 아키텍처 플랫폼을 통해 통신 가능 방식으로 서로 접속되는, 여러 개의 컴퓨터화된 기계 제어 시스템 및 고수준의 관리 및 운영 시스템을 도식적으로 예시하는 블록도이다.
도 5는 디스플레이 상의 그래픽 사용자 인터페이스를 생성하기 위한 컴퓨터 시스템의 블록도이다.
도 6은 디스플레이 상의 그래픽 사용자 인터페이스를 생성하는 일련의 단계의 예를 도식적으로 예시하는 흐름도이다.
도 7a는 디스플레이 상에 표시된 메인 윈도우의 예를 보여주는 도면이다.
도 7b는 디스플레이 상에 표시되는 메인 윈도우의 여러 개의 윈도우 영역의 예를 보여주는 도면이다.
도 7c는 여러 개의 윈도우 영역 및 표시된 로그인 영역을 갖는, 디스플레이 상에 표시된 메인 윈도우의 예를 보여주는 도면이다.
도 7d는 표시된 로그인 영역뿐만 아니라 여러 개의 윈도우 영역 및 위젯이 그 안에 표시된, 디스플레이 상에 표시된 메인 윈도우의 예를 보여주는 도면이다.
도 1, 도 2 및 도 3에서, 도면 부호 1은 예컨대 프린터, 인쇄물 처리 기계, 운송 기계 등과 같은 기계(15)를 제어하기 위한 컴퓨터화된 기계 제어 시스템을 나타낸다. 기계(15)의 제어는 예컨대 기계(15)의 센서 및 작동기에 접속되는(전기적으로) 프로그래머블 디바이스를 통해, 예컨대 소위 프로그래머블 로직 컨트롤러(PLC)(14)를 통해 발생한다. 변형 실시예에 따라, 프로그래머블 디바이스(14)는 기계(15) 또는 기계의 센서 및 작동기에 직접 접속되거나 또는 기계(15)의 마이크로컨트롤러를 통해 접속된다.
도 1 및 도 3에서, 도면 부호 2는 컴퓨터화된 관리 또는 운영 시스템을 나타낸다. 관리 또는 운영 시스템(2)은 하나 이상의 디스플레이, 예컨대 터치 감응식 디스플레이, 구체적으로 소위 멀티터치 디스플레이 접속되는 하나 이상의 프로세서를 갖는 조작 컴퓨터 시스템(operative computer system)(2') 상에서 구현된다.
도 1 및 도 3에 도식적으로 도시된 바와 같이, 관리 또는 운영 시스템(2)은 여러 개의 기능 모듈, 예컨대 하나 이상의 기계(15, 15a, 15b, 15c, 15d)의 생산을 구성하고, 모니터링하고, 운영하는 사용자 인터페이스(21), 하나 이상의 기계(15, 15a, 15b, 15c, 15d)를 유지하고 진단하는 사용자 인터페이스(23), 및 예컨대 사용자 인터페이스(21, 23)와 같은, 서비스 고객이 액세스 가능하고 실행할 수 있는, 생산을 개시, 중지 또는 차단하기 위한 명령과 같은 소위 하이 레벨의 서비스 등의 여러 개의 고수준의 서비스를 갖는 서비스 모듈(22)을 포함한다. 아래에 더욱 상세하게 설명되는 바와 같이, 사용자 인터페이스(21, 23)는 소위 플러그인을 기반으로 하며, 여러 개의 선택 가능하고 활성화 가능한 위젯 플러그인을 포함한다. 서비스 모듈(22)은 예컨대 Microsoft Corporation의 Net에서의 윈도우즈 커뮤니케이션 파운데이션(Windows Communication Foundation, WCF)과 같은 서비스-지향 아키텍처 플랫폼(100)의 서비스 및 플러그인으로서 구현되는 것이 바람직하다.
도 1 및 도 3에 도시된 바와 같이, 기계 제어 시스템(1)은 어플리케이션-독립 기계-특정 부분(10) 및 기계-독립 어플리케이션-특정 부분(11)으로 분할되는 기능 모듈을 포함한다. 실시예의 변형 및/또는 구성에 따라, 기계 제어 시스템(1)의 기능 모듈은, 하나 이상의 기계(15, 15a, 15b, 15c, 15d)의 생산을 구성하고, 모니터링하고, 운영하는 사용자 인터페이스(12), 및/또는 하나 이상의 기계(15, 15a, 15b, 15c, 15d)를 유지하고 진단하는 사용자 인터페이스(13)를 추가로 포함한다. 사용자 인터페이스(12, 13)는 소위 플러그인을 기반으로 하는 것이 바람직하며, 아래에 보다 상세하게 설명되는 바와 같이 여러 개의 선택 가능하고 활성화 가능한 위젯 플러그인을 포함한다.
도 1에 따른 변형 실시예에서, 기계-특정 부분(10) 및 어플리케이션-특정 부분(11)은 동일한 조작 컴퓨터 시스템(1') 상에서, 예컨대 PLC(14)에 접속되는 하나 이상의 별도의 프로세서 상에서, 또는 PLC(14)의 하나 이상의 프로세서 상에서 구현된다. 기계 제어 시스템(1)을 갖는 컴퓨터 시스템(1')은 기계(15)의 일부분으로서 구현되거나, 기계(15)에 직접 부착되거나, 또는 기계로부터 떨어져 거리를 두고 배치된다. 컴퓨터 시스템(1')은 예컨대 소위 임베디드 PC로서 구현된다.
도 3에 따른 변형 실시예에서, 기계-특정 부분(10) 및 어플리케이션-특정 부분(11)은 상이한 컴퓨터 시스템(1", 2") 상에서 구현된다. 여기서, 기계-특정 부분(10)은 컴퓨터 시스템(1") 상에서, 예컨대 PLC(14)에 접속되는 하나 이상의 별도의 프로세서 상에서, 또는 PLC(14)의 하나 이상의 프로세서 상에서 구현된다. 기계-특정 부분(10)을 갖는 컴퓨터 시스템(1")은 기계(15)의 일부분으로서 구현되거나, 기계(15)에 직접 부착되거나, 또는 기계로부터 떨어져 거리를 두고 배치된다. 한편, 어플리케이션-특정 부분(11)은 관리 또는 운영 시스템(2)의 컴퓨터 시스템(2") 상에 구현된다.
기계-특정 부분(10)은 제어 모듈(101) 및 기계-특정 도메인 모듈(102)을 포함한다. 제어 모듈(101)은 하나 이상의 데이터 포인트의 현재 값을 판독 또는 기입하기 위해 예컨대 TCP/IP, 프로피버스(Profibus), 또는 Beckhoff company로부터의 ADS(Automation Device Specification)와 같은 기계-특정 통신 프로토콜을 통해 기계(15)의 데이터 포인트를 액세스하도록 배치된다.
여기서, 데이터 포인트는, 예컨대 기계(15)의 센서 또는 카운터의 측정치 또는 카운터값과 같이 기계(15)에 의해 출력되거나, 또는 예컨대 제어 명령, 제어 파라미터 또는 제어값과 같이 기계(15)에 입력되는 값이다. 데이터 포인트는 구체적으로 기계(15)의 (현재) 상태값 및 상태 정보도 포함한다. 데이터 포인트는 구체적으로 기계(15)의 프로세서를 통한 기계(15)의 값의 입력 또는 출력을 표시한다. 기계-특정 도메인 모델(102)은 기계-특정 데이터 포인트 오브젝트를 포함한다. 여기서, 기계-특정 데이터 포인트 오브젝트는 기계(15)의 하나 이상의 데이터 포인트를 맵핑하는 데이터 오브젝트이다. 제어 모듈(101)이 PLC(14)를 통해 기계(15)의 데이터 포인트를 액세스할 때, 기계-특정 통신 프로토콜은 특별히 대응하는 PLC(14) 쪽으로 맞추어지고(geared), 기계-특정 도메인 모델(102)은 PLC(14)를 통해 액세스할 수 있는 데이터 포인트 오브젝트를 독점적으로(exclusively) 포함한다. 판독 프로세스는 명시적 판독 명령(explicit read command)에 기초하여 주기적으로 및 추가로적으로 발생한다. 판독 데이터 포인트의 현재값은 제어 모듈(101)에 의해 기계-특정 도메인 모델(102)의 대응하는 데이터 포인트 오브젝트에 기입된다. 기입 프로세스는 대체로 기계-특정 도메인 모델(102)에 대한 명시적 기입 또는 서비스 명령(explicit write or service command)에 기초하여 발생한다. 여기서, 기계-특정 도메인 모델(102)에서의 대응하는 데이터 포인트 오브젝트의 현재값은 제어 모듈(101)에 의해 기계(15) 또는 PLC(14)의 대응하는 데이터 포인트에 기입된다. 여기서, 데이터 포인트 - 및 그에 대응하여 또한 데이터 포인트 오브젝트 -가 예컨대 (구조화된) 파일로 배열되는 데이터값의 테이블 또는 매트릭스와 같은 여러 개의 데이터값을 포함할 수 있다는 것에 유의하여야 한다.
변형 실시예에서, 제어 모듈(101)은 기계(15)에 의해 또는 PLC(14)를 통해 직집 획득된 데이터 포인트를 버퍼 메모리에 저장하며, 데이터 포인트의 전부 또는 적어도 정해진 부분이 일관성 상태(consistent status)에 있을 때에만, 즉 대응하는 데이터 포인트의 어느 것도 예전 상태(old status) 또는 안정하지 않은 중간 상태의 값을 갖지 않을 때에만, 기계-특정 도메인 모델(102) 내의 대응하는 데이터 포인트 오브젝트를 갱신한다. 그러므로, 기계(15) 또는 기계(15)의 정해진 부분의 현재 및 상태-일관적(status-consistent) 데이터 포인트를 갖는 스냅샷이 생성된다.
다른 변형예에서, 제어 모듈(101)은 기계(15) 또는 PLC(14)가 이용 가능한지, 즉 접속되고, 작동하고, 액세스 가능한지의 여부를 주기적으로 체크한다. 이러한 목적으로, 제어 모듈(101)은 기계(15) 또는 PLC(14)에 해당 질의 메시지를 주기적으로 발송한다. 제어 모듈(101)에서 정해진 기간 내에 기계(15) 또는 PLC(14)로부터 리턴 메시지가 수신되지 않으면, 제어 모듈(101)은, 기계-특정 도메인 모델(102)에 할당된 상태를, 도메인 모델(102)이 기계(15)에 접속되지 않았다는 것을 나타내는 값으로 설정한다.
어플리케이션-특정 부분(11)은 어플리케이션-특정 도메인 모델(112) 및 맵핑 모듈(111)을 포함한다. 어플리케이션-특정 도메인 모델(112)은 어플리케이션 특정 데이터 오브젝트를 포함한다. 맵핑 모듈(111)은 서비스-지향 아키텍처 플랫폼(100)의 대응하는 서비스(103)를 통해 기계-특정 도메인 모델(102)을 액세스하도록 배치된다. 기입 기능에서, 어플리케이션-특정 데이터 오브젝트는 기계-특정 데이터 포인트 오브젝트에 맵핑되며, 프로세스에서, 맵핑 모듈(111)은 어플리케이션-특정 데이터 오브젝트의 현재값을 기계-특정 도메인 모델(102)의 관련된 데이터 포인트 오브젝트에 기입한다. 판독 기능에서, 기계-특정 데이터 포인트 오브젝트는 어플리케이션-특정 데이터 오브젝트에 맵핑되며, 프로세스에서, 맵핑 모듈(111)은 하나 이상의 기계-특정 데이터 포인트 오브젝트의 현재값을 판독하고, 이들을 어플리케이션-특정 도메인 모델(112)의 연관된 데이터 오브젝트에 기입한다. 판독 프로세스 및 기입 프로세스 둘 모두는 어플리케이션-특정 도메인 모델(112)에 대한 명시적 기입, 판독 또는 서비스 명령에 기초하여 독점적으로 발생한다.
기계-특징 도메인 모델(102) 및 어플리케이션-특정 도메인 모델(112)은 예컨대 WCF와 같은 서비스-지향 아키텍처 플랫폼(100)의 이용 가능한 서비스(103 또는 113)로서 구현되는 것이 바람직하다. 여기서, 예컨대 기입 또는 판독과 같은 이용 가능한 기능과 도메인 모델(102, 112)의 데이터 포인트 오브젝트 또는 어플리케이션-특정 데이터 오브젝트는 서비스 고객이 액세스할 수 있는 서비스-지향 아키텍처 플랫폼(100)의 인터페이스를 통해 정해지고 검색 가능하다. 정해진 서비스(103, 113)는 도 1 및 도 3에 화살표(104, 105; 또는 114, 115, 116)에 의해 도식적으로 나타낸 바와 같이 서비스-지향 아키텍처 플랫폼(100)을 통해 서비스 고객이 액세스할 수 있다. 도메인 모델(102, 112)은 요청 시에만, 즉 서비스 고객이 해당 서비스(103, 113)를 액세스하고, 해당 데이터 포인트 오브젝트 또는 데이터 오브젝트를 요청할 때에만, 기계-특정 데이터 포인트 오브젝트 또는 어플리케이션-특정 데이터 오브젝트를 자신의 서비스 고객에게 전달한다. 예컨대, 어플리케이션-특정 부분(11)은 어플리케이션-특정 부분이 해당 서비스(103)를 통해 데이터 포인트 오브젝트를 명시적으로 요청할 때에만 기계-특정 도메인으로부터 데이터 포인트 오브젝트를 수신하고, 사용자 인터페이스(12, 13, 21) 및 서비스 모듈(22)은 이들이 해당 서비스(113)를 통해 데이터 오브젝트를 명시적으로 요청할 때에만 어플리케이션-특정 도메인 모델(112)로부터의 데이터 오브젝트를 어플리케이션-특정 부분(11)으로부터 수신한다.
화살표(117, 188, 119)로 도식적으로 나타낸 바와 같이, 변형예에서, 서비스 모듈(22) 및 사용자 인터페이스(23, 13)는 서비스(103)를 통해 직접 기계-특정 도메인 모델(102)을 액세스하도록 배치된다. 이를 위해, 서비스 모듈(22) 및 사용자 인터페이스(23, 13)의 기계-특정 적합화가 요구된다.
데이터 교환을 위해, 컴퓨터 시스템(1', 1", 2', 2")은 통신 접속을 통해, 예컨대 데이터 버스 또는 근거리 통신망(LAN)을 통해 접속된다. 서비스-지향 아키텍처 플랫폼(100)의 서비스로서 구현되는 기능 모듈 간의 통신은, 예컨대 서비스-지향 아키텍처 플랫폼(100)의 실행 시간 환경(run-time environment)의 일부분으로서 이용할 수 있는 WCF와 같은 서비스-지향 아키텍처 플랫폼(100)의 통신 기능을 통해 발생하는 것이 바람직하다. 서비스-지향 아키텍처 플랫폼(100)의 서비스들 간의 접속이 정해진 기간(타임아웃) 내에서의 비활성화(inactivity)로 인해 종료되는 것을 방지하기 위해서는, 서비스로서 구현되는 기능 모듈은, 주기적 홀드-액티브 콜(periodic hold-active call)을 이들이 서비스 고객이 되는 이들 서비스에 전송하거나, 또는 주기적 홀드-액티브 콜을 이들의 서비스 고객으로부터 수신하고 홀드-액티브 응답(hold-active response)으로 직접 응답하도록 배치된다.
도 2는 여러 개의 기계(15, 15a, 15b, 15c, 15d)를 갖는 설치를 예시하고 있으며, 각각의 기계는 기계 제어 시스템(1, 1a, 1b, 1c, 1d)에 의해 제어되고, 각각의 기계 제어 시스템의 기능 모듈이 도 1에 예시된 바와 같이 공통 컴퓨터 시스템(1', 1'a, 1'b, 1'c, 1'd) 상에서 구현된다. 도 2에서 알 수 있는 바와 같이, 관리 또는 운영 시스템(2)은 여러 개의 조작 컴퓨터 시스템(2', 2'a, 2'b) 상에서 구현되고, 여러 개의 상호 보완적 및/또는 가외적(redundant) 프로그램 어플리케이션들(어플리케이션)을 포함한다. 도 2에 도시적으로 예시된 바와 같이, 컴퓨터 시스템(1', 1'a, 1'b, 1'c, 1'd, 2', 2'a, 2'b) 상에서 구현되는 기계 제어 시스템(1, 1a, 1b, 1c, 1d) 및 관리 또는 운영 시스템(2)의 기능 모듈들은 예컨대 WCF와 같은 서비스-지향 아키텍처 플랫폼(100) 및 이 플랫폼의 통신 기능을 통해 통신하고 상호작용한다.
도 4는 여러 개의 기계(15, 15a, 15b, 15c, 15d)를 갖는 설치를 예시하고 있으며, 각각의 기계는 기계 제어 시스템(1)에 의해 제어되고, 기계 제어 시스템의 기능 모듈들이 도 3에 예시된 바와 같이 상이한 컴퓨터 시스템 상에서 구현된다. 기계-특정 부분(10, 10a, 10b, 10c, 10d)은 대응하는 기계(15, 15a, 15b, 15c, 15d)에 접속된 컴퓨터 시스템(1", 1"a, 1"b, 1"d) 상에서 각각 구현된다. 한편, 어플리케이션-특정 부분(11, 11a, 11b)은 여러 개의 상호 보완적 및/또는 가외적 프로그램 어플리케이션을 포함하는 관리 또는 운영 시스템(2)의 컴퓨터 시스템(2", 2"a, 2"b) 상에서 구현된다. 도 4에 도시적으로 예시된 바와 같이, 컴퓨터 시스템(1", 1"a, 1"b, 1"c, 1"d, 2", 2"a, 2"b) 상에서 구현되는 기계-특정 부분(10, 10a, 10b, 10c, 10d)의 기능 모듈, 어플리케이션-특정 부분(11, 11a, 11b)의 기능 모듈, 및 관리 또는 운영 시스템(2)의 기능 모듈은 예컨대 WCF와 같은 서비스-지향 아키텍처 플랫폼(100) 및 이 플랫폼의 통신 기능을 통해 통신하고 상호작용한다.
도 5에서, 도면 부호 3은 하나 이상의 조작 컴퓨터 및 각각의 경우에 예컨대 터치 감응식 디스플레이, 구체적으로 소위 멀티터치 디스플레이와 같은 하나 이상의 디스플레이(4)에 접속되는 하나 이상의 프로세서를 갖는 컴퓨터 시스템을 나타낸다. 컴퓨터 시스템(4)은 예컨대 전술한 컴퓨터 시스템(1', 1'a, 1'b, 1'c, 1'd, 1", 1"a, 1"b, 1"c, 1"d, 2', 2'a, 2'b, 2", 2"a 및/또는 2"b) 중의 하나 이상을 포함한다.
도 5에 도식적으로 나타낸 바와 같이, 컴퓨터 시스템(3)은 여러 개의 기능 모듈, 구체적으로 플랫폼(30), 라이센스 관리자(31), 플러그인 관리자(32), 영역 관리자(33), 하나 이상의 프로그램 어플리케이션(34), 플러그인 카탈로그(35), 및 저장된(사용자-특정) 위젯 구성(36)을 포함한다. 위젯 구성(36)은 뷰(view)와, 어떠한 사용자를 위해 사용되고 디스플레이될 위젯의 데이터 컨텐츠를 정한다. 예컨대, 위젯 구성(36)은 사용자 기반 구성(user base configuration)에서의 개시 시에 정해지며, 그 후 각각의 경우에 현재 뷰 및 위젯의 디스플레이된 데이터 컨텐츠에 기초하여 어플리케이션의 셧다운 및/또는 사용자의 로그아웃 시에 결정되고 저장된다.
플랫폼(30)은 여러 개의 콤포넌트, 구체적으로, 예컨대 WCF, MEF(Managed Extensibility Framework), 및 WPF(Windows Presentation Foundation)을 위한 Microsoft Corp의 .NET 콤포넌트와 같은, 서비스-지향 아키텍처 플랫폼, 동적 어플리케이션 확장 및 그래픽 기능을 지원하기 위한 실행 시간 환경의 콤포넌트를 포함한다.
플러그인 카탈로그(35)는 예컨대 MEF에서 구현되며, 여러 개의 플러그인 또는 저장된 플러그인에 대한 레퍼런스를 포함한다. 플러그인은 기존의 소프트웨어 기반 프로그램 어플리케이션을 확장하여 그 프로그램 어플리케이션이 플러그인에 의해 제공된 기능으로 확장되도록 하는 소프트웨어 콤포넌트(컴퓨터 프로그램)이다. 플러그인은 예컨대 프로그램 어플리케이션(어플리케이션)의 기동 시에 또는 실행 시간 동안 프로그램 어플리케이션에 대한 보완적인 것으로서 로딩 가능하고 동적으로 실행 가능하다. 플러그인 카탈로그(35)는 구체적으로 메인 윈도우 플러그인, 여러 개의 윈도우 영역 플러그인, 로그인 플러그인, 위젯 관리자 플러그인, 및 여러 개의 위젯 플러그인을 포함한다.
이하에서는, 도 6을 참조하여, 일례로서, 디스플레이(4)의 프로그램 어플리케이션(34)을 위한 그래픽 사용자 인터페이스(6)를 생성하는 일련의 단계를 설명한다.
단계 S1에서, 로딩 가능한 저장된 플러그인 또는 이들 플러그인에 대한 레퍼런스가 예컨대 MEF를 통해 플러그인 카탈로그(35)에 로딩된다. 단계 S1은 예컨대 시스템 구성의 일부분으로서의 예비 단계로서 실행된다. 각각의 플러그인은 상이한 속성이 제공된다. 이들 플러그인 속성은 적어도 기동 조건(startup requirement) 및 기동 제약(startup restriction)을 정하며, 구체적으로 언어 속성 및 라이센스 속성 또한 포함한다.
단계 S2에서, 플러그인 카탈로그(35)에서의 플러그인은 프로그램 어플리케이션(34)이 개시된 후에 자신의 속성에 기초하여 필터링된다. 여기서, 라이센스 관리자(31)는 각각의 플러그인에 대해 유효한 라이센스가 존재하는지의 여부를 체크한다. 이에 부가하여, 사용자와의 상호작용을 위한 인터페이스 기능을 갖는 플러그인의 경우에 사용될 언어가 체크된다.
단계 S3에서, 플러그인 관리자(32)는, 그러한 목적을 위한 충분한 라이센스가 존재하면, 예컨대 사용자-특정 언어와 같은 요구된 언어로 자신의 기동 조건 및 기동 제약에 따라 플러그인을 개시한다. 플러그인은 예컨대 MEF를 통해 개시된다.
단계 S31에서, 메인 윈도우 플러그인이 개시된다. 도면 부호 S35로 나타낸 바와 같이, 디스플레이(4) 상의 메인 윈도우 플러그인은 메인 윈도우를 표시하고, 메인 윈도우 내의 여러 개의 서브 영역을 정한다. 도 7a에 도시된 바와 같이, 메인 윈도우(60)는 실질적으로는 단지 디스플레이(4) 상에 표시된 프레임(쉘(shell))이며, 이 프레임을 위해, 디스플레이(4) 상에서 볼 수 없는 여러 개의 서브 영역(61', 62', 63', 64', 65')이 정해진다. 서브 영역(61', 62', 63', 64', 65')은 예컨대 WPF에서 메인 윈도우 플러그인에 의해 정해진다.
단계 S32에서, 윈도우 영역 플러그인이 추가로 개시된다. 도면 부호 S36으로 나타낸 바와 같이, 메인 윈도우 플러그인은 각각의 경우에 영역 관리자(33)에 등록된다.
단계 S33에서, 위젯 관리자 플러그인이 개시된다. 도면 부호 S37로 나타낸 바와 같이, 위젯 관리자 플러그인은 예컨대 MEF를 통해 각각의 경우에 윈도우 영역 플러그인에 연관되어 저장된 위젯 콘텍스트를 임포트(import)한다. 위젯 콘텍스트는 예컨대 연관된 윈도우 영역에 삽입될 수 있는 가능하고 허용 가능한 위젯을 정한다.
단계 S34에서, 로그인 플러그인이 개시된다. 도면 부호 S38로 나타낸 바와 같이, 로그인 플러그인은 영역 관리자(33)에 등록된다.
도 6에서, 단계 S3과 관련하여, 단지 플러그인의 선택이 디스플레이되고, 그 플러그인이 개시되며, 그 플러그인이 그래픽 사용자 인터페이스(6)의 생성과 관련하여 특별한 관심대상(interest)으로 된다. 그러나, 당해 기술에 익숙한 사람이라면, 예컨대 위젯 플러그인과 같은 추가의 플러그인 또한 개시된다는 것을 이해할 것이다.
단계 S4에서, 예컨대 WPF에서 정해진 서브 영역(61', 62', 63', 64', 65')은 예컨대 WPF에 의해 영역 관리자(33)에 보고(등록)되며, WPF는 이에 부가하여 정해진 서브 영역(61', 62', 63', 64', 65') 모두를 초기화한다.
단계 S5에서, 영역 관리자(33)는 보고된(등록된) 서브 영역(61', 62', 63', 64', 65')을 각각 서브 영역(61', 62', 63', 64', 65')을 위해 제공되는 윈도우 영역 플러그인에 링크한다. 여기서, 로그인 플러그인은 구체적으로 이러한 목적을 위해 제공된 서브 영역(63')에 링크된다.
단계 S6에서, 디스플레이(4) 상의 윈도우 영역 플러그인은 각각의 경우에 이들 플러그인이 링크되는 메인 윈도우(60)의 서브 영역(61', 62', 64', 65')에 자신의 윈도우 영역을 표시한다. 도 7b에 도시된 바와 같이, 디스플레이(4) 상에는, 윈도우 영역(61, 62, 64, 65)이 이제 사용자 인터페이스(6)의 메인 윈도우(60)에 가시적으로 표시된다.
단계 S7에서, 로그인 플러그인은, 디스플레이(4) 상의 자신의 로그인 영역을, 이 플러그인이 링크되는 메인 윈도우(60)의 서브 영역(63')에 표시한다. 도 7c에 도시된 바와 같이, 디스플레이(4) 상에, 윈도우 영역(61, 62, 64, 65)에 부가하여, 대응하는 로그인 입력 필드(66)를 갖는 로그인 영역(63)이 또한 사용자 인터페이스(6)의 메인 윈도우(60)에 가시적으로 표시된다.
단계 S8에서, 로그인 플러그인은 예컨대 사용자명 및 패스워드 또는 액세스 코드와 같은 사용자로부터의 로그인 데이터를 로그인 입력 필드(66)를 통해 수신한다.
단계 S9에서, 위젯 관리자 플러그인은, 사용자(허가된 사용자)의 로그인에 따라, 저장된 사용자-특정 위젯 구성(36)을 로딩한다.
단계 S10에서, 위젯 관리자 플러그인은 사용자의 위젯 구성(36)을 윈도우 영역 플러그인에 연관된 이전에 임포트된 위젯 텍스트에 링크한다. 여기서, 사용자-특정 위젯 구성(36)에 의해 정해진 뷰는 윈도우 영역의 위젯 콘텍스트에 링크된다.
단계 S11에서, 각각의 경우에서의 위젯 플러그인은 자신의 인터페이스 입력 요소 및/또는 인터페이스 출력 요소를 생성하며, 이 위젯 플러그인은, 자신을, 각각의 경우에 디스플레이(4) 상에서, 위젯 플러그인이 어떠한 위젯 콘텍스트에 의해 링크되는 윈도우 영역에, 및 구체적으로 사용자-특정 위젯 구성(36)에 의해 정해진 뷰에, 및 그 안에 디스플레이될 데이터 컨텐츠에 삽입한다. 도 7d에 도시된 바와 같이, 디스플레이(4) 상에서 사용자 인터페이스(6)의 메인 윈도우(60)의 윈도우 영역(61, 62, 64, 65)에, 이제 위젯 W1, W2, W3, W4가 추가로 가시적으로 표시된다.
최종적으로, 위에서 나타낸 기능 모듈이 프로그래밍된 소프트웨어 모듈로서 구현되고, 이 소프트웨어 모듈이 각각의 경우에서 컴퓨터의 하나 이상의 프로세서를 제어하기 위한 프로그램 코드를 포함하고, 컴퓨터 프로그램 제품 상에 저장되며, 이 컴퓨터 프로그램 제품은 프로세서에 영구적으로 또는 탈착식으로 접속되고, 비휘발성의 액세스 가능한 컴퓨터 판독 가능 매체를 포함한다는 것을 이해하여야 한다. 그러나, 당해 기술 분야에 익숙한 사람이라면 기능 모듈이 다른 변형 실시예에서는 부분적으로 또는 전체적으로 하드웨어 성분을 통해 구현될 수 있다는 것을 이해할 것이다. 이에 부가하여, 본 명세서에서는 컴퓨터 프로그램 코드가 특정한 기능 모듈에 연관되고, 단계들의 구현이 어떠한 순서로 표현되었지만, 당해 기술 분야에 익숙한 자라면, 그럼에도 불구하고, 보호받고자 하는 발명의 요지에서 벗어나지 않고서도, 컴퓨터 프로그램 코드가 상이하게 구조될 수 있고, 적어도 어떠한 단계들의 순서가 변경될 수 있다는 것을 이해할 것이라는 점에 유의하여야 한다.

Claims (18)

  1. 컴퓨터화된 기계 제어 시스템(1)에 있어서,
    고수준의 관리 또는 운영 시스템(2)의 어플리케이션과 통신하는 통신 모듈;
    기계(15)의 데이터 포인트(data point)를 갖는 기계-특정 도메인 모델(machine-specific domain model)(102)과, 기계-특정 통신 프로토콜을 통해 상기 기계(15)의 데이터 포인트를 액세스하고, 상기 기계-특정 도메인 모델(102)에서의 대응하는 데이터 포인트 오브젝트 또는 상기 기계(15)에서의 데이터 포인트를 업데이트하도록 배치된 제어 모듈(101)을 포함하는 어플리케이션-독립 기계-특정 부분(application-independent, machine-specific part)(10); 및
    상기 관리 또는 운영 시스템(2)이 액세스할 수 있는 데이터 오브젝트를 갖는 어플리케이션-특정 모델(112)과, 상기 기계 특정 도메인 모델(102)을 액세스하고, 상기 데이터 오브젝트를 상기 데이터 포인트 오브젝트에 맵핑하거나 또는 상기 데이터 포인트 오브젝트를 상기 데이터 오브젝트에 맵핑하도록 배치된 맵핑 모듈(111)을 포함하는 기계-독립 어플리케이션-특정 부분(machine-independent, application-specific part)(11)
    을 포함하는, 컴퓨터화된 기계 제어 시스템.
  2. 제1항에 있어서,
    상기 제어 모듈(101)은 상기 기계-특정 도메인 모델(102)에서의 대응하는 데이터 포인트 오브젝트를 업데이트하기 위해 상기 기계(15)의 데이터 포인트를 주기적으로 액세스하도록 배치되며, 상기 기계-특정 도메인 모델(102)은 상기 어플리케이션-특정 부분(11)에 대한 요청시에만 상기 기계-특정 도메인 모델(102)에서의 데이터 포인트 오브젝트의 값을 전송하도록 배치되는, 컴퓨터화된 기계 제어 시스템.
  3. 제1항 또는 제2항에 있어서,
    상기 제어 모듈(101)은 프로그래머블 로직 컨트롤러(14)를 통해 상기 기계(15)의 데이터 포인트를 액세스하도록 배치되며, 상기 기계-특정 통신 프로토콜은 특별히 상기 프로그래머블 로직 컨트롤러(14) 쪽으로 맞추어지고(geared), 상기 기계-특정 도메인 모델(102)은 상기 프로그래머블 로직 컨트롤러(14)를 통해 이용 가능한 기계(15)의 이들 데이터 포인트의 데이터 포인트 오브젝트를 포함하는, 컴퓨터화된 기계 제어 시스템.
  4. 제3항에 있어서,
    상기 제어 모듈(101)은 상기 프로그래머블 로직 컨트롤러(14)를 통해 액세스되었던 상기 데이터 포인트가 일관성 상태(consistent state)에 있을 때에만 상기 기계-특정 도메인 모델(102)에서의 데이터 포인트 오브젝트를 업데이트하도록 배치되는, 컴퓨터화된 기계 제어 시스템.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 어플리케이션-특정 도메인 모델(112)은 상기 관리 또는 운영 시스템(2)이 액세스할 수 있는 서비스-지향 아키텍처 플랫폼(service-oriented architecture platform)의 서비스로서 구현되며, 상기 어플리케이션-특정 도메인 모델(112)의 데이터 오브젝트 및 서비스 정의는 상기 관리 또는 운영 시스템(2)이 액세스할 수 있는 상기 서비스-지향 아키텍처 플랫폼의 인터페이스를 통해 상기 고수준의 관리 또는 운영 시스템(2)의 어플리케이션을 위해 정해지는, 컴퓨터화된 기계 제어 시스템.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 기계-특정 도메인 모델(102)은 서비스-지향 아키텍처 플랫폼의 이용 가능한 서비스로서 구현되며, 상기 기계-특정 도메인 모델(102)의 데이터 포인트 오브젝트 및 서비스 정의는 서비스 고객이 액세스할 수 있는 상기 서비스-지향 아키텍처 플랫폼의 인터페이스를 통해 정해지며, 상기 서비스는 상기 서비스-지향 아키텍처 플랫폼을 통해 서비스 고객이 액세스할 수 있는, 컴퓨터화된 기계 제어 시스템.
  7. 제5항 또는 제6항에 있어서,
    상기 서비스-지향 아키텍처 플랫폼의 서비스는, 각각, 상기 고수준의 관리 또는 운영 시스템(2)으로부터의 주기적인 홀드-액티브 콜(periodic hold-active call)을 수신하고, 상기 관리 또는 운영 시스템(2)에 대한 접속을 보장하기 위해 홀드-액티브 응답(hold-active response)으로 직접 응답하도록 배치되는, 컴퓨터화된 기계 제어 시스템.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 통신 모듈은 윈도우즈 커뮤니케이션 파운데이션(Windows Communication Foundation)의 통신 기능을 갖는 실행 시간 모듈(run-time module)을 포함하며, 상기 어플리케이션-특정 도메인 모델(112)은 상기 윈도우즈 커뮤니케이션 파운데이션의 서비스로서 구현되며, 상기 어플리케이션-특정 도메인 모델(112)의 데이터 오브젝트 및 서비스 정의는 상기 윈도우즈 커뮤니케이션 파운데이션의 콘트랙트 인터페이스(contract interface)를 통해 상기 고수준의 관리 또는 운영 시스템의 어플리케이션을 위해 정해지는, 컴퓨터화된 기계 제어 시스템.
  9. 제1항 내지 제8항 중 어느 항에 있어서,
    상기 제어 모듈(101)은, 질의 메시지를 통해 상기 기계(15)의 이용 가능성을 주기적으로 체크하고, 정해진 기간 내에 상기 질의 메시지에 대한 응답 메시지가 없다면, 상기 기계-특정 도메인 모델(102)이 상기 기계(15)에 접속되지 않았다는 것을 나타내는 상태값(status value)을 상기 기계-특정 도메인 모델(102)에 할당하도록 배치되는, 컴퓨터화된 기계 제어 시스템.
  10. 기계 제어 시스템(1)의 하나 이상의 프로세서를 제어하기 위한 컴퓨터 프로그램 코드가 저장된 컴퓨터 판독 가능 매체를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 기계 제어 시스템(1)이,
    기계(15)의 데이터 포인트를 갖고, 고수준의 관리 또는 운영 시스템(2)의 어플리케이션에 독립적인 기계-특정 도메인 모델(102)을 생성하며, 기계-특정 통신 프로토콜을 통해 상기 기계(15)의 데이터 포인트를 액세스하며, 상기 기계-특정 도메인 모델(102)에서의 대응하는 데이터 포인트 오브젝트 또는 상기 기계(15)에서의 데이터 포인트를 업데이트하며,
    상기 관리 또는 운영 시스템(2)이 액세스할 수 있는 데이터 오브젝트를 갖는 기계-독립 어플리케이션-특정 도메인 모델(112)을 생성하며, 상기 기계 특정 도메인 모델(102)을 액세스하며, 상기 데이터 오브젝트를 상기 데이터 포인트 오브젝트에 맵핑하거나 또는 상기 데이터 포인트 오브젝트를 상기 데이터 오브젝트에 맵핑하는,
    컴퓨터 프로그램 제품.
  11. 제10항에 있어서,
    상기 컴퓨터 프로그램 코드는 상기 프로세서를 제어하여, 상기 기계 제어 시스템(1)이 상기 기계-특정 도메인 모델(102)에서의 대응하는 데이터 포인트 오브젝트를 업데이트하기 위해 상기 기계(15)의 데이터 포인트를 주기적으로 액세스하고, 상기 어플리케이션-특정 도메인 모델(112)에 대한 요청시에만 상기 기계-특정 도메인 모델(102)에서의 데이터 포인트 오브젝트의 값을 전송하도록 하는, 컴퓨터 프로그램 제품.
  12. 제10항 또는 제11항에 있어서,
    상기 컴퓨터 프로그램 코드는 상기 프로세서를 제어하여, 상기 기계 제어 시스템(1)이 프로그래머블 로직 컨트롤러(14)를 통해 상기 기계(15)의 데이터 포인트를 액세스하도록 하고, 여기서 상기 기계-특정 통신 프로토콜이 특별히 상기 프로그래머블 로직 컨트롤러(14) 쪽으로 맞추어지며(geared), 또한 상기 프로그래머블 로직 컨트롤러(14)를 통해 이용 가능한 기계(15)의 이들 데이터 포인트의 데이터 포인트 오브젝트를 상기 기계-특정 도메인 모델(102)에서 발생하도록 하는, 컴퓨터 프로그램 제품.
  13. 제12항에 있어서,
    상기 컴퓨터 프로그램 코드는 상기 프로세서를 제어하여, 상기 프로그래머블 로직 컨트롤러(14)를 통해 액세스된 상기 데이터 포인트가 일관성 상태(consistent state)에 있을 때에만, 상기 기계 제어 시스템(1)이 상기 기계-특정 도메인 모델(102)에서의 데이터 포인트 오브젝트를 업데이트하도록 하는, 컴퓨터 프로그램 제품.
  14. 제10항 내지 제13항 중 어느 한 항에 있어서,
    상기 컴퓨터 프로그램 코드는 상기 프로세서를 제어하여, 상기 기계 제어 시스템(1)이 상기 관리 또는 운영 시스템(2)이 액세스할 수 있는 서비스-지향 아키텍처 플랫폼(service-oriented architecture platform)의 서비스로서 상기 어플리케이션-특정 도메인 모델(112)을 생성하고, 상기 관리 또는 운영 시스템(2)이 액세스할 수 있는 상기 서비스-지향 아키텍처 플랫폼의 인터페이스를 통해 상기 고수준의 관리 또는 운영 시스템(2)의 어플리케이션을 위해 상기 어플리케이션-특정 도메인 모델(112)의 데이터 오브젝트 및 서비스 정의를 정하도록 하는, 컴퓨터 프로그램 제품.
  15. 제10항 내지 제14항 중 어느 한 항에 있어서,
    상기 컴퓨터 프로그램 코드는 상기 프로세서를 제어하여, 상기 기계 제어 시스템(1)이 서비스-지향 아키텍처 플랫폼의 이용 가능한 서비스로서 상기 기계-특정 도메인 모델(102)을 생성하고, 서비스 고객이 액세스할 수 있는 상기 서비스-지향 아키텍처 플랫폼의 인터페이스를 통해 상기 기계-특정 도메인 모델(102)의 데이터 포인트 오브젝트 및 서비스 정의를 정하도록 하며, 상기 서비스는 상기 서비스-지향 아키텍처 플랫폼을 통해 서비스 고객이 액세스할 수 있는, 컴퓨터 프로그램 제품.
  16. 제14항 또는 제15항에 있어서,
    상기 컴퓨터 프로그램 코드는 상기 프로세서를 제어하여, 상기 기계 제어 시스템(1)이 상기 고수준의 관리 또는 운영 시스템(2)으로부터 상기 서비스-지향 아키텍처 플랫폼의 서비스를 위한 주기적인 홀드-액티브 콜을 수신하고, 상기 관리 또는 운영 시스템(2)에 대한 접속을 보장하기 위해 홀드-액티브 응답으로 직접 응답하도록 하는, 컴퓨터 프로그램 제품.
  17. 제10항 내지 제16항 중 어느 한 항에 있어서,
    상기 컴퓨터 프로그램 코드는 상기 프로세서를 제어하여, 상기 기계 제어 시스템(1)이 상기 고수준의 관리 또는 운영 시스템(2)의 어플리케이션과 통신하기 위해 윈도우즈 커뮤니케이션 파운데이션(Windows Communication Foundation)의 통신 기능을 이용하고, 상기 어플리케이션-특정 도메인 모델(112)을 상기 윈도우즈 커뮤니케이션 파운데이션의 서비스로서 실현하고, 상기 윈도우즈 커뮤니케이션 파운데이션의 콘트랙트 인터페이스를 통해 상기 고수준의 관리 또는 운영 시스템(2)의 어플리케이션을 위한 상기 어플리케이션-특정 도메인 모델(112)의 데이터 오브젝트 및 서비스 정의를 정하도록 하는, 컴퓨터 프로그램 제품.
  18. 제10항 내지 제17항 중 어느 한 항에 있어서,
    상기 컴퓨터 프로그램 코드는 상기 프로세서를 제어하여, 상기 기계 제어 시스템(1)이 질의 메시지를 통해 상기 기계(15)의 이용 가능성을 주기적으로 체크하고, 정해진 기간 내에 상기 질의 메시지에 대한 응답 메시지가 없다면, 상기 기계-특정 도메인 모델(102)이 상기 기계(15)에 접속되지 않았다는 것을 나타내는 상태값을 상기 기계-특정 도메인 모델(102)에 연관시키도록 하는, 컴퓨터 프로그램 제품.
KR1020147006407A 2011-08-31 2012-08-22 컴퓨터화된 기계 제어 시스템 KR20140065410A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CH01428/11A CH705456A1 (de) 2011-08-31 2011-08-31 Computerisiertes Maschinensteuerungssystem.
CH1428/11 2011-08-31
PCT/CH2012/000197 WO2013029189A1 (de) 2011-08-31 2012-08-22 Computerisiertes maschinensteuerungssystem

Publications (1)

Publication Number Publication Date
KR20140065410A true KR20140065410A (ko) 2014-05-29

Family

ID=46762762

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147006407A KR20140065410A (ko) 2011-08-31 2012-08-22 컴퓨터화된 기계 제어 시스템

Country Status (6)

Country Link
US (1) US9218228B2 (ko)
EP (1) EP2751626B1 (ko)
JP (1) JP6020854B2 (ko)
KR (1) KR20140065410A (ko)
CH (1) CH705456A1 (ko)
WO (1) WO2013029189A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019208937A1 (de) 2019-06-19 2020-12-24 Arburg Gmbh + Co. Kg Verfahren zum Bereitstellen eines Betriebssystems einer Maschinensteuerung

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324288A (ja) * 1992-05-15 1993-12-07 Nissan Motor Co Ltd 情報処理装置
JPH11163861A (ja) * 1997-08-27 1999-06-18 Northern Telecom Ltd 再利用を援助する管理システムのアーキテクチャ及びその構築方法
US20100250776A1 (en) * 2009-03-30 2010-09-30 Microsoft Corporation Smart routing
JP2011513822A (ja) * 2008-02-29 2011-04-28 シュナイダー・エレクトリック・オートメイション・ゲーエムベーハー サービス指向型のコンポーネントの複数のモジュールの間のインターアクションを制御するための方法およびサービス指向型のコンポーネント

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6424872B1 (en) * 1996-08-23 2002-07-23 Fieldbus Foundation Block oriented control system
CA2311870A1 (en) * 2000-06-15 2001-12-15 Ibm Canada Limited-Ibm Canada Limitee Xml based system for updating a domain model and generating a formatted output
US7089560B1 (en) * 2000-07-24 2006-08-08 Sun Microsystems, Inc. Architecture for building web applications
EP1659468A3 (en) * 2004-11-16 2006-08-16 Rockwell Automation Technologies, Inc. Universal run-time interface for agent-based simulation and control systems
US7926029B1 (en) * 2005-01-13 2011-04-12 21St Century Systems, Inc. System and method of progressive domain specialization product solutions
US7548789B2 (en) * 2005-09-29 2009-06-16 Rockwell Automation Technologies, Inc. Editing lifecycle and deployment of objects in an industrial automation environment
US8542104B2 (en) * 2007-03-01 2013-09-24 Oracle International Corporation RFID edge server having a programmable logic controller API
US8046320B2 (en) * 2007-05-17 2011-10-25 Raytheon Company Domain-independent architecture in a command and control system
US8032573B2 (en) * 2007-06-10 2011-10-04 Philippe Richard System and method for managing and updating data from a number of sources for a project
DE102009048746B4 (de) * 2009-10-08 2013-10-24 Netstal-Maschinen Ag Verfahren zur Steuerung und Bedienung einer Produktionszelle sowie eine Steuereinrichtung

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324288A (ja) * 1992-05-15 1993-12-07 Nissan Motor Co Ltd 情報処理装置
JPH11163861A (ja) * 1997-08-27 1999-06-18 Northern Telecom Ltd 再利用を援助する管理システムのアーキテクチャ及びその構築方法
JP2011513822A (ja) * 2008-02-29 2011-04-28 シュナイダー・エレクトリック・オートメイション・ゲーエムベーハー サービス指向型のコンポーネントの複数のモジュールの間のインターアクションを制御するための方法およびサービス指向型のコンポーネント
US20100250776A1 (en) * 2009-03-30 2010-09-30 Microsoft Corporation Smart routing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
일본 공표특허공보 특표2011-513822호(2011.04.28.) 1부. *

Also Published As

Publication number Publication date
JP2014531631A (ja) 2014-11-27
WO2013029189A1 (de) 2013-03-07
US20140298359A1 (en) 2014-10-02
EP2751626B1 (de) 2018-03-21
US9218228B2 (en) 2015-12-22
CH705456A1 (de) 2013-03-15
EP2751626A1 (de) 2014-07-09
JP6020854B2 (ja) 2016-11-02

Similar Documents

Publication Publication Date Title
JP6060975B2 (ja) ディスプレイ上でのユーザインターフェイスの生成
US9323245B2 (en) Flexible security control environment
US20110292428A1 (en) Image processing device, display device, screen control system, and screen control method
JP2002268707A (ja) コントローラ及びツール並びにそれらにより構成されるシステム
US7082340B2 (en) Parameterization and diagnostic system for field devices
US11507361B2 (en) System to design and/or update programs for industrial devices assigned to the operator interface and/or to manage machines and/or plants for industrial automation
US20220113709A1 (en) Runtime server for simultaneous execution of a plurality of runtime systems of an automation system
JP4842541B2 (ja) 制御用表示装置、画面データ生成装置、並びに、それらのプログラムおよび記録媒体
JP2006318102A (ja) フィールド機器管理装置およびフィールド機器管理方法
US20220129533A1 (en) Control system and control method
KR20140065410A (ko) 컴퓨터화된 기계 제어 시스템
JP2019152949A (ja) 表示装置、画面生成方法、および画面生成プログラム
KR102445194B1 (ko) 컨트롤 장치
US11199993B2 (en) Control system, development assistance device, and development assistance program
CN114072793A (zh) 控制系统以及控制方法
CN111919181A (zh) 控制装置
JP2003150240A (ja) 制御システムのデータ伝送方法、および、そのプログラム
JP7240282B2 (ja) 産業用コントロール装置及びアクティベーション方法
JP5926584B2 (ja) Plcシステム、そのプログラマブル表示器、作画エディタ装置
US20240086182A1 (en) Method for connecting a web socket session with an object instance with automation device association
EP4345549A1 (en) Presentation design dynamic generation from data model server
EP4307105A1 (en) Extensible profiles for industrial control modules
EP4310750A1 (en) Catalog service replication
JP6723516B2 (ja) フィールド機器、フィールドシステム、汎用モジュールおよびパラメータ管理方法
JP2022156755A (ja) モータアンプ、端末装置、制御システム、設定プログラム、及び設定方法

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application