KR20060125594A - Model for communication between manufacturing and enterprise levels - Google Patents

Model for communication between manufacturing and enterprise levels Download PDF

Info

Publication number
KR20060125594A
KR20060125594A KR1020060049526A KR20060049526A KR20060125594A KR 20060125594 A KR20060125594 A KR 20060125594A KR 1020060049526 A KR1020060049526 A KR 1020060049526A KR 20060049526 A KR20060049526 A KR 20060049526A KR 20060125594 A KR20060125594 A KR 20060125594A
Authority
KR
South Korea
Prior art keywords
data
controller
plc
network connection
enterprise
Prior art date
Application number
KR1020060049526A
Other languages
Korean (ko)
Inventor
에릭 오퍼리
수닐 바보자
데이비드 디 라 로사
존 키버
짐 워트
테리 잔주치
Original Assignee
아이엘에스 테크놀로지, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아이엘에스 테크놀로지, 엘엘씨 filed Critical 아이엘에스 테크놀로지, 엘엘씨
Publication of KR20060125594A publication Critical patent/KR20060125594A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the network communication
    • G05B19/4186Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the network communication by protocol, e.g. MAP, TOP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/06Electricity, gas or water supply
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/222Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14008Pc monitors plc
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24139Recovery from power loss, failure
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25381Restart program at predetermined position, crash recovery after power loss
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31236Plc exclusive network connected to map
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31394Field management, low level, instruments and controllers acting in real time
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31396Business management, production, document, asset, regulatory management, high level
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31449Monitor workflow, to optimize business, industrial processes
    • 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/32Operator till task planning
    • G05B2219/32413Pc generates control strategy, download in plc to monitor and react to events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

A communication model between a manufacturing and enterprise level is provided to offer capability for directly controlling/modifying a manufacturing process, and offer effect for capturing data and identifying each event generated in a plant floor. An enterprise communication controller(500) performs communication with a controlling/monitoring device by connecting to the network and includes embedded software. The software reads the data from the controlling/monitoring device, receives a non-claim message from the controlling/monitoring device, and transmits the data and the message to a receiving place by connecting to the network. The controlling/monitoring device is a PLC(Programmable Logic Circuit) and the data is a discrete data point read from the PLC.

Description

제조와 엔터프라이즈 레벨간의 통신 모델{MODEL FOR COMMUNICATION BETWEEN MANUFACTURING AND ENTERPRISE LEVELS}MODEL FOR COMMUNICATION BETWEEN MANUFACTURING AND ENTERPRISE LEVELS}

도1은 로우 레벨로부터 엔터프라이즈 레벨까지의 종래 표준 기술의 구조를 나타낸다.Figure 1 shows the structure of a prior art standard from low level to enterprise level.

도2는 본 발명의 동작에 필요한 기능을 나타낸다.2 shows the functions necessary for the operation of the present invention.

도 3은 본 발명에 의한 장치의 상위 레벨 구조를 나타낸다.3 shows a high level structure of the device according to the invention.

도4는 본 발명에 의한 워크벤치 콤포넌트의 구조에 있어서 상위 레벨 다이어그램을 나타낸다.4 shows a high level diagram of the structure of a workbench component according to the present invention.

도5는 엔터프라이즈 통신 제어기의 시스템 콤포넌트를 나타낸다.5 illustrates a system component of an enterprise communication controller.

도6은 프로젝트와 트리거가 추가된 프로세스를 나타낸다.6 shows a process in which a project and a trigger are added.

도7은 런-타임 데이터 트리거에 의거한 엔터프라이즈 통신 제어기의 기능을 나타낸다.7 illustrates the functionality of an enterprise communication controller based on run-time data triggers.

도8은 런-타임 로직 트리거에 의거한 엔터프라이즈 통신 제어기의 기능을 나타낸다.8 illustrates the functionality of an enterprise communication controller based on run-time logic trigger.

도9는 전원 고장 후, 엔터프라이즈 통신 제어기의 기능을 나타낸다.9 shows the function of the enterprise communication controller after a power failure.

도10은 로우 레벨과 엔터프라이즈 레벨 사이의 연결이 우연히 해제되고, 기억 및 다음 기능이 활성화된 경우, 엔터프라이즈 통신 제어기의 기능을 나타낸다.Fig. 10 shows the function of the enterprise communication controller when the connection between the low level and the enterprise level is accidentally released and the storage and next functions are activated.

도11은 와치독 설비(watchdog facility) 또는 시스템 헬스 모니터(system health monitor)의 동작을 나타낸다.11 illustrates the operation of a watchdog facility or a system health monitor.

도12는 구성을 익스포팅하는 동작을 나타낸다.12 illustrates the operation of exporting a configuration.

도13은 추가적인 외부 장치로의 직접 연결을 위한 대체 실시형태를 나타낸다.Figure 13 shows an alternative embodiment for a direct connection to a further external device.

도14는 PLC 통신 채널을 통해 멀티플 PLS로의 연결을 위한 대체 실시형태를 나타낸다.14 shows an alternative embodiment for connection to multiple PLS via a PLC communication channel.

도15는 장치 드라이버를 사용하는 멀티플 PLC에 연결을 위한 대체 실시형태를 나타낸다.Figure 15 shows an alternative embodiment for connecting to multiple PLCs using device drivers.

도16은 라이트 백 이벤트(write back event)이 요청된 PLC를 나타낸다.16 illustrates a PLC for which a write back event is requested.

도17은 라이트 백 이벤트가 요청된 엔터프라이즈를 나타낸다.17 illustrates an enterprise for which a write back event is requested.

도18은 장치 드라이버를 갖는 PC가 엔터프라이즈 통신 제어기를 대신하여 사용되는 대체 실시형태를 나타낸다.18 shows an alternative embodiment in which a PC with device drivers is used in place of an enterprise communication controller.

도19는 유저 레벨 애플리케이션을 구성하는 로직과 엔터프라이즈 통신 제어기의 로직 서버 서브시스템을 나타낸다.Figure 19 illustrates the logic of configuring a user level application and the logic server subsystem of the enterprise communication controller.

도20은 유저 레벨 뷰어 애플리케이션과 엔터프라이즈 통신 제어기의 피스플레이 서버 서브시스템을 나타낸다.Figure 20 illustrates a pieceplay server subsystem of a user level viewer application and an enterprise communications controller.

도21은 유저 레벨 익스프레션 콤포저 애플리케이션과 엔터프라이즈 통신 제어기의 익스프레션 서버 서브시스템을 나타낸다.Figure 21 illustrates an expression server subsystem of a user level expression composer application and an enterprise communication controller.

본 발명은 제조와 엔터프라이즈 레벨간의 통신 모델에 관한 것이다.The present invention relates to a communication model between manufacturing and enterprise level.

설비 제조에 있어서, 로우 레벨 자동화, 프로세스 제어, 및 모니터링 시스템에 의해 제어된 자동화된 프로세스를 찾아내는 것이 일반적이다. 로우 레벨 자동화 시스템은 예컨대, 프로그램가능한 논리 제어기에 의해 제어 또는 모니터링된 전용 로보틱 장치 또는 다른 자동화된 시스템을 포함할 수 있다. 다양한 감지 장치와 계측기는 포토 아이(photo eye) 바코드 리더, 및 온도 감지기 등의 모니터 프로세스에 사용될 수도 있다. 근래에 사용되는 과도하게 복잡한 제조 및 어셈블리 시스템을 운영하기 위해 많은 엔터프라이즈(enterprise)는 도1에 도시된 종래 기술의 예와 같은 다중구조를 사용한다. 종래의 다중구조는 엔터프라이즈 레벨 비지니스 플래닝 시스템(엔터프라이즈 리소스 플래닝, 또는 ERP)(102); 오퍼레이션 레벨(제조 실행 시스템, 또는 MES)(104); 미드 레벨 프로세스 최적화 시스템(106)[예컨대, 휴먼 머신 인터페이스(HMI), 감시 제어 데이터 수집 시스템(SCADA), 뷰어블 플랜트 플로어 스테이터스(viewable plant floor status), 업스트림 리포팅(upstream reporting)용 데이터 모음]; 및 감지기나 다른 계측기(110)를 포함하는 로우 레벨 프로세스 자동화 또는 제어 시스템(108)을 포함한다.In equipment manufacturing, it is common to find automated processes controlled by low level automation, process control, and monitoring systems. The low level automation system may include, for example, a dedicated robotic device or other automated system controlled or monitored by a programmable logic controller. Various sensing devices and instruments may be used in monitor processes such as photo eye barcode readers, and temperature sensors. In order to operate the overly complex manufacturing and assembly systems used in recent years, many enterprises use multiple structures, such as the example of the prior art shown in FIG. Conventional multi-structures include enterprise level business planning system (enterprise resource planning, or ERP) 102; Operation level (manufacturing execution system, or MES) 104; Mid-level process optimization system 106 (eg, human machine interface (HMI), surveillance control data collection system (SCADA), viewable plant floor status, data collection for upstream reporting); And a low level process automation or control system 108 that includes a detector or other instrument 110.

대부분의 소비자는 미드 레벨 제어 시스템(106)을 구현하는데 필요한 시스템의 수가 많으면 설치 및 유지가 어렵다고 느낄 수 있다. 미드 레벨 제어 시스템(106)은 종종, 매우 복잡한 예컨대, 계획수립을 위한 작은 제조 리소스 플래 닝(MRP) 시스템이나 너무 간단하고 기능이 제한된 예컨대, SCADA/HMI 데이터 스테이터스(data status)만이 된다. 또한, IT 서포트 그룹과 플랜트 플로어 서포트 그룹 사이에는 통상적으로 표준 컴퓨터 정보 기술(IT) 장비를 책임지는 디비젼(division)이 존재한다.Most consumers may find it difficult to install and maintain if the number of systems required to implement the mid level control system 106 is large. The mid level control system 106 is often only a very complex, for example, a small manufacturing resource planning (MRP) system for planning, but too simple and limited in functionality, for example, SCADA / HMI data status. In addition, there is a division typically responsible for standard computer information technology (IT) equipment between the IT support group and the plant floor support group.

종종, ERP 레벨(102)에서 예컨대, 감지기 판독 또는 생성된 유닛의 수와 같은 플랜트 플로어 상에서만 현재 이용가능한 정보에 직접 억세스하는 권리를 갖는 것이 바람직하다. 엔터프라이즈 레벨 시스템과 플랜트 플로어 장치 사이의 직접적인 연결을 달성함에 있어서 주된 걸림돌은 플랜트 플로어상에 사용되는 장치 내에 고유의 비표준 통신 프로토콜을 갖는다는 것이다. 엔터프라이즈 레벨(102)에서의 표준 통신 메카니즘[예컨대, 메시지 큐(message queues)]은 로우 레벨 제조 장치 레벨(108, 110)에서의 표준 통신 메카니즘[예컨대, 디바이스넷(DeviceNet) 및 다른 독점 프로토콜]과 차이가 있다. 또한, ERP 레벨(102)과 제어기 및 감지기(108과 110) 사이의 많은 층은 각각 이 다른 레벨 사이에서 직접 통신하기가 쉽다.Often, it is desirable to have the right to directly access information currently available only on the plant floor, such as, for example, the number of units read or generated by the detector at ERP level 102. A major stumbling block in achieving a direct connection between an enterprise level system and a plant floor device is that it has its own non-standard communication protocol in the devices used on the plant floor. Standard communication mechanisms (e.g., message queues) at the enterprise level 102 differ from standard communication mechanisms (e.g., DeviceNet and other proprietary protocols) at the low level manufacturing device levels 108, 110. There is a difference. In addition, many layers between the ERP level 102 and the controller and detectors 108 and 110 are each easy to communicate directly between these different levels.

따라서, 제조 플로어로부터 데이터를 직접 수집하고 제조 프로세스를 직접 제어할 수 있기 위해 로우 레벨 제어 및 감지 레벨(108 및 110)과 엔터프라이즈 레벨(102) 사이에 직접적으로 통신하는 수단을 갖는 것이 바람직하다.Thus, it is desirable to have a means of directly communicating between low level control and sensing levels 108 and 110 and enterprise level 102 in order to be able to collect data directly from the manufacturing floor and directly control the manufacturing process.

본 발명은 제조 프로세스를 직접 제어하고 수정하는 능력을 제공하는 것 뿐만 아니라 데이터를 캡쳐하고 플랜트 플로어 상에서 발생하는 개개의 이벤트(event)를 식별하는 수단을 제공한다. 식별된 개체(individual)는 통상적으로 조 직체의 엔터프라이즈 레벨(102)에 존재한다. 데이터의 수집을 허용하기 위해 이하의 능력을 갖추어야 한다. 우선, 엔터프라이즈 레벨(102)에서의 개체는 관심있는 데이터를 식별하는 능력을 갖추어야 한다. 이어서, 엔터프라이즈 레벨(102)에서의 개체는 데이터를 갱신 받기 원하는 사정을 식별할 수 있어야 한다. 마지막으로, 데이터는 데이터베이스나 엔터프라이즈 레벨 애플리케이션과 같은 엔터프라이즈 레벨(102)에서 플랜트 플로어로부터 특정 장소로 전송될 필요가 있다. 이러한 단계가 도2에 도시되어 있다. 박스(50)에 있어서, 유저는 로우 레벨로부터 엔터프라이즈 레벨로 전송될 데이터를 선택해야 한다. 박스(52)에 있어서, 유저는 언제 어떠한 조건에서든 전송될 데이터를 결정해야 한다. 마지막으로, 박스(54)에 있어서 유저는 데이터의 목적지를 특정한다.The present invention not only provides the ability to directly control and modify the manufacturing process but also provides a means of capturing data and identifying individual events occurring on the plant floor. The identified individual is typically at the enterprise level 102 of the organization. You must have the following capabilities to allow the collection of data: First, an entity at enterprise level 102 should have the ability to identify data of interest. The entity at enterprise level 102 should then be able to identify the circumstances in which it wishes to receive data updates. Finally, data needs to be transferred from the plant floor to a specific place at an enterprise level 102, such as a database or enterprise level application. This step is shown in FIG. In box 50, the user must select data to be sent from the low level to the enterprise level. In box 52, the user must determine the data to be transmitted at any time and in any condition. Finally, in box 54, the user specifies the destination of the data.

본 발명의 하이 레벨 뷰 시스템이 도 3에 도시되어 있다. 시스템의 요부는 바람직한 실시형태에 있어서, 제조 프로세스를 제어하고 감지기를 통해 데이터를 수집하는 플랜트 플로어상에 있는 PLC(204)와 동일한 백플레인(backplane)(202)으로 플러깅(pluging)된 기능적 마이크로 컴퓨터인 엔터프라이즈 통신 제어기(500)이다. 엔터프라이즈 통신 제어기(500)는 PLC가 삽입된 백플레인(202)을 통해 PLC와 통신하기 때문에 현재 모니터링 되고 있는 모든 제조자의 PLC의 본래의 프로토콜을 나타내야 한다. 엔터프라이즈 통신 제어기(500)는 예컨대, Windows CE, VX Works, QNX 또는 끼워진 Monta Vista Linux와 같은 실시간 오퍼레이팅 시스템을 실행할 것이고, PCL로부터 데이터를 판독하거나 PCL에 데이터를 기록할 수 있는 것뿐만 아니 라 PLC로부터 엔터프라이즈 레벨로 데이터를 선택 및 전송을 도모하는 설치된 소프트웨어 콤포넌트를 가질 것이다. 또한, 엔터프라이즈 통신 제어기(500)는 표준 이더넷 프로토콜을 통한 워크벤치 클라이언트(workbench client)와 엔터프라이즈 레벨(600)과 같은 조직체의 더 높은 레벨로 링크될 것이다. 워크벤치(810)는 인트라넷 내에 또는 임의의 네트워크를 원격으로 교차한 데스크탑 상의 클라이언트 로케이션에서 통상적으로 실행하고, 엔터프라이즈 통신 제어기(500)의 소프트웨어 콤포넌트를 설정하는데 사용되는 소프트웨어 콤포넌트이다. 워크벤치(810)는 유저가 관심있는 데이터, 엔터프라이즈 통신 제어기(500)로부터 엔터프라이즈 레벨(600)으로의 데이터 전송을 기동하는 이벤트, 및 데이터베이스 애플리케이션(602)와 같은 엔터프라이즈 레벨(600) 내의 데이터의 목적지를 식별하고 명명하게 한다. 엔터프라이즈 레벨(600)는 일반적으로 조직체의 운영을 위한 회사에 의해 보통 사용되는 데이터베이스와 비지니스 애플리케이션으로 이루어진다. 데이터의 특정 조각은 예컨대, 엔터프라이즈 통신 제어기(500)로부터 엔터프라이즈 레벨(600)에서 특정 데이터베이스(602)로 또는 다양한 네트워크 프로토콜을 통해 엔터프라이즈 레벨(600)에서 실행하는 애플리케이션(602)으로 직접 플로우잉(flowing)될 수 있다.The high level view system of the present invention is shown in FIG. The main part of the system is, in a preferred embodiment, a functional microcomputer plugged into the same backplane 202 as the PLC 204 on the plant floor that controls the manufacturing process and collects data through the detector. Enterprise communication controller 500. The enterprise communication controller 500 must represent the original protocols of all manufacturers' PLCs that are currently being monitored because the PLCs communicate with the PLCs via the inserted backplane 202. The enterprise communication controller 500 will run a real-time operating system such as, for example, Windows CE, VX Works, QNX, or embedded Monta Vista Linux, and not only can read data from or write data to the PCL, but also from the PLC. You will have installed software components that facilitate the selection and transfer of data at the enterprise level. In addition, enterprise communication controller 500 will link to a higher level of organization such as workbench client and enterprise level 600 via standard Ethernet protocols. Workbench 810 is a software component that typically runs within a intranet or at a client location on a desktop that remotely crosses any network and is used to configure a software component of the enterprise communications controller 500. The workbench 810 is the destination of data within the enterprise level 600, such as data that the user is interested in, events that initiate data transfer from the enterprise communication controller 500 to the enterprise level 600, and database applications 602. Have them identify and name them. Enterprise level 600 generally consists of databases and business applications commonly used by companies for the operation of an organization. Certain pieces of data flow, for example, directly from the enterprise communication controller 500 to a particular database 602 at the enterprise level 600 or to an application 602 running at the enterprise level 600 via various network protocols. Can be

