• 대한전기학회
Mobile QR Code QR CODE : The Transactions of the Korean Institute of Electrical Engineers
  • COPE
  • kcse
  • 한국과학기술단체총연합회
  • 한국학술지인용색인
  • Scopus
  • crossref
  • orcid

  1. (Dept. of Electrical and Electronic Engineering, Pohang University of Science and Technology, Republic of Korea.)



Software-in-the Loop Simulation, Microgrid, Supervisory Control And Data Acquisition

1. 서 론

마이크로그리드는 소규모의 계통으로, 에너지 관리 시스템(Energy Management System, EMS), 부하(Load), 그리고 발전기 및 에너지 저장 장치(Energy Storage System, ESS)와 같은 조정 가능한 에너지원(Dispatchable Energy Sources)로 구성된다. 주 계통과 연결된 상태에서는 전일 스케줄링(Day-Ahead Scheduling)을 통해 운영 비용을 최소화하고 최적의 에너지 분배를 실현할 수 있다. 마이크로그리드의 운영 효과를 극대화하기 위해서는 생성하는 제어 입력의 적절성을 사전에 검증하고, 시스템 내의 다양한 분산전원 간 상호작용을 면밀히 분석하는 과정이 필수적이다[1].

이러한 요구를 충족하기 위해 Software-in-the-Loop Simulation(SILS) 기반의 테스트베드가 핵심적인 역할을 수행할 수 있다. SILS는 소프트웨어 기반의 가상 제어기와 가상 모델로 구성되며, 가상 모델은 가상 제어기로부터 받은 제어 명령에 따라 물리적 시스템의 동작을 높은 정밀도와 실시간성을 갖춘 환경에서 시뮬레이션한다[2]. 이를 통해 SILS 환경의 가상 모델은 실제 시스템 하드웨어를 모사할 수 있는 안전한 환경을 제공하며, 실제 하드웨어가 필요하지 않으므로 구축 및 운영 비용이 저렴하다는 이점을 지닌다. 일반적으로 단일 시뮬레이션은 사전 정의된 모델과 조건에서 수행되는 반면, SILS는 Python 스크립트와 같은 인터페이스를 활용하여 외부 소프트웨어와 가상 환경 간 실시간 데이터 교환이 가능하다는 점에서 차별성을 갖는다[3]. 이를 통해 실시간으로 비효율적인 제어 전략을 사전에 수정하여 운영 효율성을 극대화할 수 있다.

SILS는 전력 시스템 제어 알고리즘의 성능 평가와 동적 거동 분석에 효과적인 사전 검증 수단으로 입증되었으며, 이와 관련된 연구가 활발하게 진행되고 있다. 사전 연구 [4][5]는 SILS와 HILS(Hardware-in-the-Loop Simulation)을 결합한 방법을 통해 각각 동기 콘덴서의 매개변수 최적화, Volt/Var 제어를 제안하였다. 이들 연구에서는 SILS가 RTDS(Real Time Digital Simulator)로부터 실시간 측정 데이터를 입력받아 제어 명령을 계산하고, 이를 다시 RTDS로 전달함으로써 시스템의 동적 응답을 검증하는 폐루프(closed-loop) 구조를 구현하였다. 이러한 선행 연구는 HILS-SILS 기반의 시뮬레이션 환경에 한정되어 있다. 사전 연구[6]은 MATLAB/Simulink를 이용하여 SILS 환경을 구현하고 이를 실시간 플랫폼과 연동하여 인버터 및 모터의 성능을 검증하였으나, 특정 제어 요소에 국한되어 있다는 한계가 존재한다. [1]은 상용 EMS 프로그램을 활용하여 최적화 알고리즘의 검증 수단으로 SILS를 구현하였으나, 세부적인 SILS 프레임워크 구조를 제안하지 않았으며 실시간 운영 연계를 지원하지 않은 한계가 있다. [7]은 Python 인터페이스를 통해 MATLAB/PowerFactory 기반 SILS 프레임워크를 제안하였으나, 외부환경과의 연계없이 시뮬레이션 환경만을 제안하였다.

본 연구에서는 기존 연구의 한계를 보완하기 위해 Python-MATLAB/Simulink 기반의 유연하고 확장 가능한 SILS 프레임워크를 제안한다. 제안된 프레임워크는 외부 환경과의 연계를 통해 마이크로그리드의 제어 및 운영 전략을 사전에 검증 가능하다. 또한, 태양광 발전량 예측 알고리즘과 최적 운영 알고리즘이 적용된 비용 효율적인 IEEE 13-bus 기반 마이크로그리드 운영 테스트베드를 설계하였으며, 주요 운영 시나리오를 제시하고 분석함으로써 제안된 SILS 프레임워크의 확장 가능성과 실효성을 검증하였다.

2. SILS(Software-in-the-Loop Simulation) Framework

그림 1은 제안한 SILS 기반 프레임워크의 전체적인 구조를 나타낸다. 본 프레임워크는 크게 실제 마이크로그리드 계통, Data Processing Hub, SCADA(Supervisory Control And Data Acquisition), SILS 서버로 구성되며, 각 요소가 연계되어 시뮬레이션 및 실시간 운영을 지원한다.

그림 1. SILS 프레임워크

Fig. 1. SILS Framework

../../Resources/kiee/KIEE.2025.74.5.809/fig1.png

2.1 Data Processing Hub

Data Processing Hub는 마이크로그리드 현장에서 수집된 원시 데이터(Raw Data)를 데이터베이스에 저장할 수 있는 형태로 변경하며, 데이터 오류를 검출 및 보정하여 저장하는 역할을 수행한다. 여기서, 수집된 데이터는 분산 자원의 운영 정보, 계통 정보 등을 포함한다. 마이크로그리드 현장과 Data Processing Hub 간 데이터 교환에는 Open Platform Communication-Unified Architecture 프로토콜이 사용되며, 이는 높은 호환성과 보안성을 제공한다. 최종적으로 수집된 데이터는 데이터베이스에 저장되며, 또한, 태양광 발전량 예측 및 최적 운영 알고리즘의 결과와 SILS 결과가 함께 저장된다.

