1. 예제 실행bcvtb 예제 (eplus81-schedule) 를 한번 실행해 보겠습니다. 아래는 bcvtb 실행화면입니다. - SDF는 기본값입니다. - TimeStep은 시뮬레이션 시간간격을 의미하는 것으로 써, co-simulation으로 동작하는 모든 프로그램이 해당값으로 셋팅되어 있어야 합니다. - beginTime 시작 시간으로 기본값 0입니다. - endTime 종료 시간으로 1시간간격 (60분*60초) 으로 4일 시뮬레이션합니다 (=4*24*3600). - Plotter, HistogramPlotter: 상태변수를 실시간으로 플로팅합니다. - CurrentTime : 시뮬레이션 시작과 동시에 시간이 흐릅니다. trigger 입력을 받습니다. - TsetPoi : 프톨레미 오브젝트를 이용해 만든, 제어 알고리즘입니다. 매트램 함수라고 생각하시면됩니다. 더블클릭하면 해당 함수내용에 대한 창이 뜹니다. 다들 아시겠지만, 랩뷰, 시뮬링크 프로그래밍 방법과 거의 동일합니다. - EnergyPlus : eplus 프로그램을 co-simulation 하기 위한 셋팅값을 입력합니다. 여기서, EnergyPlus 오프젝트의 파라메터를 살펴봅시다. - programName에서 RunEPlus.bat 은 C:\EnergyPlusV8-x-0\ 에 있는 파일을 의미합니다. - programArguments는 bat 파일실행 시 입력값을 의미합니다. idf 파일명과, 기상파일명을 argument로 받습니다. 이때 기상파일은 C:\EnergyPlusV8-x-0\WeatherData 폴더를 참조합니다. 파일 실행이되지 않는 경우, 이전 글(설치)를 참고하시기 바랍니다. 2. ePlus81-schedule 예제 구성bcvtb를 실행하기에 앞서 energyplus ems(energy management system)을 숙지하고 있어야, bcvtb를 구동하기 위한 idf 파일의 셋팅을 이해할 수 있습니다. 왜냐면 사실 bcvtb의 작동원리는, ems의 기능의 확장판에 불과하기 때문입니다. ems는 에너지플러스 5.0에서 처음 추가된 기능인데, LBNL의 마이클웨터 박사가, 프로그램 버그를 발견하고(?) 매 시간간격마다 변수를 바꿔치기 할수 있다는 점에서 시작되었습니다(라고 주워들었습니다) 개략적인 ems의 기능은 (즉 bcvtb의 기능은) 다음과 같습니다. - Eplus에서 자신이 원하는 기능을 지원하지 않는 경우, EnergyPlus Runtime Language 를 이용하여 프로그램 내부에서 구현 - 고유 제어 알고리즘 디자인을 위해 EnergyPlus Runtime Language (ERL)을 사용함 - 커스터마이징된 제어 및 해석 모델 구현 - 초급 유저가 사용하기엔 다소 어려움 - 가장 상위 레벨의 제어 가능 (강제 구동 및 종료) 다시 예제로 돌아오면, - ems programcalling manager : 외부로부터 받아온 변수를, eplus 내부에서 어떻게 연산 할지 세팅합니다. calling point는 아래와 같이 하는게 일반적입니다 (매 타임스텝 종료후 받아 온 변수를 반영). program name 1은 idf의 program 오브젝트명이며, program 오브젝트는 코딩창(?)이라고 생각하면됩니다. 예를 들면 MATLAB 의 xxxx.m 스크립트라고 생각하면됩니다. program 오브젝트에서 내부 변수들에 대한 다양한 사칙연산을 수행합니다. - ems program : energyplus ems 매뉴얼에서 정의된 방식으로 변수를 결정합니다. Set 명령어로 변수를 선언합니다. 새롭게 선언된 변수는 Shade_Status_None 이며, 반드시 idf의 GlobalVariable 오브젝트에 지정해줘야합니다. 자 이제 이러한 내부 변수들이 프톨레미로부터도 받아올수 있도록 external interface 프톨레미 서버를 입력합니다. - external schedule : bctvb를 통해 받아오는 값입니다. Eplus의 schedule 오브젝트로 인식됩니다. 따라서 eplus의 각종 schedule 값으로 활용가능합니다. schedule constant 로 이용하여 대부분의 시스템을 (스케쥴) 제어할 수 있습니다. 마지막으로, eplus에서 bcvtb로, 또는 bcvtb에서 ePlus로 교환되는 변수는 variables.cfg에서 선언해야합니다. 선언된 변수 순서대로 서로 교환하게 됩니다. 그럼 다음 글에서는 변수 교환에 대해 다루어 보겠습니다. |
Simulationist어쩌다 보니 빌딩 시뮬레이션을 전공한 사람입니다. 글들
March 2018
|