본 발명의 상기한 장점 및 다른 특징은 참조도면에 도시된 바와 같이 본 발명의 바림직한 실시형태의 상세한 설명에 의해 명백해질 것이고, 동일, 기능적으로 유사한 및/또는 구조적으로 유사한 요소는 전체적으로 동일한 참조부호로 나타낸다.The above advantages and other features of the present invention will become apparent from the following detailed description of the preferred embodiments of the invention as shown in the accompanying drawings, in which like, functionally similar and / or structurally similar elements are referred to throughout the same reference numerals. Represented by

본 발명의 모델을 이하 상세히 설명한다. 특정 예시적인 실시형태를 논의함 에 있어서, 이것은 예시만을 위한 것으로 이해되어야 한다. 당업자는 다른 콤포넌트와 구조가 본 발명의 사상과 범위로부터 벗어나지 않고 사용될 수 있음을 인식할 것이다.The model of the present invention is described in detail below. In discussing particular example embodiments, it is to be understood that this is for illustration only. Those skilled in the art will recognize that other components and structures may be used without departing from the spirit and scope of the invention.

본 발명의 예시적인 실시형태는 이층 구조를 사용하여 엔터프라이즈 레벨(600)과 플랜트 플로어 사이의 통신을 수행한다. 이 구조는 도1에 도시된 바와 같은 형태의 전형적인 종래기술의 다중구조를 대신하거나 또는 그에 추가적으로 사용될 수 있다.An exemplary embodiment of the present invention uses a two-layer structure to perform communication between the enterprise level 600 and the plant floor. This structure may be used in place of or in addition to the typical prior art multi-structure of the type shown in FIG.

엔터프라이즈 통신 제어기(500)는 본 발명의 요부이며, 하나 이상의 기존의 PLC와 연결되고, 데이터베이스 및 애플리케이션과 같은 업스트림 엔터프라이즈 시스템(602)과 PLC 장치 사이의 연결을 형성한다. 예시적인 실시형태에 있어서, 본 발명은 예컨대, 엔터프라이즈 레벨 시스템(602)에 직접적으로 이용가능한 결함의 수, 제품 완성 수와 제품 재가공, 또는 진보적인 레벨과 같은 정보를 갖는 능력을 제공한다. 본 발명은 단단한 연결, 높은 집적도, 모듈, 콤포넌트 기반 메카니즘을 제공하여 상위 레벨 엔터프라이즈 시스템(602)으로의 인터페이싱을 위한 하드웨어 콤포넌트와 소프트웨어 모듈의 조합을 통해 제어 도메인으로부터 엔터프라이즈로 정보를 직접 제공한다.Enterprise communication controller 500 is an essential part of the present invention and connects to one or more existing PLCs and forms a connection between upstream enterprise system 602 and PLC devices such as databases and applications. In an exemplary embodiment, the present invention provides the ability to have information such as, for example, the number of defects, product completion and product rework, or progressive levels available directly to the enterprise level system 602. The present invention provides tight connectivity, high integration, modules, and component-based mechanisms to provide information directly from the control domain to the enterprise through a combination of hardware components and software modules for interfacing to the higher level enterprise system 602.

또한, 엔터프라이즈 통신 제어기(500)는 엔터프라이즈 레벨(600)로부터 정보를 취득하여 연결된 어느 하나의 PLC의 조건을 업데이팅할 수 있다. 이 "라이트-백" 특성은 엔터프라이즈 레벨(600)로부터의 입력에 의거하여 제품 활성화를 변화시키는데 사용될 수 있다.In addition, the enterprise communication controller 500 may obtain information from the enterprise level 600 and update the condition of any one connected PLC. This "light-back" characteristic can be used to change product activation based on input from enterprise level 600.

또한, 엔터프라이즈 통신 제어기(500)는 엔터프라이즈 레벨로부터 데이터를 검색하여, 생산에서의 사용을 위한 PLC 제어기 상에 위치시킬 수 있다. 이 정보는 엔터프라이즈 통신 제어기(500) 상의 상태에서의 변경에 의해 시작되고, 생산에서의 사용을 위한 레서피(recipe)를 수집하는데 사용될 수 있다.In addition, enterprise communication controller 500 may retrieve data from the enterprise level and locate it on a PLC controller for use in production. This information is initiated by a change in state on the enterprise communication controller 500 and can be used to collect recipes for use in production.

본 발명의 전형적인 실시예에서는, 유저는 도 2에서 볼 수 있는 바와 같이 공장층에서 엔터프라이즈 레벨(600)로 데이터를 이동시키는 시스템을 구성할 수 있다. 블록(52)에서 유저는 수집되는 데이터를 선택하고, 블록(52)에서 전송되는 데이터의 결과를 한정하고, 데이터가 블록(54)에서 전송되어야 할 위치를 한정한다. 도 2의 블록(50, 52 및 54)에서 설명되는 기능은 도 4에 도시된 바와 같은 프로젝트의 개념을 이용하여 도 3에 도시된 워크벤치 구성 요소에 제공된다.In a typical embodiment of the present invention, the user may configure a system to move data from the factory floor to the enterprise level 600 as shown in FIG. In block 52 the user selects the data to be collected, limits the results of the data transmitted in block 52, and defines where the data should be transmitted in block 54. The functionality described in blocks 50, 52, and 54 of FIG. 2 is provided to the workbench component shown in FIG. 3 using the concept of a project as shown in FIG.

프로젝트(620)는 도 3에 도시된 바와 같이 태그(tag)(624)로 이름지어진 어떤 데이터의 일부를 엔터프라이즈 레벨(600)로 전송되는 것을 야기시키는 결과를 한정하는 트리거(trigger)의 그룹이다. 트리거(622)는 공장층에서 일어나는 결과의 미리 결정된 응답으로 보여질 수 있다. 결과가 발생할 때, 응답은 데이터의 열을 데이터베이스 테이블에 기록하거나 업데이트하는 것, 메시지 큐에 메시지(626)를 집어넣는 것, 또는 e-메일을 전송하는 것 등의 기능을 초기화하도록 구성된다. 결과는 수행하는 트리거가 미리 결정된 상태(데이터 트리거)나 PLC로부터의 자발적인 메시지의 수신(논리 트리거)을 야기한다.Project 620 is a group of triggers that define the results that cause some of the data named tag 624 to be sent to enterprise level 600 as shown in FIG. 3. Trigger 622 may be viewed as a predetermined response of the result occurring at the factory floor. When the result occurs, the response is configured to initialize a function, such as writing or updating a row of data to a database table, putting a message 626 into the message queue, or sending an email. The result is that the trigger to perform causes a predetermined state (data trigger) or the receipt of a spontaneous message from the PLC (logical trigger).

태그(624)는 PLC 내에서의 어떤 데이터 포인트를 보다 친밀한 방법으로 예컨대, "PLC(2)상의 데이터 포인트(12)" 대신에 "제조 카운트"로 식별하는 방법일 뿐 이다.The tag 624 is merely a method of identifying any data point in the PLC in a more intimate manner, eg, "manufacture count" instead of "data point 12 on PLC 2".

데이터 트리거는 PLC로부터 판독되는 어떤 데이터 포인트를 포함하는 상태의 상태의 결과로 수행되는 트리거이다. 예컨대, 데이터 트리거는 설정된 주파수에서, 예정된 시간에서, 또는 예컨대, 어떤 데이터 포인트가 값을 변화시키거나 어떤 값에 크거나 작거나 동등하다고 결정되는 경우, 어떤 데이터 포인트에서의 변화의 결과로서 주기적으로 수행할 것이다.A data trigger is a trigger that is performed as a result of a state of state that includes any data point read from the PLC. For example, a data trigger is performed periodically at a set frequency, at a predetermined time, or as a result of a change in a data point, for example, if it is determined that a data point changes or is greater, smaller or equivalent to a value something to do.

논리 트리거는 PLC의 래더 로직으로부터 백플레인(backplane)(202)을 통하여 자발적인 메시지의 수신의 결과로서 발생한다. 예컨대, PLC 래더 로직이 PLC 이외에 통신되거나 취급될 필요를 결정하는 상태가 발생한다. 예컨대, 제조 라인상의 온도 센서는 어떤 레벨을 초과하는 온도를 감지하여, 기능 이외에 요구될 수 있는 위험한 상태를 지시낸다.Logic triggers occur as a result of spontaneous receipt of messages through the backplane 202 from the ladder logic of the PLC. For example, a state occurs that determines the need for PLC ladder logic to be communicated or handled in addition to the PLC. For example, a temperature sensor on a manufacturing line senses a temperature above a certain level, indicating a dangerous condition that may be required outside of function.

트리거의 수행하에서의 상태에 더하여, 트리거는 몇몇 다른 부분의 정보를 또한 제공하고, 이들 중에서는 (1) 다중 데이터 포인트 값, 메시지 및 마이크로 값으로 구성될 수 있고, 상태가 발생할 때 발생되는 트리거 페이로드(trigger payload)로 알려진 통지의 내용; (2) ASCII, XML, 또는 데이터베이스 삽입/업데이트 등의 메시지의 전송에서의 포맷; (3) 데이터가 전파되는 방법, 예컨대, DB2, Oracle, Microsoft SQL, IBM Websphere MQ, 메시지 큐, JMS, TCP, UDP 또는 e-메일이 있다. In addition to the state under the performance of the trigger, the trigger also provides some other pieces of information, among which (1) it may consist of multiple data point values, messages and micro values, the trigger payload being generated when the state occurs. the content of a notification known as a trigger payload; (2) a format in the transmission of messages, such as ASCII, XML, or database insert / update; (3) How data is propagated, such as DB2, Oracle, Microsoft SQL, IBM Websphere MQ, Message Queue, JMS, TCP, UDP or Email.

도 5는 본 발명의 시스템의 아키텍쳐를 나타내고 엔터프라이즈 통신 제어기(500)의 주요 구성 요소, 워크벤치(810)를 갖는 클라이언트(800) 및 엔터프라이 즈 컴퓨터(600)로 구성된다.5 shows the architecture of the system of the present invention and consists of the main components of the enterprise communication controller 500, the client 800 with the workbench 810, and the enterprise computer 600.

엔터프라이즈 통신 제어기(500)는 바람직하게는 PLC(204)가 플러그되는 동일한 백플레인(202)으로 플러그하는 구성 요소이다. 따라서, 엔터프라이즈 통신 제어기(500)는 백플레인(202)을 통하여 PLC(204)와 통신하는 능력을 갖는다. 엔터프라이즈 통신 제어기(500)는 운영 체제를 갖는 표준의, 다중 목적 컴퓨터 및 거기에 설치되는 본 발명의 각종 소프트웨어 구성 요소로 구성된다. 바람직하게는, 엔터프라이즈 통신 제어기(500)는 VX Works, QNX, MontaVista Linux 또는 윈도우 CE 운영 체제 등의 실시간 운영 체제 버젼을 작동할 것이다. 엔터프라이즈 통신 제어기(500) 백플레인(202)으로 플러그할 수 있는 특수화된 접속기로 또한 장착될 것이다. 상기 접속기는, 필연적으로, 엔터프라이즈 통신 제어기(500)가 인터페이스되고 있는 PLC(204)의 타입에 따라 구성될 것이다. 물론, 다른 제조자의 PLC는 다르게 구성된 백플레인(202)을 가질 것이다. 게다가, 도 5에 도시된 바와 같이, 애플리케이션 프로그래밍 인터페이스를 본 발명의 소프트웨어 구성 요소에 제공하여 백플레인(202)을 통하여 PLC(204)와 직접 통신하게 하고, 특히, PLC(204)로부터 특정 데이터 포인트를 판독하고 PLC(204) 내에서 특정 데이터 포인트로 신규 값을 기록하는 능력을 갖는 엔터프라이즈 통신 제어기(500)를 제공하는 드라이버(522)가 있다. 물리적 접속기를 갖도록, 백플레인 API(522)은 PLC의 제조자에 따라 특별 주문될 것이다.The enterprise communication controller 500 is preferably a component that plugs into the same backplane 202 to which the PLC 204 is plugged. Thus, the enterprise communication controller 500 has the ability to communicate with the PLC 204 via the backplane 202. Enterprise communication controller 500 is comprised of a standard, multi-purpose computer having an operating system and various software components of the present invention installed therein. Preferably, enterprise communication controller 500 will operate a real-time operating system version, such as VX Works, QNX, MontaVista Linux or Windows CE operating system. It will also be equipped with a specialized connector that can plug into the enterprise communications controller 500 backplane 202. The connector will necessarily be configured according to the type of PLC 204 to which the enterprise communication controller 500 is being interfaced. Of course, other manufacturers' PLCs will have differently configured backplanes 202. In addition, as shown in FIG. 5, an application programming interface is provided to the software component of the present invention to communicate directly with the PLC 204 via the backplane 202, and in particular, to retrieve a particular data point from the PLC There is a driver 522 that provides an enterprise communication controller 500 that has the ability to read and write new values to specific data points within the PLC 204. To have a physical connector, the backplane API 522 may be special ordered according to the manufacturer of the PLC.

클라이언트(800)는 조직 내에서 또는 인터넷 등의 어떤 네트워크를 거쳐서 멀리서 어떤 레벨에서 작동하는 컴퓨터이다. 상기 컴퓨터는 시스템의 유저가 프로 젝트(620)를 한정하고, 태그(624)로 데이터 포인트를 이름짓고, 프로젝트(620)에 트리거(622)를 부가하도록 하는 유저 인터페이스이고 트리거(622)가 수행될 상태하인 소프트웨어 워크벤치를 작동한다. 상기 정보는 후에 설명될 프로세스에서 엔터프라이즈 통신 제어기(500)와 통신한다.Client 800 is a computer that operates at some level remotely within an organization or over some network, such as the Internet. The computer is a user interface that allows a user of the system to define a project 620, name a data point with a tag 624, and add a trigger 622 to the project 620 and the trigger 622 to be performed. Activate the stateful software workbench. The information is in communication with the enterprise communication controller 500 in the process described later.

엔터프라이즈 통신 제어기(500)는 스케너부(520)를 포함하는 특정 소프트웨어 구성 요소 및 각종 기능상의 구성 요소를 갖는 트랜잭션(transaction) 서버 구성 요소(550)가 장착된다. 본 발명의 기능상의 구성 요소가 설명된 바와 같이 분할되어 있지만, 소프트웨어 분야에서의 당업자는 설명된 기능의 어떤 제공도 다르게 보이지만 설명된 특정 실시예와 같은 동일한 기능성을 제공하는 아키텍쳐로 귀착되고 상기 변화가 본 발명의 범위에 해석된다는 것는 주목해야 한다.The enterprise communication controller 500 is equipped with a transaction server component 550 having specific software components including the scanner unit 520 and various functional components. Although the functional components of the present invention have been divided as described, those skilled in the software art will be convinced that any provision of the described functions will appear different but result in an architecture that provides the same functionality as the specific embodiments described and that such changes It should be noted that it is interpreted in the scope of the present invention.

스캐너 구성 요소(520)은 일반적으로 워크벤치(810)와 통신하고, 태그(624) 및 트리거(622)를 트랙킹하고, 트리거 결과가 발생할 때 결정하고, PLC(204)와 통신하는 것에 책임이 있다.The scanner component 520 is generally responsible for communicating with the workbench 810, tracking the tags 624 and triggers 622, determining when trigger results occur, and communicating with the PLC 204. .

태그 스캐너(524)는 PLC(204)상의 각종 데이터 포인트의 이름 또는 태그를 식별하고, PLC(204)로부터 특정 데이터를 검색하거나 백플레인 API(522)를 통하여 PLC(204)에 특정 데이터를 기록할 수 있는 구성 요소이다. The tag scanner 524 may identify the names or tags of various data points on the PLC 204, retrieve specific data from the PLC 204, or write the specific data to the PLC 204 via the backplane API 522. Component.

트리거 스캐너(526)는 각종 트리거를 수행할 시기일 때를 결정하는 구성 요소이다. 예컨대, 트리거 스캐너(526)는 특정 태그(624)가 미리 결정된 값을 초과하는 등의 어떤 논리 상태를 만족하는 지의 여부를 결정하고, 그렇다면, 예컨대, 엔터프라이즈 서버(600) 내에서 메시지를 데이터베이스(602)에의 전송인 트리거(622) 로의 응답에 취해지는 적합한 기능을 결정하는 것을 태그 스캐너(524)에 문의할 수 있다. 트리거 스캐너(526)는 어떤 태그(624)의 값에서의 변화를 주기적으로 체킹하거나 서브스크라이빙(subscribing)하고 적합한 기능을 취하는데 또한 책임이 있다.The trigger scanner 526 is a component that determines when to perform various triggers. For example, the trigger scanner 526 determines whether a certain tag 624 satisfies some logical state, such as exceeding a predetermined value, and if so, for example, to send a message to the database 602 within the enterprise server 600. The tag scanner 524 can be queried to determine the appropriate function to take in response to the trigger 622, which is the transmission to the < Trigger scanner 526 is also responsible for periodically checking or subscribing to changes in the value of any tag 624 and taking appropriate functions.