2.2 SCADA

SCADA는 데이터베이스에 저장된 마이크로그리드 운영 데이터 및 SILS 결과를 호출하여 모니터링하고, 현장의 마이크로그리드 구성 요소에 제어 신호를 전달하는 사용자 인터페이스 역할을 수행한다. 생성된 제어 신호는 현장 장비의 Programmable Logic Controller로 전달되어 로컬 제어를 수행한다. 이때, 계통의 안정성과 최적화된 운영을 보장하기 위해 생성한 제어 신호의 적합성을 사전에 검증하는 것이 중요하다. 본 연구에서는 이를 위한 검증 도구로써 SILS 프레임워크를 제안한다.

2.3 SILS 서버

SILS 환경에서의 시뮬레이션 설정은 API(Application Programming Interface)를 활용한 HTTP(Hypertext Transfer Protocol) 요청 방식으로 SCADA와 연동하여 구성된다. API는 SCADA와 SILS 환경 간의 데이터 교환을 위한 표준화된 인터페이스이며, HTTP 기반의 요청 방식은 SILS와 SCADA 간의 통신이 특정 네트워크 인프라에 종속되지 않도록 보장한다. HTTP는 요청-응답 방식의 데이터 교환을 지원하는 기본 프로토콜로 활용되며, SCADA는 HTTP 요청을 통해 SILS에 시뮬레이션 매개변수와 운영 데이터를 전달한다. SILS는 이러한 매개변수를 기반으로 시뮬레이션을 수행하고, 주파수, 전압 등의 시뮬레이션 결과를 다시 SCADA로 반환한다.

SILS 프레임워크는 MATLAB/Simulink 와 Python 기반으로 구성되었다. 이러한 구성은 두 소프트웨어의 강점을 효과적으로 연계하여, 마이크로그리드와 같은 복잡한 시스템의 시뮬레이션 및 검증 과정을 효율적이고 정밀하게 수행하기 위함이다. MATLAB/Simulink는 전력 시스템을 직관적으로 모델링하고 분석할 수 있는 강력한 도구이다. 그러나, MATLAB/Simulink는 외부 환경과의 통합에서 유연성이 제한적이며, 반복적인 데이터 처리나 시뮬레이션 자동화와 같은 작업에서는 Python과 같은 프로그래밍 언어가 더 효과적으로 활용될 수 있다.

Python은 데이터 처리 및 시각화에서 높은 유연성을 제공하며, 태양광 발전량 예측 알고리즘을 적용하는 데에도 효과적이다. Python 환경에서 SCADA에서 제공되는 시뮬레이션 설정 및 운영 데이터를 처리하여 MATLAB/Simulink의 시뮬레이션 매개변수로 변환하였다. 생성된 시뮬레이션 결과는 데이터베이스로 저장되어 SCADA에서 모니터링이 가능하도록 구현되었다.

Python-MATLAB/Simulink 기반의 SILS 환경을 구현하기 위한 구조도는 그림 2과 같다.

태양광 예측 알고리즘과 최적 운영 스케줄링 데이터 생성은 Python 환경에서 실행되며, 생성된 데이터는 데이터 교환의 간소화 및 범용성을 고려하여 CSV 형식으로 저장된다. 또한, Python 인터페이스 스크립트를 통해 데이터가 MATLAB/Simulink 환경으로 전달된다.

MATLAB/Simulink 환경에서는 전달된 데이터(부하 프로파일, 분산 자원 입력값)를 받아 시뮬레이션을 수행하며[4], 생성된 시뮬레이션 결과는 CSV 파일로 저장되어 Python 인터페이스를 통해 Python 환경으로 전송된다.

그림 2. Python-MATLAB/Simulink 연동 구조도

Fig. 2. Python-MATLAB/Simulink Integration Diagram

../../Resources/kiee/KIEE.2025.74.5.809/fig2.png

그림 3. SCADA 대시보드

Fig. 3. SCADA Dashboard

../../Resources/kiee/KIEE.2025.74.5.809/fig3.png

그림 4. ESS 최적 운영 결과 시각화 (SCADA 대시보드)

Fig. 4. Visualization of ESS Optimal Operation Results (SCADA Dashboard)

../../Resources/kiee/KIEE.2025.74.5.809/fig4.png

이러한 데이터는 데이터베이스에 저장되어 SCADA의 대시보드에서 시각화된다. 이 과정은 Python 환경에서 15분 단위의 스케줄링과 MATLAB/Simulink 환경에서 1초 단위의 데이터를 기록하는 방식으로 설계되었다. 이러한 연동 구조는 데이터 교환 과정에서의 오류를 최소화하고, Python과 MATLAB/Simulink의 독립성을 유지하면서 유기적으로 작동할 수 있는 SILS 프레임워크를 제공한다.

2.4 SILS-SCADA 연계 시스템 설계

마이크로그리드 제어 및 모니터링을 위한 SCADA 시스템은 그림 3에 제시되어 있다. SCADA 대시보드는 마이크로그리드내 분산 자원들의 시간대별 전력 프로파일을 실시간으로 모니터링하는 기능을 제공한다. 또한, SILS와 연계되어 제어 신호를 실제 시스템에 적용하기 전에 SILS 환경에서 사전 검증할 수 있도록 설계되었다.

