KR20010043617A - System and methods for object-oriented control of diverse electromechanical systems using a computer network - Google Patents

System and methods for object-oriented control of diverse electromechanical systems using a computer network Download PDF

Info

Publication number
KR20010043617A
KR20010043617A KR1020007012770A KR20007012770A KR20010043617A KR 20010043617 A KR20010043617 A KR 20010043617A KR 1020007012770 A KR1020007012770 A KR 1020007012770A KR 20007012770 A KR20007012770 A KR 20007012770A KR 20010043617 A KR20010043617 A KR 20010043617A
Authority
KR
South Korea
Prior art keywords
control system
objects
oriented control
user
oriented
Prior art date
Application number
KR1020007012770A
Other languages
Korean (ko)
Other versions
KR100563291B1 (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 KR20010043617A publication Critical patent/KR20010043617A/en
Application granted granted Critical
Publication of KR100563291B1 publication Critical patent/KR100563291B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented

Abstract

제어 시스템 방법론은 공통 객체 모델에 복수의 제어 시스템을 결합하기 위해 객체지향 소프트웨어를 사용한다. 객체지향 기술은 다양한 크기 및 구성의 시스템을 제어하고 감독하는데 사용하기 위한 멀티-벤더 개방형 시스템 환경에서의 분산형 자바 기반 애플리케이션을 구성하는데 사용된다. 이 시스템은 브라우저 클라이언트(101)(자바 가능 브라우저에서 실행하는)와 서버 클라이언트(121)를 모두 제공한다. 본 발명은 복수 국, 웹 BAS 브라우저9110), 네트워크 프로세서(NP)(111) 및 필드 컨트롤러(FC)(112)를 갖는다. 바람직하게 NP 및 FC는 플러그인 자바 모듈 환경에서 구현된 자바 가상 머신이다. 정보는 공통 객체 모델로 되어, 시스템 전체에 걸쳐서 이용 가능하게 된다. 자바에 기초한 커스텀 프로그래밍 언어가 객체 생성을 위해 제공되고, 객체에 대한 접근은 다중 레벨 보안 프로토콜을 통해 제어된다. 데이터 흐름은 실시간 정보 동기화 관리자에 의해 관리된다.The control system methodology uses object-oriented software to combine multiple control systems into a common object model. Object-oriented technology is used to build distributed Java-based applications in a multi-vendor open system environment for use in controlling and supervising systems of various sizes and configurations. The system provides both a browser client 101 (running in a Java capable browser) and a server client 121. The present invention has a plurality of stations, a web BAS browser 9110, a network processor (NP) 111, and a field controller (FC) 112. Preferably NP and FC are Java virtual machines implemented in a plug-in Java module environment. The information becomes a common object model, making it available throughout the system. Java-based custom programming languages are provided for object creation, and access to objects is controlled through a multilevel security protocol. Data flow is managed by a real time information synchronization manager.

Description

컴퓨터 네트워크를 사용하는 이종 전기기계 시스템의 객체지향 제어를 위한 시스템 및 방법{SYSTEM AND METHODS FOR OBJECT-ORIENTED CONTROL OF DIVERSE ELECTROMECHANICAL SYSTEMS USING A COMPUTER NETWORK}SYSTEM AND METHODS FOR OBJECT-ORIENTED CONTROL OF DIVERSE ELECTROMECHANICAL SYSTEMS USING A COMPUTER NETWORK}

본 출원은 1998년 5월 15일 출원된 미국 가출원 No. 60/085,539의 이점을 주장하고, 그의 전체 명세서는 참조상 여기에 포함된다.This application is directed to US Provisional Application No. 1, filed May 15, 1998. Claiming the advantages of 60 / 085,539, the entire specification is incorporated herein by reference.

이 명세서의 일부는 출원인이 저작권을 주장하는 요소를 포함한다. 출원인은 출원 파일의 복사본을 만들거나 출원에 대해 특허를 받는 과정에서 상기 요소의 복사에 반대하지 않지만, 저작권으로 보호된 요소에서 그 밖의 다른 모든 권한은 확보된다.Portions of this specification contain elements that the applicant claims. Applicant does not object to the copying of such elements in the course of making a copy of the application file or patenting the application, but all other rights are reserved in copyrighted elements.

과거에, 빌딩 자동화 시스템과 같은 제어 시스템은 통상 배타적인 단일 제조사 솔루션 또는 독립 시스템의 복잡한 결합물이었다. 상기 시스템들이 보다 효율적으로 결합될 수 있도록 표준을 규정하기 위한 산업계의 노력이 있었지만, 진실로 규칙적인 방법이 이용 가능하지는 않았다.In the past, control systems, such as building automation systems, were typically complex combinations of exclusive single manufacturer solutions or independent systems. Although industry efforts have been made to define standards so that these systems can be combined more efficiently, no truly regular method is available.

빌딩 자동화 시스템에 대한 BACnet / LonMark™ 필드버스 통신 표준의 발표는 제어 솔루션 전망에 변혁을 일으킬 수 있는 빌딩 자동화 시스템 아키텍처를 다시 생각하기 시작했다. 통상의 배타적인 빌딩 자동화 아키텍처는 양호하게 수행하지만, 설계 및 설치 비용이 비싸고, 재구성하기 곤란하며, 자립형 기구 서비스를 결합하기 위해 많은 소프트웨어를 종종 필요로 한다. 반대로, 분산형 BACnet / LonMark 필드버스 아키텍처에서 논리 프로세싱은 빌딩 제어 문제를 협력적으로 해결하기 위해 표준 소프트웨어를 통해 서로 통신하는 자동 멀티-벤더 모듈내에 포함된다. 그러나, 주지된 빌딩 자동화 아키텍처에서 제어 시스템에 부가되는 장치의 외부 인터페이스 특성은 BAS가 새로운 장치를 효율적으로 제어할 수 있기 전에 장치의 외부 인터페이스 특성의 데이터베이스 표현내에 입력되어야 한다.The announcement of the BACnet / LonMark ™ fieldbus communication standard for building automation systems is beginning to rethink building automation system architectures that could revolutionize control solution prospects. Conventional exclusive building automation architectures perform well, but are expensive to design and install, difficult to reconfigure, and often require a lot of software to combine standalone instrument services. In contrast, in a distributed BACnet / LonMark fieldbus architecture, logic processing is contained within an automated multi-vendor module that communicates with each other through standard software to cooperatively solve building control problems. However, in the known building automation architecture, the external interface characteristics of the device added to the control system must be entered into the database representation of the external interface characteristics of the device before the BAS can effectively control the new device.

이와 같은 방식으로 제어를 분산하는 것은 설치 배선을 최소화하고, 제어 소프트웨어를 최적화하고, 운영/유지 비용을 절감하며, 시스템 확장을 간편화할 것으로 기대된다. 오늘날의 자유 경쟁에 의한 세계 시장에서 사용자는 기구 관리 서비스의 변화에 재빨리 대응하기 위해 필드버스의 가용성, 재사용 가능성 및 비용면에서 효율적인 빌딩 제어 솔루션을 요구한다.Distributing control in this way is expected to minimize installation wiring, optimize control software, reduce operating and maintenance costs, and simplify system expansion. In today's free competition global marketplace, users are demanding efficient building control solutions in terms of availability, reusability and cost-effectiveness of fieldbuses to respond quickly to changes in instrument management services.

그러나 다른 분야에서는 빌딩 자동화 시스템 분야에 충분하게 적용되지 않았던 컴퓨팅의 진전이 있었다. 예를 들어 시스템을 프로그램하는 비용 및 개발 요구를 간편하게 하기 위해 컴퓨터 시스템 표준이 개발되었다. 기본적인 기술은 Java™ 가상 머신(JVM)과 JavaBeans™과 같은 객체지향 소프트웨어를 포함한다.In other areas, however, progress has been made in computing that has not been fully applied to building automation systems. For example, computer system standards have been developed to simplify the cost and development needs of programming a system. Basic technologies include object-oriented software such as the Java ™ virtual machine (JVM) and JavaBeans ™.

객체지향 프로그래밍은 종래의 프로그래밍 메커니즘보다 양호한 현실 세계와 부합하는 소프트웨이 빌딩 블럭으로서 현실 세계 실체를 보다 직접적으로 모형화하는 새로운 방법을 제공한다. 마이크로프로세서가 하드웨어 설계 및 기능성에 충격을 준 것처럼 이 새로운 소프트웨어 패러다임은 소프트웨어 분야에 미치는 충격이 점점 커진다.Object-oriented programming is a software building block that matches the real world better than conventional programming mechanisms, providing a new way to model real world entities more directly. Just as microprocessors have impacted hardware design and functionality, this new software paradigm has a greater impact on software.

객체지향 프로그래밍에서, 애플리케이션 프로그램은 독립 빌딩 블럭 모듈(객체)로부터 생성된다. 애플레이케이션 엔지니어는 새로운 프로그램을 생성할 때마다 처음부터 하기 보다는 라이브러리로부터 미리 작성된 애플리케이션 모듈을 빌려 올 수 있고, 이들을 간단하게 설치 및 사용할 수 있다. 객체 라이브러리를 사용함으로써 개발자는 적당한 객체를 서로 연결하고, 애플리케이션이 필요로 하는 커스텀 객체를 작성하는 것에 대해서만 집중할 수 있다. 다시 커스텀 객체는 이후의 사용을 위해 라이브러리에 부가될 수 있다.In object-oriented programming, an application program is created from an independent building block module (object). Whenever an application engineer creates a new program, he or she can borrow prebuilt application modules from the library rather than do it from scratch, and can simply install and use them. By using object libraries, developers can focus on connecting the right objects to each other and creating custom objects that the application needs. Again custom objects can be added to the library for later use.

또한 시스템을 결합하는 비용 및 개발 요구를 간편하게 하기 위한 노력으로 네트워킹 표준을 개발하였다. 빌딩 자동화 산업계에서 개발된 기본 기술은 미국냉난방공조기술자협회(ASHRAE) 빌딩 및 제어 네트워크(BACnet™) 및 ECHELON LONTALK™ 프로토콜(미국 캘리포니아주 팔로 알토의 Echelon Corporation에 의해 개발)을 포함한다.In addition, networking standards were developed in an effort to simplify the cost and development requirements of assembling the system. Basic technologies developed in the building automation industry include the American Association of Air Conditioning and Air Conditioning Engineers (ASHRAE) Building and Control Network (BACnet ™) and the ECHELON LONTALK ™ protocol (developed by Echelon Corporation of Palo Alto, California, USA).

한편, 컴퓨터 산업계에서는 통신 표준을 개발하기 위해 노력했지만, 이들 표준들은 빌딩 자동화의 특정 문제에 대한 적당히 효율적인 방법으로 적용되지는 않았다. 예를 들어 인터넷 / WWW / Java / CORBA 표준들의 목적은 어떤 종류의 프로그램을 사용하는지, 어떤 컴퓨터에서 실행되는지 또는 정보의 형식이 무엇인지는 고려하지 않고 사용자가 원하는 정보를 제공하기 위한 것이다.The computer industry, meanwhile, has sought to develop communication standards, but these standards have not been applied in a reasonably efficient way to the specific problems of building automation. For example, the purpose of the Internet / WWW / Java / CORBA standards is to provide users with the information they want without considering what kind of programs they use, what computers they run on, or what type of information they have.

하이퍼텍스트의 체계를 통해, 웹의 사용자는 전세계로부터 정보를 선택하고 검토할 수 있었다. 그러나, 기본적인 웹은 적당한 대화성, 즉 사용자와 애플리케이션 사이의 실시간, 동적 및 시각적인 대화가 부족하다. 자바는 이 결여된 대화성을 웹에 제공한다. 자바 가능 웹브라우저를 사용하여 사용자는 애니메이션과 대화형 애플리케이션을 마주할 수 있다.Through a system of hypertext, users of the Web have been able to select and review information from around the world. However, the basic web lacks adequate interactivity, i.e. real-time, dynamic and visual conversations between users and applications. Java brings this lack of interactivity to the Web. Using Java-enabled web browsers, users can face animations and interactive applications.

패킷 전송 시간의 변화도와 인터넷을 통한 보증된 송달의 결여 때문에 인터넷에 대한 실시간 제어 시스템을 구현하기 위한 노력은 일반적으로 실패하였다.Efforts to implement a real-time control system for the Internet have generally failed due to variations in packet transmission time and lack of guaranteed delivery over the Internet.

결론을 말하면, 역사적으로 제어 시스템은 기본적으로 단일 제조자의 배타적인 기술에 기초를 두고 있었다. 이러한 아키텍처들을 표준화하기 위한 노력이 있었지만, 이들은 다만 제한적인 성공을 달성하였다. 본 발명자들은 제어 시스템의 분야에서 특히 빌딩 자동화 애플리케이션에서 사용하도록 적응된 자바 기반 공통 객체 모델을 결합하고, 인터넷과 같은 통신 네트워크 표준을 사용하여 중앙 제어 및 모니터링을 제공하는 고도로 집적화된 표준에 대한 요구가 있다고 믿는다.In conclusion, historically, control systems have basically been based on the exclusive technology of a single manufacturer. Efforts have been made to standardize these architectures, but they have only achieved limited success. The inventors have found a need for a highly integrated standard that combines a Java-based common object model adapted for use in building automation applications, particularly in the field of control systems, and provides centralized control and monitoring using communication network standards such as the Internet. I believe that

본 발명은 일반적으로 제어 시스템과 연관된 로컬 컨트롤러에서 가동되고, 인터넷과 같은 통신 네트워크를 사용하여 중앙 제어, 모니터링 및 갱신되는 모듈 객체지향 제어 소프트웨어를 사용하여 다양한 시스템을 제어 및 모니터링하는 시스템 및 방법에 관한 것이다. 이 시스템 및 방법들은 특히 빌딩 자동화 시스템(BAS) 애플리케이션에 유용하다.The present invention generally relates to systems and methods for controlling and monitoring various systems using modular object-oriented control software that runs on a local controller associated with a control system and is centrally controlled, monitored and updated using a communications network such as the Internet. will be. These systems and methods are particularly useful for building automation system (BAS) applications.

도 1은 클라이언트, 국, 외래 장치 및 원격 호스트를 포함하는 객체지향 제어 시스템의 바람직한 일반적인 아키텍처이다.1 is a preferred general architecture of an object-oriented control system including a client, a station, a foreign device and a remote host.

도 1A는 객체지향 제어 시스템의 여러 가지 형태의 국들을 나타낸다.1A illustrates various types of stations in an object-oriented control system.

도 2는 클라이언트가 LonMark™ 필드버스를 감독하는 단일 필드 컨트롤러에 접근하는 필드 컨트롤러 시스템의 형태로 객체지향 제어 시스템의 구성에 대한 대체 실시예를 보여준다.Figure 2 shows an alternative embodiment of the configuration of the object-oriented control system in the form of a field controller system in which a client accesses a single field controller overseeing the LonMark ™ fieldbus.

도 3은 클라이언트가 LonMark™ 필드버스를 감독하는 단일 웹 BAS 서버에 접근하는 소형 웹 BAS 서버 시스템의 형태로 객체지향 제어 시스템의 구성에 대한 대체 실시예를 보여준다.Figure 3 shows an alternative embodiment of the configuration of the object-oriented control system in the form of a small web BAS server system where a client accesses a single web BAS server overseeing the LonMark ™ fieldbus.

도 4는 웹 BAS 서버가 네트워크 프로세서, 필드 컨트롤러 및 BACnet 장치를 직접 감독하는 2레벨 시스템의 형태로 객체지향 제어 시스템의 구성에 대한 바람직한 실시예를 보여준다.4 shows a preferred embodiment of the configuration of an object-oriented control system in the form of a two-level system in which a web BAS server directly supervises network processors, field controllers and BACnet devices.

도 5는 웹 BAS 서버가 필드 컨트롤러를 감독하는 네트워크 프로세서를 감독하는 3레벨 시스템의 형태로 객체지향 제어 시스템의 구성에 대한 대체 실시예를 보여준다.FIG. 5 shows an alternative embodiment of the configuration of an object-oriented control system in the form of a three-level system in which a web BAS server supervises a network processor supervising a field controller.

도 6은 대형 또는 소형 시스템의 집합이 원격 호스트를 통해 접속되고 감독되는 분산형 시스템의 형태로 객체지향 제어 시스템의 구성에 대한 대체 실시예를 보여준다.6 shows an alternative embodiment of the configuration of an object-oriented control system in the form of a distributed system in which a large or small set of systems are connected and supervised via a remote host.

도 7은 객체지향 제어 시스템에 대한 지속적인 실시간의 정보 동기화 관리자의 바람직한 실시예에 대한 설명이다.7 is an illustration of a preferred embodiment of a continuous, real-time information synchronization manager for an object-oriented control system.

도 8은 객체지향 제어 시스템의 객체 클래스 계층의 개관이다.8 is an overview of the object class hierarchy of the object-oriented control system.

도 9는 객체지향 제어 시스템의 바람직한 실시예의 국과 클라이언트 사이의 통신을 기술한다.9 illustrates a communication between a station and a client in a preferred embodiment of an object-oriented control system.

도 10은 객체지향 제어 시스템의 바람직한 실시예의 국과 클라이언트 사이의 통신을 추가로 기술한다.10 further describes communication between a station and a client in a preferred embodiment of an object-oriented control system.

도 11은 객체지향 제어 시스템의 바람직한 실시예의 아키텍처를 기술한다.11 illustrates the architecture of a preferred embodiment of an object-oriented control system.

따라서, 본 발명의 일반적인 목적은 BACnet, LonMark, CORBA, 자바 및 인터넷 시스템을 하나의 공통 객체 모델로 결합하는 객체지향 소프트웨어를 사용하는 시스템 및 방법을 제공하는데 있다. 바람직한 실시예에서 본 발명은 복수의 산업계 표준을 지원하는 멀티-벤더 개방형 시스템 환경에서 적당히 분산된 애플리케이션을 구성하는 것에 대한 키로서 객체 기술을 사용한다. BACnet / LonMark / 인터넷 / CORBA 아키텍처는 본 발명에서 조합되고, 분산형 제어 및 정보 관리를 실시하기 위해 자바 객체지향 소프트웨어 개념이 적용된다. 메시지(이벤트)는 데이터 및 기능성을 모두 포함하도록 객체 기술을 사용하는 자동 모듈 사이에서 전달된다. 이러한 기능적인 객체들은 재사용을 위해 복제되고, 다른 객체의 작업으로 구축하는 보다 복잡한 기능을 형성하기 위해 그룹화된다. 웹 BAS 서버의 내비게이션 도구들은 자동 필드버스 모듈에 의해 제어되고 있는 프로세스의 개관을 제공하고, 제한되지 않은 정보 흐름을 제공한다.Accordingly, a general object of the present invention is to provide a system and method using object-oriented software that combines BACnet, LonMark, CORBA, Java and Internet systems into one common object model. In a preferred embodiment, the present invention uses object technology as a key to constructing a properly distributed application in a multi-vendor open system environment supporting multiple industry standards. The BACnet / LonMark / Internet / CORBA architecture is combined in the present invention and the Java object-oriented software concept is applied to implement distributed control and information management. Messages (events) are passed between automated modules that use object technology to contain both data and functionality. These functional objects are duplicated for reuse and grouped together to form more complex functions that build on the work of other objects. The navigation tools in the web BAS server provide an overview of the process being controlled by the automatic fieldbus module and provide an unrestricted flow of information.

본 발명의 다른 목적은 미리 정의된 객체와 사용자 정의 형성 객체가 모두 단일 제어 시스템에 존재하는 제어 시스템 및 방법을 제공하는데 있다. 객체 수정, 생성 및 관리를 위해 개별화된 프로그래밍 언어가 제공된다. 미리 정의된 객체 세트가 또한 제공된다.It is another object of the present invention to provide a control system and method in which both predefined objects and user-defined objects exist in a single control system. Personalized programming languages are provided for modifying, creating, and managing objects. A predefined set of objects is also provided.

본 발명의 다른 목적은 분산형 시스템에서 시스템 데이터의 무결성을 유지하고, 아카이빙(archiving) 및 동기화 기술을 통해 분산형 시스템에 걸쳐서 요구에 따라 시스템 데이터를 분산하는 제어 시스템 및 방법을 제공하는데 있다. 각각의 데이터의 마스터 카피는 단일 가상 머신에 유지되는 것이 바람직하고, 동기 및 비동기 캐시를 갖는 시스템이 제어 시스템의 객체가 현재 시스템 데이터에 접근하는 것을 보장하기 위해 사용된다. 시스템 데이터는 지속성을 제공하기 위해 아카이빙된다.It is another object of the present invention to provide a control system and method for maintaining the integrity of system data in a distributed system and distributing the system data on demand over the distributed system through archiving and synchronization techniques. The master copy of each data is preferably kept in a single virtual machine, and a system with synchronous and asynchronous caches is used to ensure that objects of the control system currently access system data. System data is archived to provide persistence.

본 발명의 다른 목적은 한 장치와 연관된 객체 특성이 그 장치의 외부 인터페이스 특성을 반영하기 위해 동적으로 갱신되는 제어 시스템 및 방법을 제공하는데 있다. 이를 달성하기 위해 제어 시스템의 장치들은 그들의 외부 인터페이스 특성과 그에 따라 갱신된 연관된 객체 특성에 대해 조회를 받는다. 이것은 미리 프로그램된 특정한 외부 인터페이스 표현을 필요로 하지 않으면서 장치들의 관리를 제공한다.Another object of the present invention is to provide a control system and method in which object properties associated with a device are dynamically updated to reflect external interface properties of the device. To accomplish this, the devices of the control system are queried for their external interface properties and the associated object properties updated accordingly. This provides for the management of devices without requiring a specific external interface representation that is preprogrammed.

본 발명의 이러한 목적 및 다른 목적들은 부록 및 도면을 포함하는 본 명세서를 살펴보면 명백하다.These and other objects of the present invention are apparent upon examination of the present specification, including appendices and drawings.

객체지향 제어 시스템(100)의 바람직한 실시예는 여러 가지 크기 및 구성의 시스템들의 분산형 제어에 대한 솔루션을 제공한다. 바람직하게, 도 1에 도시된 바와 같이 클라이언트(101), 국(102)(도 1A 참조) 및 외래 장치(105)를 포함하는 일반적인 아키텍처가 제공된다.The preferred embodiment of the object-oriented control system 100 provides a solution for distributed control of systems of various sizes and configurations. Preferably, a general architecture is provided that includes a client 101, a station 102 (see FIG. 1A) and a foreign device 105 as shown in FIG. 1.

상기 시스템에서 클라이언트(101)는 브라우저 클라이언트(120)와 풀 클라이언트(121)를 포함한다. 클라이언트(101)는 인터넷 또는 인트라넷을 통해 시스템에 대한 접근을 제공한다. 클라이언트(101)는 이 접근을 제공하기 위해 국의 서버 소프트웨어에 의존한다. 브라우저 클라이언트(120)는 승인된 자바 가능 브라우저로부터 시스템에 대한 완전한 사용자 접근을 제공한다. 풀 클라이언트(121)는 브라우저 클라이언트(120)의 모든 기능에 덧붙여 애플리케이션 인에이블러 도구를 제공한다.In the system, the client 101 includes a browser client 120 and a full client 121. Client 101 provides access to the system via the Internet or an intranet. The client 101 relies on the server software of the station to provide this access. Browser client 120 provides full user access to the system from an authorized Java-enabled browser. The pull client 121 provides an application enabler tool in addition to all the functions of the browser client 120.

국(102)은 웹 BAS 서버(WBS)(110), 네트워크 프로세서(NP)(111) 및 필드 컨트롤러(FC)(112)를 포함한다. 국(102)은 통상 3가지 역할 중 하나 이상을 수행한다.Station 102 includes a web BAS server (WBS) 110, a network processor (NP) 111, and a field controller (FC) 112. Station 102 typically plays one or more of three roles.

