CODESYS IIoT Libraries SL

Das Softwarepaket ‚IIoT Libraries SL‘ enthält Bibliotheken zum Thema ‚IIoT Kommunikation‘ und Bibliotheken zum Lesen und Schreiben von Datenstrukturen.

Aktuelle Version
1.11.0.0
Artikelnummer
2311000000
70,00 €
Zzgl. Mehrwertsteuer

Produktbeschreibung

Das Produkt ‚IIoT Libraries SL‘ enthält zahlreiche Bibliotheken zur Unterstützung unterschiedlicher Kommunikationsprotokolle (wie z.B. MQTT, HTTPS..) und enthält Werkzeuge zum Kodieren und Dekodieren von Datenstrukturen (wie z.B. JSON, XML..). Außerdem werden Bibliotheken mit Bausteinen zur direkten Kommunikation mit Cloud-Diensten einzelner Anbieter(AWS, Azure,…) bereitgestellt. Die im CODESYS Package enthaltenen Komponenten eignen sich hervorragend zur Kommunikation im IIoT Umfeld.

Bibliotheken zur Kommunikation

Web Client SL

Die Bibliothek ‚Web Client SL‘ enthält Funktionsbausteine zur Kommunikation mit einem Webserver via http bzw. https.

  • Mit http-GET können Daten von einem Webserver abgefragt werden.

  • Mit http-POST und http-PUT können Daten von der Steuerung zu einem Webserver übertragen werden.

  • Mit http-DELETE können Daten auf einem Webserver gelöscht werden.

  • Mit http-HEAD kann der http-Header abgefragt werden.

Der http-Header einer Anfrage kann dabei beliebig erweitert werden. Zusätzlich sind Funktionsbausteine zur http-Basic-Authentifizierung, Digest Access Authentifizierung und zur Authentifizierung über OAuth (Version 1a und 2) enthalten.

MQTT Client SL