SCADA에서는 데이터베이스로부터 데이터를 호출하여 계통 내 주요 분산 자원인 태양광 발전량 예측 및 ESS 최적 운영 결과를 시각화한다. 그림 45는 본 연구에서 제안한 SILS의 결과를 나타내며, 분산 에너지 사업자 및 마이크로그리드 운영자의 관점에서 Human Machine Interface를 설계하여, 비용 효율적인 계통 운영을 지원할 수 있도록 설계하였다. 그림 4는 SCADA 대시보드를 통해 ESS 최적 운영 알고리즘 결과를 시각화한 사례를 보여준다. 사용자는 날짜 및 전력 가격을 선택하여 해당 날짜의 ESS 최적 운영 일정을 조회할 수 있다. ESS의 운영 데이터는 SCADA 시스템에 통합되어 사용자에게 직관적인 인터페이스를 제공하며, 비용 효율적인 운영 계획 수립을 지원한다. 또한, 그림 5에서와 같이 SILS 환경에서 생성된 태양광 발전량 예측 데이터는 데이터베이스에 저장되어, SCADA를 통해 실시간으로 확인 가능하다.

그림 5. 태양광 발전량 예측 시각화

Fig. 5. Visualization of PV Power Forecasting Results

../../Resources/kiee/KIEE.2025.74.5.809/fig5.png

본 연구에서는 제안된 SILS 프레임워크를 검증하기 위해 테스트베드 환경을 구축하였다. 제안된 SILS 검증 환경은 태양광 발전량 예측 알고리즘, 계통 최적 운영 알고리즘, 그리고 MATLAB/Simulink 기반의 가상 모델 테스트베드로 구성된다.

3. 태양광 발전량 예측 및 마이크로그리드 최적 운영 알고리즘

3.1 태양광 발전량 예측 알고리즘

본 연구에서는 경기도 광주시에 설치된 태양광 발전 시스템의 발전량 데이터를 기반으로, 태양광 발전량 예측을 위해 현장에서 수집된 기상 데이터를 활용하였다. 또한 예측 모델의 성능을 향상시키기 위해 데이터 전처리 과정에서 다양한 기법을 적용하였다.

기상 데이터 변수 간의 조합을 통해 새로운 변수를 생성하는 상호작용 특징(interaction feature)을 추가하여 모델이 풍부한 데이터로 학습할 수 있도록 설계하였다. 또한, 결측 데이터는 0으로 대체하여 처리하였으며, 시간 및 월과 같이 주기적특성을 가지는 변수는 주기적 인코딩(Cyclic Encoding)을 적용하여 주기적 특성을 반영하였다[8]. 주기적 데이터의 경우, 숫자로 표현하면 시작과 끝이 이어지는 특성을 반영하지 못하는 한계가 있다. 예를 들어, 시간 변수에서 23시와 0시는 실제로 1시간 차이이지만, 이를 숫자로 표현하게 되면 23과 0 사이의 차이는 매우 크게 나타나게 된다. 이를 해결하기 위해 주기적 변수를 주기적 함수인 사인(sine)과 코사인(cosine)으로 변환하여 표현함으로써, 시작과 끝이 이어지는 주기성 변수의 특성을 반영하여 태양광 발전량 예측 모델을 학습하였다. 태양광 발전량 예측 모델의 학습에는 XGBoost [9], Random Forest [10], LightGBM [11] 알고리즘을 사용하였으며, 각 알고리즘의 성능을 비교하여 최적의 예측 모델을 선정했다.

3.2 계통 최적 운영 알고리즘

본 장에서는 다양한 분산전원을 포함한 마이크로그리드 시스템의 경제적 운영을 목표로 하는 전일 스케줄링 알고리즘을 제안한다. 그림 6은 제안된 시스템의 토폴로지를 나타내며, 디젤 발전기(Diesel Generator), 태양광 발전 시스템(Photovoltaic (PV) System), ESS, 전기자동차 충전소(Electric Vehicle Charging Station, EVCS)와 같은 다양한 분산 에너지 자원으로 구성되어 있다.

그림 6. IEEE 13-bus 계통 토폴로지

Fig. 6. IEEE 13-bus system topology

../../Resources/kiee/KIEE.2025.74.5.809/fig6.png
마이크로그리드의 운영 비용 최소화를 위한 목적함수는 식 (1)과 같이 정식화하였다.
(1)
$\min\sum_{t}^{T}c_{t}P_{t}^{u}+\sum_{k}^{N_{DG}}F_{k}^{DG}(P_{t,\: k,\: s}^{DG})-c_{t}^{ev}P_{t}^{ch,\: EVS}+\alpha_{1}U_{1,\: t}$
(2)
$U_{1,\: t}=\max(0,\: P_{t}^{u}-P^{cont})$
(3)
$F_{k}^{DG}(P_{t,\: k,\: s}^{DG})=\sum_{s}^{N_{k}^{seg}}\pi_{k,\: s}^{DG}P_{t,\: k,\: s}^{DG}$
(4)
$0\le U_{1,\: t}\le M\bullet I_{t}^{U}$

$P_{t}^{u}-P^{cont}\le U_{1,\: t}\le(P_{t}^{u}-P^{cont})+M(1-I_{t}^{U})$

여기서,

$c_{t}P_{t}^{u}$ : 계통 유입 전력 구매 비용,

$k$ : 디젤 발전기의 인덱스,

$s$ : 디젤 발전기의 선형 구간,

$N_{DG}$ : 디젤 발전기의 수,

$F_{k}^{DG}(P_{t,\: k,\: s}^{DG})$ : 시간 t에서 디젤 발전기 k의 구간 s 비용,

$c_{t}^{ev}P_{t}^{ch,\: EVS}$ : 시간 t에서 EVCS 충전 수익,

$\alpha_{1}U_{1,\: t}$ : 시간 t에서 계약 전력 초과에 대한 페널티 비용,

$P^{cont}$ : 계약 전력,

$N_{k}^{seg}$ : 발전기 k의 선형 구간 수,

$\pi_{k,\: s}^{DG}P_{t,\: k,\: s}^{DG}$ : 디젤 발전기 k의 구간 s에서의 선형화 계수,

$I_{t}^{U}$ : 시간 t에서 계약 전력 초과 여부 이진 변수