1. 국(102)은 시스템에 외래 장치(108)를 결합한다. WBS(110), NP(111) 및 FC(112)가 이 역할을 수행할 수 있다.1. Station 102 couples foreign device 108 to the system. WBS 110, NP 111 and FC 112 may play this role.

2. 국(102)은 다른 국(102)을 감독한다. 이 역할에서, 국(102)은 시스템에 감독하는 국(102)을 결합한다. 또한 감독은 모니터링 및 라우팅과 같은 요구를 포함한다. WBS(110)과 NP(111)가 이 역할을 수행할 수 있다.2. The station 102 oversees the other station 102. In this role, station 102 joins the station 102 overseeing the system. Supervision also includes such requirements as monitoring and routing. WBS 110 and NP 111 may play this role.

3. 국(102)은 로컬 시스템의 마스터가 될 수 있다. 이 역할에서 국은 모든 구성 정보에 대한 지속적인 백업을 제공한다. WBS(110)과 FC(112)가 이 역할을 수행할 수 있다.3. Station 102 may be the master of the local system. In this role, the station provides a continuous backup of all configuration information. WBS 110 and FC 112 may play this role.

결합기의 역할에서 국(102)은 시스템의 나머지가 예측 가능한 동작으로 이용할 수 있도록 정보를 객체로 가져온다. 감독 역할에서 국(102)은 다른 국(102)을 감독하고, 국 사이의 시스템 무결성을 검사하고, 데이터와 이벤트 정보를 라우팅하는 것을 포함한다.In the role of the combiner, the station 102 brings the information to the object for the rest of the system to use in predictable behavior. In the supervisory role, station 102 includes supervising other stations 102, checking system integrity between stations, and routing data and event information.

마스터로서 기능할 때, 국(102)은 시스템의 기본 마스터로서 정의된다. 기본 마스터는 모든 구성 정보의 백업을 제공한다.When functioning as a master, station 102 is defined as the basic master of the system. The default master provides a backup of all configuration information.

외래 장치(105)는 시스템과 호환되는 장치를 포함하지만, 다운로드 가능한 자바 기반 객체를 사용하여 직접 제어되지는 않는다. 2개의 특정한 형태의 외래 장치(105)는 이러한 장치에 대한 산업계에 보급된 표준을 추종하는 BACnet™ 장치(123)와 LonMark 장치(122)이다. 원격 호스트(108)는 제어 시스템의 사이트 이외의 한 사이트에서 시스템의 몇몇 기능을 제공한다. 원격 호스트(108)는 시리얼 모뎀을 포함하는 TCP/IP를 지원하는 통신연결에 의해 잡에 연결될 수 있다.Foreign device 105 includes devices compatible with the system, but is not directly controlled using downloadable Java-based objects. Two particular types of foreign devices 105 are BACnet ™ devices 123 and LonMark devices 122 that follow the industry widespread standards for such devices. Remote host 108 provides some functionality of the system at one site other than the site of the control system. The remote host 108 may be connected to the job by a communications link that supports TCP / IP including a serial modem.

국(102)은 도 9 및 도 10에 도시된 것처럼 통신한다. 브라우저 클라이언트(120)와 풀 클라이언트(121)는 하이퍼텍스트 전송 프로토콜(HTTP)과 자바 원격 메쏘드 요청(RMI)를 사용하는 제어 네트워크(106)를 통해 웹 BAS 서버(110), 네트워크 프로세서(111) 및 필드 컨트롤러(112)를 포함하는 국(102)과 통신한다. 웹 BAS 서버(110)와 필드 컨트롤러(112)는 객체지향 제어 시스템(100)의 객체의 저장 및 객체에 대한 접근을 위해 객체 데이터베이스(150)를 추가로 포함한다.Station 102 communicates as shown in FIGS. 9 and 10. The browser client 120 and the full client 121 communicate with the web BAS server 110, the network processor 111, and the control network 106 using the hypertext transfer protocol (HTTP) and Java remote method request (RMI). Communicate with a station 102 that includes a field controller 112. The web BAS server 110 and the field controller 112 further include an object database 150 for storing and accessing objects in the object-oriented control system 100.

다양한 사용자를 위한 객체지향 제어 시스템(100)의 바람직한 아키텍처는 도 11에 도시되어 있다.The preferred architecture of the object-oriented control system 100 for various users is shown in FIG.

LonMark™ 장치(122)의 분산형 제어 시스템 관리를 허용하기 위해서 각각의 LonMark™ 장치(122)와 연관된 객체 특성에 표현되는 특정한 장치 형태에 대한 외부 인터페이스가 필요하다. 외부 인터페이스 정보는 예를 들어 특정한 장치 형태에 대해 이용 가능한 네트워크 변수를 포함할 수 있다. 과거에는 시스템에 부가된 각각의 새로운 LonMark™ 장치(122) 또는 LonMark™ 장치(122)의 외부 인터페이스에 대한 변화를 대하여 분산형 제어 시스템이 LonMark™ 장치(122)를 관리하기 위해서는 분산형 제어 시스템의 사용자가 먼저 외부 인터페이스 정보를 LonMark™ 장치(122)와 연관된 객체 특성에 프로그램 또는 입력할 필요가 있었고, 결과적으로 새로운 또는 수정된 외래 장치(105)를 온라인 및 분산형 제어 시스템에 의해 제어될 수 있도록 하는데 지연이 발생하였다. 객체지향 제어 시스템(100)은 장치의 외부 인터페이스 특성을 반영하기 위해 LonMark™ 장치(122)와 연관된 객체 특성의 동적 LonMark™ 장치 갱신을 제공함으로써 상기 제한을 극복한다. 이를 달성하기 위해 객체지향 제어 시스템(100)은 LonMark™ 장치(122)에 그들의 외부 인터페이스 특성을 조회한다. 다음으로 조회를 받는 LonMark™ 장치(122)와 연관된 유효한 객체 특성이 조회에 응답하여 수신된 정보에 따라 갱신되고 구성된다. 따라서, 이 동적 장치 외부 인터페이스 갱신 기능은 사용자에 의한 이전에 미리 프로그램된 특정한 외부 인터페이스 표현를 필요로 하지 않으면서 LonMark™ 장치(122)의 관리를 제공하고, 이에 의해 시간을 절약하고, LonMark™ 장치(122) 객체 특성을 구성하는데 있어서 오류의 가능성을 절감할 수 있다.In order to allow distributed control system management of the LonMark ™ device 122, an external interface is required for the particular device type represented in the object properties associated with each LonMark ™ device 122. External interface information may include, for example, network variables available for a particular device type. In the past, a distributed control system may manage the LonMark ™ device 122 for changes to the external interface of each new LonMark ™ device 122 or LonMark ™ device 122 added to the system. The user first needed to program or enter external interface information into the object properties associated with the LonMark ™ device 122, so that the new or modified foreign device 105 could be controlled by the online and distributed control system. There was a delay. The object oriented control system 100 overcomes this limitation by providing a dynamic LonMark ™ device update of object properties associated with the LonMark ™ device 122 to reflect the device's external interface characteristics. To accomplish this, the object oriented control system 100 queries the LonMark ™ device 122 for their external interface characteristics. Next, valid object properties associated with the LonMark ™ device 122 that are inquiring are updated and configured according to the information received in response to the inquiring. Thus, this dynamic device external interface update function provides management of the LonMark ™ device 122 without requiring a particular external interface representation previously programmed by the user, thereby saving time and saving LonMark ™ device ( 122 The possibility of error in constructing object properties can be reduced.

국(102)의 네트워크 프로세서(111)와 필드 컨트롤러(112) 형태가 NP(111) 또는 FC(112)에 부착된 시스템의 특정한 제어를 위해 자바 객체를 사용하여 프로그램될 수 있는 자바 가상 머신(JVM)을 구현하는 것이 바람직하다. 이러한 JVM의 프로그래밍은 객체 사이에서 링크를 부가, 삭제 또는 재구성함으로써 실시간으로 조정될 수 있다. 각각의 객체는 자바를 사용하여 구현되는 것이 바람직하고, 특정한 제어 기능에 대응하며, 미리 정해진 링크 세트를 사용하여 다른 객체에 연결될 수 있다. 예를 들어 가용 객체는 기능 발생기, 아날로그 및 디지털 입력 및 출력, 다상 출력, 경보 객체, 가용 국 서비스 객체 및 커스텀 사용자 프로그램화 객체를 포함한다. 이들 객체의 각각은 관련된 JVM에 연결된 장치 또는 장치들에 대한 가상 프로그램화 컨트롤러를 생성하기 위해 바람직한 방법으로 조합될 수 있다.Java virtual machine (JVM) in which the form of network processor 111 and field controller 112 of station 102 can be programmed using Java objects for specific control of a system attached to NP 111 or FC 112. Is preferred. Programming of such JVMs can be coordinated in real time by adding, deleting, or reconfiguring links between objects. Each object is preferably implemented using Java, corresponds to a particular control function, and can be linked to other objects using a predetermined set of links. For example, available objects include function generators, analog and digital inputs and outputs, multiphase outputs, alarm objects, available station service objects, and custom user programmable objects. Each of these objects may be combined in a preferred manner to create a virtual programmable controller for a device or devices connected to the associated JVM.

바람직한 실시예에서, 미리 정의된 객체는 단일 객체지향 제어 시스템(100)의 사용자 정의 객체와 공존한다. 객체 생성을 용이하게 하기 위해 제어 애플리케이션에 대해 개별화되고 간략화된 자바 언어에 기초한 개별화된 프로그래밍 언어가 제공되는 것이 바람직하다. 개별화된 프로그래밍 언어는 객체지향 제어 시스템(100)의 프로그램 노드에 대하여 프로그램 명령을 명시하는데 사용된다. 게다가 프로그래밍 에디터가 개별화된 프로그래밍 언어를 사용하는 프로그램 노드의 사용자 프로그래밍에 대한 개발 도구로서 제공된다.In a preferred embodiment, the predefined object coexists with the user defined object of the single object oriented control system 100. In order to facilitate object creation, it is desirable for a control application to provide a personalized programming language based on a personalized and simplified Java language. An individualized programming language is used to specify program instructions for the program nodes of the object-oriented control system 100. In addition, a programming editor is provided as a development tool for user programming of program nodes using individualized programming languages.

본 명세서와 여기에 첨부된 부록에 걸쳐서 용어 "노드"는 객체지향 제어 시스템(100)에 의해 제공된 특정 객체와 그들의 특성을 인용하기 위해 사용된다. 객체지향 제어 시스템(100)의 바람직한 실시예에서 "노드"는 객체라는 것을 알 수 있다. 노드의 프로세싱 및 기능적인 동작은 프로그램 가능한 연관된 특성에 의해 정해진다. 객체지향 제어 시스템(100)을 포함하는 대부분의 소프트웨어 애플리케이션은 노드의 형태로 제공된다.Throughout this specification and the appended appended hereto, the term “node” is used to refer to specific objects and their characteristics provided by the object-oriented control system 100. In a preferred embodiment of the object-oriented control system 100 it can be seen that the "node" is an object. The processing and functional operation of the node is determined by the associated associated property which is programmable. Most software applications, including the object-oriented control system 100, are provided in the form of nodes.

객체지향 제어 시스템(100)에 의해 객체 특성 세트가 제공된다. 미리 정의된 객체 세트가 객체지향 제어 시스템(100)에 의해 제공된다.The object property set is provided by the object-oriented control system 100. A predefined set of objects is provided by the object oriented control system 100.

게다가 객체지향 제어 시스템(100)은 사용자가 명령과 시스템의 소프트웨어 애플리케이션의 타이밍 및 동작을 제어할 수 있는 칼렌더, 스케쥴 및 로그를 제공한다. 칼렌더는 시스템 동작과 관련하여 특별히 다루어져야 하는 날들의 세목을 허용한다. 스케쥴은 프로그램 명령이 특정 시간에 실행되도록 허용한다. 로그는 객체지향 제어 시스템(100)에 걸쳐서 정보의 공유를 위해 버퍼에 시스템 정보를 수집하는 노드 및 서비스 세트이다.In addition, the object-oriented control system 100 provides calendars, schedules, and logs that enable the user to control the timing and behavior of commands and software applications of the system. Calendars allow details of the days that need to be addressed specifically with respect to system operation. Schedules allow program instructions to be executed at specific times. Logs are a set of nodes and services that collect system information in a buffer for sharing information across the object-oriented control system 100.

