Ada for Automation Project

Close ×

About Ada for Automation Project

Application description

This is the Ada for Automation Project main web site.

Application version


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

Main Read Me

Next section highlights a demo from the Demo Portal

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.

App3 in the Cloud

Here is a link to Application 3 :
Application 3