(2)에서 최댓값 연산을 통해 계통으로부터 유입되는 계약 전력만 고려했으며, 계약 전력 초과에 대한 페널티 비용은 최댓값 연산이 포함되어 비선형적이므로, 이를 선형화하기 위해 식 (4)와 같이 Big M 방법을 적용하였다. 여기서, M은 충분히 큰 값을 의미한다. 또한, 디젤 발전기의 비용과 출력 전력 간의 비선형 관계를 선형 함수로 근사화하기 위해 식 (3)에서 구간별 선형화(Piecewise Linearization)를 도입하였다. 이를 통해 디젤 발전기의 출력 곡선을 선형화하였다[12].

(5)
$P_{DG}^{\min}\le P_{DG}\le P_{DG}^{\max}$
(6)
$Q_{DG}^{\min}\le Q_{DG}\le Q_{DG}^{\max}$
(7)
$-r_{d}\le P_{DG}^{t}-P_{DG}^{t-1}\le r_{u}$
(8)
$P_{t,\: k}^{DG}=\sum_{s=1}^{N_{k}^{Seg}}P_{t,\: k,\: s}^{DG}$
(9)
$P_{t,\: k,\: s}^{DG}\le Seg_{k,\: s}$

여기서,

$r_{d}$,$r_{u}$ : 디젤 발전기의 하강 및 상승 제한,

$Seg_{k,\: s}$ : 디젤 발전기 k의 선형 구간 s의 크기

(5)(6)는 디젤 발전기의 최소 및 최대 유효 전력, 무효 전력 출력 한계를 제약한다. 또한 식 (7)는 시간 t-1에서 t로의 디젤 발전기의 출력 변화가 지정된 한계 내에서 이루어지도록 제한한다. 이러한 제약 조건은 디젤 발전기가 기술적 및 물리적 한계를 준수하며 안정적으로 작동하도록 보장한다. 식 (8)은 구간별 선형 구간에서의 디젤 발전기 출력의 합이 전체 디젤 발전기의 출력임을 나타내며, 식 (9)는 각 선형 구간 s에서의 디젤 발전기의 출력이 해당 선형 구간의 크기를 초과하지 않도록 제한한다.

(10)
$SOC_{t+1,\: n}=SOC_{t,\: n}+\dfrac{(P_{t,\: n}^{ch}\eta_{n}^{ch}-P_{t,\: n}^{dch}/\eta_{n}^{dch})}{Q_{n}}\triangle t$
(11)
$0\le P_{t,\: n}^{ch}\le P_{t,\: n}^{ch,\: \max}I_{t,\: n}^{ESS}$
(12)
$0\le P_{t,\: n}^{dch}\le P_{t,\: n}^{dch,\: \max}(1-I_{t,\: n}^{ESS})$
(13)
$SOC_{n}^{\min}\le SOC_{t,\: n}\le SOC_{n}^{\max}$
(14)
$SOC_{fin al,\: n}=SOC_{init ,\: n}$

여기서,

$n$ : ESS의 인덱스,

$\eta_{n}^{ch},\: \eta_{n}^{dch}$ : ESS n의 충전 및 방전 효율,

$Q_{n}$ : ESS n의 용량,

$P_{t,\: n}^{ch},\: P_{t.n}^{dch}$ : 시간 t에서 ESS n의 충전 및 방전 전력,

$I_{t,\: n}^{ESS}$ : 시간 t에서 ESS n의 활성화 상태 이진변수

(10)은 ESS 충전 및 방전 효율을 반영하여, 시간 t에서 t+1로의 충전 상태(State of Charge, SOC)를 계산하는 식을 나타낸다. 이진 변수 $I_{ESS}$를 도입하여 식 (11)(12)에서 ESS가 충전 상태와 방전 상태 중 하나의 상태만 유지하도록 제약하며, 이를 통해 ESS가 동시에 충전과 방전을 수행하는 물리적으로 불가능한 상황을 방지한다. 또한, 식 (13)을 통해 ESS의 최소 및 최대 SOC 한계를 준수하도록 강제함으로써 ESS의 과충전 및 과방전으로 인한 성능 저하를 방지한다. ESS의 일간 운영 계획을 위해 식 (14)에서 계획 기간 종료 시점(T)에서의 SOC가 초기 SOC으로 회복되도록 하여 다음 날 운영의 연속성을 보장한다.

(15)
$SOC_{t+1,\: e}^{EV}=SOC_{t,\: e}^{EV}+\dfrac{(P_{t,\: e}^{ch,\: EV}\eta_{e}^{ch})}{Q_{n}}\triangle t$ $ \; $ $(t_{a}\le t<t_{d})$
(16)
$SOC_{e}^{EV,\: \min}\le SOC_{t,\: e}^{EV}\le SOC_{e}^{EV,\: \max}$ $ \; $ $(t_{a}\le t<t_{d})$
(17)
$0\le P_{t,\: e}^{ch,\: EV}\le P_{e}^{ch,\: EV,\: \max}I_{t,\: e}^{EV}$$ \; $$(t_{a}\le t\le t_{d})$
(18)
$P_{t,\: e}^{ch,\: EV}=0$$ \; $$(t<t_{a},\: t\ge t_{d})$
(19)
$SOC_{t^{a},\: e}^{EV}=SOC_{init ,\: e}^{EV}$
(20)
$SOC_{t^{d},\: e}^{EV}=SOC_{fin al,\: e}^{EV}$
(21)
$\sum_{e}^{N_{EV}}I_{t,\: e}^{EV}\le N_{CS}$

여기서,

$e$ : EVCS의 인덱스,

$\eta^{ch_{e}}$ : EVCS e의 충전 효율,

$t_{a}$ : EV가 충전소에 도착한 시간,

$t_{d}$ : EV가 충전소를 떠나는 시간,

$I_{t,\: e}^{EV}$ : 시간 t에서 EVCS e의 충전 여부 이진변수,

$N_{EV}$ : EVCS의 수,

$N_{CS}$ : 충전소 내 충전기의 수

