FB_IPCDiag_WriteParameter
Der Funktionsbaustein ermöglicht das Schreiben eines IPC-Diagnose Parameters. Ein gewünschter Parameter wird aus der Enumeration E_IPCDiag_ParameterKey ausgewählt.
Manche Parameter können grundsätzlich mehrfach vorhanden sein. Mit den Eingängen des Funktionsbausteins muss jedoch explizit definiert werden, welcher einzelne Parameter geschrieben werden soll.
VAR_INPUT
bExecute : BOOL;
eParameterKey : E_IPCDiag_ParameterKey;
pBuffer : PVOID; (* parameter buffer with a given size of nBufferSize *)
nBufferSize : UDINT;
nModuleIdx : USINT := 1; (* optional module selection *)
nListIdx : USINT := 1; (* optional list entry selection *)
tTimeout : TIME := DEFAULT_ADS_TIMEOUT; (* States the time before the function is cancelled. *)
sNetId : T_AmsNetId := ''; (* keep empty '' for the local device *)
END_VAR
VAR_IN_OUT CONSTANT
fbRegister : FB_IPCDiag_Register;
END_VAR
bExecute: Mit einer positiven Flanke am Eingang bExecute wird der Funktionsbaustein aufgerufen, sofern der Baustein nicht aktiv ist.
eParameterKey: An diesem Eingang wird der Parameter, welcher geschrieben werden soll, als Enumerationswert vom Typ E_IPCDiag_ParameterKey ausgewählt.
pBuffer: An diesem Eingang wird die Speicheradresse des Datenpuffers angegeben. Dort müssen die zu übertragenen Daten abgelegt sein.
nBufferSize: An diesem Eingang wird die Länge in Byte des Datenpuffers angegeben.
nModuleIdx: Sofern es mehrere Modulinstanzen gibt, die den Parameter beinhalten, muss hier die gewünschte Modulinstanz ausgewählt werden. Der Modulindex beginnt bei 1.
nListIdx: Sofern es sich um einen Listenparameter handelt, muss hier der Listeneintrag ausgewählt werden. Der Listenindex beginnt bei 1.
tTimeout: Gibt eine maximale Zeitdauer für die Ausführung des Funktionsbausteines an.
sNetId: Um die Anfrage auf dem lokalen Gerät durchzuführen, bedarf es keiner Angabe dieser Eingangsvariablen. Alternativ kann ein leerer String angegeben werden. Um die Anfrage an einen anderen Computer zu richten, kann hier dessen AMS Net Id (vom Typ T_AmsNetId) angegeben werden.
fbRegister: Die Instanz von FB_IPCDiag_Register muss übergeben werden, damit der Funktionsbaustein die vorhandenen Informationen zur IPC Diagnose Konfiguration auf dem Zielsystem nutzen kann.
Diese Instanz muss zuvor aufgerufen worden sein. Andernfalls wird ein Fehler ausgegeben.
VAR_OUTPUT
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
hrErrorCode : HRESULT;
ipErrorMessage : I_TcMessage;
END_VAR
bBusy: Dieser Ausgang ist TRUE, solange der Funktionsbaustein aktiv ist.
bError: Wird TRUE, sobald eine Fehlersituation eintritt.
hrErrorCode: Liefert bei einem gesetzten bError-Ausgang einen Fehlercode.
ipErrorMessage: Liefert bei einem gesetzten bError-Ausgang detaillierte Informationen. Der hierzu verwendete Schnittstellenzeiger ist immer gültig (ungleich Null) und vom Typ I_TcMessage. Insbesondere ist der entsprechende Fehler im PLC-OnlineView sofort als Klartext zu sehen.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.4024.7 | IPC oder CX (x86, x64, ARM) | Tc3_IPCDiag |