ConvertUTF8toUTF16 (FUN) ¶ FUNCTION ConvertUTF8toUTF16 : UDINT Converts a STRING to WSTRING. InOut: Scope Name Type Comment Return ConvertUTF8toUTF16 UDINT Input sourceStart POINTER TO BYTE Pointer to STRING targetStart POINTER TO WORD Pointer to WSTRING dwTargetBufferSize DWORD Size of the WSTRING bStrictConversion BOOL
File and Project Information ¶ Scope Name Type Content FileHeader creationDateTime date 06.05.2024, 08:26:30 companyName string 3S-Smart Software Solutions GmbH libraryFile MQTT Client SL.library primaryProject True productName CODESYS productProfile CODESYS V3.5 SP16 Patch 3 contentFile MQTT Client SL.clean.json version version 2.0.0.0 ProjectInformation ActivateDongleLicensing bool False AutoResolveUnbound True IsEndUserLibrary True OnlineHelp True Released True SourceLibrary False LastModificationDateTime date 06.05.2024, 08:26:27 FirmCode int 101597 ProductCode 8794 LibraryCategories library-category-list Application|Utils ActivationMail string ActivationUrl AlternativeFirmCodes 5000304 Author CODESYS Development GmbH Company CODESYS CompiledLibraryCompatibilityVersion CODESYS V3.5 SP15 Patch 2 DefaultNamespace MQTT Description See: Description DocFormat reStructuredText DocLanguages de,en LanguageModelAttribute qualified-access-only Placeholder MQTT_Client_SL Project MQTT Client SL Title MQTT Client SL Version version 1.10.0.0
Library Reference ¶ This is a dictionary of all referenced libraries and their name spaces. 3SLicense ¶ Library Identification ¶ Placeholder: 3SLicense Default Resolution: 3SLicense, * (3S - Smart Software Solutions GmbH) Namespace: _3S_LICENSE Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: 3SLicense CAA FB Factory ¶ Library Identification ¶ Placeholder: CAA FB Factory Default Resolution: CAA FB Factory, * (CAA Technical Workgroup) Namespace: FBF Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: True SystemLibrary: False Key: CAA FB Factory CAA Real Time Clock Extern ¶ Library Identification ¶ Placeholder: CAA RTCLK Default Resolution: CAA Real Time Clock Extern, * (CAA Technical Workgroup) Namespace: RTCLK Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: True SystemLibrary: False Key: CAA RTCLK CAA Types Extern ¶ Library Identification ¶ Placeholder: CAA Types Default Resolution: CAA Types Extern, * (CAA Technical Workgroup) Namespace: CAA Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: True SystemLibrary: False Key: CAA Types CmpCrypto ¶ Library Identification ¶ Placeholder: CmpCrypto Default Resolution: CmpCrypto, * (System) Namespace: CmpCrypto Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: CmpCrypto CmpErrors2 Interfaces ¶ Library Identification ¶ Name: CmpErrors2 Interfaces Version: newest Company: System Namespace: CmpErrors Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: CmpErrors2 Interfaces, * (System) CmpLog ¶ Library Identification ¶ Placeholder: CmpLog Default Resolution: CmpLog, * (System) Namespace: CmpLog Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: CmpLog CmpSchedule ¶ Library Identification ¶ Placeholder: CmpSchedule Default Resolution: CmpSchedule, * (System) Namespace: CmpSchedule Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: CmpSchedule CmpX509Cert ¶ Library Identification ¶ Placeholder: CmpX509Cert Default Resolution: CmpX509Cert, * (System) Namespace: CmpX509Cert Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: CmpX509Cert Common Behaviour Model ¶ Library Identification ¶ Placeholder: CBML Default Resolution: Common Behaviour Model, * (3S - Smart Software Solutions GmbH) Namespace: CBML Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: True SystemLibrary: False Key: CBML Component Manager ¶ Library Identification ¶ Placeholder: Component Manager Default Resolution: Component Manager, * (System) Namespace: Component_Manager Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: Component Manager Element Collections ¶ Library Identification ¶ Placeholder: ElementCollections Default Resolution: Element Collections, * (3S - Smart Software Solutions GmbH) Namespace: COL Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: True SystemLibrary: False Key: ElementCollections MemoryUtils ¶ Library Identification ¶ Placeholder: MemoryUtils Default Resolution: MemoryUtils, * (3S - Smart Software Solutions GmbH) Namespace: MEMUtils Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: True SystemLibrary: False Key: MemoryUtils Net Base Services ¶ Library Identification ¶ Placeholder: NetBaseSrv Default Resolution: Net Base Services, * (3S - Smart Software Solutions GmbH) Namespace: NBS Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: True SystemLibrary: False Key: NetBaseSrv Standard ¶ Library Identification ¶ Placeholder: Standard Default Resolution: Standard, * (System) Namespace: Standard Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: Standard StringUtils ¶ Library Identification ¶ Placeholder: StringUtils Default Resolution: StringUtils, * (System) Namespace: Stu Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: StringUtils SysMem ¶ Library Identification ¶ Placeholder: SysMem Default Resolution: SysMem, * (System) Namespace: SysMem Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: SysMem SysSocket2 ¶ Library Identification ¶ Placeholder: SysSocket2 Default Resolution: SysSocket2, * (System) Namespace: SysSocket2 Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: SysSocket2 SysSocket2 Implementation ¶ Library Identification ¶ Placeholder: SysSocket2 Implementation Default Resolution: SysSocket2 Implementation, * (System) Namespace: SysSocket2_Implementation Library Properties ¶ LinkAllContent: False Optional: False PublishSymbolsInContainer: True QualifiedOnly: False SystemLibrary: False Key: SysSocket2 Implementation SysTime ¶ Library Identification ¶ Name: SysTime Version: 3.5.9.0 Company: System Namespace: SysTime Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: SysTime, 3.5.9.0 (System) SysTypes2 Interfaces ¶ Library Identification ¶ Name: SysTypes2 Interfaces Version: newest Company: System Namespace: SysTypes Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: SysTypes2 Interfaces, * (System) Web Socket Client SL ¶ Library Identification ¶ Placeholder: Web_Socket_Client_SL Default Resolution: Web Socket Client SL, * (CODESYS) Namespace: WEB_SOCKET Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: True SystemLibrary: False Key: Web_Socket_Client_SL
MQTT_REASON_CODE (ENUM) ¶ TYPE MQTT_REASON_CODE : MQTT V5 reason codes Attributes: qualified_only InOut: Name Initial Success 0 Granted_QoS_1 1 Granted_QoS_2 2 Disconnect_with_Will_Message 4 No_matching_subscribers 16 No_subscription_existed 17 Continue_authentication 24 Re_authenticate 25 Unspecified_error 128 Malformed_Packet 129 Protocol_Error 130 Implementation_specific_error 131 Unsupported_Protocol_Version 132 Client_Identifier_not_valid 133 Bad_User_Name_or_Password 134 Not_authorized 135 Server_unavailable 136 Server_busy 137 Banned 138 Server_shutting_down 139 Bad_authentication_method 140 Keep_Alive_timeout 141 Session_taken_over 142 Topic_Filter_invalid 143 Topic_Name_invalid 144 Packet_Identifier_in_use 145 Packet_Identifier_not_found 146 Receive_Maximum_exceeded 147 Topic_Alias_invalid 148 Packet_too_large 149 Message_rate_too_high 150 Quota_exceeded 151 Administrative_action 152 Payload_format_invalid 153 Retain_not_supported 154 QoS_not_supported 155 Use_another_server 156 Server_moved 157 Shared_Subscriptions_not_supported 158 Connection_rate_exceeded 159 Maximum_connect_time 160 Subscription_Identifiers_not_supported 161 Wildcard_Subscriptions_not_supported 162
MQTT_RETAIN_HANDLING (ENUM) ¶ TYPE MQTT_RETAIN_HANDLING : Enum for the Retain Handling option. This option specifies whether retained messages are sent when the subscription is established Attributes: qualified_only InOut: Name Initial Comment Time_Of_Subscribe 0 Not_Exists 1 Send retained messages at the time of the subscribe Do_Not_Send 2 Send retained messages at subscribe only if the subscription does not currently exist Do not send retained messages at the time of the subscribe
MQTTClient.ResetAction (METH) ¶ METHOD ResetAction InOut: Scope Name Type Output xComplete BOOL
MQTT_VERSION (ENUM) ¶ TYPE MQTT_VERSION : Supported MQTT versions Attributes: qualified_only InOut: Name Initial Comment V3_1_1 0 MQTT V3.1.1 V5 1 MQTTT V5
V5 ¶ MQTT_REASON_CODE (Enum) MQTT_RETAIN_HANDLING (Enum)
Function Blocks ¶ MQTTClient (FunctionBlock) ResetAction (Method) SendAuthPacket (Method) SetInitialValue (Method) SetWebSocketOptions (Method) MQTTPublish (FunctionBlock) MQTTSubscribe (FunctionBlock) FilterMode (Property) ResetAction (Method) SubscribeActive (Property)
MQTTClient (FB) ¶ FUNCTION_BLOCK MQTTClient EXTENDS CBML.LCon Function block to connect with a MQTT broker InOut: Scope Name Type Initial Comment Inherited from Input xEnable BOOL TRUE : Activates the defined operation FALSE : Aborts/resets the defined operation LCon Output xDone BOOL TRUE : Ready condition reached LCon xBusy BOOL TRUE : Operation is running LCon xError BOOL TRUE : Error condition reached LCon Input uiPort UINT Port of MQTT Broker Server xUseTLS BOOL TRUE: Crypted Connection, FALSE: Uncrypted Connection uiKeepAlive UINT 5 Keep Alive Time in Seconds (optional) pbWillMessage POINTER TO BYTE 0 Pointer to the ‘Last Will’ message (optional) uiWillMessageSize UINT 0 Size of ‘Last Will’ message (optional) xWillRetain BOOL TRUE: Saves the ‘Last Will’ message on server. If Client subscribes later, then it receives the last stack message from server. eWillQoS MQTT_QOS QoS Level of ‘Last Will’ message xCleanSession BOOL TRUE: Creates a new session, FALSE: Uses already existing session if available wsUsername WSTRING(255) “” User Name (optional) wsPassword WSTRING(1024) “” User Password (optional) wsWillTopic WSTRING(1024) “” Will Topic (optional) sClientId STRING(255) ‘’ Client ID, if empty then new ID is generated, allowed are only these characters 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ (optional) tPingInterval TIME TIME#2s0ms Interval time in seconds how often should be pinged, if Time<=0 then no pings hCert RTS_IEC_HANDLE RTS_INVALID_HANDLE Handle to the client certificate (optional) itfTLSContext NBS.ITLSContext 0 Encapsulates all the data neccecray to handle encrypted tcp connections Static initialization, as shown in the following code snippet. VAR commonName : STRING := 'MyRrasPi' ; ciCertInfo : NBS.CERT_INFO := ( psInfo := ADR ( commonName ), udiSize := LEN ( commonName )); myTLSContext : NBS.TLSContext := ( ePurpose := NBS.PURPOSE.CLIENT_SIDE , sUseCaseName := 'NBSTest' , sTLSVersion := '1.3' , ciCertInfo := ciCertInfo , udiVerificationMode := 2 ); END_VAR itfAsyncProperty NBS.IAsyncProperty 0 Runs the connect process in a own background task. Use this property if the connection setup takes longer than one task cycle (e.g. TLS connections) udiTimeOut UDINT 0 Defines the time (µs) after which the connection setup aborts with xError. eCommunicationMode COMMUNICATION_MODE COMMUNICATION_MODE.TCP Communication mode: TCP or WEB_SOCKET, default: TCP COMMUNICATION_MODE.TCP: Configure the connection via the inputs: sHostname, uiPort and itfTLSContext COMMUNICATION_MODE.WEB_SOCKET: Configure the connection via the inputs: sWebSocketUrl and itfTLSContext Additional WebSocket options can be set via the method SetWebSocketOptions . sWebSocketUrl REFERENCE TO STRING(1024) The uri of the websocket server. e.g ‘ws://localhost:8080’ ws-URI = “ws:” “//” host [ “:” port ] path [ “?” query ] wss-URI = “wss:” “//” host [ “:” port ] path [ “?” query ] The input is only relevant for eCommunicationMode = COMMUNICATION_MODE.WEB_SOCKET. eMQTTVersion MQTT_VERSION MQTT_VERSION.V3_1_1 MQTT protocol version, default: 3.1.1 mQTTConnectProperties REFERENCE TO MQTTConnectProperties Connection properties for MQTT V5 mQTTWillProperties REFERENCE TO MQTTWillProperties Will properties for MQTT V5 Inout Const sHostname STRING(80) Host name of Broker MQTT Server (is IPAddress) Output eMQTTError MQTT_ERROR MQTT Error Type xConnectedToBroker BOOL FALSE FALSE when there is no Connection to MQTT Broker Server, otherwise TRUE eReaonCode MQTT_REASON_CODE Reason code of the last operation (MQTT V5 only) mQTTConnackProperties MQTTConnackProperties Connection response properties (MQTT V5 only) Methods: ResetAction SendAuthPacket SetInitialValue SetWebSocketOptions Structure: ResetAction (Method) SendAuthPacket (Method) SetInitialValue (Method) SetWebSocketOptions (Method)