FB_[IEDName]Gse
Dieser Baustein verbindet einen Netzwerkadapter des TwinCAT-Steuerungsrechners mit den GOOSE-Kontrollblöcken im Datenmodell und steuert die Ausführung dieser Kontrollblöcke.
Um die GOOSE-Kommunikation nutzen zu können, muss der Echtzeit-Netzwerkadapter in Betrieb genommen und verknüpft werden. Dies ist in RT - Ethernet Adapter Konfiguration erläutert.
Syntax
Definition:
FUNCTION_BLOCK FB_[IEDName]Gse IMPLEMENTS I_GseLinkStatusEventSink
VAR_INPUT
fbAdapter : FB_GseAdapterClass := (ipLinkStatus:=THIS^);
END_VAR
VAR
eLinkStatus : E_GseLinkStatus;
bSuccess : BOOL;
ipError : I_ServiceErrorClass;
bSubscribe : BOOL := TRUE;
bUnsubscribe : BOOL;
END_VAR
bSuccess:= fbAdapter.Execute(ipError=>ipError);
IF bSubscribe THEN
bSubscribe:= FALSE;
bSuccess:= fb[IEDName].IEDLD1.LLN0.gocb01.Subscriber.Enable(ipAdapter:=fbAdapter, ipError=>ipError);
bSuccess:= fb[IEDName].IEDLD1.LLN0.gocb02.Subscriber.Enable(ipAdapter:=fbAdapter, ipError=>ipError);
bSuccess:= fb[IEDName].IEDLD1.LLN0.gocb03.Subscriber.Enable(ipAdapter:=fbAdapter, ipError=>ipError);
ELSIF bUnsubscribe THEN
bUnsubscribe:= FALSE;
bSuccess:= fb[IEDName].IEDLD1.LLN0.gocb01.Subscriber.Disable(ipError=>ipError);
bSuccess:= fb[IEDName].IEDLD1.LLN0.gocb02.Subscriber.Disable(ipError=>ipError);
bSuccess:= fb[IEDName].IEDLD1.LLN0.gocb03.Subscriber.Disable(ipError=>ipError);
ELSE
bSuccess:= fb[IEDName].IEDLD1.LLN0.gocb01.Subscriber.Execute(ipError=>ipError);
bSuccess:= fb[IEDName].IEDLD1.LLN0.gocb02.Subscriber.Execute(ipError=>ipError);
bSuccess:= fb[IEDName].IEDLD1.LLN0.gocb03.Subscriber.Execute(ipError=>ipError);
END_IF