로그는 정보의 지능형 아카이빙를 지원하는 데이터베이스에 지속적으로 저장된다. 특정 형태의 로그는 다음을 포함하지만, 이에 한정되지는 않는다.Logs are continuously stored in a database that supports intelligent archiving of information. Certain types of logs include, but are not limited to:

1. 수치 상태값과 출력 스트링값을 수집하고 저장하는 제어 로그. 제어 로그는 다른 노드로부터 정보 출력을 수집하기 위해 제어 엔진에서 실행한다.1. A control log that collects and stores numerical status values and output string values. The control log runs in the control engine to collect information output from other nodes.

2. 오류 및 운영자가 행한 변경을 로그하는 서비스 로그. 서비스 로그는 국(102)에 대해 1회 발생한다.2. Service log, which logs errors and changes made by operators. The service log occurs once for station 102.

3. 객체지향 제어 시스템(100)에 대해 시스템 외부에서 얻어진 로그 정보를 포함하는 외래 로그.3. A foreign log containing log information obtained outside the system for the object-oriented control system 100.

부가적으로, 로그-서비스 소프트웨어 애플리케이션은 모든 로그에 대해 하이퍼텍스트 전송 프로토콜(HTTP)을 통해 웹 기반 접근을 제공한다.In addition, the log-service software application provides web-based access to all logs via Hypertext Transfer Protocol (HTTP).

객체 또는 노드에 대한 접근은 다중 레벨 보안 프로토콜(바람직하게는 8레벨 프로토콜)을 통해 제어되는 것이 바람직하고, 객체는 다양한 레벨의 세목으로 표시를 용이하게 하는 "컨테이너"에서 그룹화될 수 있다. 즉, 객체 동작을 모니터링, 제어 또는 프로그래밍하는 사람은 즉각적인 요구에 따라 다양한 레벨의 세목으로 연결된 객체를 표시할 수 있다. 객체지향 제어 시스템(100)에 접근하고, 그에 한정되지는 않지만 로그온에서 필요한 초기 암호와 객체에 대한 프로그램 가능한 보안 그룹을 포함하는 개개의 객체에 접근하여 수정할 수 있는 사람을 제어하기 위해 몇가지 기능이 제공된다.Access to an object or node is preferably controlled via a multilevel security protocol (preferably an 8 level protocol), and objects can be grouped in "containers" that facilitate presentation at various levels of detail. That is, a person monitoring, controlling, or programming an object's behavior can display the objects connected at various levels of detail on an immediate basis. Several functions are provided for controlling who can access and modify the object-oriented control system 100 and access individual objects including, but not limited to, initial passwords required for logon and programmable security groups for the objects. do.

특히, 보안 모델은 유효한 암호를 갖는 시스템에 로그온하는 사용자를 필요로 한다. 각각의 사용자 객체는 8개 보안 그룹의 8개 접근 레벨(보안 승인)에 대하여 승인이 할당되거나 거절될 수 있다. 이러한 보안 그룹은 서로 독립적이며, 그들이 의미하는 것은 국부적인 문제이다. 각각의 객체는 또한 이들 8개 보안 그룹의 조합에 할당될 수 있다. 이 방식에서 다른 많은 정의들이 동시에 지정될 수 있다.In particular, the security model requires a user to log on to a system with a valid password. Each user object can be assigned or denied authorization for eight access levels (security authorization) of eight security groups. These security groups are independent of each other, and what they mean is a local matter. Each object can also be assigned to a combination of these eight security groups. In this way many other definitions can be specified at the same time.

데이터베이스에 정의된 각각의 사용자 객체는 시스템에 로그온하기 위해 요구되는 사용자명과 암호를 갖는다. 이러한 사용자 객체의 각각은 8개 보안 그룹의 보안 승인에 대하여 승인이 주어지거나 거절될 수 있다.Each user object defined in the database has a username and password required to log on to the system. Each of these user objects may be granted or denied security grants for eight security groups.

시스템에 대하여 정의된 8개 보안 그룹이 존재한다. 이들은 서로 독립적이고, 이들이 의미하는 것은 국부적인 문제이다. 각각의 객체는 특성 보안 그룹을 통해 이들 8개 보안 그룹의 조합에 할당될 수 있다. 기본값으로 각각의 객체는 보안 그룹 0(일반)에 할당된다. 이 방식에서 다른 많은 보안 승인 동시에 지정될 수 있다. 기본 보안 그룹은 다음과 같다.There are eight security groups defined for the system. They are independent of each other and what they mean is a local matter. Each object can be assigned to a combination of these eight security groups via a specific security group. By default, each object is assigned to security group 0 (general). In this way many other security authorizations can be specified simultaneously. The default security groups are as follows:

0 = 일반0 = normal

1 = hvac1 = hvac

2 = 보안2 = security

3 = 라이프 세이프티3 = life safety

4 = 그룹44 = group 4

5 = 그룹55 = group 5

6 = 그룹66 = group 6

7 = 그룹77 = group 7

보안 승인은 각각의 사용자에게 주어진 기본 권한이다. 이들은 제한 없이 운영자 판독, 운영자 기록, 관리자 판독, 관리자 기록, 표준 명령, 인식 경보, 긴급 명령 및 관리자 명령을 포함한다.Security authorization is the default permission given to each user. These include, without limitation, operator reads, operator records, manager reads, manager records, standard commands, awareness alerts, emergency commands and manager commands.

사용자의 객체에 대한 접근 권한은 객체의 보안 그룹 특성에 표시되거나 검사되는 각각의 그룹에 대하여 자신의 권한을 조합함으로써 정해진다. 부가적으로, 사용자가 컨테이너에 대한 권한을 가지면, 몇몇 권한은 그의 자(子)에게 적용된다. 사용자가 컨테이너에 대한 운영자 판독 권한을 가지면, 그 사용자는 작업 공간 관점에서 자를 볼 수 있다. 사용자가 컨테이너에 대한 관리자 기록 승인을 가지면, 그 사용자는 연결, 절단, 복사, 사복, 삭제 및 개명을 포함하는 컨테이너에 대한 많은 기능을 수행할 수 있다.A user's access to an object is determined by combining his or her rights for each group that is displayed or examined in the security group properties of the object. In addition, if a user has rights to a container, some rights apply to his child. If a user has operator read access to a container, that user can see the user from a workspace perspective. If a user has an administrator record approval for a container, that user can perform many functions for the container, including linking, cutting, copying, copying, deleting, and renaming.

객체 보안은 사용자가 그 각각의 특성의 운영자 또는 관리자 특성으로의 지정과 객체에 할당하는 보안 그룹의 조합에 의해 정해진다. 사용자는 그 시스템에 지정된 8개 보안 그룹의 어떤 조합에도 어느 한 객체를 할당할 수 있다. 이것은 특성 보안 그룹을 통해 행해진다. 기본값으로 각각의 객체는 보안 그룹 0(일반)에 할당된다.Object security is defined by a combination of security groups that the user assigns to objects and assigns them to operator or administrator properties. A user can assign any object to any combination of eight security groups assigned to that system. This is done through a property security group. By default, each object is assigned to security group 0 (general).

시스템의 각각의 특성은 운영자 또는 관리자 특성의 어느 하나로 지정되었다. 이것은 사용자가 객체의 특성을 검토하거나 편집하기 위해 어떤 보안 승인을 가져야 하는지를 결정한다.Each property of the system is designated as either an operator or manager property. This determines what security permissions the user must have to review or edit the properties of the object.

운영자 보안 승인은 객체의 최하위 레벨 기능만을 검토하거나 편집할 필요가 있는 시스템 운영자로서 필요한 기능으로 정의된다.Operator security authorization is defined as the function required as a system operator who needs to review or edit only the lowest level functions of an object.

관리자 보안 승인은 시스템을 구성하기 위해 필요한 기능으로 지정된다. 이 사람은 시스템의 모든 기능을 검토하거나 편집할 필요가 있다. 관리자 편집은 객체를 생성하고, 특성을 부가하는데 덧붙여 객체를 연결하는 것을 포함한다.Administrator security approvals are specified as the functions required to configure the system. This person needs to review or edit all the features of the system. Admin editing involves creating objects and linking objects in addition to adding properties.

객체지향 제어 시스템(100)은 사용자 객체를 통해 새로운 사용자를 지정하기 위해 사용자 서비스를 제공한다. 사용자 서비스는 각각의 사용자에 대해 사용자 보안 그룹과 승인이 시행되는 것을 보장한다. 새로운 사용자 객체는 기본 사용자명과 암호를 포함하는 새로운 사용자에 대해 형성된다. 사용자는 자신의 암호를 변경할 수 있다. 사용자 또는 객체들은 하나 이상의 보안 그룹에 할당된다. 각각의 사용자 보안 승인은 변경될 수 있다.The object-oriented control system 100 provides a user service to designate a new user through a user object. User services ensure that user security groups and authorizations are enforced for each user. A new user object is created for the new user, including the default username and password. The user can change his password. Users or objects are assigned to one or more security groups. Each user security authorization can be changed.

객체는 제한 없이 다음 연결, 정상, 트리거, LonTalkLocal, LonTalkNetwork, UI, 복합 또는 외부 중 하나를 사용하여 동적으로 서로 연결된다.Objects are dynamically linked together using one of the following connections, Normal, Trigger, LonTalkLocal, LonTalkNetwork, UI, Compound, or External, without limitation.

또한, 객체지향 제어 시스템(100)은 객체 또는 노드에 대해 소프트웨어 애플리케이션 프로그램에 의해 수행된 동작들을 중재하기 위해 BACnet™ 명령 우선주의를 사용한다. BACnet™ 명령 우선주의는 특정한 객체 또는 노드를 명령할 수 있는 애플리케이션 프로그램에 서로 다른 우선순위 레벨을 할당하고, 해당 노드에서 그 노드에 대한 우선주의를 노드의 객체 특성으로 저장함으로써 달성된다. 각각의 노드 또는 객체는 그의 명령 우선주의 레벨에 따라 소프트웨어 애플리케이션 프로그램으로부터 수신된 명령을 따른다.In addition, the object-oriented control system 100 uses BACnet ™ command priority attention to mediate the operations performed by the software application program on the object or node. BACnet ™ command priorities are achieved by assigning different priority levels to an application program that can command a particular object or node, and storing the priorities for that node at that node as the node's object properties. Each node or object follows the instructions received from the software application program according to its instruction priority level.

클라이언트(101), 서버(110) 및 네트워크 프로세서(111)는 마이크로소프트 윈도우 95 또는 윈도우 NT 운영체계를 실행하는 인텔 펜티엄™ 기반 개인용 컴퓨터와 같은 개인용 컴퓨터를 사용하여 구현되는 것이 바람직하다. 필드 컨트롤러(112)는 자바 가상 머신으로 동작할 수 있는 제한된 성능, 저가의 단일 보드 컴퓨터를 사용하여 구현될 수 있다. 예를 들어 소위 네트워크 컴퓨터가 이런 목적으로 사용될 수 있다.Client 101, server 110, and network processor 111 are preferably implemented using a personal computer, such as an Intel Pentium ™ -based personal computer running a Microsoft Windows 95 or Windows NT operating system. The field controller 112 may be implemented using a limited performance, low cost single board computer capable of operating as a Java virtual machine. So-called network computers can be used for this purpose, for example.

본 발명의 아키텍처는 다른 많은 시스템 구성을 지원한다. 보다 일반적인 구성의 몇몇은 필드 컨트롤러 시스템(도 2), 소형 웹 BAS 서버 시스템(도 3), 2레벨 시스템(도 4), 3레벨 시스템(도 5) 및 분산형 시스템(도 6)을 포함한다.The architecture of the present invention supports many other system configurations. Some of the more common configurations include field controller systems (FIG. 2), small web BAS server systems (FIG. 3), two-level systems (FIG. 4), three-level systems (FIG. 5) and distributed systems (FIG. 6). .

도 2를 참조하면, 필드 컨트롤러 시스템은 클라이언트가 복수의 LonMark 장치(122)에 연결된 LonMark 필드버스(107)를 감독하는 단일 필드 컨트롤러(112)에 접근하는 본 발명의 구성이다.Referring to FIG. 2, the field controller system is a configuration of the present invention in which a client accesses a single field controller 112 overseeing a LonMark fieldbus 107 connected to a plurality of LonMark devices 122.

도 3은 클라이언트(브라우저 클라이언트(120), 풀 클라이언트(121) 또는 양쪽 모두)가 복수의 LonMark 장치(122)에 연결된 LonMark 필드버스(107)를 감독하는 단일 웹 BAS 서버(110)에 접근하는 소형 웹 BAS 서버 시스템을 보여준다. 도 4에 도시된 바와 같이 2레벨 시스템은 네트워크 프로세서(111), 필드 컨트롤러(112) 및 BACnet 장치(123)의 임의의 조합을 직접 감독하는 웹 BAS 서버(110)로 구성된 시스템이다. 또한 웹 BAS 서버(110)가 직접 필드 컨트롤러(112)를 감독하는 네트워크 프로세서(111)를 감독하는 3레벨 시스템이 제공될 수 있다. 마지막으로 도 6은 원격 호스트(108)를 추가로 포함하는 분산형 시스템으로 구성되고, 대형 또는 소형 시스템의 집합이 모뎀(109)을 사용하여 원격 호스트(108)를 통해 연결되고 감독되는 된 객체지향 제어 시스템(100)의 대체 실시예를 보여준다.3 shows a small client (browser client 120, full client 121, or both) accessing a single web BAS server 110 overseeing a LonMark fieldbus 107 connected to a plurality of LonMark devices 122. Show the web BAS server system. As shown in FIG. 4, the two-level system is a system comprised of a web BAS server 110 that directly oversees any combination of network processor 111, field controller 112, and BACnet device 123. In addition, a three-level system may be provided in which the web BAS server 110 directly oversees the network processor 111 overseeing the field controller 112. Finally, FIG. 6 consists of a distributed system further comprising a remote host 108, wherein a set of large or small systems are connected and supervised through the remote host 108 using a modem 109. An alternative embodiment of the control system 100 is shown.

이 시스템은 사무실, 상업, 건강관리, 교육 및 산업 설비를 성공적으로 운영하고 관리하는데 필요한 많은 서비스들을 자동화하는 시스템을 구성, 전개 및 실행하는 아키텍처를 포함한다.The system includes an architecture that constructs, deploys, and implements a system that automates many of the services required to successfully operate and manage office, commercial, healthcare, education, and industrial facilities.

시스템의 데이터 흐름은 분산형 객체지향 제어 시스템(100)의 목적을 달성하는데 핵심이 되는 각 국(102)에서의 지속적이고 실시간의 정보 동기화 관리자(PRISM)(200)에 관리되는 것이 바람직하다. PRISM(200)은 도 7에 기술된 바와 같이 아카이빙 및 동기화 기술의 사용을 통해 객체지향 제어 시스템(100) 전체에 걸쳐서 시스템 데이터의 무결성을 유지한다. 객체지향 제어 시스템(100)과 연관된 데이터는 시스템 데이터, 자바 애플리케이션 및 제어 엔진(JACE), 노드 및 특성으로 카테고리화된다. 게다가, 객체지향 제어 시스템(100)의 각각의 데이터는 또한 그의 라이프 사이클에 따라 카테고리화된다. 임시 데이터는 호스트 가상 머신(VM)의 존속 기간 동안 존재한다. 지속적인 데이터는 호스트 VM의 존속 기간을 넘어서 존재하고, 전원 장애 또는 차단 동안에도 계속 남아있다. 객체지향 제어 시스템(100)에 존재하는 가상 머신은 풀 클라이언트(121)와 연관된 풀 사용자 인터페이스(206), 브라우저 클라이언트(120)와 연관된 브라우저 사용자 인터페이스(208), Taz(210) 및 하나 이상의 JACE(212)를 포함하지만, 이에 한정되지는 않는다. 지속적인 데이터는 비휘발성 기억장치에 그것을 저장함으로써 아카이빙된다. 현재의 바람직한 실시예에서, FLASH(204)와 자기 디스크(202) 비휘발성 기억장치 매체(즉, "Pstore")가 아카이빙된 지속적인 데이터를 저장하는데 사용된다. JACE(212)는 자신들과 연관된 임시 및 지속적인 데이터의 마스터 카피를 유지한다. 동기화 및 비동기화된 캐시는 객체가 현재의 시스템 데이터에 접근했음을 보장하기 위해 PRISM(200)의 제어 하에서 사용된다. 각각의 가상 머신은 해당 가상 머신에 의해 요구된 모든 데이터를 포함하는 적어도 하나의 캐시를 갖는다. 캐시는 가상 머신의 캐시가 그들의 감독 국(102)의 캐시와 일치되거나 이 캐시를 갱신하는데 사용되는 일치 방법으로 최신으로 유지된다. 다음에 국(102)은 서로 자신들의 캐시와 일치한다. 현재의 바람직한 실시예에서 현재의 데이터에서 불일치를 결정하기 위해 체크섬이 사용된다. 각각의 감독 국(102)은 감독 국에서 저장된 노드에 대한 현재의 가상 머신 캐시 데이터를 얻고, 다음에 조회를 받는 가상 머신으로부터 수신된 캐시 데이터와 캐시 내용에 대한 체크섬을 계산한다. 만일 체크섬이 일치하지 않으면, 불일치가 검출되고, 이 경우에 감독 국(102)은 그에 한정되지는 않지만 보다 새로운 데이터를 반영하기 위해 캐시를 갱신하고, 보다 새로운 데이터를 선택하기 위해 타임스탬프 비교를 수행하거나 또는 경보 또는 오류 표시를 올리는 것을 포함하는 문제를 해결하기 위한 단계를 밟는다.The data flow of the system is preferably managed by a continuous, real-time information synchronization manager (PRISM) 200 at each station 102 that is key to achieving the purpose of the distributed object-oriented control system 100. PRISM 200 maintains the integrity of system data throughout the object-oriented control system 100 through the use of archiving and synchronization techniques as described in FIG. Data associated with the object-oriented control system 100 is categorized into system data, Java applications and control engines (JACE), nodes, and properties. In addition, each data of the object-oriented control system 100 is also categorized according to its life cycle. Temporary data exists for the life of the host virtual machine (VM). Persistent data exists beyond the lifetime of the host VM and persists during a power failure or shutdown. The virtual machines present in the object-oriented control system 100 may include a pool user interface 206 associated with the pool client 121, a browser user interface 208 associated with the browser client 120, a Taz 210, and one or more JACEs ( 212), but is not limited to such. Persistent data is archived by storing it in nonvolatile memory. In the presently preferred embodiment, FLASH 204 and magnetic disk 202 nonvolatile storage media (ie, "Pstore") are used to store archived persistent data. JACE 212 maintains a master copy of temporary and persistent data associated with them. Synchronized and asynchronous caches are used under the control of PRISM 200 to ensure that objects have access to current system data. Each virtual machine has at least one cache containing all the data required by that virtual machine. The cache is kept up to date with the matching method used by the virtual machine's cache to match the cache of their supervisory station 102 or to update this cache. The stations 102 then match their caches with each other. In the presently preferred embodiment a checksum is used to determine the inconsistency in the current data. Each supervisory station 102 obtains the current virtual machine cache data for the node stored at the supervisory station and then computes a checksum for the cache data and cache content received from the virtual machine that is being queried. If the checksums do not match, a discrepancy is detected, in which case the supervisory station 102 updates the cache to reflect, but is not limited to, newer data, and performs a timestamp comparison to select newer data. Or take steps to solve the problem, including raising an alarm or error indication.

현재의 최선의 실시예에서 단일 웹 BAS 서버(110) 대신에 객체지향 제어 시스템(100)은 복수의 웹 BAS 서버(110)를 포함하고, 복수의 웹 BAS 서버(110)의 각각은 자체적으로 지속적인 데이터의 데이터베이스를 갖는다. 현재의 최선의 실시예에서, 객체는 데이터가 아카이빙되는 특정한 웹 BAS 서버(110)의 물리적인 위치와 관계 없이 지속적인 데이터에 접근한다. 국(102)은 다른 국(102)이 또한 로컬 웹 BAS 서버(110)에 연결되는지에 관계 없이 다른 국(102)과 통신할 수 있다.In the present best embodiment, instead of a single web BAS server 110, the object oriented control system 100 includes a plurality of web BAS servers 110, each of which is self-persistent. Have a database of data. In the present best embodiment, the object has access to persistent data regardless of the physical location of the particular web BAS server 110 where the data is archived. Station 102 may communicate with other station 102 regardless of whether other station 102 is also connected to local web BAS server 110.

이전에 지적한 바와 같이, 모든 형태의 설비에서 객체에 대한 광범위한 요구를 지원하기 위해 본 발명의 바람직한 실시예는 소프트웨어 모듈이 제어 시스템의 어느 곳에서든지 쉽게 설치되고 사용되는 것을 허용하는 자바 모듈 환경을 제공한다. 이 방식에서 객체는 요구되는 곳에 설치되어 최선의 실시간 성능을 제공할 수 있다.As pointed out previously, in order to support the broad demand for objects in all types of installations, the preferred embodiment of the present invention provides a Java module environment that allows software modules to be easily installed and used anywhere in the control system. . In this way, objects can be installed where needed to provide the best real-time performance.

이 시스템은 어떤 지원 플랫폼으로 인도될 수 있도록 플랫폼 독립 방식으로 시스템을 구현하기 위해 자바 클래스 파일로 구성되는 것이 바람직하다. 본 발명에 따른 코어 클래스 계층은 이러한 유연성이 가능한 노드 및 플랫폼을 갖는 시스템을 제공한다. 계층은 서로 다른 플랫폼에 대하여 서로 다른 인터페이스 및 프로토콜에 대한 드라이버를 구성하기 위한 유연한 방식으로 지원된다. 코어 클래스 계층에 부가하여, 사용자 객체는 이들이 계층적으로 동작을 이어받고, 예측 가능하게 수행하도록 계층으로 구성된다. 바람직한 실시예에서 달성된 계층은 도 8에 도시되어 있다.The system is preferably composed of Java class files to implement the system in a platform-independent manner so that it can be delivered to any supported platform. The core class hierarchy according to the present invention provides a system with nodes and platforms capable of this flexibility. Layers are supported in a flexible way to configure drivers for different interfaces and protocols for different platforms. In addition to the core class hierarchy, user objects are organized in a hierarchy such that they inherit the behavior hierarchically and perform predictably. The hierarchy achieved in the preferred embodiment is shown in FIG. 8.

현재의 바람직한 실시예에서 객체지향 제어 시스템(100)의 사용자는 그에 한정되지는 않지만 제어, 애플리케이션, 사용자 인터페이스, 컨테이너, LonMark™, BACnet, 관리자 및 서비스와 같은 객체 카테고리를 포함하는 복수의 객체 카테고리과 연관된 객체를 형성하고 조작할 수 있다.In the presently preferred embodiment the user of the object-oriented control system 100 is associated with a plurality of object categories including, but not limited to, object categories such as controls, applications, user interfaces, containers, LonMark ™, BACnet, administrators, and services. You can form and manipulate objects.

게다가 제어 객체 카테고리는 추가로 아날로그 입력, 아날로그 출력, 바이너리 입력, 바이너리 출력, 비교, 논리, 루프, 계산, 함수 발생기 및 계산기와 같은 서브카테고리를 포함한다.In addition, control object categories further include subcategories such as analog input, analog output, binary input, binary output, comparison, logic, loops, calculations, function generators, and calculators.

게다가 애플리케이션 객체 카테고리는 추가로 스케쥴, 칼렌더, 프로그램, 아날로그 로그, 바이너리 로그 및 정수 로그와 같은 서브카테고리를 포함한다.In addition, application object categories further include subcategories such as schedules, calendars, programs, analog logs, binary logs, and integer logs.