스캐너(520) 내에서의 구성 요소 프럭시(component proxy)(528)는 워크벤치(810)와 인터페이스하고, 메시지를 수신하고, 상기 메시지를 어디로 발송할지를 결정하는 구성 요소이다. 예컨대, 생성, 허가, 정지 및 트리거(622)의 a 제거를 위한 명령 등의 워크벤치(810)로부터 오는 몇몇 메시지는 프럭시(528)를 통하여 직접 트리거 스캐너(526)로 통과되는 것을 필요로 할 것이다. 게다가 워크벤치(810)로부터 프럭시 서버(528)를 통해 통과하는 몇몇 명령은 트랜잭션 구성 요소 내의 디스패쳐(dispatcher)로 전송되는 것을 필요로 할 것이다. 상기 명령은 후술될 것이다.Component proxy 528 in scanner 520 is a component that interfaces with workbench 810, receives messages, and determines where to send the messages. Some messages from the workbench 810, such as instructions for creating, granting, stopping, and removing a of the trigger 622, may need to be passed directly through the proxy 528 to the trigger scanner 526. will be. In addition, some commands passing from the workbench 810 through the proxy server 528 will need to be sent to the dispatcher within the transaction component. The command will be described later.

스캐너(520) 내의 타임 동기화 매니저(534)는 PLC(204) 내부에 있는 클럭을 유지하는 옵션을 포함하는 시스템 내의 모든 클럭간에 동기화를 유지할 책임이 있다. 타임 동기화 매니저는 PLC(204) 내에서 및 엔터프라이즈 통신 제어기(500) 내에서 외부 마스터 클럭의 지시 내용을 통하여 또는 클럭 내부를 통하여 엔터프라이즈 통신 제어기(500)로 시간을 동기화할 것이다. 바람직한 시간 지시 내용은 워크벤치(810)의 구성부에서 명확해질 수 있다. 타임 동기화 매니저(534)의 목적은 공장층으로부터 거기에 포함된 시간 지정을 가질 수 있는 PLC(204)를 통하여 오는 어떤 메시지로 엔터프라이즈 통신 제어기(500) 내에서 소프트웨어의 모든 부분을 동기화하는 것이다.The time synchronization manager 534 in the scanner 520 is responsible for maintaining synchronization between all clocks in the system, including the option to keep a clock inside the PLC 204. The time synchronization manager will synchronize time to the enterprise communication controller 500 within the PLC 204 and within the enterprise communication controller 500 via the instructions of the external master clock or through the clock. Preferred time indications may be apparent in the components of the workbench 810. The purpose of the time synchronization manager 534 is to synchronize all parts of the software within the enterprise communication controller 500 with some messages coming from the factory floor through the PLC 204, which may have a time designation contained therein.

로그 매니저(532)는 제어기(500) 내에서 발생하고 상기 정보를 로그 상태로 유지하는 모든 기능을 로그하는 구성 요소이다. 바람직한 실시예에서는 로그 매니저(532)는 2개의 독립된 로그에서 정보를 저장하고, 2개의 로그는 첫번째는 유저 기능을 위한 것이고, 두번째는 로그 매니저(532)의 기능 예외를 위한 것으로 주기적인 간격 또는 중대한 결과에서 e-메일을 통하여 보고하도록 구성될 수도 있다. 에컨대, 예외가 발생하면[예컨대, 엔터프라이즈 통신 제어기(500)는 엔터프라이즈 서버(600)와의 통신을 시도하고 그렇게 할 수 없음], 로그 매니저(532)에 의해 발생되는 예외 로그에서 엔트리(entry)가 있을 것이다. 게다가, 워크벤치(810)를 통한 프로젝트 및 그것의 관련된 트리거의 생성, 및 프로젝트의 개시 및 정지는 로그 매니저(532)를 통한 로그 결과에 또한 유지된다. 로그 매니저(532)는 완료된 어디트 트레일(audit trail)을 생성하고 유지할 수 있다.The log manager 532 is a component that logs all the functions that occur within the controller 500 and keep the information in a logged state. In a preferred embodiment, the log manager 532 stores information in two separate logs, two logs first for user functions and second for function exceptions of the log manager 532 at periodic intervals or critical It may also be configured to report via email in the results. For example, if an exception occurs (eg, enterprise communication controller 500 attempts to communicate with enterprise server 600 and cannot do so), an entry in the exception log generated by log manager 532 is removed. There will be. In addition, the creation of the project through its workbench 810 and its associated triggers, and the start and stop of the project are also maintained in the log results through the log manager 532. The log manager 532 may generate and maintain an completed trail.

유저 매니저(530)는 유저의 생성과 그들의 인증에 책임이 있다. 워크벤치(810)로 로그되는 각종 유저는 그들의 특권 레벨에 따른 다양한 업무를 하도록 허용된다. 예컨대, 특정 유저는 트리거(622)를 생성하도록 허용될 수 없으나, 미리 한정된 프로젝트(620)를 작동하고 그 결과를 볼 수 없을 수도 있다. 유저 매니저는 다양한 특권의 레벨을 인증할 수 있다. 유저 관리의 2개의 모델이 있다. 하나에서는 유저 특권 테이블이 엔터프라이즈 통신 제어기(500)상에 유지된다. 대안의 모델에서는, 유저 매니저(530)는 중앙 유저 특권 리스트 또는 LDAP 또는 Kerberos 등의 중앙 인증 시스템 등의 엔터프라이즈 레벨 유저 관리 시스템으로 통합될 수 있어, 엔터프라이즈 내에서 유저 관리를 단일 위치로 허용할 것이다. 특권의 레벨은 중앙화된 엔터프라이즈 레벨 시스템에 저장되고 국부 유저 매니저(530)에 의해 이용될 것이다.The user manager 530 is responsible for creating users and authenticating them. Various users logged into workbench 810 are allowed to do various tasks according to their privilege level. For example, a particular user may not be allowed to create a trigger 622, but may not be able to operate a predefined project 620 and view the results. The user manager can authenticate various levels of privilege. There are two models of user management. In one, a user privilege table is maintained on the enterprise communication controller 500. In an alternative model, user manager 530 may be integrated into a central user privilege list or an enterprise level user management system, such as a central authentication system such as LDAP or Kerberos, to allow user management in a single location within the enterprise. The level of privilege will be stored in a centralized enterprise level system and used by the local user manager 530.

본 발명의 지금의 실시예에서는, 도 5의 스캐너(520) 내의 모든 구성 요소는 엔터프라이즈 통신 제어기(500)에서의 단일 프로세스에서 작동한다. 또한, 트랜잭션 구성 요소(550)는 독립된 프로세스이고 트랜잭션 구성 요소(550) 내의 모든 구성 요소가 스캐너 프로세스(520)로부터 독립된 단일 프로세스에서 작동할 수 있다. 스캐너(520) 및 트랜잭션 구성 요소(550)는 프로세스간 통신을 위한 운영 체제에 의해 제공되는 표준 메카니즘을 통하여 서로 통신할 수 있다. 그러나, 일부가 독립된 프로세스에서 작동할 수 있는 대안의 아키텍쳐가 도 13에 도시된 바와 같이 수용가능하다In this embodiment of the present invention, all components within scanner 520 of FIG. 5 operate in a single process in enterprise communication controller 500. In addition, transaction component 550 is an independent process and all components within transaction component 550 can operate in a single process independent of scanner process 520. Scanner 520 and transaction component 550 may communicate with each other via standard mechanisms provided by an operating system for interprocess communication. However, alternative architectures in which some may operate in separate processes are acceptable as shown in FIG. 13.

트랜잭션 구성 요소(550)는 일반적으로 엔터프라이즈 통신 제어기(500)에 국부적인 비휘발성 기억 장치에 다양한 정보를 유지하고 엔터프라이즈 서버(600)로 및 로부터 메시지를 전송하고 수신하는 것에 책임이 있다.Transaction component 550 is generally responsible for maintaining various information in non-volatile storage local to enterprise communication controller 500 and for sending and receiving messages to and from enterprise server 600.

트랜잭션(550) 구성 요소 내의 디스패쳐(554)는 엔터프라이즈 레벨(600)에서의 프로세스로부터, 워크벤치(810)로부터 또는 스캐너 프럭시(528)로부터 메시지를 수신하고 트랜잭션 구성 요소(550) 내에서 이들 메시지가 어디에서 전송되는 것을 필요로 하는가를 결정한다. 이점에서 스캐너(520) 내에서의 스캐너 프럭시(528)와 매우 유사하다. 예컨대, 스캐너(520) 내에서의 트리거 스캐너(526)가 메시지가 데이터베이스에 기록될 필요가 있다고 결정하면, 메시지는 스캐너 프럭시(528)를 통하여 디스패쳐(554)에 전송될 것이고, 디스패쳐(554)는 데이터베이스 인터페이스(552)로 요구 사항을 전송할 것이고, 이것은 결국 엔터프라이즈 서버상에 데이터 베이스를 업데이트하고 그 작동의 성공 또는 실패를 디스패쳐를 통하여 응답할 것이다. 디스패쳐(554)는 (1) 메시지가 어디로 전송될 것인가와 (2) 메시지가 어떻게 전송되는가에 따라 트랜색션 구성 요소(550) 내에서 다양한 다른 구성 요소에 메시지를 디스패치할 것이다. 예컨대, 스캐너(520) 내에서 발생되는 메시지가 엔터프라이즈 서버(600)상의 MS SQL 데이터베이스에 전송되면, 디스패쳐(554)는 상기 업무를 행할 메시지를 어디에 전송할지를 결정할 수 있다.The dispatcher 554 in the transaction 550 component receives messages from processes at the enterprise level 600, from the workbench 810 or from the scanner proxy 528 and in the transaction component 550. Determine where the message needs to be sent. In this respect it is very similar to scanner proxy 528 within scanner 520. For example, if the trigger scanner 526 in the scanner 520 determines that a message needs to be written to the database, the message will be sent to the dispatcher 554 via the scanner proxy 528 and the dispatcher ( 554 will send the requirements to the database interface 552, which will eventually update the database on the enterprise server and respond via a dispatcher to the success or failure of its operation. Dispatcher 554 will dispatch the message to various other components within transaction component 550 depending on (1) where the message is sent and (2) how the message is sent. For example, if a message generated within scanner 520 is sent to an MS SQL database on enterprise server 600, dispatcher 554 may determine where to send the message to perform the task.

트랜잭션 구성 요소(550) 내의 지속 매니저(556)는 모든 한정된 프로젝트, 모든 트리거, 모든 운반 요소 및 저장될 필요가 있어 시스템이 재시작되는 것을 필요로 해야 할 그 밖의 다른 것들을 포함하는 시스템을 실행하는 것이 필요로 되는 모든 정보를 유지할 책임을 가진다. 상기 정보는 내부 디스크 또는 제어기(500) 내의 다른 비휘발 기억 장치에서의 파일(504)에 저장되고, 제어기(500)가 전력을 손실하고 재저장될 필요가 있는 경우에 주로 이용된다. 제어기(500)상의 모든 소프트웨어 구성 요소의 마지막으로 알려진 현재 상태가 파일(504)로부터 판독되어, 제어기(500)가 전력이 저장되는 때에 지속하는 것을 허용한다.Persistence manager 556 within transaction component 550 needs to run a system including all defined projects, all triggers, all transport elements, and anything else that needs to be saved so that the system needs to be restarted. Responsible for maintaining all information that becomes The information is stored in a file 504 in an internal disk or other nonvolatile memory device in the controller 500, and is primarily used when the controller 500 needs to lose power and resave. The last known current state of all software components on the controller 500 is read from the file 504, allowing the controller 500 to persist when power is stored.

데이터베이스 인터페이스(552)는 엔터프라이즈 통신 제어기(500)로부터 엔터프라이즈 레벨(600)로 데이터를 전송하는 트랜잭션 전송 메카니즘의 일부이다. 데이터베이스 인터페이스(552)는 다수의 데이터베이스 통신 프로토콜 중 어느 하나를 통하여 PLC로부터 엔터프라이즈 레벨(600)상의 데이터베이스로 판독되는 정보를 저장할 책임을 가진다. 데이터베이스는 DB2, Oracle, 또는 MS/SQL 데이터베이스 등의 데이터베이스의 어떤 형태일 수 있다. 데이터베이스 인터페이스(552)는 단일 구성 요소일 수 있고, 다중 구성 요소일 수 있어, 각각은 데이터베이스의 특정 타입에 책임을 가진다.Database interface 552 is part of a transaction transfer mechanism for transferring data from enterprise communication controller 500 to enterprise level 600. The database interface 552 is responsible for storing information that is read from the PLC into the database on the enterprise level 600 via any of a number of database communication protocols. The database can be any form of database, such as DB2, Oracle, or MS / SQL database. Database interface 552 may be a single component or may be multiple components, each of which is responsible for a particular type of database.

메시지 큐잉 인터페이스(812), SMTP 인터페이스(813) 및 TCP 인터페이스(814)는 엔터프라이즈 통신 제어기(500)로부터 엔터프라이즈 레벨(600)로 데이터 및 메시지를 전송하는 것에 책임을 가지는 트랜잭션 구성 요소(550)의 일부이다. 이들 인터페이스는 메시지 큐로부터 정보의 수신, SMTP를 통한 특정 어드레스로 전송되는 e-메일 내용의 분석, 또는 TCP/IP 소켓으로부터의 데이터의 판독 등에 의한 다양한 방법을 통해 데이터를 수용할 수 있는 엔터프라이즈 레벨(600)에서 애플리케이션으로 데이터를 이동시키는데 이용될 수 있다. 메시지 큐잉은 Websphere Message Queues, Java Message Queues, JBOSS JMS message queues, 또는 Weblogic JMS message queues 등의 각종 툴을 통해 제공될 수 있다.Message queuing interface 812, SMTP interface 813, and TCP interface 814 are part of transaction component 550 that is responsible for transferring data and messages from enterprise communication controller 500 to enterprise level 600. to be. These interfaces provide an enterprise level that can accommodate data through a variety of methods, such as receiving information from the message queue, analyzing the contents of emails sent to a specific address via SMTP, or reading data from a TCP / IP socket. 600 may be used to move data into the application. Message queuing can be provided through tools such as Websphere Message Queues, Java Message Queues, JBOSS JMS message queues, or Weblogic JMS message queues.

저장 및 발송 구성 요소(558)는 통신이 엔터프라이즈 통신 제어기(500)와 엔터프라이즈 레벨(600) 사이에서 이용할 수 없는 경우에 엔터프라이즈 레벨(600)에서 애플리케이션 또는 데이터베이스(602)에 의도되지 않은 메시지를 저장할 구성 요소이다. 메시지가 엔터프라이즈 통신 제어기(500) 내에서의 로컬 하드 디스크 또는 다른 비휘발 기억 장치상에 저장 및 발송 데이터베이스(506)에 저장된다. 저장 및 발송 구성 요소(558)는 통신이 복구될 때 엔터프라이즈 레벨(600)로 저장 및 발송 데이터베이스(506) 내에서 저장된 어떤 메시지를 발송할 것이다. 이들 메시지는 그들이 처음에 수신된 경로에서 전송될 것이다.The store and dispatch component 558 is configured to store unintended messages in the application or database 602 at the enterprise level 600 if communication is not available between the enterprise communications controller 500 and the enterprise level 600. Element. The message is stored in a storage and dispatch database 506 on a local hard disk or other nonvolatile storage within the enterprise communication controller 500. The store and send component 558 will send any stored message within the store and send database 506 to the enterprise level 600 when communication is restored. These messages will be sent in the path from which they were originally received.

도 6은 프로젝트와 트리거가 워크벤치(810)를 이용하는 엔터프라이즈 통신 제어기(500)에 추가되는 프로세스를 나타낸다. 유저는 유저가 프로젝트를 생성하기를 원한다는 것을 진술하는 프럭시(528)로 메시지(1)를 전송한다. 워크벤치(810)로부터 화살표(1)를 통하여 전송되는 메시지는 프로젝트의 생성, 프로젝트로 트리거의 추가, 태그로 데이터 포인트의 명명 등일 수 있다. 스캐너 프럭시(528)는 상기 메시지를 디스패쳐(554)로 화살표(2)를 통하여 발송한다. 디스패쳐(554)는 이것이 지속 매니저를 통하여 파일(502) 내에 저장되는 것을 필요로 하는 결과를 결정하고, 따라서, 메시지(3)는 교대로 정보를 화살표(4)를 통하여 파일(504)에 저장하고, 그 작동의 성공 또는 실패를 화살표(5)를 통하여 디스패쳐(554)에 복귀시키는 지속 매니저로 전송된다. 디스패쳐(554)가 한번 지속 매니저(556)로부터 화살표(5)를 통하여 상태를 수신하면, 그 정보를 화살표(6)를 통하여 스캐너 프럭시(528)로 발송한다. 이 시점에서, 정보는 파일(504)에 영구적으로 저장된다. 스캐너 프럭시(528)는 프로젝트로 트리거 또는 태그를 추가할 것들을 각각 구별하기 위해 그 후 메시지를 화살표(7 및 8)를 통하여 태그 스캐너(524) 및 트리거 스캐너(528)로 전송한다.6 illustrates a process in which projects and triggers are added to enterprise communication controller 500 using workbench 810. The user sends a message 1 to the proxy 528 stating that the user wants to create a project. The message transmitted from the workbench 810 via the arrow 1 may be a creation of a project, adding a trigger to the project, naming a data point with a tag, and the like. Scanner proxy 528 sends the message to dispatcher 554 via arrow 2. The dispatcher 554 determines the result that this requires to be stored in the file 502 via the persistence manager, and thus the message 3 alternately stores the information in the file 504 via the arrow 4. And the success or failure of the operation is sent to the persistence manager, which returns to the dispatcher 554 via the arrow 5. Once the dispatcher 554 receives the status from the persistence manager 556 via arrow 5, it sends the information to scanner proxy 528 via arrow 6. At this point, the information is stored permanently in file 504. The scanner proxy 528 then sends a message to the tag scanner 524 and the trigger scanner 528 via arrows 7 and 8 to distinguish between the ones to add a trigger or tag to the project, respectively.

데이터 트리거 및 논리 트리거가 각각 도 7 및 8에 도시되어 있다. 도 7에서의 데이터 트리거를 설명하기 위해, 우리는 프로젝트(620)가 이미 생성되어졌고 트리거(622)가 한정되어졌다고 가정할 것이다. 데이터 트리거를 설명하기 위하여, 우리는 PLC상의 특정 데이터 포인트가 변화되어졌을 때 메시지를 엔터프라이즈 서버에 트리거 하기를 원하는 것으로 가정한다. 예컨대, 생산 카운트를 나타내는 데이터 포인트가 하나의 PLC에서 증가될 때, 엔터프라이즈 레벨(600)에서의 유저는 통 지되는 것을 원한다. 상기 경우에서, 태그 스캐너(524)는, 예컨대, 매초에 한번 소정의 비율에서 PLC(204)에서의 생산 카운트를 나타내는 특정 데이터 포인트를 폴링(polling)할 것이다. 따라서, 메시지가 태그 스캐너(524)로부터 백플레인 API(522)으로 매초마다 전송되어 데이터를 복구하고, 데이터는 화살표(1)를 통하여 트리거 스캐너(526)로 전파된다. 트리거 스캐너(526)는 데이터의 값을 구하여 그 값이 데이터의 현재 판독과 데이터의 이전 판독 사이에 변화하였는지를 알아내고, 그렇다면, 트리거 스캐너(526)는 데이터를 취하고, 메시지를 패키지하여, 화살표(2)를 통하여 디스패쳐(554)로 전송한다. 트리거 스캐너(526)로부터 디스패쳐(554)로 전송되는 메시지는 전송에 관한 정보, 즉 엔터프라이즈 레벨(600) 내에서 어디로 데이터가 전송될 것이고, 어떻게 데이터가 전송되는지를 포함한다. 디스패쳐(554)는 메시지가 적당히 처리되도록 어디로 발송되는 것을 필요로 하는지를 결정한다. 예컨대, 메시지가 메시지 큐를 통하여 전송된다면, 디스패쳐(554)는 엔터프라이즈 레벨(600) 내에서 화살표(3)를 통하여 메시지 큐 핸들러(812)로 메시지를 전송할 것이다. 엔터프라이즈 레벨(600) 내에서의 메시지 큐 핸들러(811)는 그 후 메시지가 수신되어졌다고 하면서 트랜잭션 구성 요소(550) 내에서 화살표(5)를 통하여 메시지 큐 메니저(812)로 메시지를 역전송한다. 상기 정보는 화살표(6)를 통하여 디스패쳐(554)로 전송되고, 상태 메시지가 화살표(7)를 통하여 스캐너 프럭시(528)로 전송된다. 화살표(5)를 통하여 전송된 승인이 수신되지 않는다면, 디스패쳐(554)는 이후의 엔터프라이즈 서버(600)로의 송신을 위해 저장 및 발송 구성 요소(558)를 통하여 메시지가 결국 저장 및 발송 데이터베이스(506)에 저장되는 것 을 야기할 것이라는 것을 주목해야 한다. 게다가, 스캐너 프럭시(528)를 향하는 화살표(7)는 로그 매니저(532)를 통하여 로그 메시지가 기록되는 것을 야기할 수 있다.Data triggers and logic triggers are shown in FIGS. 7 and 8, respectively. To illustrate the data trigger in FIG. 7, we will assume that project 620 has already been created and trigger 622 has been defined. To illustrate data triggers, we assume that we want to trigger a message to the enterprise server when a particular data point on the PLC has changed. For example, when a data point representing a production count is incremented in one PLC, the user at enterprise level 600 wants to be notified. In this case, the tag scanner 524 will poll a particular data point representing the production count at the PLC 204 at a predetermined rate, for example once every second. Thus, a message is sent from the tag scanner 524 to the backplane API 522 every second to recover the data, and the data is propagated to the trigger scanner 526 via the arrow 1. The trigger scanner 526 obtains the value of the data and finds out whether the value has changed between the current reading of the data and the previous reading of the data, and if so, the trigger scanner 526 takes the data, packages the message, and the arrow (2). ) To the dispatcher 554. The message sent from the trigger scanner 526 to the dispatcher 554 includes information about the transmission, ie where data will be sent within the enterprise level 600 and how the data will be sent. Dispatcher 554 determines where the message needs to be sent for proper handling. For example, if a message is sent through the message queue, dispatcher 554 will send the message to message queue handler 812 via arrow 3 within enterprise level 600. Message queue handler 811 within enterprise level 600 then forwards the message to message queue manager 812 via arrow 5 within transaction component 550 saying that the message has been received. The information is sent to the dispatcher 554 via arrow 6 and a status message is sent to scanner proxy 528 via arrow 7. If an acknowledgment sent via arrow 5 is not received, dispatcher 554 will eventually store and send database 506 via message store and dispatch component 558 for transmission to enterprise server 600. It should be noted that this will cause it to be stored in. In addition, an arrow 7 pointing to the scanner proxy 528 can cause a log message to be recorded via the log manager 532.

