WriteAllBytes

TwinCAT TIA
Lokal Datei- und Ordner-Zugriff Datei

ns=2;s=DEPRAG Smart/Local/FileAndDirectoryAccess/FileAccess/WriteAllBytes

Der Befehl schreibt ein Bytearray in eine Datei.

Parameter:

    FullPath
    Pfad der Datei. Die Datei kann entweder eine lokale Datei sein oder eine Datei, die auf einem Netzwerklaufwerk abgelegt ist.

Rückgabewert:

Beispiele:

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

Beckhoff Parameter:

    bFileAccessWriteAllBytes
    Eine boolesche Variable, über welche die Ausführung des WriteAllBytes-Befehls getriggert werden kann.
    OutputDataFileAccessWriteAllBytes
    Eine Instanz der "ST_VoidOutputData", in welche der Rückgabewert der WriteAllBytes-Methode geschrieben wird.
    hrFileAccessWriteAllBytes
    Hiermit kann die Ausführung des Befehls überwacht werden. Fehler-Codes haben den Typ "HRESULT".
    fbFileAccess
    Eine Instanz des, mit der DEPRAG Smart-Bibliothek gelieferten, "FB_FileAccess" Funktionsbausteins.
    sfullPathSourceFile
    Eine STRING-Variable, die den vollständigen Pfad der Datei enthält.
    BytesToWrite
    Ein Byte Array, das die zu schreibenden Daten enthält.
    nNumberOfBytesToWrite
    Eine UINT-Variable, welche die Anzahl der zu schreibenden Bytes enthält.
    ConnectionHandle
    Beim Verbindungsaufbau zwischen DEPRAG Smart Server und Ihrem OPC UA Client erhaltenes "ConnectionHandle".


VAR
     bFileAccessWriteAllBytes       : BOOL;
     OutputDataFileAccessWriteAllBytes     : ST_VoidOutputData;
     hrFileAccessWriteAllBytes       : HRESULT;

     fbFileAccess  : FB_FileAccess;
END_VAR

hrFileAccessWriteAllBytes := fbFileAccess.WriteAllBytes(
           bExecute     := bFileAccessWriteAllBytes,   
           ConnectionHandle  := depragSmartConnection.ConnectionHandle, 
           sfullPathSourceFile  := 'C:\Test\text.txt',
           BytesToWrite   := testShortByteArray,
           nNumberOfBytesToWrite := 4,
           OutputData    => OutputDataFileAccessWriteAllBytes);
IF hrFileAccessWriteAllBytes <> S_FALSE THEN 
     bFileAccessWriteAllBytes := 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.