게다가 사용자 인터페이스 객체 카테고리는 추가로 막대 그래프, 불린 이미지, 바운드 이미지, 댐퍼, 팬, 핫 스폿 이미지, 스펙트럼, 텍스트 및 타이머 플롯과 같은 서브카테고리를 포함한다.In addition, user interface object categories further include subcategories such as bar graphs, Boolean images, bound images, dampers, pans, hot spot images, spectra, text, and timer plots.

게다가 컨테이너 객체 카테고리는 추가로 복합 및 총칭 서브카테고리를 포함한다.In addition, container object categories further include compound and generic subcategories.

게다가 LonMark™ 객체 카테고리는 추가로 Snvt 스위치 Mux, Snvt 스위치 Demux, DemoFcu, Leviton 스위치, Leviton Sw 481, Action Instr A0, Action Instr A1, Action Instr D0 및 로컬 Lon 노드와 같은 서브카테고리를 포함한다.In addition, the LonMark ™ object category additionally includes subcategories such as Snvt Switch Mux, Snvt Switch Demux, DemoFcu, Leviton Switch, Leviton Sw 481, Action Instr A0, Action Instr A1, Action Instr D0, and Local Lon Nodes.

게다가 BACnet 객체 카테고리는 추가로 장치, 아날로그 입력, 아날로그 출력, 바이너리 입력 및 바이너리 출력과 같은 서브카테고리를 포함한다.In addition, the BACnet object category additionally includes subcategories such as device, analog input, analog output, binary input, and binary output.

게다가 서비스 객체 카테고리는 추가로 제어 엔진, UI 엔진, 사용자 접근, 국간 연결, HTTPD 서비스, 웹 텍스트, 웹 뷰, 미디어, 프로그램 디버그, 다이얼업, Lonworks, Lon 통신, 네트워크 변수 폴 스케쥴러, 네트워크 변수 관리자, BACnet 서버, BACnet 클라이언트, BACnet 폴, BACnet 트랜스포트, BACnet 네트워크, BACnet 이더넷, 오류 아카이브, 오류 포워드 및 메일과 같은 서브카테고리를 포함한다.In addition, service object categories can include additional control engines, UI engines, user access, inter-station connections, HTTPD services, web text, web views, media, program debug, dialup, Lonworks, Lon communication, network variable poll scheduler, network variable manager, Includes subcategories such as BACnet Server, BACnet Client, BACnet Poll, BACnet Transport, BACnet Network, BACnet Ethernet, Error Archive, Error Forward, and Mail.

게다가 관리자 객체 카테고리는 추가로 사용자 서브카테고리를 포함한다.In addition, the manager object category additionally includes user subcategories.

객체지향 제어 시스템(100)에 의해 제공된 이러한 객체들의 목적과 사용은 그에 한정되지는 않지만 주로 이들 객체 카테고리 및 서브카테고리의 각각과 연관되는 것으로 이해된 것을 포함한다.The purpose and use of such objects provided by the object-oriented control system 100 includes, but is not limited to, those primarily understood to be associated with each of these object categories and subcategories.

실시간 환경에서 수용 가능하게 수행하기 위해 객체에 대한 제어 엔진이 예측 가능하게 수행해야 하지만, 객체의 실행 순서에 대한 제어를 사용자에게 제공해야 한다. 본 발명은 이러한 기능을 제공한다. 현재의 바람직한 실시예에서 객체 특성은 실행 순서 및 실행 주기를 지정하기 위해 제공된다. 현재의 최선의 실시예에서 5개의 서로 다른 실행 주기가 지정될 수 있다. 각각의 실행 주기는 100㎳의 배수로 연관된 객체 특성을 편집함으로써 조정될 수 있다. 현재의 최선의 실시예에서 3개의 서로 다른 실행 순서가 지정될 수 있다.In order to be acceptable in a real-time environment, the control engine for an object must perform predictably, but the user must be given control over the order in which objects are executed. The present invention provides such a function. In the presently preferred embodiment, object properties are provided to specify the order of execution and the frequency of execution. In the present best embodiment five different execution cycles may be specified. Each run cycle can be adjusted by editing the associated object properties in multiples of 100 ms. In the present best embodiment three different order of execution may be specified.

원격 사이트에 사이트의 성능에 대한 정보를 제공하기 위하여 시스템은 그와 같이 하여 프로그램될 때마다 실시간 정보를 원격 사이트에 이메일을 전송하기 위해 프로그램 가능 이메일 서비스를 제공한다.In order to provide the remote site with information about the site's performance, the system thus provides a programmable email service for sending real-time information to the remote site whenever it is programmed.

시스템은 객체 특성을 모두 표준 데이터 형태와 같은 접근 가능한 요소로서 제공한다. 이것은 사용자 및 프로그램 객체가 어떤 특성을 효율적으로 사용하도록 허용한다. 다음에 이들 특성은 다른 도구에 의한 조작을 위해 XML(eXtended Markup Language)로서 노출된다.The system provides all the object properties as accessible elements, such as standard data types. This allows user and program objects to use certain properties efficiently. These properties are then exposed as XML (eXtended Markup Language) for manipulation by other tools.

이 시스템은 사용자가 몇몇 애플리케이션에 대한 커스텀 객체를 형성하도록 허용하는 수단을 필요로 한다. 이러한 요구에 대응하기 위해 사용자 접근 및 제어를 위해 프로그램 객체의 시스템을 노출하는 스크립트 언어가 정의된다. 이 언어는 간단하고, 표준 객체 연결을 사용하고, 라이브러리에 대한 접근을 가지며, 완전한 디버거를 제공한다.The system needs a means to allow a user to create custom objects for some applications. To meet this need, a scripting language is defined that exposes a system of program objects for user access and control. The language is simple, uses standard object linking, has access to libraries, and provides a complete debugger.

본 발명은 또한 새로운 방식으로 제어 시스템에 인터넷의 복합 문서 패러다임을 적용한다. 이것은 보통의 URL(Universal Resource Locator)를 통해 리소스의 범용 가시성을 제공한다. 이러한 리소스는 내비게이션이 리소스의 하이퍼링크된 웹을 형성하는 것을 허용하기 위해 서로 링크된다.The invention also applies the complex document paradigm of the Internet to the control system in a new way. This provides general visibility of the resource through a normal Universal Resource Locator (URL). These resources are linked to each other to allow the navigation to form a hyperlinked web of resources.

리소스는 접근성 및 유효성을 보장하기 위해 시스템에 의해 관리된다. 시스템의 리소스는 클래스 파일, 실행 가능한 DLL, 미디어, 서식, 특성 파일, 데이터베이스와 로그 및 제 3의 소프트웨어를 포함한다.Resources are managed by the system to ensure accessibility and validity. The resources of the system include class files, executable DLLs, media, templates, properties files, databases and logs, and third party software.

제어 시스템은 설비 관리자, 애플리케이션 엔지니어 및 정보 전문가를 포함하는 많은 사람이 사용 가능해야 한다. 일반적으로 시스템은 객체 및 정보를 접근하기 위한 개별화된 브라우저 인터페이스를 포함하는 새롭고 독특한 제어 인터페이스를 제공한다. 이 인터페이스는 작업 공간 디스플레이, 작업 공간 에디터, 특성 디스플레이, 링크 디스플레이 및 도움말 기능을 포함한다. 사용자는 어떤 객체 또는 시스템에 명령을 발송할 수 있고, 상기 제어 인터페이스를 통해 동작 특징 및 특성을 변경할 수 있다.The control system must be available to many people, including facility managers, application engineers and information professionals. In general, the system provides a new and unique control interface that includes a personalized browser interface for accessing objects and information. This interface includes a workspace display, workspace editor, property display, link display, and help functions. The user can send commands to any object or system, and change the operating characteristics and characteristics through the control interface.

일반적인 워크스테이션에 정보 관리 및 실시간 전문가 제어 시스템을 조립함으로써 본 발명의 BAS 아키텍처는 간단화되고, 고객은 정보 및 제어 모두에 대한 단일 포인트의 접근을 가질 수 있다. 웹 BAS 서버 플랫폼은 모든 설비 관리 정보 및 빌딩 제어 애플리케이션에 대하여 자바 가능 웹 브라우저에 기초한 일반적인 그래픽 사용자 인터페이스를 제공한다. 부가적으로 이러한 개방형 단일 소프트웨어 환경은 어떤 산업계 표준 브라우저를 사용하여 인터넷을 통하여 정보/필드버스 네트워크 및 제어 시스템 애플리케이션에 대한 일정한 구성 도구를 제공한다.By assembling information management and real-time expert control systems in a typical workstation, the BAS architecture of the present invention is simplified, and customers can have a single point of access to both information and control. The web BAS server platform provides a generic graphical user interface based on a Java-enabled web browser for all facility management information and building control applications. In addition, this open single software environment provides certain configuration tools for information / fieldbus network and control system applications over the Internet using any industry standard browser.

여기에 개시된 바와 같이 웹 BAS 서버 플랫폼은 자바 가능 웹브라우저 인터페이스를 통해 지원된 일반적인 객체 모델 애플레이션 환경에 서로 다른 BACnet, LonMark 및 인터넷 / CORBA를 결합하기 위한 BAS 산업계의 제 1 소프트웨어 기술이다. 이 실시예는 또한 BACnet / LonMark / 인터넷 / CORBA 시스템 네트워크의 입안, 설계, 구성, 설치 및 유지에서 BAS 필드 계약자 채널을 지원하기 위한 종합 네트워크 관리 도구이다.As disclosed herein, the web BAS server platform is the BAS industry's first software technology to combine different BACnet, LonMark, and Internet / CORBA into a common object model application environment supported via a Java-enabled web browser interface. This embodiment is also a comprehensive network management tool for supporting the BAS Field Contractor Channel in the formulation, design, configuration, installation and maintenance of the BACnet / LonMark / Internet / CORBA system networks.

기준화 가능한 웹 BAS 서버 소프트웨어가 BACnet / LonMark 필드버스에 직접 부착된 단일 사용자 프론트엔드 플랫폼으로 소형 빌딩에 사용될 수 있다. 대향 BAS 설비에 대하여 웹 BAS 서버는 이더넷을 통해 연결된 많은 네트워크 프로세서를 감독하고, 제한되지 않는 원격 웹브라우저 운영자 인터페이스 사용자를 지원하도록 구성될 수 있다. 기업 고객에 대하여 웹 BAS 서버는 IBM 기업 정보 기반구조 및/또는 그루페 쉬나이더 개인 / 전원 시스템 아키텍처에 BAS 아키텍처를 결합하도록 구성될 수 있다.Referenceable web BAS server software can be used in small buildings as a single-user front-end platform attached directly to the BACnet / LonMark fieldbus. For an opposing BAS facility, the web BAS server can be configured to oversee many network processors connected via Ethernet and to support unlimited remote web browser operator interface users. For enterprise customers, the web BAS server can be configured to combine the BAS architecture with IBM's enterprise information infrastructure and / or GrooveSneider personal / power system architecture.

본 발명의 한 가지 중요한 특징은 BAS 컨트롤러 모듈(네트워크 프로세서)의 개발이다. 종래의 우선주의 BAS 컨트롤러 플랫폼은 복수의 빌딩 서비스 애플리케이션을 지원하기에는 너무 작은 메모리, 속도 및 처리능력을 갖는다. 따라서 사용자의 실질적인 문제를 해결 가능한 독립적인 제품으로 다시 분류하지만 복잡한 솔루션을 갖지 않는 개별적인 컨트롤러를 HVAC 및 접근 제어와 같은 각각의 애플리케이션이 제공된다. 이에 따라 호환되지 않는 자립형 빌딩 서비스 솔루션 사이의 결합이 매우 적고, 설치 비용이 증가한다.One important feature of the present invention is the development of a BAS controller module (network processor). Conventional preferred BAS controller platforms have too little memory, speed and processing power to support multiple building service applications. Thus, each application, such as HVAC and access control, is provided with a separate controller that reclassifies the user's real problem into an independent product that can solve the problem but does not have a complex solution. This results in very little coupling between incompatible standalone building service solutions and increased installation costs.

