Skip to content

UniSet2 - library for building distributed industrial control systems

License

Notifications You must be signed in to change notification settings

Etersoft/uniset2

Repository files navigation

UniSet Gihub testsuite Status Build Status Coverity Scan Build Status

UniSet is a library for distributed control systems development. There are set of base components to construct this kind of systems:

  • base interfaces for your implementation of control algorithms.
  • algorithms for a discrete and analog input/output based on COMEDI interface.
  • IPC mechanism based on CORBA (omniORB).
  • logging system based on MySQL, SQLite, PostgreSQL databases.
  • logging to TSDB (influxdb, opentsdb)
  • logging to RRD
  • supported MQTT (libmosquittopp)
  • logging to ClickHouse (experimental)
  • fast network protocol based on udp (UNet)
  • utilities for system's configuration based on XML.
  • python interface
  • go interface (experimental)
  • REST API
  • supported websocket API
  • supported OPC UA interface (based on open62541 and open62541pp libraries)

UniSet have been written in C++ and IDL languages but you can use another languages in your add-on components. The main principle of the UniSet library's design is a maximum integration with open source third-party libraries. UniSet provides the consistent interface for all add-on components and third-party libraries. Python wrapper helps in using the library in python scripts.

libuniset requires minimum C++11 (without pqxx support) libuniset requires C++17 for pqxx support

More information:

periodically checked by PVS-Studio Analyzer