KR100317740B1 - 인텔리전트프로세스제어통신시스템과방법 - Google Patents

인텔리전트프로세스제어통신시스템과방법 Download PDF

Info

Publication number
KR100317740B1
KR100317740B1 KR1019940704580A KR19940704580A KR100317740B1 KR 100317740 B1 KR100317740 B1 KR 100317740B1 KR 1019940704580 A KR1019940704580 A KR 1019940704580A KR 19940704580 A KR19940704580 A KR 19940704580A KR 100317740 B1 KR100317740 B1 KR 100317740B1
Authority
KR
South Korea
Prior art keywords
process control
computer
data
memory
dynamic data
Prior art date
Application number
KR1019940704580A
Other languages
English (en)
Other versions
KR950702049A (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 그래햄 이. 테일러
Priority claimed from PCT/US1993/005206 external-priority patent/WO1993025965A1/en
Publication of KR950702049A publication Critical patent/KR950702049A/ko
Application granted granted Critical
Publication of KR100317740B1 publication Critical patent/KR100317740B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1633Error detection by comparing the output of redundant processing systems using mutual exchange of the output between the redundant processing components
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Multi Processors (AREA)

Abstract

다수의 능동형 용장 프로세스 제어 컴퓨터와 컴퓨터 네트워크 사이에 개재하는 인텔리전트 프론트-엔드 통신시스템을 제공한다. 인텔리전트 프론트-엔드 통신시스템은, 컴퓨터 네트워크와 결합된 적어도 하나의 프론트-엔드 컴퓨터 및 능동형 용장 프로세스 제어컴퓨터와 프론트-엔드 컴퓨터 사이에 결합된 직렬 통신 인터페이스를 포함한다. 직렬 통신 인터페이스는 능동형 용장 프로세스 제어컴퓨터로부터의 동적 데이터의 순차적 세트를 프론트-엔드 컴퓨터로 전송한다. 프론트-엔드 컴퓨터는 직렬 통신 인터페이스로부터 비동기 수신되는 동적데이터의 대응하는 세트를 격납하여 시간 정렬하기 위한 다수의 반사 또는 섀도우 메모리 버퍼를 포함한다.

Description

인텔리전트 프로세스 제어통신 시스템과 방법
발명의 배경
본 발명은 프로세스 제어 컴퓨터(process control computers)와 플랜트/근거리 통신망(plant/local area network) 사이의 "프론트-엔드(front-end)"통신기술에 관한 것으로, 특히 다수의 능동형 용장 프로세스 제어컴퓨터(actively redundant process control computer)의 조작을 가능하게 하는 인텔리전트(intelligent) 프론트-엔드 통신시스템과 그 방법에 관한 것이다.
화학제조 플랜트와 그 외의 비교적 큰 처리플랜트에 있어서, 제어컴퓨터와 오퍼레이터 워크스테이션의 네트워크가 플랜트에서 진행중인 물리적 프로세스의 자동화된 제어를 달성하는데 필요로 된다. 예컨대, 1987년 5월 5일자로 발행된 존스 등에 의한 미국 특허 제4,663,704호는 단일 데이터 하이웨이가 모든 다양한 입/출력 터미널과, 데이터 획득 스테이션, 제어장치 및, 기록유지장치등을 연결하는 플랜트용 분산형 처리시스템을 나타낸다. 마찬가지로, 1986년 8월 19일자로 발행된 헨젤에 의한 미국 특허 제4,607,256호는 네트워크상의 물리적 컴퓨터 모듈에 데이터를 전송하기 위해 플랜트 제어버스를 이용하는 플랜트 관리시스템을 나타낸다.
이러한 프로세스 제어 컴퓨터 네트워크중에는, 용장 프로세스 제어 컴퓨터가 플랜트 제어와 모니터링 시스템의 신뢰성을 향상시키는데 채용된다. 예컨대, 1991년 4월 16일자로 발행된 파이빅 등에 의한 미국 특허 제5,008,805호는 네트워크상에 전송되는 전송기 프로세서로부터의 제어메시지와 비교하기 위해 제어 스케쥴 테이블을 동시에 처리하는 "핫 스탠바이(hot standby)" 용장 프로세서를 포함하는 네트워크 제어시스템을 나타낸다. 용장 리스너 프로세서(redundant listener processor)는 전송기 프로세서가 고장난 경우에는 시스템의 제어를 이어받도록 메모리 내부에 2중 구조를 유지하고 있다. 그 다른 예로서 1990년 9월 18일자로 발행된 맥라우린 등에 의한 미국 특허 제4,958,270호는 1차 콘트롤러와 2차 콘트롤러를 채용한 네트워크 제어시스템을 나타낸다. 1차 데이터 베이스와 데이터 베이스의 2차 이미지 사이의 일관성을 유지하기 위해 변경된 소정 영역만이 갱신 기능의 효율을 향상시키는 방법으로서 갱신된다. 마찬가지로, 1989년 10월 3일에 발행된 슬래터에 의한 미국 특허 제4,872,106호는 1차 데이터 프로세서와 백업 데이터 프로세서를 채용한 네트워크 제어 시스템을 나타낸다. 통상적으로, 백업 프로세서는 백업 모드동작에서 필요로 되는데, 입/출력 장치의 제어를 행하거나 입/출력 장치의 상태와 관련되는 데이터를 수신하도록 동작하지는 않게 된다. 따라서, 입/출력장치의 제어는 오로지 1차 프로세서에 의해 행해진다. 그러나, 1차 프로세서는 2개의 프로세서 사이에 연결된 2중 포트 메모리를 매개로 백업 데이터 프로세서로 입/출력장치 제어중에서의 자기동작과 관련되는 상태 데이터를 정기적으로 전송한다.한편, 상기한 네트워크 제어 시스템과는 대조적으로, 용장 프로세스 제어 컴퓨터용의 다른 제어기술이 존재하고 있고, 여기에서는 양 프로세스 제어 컴퓨터는 입력 데이터상에서 작동하여 동일한 출력 장치에 제어명령을 실행한다. 이러한 제어기술은 액티브 리던던시(active redundancy; 능동 용장성)로서 언급되는데, 이는 각각의 용장 프로세스 제어 컴퓨터가 공통의 입력 데이터상에서 독립적임과 더불어 동시적으로 동작하기 때문이다. 이러한 형태의 제어기술의 논의는 l99l년 3월 31일에 출원된 글래서 등에 의한 미국 특허 출원 제O7/864,931호인 "3중 용장리모트 필드유니트를 갖춘 프로세스 제어 인터페이스 시스템"에서 찾을 수 있다. 이 출원은 여기서 참고자료로서 취급한다.
제어기술로서의 액티브 리던던시의 사용에서는, 각 능동형 용장 프로세스 제어 컴퓨터가 한 세트의 입력값을 받아들이고, 이들 각 프로세스 제어 컴퓨터가 한 세트의 출력값을 발생시킴에 따라 플랜트 컴퓨터 네트워크와의 통신에 있어서 어려운 문제를 야기시킨다. 능동형 용장 프로세스 제어컴퓨터가 차가 존재하는 정도까지 입출력값의 일부 또는 전체를 조정 또는 해결하는 경우에는, 다수 세트의 입 출력값이 생성될 것이다. 예컨대, 한 세트의 전-조정(pre-arbitration) 및 후-조정(post-arbitration) 입력 데이터값이 각 능동형 용장 프로세스 제어컴퓨터로부터 얻을 수 있을 것이다. 따라서, 이들 데이터 세트의 일부 또는 전부가 플랜트 네트워크상의 다른 컴퓨터에 의해, 능동형 용장 프로세스 제어컴퓨터의 동작을 방해하거나 감속시키는 일없이 매치되고 분석되도록 하는 것이 바람직할 것이다.
더욱이, 아날로그 상수(analog constants)와 같은 각 능동형 용장 프로세스컴퓨터의 프로그램에 사용되고 있는 어느 일정한 값을 수정할 수 있게 하는 것이 바람직하다. 그러나, 이러한 동작에는 물리적 장치의 동작상의 예측 가능한 변경은 보장되어야만 하기 때문에, 어떠한 방법으로 제한을 가할 필요가 있다는 점을 인식해야만 한다.
본 발명은 상기한 점을 감안하여 발명된 것으로, 본 발명의 주요한 목적은,능동형 용장 프로세스 제어컴퓨터와 플랜트/근거리 통신망 사이의 고속통신을 가능하게 하는 인텔리전트 프론트-엔드 통신시스템과 그 방법을 제공하는 것이다.
본 발명의 제2목적은, 능동형 용장 프로세스 제어컴퓨터의 동작에 끼어들지않는 방법으로 대응하는 데이터 세트가 비동기적으로 수신되고, 또 시계열(時系列)화되는 것을 가능하게 하는 인텔리전트 프론트-엔드 통신시스템과 그 방법을 제공하는 것이다.
본 발명의 제3목적은, 능동형 용장 프로세스 제어컴퓨터를 플랜트/근거리 통신망에서 멀리 떨어진 곳에 배치할 수 있는 인텔리전트 프론트-엔드 통신시스템과 그 방법을 제공하는 것이다.
본 발명의 제4목적은, 멀리 배치한 능동형 용장 프로세스 제어컴퓨터와의 통신을 위한 실질적인 데이터 전송보호를 제공하는 인텔리전트 프론트-엔드 통신시스템과 그 방법을 제공하는 것이다.
본 발명의 제5목적은, 다른 시계열 데이터 세트의 일부로부터의 동적 프로세스 데이터의 상관을 가능하게 하는 인텔리전트 프론트-엔드 통신시스템과 그 방법
을 제공하는 것이다.
발명의 요약
상기 목적을 달성하기 위해 본 발명은, 다수의 능동형 용장 프로세스 제어컴퓨터와 컴퓨터 네트워크와의 사이에 개재되는 인텔리전트 프론트-엔드 통신시스템을 제공한다. 인텔리전트 프론트-엔드 통신시스템은 적어도 컴퓨터 네트워크에 결합되는 1개의 프론트-엔드 컴퓨터와, 능동형 용장 프로세스 제어컴퓨터와 프론트-엔드 컴퓨터 사이에 결합되는 직렬 통신 인터페이스를 포함한다. 직렬 통신 인터페이스는 능동형 용장 프로세스 제어컴퓨터로부터의 동적 데이터의 세트를 순차적으로 프론트-엔드 컴퓨터로 전송한다. 프론트-엔드 컴퓨터는 직렬 통신 인터페이스로부터 비동기적으로 수신한 대응하는 동적 데이터의 세트를 기억하고, 시계열화하는 것 때문에 다수의 반사 또는 섀도우(shadow) 메모리 버퍼를 포함한다.
본 발명의 1형태에 있어서는, 직렬 통신 인터페이스는 능동형 용장 프로세스제어컴퓨터 각각에 연결되어 있는 제1인터페이스 회로와, 프론트-엔드 컴퓨터에 연결되어 있는 제2인터페이스 회로 및, 제2인터페이스 회로와 각 제1인터페이스 회로사이에 쌍방향 동시 통신을 가능하게 하는 광섬유 링크를 포함한다. 더욱이, 프론트-엔드 컴퓨터내의 반사 메모리 버퍼는 원형 로빈 방식으로 동작하는 3중 버퍼이다. 또한, 반사 메모리버퍼에 1세트의 상관버퍼를 포함하여 각 프로세스 제어컴퓨터로부터의 시간적으로 인접하는 2세트의 동적 데이터 부분을 같은 시간으로부터의 데이터를 대표하는 대응 데이터수를 형성시키게 하도록 할 수도 있다.
본 발명의 그 외 특징 및 효과는 호적한 실시예의 상세한 설명 및 이하의 첨부도면에 의해 명백해진다.
도 1은 본 발명에 따른 인텔리전트 프론트-엔드 통신시스템의 블록도,
도 2a 및 도 2b는 도 1에 도시된 시계열 반사 메모리버퍼내에 기억된 데이터테이블 및 상관버퍼의 개략도,
도 3은 도 1에 도시된 프론트-엔드 컴퓨터를 위한 응용 소프트웨어의 블록 도,
도 4는 프론트-엔드 컴퓨터의 구성을 나타낸 설명도,
도 5는 프론트-엔드 컴퓨터내의 반사 메모리버퍼와, IFS회로내의 전송맵 및,프로세스 제어컴퓨터내의 데이터 메모리간의 관련을 나타낸 설명도,
도 6은 도 1에 도시된 IFS회로의 블록도,
도 7은 도 l에 도시된 IFQ회로의 블록도이다.
실시예의 상세한 설명
도 1은 1조의 능동형 용장 프로세스 제어컴퓨터(l2a,l2b)에 결합되어 있는 인텔리전트 프론트-엔드 통신시스템(10)을 나타낸 블록도로서, 각 프로세스 제어컴퓨터(l2a,l2b)는 필드 컴퓨터 유니트(도시되어 있지 않음)나 그 외의 적절한 필드 수단으로부터 공통 입력데이터를 수신한다. 이러한 점에서 상기 글레이서 등에 의한 미국 특허 출원 제O7/864,931호는 프로세스 제어컴퓨터(l2a,l2b)와 같은 1종의 능동형 용장 프로세스 제어컴퓨터와, 제어계내의 물리적 프로세스에 직접관련하고 있는 입/출력장치 사이의 통신 및 제어링크를 상세하게 설명하고 있다.
2개의 능동적으로 작동하고 있는 프로세스 제어컴퓨터의 용장성이 1개의 의사 결정 프로세스 제어컴퓨터상에서의 고장발생에 대한 허용력에 대해 어떤 이점을 갖기 때문에, 본 발명의 원리는 프로세스 제어컴퓨터의 어떤 특정 구성에도 제한되는 것은 아니다라는 것을 이해해야만 한다. 따라서, 예컨대 적절한 상황에 있어서는, 도 1에 도시된 2개의 프로세스 제어컴퓨터(l2a,l2b) 대신 3개의 프로세스 제어컴퓨터를 도입하는 것이 바람직할 수도 있다.
본 실시예에 있어서, 프로세스 제어컴퓨터(l2a,l2b)는 하나 이상의 필드 컴퓨터 유니트로부터 전송된 모든 신호와 동시에 동작하는 것이 바람직하다. 즉,각 프로세스 제어컴퓨터(l2a,l2b)는 필드로부터의 이러한 용장 컴퓨터에 의해 수신된 데이터를 기초로 독립적인 결정을 만들 수 있다. 이러한 결정은 적절한 필드 컴퓨터 유니트에 의해 특정 출력장치(예컨대, 밸브, 펌프 모터 및 반응기 히터)에 궁극적으로 보내지는 출력신호값을 결정하는 프로세스 제어컴퓨터(l2a,l2b)에 의해 만들어진다. 필드에 대해 이와 같은 신호가 전송되기 전에 2개의 능동형 용장 프로세스 제어컴퓨터(l2a,l2b) 사이에서 적어도 어느 정도로 일치되는 것이 바람직한 반면, 출력신호값 2개의 독립적 세트는 필드 컴퓨터 유니트에 대해 통신되어질 수 있음을 이해해야만 한다. 이러한 관점에서 필드 컴퓨터 유니트로부터 수신된 입력값은 조정되어질 수 있고, 이는 일치 또는 조정 출력값을 불필요하게 만든다. 이는 양 프로세스 제어컴퓨터(l2a,l2b)가 동일한 프로세스 제어 프로그램과 함께 작업을 함과 더불어 조정된 입력값의 세트와 동일한 동작을 하기 때문이다.
상기한 가능값 일치의 형태의 예로서, 각 프로세스 제어컴퓨터(l2a,l2b)의 대응하는 입력값 테이블은 현재 시간 주기 동안 비교되어, 값중 하나가 프로세스제어프로그램을 수행하는 각 입력값 신호를 위해 선택될 수 있다. 우측 프로세스제어컴퓨터(l2b)에 의해 결정된 값이 소정 퍼센트 한계(예컨대, 2.5%) 이내인 경우, 좌측 프로세스 제어컴퓨터(l2a)의 이용과 같은 입력값의 이러한 선택은 프로세스가 제어되어지도록 적절한 경계를 만들 수 있게 된다. 한편, 좌측 및 우측 프로세스제어컴퓨터의 별개의 입력값은 이러한 값이 소정 퍼센트 한계 이외로 되도록 찾아질 경우 각각 채용될 수 있다. 그리고, 좌측 및 우측 프로세스 제어컴퓨터로부터의 다른 입/출력값의 선택은 우선적으로 실행된 소프트웨어를 기초로 만들어질 수 있게 된다. 따라서, 예컨대 소정 프로세스 조건하에서 값이 좌측 또는 우측 프로세스 제어컴퓨터에 의해 결정되는가에 상관 없이 하이 또는 로우 값의 양쪽을 선택하도록 더욱 적절히 고려될 수 있다.
이러한 조정이나 일치 처리를 이용하기 위해 병렬 통신 링크(14)가 프로세스제어컴퓨터(l2a,l2b) 사이에 제공된다. 병렬 통신 링크(14)는 프로세스 제어컴퓨터 사이에서 데이터와 타이밍신호의 직접 전송을 허용함으로써 "메이저(major)"링크로 언급된다. 또한, 좌측 프로세스 제어컴퓨터(l2a)는 "폭스(fox)"로 분류되어지는 한편, 우측 프로세스 제어컴퓨터(l2b)는 "독(dog)"으로 분류되어져 있음을 주목해야만 한다. 이는 프로세스 제어컴퓨터(l2a,l2b)의 양 동작 모드를 위한 논리적 명칭 이다.
각 프로세스 제어컴퓨터(l2a,l2b)가 조정을 수행할 수 있는 독립적인 결정을 만드는 동안, 일반적으로 폭스모드에서의 프로세스 제어컴퓨터는 상대적 동기화로 2개의 프로세스 제어컴퓨터의 공동 노력을 유지하기 위해 독모드에서의 프로세스제어컴퓨터를 프로그램된 시퀀스에서의 연속적인 단계로 이동하도록 할 수 있게 한다. 더욱이, 폭스모드에서의 프로세스 제어컴퓨터는 프로세스 제어 프로그램 사이클의 시작(예컨대, 하나의 제2구간)에서 독모드의 프로세스 제어컴퓨터에 타이밍신호를 전송하고, 따라서 독모드에서의 프로세스 제어컴퓨터는 새로운 프로세스 제어프로그램 사이클이 잘 시작하는 것을 알 수 있게 된다. 프로세스 제어컴퓨터(l2a,l2b)가 자신의 클럭발진기하에서 동작함에 따라, 독모드에서의 프로세스 제어컴퓨터에 의한 이러한 프로그램 사이클 타이밍신호의 검출과 해석은 상대적 동기화로 이러한 프로세스 제어컴퓨터를 주기적으로 유지하는데 도움을 주게 된다. 그러나, 독모드에서의 프로세스 제어컴퓨터의 프로그램 사이클은 전형적으로 시간 주기에 의해 만들어진 폭스모드에서의 프로세스 제어컴퓨터의 프로그램 사이클을 따르고, 이는 전송되어 프로그램 사이클 타이밍신호(예컨대, 20마이크로세컨드 내지 20밀리세컨드)를 검출한다.
프로세스 제어컴퓨터(l2a,l2b)가 잠정적으로 메이저링크를 매개로 통신될 수
없을 경우, 이러한 각 프로세스 제어컴퓨터는 혼자 동작하는 것을 가정하는 모드에서의 동작을 계속하게 된다. 이러한 동작 모드에서 프로세스 제어컴퓨터(l2a,l2b)의 프로그램 사이클은 서로 관련되는 시간에서 점차 편류(drift)되어 멀어짐을 알 수 있다. 그럼에도 불구하고, 이하의 설명으로부터 알 수 있는 바와같이 프론트 엔드 통신시스템(10)은 실시간 분석을 위해 정렬되는 시간으로 되도록 프로세스 제어컴퓨터(l2a,l2b)로부터 수신된 데이터를 인에이블시키도록 설계된다.
도 1에서 설명한 바와 같이, 각 프로세스 제어컴퓨터(l2a,l2b)는 본 발명에 따른 비밀 인터페이스회로를 포함한다. 특히, 프로세스 제어컴퓨터(l2a)는 비밀 인터페이스회로(l6a)를 포함하는 한편, 프로세스 제어컴퓨터(l2b)는 비밀 인터페이스회로(l6b)를 포함한다. 비밀 인터페이스회로(l6a,l6b)가 동일한 회로로 이루어짐에따라, 이러한 비밀 인터페이스회로는 일반적으로 비밀 인터페이스회로(16)로도 언급한다. 프론트-엔드 통신시스템(10)의 용장 특성에 기인하여 일반적인 참조부호가 본 시스템에서 중복되는 구성요소에 대해 이용된다.
비밀 인터페이스회로(16)는 연결되어진 프로세스 제어컴퓨터와 외부 통신장치 사이에서 유효한 데이터 전송을 제공한다. 이러한 점에서, 프로세스 제어컴퓨터의 동작이 지연되지 않거나 그렇지 않으면 하나 이상의 외부 통신장치에 대해 데이터의 전송에 의해 불리하게 영향을 미치는 점에서 데이터전송이 프로세스 제어컴퓨터(12)에 대해 투명성이 있게 된다. 또한, 비밀 인터페이스회로(16)는 프로세스 제어컴퓨터(12)의 동작에 영향을 미치는 것 없이 외부 통신장치로부터의 메시지의 전송을 인에이블시킨다. 용장 프론트 엔드 컴퓨터(l8a,l8b)의 쌍으로 이루어진 이러한 외부통신장치의 제1예가 도 1에 도시되어 있다. 통신 경로가 양 비밀 인터페이스회로(l6a,l6b)에 따라 데이터와 메시지를 교환하도록 각 프론트 엔드 컴퓨터를 인에이블시키기 위해 제공되기 때문에, 프론트 엔드 컴퓨터(l8a,l8b)는 용장 특성을 갖는다.
각 프론트 엔드 컴퓨터(l8a,l8b)는 비밀 인터페이스회로(l6a,l6b)와 플랜트/근거리 통신망 사이에서 고도의 인텔리전트 인터페이스를 제공하는 바, 이는 일반적으로 참조부호 20으로 표시되어진다. 그러나, 각 용장 프론트 엔드 컴퓨터(l8a,l8b)는 각 비밀 인터페이스회로(l6a,l6b)에 따라 통신을 하게 됨으로써, 이러한 용장성은 요구되지 않고, 단일 프론트 엔드 컴퓨터가 적절한 응용에 이용될 수 있음을 알 수 있다. 더욱이, 이하의 설명으로부터 더욱 명확히 알 수 있는바와같이, 각 비밀 인터페이스회로는 다른 외부 통신장치 뿐만 아니라 프론트 엔드 컴퓨터(l8a,l8b)에 따라 데이터와 메시지를 교환할 수 있다.
도 1에 도시한 바와 같이, 비밀 인터페이스회로(16)는 프로세스 제어컴퓨터(12)의 버스 구조에 위치하는 2중 포트 메모리 "DPM"(22; 22a,22b)를 특징으로 한다. 실질적으로 여기에 개시된 실시예에 있어서, 2중 포트 메모리(22)는 프로세스 제어컴퓨터(12)를 위한 제1차 또는 단지 오직 데이터 메모리만을 제공한다. 따라서, 본 발명에 따르면, 비밀 인터페이스회로(16)는 프로세스 제어컴퓨터 자체의 데이터 메모리에 직접적으로 억세스하는 외부 장치를 선택적으로 승인한다. 2중 포트 메모리(22)는 프로세스 제어컴퓨터(12)의 버스구조에 연결된 내부포트와,여기서 비밀포트로서 종종 언급되는 외부포트를 포함한다. 2중 포트 메모리(22)는 부가적인 포트를 제공하도록 구성될 수 있는 한편, 2중 포트 메모리는 비밀포트에 대해 상호 억세스를 갖도록 다수의 외부 통신장치를 인에이블시키는 조정회로를 포함하는 것이 바람직하다. 즉, 단지 하나의 외부장치는 하나 이상의 외부장치가 비밀포트의 데이터 및 어드레스 라인에 궁극적으로 결합됨에도 불구하고, 2중 포트메모리에 대한 억세스가 비밀 포트를 통해 허용될 경우, 소정의 주어진 시간에서의 비밀포트의 데이터와 어드레스라인을 이용할 수 있게 된다. 본 발명의 실시예에서, 비밀 인터페이스 조정회로는 승인 억세스권(granting access right)에 대한 퍼스트-컴, 퍼스트-서브(first-come, first-serve) 억세스를 채용한다.
그러나, 본 발명에 따르면, 이러한 조정회로가 비밀 포트상에서만 동작한다.원래 비밀 인터페이스회로(16)의 내부 및 외부 포트사이에는 조정이 없다. 외부/비밀포트로부터의 2중 포트 메모리(22)에 대한 억세스는 프로세스 제어컴퓨터(12)가 2중 포트 메모리를 억세스할 수 없을때의 시간 동안에만 가능하다. 특히, 여기에 개시된 발명의 형태에서 프로세스 제어컴퓨터(12)의 머신 사이클은 2중 포트메모리(16)에 대한 억세스를 제어하도록 이용된다. 잘 알려진 바와 같이 소정 컴퓨터의 중앙처리장치는 하나 이상의 데이터 워드상에서 동작하기 위해 하나 이상의 프로그램된 명령을 패치 및 디코드해야만 한다. 본 뉴먼(von Neumann) 구조를 기초로 하는 컴퓨터에 있어서, 명령을 페치, 디코드 및 실행하기 위해 다양한 컴퓨터클럭 사이클을 취한다. 그러나, 본 실시예에 있어서, 프로세스 제어컴퓨터(12)는 하버드(Harvard) 구조를 기초로 하고, 이는 동일한 클럭사이클에서 패치되는 명령을 위한 op-코드 명령과 오퍼랜드 데이터의 양쪽을 허용한다. 이는 물리적으로 분리되는 명령과 데이터 저장을 포함하는 하버드구조를 기초로 하기 때문이고, 이러한 각각의 저장은 중앙처리장치에 대해 그들 자신의 어드레스와 데이터 라인을 포함한다. 따라서, 명령을 패치 및 디코드하도록 하는 프로세스 제어컴퓨터(12)를 위한 클럭사이클의 부분 동안 2중 포트 데이터 메모리(22)는 비밀포트로부터 억 세스된다. 이 때, 데이터저장으로부터의 오퍼랜드를 패치하도록 하는 프로세스제어컴퓨터(12)를 위한 클럭사이클의 부분 동안 프로세스 제어컴퓨터는 내부 포트로부터의 2중 포트 데이터 메모리(22)에 대한 억세스를 갖게 된다.
비밀포트가 2중 포트 데이터 메모리(22)에 대해 억세스할 수 있는 때를 결정하기 위해 비밀 인터페이스회로(16)는 프로세스 제어컴퓨터(12)의 메모리 클럭신호에서의 특정 천이를 위해 감시한다. 이러한 관점에서 프로세스 제어컴퓨터(12)가 2중 포트 데이터 메모리(22)를 액세스하는데 필요로 되지 않게 될때 그 시간 주기동안에만 외부 억세스가 비밀 인터페이스회로(16)에 의해 허용됨에 따라 프로세스제어컴퓨터 그 자체는 이러한 외부 억세스에 의해 영향 받지 않게 된다. 사실상 프로세스 제어컴퓨터(12)는 외부적으로 발생된 독출/기록 액티비티가 데이터 저장과 관련하여 실질적으로 발생하는 것을 알아야만 함에도 불구하고 그렇게는 하지않게 된다. 그럼에도 불구하고, 본 발명에 따르면, 비밀 포트가 관련되는 한, 중요한 구별이 2중 포트 데이터 메모리(22)로부터의 "독출"에 대한 능력과 2중 포트데이터 메모리에 대한 "기록"능력 사이에서 이루어진다. 2중 포트 데이터 메모리(22)에서의 각각 및 모든 메모리 위치에 대해 외부 통신장치를 인에이블하도록 요구되는 동안, 이는 2중 포트 데이터 메모리의 메모리 위치에 대해 기록하도록 외부장치의 능력과 관련하여 참(true)으로 되지 않는다. 이러한 점에서 2중 포트 데이터 메모리(22)는 물리적 프로세스가 제어되는 것과 관련한 동적 데이터 뿐만 아니라 아날로그 및 디지털 상수와 같은 다른 프로세스 제어변수를 저장한다.
따라서, 2중 포트 데이터 메모리(22)는 2개의 "논리" 메모리부, 즉 가변부(24)와 메일박스부(26)를 포함한다. 이는 동일한 물리적 메모리회로칩 또는 칩세트 양쪽에 위치할 수 있음에도 불구하고, 분리적으로 처리되기 때문에 이러한 메모 리부는 논리적으로 구별된다. 본 실시예에 있어서, 메일박스부(26)는 2중 포트데이터 메모리(22)에서 256 메모리워드 위치(각 16비트)의 세트로 구성되고, 가변 부(24)는 2중 포트 데이터 메모리(22)에서 나머지 메모리 위치(예컨대, 64k 메모리워드 위치의 블록)로 구성된다. 또한, 가변부(24)는 프로세스 제어컴퓨터(12)로부터 프론트 엔드 컴퓨터(18)로 시스템 메시지를 홀딩하기 위한 매시지영역을 포함한다. 그리고, 메일박스부(26)는 프론트 엔드 컴퓨터(l8a,l8b)와 같은 외부장치로부터 메시지를 저장하기 위한 메모리에 특정 영역을 제공한다. 이러한 점에서 메일박스부(26)의 메모리위치는 물리적으로 인접되게 할 필요가 없다. 메일박스 부(26)는 채용된 메시지 전송 프로토콜에 따라 동시에 하나 이상의 메시지를 유지하도록 구성되는 한편, 메일박스부는 하나의 완전한 메시지를 유지하기에 충분히 큰 것만이 필요로 된다. 이러한 메시지는 그다지 흔하지 않게 얻을 수 있는 원격 필드 컴퓨터 유니트로부터의 헬스/상태 데이터를 수집하여 전송하도록 프로세스 제어컴퓨터(12)를 위한 외부 요구 만큼 간단할 수 있게 된다. 또한, 메시지는 2중 포트 데이터 메모리(22)에 저장된 특정 변수를 변화시키는 명령을 포함한다. 더욱이, 2중포트 데이터 메모리(22)의 메일박스부(26)는 프로세스 제어컴퓨터(12)에 프로그램 수정을 전자적으로 운반하는데 이용된다.
이하, 상세히 설명하는 바와 같이 비밀 인터페이스회로(16)는 2중 포트 데이터 메모리(22)의 가변부(24)에서의 소정 메모리 위치에 대한 기록으로부터 소정의외부 엔티티를 방지하는 보호회로를 포함한다. 따라서, 2중 포트 데이터 메모리(22)의 일부분 또는 모든 메모리 위치는 비밀포트로부터 독출될 수 있고, 외부 엔티티는 오직 2중 포트 메모리(22)의 메일박스부(26)에서의 메모리위치에 대해 기록되도록 허용된다. 본 발명의 이러한 특징은 외부 엔티티가 프로세스 제어컴퓨터(12)의 데이터 처리동작과 우연치 않게 인터페이스되지 않는 것을 보증하는 2중 포트 데이터 메모리(22)에서의 하드웨어 보안 보호를 제공한다. 본 발명의 이러한특징은 2중 포트 데이터 메모리(22)내의 특정 메모리위치나 1세트의 메모리위치에대해 외부 기록 억세스를 부정하거나 승인하기 위해 사용할 수 있다. 비밀 인터페이스 회로(16)의 상세한 설명은, 본 명세서와 더불어 동일날짜에 출원된 특허출원번호 제O7/897,905호, 발명의 명칭 "프로세스 제어컴퓨터를 위한 비밀 인터페이스"내에서 볼 수 있다. 이 특허출원은 여기에 인용하여 본 명세서에 도입되고 있다.
데이터를 고속으로 비밀포트에 펌프 인(pump in) 또는 비밀포트로부터 펌프아웃(pump out)하기 위해, 도 1의 프론트 엔드 통신시스템(10)은 비밀 "IFS"회로(28, 28a,28b)에 대한 인터페이스와, Q-버스 "IFQ"회로(30)에 대한 인터페이스 및, 그 사이에 배치된 광섬유 케이블(32)의 세트를 포함하도록 도시되어 있다. IFS회로(28)는 2중 포트 데이터 메모리(22)의 비밀포트에 연결되는 한편, IFQ회로(30)는 프론트 엔드 컴퓨터(18)의 "Q버스"상에 위치한다. 프론트 엔드 통신시스템(10)의 용장 특성에 기인하여 IFS회로(28a)는 2중 포트 데이터 메모리(22a)의 비밀포트에 연결되는 한편, IFS회로(28b)는 2중 포트 데이터 메모리(22b)의 비밀포트에 연결된다. 마찬가지로, IFQ회로(3Oa)는 프론트 엔드 컴퓨터(l8a)의 Q버스에 연결되는 한편, IFQ회로(3Ob)는 프론트 엔드 컴퓨터(l8b)의 Q버스에 연결된다. 여기서 개시된 실시예에 있어서, 프론트 엔드 컴퓨터(18)는 디지털 이큐입먼트 코포레이선"DEC"의 실시간 ELN 동작 시스템을 이용하는 MICROVAX 3400으로 구성하는 것이 바람직하다. 한편, DEC 컴퓨터의 VAX군은 상당한 속도와 네트워킹을 제공하고, 다른 적절한 프론트 엔드 컴퓨터가 적절한 응용으로 채용될 수 있음을 알 수 있다.
비밀 인터페이스회로(l6a,l6b)의 양쪽과 양방향 통신을 수행하도록 각 프론트 엔드 컴퓨터(l8a,l8b)를 허용하기 위해, 실제로 광섬유 케이블(32)은 송신 및 수신 광섬유(예컨대, 62.5/l25/O.275NA형 섬유)의 2세트를 포함한다. 그러나, 각 프론트 엔드 컴퓨터(l8a,l8b)를 위한 분리 송신 및 수신 광섬유는 단순함을 위해 도 1에서는 단일 채널로서 표시된다. 즉, 광섬유 채널(34a)은 프론트 엔드 컴퓨터(l8a)로부터 비밀 인터페이스회로(l6a)로 정보를 송신하기 위한 광섬유와, 비밀 인 터페이스회로(l6a)로부터 정보를 수신하기 위한 광섬유를 포함한다. 마찬가지로, 광섬유 채널(36a)은 프론트 엔드 컴퓨터(l8a)로부터 비밀 인터페이스회로(l6b)로 정보를 송신하기 위한 분리 광섬유와, 비밀 인터페이스회로(l6b)로부터 정보를 수신하기 위한 광섬유를 포함한다. 이 광섬유의 구성은 프론트 엔드 컴퓨터(l8b)를 위해 또한 2중으로 된다.
본 발명의 실시예에 있어서, IFS회로(28)와, IFQ회로(30) 및, 광섬유 케이블(32)의 조합은 프론트 엔드 컴퓨터(l8a,l8b)가 프로세스 제어 컴퓨터(l2a,l2b)로부터 멀리 위치되도록 허용하는 광전송 인터페이스를 제공한다. 예컨대, 본 실시예에서, 프론트 엔드 컴퓨터(l8a,l8b)는 프로세스 제어 컴퓨터(l2a,l2b)로부터 2km까지 멀리 위치되어지는 것이 가능하다. 더욱이, "FDDI(Fiber Distributed Data Interface)"프로토콜은 광섬유 케이블(32)을 거쳐 IFQ 및 IFS회로 사이에서 정보를 전송하는데 이용될 수 있음을 주목해야 한다.
IFS회로(28)는 2중 포트 데이터 메모리(22)의 비밀 포트에 대해 정보를 전송하기 위한 적절한 어드레스 및 데이터 버퍼회로(도시되지 않았음)를 포함한다. 또한, IFS회로(28)는 하나의 인접하는 데이터 블록으로서 수집되고 전송되도록 2중포트 데이터 메모리(22)의 선택된 위치로부터 데이터를 인에이블하는 전송 맵(37)을 포함한다. 전송 맵(37)은 2중 포트 데이터 메모리(22)의 모든 이용가능한 메모리 위치로부터 데이터를 수집하기에 충분한 어드레스 저장 능력을 갖춘 스태틱 RAM 으로 구성될 수 있다.
더욱이, IFS회로(28)는 송신기(38a)와 수신기(4Oa)와 같이 각 2개의 프론트엔드 컴퓨터(l8a,l8b)를 위한 분리 송신기 및 수신기회로를 포함한다. 송신기(38a)는 비밀포트로부터의 병렬 데이터워드(예컨대, 16비트)를 광섬유 케이블(32)중 하나를 거쳐 전송하기에 적절한 직렬 비트 스트림으로 변환하기 위해 채용된다. 마찬가지로, 수신기(4Oa)는 프론트 엔드 컴퓨터(18)로부터의 직렬 비트 스트림을 하나 이상의 IFS회로 버퍼를 통해 비밀 포트에 전송을 위한 병렬 데이터 워드로 변환하기 위해 채용된다. 또한, 송신기 및 수신기의 대응하는 세트는 송신기(38b)및 수신기(4Ob)와 같이 IFQ회로(30)에 제공된다. 상기한 바와 같이, 2세트의 송신기-수신기 세트의 이용은 IFS회로(28a,28b)의 양쪽과 IFQ회로(3Oa,3Ob)의 양쪽 사이에서 동시에 전송 및/또는 수신되는 데이터를 인에이블하는 것을 인지하여야 한다. 따라서, 예컨대 IFS회로(28a)는 프로세스 제어 컴퓨터(l2a)로부터 얻어진 데이터를 프론트 엔드 컴퓨터(l8a,l8b)의 양쪽에 동시에 전송할 수 있다.
간단화를 위해 도시되지는 않았지만, 레이저나 LED광원이 각 송신기 [예컨대,송신기(38a,38b)]와 각 광섬유 사이에 삽입되어 있음을 인식하여야 한다. 마찬가지로, 광-검출기는 또한 각 수신기 [예컨대, 수신기(4Oa,4Ob)]와 각 광섬유 사이에 삽입된다. 예컨대, 이들 광 변환기는 AT&T ODL2OO 시리즈 변환기의 쌍으로 구성될수 있다. 광섬유 케이블은 동축 케이블과 같은 매체 이상으로 속도와, 낮은 에러율 및, 보안 유용성을 위해 바람직한 반면, 적절한 데이터 전송 매체가 적절한 응용에 채용되어져야만 함을 이해해야 한다.
본 실시예에 있어서, IFS 및 IFQ회로의 송신기 및 수신기는 캘리포니아주, 산타 클라라, 오웬스가 2300에 위치한 트리퀸트 반도체 주식회사(Triquint Semiconductor, Inc.,)의 "가젤(Gazelle)" GA 9011 송신기 및 GA9012 수신기와 같은 고성능 갈륨 아세나이드(Gallium Aresenide)칩 세트로 구성하는 것이 바람직하다. 이러한 특정 송신기 및 수신기는 2OOM비트/초를 넘는 데이터 전송율을 허용한다. 이러한 송신기 및 수신기는 FDDI표준 4B/5B 인코딩을 이용하는 5O보(baud) 워드로 인코드되도록 데이터를 인에이블하는 40비트 광역 병렬 버스를 이용한다. 이러한 인코딩에 있어서, 4비트 데이터 니블은 5보 코드심볼로 전송된다. 따라서, 4B/5B 인코딩은 데이터 프레임을 구성하기 위해 10개의 4비트 데이터 니블로부터 10개의 5보 심볼을 발생시킨다. 또한, GA9011 송신기는 넌-리턴 투 제로(Non-Return to Zero) "NRZ" 포맷으로부터의 직렬 스트림을, 데이터와 클럭신호의 전송을 단일 파형으로 결합하는 하나의 넌-리턴 투 제로, 인버트(Non-Return to Zero, Invert) "NRZI"포맷으로 변환시킨다. NRZl파형은 비트-시간-프레임(bit-time-frame)내에서 천이가 없는 극성 천이 및 논리 O을 갖는 하나의 논리를 나타낸다. 이들 논리 1과 논리 0은 보(bauds)라고 칭해지고, 각 그룹의 5보는 심볼로 칭해진다. 예컨대, "0000" 4비트 2진 입력은 "1111O" 5보 2진 심볼 출력으로 변환되는 한편, "1011" 4비트 2진 입력은 "10111" 5보 2진 심볼 출력으로 변환된다.
4B/5B 인코딩 및 NRZI포맷팅의 이용은 광섬유 케이블을 거쳐 고속 데이터 전송의 신뢰성을 실질적으로 증가시키도록 결합된다. GA9012 수신기는 클럭과 데이터 복구(예컨대, NRZI-NRZ변환)를 확립하고, 또한 타당성을 위해 도입되는 5B 심볼을 모니터한다. 이러한 점에서, 4B/5B 인코딩은 GA9012 수신기에서 점검되어질 수 있는 다수의 무효 심볼을 생성한다. 광섬유 링크를 지나는 잡음 또는 지터의 출현이 의도되지 않은 값으로 변환되기 위한 하나 이상의 보를 야기시킴에 따라 무효심볼은 검출되지 않는 전송에러의 가능성을 줄인다.
잠정적 에러로부터 보호의 부가적인 층에 따라 IFS회로(28)로부터의 데이티전송은 전송되는 데이터(즉, 40비트 입력 데이터 프레임)와, 16비트 오브젝트 어드레스 필드, 4비트 제어코드 필드 및, 4비트 에러 오브젝트 코드 필드로 구성되는 완전한 데이터 프레임으로 형성된다. 이러한 완전한 데이터 프레임은 실제로 적어도 하나의 동기 프레임(sync frame)에 의해 광섬유링크상에서 서로로부터 바람직하게 분리된다. 잠정적인 물리적 링크 에러가 버스트 또는 클러스터링 특성을 갖음에 따라, 에러 코드는 4개의 인접하는 비트 에러까지 검출되어질 필요가 있다. 이점에 관해서는, LRC(Longitudinal Redundancy Check)코드가 잠정적으로 파손되는 연속 데이터 처리 동작으로부터 마스크된 에러를 방지하기 위해 채용된다. 또한, 이러한 형태의 에러코드는 "LPC(Longitudinal Parity Check)"로서 언급된다. LPC코드에서, 패리티 비트로 구성되는 4비트 니블이 발생되어 아래에 도시된 바와 같이, 인코드된 데이터 스트림에서 소정 수의 데이터 니블을 위한 인코드된 데이터스트립에 삽입된다.
여기서, pl = bil Xor bi2 Xor ‥‥‥ Xor bi9, 그리고 i = 비트 위치 1 내지 4 즉, 이러한 패리티 체크 캐릭터의 제i번째 비트는 패리티 조건하에서 조차 데이터 니블1 내지 니블9까지에서 제i번째 정보 비트 위치를 체크한다. LRC 에러 체킹의 조합과, 4B/5B 인코딩 및, NZRI변환은 1E-12의 오브젝트 보 에러율 "BER"을 공급하도록 프론트 엔드 통신시스템(10)을 인에이블한다. CRC(Cyclic Redundancy Check)코드가 LRC코드 대신 이용될 수 있는 반면, 더 복잡한 CRC코드는 IFQ 및 IFS 회로의 복잡함을 또한 증가시킨다. 부가적으로, LRC코딩은 IFS 및 IFQ회로 사이에 2중 광섬유 채널 신호 전송을 더욱 용이하게 허용하고, 가젤 송신기(38a,38b)와 수신기(4Oa,4Ob)의 고유 동기화 특성은 LRC를 기초로 한 프로토콜을 프레임하기 위해 이용될 수 있다.
IFQ회로(30)는 프론트 엔드 컴퓨터(18)를 위한 데이터 펌프를 제공하는 마이크로 프로세서(42; 예컨대, 인텔 80186칩)를 포함한다. 마이크로 프로세서(42)는 모든 IFQ/IFS 프로토콜 제어를 책임짐과 더불어 프로세스 제어 컴퓨터(l2a,l2b)로부터 네트워크(20)의 목적지로 데이터를 중계할 뿐만 아니라 IFS 및 IFQ회로에 대한 기록 동작의 무결성(integrity)의 제어를 책임진다. 예컨대, 마이크로 프로세서(42)는 IFS회로(28)의 전송 맵(37)을 프로그램하도록 이용될 수 있어, 모든 가능한 변수(예컨대, 입/출력 값, 알람과 이벤트) 이하가 요구되며, 2중 포트 데이터메모리(22)의 데이터의 특정 서브세트는 프론트 엔드 컴퓨터(18)에 수집되어 전송된다. 이러한 방법에서, 전송 맵(37)의 실제의 내용은 특정 프로세스 제어 응용에 의존할 수 있게 된다.
IFQ회로(30) 및 IFS회로(28) 사이의 모든 신호전송은 IFQ회로 마이크로 프로세서(42)의 제어하에 있다. 이러한 관점에서, IFQ회로(30)로부터 IFS회로(28)로의 데이터 전송에는 3가지 형태, 즉 "부하 전송 맵(load transfer map)"과, "송신 명령 메시지(send command messages)" 및, "수신 데이터(receive data)"의 3가지가 있다. 부하 전송 맵 전송은 IFS회로로부터 데이터 메모리 전송 버스트를 조정하게되는 특정 가변 어드레스를 갖는 IFS회로(28)의 부하 전송 맵(37)에 대해 IFQ회로(30)를 인에이블하게 된다. 수신 데이터 전송은 2중 포트 데이터 메모리(22)로부터 메모리의 요구되는 세그먼트를 복귀시키기 위해 IFS회로(28)를 야기시키게 된다.
명령 메시지 전송은 IFS회로(28)에 대해 기록-잠금(Write-Lock) 요구에 따라 개시되게 된다. 도입버퍼가 자유로운 것으로 가정하면, IFS회로(28)는 2중 포트데이터 메모리(22)의 메일박스부(26)상에서 기록-잠금을 주장하게 되고, IFQ회로(30)에 포지티브 확인 응답을 복귀시킨다. 이 때, IFQ회로(30)는 그 메시지가 안전하게 저장됨과 더불어 프로세스 제어 컴퓨터(12)에 의해 바람직하게 독출될 때까지 메일박스부(26)에 기록할 수 있게 되는 다른 장치가 없다는 보증에 따라 그 메시지를 전송하게 된다. 그러나, 시간 제한은 비밀 인터페이스회로(16)에 연결된 외부 엔티티중 하나에 의해 방해되지 않는 통신의 흐름을 보장하기 위해 기록-잡금 으로 강요하게 된다. 또한, 메시지 전송은 데이터 버스트가 IFS회로(28)로부터 수신되어지는 소정 시간 동안 일어나지 않음을 인식해야 한다.
데이터 전송보호의 다른 측정에 따라, IFQ회로(30)는 메시지가 전송되어 정확하게 저장되는 것을 확실하게 하기 위해 2중 포트 데이터 메모리(22)의 메일박스 부(26)에 전송되어 저장된 메시지를 다시 독출하도록 IFS회로(28)를 야기시킨다. 메시지가 정확하게 수신되어 저장된 것으로 IFQ회로(30)가 결정하면, 이때 IFQ회로(30)는 새로운 메시지를 픽업하기 위해 프로세스 제어 컴퓨터(12)에 통지하도록 설정되는 플래그를 야기시킨다. 이러한 데이터 검증이 실패로 되는 경우, 전체 메시지 전송 프로세스가 반복되게 된다.
또한, IFQ회로(30)는 도 l에 블록으로 도시된 프로세스 데이터 버퍼(44)를 포함하는 것으로 간단히 도시되어 있다. 그러나, 프로세스 데이터 버퍼(44)는 각 프로세스 제어 컴퓨터(l2a,l2b; 예컨대, 262,144바이트)를 위한 분리 데이터 테이블을 저장하기에 충분한 메모리 용량을 포함한다. 이들 각 데이터 테이블은 SDSS및 DSS 데이터 전송 양쪽을 포함하게 된다. 더욱이, DMA버퍼(도시되지 않았음)가 수신되는 데이터를 처리함에 있어 다소의 신축성을 허용하기 위해 제공된다. 이러한 관점에서, IFS회로(28)와 IFQ회로(30)가 프론트 엔드 컴퓨터(18)의 IFQ회로(30)와 Q-버스 사이에서 양방향 DMA(Direct Memory Access) 전송을 용이하게 하도록 구성된다. 이러한 방법에 있어서, 프론트 엔드 컴퓨터(18)의 중앙처리장치(45; 마이크로프로세서)는 IFQ회로(30)에 대해 데이터 전송을 처리하는데 실제적으로 시간을 기울일 필요가 없다. 따라서, DMA버퍼는 프론트 엔드 컴퓨터(18)의 Q버스상에 존재하는 적절한 메모리에 대해 프로세스 데이터 버퍼(44; 예컨대, 동시에 8k바이트)로부터 데이터의 블록상에서 DMA 전송을 수행하기 위한 버켓 브리게이드(bucket brigade) 영역으로서 바람직하게 이용된다.
또한, DMA전송의 이용은 프로세스 제어컴퓨터(l2a,l2b)로부터 네트워크(20)상의 하나 이상의 컴퓨터로 가능한 실시간 데이터를 만든다는 목표를 달성함에 있어 프론트 엔드 통신시스템(10)의 능력을 증가시킨다. 특히, 프론트 엔드 통신시스템(10)은 l/2배 해상도내에서 각 프로세스 제어 컴퓨터(l2a,l2b)로부터 프리-링크(pre-link) 및 포스트-조정(post-arbitrated) 데이터 양쪽의 네트워크 조회를 요청, 수신 및 응답하도록 설계된다. 예컨대, 이러한 특정 실시예에 있어서, 각 프로세스 제어 컴퓨터(l2a,l2b)는 모든 l/2 프로그램 사이클에서 "SDSS(Sequence Data Stabele Strobe)"신호를 나오게 하고, 이는 프리-링크 동적 아날로그/디지털데이터의 약 1024(16비트) 워드가 2중 포트 데이터 메모리(22)에서 안정됨과 더불어 이용가능하다는 것을 나타낸다. 이러한 특정 데이터 세트는 이러한 데이터가 메이저 링크(14)를 가로지르는 데이터 전송을 매개로 프로세스 제어 컴퓨터(l2a,l2b) 사이에서 아직 조정되지 않은 것으로서 프리-링크 데이터로서 언급된다. 이어서, 동일한 l/2 프로그램 사이클에서, 각 프로세스 제어 컴퓨터(l2a,l2b)는 "DDS(Data Stable Strobe)" 신호를 나오게 하고, 이는 포스트-조정 입력 및 출력데이터의 완전한 세트가 2중 포트 데이터 메모리(22)에서 안정됨과 더불어 이용가능함을 나타낸다. 이러한 데이터 세트는 입력값이 프로그램 사이클에서 이러한 점에 의해 조정 또는 해결됨에 따라 포스트-조정(Post-arbitrated)으로 언급된다. 본 실시예에 있어서, 이러한 포스트-조정 데이터 세트는 입력과 출력값(그리고, 2중 포트 데이터 메모리(22)에 저장된 다른 변수) 양쪽을 포함함에 따라 65,536(16비트)워드까지로 구성될 수 있다. 프로세스 제어 컴퓨터(l2a,l2b)의 프로그램 사이클에서 제1기능의 하나가 즉각적으로 이전의 프로그램 사이클에서 얻어진 포스트-조정 입력 데이터로부터 출력값 결정을 만든다는 점에서 또한 주목해야만 한다.따라서, 포스트-조정 데이터 세트가 현재 프로그램 사이클로부터의 조정된 입력값과 즉각적으로 이전 프로그램 사이클로부터의 출력값을 포함할 것이라는 것을 인지해야만 한다.
프리-링크와 포스트-조정 데이터 세트의 복사를 얻는 기능은 프로세스 제어컴퓨터(l2a,l2b)의 동작을 지연시키기 위해 허용될 수 없다는 것을 이해하는 것이 또한 중요하다. 따라서, 예컨대 프론트 엔드 통신시스템(10)은 프로세스 제어컴퓨터(l2a,l2b)가 조정 프로세스를 통해 이러한 데이터 값의 하나 이상을 변화시키기 위한 능력을 갖는 것을 필요로 하기 전에 프리링크 데이터 세트의 복사를 얻기 위해 충분히 빨라야만 한다. 따라서, 본 실시예에 있어서, 프론트 엔드 통신시스템(10)은 데이터 안정성의 보장을 갖기 위해 SDSS신호가 최초로 제기된 그 시간의 10 밀리초내에서 프리링크 데이터 세트를 획득할 수 있을 필요가 있다. 마찬가지로, 프론트 엔드 통신시스템(10)은 DSS신호가 최초로 제기된 시간의 5O밀리초 내에서 포스트-조정 데이터 세트를 획득할 수 있을 필요가 있다. 이러한 점에서, 이들 각 데이터 세트는 각 프론트 엔드 컴퓨터(l8a,l8b)에 의해 프로세스 제어컴퓨터(l2a,l2b)의 양쪽으로부터 독립적으로 획득되어질 필요가 있다는 것을 인식해야만 한다. 더욱이, SDSS 및 DSS 데이터 획득 윈도우 이외의 시간 주기 동안, 각 프론트 엔드 컴퓨터(l8a,l8b)는 프로세스 제어 컴퓨터(l2a,l2b)의 하나 또는 양쪽에 메시지를 또한 보낼 수 있어야만 한다.
소정의 데이터 전송 차단 부분 없이 SDSS 및 DSS데이터 세트를 획득하기 위한 프론트 엔드 통신시스템의 능력을 더욱 용이하게 하기 위해, 또한 수신되는 데이터세트를 그룹 및 시간 정열시키기 위한 능력을 제공하기 위해 각 프론트 엔드 컴퓨터(l8a, l8b)는 각 프로세스 제어 컴퓨터(l2a,l2b)용의 적어도 3개의 반사 버퍼의 세트를 포함한다. 이들 각 논리적 구별 반사 버퍼 또는 새도우 메모리는 프론트 엔드 컴퓨터(18)에서 동일한 물리적 메모리 칩 또는 칩 세트에 존재한다. 도 1에 도시된 바와 같이, 프론트 엔드 컴퓨터(18)에 포함된 반사 버퍼의 세트는 일반적으로 좌측 프로세스 제어 컴퓨터(l2a)를 위한 제로버퍼(ZERO buffer) "ZL"(46a)과, 우측 프로세스 제어 컴퓨터(l2b)를 위한 제로버퍼 "ZR"(48a), 좌측 프로세스제어 컴퓨터를 위한 원버퍼(ONE buffer) "OL"(5Oa), 우측 프로세스 제어 컴퓨터를 위한 원버퍼 "OR"(52a), 좌측 프로세스 제어 컴퓨터를 위한 투버퍼(TWO buffer)"TL"(54a) 및, 우측 프로세스 제어 컴퓨터를 위한 투버퍼 "TR'(56a)로 구성된다. 더욱이, 반사 버퍼의 대응하는 세트가 좌측 프로세스 제어 컴퓨터(l2a)를 위한 제로버퍼 "ZL"(46b)와 우측 프로세스 제어 컴퓨터(l2b)를 위한 제로버퍼"ZR"(48b)와같이 프론트 엔드 컴퓨터(l8b)에 포함되는 것을 알 수 있다.
IFQ회로(30)는 DMA데이터 전송을 이용하는 "라운드 로빈"형으로 이들 좌우버퍼에 기록한다. 즉, IFQ회로(30)는 좌측 프로세스 제어 컴퓨터(l2a)로부터의 특정프로세스 제어사이클의 프리링크 및 포스트-조정 데이터로 제로버퍼(46a)를 채우게 된다. 이 때, 다음의 프로세스 제어사이클을 위한 프리링크와 포스트-조정 데이터가 좌측 프로세스 제어 컴퓨터(l2a)로부터 수신될 때, IFQ회로는 이 데이터를 저장하기 위해 원버퍼(5Oa)에 대해 증가하게 된다. 마찬가지로, IFQ회로(30)는 제3프로세스 제어사이클을 위한 프리링크와 포스트-조정 데이터가 이 데이터를 저장하기위해 좌측 프로세스 제어 컴퓨터(l2a)로부터 수신될 때, 투버퍼(54a)로 돌아가게된다. 이때, 좌측 프로세스 제어 컴퓨터(l2a)로부터의 시간처리 제어사이클의 4번째를 위해 프리링크와 포스트-조정 데이터가 저장되어질 때, IFQ회로(30)는 데이터 저장을 위한 제로버퍼(46a)를 어드레스하기 위해 리턴되게 된다. 물론, IFQ회로(30)는 우측 프로세스 제어 컴퓨터(l2b)로 이용되는 3개의 반사 버퍼(48a,52a,56a)에 프리링크와 포스트-조정 데이터를 개별적으로 전송하기 위해 동일한 라운드 로빈 시퀀스를 채용하게 된다는 것을 인식해야만 한다.
설명을 위해, 도 1은 좌측 프로세스 제어 컴퓨터(12a)를 위한 3개의 반사 메모리 버퍼(46a,5Oa,54a)와, 우측 프로세스 제어 컴퓨터(l2b)를 위한 3개의 반사 메 모리 버퍼(48a,52a,56a)를 도시한다. 그러나, SDSS 및 DSS데이터 전송이 독립 DMA 이벤트로서 처리됨에 따라, 실제로 반사 메모리 버퍼는 이들 각 이벤트를 위해 구별되는 반사 메모리 버퍼를 포함한다. 따라서, 12개 반사 메모리 버퍼의 전체가 프론트 엔드 컴퓨터(18)에 바람직하게 제공된다. 더욱이, 이들 각 반사 메모리 버퍼가 개별적으로 트랙됨으로써 이들 버퍼의 오더링은 아래의 방법을 따를 필요가 없다:
제2 N: (제로-SDSS-L 제로-DSS-L 제로-SDDS-R 제로-DSS-R)
제2 N+l: (원-SDSS-L 원-DSS-L 원-SDDS-R 원-DSS-R)
제2 N+2: (투-SDSS-L 투-DSS-L 투-SDDS-R 투-DSS-R)
물론, 이들 버퍼들의 오더링은 아래 나타난 바와 같이 다른 방법하에서 또한 처리될 수 있다:
제2 N: (원-SDSS-L 투-DSS-L 제로-SDDS-R원-DSS-R)
제2 N+l: (투-SDSS-L 제로-DSS-L 원-SDDS-R 투-DSS-R)
제2 N+2 (제로-SDSS-L 원-DSS-L 투-SDDS-R 제로-DSS-R)
독모드에서 프로세스 제어 컴퓨터의 프로그램 시간라인이 소정의 시간 주기(예컨대, 2O마이크로초 내지 2O밀리초)에 의해 폭스모드에서 프로세스 제어 컴퓨터의 프로그램 시간 라인을 따름에 따라, 대응하는 좌우 반사 버퍼[예컨대, 버퍼(46a,48a)]가 일반적으로 동시에 채워지게 되지 않는 것을 이해하는 것이 중요하다. 그러나, 이들 시간 라인은 상기한 바와 같이 메이저 링크(14)를 지나는 통신이 가능하지 않은 경우에 현저하게 분리될 수 있게 된다. 좌우 SDSS 또는 DSS 신호가 거의 동시에 제거될 때에도 지연이 IFQ회로(30)에 대해 이러한 정보를 전송하기 위해 요구되고, 이때 이러한 정보를 적당한 반사 메모리로 전송하는 것은 프로세스 제어 컴퓨터와 IFS회로 하드웨어에 의해 알 수 있는 것 보다는 프론트 엔드컴퓨터(18)의 응용 소프트웨어에 의해 알 수 있는 이들 이벤트 사이에서 더 넓은 시간 스큐를 초래할 수 있게 된다. 그럼에도 불구하고, 이는 데이터 세트가 동일한 프로그램 사이클(예컨대, 1초 주기)에서 프로세스 제어 컴퓨터(l2a,l2b)로부터 데이터를 나타내는 컴퓨터 네트워크(20)에 대해 궁극적으로 이용 가능하게 만드는 것을 보장한다는 것은 프론트 엔드 컴퓨터(18)의 책임이다. 이러한 점에서, 프론트 엔드 컴퓨터(18)의 응용 소프트웨어는 특정 프로세스 제어사이클을 위한 프리링크와 포스트-조정의 "스냅슛(snapshot)"을 나타내는 버퍼의 코헤시브(cohesive) 세트에 개별적인 데이터 전송 이벤트를 집단화하는 'MI Sync"로 언급되는 처리를 포함한다.
MI Sync 처리는 도입되는 데이터 전송의 상태를 트랙하기 위해 반사 메모리버퍼 매니지먼트 구조(MI_RMBMS)의 세트를 이용한다. DMA 전송인 MI Sync 처리에 대해 IFQ회로 드라이버 소프트웨어 신호가 완료되었을 때, MI Sync는 적절한 Ml_RMBMS 데이터 구조에서 요구된 정보를 기록한다. 버퍼의 완전한 세트가 수신 및 저장된 것을 MI_Sync가 결정할 때(즉, 좌측 SDSS, 우측 SDSS, 좌측 DSS 및 우측 DSS), 이는 새롭게 수신된 데이터에 대한 포인터에 따라 그로벌 데이터 구조(MI_RM_DATA)를 갱신한다. 이러한 포인터는 MI_RMBMS 데이터 구조로부터 복사된다. 따라서, MI_RM_DATA는 일반적으로 가능한 "완료(complete)" 또는 반사 메모리 버퍼의 시계열 세트에 대해 포인터를 포함한다. 프론트 엔드 컴퓨터(12)가 라운드 로빈 처리에 있음에 따라, 반사 메모리 버퍼의 가장 최근의 시계열 세트는 한번의 간격에서 투버피(54a,56a), 다음 시간 간격에서 원버퍼(5Oa,52a) 및, 그 다음의시간 간격에서 제로버퍼(46a,48a)일 수 있다. 프로세스 제어 컴퓨터(l2a,l2b)중 하나로부터 SDSS 또는 DSS데이터가 IFQ회로(30)에 의해 수신되지 않는 경우, MI Sync 는 MI_RM_ DATA포인터를 갱신하기 위한 적절한 종료시간(예컨대, 7OO밀리초)을 이용하는 것에 의해 시계열을 계속 유지하게 된다. 또한, 명령이 버퍼 또는 버퍼들이 이용 가능하지 않음에 따라 제공된다.
MI_RM_DATA내에서 버퍼 포인트는 상호 배제 세머포어(mutual exclsion semaphore)시그널 또는 "머텍스(mutex)"에 의해 보호된다. MI Sync는 MI_RM_DATA 에 새로운 포인터를 복사하기 전에 이러한 머텍스를 요구하고, 복사가 종료된 후,즉각 이를 해제한다. 네트워크 엔티티가 반사 메모리 데이터를 억세스할 필요가 있을때, MI_RM_DATA 포인터의 복사는 머텍스를 요구하고, 로칼 데이터 구조에 대해 이러한 버퍼 포인터를 복사하며, 이때 머텍스를 해제하는 것에 의해 만들어진다.
데이터를 조회 또는 독출하기 위한 응용이 포인터의 복사를 이용함으로, 머텍스를 위한 경쟁(contention)내용이 최소화되고, 따라서 MI Sync는 다음 데이터의 종료세트가 저장되자마자 새로운 포인터에 따라 MI_RM_ DATA를 갱신할 수 있게 된다. 이러한 점에서, 이 방법은 MI Sync가 새로운 포인터에 따라 MI_RM_DATA를 갱신하는동안, 반사 메모리 버퍼의 동일한 세트를 억세스할 때까지 독출 응용을 인에이블하게 된다는 것을 주목하는 것이 중요하다. 독출 응용이 반사 메모리 버퍼의 가장 최근 시계열 세트를 억세스함으로, 독출 응용은 반사 메모리 버퍼[예컨대, 투버퍼(54a,56a)]의 하나의 세트를 억세스할 수 있게 되는 한편, 이어지는 독출 응용은 새로운 포인터에 따라 한번 MI_Sync가 MI_RM_DATA를 갱신하는 반사 메모리 버퍼[예컨대, 원버퍼(5Oa,52a)]의 다른 세트에 대해 억세스를 부여할 수 있다는 것을 알수 있다.
또한, 반사 메모리를 억세스하는 응용은 기준 버퍼가 새로 도입되는 데이터에 따라 중복 기록되기 전에 종료에 대해 실행 가능하게 된다는 것을 이해 해야만 한다. 프론트 엔드 통신시스템(10)의 1실시예에 있어서, 반사 메모리 데이터를 요구하는 응용은 1초 이하에서 종료에 대해 실행하도록 허용하기에 충분히 높은 실행 우선을 할당한다. 그러나, 프론트 엔드 컴퓨터(18)는 종료를 실행하는데 더 오래 걸리는 응용의 개선을 허응하기 위한 버퍼의 부가적인 세트로 형성될 수 있다는것을 인식해야 한다.
또한, 프론트 엔드 컴퓨터(l8a,l8b)의 이용은 또한 특정 데이터 요구에 대해 응답하기 위한 필요한 지능을 갖도록 프론트 엔드 통신시스템(10)을 인에이블시킨다는 것을 상기로부터 이해해야 한다. 또한, 프론트 엔드 컴퓨터(l8a,l8b)의 이용은 프로세스 제어컴퓨터(l2a,l2b)가 실질적으로 실시간 데이터를 계속 보낼 수 있도록 빠른 체크를 허용한다. 더욱이, 프론트 엔드 컴퓨터(l8a,l8b)는 프로세스 제어컴퓨터(l2a,l2b)로부터의 독출 또는 기록 요청이 요청을 촉진시키는 컴퓨터 네트워크(20)상의 엔티티와 관련하여 보증되어야만 하는가의 여부에 따라 결정을 하도록 바람직하게 프로그램된다. 이하, 더욱 상세히 논의되는 바와 같이, 프론트 엔 드 컴퓨터(l8a,l8b)는 이러한 결정을 용이하게 하기 위해 그 메모리에서 보안 테이블과 2개의 허용 테이블을 포함한다. 이 보안 테이블은 허용테이블이 2중 포트 데이터 메모리(22a,22b)의 특정 위치에 영향을 미치는 컴퓨터 네트워크상의 엔티티로부터의 기록 명령 메시지를 평가하는데 이용되는 동안, 통신이 컴퓨터 네트워크(20)상의 다양한 모든 엔티티에서 허용되는가의 여부를 결정하는데 이용된다.
또한, 프론트 엔드 컴퓨터(l8a,l8b)는 상관 버퍼(58a,6Oa; correlate buffer)와 같이 부가적인 반사 버퍼의 적어도 하나의 세트를 이용하게 된다. DSS 데이터 세트가 현재 프로그램 사이클로부터의 포스트-조정 입력값과 즉각적으로 이전 프로그램 사이클의 포스트-조정 입력값을 기초로 한 출력값을 포함하게 된다는 사실의 관점에서, 이는 이러한 출력값을 결정하기 위해 이용되는 입력값에 따라 특정 프로그램 사이클을 위해 출력값을 하나의 데이터 테이블과 상관을 갖도록 하는데 바람직하게 된다. 따라서, 프론트 엔드컴퓨터(l8a)는 현재 DSS 데이터 세트로부터 포스트-조정 입력값의 복사를 저장하기 위해 상관 버퍼(58a,6Oa)를 채용하고, 동일한 상관 버퍼에서 이러한 연속되는 데이터 세트로부터 출력값의 복사를 저장하기 위해 다음 DSS 데이터 세트의 정렬을 기다린다. 이러한 점에서, 이 복사 절차가 반사 메모리 버퍼의 가장 최근 시계열 세트로부터 만들어지게 된다는 것을 인지해야 한다. 즉, 예컨대, 도 2a는 시계열 버퍼에서의 데이터 테이블의 도식적 예를 나타내는 반면, 도 2b는 상관 버퍼(CL)에서 데이터 테이블의 유사한 예를 나타낸다. 여기서, 프론트 엔드 컴퓨터(l8a,l8b)의 시계열 능력은 프로세스 제어 컴퓨터(l2a,l2b)의 동작과, 제어되는 물리적인 프로세스의 분석을 위한 막강한 진단도구를 제공한다는 것을 이해해야 한다. 예컨대, 프리링크와 포스트-조정 입력 데이터값이 시계열 됨과 더불어 프론트 엔드 컴퓨터(l8a, l8b)에 의해 이용 가능하게 만들어짐에 따라 입력 데이터값과 관련하여 실행되는 조정은 프로세스 제어 컴퓨터(l2a,l2b)의 양쪽을 위해 분석된다.
컴퓨터 네트워크(20)는 직접제어 세그먼트와, 프로세스 정보세그먼트 및,"WAN(Wide Area Network)"을 일반적으로 포함하는 것으로 하여 도 1에 도시되었다. 이들 각 네트워크 세그먼트는 이더넷 컴플라이언트 매체(Ethernet compliant mediums)와 IEEE 802.3 호환 통신 프로토콜을 바람직하게 채용한다. 직접 제어 세그먼트는 2중 플랜트 에리어 네트워크 "PAN-1"과 "PAN-2"으로 구성되는 반면, 프로세스 정보 세그먼트는 플랜트 에리어 네트워크 "PAN-3"으로 구성된다. 적어도, 하나의 브릿지(62)가 PAN-1과 PAN-2 세그먼트를 내부연결하기 위해 이용된다. 더욱이, 적어도 하나의 브릿지(64)가 PAN-2 세그먼트와 PAN-3 세그먼트의 내부연결을 위해 이용된다. 다른 브릿지는 PAN-1 세그먼트와 PAN-3 세그먼트를 내부연결하기 위해 이용될 수 있다. 또한, 하나 이상의 브릿지(66)가 PAN-3 세그먼트와 WAN을 내부연결하기 위해 이용될 수 있다.
프론트 엔드 컴퓨터(l8a)가 PAN-1 세그먼트에 연결되는 반면, 프론트 엔드 컴퓨터(l8b)가 PAN-2 세그먼에 연결된다는 것을 주목해야 한다. 단일 플랜트 에리어 네트워크가 제공될 수 있는 동안, 여기에 도시된 2중 플랜트 에리어 네트워크의 이용은 단일 플랜트 에리어 네트워크을 거쳐 소정 통신과 용장서 이점을 갖는다. 이러한 점에서, 브릿지는 각 네트워크 세그먼트상에서 많은 소통을 줄이기 위해 이더넷 하드웨어 어드레스에 의한 전형적인 필터 통신이다. 예컨대, 보안 서버(68)와 오퍼레이터 워크스테이션(70) 사이의 통신은 브릿지(62)를 통해 PAN-1 세그먼트에대해 전송되지 않게 된다. 또한, 브릿지(62∼66)는 네트워크 세그먼트 사이에서 물리적 분리의 층이 제공됨에 따라 네트워크 세그먼트중 하나에서 오류가 야기된다면, 이때 오류는 다른 네트워크 세그먼트를 역으로 영향을 주는 것으로부터 방지된다.
더욱이, 하나 이상의 브릿지는 네트워크(20)의 전체적인 보안을 높이기 위해 특정 데이터 통신 프로토콜 식별을 기초로 필터 통신에 또한 이용된다. 예컨대, 브릿지(64)는 PAN-2와 PAN-3 세그먼트중의 하나로부터 다른 것으로 보안서버(68)에의해 이용되는 이더넷 컴플라이언트 프로토콜을 채용하는 메시지의 전송을 방지하는데 이용될 수 있다. 마찬가지로, 브릿지(64)는 2중 포트 데이터 메모리의 메일 박스부(26)로 정보를 기록하는데 이용되는 이더넷 컴플라이언트 프로토콜을 채용하는 메시지의 전송을 방지하는데 이용될 수 있다.
또한, 컴퓨터 네트워크(20)는 오퍼레이터 워크스테이션(70,72)과 같은 다수의 오퍼레이터 워크스테이션을 포함한다. 도 l에 도시된 바와 같이, 이러한 오퍼 레이터 워크스테이션은 다른 네트워크 세그먼트상에 위치할 수 있고, 오퍼레이터 워크스테이션의 수는 특정 프로세스 제어 응용에 따르게 된다. 하나 이상의 이러한 오퍼레이터 워크스테이션은 프론트 엔드 컴퓨터(l8a,l8b)로부터 수신된 데이터를 분석하거나 또는 보기 위해 이용될 수 있다. 더욱이, 이들 오퍼레이터 워크스테이션은 프로세스 제어 컴퓨터(l2a,l2b)로 전송되는 명령 메시지를 야기시키게 되는 프론트 엔드 컴퓨터(l8a,l8b)에 대해 적절한 명령을 전송하기 위해 허가된 제어 룸 오퍼레이터에 의해 이용될 수 있다.
네트워크(20)는 다양한 기능을 수행할 수 있는 프로세스 정보 컴퓨터(74)를 더 포함한다. 예컨대, 프로세스 정보 컴퓨터(74)는 프론트 엔드 컴퓨터(l2a,2b)로부터 수신된 프로세스 데이터의 이력을 저장하기 위해 이용될 수 있다. 더욱이,프로세스 정보 컴퓨터(74)는 프로세스 제어 컴퓨터(12a,l2b)에 존재하는 프로그램 뿐만아니라 프론트 엔드 컴퓨터(l8a,l8b)에 존재하는 컴퓨터 프로그램을 변환시키는데 필요한 컴파일러를 저장하기 위해 이용될 수 있다. 또한, 프로세스 정보 컴퓨터(74)는 프로세스 제어 컴퓨터(l2a,l2b)에 오퍼레이팅 프로그램 갱신을 전송하기 위한 부하 보조 소프트웨어를 포함한다. 또한, 네트워크는 네트워크에 연결된 컴퓨터들 중에서 여러가지 파일 서빙과 트랙킹 기능을 수행하기 위해 이용되는 제 어룸 데이터 관리컴퓨터(76)를 포함한다.
또한, 전문 다운로드 어시스턴트부(78)는 프론트 엔드 컴퓨터(l8a,l8b)에서 프로그램 갱신을 쉽게 하기 위해 제공된다. 반면, 프로세스 정보 컴퓨터(74)에서의 로딩 어시스턴트 소프트웨어는 프론트 엔드 컴퓨터(l8a,l8b)중 적어도 하나와 2중 포트 데이터 메모리(22)의 메일박스부를 통해 프로세스 제어 컴퓨터(l2a,l2b)의 하나로 다운로드되도록 새로운 컴퓨터 프로그램을 야기시키는데 이용될 수 있다. 다운로드 어시스턴트부(78)가 자체의 네트워크 컴퓨터에 위치하는 동안, 다운로드 어시스턴트부(78)는 프로세스 정보 컴퓨터(74)와 같이 적절한 네트워크 컴퓨터에 또한 위치할 수 있다.
또한, 로딩 어시스턴트부는 수정된 프로그램의 실시간 테스팅을 인에이블하는 모드에서 오퍼레이팅을 시작하기 위한 수정된 프로그램에 따라 프로세스 제어컴퓨터를 야기시키기 위해 이용될 수 있다. 이러한 동작 모드에서, 프로세스 제어컴퓨터는 입력 데이터를 수신하고 결정을 출력하게 되는데, 이러한 출력결정은 필드 인스투르먼테이션장치에 전송되어지지 않게 된다. 이는 수정을 평가하도록 플랜트 기술자를 허용하게 되고, 심지어 폭스 모드 또는 독모드와 같이 동작의 활성모드를 가정하도록 프로세스 제어 컴퓨터를 명령하기 전에 필요하다면 더욱 수정하게 된다.
특정 제조 제어 동작을 수행하는 프로세스 제어 컴퓨터(l2a,l2b)에서의 방법이 프로그램 수정을 통해 변화되어야 한다는 것이 결정될 때마다, 프로세스 제어컴퓨터(l2a,l2b)를 위한 수정된 프로그램은 소스 프로그래밍 언어로부터 실행 파일 또는 동적으로 링크된 파일로 컴파일되어야 한다. 실시예에 있어서, 단일 식별자는 컴파일 공정 동안 실행가능 코드로 내장된다. 이러한 식별자는 프로세스 제어컴퓨터(l2a,l2b)를 위한 수정된(또는 관련된) 소프트웨어의 버전을 나타낸다. 프로그램 버전 식별자는 프로세스 제어 컴퓨터(l2a,l2b)에 의해 실행되어지는 프로그램의 버전 사이에서 적절한 정렬을 보장하기 위해 이용되고, 프론트 엔드 컴퓨터(l8a,l8b)에서 파일/테이블은 프로세스 제어 컴퓨터에 대해 기록 명령 메시지를 평가하기 위해 이용된다.
상기한 바와 같이, 각 프론트 엔드 컴퓨터(18a,l8b)는 우측 프로세스 제어컴퓨터(l2b)를 위한 "PR" 허용 테이블(82a)과 좌측 프로세스 제어 컴퓨터(l2a)를 위한 "PL" 허용 테이블(8Oa)과 같은 2개의 허용하는 테이블을 포함한다. 이들 허용 테이블은 컴퓨터 네트워크(20)상의 어떤 엔티티가 2중 포트 데이터메모리(22a,22b)의 특정 위치의 내용을 바꾸기 위해 허용되어야 하는지를 결정하도록 프폰트 엔드 컴퓨터(l8a,l8b)에 의해 이용된다. 그러나, 허용 테이블의 데이터 구조가 기록 명령 메시지로부터 변경되는 프로세스 제어 컴퓨터(l2a,l2b)의 어느 메모리 위치 또는 영역의 내용을 보호하기 위해 구성된다는 것을 인지해야만 한다.
메시지가 오퍼레이터 워크스테이션(70,72)의 하나로부터의 기록 명령 메시지와 같이, 기록 명령 프로토콜을 이용하는 네트워크상의 엔티티로부터 프론트 엔드컴퓨터(18)에 의해 수신될 때, "데이터_기록_체크(data-write-check)" 서브루틴은 프론트 엔드 컴퓨터의 중앙처리장치에 의해 호출된다. 데이터_기록_체크 루틴은 기록 명령 메시지에서 식별된 여러 가지 엘리먼트와, 인정되거나 또는 부정된 변화를 위한 허용 테이블의 여러가지 엘리먼트와의 사이에서 비교를 수행한다. 예컨대, 만약 프론트 엔드 컴퓨터(l8a)가 좌측 프로세스 제어 컴퓨터(l2a)에 의해 실행되어지는 프로그램에 의해 이용된 아날로그 이득 "AG"팩터를 증가/감소시키기 위해 시도하는 기록 명령 메시지를 수신한다면, 프론트 엔드 컴퓨터(l8a)는 비트가 이 요소를 바꾸기 위해 필요한 인정을 부정하기 위해 설정되면 허용 테이블(8Oa)의 이러한 특정 AG펙터와 결정을 위한 엘리먼트 워드를 찾는다. 만약, 인정이 부정된다면, 그때 프론트 엔드 컴퓨터(l8a)는 프로세스 제어 컴퓨터(l2a)에 기록 명령 메시지를 전송하지 않게 된다. 대신, 프론트 엔드 컴퓨터(l8a)는 기록 에러가 야기된 호스트 엔티티를 알리도록 기록 명령 메시지를 처음부터 보내는 컴퓨터 네트워크(20)상의 호스트 엔티티에 응답 메시지를 바람직하게 송신하게 된다.
상기한 점으로부터, 프론트 엔드 컴퓨터(l8a,l8b)에 저장된 PL 및 PR 허용테이블은 각 프로세스 제어 컴퓨터(l2a,l2b)에 의해 실행되어지는 프로그램의 버전과 밀접하게 통합될 필요가 있음을 이해해야 한다. 이러한 각 허용 테이블이 각 프로세스 제어 컴퓨터(l2a,l2b)에 의해 실행되어지는 프로그램과 충분하게 매치되는 것을 보증하기 위해, 상기 논의된 프로그램 버전 식별자는 컴파일될 때 이러한 허용 테이블에 내장된다. 이러한 프로그램 버전 식별자는 검증된 기록 명령 메시지에 따라 프로세스 제어 컴퓨터(12)에 보내질 수 있고, 따라서 프로세스 제어 컴퓨터(12)는 명령된 다양한 변화가 그 프로그램 버전에 적절하다는 것을 확인할 수 있게 된다.
이러한 검증 프로세스의 비밀을 향상시키기 위해, 허용 테이블로부터의 프로그램 버전 식별자는 기록 명령 메시지에 따라 의도된 프로세스 제어 컴퓨터(12)를 위한 비밀 인터페이스회로(16)의 메일박스부(26)에 전송되기 전에 적당한 암호화 알고리즘에 의해 바람직하게 변경된다. 기록 명령 메시지를 수신하는 프로세스 제어 컴퓨터(12)는 이러한 버전 식별자를 디코드하게 되고, 매치가 되면 결정을 위해 그 프로그램에 내장된 프로그램 버전 식별자와 비교한다. 프로그램 버전 식별자가 매치된다면, 그때 프로세스 제어 컴퓨터(12)는 명령된 가변 변화를 수행하게 된다. 한편, 프로세스 제어 컴퓨터(12)는 기록 명령 메시지를 버리고, 프론트 엔드 컴퓨터(18)에 적당한 에러 메시지를 전송하는 것에 의해 응답하게 된다.
또한, PL 및 PR 히용 테이물은 컴퓨터 네트워크(20)상의 특정 호스트 엔티티를 위해 만들어지는 기록 명령 인정 결정을 허용하는 데이터 구조가 바람직하게 제공된다. 즉, 허용 테이블(8Oa)은 오퍼레이터 워크스테이션(72)으로부터 만들어지는것을 허용하지 않는 오퍼레이터 워크스테이션(70)으로부터 만들어지는 특정 가변 변화를 히용한다. 따라서, 허용 테이블은 디폴트 테이블부 뿐만 아니라 몇몇 스테이션 특정 테이블부를 갖을 수 있게 된다. 그럼에도 불구하고, 능력은 컴퓨터 네트워크(20)상의 호스트 엔티티에서 적절한 패스워드의 이용을 통해 적절한 허용 테이블의 체크를 피하도록 제공될 수 있다. 그러나, 이러한 점에서, 로그는 이러한 트랜잭션과, 호스트 엔티티(예컨대, CPU 식별자)의 일치를 식별하는 프론트 엔드 컴퓨터(18)에서 생성 및 저장되어져야 한다.
프로세스 제어 컴퓨터(l2a,l2b)를 위한 분리 허용 테이블의 이용은 다른 프로세스 제어 컴퓨터가 제조 프로세스를 능동적으로 제어하는 것을 계속하는 동안,프로세스 제어 컴퓨터의 하나에서 수행되는 프로그램 다운로딩 동작을 인에이블하는 이점을 갖는 것에 주목해야 한다. 실제로, 수정된 프로그램이 프로세스 제어컴퓨터(l2a) 및 프론트 엔드 컴퓨터(l8a)에 로드된 대응하는 허용 테이블(8Oa)에 성공적으로 전송된 후에도, 분리 허용 테이블의 이용은 프로세스 제어 컴퓨터(l2b)를 위해 의도된 기록 명령 메시지와 다른 프로세스 제어 컴퓨터(l2a)를 위해 의도된 기록 명령 메시지를 평가하기 위해 프론트 엔드 컴퓨터(l82)를 인에이블하게 된다. 능동 제어모드에서 다른 프로그램 버전을 갖는 프로세스 제어 컴퓨터(l2a,l2b)를 실행하기 위해 어떤 환경에서 적당하지 않게 되는 반면, 수동 동작모드는 다른 제어 컴퓨터가 능동 제어모드에 있는 동안 수정된 프로그램을 갖는 프로세스 제어 컴퓨터를 위해 이용될 수 있다. 이러한 사실에서, 플랜트 기술자는 수동 프로세스 제어 컴퓨터를 위해 기록 명령 메시지를 생성하기 위한 마지막 프로그램 테스팅 동안다운로드 어시스턴트부를 이용하는 반면, 다른 플랜트 기술자는 동일한 프론트 엔드 컴퓨터(18)를 통해 능동 프로세스 제어 컴퓨터에 대해 기록 명령메시지를 생성한다.
보안 서버(68)는 네트워크상에서 통신하는 네트워크상에 존재하는 각 컴퓨터를 알리는데 이용된다. 이러한 점에서, 보안 서버는 네트워크상의 각 유효 엔티티를 위한 특정 보안 테이블을 저장한다. 이러한 각 보안 테이블은 특정 네트워크컴퓨터가 양방향 통신을 하는 네트워크 컴퓨터 엔티티를 식별한다. 예컨대, 프론트 엔드 컴퓨터(18a,l8b)의 경우에, 시작에서의 제1기능의 하나는 보안 서버(68)로부터 그들의 각각의 보안테이블을 얻게 되는 것이다. 따라서, 보안 서버(68)는 프론트 엔드 컴퓨터(l8a)를 위한 보안 테이블 "Sl"과, 프론트 엔드 컴퓨터(l8b)를 위한 보안 테이블 "S2"를 저장하기 위해 도 l에 도시된다. 또한, 보안 서버가 프론트 엔드 컴퓨터(18)에 상기 논의된 PL과 PR 허용 테이블을 보내기 위해 이용되는 동안, 새롭게 컴파일된 허용 테이블이 다운로드 어시스턴트부(78)로부터 수신되는 것이 바람직하다. 이러한 점에서, 다운로드 어시스턴트부가 적절한 허용 테이블에 따라 프론트 엔드 컴퓨터(18)에 IFS회로(28)를 위해 의도된 전송 맵(37)을 보내기 위해 바람직하게 이용됨을 주목해야 한다.
보안 서버(68)로부터 프론트 엔드 컴퓨터(l8a,l8b)까지 보안 테이블 전송의무결성을 보장하기 위해, 이러한 전송을 유효하게 하는 방법이 본 실시예에서 이용된다. 이러한 방법에 따라, 프론트 엔드 컴퓨터(18)는 적절한 보안 테이블을 보내기 위한 전조로서 보안 서버(68)가 그 자체를 식별하는 것을 요구하도록 방송 네트워크 메시지에 난수 또는 의사 난수를 내장하게 된다. 보안 서버는 네트워크 메시지의 다른 형태로 이용되는 것과 다른 보안 프로토콜 식별자를 이용하는 확인 응답메시지를 갖는 이러한 요구에 응답하게 된다. 중요하게도, 이러한 확인 응답 메시지는 전송된 상태에서 프론트 엔드 컴퓨터(18)로부터 난수를 포함하게 된다. 이러한 점에서, 적절한 암호화 알고리즘이 난수를 변경하는데 이용될 수 있고, 따라서 난수는 디코드(예컨대, 32비트)에 대해 어떤 공인되지 않은 엔티티를 어렵게 하는 비트 길이를 갖는다. 확인 응답 메시지의 수신에 따라, 프론트 엔드 컴퓨터(18)는 난수를 얻기 위해 암호 프로세스를 반전시키거나 송신 및 수신된 난수 사이에서 비교하기 위한 본래의 난수를 암호화하게 된다. 이들 난수가 매치되는 것으로 가정하면, 이때 프론트 엔드 컴퓨터(18)는 확인응답 메시지가 유효 보안 서버로부터 수신된 것을 결정하게 되고, 따라서 전송 프로세스가 진행되게 된다.
컴퓨터 네트워크(20)상의 다른 엔티티들과 프론트 엔드 컴퓨터(l8a,l8b) 사이에서 통신의 보안을 더욱 향상시키기 위해, 부가적 유효 공정이 바람직하게 수행된다. 특히, 이 부가적인 유효 공정은 프론트 엔드 컴퓨터(l8a,l8b)와 기록 명령 메시지가 인식되어질 수 있는 어떤 네트워크 엔티티 사이에서 통신을 허용하기 위해 이용된다. 이러한 유효 방법에 따라, 프론트 엔드 컴퓨터(18)는 기록 메시지 능력을 갖는 것으로 인식되는 네트워크(20)상의 각 호스트 엔티티의 이더넷 어드레스에 대해 주기적 기준에 따라 계약 제공 메시지를 보내게 된다. 각 제약 제공 메시지는 난수 또는 의사 난수 또는 다른 예측할 수 없는 메시지 성분을 포함하게 된다. 기록 명령 메시지를 인식할 수 있는 호스트 엔티티를 위해, 호스트는 예측할수없는 메시지 성분의 변형된 버전을 포함하는 계약 수용 메시지에 따라 소정의 시간 주기(예컨대, 10초)내에서 계약 제공에 응답해야 한다. 어떤 적절한 암호화 알고리즘이 이러한 목적을 위해 이용되는 동안, 이러한 암호화 알고리즘은 보안 서버(68)로부터 보안 테이블의 전송을 유효하게 하는데 이용되는 암호화 알고리즘과 다르게 되는 것이 바람직하다. 부가적으로, 보안 메시지 프로토콜이 이러한 계약제공과 수용 가능 메시지를 위해 이용될 수 있다는 것에 주목해야 한다.
이때, 프론트 엔드 컴퓨터(18)는 시간 제한 통신 계약이 프론트 엔드 컴퓨티와, 보안 테이블에 포함된 호스트 엔티티를 위한 특정 이더넷 어드레스에서의 이러한 호스트 엔티티 사이에서 확립되면, 결정을 위해 계약 수용 메시지에 내장된 난 수를 해독하게 된다. 이 시간 제한 통신 계약은 프론트 엔드 컴퓨터(18)와 특정 호스트 엔티티 사이의 기록 명령 메시지 링크가 신뢰성이 있게 됨과 더불어 특정화 되는 것을 보증하게 된다. 따라서, 예컨대, 프론트 엔드 컴퓨터(l8a)는 새로운 난수(예컨대, 32비트 길이)를 포함하는 오퍼레이터 워크스테이션(72)의 이더넷 어드레스에 대해 계약 제공 메시지를 보내게 된다. 오퍼레이터 워크스테이션(72)은 이러한 특정 난수의 암호화된 버전을 포함하는 계약 수용 메시지에 응답하게 된다. 이때, 프론트 엔드 컴퓨터(l8a)는 이러한 목적을 위해 그 메모리에 저장된 계약 알고리즘에 따라 이러한 수를 해독하거나 또는 오퍼와 수용 수를 비교하도록 동일한 암호화 알고리즘을 이용하게 된다. 만약, 이러한 수들이 매치되면, 이 때 프론트 엔드 컴퓨터(l8a)는 소정의 시간 주기 동안 오퍼레이터 워크스테이션(72)으로부터 기록 명령 메시지를 처리하게 된다. 한편, 수들이 매치되지 않는다면, 이때 프론트엔드 컴퓨터(l8a)는 이러한 오퍼레이터 워크스테이션으로부터의 기록 명령 메시지가 무시된 것을 지시하도록 보안 테이블(Sl)로부터 오퍼레이터 워크스테이션(72)의 이더넷 어드레스를 위한 기록 명령 허가 비트를 디스에이블하게 된다.
기록 명령 메시지를 위해 설치된 통신 계약은 이러한 특정 메시지의 전송 보안을 향상시키기 위해 시간이 제한된다. 실시예에 있어서, 통신 계약은 개시된 후 20초내에 자동적으로 끝나게 된다. 그럼에도 불구하고, 기록 명령 메시지를 보내기 위한 능력이 인터럽트되지 않는 것을 보장하기 위해, 계약 제공 메시지는 프론트 엔드 컴퓨터(18)로부터 이러한 연속을 제공하게 되는 주기적 기준에 따라 네트워크(20)상의 각 적절한 호스트 엔티티들에 보내져야 한다. 예컨대, 20초의 통신계약에 따라, 통신 계약은 거의 매 10초의 비율로 전송되는 것이 바람직하다. 즉,매 10초 마다, 인식 가능한 기록 명령 메시지를 전송할 수 있는 각 호스트 엔티티는 각 프론트 엔드 컴퓨터(18)로부터 새로운 난수를 수신하게 된다.
호스트 엔티티가 프론트 엔드 컴퓨터(18)로부터의 계약 제공 메시지의 응답에 대해 실패하는 경우, 프론트 엔드 컴퓨터는 시간 제한 통신 계약을 유지하거나 확립하도록 3가지 노력을 바람직하게 하게 된다. 만약, 이러한 3가지 노력으로부터 수신되는 응답이 없다면, 이때 프론트 엔드 컴퓨터(18)는 그 보안 테이블로부터 이 호스트 엔티티의 이더넷 어드레스를 위한 기록 명령 인정 비트를 디스에이블하게 된다. 이러한 경우, 영향을 미치는 호스트 엔티티는 보안 서버(68)가 새로운 보안 테이블을 프론트 엔드 컴퓨터(18)에 전송할 때까지 프론트 엔드 컴퓨터(18)에 의해 처리되는 기록 명령 메시지를 갖을 수 없게 된다.
난수만이 보안 테이블의 전송을 용이하게 하기 위해 또는 기록 명령 메시지를 위한 시간 제한 통신 계약을 확립하기 위해 암호화되는 것이 필요하다는 것을 상기로부터 인지해야 한다. 그러나, 보안 테이블 그 자체 또는 기록 명령 메시지가 적절한 응용에서 잘 암호화될 수 있다는 것을 이해해야 한다. 그럼에도 불구하고, 보안 메시지와 기록 명령 메시지를 위한 다른 이더넷 프로토콜의 이용과, 보안 테이블 전송과 기록 명령 통신 계약을 위한 다른 암호화 알고리즘의 이용, 짧은 구간에 대한 기록 명령 통신 계약의 시간 제한 및, 각 프론트 엔드 컴퓨터(18)를 위한 특정 허용 테이블의 이용은 모두 프로세스 제어 컴퓨터(l2a,l2b)를 위한 통신및 기록 명령 보안의 매우 높은 정도를 제공하기 위해 조합된다. 또한, 검증된 기록 명령 메시지가 프로세스 제어 컴퓨터(l2a,l2b)에 전송될 때, 비밀 인터페이스회로(16)에서 보호회로와, PL과 PR 허용 테이블에서 프로그램 버전 식별자의 내장 및, 프론트 엔드 컴퓨터(l8a,l8b)에 의한 이들 프로그램 버전 식별자의 암호화에 의해 부가적인 보호가 실질적으로 제공된다. 이러한 점에서, 프로그램 버전 식별자를 위한 프론트 엔드 컴퓨터(l8a,l8b)에 의해 이용되는 암호화 알고리즘은 기록명령 메시지를 위한 시간 제한 통신 계약을 확립하기 위해 이용되는 암호화 알고리즘 또는 보안 테이블 전송에 사용되는 암호화 알고리즘과 바람직하게 다르다는 것을 주목해야 한다. 이들 보안과 검증에 관한 특징에 대한 더욱 상세한 설명은 본 명세서와 더불어 동일날짜에 출원된 발명의 명칭을 "프론트-엔드 통신보호시스템과방법"으로 하는 드 브루이즌 등의 특허출원번호 제O7/898,923호에서 볼 수 있다. 이 특허출원은 여기에 인용하여 본 명세서에 도입된다.
도 3은 프론트 엔드 컴퓨터(18)를 위한 응용 소프트웨어(300)의 블록도를 나타낸다. 이러한 점에서, 도 3은 컴퓨터 네트워크(20)를 위한 이더넷 서비스(304)와 프론트 엔드 컴퓨터(18)의 Q-버스(302)를 갖는 응용 소프트웨어의 상호 작용을 도시하고 있다. 따라서, 예컨대, 양방향 라인이 Q-버스(302)와 IFQ 드라이버(303) 사이에 제공된다. IFQ 드라이버(308)는 프론트 엔드 컴퓨터(18)의 CPU와의 통신을 제어하기 위한 장치 구동 소프트웨어를 설명한다. IFQ 드라이버(308)는 데이터 저장 이벤트(312)를 통해 "MI Sync" 서브시스템(310)에 결합된다. 이러한 점에서, "MI Sync" 서브시스템은, 프로세스 제어컴퓨터(l2a,l2b)의 하나로부터 SDSS 데이터가 적절한 중간 버퍼[예컨대, 중간 버퍼(46a,48b)]에 완전하게 수신될 때 처럼, IFQ 드라이버(308)로부터 DMA 완성의 통지를 수신한다. 도 1에서의 반사 메모 리(46a,56a)는 반사 메모리(314)로서 도 3에 도시된다. 또한, 도 3은 반사 메모리(314)가 프론트 엔드 컴퓨터(18)의 Q-버스(302)에 동작적으로 결합된 것을 나타내고 있다.
MI Sync 서브시스템(310)은 상기한 바와 같이, 반사 메모리(314)의 동작을 통해 각 프로세스 제어컴퓨터(l2a,l2b)로부터 도입되는 SDSS와 DSS 데이터 프레임을 동기화하기 위한 책임이 있는 응용 소프트웨어의 부분을 나타낸다. 또한, MI Sync 서브시스템은 데이터 프레임이 프로세싱을 위해 이용가능할 때, "시스템 메시지(System Messages)"모듈(318)과 "Ml MOD 헬스(Health)"모듈(316)을 통지한다. 더욱이, MI Sync 서브시스템(310)은 프로세스 제어컴퓨터의 하나가 프론트 엔드 컴퓨터(18)에 데이터를 보내는 것을 중지시킬때와 같이 반사 메모리 갱신이 일어났는지아닌지를 검출하기 위해 이용된다. 이러한 절차는 "MOD상태(Status)"모듈(320)과 "MI 감시(Watchdog)"모듈(322)을 통해 실행된다. MI 감시 모듈(322)은 프론트 엔드 컴퓨터(18)가 프로세스 제어컴퓨터(l2a,l2b)로부터 데이터 수신을 중지하면, 검출을 위해 2초 타이머를 이용한다.
MI MOD 헬스 모듈(316)은 프로세스 제어컴퓨터(l2a,l2b)로부터 프론트 엔드컴퓨터(18)에 의해 수신되어지는 데이터에서 변화되는 헬스 비트(health bit)를 처리한다. 이러한 점에서, MI MOD 헬스 모듈(316)은 "EVT 이벤트 헨들러(Event Handler)"모듈(324)로 이러한 변화를 보낸다. 마찬가지로, MI 시스템 메시지 모듈(318)은 프로세스 제어컴퓨터로부터 도입되는 시스템 메시지를 처리하고, EVT 이벤트 헨들러 모듈(324)에 대해 소정 요구를 대기한다. EVT 이벤트 헨들러 모듈(324)은 이벤트 버퍼를 처리하고, 프린트 서비스(Print Services) 모듈(326)"에 대한 출력을 위해 텍스트를 포맷하며, 에러와 이벤트 로그에서 다른 이벤트를 기록한다.
반사 메모리(314)는 반사 메모리로 독출 동작을 수행하는 "MI CISS 메모리 독출(Memory Read)"모듈(328)에 결합된다. 이러한 점에서, MI CISS 메모리 독출 모듈(328)은 데이터/메시지를 전송하기 위한 표준 이더넷 프로토콜로 질의 응답을 포맷하고, 응답을 포트(330)를 매개로 네트워크 옌티티를 요구하는 쪽으로 향하게 한다. "NI CISS"모듈(332)은 데이터/메시지를 전송하기 위한 표준 프로토콜을 이용하는 네트워크 엔티티로부터 도입되는 질의 요청을 수신한다. NI CISS모듈(332)은 메시지상의 초기 보안 체크를 수행하고, 요구를 메시지 형태에 의해 결정됨에 따른적절한 처리로 경로를 정한다. 예컨대, NI CISS모듈(332)은 MI CISS 메모리 독출 모듈(328)로 독출 데이터 메시지의 경로를 정한다. 부가적으로, NI CISS 모듈(332)은 "MI 다운로드 헨들러(Download Handler)"모듈(334)로 프로그램 다운로드 요구의 경로를 정한다. 다른 요구 메시지는 "MI 메시지 서비스"모듈(336)로 경로가 정해진다.
또한, 응용 소프트웨어(300)는 이용자 인터페이스에 따라 통신을 용이하게 하는 모듈을 포함한다. 이러한 점에서, 이용자 인터페이스는 프로세스 제어컴퓨터(l2a,l2b)중 하나에 대한 인터페이스에 대항하는 바와 같이 프론트 엔드 킴퓨터(18)의 동작으로 윈도우를 제공하기 위해 이용된다. 이용자 인터페이스 소프트웨어는 프론트 엔드 컴퓨터(18)에 직접적으로 연결된 터미널을 통해 "근거리적(locally)"으로 억세스될 수 있다. 또한, 이용자 인터페이스 소프트웨어는 보안 서버(68)로부터 실행될 수 있는 응용을 통해 "원격적(remotely)"으로 억세스될 수있다. 이용자 인터페이스는 특정 프로토콜을 위한 네트워크 통신을 디스에이블 또는 리인에이블하고, 진단기능을 수행하며, 프론트 엔드 컴퓨터를 재부팅시키고, 모니터 액티비티 메모리를 갱신하며, 그렇지 않으면 특권이 부여된 프론트 엔드 컴퓨터 기능에 대해 억세스를 관리하는데 이용된다.
이용자 인터페이스 요구를 처리하는 응용 소프트웨어는 "NI 원격 이용자(Remote User)"모듈(338)과, "UI 근거리(Local)" 모듈(340) 및, "UI 서비스(Service)" 모듈(342)이다. NI 원격 이용자 모듈(338)은 이용자 인터페이스 통신을 위한 프로토콜을 갖춘 모든 메시지를 수신하고, 이를 UI 서비스 모듈(342)에 대해 유효 요구를 진행하게 한다. UI 서비스 모듈(342)은 근거리 및 원격 이용자 요구를 위해 데이터 서버를 제공한다. UI 근거리 모듈(340)은 근거리 터미널상에서 응답을 디스플레이하기 위해 근거리 이용자 인터페이스 디스플레이 스크린을 처리한다.
또한, 응용 소프트웨어(300)는 네트워크 인터페이스 메시지 버퍼의 자유로운 대기를 유지함과 더불어 이더넷 기록 완료의 통지를 수신하는 "NI 전송 완료(Transmit Done)"모듈(344)을 포함한다. 더욱이, "EVT 파일 메인트(File Maint)"모듈(346)은 에이지드 이벤트 로그 파일(aged event log files)을 삭제하기 위해 이용된다. 더욱이, 감시 보안 프로세스를 실행하기 위한 "NI 감시" 모듈(348)과" NI SCSP" 모듈(350)이 앞에서 논의되었다. 이러한 점에서, NI 감시 모듈(348)은 오퍼레이터 워크스테이션에 감시 요구 보내고, NI SCSP모듈(350)은 응답 메시지(뿐만 아니라 보안 프로토콜을 이용하는 모든 다른 네트워크 메시지)를 처리한다. 또한, NI 감시 모듈(348)은 응답 메시지가 각 감시 요구 메시지에서 수신되는지를 알기 위해 체크한다,
감시 응답 메시지 외에, NI SCSP모듈(350)은 "CFG 콘피그 매니저(Config Manager)" 모듈(352)에 모든 다른 보안 프로토콜 메시지를 향하게 한다. CFG 콘피그 매니저 모듈(352)은 보안 요구를 처리하고, 허용 테이블(8Oa,82a)의 초기 로딩을 수행한다. 또한, CFG 콘피그 매니저 모듈(352)은 도 4와 관련하여 이하 설명되는 메모리 맵의 로딩을 실행한다. 응용 소프트웨어(300)는 또한 다른 모든 프론트엔드 컴퓨터 처리를 생성하도록 기본 초기화 루틴을 수행하는 "MIF 마스터 프로세스(Master Process)" 모듈(354)을 포함한다. MIF 마스터 프로세스 모듈(354)은 또한 이러한 처리의 어느 기대되지 않은 종료를 검출하기 위해 이용된다.
도 4는 프론트 엔드 컴퓨터(l8a)를 위한 구성의 블록도를 나타낸다. 특히, 도 4는 CFG 콘피그 매니져 모듈(352)이 부트업 상의 프론트 엔드 컴퓨터(l8a)를 구성하는데 필요한 정보를 얻기 위해 보안 서버(68) 및 다운로드 어시스턴트부(78)와 상호 작용하는 것을 설명한다. 이러한 점에서, CFG 콘피그 매니져 모듈(352)은 이러한 구성 작용을 수행하기 위해 MIF 마스터 프로세스(Master Process) 모듈(354)로부터의 요구에 대해 응답한다. 즉, CFG 콘피그 매니저 모듈(352)은 (상기한 바와 같이) 방송 네트워크 메시지를 통해 보안서버(68)를 위치시키고, 보안서버로부터 궁극적으로 수신된 보안 테이블(S1)을 로드한다. 더욱이, CFG 콘피그 매니저 모듈(352)은 다운로드 어시스턴트부(78)로부터 허용 테이블(8Oa,82a) 양쪽을 로드하게 된다. 또한, CFG 콘피그 매니저 모듈(352)은 도 4에 도시된 메모리 맵(356)과 같은 각 프로세스 제어컴퓨터(l2a,l2b)를 위한 메모리 맵을 수신한다. 메모리 맵은 전송 테이블[예컨대, 전송 테이블(37)]을 구성하도록 프론트 엔드 컴퓨터(l8a)를 인에이블함과 더불어 각 반사 메모리 버퍼(314)에서 수신된 데이터를 해석하는데 이용된다. 즉, 각 메모리 맵은 각 프로세스 제어컴퓨터(l2a,l2b)를 위한 2중 포트 데이터 메모리(22)의 각 주소가능 위치에 저장된 데이터를 식별한다. 이러한 처리의 일부로서, 메모리 맵은 프로세스 제어컴퓨터(12)의 2중 포트데이터 메모리(22)를 논리적 세그먼트로 분할한다. 세그먼트의 제1세트는 SDSS 데이터 값을 위해 이용되고, 반면 DSS 데이터값은 부가적인 세그먼트 뿐만 아니라 SDSS 메모리 세그먼트를 포함한다.
상기한 바와 같이, MI Sync 서브시스템(310)은 주어진 프로세스 제어 사이클 스냅슛을 위한 데이터를 나타내는 데이터 테이블의 코헤시브(Cohesive pair) 쌍으로 양 프로세스 제어컴퓨터(l2a,l2b)를 위한 SDSS 및 DSS 데이터의 전송과 관련된 DMA 종로 이벤트를 집단화하는 책임을 지고 있다. 이러한 논의에 대해, 이러한 DMA 종료 이벤트는 좌측 SDSS 버퍼와, 우측 SDSS 버퍼, 좌측 DSS 버퍼 및, 우측 DSS 버퍼로서 언급된다. 이러한 데이터 버퍼에서의 정확한 순서는 다양하게 변화될 수 있지만, SDSS 버퍼는 DSS 버퍼를 앞서게 된다.
MI Sync 서브시스템(310)은 상기 식별된 DMA 이벤트에 응답한다. 이러한 점에서, MI Sync 서브시스템(310)은 DMA 이벤트의 완료를 기다리게 되고, 이때 수신된 버퍼의 형태를 결정하기 위한 상태를 체크한다. 만약, 수신된 버퍼가 SDSS버퍼이고, 프론트 엔드 컴퓨터(18)가 이미 대응하는 DSS버퍼를 수신했다면, 이때 최종완료 처리가 수행되게 된다. 마찬가지로, 이러한 형태의 버퍼가 이미 수신됐다면, 최종 완료 처리가 수행되게 된다. 만약, 수신된 버퍼가 제1버퍼가 아니면, 이때 MI Sync 서브시스템(310)은 현재 시간과 제1버퍼가 수신된 시간 사이의 시간차를 체크하게 된다. 만약, 이 차이가 0.7초와 같은 소정 오차를 초과한다면, 이때 최종 완료 처리를 위한 단계가 수행되게 된다. 만약, 이것이 제1버퍼(예컨대, 좌측 SDSS 버퍼)라면, 이때 이 버퍼가 수신된 시간이 기록되게 된다. 만약, 이 버퍼가 이점에서 기대되지 않았다면, 이때 그 상태는 기대되도록 변화된다. 이 버퍼에 대한 포인터가 또한 기록되게 되고, 버퍼는 수신된 것으로 표시된다.
MI Sync 서브시스템(310)은 모든 기대된 버퍼(예컨대, 좌측/우측 SDSS 및 좌측/우측 DSS 버퍼)가 수신되었는가를 알기 위해 또한 체크하게 된다. 만약, 모든 기대된 버퍼가 수신되었다면, 이때 최종 완료 처리가 수행된다. 최종 완료 처리 동안, 수신된 버퍼를 위한 버퍼 포인터는 다른 응용이 이러한 데이터에 접근하는 것을 허용하는 시스템 데이터 구조에 복사되어지게 된다. 이 절차는 "머텍스(mutex)"로 언급되는 상호 배제 세머포어(mutual exclusion semaphore)에 의해 보호된다. 더욱이, 에러 카운터가 모든 수신된 버퍼에 대해 제로로 될 것이다. 만약, 어느 기대된 버퍼가 수신되지 않았다면, 관련된 에러 카운터는 증대된다. 만약, 에러 카운터가 허용된 임계를 초과한다면, 이때 영향을 미친 버퍼가 기대되지않은 것으로 표시된다. 이때, 모든 버퍼는 버퍼의 다음 세트에 대한 처리를 셋업하기 위해 수신되지 않은 것으로 표시된다. 수신된 메모리 버퍼를 억세스하는 응용은 이용을 위해 공유 시스템 데이터 구조 외의 버퍼 포인터를 복사한다.
MI Sync 서브시스템(310)의 동작을 보다 완전하게 설명하기 위해, 이러한 소프트웨어를 위한 의사 코드 및 모듈 개요 테이블이 이하 제공된다. 더욱이, 반사메모리 버퍼(314)를 위한 데이터 구조가 의사 코드의 해석을 돕도록 잘 설명된다. 데이터 구조는 테이블1∼3에 포함되고, 모듈 개요 테이블은 테이블 4에 포함되며, 의사 코드는 바로 그 뒤를 따른다.
도 5에는 프론트-엔드 컴퓨터(l8a)에서 반사 메모리 버퍼(314)와, IFS회로(28)에서 전송 맵(37) 및, 프로세스 제어 컴퓨터(l2a,l2b)에서 2중 포트 데이터 메모리(22) 사이의 관계가 도식적으로 묘사된다. 이 설명을 위해, 데이터 메모리(22)가 단지 2개의 세그먼트를 포함하는 것으로 설명된다. 전송 맵(37)은 제1세그먼트에서 데이터 메모리 어드레스(2000∼2002(hex))를 나타내고, 제2세그먼트에서 데이터 메모리 어드레스(4100∼4105(hex))는 반사 메모리 버퍼(46a)에 전송된다. 특히, 전송 맵(37)은 불필요하게 인접한 데이터 메모리의 메모리 위치로부터 인접하는 데이터 엘리먼트의 블록을 생성하는 것을 주시해야 한다.
도 6은 IFS회로(28)의 블록도로서, 이 블록도에서 개별적인 송신기 및 수신기 [예컨대, 송신기(38a)와 수신기(4Oa)]는 AT&T ODL2OO 시리즈 광변환기를 포함하는 단일블록(400)으로 도시된다. 또한, IFS회로(28)는 송신기/수신기 블록(400)에 대해 데이터/어드레스 신호의 전송을 제어하는 제어 블록(402,404)을 포함한다.이러한 점에서, IFS회로(28)는 이들 신호 전송을 용이하게 하기 위해 데이터 버퍼(408)와 어드레스 버퍼(406) 둘다를 포함한다. 또한, 어드레스 래치(410)는 비밀 포트에 데이터 메모리 어드레스를 보내기 위해 제공된다. 마찬가지로, 송수신기(412)는 비밀 인터페이스 회로(16)의 데이터 버스를 매개로 데이터 정보를 수신하거나 또는 보내기 위한 IFS회로(28)를 인에이블하기 위해 제공된다.
또한, IFS회로(28)는 비밀 타이밍 및 제어회로(414)를 포함한다. 비밀 타이밍 및 제어회로(414)는 비밀 인터페이스회로(16)에 대한 특정 신호를 처리하기 위한 상태 머신을 실행하도록 하나 이상의 프로그래머블 어레이 로직회로를 포함한다. 예컨대, SDSS신호가 수신될 때, 이는 유효한 윈도우가 데이터 메모리(22)로부터 독출하기 위해 존재한다는 것을 IFS회로에 대해 나타냄을 제공한다. 비밀 인터페이스회로(16)상의 조정회로가 데이터 메모리(22)에 대해 억세스를 승인하는 것으로 가정하면, 비밀 타이밍 및 제어회로(414)는 제어상태 레지스터를 적절히 세트하게 된다. 데이터 출력 제어회로(404)는 프리셋 값으로부터 제로로 카운팅 다운을 시작하도록 DMA카운터 회로(418)를 야기시킴으로써 응답하게 된다. DMA카운터(418)는 데이터 메모리(22)로부터 독출되는 각 데이터 워드에 따라 감소하게 된다. DMA카운터(418)는 차례로 전송 맵(37)에서 어드레스를 발생시키는 DMA워드 카운트회로(420)를 제어한다. 즉, DMA워드 카운트회로(420)는 전송 맵(37)에서 어드레스에 대해 포인트하고, 데이터 메모리(22)에서 어드레스에 대해 차례로 포인트한다. 간접적인 이러한 형태를 통해, IFS회로(28)는 비밀 인터페이스회로(16)를 통해 프로세스 제어컴퓨터(12)에 의해 허용되는 특정 윈도우를 위해 전송 맵(37)에서특정되는 각 데이터 메모리(22)의 위치를 독출하게 된다.
도 7에는 IFQ회로(30)의 블록도가 도시된다. IFQ회로(30)는 상기한 바와 같이, 인텔 80186 마이크로 프로세서를 포함하고, 이 마이크로 프로세서용 프로그램이 EPROM(420)에 저장된다. 더욱이, 어드레스 래치(422)는 마이크로 프로세서(42)의 어드레스 버스(424)에 결합된다. 마찬가지로, 데이터 버퍼(426)는 마이크로 프로세서(42)의 데이터 버스(428)에 연결된다. 64kb RAM회로(430)는 어드레스 버스(424)와 데이터 버스(428) 양쪽에 결합된다. RAM회로(430)는 마이크로 프로세서(42)를 위한 다른 동작적인 데이터 구조와 하나 이상의 스택과 같은 시스템 데이터를 저장하는데 이용된다.
또한, IFQ회로(30)는 광섬유 케이블(32)을 거쳐 신호를 전송 및 수신하기 위해 직접적으로 책임을 지는 회로를 포함하는 광섬유 인터페이스 "도터(daughter)"보드(432)를 포함한다. 이러한 점에서, 블록(434)은 광변환기와 수신기 회로의 두 채널을 포함하고, 블록(436)은 상기한 바와 같이, 광변환기와 송신기/수신기 회로를 포함한다. 가젤(Gazelle) 직렬 송신기/수신기쌍에 따르면, IFS회로(28a,28b)에 대한 각 광섬유 링크는 2.5밀리언, 40비트 프레임/초로 전송할 수 있다. 블록(44)은 도 1과 관련하여 논의된 바와 같이, 프로세스 제어컴퓨터(l2a,l2b)로부터 비동기적으로 수신된 SDSS 및 DSS 데이터를 처음으로 저장하기 위해 이용된 2개의 l28kb 데이터 버퍼를 나타낸다. 이들 "링크" 데이터 버퍼는 IFS회로로부터 메시지와 프로세스 데이터의 실시간 언인터럽트된 집합을 제공하기 위해, 각 광섬유 채널을 위한 것과, 2중 포트 형상에서 2개의 독립적인 메모리를 이용하여 바람직하게실행된다. 블록(438)은 프로세스 제어컴퓨터(l2a,l2b)중 하나에 전송되어지는 홀드 시리얼 데이터에 이용되는 (각 광섬유 채널에 대한) 적어도 하나의 워드 레지스터의 설비를 나타낸다.
블록(440)은 워드 레지스터(438)와 데이터 버퍼(44)로 정보의 저장을 제어하기 위한 논리회로를 나타낸다. 논리회로(440)는 이러한 데이터 기록 동작을 취급하기 위한 상태 머신을 실행하기 위한 하나 이상의 프로그래머블 어레이 로직("PAL")회로를 포함한다. 예컨대, 40비트 데이터 프레임이 프로세스 제어컴퓨터(l2a,l2b)의 하나로부터 수신될 때, 논리회로(440)는 데이터 버퍼(44)의 적절한 메모리 위치로 데이터 비트를 나아가게 하기 위해 어드레스와 제어비트를 디코드하게된다. 또한, 광섬유 인터페이스 도터 보드(432)는 데이터 기록 활동의 상태를 이해하는 마이크로 프로세서(42)를 돕기 위한 인터럽트 논리를 포함하는 인터럽트 회로블록(442)을 포함한다. 이러한 점에서, 적어도 2개의 분리 인터럽트 라인이 인터럽트 회로 블록(442)을 마이크로 프로세서(42;광섬유 채널당 하나)와 내부 연결하기 위해 이용된다, IFS회로(28) 및 IFQ회로(30)의 광섬유 인터페이스 도터 보드(432) 양쪽은 에러(예컨대, 패리티 에러와 4B/5B 링크에러)에 대해 도입되는 프레임을 시험하는 PAL 상태 머신을 포함한다. 프론트 엔드 통신시스템(10)의 1실시예에 있어서, IFQ회로(30)상의 모든 상태 머신이 마이크로 프로세서(42)의 10MHz 클럭 신호로부터 구동되는 2OMHz 클릭신호로부터 동작한다.
마이크로 프로세서(42)는 데이터를 이동시키기 위한 적어도 2개의 DMA 엔진을 제공하도록 프로그램된다. 예컨대, 마이크로 프로세서(42)는 데이터 버퍼로부터버켓 브리게이드 저장 매체로 기능하는 2중 포트 64kb RAM회로(444)로 데이터를 이동시킴으로써 인터럽트 회로블록(442)으로부터의 적절한 인터럽트 신호에 응답하게 된다. 이때, 한번 충분한 데이터가 2중 포트 RAM회로(444;예컨대, 8kb)에 저장되면, 선입선출("FIFO") DMA 제어블록(446)의 DMA 상태 머신은 프론트-엔드 컴퓨터(18)의 Q-버스(302)를 거쳐 이 데이터를 이동시키게 된다. 메모리 사이클은 최우선권이 주어진 마이크로 프로세서(42)의 시스템 버스에 따라 마이크로 프로세서(42) 시스템 버스와 Q-버스 사이에 바람직하게 인터리브된다. 상태 레지스터회로(448)와 CSR회로(450)에는 전송 상태와 제어 정보가 제공된다. 더욱이, 도 7에 도시된 바와 같이, 어드레스 버퍼(452)와 DMA/FIFO카운터(454)는 2중 포트 RAM회로(444)의 어드레스 라인에 결합된다. 마찬가지로, Q-버스(302)를 위한 DMA/FIFO 데이터 버퍼(456)와 마이크로 프로세서(42)를 위한 데이터 버퍼는 2중 포트 RAM회로(444)의 데이터 라인에 결합된다.
한편, 본 발명은 상기한 실시예에 한정되는 것은 아니고, 본 발명의 요지를 이탈하지 않는 범위내에서 다양하게 변형하여 실시할 수 있음은 물론이다.

Claims (22)

  1. 다수의 컴퓨터용의 인텔리전트 프론트 엔드 통신시스템에 있어서,
    상기 컴퓨터가 물리적 프로세스의 동작을 제어하기 위해 사용되는 다수의 능동형 용장 프로세스 제어컴퓨터를 포함하고,
    상기 인텔리전트 프론트 엔드 통신시스템이 다수의 컴퓨터 엔티티간의 통신을 가능하게 하기 위한 네트워크 수단도 포함하며,
    상기 용장 프로세스 제어컴퓨터와 상기 네트워크 수단 각각과 접속되어 있고, 상기 용장 프로세스 제어 컴퓨터와 상기 네트워크 수단 각각 사이의 통신을 가능하게 하는 프론트-엔드 인터페이스수단에 있어서, 상기 프로트-엔드 인터페이스 수단이, 상기 용장 프로세스 제어컴퓨터 각각으로부터 비동기적으로 수신되는 동적 데이터의 순차적인 세트를 저장하고, 상기 각 용장 프로세스 제어컴퓨터로부터의 대응하는 동적 데이터를 시간정렬하며, 상기 시간정렬된 데이터 세트의 적어도 일부를 상기 네트워크 수단으로 전송시키기 위한 섀도우 메모리수단을 갖춘 것을 특징으로 하는 인텔리전트 프론트-엔드 통신시스템.
  2. 제1항에 있어서, 상기 프론트-엔드 인터페이스 수단이, 상기 각 프론트-엔드 컴퓨터 각각이 상기 용장 프로세스 제어컴퓨터 각각과 접속되어 있고, 상기 프론트-엔드 컴퓨터 각각이 상기 네트워크 수단과 접속되어 있는 상태에서 다수의 프론트-엔드 컴퓨터를 포함하는 것을 특징으로 하는 인텔리전트 프론트-엔드 통신시스템.
  3. 제1항에 있어서, 상기 섀도우 메모리 수단이 상기 용장 프로세스제어 컴퓨터 각각을 위한 대응하는 메모리 영역을 포함하고, 그 결과 상기 용장프로세스 제어컴퓨터 각각으로부터 수신된 순차적 동적 데이터 세트가 상기 섀도우 메모리 수단에 의해 개별적으로 저장되고 시간정렬되는 것을 특징으로 하는 인텔리전트 프론트-엔드 통신시스템.
  4. 제3항에 있어서, 상기 대응하는 메모리 영역 각각이, 상기 용장프로세스 제어컴퓨터중 하나로부터 비동기적으로 수신되는 상기 동적 데이터 세트를 저장하기 위한 제1버퍼수단과, 동적 데이터의 상기 비동기적인 세트로부터 현재 시간정렬된 동적 데이터 세트를 제공하기 위한 제2버퍼수단 및, 이전의 시 간정렬된 동적 데이터 세트로부터의 전송가능한 동적 데이터 세트에 관한 문의를 완료시키기 위한 제3버퍼수단을 포함하고 있는 것을 특징으로 하는 인텔리전트 프론트-엔드 통신시스템.
  5. 제4항에 있어서, 상기 섀도우 메모리수단이 시간 정렬 이벤트에 응답하여 상기 제2버퍼수단의 포인터를 부여하기 위해 상기 제1버퍼수단 각각으로부터 복사하기 위한 동기수단을 포함하는 프론트-엔드 컴퓨터에 포함되는 것을 특징으로 하는 인텔리전트 프론트-엔드 통신시스템.
  6. 제5항에 있어서, 상기 시간정렬 이벤트는 상기 대응하는 각 메모리 영역의 상기 제1버퍼수단이 각각의 동적 데이터 세트를 완전히 저장했을 때 에 생성되는 것을 특징으로 하는 인텔리전트 프론트-엔드 통신시스템.
  7. 제4항에 있어서, 상기 대응하는 메모리영역 각각이 상기 각 용장프로세스 제어 컴퓨터로부터의 상기 동적 데이터 세트중 적어도 2개 세트의 관계하는 부분을 저장하기 위한 상관버퍼수단을 포함하는 것을 특징으로 하는 인텔리전트 프론트-엔드 통신시스템.
  8. 제7항에 있어서, 상기 관계하는 부분이, 하나의 동적 데이터 세트로부터의 입력 데이터와 그 종속의 동적 데이터 세트로부터의 출력 데이터를 포함하는 것을 특징으로 하는 인텔리전트 프론트-엔드 통신시스템.
  9. 제1항에 있어서, 상기 프론트-엔드 인터페이스 수단이, 상기 섀도우 메모리수단을 포함하는 프론트-엔드 컴퓨터와, 상기 용장 프로세스 제어컴퓨터 각각에 접속된 제l인터페이스회로, 상기 프론트-엔드 컴퓨터에 접속된 제2 인터페이스회로 및, 상기 제2인터페이스회로와 상기 제1인터페이스회로 양쪽 사이의 양방향 통신을 가능하게 하기 위한 전송수단을 포함하는 것을 특징으로 하는 인텔리전트 프론트-엔드 통신시스템.
  10. 제9항에 있어서, 상기 제l인터페이스회로 각각이, 상기 동적 데이터 세트를 구성하는 변수를 결정하기 위한 전송 맵 수단을 포함하는 것을 특징으로 하는 인텔리전트 프론트-엔드 통신시스템.
  11. 제9항에 있어서, 상기 제1인터페이스회로 각각과 상기 제2인터페이스회로가상기 전송수단에 의한 동시 양방향 신호 통신을 가능하게 하기 위해 대응하는 송신기회로/수신기회로를 포함하는 것을 특징으로 하는 인텔리전트 프론트-엔드 통신시스템.
  12. 제11항에 있어서, 상기 전송수단이 다수의 광섬유를 포함하는 것을 특징으로 하는 인텔리전트 프론트-엔드 통신시스템.
  13. 제9항에 있어서, 상기 제2인터페이스회로가, 상기 제2인터페이스회로와 상기 각 제l인터페이스회로 사이의 신호 통신을 제어하기 위한 프로세서 수단을 포함하는 것을 특징으로 하는 인텔리전트 프론트-엔드 통신시스템.
  14. 제13항에 있어서, 상기 제2인터페이스회로가, 상기 제1인터페이스회로 각각으로부터 비동기적으로 수신되는 동적 데이터 세트를 개별로 저장하기 위한 초기 메모리 수단을 포함하는 것을 특징으로 하는 인텔리전트 프론트-엔드 통신시스템.
  15. 제14항에 있어서, 상기 프로세서수단이, 상기 초기 메모리수단으로부터 상기 대응하는 메모리 영역 각각의 중간 메모리 수단으로의 동적 데이터의 직접 메모리 억세스 전송을 일으키기 위한 수단을 포함하는 것을 특징으로 하는 인텔리전트 프론트-엔드 통신시스템.
  16. 다수의 능동형 용장 프로세스 제어컴퓨터로부터의 동적 데이터를 컴퓨터 네트워크에 존재하는 적어도 하나의 컴퓨터 엔티티로 전송하는 방법 에 있어서,
    상기 용장 프로세스 제어컴퓨터 각각으로부터의 순차적 동적 데이터 세트를상기 용장 프로세스 제어컴퓨터로부터의 동적데이터의 가용성에 따라 적어도 하나의 프론트-엔드 컴퓨터로 전송하는 단계와,
    상기 용장 프로세스 제어컴퓨터 각각으로부터 수신된 동적 데이터 세트를 상기 프론트 -엔드 컴퓨터에 비동기적으로 저장하는 단계,
    상기 용장 프로세스 제어컴퓨터 각각으로부터의 대응하는 동적 데이터 세트를 상기 프론트-엔드 컴퓨터의 섀도우 메모리에서 시간정렬시키는 단계 및,
    상기 시간정렬된 동적 데이터 세트의 적어도 일부를 상기 프론트-엔드 컴퓨터로부터 상기 컴퓨터 네트워크의 상기 컴퓨터 엔티티로 전송하는 단계를 포함하는 것을 특징으로 하는 전송방법.
  17. 제16항에 있어서, 상기 용장 프로세스 제어컴퓨터 각각으로부터의 상기 동적 데이터 세트가 최초로 상기 프론트 엔드 컴퓨터와 관계하는 초기데이터 메모리에 저장되고, 그 후 상기 용장 프로세스 제어 컴퓨터의 어느 하나 로부터의 소정량의 데이터가 상기 초기 데이터 메모리에 저장된 후에, 상기 소정량의 데이터가 직접 메모리 억세스 동작에 의해 상기 섀도우 메모리로 전송되고, 그 사이에도 상기 동적 데이터 세트는 상기 초기 데이터 메모리에 계속 저장되는 것을 특징으로 하는 전송방법.
  18. 제16항에 있어서, 상기 섀도우 메모리가, 상기 용장 프로세스제어 컴퓨터 각각을 위한 대응하는 제l버퍼부와, 대응하는 제2버퍼부 및, 대응하는 제3버퍼부를 포함하고, 상기 소정량의 데이터가 라운드 로빈 방식으로 상기 제1과 제2 및 제3버퍼부에 저장되는 것을 특징으로 하는 전송방법.
  19. 제18항에 있어서, 상기 대응하는 각 제1버퍼부의 포인터가, 시간정렬 이벤트에 응답하여 상기 대응하는 제2버퍼부의 포인터를 제공하기 위해 복사되는 것을 특징으로 하는 전송방법.
  20. 제19항에 있어서, 상기 시간정렬 이벤트는 상기 제1버퍼부 전부가 대응하는 동적 데이터 세트를 완전히 저장했을 때에 야기되는 것을 특징으로 하는 전송방법.
  21. 제18항에 있어서, 상기 섀도우 메모리가 상기 각 용장 프로세스제어컴퓨터를 위한 상관버퍼부를 포함하고, 상기 각 용장 프로세스 제어 컴퓨터로부터의 상기 동적 데이터 세트중 적어도 2개의 관계하는 부분이 상기 상관버퍼부에 저장되는 것을 특징으로 하는 전송방법.
  22. 제21항에 있어서, 상기 관계하는 부분이 하나의 동적 데이터 세트로부터의 입력 데이터와 그 종속의 동적 데이터 세트로부터의 출력 데이터를 포함하는 것을특징으로 하는 전송방법.
KR1019940704580A 1993-06-01 1993-06-01 인텔리전트프로세스제어통신시스템과방법 KR100317740B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/US1993/005206 WO1993025965A1 (en) 1992-06-12 1993-06-01 Intelligent process control communication system and method
US89812693A 1993-06-12 1993-06-12
US07/898,126 1993-06-12

Publications (2)

Publication Number Publication Date
KR950702049A KR950702049A (ko) 1995-05-17
KR100317740B1 true KR100317740B1 (ko) 2002-04-24

Family

ID=66659757

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940704580A KR100317740B1 (ko) 1993-06-01 1993-06-01 인텔리전트프로세스제어통신시스템과방법

Country Status (1)

Country Link
KR (1) KR100317740B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102646494B1 (ko) * 2023-10-18 2024-03-12 주식회사 유니즈테크 제어기의 이중화 장치 및 그 제어방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102646494B1 (ko) * 2023-10-18 2024-03-12 주식회사 유니즈테크 제어기의 이중화 장치 및 그 제어방법

Also Published As

Publication number Publication date
KR950702049A (ko) 1995-05-17

Similar Documents

Publication Publication Date Title
KR100314387B1 (ko) 컴퓨터 엔티티로부터 프로세스 제어 컴퓨터로의 명령메시지의 통신을 제어하는 방법
US5519603A (en) Intelligent process control communication system and method having capability to time align corresponding data sets
WO1993025948A9 (en) Secure front end communication system and method for process control computers
EP0196911B1 (en) Local area networks
US6735636B1 (en) Device, system, and method of intelligently splitting information in an I/O system
US6636908B1 (en) I/O system supporting extended functions and method therefor
US7003698B2 (en) Method and apparatus for transport of debug events between computer system components
US5568615A (en) Stealth interface for process control computers
US7945818B2 (en) Method and apparatus for converting multichannel messages into a single-channel safe message
KR100317740B1 (ko) 인텔리전트프로세스제어통신시스템과방법
CN112632645A (zh) 消息监测
CN116795577A (zh) 系统级dma安全机制方法、系统芯片、电子设备及介质
CN114615353B (zh) 一种基于axi总线的rmap目标方ip核及其命令响应方法
US7213180B2 (en) Bus bridge circuit, bus connection system, and data error notification method for bus bridge circuit
CN100555237C (zh) 用于检测和防止回放攻击的方法和系统
CA2334499A1 (en) Secure front end communication system and method for process control computers
Hanna et al. SLEDE: Event-Based Specification of Sensor Network Protocols
IMAR 111111. oll lH UII III II itl El i
Ambrosi et al. Final Evaluation Report Verdix Corporation VSLAN 5.0.
JPS6020267A (ja) 共有資源管理装置

Legal Events

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

Payment date: 20040917

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee