TIA IEC 61850 Siemens Bibliothek wie geht man da vor?

vollmi

Level-3
Beiträge
5.425
Reaktionspunkte
1.403
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Zusammen

Ich beschäftige mich zum ersten mal mit dem IEC 61850 Protokoll. Soweitsogut, Siemens hat ja ne schöne Bibliothek und Konfigurator dazu.

Von Schneider (die Schaltgeräte) habe ich ein ICD File bekommen welches ich im STATCON von Siemens eingelesen habe und damit die Pfade für die gewünschten Meldungen generiert habe.

Jetzt möchte aber Schneider von mir noch die CID File von uns. Wie mach ich den sowas? Ich dachte immer der Server liefert die ICD für den Client (mich) damit ich dann auf die Schaltgeräte zugreifen kann. Und die Konfiguration der Schaltgeräte macht dann deren Lieferant? Liege ich da falsch? In welcher Reihenfolge macht man das normalerweise?

Hat das Protokoll hier schonmal jemand verwendet?

mfG René
 
Hallo,
ICD ist sowas wie der Hardwarekatalog des angeschlossenen Gerätes. Das Gerät fertig parametriert ist dann die CID (HW Konfig des Gerätes). D.h. die möchten, dass du das Gerät fertig parametrierst.
Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Okay. Danke das haben wir jetzt geklärt. Die haben ein Tool um die CID zu erstellen. Für die Datenpunkte die ich brauche. Für mich hats so ausgesehen als könnte ich einfach auf alles zugreifen was in der ICD verfügbar ist.

Analogwerte funktionieren sogar schon. Jetzt hab ich noch probleme mit den Boolzuständen, da bin ich noch am Suchen warum da noch BAD stehen bleibt.

Witzig ist auch der Siemens Treiber. Ständig mit Stati 80C4 und 80C5 hängengeblieben. Bis ich nochmal das Beispiel durchforstet habe und gemerkt habe das die den Treiber im Weckalarm mit 100ms aufrufen. Nicht wie ich im OB1 Zyklus. Interessante Programmierung wenn man da einen Mindestzyklus für eine stabile Kommunikation braucht.

mfG René
 
Die Anlage läuft jetzt schon ne Weile. Aber offenbar mache ich noch was falsch.
Die Schaltgeräte hängen sich regelmässig auf so das man diese spannungslos machen muss und neu starten muss damit sie wieder auf IEC 61850 reagieren.

Jetzt hat mir der Schaltgeräte Lieferant gesagt das zyklisches Pollen der Zustände und Werte nicht üblich ist und sie sich vermutlich darum aufhängen.
Das zyklische Lesen im 100ms Takt ist einzustellen.
Ein zyklisches Pollen ist unüblich bei IEC 61850. In der Konfigurationsdatei der MiCOM P132 sind Reports für die Leittechnik konfiguriert.
Der Client abonniert diese Reports. Damit werden nur Daten verschickt, die sich geändert haben.

Jetzt habe ich diverse
  • IEC_RD_BO (BOOL tag)
  • IEC_RD_BS (BITSTRING tag)
  • IEC_RD_RL (REAL tag)

Welche ich jetzt also abonieren möchte.
kann ich wohl RD_BS jeweils gegen ein IEC_REP ersetzen. Nach bibliothek kann das ja Bitstring und Boolean

Aber wie mach ich das mit den Messwerten und Boolean?
Ich habe das z.B. so eingetragen mit IEC_RD_RL

Code:
(* Q0 Feder Gespannt *) // Boolean
    #"Q0_Fed.Gespannt"(R0_CONNECT := #IEC61850_COM_F01_Instance.CONNECT,
                       ADDRESS := 'System/CtlGGIO1$$ST$$Ind16$$stVal');
(* Zuordnug auf DB *)
    "MSZH"._DBX_44_3 := #"Q0_Fed.Gespannt".VALUE = 1;



// Strom I1 primär // Real    #A_I1_PRI(R0_CONNECT := #IEC61850_COM_F01_Instance.CONNECT,
              ADDRESS := 'Measurements/MmuPriMMXU1$$MX$$A$$phsA$$cVal$$mag$$f');
(* Zuordnung auf DB *)
    "MSZH"._DBD_46_0 := REAL_TO_INT(#A_I1_PRI.VALUE);
    
    // Strom I2 primär
    #A_I2_PRI(R0_CONNECT := #IEC61850_COM_F01_Instance.CONNECT,
              ADDRESS := 'Measurements/MmuPriMMXU1$$MX$$A$$phsB$$cVal$$mag$$f');
(* Zuordnung auf DB *)
    "MSZH"._DBD_50_0 := REAL_TO_INT(#A_I2_PRI.VALUE);
    
    // Strom I3 primär
    #A_I3_PRI(R0_CONNECT := #IEC61850_COM_F01_Instance.CONNECT,
              ADDRESS := 'Measurements/MmuPriMMXU1$$MX$$A$$phsC$$cVal$$mag$$f');
(* Zuordnung auf DB *)
    "MSZH"._DBD_54_0 := REAL_TO_INT(#A_I3_PRI.VALUE);
    
    // Strom IE primär
    #A_IE_PRI(R0_CONNECT := #IEC61850_COM_F01_Instance.CONNECT,
              ADDRESS := 'Measurements/MmuPriMMXU1$$MX$$A$$neut$$cVal$$mag$$f');
(* Zuordnung auf DB *)
    "MSZH"._DBD_58_0 := REAL_TO_INT(#A_IE_PRI.VALUE);

nehme ich da einfach UNI_RP60R20

und gebe da die adressen für die Messwerte und die Boolean an?
Obwohl die Adressen für die Messwerte so sind:
Measurements/MmuPriMMXU1$$MX$$A$$neut$$cVal$$mag$$f

und die boolean wild durchmischt.
System/CtlGGIO1$$ST$$Ind16$$stVal
System/CtlGGIO1$$ST$$Ind15$$stVal

also kann ich an dem Baustein diverse verschiedene Boolean und real deklarieren solange sie vom denselben Gerät kommen? oder muss ich da Gruppen beachten?

Ich habe leider kein Schaltgerät zum testen da. Will aber ungerne völlig unvorbereitet auf die Anlage fahren.
 
Zurück
Oben