MQTTAuthProperties (STRUCT) ¶ TYPE MQTTAuthProperties : STRUCT Auth properties (MQTT V5) MQTTAuthProperties can be send to the server via the method MQTTClient.SendAuth(). The content of pbAuthenticationData depends on the authentication method. InOut: Name Type Comment wsAuthenticationMethod WSTRING Name of the authentication method pbAuthenticationData POINTER TO BYTE Binary Data containing authentication data udiAuthenticationDataSize UDINT Size of pbAuthenticationData userProperties ARRAY [0..(MQTTParam.g_udiMaxUserProperties - 1)] OF MQTTStringPair User defined properties
MQTTConnackProperties (STRUCT) ¶ TYPE MQTTConnackProperties : STRUCT Properties of CONNACK, AUTH and DISCONNECT packets (MQTT V5). InOut: Name Type Comment udiSessionExpiryInterval UDINT Session Expiry Interval in seconds. wsAssignedClientIdentifier WSTRING Assigned Client Identifier: If the Client connects using a zero length Client Identifier, the Server MUST respond with a CONNACK containing an Assigned Client Identifier. uiServerKeepAlive UINT The Keep Alive is a time interval measured in seconds. It is the maximum time interval that is permitted to elapse between the point at which the Client finishes transmitting one MQTT Control Packet and the point it starts sending the next. The server Keep Alive interval overwrites the value of the input tPingInterval. xAuthPacketReceived BOOL TRUE, if a AUTH Packet has been received. The data is stored in wsAuthenticationMethod, bAuthenticationData and udiAuthenticationDataSize. The ReasonCode is stored in MQTTClient.eReaonCode. The response to the server can be send via the method MQTTClient.SendAuth(). wsAuthenticationMethod WSTRING Name of the authentication method bAuthenticationData ARRAY [0..MQTTParam.g_udiMaxAuthDataSize] OF BYTE Binary Data containing authentication data udiAuthenticationDataSize UDINT Size of pbAuthenticationData wsResponseInformation WSTRING Basis for Response Topics. wsServerReference WSTRING String which can be used to identify another Server to use. The Server uses a Server Reference in either a CONNACK or DISCONNECT packet with Reason code of 0x9C (Use another server) or Reason Code 0x9D (Server moved). wsReasonString WSTRING String representing the reason for the disconnect. uiReceiveMaximum UINT The Server uses this value to limit the number of QoS 1 and QoS 2 publications that it is willing to process concurrently for the Client. uiTopicAliasMaximum UINT The maximum value of topic aliases. bMaximumQoS BYTE Maximum allowed QoS of the server. A value of 255 means that the value has not been set. bRetainAvailable BYTE Retain Available: A value of 0 means that retained messages are not supported. A value of 1 means retained messages are supported. A value of 255 means that the value has not been set. udiMaximumPacketSize UDINT Maximum packet size of the server A value of 0 means that the value has not been set. bWildcardSubscriptionAvailable BYTE Wildcard Subscription Available: A value is 0 means that Wildcard Subscriptions are not supported. A value of 1 means Wildcard Subscriptions are supported. A value of 255 means that the value has not been set. bSubscriptionIdentifierAvailable BYTE Subscription Identifiers Available: A value is 0 means that Subscription Identifiers are not supported. A value of 1 means Subscription Identifiers are supported. A value of 255 means that the value has not been set. bSharedSubscriptionAvailable BYTE Shared Subscription Available: A value of 1 means Shared 1356 Subscriptions are supported. If not present, then Shared Subscriptions are supported. A value of 255 means that the value has not been set. userProperties ARRAY [0..(MQTTParam.g_udiMaxUserProperties - 1)] OF MQTTStringPair Received user prperties
MQTTConnectProperties (STRUCT) ¶ TYPE MQTTConnectProperties : STRUCT Connect properties (MQTT V5) InOut: Name Type Comment udiSessionExpiryInterval UDINT Session Expiry Interval: Time in seconds a session retains after a disconnect. wsAuthenticationMethod WSTRING Name of the authentication method pbAuthenticationData POINTER TO BYTE Binary Data containing authentication data udiAuthenticationDataSize UDINT Size of pbAuthenticationData bRequestProblemInformation BYTE The Client uses this value to indicate whether the Reason String or User Properties are sent in the case of failures. bRequestResponseInformation BYTE This value can be used to request the Server to return Response Information. uiReceiveMaximum UINT The Client uses this value to limit the number of QoS 1 and QoS 2 publications that it is willing to process concurrently. There is no mechanism to limit the QoS 0 publications that the Server might try to send. uiTopicAliasMaximum UINT This value indicates the highest value that the Server will accept as a Topic Alias sent by the Client. udiMaximumPacketSize UDINT The Client uses the Maximum Packet Size to inform the Server that it will not process packets exceeding this limit. userProperties ARRAY [0..(MQTTParam.g_udiMaxUserProperties - 1)] OF MQTTStringPair User defined properties
createJWT (FB) ¶ FUNCTION_BLOCK createJWT EXTENDS CBML.ETrigTo Function Block to create a JSON Web Tocken (JWT) InOut: Scope Name Type Initial Comment Inherited from Input xExecute BOOL Rising edge: Starts defined operation FALSE : Resets the defined operation after ready condition was reached ETrigTo udiTimeOut UDINT Max. operating time for executing [µs], 0: No operating time limit ETrigTo Output xDone BOOL Ready condition reached ETrigTo xBusy BOOL Operation is running ETrigTo xError BOOL Error condition reached ETrigTo Input header JSON.JSONData JSON representation of the JWT Header payload JSON.JSONData JSON representation of the JWT Payload sSecret STRING(511) ‘’ Secret for Symetric signing sUseCaseName STRING ‘’ A name to identify this context in the security manager sCommonName STRING ‘’ Certificate Common Name pbJWT POINTER TO BYTE Pointer to JWT output udiMaxJWTSize UDINT Maximum size of JWT output eAlgorithm JWTAlgorithm JWT Algorithm Output udiJWTSize UDINT Size of JWT output eError Error Output Error
Gloabal Constant ¶ Gloabal_Constant (GVL)
Gloabal_Constant (GVL) ¶ Attributes: qualified_only InOut: Scope Name Type Initial Comment Constant gc_MaxJWTSize UINT 2047 Max imum size of JWT. Default 2047 => 2048 Bit long JWT
File and Project Information ¶ Scope Name Type Content FileHeader creationDateTime date 11.09.2023, 10:39:02 companyName string 3S-Smart Software Solutions GmbH libraryFile JSON Web Token SL.library primaryProject True productName CODESYS productProfile CODESYS V3.5 SP16 Patch 3 contentFile JSON Web Token SL.clean.json version version 2.0.0.0 ProjectInformation OnlineHelp bool True Released True LastModificationDateTime date 11.09.2023, 10:39:00 LibraryCategories library-category-list Application|Utils Author string CODESYS Development GmbH Company CODESYS CompiledLibraryCompatibilityVersion CODESYS V3.5 SP15 Patch 2 DefaultNamespace JWT Description See: Description DocFormat reStructuredText DocLanguages en,de LanguageModelAttribute qualified-access-only Placeholder JSON_Web_Token_SL Project JSON Web Token SL Title JSON Web Token SL Version version 1.9.0.0
MQTTPublishProperties (STRUCT) ¶ TYPE MQTTPublishProperties : STRUCT Publish properties (MQTT V5) The structure is used for sending and receiving properties. Notice: Some fields are only relevant for the publisher or the subscriber. InOut: Name Type Comment bPayloadFormatIndicator BYTE Payload Format: 0: Binary Data, 1: UTF-8 (relevant for publisher and subscriber) udiMessageExpiryInterval UDINT Expiry interval of the message in seconds (relevant for publisher and subscriber) wsContentType WSTRING MIME style content type of the payload (relevant for publisher and subscriber) wsResponseTopic WSTRING(1024) Some applications or standards might wish to run a Request/Response interaction over MQTT. The Resopnse Topic can be used for this purpose. (relevant for publisher and subscriber) udiCorrelationDataSize UDINT Size of the correlation data buffer |paCorrelationData| (relevant for publisher and subscriber) paCorrelationData POINTER TO BYTE Pointer to correlation data buffer. The Correlation Data is used by the sender of the Request Message to identify which request the Response Message is for when it is received. (relevant for publisher and subscriber) udiSubscriptionIdentifier UDINT The subscription identifier of the last received message (see output of the subscriber function block). The subscription identifier can be set via MQTTSubscribeProperties.udiSubscriptionIdentifier. The identifier has no effect for the publisher function block. (relevant for the subscriber) uiTopicAlias UINT A Topic Alias is an integer value that is used to identify the Topic instead of using the Topic Name. If a Topic Alias mapping has been set at the receiver (the broker), a sender can send a PUBLISH packet that contains that Topic Alias and a zero length Topic Name. The receiver (the broker) then treats the incoming PUBLISH as if it had contained the Topic Name of the Topic Alias. The Topic Alias has no effect for the subscriber function block and is not transferd from the broker to the subscriber. (relevant for the publisher) userProperties ARRAY [0..(MQTTParam.g_udiMaxUserProperties - 1)] OF MQTTStringPair User defined properties (relevant for publisher and subscriber)
MQTTStringPair (STRUCT) ¶ TYPE MQTTStringPair : STRUCT Key-value pair for user properties (MQTT V5) InOut: Name Type Comment wsKey WSTRING(MQTTParam.g_udiMaxUserPropertyValueLength) The key wsValue WSTRING(MQTTParam.g_udiMaxUserPropertyValueLength) The value
MQTTSubscribeProperties (STRUCT) ¶ TYPE MQTTSubscribeProperties : STRUCT Subscribe properties (MQTT V5) InOut: Name Type Comment udiSubscriptionIdentifier UDINT The subscription identifier will be returned on the message when it is delivered. This allows the Client to determine which subscription or subscriptions caused the message to be delivered. Setting the identifier accelerates the filtering of the telegrams in the subscriber function block. udiCorrelationDataSize UDINT Size of the correlation data receive buffer |paCorrelationData| paCorrelationData POINTER TO BYTE Pointer to correlation data reveive buffer. The Correlation Data is used by the sender of the Request Message to identify which request the Response Message is for when it is received. userProperties ARRAY [0..(MQTTParam.g_udiMaxUserProperties - 1)] OF MQTTStringPair User defined properties xNoLocalOption BOOL No Local option If the value is TRUE, Application Messages MUST NOT be forwarded to a connection with a ClientID equal to the ClientID of the publishing connection xRetainAsPublished BOOL Retain As Published option If TRUE, Application Messages forwarded using this subscription keep the RETAIN flag they were published with. eRetainHandling MQTT_RETAIN_HANDLING This option specifies 2135 whether retained messages are sent when the subscription is established.