OpenJsonDocument

TwinCAT
Lokal Datei- und Ordner-Zugriff JSON-Reader

ns=2;s=DEPRAG Smart/Local/FileAndDirectoryAccess/Json/OpenJsonDocument

Der Befehl öffnet eine JSON-Datei zur weiteren Bearbeitung. Der Reader kann über den zurückgegebenen Index aus der Liste "ActiveJsonDocuments" abgerufen werden.

Parameter:

Rückgabewert:

    OpenJsonDocument
    Eine Variable vom Typ OpcMethodReturnValueInt32. In der Eigenschaft Result sind die befehlsspezifischen Rückgabewerte enthalten.
      Result
      Eindeutiger Index, um das JSON-Dokument in der Liste ActiveJsonDocuments abzurufen.

Beispiele:

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

Beckhoff Parameter:

    bJsonOpenJsonDocument
    Eine boolesche Variable, über welche die Ausführung des OpenJsonDocument-Befehls getriggert werden kann.
    OutputDataJsonOpenJsonDocument
    Eine Instanz der "ST_JsonDocumentOutputData" Struktur, in welche der Rückgabewert der OpenJsonDocument-Methode geschrieben wird.
    hrJsonOpenJsonDocument
    Hiermit kann die Ausführung des Befehls überwacht werden. Fehler-Codes haben den Typ "HRESULT".
    fbJson
    Eine Instanz des, mit der DEPRAG Smart-Bibliothek gelieferten, "FB_Json" Funktionsbausteins.
    sfullFilePath
    Eine STRING(255)-Variable, welche den Pfad der JSON-Datei enthält.
    ConnectionHandle
    Beim Verbindungsaufbau zwischen DEPRAG Smart Server und Ihrem OPC UA Client erhaltenes "ConnectionHandle".


VAR
   bJsonOpenJsonDocument   : BOOL;
   OutputDataJsonOpenJsonDocument   : ST_JsonDocumentOutputData;
   hrJsonOpenJsonDocument  : HRESULT;

   fbJson : FB_Json;
END_VAR

hrJsonOpenJsonDocument := fbJson.OpenJsonDocument(
         bExecute     := bJsonOpenJsonDocument,   
         ConnectionHandle  := depragSmartConnection.ConnectionHandle, 
         sfullFilePath   := 'C:\Test\Test.json',
         OutputData    => OutputDataJsonOpenJsonDocument);
IF hrJsonOpenJsonDocument <> S_FALSE THEN 
  bJsonOpenJsonDocument := 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.