MQTT client library for CODESYS PLC programming environment supporting all QoS levels with high performance.
CODESYS-MQTT is an MQTT client library built for the CODESYS PLC development environment, enabling programmable logic controllers to communicate using the MQTT publish-subscribe protocol. It solves the problem of integrating industrial automation systems with modern IoT architectures by providing reliable, QoS-aware messaging directly from PLC code. The library supports all MQTT quality-of-service levels, TLS encryption, and multi-broker connections.
Industrial automation engineers and PLC programmers using CODESYS who need to connect their controllers to MQTT-based IoT systems, SCADA platforms, or cloud services.
Developers choose CODESYS-MQTT for its high-performance architecture that delivers packets within the same PLC cycle, comprehensive MQTT feature support including all QoS levels, and seamless integration with CODESYS through callback-driven function blocks that eliminate manual topic string handling in programs.
MQTT client library for CODESYS, supporting all QoS
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Delivers received packets within the same PLC cycle and handles 50 QoS 0 packets per cycle in default configuration, ensuring real-time communication for industrial applications.
Uses callbacks for subscription handling, enabling dynamic instance creation and eliminating manual topic string entry in programs, as shown in the MyProperty example.
Supports all QoS levels, TLS encryption without certificates, will topics, retain options, and multi-broker connections, covering essential protocol needs.
Provides dedicated function blocks for transmitting values and states with minimal configuration, reducing setup overhead for common tasks.
The library explicitly states the client is not thread-safe, limiting its use in multi-threaded CODESYS applications or when integrating with concurrent systems.
The README is brief and relies on external integration guides, which may hinder onboarding and troubleshooting for developers new to MQTT or CODESYS.
All required libraries are hosted on the same GitHub account, creating a potential single point of failure and limiting community-driven enhancements.