이제 도 8을 참조하면, 도 8은 PLC의 래더 로직 내에서 발생되는 트리거인 논리 트리거의 결과로서 발생하는 정보의 흐름을 나타낸다. 도 8에서의 메시지의 흐름은 화살표(1 및 8)를 제외하고 도 7의 것과 매우 유사하다. 도 8에서 화살표(1)는 PLC로부터 백플레인 API(522)를 통하여 직접 오는 메시지를 표시한다. 상기 정보는 PLC로부터 메시지의 수신의 결과로서 무엇이 발생할 것인지를 결정할 태그 스캐너(524) 및 트리거 스캐너(526)를 통과한다. 예컨대, 메시지는 PLC(204)에 의해 검출되는 에러 상태일 수 있고, 또는, 예컨대, PLC(204)상의 특정 데이터 포인트에서의 변화의 결과로서 전송되는 메시지일 수 있다. 어떤 경우라도, PLC(204)의 래더 로직은 상기 메시지가 언제 전송될 것인지를 결정할 것이다. 달리 말하면, PLC(204)는 그것이 전송하는 데이터에 대하여 알아내는 것을 필요로 하는 엔터프라이즈 레벨(600)에서의 어떤 실체를 결정한다. 상기 포인트로부터 계속하여, 스캐너(520) 및 트랜잭션 구성 요소(550)를 통한 엔터프라이즈 서버(600)로의 메시지 실행 및 전파는 상태 메시지가 화살표(7)를 통하여 스캐너 프럭시(528)에 의해 수신될 때, 메시지가 화살표(8)를 통하여 PLC(204)에 및 PLC(204)에 데이터가 엔터프라이즈 레벨로 성공적으로 송신되었음을 알게 하도록 백플레인 API(522)에 전송되는 것을 제외하고는, 도 7에서의 데이터 트리거에 묘사된 것과 동일하다. 몇몇 시간의 주기 후, PLC(204)가 성공적인 송신의 확인을 얻는데 실패할 경우, PLC(204) 는 실패를 처리하는데 실행될 몇몇 로직을 아마 가질 것이다. 상기 경우에서, PLC(204)는 아마 데이터 전송을 재시도하거나 데이터 전송이 실패했다고 알리는 경고를 셋팅할 것이다. Referring now to FIG. 8, FIG. 8 illustrates the flow of information that occurs as a result of a logic trigger, which is a trigger that occurs within the ladder logic of a PLC. The flow of messages in FIG. 8 is very similar to that of FIG. 7 except for arrows 1 and 8. Arrow 1 in FIG. 8 indicates a message coming directly from the PLC via the backplane API 522. The information passes through a tag scanner 524 and a trigger scanner 526 that will determine what will happen as a result of receiving a message from the PLC. For example, the message may be an error condition detected by the PLC 204 or may be a message sent as a result of a change in a particular data point on the PLC 204, for example. In any case, the ladder logic of the PLC 204 will determine when the message will be sent. In other words, PLC 204 determines which entity at enterprise level 600 it needs to know about the data it sends. Continuing from this point, message execution and propagation through the scanner 520 and transaction component 550 to the enterprise server 600 when a status message is received by the scanner proxy 528 via arrow 7. Data trigger in FIG. 7 except that a message is sent to the PLC 204 via arrow 8 and to the backplane API 522 to inform PLC 204 that the data was successfully sent at the enterprise level. Same as described in After some period of time, if the PLC 204 fails to obtain confirmation of a successful transmission, the PLC 204 will probably have some logic to be executed to handle the failure. In that case, the PLC 204 will probably retry the data transfer or set an alert indicating that the data transfer has failed.

도 9는 전원 공급 중단 후 제어기(500)가 그 자체를 복원하는 프로세스를 묘사한다. 상기 경우에서, 목적은 엔터프라이즈 통신 제어기(500)를 전원 공급 중단 이전의 상태로 복원하는 것이다. 상태 정보는 파일(504)로부터 지속 매니저(556)를 통하여 액세스된다. 프럭시(528)는 화살표(1)를 통하여 디스패쳐(554)로 메시지를 전송한다. 디스패쳐(554)는 지속 매니저(556)가 요구를 완료하는 것이 필요하다는 것을 결정하고, 화살표(2)를 통하여 지속 매니저(556)로 메시지를 전송한다. 지속 매니저(556)는 파일(504)로부터 화살표(3)를 통하여 엔터프라이즈 통신 제어기(500)의 이전 상태를 복구하고 화살표(4)의 역을 통하여 스캐너 프럭시(528)로 중계하여 전하는 디스패쳐(554)로 전송한다. 스캐너 프럭시(528)는 그 후 메시지 화살표(7)를 통하여 트리거 스캐너(526)로 모든 트리거(622)를 복구할 수 있고, 화살표(6)를 통하여 태그 스캐너(524)로 모든 태그(624)를 복구할 수 있다.9 depicts the process by which the controller 500 restores itself after a power failure. In this case, the purpose is to restore the enterprise communications controller 500 to the state prior to the power down. Status information is accessed from the file 504 through the persistence manager 556. Proxy 528 sends a message to dispatcher 554 via arrow 1. Dispatcher 554 determines that persistence manager 556 needs to complete the request and sends a message to persistence manager 556 via arrow 2. Persistence manager 556 recovers the previous state of enterprise communication controller 500 from file 504 via arrow 3 and relays to scanner proxy 528 via the inverse of arrow 4 to forward the dispatcher ( 554). Scanner proxy 528 may then recover all triggers 622 to trigger scanner 526 via message arrow 7 and all tags 624 to tag scanner 524 via arrow 6. Can be recovered.

도 10은 이전에 논의된 저장 및 발송 작동 특징을 묘사한다. 저장 및 발송 특징은 메시지가 엔터프라이즈 서버(600)에 전송되는 것을 필요로 하지만 실패한 네트워크 접속에 의해 전송될 수 없을 때 요구된다. 저장 및 발송 구성 요소는 엔터프라이즈 서버(600)와의 통신 복구를 주기적으로 시도할 것이다. 통신이 엔터프라이즈 제어기(500)와 엔터프라이즈 서버(600) 사이에 복구될 때, 저장 및 발송 데이터베이스(506)에 저장된 모든 메시지는 그들이 수신되어졌던 순서로 엔터프라이 즈 서버(600)로 발송된다. 메시지 큐 핸들러(812)가 상기 특정 메시지를 위한 선택의 전송인 도 10에 도시된 경우에서는, 메시지 큐 핸들러(812)가 엔터프라이즈 서버(600)에서 메시지 큐 메니저(811)에 의해 통신 채널 화살표(1)에 에러가 있다고 결정하자 마자, 메시지 큐 핸들러(812)는 화살표(2)를 통하여 저장 및 발송 매니저(558)로 메시지를 전송한다. 저장 및 발송 매니저(558)는 메시지 큐를 통하여 전송되는 것을 필요로 하는 모든 메시지를 화살표(2)를 통하여 복구한다. 저장 및 발송 매니저(528)는 화살표(3)를 통하여 엔터프라이즈 서버(600)에서 메시지 큐 매니저(811)에 주기적으로 재접속을 시도한다. 접속이 복구되면, 저장 및 발송 메니저(528)는 엔터프라이즈 서버(600)에서 화살표(3)를 통하여 메시지 큐 매니저(811)로 저장된 메시지를 전송한다. 그 후 승인이 저장 및 발송 매니저(558)로부터 화살표(4)를 통하여 메시지 큐 핸들러(812)로 역전송되고 화살표(1)를 통하여 표준 작동이 재개된다. 그 후 데이터의 카피는 저장 및 발송 데이터베이스(506)로부터 제거된다. 상기 동일한 저장 및 발송 메카니즘은 어떤 지원되는 전송 메카니즘에도 적용될 수 있다.10 depicts the storage and shipping operational features previously discussed. Storage and dispatch features are required when a message needs to be sent to the enterprise server 600 but cannot be sent by a failed network connection. The storage and dispatch component will periodically attempt to recover communication with the enterprise server 600. When communication is restored between enterprise controller 500 and enterprise server 600, all messages stored in storage and dispatch database 506 are sent to enterprise server 600 in the order in which they were received. In the case where the message queue handler 812 is shown in FIG. 10 where the transmission of the selection for the particular message, the message queue handler 812 is communicated by the message queue manager 811 at the enterprise server 600 to the communication channel arrow 1. Upon determining that there is an error, message queue handler 812 sends a message to store and dispatch manager 558 via arrow 2. The store and dispatch manager 558 recovers via arrow 2 all messages that need to be sent through the message queue. The store and dispatch manager 528 periodically attempts to reconnect to the message queue manager 811 at the enterprise server 600 via arrow 3. When the connection is restored, the store and forward manager 528 sends the stored message from the enterprise server 600 to the message queue manager 811 via arrow 3. The acknowledgment is then sent back from the store and dispatch manager 558 to the message queue handler 812 via arrow 4 and normal operation resumes via arrow 1. A copy of the data is then removed from the storage and dispatch database 506. The same storage and forwarding mechanism can be applied to any supported transport mechanism.

도 11은 감시 계기 시스템 자체 모니터의 작동을 묘사한다. 감시 계기 설비(502)는 스캐너(520) 및 트랜잭션 구성 요소(502)가 실행되고 있는 프로세서가 작동 중이고 양호한지를 결정한다. 감시 계기 구성 요소(502)는 운영 체제와 주기적으로 통신하여 그들의 프로세스 식별자를 통하여 상기 프로세스에 대한 정보를 복구한다. 감시 계기 모니터는 프로세스가 더 이상 실행중이지 않는 것을 나타내는 둘 중의 하나의 프로세스의 프로세스 식별자가 무효하다고 결정하면, 작동 중인 프 로세스는 정지되고 양 프로세스가 그들의 적절한 순서로 재시작되고, 바람직하게는 이 시점에서, 엔터프라이즈 통신 제어기(500)의 이전 상태는 파일(504)로부터 복구된다. 11 depicts the operation of the monitoring instrument system itself monitor. The monitoring instrument facility 502 determines whether the processor on which the scanner 520 and the transaction component 502 are running is up and running. The watchdog instrument component 502 periodically communicates with the operating system to recover information about the process through their process identifiers. If the monitoring instrument monitor determines that the process identifier of one of the processes indicating that the process is no longer running is invalid, the running process is stopped and both processes are restarted in their proper order, preferably at this point. In, the previous state of the enterprise communication controller 500 is recovered from the file 504.

도 12는 엔터프라이즈 통신 제어기(500)의 환경설정이 워크벤치(810)로 익스포트되는 기능을 도시한다. 예를 들면, 이것은 상기 셋업이 상이한 엔터프라이즈 통신 제어기(500) 상에 복제될 필요가 있을 때에 유용할 수 있다. 워크벤치(810)는 화살표(1)를 통해 메세지를 스캐너(520)내의 스캐너 프록시(528)로 송신한다. 스캐너 프록시(528)는 화살표(2)를 통해 메세지를 퍼시스턴스 매니저(556)로 송신한다. 퍼시스턴스 매니저(556)는 파일(504)로부터 현재 상태를 검색하여 화살표(3)를 통해 스캐너 프록시(528)로 반송하고, 화살표(4)를 통해 클라이언트(800)상의 워크벤치(810)로 반송한다.12 illustrates the functionality in which the configuration of enterprise communication controller 500 is exported to workbench 810. For example, this may be useful when the setup needs to be replicated on different enterprise communication controllers 500. Workbench 810 sends a message to scanner proxy 528 in scanner 520 via arrow 1. The scanner proxy 528 sends a message to the persistence manager 556 via arrow 2. Persistence manager 556 retrieves the current state from file 504 and returns to scanner proxy 528 via arrow 3 and returns to workbench 810 on client 800 via arrow 4. .

도 4에 도시된 바와 같이, 워크벤치 성분(810)은 유저의 워크스테이션 및 엔터프라이즈 통신 제어기(500)와의 인터베이스이다. 전형적으로, 워크벤치(810)는 조직체의 엔터프라이즈 레벨(600)로 유저 레벨 컴퓨터 상에서 실행될 것이다. 그러나, 워크벤치(810)는 표준 인터넷 프로토콜을 통해 엔터프라이즈 통신 제어기(500)와 통신하기 때문에 실질적으로 워크벤치(810)는 조직체 내부 또는 그 외부의 모든 컴퓨터에 위치될 수 있다. 앞서 설명한 바와 같이, 워크벤치(810)의 기능 중 하나는 유저가 프로젝트(620)를 생성하도록 한다. 상기 워크벤치(810)는 프로젝트의 구축과 엔터프라이즈 통신 제어기(500)로 프로젝트의 저장을 허용하고, 그곳에서 퍼시스턴스 매니저(556)에 의해 파일(504)에 첨가될 것이다. 또한, 워크벤치(810)는 프로젝트(620)를 시작, 중지, 익스포트, 및 임포트하는 기능을 제공한다. 워크벤치(810)는 동일 세션 동안에 멀티플 엔터프라이즈 통신 제어기(500)와 상호 작용하여 각각의 엔터프라이즈 통신 제어기(500)에서 상기 리스트된 바와 같은 작용을 수행할 수 있다.As shown in FIG. 4, workbench component 810 is an interbase with a user's workstation and enterprise communication controller 500. Typically, workbench 810 will run on a user level computer at the enterprise level 600 of the organization. However, since the workbench 810 communicates with the enterprise communications controller 500 via standard Internet protocols, the workbench 810 can be located on virtually any computer inside or outside the organization. As described above, one of the functions of the workbench 810 allows a user to create a project 620. The workbench 810 allows the construction of the project and storage of the project with the enterprise communication controller 500, where it will be added to the file 504 by the persistence manager 556. Workbench 810 also provides the ability to start, stop, export, and import project 620. Workbench 810 may interact with multiple enterprise communications controller 500 during the same session to perform the actions as listed above in each enterprise communications controller 500.

