KR20080065936A - 동적 피드백 제어 시스템 시뮬레이팅 방법, 시뮬레이션동적 피드백 제어 시스템 준비 방법 및 동적 피드백 제어시스템 시뮬레이팅 시스템 - Google Patents
동적 피드백 제어 시스템 시뮬레이팅 방법, 시뮬레이션동적 피드백 제어 시스템 준비 방법 및 동적 피드백 제어시스템 시뮬레이팅 시스템 Download PDFInfo
- Publication number
- KR20080065936A KR20080065936A KR1020080002578A KR20080002578A KR20080065936A KR 20080065936 A KR20080065936 A KR 20080065936A KR 1020080002578 A KR1020080002578 A KR 1020080002578A KR 20080002578 A KR20080002578 A KR 20080002578A KR 20080065936 A KR20080065936 A KR 20080065936A
- Authority
- KR
- South Korea
- Prior art keywords
- simulation
- control system
- controller
- software
- dynamic feedback
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
본 발명은 공통 액세스를 경유하여 모방될(104) 제어기의 제어 시스템 로직(106)과 시뮬레이션 모델(114) 사이의 공유 메모리(112)로의 접속을 설정하는 것을 포함하는 동적 피드백 제어 시스템 시뮬레이팅 시스템 및 방법에 관한 것이다. 제어 시스템 로직(106) 및 시뮬레이션 모델(114)과 연관된 전회의 시뮬레이션으로부터의 상태 데이터가 다른 시뮬레이션 실행을 초기화하기 위해 메모리로부터 검색된다. 시뮬레이션 모델(114) 및 제어 시스템 로직(106)과 연관된 상태 데이터가 이어서 타이밍 및 제어 메카니즘(116)과 동기화되고 제어기의 시뮬레이션이 실행된다. 그래픽 사용자 인터페이스(502)가 또한 제공되어 사용자가 시뮬레이션 설정을 조정하고(504) 시뮬레이션에 이용될 입력/출력 구성 요소를 갖는 신규한 접속을 설정한다.
제어 시스템 로직, 시뮬레이션 모델, 공유 메모리, 상태 데이터, 타이밍 및 제어 메카니즘, 그래픽 사용자 인터페이스
Description
본 발명은 일반적으로 제어 시스템 시뮬레이팅 시스템 및 방법에 관한 것이고, 더 구체적으로는 동적 피드백 제어 시스템 시뮬레이팅 시스템 및 방법에 관한 것이다.
터빈 시뮬레이션은 하드웨어-인-더-루프 시뮬레이션(Hardware in the Loop simulation) 및 테이블-탑 시뮬레이션(Table-Top simulation)(또한 비-HITL 시뮬레이션)을 포함하는 다중 플랫폼 내에 규정될 수 있다. 동적 피드백 제어 시스템의 시뮬레이션은 하드웨어-인-더-루프(HITL) 시뮬레이션 또는 비-HITL 시뮬레이션인 것으로서 분류될 수 있다. HITL 시뮬레이션 시스템은 HITL 시뮬레이션 시스템의 다른 요소와 직접 또는 간접 통신하여 시뮬레이팅되고 있는 실제(또는 목표) 제어 시스템으로부터의 몇몇 하드웨어 요소를 포함한다. 비-HITL 시뮬레이션은 시뮬레이션 시스템의 실제(또는 목표) 제어 시스템으로부터의 임의의 하드웨어 요소를 포함하지 않는다.
하드웨어-인-더-루프 시뮬레이션은 제어 시스템의 모든 양태(aspect) 뿐만 아니라 그 제어기에 첨부된 입력 및 출력 카드를 테스트한다. 하드웨어-인-더-루프 시뮬레이션은 주로 고객에 대한 제어 시스템의 기능성을 입증하기 위해 제어 시스템 엔지니어에 의해 공장 수락 테스트(FAT)에 사용된다. HITL 시뮬레이션 시스템의 동작시에, 제어 시스템은 시뮬레이팅된 장비 모델로부터 측정된 입력 신호를 수신하고, 특정 내부 계산을 수행하고, 이어서 시뮬레이팅된 장비 모델에 명령 신호를 출력한다. 전형적인 HITL 시뮬레이션에서 실제 제어 시스템 하드웨어 및 소프트웨어의 특정 용도 및 전용 구성 요소가 이용되면, 이들 작용은 일반적으로 정밀하게 제어된 간격으로 고속으로 반복된다. 그러나, 이들 요소는 엄격한 기준의 세트에 따라 동작하도록 설계되기 때문에, HITL 시뮬레이션의 최종적인 동적 피드백 시뮬레이션은 엄격한 실시간 동작, 연속적인 동작과 같은 다수의 작동 제한을 받게 되고, 실행은 항상 단일의 사전 프로그래밍된 상태로 개시된다. 일반적으로, 하드웨어-인-더-루프는 터빈 제어를 시뮬레이팅하는 가장 시간 효율적이지만 고비용의 접근법이다.
전형적인 비-HITL 시뮬레이션에서, 실제 제어 시스템 소프트웨어의 시뮬레이팅된 모델은 일반적으로 장비 모델과 동일한 시뮬레이션 소프트웨어 환경으로 변환된다. 이 프로세스 장비 및 제어 시스템의 통합된 시뮬레이션은 변환 프로세스, 제어 로직의 시뮬레이션에 기인하는 충실도 및 현실성의 손실과 같은 다수의 고유의 문제점을 포함하고, 부가의 단계가 시뮬레이션 소프트웨어로 제어 시스템 로직을 변환하여 매립하기 위해 요구되고, 시뮬레이션 프로세스 중에 시뮬레이팅된 제 어 시스템 로직에 이루어진 수정이 시뮬레이션으로부터 추출되고 실제 제어 시스템 소프트웨어에 적용되어야 한다. 시스템의 충실도는 실행 중인 동력 장치(power plant)의 동작에 부합하기 위한 시뮬레이션 및 제어의 능력을 칭한다.
비-HITL 시뮬레이션은 일반적으로 제어 시스템이 의도되는 정확한 시퀀스에서 동작을 완료하는 것을 검증하기 위해 제어 시스템 엔지니어에 의해 사용된다. 비-HITL 시뮬레이션은 어떠한 I/O 확인(validation)도 포함하지 않는다. 그러나, 비-HITL 시뮬레이션은 시뮬레이션의 개발 비용에 추가되는 트레이너의 사용을 필요로 하고 고속 확인을 저지한다.
HITL 시뮬레이션 및 비-HITL 시뮬레이션 양자 모두와 연관된 고유의 결점을 해결하기 위해, 동력 장치 제어 시스템의 현대화는 또한 이러한 동작이 실제로 실제 제어 시스템에 구현되기 전에 실제 수명 제어기 업그레이드를 시뮬레이팅하기 위한 또는 유지 보수 또는 고장 발견 수리 동작을 시뮬레이팅하기 위한 과제를 생성한다. 아날로그 동력 장치 제어 시스템 시뮬레이션은 더 현대식의 디지털 제어 시스템(DCS)에 비교하여 비교적 용이하다. 또한 제어 시스템 오퍼레이터를 위한 트레이닝 시나리오를 제공하기 위해 DCS 제어기의 정확한 시뮬레이션을 제공하는 것은 더 어렵고 비용이 든다. DCS 시스템이 더 복잡해짐에 따라, 이들은 또한 완전히 모방(emulate)하는데 더 어려워지고 더 비용이 많이 든다.
본 발명에 따르면, 공통 액세스를 경유하여 모방될 제어기의 제어 시스템 로직과 시뮬레이션 모델 사이의 공유 메모리로의 접속을 설정하는 단계를 포함하는 동적 피드백 제어 시스템 시뮬레이팅 방법이 개시된다. 제어 시스템 로직 및 시뮬레이션 모델과 연관된 전회의 시뮬레이션으로부터의 상태 데이터가 다른 시뮬레이션 실행을 초기화하기 위해 메모리로부터 검색된다. 상태 데이터는 시뮬레이션 모델과 연관되고, 제어 시스템 로직은 이어서 타이밍 및 제어 메카니즘과 동기화되고, 제어기의 시뮬레이션이 실행된다.
본 발명의 일 특징에 따르면, 상기 방법은 제어기의 시뮬레이션의 실행시에, 시뮬레이션 모델 및 제어 시스템 로직과 연관된 상태 데이터의 적어도 일부를 갱신하고, 갱신된 상태 데이터를 데이터베이스 내에 저장하는 단계를 더 포함한다. 본 발명의 다른 특징에 따르면, 상기 방법은 제어기의 시뮬레이션의 실행에 앞서, 제어기의 시뮬레이션과 연관된 상태 데이터의 적어도 일부를 조정하기 위해 그래픽 사용자 인터페이스로부터 명령을 수락하는 단계를 더 포함한다. 본 발명의 또 다른 특징에 따르면, 상기 방법은 제어기의 시뮬레이션의 실행에 앞서, 제어기의 시뮬레이션과 연관된 상태 데이터의 적어도 일부를 조정하기 위해 그래픽 사용자 인터페이스로부터 명령을 수락하는 단계를 더 포함한다.
본 발명의 또 다른 특징에 따르면, 상기 방법은 제어기의 시뮬레이션의 실행에 앞서, 제어기의 시뮬레이션과 연관된 적어도 하나의 제어 시스템 설정을 조정하기 위해 그래픽 사용자 인터페이스로부터 명령을 수락하는 단계를 더 포함한다. 본 발명의 다른 특징에 따르면, 상기 방법은 미래의 시뮬레이션 결과를 예측하도록 상태 데이터의 적어도 일부에 회귀 분석을 수행하기 위해 그래픽 사용자 인터페이스로부터 명령을 수락하는 단계를 더 포함한다. 본 발명의 다른 특징에 따르면, 상기 방법은 시뮬레이션 모델과 연관된 시뮬레이션 데이터를 플롯팅하기 위해 그래픽 사용자 인터페이스로부터 명령을 수락하는 단계를 더 포함한다. 본 발명의 또 다른 특징에 따르면, 제어기의 시뮬레이션의 실행은 지정된 시작 단계로부터 지정된 종료 단계로 단계적 실행하고, 이어서 중단되어 다음 명령 또는 호출 프로그램을 대기하는 단계를 포함한다.
본 발명의 다른 실시예에 따르면, 공통 액세스를 경유하여 제어기의 제어 시 스템 로직의 적어도 일부와 시뮬레이션 소프트웨어 사이의 공유 메모리로의 접속을 설정하는 단계를 포함하고, 시뮬레이션 소프트웨어는 시뮬레이션 모델을 포함하는 시뮬레이팅 동적 피드백 제어 시스템 준비 방법이 개시된다. 상기 방법은 또한 제어 시스템 로직의 적어도 일부와 시뮬레이션 소프트웨어 사이의 입력/출력(I/O) 구성 요소의 접속을 설정하도록 그래픽 사용자 인터페이스로부터 검색된 명령을 수락한다. 상기 방법은 (I/O) 구성 요소 접속에서의 에러를 검출하는 단계와, 에러와 연관된 입력 및 출력 신호 명명 오정합을 식별하는 단계와, 입력 및 출력 신호 명명 오정합을 보정하는 단계를 더 포함한다.
본 발명의 일 특징에 따르면, 상기 방법은 제어 시스템 로직의 적어도 일부 및 시뮬레이션 모델과 연관된 복수의 상태 데이터를 검색하는 단계 - 상기 상태 데이터는 전회의 시뮬레이션과 연관됨 - 와, 시뮬레이션 모델 및 제어 시스템 로직을 동기화하는 단계와, 시뮬레이션을 실행하는 단계를 더 포함한다. 본 발명의 다른 특징에 따르면, 상기 방법은 시뮬레이션의 실행시에, 시뮬레이션 모델 및 제어 시스템 로직과 연관된 상태 데이터의 적어도 일부를 갱신하는 단계와, 갱신된 데이터를 데이터베이스 내에 저장하는 단계를 더 포함한다. 본 발명의 다른 특징에 따르면, 상기 방법은 시뮬레이션과 연관된 상태 데이터를 조정하기 위해 그래픽 사용자 인터페이스로부터 명령을 수락하는 단계를 더 포함한다.
본 발명의 또 다른 특징에 따르면, 상기 방법은 시뮬레이션의 실행에 앞서, 시뮬레이션과 연관된 적어도 하나의 제어 시스템 설정을 조정하기 위해 그래픽 사용자 인터페이스로부터 명령을 수락하는 단계를 더 포함한다. 본 발명의 다른 특 징에 따르면, 상기 방법은 미래의 시뮬레이션 결과를 예측하도록 상태 데이터의 적어도 일부에 회귀 분석을 수행하기 위해 그래픽 사용자 인터페이스로부터 명령을 수락하는 단계를 더 포함한다. 본 발명의 또 다른 특징에 따르면, 상기 방법은 시뮬레이션 모델과 연관된 시뮬레이션 데이터를 플롯팅하기 위해 그래픽 사용자 인터페이스로부터 명령을 수락하는 단계를 더 포함한다. 본 발명의 일 특징에 따르면, 시뮬레이션의 실행은 지정된 시작 단계로부터 지정된 종료 단계로 단계적 실행하고, 이어서 중단되어 다음 명령 또는 호출 프로그램을 대기하는 단계를 포함한다.
본 발명의 또 다른 특징에 따르면, 공유 메모리와 통신하는 시뮬레이션 소프트웨어를 포함하고, 시뮬레이션 소프트웨어는 시뮬레이션 모델을 포함하는 동적 피드백 제어 시스템 시뮬레이팅 시스템이 개시된다. 시스템은 또한 공유 메모리와 통신하는 제어기와 연관된 제어 시스템 로직의 적어도 일부를 포함하고, 공유 메모리는 공통 액세스를 경유하여 제어기의 제어 시스템 로직의 적어도 일부 및 시뮬레이션 소프트웨어로의 접속을 설정한다. 시스템은 시뮬레이션 소프트웨어 및 제어기와 통신하는 데이터베이스를 더 포함하고, 제어 시스템 로직 및 시뮬레이션 모델과 연관된 상태 데이터가 데이터베이스에 저장된다. 시스템은 또한 제어기 및 시뮬레이션 소프트웨어와 통신하는 타이밍 및 제어 메카니즘을 포함하고, 타이밍 및 제어 메카니즘은 시뮬레이션 소프트웨어 및 제어 시스템 로직의 적어도 일부를 동기화한다.
본 발명의 일 특징에 따르면, 제어기의 제어 시스템 로직은 시뮬레이션 모델과 동일한 운영 시스템 상에 호스팅된다. 본 발명의 다른 특징에 따르면, 시스템 은 시뮬레이션을 구성하거나 또는 실행하는 사용자 명령을 수락하기 위해 제어 시스템 로직의 적어도 일부와 통신하는 그래픽 사용자 인터페이스를 더 포함한다. 본 발명의 또 다른 특징에 따르면, 그래픽 사용자 인터페이스는 주시 윈도우 메뉴를 포함하고, 주시 윈도우는 하나 이상의 시뮬레이션 변수와 연관된 라이브 데이터(live data)를 플롯팅한다. 본 발명의 또 다른 특징에 따르면, 그래픽 사용자 인터페이스는 대화식 시뮬레이션 메뉴를 포함하고, 대화식 시뮬레이션 메뉴는 시뮬레이션의 상태 데이터와 연관된 단계 크기를 증가시키거나 감소시키는 선택권을 제공한다.
본 발명이 일반적인 관점에서 설명되었고, 이제 반드시 실제 크기로 도시되어 있는 것은 아닌 첨부 도면을 참조할 것이다.
본 발명에 따르면, 제어 시스템 설계의 정확성 및 품질을 향상시키고, 결함을 감소시키고, 제어되고 있는 프로세스의 작동성의 더 완전한 연구를 허용한다. 본 발명의 시뮬레이션 플랫폼을 설계팀에 대해 더 효율적이게 하는 동일한 특징은 또한 오퍼레이터 트레이닝 시뮬레이터에 대한 기초를 제공하여, 고객이 이들의 동작을 트레이닝하고 다양한 장비의 더 효율적인 동작을 성취할 수 있게 한다.
본 발명은 현재의 HITL 및 비-HITL 시뮬레이션 시스템보다 적은 시간에 작동성 및 제어의 기능성 및 확인의 진보된 레벨을 가능하게 하는 비용 효율적인 소프트웨어 기반 시뮬레이션에 관한 것이다. 본 발명은 하드웨어-인-더-루프(HITL) 및 비-HITL 환경 양자 모두의 장점을 성취하고 각각의 단점을 최소화하는 시뮬레이션 시스템에 관한 것이다. 본 발명은 DCS의 기초 소스 코드를 취하고 이를 저가의 컴퓨터 플랫폼 상에서 실행하도록 포팅(port)하는 "가상 시뮬레이션"이라 칭하는 프로세스를 수반한다. 본 발명의 시스템 및 방법은 비-HITL 시뮬레이션 환경의 광대한 디버깅 능력 및 작동 융통성과 실시간 HITL 시뮬레이션 환경의 현실성 및 확실성을 조합하는 시뮬레이션을 위한 프레임워크(framework)를 제공한다.
본 발명은 특정 시스템을 위한 실제 제어 시스템 응용 소프트웨어가 시뮬레이션 실행의 제어의 융통성 및 완전한 디버깅 능력을 갖는 장비의 시뮬레이션 모델에 대해 테스트될 수 있는 환경을 제공한다. 제어 시스템은 실시간으로 동작할 수 있고, 에뮬레이터에 무관하게 동작할 수 있다. 예를 들면, 에뮬레이터는 매 1 ms마다 단계적 실행되는 것으로 언급될 수 있지만, 에뮬레이터는 40 ms의 제어기 스캔율인 것으로 가정될 수도 있다. 더욱이, 본 발명은 시뮬레이션에 기초하는 동적 피드백 제어 시스템의 분석 및 설계의 신규한 능력을 제공한다. 이 능력은 설계 및 개발 활동 중에 생산성의 향상을 제공할 수 있고, 최종 사용자 트레이닝을 위한 기술을 가능하게 한다.
부가적으로, 본 발명은 제어 시스템 설계의 정확성 및 품질을 향상시키고, 결함을 감소시키고, 제어되고 있는 프로세스의 작동성의 더 완전한 연구를 허용한다. 본 발명의 시뮬레이션 플랫폼을 설계팀에 대해 더 효율적이게 하는 동일한 특징은 또한 오퍼레이터 트레이닝 시뮬레이터에 대한 기초를 제공하여, 고객이 이들의 동작을 트레이닝하고 다양한 장비의 더 효율적인 동작을 성취할 수 있게 한다. 본 발명은 또한 가스 터빈, 증기 터빈 또는 조합형-사이클 동력 장치의 시뮬레이션을 수반하는 적용에 적합할 수 있다. 또한, 본 발명은 제어 시스템 로직 개발 및 확인, 기계 설계 확인, 작동성 연구, 고객 트레이닝, 회귀 분석 및 외부 판매/수익을 포함하는 다수의 양상에 사용될 수 있다.
본 발명은 본 발명의 실시예에 따른 시스템, 방법, 장치 및 컴퓨터 프로그램 제품의 블록도를 참조하여 후술된다. 블록도의 각각의 블록 및 블록도의 블록의 조합은 각각 컴퓨터 프로그램 명령에 의해 구현될 수 있다는 것이 이해될 수 있을 것이다. 이들 컴퓨터 프로그램 명령은 범용 컴퓨터, 특정 용도 컴퓨터, 또는 머신(machine)을 생성하기 위한 다른 프로그램 가능 데이터 처리 장치 상에 로딩될 수 있어, 컴퓨터 또는 다른 프로그램 가능 데이터 처리 장치 상에서 실행되는 명령이 이하의 설명에서 상세히 논의되는 블록도의 각각의 블록 또는 블록도의 블록의 조합의 기능성을 구현하기 위한 수단을 형성한다.
이들 컴퓨터 프로그램 명령은 또한 컴퓨터 또는 특정 방식으로 기능하는 다른 프로그램 가능 데이터 처리 장치에 지시할 수 있는 컴퓨터-판독 가능 메모리에 저장될 수 있어, 컴퓨터-판독 가능 메모리에 저장된 명령이 블록 또는 블록들에 지정된 기능을 구현하는 명령 수단을 포함하는 제조물을 생성한다. 컴퓨터 프로그램 명령은 또한 컴퓨터 또는 다른 프로그램 가능 장치 상에서 실행되는 명령이 블록 또는 블록들에 지정된 기능을 구현하기 위한 단계를 제공하도록, 컴퓨터 구현 프로세스를 생성하기 위해 일련의 작동 단계가 컴퓨터 또는 다른 프로그램 가능 장치 상에서 수행될 수 있도록 컴퓨터 또는 다른 프로그램 가능 데이터 처리 장치 상에 로딩될 수 있다.
따라서, 블록도의 블록은 지정된 기능을 수행하기 위한 수단의 조합, 지정된 기능을 수행하기 위한 단계의 조합 및 지정된 기능을 수행하기 위한 프로그램 명령 수단을 지원한다. 블록도의 각각의 블록 및 블록도의 블록의 조합은 지정된 기능 또는 단계를 수행하는 특정 용도 하드웨어 기반 컴퓨터 시스템 또는 특정 용도 하드웨어 및 컴퓨터 명령의 조합에 의해 구현될 수 있다는 것이 또한 이해될 수 있을 것이다.
본 발명은 컴퓨터의 운영 시스템 상에서 실행되는 응용 프로그램을 통해 구현될 수 있다. 본 발명은 또한 휴대형 디바이스, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램 가능 고객 전자 기기, 미니-컴퓨터, 메인프레임 컴퓨터 등을 포함하는 다른 컴퓨터 시스템 구성으로 실시될 수도 있다.
본 발명의 구성 요소인 응용 프로그램은 특정 추상적인 데이터 유형을 구현하고, 특정 작업, 동작 또는 작업들을 수행하는 루틴, 프로그램, 구성 요소, 데이터 구조 등을 포함할 수 있다. 분산 컴퓨팅 환경에서, 응용 프로그램(전체적으로 또는 부분적으로)은 로컬 메모리 또는 다른 저장 장치에 위치될 수 있다. 게다가, 또는 이와 달리, 응용 프로그램(전체적으로 또는 부분적으로)은 작업이 통신 네트워크를 통해 연결된 원격 처리 디바이스에 의해 수행되는 본 발명의 실시를 허용하도록 원격 메모리 또는 저장 장치에 위치될 수 있다. 본 발명의 예시적인 실시예는 유사한 도면 부호가 다수의 도면 전체에 걸쳐 유사한 요소를 지시하는 첨부 도면을 참조하여 더 완전히 후술된다. 실제로, 본 발명은 다수의 상이한 형태로 구 체화될 수 있고 본 명세서에 설명된 실시예에 한정되는 것으로 해석되어서는 안되며, 오히려 이들 실시예는 본 개시 내용이 적용 가능한 법적 요건을 만족시킬 수 있도록 제공된다.
도 1은 본 발명의 예시적인 실시예에 따른 복잡한 동적 피드백 제어 시스템의 시뮬레이션을 위한 시스템을 도시하고 있다. 본 발명의 예시적인 실시예에서, 시뮬레이팅될 실시간 제어 시스템 소프트웨어의 내부 아키텍처는 공지되어 있고 소스 코드는 수정을 위해 이용 가능하다. 본 발명의 예시적인 실시예에서, 제어 시스템은 QNX 실시간 운영 시스템 상에 호스팅될 수 있다. 마이크로커널(microkernel)-기반 운영 시스템으로서, QNX는 다수의 소규모 작업의 형태로 대부분의 운영 시스템을 실행한다. QNX의 경우에, 마이크로커널의 사용은 OS 자체를 변경할 필요 없이 개발자가 이들이 필요로 하지 않는 임의의 기능성을 턴오프할 수 있게 한다. 제어 시스템 소프트웨어는 계층화 제품이고, 여기서 응용 소프트웨어는 실행 시간으로 공지된 유틸리티 프로세스의 레이어에 위치하고, 이어서 QNX 운영 시스템에 위치한다. 따라서, 실행 시간 레이어는 QNX 운영 시스템의 상세로부터 응용 소프트웨어를 격리하는 기능을 한다.
도 1의 예시적인 실시예에 도시되어 있는 바와 같이, 본 발명은 마이크로소프트 윈도우 운영 시스템과 같은 운영 시스템(102)으로의 실행 시간 환경의 포트를 포함한다. 예시적인 실시예에서, 포팅 실행 시간은 제어 시스템 블록웨어(blockware)와 함께 QNX 특정 기능성을 취하고 마이크로소프트 윈도우 소프트웨어 랩퍼(wrapper)를 생성하여 동일한 기능성이 마이크로소프트 윈도우 환경에 서 실행될 수 있게 한다. 운영 시스템(102) 환경으로의 실행 시간의 포트를 이용하여, 모방된 제어기(104)의 실제 제어 시스템 로직(106)이 시뮬레이팅되고 있는 장비에 대한 시뮬레이션 모델과 동일한 PC 상에 호스팅될 수 있다. 본 발명의 예시적인 실시예에서, 실행 시간 및 관련 애플리케이션 툴이 마이크로소프트 비쥬얼 스튜디오 디자인 수트를 사용하여 C 및 C++에서 프로그래밍된다. 이들 툴 및 소프트웨어 언어는 윈도우 운영 시스템에서 실행하는 시뮬레이션 소프트웨어 패키지와 호환성이 있다.
본 발명의 예시적인 실시예에서, 실시간 제어 시스템 로직(106)의 구현은 호스트 컴퓨터의 실시간 운영 시스템에 최소로 의존하여 계층화된다. 제어 시스템 응용 소프트웨어 언어, 그 지원 개발 툴 및 프로그래밍 환경은 장비 시뮬레이션 소프트웨어/모델(114)의 것들과 호환성이 있다. 장비 모델을 구현하는데 사용된 시뮬레이션 소프트웨어/모델(114)은 또한 다른 제 3 집단 소프트웨어 패키지와의 통신을 지원하는 능력을 가질 수 있다. 시뮬레이션 소프트웨어는 이 경우에 제 3 집단 소프트웨어 프로그램과의 통신 수단으로서 공유 메모리로의 액세스를 위한 가요성 메카니즘을 포함하는 최종 시뮬레이션 내로 제 3 집단 코드를 통합하는 가요성 수단을 갖는다. 응용 프로그래밍 인터페이스(API)가 이 기능성을 성취하는데 사용된다.
통신 채널이 공통 액세스(112)를 거쳐 시뮬레이션 시스템의 두 개의 주요 구성 요소, 즉 제어 시스템 로직(106)과 시뮬레이션 소프트웨어/모델(114) 사이의 공유 메모리의 영역에 설정된다. 도 1의 예시적인 실시예에서, 시뮬레이션 소프트웨 어/모델(114) 및 제어 시스템 로직(106)과 연관된 실행 시간의 윈도우 포트 양자 모두는 공유 메모리 액세스 메카니즘(112)을 이용하여, 모방된 제어기(104)의 제어 시스템 응용 소프트웨어 로직(106)과 시뮬레이션 장비 모델 사이의 통신 채널로서 기능한다. 타이밍 및 제어 메카니즘(116)은 시뮬레이션 장비 모델 및 제어 시스템 로직(106)의 실행을 조정하고 동기화한다. 데이터베이스 메카니즘(118)은 임의의 시점에 시뮬레이팅된 장비 모델 및 제어 시스템 로직(106) 양자 모두를 포함하는 실행 시뮬레이션의 상태를 저장하고 복원한다. 모방된 제어기(104)의 제어 시스템 로직(106) 및 시뮬레이션 소프트웨어/모델(114)은 도 3 및 도 4를 참조하여 더 상세히 후술된다.
시뮬레이션 실행 그래픽 사용자 인터페이스가 시뮬레이션 소프트웨어/모델(114) 및 제어 시스템 응용 소프트웨어 양자 모두를 포함하는 시뮬레이션 시스템 구성 요소의 모든 실행 양태를 제어하고 조정하도록 제공된다. 제어 시스템 로직(106) 및 시뮬레이션 모델의 실행 제어 및 동기화는 시뮬레이션 실행 그래픽 사용자 인터페이스에 의해 영향 받는다. 시뮬레이션 실행 그래픽 사용자 인터페이스는 표준 실시간 제어 시스템 플랫폼에서 이용 가능한 것들과 동일한 특징을 갖는, 무엇보다도 툴박스(108), 트렌드 레코더 및 HMI(휴먼 머신 인터페이스)(110)를 포함하는 표준 제어 시스템 소프트웨어 툴의 이용 가능성을 허용한다. 제어 시스템 로직(106)으로의 액세스는 GE 화낙 오토메이션 노스 아메리카 인크(GE Fanuc Automation North America, Inc.)의 심플리시티(Climplicity) 워크벤치 휴먼 머신 인터페이스(심플리시티 HMI)와 같은 HMI(110) 및 툴박스(108)를 통해 얻어진 다. 그래픽 사용자 인터페이스의 예시적인 실시예는 도 5를 참조하여 더 상세히 논의된다.
모방된 제어기(104) 관점으로부터, 시뮬레이션은 이들의 사용자 집단에 의해 광범위하게 규정된 3개의 그룹, 즉 오퍼레이터 시뮬레이션, 요청 시뮬레이션(Requisition Simulation) 및 대화식 시뮬레이션으로 분리될 수 있다. 오퍼레이션 시뮬레이션은 일반적으로 고객 트레이닝을 목표로 하고 하드웨어 비용에 가장 민감하다. 마이크로소프트 윈도우와 같은 운영 시스템에서 실행하는 소프트웨어 전용 해결책이 예시적인 해결책이다. 요청 시뮬레이션은 애플리케이션 코드 확인을 지원하고, 외부 디바이스와의 상호 작용 능력 및 시뮬레이팅된 및 실제 I/O의 혼합을 위한 지원을 요구한다. 제어기가 I/O에 액세스할 때마다, 이는 실제 하드웨어에 호스팅되어야 한다. 대화식 시뮬레이션은 내부 개발 및 모델과 제어 알고리즘의 분석에 사용된다. 대화식 시뮬레이션은 일반적으로 애플리케이션 코드 스케쥴링의 제어 및 진보된 디버깅 특징을 필요로 한다.
도 2는 본 발명의 예시적인 실시예에 따른 시뮬레이션의 세팅 및 실행에 관련된 흐름도이다. 프로세스는 HMI(휴먼 머신 인터페이스)의 구성으로 단계 202에서 시작한다. HMI 및 툴박스는 필요하다면 제어 시스템 소프트웨어를 관찰하고 세팅을 변경하도록 개방될 수 있다. 다음, 단계 204가 호출되어 시뮬레이션 모델을 로딩하고, 제어기를 위한 에뮬레이터를 구성하고 공유 메모리로의 제어 시스템 로직 액세스를 설정함으로써 시뮬레이터 시스템을 실행한다. 단계 206이 이어서 호출되어 제어 시스템 로직 소프트웨어와 시뮬레이션 모델 사이의 I/O(입력/출력) 구 성 요소의 접속을 설정한다.
도 2에 도시되어 있는 본 발명의 예시적인 실시예에서, 단계 208이 호출되어 임의의 I/O 접속 에러가 존재하는지를 판정한다. 접속을 설정하기 위한 시도에 임의의 에러가 존재하면, 시뮬레이션 실행 그래픽 사용자 인터페이스를 통해 오퍼레이터에 통지가 제공될 수 있다. 또한, I/O 접속에 에러가 존재하면, 단계 210이 에러를 보정한다. 에로 보정의 예는 에러를 발생시키는 I/O 접속에 대응하는 시뮬레이션 모델 또는 시뮬레이터 제어 소프트웨어에서의 적절한 기준명을 보정하는 것을 포함할 수 있다. 다음, 단계 212는 미래의 사용을 위한 보정된 정보(예를 들면, I/O 기준명) 및 셋업 시간의 감소를 저장한다. 에러가 검출되지 않고 I/O 접속이 성공적이면, 단계 214가 호출되어 데이터 저장소로부터 모방된 제어기 및 시뮬레이션 모델을 위한 초기 조건 또는 상태 데이터(또는 상태 파일)를 로딩한다. 다음, 시뮬레이션이 단계 216에서 실행되고, 다음에 상태 데이터가 단계 218에서 미래 사용을 위해 저장된다. 이 특정 셋업의 고유의 양태는 미래의 사용을 위해 데이터를 저장하고 당업자에 의해 이해될 수 있는 다양한 회귀 분석 방법을 통해 가능한 저장 데이터에 기초하여 결과를 학습하고 예측하는 시뮬레이션의 능력이다. 후술되는 그래픽 사용자 인터페이스를 경유하여 수행된 회귀 분석은 더 정확한 시뮬레이션을 생성하기 위해 시뮬레이션 모델 및/또는 에뮬레이션 세팅의 양태에 대한 조정을 결정하도록 전회의 시뮬레이션을 위한 저장된 상태 데이터를 이용한다.
도 3은 본 발명의 예시적인 실시예에 따른 제어 시스템 에뮬레이터와 결합하여 작동하는 다수의 구성 요소를 도시하고 있는 시뮬레이션 소프트웨어의 개략도이 다. 도 3에 도시되어 있는 바와 같이, 본 발명의 시뮬레이터 시스템은 제어 시스템 에뮬레이터(들)(306)와 결합하여 작동하는 다수의 구성 요소로 이루어진다. 시뮬레이션 시스템의 주요 구성 요소는 도 3에 도시되어 있는 바와 같이, 제어기 시뮬레이터 DLL(동적 링크 라이브러리)(302), 시뮬레이션 실행부(310), 검증 툴(308), 모델링 소프트웨어(312) 및 아스펜테크(AspenTech)의 아스펜 HYSYS(304)와 같은 외부 터빈 모델f링 소프트웨어 또는 제 3 집단 패키지이다.
제어기 시뮬레이터 DLL(302)는 시뮬레이션 환경의 모든 외부 프로그램의 셋업 및 통신을 위한 수단으로서 기능하는 동적 링크 라이브러리이다. 제어기 시뮬레이터 DLL(302)은 제어기 시뮬레이터 DLL(302)과 연관된 프로세스로의 모든 응용 프로그래밍 인터페이스(API)의 이용 가능성을 가능하게 하고, 엔트리의 단일 지점으로부터 다수의 프로세스에 통신하기 위한 외부 인터페이스를 가능하게 한다. API는 그 소스 코드에 액세스하지 않고 프로그램의 특정 기능성으로의 액세스를 얻기 위해 다른 프로그램에 의해 사용될 수 있는 프로그램 기반 호(call)이다. 따라서, API는 다른 소프트웨어 애플리케이션에 제어 및 모니터링 인터페이스를 제공한다.
제어기 시뮬레이터 DLL(302)은 모델링 소프트웨어(310)와 에뮬레이터(306) 사이에 인지된 특정 식별 번호를 지정함으로써 계약 형태(contract form)로 모든 입력/출력(I/O) 접속을 셋업할 수 있다. 제어 시스템은 아날로그 또는 디지털(또한 실제 또는 불리안이라 칭함)인 변수로 이루어진다. 계약 형태는 불리안 및/또는 아날로그/실제 유형 변수와 같은 특정 신호/변수에 상관하는 공유 메모리의 특 정 블록이다. 본 발명의 예시적인 실시예에서, 이들 계약은 "레지스터 계약 ID"라 칭하는 API를 통해 에뮬레이터(306)에 인지되어 이루어져야 한다. 레지스터 계약 ID API는 첨부된 프로세스 사이의 통신 수단으로서 사용될 수 있는 공유 메모리의 블록을 생성할 수 있다.
본 발명의 예시적인 실시예에서, 제어기 시뮬레이터 DLL(302)은 에뮬레이터(306) 내로의 엔트리의 단일 지점을 가능하게 하고 모델링 인터페이스가 동기화된 실행을 가능하게 하도록 모든 외부 프로그램에 실행 명령 API를 노출시킨다. 제어기 시뮬레이터 DLL(302)은 또한 호출 프로그램에 포괄적 중단 명령 API를 노출시킬 수 있다. 실행시에 중단 명령은 모든 종속 프로세스를 폐쇄하고 이 프로세스에 첨부된 모든 윈도우를 파기한다. 또한, 제어기 시뮬레이터 DLL(302)은 호출 프로그램에 의해 제공된 단계의 수만큼 모든 첨부된 프로세스를 단계적 실행할 수 있는 단계적 실행 명령을 노출시킬 수 있다. 첨부된 프로세스는 시뮬레이션 모델, 에뮬레이터 등과 같이 시뮬레이션이 실행될 때 시작되는 모든 운영 시스템(예를 들면, 마이크로소프트 윈도우) 프로세스이다. 단계와 명령을 실행할 때, 시뮬레이션은 지정된 시작 단계로부터 지정된 종료 단계로 "단계적 실행"하고, 중단되어 다음 명령 또는 호출 프로그램을 대기한다.
제어기 시뮬레이터 DLL(302)은 또한 호출 프로그램을 제외한 제어기 시뮬레이터에 첨부된 각각의 프로세스에 대한 모든 변수의 포괄적 저장을 트리거링할 수 있는 저장 명령을 노출시킬 수 있다. 또한, 저장 명령은 제어기 시뮬레이터 DLL(302)이 데이터(변수, 데이터 덤프 등에 의해)를 저장해야 하는 포맷을 식별할 수 있는 호출 프로세스로부터 플래그를 수락할 수 있다. 더욱이, 제어기 시뮬레이터 DLL(302)은 호출 프로그램을 제외한 제어기 시뮬레이터(302)에 첨부된 각각의 프로세스에 대한 모든 변수의 포괄적 복원을 트리거링할 수 있는 복원 명령을 노출시킬 수 있다. 또한, 복원 명령은 복원이 변수에 의해 또는 데이터 덤프에 의해 이루어져야 하는지 여부를 식별할 수 있는 호출 프로세스로부터 플래그를 수락할 수 있다. 데이터 덤핑은 모든 변수의 2진 복원이다. 이 복원은 실행 소프트웨어가 어떠한 변경을 갖지 않는다는 가정을 수행한다. 변수 프로세스에 의한 복원은 소프트웨어 시스템 내의 각각의 개별 신호명에 동시에 1회 인지된 값을 기록한다.
제어기 시뮬레이터 DLL(302)은 또한 제어기 시뮬레이터 DLL(302)에 모든 첨부된 프로세스의 포괄적 일시 중지(pause)를 트리거링하는 일시 중지 명령을 노출시킬 수 있다. 일시 중지 상태 중에, 첨부된 프로세스는 제어기 시뮬레이터 DLL(302)로부터 재개(resume) 명령 또는 단계적 실행 명령을 대기한다. 제어기 시뮬레이터 DLL(302)은 또한 호출 프로세스를 제외한 모든 첨부된 프로세스의 명명된 가변 신호 리스트를 노출시킬 수 있다. 더욱이, 리스트가 첨부되어 있는 디바이스가 식별된다(즉, 터빈 제어 시스템 가스 터빈 모델, G1, S1 등). 이 노출은 시뮬레이션 환경의 정상적인 동작과 간섭하지 않는다. 제어기 시뮬레이터 DLL(302)은 첨부된 프로세스에 있는 모든 입력/출력명을 열거할 수 있는 I/O-보고 API를 노출시켜야 한다. 이는 통신 프로세스 사이의 임의의 오정합을 식별하는 능력을 호출 프로세스에 허용한다.
제어기 시뮬레이터 DLL(302)은 지정된 변수에 시뮬레이션 플래그를 토글하고 이 변수에 사용자 정의값을 기록하는 능력을 호출 프로그램에 제공할 수 있는 API를 또한 노출시킬 수 있다. 이는 결함 주입(fault injection)에 사용될 수 있다. 예를 들면, 사용자는 어떠한 방식으로 제어 시스템이 응답하는지를 인식하기 위해 제어 시스템에 결함 있는 속도 신호를 기록할 수 있다. 이 시뮬레이션 명령은 제어 시스템 에뮬레이터(306)로의 직접 통신이다. 제어기 시뮬레이터 DLL(302)은 또한 신호 아날로그 또는 디지털 변수를 판독하고 기록할 뿐만 아니라 시스템 에뮬레이터(306)에 첨부된 로직을 강요하는 능력을 최종 사용자에게 가능하게 할 수 있는 호출 프로그램에 API를 노출시킬 수 있다. 이들 판독, 기록 및 로직 강요 명령은 또한 제어 시스템 에뮬레이터(306)로의 직접 명령이다.
검증 툴(308)은 시뮬레이션 시스템에 회귀 분석을 모방하고, 플롯하고, 자동화하고, 수행하기 위한 구성 요소로 이루어진 GUI(그래픽 사용자 인터페이스)이다. 검증 툴(308)은 또한 시뮬레이션 실행부(310)의 기초 기능성을 포함할 수 있다. 검증 툴(308)은 HMI 모방, 플롯팅, 자동화 및 회귀를 포함할 수 있다. HMI 모방은 사용자의 PC에 설치된 심플리시티 HMI 소프트웨어와 같은 HMI 소프트웨어를 갖지 않는 동력 장치 시뮬레이션의 기초 기능성을 실행하는 능력을 최종 사용자에게 가능하게 한다. 플롯팅은 최종 사용자가 시뮬레이션 모델(310) 및 제어 시스템으로부터 동일 플롯 상에 데이터를 플롯팅할 수 있게 한다. 이는 또한 제어 시스템 로직의 확인/검증에 사용하기 위한 분석 툴을 최종 사용자에게 제공한다. 자동화는 이들이 완료하기를 원하는 특정 동작을 삽입하는 능력을 사용자에게 제공하는 표준 리스트/콤보 박스로 이루어진다. 또한, 자동화는 검증 툴(308) 내로 가져오 기(import) 실행을 위해 표준 텍스트 포맷으로 스크립트를 기록하는 능력을 사용자에게 제공한다. 이 가져오기 기능성에 부가하여, 초보 사용자는 그래픽 사용자 인터페이스로부터 그의 스크립트를 기록하고 저장하도록 선택할 수 있다. 프로그램은 이 데이터를 분석하고 자동화를 위한 정확한 포맷으로 이를 메모리 내에 등록한다. 검증 툴은 터빈 제어 시스템에 의해 이용되는 표준 트렌딩 포맷/툴의 사용을 가능하게 한다. 검증 GUI는 또한 모든 제어기 시뮬레이터 DLL API로 사전 가능화된다.
본 발명의 예시적인 실시예에서, 동력 장치 데이터 분석을 위해 현재 동작 중에 있는 데이터 분석 툴과 검증 툴(308) 사이에 직접 인터페이스가 존재한다. 이 인터페이스는 호스트 프로그램에 플롯 데이터 및 서명 데이터를 통과시킬 수 있는 AP 호일 수 있고, 호스트 프로그램은 그 대응 서명에 대한 플롯을 분석하고 평균으로부터의 편차에 기초하여 결과를 송신 반환할 수 있다. 경계가 프로그램 시동 전에 사용자에 의해 설정될 수 있다. 서명 데이터는 전회의 시뮬레이션 또는 동력 장치 동작으로부터 수집되어 동력 장치의 유효한 정확한 동작을 입증하고 있는 데이터이다.
모델링 소프트웨어(312)는 부가의 구성 요소이고 시뮬레이션 시스템에 비용을 추가한다. 사전 형성 프로세스를 사용함으로써, 모델은 자립형 모델로서 컴파일(compile)되고, 모델링 프로세스와 연관된 특정 비용을 감소시키거나 제거할 수 있다. 본 발명의 예시적인 실시예에서, MSC 소프트웨어 이지5(Easy5) 모델링 소프트웨어가 동력 장치 시뮬레이션 개발을 위한 빌딩 블록(building block)으로서 사 용될 수 있고 고객 시뮬레이션을 위한 자립형으로서 소스 코드를 컴파일한다. 이는 개별 툴 형태 시뮬레이터 시스템일 수 있다. 아스펜 HYSYS(304)는 플랜트 설계, 성능 모니터링, 고장 발견 수리, 동작 향상 등을 위한 정상 상태 모델을 엔지니어가 생성하는 것을 가능하게 하는 대화식 프로세스 모델링 해결책이다. 아스펜 HYSYS는 제어기 시뮬레이터 DLL을 통한 시뮬레이션 소프트웨어로의 2방향 통신을 가질 수 있는 외부 소프트웨어이다.
본 발명의 예시적인 실시예에서, 시뮬레이터 시스템은 모방되고 있는 모델 및 제어기에 대한 입력 및 출력 신호명을 갖고 최종 사용자를 지원할 수 있는 I/O 구성 툴을 또한 포함할 수 있다. 이 툴은 오정합된 명칭을 식별하고 신규 명칭을 입력하는 능력을 사용자에게 제공할 수 있다. 사용자가 모든 명명 또는 데이터 유형 오정합을 해결한 후에, 이들은 미래의 사용을 위해 구성을 저장하는 선택권을 가질 수 있다. 이 데이터는 시뮬레이션 실행부(310) 내로 재차 공급되어 입력을 위해 사용자에 문의하기 전에 미래의 셋업에 사용될 수 있다. 이 툴은 또한 테이블 탑(비-HITL) 시뮬레이션에 역방향 호환성이 이게 이루어질 수도 있다.
시뮬레이터 시스템은 또한 임의의 실행 사이클 동안에 성취될 수 있는 최대 속도를 결정하도록 시동/셋업 프로세스 중에 시스템을 분석할 수 있다. 이 숫자는 이어서 동력 장치 시뮬레이션 중에 성취될 수 있는 시간 단계를 위한 상한 규격(USL)으로서 시뮬레이션 실행부(310) 내에 배치될 수 있다. 사용자는 또한 USL에 대한 시간 단계를 증가시키고 감소시키는 능력이 제공될 수 있다.
도 4는 본 발명의 예시적인 실시예에 따른 예시적인 제어 시스템 에뮬레이터 를 도시한다. 도 4에 도시되어 있는 바와 같이, 예시적인 실시예는 플랫폼에 걸친 공통성(commonality)을 가능하게 하도록 함께 통신하는 다수의 소프트웨어 유닛의 조합이다. 본 발명의 예시적인 실시예에서, 에뮬레이터는 하나 이상의 제어기의 기초 기능성의 일부를 모방하는 소프트웨어 실행기의 세트이다. 에뮬레이터는 툴박스(402)를 사용하여 실제 제어기와 같이 구성된다. 응용 프로그래밍 인터페이스(API)는 입력 및 출력 신호가 외부 소프트웨어 모델에 의해 구동될 수 있도록 변수 공간(vardef)(406)으로의 직접 액세스를 제공한다. API(404)는 다른 윈도우 소프트웨어 애플리케이션에 제어 및 모니터링 인터페이스를 제공한다.
툴박스 구성 및 모니터링 인터페이스가 TCP/IP 소켓 라이브러리 상에 형성된다. 이는 시뮬레이터/에뮬레이터와 동일한 PC 상에서 실행되더라도 툴박스(402)가 변경 없이 사용될 수 있게 하는 정규화 레이어를 제공한다. 에뮬레이터는 상태 변수 복원 및 명칭에 의한 변수 액세스를 수행하도록 툴박스(402)에 의해 심벌 테이블의 생성에 의존한다. 본 발명의 예시적인 실시예에서, 심벌 테이블은 제어기에 사용된 모든 신호(또는 변수)에 대한 이하의 필드, 즉 전체 신호 명칭, 어드레스 토큰, 초기/현재값을 포함한다. 소켓은 TCP/IP 프로토콜을 통한 통신을 위한 마이크로소프트 윈도우 환경 내에 이용 가능한 표준 특징이다. 도 4에 도시되어 있는 툴박스 ST는 터빈 제어 로직을 구성/수정하는데 사용되는 GE 전용 제어 시스템 소프트웨어 GUI이다. 본 발명의 이와 다른 실시예에서, 다른 GUI가 사용될 수 있다.
SDI(408) 프로토콜 및 구성 필드가 또한 지원된다. SDI는 제어기와 툴박스 사이의 통신을 위해 사용되는 GE 전용 프로토콜이지만, 다른 통신 프로토콜이 구현될 수 있다. 개별 P코드 확장기(410)가 각각의 모드에 대해 생성된다. P코드 확장기(410)는 2진 언어를 판독하는 소프트웨어 해석기이고, 어떠한 방식으로 제어 시스템이 동작되어야 하는지를 해석한다. 각각의 P코드 확장기(410)는 블록웨어 엔진(412)을 구동하기 위한 공통 세트의 구성 정보를 생성한다. 블록웨어 엔진(412)은 제어 시스템 시퀀싱이 실행되는 모방된 제어기 로직이다. 요구되지 않거나 또는 지원되지 않는 툴박스(402)로부터의 임의의 구성 정보는 P코드 확장기(410)에 의해 무시되고 요구되는 바와 같이 툴박스(402)에 성공적인 것으로서 확인 응답될 수 있다. 단일 세트의 블록웨어 라이브러리(414)는 단지 이들 사이에 소수의 데이터 유형 변경만이 존재하기 때문에 다수의 에뮬레이터 모드를 지원할 수 있다. 블록웨어 라이브러리(414)는 제어 시스템 로직[예를 들면, 렁 래더 다이어그램(Rung Ladder Diagram) PLC 로직]을 형성할 때 사용되는 기능의 표준 세트이다.
애플리케이션 변수 공간(vardef)(406)은 포괄적 메모리 영역으로서 구현될 수 있다. 변수 공간은 에뮬레이터가 변수값을 저장하는 메모리의 블록이다. 고속 액세스가 동작을 저장하고, 복원하고, 백트랙(backtrack)하기 위해 API(404)를 통해 요구된다. 목표는 100 ms 미만의 저장 시간이다. 에뮬레이터는 vardef(406)에 존재하지 않는 애플리케이션 코드를 유지할 수 있다.
툴박스(402)로부터 에뮬레이터로의 온라인 로드는 명령에 의해 지시된 바와 같이 신규 또는 모든 변수를 초기화하는 것을 제외하고 vardef(406)의 상태를 보존 해야 한다. 본 발명의 예시적인 실시예에서, 온라인 로드를 위한 성능 요구, 동기화 요구 또는 외부 데이터 생성 요구가 존재하지 않는다. 실제 제어기에 의해 지원되는 모든 이들 특징은 vardef(406) 보존이 실제 제어기에 대해 정확하기만 하면 시뮬레이터에서 절충될 수 있다. 용어 절충은 수정된 제어 로직과 터빈 제어부의 동작에 대한 그 영향의 초기화를 칭한다. 추가된 신규한 로직이 터빈에 악영향을 생성할 수 있으면, 온라인 다운로드가 불능화될 수 있다. 실제 제어기와 관련될 때, 용어 절충은 모방된 제어부가 실제 제어기와 동일한 기능성을 가질 수 있는 것을 의미한다.
에뮬레이터는 툴박스(402)를 경유하여 액세스 가능한 관심 변수를 유지한다. 본 발명의 예시적인 실시예에서, 관심 변수는 판독 전용 상태 정보를 포함한다. 관심 변수는 시뮬레이션의 실행 중에 모니터링하도록 사용자가 선택하는 임의의 변수일 수 있다. 본 발명의 몇몇 예시적인 실시예에서, 관심 변수는 특정 토큰을 통해 액세스될 수 있고, 다른 실시예에서는 관심 변수는 고유 변수법을 통해 액세스된다. 이는 토큰 어드레스(메모리 어드레스 공간)에 의한 또는 변수명에 의한 액세스를 칭한다. 관심 변수는 오퍼레이터에 액세스 가능해질 수 있지만, 에뮬레이터는 툴박스(402)가 제어기에 대한 혼란스러운 또는 오류 정보를 표시하지 않도록 이들 변수의 일부를 유지할 수 있다. 변수값 중 다수는 시동시에 디폴트 상태로 설정되고 이어서 단독으로 방치될 수 있다. 적어도 두 개의 판독 변수 명령이 지원될 수 있다. 하나의 판독 변수 명령은 심벌 명칭에 의한 액세스를 제공할 수 있고, 제 2 판독 변수 명령은 토큰에 의한 액세스를 제공할 수 있다. 판독 변수 명 령은 액세스당 다수의 변수를 지원할 수 있다. 적어도 두 개의 기록 변수 명령이 또한 지원될 수 있다. 하나의 기록 변수 명령은 심벌명에 의한 액세스를 제공할 수 있고, 제 2 기록 변수 명령은 토큰에 의한 액세스를 제공할 수 있다. 명령은 액세스당 다수의 변수를 지원할 수 있다.
GE 이더넷 범용 데이터(EGD) 프로토콜과 같은 동력 장치 제어 시스템과 사용하기 위한 네트워킹 통신 프로토콜이 각각의 프레임 이후에 애플리케이션의 출력 스레드(thread)에 의해 구동되거나 또는 애플리케이션 코드로부터 분리될 수 있다. EGD는 HMI로의 통신을 위해 사용되는 TCP/IP 프로토콜이다. 애플리케이션 코드에 의해 갱신되는지 여부에 무관하게 EGD 서비스(416)에 의해 주기적으로 전송되는 EGD 교환 맵이 생성된다.
또한, 도 4에 도시되어 있는 예시적인 실시예에서, 에뮬레이터는 간단화된 경보 스캐너(418)에 의해 구현되는 단일 경보 큐(queue)를 지원한다. 본 발명의 예시적인 실시예는 API의 사용에 의해 경보 큐를 구현하고, 다른 실시예는 제어기-특정 경보 프로토콜을 지원할 수 있다. 본 발명의 예시적인 실시예에서, 인터페이스는 간단한 프로세스 경보 기능을 위해 제공될 수 있다. 덤프 요구는 큐 상에 프로세스 경보를 복귀시킨다. 덤프 요구는 외부 프로세스로부터 명령을 대기하는 HMI 프로세스 내에서 실행되는 비동기식 프로토콜이다. 덤프 요구는 모든 그의 현존하는 경보가 호출 프로그램에 신호하도록 경보 관리자에 알리는 하나의 명령이다. 확인 응답(acknowledge) 및 리셋 명령은 큐 내의 개별 경보 및 모든 경보를 위해 지원될 수 있다. 본 발명의 다른 실시예에서, 인터페이스는 간단한 유지 경 보 기능을 위해 제공될 수 있다. 덤프 요구는 큐 상에 유지 경보를 반환한다. 재차, 확인 응답 및 리셋 명령은 큐 내의 개별 경보 및 모든 경보를 위해 지원될 수 있다.
에뮬레이터는 또한 캡처 블록 및 동적 데이터 레코더 등과 같은 데이터 수집부(420)를 지원할 수 있다. 캡처 블록에 요구되는 메모리는 도움말 메모리 또는 다른 메모리 위치로부터 할당될 수 있다. 본 발명의 예시적인 실시예에서, 캡처 블록으로부터의 데이터는 API(404)를 통해서가 아니라 단지 전통적인 SDI 인터페이스(408)를 통해서만 액세스 가능하다. 본 발명의 이와 다른 실시예에서, 트레이너는 요구되는 바에 따라 요청 시뮬레이션을 위해 개발되어 전개될 수 있다. 트레이너는 실제 제어기에서 실행되는 동일한 소프트웨어를 호스팅하는데 사용되지만, 고유 I/O를 위한 지원의 결여, 또는 중복성 특징과 같은 반대 특징을 갖는 PC 또는 다른 공통 하드웨어 플랫폼일 수 있다.
다양한 명령이 시뮬레이터를 구성하는데 사용된다. 이러한 명령은 시뮬레이팅되고 있는 제어기의 모델 유형[예를 들면, GE 마크(Mark) VI 디지털 제어 시스템(DCS) 또는 GE 마크 Vie DCS 등]을 선택하고, 실행 시간을 선택하고[예를 들면, 실시간-프레임 레이트에서의 스케쥴링 클록 실행, 또는 최고속 가능-블록웨어(412)가 타이트 루프(tight loop)에서 노즈 투 테일(nose to tail)을 실행함], 또는 디렉토리(예를 들면, 심벌 테이블 파일, 에러 로그 등의 위치)를 구성하는 것을 수반한다. 심벌 테이블은 이용 가능하면 시동시에 로딩되어야 한다. 심벌 테이블을 요구하는 모든 API 명령은 테이블이 로딩되지 않으면 에러가 되어야 한다. 실행 명령시에, 스케쥴링 클록 소스9422)가 블록웨어 엔진(412)에 접속되어, 마지막으로 방치되어 있는 시뮬레이션 시간을 취출한다. 중단 명령시에, 스케쥴링 클록 소스(422)가 블록웨어 엔진(412)으로부터 분리되어, 효율적으로 시뮬레이션 시간을 정지시킨다. 단일 단계 모드에서, 애플리케이션 코드의 하나의 프레임이 실행되고 이어서 정지된다.
도 4에 도시되어 있는 예시적인 실시예에서, 에뮬레이터는 주요 애플리케이션 코드 변경에 걸친 제어기 상태 정보의 저장 및 복원을 허용하도록 어드레스(즉, 토큰)에 의해서보다는 명칭에 의해 변수를 저장하고 복원하는 것이 가능하다. 본 발명의 예시적인 실시예에서, 에뮬레이터는 전체 vardef(406)를 원시 상태로 캡처함으로써 제어기의 상태를 저장하고 이어서 고속 저장 시간을 허용하는 특정 심벌 테이블 파일에 캡처를 연관시킬 수 있다.
백트랙 동작은 주요 애플리케이션 코드 변경이 없는[즉, vardef(406)가 변경되지 않음] 제어기 내의 상태 조건의 초기화이다. 백트랙 동작은 원시 저장값으로 vardef(406)를 덮어쓰기함으로써 성취될 수 있다. 복원 동작은 주요 애플리케이션 코드 변경이 복원에 앞서 발생되었다는 것을 지시한다. 그 레이아웃이 변경될 수 있기 때문에 vardef(406)를 벌크 카피하기에 충분하지 않다. vardef(406)를 원하는 상태로 복원하는 최선의 기회를 보장하기 위해, 에뮬레이터는 (1) vardef(406)를 제로화하고, (2) 현존하는 심벌 테이블 및 요구된 복원 심벌 테이블을 로딩하고, (3) 양 심벌 테이블 내의 모든 신호에 대해, 요구된 복원 심벌 테이블에서 발견된 토큰 및 값을 사용하여 변수를 초기화한다.
시뮬레이션 GUI(424)는 시뮬레이션 실행부의 제 3 집단 개발자를 위한 기준 설계일 수 있다. 시뮬레이션 GUI(424)는 또한 에뮬레이터에 의해 지원되는 모든 API 호의 작동예를 포함할 수 있다. 시뮬레이션 GUI의 더 상세한 논의는 도 5를 참조하여 이하에 제공된다.
도 5는 본 발명의 예시적인 실시예에 따른 시뮬레이션 실행 사용자 인터페이스(502)를 도시하고 있다. 시뮬레이션 실행 사용자 인터페이스(502)는 시뮬레이션 시스템으로의 모든 API를 제어하는 그래픽 사용자 인터페이스(GUI)이다. 시뮬레이션 실행 사용자 인터페이스(502)는 용이한 사용을 위한 다양한 메뉴 항목을 포함할 수 있다. 이들 메뉴 항목은 확장될 수 있는 다양한 툴바/셋업 메뉴로 분리될 수 있고, 시뮬레이션 메뉴(504), 비-실시간 하위 메뉴(506), 주시 윈도우(508) 등과 같은 포개진 하위 메뉴를 포함할 수 있다. 도 5에 도시되어 있는 도움말 하위 메뉴(510)와 같은 당업자에 의해 이해될 수 있는 부가의 하위 메뉴가 또한 포함될 수 있다.
도 5의 예시적인 실시예에서, 다양한 툴바 메뉴는 이들에 한정되는 것은 아니지만 "신규" 메뉴 항목(신규 시뮬레이션을 생성하기 위한), "저장" 메뉴 항목(현재 시뮬레이션을 현재 상태로 저장하기 위한), "열기" 메뉴 항목(현존하는 시뮬레이션을 로딩하기 위한) 등을 포함하는 전형적인 윈도우 GUI 상에 존재하는 기초 항목으로의 액세스를 제공할 수 있다. 툴바 메뉴는 또한 실행, 중단, 일시 중지, 재개, 저장 및 복원과 같은 도 5의 예시적인 시뮬레이션 실행 사용자 인터페이스(502)에 도시되어 있지 않은 명령을 포함할 수 있다. 툴바 메뉴는 또한 시뮬레 이션 실행을 구성하거나 또는 현존하는(또는 미리 저장된) 시뮬레이션을 분석하도록 사용자에 대한 다양한 설정 선택권 및 명령으로의 액세스를 제공하도록 주문화될 수 있다. 조정될 수 있는 가능한 설정의 예는, 시간 단계, 단계적 실행 명령을 통한 실행 제어, 뿐만 아니라 모든 프로세스의 일시 중지 및 재개이다.
도 5의 예시적인 실시예에서, 시뮬레이션 하위 메뉴(504)는 새로 만들기, 현존 파일 열기 등의 메뉴 항목(또는 버튼)을 포함한다. 새로 만들기 항목은 시뮬레이션에 구성되고 있는 디바이스 명칭(들), HMI와 함께 각각의 디바이스에 할당된 네트워크 어드레스, 단위 데이터 하이웨이(Unit Data Highway)(UDH) 및 플랜트 데이터 하이웨이(Plant Data Highway)(PDH) 네트워크 어드레스로 이루어질 수 있는 신규한 시뮬레이션 구성을 생성하도록 GUI를 개방한다. UDH는 모든 동력 장치 디바이스 사이에 데이터를 운반하도록 동력 장치에 사용되는 데이터 분배 TCP/IP 프로토콜이다. PDH는 이들의 동력 장치 하드웨어에 고객 네트워크를 접속하는 분배 TCP/IP 프로토콜이다. 이와 다른 실시예에서, 새로 만들기 또는 현존 GUI 열기 항목은 또한 사용자가 모든 전술된 어드레스를 특정 NIC(네트워크 인터페이스 카드) 카드에 할당할 수 있도록 하는 자동 구성 네트워크 어드레스 체크박스를 포함할 수 있다. 시뮬레이션 하위 메뉴(504)는 또한 규칙적인 기반으로 모니터링될 수 있는 시뮬레이션 시스템에 접속된 각각의 디바이스에 대한 상태 지시기를 포함할 수 있다. 본 발명의 예시적인 실시예에서, 상태 지시기는 디바이스가 시동되지 않을 때 적색 상태를 디바이스가 실행될 때 녹색 상태를 나타낼 수 있다.
도 5에 도시되어 있지 않은 추가의 명령 버튼이, 시뮬레이션 시스템에 첨부 된 모든 프로세스를 시작하는 "시뮬레이션 시작", 시뮬레이션 시스템에 첨부된 모든 윈도우 및 프로세스를 파기하는 "시뮬레이션 폐쇄", 에뮬레이터의 프로세스를 주기화하는 "제어기 리부트", GUI를 폐쇄하고 사용자를 메인 스크린으로 복귀시키는 "취소", 사용자 의해 입력된 구성을 저장하는 "저장", 이미 존재하는 셋업 파일로부터 구성을 복원하는 "복원"과 같은 부가의 기능성을 제공하도록 시뮬레이션 하위 메뉴(504)에 추가될 수 있다. 당업자에 의해 이해될 수 있는 다른 명령이 또한 구현될 수 있다.
대화식 시뮬레이션 하위 메뉴는 기능성을 저장하고, 일시 중지하고, 복원하고, 단계적 실행하기 위한 메뉴 항목을 포함하는 부가의 하위 메뉴로의 액세스를 허용한다. 본 발명의 예시적인 실시예에서, 비-실시간 하위 메뉴(506)는 사용자가 슬라이드 바아 또는 다른 인터페이스(예를 들면, 버튼, 텍스트박스 등)의 사용을 통해 시뮬레이션의 단계 크기를 증가시키고 감소시킬 수 있게 할 수 있다. 상기 내용에 부가하여, 비-실시간 하위 메뉴(506)는 시뮬레이션에 관한 사용자에 의해 추가된 경로/위치 및 임의의 코멘트와 함께 모든 저장된 상태의 명칭 및 텍스트를 저장할 수 있는 리스트 박스와 같은 기능성을 포함할 수 있다. 도 5의 예시적인 시뮬레이션 실행부는 또한 특정 실시예에서 독립형 프로그램일 수 있는 검증 툴로의 직접 링크를 갖는다.
도 5에 도시되어 있는 바와 같이, "주시 윈도우(watch windows)" 하위 메뉴(508)가 또한 포함될 수 있고, 이들이 모델 또는 제어 시스템 변수를 관찰하기를 원하는지 여부를 사용자에게 촉구할 수 있는 브라우즈 버튼을 가질 수 있다. 모델 및 제어 시스템 변수는 사용자에게 이들의 소스로부터 변수를 용이하게 관찰하는 능력을 허용하는 콤보/리스트 박스 기능성에 의해 분리될 수 있다. 콤보/리스트 박스는 최종 사용자가 사용자 스크린 상의 개별 칼럼의 첨부된 프로세스로부터 모든 변수를 관찰하는 것을 가능하게 할 수 있는 분할된 GUI 인터페이스이다. 이 기능성에 부가하여, 주시 윈도우 하위 메뉴(508)는 제어기 내의 임의의 로직에 기록하거나 강요하지 않는 임의의 아날로그(실제) 값의 값을 변경하는 능력을 제공할 수 있다. 또한, 주시 윈도우 하위 메뉴(508)는 또한 주시 리스트 내의 모든 신호를 선택하는 능력을 제공하고 라이브 데이터를 플롯팅하기 위한 선택권을 가질 수 있다.
본 명세서에 설명된 본 발명의 다수의 수정 및 다른 실시예가 상기 설명 및 첨부 도면에 제시된 교시의 이익을 갖는 당업자에게 고려될 수 있다. 따라서, 본 발명은 개시되어 있는 특정 실시예에 한정되는 것은 아니고, 이 수정 및 다른 실시예는 첨부된 청구범위의 범주 내에 포함되는 것으로 의도되는 것으로 이해되어야 한다. 특정 용어가 본 명세서에 이용되었지만, 이들은 일반적인 설명적인 의미로 사용되고 한정을 위해 사용된 것은 아니다.
도 1은 본 발명의 예시적인 실시예에 따른 복잡한 동적 피드백 제어 시스템의 시뮬레이션을 위한 시스템을 도시하고 있는 도면.
도 2는 본 발명의 예시적인 실시예에 따른 시뮬레이션을 셋업하고 실행하는 것에 관련된 흐름도.
도 3은 본 발명의 예시적인 실시예에 따른 제어 시스템 에뮬레이터와 결합하여 작동하는 다수의 구성 요소를 도시하고 있는 시뮬레이션 소프트웨어의 개략도.
도 4는 본 발명의 예시적인 실시예에 따른 예시적인 제어 시스템 에뮬레이터를 도시하고 있는 도면.
도 5는 본 발명의 예시적인 실시예에 따른 시뮬레이션 실행 사용자 인터페이스를 도시하고 있는 도면.
도면의 주요 부분에 대한 부호의 설명
102: 운영 시스템 104: 모방된 제어기
106: 제어 시스템 로직 108: 툴박스
110: HMI 112: 공유 메모리 액세스
114: 시뮬레이션 소프트웨어/모델 116: 타이밍 및 제어 메카니즘
118: 데이터베이스 202: 블록
204: 블록 206: 블록
208: 블록 210: 블록
212: 블록 212: 블록
214: 블록 216: 블록
218: 블록 302: 제어기 시뮬레이터 DLL
304: 아스펜/HYSYS 306: 제어 시스템 에뮬레이터
308: 검증 툴 310: 시뮬레이션 실행부
312: 모델링 소프트웨어 402: 툴박스
406: vardef 408: SDI
410: P코드 확장기 412: 블록웨어 엔진
414: 라이브러리 416: EGD 서비스
418: 경보 스캐너 420: 데이터 수집
422: 스케쥴러 424: 시뮬레이션 GUI
502: 실행 사용자 인터페이스 504: 시뮬레이션 하위 메뉴
506: 비-실시간 하위 메뉴 508: 주시 윈도우 하위 메뉴
510: 도움말 하위 메뉴
Claims (10)
- 동적 피드백 제어 시스템 시뮬레이팅 방법에 있어서,공통 액세스를 경유하여 제어기의 제어 시스템 로직의 적어도 일부와 시뮬레이션 모델 사이의 공유 메모리로의 접속을 설정하는 단계와,상기 제어 시스템 로직 및 상기 시뮬레이션 모델과 연관된 복수의 상태 데이터를 검색하는 단계 - 상기 상태 데이터는 전회의 시뮬레이션과 연관됨 - 와,상기 제어 시스템 로직 및 상기 시뮬레이션 모델과 연관된 복수의 상태 데이터를 타이밍 및 제어 메카니즘과 동기화하는 단계와,상기 제어기의 시뮬레이션을 실행하는 단계를 포함하는동적 피드백 제어 시스템 시뮬레이팅 방법.
- 제 1 항에 있어서,상기 제어기의 시뮬레이션의 실행시에, 상기 시뮬레이션 모델 및 상기 제어 시스템 로직과 연관된 상태 데이터의 적어도 일부를 갱신하고, 상기 갱신된 상태 데이터를 데이터베이스 내에 저장하는 단계를 더 포함하는동적 피드백 제어 시스템 시뮬레이팅 방법.
- 제 1 항에 있어서,미래의 시뮬레이션 결과를 예측하도록 상기 상태 데이터의 적어도 일부에 회 귀 분석을 수행하기 위해 그래픽 사용자 인터페이스로부터 명령을 수락하는 단계를 더 포함하는동적 피드백 제어 시스템 시뮬레이팅 방법.
- 제 1 항에 있어서,상기 제어기의 시뮬레이션의 실행은 지정된 시작 단계로부터 지정된 종료 단계로 단계적으로 실행하고, 이어서 중단되어 다음 명령 또는 호출 프로그램을 대기하는 단계를 포함하는동적 피드백 제어 시스템 시뮬레이팅 방법.
- 시뮬레이션 동적 피드백 제어 시스템 준비 방법에 있어서,공통 액세스를 경유하여 제어기의 제어 시스템 로직의 적어도 일부와 시뮬레이션 소프트웨어 사이의 공유 메모리로의 접속을 설정하는 단계 - 상기 시뮬레이션 소프트웨어는 시뮬레이션 모델을 포함함 - 와,상기 제어 시스템 로직의 적어도 일부와 상기 시뮬레이션 소프트웨어 사이의 입력/출력(I/O) 구성 요소의 접속을 설정하도록 그래픽 사용자 인터페이스로부터 검색된 명령을 수락하는 단계와,상기 (I/O) 구성 요소 접속에서의 에러를 검출하는 단계와,상기 에러와 연관된 입력 및 출력 신호 명명 오정합을 식별하는 단계와,상기 입력 및 출력 신호 명명 오정합을 보정하는 단계를 포함하는시뮬레이션 동적 피드백 제어 시스템 준비 방법.
- 제 5 항에 있어서,상기 제어 시스템 로직의 적어도 일부 및 상기 시뮬레이션 모델과 연관된 복수의 상태 데이터를 검색하는 단계 - 상기 상태 데이터는 전회의 시뮬레이션과 연관됨 - 와,상기 시뮬레이션 모델 및 상기 제어 시스템 로직을 동기화하고, 시뮬레이션을 실행하는 단계를 더 포함하는시뮬레이션 동적 피드백 제어 시스템 준비 방법.
- 제 5 항에 있어서,상기 시뮬레이션과 연관된 상태 데이터를 조정하기 위해 그래픽 사용자 인터페이스로부터 명령을 수락하는 단계를 더 포함하는시뮬레이션 동적 피드백 제어 시스템 준비 방법.
- 제 5 항에 있어서,시뮬레이션의 실행에 앞서, 상기 시뮬레이션과 연관된 적어도 하나의 제어 시스템 설정을 조정하기 위해 그래픽 사용자 인터페이스로부터 명령을 수락하는 단계를 더 포함하는시뮬레이션 동적 피드백 제어 시스템 준비 방법.
- 동적 피드백 제어 시스템 시뮬레이팅 시스템에 있어서,공유 메모리와 통신하는 시뮬레이션 소프트웨어 - 상기 시뮬레이션 소프트웨어는 시뮬레이션 모델을 포함함 - 와,상기 공유 메모리와 통신하는 제어기와 연관된 제어 시스템 로직의 적어도 일부 - 상기 공유 메모리는 공통 액세스를 경유하여 상기 제어기의 제어 시스템 로직의 적어도 일부 및 상기 시뮬레이션 소프트웨어로의 접속을 설정함 - 와,상기 시뮬레이션 소프트웨어 및 상기 제어기와 통신하는 데이터베이스 - 상기 제어 시스템 로직 및 시뮬레이션 모델과 연관된 복수의 상태 데이터가 상기 데이터베이스에 저장됨 - 와,상기 제어기 및 상기 시뮬레이션 소프트웨어와 통신하는 타이밍 및 제어 메카니즘 - 상기 타이밍 및 제어 메카니즘은 상기 시뮬레이션 소프트웨어 및 상기 제어 시스템 로직의 적어도 일부를 동기화함 - 을 포함하는동적 피드백 제어 시스템 시뮬레이팅 시스템.
- 제 9 항에 있어서,상기 시뮬레이션을 구성하거나 또는 실행하는 사용자 명령을 수락하기 위해 상기 제어 시스템 로직의 적어도 일부와 통신하는 그래픽 사용자 인터페이스를 더 포함하는동적 피드백 제어 시스템 시뮬레이팅 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/621,836 US20080168092A1 (en) | 2007-01-10 | 2007-01-10 | Systems and methods for turbine control simulation |
US11/621,836 | 2007-01-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20080065936A true KR20080065936A (ko) | 2008-07-15 |
Family
ID=39227029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080002578A KR20080065936A (ko) | 2007-01-10 | 2008-01-09 | 동적 피드백 제어 시스템 시뮬레이팅 방법, 시뮬레이션동적 피드백 제어 시스템 준비 방법 및 동적 피드백 제어시스템 시뮬레이팅 시스템 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20080168092A1 (ko) |
EP (1) | EP1944663A1 (ko) |
JP (1) | JP2008170998A (ko) |
KR (1) | KR20080065936A (ko) |
CN (1) | CN101226564A (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101640451B1 (ko) * | 2015-04-26 | 2016-07-25 | 주식회사 셈웨어 | Gui 인터페이스를 가진 계산 프로그래밍 언어 기반 시뮬레이터 및 이를 이용한 시뮬레이터 실행 방법 |
KR20210112028A (ko) * | 2020-03-04 | 2021-09-14 | 경희대학교 산학협력단 | 원자력발전소 안전해석용 데이터 연계 시스템 및 그 동작 방법 |
KR20220050605A (ko) * | 2020-10-16 | 2022-04-25 | 경희대학교 산학협력단 | 동적이산사건수목의 분석 장치 및 그 방법 |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101188299A (zh) | 2006-11-23 | 2008-05-28 | 林益泉 | 粉末燃料电池 |
US8832579B2 (en) * | 2008-08-12 | 2014-09-09 | Rockwell Automation Technologies, Inc. | System for creation and management of industrial automation and information solutions and services |
WO2010048746A1 (en) * | 2008-10-31 | 2010-05-06 | Ebay Inc. | System and method to test executable instructions |
FR2950449A1 (fr) | 2009-09-23 | 2011-03-25 | Eurocopter France | Simulation en temps reel hautement representative d'un systeme avionique |
US8315718B2 (en) * | 2009-10-02 | 2012-11-20 | General Electric Company | Control systems and methods of providing the same |
US20120239374A1 (en) * | 2011-03-18 | 2012-09-20 | General Electric Company | System and method of simulating input/output modules in a control system |
US8885665B2 (en) * | 2011-05-31 | 2014-11-11 | General Electric Company | Systems and methods for foundation fieldbus alerts |
US8856302B2 (en) * | 2011-05-31 | 2014-10-07 | General Electric Company | Systems and methods for foundation fieldbus alerts |
US8730054B2 (en) | 2011-05-31 | 2014-05-20 | General Electric Company | Systems and methods to customize alert presentation |
DE102012012044A1 (de) * | 2012-06-19 | 2013-12-19 | Eads Deutschland Gmbh | Simulieren eines komplexen Systems |
US9400495B2 (en) | 2012-10-16 | 2016-07-26 | Rockwell Automation Technologies, Inc. | Industrial automation equipment and machine procedure simulation |
WO2014112990A1 (en) * | 2013-01-16 | 2014-07-24 | Siemens Aktiengesellschaft | Automated input simulation for simulated programmable logic controller |
DE102013205356B4 (de) * | 2013-03-26 | 2016-07-07 | Siemens Aktiengesellschaft | Verfahren zur rechnergestützten Steuerung und/oder Regelung eines technischen Systems |
EP2790101B1 (en) | 2013-04-10 | 2016-01-20 | ABB Technology AG | System and method for automated virtual commissioning of an industrial automation system |
US10228665B1 (en) * | 2013-05-24 | 2019-03-12 | National Technology & Engineering Solutions Of Sandia, Llc | Emulator for rotary energy sources |
US10755003B2 (en) * | 2013-11-08 | 2020-08-25 | Rockwell Automation Technologies, Inc. | Time synchronization of signal transmission intervals for simulating a machine in industrial automation |
US11972177B2 (en) * | 2013-11-08 | 2024-04-30 | Rockwell Automation Technologies, Inc. | Interface for data exchange between industrial controllers and simulation applications for simulating a machine |
CN103699016A (zh) * | 2013-12-20 | 2014-04-02 | 中广核核电运营有限公司 | 全范围模拟数字化控制***初始工况的生成方法 |
US9843617B2 (en) | 2014-03-26 | 2017-12-12 | Rockwell Automation Technologies, Inc. | Cloud manifest configuration management system |
US10208947B2 (en) | 2014-03-26 | 2019-02-19 | Rockwell Automation Technologies, Inc. | Cloud-level analytics for boiler networks |
US9614963B2 (en) | 2014-03-26 | 2017-04-04 | Rockwell Automation Technologies, Inc. | Cloud-based global alarm annunciation system for industrial systems |
US9838476B2 (en) | 2014-03-26 | 2017-12-05 | Rockwell Automation Technologies, Inc. | On-premise data collection and ingestion using industrial cloud agents |
US9866635B2 (en) | 2014-03-26 | 2018-01-09 | Rockwell Automation Technologies, Inc. | Unified data ingestion adapter for migration of industrial data to a cloud platform |
US9886012B2 (en) | 2014-03-26 | 2018-02-06 | Rockwell Automation Technologies, Inc. | Component factory for human-machine interface migration to a cloud platform |
US9825949B2 (en) | 2014-03-26 | 2017-11-21 | Rockwell Automation Technologies, Inc. | Device authentication to facilitate secure cloud management of industrial data |
US10095202B2 (en) * | 2014-03-26 | 2018-10-09 | Rockwell Automation Technologies, Inc. | Multiple controllers configuration management interface for system connectivity |
US9971317B2 (en) | 2014-03-26 | 2018-05-15 | Rockwell Automation Technologies, Inc. | Cloud-level industrial controller loop gain tuning based on industrial application type |
DE102014219711A1 (de) * | 2014-09-29 | 2016-03-31 | Siemens Aktiengesellschaft | Verfahren zur Kraftwerkssimulation |
DE102014219709A1 (de) * | 2014-09-29 | 2016-03-31 | Siemens Aktiengesellschaft | Verfahren zur Kraftwerkssimulation für Test- und Schulungszwecke mittels einer verteilten Simulationshardware |
US20160098038A1 (en) * | 2014-10-01 | 2016-04-07 | Rockwell Automation Technologies, Inc. | Sizing and selection closer to the executing environment |
US9845789B2 (en) | 2014-10-23 | 2017-12-19 | General Electric Company | System and method for monitoring and controlling wind turbines within a wind farm |
EP3121666A1 (en) * | 2015-07-23 | 2017-01-25 | Bombardier Transportation GmbH | Modular test platform |
JP6615551B2 (ja) * | 2015-09-24 | 2019-12-04 | 株式会社東芝 | シミュレーション装置とそのモジュール、シミュレーション方法及びプログラム |
CN106019984A (zh) * | 2016-05-25 | 2016-10-12 | 湖南优利泰克自动化***有限公司 | 一种风机半实物仿真装置、***及方法 |
US10902162B2 (en) * | 2016-08-30 | 2021-01-26 | Sas Institute Inc. | Comparison and selection of experiment designs |
US10764255B2 (en) | 2016-09-21 | 2020-09-01 | Rockwell Automation Technologies, Inc. | Secure command execution from a cloud monitoring system to a remote cloud agent |
US20180135456A1 (en) * | 2016-11-17 | 2018-05-17 | General Electric Company | Modeling to detect gas turbine anomalies |
CA2995518C (en) * | 2017-02-15 | 2020-12-22 | Cae Inc. | Visualizing sub-systems of a virtual simulated element in an interactive computer simulation system |
EP3379351B1 (de) * | 2017-03-22 | 2020-04-29 | Siemens Aktiengesellschaft | Verfahren zum betreiben einer automatisierungseinrichtung sowie automatisierungseinrichtung |
CN107016177A (zh) * | 2017-03-24 | 2017-08-04 | 南京理工大学 | 一种风力机模拟实验平台 |
US11327473B2 (en) | 2017-07-11 | 2022-05-10 | Rockwell Automation Technologies, Inc. | Dynamically reconfigurable data collection agent for fracking pump asset |
WO2019028358A1 (en) | 2017-08-03 | 2019-02-07 | Heila Technologies, Inc. | MANAGER OF ASSETS IN AN ELECTRICAL NETWORK |
US10482063B2 (en) | 2017-08-14 | 2019-11-19 | Rockwell Automation Technologies, Inc. | Modular control manifest generator for cloud automation |
US10416660B2 (en) | 2017-08-31 | 2019-09-17 | Rockwell Automation Technologies, Inc. | Discrete manufacturing hybrid cloud solution architecture |
JP7133915B2 (ja) * | 2017-09-29 | 2022-09-09 | 三菱重工マリタイムシステムズ株式会社 | 機関室模擬訓練システム、及び、機関室模擬訓練方法 |
CN107784168A (zh) * | 2017-10-11 | 2018-03-09 | 上海交通大学 | 核电站半速汽轮机***的全工况仿真*** |
US11364915B2 (en) * | 2017-12-07 | 2022-06-21 | Nissan Motor Co., Ltd. | Road condition determination method and road condition determination device |
EP3521949B1 (de) * | 2018-02-01 | 2021-01-13 | Siemens Aktiengesellschaft | Vorrichtung zum simulieren einer gesteuerten maschine oder anlage sowie verfahren |
CN108304678A (zh) * | 2018-03-06 | 2018-07-20 | 中国船舶重工集团公司第七0三研究所 | 基于仿真平台针对不同燃料组分计算燃气轮机性能的方法 |
WO2020102450A1 (en) | 2018-11-13 | 2020-05-22 | Heila Technologies, Inc. | Decentralized hardware-in-the loop scheme |
CN109559620B (zh) * | 2018-12-11 | 2021-05-14 | 中广核核电运营有限公司 | 一种模拟机外部***重建初始工况方法、终端及存储介质 |
US20200294413A1 (en) * | 2019-03-12 | 2020-09-17 | Chevron U.S.A. Inc. | Coupling a simulator and at least one other simulator |
JP7245742B2 (ja) * | 2019-07-25 | 2023-03-24 | 東芝三菱電機産業システム株式会社 | Scadaウェブhmiサーバ装置 |
IT201900016199A1 (it) * | 2019-09-12 | 2021-03-12 | Nuovo Pignone Tecnologie Srl | Metodo e sistema di test per test a ciclo di I/O per turbomacchine. |
CN111103864B (zh) * | 2019-12-19 | 2021-12-24 | 卡斯柯信号(北京)有限公司 | 一种适用于列控中心测试的方法及装置 |
CN112860242B (zh) * | 2021-03-02 | 2024-02-20 | 大连海事大学 | 一种轮机模拟器交互数据的自动映射方法 |
CN114690702B (zh) * | 2022-06-02 | 2022-08-23 | 辰星(天津)自动化设备有限公司 | 一种软plc和运动控制相结合的机器人控制*** |
CN115879915B (zh) * | 2023-02-21 | 2023-05-26 | 华能济南黄台发电有限公司 | 一种用于发电厂的跨平台标准化检修方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4512747A (en) * | 1982-01-13 | 1985-04-23 | Hitchens Max W | Material conveying system simulation and monitoring apparatus |
US5913184A (en) * | 1994-07-13 | 1999-06-15 | Siemens Aktiengesellschaft | Method and device for diagnosing and predicting the operational performance of a turbine plant |
US5826060A (en) * | 1996-04-04 | 1998-10-20 | Westinghouse Electric Corporation | Stimulated simulator for a distributed process control system |
US5752008A (en) * | 1996-05-28 | 1998-05-12 | Fisher-Rosemount Systems, Inc. | Real-time process control simulation method and apparatus |
GB0007063D0 (en) * | 2000-03-23 | 2000-05-10 | Simsci Limited | Mulitvariate statistical process monitors |
US20030093174A1 (en) * | 2002-06-12 | 2003-05-15 | Serge Nikulin | Fabrication process control system emulator |
JP2004133650A (ja) * | 2002-10-10 | 2004-04-30 | Mitsubishi Heavy Ind Ltd | 制御用ロジックのシミュレーション検証方法及びシミュレーション検証用パソコン |
-
2007
- 2007-01-10 US US11/621,836 patent/US20080168092A1/en not_active Abandoned
-
2008
- 2008-01-09 EP EP08100233A patent/EP1944663A1/en not_active Withdrawn
- 2008-01-09 JP JP2008001736A patent/JP2008170998A/ja not_active Withdrawn
- 2008-01-09 KR KR1020080002578A patent/KR20080065936A/ko not_active Application Discontinuation
- 2008-01-10 CN CNA2008100030497A patent/CN101226564A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101640451B1 (ko) * | 2015-04-26 | 2016-07-25 | 주식회사 셈웨어 | Gui 인터페이스를 가진 계산 프로그래밍 언어 기반 시뮬레이터 및 이를 이용한 시뮬레이터 실행 방법 |
KR20210112028A (ko) * | 2020-03-04 | 2021-09-14 | 경희대학교 산학협력단 | 원자력발전소 안전해석용 데이터 연계 시스템 및 그 동작 방법 |
KR20220050605A (ko) * | 2020-10-16 | 2022-04-25 | 경희대학교 산학협력단 | 동적이산사건수목의 분석 장치 및 그 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20080168092A1 (en) | 2008-07-10 |
EP1944663A1 (en) | 2008-07-16 |
JP2008170998A (ja) | 2008-07-24 |
CN101226564A (zh) | 2008-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20080065936A (ko) | 동적 피드백 제어 시스템 시뮬레이팅 방법, 시뮬레이션동적 피드백 제어 시스템 준비 방법 및 동적 피드백 제어시스템 시뮬레이팅 시스템 | |
EP3540532B1 (en) | Control system and control method | |
US20130263090A1 (en) | System and method for automated testing | |
US8930912B2 (en) | Method and system for performing software verification | |
US8788239B2 (en) | Methods, apparatus and articles of manufacture to test batch configurations | |
CN107135390A (zh) | 一种电视应用的自动化测试方法及*** | |
JP2009265668A (ja) | 工学プロジェクトの訓練シミュレータ | |
JP2006350549A (ja) | 統合シミュレーションシステム | |
CN109324601A (zh) | 基于硬件在环的机器人控制器或控制***的测试平台 | |
US20080046227A1 (en) | Emulator of a controller of an industrial plant, in particular of an electric energy generating plant | |
US20130185594A1 (en) | Automated testing of mechatronic systems | |
CN107562969A (zh) | 航空发动机控制***软件的集成方法和装置 | |
US20120239374A1 (en) | System and method of simulating input/output modules in a control system | |
CN109753430A (zh) | 一种地面数据处理***的接口测试方法 | |
CN107678958A (zh) | 一种用于综合参数显示***软件的测试方法 | |
CA3053003A1 (en) | Generalized virtualization platform for systems using hardware abstraction software layers | |
US9183118B2 (en) | Method for simulating a system on board an aircraft for testing an operating software program and device for implementing said method | |
US20160300000A1 (en) | System construction support apparatus | |
Leonard et al. | Model-based development of interactive multimedia system | |
US20090271168A1 (en) | Systems and Methods for Stimulating Engineering Projects | |
US20090132067A1 (en) | Design Device for Designing a Control System and Method for Examining the Technological Aims When Designing a Control System | |
CN106682249B (zh) | 模型无关的通用发布/订阅接口测试***及方法 | |
JP2009104490A (ja) | プログラムのテスト装置 | |
CN210650758U (zh) | 机器人示教器的测试*** | |
EP3734491A1 (en) | Method, apparatus, device, and medium for implementing simulator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |