1. 서 론
마이크로그리드(microgrid)란 대형 발전소와 연계된 광역적 전력시스템으로부터 독립되어, 분산전원을 중심으로 신재생에너지를 이용한 국소적인 전력공급 시스템을 말한다[1]. 마이크로그리드는 대형 발전소와 연계된 계통연계형 마이크로그리드와, 대형 발전소와 연계하지 않고 주로 도서지역에 적용되는 독립형 마이크로그리드로 구분된다[2]. 최근에는 국내 도서지역들에 독립형 마이크로그리드 구축을 위한 신재생 발전 설비의 보급이 활발하게 진행되고 있다[3,4].
신재생 에너지는 주로 태양광 발전, 풍력 발전에 의해 생성되므로 설치 지역의 자연 환경에 큰 영향을 받는다. 따라서 안정적인 전기 공급을 위해서는 자연환경으로 인한 전력 품질저하를 최소화하며, 발전원의 안정적인 출력을 보장해야 한다. 그리고 잉여전력을 ESS(Energy Storage System)에 충전하여 예비전력을 준비해 둘 수 있어야 한다[5]. 실제로 ESS 충/방전 등의 운영 수행을 위해 대부분의 사이트에서 EMS(Energy Management System)를 구축하여 이용하고 있다[6]. 또한, EMS를 이용한 마이크로그리드 자동 발전 제어 시스템에 대한 연구 결과도 다양하게 나오고 있다[7,8].
ESS 충/방전 운영 방법은 사이트의 특징과 신재생 발전 용량, ESS 충전 가능 용량에 따라 다르게 구성된다. 운영 사이트의 다양성에 의해 각 사이트에 적용된 EMS들은 해당 사이트에 최적화된 형태로 개발 및 운영되고 있다. 그 예로서, H공사에서 진행한 전남 진도군 가사도의 에너지 자립섬 구축 사업과, I시에서 추진한 옹진군 덕적도의 에코아일랜드 사업등에 독립형 마이크로그리드 EMS가 구축되어 사용되고 있다. 특히 H공사는 기 구축된 가사도 에너지 자립섬을 바탕으로 국내 120여개 섬 지역에 ‘녹색 에너지자립섬’ 구축을 확대해, 기존 디젤발전기 사용을 최소화하고자 한다. 이로써 연간 약 160억 원의 전력공급 비용을 줄이고 이산화탄소 배출량을 획기적으로 절감할 계획이다[9].
이러한 독립형 마이크로그리드 EMS의 구축 사례들을 보면, 각 사이트의 운영 로직이 EMS 개발사에 의해 EMS를 구축하는 시점에 구현되고, 해당 코드는 EMS에 포함하여 배포된다. 만약, 독립형 마이크로그리드 운영 사이트의 발전 설비 증설, 전력 토폴로지 변경 등의 운영 로직을 수정해야 할 상황이 발생한다면, EMS 개발사는 수정된 EMS를 해당 사이트에 다시 배포해야 하는 문제점이 있다. 또한, 원격 업데이트가 불가한 도서지역의 경우에는 수정 및 배포를 위해 해당 도서지역까지 직접 방문해야 하기 때문에 처리 비용과 업데이트 기간이 비교적 많이 소요된다. 이러한 상황에서, 만일 독립형 마이크로그리드의 현장 관리자가 직접 운영 로직을 결정하여 적용할 수 있다면, EMS 개발사의 프로그램 재배포 없이 바로 수정하여 적용이 가능할 것이다. 또한 비교적 유연한 운영 관리가 가능하게 될 것이다. 여기서, 운영 로직 편집 방법으로서 스크립트를 이용할 수 있다. 스크립트는 논리적 흐름, 객체의 동작 제어 및 상호작용 등을 손쉽게 관리할 수 있게 한다[10].
따라서 본 논문에서는 여러 가지 다양한 운영 환경 변화에 대해 사이트 관리자가 직접 운영 로직을 유연하게 결정할 수 있도록 스크립트 기반의 EMS Framework를 설계하고 구현하였다. 그리고 EMS Framework를 응용프로그램 패키지의 형태로 구성하여, 실제로 신재생 발전 도서지역 세 곳의 운영 사이트에 배포하여 적용해 보았으며, 현재까지 실시간 운영을 진행하고 있다. 본 논문은 유연한 운영 로직관리 방법에 대한 제안이므로, 기존 연구와의 직접적인 비교와 정량적인 성과지표를 정의하기는 어렵다. 그러므로 본 연구의 결과로서 각 사이트의 운영 로직 적용 결과와 유지보수 소요 공수 및 사이트 방문 횟수 감소 결과 등을 중심으로 서술하였다.
본 논문의 구성은 다음과 같다. 2장에서 EMS Framework의 설계에 대한 개요 및 구성을 기술하고, 3장에서 EMS Framework의 구현 방법과 사용 예시, 결과 화면 등을 설명한다. 그리고 4장에서는 본 시스템을 세 개의 각각 다른 전력 토폴로지로 구성된 운영 사이트에 적용한 결과를 서술하고 5장에서 결론을 맺는다.
2. EMS Framework 설계
EMS의 의미가 과거에는 단순히 에너지 사용량과 발전량 등을 계측하고 실시간으로 모니터링하는 것이었다. 그러나 요즘에는 ICT 기술을 활용하여 상업용 빌딩, 사업장(공장), 주택, 사회 인프라(전력망, 교통망 등) 등을 대상으로 에너지 흐름과 사용의 시각화 및 최적화를 위한 통합 에너지관리 솔루션을 의미하게 되었다. 따라서 최근에는 EMS의 기능들이 고도화되어 모니터링 및 제어 기능뿐만 아니라, 수요 예측 기능, ESS 충/방전 스케줄링 기능, 에너지 분석기능, 타 시스템 간의 연동 기능 등도 제공되고 있다[11].
독립형 마이크로그리드 EMS도 기본적으로 앞의 기능들을 제공해야 할 것이다. 그리고 본 논문의 EMS Framework에서는 다양한 운영 환경에 대해 각각 다른 운영 로직을 수행할 수 있도록 사이트 관리자가 직접 로직을 결정할 수 있는 방법을 제공해야 한다. 따라서 본 논문에서는 Fig. 1과 같이 기본적인 독립형 마이크로드리드 EMS의 기능을 정의하고, 사이트 관리자 정의 운영 스크립트 수행을 위한 Operation Script Agent 기능을 추가하여 설계하였다. Operation Script Agent가 수행할 운영 스크립트는 사이트 관리자가 관리용 단말 PC에서 작성하여 인터넷을 통해 EMS 서버로 전송하여 저장할 수 있다.
Fig. 1.Configuration of the script-based EMS including Operating Operation Script Agent.
본 논문에서 Operation Script Agent 기능을 추가하기 위해, EMS Framework를 Fig. 2와 같이 재구성하였다. EMS Framework은 크게 SCADA Framework, Service Framework, Database Framework, Client Framework로 구분되어있다. 그리고 본 연구를 위해 Service Framework에 Operation Script Perform Service를 추가하였으며, Client Framework에 Operation Script Management 기능을 추가하였다.
Fig. 2.EMS Framework block diagram.
독립형 마이크로그리드 사이트 관리자는 본 논문의 EMS Framework의 Client Framework에서 제공하는 Operation Script Management 페이지에서 운영 스크립트를 작성할 수 있다. 작성된 운영 스크립트는 작성 시점의 타임스탬프를 포함하여 시스템 데이터베이스에 저장된다. Service Framework의 Operation Script Perform Service는 새 운영 스크립트가 저장된 타임스탬프와 현재 수행중인 운영 스크립트의 타임스탬프를 비교하여 운영 스크립트가 사이트 관리자에 의해 갱신되었는지 판단한 후, 기존의 스크립트는 메모리에서 해제하고, 최신 스크립트를 다시 컴파일하여 반복 수행한다. Fig. 3은 Operation Script Perform Service의 동작 순서를 나타낸다.
Fig. 3.Flowchart of Operation Script Perform
3. EMS Framework 구현
본 연구에서 설계된 EMS Framework 구현을 위해 스크립트 언어로 C#을 사용하였다. C#은 현재 Microsoft .NET Framework에서 주로 사용되고 있으며, Unity 3D 등의 게임 로직 스크립트 작성에서 사용되고 있다[12]. Unity 3D의 경우에 저 수준 언어를 통해 접할 수 있는 3D 그래픽 처리, 사운드, 물리 엔진, AI 등은 Unity 3D 엔진 내부에서 처리해 주고, 게임 개발자는 C#을 이용해 게임 로직 및 리소스 관리에 대한 부분만 개발할 수 있다. 본 논문에서도 Unity 3D와 같이 C#을 이용해 독립형 마이크로그리드 운영 로직을 작성하고, 하위 설비들에 대한 상태 감시와 지령 등의 처리는 EMS Framework가 내부적으로 처리하도록 구현하였다.
Microsoft .NET Framework의 C#은 버전 4.0부터 상호 운영성에 대한 부분이 많이 강조되어 dynamic 타입을 지원한다. dynamic 타입은 대부분의 자료형 및 타입을 선언할 수 있으며, dynamic 변수에 할당된 값의 실제 타입을 컴파일 시점이 아닌 런타임 시점에 확정한다[13]. 또한 dynamic 변수를 이용하게 되면 동적인 속성과 메서드를 구현할 수 있으므로 다양한 설비의 상태 데이터에 프로그래밍 언어를 통해 접근하는 과정을 간결하게 처리할 수 있는 장점이 있다. 본 논문에서는 C# 기반 운영 스크립트에서 ‘Current’ 라는 현재 설비들의 상태 값을 불러올 수 있는 dynamic 객체를 미리 선언하여 제공하고 있다. 그 사용 예시는 Fig. 4에 나타난다.
Fig. 4.Read values from equipments by Current object.
Current 객체를 이용하여 설비들의 현재 상태 값을 읽을 수도 있지만 반대로 설비에 특정 값을 지령하여 동작을 제어할 수도 있다. 그 사용 예시는 Fig. 5에 나타난다.
Fig. 5.Write values to equipments by Current object.
Current 객체를 이용한 설비 데이터 읽기 및 쓰기는 설비 통신 모듈에서 실제 설비에 해당 값을 전송하는 기능이 미리 구현되어 있어야 한다. 그러므로 설비 통신 모듈을 구현할 때는 본 논문에서 정의한 ScadaModule 클래스를 상속받아 구현하도록 하였다. ScadaModule 클래스는 다음의 Table 1과 같은 메서드들을 virtual로 정의하였고, Fig. 6은 실증 사이트에 적용된 ScadaModule 파생 클래스들에 대한 클래스 다이어그램을 나타낸다.
Table 1.List of virtual methods in ScadaModule class
Fig. 6.Class Diagram of ScadaModule and Communication class.
Current 객체를 이용하여 특정 설비의 속성을 읽게 되면 ScadaModule 클래스의 GetValue가 호출되어 해당 값을 반환하게 되며, 특정 설비의 속성에 값을 입력하면 SetValue가 호출되어 실제 설비에 입력된 값을 전송하게 된다. 즉, 사이트 관리자는 운영스크립트를 작성할 때 GetValue와 SetValue 등의 메서드를 직접 호출하는 것이 아니라 Current라는 dynamic객체를 이용하여 간결하게 운영 스크립트를 작성할 수 있다. Current 객체 호출에 대한 ScadaModule 클래스 메서드 구현에 대한 예시는 Fig. 7과 같다.
Fig. 7.Implementation of ScadaModule class.
본 논문에서 설계한 EMS에서는 Current 객체 이외에 ‘Debug’라는 계산 값 디버깅 용도로 사용할 수 있는 dynamic 객체를 지원한다. ‘Debug.데이터명 = 값;’ 형식으로 운영 스크립트에서 계산된 값을 기록하여 실시간으로 기록된 디버깅 데이터를 EMS 화면에서 조회하여 분석해 볼 수 있도록 구성하였다. Fig. 8, 9는 각각 운영 스크립트 작성 화면과 디버깅 데이터 조회 화면을 나타낸다. 사이트 운영자는 스크립트 작성 화면을 이용하여 다양한 사이트 환경 대한 운영로직 변경을 직접 적용할 수 있다.
Fig. 8.Screen-shot of operation script editor.
Fig. 9.Screen-shot of operation script debugging data viewer.
4. 운영 사이트 적용
본 논문에서 구현된 스크립트 기반 EMS Framework를 자체적으로 전기를 수급해야 하는 몇몇 도서지역에 실제로 적용하였다. 예로서 전남 해남군의 S섬, I시 옹진군의 B섬, 전남 진도군의 H섬 등의 사이트에 운영 중이다. 각 도서지역은 설치된 신재생 발전 설비와 ESS의 용량이 다르고, 전력 토폴로지가 각각 다르게 구성되어 있다. 따라서, 제안한 스크립트 기반 EMS Framework를 이용하여, 설비 정의, 설비 상태 속성 정의, 운영스크립트 정의 등을 도서지역마다 다르게 편집하여 적용 가능하였으며 현재까지 계속 운영 중이다. 각 도서지역의 전력 토폴로지 특성 및 설비 사양은 Table 2와 같은 차이를 보이고 있다.
Table 2.System specifications of microgrid sites
세 곳의 운영 사이트의 공통적인 특성은 다음과 같다. 모두 태양광 및 풍력 기반 신재생 발전기를 사용하고 있으며, 신재생 발전 전력을 저장하기 위한 ESS로써 배터리를 사용하고 있다. 그리고 신재생 발전기들이 모두 DC BUS에 연결되어 있고, DC BUS는 인버터를 통해 전력 부하에 연결되어 전력을 공급한다. 마지막으로 DC/DC 컨버터는 DC BUS와 배터리를 연결하여 충/방전을 수행한다. 이러한 공통적인 특성이 있지만 운영 방법은 다음과 같은 차이를 보이고 있다.
S섬의 경우는 메인 전력 소스로서 디젤 발전기가 사용되고 있다. S섬의 전력 부하에 기본적으로 항상 디젤 발전기로 전력을 공급하면서 신재생 발전기 및 배터리를 보조 전력으로 공급하고 있다. 이 경우에는 DC/DC 컨버터는 배터리의 충전과 방전을 모두 수행하고, 인버터는 S섬에 전력을 공급하는 용도로만 사용된다. 주의해야 할 사항은 인버터의 출력량이 S섬의 부하보다 크게 공급되지 않도록 해야 한다. 디젤발전기에 역전력이 발생할 수 있기 때문이다. 따라서 실시간으로 부하를 감시하여 인버터의 출력량을 조절해야 한다. Fig. 10은 S섬의 시스템 개요 화면을 나타낸다.
Fig. 10.System overview of S Island.
B섬의 경우는 S섬과 달리 신재생 발전기와 배터리가 메인 전력 소스로 사용되고 있으며, B섬의 전력 부하에는 인버터만 연결되어 있다. 디젤 발전기는 부하에 직접 연결되지 않고 Battery Charger를 통해 배터리에만 연결된다. 즉, 디젤 발전기는 배터리 충전에만 사용되고 있다. 시스템 운영 시 평상시에는 신재생 발전기와 배터리가 부하에 전력을 공급한다. 만약, 신재생 발전량이 없으면서 배터리 잔량이 적을 경우에 자동으로 디젤 발전기를 가동하여 배터리로 전력을 공급하도록 한다. 배터리 잔량이 일정치를 넘게 되면 다시 디젤 발전기를 정지하여 배터리 충전을 중단한다. Fig. 11은 B섬의 시스템 개요 화면을 나타낸다.
Fig. 11.System overview of B Island.
H섬의 경우는 메인 전력 소스가 인버터가 될 수도 있고 디젤 발전기가 될 수도 있는 하이브리드 구조로 구성되어 있다. 따라서 인버터와 디젤 발전기의 무정전 절체가 가장 중요한 운영 요소가 된다. 시스템 운영 시 평상시에는 인버터를 통해 신재생 발전 및 배터리 전력을 부하에 공급한다. 만약, 신재생 발전량이 없으면서 배터리 잔량이 적을 경우에 디젤 발전기를 메인 전력 소스로 절체 한다. 그와 동시에 인버터의 전력 지령을 반대 방향(마이너스 값)으로 지령하여 디젤 발전 전력을 배터리에 공급하도록 한다. 즉, 디젤 발전기가 부하에 전력을 공급함과 동시에 배터리까지 충전하게 되는 것이다. Fig. 12는 H섬의 시스템 개요 화면을 나타낸다.
Fig. 12.System overview of H Island,
각 운영 사이트의 독립형 마이크로그리드 시스템은 S섬, B섬, H섬 순으로 구축되었다. 세 곳의 섬에 같은 EMS Framework를 설치한 상태에서 각각 다른 운영 스크립트를 적용하였다. 그리고 운영 스크립트 작성 방법을 독립형 마이크로그리드 사업 주관사에 전달하였다. 즉, 시스템을 주관사 스스로 유지보수하고 테스트하면서 세부적인 운영 방법을 커스터마이징 할 수 있도록 하였다.
Table 3은 각 사이트별 유지보수 소요 공수(manday단위: 투입인력 × 작업일 수) 및 사이트 방문 횟수를 나타낸다. 세 곳의 섬의 독립형 마이크로그리드 시스템 구축 주관사는 동일하다. 각 사이트에 EMS 시스템을 구축할 때마다 유지보수 공수와 방문 횟수가 줄어든 것은 EMS Framework가 스크립트 기반의 운영 로직 편집 기능을 제공하기 때문이다. 그 결과 주관사는 각 섬의 다양한 환경을 빠르게 적용하여 구축할 수 있었다.
Table 3.Maintenance durations and visits
5. 결 론
본 논문에서는 다양한 도서지역 독립형 마이크로그리드 운영 사이트의 서로 다른 운영 로직의 유연한 관리를 위해 관리자가 직접 운영 스크립트 작성이 가능한 EMS Framework를 제안, 설계하고 구현하였다. 세 곳의 사이트에 대한 운영 스크립트 작성을 S섬, B섬, H섬 순으로 순차적으로 진행하였으며, 결과적으로 독립형 마이크로그리드 사업 주관사의 운영 스크립트 편집 숙련도가 향상되었다. 그로 인해 다음 사이트의 EMS를 구축할 때마다 유지보수 소요 공수와 사이트 방문 횟수가 점차적으로 감소하게 되어 유지보수 비용 절감 효과를 얻게 되었다. 그리고 현재 각 사이트별로 적용된 운영 스크립트가 24시간 실시간으로 자동 운영되고 있다.
본 논문에서 구현된 운영 스크립트 작성 기능은 C# 언어 기반으로 되어 있어, 사이트 관리자가 C# 언어의 기초를 알고 있어야만 작성 가능하다. 실제 운영 사이트의 관리자들은 대부분 C# 언어를 모르는 상태에서 EMS를 접하고 있다. 따라서 차후에는 독립형 마이크로그리드의 운영 로직을 비교적 쉽게 관리하기 위해서 그래픽 기반 편집을 가능하게 하여 자동으로 C# 기반 운영 스크립트를 생성하여 수행되게 할 계획이다. 또한 현재는 시스템 개요 화면 등의 전력 토폴로지 및 상태 현시를 C#과 XAML(Extensible Application Markup Language)로 구성된 WPF (Windows Presentation Foundation) DLL로 작성하여 원격으로 업데이트하고 있다. 차후에는 이러한 상태 현시 화면에 대한 편집도 XML 등의 마크업 언어 및 디자인 편집기를 이용해 사이트 관리자가 직접 수정할 수 있도록 구현할 계획이다.
References
- A. Singh and B.S. Surjan, “Microgrid: A Review,” International Journal of Research in Engineering and Technology, Vol. 3, Issue 3, pp. 185-198, 2014.
- P. Bauer, L.E. Weldemariam, and E. Raijen, “Stand-alone Microgrids,” Proceeding of IEEE Telecommunications Energy Conference, pp. 1-10, 2011.
- E. Kim, “The Policy Study on the Power Grid Operation Strategy of New and Renewable Energy Combined Generation System,” Proceeding of the Spring Conference of the Korean Society for New and Renewable Energy, pp. 109, 2011.
- J. So, Improvement of Regional Renewable Energy Support Policy Research, Korea Energy Economics Institute, Annual Basic Research Report 11-07, 2011.
- L. Freris and D. Infield, Renewable Energy in Power Systems 1st Edition, Wiley, New York, 2005.
- K. Park, A Study on Network Architecture and Energy Management Scheme for EMS of Smart Grid, Doctor's Thesis of Soongsil University, 2012.
- J. Park, H. Lee, W. Chae, J. Kim, and J. Cho, “Automatic Generation Control System forOperation Mode in Microgrid,” The Transactions of the Korean Institute of Electrical Engineers, Vol. 61, No. 7, pp. 928-936, 2012. https://doi.org/10.5370/KIEE.2012.61.7.928
- G. Kim, Implementation and Verification of Micro-EMS Operation Algorithm for EES, Doctor's Thesis of The University of Seoul, 2015.
- S. Kim, “Operating Practices and the Application of Microgrid Technologies,” Journal of the Electric World, Monthly Magazine, sno.455, Special Issues _ 4, pp. 37-44, 2014.
- S. Ji, J. Lee, S. Kim, K. Woo and S. Baik, “Development of Intuitive Author for 3D Game/Animation Contents,” Journal of Korea Multimedia Society, Vol. 13, No. 5, pp. 780-791, 2010.
- S. Lee, Energy Management System (EMS) Industry Development Plan, Korea Energy Economics Institute, Annual Basic Research Report 13-18, 2013.
- S. Jung and J. Kim, “One-man Mobile Casual Game Production using Unity 3D,” Journal of Digital Contents Society, Vol. 15 No. 4, pp. 501-512, 2014. https://doi.org/10.9728/dcs.2014.15.4.501
- Microsoft, C# Programming Guide of MSDN Library, https://msdn.microsoft.com/en-us/library/67ef8sbd(v=vs.120).aspx (accessed April., 30, 2015).
Cited by
- High Efficiency 5A Synchronous DC-DC Buck Converter vol.19, pp.2, 2016, https://doi.org/10.9717/kmms.2016.19.2.352
- Implementation of an Adaptive EMS System Based on Solar Power Generation and Power Demand Pattern vol.17, pp.1, 2019, https://doi.org/10.14801/jkiit.2019.17.1.53
- 고정밀 전력미터의 개발과 신뢰성 확보 방안에 대한 연구 vol.20, pp.7, 2015, https://doi.org/10.9717/kmms.2017.20.7.1046