프로젝트는 데이터가 엔터프라이즈 통신 제어기(500)로부터 엔터프라이즈 서버(600)로 전송되는 상황 하에 있는 것으로 정의되는 트리거(622) 그룹으로 구성된다. 트리거는 태그(624), 메세지(626), 매크로스(628), 및 익스프레션(629)을 포함할 수 있다. 태그(624)는 데이터형 트리거로 정의되지만, 메세지(626)는 로직형 트리거로 정의된다. 트리거 내에서 정의된 상기 매크로스 설정(628)은 상기 트리거가 단순히 미리 정의된 데이터 처리를 수행하도록 한다. 상기 익스프레션 파서(629)는 상기 PLC 또는 엔터프라이즈 서버(600) 중 어느 하나로부터의 데이터를 유저가 처리하도록 한다. 예를 들면, 엔터프라이즈 서버(600)로 전송하기 이전에 섭씨 온도로부터 화씨 온도로 변경하는 것과 같이, 유저는 숫자 값을 변경하기 위해 익스프레션을 생성할 수 있다. 또한, 엔터프라이즈 통신 제어기(500)로부터 엔터프라이즈 서버(600)로 데이터를 전송하기 위해 사용될 수 있는 상기 트랜스포터(630)의 정보는 트리거(622)내에 포함되어 있다.The project consists of a group of triggers 622 that are defined as being in a situation where data is sent from the enterprise communication controller 500 to the enterprise server 600. The trigger can include a tag 624, a message 626, a macro 628, and an expression 629. Tag 624 is defined as a data type trigger, while message 626 is defined as a logic type trigger. The macro settings 628 defined within the trigger allow the trigger to simply perform predefined data processing. The expression parser 629 allows a user to process data from either the PLC or the enterprise server 600. For example, the user can create an expression to change the numeric value, such as changing from Celsius to Fahrenheit before sending to the enterprise server 600. Also included in trigger 622 is information in the transporter 630 that may be used to transfer data from enterprise communication controller 500 to enterprise server 600.

워크벤치(810)는 트랜스포트(630)를 정의하기 위해 사용될 수 있다. 트랜스포트(630)는 엔터프라이즈 통신 제어기(500)로부터 엔터프라이즈 서버(600)로 송신될 때의 데이터에 대해 유저가 목적지와 포맷 정보를 제공할 수 있는 메카니즘이다. 트랜스포트는 TCP, 메세지 큐, 데이터베이스(관련 데이터베이스에 대해), 및 SMTP(이메일)을 포함하는 수많은 타입 중의 어느 하나일 수 있다. 생성된 트랜스포트 타입은 유저가 데이터를 송신하려는 애플리케이션 및/또는 데이터베이스에 의존한다. 엔터프라이즈 서버(600)에서 실행하는 애플리케이션과 통신하기 위해, 상기 애플리케이션은 상기 프로토콜 중의 하나를 이해할 수 있어야 하고, 그 프로토콜을 통해 메세지를 인식할 수 있어야 한다. 전형적으로, 데이터는 엔터프라이즈 인트라넷 상의 특정 위치(즉, 애플리케이션), 인터넷 상의 위치로 송신될 수 있거나, DB2, 마이크로소프트 SQL, 또는 오라클 데이터베이스와 같은 데이터베이스로 엔터프라이즈 서버(600)내에 기억될 수 있다. 데이터의 포맷은 XML, ASCⅡ, 또는 데이터베이스 인서트/업데이트를 포함하는 수많은 포맷 중의 어느 하나일 수 있다.Workbench 810 may be used to define transport 630. Transport 630 is a mechanism by which a user can provide destination and format information for data as it is transmitted from enterprise communication controller 500 to enterprise server 600. Transports can be any of a number of types, including TCP, message queues, databases (for related databases), and SMTP (email). The created transport type depends on the application and / or database on which the user wishes to send data. In order to communicate with an application running on enterprise server 600, the application must be able to understand one of the protocols and be able to recognize messages over that protocol. Typically, data may be sent to a specific location (ie, application) on the enterprise intranet, a location on the Internet, or stored in the enterprise server 600 in a database such as DB2, Microsoft SQL, or an Oracle database. The format of the data can be any of a number of formats including XML, ASCII, or database inserts / updates.

또한, 워크벤치(810)는 엔터프라이즈 통신 제어기(500)에 의해 반송된 태그(624)를 유저가 뷰잉(viewing)할 수 있게 한다. 태그(624)는 PLC내의 메모리 위치를 나타내는 PLC 래더 로직 프로그램 내의 데이터 포인트로 명명된다. 워크벤치(810)는 태그의 트리 뷰(tree view)를 제공할 수 있으며, 상기 태그로부터는 PLC 래더 로직 프로그램 내의 데이터 포인트의 현재 값이 판독될 수 있을 것이다.Workbench 810 also allows a user to view tags 624 returned by enterprise communication controller 500. The tag 624 is named as a data point in the PLC ladder logic program that represents a memory location in the PLC. The workbench 810 may provide a tree view of the tag from which the current value of the data point in the PLC ladder logic program may be read.

워크벤치(810)내의 로그 뷰어(632)는 시스템 이벤트 및 익셉션 에러 로그를 뷰잉하는 수단을 제공한다. 로그 뷰어(632)는 엔터프라이즈 통신 제어기(500)상의 로그 매니저(532)에 의해 생성되어 있는 로그를 유저가 뷰잉할 수 있게 하는 툴이다. 전형적으로, 이들 로그는 유저 액티비티, 에러, 및 시스템 메세지를 추적하고 해석하기 위한 진단 툴로서 사용될 수 있는 오디트 로그와 익셉션 로그를 포함할 수 있다. 전형적으로, PLC204에서 발생하는 액티비티는 데이트, 타임, 액티비티, 타입 및/또는 유저에 의해 로깅(logging)된다.The log viewer 632 in the workbench 810 provides a means of viewing system event and exception error logs. The log viewer 632 is a tool that allows a user to view a log generated by the log manager 532 on the enterprise communication controller 500. Typically, these logs may include audit logs and exception logs, which can be used as diagnostic tools for tracking and interpreting user activities, errors, and system messages. Typically, activities that occur in PLC204 are logged by date, time, activity, type, and / or user.

또한, 워크벤치(810)는 그것과 연결될 수 있는 모든 엔터프라이즈 통신 제어기(500)의 관리에 대한 중심이다. 관리 모듈(640)은 엔터프라이즈 통신 제어기(500)의 네트워크 셋팅(644)을 설정하기, IP 어드레스의 셋팅을 포함하기, 유저와 그들의 특권 레벨(648)을 정의하기, 다양한 트랜스포트 프로토콜(650)에 필요할 수 있는 워크벤치 소프트웨어에 대한 라이센스 매니지먼트 기능을 제공하기, 및 모듈 스테이터스(652)를 통해 엔터프라이즈 통신 제어기(500)와 함께 동일한 샤시(chassis)에 인스톨된 모든 PLC의 래더 로직 프로그램의 상태를 뷰잉하기 등의 관리 기능을 수행하는 수단을 제공한다. 또한, 상기 관리 기능(640)은 외부 시간 동기화 신호를 엔터프라이즈 통신 제어기(500)와 그것과 연결된 모든 PLC로 제공하는 수단을 구비할 수 있다. 워크벤치의 타임 매니지먼트 기능(646)은 유저가 현재 시간을 설정하고, 동기화 셋팅을 설정하며, 전체 시스템에 대해 외부 시간 레퍼런스로서 기능을 하는 동기화 서버를 설정할 수 있도록 한다. 상기 동기화 셋팅은 주파수 업데이트를 포함하고, 컨트롤러(500)는 외부 시간 레퍼런스에 대해 클라이언트로서 기능을 하던지, 그렇지않으면 다른 엔터프라이즈 통신 제어기(500)에 대해 클라이언트 및 서버 둘 다로서 기능을 할 것이다. 또한, 동기화 방법이나 예를 들면, 심플 네트워크 타임 프로토콜(SNTP), 유저 데이타 프로토콜(UDP), TCP 프로토콜, 또는 시간을 동기화하는데에 사용되는 기타 일반적으로 알려진 프로토콜 등의 동기화 프로토콜을 설정하는 것이 가능하다. 또한, 관리 기능은 이메일 어드레스 그룹에 의거한 익셉션 통지 리스트를 정의하는 수단을 제공한다.Workbench 810 is also central to the management of any enterprise communication controller 500 that may be connected thereto. The management module 640 sets the network settings 644 of the enterprise communications controller 500, includes setting of IP addresses, defines users and their privilege levels 648, and various transport protocols 650. Providing license management functionality for workbench software that may be required, and viewing the status of ladder logic programs of all PLCs installed in the same chassis with the enterprise communication controller 500 via the module status 652. It provides a means for performing such management functions. In addition, the management function 640 may include means for providing an external time synchronization signal to the enterprise communication controller 500 and all PLCs connected thereto. The workbench's time management function 646 allows the user to set the current time, set synchronization settings, and set up a synchronization server that functions as an external time reference for the entire system. The synchronization setting includes a frequency update, and the controller 500 may function as a client for an external time reference, or otherwise as both a client and a server for another enterprise communication controller 500. It is also possible to set a synchronization protocol, such as a simple network time protocol (SNTP), a user data protocol (UDP), a TCP protocol, or another commonly known protocol used for synchronizing time. . The management function also provides a means for defining an exception notification list based on a group of email addresses.

워크벤치(810)가 시작될 경우, 그것은 인터넷이나 인트라넷에 연결될 수 있는 가용 엔터프라이즈 통신 제어기(500)를 위한 네트워크를 검색할 수 있는 능력을 가진다. 가용 엔터프라이즈 통신 제어기(500)에 대한 워크벤치(810)의 검색 범위는 IP 서브넷 어드레스를 규정함으로써 제한될 수 있다.When the workbench 810 is started, it has the ability to search the network for an available enterprise communication controller 500 that can be connected to the Internet or intranet. The search range of workbench 810 for available enterprise communication controller 500 may be limited by defining an IP subnet address.

본 발명의 몇몇 다른 실시형태가 있다. 도 13은 엔터프라이즈 통신 제어기(500)가 백플레인 API522를 통해 PLC와 직접 통신하고 있는 다른 실시형태를 도시한다. 상기 구성은 엔터프라이즈 통신 제어기(500)가 전파식별(RFID)리더와 같은 추가 장치와 통신할 필요성이 있는 곳에서 필수적일 수 있고, 그 경우, BP API522b는 외부 장치와 통신하기 위해 상이할 수 있다. 또한, 상기 구성은 다양한 장치(PLC 및 RFIP리더)를 인터페이스하기 위해 멀티플 태그 스캐너(524a, 524b)를 필요로 한다.There are several other embodiments of the present invention. FIG. 13 illustrates another embodiment in which the enterprise communication controller 500 is in direct communication with a PLC via a backplane API522. The configuration may be necessary where the enterprise communication controller 500 needs to communicate with additional devices, such as RFID readers, in which case the BP API522b may be different for communicating with external devices. The configuration also requires multiple tag scanners 524a and 524b to interface with various devices (PLC and RFIP readers).

어떤 고객 구성에 있어서는, 싱글 엔터프라이즈 통신 제어기(500)가 어떠한 엔터프라이즈 통신 제어기(500) 옵션도 없는 기타 PLC와 교신할 필요가 있을 수 있다. 이것은 백플레인 API를 사용하는 대신에 PLC 통신 모듈과의 통신으로 행해진다. 도 14 및 15에 도시된 바와 같이, 이것을 행할 수 있는 2개의 버젼이 있다. 도 14에서, 엔터프라이즈 통신 제어기는 본 발명의 제 1 실시형태에 대해서 설명되어진 방식으로 PLC(204a)와 인터페이스할 수 있다. 추가적인 PLC(204b)와 통신하기 위해, PLC(204a)는 PLC 통신 포트(210)를 통해 PLC(204b)와 접속된다. 또한, 그 후 엔터프라이즈 통신 제어기(500)가 상기 접속을 통해 PLC(204b)와 인터페이스한다. 예를 들면, PLC(204a와 204b)의 통신 포트(210)간의 접속은 RS2332 접속 또는 TCP/IP를 통해 시리얼 통신일 수 있다. 도 18에 도시된 바와 같이, 도 15는 엔터프라이즈 통신 제어기가 고객 디바이스 드라이버(502)와 함께 구성되어 PLC 통신 포트(210)를 통해 추가적인 PLC(204b)와 통신하는 또 다른 형태의 구성을 도시한다.In some customer configurations, a single enterprise communication controller 500 may need to communicate with other PLCs without any enterprise communication controller 500 option. This is done in communication with the PLC communication module instead of using the backplane API. As shown in Figures 14 and 15, there are two versions in which this can be done. In FIG. 14, the enterprise communication controller can interface with the PLC 204a in the manner described for the first embodiment of the present invention. To communicate with the additional PLC 204b, the PLC 204a is connected with the PLC 204b through the PLC communication port 210. In addition, the enterprise communication controller 500 then interfaces with the PLC 204b via the connection. For example, the connection between the communication ports 210 of the PLCs 204a and 204b may be serial communication via an RS2332 connection or TCP / IP. As shown in FIG. 18, FIG. 15 illustrates another form of configuration in which an enterprise communication controller is configured with a customer device driver 502 to communicate with an additional PLC 204b via a PLC communication port 210.

어떤 공장 층 환경에 있어서는, 층으로부터 데이터를 수집할 뿐만아니라 상기 층으로 정보를 송신하는 엔터프라이즈 시스템에 대한 요구가 있을 수 있다. 상기 공장 층에서 요구된 처리 정보가 있을 수 있거나, 생산 요청이 판매에 의거하여 변경될 수 있다. 엔터프라이즈 레벨로부터 PLC 레벨로의 상기 데이터 전환을 초기화하는 2가지의 방법이 있다: PLC 요청 또는 엔터프라이즈 푸쉬(push).In some factory floor environments, there may be a need for an enterprise system that not only collects data from the floor but also transmits information to the floor. There may be processing information required at the factory floor, or the production request may be changed based on sales. There are two ways to initiate the data transition from enterprise level to PLC level: PLC request or enterprise push.

도 16에서, 데이터를 검색하는 PLC로부터 자발적 요청 또는 데이터 검색을 요구하는 데이터 변환이 존재한다면, 트리거 스캐너(526)는 화살표(1)를 통해 데이터에 대한 요청을 수신한다. 상기 요청은 화살표(2)를 통해 발송자(554)로 송신된다. 발송자(554)는 요청을 실행하는 적절한 전송 조종자를 선택하여 정보를 발송한다. 이러한 예에 있어서, 요청된 정보가 데이터베이스에 남아있을 수 있으므로, 상기 요청은 화살표(3)을 통해 데이터베이스 인터페이스(552)로 송신된다. 데이터베이스 인터페이스(552)는 화살표(4)를 통해 엔터프라이즈 데이터베이스 서버(560)로부터 적당한 정보를 요구하고 화살표(5)를 통해 상기 정보를 수신한다. 상기 정보는 화살표(6)를 통해 발송자(554)로 반송된 후, 화살표(7)를 통해 프록시(528)로 송신된다. 그 다음, 그것은 PLC204로의 전송을 위해 화살표(8)을 통해 백플레인 API522로 공급된다. 제어 프로세스를 위해 상기 정보는 PLC204에 의해 현재 사용될 수 있다. In FIG. 16, if there is a data transformation requesting a spontaneous request or data retrieval from a PLC retrieving data, trigger scanner 526 receives a request for data via arrow 1. The request is sent to sender 554 via arrow 2. The sender 554 selects the appropriate transmission controller to execute the request and sends the information. In this example, since the requested information may remain in the database, the request is sent to the database interface 552 via arrow 3. The database interface 552 requests the appropriate information from the enterprise database server 560 via arrow 4 and receives the information via arrow 5. The information is returned to sender 554 via arrow 6 and then sent to proxy 528 via arrow 7. It is then fed to the backplane API522 via arrow 8 for transmission to PLC204. The information can now be used by the PLC204 for the control process.

또한, PLC 데이터 요청과 동일한 역할을 하는 도 17에 도시된 라이트백(write back)을 초기화한 호스트가 존재한다. 이 경우에 있어서, 엔터프라이즈 레벨(600)에서의 실재는 공장 층상의 어떤 것으로 변화시키려 한다. 이것은 PLC204로 전파되는 엔터프라이즈 레벨(600)에서 초기화된 메세지를 통해 행해지며, 하나 이상의 태그로 데이터를 기록한다. 데이터의 흐름은 초기 요청이 엔터프라이즈 서버(600)로부터 나와서 메세지 큐 매니저(811)를 통해 처리 서버(550)로 송신된다는 것을 제외하고는 도 16에서 도시된 것과 동일하다.In addition, there is a host that initializes the write back shown in FIG. 17 which serves the same role as the PLC data request. In this case, the reality at enterprise level 600 is to change to something on the factory floor. This is done via a message initialized at enterprise level 600 propagated to PLC204, recording data with one or more tags. The flow of data is the same as that shown in FIG. 16 except that an initial request is sent from the enterprise server 600 and sent to the processing server 550 via the message queue manager 811.

