Poprawki od Gemini, parsowanie pliku nastawy.txt

Dodany konwerter w pythonie do konwersji nastaw z docx na txt
This commit is contained in:
2026-02-19 08:32:33 +01:00
parent a8cd93ab02
commit 6c948b44fa
18 changed files with 544 additions and 313 deletions

View File

@@ -11,12 +11,13 @@ class DistanceRelay:
Algorytm zabezpieczenia odległościowego
Implementacja charakterystyki wielokątnej (quadrilateral)
"""
def __init__(self, Z_line_R=2.0, Z_line_X=8.0, line_angle=75.0):
def __init__(self, Z_line_R=2.0, Z_line_X=8.0, line_angle=75.0, settings=None, kierunek=0):
# Impedancja linii (obliczona z danych)
self.Z_line_R = Z_line_R
self.Z_line_X = Z_line_X
self.Z_line_mag = np.sqrt(Z_line_R**2 + Z_line_X**2)
self.line_angle = line_angle
self.kierunek = kierunek
# === Nastawy stref jako % impedancji linii ===
# Strefa 1 - 80% linii (natychmiastowa)
@@ -33,6 +34,20 @@ class DistanceRelay:
self.Z3_R = self.Z_line_R * 2.0
self.Z3_X = self.Z_line_X * 2.0
self.tZ3 = 600 # 600ms
# Nadpisz nastawy, jeśli dostarczono plik konfiguracyjny
if settings:
print("\n--- Nadpisywanie nastaw z pliku konfiguracyjnego ---")
self.Z1_R = float(settings.get('Z1_R', self.Z1_R))
self.Z1_X = float(settings.get('Z1_X', self.Z1_X))
self.tZ1 = int(settings.get('tZ1', self.tZ1))
self.Z2_R = float(settings.get('Z2_R', self.Z2_R))
self.Z2_X = float(settings.get('Z2_X', self.Z2_X))
self.tZ2 = int(settings.get('tZ2', self.tZ2))
self.Z3_R = float(settings.get('Z3_R', self.Z3_R))
self.Z3_X = float(settings.get('Z3_X', self.Z3_X))
self.tZ3 = int(settings.get('tZ3', self.tZ3))
print("--- Koniec nadpisywania nastaw ---\n")
# Kąt charakterystyki (na podstawie kąta linii)
self.angle_r1 = line_angle