File and Project Information ¶ Scope Name Type Content FileHeader creationDateTime date 11.09.2023, 10:36:30 companyName string 3S-Smart Software Solutions GmbH libraryFile Azure IoT Hub Client SL.library primaryProject True productName CODESYS productProfile CODESYS V3.5 SP16 Patch 3 contentFile Azure IoT Hub Client SL.clean.json version version 2.0.0.0 ProjectInformation ActivateDongleLicensing bool False IsEndUserLibrary True OnlineHelp True Released True LastModificationDateTime date 11.09.2023, 10:36:27 FirmCode int 101597 ProductCode 8790 LibraryCategories library-category-list Application|Utils ActivationMail string support@codesys.com ActivationUrl http://license.codesys.com AlternativeFirmCodes 5000304 Author CODESYS Development GmbH AutoResolveUnbound True Company CODESYS CompiledLibraryCompatibilityVersion CODESYS V3.5 SP15 Patch 2 DefaultNamespace AZURE Description See: Description DocFormat reStructuredText DocLanguages en,de LanguageModelAttribute qualified-access-only Placeholder Azure_IoT_Hub_Client_SL Project Azure IoT Hub Client SL Title Azure IoT Hub Client SL Version version 1.9.0.0
Library Reference ¶ This is a dictionary of all referenced libraries and their name spaces. CAA Behaviour Model ¶ Library Identification ¶ Placeholder: CAA Behaviour Model Default Resolution: CAA Behaviour Model, * (CAA Technical Workgroup) Namespace: CBM Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: True SystemLibrary: False Key: CAA Behaviour Model 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 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 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 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 MQTT Client SL ¶ Library Identification ¶ Placeholder: MQTT_Client_SL Default Resolution: MQTT Client SL, * (CODESYS) Namespace: MQTT Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: True SystemLibrary: False Key: MQTT_Client_SL Library Parameter ¶ Parameter: G_UDIMAXAUTHDATASIZE = 256 Parameter: G_UDIMAXCORRELATIONDATASIZE = 256 Parameter: G_UDIMAXPACKETSIZE = 6000 Parameter: G_UDIMAXPAYLOADSIZE = 4096 Parameter: G_UDIMAXPUBLISHERSANDSUBSCRIBERS = 20 Parameter: G_UDIMAXQUEUEDPACKETS = 1000 Parameter: G_UDIMAXRECEIVEBUFFERSIZE = g_udiMaxPacketSize Parameter: G_UDIMAXUSERPROPERTIES = 10 Parameter: G_UDIMAXUSERPROPERTYVALUELENGTH = 80 Parameter: G_UIMAXTOPICLEVEL = 10 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 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) Util ¶ Library Identification ¶ Placeholder: Util Default Resolution: Util, * (System) Namespace: Util Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: Util Library Parameter ¶ Parameter: IBLOCKSIZE = 22800 Web Client SL ¶ Library Identification ¶ Placeholder: Web_Client_SL Default Resolution: Web Client SL, * (CODESYS) Namespace: WEB_CLIENT Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: True SystemLibrary: False Key: Web_Client_SL Library Parameter ¶ Parameter: G_UDIMAXHEADERSIZE = 4000 Parameter: G_UDIMAXOAUTH2TOKENSIZE = 2048 Parameter: G_UDIMAXREQUESTSIZE = 16000 Parameter: G_UDIMAXRESPONSESIZE = 16000
MaxOnTime (FB) ¶ FUNCTION_BLOCK MaxOnTime “warp clock”-enabled maximum on-time. If xInput is TRUE MaxOnTime set xOutput to TRUE not longer then tMaxOn. After tMaxOn is expired xOutput is set to FALSE and a new rising edge of xInput is needed to restart the maximum on-time again. “Warp clock”-enabled ¶ Certain application domains base their functionality / algorithms on real world wall clock date/time. To develop such functionality it is helpful to have control over the application timeline to speedup testing or doesnt loose control on the timeline sitting on breakpoints. WarpClock and “warp clock”-enabled function blocks provides such a control if needed. For more details about “warp” time see WarpClock . To use “warp” time connect an accordingly configured WarpClock to itfDateTimeProvider. InOut: Scope Name Type Initial Comment Input xInput BOOL FALSE Input tMaxOn TIME TIME#0ms Maximum on-time xReset BOOL FALSE Reset itfDateTimeProvider Util.IDateTimeProvider Globals.g_dtpDateTimeProvider Source for the current date and time information in milliseconds since 1.1.1970 00:00:00.000 Output xOutput BOOL Output xError BOOL Error indication eErrorID Error Error ID
GetDeviceTwin (FB) ¶ FUNCTION_BLOCK GetDeviceTwin EXTENDS CBM.ETrigTo Reads the device twin from the Microsoft AZURE IoT Hub via HTTPS. InOut: Scope Name Type Comment Inherited from Input xExecute BOOL Rising edge: Action starts Falling edge: Resets outputs If a falling edge occurs before the function block has completed its action, the outputs operate in the usual manner and are only reset if either the action is completed or in the event of an error. In this case, the corresponding output values ( xDone , xError ) are present at the outputs for exactly one cycle. ETrigTo udiTimeOut UDINT Defines the time (µs) after which an FB (e.g. requiring an external acknowledgement) aborts operation due to a timeout with error message. ETrigTo Output xDone BOOL TRUE : Action successfully completed ETrigTo xBusy BOOL TRUE : Function block active ETrigTo xError BOOL TRUE : Error occurred, function block aborts action FALSE : No error ETrigTo Input sHubDomainName STRING(255) Domain name of the IoT Hub sDeviceId STRING(255) Device ID wsSaS WSTRING(255) Shared Access Signature (SAS Token) Output eError IOT_HUB_CLIENT_ERROR Error code iHttpStatus INT HTTP status wsData WSTRING(WEB_CLIENT.g_udiMaxResponseSize) The device twin (JSON data)
UpdateDeviceTwin (FB) ¶ FUNCTION_BLOCK UpdateDeviceTwin EXTENDS CBM.ETrigTo Update the device twin (desired properties only!) via HTTPS. InOut: Scope Name Type Comment Inherited from Input xExecute BOOL Rising edge: Action starts Falling edge: Resets outputs If a falling edge occurs before the function block has completed its action, the outputs operate in the usual manner and are only reset if either the action is completed or in the event of an error. In this case, the corresponding output values ( xDone , xError ) are present at the outputs for exactly one cycle. ETrigTo udiTimeOut UDINT Defines the time (µs) after which an FB (e.g. requiring an external acknowledgement) aborts operation due to a timeout with error message. ETrigTo Output xDone BOOL TRUE : Action successfully completed ETrigTo xBusy BOOL TRUE : Function block active ETrigTo xError BOOL TRUE : Error occurred, function block aborts action FALSE : No error ETrigTo Input sHubDomainName STRING(255) Domain name of the IoT Hub sDeviceId STRING(255) Device ID wsSaS WSTRING(255) Shared Access Signature (SAS Token) pwsData POINTER TO WSTRING The device twin properties to update (Input, JSON format) Output eError IOT_HUB_CLIENT_ERROR Error code iHttpStatus INT HTTP status wsDeviceTwinInfo WSTRING(WEB_CLIENT.g_udiMaxResponseSize) Last device twin info (Output, JSON format)
MinOnOffTime (FB) ¶ FUNCTION_BLOCK MinOnOffTime “warp clock”-enabled minimum on-/off-time. If xInput is TRUE MinOnOffTime set xOutput to TRUE for at least tMinOn. After xInput is set to FALSE and a new rising edge of xInput happens, xOutput doesnt follow xInput until tMinOff is expired. “Warp clock”-enabled ¶ Certain application domains base their functionality / algorithms on real world wall clock date/time. To develop such functionality it is helpful to have control over the application timeline to speedup testing or doesnt loose control on the timeline sitting on breakpoints. WarpClock and “warp clock”-enabled function blocks provides such a control if needed. For more details about “warp” time see WarpClock . To use “warp” time connect an accordingly configured WarpClock to itfDateTimeProvider. InOut: Scope Name Type Initial Comment Input xInput BOOL FALSE Input tMinOn TIME TIME#0ms Minimum on-time tMinOff TIME TIME#0ms Minimum off-time xReset BOOL FALSE Reset itfDateTimeProvider Util.IDateTimeProvider Globals.g_dtpDateTimeProvider Source for the current date and time information in milliseconds since 1.1.1970 00:00:00.000 Output xOutput BOOL Output xError BOOL Error indication eErrorID Error Error ID
GetMessage (FB) ¶ FUNCTION_BLOCK GetMessage EXTENDS CBM.ETrigTo Reads a C2D message from the Microsoft AZURE IoT Hub via HTTPS. InOut: Scope Name Type Comment Inherited from Input xExecute BOOL Rising edge: Action starts Falling edge: Resets outputs If a falling edge occurs before the function block has completed its action, the outputs operate in the usual manner and are only reset if either the action is completed or in the event of an error. In this case, the corresponding output values ( xDone , xError ) are present at the outputs for exactly one cycle. ETrigTo udiTimeOut UDINT Defines the time (µs) after which an FB (e.g. requiring an external acknowledgement) aborts operation due to a timeout with error message. ETrigTo Output xDone BOOL TRUE : Action successfully completed ETrigTo xBusy BOOL TRUE : Function block active ETrigTo xError BOOL TRUE : Error occurred, function block aborts action FALSE : No error ETrigTo Input sHubDomainName STRING(255) Domain name of the IoT Hub sDeviceId STRING(255) Device ID wsSaS WSTRING(255) Shared Access Signature (SAS Token) Output eError IOT_HUB_CLIENT_ERROR Error code xReceived BOOL TRUE if a message has been received iHttpStatus INT HTTP status wsData WSTRING(WEB_CLIENT.g_udiMaxResponseSize) The last received message wsHeader WSTRING(WEB_CLIENT.g_udiMaxHeaderSize) The http header of the last message
SendMessage (FB) ¶ FUNCTION_BLOCK SendMessage EXTENDS CBM.ETrigTo Sends a D2C message to the Microsoft AZURE IoT Hub via HTTPS. InOut: Scope Name Type Comment Inherited from Input xExecute BOOL Rising edge: Action starts Falling edge: Resets outputs If a falling edge occurs before the function block has completed its action, the outputs operate in the usual manner and are only reset if either the action is completed or in the event of an error. In this case, the corresponding output values ( xDone , xError ) are present at the outputs for exactly one cycle. ETrigTo udiTimeOut UDINT Defines the time (µs) after which an FB (e.g. requiring an external acknowledgement) aborts operation due to a timeout with error message. ETrigTo Output xDone BOOL TRUE : Action successfully completed ETrigTo xBusy BOOL TRUE : Function block active ETrigTo xError BOOL TRUE : Error occurred, function block aborts action FALSE : No error ETrigTo Input sHubDomainName STRING(255) Domain name of the IoT Hub sDeviceId STRING(255) Device ID wsSaS WSTRING(255) Shared Access Signature (SAS Token) pwsData POINTER TO WSTRING The message to send (JSON format) Output eError IOT_HUB_CLIENT_ERROR Error code iHttpStatus INT HTTP status
GetMQTTDeviceTwin (FB) ¶ FUNCTION_BLOCK GetMQTTDeviceTwin EXTENDS CBML.ETrigTo Function block to read the device twin of the connected device. InOut: Scope Name Type 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 pbPayload POINTER TO BYTE Pointer to the receive buffer (device twin) udiMaxPayloadSize UDINT Maximum size of the receive buffer Inout azureMQTTClient AzureMQTTClient Reference to AzureMQTTClient Output eError MQTT.MQTT_ERROR Error code udiPayloadSize UDINT Length of the device twin
OnOffDelay (FB) ¶ FUNCTION_BLOCK OnOffDelay “warp clock”-enabled on-/off-delay. The xOutput follows xInput, but with a delay on both (rising / falling) edges. “Warp clock”-enabled ¶ Certain application domains base their functionality / algorithms on real world wall clock date/time. To develop such functionality it is helpful to have control over the application timeline to speedup testing or doesnt loose control on the timeline sitting on breakpoints. WarpClock and “warp clock”-enabled function blocks provides such a control if needed. For more details about “warp” time see WarpClock . To use “warp” time connect an accordingly configured WarpClock to itfDateTimeProvider. InOut: Scope Name Type Initial Comment Input xInput BOOL FALSE Input to delay tOnDelay TIME TIME#0ms On-delay tOffDelay TIME TIME#0ms Off-delay xReset BOOL FALSE Reset itfDateTimeProvider Util.IDateTimeProvider Globals.g_dtpDateTimeProvider Source for the current date and time information in milliseconds since 1.1.1970 00:00:00.000 Output xOutput BOOL Output xError BOOL Error indication eErrorID Error Error ID