(15-21)은 EVCS의 운영 제약 조건을 정의한다. 식 (15-16)는 EV가 충전소에 도착한 시간($t_{a}$)부터 떠나는 시간($t_{d}$)까지의 SOC 변화를 나타내며, 이를 최소 및 최대 SOC 한계 내에 있도록 유지하는 제약 조건을 명시한다. 식 (17)은 EV가 충전소에 머무르는 동안 충전 전력이 최대 충전 가능 전력을 초과하지 않도록 제약하며, 충전 여부는 이진 변수 $I_{EV}$에 의해 결정된다. 식 (18)는 EV가 충전소에 도착하기 이전 및 떠난 시점 이후 시간 동안 충전 전력을 0으로 유지하도록 제약한다. 또한, 식 (19-20)을 통해 EV의 도착 시점과 출발 시점에서의 SOC를 설정하여 동작의 연속성을 보장한다. 또한 충전하는 EV의 수가 충전기의 수를 초과하지 않도록 제약을 부과하여 현실성을 반영하였다.

(22)
\begin{align*}P_{t}^{u}=\sum_{l}(P_{t,\: l}^{Load})+\sum_{n}(P_{t,\: n}^{ch}-P_{t,\: n}^{dch})\\-\sum_{m}(P_{t,\: m}^{PV})-\sum_{k}(P_{t,\: k}^{DG})+\sum_{e}(P_{t,\: e}^{ch,\: EV})\end{align*}
(23)
$Q_{t}^{u}=\sum_{l}(Q_{t,\: l}^{Load})-\sum_{k}(Q_{t,\: k}^{DG})$
(24)
$P_{j+1}=P_{j}-p_{j+1}^{c}+p_{j+1}^{g}$
(25)
$P_{j+1}=P_{j}-p_{j+1}^{c}+p_{j+1}^{g}$
(26)
$V_{j+1}=V_{j}-(r_{j}P_{j}+x_{j}Q_{j})$
(27)
$-\overline{P}_{ij}\le P_{ij}\le\overline{P}_{ij}$
(28)
$V^{\min}\le V_{j}\le V^{\max}$

여기서,

$l$ : 부하의 인덱스,

$m$ : 태양광 발전의 인덱스,

$p_{j+1}^{g}-p_{j+1}^{c}$ : 모선 j+1에서의 주입 유효 전력,

$q_{j+1}^{g}-q_{j+1}^{c}$ : 모선 j+1에서의 주입 무효 전력

(22)(23)은 각각 시간 t에서 전체 시스템에서의 유효 전력과 무효전력 균형을 나타내며, 이는 시스템의 전력 공급과 수요가 일치하도록 유지하는 필수적인 제약 조건이다. 식 (24-26)은 방사형(Radial) 배전 계통의 전력조류(Power Flow)와 전압 제약 조건을 표현하기 위해 Linearized Dist Flow 모델을 적용하였다. 기존의 Dist Flow 모델은 배전 계통에서의 전력 흐름을 나타내는 수식이 비선형적이기 때문에 계산 효율성을 위해 선형화된 형태의 Linearized Dist Flow 모델을 사용하였다. 식 (24-25)은 부모 모선(Parent Bus) j로부터의 유입된 전력과 자식 모선 j+1에서의 주입 전력(Power injection)을 반영한 각 모선에서의 유효 전력 및 무효 전력 균형 식을 나타낸다. 식 (26)은 전압 강하를 나타내며, 이는 각 선로의 유효 전력과 무효 전력을 고려한 전압 강하를 계산하여 각 모선의 전압 프로파일을 유지한다. 이러한 조건은 식 (27)(28)에서 각각 선로의 유효 전력 한계와 버스 전압의 허용 범위를 만족하도록 추가적인 제약을 부과하여 배전망의 안전성을 보장한다.

4. 테스트베드 및 사례연구

4.1 MATLAB/Simulink 기반의 테스트베드

본 연구에서는 MATLAB/Simulink를 활용하여 IEEE-13 Bus 시스템을 기반으로 SILS의 테스트베드를 구현하였다. 그림 7은 구현된 전체 시스템의 Simulink 모델 구조를 나타내며, 주 계통을 중심으로 디젤 발전기, ESS, 태양광 발전, EVCS와 같은 주요 분산 전원 블록들로 설계되었다. 추가적으로, 참조값(Reference values)의 변화가 반영된 출력 데이터를 기록하고 모니터링하기 위한 Measurement 블록이 포함되어 있다. 또한, 독립 운전(Islanded operation) 및 분산 전원의 단절(disconnection operation) 시나리오를 시뮬레이션하기 위해 차단기(Breaker) 블록을 추가하여, 다양한 운영 환경에서의 동적 거동 분석과 시스템의 안정성 검증이 가능하도록 설계되었다. 마이크로그리드의 최적 운영을 위해 3.2절에서 제안된 계통 최적 운영 알고리즘의 출력값이 각 분산 에너지 자원의 참조 입력값으로 활용된다.

그림 7. 테스트베드 계통 토폴로지 (IEEE 13-Bus)

Fig. 7. Testbed System Topology (IEEE 13-Bus)

../../Resources/kiee/KIEE.2025.74.5.809/fig7.png

디젤 발전기는 주파수와 전압 제어를 위해 그림 8과 같이 여자 시스템(Excitation System)과 거버너 터빈(Governor-Turbine)이 포함된 동기 발전기로 표현되었다.

계통 연계형 운영 시나리오에서는 디젤 발전기가 최적 운영 알고리즘에서 도출된 출력값을 참조하며 운전하도록 설정한 반면, 독립형 운영 시나리오에서는 디젤 발전기가 주요 주파수 제어원으로 작동하여, 시스템의 주파수를 안정적으로 유지한다. 이를 통해 독립형 마이크로그리드 시나리오에서의 동적 안정성과 신뢰성을 보장하며, 실시간 부하 변화에 대응할 수 있도록 설계되었다.

