K_UNBALANCE: Function Block untuk Deteksi Ketidakseimbangan Tegangan/Arus di DCS
Dirancang untuk menghitung ketidakseimbangan tegangan atau arus dari tiga input dalam sistem DCS, khususnya pada power meter yang tidak menyediakan informasi unbalance.
Photo by Colton Sturgeon / Unsplash
Oleh: Ketut P. Kumajaya — 3 Oktober 2025
Latar Belakang
Dalam sistem distribusi daya, ketidakseimbangan antar fase tegangan atau arus dapat menyebabkan panas berlebih, penurunan efisiensi, dan gangguan pada peralatan. Sayangnya, banyak power meter tidak menyediakan informasi unbalance secara langsung. Untuk menutup celah ini, Function Block K_UNBALANCE dirancang menggunakan Structured Text (ST) di Supcon DCS sebagai artefak modular yang siap diaudit dan teachable lintas operator.
Struktur Function Block
(*------------------------------------------------------------------------------
FB Name : K_UNBALANCE
Purpose : Menghitung persentase ketidakseimbangan dari tiga input
(tegangan atau arus 3-fasa) berdasarkan metode Unbalance Ratio
(Voltage/Current). Memberikan nilai rata-rata sebagai referensi
audit dan status alarm jika melebihi ambang batas.
Author : Ketut P. Kumajaya
Contributor : Copilot (Microsoft AI)
Version : 1.1
Date : 21/10/2025
Input :
IN1 (FLOAT) - Input pertama (misalnya V_A atau I_A)
IN2 (FLOAT) - Input kedua (misalnya V_B atau I_B)
IN3 (FLOAT) - Input ketiga (misalnya V_C atau I_C)
THR (FLOAT) - Batas maksimum unbalance yang diperbolehkan
Output :
UNB (FLOAT) - Persentase ketidakseimbangan
AVG (FLOAT) - Nilai rata-rata dari ketiga input
ALM (BOOL) - Status alarm jika UNB > THR
Notes :
- UNB dihitung sebagai (deviasi maksimum / rata-rata) * 100%
(aproksimasi sederhana; untuk IEC Class A gunakan metode symmetrical components).
- Proteksi div/0: jika AVG=0 maka UNB=0 dan ALM=FALSE.
- Nilai absolut AVG digunakan sebagai denominator agar hasil selalu positif.
- Voltage Unbalance harus dijaga ≤ 2% continuous (IEC 61000-4-30)
atau ≤ 1% di motor terminals (NEMA MG-1).
Tegangan yang tidak seimbang sekecil 1–2% dapat memicu Current Unbalance
hingga 6–10 kali lebih besar. Current Unbalance direkomendasikan ≤ 10%
untuk menghindari derating motor.
- Current Unbalance sangat sensitif terhadap voltage imbalance
dan dapat menyebabkan pemanasan berlebih.
Motor biasanya perlu derating 0.5–2% daya untuk setiap 1% Current Unbalance
yang melebihi batas.
Referensi Standar :
- IEC 61000-4-30 : Metode symmetrical components untuk Voltage Unbalance
(Class A: agregasi 10-menit).
- NEMA MG-1 : Voltage Unbalance < 1% di motor terminals;
Current Unbalance bisa 6–10 kali lebih besar
(≤ 10% direkomendasikan).
- IEEE 1159 : Praktik monitoring kualitas daya, termasuk imbalance detection.
------------------------------------------------------------------------------*)
FUNCTION_BLOCK K_UNBALANCE
VAR_INPUT
IN1 : FLOAT; (* Input pertama *)
IN2 : FLOAT; (* Input kedua *)
IN3 : FLOAT; (* Input ketiga *)
THR : FLOAT; (* Threshold unbalance *)
END_VAR
VAR_OUTPUT
AVG : FLOAT; (* Nilai rata-rata dari ketiga input *)
UNB : FLOAT; (* Persentase ketidakseimbangan *)
ALM : BOOL; (* Alarm jika UNB > THR *)
END_VAR
VAR
Delta1 : FLOAT;
Delta2 : FLOAT;
Delta3 : FLOAT;
DeltaMax : FLOAT;
END_VAR
(* Hitung rata-rata *)
AVG := (IN1 + IN2 + IN3) / 3.0;
(* Proteksi div/0 *)
IF AVG <> 0.0 THEN
(* Deviasi masing-masing input *)
Delta1 := ABS_FLOAT(IN1 - AVG);
Delta2 := ABS_FLOAT(IN2 - AVG);
Delta3 := ABS_FLOAT(IN3 - AVG);
(* Cari deviasi terbesar *)
DeltaMax := MAX_FLOAT(Delta1, Delta2);
DeltaMax := MAX_FLOAT(DeltaMax, Delta3);
(* Hitung unbalance *)
UNB := (DeltaMax / ABS_FLOAT(AVG)) * 100.0;
(* Alarm check *)
IF UNB > THR THEN
ALM := TRUE;
ELSE
ALM := FALSE;
END_IF;
ELSE
UNB := 0.0;
ALM := FALSE;
END_IF;
END_FUNCTION_BLOCK
Penjelasan Modularitas
FB ini menggunakan pendekatan perhitungan eksplisit untuk menghitung rata-rata (AVG), deviasi tiap input, dan deviasi maksimum. Dengan cara ini, setiap langkah logika terlihat jelas dan mudah dipahami.
Output UNB menunjukkan persentase ketidakseimbangan, AVG menjadi baseline referensi, dan ALM memberikan status alarm otomatis jika nilai unbalance melebihi ambang batas (THR). Proteksi terhadap pembagian nol tetap diterapkan, sehingga FB robust dan siap diintegrasikan ke sistem SCADA lintas plant.
Flowchart
Kesimpulan
Function Block K_UNBALANCE adalah artefak modular yang memperkuat transparansi dan efisiensi dalam sistem DCS. Dengan perhitungan eksplisit, proteksi terhadap pembagian nol, serta output yang informatif (UNB, AVG, dan ALM), FB ini siap dijadikan template untuk pengembangan Function Block lain yang audit‑grade dan teachable lintas plant.