이러한 제한은 본 발명에서 BAS 컨트롤러 프로세서 기술과 상호 동작하는 BACnet / LonMark 필드버스를 연결함으로써 극복된다. 이 새로운 고성능 기술을 사용하기 위해 본 발명은 이용 가능한 프로세싱 능력을 이용하는 애플리케이션 개발 기능을 사용한다. 따라서 결합과 복수의 빌딩 서비스 애플리케이션은 동일한 컴퓨팅 플랫폼에 의해 수행될 수 있다.This limitation is overcome by connecting the BACnet / LonMark fieldbus, which interoperates with the BAS controller processor technology in the present invention. To use this new high performance technology, the present invention uses application development capabilities that take advantage of the available processing power. Thus, the combination and multiple building service applications can be performed by the same computing platform.

오늘날의 BAS 컨트롤러의 제한된 애플리케이션 개발 기능을 극복하기 위해 본 발명의 네트워크 프로세서는 객체지향 분석, 설계 및 프로그래밍에 기초한 자바 애플리케이션 환경을 사용한다. NP는 복수의 고수준 빌딩 서비스 애플리케이션을 결합하고, 멀티-벤더 필드버스 솔루션을 지원하기 위해 선(Sun)의 자바소프트 기술에 기초한 강력한 자바 객체/순서 엔진을 사용한다. 네트워크 프로세서 애플리케이션의 예는 대중적인 빌딩 서비스 제품을 결합하기 위해 글로벌 경보, 글로벌 스케쥴링, 트렌딩/데이터 수집, 진단 서비스 및 요구 제한/전원 관리를 포함한다.To overcome the limited application development capabilities of today's BAS controllers, the network processor of the present invention uses a Java application environment based on object-oriented analysis, design and programming. NP combines multiple high-level building service applications and uses a powerful Java object / sequence engine based on Sun's JavaSoft technology to support multi-vendor fieldbus solutions. Examples of network processor applications include global alerts, global scheduling, trending / data collection, diagnostic services, and demand limiting / power management to combine popular building services products.

네트워크 프로세서(NP) 객체 소프트웨어 환경은 내장 컨트롤러 하드웨어 플랫폼에 제공되는 것이 바람직하다. NP 플랫폼 패키지는 멀티-벤더 LonMark 필드버스를 지원하고, 다른 NP 및 웹 BAS 서버에 대한 이더넷 동등 계층(peer-to-peer) 네트워킹을 제공한다(도 1 BACnet / LonMark / 인터넷 아키텍처 참조).The network processor (NP) object software environment is preferably provided on an embedded controller hardware platform. The NP platform package supports multi-vendor LonMark fieldbus and provides Ethernet peer-to-peer networking for other NP and web BAS servers (see Figure 1 BACnet / LonMark / Internet Architecture).

본 발명은 도면 및 부록에 도시된 바와 같이 필드 컨트롤러(FC) 플랫폼의 3가지 실시예를 제공한다. FC 플랫폼은 32비트 프로세서를 사용하는 것이 바람직하고, 에셀론(Echelon) 보조 프로세서를 통해 상호 동작 가능한 BASnet / LonMark 필드버스에 선택적으로 연결할 수 있다. 이러한 플랫폼은 애플리케이션에 대한 자바 객체/순서 엔진을 지원하는 실시간 운영체계를 사용한다. FC는 필드버스 위에 또는 FC의 로컬 RS 232 / 모뎀 포트 또는 비디오 모뎀 인터페이스를 통과하여 웹 BAS 서버에 의해 구성된다.The present invention provides three embodiments of a field controller (FC) platform as shown in the figures and the appendix. The FC platform preferably uses a 32-bit processor and can optionally connect to interoperable BASnet / LonMark fieldbuses via an Echelon coprocessor. These platforms use a real-time operating system that supports the Java object / order engine for the application. The FC is configured by the web BAS server over the fieldbus or through the FC's local RS 232 / modem port or video modem interface.

제 1 FC 패키지는 그루페 쉬나이더에 의해 제조된 국부적으로 부착된 단말 블럭 입력/출력 모듈을 지원한다. 이 집적된 설계 방식은 최종적인 개인 및 상업용 컨트롤러 애플리케이션에 대해 매우 유연하며, 비용이 효율적이다. BACnet / LonMark 객체/순서 엔진은 그의 강력한 애플리케이션 환경에서 어떤 로컬 입력/출력 데이터 또는 어떤 필드버스 장치 데이터도 사용할 수 있다.The first FC package supports locally attached terminal block input / output modules manufactured by Groupe Schneider. This integrated design approach is very flexible and cost-effective for final personal and commercial controller applications. The BACnet / LonMark object / sequence engine can use any local input / output data or any fieldbus device data in its powerful application environment.

필드버스에 부착된 제 2의 32비트 필드 컨트롤러 플랫폼은 국부적으로 부착된 입력/출력을 지원하지 않지만, 집적된 저비용의 프로그램 가능 운영자 인터페이스 및 BACnet / LonMark 객체 엔진을 포함한다. 웹 BAS 서버 구성 도구는 필드버스 네트워크상의 어떤 노드 장치에서 제어 및 데이터 접근을 갖는 유연한 운영자 인터페이스를 프로그램할 수 있다.The second 32-bit field controller platform attached to the fieldbus does not support locally attached inputs / outputs, but includes an integrated low cost programmable operator interface and a BACnet / LonMark object engine. The web BAS server configuration tool can program a flexible operator interface with control and data access from any node device on the fieldbus network.

필드 컨트롤러 패키지의 제 3 실시예는 웹 BAS 서버에 의한 모니터링과 원격 제어를 위해 소형 빌딩에 대한 저가의 인터넷 접속을 제공하기 위해 비디오 케이블 모뎀과 함께 결합된다.A third embodiment of the field controller package is combined with a video cable modem to provide low cost internet access to a small building for monitoring and remote control by a web BAS server.

시스템의 동작 요소들은 결합 및 용법을 간편화하기 위해 한 객체로서 각각 모형화된다. 이것은 사용자 프리젠테이션, 네트워크 관리, 네트워크 제어, 실시간 제어 및 장치 객체를 포함한다.The operating elements of the system are each modeled as an object to simplify coupling and usage. This includes user presentations, network management, network control, real time control, and device objects.

본 발명의 다른 특징으로서, 비교적 고가의 풀타임 인터넷 접속 또는 서버에서 클라이언트로의 장거리 전화를 방지하기 위해 서버는 클라이언트가 다시 서버에 접속을 개방하는 간단한 다이얼업 통보 메커니즘을 사용한다. 동작에 있어서, 서버는 클라이언트에 부착된 모뎀에 전화를 걸고, 클라이언트가 응답하기 전에 호출을 끊는다. 클라이언트는 이것은 서버 요청 접촉으로 인식한다. 호출에 응답하여 클라이언트는 저가의 월 서비스 요금을 갖는 로컬 ISP에 전화를 건다. 다음에 클라이언트는 인터넷을 통해 서버에 접속을 달성한다. 이 메커니즘은 ISP에 의해 부과된 월 요금으로 접근 요금을 제한함으로써 호출 또는 분 당 요금을 방지한다.As another feature of the present invention, to prevent relatively expensive full-time Internet access or long distance calls from the server to the client, the server uses a simple dialup notification mechanism where the client re-opens the connection to the server. In operation, the server dials a modem attached to the client and drops the call before the client answers. The client recognizes this as a server request contact. In response to the call, the client dials a local ISP with a low monthly service fee. The client then establishes a connection to the server via the Internet. This mechanism prevents calls or per minute charges by limiting access charges to the monthly fee charged by the ISP.

따라서, 복수의 산업계 표준을 지원하는 멀티-벤더 개방향 시스템 환경에서 분산형 애플리케이션의 일반 객체 모델에 BACnet, LonMark, CORBA, 자바 및 인터넷 시스템을 결합하기 위해 객체지향 소프트웨어를 사용하는 제어 시스템 및 방법이 도시되었다. 본 발명의 제어 시스템 및 방법은 단일 제어 시스템에서 미리 정의된 객체와 사용자 정의 객체를 모두 제공한다. 시스템 데이터의 집적 및 지속은 아카이빙 및 동기화 기술을 통해 유지되고 분산된다. 장치와 연관된 특성은 장치의 외부 인터페이스 특성을 반영하기 위해 동적으로 갱신된다.Therefore, a control system and method using object-oriented software to combine BACnet, LonMark, CORBA, Java, and Internet systems in a generic object model of distributed applications in a multi-vendor open-system system that supports multiple industry standards is needed. Has been shown. The control system and method of the present invention provide both predefined and user defined objects in a single control system. Integration and persistence of system data is maintained and distributed through archiving and synchronization technologies. Properties associated with the device are dynamically updated to reflect the external interface properties of the device.

본 출원은 1999년 5월 14일 출원된 Gerald Frank 등의 미국 특허 출원 "컴퓨터 네트워크를 사용하는 이종(異種) 전기기계 시스템의 객체지향 제어를 위한 시스템 및 방법"을 참조로서 포함한다.This application includes, by reference, US patent application "Systems and Methods for Object-Oriented Control of Heterogeneous Electromechanical Systems Using Computer Networks", filed May 14, 1999.

Claims (7)