그림 9와 같이 태양광 발전, EVCS, 가변 부하 모델은 Three-Phase Dynamic Load 블록을 기반으로 구현되었다. 태양광 발전은 예측된 발전량을 입력으로 사용하며, 계통에 전력을 공급하는 형태로 구성되었다. EVCS는 계통으로부터 전력을 소비하는 가변 부하로 모델링되었다. 연구의 단순화를 위해, 부하량 예측은 포함되지 않았으며 데이터베이스에서 예측값이 제공된다고 가정하였다.

그림 8. 디젤 발전기 모델

Fig. 8. Diesel Generator Model

../../Resources/kiee/KIEE.2025.74.5.809/fig8.png

그림 9. 태양광 발전 시스템 모델

Fig. 9. PV Array Model

../../Resources/kiee/KIEE.2025.74.5.809/fig9.png

ESS는 그림 10과 같이 ESS 모델은 충전 및 방전 효율을 반영하여, ESS 용량 제한 및 충전 상태 계산을 포함한 모델로 표현되었다.

그림 10. ESS 모델

Fig. 10. ESS Model

../../Resources/kiee/KIEE.2025.74.5.809/fig10.png

동적 부하 모델은 Phase-Locked Loop 기반의 유효 및 무효 전력 제어 분산 자원들의 동작을 단순화하여 표현할 수 있으며, 이는 실시간 시뮬레이션 환경을 보장하기 위해 널리 사용되는 방법이다[13]. 이러한 접근법은 각 분산 자원의 주요 동작 특성을 유지하면서도 계산 복잡성을 최소화하여 연산 속도를 향상시킨다. 단순화로 인해 발생할 수 있는 동적 응답 특성의 오차는 후속 연구를 통해 상세히 분석할 예정이다. 또한, MATLAB/Simulink의 데시메이션(Decimation) 기능을 활용하여 데이터 저장 포인트를 1초 단위로 생성함으로써, 실시간 데이터 기록의 효율성을 높였다. 추가적으로 Accelerator Mode를 활용하여 시뮬레이션 속도를 가속화하였다. 이러한 접근은 SILS 환경이 실제 환경에 가까운 조건에서 다양한 운영 시나리오를 검증할 수 있는 기반을 제공한다.

4.2 태양광 발전량 예측 알고리즘

태양광 발전량 예측 모델의 성능 평가는 태양광 발전량 데이터 세트 중 20%를 테스트 데이터로 분리하여 진행하였으며, 모델의 성능 평가는 실제값과 예측값 간의 차이를 나타내는 정규화된 평균 제곱근 오차(Normalized Root Mean Square Error, nRMSE)를 활용하였다. nRMSE는 예측 정확도를 나타내는 지표로, 정의는 식 (29)와 같다.

(29)
$n{RMSE}=\dfrac{1}{{Y}_{\max}-{Y}_{\min}}\sqrt{\dfrac{\sum_{{i}=1}^{{N}}({Y}_{{i}}-\hat{{Y}}_{{i}})^{2}}{{N}}}$

여기서,

$Y_{i}$ : 실제 발전량,

$\hat{Y_{i}}$ : 예측 발전량,

$N$ : 데이터의 총 개수.

$Y_{\max},\: Y_{\min}$ : 실제 데이터의 최댓값 및 최솟값

본 연구에서는 주어진 데이터에 대하여 각 알고리즘의 성능을 비교하였다. 그림 11은 실제 발전량과 각 모델의 예측 결과를 시각적으로 비교한 결과를 나타낸다.

그림 11. 태양광 발전량 예측 모델 성능 비교

Fig. 11. Performance Comparison of PV Forecast Model

../../Resources/kiee/KIEE.2025.74.5.809/fig11.png

표 1은 각 머신 러닝 예측 모델의 nRMSE 비교 결과를 나타낸다. LightGBM 모델은 가장 낮은 nRMSE(6.873%)를 기록하며 예측 성능 면에서 가장 우수한 결과를 보였다.

표 1 태양광 발전량 예측 결과 nRMSE 비교

Table 1 Comparison of nRMSE for PV forecast Results

XGBoost

Random Forest

LightGBM

nRMSE

[%]

6.989

7.103

6.873

그림 12는 nRMSE 측면에서 가장 우수한 예측 성능을 보인 LightGBM 모델을 활용하여 다음날의 태양광 발전량을 예측한 결과를 나타낸다.

그림 12. 태양광 발전량 예측 결과 그래프

Fig. 12. Graph of solar power prediction results

../../Resources/kiee/KIEE.2025.74.5.809/fig12.png

4.3 계통 최적 운영 알고리즘

제안된 알고리즘은 시장 가격과 연계하여 각 자원의 비용을 최적화하며, 운영의 안정성과 신뢰성을 보장한다. 그림 13은 시나리오에 따른 시간별 순부하(Net Load)를 비교하여 제시한다. 여기서, Case 1은 제안한 ESS 및 EVCS를 포함한 마이크로그리드의 최적 운영 결과를 나타내며, Case 2는 ESS와 EVCS를 제외한 시나리오로 구성된다. 이를 통해 제안한 알고리즘의 부하 프로파일 평탄화 효과를 확인하였다[14]. 그림 14그림 15는 각각 Case 1과 Case 2의 시간별 분산 자원의 유효 전력 프로파일을 나타낸다.

그림 13. 시간별 순부하 프로파일 비교

Fig. 13. Comparison of Hourly Net Load Profile

../../Resources/kiee/KIEE.2025.74.5.809/fig13.png

그림 14. 시간별 전력 프로파일 (Case 1)

Fig. 14. Hourly Power Profile (Case 1)

../../Resources/kiee/KIEE.2025.74.5.809/fig14.png

그림 15. 시간별 전력 프로파일 (Case 2)

Fig. 15. Hourly Power Profile (Case 2)

../../Resources/kiee/KIEE.2025.74.5.809/fig15.png

또한, 표 2에서 제시된 바와 같이, Case 1은 Case 2 대비 약 17.84%의 비용 절감 효과를 나타내었다.

표 2 제안한 알고리즘의 비용 절감 효과

Table 2 Cost Reduction Effect of the Proposed Algorithm

