FB_MDP_ReadElement

FB_MDP_ReadElement 1:

Update: Tc3_IPCDiag Bibliothek

Die TwinCAT 3 SPS Bibliothek Tc2_MDP ist der Vorgänger zur Tc3_IPCDiag. Mit der neuen Tc3_IPCDiag Bibliothek wurde zum einen die Menge lesbarer Parameter vergrößert und zum anderen die Anwenderschnittstelle optimiert. Es wird empfohlen die Tc3_IPCDiag Bibliothek zu verwenden.
Zukünftige Erweiterungen werden nicht mehr in der Tc2_MDP Bibliothek durchgeführt. Eine Verwendung der Tc2_MDP Bibliothek für neue Projekte wird nicht empfohlen. Alle Funktionalitäten der Tc2_MDP Bibliothek sind ebenfalls in der neuen Tc3_IPCDiag Bibliothek zu finden.

FB_MDP_ReadElement 2:

Der Funktionsbaustein ermöglicht das Abfragen eines einzelnen MDP Elementes. Jedes Element aus jedem Modul der Configuration Area kann so gelesen werden!

Intern wird in dem Gerät nach dem gewählten Modul gescannt und mit der dynamischen Modul ID die Elementinformation abgefragt.

VAR_INPUT

VAR_INPUT
    bExecute    : BOOL;
    stMDP_Addr  : ST_MDP_Addr;        (* includes all address parameters without the Dynamic Module Id *)
    eModuleType : E_MDP_ModuleType;   (* chosen module type out of the module type list *)
    iModIdx     : USINT;              (* chosen index(0..n) of the demanded module type. E.g. second NIC(idx 1) of three found NICs. *)
    pDstBuf     : DWORD;              (* Contains the address of the buffer for the received data. *)
    cbDstBufLen : UDINT;              (* Contains the max. number of bytes to be received. *)
    tTimeout    : TIME := DEFAULT_ADS_TIMEOUT; (* States the time before the function is cancelled. *)
    sAmsNetId   : 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.

stMDP_Addr: An diesem Eingang wird die MDP Adressierung angegeben, welche zu dem gewählten Modul gehört. Die Struktur ist vom Typ ST_MDP_Addr.
Die Area muss als Configuration Area angegeben werden.
Die dynamische Modul ID wird erst intern hinzugefügt und darf nicht angegeben werden.

iModIdx: Falls ein MDP Modul mehrfach vorhanden ist, kann mittels des Eingangs iModIdx eine Auswahl (0,...,n) getroffen werden.

pDstBuf: An diesem Eingang wird die Speicheradresse des Datenpuffers angegeben. Dort werden bei erfolgreicher Abfrage die empfangenen Daten abgelegt.

cbDstBufLen: An diesem Eingang wird die Länge in Byte des Datenpuffers angegeben.

tTimeout: Gibt eine maximale Zeitdauer für die Ausführung des Funktionsbausteines an.

sAmsNetId: 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
    bBusy            : BOOL;
    bError           : BOOL;         (* indicates if Read was successfull or not *)
    nErrID           : UDINT;
    nCount           : UDINT;
    stMDP_DynAddr    : ST_MDP_Addr;  (* includes the new dynamic module type id. *)
    iModuleTypeCount : USINT;        (* returns the number of found modules equal the demanded module type. *)
    iModuleCount     : USINT;        (* returns the number of all detected MDP modules. *)
END_VAR

bBusy: Dieser Ausgang ist TRUE solange der Funktionsbaustein aktiv ist.

bError: Wird TRUE, sobald eine Fehlersituation eintritt.

nErrID: Liefert bei einem gesetzten bError-Ausgang einen Fehlercode.

nCount: Dieser Ausgang gibt die Anzahl der gelesenen Bytes an.

stMDP_DynAddr: An diesem Ausgang wird die MDP Adressierung angegeben, welche zu dem gewählten MDP Modul gehört. Die Struktur ist vom Typ ST_MDP_Addr. Die dynamische Modul ID wurde durch den Funktionsbaustein hinzugefügt.

iModuleTypeCount: Der Ausgang iModuleTypeCount gibt die Anzahl der Module an, welche dem angegebenen Typ entsprechen.

iModuleCount: Der Ausgang iModuleCount gibt die komplette Anzahl der Module auf dem Gerät an.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.1.0

PC oder CX (x86, x64,ARM)

Tc2_MDP