Encoding

Write Read TwinCAT TIA
Network TCP/IP client ActiveClients One client

ns=2;s=DEPRAG Smart/Network/TCP/IP/ActiveClients/0/Encoding

The encoding of the message content: Ascii, BigEndian, Unicode, Default, Latin1, Unicode, Utf32, Utf7, Utf8

Examples:

In addition to the parameters already explained, the following variables must be created / transferred for the implementation in TwinCAT 3:

Beckhoff parameter:

    bTcpIpReadEncoding
    A boolean variable that can be used to trigger the execution of the ReadEncoding command.
    bTcpIpRWriteEncoding
    A boolean variable that can be used to trigger the execution of the WriteEncoding command.
    TcpIpEncoding
    A DINT variable in which the coding of the message content is stored.
    hrTcpIpEncoding
    This can be used to monitor the execution of the command. Error codes have the type HRESULT.
    fbTcpIp
    An instance of the "FB_TcpIp" function block supplied with the DEPRAG Smart library.
    ClientId
    A STRING(255) variable representing the ID of the client.
    PointerToNodeValue
    A variable of the type "POINTER TO BYTE", in which the value to be set is stored.
    SizeOfNodeValue
    A UINT variable containing the length of the value to be set.
    ConnectionHandle
    "ConnectionHandle" received when establishing a connection between DEPRAG Smart Server and your OPC UA client.


VAR
   bTcpIpReadEncoding  : BOOL;
   bTcpIpRWriteEncoding : BOOL;
   TcpIpEncoding   : DINT;
   hrTcpIpEncoding   : HRESULT;

   fbTcpIp  : FB_TcpIp;
END_VAR

hrTcpIpEncoding := fbTcpIp.ReadEncoding(
        bExecute    := bTcpIpReadEncoding,
        ConnectionHandle  := depragSmartConnection.ConnectionHandle,
        ClientId   := '0',
        Output    => TcpIpEncoding);
IF hrTcpIpEncoding <> S_FALSE THEN 
   bTcpIpReadEncoding := FALSE;
END_IF 
    
hrTcpIpEncoding := fbTcpIp.WriteEncoding(
        bExecute    := bTcpIpRWriteEncoding,
        ConnectionHandle  := depragSmartConnection.ConnectionHandle,
        ClientId   := '0',
        PointerToNodeValue  := ADR(TcpIpEncoding),
        SizeOfNodeValue  := SIZEOF(TcpIpEncoding));
IF hrTcpIpEncoding <> S_FALSE THEN 
   bTcpIpRWriteEncoding := FALSE;
END_IF 
                                                    

For examples and explanations regarding the calls of nodes via Siemens TIA Portal please refer to the sub-menu "Siemens TIA Portal" in section "Getting Started".