GetValueForMember

TwinCAT TIA
Lokal Datei- und Ordner-Zugriff JSON-Reader ActiveJsonDocuments Ein JSON-Dokument

ns=2;s=DEPRAG Smart/Local/FileAndDirectoryAccess/Json/ActiveJsonDocuments/0/GetValueForMember

Der Befehl gibt den Wert des angegebenen Elements zurück. Dieser Befehl wird genutzt, wenn ein skalarer Wert erwartet wird.

Parameter:

Rückgabewert:

    GetValueForMember
    Eine Variable vom Typ OpcMethodReturnValueString. In der Eigenschaft Result sind die befehlsspezifischen Rückgabewerte enthalten.
      Result
      Der Wert des angegebenen JSON-Elements.

Beispiele:

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

Beckhoff Parameter:

    bJsonGetValueForMember
    Eine boolesche Variable, über welche die Ausführung des GetValueForMember-Befehls getriggert werden kann.
    OutputDataJsonGetValueForMember
    Eine Instanz der "ST_StringOutputData" Struktur, in welche der Rückgabewert der GetValueForMember-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.
    MemberPath
    Eine STRING(255)-Variable, welche den Pfad des JSON-Elements in der JSON-Datei spezifiziert.
    ClientId
    Eine STRING(255)-Variable, die das JSON-Dokument in der Liste der ActiveJsonDocuments eindeutig identifiziert.
    ConnectionHandle
    Beim Verbindungsaufbau zwischen DEPRAG Smart Server und Ihrem OPC UA Client erhaltenes "ConnectionHandle".


VAR
   bJsonGetValueForMember   : BOOL;
   OutputDataJsonGetValueForMember   : ST_StringOutputData;
   hrJsonOpenJsonDocument  : HRESULT;

   fbJson : FB_Json;
END_VAR

hrJsonGetValueForMember := fbJson.GetValueForMember(
         bExecute    := bJsonGetValueForMember,   
         ConnectionHandle := depragSmartConnection.ConnectionHandle, 
         MemberPath   := 'Data.ApiVersionUrl',  
         ClientId   := '0',
         OutputData   => OutputDataJsonGetValueForMember);
IF hrJsonGetValueForMember <> S_FALSE THEN 
   bJsonGetValueForMember := 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.