MQTT (Message Queuing Telemetry Transport) ist ein offenes IoT Protokoll, das die Übertragung von Telemetriedaten in Form von Nachrichten zwischen Geräten ermöglicht. Die Kommunikation der Geräte erfolgt dabei immer über einen MQTT Broker (z.B. Mosquitto https://mosquitto.org/). Das Abonnieren und Verschicken von Nachrichten erfolgt auf Basis von ‚Topics‘. Ein ‚Topic‘ entspricht einem Pfad (z.B. device1/temperature). Das Abonnieren von Nachrichten erfolgt unter Angabe eines Topic-Filters, Wildcards sind hierbei auch erlaubt (+ für eine Ebene bzw. # für mehrere Ebenen) Das Format einer Nachricht ist nicht festgelegt, d.h. es kann ein JSON-String oder eine beliebige Datenstruktur übertragen werden.

Mit der Bibliothek ‚MQTT Client SL‘ können Nachrichten von einer CODESYS Steuerung an einen MQTT Broker geschickt werden und Nachrichten auf Basis von ‚Topics‘ abonniert werden.

Mail Service SL

Die Bibliothek enthält Funktionsbausteine zum Senden, Empfangen und Löschen von Emails über das SMTP- und POP3-Protokoll. Die Kommunikation mit dem Mailserver kann dabei verschlüsselt (TLS) oder unverschlüsselt erfolgen. Ein Beispielprojekt veranschaulicht die Verwendung der Funktionsbausteine.

SMS Service SL

Diese Bibliothek ermöglicht das Senden, Empfangen und Löschen einer SMS über ein GSM Modem. Zur Veranschaulichung wird ein Beispielprojekt mitgeliefert.

SNMP Service SL

Die Bibliothek unterstützt folgende SNMP Funktionen:

  • SNMP GET: Abfrage eines Wertes (Steuerung ist Manager)

  • SNMP GET_NEXT: Abfrage von Tabellen (Steuerung ist Manager)

  • SNMP Agent: Abfrage von Werten der Steuerung (Steuerung ist Agent)

  • SNMP TRAP: Senden und Empfangen von TRAP/INFORM-Telegrammen

  • SNMP SET: Setzen von Werten

Unterstützte SNMP Versionen

  • SNMP V1

  • SNMP V2c

  • SNMP V3

SNTP Service SL

Die Bibliothek ‚SNTP Service SL‘ enthält Funktionsbausteine zum Aufbau von SNTP Client - und Serverapplikationen (SNTP V3, SNTP V4). Mit dem Funktionsbaustein SNTPGetUTCTime kann die UTC-Zeit von einem NTP/SNTP-Server abgefragt werden. Der Funktionsbaustein SNTPServer dient als einfacher SNTP-Server auf einer CODESYS Steuerung.

Folgende Funktionsbausteine (FBs) sind in der Bibliothek enthalten:

  • SNTPGetUTCTime: FB zum Abfragen der Uhrzeit via SNTP (SNTP Client)

  • SNTPServer: FB zum Verteilen der lokalen Uhrzeit via SNTP (SNTP Server)

AWS IoT Core Client SL

‚AWS IoT Core‘ ist eine verwaltende Cloud-Plattform von Amazon, mit der verbundene Geräte einfach und sicher mit Cloud-Anwendungen und anderen Geräten zusammenarbeiten können. Die Bibliothek ‚AWS IoT Core Client SL‘ stellt Funktionsbausteine zum Senden und Empfangen von Nachrichten zur Verfügung. Die Kommunikation erfolgt dabei verschlüsselt über das Protokoll MQTT. Nachrichten werden im AWS Umfeld typischerweise im JSON Format übertragen. Zum Parsen und Erzeugen von JSON Dateien kann die Bibliothek ‚JSON Utilities‘ verwendet werden.

Azure IoT Hub Client SL

Der Cloud-Dienst ‚Azure IOT Hub‘ von Microsoft ist ein Service zur direkten Anbindung von IoT-Geräten (weitere Informationen siehe https://azure.microsoft.com/de-de/services/iot-hub/). Die Bibliothek ‚Azure IoT Hub Client SL‘ stellt Funktionsbausteine zum Senden und Empfangen von Nachrichten zur Verfügung. Ein Beispielprojekt veranschaulicht die Verwendung der Bibliothek.

JSON Web Token SL

Die Bibliothek ‚JSON Web Token SL‘ enthält einen Funktionsbaustein zum Erstellen von JWT (JSON Web Token) auf der Steuerung. Dabei werden die Algorithmen HS256, HS384, HS512 und RS256 unterstützt.

Web Socket Client SL

Das WebSocket-Protokoll ermöglicht eine bidirektionale Kommunikation zwischen einem Client und einem Web Socket Server über das Internet. Die Kommunikation erfolgt dabei in der Regel über die TCP-Portnummer 443 (oder 80 bei ungesicherten Verbindungen). Die Bibliothek ‚Web Socket Client SL‘ stellt Funktionsbausteine zur Kommunikation über das WebSocket-Protokoll zur Verfügung.

Bibliotheken zum Lesen und Schreiben von Datenstrukturen

CSV Utility SL

Die Bibliothek ‚CSV Utility SL‘ stellt Funktionsbausteine zum Lesen und Schreiben von CSV Dateien zur Verfügung. Die Bibliothek besteht aus den Komponenten CSVReader (Lesen von CSV Dateien) und CSVWriter (Schreiben von CSV Dateien). Sämtliche Funktionsbausteine können klassisch oder objektorientiert verwendet werden. In einem Bespielprojekt wird die Verwendung der Bibliothek ausführlich demonstriert.

INI File Utility SL

„INI File Utility SL“ ist eine Bibliothek zum Lesen und Schreiben von INI-Dateien. Die Bibliothek enthält Funktionsbausteine zum Lesen, Schreiben und Suchen von Werten in INI-Dateien. Die Verwendung der Funktionsbausteine wird in einem Beispielprojekt demonstriert.

JSON Utilities SL

Die Bibliothek ‚JSON Utilities SL‘ bietet folgende Funktionalitäten:

  • Erstellen von komplexen JSON Dateien

  • Lesen von JSON Dateien (UTF-8 und UTF-16)

  • Lesen von JSON Bytearrays

  • Schreiben von JSON Dateien (UTF-8 und UTF-16)

  • Schreiben von JSON Bytearrays

  • Suche nach Schlüssel, Werten, Kind-Elementen und Eltern-Elementen

Die Daten werden in einem Array von Strukturen gespeichert. Der Datenzugriff und die Suche nach Elementen erfolgt über Methoden des Funktionsbausteins JSONData. Das einfache erstellen einer JSON-Datei wird über den Funktionsbaustein JSONBuilder und seine Methoden realisiert. Die Funktionsbausteine JSONByteArrayReader und JSONFileReader lesen Daten im JSON-Format ein und speichern die Werte im Funktionsbaustein JSONData. Das Schreiben von Dateien und Bytearrays erfolgt über die Funktionsbausteine JSONFileWriter und JSONByteArrayWriter.

In Verbindung mit der Bibliothek ‚Web Client SL‘ kann auf einfache Weise ein einfacher REST-Client implementiert werden.

XML Utility SL

Die Bibliothek ‚XML Utility SL‘ enthält Funktionsbausteine zum Lesen und Schreiben von XML-Dateien bzw. XML-Strings auf der Steuerung. Die einzelnen Elemente werden dabei in einem Array von Strukturen gespeichert. Darüber hinaus sind in der Bibliothek auch Funktionsbausteine zum Suchen von XML-Elementen enthalten. Die Verwendung der Funktionsbausteine wird anhand von zwei Beispielapplikationen demonstriert.

Wichtiger Hinweis zur Version 1.9.0.0

Der Firmenname der Bibliotheken wurde auf ‚CODESYS‘ geändert. Beim Upgrade auf Version 1.9.0.0 müssen die alten Bibliotheken (< 1.9.0.0) über den Bibliotheksmanager entfernt und die neuen Bibliotheken eingefügt werden.

Die Beispielprojekte werden ab Version 1.9.0.0 in den Ordner ‚IIoT Libraries SL‘ der CODESYS-Installation (CODESYS Root-Verzeichnis) installiert.

Die Bibliotheksdokumentation ist jetzt in der CODESYS Onlinehilfe integriert. Siehe https://content.helpme-codesys.com/en/libs/index.html Die CHM Dateien werden nicht mehr mit dem Package ausgeliefert.

Requirements

Programmiersystem

CODESYS Development System V3.5.16.10

Laufzeitsystem

CODESYS Control V3.5.15.20

Unterstützte Plattformen/ Geräte

Hinweis: Verwenden Sie das Projekt Device Reader, um die von der Steuerung unterstützten Funktionen zu ermitteln.

Zusätzliche Anforderungen

Die Bibliotheken Web Client SL, MQTT Client SL, Mail Service SL, AWS IoT Core Client SL, Azure IoT Hub Client SL benötigen u.a. die Bibliotheken SysSocket2 3.5.16.0, Net Base Services, CmpCrypto, CmpTls 3.5.15.0 und CmpX509Cert.

Die Bibliotheken CSV Utility SL, INI File Utility SL, JSON Utilities SL und XML Utility SL benötigen u.a. die Bibliothek SysFile.

Die Bibliothek SMS Service SL benötigt u.a. die Bibliothek SysCom.

Einschränkungen

Die Eingänge itfAsyncProperty und das AsyncProperty werden erst ab Net Base Services V3.5 SP17 Patch 4 unterstützt. In älteren Versionen kann es zu Deadlocks bei einem Reset der Steuerung kommen. In diesem Fall darf das AsyncProperty nicht verwendet werden.

Aufgrund eines Fehlers in der Bibliothek Net Base Service in der Version 3.5.19.0 können keine TLS Verbindungen aufgebaut werden. Bitte verwenden Sie eine andere Version der Bibliothek Net Base Services.

Lizenzierung

Einzelgerätelizenz: Die Lizenz kann auf der Steuerung, auf dem das CODESYS Laufzeitsystem installiert ist, verwendet werden.

Die Lizenzaktivierung erfolgt auf einem softwarebasierten Lizenz-Container (Soft-Container), der fest an die Steuerung gebunden ist. Alternativ kann die Lizenz auf einem CODESYS Key (USB-Dongle) hinterlegt werden. Durch Umstecken des CODESYS Keys kann die Lizenz auf einer anderen Steuerung genutzt werden.

Hinweis: Ohne Lizenz läuft die Software im Demomodus für 30 Minuten. Danach ist ein manueller Neustart erforderlich.

Erforderliches Zubehör

-

Support

No Support

Technischer Support ist bei diesem Produkt nicht enthalten. Um technischen Support zu erhalten, erwerben Sie bitte ein CODESYS Support Ticket.

 

Für allgemeine Fehlermeldungen oder Vertriebs-Anfragen vor dem Kauf verwenden Sie bitte direkt das Kontaktformular "Meine Frage", das auch ohne Login genutzt werden kann. Eine Liste mit alternativen Support-Ressourcen finden Sie im Support-Bereich der CODESYS Group-Webseite.

Lieferant

CODESYS GmbH

A member of the CODESYS Group

Memminger Straße 151
D-87439 Kempten
Germany

Versionen

Version History

Version Release Notes Release Date

CSV Utility SL-1.11.0.0

  • Bugfix: CSVReader read first line twice

Web Client SL-1.11.0.0

  • Bugfix: Improved error handling when reading certificates

  • Bugfix: Timeout in case of chunked packets

  • Set default value of maximum receive buffer to 20 000 bytes

JSON Utilities SL-1.11.0.0

  • Bugfix: Invalid integer value is not detected

  • Bugfix: Some characters cut data

SNMP Service SL-1.11.0.0

  • Bugfix: Community is always set to ‘public’

Mail Service SL-1.11.0.0

  • Bugfix: Attachments will change name during sending

XML Utility SL-1.11.0.0

  • Bugfix: Improved error handling

SMS Service SL-1.11.0.0

  • Marked as deprecated: The library SMS Service SL entered service phase in 2024 and will be discontinued in 2026.

20.08.2024

MQTT Client SL-1.10.0.0

  • Improved error handling

  • Bugfix: Wrong error handling in case of SEND_QUOTA_LIMIT_REACHED errors

  • Bugfix: MQTTClient reset does not clean up eMQTTError

  • Bugfix: Resolve host name must not block the current task

Web Client SL-1.10.0.0

  • Bugfix: Cleanup response content for chunked messages

  • Bugfix: BasicAuth does not work correctly with POST or PUT command

  • Bugfix: Timeout if Transfer-Encoding: chunked

  • Bugfix: DigestAuthWebClient with PUT command leads to error: INVALID_HASHALGORITHM

  • Bugfix: Resolve host name must not block the current task

Web Socket Client SL-1.10.0.0

  • Bugfix: Pong Payload is always empty

CSV Utility SL-1.10.0.0

  • Bugfix: CSV.ReadAll and CSV.NextElement reports error when try to read more than 32000 bytes

  • Bugfix: Filename is limited to 80 characters

  • Bugfix: Unexpected behavior if filename is empty

08.05.2024

All library versions are set to 1.9.0.0

MQTT Client SL-1.9.0.0

  • Major bugfix: Subscription of ‘retain’ messages

  • Improved error handling

  • Improved publisher behavior in case of a disabled client

  • Bugfix: Wrong maximum topic level limit and correlation data limit checks fixed

CSV Utility SL-1.9.0.0

  • Improved error handling

  • Improved file closing behavior

JSON Utilities SL-1.9.0.0

  • Improved license check

Azure IoT Hub Client SL-1.9.0.0

  • Bugfix, Example project: Reduced payload size

SNTP Service SL-1.9.0.0

  • Bugfix: IP addresses can now be changed

Google Cloud IoT Core Client SL

  • The library has been removed because the service has been discontinued.

Important note for version 1.9.0.0

The company name of the libraries has been changed to ‘CODESYS’. When upgrading to version 1.9.0.0, the old libraries (< 1.9.0.0) must be removed via the Library Manager and the new libraries must be inserted.

The example projects are now installed in the folder ‘IIoT Libraries SL’ of the CODESYS installation (CODESYS root folder).

The library documentation is now integrated in the CODESYS Online Help. See https://content.helpme-codesys.com/en/libs/index.html The CHM files are no longer part of the package.

11.09.2023

MQTT Client SL-1.4.0.0

  • Major bug fix: Support of topics and topic filters with more than 80 chars

  • Improved error handling

  • Fixed memory leak in case of inactive subscribers

  • Improved reset behavior of publisher and subscriber

  • Bug fix: Truncated user properties when the maximum property count has been reached

Web Client SL-1.3.0.0

  • New function block for digest authentication

  • Bug fix: Support of chunked HTTP responses

  • Bug fix: Parse error in case of large HTTP headers

  • BasicAuthWebClient: Input pwsAdditionalHeader now works correctly

JSON Utilities SL-1.3.0.0

  • Improved error handling

INI File Utility SL-1.1.0.0

  • Read and write INI data via byte buffers

AWS IoT Core Client SL-1.4.0.0

  • Read and write device shadows of other devices

  • Support of ClientIds with more than 23 chars

XML Utility SL-1.1.0.0

  • Improved error handling of XMLFindElementByStringAsync

SNTP Service SL-1.1.0.0

  • Parameter changes are now applied correctly

Azure IoT Hub Client SL-1.2.0.0

  • GenerateSaSToken now supports device name > 80 chars

  • Direct methods: Support of return payloads

  • Configurable ping interval

  • Integrated reconnect timer

CSV Utility SL-1.1.0.0

  • Improved error handling for invalid input configuration

  • Support of files larger than 32k bytes

  • Improved file closing behavior

12.04.2023

Google Cloud IoT Core Client SL-1.2.0.0

  • Bugfix (AsyncProperty)

  • Marked all FBs as obsolete. Google Cloud IoT Core will be discontinued on August 16, 2023. For more information, contact your Google Cloud account management team.

SNMP Service SL-1.1.0.0

  • SNMP V3 support

AWS IoT Core Client SL-1.3.0.0

  • Bugfix (AsyncProperty)

Azure IoT Hub Client SL-1.1.0.0

  • Bugfix (AsyncProperty)

  • Bugfix (SaS Token Generator)

Web Socket Client SL-1.3.0.0

  • Bugfix (AsyncProperty)

JSON Utilities SL-1.2.0.0

  • Writer FBs: Configurable line breaks, compact format

  • Bugfix (JsonBuilder.SetKeyWithValueNull)

MQTT Client SL-1.3.0.0

  • Important Bugfix (for topics > 80 chars)

  • Bugfix (AsyncProperty)

  • Improved error handling of the subscriber FB

Important information about using the AsyncProperty

The inputs itfAsyncProperty and the AsyncProperty are supported for Net Base Services V3.5 SP17 Patch 4 and higher. for older versions, deadlocks may occur when the controller is reset. In this case the AsyncProperty must not be used.

24.10.2022
MQTT Client SL-1.2.0.0
  • MQTT V5 support

  • New parameter g_udiMaxReceiveBufferSize

JSON Utilities SL-1.1.0.0
  • Improved JSONBuilder (data types, reset method)

  • New input xAsyncMode to disable asynchronous execution

  • Improved white space handling

  • General bug fixes

Web Client SL-1.2.0.0
  • Allow empty (blank) additional http header

AWS IoT Core Client SL-1.2.0.0
  • Support of ‘Clean Session’ flag

  • Extended maximum clientId length to 255 chars

  • Improved certificate handling

Web Socket Client SL-1.2.0.0
  • Bugfix for Windows CE devices

  • Extended maximum size of opening handshake request

  • General bug fixes

07.04.2022
MQTT Client SL-1.1.0.0
  • Support of MQTT over WebSockets

  • Bugfix: Fragmented packets are now received correctly

AWS IoT Core Client SL-1.1.0.0
  • Prefix ‘sCertCNPrefix’ added to certificate CN to prevent name conflicts with other certificates

Google Cloud IoT Core Client SL-1.1.0.0
  • Added the possibility to disable the built-in SNTP client (default) and edit the SNTP server name.

Web Socket Client SL-1.1.0.0
  • Bugfix: Receiving multiple data frames in one cycle is now possible

11.11.2021
AWS IoT Core Client SL-1.0.3.0
  • Improved timeout behavior of publisher and device shadow function blocks

  • Improved example project

Azure IoT Hub Client SL-1.0.3.0
  • New function block to generate SaS Tokens

JSON Utilities SL-1.0.4.0
  • JSONFileReader, Errors are now reset correctly

  • SetLRealRounded does now work for iDecimalPlaces > 4

Mail Service SL-1.1.3.0
  • Support HTML encoded emails

  • Bugfix: Multiple recipients

  • Support of STARTTLS (needs Net Base Services 3.5.17.0)

MQTT Client SL-1.0.3.0
  • MQTTClient: New input udiTimeout

Web Client SL-1.1.2.0
  • Bugfix: Invalid requests if webserver runs in sync mode

  • Bugfix: TCP_INIT_ERROR after 10 requests on a existing TLS connection

  • Bugfix: Close connection if required

  • OAuth2: Support Token lengths > 255

  • Bugfix: URL_ENCODE_(W)STRING might lead to StackOverflow

Web Socket Client SL-1.0.0.0
  • New library

XML Utility SL-1.0.4.0
  • Improved XMLGetElementAsync performance

  • Bugfix: Missing elements in mode READ_MODE.Recursive

General:
  • All packages and libraries are signed now

11.08.2021
AWS IoT Core Client SL
  • Integration of the library ‘Net Base Services’

Google Cloud IoT Core Client
  • Integration of the library ‘Net Base Services’

Azure IoT Hub Client SL
  • Integration of the library ‘Net Base Services’

Mail Service SL
  • Integration of the library ‘Net Base Services’

  • Support of multiple recipients with display name

MQTT Client SL
  • Integration of the library ‘Net Base Services’

  • Added filter mode for subscribers

  • Improved send/receive performance

  • Improved error handling

  • Bugfix: Clean up of interal queues after disconnect

SNMP Service SL
  • Integration of the library ‘Net Base Services’

  • Bugfix: OID encoding

  • Bugfix: SNMP trap, field enterprise

SNTP Service SL
  • Integration of the library ‘Net Base Services’

Web Client SL
  • Integration of the library ‘Net Base Services’

XML Utility SL
  • Bugfix: Self closing tags

With the integration of the library ‘Net Base Services’ TLS connections can be configured via the TLS context.

23.11.2020
- 27.08.2020
Improvements | * APPLIB-307: AWS IoT Core: Increase default Keep alive time to 30s
* APPLIB-310: JSON Utilities SL: Support key greater than 80 chars
* APPLIB-309: JSON Utilities SL: Reduced memory consumption
* APPLIB-301: AWS IoT Core, MQTT Client Subscriber: Subscriber should be able to resubscribe

Bug fixes

  • APPLIB-304: JSON Utilities SL: JSONByteArrayReader: unified behaviour |

  • APPLIB-296: AWS IoT Core Client: Publishing (with QoS1) while AWSClient is not connected, causes Publisher to be always busy

  • APPLIB-299: SMS Service SL: Receiving string display just 9 digits

  • APPLIB-306: WebClient: BASE64 Encode - no NULL termination

28.05.2020
- 31.03.2020