Usually industrial automation applications developed at eNTiDi are based on a constellation of multiplatform libraries grouped under the name of GTK. Multiplatform means the code can be executed on different operating system; for example the bare GTK libraries work under all the GNU/Linux distributions and on all the UNIX *BSD (FreeBSD, OpenBSD, NetBSD etc...), on MacOS/X, OpenSolaris and on win32 platforms, that is from Windows 2000 or above, Windows 10 included.
Software stack used for industrial automation
The GTK is basically a set of libraries for GUI development (graphical user interfaces). They provide the foundation of some of the most known multiplatform projects such as the Firefox web browser, the Transmission bit-torrent client, the inkscape vector graphics editor and the GIMP image manipulation program, the latter being the project from which the GTK has been spawned (GTK stands for the GIMP ToolKit).
A powerful, fast, lightweight, embeddable scripting language. It combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting bytecode for a register-based virtual machine, and has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting, and rapid prototyping.
GOffice is a library of document-centric objects and utilities building on top of GLib and GTK+ and used by software such as Gnumeric.
EtherCAT is an emerging fieldbus technology initially developed by Beckhoff.
It is popular, it has been standardized, it has decent opensource support, it is leading edge... it seems to be the best candidate to become the leading fieldbus system in the future. We tested both the SOEM and the IgH EtherCAT master stacks, choosing the latter. You can poke around the ethercatest project for further details on how the comparison has been performed and to see the results.
A feature-rich, open-source stack of industrial quality for communicating over CANbus with the CanOpen protocol.
Initially the CANfestival software stack has been tested. It works but the code quality and the documentation is really low. The software stack developed by Lely industries instead has clean code and it is well documented.
Modbus protocol for linux and OSX developed in C and supporting text RTU communication on serial lines or over TCP nets. API clear and well documented.
A data abstraction layer. It can manage data stored in databases and can be used by non GNOME applications, it depends on the GLib (and integrates with it), and LibXML.