FB_IPCDiag_Register

Der Funktionsbaustein prüft, welche IPC Diagnose Parameter verfügbar sind, und legt hierzu ein Register an. Konkret wird eine Liste aller vorhandenen Parametermodule angelegt. Der Funktionsbaustein muss dies nur einmalig, typischerweise zum Programmstart, ermitteln.
Wenn Diagnoseparameter eines Remote Systems mittels einer nicht lokalen AMS Net Id abgefragt werden sollen, so ist der Funktionsbaustein nach dessen Start auszuführen.

Weitere Funktionsbausteine der Bibliothek, wie FB_IPCDiag_ReadParameter, müssen die Instanz von FB_IPCDiag_Register übergeben bekommen, um Informationen über das ermittelte Register zu erhalten.

VAR_INPUT

VAR_INPUT
    bExecute    : BOOL;
    tTimeout    : TIME := DEFAULT_ADS_TIMEOUT;   (* States the time before the function is cancelled. *)
    sNetId      : T_AmsNetId := '';              (* keep empty '' for the local device *)
END_VAR

bExecute: Mit einer positiven Flanke am Eingang bExecute wird der Funktionsbaustein aufgerufen, sofern der Baustein nicht aktiv ist.

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.

VAR_OUTPUT

VAR_OUTPUT
    bValid         : BOOL;        (* read data available =(NOT bBusy AND NOT bError) *)
    bBusy          : BOOL;
    bError         : BOOL;
    hrErrorCode    : HRESULT;
    ipErrorMessage : I_TcMessage;
    stModuleList   : ST_IPCDiag_ModuleList;
END_VAR

bValid: Dieser Ausgang ist TRUE, sofern bBusy=FALSE und bError=FALSE sind.

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.

stModuleList: Dieser Ausgang gibt die Liste der vorhandenen Module an. Diese Information ist in einer Applikation selbst meist nicht notwendig.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.1.4024.7

IPC oder CX (x86, x64, ARM)

Tc3_IPCDiag