사례

총 비용 [KRW]

Case 1

1,290,093

Case 2

1,570,235

감소율 [%]

17.84

4.4 테스트베드 검증 결과 (Case 1)

본 사례에서는 4.3절의 Case 1에 해당하는 ESS와 EVCS가 포함된 최적 운영 알고리즘을 적용하였다. 그림 16은 SILS 환경의 테스트베드에서 각 분산 자원의 출력 전력과 입력값으로 제공된 참조 전력을 비교한 결과를 나타낸다. 실선은 참조값을, 점선은 출력값을 의미하며, 두 값의 일치도를 분석함으로써 테스트베드가 참조값을 정확히 추종하는지를 검증하였다. 그림 17은 최적 운영 스케줄링에서 계산된 참조값과 SILS 기반 계통 모델에서 도출된 선로 전력 출력값을 비교한 결과를 보여준다. 여기서, 실선은 최적 운영 스케줄링에서 계산된 참조값, 점선은 SILS 기반 모델의 출력값을 나타낸다. 두 값의 높은 일치도를 통해 SILS 환경에서 마이크로그리드 테스트베드의 전력 균형 정확성을 검증하였다. Case 2의 결과 역시 참조값을 정확히 추종하는 것을 확인하였으나, 논문의 분량을 고려하여 본문에서는 생략하였다.

그림 16. 시간별 출력 전력 프로파일 비교 (Case 1)

Fig. 16. Comparison of Hourly Output Power Profiles (Case 1)

../../Resources/kiee/KIEE.2025.74.5.809/fig16.png

그림 17. 시간별 선로 전력 프로파일 비교 (Case 1)

Fig. 17. Comparison of Hourly Line Power Profiles (Case 1)

../../Resources/kiee/KIEE.2025.74.5.809/fig17.png

4.5 사례 연구 - 독립 운영

제안한 MATLAB/Simulink 기반 SILS 테스트베드의 확장성을 평가하기 위하여 SILS는 독립형 마이크로그리드 운영을 포함한다. 이를 위해 테스트베드 환경에서의 차단기 개방 신호를 Python 스크립트의 입력 변수로 설정하여, SCADA를 통한독립형 운영 시나리오 제어 신호의 생성을 지원한다. 독립 운영 시나리오에서는 디젤 발전기의 가버너 시스템이 디젤 발전기의 출력 및 주파수를 조정하는 주요 구성 요소로 작동한다. 1차 주파수 제어(Primary Frequency Control)를 통해 주파수 변동을 허용 범위 내로 복원하여 계통의 안정성을 유지한다. 본 연구에서는 시뮬레이션의 복잡성을 줄이고 실시간 구현을 위해, 2차 주파수 제어(Secondary Frequency Control)는 포함되지 않았다. 그림 18과 같이 SCADA 대시보드를 통해 사용자는 독립 운영 시나리오에 대한 제어 신호를 MATLAB/Simulink 기반 테스트베드로 전송한다. 테스트베드에서는 시뮬레이션이 실행되며, 결과 데이터는 데이터베이스에 저장된다. 이후 API 호출을 통해 해당 결과가 SCADA 대시보드에 시각화되어 사용자가 실시간으로 확인할 수 있도록 구현되었다. 이를 통해 사용자는 실시간으로 주파수 응답 특성과 출력 전력 변화를 모니터링할 수 있으며, 제안된 SILS 테스트베드가 독립형 시나리오에서도 허용 주파수 범위를 유지하고 시스템 안정성을 확보할 수 있음을 검증하였다. 또한 SILS와 SCADA 간의 유기적 연동을 통해 다양한 운영 시나리오에 대한 확장 가능성과 실시간 제어 신뢰성을 입증하였다.

그림 18. 독립형 운영 시나리오 결과

Fig. 18. Islanded Operation Scenario Result

../../Resources/kiee/KIEE.2025.74.5.809/fig18.png

6. 결 론

본 연구에서는 Python-MATLAB/Simulink 기반의 SCADA 연동 SILS 프레임워크를 제안하였다. 제안된 프레임워크는 Python의 데이터 처리 및 유연성과 MATLAB/Simulink의 정밀한 시뮬레이션 환경을 통합하여, 마이크로그리드의 제어 및 운영 전략을 사전에 검증할 수 있도록 설계되었다. 특히, 마이크로그리드의 비용 효율적 운영을 위해 테스트베드는 태양광 발전량 예측 알고리즘과 분산 자원의 최적 운영 알고리즘을 포함한다. 테스트베드는 IEEE 13-bus 시스템을 기반으로 설계되었으며, 알고리즘은 운영 비용 절감과 부하 프로파일 평탄화 측면에서 유의미한 성과를 확인하였다. 또한 SILS 환경에서 다양한 운영 시나리오에 유연하게 대응할 수 있는 확장성을 제공함으로써, 마이크로그리드 운영을 위한 실용적인 도구로서의 가능성을 제시하였다. 향후 연구에서는 2차 주파수 제어 및 추가적인 제어 메커니즘을 통합하여 테스트베드의 확장을 목표로 한다.

Acknowledgements

이 논문은 2023년도 정부(산업통상자원부)의 재원으로 한국에너지기술평가원의 지원을 받아 수행된 연구임(RS-2023-00231702, 분산형 재생에너지 시스템 개방형 통합 플랫폼 개발)

References

