GetDriveByIndex

TwinCAT TIA
Lokal Laufwerks-Management

ns=2;s=DEPRAG Smart/Local/DriveManagement/GetDriveByIndex

Der Befehl gibt die Eigenschaften für das Laufwerk mit dem angegebenen Index zurück.

Parameter:

    Index
    Eindeutiger Index, um in der Liste das gewünschte Laufwerk abzurufen.

Rückgabewert:

    GetDriveByIndex
    Eine Variable vom Typ OpcMethodReturnValueDriveInfo. In der Eigenschaft Result sind die befehlsspezifischen Rückgabewerte enthalten.

Beispiele:

Neben den bereits erläuterten Parametern sind für die Implementierung in TwinCAT 3 nachfolgende Variablen anzulegen / zu übergeben:

Beckhoff Parameter:

    bDriveManagementGetDriveByIndex
    Eine boolesche Variable, über welche die Ausführung des GetDriveByIndex-Befehls getriggert werden kann.
    OutputDataDriveManagementGetDriveByIndex
    Eine Instanz der "ST_GetDriveByIndexOutputData", in welche der Rückgabewert der GetDriveByIndex-Methode geschrieben wird.
    hrDriveManagementGetDriveByIndex
    Hiermit kann die Ausführung des Befehls überwacht werden. Fehler-Codes haben den Typ "HRESULT".
    fbDriveManagement
    Eine Instanz des, mit der DEPRAG Smart-Bibliothek gelieferten, "FB_DriveManagement" Funktionsbausteins.
    nIndex
    Eine DINT-Variable, welche den eindeutigen Index enthält, um in der Liste das gewünschte Laufwerk abzurufen.
    ConnectionHandle
    Beim Verbindungsaufbau zwischen DEPRAG Smart Server und Ihrem OPC UA Client erhaltenes "ConnectionHandle".


VAR
          bDriveManagementGetDriveByIndex    : BOOL;
          OutputDataDriveManagementGetDriveByIndex : ST_GetDriveByIndexOutputData;
          hrDriveManagementGetDriveByIndex   : HRESULT;

          fbDriveManagement : FB_DriveManagement;
END_VAR

hrDriveManagementGetDriveByIndex := fbDriveManagement.GetDriveByIndex(
          bExecute    := bDriveManagementGetDriveByIndex,
          ConnectionHandle  := depragSmartConnection.ConnectionHandle,
          nIndex     := 0,
          OutputData   => OutputDataDriveManagementGetDriveByIndex);
IF hrDriveManagementGetDriveByIndex <> S_FALSE THEN 
          bDriveManagementGetDriveByIndex := FALSE;
END_IF
                                                    

Für Beispiele und Erklärungen bezüglich der Aufrufe von Knoten via Siemens TIA Portal sei an dieser Stelle auf den Unterpunkt "Siemens TIA Portal" in Abschnitt "Erste Schritte" verwiesen.