도 18에서 도시하는 본 발명의 다른 실시형태에 있어서는, 엔터프라이즈 통신 제어기(500)는 특별한 타입의 PLC에 대해서는 유용하지 않을 수 있거나, 관련 PLC가 백플레인을 통해 통신할 수 있는 능력을 가지고 있지 않을 수 있다. 이 경우, PLC204와의 통신이 백플레인 API522 외 다른 수단을 통해 행해지도록 본 발명의 제 1 실시형태를 수정하여 외부 PC501, 또는 "유니버셜 엔터프라이즈 통신 제어기"(UECC)를 실행하는 옵션이 존재한다. 이 경우, 특별화된 디바이스 드라이버(502)가 백플레인 API522의 기능 대신한다. 상기 해결책의 모든 다른 능력은 유지된다. 디바이스 드라이버(502)는 시리얼 통신, TCP/IP, 데이터 하이웨이+, 및 프로피버스를 포함하는 하나 이상의 공통의 공장 층 통신 메커니즘을 유지할 수 있다. 전형적으로, 이들 접속은 이더넷 또는 화살표(1)를 통한 UECC 501과 PLC 통신 모듈(210)간의 RS232 접속을 통해 이루어진다. 그러나, 어떤 PLC는 화살표(2)를 통해 그들의 PLC 제어기(212)와의 접속을 필요로 한다. 본 발명의 상기 실시형태에 있어서, UECC 501은 소정의 주어진 시간에 멀티플 PLC와 통신할 수 있다.In another embodiment of the present invention shown in FIG. 18, the enterprise communication controller 500 may not be useful for a particular type of PLC or the associated PLC may not have the ability to communicate over the backplane. . In this case, there is an option to modify the first embodiment of the present invention so that communication with the PLC204 is made via means other than the backplane API522 to execute an external PC501, or "Universal Enterprise Communication Controller" (UECC). In this case, the specialized device driver 502 replaces the functionality of the backplane API522. All other capabilities of the solution are maintained. The device driver 502 may maintain one or more common factory layer communication mechanisms including serial communication, TCP / IP, data highway +, and Profibus. Typically, these connections are made via an RS232 connection between the UECC 501 and the PLC communication module 210 via Ethernet or arrow 1. However, some PLCs require a connection with their PLC controller 212 via arrow 2. In this embodiment of the invention, the UECC 501 can communicate with multiple PLCs at any given time.

도 19에 도시된 바와 같이, 상기한 구조의 확장은 로직 컴포저(812)를 포함하는 경향이 있다. 로직 컴포저(812)는 풍부한 기능 설정을 말단 유저에게 제공하는 일련의 "기능 블록"에 의거한 워크 플로우나 로직 플로우를 말단 유저가 구축할 수 있게 한다. 예를 들면, 이들 기능은 테스트 조항, 데이터 조종, 어떤 트랜스포트로부터의 송수신, 로직 영역을 통한 루프, 엔터프라이즈나 PLC 레벨로부터의 요청 정보 및 기타 워크플로우 아이템을 포함할 수 있다. 로직 컴포저(812)는 각각의 존재 성분에 직접적으로 영향을 주고, 박스내의 주된 활동을 편성한다. 이것은 이미 제공되어진 다른 기능에 더해서 일반적인 비즈니스 로직 플로우를 제공한다. 로직 플로우가 클라이언트에 구축된 후, 저장과 실행을 위하여 화살표(1)를 통해 로직 서버(814)로 보내어진다. 로직 서버(814)의 로직 수행 엔진(816)부는 1) 화살표(2)를 통해 로직 저장 성분(818)에 상기 해상도를 저장하고; 2) 화살표(3)을 통해 영향을 받은 PLC 데이터 태그의 리스트를 작성하여 그것을 레퍼런스 테이블(820)에 저장하며; 3) 화살표(4) 및 (5)를 통하여 각각 퍼프/서브 클라이언트(822)와 퍼브/서브 서버(824)를 통해 필요한 데이타에 기록한다. 시스템이 실행되면, 로직 수행 엔진(816)은 화살표(6) 및 (7)를 통해 데이터 변환을 수신한 후, 필요한 비즈니스 로직이나 데이터 조종을 수행한다. 그 결과 정보가 하나 이상의 옵션을 통해 필요한 유저로 송신될 수 있다. 업데이트된/유추된 정보가 화살표(8)를 통해 스캐너(520)에 의해 PLC204로 반송될 수 있고, 업데이트된/유추된 정보가 화살표(9)를 통해 처리 서버(550)에 의해 엔터프라이즈 서버(600)로 송신될 수 있으며, 또는 업데이트된/유추된 정보가 화살표(10)를 통해 디스플레이 서버(640)에 의해 말단 유저로 디플레이될 수 있다.As shown in FIG. 19, extension of the above structure tends to include a logic composer 812. The logic composer 812 allows the end user to build a workflow or logic flow based on a series of "function blocks" that provide the end user with rich functional settings. For example, these functions may include test provisions, data manipulation, sending and receiving from any transport, looping through logic areas, request information from the enterprise or PLC level, and other workflow items. Logic composer 812 directly affects each component present and organizes the main activities in the box. This provides a general business logic flow in addition to the other features already provided. After the logic flow is built on the client, it is sent to the logic server 814 via arrow 1 for storage and execution. Logic execution engine 816 of logic server 814 1) stores the resolution in logic storage component 818 via arrow 2; 2) create a list of affected PLC data tags via arrow 3 and store them in reference table 820; 3) The necessary data is recorded through the puff / sub client 822 and the pub / sub server 824 through arrows 4 and 5, respectively. Once the system is running, the logic execution engine 816 receives the data transformation via arrows 6 and 7 and then performs the necessary business logic or data manipulation. As a result, information can be sent to the required user via one or more options. The updated / inferred information may be returned to the PLC204 by the scanner 520 via the arrow 8, and the updated / inferred information may be returned to the enterprise server 600 by the processing server 550 via the arrow 9. ) Or the updated / inferred information may be deplayed by the display server 640 as an end user via arrow 10.

또한, 본 발명의 구조는 도 20에 도시된 바와 같이, 3개의 주된 성분으로 구성되는 디스플레이 서브시스템을 포함할 수 있다: 데이터를 뷰잉하는 런타임 뷰어(850), 스크린을 규정하는 워크벤치 디스플레이 컴포저(842), 및 스크린/데이터 업데이트를 유지하고 디스플레이 해상도를 지속시키는 런타임 디스플레이 서버(840). 본 발명의 일 실시형태에 있어서, 워크벤치(810)는 유저가 작동 및 PLC와 엔터프라이즈 서버(600)간의 데이터/메세지 교환을 규정하도록 한다. 또한, 유저는 그들의 뷰잉 요구에 충족하는 스크린을 규정하기 위해 다양한 클라이언트로부터의 데이터를 뷰잉할 필요성을 가진다. 상기 디스플레이 서브시스템은 이들 해상도가 엔터프라이즈 통신 제어기(500)내에서 생성되어, 어떠한 클라이언트에게도 이 데이터를 제공할 수 있게 하는 확실한 툴이다.In addition, the architecture of the present invention may include a display subsystem consisting of three main components, as shown in FIG. 20: a runtime viewer 850 for viewing data, a workbench display composer defining a screen ( 842, and a runtime display server 840 that maintains screen / data updates and maintains display resolution. In one embodiment of the invention, the workbench 810 allows a user to define operations and data / message exchanges between the PLC and the enterprise server 600. In addition, the user has a need to view data from various clients to define a screen that meets their viewing needs. The display subsystem is a reliable tool that allows these resolutions to be generated within the enterprise communications controller 500 to provide this data to any client.

디스플레이 컴포저(842)는 데이터가 디스플레이되는 스크린의 해상도를 허용하는 워크벤치(810)에 대한 익스텐션이다. 상기 스크린은 필 바, 텍스트 필드, 버턴, 경고 지시자, 또는 PLC 204에서 데이터 태그와 링크된 기타 디스플레이 객체를 포함할 수 있다. 디스플레이 컴포저(842)는 화살표(1)을 통해 스크린 해상도 정보를 디스플레이 서버(840)의 요청 조정자부(844)로 송신한다. 요청 조정자(844)는 디스플레이 해상도를 국소적으로 디스플레이 저정부(842)에 저장하거나, 독립된 중앙 서버상에 저장될 수 있는 디스플레이를 레퍼런스한다. 또한, 요청 조정자(844)는 디스플레이 해상도의 컨텐츠를 분석하고, 디스플레이에 알릴 필요가 있는 PLC 데이터 태그의 리스트를 생성하여, 이 리스트를 레퍼런스 테이블(846)에 저장한다. 요청 조정자(844)는 데이터에 있어서 변환을 통지하는 PLC를 화살표(4)를 통해 퍼브/서브 클라이언트(822)에게 요청하기 위해 PLC 데이터 태그의 리스트를 사용한다. 화살표(5)를 통해 퍼브/서브 클라이언트(822)는 제 1 실시형태의 스캐너(520)에 대해서 향상된 퍼브/서브 서버(824)에 의해 이들 요청을 등록한다. 태그가 공장 층 변화에 의거하여 PLC에서 업데이트되면, 퍼브/서브 서버(824)는 퍼브/서브 클라이언트(822), 화살표(6) 및 (7)를 통해 요청 조정자(844)로 상황에 있어서의 변화를 송신한다. 그 다음, 디스플레이 정보가 업데이트되고, 화살표(8)를 통해 적당한 뷰어로 송신된다. 클라이언트(800)에서의 뷰어 애플리케이션(850)은 독점 뷰어일 수 있거나, 일반적인 상용 웹 브라우저일 수 있다. 클라이언트에 의존하여, 화살표(8)의 프로토콜은 독점 프로토콜이거나 표준 HTTP 또는 HTTPS일 수 있다.Display composer 842 is an extension to workbench 810 that allows for the resolution of the screen on which data is displayed. The screen may include a fill bar, text field, button, warning indicator, or other display object linked with a data tag in the PLC 204. The display composer 842 transmits the screen resolution information to the request coordinator unit 844 of the display server 840 via the arrow 1. The request coordinator 844 stores the display resolution locally on the display storage 842 or references a display that can be stored on a separate central server. Request coordinator 844 also analyzes the content of the display resolution, generates a list of PLC data tags that need to be notified to the display, and stores this list in reference table 846. The request coordinator 844 uses the list of PLC data tags to request the pub / sub client 822 via arrow 4 to inform the PLC of the conversion in the data. Via arrow 5, pub / sub client 822 registers these requests by enhanced pub / sub server 824 for scanner 520 of the first embodiment. Once the tag is updated in the PLC based on factory floor changes, the pub / sub server 824 changes in the situation to the request coordinator 844 via the pub / sub client 822, arrows 6 and 7 Send. The display information is then updated and sent via arrow 8 to the appropriate viewer. The viewer application 850 on the client 800 may be a proprietary viewer or may be a typical commercial web browser. Depending on the client, the protocol of arrow 8 can be proprietary or can be standard HTTP or HTTPS.

상기한 구조의 익스텐션은 엔터프라이즈 레벨(600)로 데이터를 송신하기 전에 유저가 데이터의 추가적인 조종을 할 수 있게 하는, 도 21에 도시된 익스프레션 파서를 포함하는 경향이 있다. 현재의 구조는 디바이스 상에서 규정된 데이터 포인트 또는 태그를 다양한 출력 소스로 기록하는 것을 허용한다. 출력 소소에 대한 데이터 포인트의 어소시에이션이 트리거의 페이로드를 규정하는 동안에 이루어진다. 이들 초기 데이터 포인터 값을 기록하면서, 출력 소스에 대한 산출된 값을 기록하는 것이 바람직할 경우가 존재한다. 상기 연산으로의 입력은 유저에 의해 정의된 상수값과 함께 디바이스로부터 데이터 포인트 값 판독으로 구성될 수 있다. 상기 인핸스먼트는 트리거 페이로드의 일부로서의 데이터 포인트 값 및 상수값을 구성하면서 유저가 수학 방정식을 정의할 수 있게한다. 상기 방정식의 결과가 상기 디바 이스 상에서 발생하여 대응 트리거가 발사될 때에 데이터 포인트 값 판독을 사용한다. 상기 인핸스먼트는 태그 값 및 상수값 뿐만 아니라 산출된 값을 포함하는 데이터 기록 능력을 확장시킨다. Extensions of the above structures tend to include the expression parser shown in FIG. 21, which allows the user to further manipulate the data prior to sending data to the enterprise level 600. The current structure allows writing of data points or tags defined on the device to various output sources. Association of data points to output sources takes place while defining the payload of the trigger. While recording these initial data pointer values, there are cases where it is desirable to record the calculated values for the output source. The input to the operation may consist of reading data point values from the device with a constant value defined by the user. The enhancement allows the user to define mathematical equations while constructing data point values and constant values as part of the trigger payload. The result of the equation occurs on the device and uses data point value reading when the corresponding trigger is fired. The enhancement extends the data recording capability to include calculated values as well as tag and constant values.

익스프레션 컴포저(818)를 사용하여, 워크벤치(810)는 유저가 트리거 페이로드내의 데이터 소스로서 수학 방정식을 생성할 수 있게한다. 태그 값을 페이로드 해상도로 드래그하고 드랍(drop)할 수 있음과 아울러, 또한 유저는 미리 규정된 매크로 값(타임스탬프스)과 유저가 규정한 매크로 값(상수)을 트리거 페이로드로 드래그하고 드랍할 수 있다. 또한, 익스프레션 컴포저(818)는 유저에게 트리거 페이로드로 공식을 드래그하는 능력을 제공한다. 공식 매크로를 트리거 페이로드로 드랍핑하는 것은 익스프레션 컴포저(818)를 초기화하여, 디바이스 상에서 런타임에 평가된 수학 익스프레션의 해상도로 유저에게 제공한다. 에디터는 유저가 표준 계산기를 리젬블링하는 인터페이스로부터 수학 연산자와 함께 상수 분수값을 입력할 수 있게 한다. 추가적으로, 에디터는 유저가 분수 데이터 포인트를 방정식으로 드래그하고 드랍할 수 있게 한다.Using expression composer 818, workbench 810 allows a user to generate mathematical equations as a data source in the trigger payload. In addition to dragging and dropping tag values to the payload resolution, the user can also drag and drop predefined macro values (time stamps) and user defined macro values (constants) into the trigger payload. can do. Expression composer 818 also provides the user with the ability to drag the formula into the trigger payload. Dropping the formula macro into the trigger payload initializes the expression composer 818 and provides it to the user at the resolution of the mathematical expression evaluated at runtime on the device. The editor allows the user to enter constant fractional values with mathematical operators from an interface that reassembles the standard calculator. In addition, the editor allows the user to drag and drop fractional data points into the equation.

도 21은 상기한 익스프레션 컴포저 특성에 대한 데이터의 흐름을 도시한다. 익스프레션 컴포저(818)는 유저가 그래픽적으로 수식 및 로직 익스프레션을 작성할 수 있게 하는 클라이언트(800) 상에서 실행되는 유저 레벨 클라이언트 애플리케이션이다. 익스프레션 해상도는 화살표(1)를 통해 익스프레션 서버(870)내의 익스프레션 파서 엔진(872)으로 보내어진다. 방정식 해상도는 익스프레션 저장부(874)에 국소적으로 저장된다. 익스프레션 파서(872)는 익스프레션 해상도를 분석하고, 익 스프레션을 평가하여 화살표(3)를 통해 레퍼런스 테이블(826)에 이들을 저장하기 위해 알려질 필요가 있는 PLC 데이터 태그의 리스트를 생성한다. 익스프레션 파서(872)는 공표/기록 클라이언트(822)로의 화살표(4)를 통해, 관련되는 데이터 내에서의 어떠한 변화를 통지하는 PLC로 요청을 만들기 위해 PLC 데이터 태그 리스트를 사용한다. 공표/기록 클라이언트(822)는 화살표(5)를 통해 공표/기록 서버(824)와 함께 이들 요청을 등록하고, 화살표(6) 및 (7)를 통해 이들 데이터 아이템의 어떠한 변화를 통지한다. 익스프레션의 평가 결과는 메시지를 엔터프라이즈 레벨(600)로 송신하기 위해 상기한 방식으로 화살표(8) 및 (9)를 통해 유저로 보내어질 수 있다.21 shows the flow of data for the expression composer characteristics described above. The expression composer 818 is a user level client application running on the client 800 that allows the user to graphically create mathematical and logic expressions. The expression resolution is sent to the expression parser engine 872 in the expression server 870 via arrow 1. The equation resolution is stored locally in the expression store 874. Expression parser 872 analyzes the expression resolutions, evaluates the expressions, and generates a list of PLC data tags that need to be known to store them in reference table 826 via arrow 3. The expression parser 872 uses the PLC data tag list to make a request to the PLC notifying any change in the data involved, via the arrow 4 to the publish / write client 822. Publication / recording client 822 registers these requests with publication / recording server 824 via arrow 5 and notifies any changes of these data items via arrows 6 and 7. The result of the evaluation of the expression can be sent to the user via arrows 8 and 9 in the manner described above to send the message to the enterprise level 600.

여기에서 본 발명의 바람직한 실시형태가 설명되었지만, 상기 기술분야에서 본자의 통상적인 기술 중의 하나로 이해되어야하며, 본 발명의 범위는 균등물 및 유사한 기능을 수행하는 기타 충족물을 포함하는 경향이 있다. 본 발명의 범위는 아래의 클레임에서 규정된다.While preferred embodiments of the present invention have been described herein, it should be understood as one of ordinary skill in the art in the art, and the scope of the present invention tends to include equivalents and other items that perform similar functions. The scope of the invention is defined in the claims below.

본 발명은 제조 프로세스를 직접 제어하고 수정하는 능력을 제공하는 것 뿐만 아니라 데이터를 캡쳐하고 플랜트 플로어 상에서 발생하는 개개의 이벤트를 식별하는 효과가 있다.The present invention not only provides the ability to directly control and modify the manufacturing process, but also has the effect of capturing data and identifying individual events occurring on the plant floor.

Claims (48)

제어 및 감시 장치와 데이터 통신하는 시스템에 있어서:In systems that communicate data with control and monitoring devices: 상기 제어 및 감시 장치에 연결되어 상기 제어 및 감시 장치와 통신하는 제어기로서, 네트워크 접속, 및 상기 제어기에 설치된 소프트웨어를 갖는 제어기를 포함하며;A controller coupled to and in communication with the control and monitoring device, the controller comprising a controller having a network connection and software installed on the controller; 상기 소프트웨어는 상기 제어 및 감시 장치로부터 데이터를 판독하고, 상기 제어 및 감시 장치로부터 비청구 메시지를 수신하며, 상기 소프트웨어는 상기 데이터 및 메시지를 상기 네트워크 접속을 통하여 수신지에 전송하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.The software reads data from the control and monitoring device, receives an unclaimed message from the control and monitoring device, and the software transmits the data and message to a destination via the network connection. And a system in data communication with the monitoring device. 제 1 항에 있어서,The method of claim 1, 상기 제어 및 감시 장치는 프로그램가능한 논리 제어기(PLC)이고, 상기 데이터는 상기 프로그램가능한 논리 제어기로부터 판독된 이산데이터 포인트인 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.The control and monitoring device is a programmable logic controller (PLC) and the data is a discrete data point read from the programmable logic controller. 제 2 항에 있어서,The method of claim 2, 상기 데이터는 하나 이상의 트리거 상태의 발생에 따라 상기 네트워크 접속을 통하여 전송되는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And the data is transmitted over the network connection in response to the occurrence of one or more trigger conditions. 제 3 항에 있어서,The method of claim 3, wherein 상기 하나 이상의 트리거 상태는 상기 PLC로부터의 비청구 메시지의 수신으로 구성되는 그룹, 상기 PLC로부터 판독된 데이터 포인트의 변화, 및 상기 PLC로부터 판독된 데이터 포인트에 관한 논리 상태의 만족으로부터 선택되는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.The at least one trigger state is selected from a group consisting of receipt of an unclaimed message from the PLC, a change in a data point read from the PLC, and a satisfaction of a logical state with respect to the data point read from the PLC System for data communication with a control and monitoring device. 제 4 항에 있어서,The method of claim 4, wherein 상기 제어기는 프로그램가능하여 상기 트리거 상태를 규정하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.The controller is programmable to define the trigger condition. 제 2 항에 있어서,The method of claim 2, 상기 소프트웨어는 상기 네트워크 접속을 통해서 수신된 요구에 응답하여 상기 데이터를 상기 네트워크 접속을 통하여 수신지에 전송하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And the software transmits the data to a destination via the network connection in response to a request received through the network connection. 제 5 항에 있어서,The method of claim 5, 상기 트리거 상태의 상기 프로그래밍은 상기 데이터의 상기 수신지에 관한 정보 및 상기 트리거 상태의 만족에 따라 상기 데이터가 전송되게 하는 포맷을 포함하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.The programming of the trigger state comprises a format for causing the data to be transmitted in accordance with information about the destination of the data and the satisfaction of the trigger state. 제 7 항에 있어서,The method of claim 7, wherein 상기 데이터는 상기 네트워크 접속을 통하여 상기 수신지에 전송되기 전에 포맷되는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And the data is formatted before being transmitted to the destination via the network connection. 제 8 항에 있어서,The method of claim 8, 상기 포맷 데이터는 TCP, 메시지 큐, SMTP, 및 SQL 데이터베이스 호출을 포함하는 하나 이상의 다른 프로토콜을 사용한 상기 네트워크 접속을 통하여 전송되는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.The format data is transmitted over the network connection using one or more other protocols including TCP, message queue, SMTP, and SQL database calls. 제 7 항에 있어서,The method of claim 7, wherein 상기 소프트웨어는 상기 데이터를 데이터베이스에 삽입하거나 또는 데이터베이스에 이미 상주하는 데이터를 업데이트하며, 상기 데이터베이스는 상기 네트워크 접속을 통하여 상기 제어기에 접속된 컴퓨터에 상주하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.The software inserts the data into a database or updates data already residing in the database, the database residing on a computer connected to the controller via the network connection. system. 제 8 항에 있어서,The method of claim 8, 상기 소프트웨어는 상기 네트워크 접속을 통하여 상기 제어기에 접속된 컴퓨터상에서 실행되는 애플리케이션에 상기 포맷 메시지를 전송하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And said software transmits said format message to an application running on a computer connected to said controller via said network connection. 제 7 항에 있어서,The method of claim 7, wherein 상기 제어기상의 비휘발성 기억 장치에 포함된 하나 이상의 구성 파일을 더 포함하며, 상기 구성 파일은 모두 규정된 프로젝트, 전송 및 범용 세팅의 기록을 포함하며, 상기 소프트웨어는 그 자체를 전원 장애 상태로부터의 회복에 따라 상기 구성 파일을 사용한 이전 상태로 복구하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.Further comprising one or more configuration files contained in non-volatile memory on the controller, the configuration files all including a record of defined project, transfer and general purpose settings, the software recovering itself from a power failure condition. Restoring to a previous state using the configuration file according to claim 1, wherein the system is in data communication with the control and monitoring device. 제 7 항에 있어서,The method of claim 7, wherein 상기 PLC로부터 판독된 모든 참조 이산 데이터 포인트의 현재 상태를 포함하는 휘발성 작업용 기억 영역을 더 포함하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And a volatile working storage area containing a current state of all reference discrete data points read from the PLC. 제 8 항에 있어서,The method of claim 8, 상기 제어기상의 비휘발성 기억 장치에 포함된 일시 기억 영역을 더 포함하며, 상기 포맷 데이터는 상기 네트워크 접속이 이용되지 않는 경우에 기억되는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And a temporary storage area included in the nonvolatile memory device on the controller, wherein the format data is stored when the network connection is not used. 제 14 항에 있어서,The method of claim 14, 상기 소프트웨어는 상기 네트워크 접속이 이용되는 경우 상기 일시 기억 영 역에 기억된 모든 포맷 데이터를 재전송하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And the software retransmits all the format data stored in the temporary storage area when the network connection is used. 제 8 항에 있어서,The method of claim 8, 상기 제어기내의 비휘발성 기억 장치에 기억된 하나 이상의 로그 파일을 더 포함하며, 상기 소프트웨어는 상기 로그 파일을 등록하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And at least one log file stored in a nonvolatile memory device in the controller, wherein the software registers the log file. 제 8 항에 있어서,The method of claim 8, 상기 네트워크 접속을 통하여 상기 제어기에 접속된 컴퓨터상에서 실행되는 유저 애플리케이션을 더 포함하며, 상기 유저 애플리케이션은 상기 유저가 상기 제어기를 구성 및 프로그램하게 하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And a user application running on a computer connected to the controller via the network connection, the user application causing the user to configure and program the controller. 제 18 항에 있어서,The method of claim 18, 상기 유저는 하나 이상의 트리거 상태로 구성되는 프로젝트를 생성하고, 상기 프로젝트는 상기 네트워크 접속을 통하여 상기 제어기내의 상기 소프트웨어에 다운로드되는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And the user creates a project consisting of one or more trigger states, the project being downloaded to the software in the controller via the network connection. 제 18 항에 있어서,The method of claim 18, 상기 유저는 상기 데이터의 특정 수신지 및 상기 특정 수신기와의 관련 트리거 상태를 규정하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And the user defines a specific destination of the data and an associated trigger condition with the particular receiver. 제 19 항에 있어서,The method of claim 19, 상기 특정 수신지는 네트워크 접속을 갖는 컴퓨터상에서 실행되는 애플리케이션, 네트워크 접속을 갖는 컴퓨터상에 상주하는 데이터베이스, 및 이메일 어드레스로 구성되는 그룹으로부터 선택되는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And said particular destination is selected from the group consisting of an application running on a computer with a network connection, a database residing on a computer with a network connection, and an email address. 제 20 항에 있어서,The method of claim 20, 상기 제어기는 상기 트리거 상태가 만족될 경우 상기 데이터를 트리거 상태와 관련된 상기 특정 수신지에 직접 전송하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And the controller directly transmits the data to the specific destination associated with the trigger condition when the trigger condition is satisfied. 제 20 항에 있어서,The method of claim 20, 상기 유저는 상기 데이터를 상기 특정 수신지에 전송하는데 사용되는 방법을 지정하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And the user specifies a method used to transmit the data to the specific destination. 제 22 항에 있어서,The method of claim 22, 상기 방법은 TCP 메시지, SQL 데이터베이스 호출, 및 SMTP 메시지를 포함하는 그룹으로부터 선택되는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And wherein the method is selected from the group comprising TCP messages, SQL database calls, and SMTP messages. 제 2 항에 있어서,The method of claim 2, 상기 제어기 및 상기 PLC는 공통 백플레인을 공유하고, 상기 제어기는 상기 백플레인을 통하여 상기 PLC와 통신하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And said controller and said PLC share a common backplane, said controller communicating with said PLC via said backplane. 제 24 항에 있어서,The method of claim 24, 상기 제어기는 공통 백플레인과 다중 PLC를 공유하고, 상기 공유 백플레인을 통하여 상기 다중 PLC와 통신하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And the controller shares a plurality of PLCs with a common backplane and communicates with the plurality of PLCs via the shared backplane. 제 24 항에 있어서,The method of claim 24, 상기 PLC는 통신 채널을 통하여 제 2 PLC에 연결되고, 상기 제어기는 백플레인을 공유하는 PLC를 통하여 상기 제 2 PLC와 통신하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.The PLC is connected to the second PLC via a communication channel, and the controller communicates with the second PLC via a PLC sharing a backplane. 제 24 항에 있어서,The method of claim 24, 상기 통신 채널은 직렬 접속 또는 TCP/IP 접속을 포함하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.Wherein said communication channel comprises a serial connection or a TCP / IP connection. 제 2 항에 있어서,The method of claim 2, 상기 소프트웨어는 통신 장치 드라이버를 더 포함하고, 상기 장치 드라이버는 상기 제어기가 통신 채널을 통하여 제 2 PLC와 통신하게 하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.The software further comprises a communication device driver, the device driver causing the controller to communicate with a second PLC via a communication channel. 제 28 항에 있어서,The method of claim 28, 상기 통신 채널은 직렬 접속 또는 TCP/IP 접속을 포함하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.Wherein said communication channel comprises a serial connection or a TCP / IP connection. 제 2 항에 있어서,The method of claim 2, 상기 제어기는 상기 PLC상에서 상기 이산 데이터 포인트를 수정하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템..And said controller modifies said discrete data point on said PLC. 제 30 항에 있어서,The method of claim 30, 상기 PLC는 상기 제어기로부터 특정 데이터를 요구하고, 상기 제어기는 상기 네트워크 접속을 통하여 상기 PLC에 의해 요구된 상기 데이터를 검색하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.Said PLC requesting specific data from said controller, said controller retrieving said data requested by said PLC via said network connection. 제 7 항에 있어서,The method of claim 7, wherein 상기 제어기를 구성하며, 상기 트리거 상태를 규정하고, 상기 데이터에 대한 상기 수신지를 규정하기 위해서 상기 네트워크 접속을 통하여 상기 제어기에 접속된 컴퓨터상에서 실행되는 유저 애플리케이션을 더 포함하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.Control and monitoring further comprising a user application configured to configure the controller, to define the trigger condition, and to define the destination for the data, the computer being connected to the controller via the network connection. A system in data communication with a device. 제 2 항에 있어서,The method of claim 2, 상기 소프트웨어는 상기 PLC로부터 판독된 상기 데이터의 변화를 트래킹하고 논리 조작을 상기 PLC로부터 판독된 상기 데이터에 적용하는 논리 서버를 더 포함하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.The software further comprises a logic server that tracks changes in the data read from the PLC and applies logic operations to the data read from the PLC. 제 33 항에 있어서,The method of claim 33, wherein 상기 논리 서버에 대한 논리 흐름을 구성하기 위해서 상기 네트워크 wqj속을 통하여 상기 제어기에 접속된 컴퓨터상에서 실행되는 논리 컴포저 애플리케이션을 더 포함하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And a logical composer application running on a computer connected to the controller through the network wqj to construct a logic flow for the logical server. 제 2 항에 있어서,The method of claim 2, 상기 소프트웨어는 상기 네트워크 접속을 통하여 상기 제어기에 접속된 유저 디스플레이를 유지하고 업데이트하는 디스플레이 서버를 더 포함하는 것을 특징으 로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.The software further comprises a display server for maintaining and updating a user display connected to the controller via the network connection. 제 35 항에 있어서,36. The method of claim 35 wherein 상기 디스플레이 서버에 의해 유지되고 업데이트된 상기 디스플레이를 뷰잉하기 위해서 상기 네트워크 접속을 통하여 상기 제어기에 접속된 컴퓨터상에서 실행되는 뷰어 애플리케이션을 더 포함하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And a viewer application running on a computer connected to the controller via the network connection to view the display maintained and updated by the display server. 제 36 항에 있어서,The method of claim 36, 상기 뷰어 애플리케이션은 웹 브라우저인 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And the viewer application is a web browser. 제 2 항에 있어서,The method of claim 2, 수리 또는 논리 익스프레션을 평가하고 상기 PLC로부터 판독된 데이터를 사용하는 익스프레션 서버를 더 포함하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And an expression server that evaluates the repair or logical expression and uses the data read from the PLC. 제 38 항에 있어서,The method of claim 38, 상기 익스프레션 서버에 대한 수리 또는 논리 익스프레션을 구성하기 위해서 상기 네트워크 접속을 통하여 상기 제어기에 접속된 컴퓨터상에서 실행되는 익스프 레션 컴포저 애플리케이션을 더 포함하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And an expression composer application running on a computer connected to the controller via the network connection to configure a repair or logical expression for the expression server. 제 23 항에 있어서,The method of claim 23, wherein 상기 제어기는 PC이고, 상기 소프트웨어는 장치 드라이버를 더 포함하고, 상기 장치 드라이버는 상기 PC가 하나 이상의 통신 채널을 통하여 하나 이상의 PLC와 통신하게 하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.The controller is a PC, the software further comprising a device driver, the device driver causing the PC to communicate with one or more PLCs through one or more communication channels. 제 40 항에 있어서,The method of claim 40, 상기 하나 이상의 통신 채널은 직렬 접속 또는 TCP/IP 접속 중 하나를 포함하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And said at least one communication channel comprises one of a serial connection or a TCP / IP connection. PLC와 데이터 통신하는 시스템에 있어서:In a system that communicates data with a PLC: 상기 PLC에 연결되어 상기 PLC와 통신하는 제어기로서, 상기 PLC로부터 특정 데이터 포인트를 판독하는 제어기를 포함하며;A controller coupled to and in communication with the PLC, the controller reading a specific data point from the PLC; 상기 제어기는,The controller, 네트워크 접속;Network connection; 트리거 상태를 평가하고 상기 트리거 상태가 만족될 경우 상기 PLC로부터 판독된 하나 이상의 상기 데이터 포인트를 상기 네트워크 접속을 통하여 소정의 수신지에 전송하는 상기 제어기에 설치된 소프트웨어 컴포넌트; 및A software component installed in the controller that evaluates a trigger condition and transmits one or more of the data points read from the PLC to a predetermined destination via the network connection when the trigger condition is satisfied; And 상기 제어기를 구성하고, 상기 트리거 상태를 규정하고, 상기 소정의 수신지를 규정하기 위해서 상기 네트워크 접속을 통하여 상기 제어기에 접속된 컴퓨터상에서 실행되는 유저 애플리케이션을 가지는 것을 특징으로 하는 PLC와 데이터 통신하는 시스템.And a user application running on a computer connected to said controller via said network connection to configure said controller, define said trigger condition, and define said predetermined destination. 제 42 항에 있어서,The method of claim 42, 상기 소정의 수신지는 네트워크 접속을 갖는 컴퓨터상에서 실행되는 애플리케이션, 네트워크 접속을 갖는 컴퓨터상에 상주하는 데이터베이스, 및 이메일 어드레스로 구성되는 그룹으로부터 선택되는 것을 특징으로 하는 PLC와 데이터 통신하는 시스템.And the predetermined destination is selected from the group consisting of an application running on a computer with a network connection, a database resident on the computer with a network connection, and an email address. 제 42 항에 있어서,The method of claim 42, 상기 제어기는 상기 PLC의 백플레인으로 플러그되고 상기 백플레인을 통하여 상기 PLC와 통신하는 것을 특징으로 하는 PLC와 데이터 통신하는 시스템.The controller is plugged into the backplane of the PLC and communicates with the PLC via the backplane. 제 42 항에 있어서,The method of claim 42, 상기 트리거 상태는 상기 PLC로부터의 비청구 메지의 수신, 상기 PLC로부터판독된 데이터 포인트의 변화, 및 상기 PLC로부터 판독된 데이터 포인트에 관한 논리 상태의 만족으로 구성되는 그룹으로부터 선택되는 것을 특징으로 하는 PLC와 데이터 통신하는 시스템.The trigger state is selected from the group consisting of the receipt of an unclaimed message from the PLC, a change in a data point read from the PLC, and a satisfaction of a logic state with respect to a data point read from the PLC A system for communicating data with. 제어 및 감시 장치와 데이터 통신하는 시스템에 있어서:In systems that communicate data with control and monitoring devices: 하나 이상의 상기 제어 및 감시 장치에 연결되어 이 장치와 통신하는 PC를 포함하며;A PC coupled to and in communication with one or more of said control and monitoring devices; 상기 PC는,The PC, 네트워크 접속; 및Network connection; And 상기 PC에 설치된 소프트웨어로서, 상기 하나 이상의 제어 및 감시 장치로부터 데이터를 판독하고 상기 하나 이상의 제어 및 감시 장치로부터 비청구 메시지를 수신하는 장치 드라이버를 포함하는 소프트웨어를 가지며;Software installed on the PC, the software including device drivers that read data from the one or more control and monitoring devices and receive unclaimed messages from the one or more control and monitoring devices; 상기 소프트웨어는 상기 데이터 및 메시지를 상기 네트워크 접속을 통하여 수신지에 전송하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.And said software transmits said data and messages to a destination via said network connection. 제 46 항에 있어서,The method of claim 46, 상기 하나 이상의 제어 및 감시 장치는 프로그램가능한 논리 제어기(PLC)이고, 상기 데이터는 상기 하나 이상의 프로그램가능한 논리 제어기로부터 판독된 이산 데이터 포인트인 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.Said at least one control and monitoring device is a programmable logic controller (PLC) and said data is a discrete data point read from said at least one programmable logic controller. 제 47 항에 있어서,The method of claim 47, 상기 PC는 하나 이상의 대응하는 통신 채널을 통하여 하나 이상의 PLC에 연결되고, 상기 통신 채널은 직렬 접속 또는 TCP/IP 접속 중 하나를 포함하는 것을 특징으로 하는 제어 및 감시 장치와 데이터 통신하는 시스템.The PC is connected to one or more PLCs via one or more corresponding communication channels, the communication channel comprising one of a serial connection or a TCP / IP connection.
KR1020060049526A 2005-06-01 2006-06-01 Model for communication between manufacturing and enterprise levels KR20060125594A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/142,200 2005-06-01
US11/142,200 US7904181B2 (en) 2004-06-01 2005-06-01 Model for communication between manufacturing and enterprise levels

Publications (1)

Publication Number Publication Date
KR20060125594A true KR20060125594A (en) 2006-12-06

Family

ID=36940612

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060049526A KR20060125594A (en) 2005-06-01 2006-06-01 Model for communication between manufacturing and enterprise levels

Country Status (10)

Country Link
US (1) US7904181B2 (en)
EP (1) EP1736839A3 (en)
JP (1) JP5005263B2 (en)
KR (1) KR20060125594A (en)
CN (1) CN1901671A (en)
AU (1) AU2006202340A1 (en)
CA (1) CA2549321C (en)
IL (1) IL175962A (en)
MX (1) MXPA06006195A (en)
TW (1) TW200710750A (en)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7788399B2 (en) 2001-03-26 2010-08-31 Salesforce.Com, Inc. System and method for mapping of services
US7689711B2 (en) 2001-03-26 2010-03-30 Salesforce.Com, Inc. System and method for routing messages between applications
US9948644B2 (en) 2001-03-26 2018-04-17 Salesforce.Com, Inc. Routing messages between applications
US7801628B2 (en) * 2005-09-30 2010-09-21 Rockwell Automation Technologies, Inc. Industrial operator interfaces interacting with higher-level business workflow
US20070226318A1 (en) * 2006-02-21 2007-09-27 Rydberg Kris M System, method, and device for communicating between a field device, device controller, and enterprise application
US8266308B2 (en) * 2006-02-21 2012-09-11 Comtrol Corporation System, method, and device for communicating between a field device, device controller, and enterprise application
US7463935B1 (en) * 2006-03-09 2008-12-09 Rockwell Automation Technologies, Inc. Message queuing in an industrial environment
US9594606B2 (en) * 2006-06-06 2017-03-14 Siemens Industry, Inc. Runtime extension framework
US20070288482A1 (en) * 2006-06-09 2007-12-13 Bea Systems, Inc. RFID Workflow Client
US8120489B2 (en) * 2006-06-09 2012-02-21 Oracle International Corporation Workflow improvements
US7880590B2 (en) 2006-07-18 2011-02-01 Hewlett-Packard Development Company, L.P. Method and apparatus for localization of configurable devices
US7852198B2 (en) * 2006-07-18 2010-12-14 Hewlett-Packard Development Company, L.P. RF tag
DE102006038696B4 (en) * 2006-08-18 2012-05-03 Dematic Gmbh System and method for controlling a conveyor system with a communication device for converting data between different data formats
US20080126352A1 (en) * 2006-09-27 2008-05-29 Rockwell Automation Technologies, Inc. Client side state cache for industrial control systems
US8402201B2 (en) 2006-12-06 2013-03-19 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery in solid-state storage
US8380842B2 (en) 2007-04-26 2013-02-19 Mtelligence Corporation System and methods for the universal integration of plant floor assets and a computerized management system
EP2191336B1 (en) * 2007-09-21 2012-03-14 Siemens Aktiengesellschaft Method of configuring manufacturing execution systems
DE102007045926A1 (en) * 2007-09-26 2009-04-02 Robert Bosch Gmbh Interface between a production management system and an automation system
US20090327023A1 (en) * 2008-06-25 2009-12-31 Nanji Chris System for management and control of an enterprise
EP2161637B1 (en) * 2008-09-04 2015-05-20 Siemens Aktiengesellschaft Method for updating manufacturing planning data for a production process
EP2309432A1 (en) * 2009-09-07 2011-04-13 Siemens Aktiengesellschaft A method and a system for propagating a scaling mode in a production process
US8601222B2 (en) 2010-05-13 2013-12-03 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
CN102597910B (en) 2009-09-09 2015-03-25 弗森-艾奥公司 Apparatus, system, and method for power reduction management in a storage device
US8468270B2 (en) * 2009-12-11 2013-06-18 General Electric Company Method, system, and apparatus for archiving networked data
US8725934B2 (en) 2011-12-22 2014-05-13 Fusion-Io, Inc. Methods and appratuses for atomic storage operations
WO2012016089A2 (en) 2010-07-28 2012-02-02 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
JP2012084119A (en) * 2010-09-16 2012-04-26 Ricoh Co Ltd Device management apparatus and device management program
US8910143B2 (en) * 2010-09-20 2014-12-09 General Electric Company Conversion system and method for use in upgrading a monitoring system
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US9953280B2 (en) 2011-11-15 2018-04-24 Rockwell Automation Technologies, Inc. Industry-specific workflows in a manufacturing execution system with premier integration
US9551983B2 (en) * 2011-11-15 2017-01-24 Rockwell Automation Technologies, Inc. Activity set management in a Manufacturing Execution System
US9588503B2 (en) 2011-11-15 2017-03-07 Rockwell Automation Technologies, Inc. Routing of enterprise resource planning messages
US9274937B2 (en) 2011-12-22 2016-03-01 Longitude Enterprise Flash S.A.R.L. Systems, methods, and interfaces for vector input/output operations
US10133662B2 (en) 2012-06-29 2018-11-20 Sandisk Technologies Llc Systems, methods, and interfaces for managing persistent data of atomic storage operations
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
EP2825847A4 (en) * 2012-03-16 2015-12-09 Qoros Automotive Co Ltd Mobile system and method for marking location
CN103914018A (en) 2012-12-31 2014-07-09 施耐德电器工业公司 Programming support system and method for programmable logic controller
US9535808B2 (en) 2013-03-15 2017-01-03 Mtelligence Corporation System and methods for automated plant asset failure detection
US9454158B2 (en) 2013-03-15 2016-09-27 Bhushan Somani Real time diagnostics for flow controller systems and methods
US10543706B2 (en) * 2013-08-09 2020-01-28 MeccoPartners, LLC EIP protocol converter system for laser for dot peen marking systems
US9842302B2 (en) 2013-08-26 2017-12-12 Mtelligence Corporation Population-based learning with deep belief networks
CN103592907B (en) * 2013-10-14 2016-02-17 苏州市职业大学 A kind of Ethernet Data Acquisition System
JP6821559B2 (en) * 2014-09-30 2021-01-27 エマソン・プロセス・マネジメント・エルエルエルピーEmerson Process Management Lllp Field equipment with self-healing function
US10175674B2 (en) 2014-10-10 2019-01-08 Mitsubishi Electric Corporation Programmable logic controller configured to back up transmission destination mail address data and restore the transmission destination mail address data during reoperation
US9922097B2 (en) * 2015-04-28 2018-03-20 Splunk Inc. Facilitating configuration of alerts based on information obtained from search results in a query-processing system
CN105843157B (en) * 2016-03-30 2018-10-12 上海云统信息科技有限公司 PLC system and its working method with teledata trace trap function
US10887395B2 (en) * 2016-11-21 2021-01-05 Ecosteer Srl Processing signals from a sensor group
CN109190944A (en) * 2018-08-20 2019-01-11 国药集团重庆医药设计院有限公司 Medicine enterprise manufactures execution system
JP7245742B2 (en) * 2019-07-25 2023-03-24 東芝三菱電機産業システム株式会社 SCADA web HMI server device
US11693386B2 (en) * 2019-08-27 2023-07-04 Samsung Eleotronics Co., Ltd. Method and electronic device for guiding semiconductor manufacturing process
CN114518724B (en) * 2022-01-28 2023-04-28 弥费科技(上海)股份有限公司 Communication device and communication mode suitable for AMHS

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5038318A (en) * 1987-12-17 1991-08-06 Square D Company Device for communicating real time data between a programmable logic controller and a program operating in a central controller
US5245704A (en) * 1990-03-22 1993-09-14 Square D Company System for sharing data between microprocessor based devices
GB9006661D0 (en) * 1990-03-24 1990-05-23 Reflex Manufacturing Systems L Network-field interface for manufacturing systems
US5377315A (en) * 1992-10-06 1994-12-27 Leggett; Andrew G. Regeneration of process control flow diagrams for programmable logic controllers
US5473757A (en) * 1992-12-11 1995-12-05 Ge Fanuc Automation North America, Inc. I/O controller using single data lines for slot enable/interrupt signals and specific circuit for distinguishing between the signals thereof
JPH06304850A (en) * 1993-04-23 1994-11-01 Keyence Corp Production control data collector and production controlling terminal device
US5555504A (en) * 1994-06-10 1996-09-10 Johnson & Johnson Vision Products, Inc. Production line tracking and quality control system
DE69635409T2 (en) * 1995-03-06 2006-07-27 Intel Corp., Santa Clara A COMPUTER SYSTEM WITH UNBEATED ON-REQUEST AVAILABILITY
US5729067A (en) * 1995-08-30 1998-03-17 Eaton Corporation Method and apparatus for closed loop position control in a linear motor system
US6401081B1 (en) 1995-11-20 2002-06-04 Schlumberger Resource Management Services, Inc. Modular object-based architecture for extensible master station software
GB2319867B (en) * 1996-01-31 1999-04-14 Mitsubishi Electric Corp Data processing apparatus
TWI249760B (en) 1996-07-31 2006-02-21 Canon Kk Remote maintenance system
US6175765B1 (en) * 1997-03-05 2001-01-16 Medtronic Physio-Control Manufacturing Corp. H-bridge circuit for generating a high-energy biphasic waveform in an external defibrillator
JP3295753B2 (en) * 1997-08-01 2002-06-24 株式会社椿本チエイン Load monitoring device
US6370569B1 (en) * 1997-11-14 2002-04-09 National Instruments Corporation Data socket system and method for accessing data sources using URLs
US6108662A (en) 1998-05-08 2000-08-22 Allen-Bradley Company, Llc System method and article of manufacture for integrated enterprise-wide control
US6252363B1 (en) * 1998-06-01 2001-06-26 Prestolite Wire Corporation Circuit for timed position control of device driven by a DC motor
JP2000047707A (en) * 1998-07-27 2000-02-18 Omron Corp Information managing device and its control method
US6853867B1 (en) * 1998-12-30 2005-02-08 Schneider Automation Inc. Interface to a programmable logic controller
US6147601A (en) * 1999-01-09 2000-11-14 Heat - Timer Corp. Electronic message delivery system utilizable in the monitoring of remote equipment and method of same
US6268853B1 (en) * 1999-09-30 2001-07-31 Rockwell Technologies, L.L.C. Data structure for use in enterprise controls
JP2003513348A (en) 1999-10-27 2003-04-08 ロイ ジー ビヴ コーポレイション System and method for generating and communicating athletic data via a distributed network
WO2001038995A1 (en) 1999-11-03 2001-05-31 Avantcom Network, Inc. Method and apparatus for proprietary data collection and distribution
DE19962230A1 (en) * 1999-12-22 2001-06-28 Siemens Ag Industrial control and monitoring of machine tools, robots and finishing machinery, so that automatic condition reporting and alarm signals can be converted into messages or e-mail and immediately sent to the appropriate personnel
US6408260B1 (en) * 2000-02-16 2002-06-18 Cymer, Inc. Laser lithography quality alarm system
US6801835B2 (en) * 2000-02-28 2004-10-05 Autogas Systems, Inc. System and method for controlling an automated fueling station
US6373389B1 (en) * 2000-04-21 2002-04-16 Usm Systems, Ltd. Event driven information system
AU2001255627A1 (en) * 2000-04-24 2001-11-07 Spectrum Controls, Inc. Method, system, and apparatus for providing data regarding the operation and monitoring of a control system
US20010054044A1 (en) * 2000-06-14 2001-12-20 Liu Yi Bo Method for monitoring and browsing database of test system
US20020022969A1 (en) 2000-07-07 2002-02-21 Berg Marc Van Den Remote automated customer support for manufacturing equipment
US6757714B1 (en) 2000-07-28 2004-06-29 Axeda Systems Operating Company, Inc. Reporting the state of an apparatus to a remote computer
US6760782B1 (en) * 2000-08-04 2004-07-06 Schneider Automation Inc. Apparatus for controlling internetwork communications
JP2002091888A (en) * 2000-09-12 2002-03-29 Digital Electronics Corp Control system and recording medium with mail transmission program applied to the system recoded therein
US6728262B1 (en) * 2000-10-02 2004-04-27 Coi Software, Inc. System and method for integrating process control and network management
JP2002152259A (en) * 2000-11-13 2002-05-24 Yozan Inc Communication terminal and charging processing unit
US7162534B2 (en) * 2001-07-10 2007-01-09 Fisher-Rosemount Systems, Inc. Transactional data communications for process control systems
JP2003111151A (en) * 2001-09-27 2003-04-11 Fuji Electric Co Ltd Remote supervisory control communication adaptor and remote supervisory control method
US7200448B2 (en) * 2001-11-27 2007-04-03 Rockwell Automation Technologies, Inc. System and method for function block execution order generation
EP1457032B1 (en) * 2001-12-18 2009-08-05 Siemens Energy & Automation, Inc. Numeric and text paging with an integral plc modem
JP3984046B2 (en) * 2001-12-21 2007-09-26 日清エンジニアリング株式会社 Information distribution device and remote engineering system
JP3783644B2 (en) * 2002-04-03 2006-06-07 ブラザー工業株式会社 Terminal information notification system, network terminal device, and computer program
JP2004005306A (en) * 2002-06-03 2004-01-08 Hitachi High-Technologies Corp Process operation monitoring operating device
US7149604B2 (en) * 2002-11-25 2006-12-12 Honda Giken Kogyo Kabushiki Kaisha Method and system for backing up programmable logic controllers over network
JP4161189B2 (en) * 2002-12-27 2008-10-08 オムロン株式会社 Information monitoring support device and information monitoring system
JP2004213406A (en) * 2003-01-06 2004-07-29 Mitsubishi Electric Corp Information communication unit for programmable controller, and remote management system and method for factory automation apparatus
US6840086B2 (en) * 2003-03-06 2005-01-11 Cincinnati Test Systems, Inc. Method and apparatus for detecting leaks
US6684121B1 (en) * 2003-05-16 2004-01-27 Taiwan Semiconductor Manufacturing Company Real time work-in-process (WIP) system

Also Published As

Publication number Publication date
US20050267882A1 (en) 2005-12-01
MXPA06006195A (en) 2007-01-25
TW200710750A (en) 2007-03-16
EP1736839A2 (en) 2006-12-27
CA2549321C (en) 2014-02-04
JP5005263B2 (en) 2012-08-22
JP2007012045A (en) 2007-01-18
IL175962A (en) 2011-11-30
CN1901671A (en) 2007-01-24
EP1736839A3 (en) 2018-07-04
US7904181B2 (en) 2011-03-08
CA2549321A1 (en) 2006-12-01
AU2006202340A1 (en) 2006-12-21
IL175962A0 (en) 2006-10-05

Similar Documents

Publication Publication Date Title
KR20060125594A (en) Model for communication between manufacturing and enterprise levels
US20230385273A1 (en) Web services platform with integration and interface of smart entities with enterprise applications
US8782249B1 (en) Message engine
US7836217B2 (en) Associating and evaluating status information for a primary input parameter value from a Profibus device
US7895315B2 (en) Supporting extensions to production event message schemes via production database server versioning
US20070088816A1 (en) System and method for monitoring the status of a bus in a server environment
US7142929B2 (en) Process data management
US7392100B1 (en) System and methodology that facilitate factory automation services in a distributed industrial automation environment
US7802235B2 (en) System and method for tracing and/or evaluating the exchange of information
CA3136404A1 (en) Selective address space aggregation
JP2019506680A (en) Relay mechanism to facilitate processor communication with inaccessible input / output (I / O) devices
Jennyc Linking Enterprise Business Systems to the Factory Floor
Lutes et al. VOLTTRON: User guide
US11494713B2 (en) Robotic process automation analytics platform
US10878690B2 (en) Unified status and alarm management for operations, monitoring, and maintenance of legacy and modern control systems from common user interface
EP3506034B1 (en) Control system
US11880676B1 (en) Containerized modeling of device updates or modifications via digital twins
US20240134630A1 (en) Containerized modeling of device updates or modifications via digital twins
TW576986B (en) Extensible modular communication executive with active message queue and intelligent message pre-validation
EP3723345A1 (en) Aggregating server and method for forwarding node data
CN115879905A (en) Systems, methods, and non-transitory computer-readable media for industrial machine monitoring
CN114430825A (en) Robot process automation data connector
CN114021054A (en) Operation and maintenance management method based on kvm combined industrial internet mode
IE83779B1 (en) Process data management
IE20030927A1 (en) Process data management

Legal Events

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