KR100307616B1 - 산업공정감시제어시스템 - Google Patents

산업공정감시제어시스템 Download PDF

Info

Publication number
KR100307616B1
KR100307616B1 KR1019940001743A KR19940001743A KR100307616B1 KR 100307616 B1 KR100307616 B1 KR 100307616B1 KR 1019940001743 A KR1019940001743 A KR 1019940001743A KR 19940001743 A KR19940001743 A KR 19940001743A KR 100307616 B1 KR100307616 B1 KR 100307616B1
Authority
KR
South Korea
Prior art keywords
data
processing
graphic
database
input
Prior art date
Application number
KR1019940001743A
Other languages
English (en)
Other versions
KR950024041A (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 to KR1019940001743A priority Critical patent/KR100307616B1/ko
Publication of KR950024041A publication Critical patent/KR950024041A/ko
Application granted granted Critical
Publication of KR100307616B1 publication Critical patent/KR100307616B1/ko

Links

Landscapes

  • General Factory Administration (AREA)
  • Multi-Process Working Machines And Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

본 발명은 산업공정의 감시제어를 위한 시스템에 관한 것으로, 특히 다양한 종류의 입출력장치를 사용하는 생산공정의 모든 상황을 감시하여 자동적으로 제어하기 위한 것으로 개별동작가능한 복수의 장치에 접속되며 각각의 장치들로부터 발생되는 상황데이터를 요구하여 처리에 적합한 형태로 변환하는 입출력통신처리 프로세스부; 입출력통신처리프로세스부로부터 전송되는 데이터를 저장하는 데이터베이스부; 데이터베이스수단에 저장되어 있는 현장상황 데이터를 그래픽처리를 통하여 각 장치의 상태를 화면상으로 표시하여 현장의 상황을 감시하는 그래픽 프로세스부; 데이터베이스부에 저장되어 있는 현장상황 데이터를 이용하여 실시간으로 상기 장치에서 이루어지는 결과를 통계처리를 통하여 분석해결하는 온라인 품질관리를 위한 통계적 공정제어처리 프로세스부; 및 데이터베이스부로 부터의 현장상황데이터 및 통계적 공정제어처리 프로세스부에서 처리된 통계결과를 출력하는 레포트처리 프로세스부를 포함한다.

Description

산업공정 감시제어시스템
제1도는 종래의 산업공정 감시제어시스템에서 이루어지는 데이터의 처리흐름을 도시한 블록도.
제2도는 본 발명에 따른 산업공정 감시제어시스템의 개략적인 블록도.
제3도는 제2도의 시스템에서 사용되는 단일기판컴퓨터의 하드웨어의 구성블록도.
제4도는 본 발명에 따라 이루어지는 산업공정 감시제어시의 데이터의 흐름을 도시한 처리흐름도.
제5도는 입출력통신 프로세스모듈의 블록도.
제6도는 데이터베이스의 구조를 개략적으로 도시한 도.
제7도는 데이터를 스캔하여 처리하는 과정을 도시한 흐름도.
제8도는 스캔주기 테이블을 도시한 도.
제9도는 이력데이터의 인덱스구조를 도시한 도.
제10도는 요약테이블의 구조를 도시한 도.
제11도는 제10도에서의 요약테이블내의 셀의 구성예를 도시한 도.
제12도는 본 발명에 따른 산업공정 제어감시시스템의 통계적 공정제어 모듈의 구성도.
제13도는 제12도에 도시된 통계적 공정제어모듈의 폴링흐름도.
제14도는 본 발명에 따른 산업공정 제어감시시스템의 로포트처리 프로세스모듈의 구성도.
제15도는 본 발명에 따른 산업공정 제어감시시스템의 그래픽처리 프로세스모듈의 구성도.
제16도는 제15도의 그래픽처리 프로세스모듈에서의 규칙관리자의 메뉴와 규칙 애트리뷰트 메뉴의 일예를 도시한 도.
제17도는 제15도의 그래픽처리 프로세스모듈에서의 다이나믹 관리자의 메뉴의 일예를 도시한 도.
제18도는 제15도의 그래픽처리 프로세스모듈에서의 다이나믹 애트리뷰트 메뉴의 일예를 도시한 도.
*도면의 주요 부분에 대한 부호 설명
10 : 사용자 프로그램부 20 : 데이터베이스
30 : 입/출력 드라이버부 40 : SAC부
50 : 작업자화면 60 : 이력파일관리부
70 : 보고서작성부 100 : 터미널
80, 90 : SBC(Single Board Computer)
150 : 입출력통신처리 프로세스모듈
160 : 데이터베이스
170 : 경보처리 프로세스모듈
180 : 그래픽처리 프로세스 모듈
190 : 이력데이터베이스관리모듈
200 : 통계적 공정제어처리 프로세스모듈
210 : 레포트처리 프로세스모듈
본 발명은 산업공정의 감시제어를 위한 시스템에 관한 것으로, 특히 다양한 종류의 입출력장치를 사용하는 생산공정의 모든 상황을 감시하여 자동적으로 제어하기 위한 시스템에 관한 것이다.
현재 공정자동화용 시스템으로는 개인용 컴퓨터를 이용한 소형시스템이 널리 사용되고 있다. 개인용 컴퓨터의 내환경성을 개선한 산업용 개인 컴퓨터인 경우에는 운용체제로서 마이크로소프트사의 도스(DOS;Disk Operating System)나 윈도우즈(Windows)등과 같은 운영체제의 환경하에서 공장자동화를 위하여 작성된 응용프로그램을 수행하여 작업을 수행하고 있다.
제어결과 또는 산출된 데이터등을 사용자와의 인터페이스를 통하여 처리되는 결과를 알 수 있도록 그래픽으로 화면상에 표시하기 위하여 VGA(Video Graphic Adapter) 급의 그래픽보드가 제공되어 사용된다. 또한 통신을 위한 포트도 본체에 내장된 통신용 포트인 COM1, COM2를 이용하든지 포트확장용 통신보드를 제공하기도 하지만 개인용 컴퓨터의 성능에 한계가 있어서 다양한 사용자의 요구에 만족을 줄 수가 없다.
이와 같이 종래에 사용되었던 시스템의 개략적인 구성을 제1도를 참조하여 살펴본다. 이때 제1도에 도시된 구성은 시스템의 구성을 램상주 데이터베이스를 중심으로 하여 일의 처리과정을 개략적으로 도시한 것이다. 제1도에서 10은 특정의 기능을 수행하기 위하여 사용되는 사용자 프로그램, 20은 수집 또는 처리된 데이터를 저장하는 데이터베이스, 30은 데이터의 입출력, 즉 공장내의 현장기기의 데이터값을 적절한 형태로 변환하여 사용하도록 하는 입출력드라이버, 40은 입출력드라이버(30)를 통한 데이터의 입력을 스캔하고, 해당데이터를 제어부의 제어에 따라 처리하여 사용자등에게 경보음등을 발생하는 역할을 하는 경보제어부 (scan, alarm & control) , 50은 처리된 데이터를 표시하기 위하여 사용되는 디스플레이이고 60은 처리된 데이터를 저장관리하는 파일관리부이다.
상기와 같은 구성을 가지는 종래의 시스템은 통상적으로 사용되는 일반적인 시스템의 구성을 가지는 것(FIX)으로 알려진 것으로 데이터베이스(20)를 중심으로 사용자 프로그램에 따라 작업자화면, 이력파일관리부 및 입출력처리를 위한 프로세스가 분산되어 운영되는 구조로 되어있다. 즉, 입출력 드라이버(30)를 통하여 제어하고자 하는 또는 관측의 대상인 현장기기에서 검출되는 데이터값을 운영시스템에 적합한 형태로 바꾸어주면 경보제어부(40)에서는 이를 연산처리하고 그 결과를 제어부를 통하여 데이터베이스에 전달한다. 또한, 이 데이터는 작업자가 손쉽게 알 수 있도록 처리하는 프로세스를 거쳐서 해당 데이터를 그래픽 및 수치형태로 변환하여 화면상에 표시해준다.
그러나, 상기와 같은 구성을 가지는 시스템은 통상적으로 다음과 같은 문제점을 포함하고 있다.
첫째, 시스템의 운영체제에 따른 응용의 제한 및 성능의 열화이다.
종래의 시스템에서 채택하고 있는 운영체제인 도스나 윈도우즈는 근본적으로 개인용 시스템이므로 보안성이 열악하다.
또한, 폴링(polling) 시스템이므로 사용자가 프로그램을 통하여 자체적으로 스케쥴링을 하여야 하기 때문에 운영체제가 이를 처리 하는 것에 비하여 유연성, 확장성이 뒤떨어진다.
둘째, 그래픽환경이 매우 제한적이다. 현재 개인용 컴퓨터에서 제공되는 그래픽 소프트웨어는 페인트 브러쉬(paint brush) , 닥터 할로 (Dr. halo) , 오토캐드 (Auto Cad)등이고 대부분의 산업용 시스템에서는 이들 그래픽 소프트웨어로 그려진 파일을 자신의 시스템에서 사용할 수 있도록 데이터변환 도구만을 제공한다. 그러므로 시스템 사용자로 하여금 추가적인 그래픽 에디터용 소프트웨어의 구매를 요구할 뿐만 아니라 데이터변환 후에는 그래픽의 내용수정을 불가피하게 하는 등 유연성이 제한된다. 또한, 위의 그래픽 소프트웨어가 제공하는 그래픽 라이브러리등이 다양하지 못하고 기능 추가를 위한 새로운 모듈 추가시 응용프로그램 인터페이스도구가 제공되지 않아서 매우 불편하다.
셋째, 시스템의 확장이 용이하지 않다. 현장의 상태에 대한 감시제어를 위한 제어점이 증설되면 종래의 시스템에서는 다중프로세서 구조가 아니므로 새로운 시스템을 추가로 증설하든가 또는 입출력 확장용보드를 시스템내에 별도로 내장하여야 하는데 이러한 경우에는 전체적인 시스템의 성능저하가 우려된다.
넷째, 이력데이터의 관리를 위한 파일시스템은 제1도에 도시된 시스템에서도 제공되기는 하지만 매우 빈약하다. 이력데이터는 통계적 공정제어를 위한 대상이 되기때문에 데이터 구조가 효율적으로 구성되어야 데이터획득, 저장이 용이할 뿐만 아니라 제어점에 대한 실제 데이터를 저장하기 때문에 요약테이블과 같은 메모리절약을 위한 기법이 요구된다.
다섯째, 통계적 공정처리를 위한 소프트웨어가 매우 빈약하다. 통계적 공정제어는 실시간 추세감시 및 이력데이터에 대한 통계적 분석을 통하여 제조공정 및 생산공정의 품질을 관리하기 위한 도구로서 종래의 시스템에서는 간단한 그래프형식으로 시간과 그 시간에 해당하는 데이터값만을 표시하였다.
여섯째, 그래픽 사용자 인터페이스를 위한 라이브러리가 다양하지 못하다. 현장의 작업자는 감시하고자 하는 제어점의 데이터를 여러가지 형태의 그패프 즉, 막대그래프, 선그래프, 점그래프, 계단그래프, 방사형그래프, 미터그래프 등 다양한 형태의 그래프형태를 필요에 따라 선택할 수 있도록 하는 것이 요구된다. 그러나, 종래의 시스템에서는 이것이 사용자에게 제공되지 않거나 제한적으로만 사용되고 있다.
일곱째, 개인용 컴퓨터로 구성된 경우 감시하고자 하는 그래픽 모니터가 시스템당 하나밖에 제공되지 않아서 감시하는 화단수가 제한적이다. 또한 감시 화면수를 증가시키기 위해 시스템을 추가로 설치하더라도 전체적인 시스템을 재구성하여야 하는 불편함이 있다.
최근에는 개인용 컴퓨터의 단점을 보완하기 위해 유닉스(UNIX)운영체제를 채택하거나 실시간 운용체제를 채택한 시스템(GE Fanuc의 simplicity등)이 등장하고 있으나 데이터베이스, 통계적 공정제어 프로그램, 그래픽 사용자 인터페이스를 위한 도구, 프로세스 모듈간의 접속을 위한 응용프로그램 인터페이스를 위한 도구, 프로세스 모듈간의 접속을 위한 응용프로그램 인터페이스, 사용자 편의를 위한 그래픽 라이브러리가 제공되지 않거나 제공되더라도 매우 제한적이다.
따라서, 본 발명의 목적은 공장자동화를 위한 시스템으로서 생산공정의 모든 상황을 감시하고 자동적으로 제어할 수 있는 산업공정의 감시제어 시스템을 제공하는 것이다.
상기와 같은 목적을 달성하기 위하여 본원의 발명은 개별동작가능한 복수의 장치에 접속되며 각각의 장치들로부터 발생되는 상황데이터를 요구하여 처리에 적합한 형태로 변환하는 입출력통신처리 프로세스단; 상기 입출력통신처리 프로세스수단으로부터 전송되는 데이터를 저장하는 데이터베이스수단; 상기 데이터베이스수단에 저장되어 있는 현장상황데이터를 그래픽처리를 통하여 각 장치의 상태를 화면상으로 표시하여 현장의 상황을 감시하는 그래픽처리 프로세스수단; 상기 데이터베이스수단에 저장되어 있는 현장상황 데이터를 이용하여 실시간으로 상기 장치에서 이루어지는 결과를 통계처리를 통하여 분석해결하는 온라인 품질관리를 위한 통계적 공정제어처리 프로세스수단; 및 상기 데이터베이스수단으로 부터의 현장상황데이터 및 상기 통계적 공정제어처리 프로세스수단에서 처리된 통계결과를 출력하는 레포트처리 프로세스수단을 포함하는 것을 특징으로 한다.
즉, 본 발명에 따른 시스템은 공장내에서 로봇, 머시닝센터, 밀링머신, 프로그래머블 콘트롤러(PLC)등을 포함하는 각종 기기, 센서, 액튜에이터등으로 구성된 자동화라인의 동작을 제어하고 감시하며 비정상적인 상태 발생시에는 경보신호를 발생시킨다. 공장내의 각종 기기를 적절하게 운영하기 위해서는 실시간으로 각종 데이터를 수집하여 즉시 처리해 주어야 한다. CIM의 서브시스템에서의 본 시스템은 PLC나 압력등의 각종 데이터를 수집하고 이들 수집된 데이터를 이용하여 공정의 상태를 감시하고 적절한 제어가 이루어진다. 이러한 본 시스템의 수행하고자 하는 기능을 요약하여 살펴보면 다음과 같다.
(1) 데이터의 수집
공장내의 기기를 감시하고 제어하기 위해서는 센서나 PLC를 통하여 각종 기기의 상태를 나타내는 데이터를 수집하는 기능이 필요하며, 이때 기기의 상태는 매 순간마다 변하므로 이들 변화를 감지하기 위해서는 실시간으로 데이터수집이 이루어져야 한다. 이렇게 수집된 데이터는 외부장치 및 기기에 의하여 생성된 값이므로 시스템 사용자에게 쉽게 판독할 수 있도록 하기 위하여 공학단위로 변환되어야 한다.
또한, 통신라인의 잡음에 기인하여 기기들로부터 정확치 못한 데이터를 받을 수 있으므로 스무딩(smoothing)이나 보간법(interpolation)등을 사용하여 영향을 최소화하는 기술이 필요하다. 여러 종류의 기기를 접속하기 위하여 입/출력 통신모듈을 구성하고 필요한 디바이스 드라이버 및 프로트콜을 첨가할 수 있는 구조를 갖도록 한다.
(2) 상태 감시 및 제어
각종 기기들로부터 수집된 데이터는 정해진 제어루프나 응용소프트웨어에 의하여 처리되고 출력된다. 시스템 사용자는 동작상황을 감시하고 제어하고자 하는 제어점을 선택하여 데이터를 요약하고 요약된 데이터는 그래픽 사용자 접속장치 및 그래픽 소프트웨어에 의하여 사용자에게 표시된다. 또한 기기의 상태를 감시하다가 기기의 상태에 따라 사용자가 적절한 조치(밸브 스위치 개폐등)등을 행할 수 있게 한다. 이와 같은 조치상황은 실시간으로 처리되어야 하므로 즉시 외부기기와 전달되도록 한다.
(3) 경보처리
시스템이 운영되고 있는 동안에 미리 설정된 경보조건에 이르면 경보메세지를 그래픽화면에 나타내거나 경보신호를 스피커 등을 통하여 발생시켜서 사용자로 하여금 적절한 조치를 취하게하는 기능이다. 시스템 및 기기의 운용상황을 분석하고 이상상태를 진단하기 위하여 경보메세지는 파일에 저장한다.
(4) 통계적 공정제어(Statistical Process Control : SPC)
온라인 품질관리 기법의 하나로서 시스템에서 발생되는 데이터 통계적 분석을 통하여 품질을 관리하는 기능으로서, 생산공정 및 제조공정의 시행착오를 미리 감지하여 생산비 절감 및 품질을 높일 수 있다. 여기에서는 실시간 추세감시 및 이력데이터의 통계적 분석을 통한 품질 문제점을 파악하는 기능을 갖고 있다.
(5) 보고서 작성
시스템이 저장, 관리하는 이력데이터와 시스템이상시 저장되는 경보데이터등을 일정한 보고서형태로 작성하는 기능으로서 보고서의 형태는 사용자가 에디터를 사용하여 임의로 작성할 수도 있고 자주 사용하는 양식은 시스템에 미리 등록시켜 둠으로써 여러 사람이 공유할 수도 있다. 또한 매크로기능을 부가하여 보고서 내용을 자동적으로 형성시킬 수 있도록한다.
(6) 단일기판 컴퓨터(Single Board Cumputer : SBC)
본 발명에서는 특히 중앙제어장치(CPU), 주메모리, 시스템버스 접속장치 및 제어기기와의 통신을 위한 포트를 포함하는 단일기판 컴퓨터를 구성하여 시스템 응용에 따라 확장이 가능하게 하기 위한 다중 프로세서 구조로 구성된다.
상기에서 기술한 바와 같은 기능을 할 수 있도록 하는 본원의 산업공정 감시제어 시스템의 전체적인 구성도를 제2도에 도시하였다. 제2도에 도시된 시스템은 시스템버스에 SBC가 다중으로 접속되고 이러한 각각의 SBC에 접속되는 주변장치를 개략적으로 도시한 것이다.
제2도에서 80과 90은 시스템을 구성하는 상위 및 하위 SBC 이며, 1001∼ 1003은 상위 SBC의 이더넷(Ethernet)단자에 접속되며 그래픽성능이 우수하고 적용규모에 따라 확장가능하도록 하기 위하여 설치되는 X터미널, 105는 SBC의 프린터포트에 접속되는 프린터, 1101∼ 1103은 파일시스템과 데이터의 입출력을 위한 SCSI(Small Computer System Interface)에 접속되는 주변기기들인 하드디스크, 테이프, 플로피디스크장치등이며 상위 SBC를 통한 X터미널등과의 데이터처리를 위하여 실시간 처리에 적합하게 실시간 운영체제를 채택하여 사용한다.
또한, 하위 SBC(90)에도 CPU, 메모리, 기기 및 입/출력장치와의 접속을 위한 통신포트등이 내장되어 실시간 처리환경을 제공하도록 한다.
제2도에서는 일시예로서 SBC를 2단으로 구성한 경우를 도시하였지만 시스템 적용규모에 따라 SBC를 다단으로 접속하는 것도 가능하며 SBC내부에 자신의 통신포트에 연결된 기기의 운영을 위한 데이터베이스가 램디스크를 사용하여 주메모리상에 구현한다. 이러한 SBC에서 수행되는 프로세스간의 통신은 시스템버스를 통해 백플레인(backplane) 네트웍이나 공유메모리/메세지 패싱방식에 의하여 구현한다.
이와 같은 시스템을 구성하는 SBC의 하드웨어적인 구성도를 제3도를 참조하여 보다 상세히 살펴본다.
제3도에서 120은 SBC의 전반적인 동작을 제어하는 중앙처리장치(CPU), 122와 124, 126는 데이터를 저장하는 램/롬, 126은 시간을 발생하는 리얼타임클럭(RTC), 128은 시스템버스와의 접속을 위하여 사용되는 버스인터페이스콘트롤러, 130은 외부와 내부메모리와의 데이터전송을 위하여 전송되는 데이터를 임시저장하기 위한 버퍼, 132는 로컬버스 인터페이스제어, 버스중재 및 로직디코더의 역할을 수행하는 필드 프로그래머블 게이트어레이(Field Programmable Gate Array), 134는 X터미널 및 주변기기와의 인터넷 인터페이스를 위하여 선택적으로 사용될 수 있는 옵션1보드이고 140은 주변기기와의 통신을 위한 옵션2보드이다.
상기의 SBC에서 옵션1보드와 옵션2보드는 SBC가 사용되는 용도에 따라 선택적으로 사용할 수 있는 것으로 상위의 SBC 구성을 위해서는 옵션1보드가 사용되어 주변기기와 X터미널을 접속하고 하위의 SBC구성시에는 옵션2보드가 사용되어 제어기기 및 각종 액튜에이터와의 접속을 가능케한다.
옵션2보드에는 통신전용 프로세서(142)와 버퍼(114)를 두어 저속의 직렬통신시 CPU가 입/출력상태 완료를 기다리지 않고, 원래의 상태로 돌아와 자신의 일을 처리하게 함으로써 CPU의 사용효율을 높게할 수 있다. 그리고 시스템버스 인터페이스콘트롤러(128)는 SBC가 다단으로 접속될 때 SBC간의 데이터전송을 가능케함으로써 다중 프로세서구조로 확장할 수 있도록 하였다.
이러한 본 발명에 따른 시스템에서 이루어지는 시스템의 공정감시제어를 제4도에서 개략적으로 도시하였다. 제4도에서 도시된 흐름도에서 이루어지는 동작을 전체적으로 살펴보면, 본 발명에 따른 흐름도에서 입출력통신처리 프로세스모듈(150), 데이터베이스서버(160), 그래픽처리 프로세스모듈(180), 통계적 공정제어 프로세스모듈(200), 레포트처리 프로세서모듈(210), 경보처리 프로세스모듈(170) 및 이력데이터베이스 관리모듈(190)으로 이루어져 동작을 하는데 이러한 동작을 각각의 모듈별로 기술하기에 앞서 전체적인 동작을 개략적으로 살펴보면 다음과 같다.
디바이스들(140)(PLC, CNC, M/C, 로버트 및 액튜에이터등)을 감시하여 보내온 상황데이터들을 입출력통신 처리프로세스모듈(150)에 의하여 처리한 후 이를 통신테이블을 통하여 데이터베이스서버(160)로 데이터를 전송하면 이러한 데이터에 근거하여 해당 데이터가 안전범위를 초과하는 경우에는 경보처리 프로세스모듈(170)를 통하여 처리하여 관련 경보로그파일(175)을 작성하여 프린터(185)로 출력함으로써 사용자가 인식하도록 한다.
동시에 데이터베이스서버(16C)에 저장되어 있는 데이터를 그래픽처리 프로세스모듈(180)에 의하여 사용자가 손쉽게 알아볼 수 있도록 그래픽터미날(230)을 통하여 그래픽으로 데이터를 보여주고, 또한 저장되어 있는 데이터를 통계적 공정제어처리 프로세스모듈(200)에 따라 처리하여 터미널(230)에 디스플레이한다. 또한 이러한 데이터들은 이력데이터베이스 관리모듈(190)이나 레포트처리 프로세스모듈(210)등을 통하여 이력데이터베이스(220)를 구축하거나 프린터(240)를 이용하여 출력하도록 한다.
상기에서 이루어지는 세부적인 동작을 각각의 프로세스모듈별로 분리하여 살펴보면 다음과 같다.
입출력통신 프로세스모듈(150)는 접속되어 있는 주변장치(140)들의 동작상황을 감시하고 보내온 상황데이터에 따라 적절한 제어를 하기 위해서는 이들간에 명령과 이에 대한 상태데이터의 송수신을 수행하는 것으로서 실시간 스케쥴링 및 확장성을 고려한 디바이스 드라이버를 요한다.
입출력 통신처리 프로세스모듈(150)과 데이터베이스와의 통신방법은 미리 정의된 구조(통신 테이블)에 입출력통신처리 프로세스모듈(150)가 데이터를 저장하고 데이터베이스가 정해진 시간마다 가져가는 방식과 서로 데이터를 전달할 함수의 라이브러리를 정해 놓고 호출하는 함수호출방식이 있다. 본 발명에서는 통신테이블을 이용한 방식을 기본으로 하고 로봇등의 접속에는 함수라이브러리 이용방식을 필요에 따라 사용하게 하였다.
본 발명에서 사용되는 데이터베이스는 주메모리 데이터베이스(Main Memory Residant Database)기술을 사용하였고, 데이터일치와 복구를 위한 기술을 추가하여 공장자동화 시스템에 사용하기 적합하게 하였다. 외부 디바이스로부터 들어오는 데이터는 미리 정해진 스캔시간마다 각 제어점에 대한 스캔된 데이터가 들어오므로 매우 커지게된다. 그러므로 모든 제어점의 측정치에 대한 전체 이력데이터를 실시간 환경에서 저장하고 처리하는 것은 매우 어렵다. 여기에서는 주메모리상에 제어점에 대한 현재값과 최근의 데이터만을 유지하고 나머지 데이터는 디스크파일로 저장한다. 이러한 방식은 주메모리 데이터베이스 구현 및 주메모리 데이터베이스에 저장된 데이터의 처리가 실시간환경에 적합하게 된다.
또한 데이터베이스모듈에는 입력된 데이터의 오류보정 및 다음단에서의 처리를 쉽게하기 위한 데이터 스무딩/인버젼(smoothing/inversion) 기법과 시스템을 구성하는 타모듈과의 통신을 효과적으로 제공하기 위해 응용프로그램 인터페이스(Application Program Interface; API)방식이 사용되었다.
그래픽처리 프로세스모듈(180)은 특정 플랜트에 대해 그래픽하게 모델링하고 모델링된 시스템에 대하여 그 플랜트가 가지고 있는 변환패턴을 정하여 시스템운영자로 하여금 그 시스템을 감시하고 제어할 수 있게 하는 모듈이다. 그래픽처리 프로세스모듈(180)의 구성은 각종 그래픽 오브젝트(graphic object)를 생성하고 그래프 라이브러리를 제공하는 그래픽도구(graphic tools), 플랜트제어를 모델링함에 있어서 여러 규칙을 정할 수 있게하는 규칙관리자(rule manage) 및 그래픽 애니메이션을 제공하는 다이나믹 관리자(dynamic manager)로 이루어진다.
통계적 공정제어 처리프로세스모듈(200)는 실시간으로 품질문제를 기존의 일반적인 통계처리방법에 따라 분석하고 해결하는 온라인 품질관리를 위한 프로세스이다. 통계적 공정제어 분석도구들을 사용하여 품질불량을 야기하는 데이터들을 미리 감지해낼 수 있으며 불량의 원인을 통계적인 이론을 도입하여 규명할 수 있다. 생산공정의 통계분석을 위한 도구로는 데이터의 균일성을 감시하는 제어챠트와 데이터의 분석동향을 분석하기 위한 히스토그램등이 있다. 이 모듈은 현재 발생하는 데이터에 대한 공정제어를 담당하는 온라인 통계적 공정제어와 과거데이터에 대한 통계적 공정제어를 담당하는 오프라인 통계적 공정제어로 구성된다.
각각의 제어점에 대한 데이터는 현재의 값뿐만 아니라 통계분석을 위해서는 과거의 값들을 저장하여야하며, 시간적으로 변하는 데이터 값이므로 데이터의 이력들을 저장하고 관리하여야 한다. 그러나, 제어점에 대한 모든 이력데이터를 저장하려면 그양이 방대하게되어 문제가 된다. 본 발명에서는 저장할 이력데이터의 양을 감소시킬 수 있는 방법으로 데이터 저장인수와 저장스텝을 도입하였고, 하루 단위의 이력데이터의 통계값을 요약테이블에 저장함으로써 메모리의 효율적인 이용과 함께 계산시간을 줄이고 있다.
레포트처리 프로세스모듈(210)은 이력데이터와 오류데이터를 얻어서 사용자가 원하는 보고서 양식으로 출력시켜 주는 기능을 담당한다. 이 모듈은 출력하고자 하는 데이터를 타 모듈로부터 받아오는 데이터주출부, 해당 데이터를 배열하고 편집을 수행하는 데이터편집부, 통계함수에 따라 데이터의 조작, 정렬, 내장된 함수에 의한 데이터조작을 담당하는 데이터조작부로 구성된다.
그외에 미리 정해진 경보조건에 이르면 메시지형태나 그래픽으로 화면상에 경보임을 나타내거나, 경보장치를 경보음을 발생시키기 위한 경보처리 프로세스모듈(210)등이 있다.
상기와 같은 기능을 하는 각 구성요소별로 세부적인 구성을 살펴본다.
제5도는 제어기기 및 각종 액튜에이터의 접속을 담당하는 입출력통신 프로세스모듈(150)에서의 상세한 구성도이다.
입출력통신 프로세스모듈(150)에 접속되는 디바이스에는 여러 가지가 있으나 속성에 따라 구분하면 실제적인 데이터의 입/출력이 발생하는 경우와 제어명령에 따라 응답신호를 발생하는 경우로 나눌 수 있다. 전자의 전형적인 예가 PLC접속의 경우로서 이를 PLC(250)에 접속되는 어느 특정점에 대한 값을 알고자 하는 경우에는 PLC에게 제어점에 대한 주소(어드레스)와 데이터의 길이에 대한 값을 주고 PLC(255)에서 전송되는 데이터 값을 획득함에 의해 구할 수 있다. 이와 같은 장치와의 입출력은 해당 장치에 대한 드라이버에 의하여 수행되는데 데이터처리의 효율을 위해 다음 <표1>과 같은 항목으로 이루어지는 메타테이블을 갖고 있어서 데이터 입/출력이 효과적으로 발생한다.
<표1>
메타 테이블(Meta Table)
또한, 접속되는 디바이스가 공작기계(271), 머시닝센타(273), 로봇(275)등의 경우에는 디바이스 드라이버(270)로 부터의 상기 특정 디바이스에 대한 어느 특정한 제어명령에 대한 응답데이터/신호에 의해서 구성된다. 이들 명령어에는 여러 가지가 있으나 시스템 관점에서 필요한 데이터의 추출은 위한 명령어로서 예를 들면 비상정지, 시스템 오류, 프로그램 시작, 동작에러, 제어기기에서 수행되는 프로그램번호, 동작모드, 좌표데이터, 모터속도, 온도데이터등을 알기 위한 것이다.
제어기기들은 상기와 같은 형태의 명령어를 받으면 시스템에 연결된 통신포트를 통하여 해당 데이터를 전송하게 된다. 또한, 이들 기기는 제품마다 통신프로토콜 및 명령어가 상이하므로 디바이스 드라이버가 시스템을 구성하는 디바이스들에 대한 프로토콜목록(290) 및 명령어 라이브러리(280)를 유지하고 알리아스(alias)시킴으로써 드라이버의 확장성을 높이고 사용자로 하여금 물리적 계층에 대한 고려를 하지 않아도 통신이 가능하다.
이와 같이 각종의 제어기기와의 통신을 담당하는 입/출력 통신드라이버는 다음 단을 구성하는 데이터베이스 모듈로의 효과적인 통신을 위해 통신테이블에 데이터를 보낸다. 통신테이블은 입출력통신 프로세스모듈과 데이터베이스와의 데이터교환을 위해 미리 정의된 구조로써 입/출력 통신프로세스가 데이터를 저장하고 데이터베이스가 적절한 시간에 가져가는 방식이다. 통신테이블의 한 데이터요소(element)는 PLC메모리의 한 워드가 저장된다. PLC의 메모리내에 16개의 디지털 점이 가능하므로 16개의 제어점을 처리하는 것이 필요하며 어느 특정한 디지털 제어점에 대한 값을 가져오려면 CTindex내의 비트 오프셋을 이용하여 가져온다.
이렇게 입출력통신처리 프로세스모듈(150)을 이용하여 전송되는 데이터들은 데이터베이스에 저장되는데 제6도에 본 발명에서 사용하는 데이터베이스의 관리를 위한 전체 구조를 도시하였다.
관계형 모델에 기초한 데이터베이스는 데이터 테이블의 집합으로 볼 수 있다. 이때 테이블은 행과 열로 이루어지며 행은 데이터의 속성(attribute)과 타입을 표시하고, 열은 연관된 속성들의 값을 저장하는 것으로 튜플(tuple)이라고 한다. 각 튜플은 다른 튜플과 구별되는 식별자에 의해 지정된다. 시스템을 구성하는 기기장치들의 상태는 제어점에 의해 나타나며 제어점은 아날로그와 디지털의 두가지 종류로 표현할 수 있다. 그러므로 발명에서 제안된 실시간 데이터베이스는 아날로그 제어점을 위한 테이블과 디지털 제어점을 위한 테이블의 두가지 데이터 테이블의 집합으로 이루어져 있다.
이러한 테이블로 이루어진 데이터베이스를 관리하는 구성요소별로 이루어진 제6도의 구성을 살펴본다. 제6도에서와 같이 데이터베이스에 대한 호출은 데이터베이스 응용들이 데이터 테이블을 접근하기 위한 접속루틴이며 데이터 테이블에서 튜플을 추가하고 기존의 튜플을 삭제하는 호출을 포함하는 데이터조작호출(data manipulation calls), 데이터베이스를 생성하고 주기억장치에 상주할 아날로그 테이블 및 디지털테이블의 크기를 정의하기 위한 루틴을 포함하는 시스템 생성호출(system generation call)은 제어점의 값을 실시간으로 스캔하기 위한 루틴들의 집합으로 이루어져있으며 그 일예로는 통신테이블로부터 인텍스값을 얻을 때 사용하는 호출명령으로서 다음과 같은 것이 있다.
-GetCTindex(n, CTnameList IndexList)
short n;
struck CT-NAME {
short BoardNumber;
short PortNumber;
char *AddrLnPLC;
}
char *IndexList[];
또한, 그래픽인터페이스를 통해 사용자가 공장의 상황을 쉽게 감시/제어하도록 하는 사용자접속 응용프로그램에서 데이터베이스를 접근하게 하기 위한 사용자접속호출(operator interface call)이 있다.
상기와 같은 호출에 따라 데이터베이스를 관리하는 관리자로는 튜플관리자, 시스템관리자, 공동/일치관리자, 인덱스관리자 및 저장관리자 있으며, 튜플관리자는 데이터 테이블에 튜플을 첨가하거나 삭제하는 기능 및 튜플을 검색/수정하는 기능을, 시스템관리자는 아날로그 및 디지털 테이블의 크기 및 속성을 저장하는 시스템 테이블의 관리를, 공동/일치관리자는 데이터베이스에 대한 공동접근을 동기화하여데이터베이스의 무결정과 동일성을 유지하며, 이때 데이터의 공동접근을 동기화하는 방법으로 공정제어에 필요한 각 응용프로그램에 우선 순위를 할당하여 제어하는 방식을 사용하였다. 보통 실시간 데이터베이스에서 동일성은 기존의 데이터베이스에서 말하는 데이터 일치성인 내부적 일치와 외부세계와의 일치를 일컫는 외부적 일치의 두가지가 있으나 본 발명에서의 일치성 제어방식은 외부적 일치에 비중을 두었다.
그리고, 인덱스관리자는 이력데이터 접근을 위한 인덱스(색인)를 관리한다. 이력데이터의 인덱스구조는 제어점의 이름과 시간스탬프(time stamp)를 이용한 멀티레벨로 이루어져 있어 데이터를 빠르게 접근할 수 있도록 하였으며, 저장관리자(storage manager)는 튜플의 메모리할당을 위한 것으로 이미 할당된 메모리와 사용가능한 메모리에 대한 정보를 관리하여 사용가능한 메모리블럭에 대한 포인터를 스택으로 관리하여 메모리할당을 빠르게 하였다.
시스템 운영중에 있어서 제어점은 주기적으로 미리 정해진 시간마다 스캔되며 또한 이 주기는 제어점마다 서로 다른 것이 일반적이다. 이러한 데이터의 처리과정을 제7도를 참조하여 간략히 살펴본다.
시스템은 자신의 정해진 스캔시간에 이르렀는 가를 판단한다.(제S100단계). 만약 해당 시간에 이르지 못한 경우에는 계속적으로 시간을 체크하며 해당 시간이 된 경우 통신테이블(CT Table)로부터 데이터를 스캔한다. 스캔된 데이터는 처리하게 적합하도록 변환 및/ 또는 스무딩과정을 거친다(S110단계). 처리된 값들은 즉각적인 데이터의 처리를 위하여 실시간 데이터베이스에 저장되며(제S130단계) 동시에 이력데이터로서 보관하기 위하여 이력데이터베이스에 저장하고(제S140단계), 이 값은 사용자에게 그래픽 정보를 제공하기 위하여 그래픽데이터로도 저장된다(제S150단계). 스캔된 데이터는 해당 값이 시스템에서 설정한 범위내에 있는가의 여부를 판단하여(제S160단계) 해당값이 설정범위에 포함되지 않은 경우에는 알람메시지를 발생하여(제S170단계) 사용자에게 알려준다.
특히, 상기의 단계들 중에서 제어점의 값을 읽는 메카니즘은 2가지의 방법으로 구현될 수 있는데 첫째는 각 스캔주기마다 독립적인 프로세스를 발생시켜 해당주기의 스캔을 담당하는 프로세스가 주기적으로 제어점의 값을 읽는 방법이다. 이 방법은 하나의 스캔주기에 대하여 하나의 프로세스가 필요하게 되므로 프로세스의 수가 많아지게되고, 스캔된 값을 반영하기 위해서는 주메모리안에서 이들 프로세스가 데이터베이스를 동시에 접근하게 되므로 공유메모리가 필요할 뿐만 아니라 프로세스의 관리를 위하여 시스템의 부하가 커지게 되는 문제점이 있다.
두 번째의 방법은 주기적으로 정해진 기본시간마다 인터럽트 신호를 발생시키는 방법으로 메시지큐로부터 메시지를 얻어서, 이 메시지가 판독명령에 관한 코드인 경우에 실시간 데이터베이스로부터 값을 읽어와서 이 값에 따라 반응메시지를 특정 프로세스에 보내도록하는 방법을 사용한다. 즉, 특정 루틴의 수행중 인터럽트신호가 발생하면 인터럽트처리루틴에서 상기 제7도에 도신된 방식에 따라 처리하는 것이다. 이러한 방식은 기본적인 운영체제에서 편리하여 본 발명에서는 이러한 방식을 채택하였다.
상기에서 사용하는 인터럽트신호는 시스템에 따라 정해진 기본시간의 주기로 발생되는데 이 신호가 발생하면 우선 인터럽트 처리루틴이 어느 제어점이 인터럽트시에 스캔되었는지를 결정하여야 하는데 이를 위하여 제8도에 도시된 스캔주기 테이블이다. 스캔주기 테이블은 해당 스캔시간에서 스캔되어야 하는 제어점의 목록을 포하하고 있는데. 예를 들면 스캔주기 1(임의로 1msec, 1sec, 1min등 정할 수 있다.)에서는 밸브1, 탱크5 및 밸브2를 스캔하고, 스캔주기3에서는 스위치1을 스캔하도록 규정해 놓았다.
또한, 데이터베이스에 대한 억세스를 효율적으로 수행하기 위해서는 인덱스기법이 사용되는데 이력데이터를 위한 인덱스구조는 통계적 공정제어시 요구되는 데이터의 접근을 빠르게 하기 위하여 제어점의 이름과 타임스탬프(time stamp)를 이용하여 설계하였다. 타임스탬프를 이용한 인덱스구조는 일, 월로 더 자세히 분리하여 구현하여 디스크의 접근횟수를 줄였다. 또한, 발명된 시스템에서는 제어점의 이력을 하루단위로 분리하여 관리하고 통계분석시 요구되는 데이터의 접근회수를 줄이기 위하여 각 단위당 요약테이블을 두어 통계분석을 용이하게 하였다.
상기에서는 이력을 하루단위로 분리하여 관리하였지만 이는 처리시간 또는 기타의 다른 요인을 고려하여 바람직한 간격으로 조절할 수 있다. 제9도는 본 발명에서 사용하는 인덱스구조를 도시한 것이다. 인덱스의 구조는 월별로 분리한 구조(350)와 다시 이것을 월에 대한 일단위로 분류하여 31개의 일별로 분리한 구조(3501∼35531)와 다시 각 제어점에 대한 구조등으로 각각 분류하여 이루어지는 구조를 가지고 있다.
이러한 구성에 따라 제어점의 이름과 타임스탬프 시간을 비교하여 저장하고자 하는 위치를 선택한다. 즉, 데이터는 타임스탬프중의 일, 월 및 제어점의 이름으로 인덱스되어 하루단위로 제어점이 그룹되어 저장된다. 각각의 제어점에 대한 데이터는 방대하여 통계분석시 데이터를 매번 읽어오는데 시간이 오래 걸리므로 계산속도를 단축하기 위해서는 일정 구간마다 통계치를 제10도에 도시된 형태의 요약테이블에 저장하면 디스크 접근횟수를 줄일 수 있고 필요에 따라 방대한 양의 원시데이터는 요약테이블로 정리한후 지워버림으로써 디스크용량을 줄일 수 있다. 이때 요약테이블내에 각 셀에 기록되는 내용의 일예를 <표2>에 도시하였다.
<표2>
요약테이블내의 셀의 구성 예
본 발명에서 이루어지는 통계적 공정제어모듈의 구성도를 제12도에 도시하였다. 통계적 공정제어의 방법에는 제어점들로부터 입력되는 데이터를 실시간 데이터베이스로부터, 즉 직접 데이터베이스 서버로부터 데이터를 받아서 처리하는 온라인 통계적 공정제어와 직접 데이터베이스 서버로부터 제어점에서 발생되는 데이터를 받아 자체의 파일시스템에 저장하고 별도의 요구가 있을 때만 파일시스템에서 데이터를 요구하여 처리하는 오프라인 통계적 공정제어로 나눌 수 있다.
이러한 통계적 공정제어 모듈은 통계적 공정제어 관리자모듈(400)과 통계처리 함수모듈(430) 및 그래픽모듈(440)로 구성된다. 통계적 공정제어 관리자모듈(400)은 온라인 오류감시 및 경보감시, 오류정보에 대한 로그파일관리, 통계데이터를 감시하기 위하여 X바 챠트, 레인지 바챠트(range bar chart) 및 히스트그램등을 제공하고 제어챠트의 제어변수에 대한 사용자의 조작/변경을 용이하게 하기 위한 도구와 함께 사용자의 접속용 메뉴와 입력판넬을 제공하며, 통계처리함수는 타 모듈에서 이용할 수 있는 통계함수(평균, 분산, 편차등)를 제공한다.
제13도는 통계처리 공정제어모듈에서의 처리흐름을 도시한 것이다. 처리흐름은 크게 포그라운드(foreground)에서 이루어지는 작업인 메인작업과 백그라운드(background)로 이루어지는 작업으로 구분되며 이때 백그라운드 작업인 공정제어모듈의 처리흐름을 보면 제어점들로부터 감지된 데이터를 수신하여(제S200단계), 해당 데이터들에 대한 제어챠트, 히스토그램 및 통계적 공정제어를 위하여 데이터를 집산하고(제S210단계), 집산된 데이터를 일반적인 통계처리 루틴에 따라 계산 및 오류를 검사한다(제S220단계). 데이터가 처리되면 해당결과를 표시한다(제S230단계). 이때 표시되는 결과는 제어챠트, 히스토그램으로 오류데이터빈도 및 통계처리된 데이터가 표시된다.
레포트처리 프로세스모듈은 제14도에 도시된 구성을 가지며 이력데이터와 오류데이터를 이용하여 자유로운 형태의 보고서 양식으로 출력하는 기능을 수행한다. 레포트처리 프로세스는 제14도에 도시된것처럼 데이터획득기(510), 데이터조작기(530), 편성기(540), 텍스트에디터 및 공식해석기(500), 파일 및 프린터관리자(520)로 이루어진다.
데이터획득기는 이력데이터베이스 및 통계적 공정제어에서 발생된 로그파일로부터 필요한 데이터를 얻는 부분이고, 데이터조작기는 선택된 데이터에 대하여 통계함수등을 이용한 데이터계산, 정렬 및 기타 시스템에서 내부적으로 제공되는 함수(매크로기능, 데이터관리기능등)를 이용하여 데이터를 조작하는 부분이고, 편성기는 선택된 데이타에 대하여 데이타 배열 및 색상등을 정하는 부분이고, 텍스트 에디터 및 공식해석기는 데이터추가/삭제/복사 등과 같은 문자편집기능 및 수학적인 계산을 위한 공식 해석기능을 담당하는 부분이고, 파일/프린터 관리자는 레포트파일의 저장, 목록보기, 열기등과 같은 파일관리 기능 및 파일을 프린터로 출력하는 기능을 담당한다.
본 발명에서 전체적인 시스템의 사용자 인터페이스를 담당하는 그래픽처리 프로세스모듈은 제15도에 도시된 형태의 구성을 가지며 크게 그래픽 툴(640)과 규칙/다이나믹 관리자(650, 660)로 구성된다. 그래픽툴(640)은 현장의 플랜트(plant)를 그래픽적으로 모델링하기 위해 여러가지 그래픽 오브젝트를 생성하고 편집, 저장할 수 있는 기능을 제공하는 도구이며, 규칙/다이나믹 관리자(650, 660)는 그래픽툴에 의해 설계된 플랜트에서 각 오브젝트 그룹과 관련되는 현장내의 플랜트 요소의 행동이 그래픽으로 적절히 표현될 수 있도록 모델링하는 서브모듈(sub module)이다.
상기의 그래픽처리 프로세스모듈의 세부적인 내부구조를 제15도를 참조하여 살펴본다. 그래픽처리 프로세스모듈은 현장상황을 그래픽으로 모델링하는데 사용되는 그래픽도구, 규칙관리자 및 다이나믹관리자로 구성되었고, 그래픽으로 모델링된 화면을 온라인으로 감시하기 위해 데이터베이스서버와 제어점의 값을 교환하는 그래픽데이터 처리기, 사용자 접속장치인 그래픽 콘솔과 이들 여러 프로세스를 통합하여 다이나믹하게 감시할 수 있게 하는 다이나믹 화면구동등으로 구성된다.
그래픽툴은 수직, 수평, 원호, 원등 여러 가지 오브젝트를 생성할 수 있으며 새로운 방식을 도입하여 기울어진 타원과 GIF(Graphic Interchange Format)형태의 이미지파일을 읽어들일 수 있게하여 플랜트등의 이미지를 화면에 표현 가능하게 되어 보다 더 현장에 가까운 모델링이 가능하게 하였다. 생성중인 오브젝트를 대상으로 삭제, 복사, 회전등의 조작기능과 화면 전체를 대상으로 하는 줌(zoom)기능등의 조작기능 및 작성된 화면을 파일로 저장하고 저장된 파일로부터 특정 화면을 읽어올 수 있으며, 프린터로 출력하는 기능을 갖는다.
또한, 오브젝트를 선택하여 편집하는 기능과 작업화면의 전경색과 배경색을 지정하고 한글 및 영문의 폰트를 지정하며 선의 두께 및 종류를 설정하거나 여러 오브젝트를 그룹화하는 기능이 있다.
그래픽툴에서 개발된 모든 오브젝트 구현에는 속도의 향상과 모양의 개선을 X라이브러리에서 제공하는 기본 도형함수를 이용하지 않고 별도의 함수를 제작하여 작성하였으며 또한 아크를 이용하여 원을 그리면 속도가 느려지므로 평면상의 한 점에서 일정한 각을 증가시키며 원의 궤적을 지나는 점을 찾아서 원을 그리는 비파라메트릭 방법으로 구현하였다. 타원을 구현함에 있어서도 X함수로는 기울어진 타원을 그릴 수 없으므로 타원의 궤적을 계산하여 직선으로 표현하는 파라메트릭 방법을 사용하여 구현하였다.
본 발명에서 사용되는 그래픽 라이브러리는 사용자의 다양한 요구에 부응하기 위해 제공되는 모듈로서, 제어점에 대한 데이터의 변화추이 및 변화정도를 감시하기 위해 여러 종류의 그래프가 제공되며 시스템의 응용분야에 적합한 감시그래피를 선정할 수 있게되어 적용분야에 효율적이고 편리하게 사용할 수 있다. 본 발명에서 제공되는 그래픽 라이브러리는 실시간 공정에서 시스템에서의 주요 목표인 감시 및 제어를 위해 미터기(meter), 파이그래프, 방사성 그래프, 막대, 선, 점, 계단, 다이알 등과 기타 다양한 형태의 그래프를 사용할 수 있다. 사용자는 감시하고자 하는 제어점의 데이터변화를 가장 잘 표현해주는 그래프를 선정하여 색깔, 주기, 스레시홀드치등을 정하여 가동시키면 현자의 제어점의 변화를 잘 감시할 수 있다.
규칙관리자와 다이나믹 관리자는 그래픽툴에 의하여 작성된 플랜트의 행동이 그래픽으로 적절히 표현될 수 있도록 그래픽 툴에 의하여 작성된 플랜트의 행동이 그래픽으로 적절히 표현될 수 있도록 모델링하는 부분으로서 제16도에 규칙관리자의 메뉴와 애트리뷰트를 일예로서 표시하였다. 이에 대한 예로서 어느 공정에서 액체를 담는 탱크의 유량을 제어할 때, 그 탱크의 레벨이 플랜트 엔지니어가 요구한 정상범위를 벗어나는 것과 같은 이상 상태가 발생하였을 때 적절한 대응을 할 수 있도록 "action"을 정해주고 사용자가 정한 조건이 발생하면 그 조건에 맞는 "action"을 할 수 있도록 한다.
규칙관리자는 플랜트 엔지니어의 지식을 룰 표현기법으로 나타냈다. 이러한 규칙시스템의 장점은 이해하기 쉽고 단편적인 지식의 표현에 적합하고, 지식을 모듈화할 수 있고, 새로운 지식을 추가하기 쉽고, 확장성이 용이하다는 점이다. 이러한 모듈의 예제를 보면 다음과 같은 것이 있다.
"If the value of any control point below the lower bound Then go to the alarm screen....."
시스템 사용자가 정의할 수 있는 조건에는 마우스버튼 누름, 임의의 정해진 키누름, 임의의 변수가 정해진 값 이상/이하일 때를 표시할 수 있는 "변수:값", 임의의 변수치에 대하여 다른 변수에 영향을 주는 경우에 사용하는 "변수:변수"등이 있다. 또한 이들 조건에 따라 제16도의 "action"을 취할 수 있는데 이들을 조합하여 모델링의 예를 들면, 임의의 공정화면에서 시스템의 작동상황을 감시하다가 경보상황이 발생하면 사용자가 해당 화면의 부분에 마우스키를 위치시켜 "key pressed"에 의해 경보화면을 화면상에 나타내주는 "GoTo View"를 하게끔 모델링이 가능하다. 이와 같은 규칙 관리기능은 시스템특성에 적합하게 한가지 이상을 동시에 유지할 수 있게 하였다.
다이나믹 관리자는 그래픽 애니메이션을 제공해주는 모듈로서 제17도에 나타내었다. 어떤 플랜트에서 원료를 배합하는 탱크가 있다고 할 때 허용하는 입력치의 최소/최대치를 정해주고 그 탱크가 있다고 할 때 허용하는 입력치의 최소/최대치를 정해주고 그 탱크가 어떤 다이나믹 애트리뷰트를 가질 것인가를 정할 수 있으며 또한 각 탱크 레벨에 따른 출력특성을 부여할 수 있다. 다이나믹 애트리뷰트에는 그래픽 애니메이션을 위하여 전경색/배경색 변화, 탱크에 액체가 "채워짐"을 나타내는데 쓰이는 왼쪽(오른쪽)/위(아래) 채움, 절대(상대)이동, 정해진 궤도축을 이동하는 경로이동, 회전, 축소(확대) 및 조건에 따라 화면상에 보여주는 특성등이 있다. 사용자는 이와 같은 다이나믹 관리자를 이용하여 시스템 모델링시 효율적인 애니매이션을 구현할 수 있다.
상기에서 기술한 바와 같이 본 발명은 산업공정의 모든 상황을 그래픽화면을 통하여 감시하고 제어하기 위한 자동화시스템에 적용될 수 있다. 자동화 시스템을 구축하기 위해서는 제어기기(로봇, 머시닝센터, 선반, PLC등), 각종 센터 및 액튜에이터등을 시스템에 접속시킬 수 있어야 하는데 이를 위해서 본 발명에서는 입/출력 통신처리 프로세스모듈을 둔다. 입/출력 통신 프로세스모듈은 위에서 언급한 디바이스를 접속하기 위하여 디바이스 드라이버를 제공하며, 명령어 라이브러리와 프로토콜 등을 관리하므로 새로운 디바이스의 도입시 시스템의 변경없이 확장이 가능하며 사용자로 하여금 물리적 계층에 대한 고려를 하지 않아도 통신이 가능하다. 또한 모듈화 구성을 갖도록 하기 위하여 데이터베이스와의 통신을 위한 통신테이블을 제공하므로 구조적인 시스템 구성이 가능할 뿐만 아니라 통신의 효율화를 이룩할 수 있다.
또한, 데이터베이스는 제어점이 갖는 상태값과 그 외 연관된 메타데이터의 집합으로 정의될 수 있다. 이들은 실시간처리에 적합하게 하기 위해 주기억장치내에서 구현되며 스와핑(swapping)이 발생하지 않도록 램드라이브를 사용하여 성능을 향상시켰다. 또한, 다른 모듈과의 통신을 위해 응용프로그램 인터페이스가 제공되어 시스템의 확장성과 효율성을 높였다.
그리고 제어점에 대한 장시간에 걸친 추세데이터는 실시간 데이터베이스와 유사한 구조이지만 방대한 양의 자료이므로 디스크파일로 저장하였다. 이러한 이력데이터는 대부분 제어점별로 독립적으로 이용될 것이므로 인덱스구조로 형성하였다. 이력데이터를 위한 인덱스구조는 통계적 공정제어시 요구되는 데이터의 접근을 빠르게 하기위하여 제어점의 이름과 타임스탬프를 이용하여 설계하였다. 또한, 제어점의 이력을 하루단위로 분리하여 관리하고 통계분석시 요구되는 데이터의 접근 횟수를 줄이기 위하여 각 단위당 요약테이블을 두어 통계분석을 용이하게 하였다.
이외에도 다른 여러 가지의 기능제공에 의하여 본 발명에 따른 산업용 감시 및 제어시스템에 의하여 시스템 사용자 측면에서 간편하고 유용하게 사용되도록 하였으며 시스템측면에서는 확장성, 범용성 및 고속처리등의 효과가 있다.

Claims (8)

  1. 개별동작가능한 복수의 장치에 접속되며 각각의 장치들로부터 발생되는 상황데이터를 요구하여 처리에 적합한 형태로 변환하는 입출력통신처리 프로세스수단; 상기 입출력통신처리 프로세스수단으로부터 전송되는 데이터를 저장하는 데이터베이스수단; 상기 데이터베이스수단에 저장되어 있는 현장상황 데이터를 그래픽처리를 통하여 각 장치의 상태를 화면상으로 표시하여 현장의 상황을 감시하는 그래픽처리 프로세스수단; 상기 데이터베이스수단에 저장되어 있는 현장상황 데이터를 이용하여 실시간으로 상기 장치에서 이루어지는 결과를 통계처리를 통하여 분석해결하는 온라인 품질관리를 위한 통계관리를 위한 통계적 공정제어처리 프로세스수단; 및 상기 데이터베이스 수단으로 부터의 현장상황데이터 및 상기 통계적 공정제어처리 프로세스수단에서 처리된 통계결과를 출력하는 레포트처리 프로세스수단을 포함하고, 상기 입출력통신처리 프로세스수단에 접속되는 장치들은 상기 입출력통신처리 프로세스수단과 실질적인 데이터의 입/출력을 수행하는 장치 또는 상기 입출력통신처리 프로세스수단에서의 제어명령에 따라 응답신호를 발생하는 장치인 것을 특징으로 하는 산업공정 감시제어시스템.
  2. 제1항에 있어서, 상기 입출력통신처리 프로세스수단을 통하여 입력되는 외부의 디바이스의 데이터가 소정의 경보조건에 이르면 메시지 또는 그래픽의 형태로 사용자에게 알려주기 위한 경보처리 프로세스수단을 더 포함하는 것을 특징으로 하는 산업공정 감시제어시스템.
  3. 제1항 또는 제2항에 있어서, 상기 입출력통신처리 프로세스수단은 상기 데이터베이스수단과의 데이터전달을 위한 접속을 위하여 장치의 이름, 제어점의 이름, 통신테이블색인, 옵셋 및 길이에 대한 정보를 포함하는 메타테이블(Meta Table)을 이용하여 처리하는 것을 특징으로 하는 산업공정 감시제어시스템.
  4. 제3항에 있어서, 상기 입출력통신처리 프로세스수단으로 부터의 제어명령에 따라 응답신호를 발생하는 장치가 접속되는 경우, 상기 시스템에서 필요한 데이터의 추출을 위하여 장치가 접속되는 경우, 상기 시스템에서 필요한 데이터의 추출을 위하여 필요한 명령을 포함하는 명령어라이브러리; 특정 장치들에 대한 통신프로토콜을 포함하는 프로토콜목록부; 상기 명령어라이브러리로 부터의 명령과 접속되는 특정 장치에 대한 상기 프로토콜목록부로부터의 프로토콜에 따라 상기 장치와의 입/출력통신을 수행하는 입/출력통신 드라이버; 및 상기 입/출력통신 드라이버에서 처리되는 통신데이터를 포함하는 통신데이블을 포함하는 것을 특징으로 하는 산업공정 제어감시시스템.
  5. 제1항 또는 제2항에 있어서, 상기 데이터베이스수단은 행과 열로 이루어지는 데이터테이블의 집합을 포함하는 것을 특징으로 하는 산업공정 감시제어시스템.
  6. 제5항에 있어서, 상기 데이터베이스수단은 데이터를 포함하는 데이터테이블에 대한 억세스요구에 따라 데이터테이블의 특정 원소에 대한 조작을 수행하는 수단; 상기 데이터베이스수단에 대한 생성명령에 따라 생성되는 데이터테이블의 크기 및 속성을 저장하는 시스템테이블을 조작하는 수단; 외부로부터의 통신호출에 따라 상기 데이터베이스수단에 대한 공동접근을 동기화하여 상기 데이타베이스수단의 무결정과 동일성을 유지하기 위한 수단; 상기 데이터베이스수단의 데이터를 검색을 위한 인덱스를 관리하는 수단; 및 상기 데이터의 조작을 수행하는 수단에서 처리되는 데이터들에 대한 메모리 할당 및 사용가능한 메모리에 대한 정보를 관리하는 수단을 포함하는 것을 특징으로 하는 산업공정 감시제어시스템.
  7. 제1항 또는 제3항에 있어서, 상기 레포트처리 프로세스수단은 상기 데이터베이스수단으로 부터의 현장상황데이터 및 상기 통계적 공정제어처리 프로세스수단으로부터 발생되는 통계데이터를 획득하기 위한 데이터 획득수단; 상기 데이터획득수단으로 부터의 데이터의 처리와 문자편집 및 수식작성기능을 수행하는 데이터 편집 및 해석수단; 상기 데이터편집 및 해석수단에서 처리되는 데이터에 대한 통계함수등을 이용한 데이터의 계산, 정렬등을 수행하는 데이터조작수단; 상기 데이터편집 및 해석수단에 의하여 처리된 데이터의 파일기능의 조작 및 프린터로의 출력을 제어하는 파일관리수단을 포함하는 것을 특징으로 하는 산업공정 감시제어시스템.
  8. 제1항 또는 제2항에 있어서, 상기 그래픽처리 프로세스수단은 그래픽 오브젝트를 생성 및 조작하여 출력하는 그래픽도구수단; 상기 그래픽도구수단에 의하여 생성된 오브젝트에 대하여 입력조건에 따른 출력양식을 정의하는 규칙관리수단; 상기 그래픽도구수단에 의하여 생성된 오브젝트에 따라 그래픽 애니메이션을 제공하는 다이나믹 애트리뷰트를 정의하여 이에 따라 상기 데이터에 대한 모델링을 수행하기 위한 다이나믹 관리수단; 상기 데이터베이스수단으로부터 전달되는 현장상황데이터를 그래픽형태의 변환시키기 위하여 그래픽데이터로 처리하는 그래픽데이터 처리수단; 상기 그래픽데이터 처리수단으로 부터의 데이터에 대하여 상기 그래픽도구수단에 의하여 제공되는 도구를 사용하여 처리결과를 화면상에 출력하는 다이나믹 화면구동수단을 포함하는 것을 특징으로 하는 산업공정 감시제어시스템.
KR1019940001743A 1994-01-31 1994-01-31 산업공정감시제어시스템 KR100307616B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940001743A KR100307616B1 (ko) 1994-01-31 1994-01-31 산업공정감시제어시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940001743A KR100307616B1 (ko) 1994-01-31 1994-01-31 산업공정감시제어시스템

Publications (2)

Publication Number Publication Date
KR950024041A KR950024041A (ko) 1995-08-21
KR100307616B1 true KR100307616B1 (ko) 2001-12-15

Family

ID=37530457

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940001743A KR100307616B1 (ko) 1994-01-31 1994-01-31 산업공정감시제어시스템

Country Status (1)

Country Link
KR (1) KR100307616B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100509242B1 (ko) * 2001-10-24 2005-08-23 (주)유윈 메시지 분석을 통해 응용이나 서비스의 성능을 시험하기위한 방법
KR100858770B1 (ko) 2005-12-15 2008-09-16 오므론 가부시키가이샤 프로세스 이상 분석 장치 및 프로그램 기록매체
KR100934866B1 (ko) * 2007-11-06 2009-12-31 엘에스산전 주식회사 전력 계통의 감시데이터 수집 및 운영 시스템과 그 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10198736A (ja) * 1997-01-13 1998-07-31 Yuyama Seisakusho:Kk 医薬品処理システム
KR19990012455A (ko) * 1997-07-29 1999-02-25 이대원 공정제어용 통합제어 시스템
KR20010016553A (ko) * 2000-04-03 2001-03-05 김민호 통신망을 이용한 설비 진단 서비스 제공 방법과 시스템 및그 방법이 저장된 기록매체
KR100434433B1 (ko) * 2000-09-29 2004-06-04 에이시스정보기술 주식회사 공장자동화 설비의 정보관리 제어장치 및 그 방법
KR20020045148A (ko) * 2000-12-08 2002-06-19 조정남 설비 감시 시스템
JP2002202810A (ja) * 2000-12-28 2002-07-19 Toshiba Corp 装置管理方法、装置管理システム及び装置管理プログラムを記録した記録媒体
KR20010067604A (ko) * 2001-02-21 2001-07-13 이동헌 설비 관리 장치 및 방법
KR100414437B1 (ko) * 2001-04-06 2004-01-07 전영민 공장 자동화 제어 방법
US7280883B2 (en) * 2001-09-06 2007-10-09 Dainippon Screen Mfg. Co., Ltd. Substrate processing system managing apparatus information of substrate processing apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100509242B1 (ko) * 2001-10-24 2005-08-23 (주)유윈 메시지 분석을 통해 응용이나 서비스의 성능을 시험하기위한 방법
KR100858770B1 (ko) 2005-12-15 2008-09-16 오므론 가부시키가이샤 프로세스 이상 분석 장치 및 프로그램 기록매체
KR100934866B1 (ko) * 2007-11-06 2009-12-31 엘에스산전 주식회사 전력 계통의 감시데이터 수집 및 운영 시스템과 그 방법

Also Published As

Publication number Publication date
KR950024041A (ko) 1995-08-21

Similar Documents

Publication Publication Date Title
KR100307616B1 (ko) 산업공정감시제어시스템
JP5289503B2 (ja) 医薬及びその他のキャピタルインテンシブ製造プロセスの分析、改善のためのシステム
EP0527596A2 (en) Generic data exchange
CN111857470B (zh) 一种生产设备的无人值守控制方法、装置和控制器
CN114675597B (zh) 一种数控机床故障预测可视化方法
JP2019109580A (ja) 産業用制御システムとその支援装置、制御支援方法およびプログラム
EP1993016B1 (en) Embedded historians with data aggregator
JP2018151917A (ja) 制御装置
CN108200062B (zh) 一种智能仪表设备的数据管理方法及系统
WO2021199519A1 (ja) 制御装置、プログラムおよび制御方法
Lin et al. Estimating simulation metamodel parameters for unexpected shop floor real time events
JP2023074641A (ja) 情報処理システム、情報処理方法および情報処理プログラム
JP2770228B2 (ja) 知識型プラント情報処理方式
CN101078981B (zh) 用于人机接口的计算机画面编辑方法
Kovalev et al. Development of a Synthesis Method for CNC Machine Tools Remote Monitoring System by Using Web Components
JP4085789B2 (ja) オブジェクト指向型加工シミュレーション装置およびオブジェクト指向型加工シミュレーションプログラム
JP2730040B2 (ja) Ncデータ作成方法
JP2751773B2 (ja) 画像処理システムの管理装置
Zhang et al. Online PLC monitoring and network administering system for steel tube mill
JP4474631B2 (ja) モニタリングシステム
JPH07191722A (ja) Ncデータ作成装置
CN117934663A (zh) Dcs画面中图元拖拽生成曲线的方法、系统、设备及介质
KR19990012455A (ko) 공정제어용 통합제어 시스템
Zhou A Study on Application of Cyber Physical System (CPS) in Lime Production
CN101419639B (zh) 模具设计图形监控系统及方法

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
LAPS Lapse due to unpaid annual fee