전자 네트워크를 통해 객체지향 제어 시스템에 대한 접근 및 제어를 제공하고, 이 시스템을 모니터링하는 클라이언트;A client providing access to and control over the object-oriented control system via the electronic network, the client monitoring the system; 다운로드 가능한 자바 기반 객체를 사용하여 직접적으로 제어할 수 없는 외래 장치;Foreign devices that cannot be directly controlled using downloadable Java-based objects; 공통 객체 모델을 사용하여 객체지향 제어 시스템에 상기 외래 장치를 결합하고, 다른 국을 감독하며, 모든 구성 정보의 지속적인 백업을 제공하는 로컬 시스템의 마스터로서 기능하는 국;A station that combines the foreign device with an object-oriented control system using a common object model, supervises other stations, and serves as a master of the local system to provide continuous backup of all configuration information; 상기 클라이언트, 외래 장치 및 국의 복수의 이종(異種) 구성을 지원할 수 있는 플렉시블한 개방형 아키텍처;A flexible open architecture capable of supporting a plurality of heterogeneous configurations of the client, foreign device and station; 복수의 작업의 규칙적이고 적시의 실행을 조정하기 위한 실시간 동기화 관리자;A real time synchronization manager for coordinating regular and timely execution of a plurality of tasks; 복수의 사용자 정의 객체;A plurality of user defined objects; 복수의 객체 특성;A plurality of object properties; 복수의 객체 카테고리;A plurality of object categories; 상기 복수의 객체 카테고리에 따라 상기 객체 및 상기 특성의 사용자 생성 및 수정을 허용하기 위한 객체 생성 기구;An object creation mechanism for allowing user creation and modification of the object and the property according to the plurality of object categories; 다중 레벨 보안 기구;Multi-level security mechanisms; 상기 사용자 정의 객체와 공존하는 미리 정의된 복수의 객체;A plurality of predefined objects that coexist with the user-defined object; 아카이빙(archiving)과 동기화를 통해 객체지향 제어 시스템 전체에 걸쳐서 시스템 데이터의 무결성을 유지하는 지속적인 실시간 정보 동기화 관리자;A continuous, real-time information synchronization manager that maintains the integrity of system data throughout the object-oriented control system through archiving and synchronization; 객체의 코어 클래스 계층;Core class hierarchy of objects; 상기 객체의 실행에 대한 예측 가능한 순서를 제공하기 위한 제어 엔진; 및A control engine for providing a predictable order of execution of the objects; And 원격 사이트에 실시간 데이터를 포함하는 이메일 통보를 전송하기 위한 프로그램 가능 메일 서비스를 포함하는 것을 특징으로 하는 객체지향 제어 시스템.An object-oriented control system comprising a programmable mail service for sending email notifications containing real-time data to remote sites. 제 1 항에 있어서,The method of claim 1, 상기 객체 생성 기구는 상기 외래 장치와 연관된 외부 인터페이스 객체 특성을 동적으로 갱신하거나 부가하기 위한 동적 장치 외부 인터페이스 갱신 기능을 추가로 포함하는 것을 특징으로 하는 객체지향 제어 시스템.And the object generation mechanism further comprises a dynamic device external interface update function for dynamically updating or adding an external interface object property associated with the foreign device. 제 1 항에 있어서,The method of claim 1, 객체지향 제어 시스템의 다른 구성요소와 물리적으로 함께 위치하지 않는 위치로부터 객체지향 제어 시스템에 대한 접근, 제어 및 모니터링을 허용하기 위한 원격 호스트를 추가로 포함하는 것을 특징으로 하는 객체지향 제어 시스템.And a remote host for allowing access, control, and monitoring of the object-oriented control system from a location not physically located with other components of the object-oriented control system. 전자 네트워크를 사용하는 객체지향 제어 시스템의 객체를 사용자가 제어하고 모니터링하는 것을 허용하는 접근수단;Access means for allowing a user to control and monitor an object of an object-oriented control system using an electronic network; 복수의 외래 장치가 공통 객체 모델을 사용하는 객체지향 제어 네트워크에 의해 제어되고 모니터링되도록 하는 결합수단;Coupling means for allowing a plurality of foreign devices to be controlled and monitored by an object-oriented control network using a common object model; 로컬 시스템의 마스터로서 기능하는 기능을 포함하는 한 국이 다른 국을 제어하고 모니터링하는 것을 허용하는 감독수단;Supervision means for allowing one station to control and monitor another station, including the function of acting as a master of the local system; 복수의 작업의 규칙적이고 적시의 실행을 조정하는 실시간 동기화 수단;Real time synchronization means for coordinating regular and timely execution of a plurality of tasks; 복수의 객체 카테고리에 따라 객체의 사용자 생성 및 수정을 허용하는 새로운 사용자 객체 생성 수단;New user object creation means for allowing user creation and modification of an object according to a plurality of object categories; 한 객체와 연관된 특정 정보에 대한 접근 또는 수정을 금지하는 다중 레벨 보안수단;Multilevel security means forbidding access to or modification of specific information associated with an object; 객체의 실행의 예측 가능한 순서를 제공하기 위한 제어 엔진 수단; 및Control engine means for providing a predictable order of execution of the objects; And 원격 사이트에 실시간 데이터를 포함하는 이메일 통보를 전송하기 위한 프로그램 가능 메일 수단을 포함하는 것을 특징으로 하는 객체지향 제어 시스템.And an programmable mail means for sending an email notification including real time data to a remote site. 전자 네트워크를 통해 객체지향 제어 시스템에 대한 접근, 제어 및 모니터링을 제공하는 단계; 및Providing access, control and monitoring to an object-oriented control system via an electronic network; And 시스템 정보를 나타내고, 시스템 정보가 객체지향 제어 시스템의 전체에 걸쳐서 이용 가능하게 구성하기 위해 공통 객체 모델을 사용하는 객체지향 제어 시스템에 외래 장치를 결합하는 단계를 포함하는 것을 특징으로 하는 객체지향 제어 시스템을 사용하는 방법.Coupling the foreign device to an object-oriented control system using a common object model to represent system information and make the system information available throughout the object-oriented control system. How to use it. 제 5 항에 있어서,The method of claim 5, 객체지향 제어 시스템의 객체를 생성하거나 수정하기 위해 커스텀 프로그래밍 언어를 사용하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.And using a custom programming language to create or modify objects of the object-oriented control system. 제 5 항에 있어서,The method of claim 5, 다양한 레벨의 세목으로 표시를 용이하게 하기 위해 컨테이너내에 객체를 그룹화하는 단계;Grouping objects within the container to facilitate display at various levels of detail; 코어 클래스 계층에 따라 객체를 구성하는 단계; 및Constructing an object according to a core class hierarchy; And 다중 레벨 보안 프로토콜의 사용을 통해 객체에 대한 접근을 제어하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.Controlling access to the object through the use of a multilevel security protocol.
KR1020007012770A 1998-05-15 1999-05-14 System and methods for object-oriented control of diverse electromechanical systems using a computer network KR100563291B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US8553998P 1998-05-15 1998-05-15
US60/085,539 1998-05-15

Publications (2)

Publication Number Publication Date
KR20010043617A true KR20010043617A (en) 2001-05-25
KR100563291B1 KR100563291B1 (en) 2006-03-27

Family

ID=22192285

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007012770A KR100563291B1 (en) 1998-05-15 1999-05-14 System and methods for object-oriented control of diverse electromechanical systems using a computer network

Country Status (9)

Country Link
EP (1) EP1082669A4 (en)
JP (1) JP4330799B2 (en)
KR (1) KR100563291B1 (en)
CN (1) CN1305611B (en)
AU (1) AU758278B2 (en)
BR (1) BR9910512A (en)
CA (1) CA2332009C (en)
HK (1) HK1038970B (en)
WO (1) WO1999060487A1 (en)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI109951B (en) * 1999-12-29 2002-10-31 Valtion Teknillinen Controller and its control method
EP1168752A1 (en) * 2000-06-23 2002-01-02 Matra Nortel Communications Access control in client-sever systems
DE10058391C2 (en) * 2000-11-24 2003-06-18 Siemens Ag Object processing device
AU2002340972A1 (en) * 2001-05-09 2002-11-18 Spraying Systems Co. Object-oriented operating system for a spray controller
US6819960B1 (en) 2001-08-13 2004-11-16 Rockwell Software Inc. Industrial controller automation interface
US8417827B2 (en) * 2001-12-12 2013-04-09 Nokia Corporation Synchronous media playback and messaging system
DE10214185A1 (en) * 2002-03-28 2003-10-16 Siemens Ag PC arrangement for visualization, diagnostic and expert systems for monitoring and control or regulation of high-voltage supply units of electrostatic filters
US20040093516A1 (en) * 2002-11-12 2004-05-13 Hornbeek Marc William Anthony System for enabling secure remote switching, robotic operation and monitoring of multi-vendor equipment
US7526347B2 (en) * 2003-02-18 2009-04-28 Fisher-Rosemount Systems, Inc. Security for objects in a process plant configuration system
US8880735B2 (en) * 2003-09-05 2014-11-04 Sierra Wireless, Inc. Mail server based application record synchronization
FR2865557B1 (en) * 2004-01-27 2006-06-23 Sinovia OPEN SYSTEM FOR INTEGRATING AND MANAGING COMPUTER COMPONENTS REPRESENTING A SPECIFIC FUNCTIONALITY OF A DETERMINED APPLICATION
DE102004036210B4 (en) * 2004-07-26 2006-08-31 Siemens Ag Control device and control method for electrostatic precipitators with a configurable number of parallel and serial filter zones
CN101529345B (en) * 2005-05-13 2011-10-19 洛克威尔自动控制技术股份有限公司 Distributed database in an industrial automation environment
WO2007012707A1 (en) * 2005-07-26 2007-02-01 Sinovia Open system for integrating and managing computer-based components representing a specific functionality of a specific application
CN102759886A (en) * 2005-08-22 2012-10-31 传恩国际股份有限公司 Building automation system convenient for user customization
CN100433649C (en) * 2005-11-17 2008-11-12 中兴通讯股份有限公司 Method for multi-objective configuration in telecommunication network system
US7734572B2 (en) * 2006-04-04 2010-06-08 Panduit Corp. Building automation system controller
CN100409128C (en) * 2006-10-17 2008-08-06 南京科远自动化集团有限公司 General industrial controller
EP2171550A4 (en) * 2007-06-27 2012-09-12 Koninkl Philips Electronics Nv System and method for providing device independent control and modification
US8863122B2 (en) 2009-07-31 2014-10-14 Hewlett-Packard Development Company, L.P. Remote control of a plurality of virtual machines using actions facilitated through a graphic user interface
EP2579113B1 (en) 2011-10-03 2021-02-17 Siemens Schweiz AG Structure of a building automation system
CN102393724B (en) * 2011-11-30 2014-06-04 洛阳正扬冶金技术股份有限公司 Framework of multilayer automation control system
CN104204968B (en) 2012-03-28 2017-06-13 西门子瑞士有限公司 For building automation object to be grouped into the system and method for group communication in building automation system
WO2014035410A1 (en) * 2012-08-30 2014-03-06 Hewlett-Packard Development Company, L.P. Global feature library useable with continuous delivery
CN103870252A (en) * 2012-12-11 2014-06-18 镇江金钛软件有限公司 Resource managing method and device
CN104133380A (en) * 2013-05-03 2014-11-05 北京林业大学 OPC (OLE for Process Control) XML DA-based LonMark and BACnet open control system solution scheme
CN103677829B (en) * 2013-12-13 2016-08-17 北京同有飞骥科技股份有限公司 Object Operations accesses the method controlled
CN104008000A (en) * 2014-05-09 2014-08-27 启秀科技(北京)有限公司 Practical operation question evaluation software simulation system
CN104778410B (en) * 2015-04-16 2017-07-11 电子科技大学 A kind of application integrity verification method
US11720074B2 (en) 2020-06-06 2023-08-08 Honeywell International Inc. Method and system for managing virtual controllers in a building management system
US11625018B2 (en) 2020-06-06 2023-04-11 Honeywell International Inc. Method and system for configuring virtual controllers in a building management system
US11940786B2 (en) 2020-06-06 2024-03-26 Honeywell International Inc. Building management system and method with virtual controller and failsafe mode
US11782410B2 (en) 2020-06-06 2023-10-10 Honeywell International Inc. Building management system with control logic distributed between a virtual controller and a smart edge controller

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5608720A (en) * 1993-03-09 1997-03-04 Hubbell Incorporated Control system and operations system interface for a network element in an access system
US5611059A (en) * 1994-09-02 1997-03-11 Square D Company Prelinked parameter configuration, automatic graphical linking, and distributed database configuration for devices within an automated monitoring/control system
US5650936A (en) * 1994-12-30 1997-07-22 Cd Power Measurement Limited Power monitor apparatus and method with object oriented structure
US5752249A (en) * 1996-11-14 1998-05-12 Macon, Jr.; Charles E. System and method for instantiating a sharable, presistent parameterized collection class and real time process control system embodying the same

Also Published As

Publication number Publication date
WO1999060487A9 (en) 2001-03-01
CN1305611B (en) 2010-06-02
AU758278B2 (en) 2003-03-20
BR9910512A (en) 2001-01-02
WO1999060487A1 (en) 1999-11-25
HK1038970A1 (en) 2002-04-26
AU3993199A (en) 1999-12-06
CN1305611A (en) 2001-07-25
CA2332009A1 (en) 1999-11-25
KR100563291B1 (en) 2006-03-27
JP4330799B2 (en) 2009-09-16
EP1082669A1 (en) 2001-03-14
HK1038970B (en) 2011-03-04
EP1082669A4 (en) 2006-05-03
JP2002516432A (en) 2002-06-04
CA2332009C (en) 2007-08-07

Similar Documents

Publication Publication Date Title
KR100563291B1 (en) System and methods for object-oriented control of diverse electromechanical systems using a computer network
US6832120B1 (en) System and methods for object-oriented control of diverse electromechanical systems using a computer network
US8086666B2 (en) Method and apparatus for programming programmable controllers and providing version management from a centralized server
US8122434B2 (en) Methods and apparatus for control configuration control objects associated with a track attribute for selecting configuration information
US5801942A (en) Process control system user interface including selection of multiple control languages
US7853935B2 (en) Method for providing networked engineering tool services
US8127060B2 (en) Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
JP6194252B2 (en) Process control system
US5909368A (en) Process control system using a process control strategy distributed among multiple control elements
US5862052A (en) Process control system using a control strategy implemented in a layered hierarchy of control modules
RU2273874C2 (en) Method for operating technical plant and system for controlling operation process of technical plant
US20030061349A1 (en) Method and system for collaboratively developing programming code for programmable controllers
WO1998036335A9 (en) Process control system using a layered-hierarchy control strategy distributed into multiple control devices
WO2010138412A1 (en) Control configuration with control objects that are fieldbus protocol-aware and that self-define tracked parameters
US20010037362A1 (en) Automation system for solving a technical-process task and corresponding method
WO2003034338A2 (en) Management platform and environment
Lapalus et al. Manufacturing integration
Richmond The Niagara Framework

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee