KR970010024B1 - 기능 블럭도를 이용한 연속 공정 제어 알고리즘 생성 방법 및 장치 - Google Patents

기능 블럭도를 이용한 연속 공정 제어 알고리즘 생성 방법 및 장치 Download PDF

Info

Publication number
KR970010024B1
KR970010024B1 KR1019940020650A KR19940020650A KR970010024B1 KR 970010024 B1 KR970010024 B1 KR 970010024B1 KR 1019940020650 A KR1019940020650 A KR 1019940020650A KR 19940020650 A KR19940020650 A KR 19940020650A KR 970010024 B1 KR970010024 B1 KR 970010024B1
Authority
KR
South Korea
Prior art keywords
control
block
system console
input
control algorithm
Prior art date
Application number
KR1019940020650A
Other languages
English (en)
Other versions
KR960008587A (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 KR1019940020650A priority Critical patent/KR970010024B1/ko
Publication of KR960008587A publication Critical patent/KR960008587A/ko
Application granted granted Critical
Publication of KR970010024B1 publication Critical patent/KR970010024B1/ko

Links

Classifications

    • 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]
    • 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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • 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/26Pc applications
    • G05B2219/2609Process control

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Abstract

내용 없음.

Description

기능 블록도를 이용한 연속 공정 제어 알고리즘 생성 방법 및 장치
제1도는 본 발명의 연속 공정 자동화 시스템을 도시한 블록도.
제2도는 본 발명에서 사용되는 기능 블록(신호 입력, 신호 출력, 산술 연산, 논리 연산 및 제어 연산 기능)의 알람표를 도시한 도면.
제3도는 본 발명에 의한 제어 알고리즘 생성의 단계들을 도시한 순서도.
제4도는 제3도에서의 기능 블록도 언어 형태로 변환하는 단계(23)의 세부 단계들을 도시한 순서도.
제5도는 본 발명에 따른 기능 블록도 편집기에 대한 주 메뉴 기능을 기초로 사용자 인테페이스 화면을 도시한 도면.
제6도는 본 발명의 기능 블록도 편집기에서 편집 모드 변환에 따라 지원되는 메뉴들의 기능을 계층적으로 도시한 도면.
제7도는 본 발명에 따른 기능 블록도 편집기에 대한 사용자 인터페이스 화면에서 초기의 흐름도 편집을 위한 사용자 화면.
제8도는 본 발명에 따른 기능 블록도 편집디에 대한 사용자 인터페이스 화면에서 흐름도에서 블록 모듈을 선택했을 때 제공되는 블록도 편집의 사용자 화면.
제9도는 본 발명에 따른 기능 블록도 편집기에 대한 사용자 인터페이스 화면에서 메크로 기능을 선택했을 때의 사용자 화면.
*도면의 주요부분에 대한 부호의 설명
1 : 시스템 콤솔 2 : 시스템 콘솔 모니터
3 : 마우스 4 : 키보드
5 : 시스템 콘솔 처리부 6 : 하드 디스크
7 : 플로피 디스크 8 : 통신 포트
9 : 공용 버스 10 : 공유 메모리
11 : 라인 제어 처리부 12 : 통신 처리부
13 : PLC 14 : VSD
15 : APC 16 : 입출력 버스 채널
17 : 직접 입출력 모듈 18 : 센서/액츄에이터
본 발명은 연속 공정 자동화 시스템에 있어서 연속 공정 제어 알고리즘을 작성하는 것에 관한 것으로서, 특히 기능 블럭도(Function Block Diagram)를 이용하여 제어 코드를 생성하는 방법 및 장치에 관한 것이다.
종래부터 화학 공정 및 제조 공정 등과 같은 대규모 공정 제어 분야에서 마이크로프로세서 또는 디지탈 컴퓨터를 이용하여 자동 생산 시스템을 구성하고자 하는 시도가 있어 왔다. 대표적인 연속 공정인 철강 산업의 자동화에서는 생산라인 제어용 다기능 제어기를 개발하는 것을 목적으로 하는데, 이러한 다기능 제어기는 열간 및 냉간 압연기, 연속 표면 처리 설비 등을 포함한 자동화 시스템, 세척 도금의 화학 처리를 위한 공정 자동화 시스템과, 각종 전동기들의 속도 및 토크 제어, 철판의 장력 또는 위치 제어 등을 수행하는 기계 자동화 시스템이 결합된 형태를 취한다. 따라서, 직접 디지탈 제어기(DDC : Direct Digital Controller), 디지탈 계장 제어기(DCS : Distributed Control System), 프로그램형 논리 제어기(PLC : Programmable Logic Controller), 전동기 가변속 제어기(VSD : Variable Speed Driver), 자동 위치 제어기(APC : Automatic Position Controller)등 각종 제어기를 결합하는 시스템 통합 기술이 요구된다. 이러한 다기능 제어기로 공정을 제어하려면 제어 대상에 따른 사용자 프로그램, 즉 제어 알고리즘을 작성해야 한다. 제어 알고리즘을 작성하기 위하여 고급 프로그램 언어인 C, PASCAL, FORTRAN과 같은 범용 언어를 사용할 수고 있으나, 현장의 사용자가 다루기에는 너무 일반적이고, 복잡하며, 구성된 하드웨어를 구동시키기 위하여 하드웨어의 세부 특성을 일일이 파악해야 하는 어려움이 있다. 이러한 어려움을 해소하기 위하여 프로그램형 논리 제어기에서는 그래픽 제어 언어로 래더 다이아그램을 제공하고 있으나, 프로그램형 논리 제어기는 본래 순차 제어 특성을 지니므로 순차 제어 기능과 다중 루프 제어 기능을 모두 갖는 연속 공정 제어기로는 적합하지 않다.
따라서, 이상과 같은 단점을 해소하기 위하여, 본 발명은 연속 공정 자동화 시스템에 있어서 각 제어의 기본 단위 요소를 하나의 블록으로 기능화함으로써 다양한 대상 공정에 대한 연속 공정 제어 알고리즘을 생성하는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명에 따르면, 기능 블록을 이용하여 사용자와 컴퓨터의 상호 작용(man-machine interface)에 의해 손쉽게 제어 알고리즘을 구성하는 것이 가능하다. 따라서, 제어 연산에 대한 문자 코드를 일일이 기억한 후구문에 맞춰서 알고리즘을 작성할 필요가 없으며, 실제 입출력 장치 및 신호에 관한 상세한 지식이 필요치 않으므로 사용자가 용이하게 제어 알고리즘을 작성할 수 있고, 부정확한 입력이나 문법적인 오류를 줄일수 있다. 또한, 제어 알고리즘을 기술함에 있어서, 특정 단위의 제어 기능을 하나의 블록으로 표현하게 함으로써 기능별로 모듈화된 제어 알고리즘의 작성에 가능하게 해주며, 사용자가 특정한 기능을 수행하는 기능 블록들을 하나의 매크로 블록으로 정의함으로써 반복 수행되는 제어 연산을 중복해서 서술하는 번거로움을 해소하여 제어 코드의 효율을 향상시킨다. 그 밖에는, 본 발명은 블록도 형태의 제어 알고리즘을 소정의 문자형 언어로 자동 변환하는 기능을 제공해 주므로 사용자가 실제적인 상세 코드를 이해할 필요가 없게 된다. 사용자가 블록도 형태로 작성한 제어 알고리즘은 문자 형태인 기능 블록도 언어로 자동 변환된 후 컴파일러에 의해서 제어 코드로 변환되어 최종적인 실행 코드가 된다.
본 발명은 각 단위 기능을 하는 기능 블록이나, 기능 블록의 모임으로 사용자가 정의한 매크로 블록으로 제어 알고리즘을 구성하는 하나의 흐름으로 연결된 구성 방법 이외에도, 제어 알고리즘 내부에서 특정 제어 블록의 수행의 결과에 따라서 일련의 제어 과정의 수행 여부가 결정될 수 있도록 즉, 수행 중 그 제어 블록의 실행 여부가 결정되도록 하는 제어 알고리즘의 흐름 제어 기능을 제공한다. 이 역시 기본 기능 블력과 매크로 블록과 같이 하나의 블록, 즉 플래그(flag)블럭으로 표현된다.
이하, 첨부 도면을 참조하여 본 발명을 상세히 설명하기로 한다.
제1도는 본 발명의 연속 공정 자동화 시스템의 전체적인 구성을 개략적으로 도시한 도면이다. 시스템 코솔(1)은 양호하게는 IBM PC와 호화 기종인 컴퓨터로서, 실제 제어 작업의 운용 중에 고장이 잦은 기계적인 요소의 부담을 덜기 위하여 하드 디스크 없이 ROM에 프로그램을 저장하여 수행시키도록 되어 있다. 시스템 콘솔(1)에 대한 입력 장치로 마우스(3) 및 키보드(4)를 이용하며, 출력 장치로는 시스템 콘솔 모니터(2)를 이용한다. 시스템 콘솔 처리(5)는 자체적으로 하드 디스크(6)과 플로피 디스크(7)을 내장하고 있어서 입출력 데이터베이스 및 시스템 콘솔(1)의 메뮤 등을 관리하는 기능을 담당한다. 시스템 콘솔 처리부(5)는 실시간 운영 체제로 그 주연산부가 구측되어 있으며 시스템 콘솔(1)과는 예를 들어 RS-232C와 같은 통신 포트(8)을 통해서 직력 통신(serial communication) 방식으로 통신한다. 한편, 전체 시스템의 데이터 관리를 위하여 공유 메모리(10)이 VME 버스와 공용 버스(9)에 접속 연결되어 있다. 라인 제어 처리부(11)은 실제로 공정 라인을 제어하기 위한 것으로, 입출력 버스 채널(16)과 연결되어 있어 직접 입출력 모듈(17)을 통해 센서/액츄에이터(18) 등으로부터 상태 신호를 받거나 제어 신호를 보내는 일을 담당하며, 통신 처리부(12)는 통신 처리를 전담하며 예를 들어, 시스템 콘솔 처리부(5)와 순차 제어를 담당하는 PLC(13), 전동기 속도 제어를 담당하는 VSD(14) 및 위치 제어를 담당하는 APC(15) 등 하위 시스템간에서 발생한 데이터를 통신해 주는 기능을 수행한다. 이 때, 통신 처리부(12)와 하위 시스템인 PLC, APC간에는 직렬 통신 방식으로 데이터 통신이 이루어진다. 통신 데이터는 공유 메모리(10)에 저장됨으로써 시스템 콘솔 처리부(5) 및 라인 제어 처리부(11)에서 필요한 통신 데이터를 공유할 수 있도록 한다.
제어 알고리즘에 필요한 기본 연산 단위로는 제2도에서 도시한 바와 같이 직접 입출력 모듈(17) 및 공유 메모리(10)으로부터의 데이터를 라인 제어 처리부(11)로 읽어들이기 위한 신호 입력 기능 블록, 라인 제어 처리부(11)로부터 제어 결산 신호를 직접 입출력 모듈(17) 및 공유 메모리(10)로 데이터를 보내거나 저장하기 위한 신호 출력 기능 블록, 덧셈, 뺄셈 등의 제어에 필요한 산술 연산을 위한 산술 연산 기능 블록, 논리곱, 논리합, 논리 비교 등의 논리 연산을 위한 논리 연산 기능 블록 및 미분, 적분, 필터 등의 연속 신호를 제어하기 위한 제어 연산 기능 블록 등 크게 5가지 종류의 기능 블록이 있다. 이 기능 블록들은 제어 알고리즘을 작헝하는데 있어서 가장 기본적인 단위가 되며 제어 알고리즘의 작성 및 편집 단위로 사용된다. 따라서, 연속 공정 자동화 시스템을 구성하는 연결된 각 제어 요소에 대해서고 하나의 입력 블록 또는 출력 블록으로 대응 변환하여 처리한다.
연속 공정 자동화 시스템에서 공정 제어 기능을 수행할 때 자주 사용되는 복잡한 일련의 특정한 제어 연산들을 기능 블록들의 모임인 매크로 블록으로 정의하여 사용할 수 있다. 기능 블록들의 의미있는 연결 그룹인 매트로 블록은 시스템 콘솔(1)에서 기능 블록도 편집기(24) 또는 문자 편집기(25)를 이용하여 생성해서 통신 포트(8)를 통해서 규약된 통신 명령에 따라 시스템 콘솔 처리부(5)가 구동하는 하드 디스크(6)의 매크로 정의 영역에 파일의 형태로 저장된다. 이미 특정 이름으로 만들어진 매트로 블록은 그 용도의 사소한 변경에 따라서 편집, 수정하는 것이 가능하며, 이러한 매크로 블록들은 편집기 실행 중에 동적으로 생성되어 매크로 라이브러리 내에 라이브러리의 형태로 유지되고 있으므로, 매트로를 사용할 때마다 하드 디스크(6)을 참조할 필요가 없다. 또한, 사용자가 정의한 블록인 매크로 블록은 다른 제어 알고리즘에서 호출하여 사용할 수 있게 된다.
이제, 제3도의 순서도와 본 발명에서 제공하는 편집 도구인 기능 블록도 편집기에 대한 주 메뉴 기능을 기초로 사용자 인터페이스 화면을 도시한 제5도 및 본 발명의 기능 블록도 편집기에서 편집 모드 변환에 따라 지원되는 메뉴들의 기능을 계층적으로 도시한 제6도를 참조하여, 상기 기능 블록을 토대로 기능 블록도 제어 알고리즘을 생산하는 방법에 대해 상세히 설명하기로 한다. 본 발명에서는 제어 알고리즘에서 필요로 하는 입출력 데이터(예를 들어, 채널 번호, 디바이스 번호, 입력 모듈 번호 등)를 참조하는데 있어서 입출력 신호 등에 대한 상세한 정보를 알아야 하는 번거로움을 줄이기 위하여 입출력 데아타를 데이터베이의 형태로 유지한다. 이러한 데이터베이스는 입출력 데이터에 대한 상세 설정 값들을 포함하고 있다. 대상 공정에 대한 입출력 데이터베이스는 시스템 콘솔 처리부(5)가 구동하는 하드 디스크(6)에 저장되어 있다.
먼저, 제3도의 단계(20)에서, 하드 디스크(6)에 저장되어 있는 입출력 데이터는 시스템 콘솔(1)의 요청에 의해 시스템 콘솔(1)의 기능 블록도 편집기로 다운로드(download)된다. 단계(21)에서는 시스템 콘솔(1)로 다운로드된 입출력 데이터를 시스템 콘솔 모니터(2)의 사용자 인테페이스 화면에 대응되는 입출력 기능 블록으로 변화하여 입출력 블록 메뉴로 제공하게 된다. 이와 같이 하나의 제어 알고리즘을 구성하기 시작할 때 제어 공정에 관련된 입출력 데이터를 통신에 의해 파일의 형태로 한꺼번에 로드(load)하여 구성함으로써 현재 실제로 제어기와 연결되지 않은 입력 장치로부터 제어 신호를 참조하거나 계산 처리된 제어 신호를 잘못된 출력 장치나 출력 노드에 내보내는 등의 오류를 범하지 않도록 해준다. 또한, 제어 알고리즘을 구축하기 위하여 레이블(label) 형태로 다운로드된 입출력 데이터는 특정 제어 알고리즘을 편집하기 시작하는 시점에서 각각의 레이블에 해당되는 신호 입력 기능 블록과 신호 출력 기능 블록으로 분류되어 사용자 화면에 입출력 메뉴로 제공되므로 산술 연산 기능 블록 등 다른 기능 블록들과 동일하게 취급된다.
단계(20)에서의 입출력 데이터의 다운로드 기능이나 단계(21)에서의 입출력 기능 블록으로 변환하는 기능은 사용자가 직접 복잡한 기능을 선택함으로써 처리되지 않고, 각 제어 알고리즘을 작성하거나 편집하기 시작할 때 제5도에서의 화일(40) 기능의 풀다운(pull down) 메뉴인 흐름도가져오기 기능(제6도 참조) 이나 새흐름도(제6도 참조)를 마우스(3)으로 선택함으로써 간단히 수행된다. 단계(22)에서는 본 발명에 의해 제공되는 기능 블록도 편집기를 이용해 기능 블록도의 편집이 이루어져 흐름도와 블록도로 구성된 기능 블록도 형태의 제1제어 알고리즘을 생성하게 된다. 기능 블록도 편집기는 흐름도를 편집하는 사용자 인터페이스 화면(제7도)에서부터 시작되며 흐름도를 편집하는 도중 블록 모듈(MODULE)을 구성하는 블록도를 그리고자 할 때 편집 메뉴의 정보보기 기능에서 블럭도로... 단추를 마우스로 누름으로써 편집 모드가 블록 편집 모드로 전환되어 사용자 인터페이스 화면은 제8도와 같이 변환된다. 블록 편집이 끝나면 블럭도 끝내기를 선택함으로써 흐름편집 모드인 제7도의 사용자 인터페이스 화면으로 재전환된다. 흐름도를 편집하거나 블록 모듈을 구성하는 블록도를 편집하는 도중 매크로를 정의하거나 편집하려면 매크로(42) 기능 메뉴를 선택하도록 한다. 이 때, 사용자 인터페이스는 제9도에 도시된 바와 같은 화면으로 전환된다.
이제, 흐름도를 편집하는 과정을 더욱 상세히 설명하면, 제어 알고리즘에 대한 기능 블록도를 편집하고자 할 때 제7도에 도시된 바와 같은 흐름 편집을 위한 사용자 인터페이스 화면이 가장 먼저 나타난다. 제어 알고리즘에 대한 흐름도를 구성하는 요소는 START, END, IF, ENDIF, 블록 모듈(MODULE)의 다섯가지이다. 이러한 흐름도 요소는 흐름편집 모드에서 흐름편집 메뉴의 흐름도그리기 기능을 선택함으로써 화면의 우측에 그래픽 메뉴로 제공된다. 흐름도그리기 기능을 선택하면 흐름도 요소에 대한 시스템 내부의 자료 구조를 생성하게 된다. START는 제어 알고리즘의 시작을 나타내며, END는 제어 알고리즘의 마지막을 나타낸다. 따라서, START와 END는 하나의 흐름도에서 하나만 있을 수 있다. IF는 IF 이전의 제어 블록들의 수행 흐름에서 나타난 플래그(flag) 블록의 결과 값에 따라서 수행하고자 하는 제어 내용이 다른 경우를 표현하기 위한 것이다. 따라서, 흐름도 요소 메뉴에서 IF를 선택하면 IF 이전에 나타난 블록 모듈에서 정의된 플래그 블록들이 등록된 대화 상자에 나타나고, 이 때 적합한 플래그 블록을 하나 선택하도록 한다. 화면에는 IF를 나타내는 마름모형 흐름도 요소 안에 선택된 플래그 블록의 이름이 출력된다. IF 블록과 실제로 연결된 플래그 블록에 대한 상세한 정보를 확인하기 위해 흐름편집 메뉴의 정보보기 기능을 이용한다.
블록 모듈은 하나의 제어 알고리즘을 모듈화하여 작성할 수 있도록 해준다. 블록 모듈의 이름은, 예를 들어 8자 이내의 알파벳 문자로 사용자가 지정하여 화면에서 사용자가 지정한 이름대로 출력된다. 흐름도 요소들은 서로 선분으로 연결됨으로써 하나의 흐름도를 이루는 블록 모듈간의 수행 순서가 결정되어 제어 흐름을 표현한다. 흐름편집 메뉴의 흐름도연결 기능을 자동 모드와 사용자 모드인 두가지 연결 모드로 흐름도 요소들을 연결하도록 제공된다. START, END 및 블록 모듈은 각각 하나의 흐름을 형성하지만 IF는 IF와 실제로 연결된 플래그 블록의 수행 결과 값의 참(T)와 거짓(F)에 따라서 각각 분리 수행되는 두개의 블록 모듈에 연결되고, END는 IF에서 분기된 두개의 제어 흐름을 하나로 모으기 위하여 두개의 흐름 입력을 연결한다. IF에서 두개의 흐름 출력은 편집 화면 영역에 나타나는 T/F 메뉴로 선택된다.
흐름도에서 그려진 블록 모듈에 대한 블록도를 편집하기 위하여 흐름편집 메뉴의 정보보기 기능에서 블럭도로...라는 단추를 마우스(3)으로 선택함으로써 블록 편집 모드로 전환된다. 즉, 제7도에 도시한 바와 같은 사용자 인터페이스 화면은 블럭도로... 단추를 선택함으로써 제8도에 도시한 바와 같은 사용자 인터페이스 화면으로 전환된다. 제8도에 도시한 바와 같은 블록 편집을 위한 사용자 인터페이스 화면에서 블럭편집 메뉴의 블럭놓기 기능을 선택함으로써 그래픽 메뉴가 기능 블록들을 우측에 출력하도록 하며 사용자는 마우스(3)으로 블록을 선택한 후 원하는 화면 영역을 마우스(3)으로 다시 누름으로써 기능 블록을 배치한다. 블럭편집 메뉴가 제공하는 연결선 기능으로써 블록들 사이에서 블록의 입력 신호와 출력 신호를 연결하여 제어 신호의 흐름을 표현한다. 제어 시호의 연결은 먼저 제어 신호의 출력에 해당되는 블록을 마우스(3)으로 선택한 후 제어 신호의 입력에 해당하는 블록을 선택하는 마우스(3)의 잇따른 누름 동작으로 단순히 수행된다. 신호의 흐름을 연결하는데 있어서, 하나의 기능 블록이 두개 이상의 입력 신호를 갖는 경우에는 순서대로 연결하도록 되어 있어서 복잡한 입력 신호의 선택을 간소화하였다. 편집 도중 잘못 그려진 블록 및 연결선을 지우기 위하여 지움 기능이 제공되며, 지움 기능은 하나의 블록만을 삭제하는 블럭지움 기능, 여러개의 블록을 화면 영역에서 선택하여 삭제하는 구역지움 기능 및 블록 사이에서 신호의 연결을 의미하는 연결선을 삭제하는 연결선지움 기능을 제공한다. 동일한 블록을 여러회 그리는 작업 편리하게 하기 위하여 블럭복사 기능이 있으며, 정보보기 기능은 각 블록에서 필요로 하는 파라메터를 변경하거나 지정하는 기능으로 키보드(4)로부터 값을 입력하게 된다.
또한, 매크로 블록의 정의는 매크로(42) 메뉴에 의해서 수행된다. 흐름도 또는 블록도를 편집하고 있는 도중에 매크로(42) 메뉴를 선택하면 매트로를 편집, 정의하기 위하여 제9도와 같은 사용자 인터페이스 화면으로 변환된다. 매크로 블록은 제어 알고리즘에 대한 블록도를 작성하는 것과 마찬가지로 블럭편집 기능에서 제공하는 편집 메뉴 기능, 즉 블록놓기, 연결선, 지움, 복사, 정보보기 등을 이용하여 편집하며 작성이 완료된 매크로 블록은 매크로 화일 메뉴의 매크로저장 기능에 의해서 시스템 콘솔 처리부(5)가 구동하는 하드 디스크(6)의 매크로 영역에 파일의 형태로 저장된다. 매크로 블록에 대한 파일은 제어 알고리즘에 대한 블록도와 마찬가지로 매크로 블록도 형태의 제1매크로 파일과 매크로 블록에 대한 기능 블록도 언어 형태의 제2매크로 파일의 두 개의 파일로 저장된다. 파일의 형태로 저장되므로 이미 정의한 매크로 블록의 내용을 변경하고자 할 때에는 화일 메뉴의 매크로블러오기 기능에 의해 변경하고자 하는 매크로의 이름을 선택하여 가져옴으로써 편집하게 된다. 매크로 블록의 이름은 매크로의 특성에 맞춰서, 예를 들어 8자 이내의 알파벳 문자로 사용자가 임의의 이름을 지정하도록 되어 있다. 이러한 과정을 거쳐서 작성이 완료된 매크로는 현재 기능 블록도 편집기에서 사용할 수 있는 매크로 블록으로 등록되어 제어 알고리즘에 대한 블록도를 작성할 때 매크로 블록으로 사용하게 된다. 매크로끝내기 기능을 선택함으로써 매크로 블록을 편집하는 과정을 완료하고 매크로 편집 이전에 수행했던 흐름도 또는 블록도를 계속해서 편집하게 된다.
다음으로, 제3도의 단계(23)에서는 기능 블럭도(function block diagram)의 형태로 그려진 제1제어 알고리즘이 기능 블록도 편집기의 도구(43) 기능 메뉴의 풀다운 메뉴인 알고리즘 파일 생성에 의해 기능 불럭도 언어(function block diagram language) 형태의 제2제어 알고리즘으로 변환된다. 변환 과정은 제4도에 도시된 바와 같이 단계(26)에서, 편집된 기능 블록도의 흐름도에서 연결선으로 표현된 수행의 순서로부터 수행 흐름에 맞게 흐름도 리스트를 먼저 생성한다. 흐름도 리스트는 그려진 흐름도에서 제어 알고리즘의 시작을 의미하는 START로부터 펴현된 수행 흐름에 맞춰서 제어 알고리즘의 마지막을 나타내는 END까지의 흐름도 요소에 대한 자료 구조를 재구성하는 것이다. 이 과정을 수행하면서 흐름도 요소가 서로 제대로 연결되었는지를 확인한다. 즉, 흐름도 자체에 대한 적합성 여부를 판별하고 START에서 시작하여 END로 끝나도록 흐름도를 수행 순서에 맞게 재배열한다. 그 후, 단계(27)에서는 이 흐름도 리스트에 포함되는 각 블록 모듈로 구성하는 블록도로부터 블록들을 수행 순서에 맞게 재배열한 블록도 리스트를 생성한다. 이는 블록도를 편집할 때 블록들을 그려진 순서에 따라서 블록도 내에 삽입되고 편집 과정을 통해서 지워지거나 새로이 그려지고 복사되므로 블록도에서의 블록의 순서는 작성하고자 하는 제어 알고리즘의 순서와 일치하지 않은 채로 유지되어 있기 때문이다. 또한, 제어 알고리즘은 신호의 입출력 순서에 기초하여 구성되어야하므로 신호의 흐름에 맞도록 블록의 순서를 조정해야 하는데, 이러한 일련의 과정을 단계(27)에서 처리한다. 이와 같이 수행 흐름에 맞게 생성된 흐름도 리스트와 블록도 리스트로부터 기능 블록도 언어 형태의 제2제어 알고리즘을 생성하게 된다. 또한, 제어 알고리즘은 사용자의 기호에 따라서 기능 블록도 편집기가 아니라 문자 편집기를 이용하여 기능 블록도 언어 형태의 제어 알고리즘으로 직접 편지할 수 있다.
이와 같이 구성된 본 발명의 제어 알고리즘의 수행에 관한 동작을 다시 제3도의 순서도를 참조하여 설면하면 다음과 같다. 단계(24)에서 시스템 콘솔 처리부(5)는 이미 정한 통신 규약에 따라 통신 포트(8)을 통하여 시스템 콘솔(1)에서 기능 블록도 형태로 작성된 제1제어 알고리즘 및 기능 블록도 언어 형태의 제2제어 알고리즘을 하드 디스크(6)에 파일의 형태로 저장한다. 블록도 형태의 제1제어 알고리즘은 파일의 형태로 저장되므로 작성한 후에 생산 라인의 사소한 변경과 기존 라인과 유사한 공정에 응용하기 위하여 그와 유사한 기능을 하는 제어 알고리즘 파일을 하드 디스크(6)으로부터 가져와서 해당 부분을 변경함으로써 전체를 다시 구성하지 않고 제어 알고리즘을 얻을 수 있다. 또한, 시스템 콘솔(1)은 기능 블록도를 편집하고 있는 동안에는 시스템 콘솔 처리부(5)와 독립적으로 수행되다가 상기 단계(24)에서 시스템 콘솔 처리부(5)와 서로 핸드쉐이킹(handshaking)에 의해 연결되어 시스템 콘솔 처리부(5)에 의해 구동되는 하드 디스크(6)으로 파일을 전송하게 된다. 따라서, 시간이 상대적으로 많이 요구되는 제어 알고리즘 편집 작업을 시스템 콘솔(1)에서 수행하도록하여 시스템 콘솔(1)과 시스템 콘솔 처리부(5)를 독립시킴으로써 시스템의 효율을 높인다.
제2제어 알고리즘 화일은 문자화 코드로 되어 있으므로 실제로 수행되도록 하기 위해서는 기계어 형태의 제어 코드로 변환되어야 한다. 단계(25)에서는 상기 하드 디스크(6)에 저장된 제2제어 알고리즘 파일을 컴파일하여 제어 코드를 생성하게 된다. 제2제어 알고리즘을 제어 언어 컴파일러에서 컴파일하는 과정을 제7도 및 제8도로 구성된 제1제어 알고리즘으로부터 알고리즘 파일 생성 기능에 의해 생성된 제2제어 알고리즘을 예로 들어 설명하면 다음과 같다.
%%
A1=SAX(d2, c0, SAXpeedDCM)
A2=SAI(d2, c0, 10.0, SAIRmpRef)
A3=SAI(d2, c1, 0.05, SAIRmpACL)
A4=SAI(d2, c2, 0.1, SAIRmpDCL)
A5=ramp(A1, A2, A3, A4)
D6=comp(A2, A5)
F7=flag(D6)
A17=SAI(d2, c3, 1.0, SAITimeRf1)
A18=SAI(d2, c4, 2.0, SAITimeRf2)
A19=SAI(d2, c5, 3.0, SAITimeRf3)
A20=SAI(d2, c6, 4.0, SAITimeRf4)
A21=SAI(d2, c7, 5.0, SAITimeRf5)
A22=SAI(d2, c8, 6.0, SAITimeRf6)
A23=SAI(d2, c9, 7.0, SAITimeRf7)
A24=SAI(d2, c10, 8.0, SAITimeRf8)
D26=SDX(d2, c0, SDXnull)
D28=not(d26)
#IFDEF(F7)
D68=time(0, A17, D28)
D69=time(1, A18, D28)
D70=time(2, A19, D28)
D71=time(3, A20, D28)
D72=time(4, A21, D28)
D73=time(5, A22, D28)
D76=time(6, A23, D28)
D77=time(7, A24, D28)
#ENDIF
D123=time(8, A17, D6)
SDX(D123, d2, c1, SDX_null)
DDO(D123, d1, c0, DDORmpEnd)
SAX(A5, d2, c0, SAXRmpOut)
DDO(D68, d1, c1, DDOTIME1)
DDO(D69, d1, c3, DDOTIME2)
DDO(D70, d1, c5, DDOTIME3)
DDO(D71, d1, c7, DDOTIME4)
DDO(D72, d1, c9, DDOTIME5)
DDO(D73, d1, c11, DDOTIME6)
DDO(D76, d1, c13, DDOTIME7)
SDX(D77, d2, c0, SDX_null)
DDO(D77, d1, c15, DDOTIME8)
END
%%
상기 제2제어 알고리즘에서 아날로그 신호 블록은 A+블럭 번호로, 디지탈 신호 블록은 D+블럭 번호로, 그리고 플래그 블록은 F+블럭 번호로 정의하였다. 맨 윗줄에 있는 SAX 블록을 컴파일할 때 컴파일러에서는 먼저 A1=을 공유 메모리(10)의 아날로그 출력 레지스터에 저장할 데이터로 인식하여 공유 메모리(10)의 미리 지정된 아날로그 출력 데이터 영역에 자리를 할당하며, SAX(d1, c1)은 미리 지정해 놓은 아날로그 데이터 영역인 공유 메모리(10)의 (d1, c1)에서 아날로그 데이터를 읽어 오도록 하는 제어 코드를 생성한다. 이러한 형석을 거쳐서 제어 코드와 관련 데이터로 변환된 제어 알고리즘은 공유 메모리(10)의 선정된 작업 번호 영역에 저장된다. 이 과정을 거친 제어 알고리즘의 제어 코드는 라인 제어 처리부(11)에 의해 공유 메모리(10) 내에 저장된 관련 데이터 값들을 참조하면서 실행된다.
이와 같이, 본 발명에 따르면 공정 제어 알고리즘을 기증 블록들을 이용하여 사용자 인테페이스 화면에서 메뉴로 주어진 블록들을 입력 장치인 마우스로 선택하여 배치하고 블록의 관계를 연결선으로 잇는 단순한 작업으로 손쉽게 프로그램 할 수 있게 되며 누구든지 용이하게 제어 알고리즘을 작성하고 제어 코드를 행성할 수 있게 된다. 즉, 마우스 버튼의 누름 조작만으로 프로그래밍이 이루어지게 되므로 프로그래밍 도구를 소규모화할 수 있으며, 일반적인 프로그래밍 언어에서 요구되는 컴파일러나 생성기 등에 대한 지식을 사용자에게 요구하지 않는다. 또한, 제어의 기본 요소인 기능 블록에 의해서 여러 가지 다양한 공정을 대상으로 제어 알고리즘을 작성할 수 있어서 범용성을 부여하면서 융통성을 높인다.
이상에서 설명한 바와 같이, 본 발명은 연속 공정 자동화 시스템에서 대상 공정에 대하여 가장 적합하고 우수한 자동화 시스템을 구성할 수 있도록 해주며, 대상 공정을 제어하는 알고리즘을 사용자가 용이하고 융통성 있게 작성할 수 있도록 해준다는 장점을 가진다.
본 발명은 예시적인 실시예를 참조하여 설명되었지만, 이러한 설명들은 제한적 의미로 해석되어서는 아니될 것이다. 본 발명이 관련된 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 상세한 설명을 참고로하여 예시적인 실시예를 다양하게 변경 또는 조합하거나 달리 실시할 수도 있음을 명백하다. 따라서, 다음의 특허 청구의 범위는 이러한 변경과 실시예들을 모두 포함하는 것으로 이해하여야 할 것이다.

Claims (17)

  1. 시스템 콘솔(1), 상기 시스템 콘솔(1)에 접속되어 익출력 데이터와 상기 시스템 콘솔(1)에 제공되는 메뉴를 관리하는 시스템 콘솔 처리부(5), 공유 메모리(10), 입출력 기능을 수행하는 직접 입출력 모듈(17), 입출력 버스 채널(16)을 통해 상기 집접 인출력 모듈(17)에 접속되어 상태 신호를 입력받고 제어 신호를 출력하는 라인 제어 처리부(11), 공정 제어기와 겁속되고 통신 처리를 전담하는 통신 처리부(12)를 포함하며, 상기 시스템 콘솔 처리부(5), 상기 공유 메모리(10), 상기 라인 제어 처리부(11) 및 상기 통신 처리부(12)가 공용 버스(9)에 접속되어 구성된 연속 공정 자동화 시스템에서 상기 공정 제어기를 제어하기 위한 연속 공정 제어 알고리즘을 생성하는 방법에 있어서, 상기 시스템 콘솔(1)의 요청에 따라 상기 시스템 콘솔 처리부(5)로부터 상기 입출력 데이터를 상기 시스템 콘솔(1)로 다운로드하는 단계와, 상기 다운로그드된 입출력 데이터를 상기 시스템 콘솔(1)의 시스템 콘솔 모니터(2) 화면에 입출력 블록 메뉴로 제공하는 단계와, 상기 입출력 블록 메뉴를 참조하여 흐름도와 블록도로 구성된 기능 블록도 형태의 제1제어 알고리즘을 생성하는 단계와, 상기 제1제어 알고리즘을 기능 블록도 언어 형태의 제2제어 알고리즘으로 변환하는 단계, 그리고 상기 제2제어 알고리즘에 따라 상기 공정 제어기를 제어하기 위한 제어 코드를 생성하는 단계를 포함하는 것을 특징으로 하는 연속 공정 제어 알고리즘 생성 방법.
  2. 제1항에 있어서, 상기 흐름도는 다수의 블록 모듈(MODULE)을 포함하는 흐름도 요소들로 구성되어 상기 다수의 블록 모듈의 수행 흐름을 정의하며, 상기 블록도는 공정 제어에 필요한 제어 블록들로 이루어져 상기 다른 블록 모듈 각각을 구성하는 것을 특징으로 하는 연속 공정 제어 알고리즘 생성 방법.
  3. 제2항에 있어서, 상기 제어 블럭은 상기 직접 입출력 모듈(17), 상기 공유 메모리(10) 및 상기 공정 제어기로부터 데이터를 상기 라인 제어 처리부(11)로 읽어들이기 위한 신호 입력 기능 블록 및 상기 라인 제어 처리부(11)로부터 상기 직접 입출력 모듈(17), 상기 공유 메모리(10) 및 상기 공정 제어기로 데이터를 보내거나 저장하기 위한 신호 출력 기능 블록을 포함하는 것을 특징으로 하는 연속 공정 제어 알고리즘 생성방법.
  4. 제3항에 있어서, 상기 제어 블록은 제어에 필요한 산술 연산 기능 블록, 논리 연산 기능 블록 및 제어 연산 기능 블록을 더 포함하는 것을 특징으로 하는 연속 공정 제어 알고리즘 생성 방법.
  5. 제2항에 있어서, 상기 제2제어 알고리즘으로 변환하는 단계는 상기 흐름도를 구성하는 상기 흐름도 요소들에 대한 자료 구조를 수행 흐름에 맞게 재구성함으로써 흐름도 리스트를 생성하는 단계, 그리고 상기 블록 모듈을 구성하는 블록도로부터 블록들을 수행 순서에 맞게 재배열함으로써 블록도 리스트를 생성하는 단계를 포함하는 것을 특징으로 하는 연속 공정 제어 알고리즘 생성 방법.
  6. 제1항 또는 제5항에 있어서, 상기 제어 코드를 생성하는 단계는 상기 제2제어 알고리즘을 상기 시스템 콘솔 처리부(5)에 의해 구동되는 하드 디스크(6)에 파일 형태로 저장하는 단계와, 상기 하드 디스크(6)에 저장된 상기 제2제어 알고리즘 파일을 컴파일하는 단계, 그리고 상기 컴파일 단계에 의한 제어 코드와 관련 데이터를 상기 공유 메모리(10)의 선정된 작업 번호 영역에 저장하는 단계를 포함하는 것을 특징으로 하는 연속 공정 제어 알고리즘 생성 방법.
  7. 제6항에 있어서, 상기 컴파일 단계는 시스템 콘솔 처리부(5)에서 수행되는 것을 특징으로 하는 연속 공정 제어 알고리즘 생성 방법.
  8. 제1항 또는 제5항에 있어서, 상기 제어 코드는 상기 라인 제어 처리부(11)에서 실행되는 것을 특징으로 하는 연속 공정 제어 알고리즘 생성 방법.
  9. 흐름도와 블록도로 구성된 기능 블록도 형태의 제1제어 알고리즘을 생성하고 상기 제1제어 알고리즘을 기능 블록도 언어 형태의 제2제어 알고리즘으로 변환하기 위한 시스템 콘솔(1)과, 입출력 데이터와 상기 시스템 콘솔(1)에 제공되는 메뉴를 관리하며 상기 시스템 콘솔(1)의 요청에 따라 상기 입출력 데이터를 상기 시스탬 콘솔(1)로 다운로드하고 상기 제2제어 알고리즘으로부터 제어 코드를 생성하기 위한 시스템 콘솔 처리부(5)와, 상기 제어 코드를 저장하기 위한 공유 메모리(10)과, 상태 신호를 입력받고 제어 신호를 출력하며 상기 제어 코드를 수행하는 라인 제어 처리부(11), 그리고 공정 제어기와 접속되고 통신 처리를 전담하는 톤신 처리부(12)를 포함하며, 상기 시스템 콘솔 처리부(5), 상기 공유 메모리(10), 상기 라인 제어 처리부(11) 및 상기 통신 처리부(12)가 공용 버스(9)에 접속되어 구성된 것을 특징으로 하는 연속 공정 제어 알고리즘 생성 장치.
  10. 제9항에 있어서, 상기 시스템 콘솔 처리부(5)에 의해 구동되며 상기 제2제어 알고리즘을 저장하기 위한 하드 디스크(6)을 더 포함하는 것을 특징으로 하는 연속 공정 제어 알고리즘 생성 장치.
  11. 제9항에 있어서, 입출력 버스 채널(16)을 통해 상기 라인 제어 처리부(11)에 접속되어 입출력 기능을 수행하는 직접 입출력 모듈(17)을 더 포함하는 것을 특징으로 하는 연속 공정 제어 알고리즘 생성 장치.
  12. 제9항에 있어서, 상기 공정 제어기는 PLC, APC 및 VSD를 포함하는 것을 특징으로 하는 연속 공정 제어 알고리즘 생성 장치.
  13. 제9항에 있어서, 상기 공용 버스(9)는 VME 버스인 것을 특징으로 하는 연속 공정 제어 알고리즘 생성 장치.
  14. 제9항에 있어서, 상기 시스템 콘솔(1)과 상기 시스템 콘솔 처리부(5)는 RS-232C 포트를 통해 접속 되어 있는 것을 특징으로 하는 연속 공정 제어 알고리즘 생성 장치.
  15. 제11항에 있어서, 상기 흐름도는 다수의 블록 모듈(MODULE)을 포함하는 흐름도 요소들로 구성되어 상기 다수의 블록 모듈이 수행 흐름를 정의하며, 상기 블록도는 공정 제어에 필요한 제어 블록들로 이루어져 상기 다수의 블록 모듈 각각을 구성하는 것을 특징으로 하는 연속 공정 제어 알고리즘 생성 장치.
  16. 제15항에 있어서, 상기 제어 블록은 상기 직접 입출력 모듈(17), 상기 공유 메모리(10) 및 상기 공정 제어기로부터 의 데이터를 상기 라인 제어 처리부(11)로 읽어들이기 위한 신호 입력 기능 블록및 상기 라인 제어 처리부(11)로부터 상기 집접 입출력 모듈(17), 상기 공유 메모리(10) 및 상기 공정 제어기로 데이터를 보내거나 저장하기 위한 신호 출력 기능 블록을 포함하는 것을 특징으로 하는 연속 공지 제어 알고리즘 생성 장치.
  17. 제16항에 있어서, 상기 제어 블록은 제어에 필요한 산술 연산 기능 블록, 논리 연산 기능 블록및 제어 연산 기능 블록을 더 포함하는 것을 특징으로 하는 연속 공정 제어 알고리즘 생성 장치.
KR1019940020650A 1994-08-22 1994-08-22 기능 블럭도를 이용한 연속 공정 제어 알고리즘 생성 방법 및 장치 KR970010024B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940020650A KR970010024B1 (ko) 1994-08-22 1994-08-22 기능 블럭도를 이용한 연속 공정 제어 알고리즘 생성 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940020650A KR970010024B1 (ko) 1994-08-22 1994-08-22 기능 블럭도를 이용한 연속 공정 제어 알고리즘 생성 방법 및 장치

Publications (2)

Publication Number Publication Date
KR960008587A KR960008587A (ko) 1996-03-22
KR970010024B1 true KR970010024B1 (ko) 1997-06-20

Family

ID=19390827

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940020650A KR970010024B1 (ko) 1994-08-22 1994-08-22 기능 블럭도를 이용한 연속 공정 제어 알고리즘 생성 방법 및 장치

Country Status (1)

Country Link
KR (1) KR970010024B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10717714B2 (en) * 2017-07-07 2020-07-21 Chitec Technology Co., Ltd. Reactive ultraviolet absorber and application thereof

Also Published As

Publication number Publication date
KR960008587A (ko) 1996-03-22

Similar Documents

Publication Publication Date Title
JP2984369B2 (ja) 機械コントローラ/プロセスコントローラ用グラフィック・プログラム・インタフェース
KR19980085571A (ko) 공정 제어 알고리즘 생성 방법
US7590970B2 (en) Autogeneration of code via human-machine interfaces (HMI) and self-building HMI
US7210117B2 (en) System and method for programmatically generating a graphical program in response to program information
JP4982020B2 (ja) 分散ブロック・ダイアグラム実行およびユーザ・インタフェース表示を使用するグラフィカル・プログラミング・システム
US6477435B1 (en) Automated programming system for industrial control using area-model
US7000190B2 (en) System and method for programmatically modifying a graphical program in response to program information
US7743362B2 (en) Automatic generation of application domain specific graphical programs
US7024631B1 (en) System and method for enabling graphical program polymorphism
US20020083413A1 (en) System and method for programmatically generating a graphical program in response to a state diagram
EP1141813A1 (en) Cause effect diagram program maintenance development and test system
US6173245B1 (en) Programmable logic array device design using parameterized logic modules
JPH03154105A (ja) Ncプログラム作成装置
US7120877B2 (en) System and method for creating a graphical program including a plurality of portions to be executed sequentially
KR20000022660A (ko) 직관적 프로그래밍 능력을 갖는 프로세서 기반 공정 제어 시스템
KR100246862B1 (ko) 툴 버튼의 설정 방법 및 편집 장치
US5225975A (en) Network programmable logic controller system with ladder editor and parallel and synchronous logic and I/O scanning
Taentzer et al. Amalgamated graph transformations and their use for specifying AGG—an algebraic graph grammar system
KR970010024B1 (ko) 기능 블럭도를 이용한 연속 공정 제어 알고리즘 생성 방법 및 장치
CN111880793A (zh) 一种基于二进制文件的hmi组态配置系统和方法
JPH10283020A (ja) プログラマブル表示装置
JPH11265280A (ja) グラフィックエディター及びエディタープログラムを記録したコンピュータ読み取り可能な記録媒体
JP2537418B2 (ja) 制御プログラム作成装置
EP2011108A2 (en) Strategy editor human-machine interface
KR100423742B1 (ko) 순차기능챠트에 의한 전용 제어 시스템

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20111020

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20121005

Year of fee payment: 16

LAPS Lapse due to unpaid annual fee