What it is and which purpose it serves
What it is
Ada for Automation (A4A in short) is a framework for designing industrial automation applications using the Ada language.
It makes use of the libmodbus library to allow building a ModbusTCP client or server, or a Modbus RTU master or slave.
It can also use Hilscher communication boards allowing to communicate on field buses like AS-Interface, CANopen, CC-Link, DeviceNet, PROFIBUS, EtherCAT, Ethernet/IP, Modbus TCP, PROFINET, Sercos III, POWERLINK, or VARAN.
With the help of GtkAda, the binding to the Graphic Tool Kit, one can design Graphical User Interfaces.
Thanks to Gnoga, built on top of Simple Components, it is also possible to provide a Web User Interface.
Nice addition is the binding to the Snap7 library which allows to communicate with SIEMENS S7 PLCs using S7 Communication protocol ISO on TCP (RFC1006).
Of course, all the Ada ecosystem is available.
Using Ada bindings, C, C++, Fortran libraries can also be used.
And, since it is Ada, it can be compiled using the same code base to target all major platforms.
Please see Main Read Me
Next section highlights a demo from the Demo Portal
Ada for Automation Modbus TCP Server / S7 Gateway
This example shows a gateway application, running on an industrial PC on top of a GNU/Linux Debian connected to a SIEMENS S7 PLC using S7 Communication ISO on TCP (RFC1006) thanks to the Snap7 library Ada binding.
If the SIEMENS S7 PLC does not have an Ethernet port, S7 Communication ISO on TCP (RFC1006) can be added by pluging a netLINK on a MPI or PROFIBUS port.
Here is a link to Application 3 :