1 
F. Bonassi, A. La Bella, L. Fagiano, R. Scattolini, D. Zarrilli and P. Almaleck, “Software-in-the-loop testing of a distributed optimal scheduling strategy for microgrids’ aggregators,” 2020 IEEE PES Innovative Smart Grid Technologies Europe (ISGT-Europe), pp. 985-989, 2020. DOI:10.1109/ISGT-Europe47291.2020.9248775DOI
2 
C. S. B. Clausen, B. N. Jørgensen and Z. G. Ma, “A scoping review of in-the-loop paradigms in the energy sector focusing on software-in-the loop,” Energy Informatics, vol. 7, pp. 1-40, 2024. DOI:10.1186/s42162-024-00312-8DOI
3 
S. Sumith Shankar, K. Desai, S. Dutta, R. R. Chetwani, M. Ravindra and K. M. Bharadwaj, “Mission critical software test philosophy a SILS based approach in Indian Mars Orbiter Mission,” 2014 International Conference on Contemporary Computing and Informatics (IC3I), pp. 414-419, 2014. DOI:10.1109/IC3I.2014.7019637DOI
4 
H. T. Nguyen, G. Yang, A. H. Nielsen and P. H. Jensen, “Hardware- and Software-in-the-Loop Simulation for Parameterizing the Model and Control of Synchronous Condensers,” IEEE Transactions on Sustainable Energy, vol. 10, no. 3, pp. 1593-1602, July 2019. DOI:10.1109/TSTE.2019.2913471DOI
5 
C. A. V. Guerrero et al., “A new software-in-the-loop strategy for real-time testing of a coordinated Volt/Var Control,” 2016 IEEE PES PowerAfrica, pp. 6-10, 2016. DOI:10.1109/PowerAfrica.2016.7556559DOI
6 
G. M. Casolino, M. AlizadehTir, A. Andreoli, M. Albanesi and F. Marignetti, “Software-in-the-loop simulation of a test system for automotive electric drives,” IECON 2016 - 42nd Annual Conference of the IEEE Industrial Electronics Society, pp. 1882-1887, 2016. DOI:10.1109/IECON.2016.7794145DOI
7 
M. Mütherig, G. Puleo, M. Zdrallek and A. Schönbauer, “Development of a software in the loop environment to control a microgrid,” 7th International Hybrid Power Plants & Systems Workshop (HYB), pp. 103-107, 2023. DOI:10.1049/icp.2023.1439DOI
8 
F. Bin and J. He, “A short-term photovoltaic power prediction model using cyclical encoding and STL decomposition based on LSTM,” 2023 3rd International Conference on Electronic Information Engineering and Computer Communication (EIECC), pp. 260-266, 2023. DOI:10.1109/EIECC60864.2023.10456727DOI
9 
Q. -T. Phan, Y. -K. Wu and Q. -D. Phan, “Short-term Solar Power Forecasting Using XGBoost with Numerical Weather Prediction,” 2021 IEEE International Future Energy Electronics Conference (IFEEC), pp. 1-6, 2021. DOI:10.1109/IFEEC53238.2021.9661874DOI
10 
D. Liu and K. Sun, “Random forest solar power forecast based on classification optimization,” Energy, vol. 187, Art. no. 115940, Nov. 2019. DOI:10.1016/j.energy.2019.115940DOI
11 
Z. Wang and L. Jia, “Short-Term Photovoltaic Power Generation Prediction Based on LightGBM-LSTM Model,” 2020 5th International Conference on Power and Renewable Energy (ICPRE), pp. 543-547, 2020.DOI
12 
M. Lambert and R. Hassani, “Diesel genset optimization in remote microgrids,” Applied Energy, vol. 340, Art. no. 121036, June 2023. DOI:10.1109/ICPRE51194.2020.9233298DOI
13 
K. Rajashekaraiah, C. Iurlaro, S. Bruno and G. De Carne, “Modelling of 3-Phase p-q Theory-Based Dynamic Load for Real-Time Simulation,” IEEE Open Access Journal of Power and Energy, vol. 10, pp. 654-664, 2023. DOI:10.1109/OAJPE.2023.3340299DOI
14 
J. S. Hwang, J. -S. Kim and H. Song, “Handling Load Uncertainty during On-Peak Time via Dual ESS and LSTM with Load Data Augmentation,” Energies, vol. 15, Art. no. 3001, 2022. DOI:10.3390/en15093001DOI

저자소개

오우림(Woo-Rim Oh)
../../Resources/kiee/KIEE.2025.74.5.809/au1.png

Woo-rim Oh received the B.S. degree in electrical engineering from Kyungpook National University, Daegu, South Korea, in 2024. He is currently pursuing the M.S. degree in electrical engineering. His research interests include power system control.

한기웅(Gi-Woong Han)
../../Resources/kiee/KIEE.2025.74.5.809/au2.png

Gi-Woong Han received the B.S. and M.S. degrees in electrical engineering from Pohang University of Science and Technology, Pohang, South Korea, in 2021 and 2023, respectively. He is currently pursuing the Ph.D. degree in electrical engineering. His research interests include power system optimization.

함승준(Seung-Jun Hahm)
../../Resources/kiee/KIEE.2025.74.5.809/au3.png

Seung-Jun Hahm received the B.S. and M.S. degrees in electrical engineering from Pohang University of Science and Technology, Pohang, South Korea, in 2019 and 2021, respectively. He is currently pursuing the Ph.D. degree in electrical engineering. His research interests include optimization and control in distribution systems and demand response.

김영진(Young-Jin Kim)
../../Resources/kiee/KIEE.2025.74.5.809/au4.png

Young-Jin Kim received the B.S. and M.S. degrees in electrical engineering from Seoul National University, Seoul, South Korea, in 2007 and 2010, respectively, and the Ph.D. degree in electrical engineering from the Massachusetts Institute of Technology, Cambridge, MA, USA, in 2015. From 2007 to 2011, he was with Korea Electric Power Corporation, Naju, South Korea, as a Power Transmission and Distribution System Engineer. He was also a Visiting Scholar with the Catalonia Institute for Energy Research, Tarragona, Spain, in 2014, and a Postdoctoral Researcher with the Center for Energy, Environmental, and Economic Systems Analysis, Energy Systems Division, Argonne National Laboratory, Lemont, IL, USA, from 2015 to 2016. He joined as the Faculty with the Pohang University of Science and Technology, Pohang, South Korea, where he is currently an Associate Professor with the Department of Electrical Engineering. His research interests include distributed generators, renewable energy resources, and smart building.