These French gents are sharing free(GPL) C++ libraries for Linux PLC drivers. They are working on:
They also have an AB and a modbus datalogger and a CGI to display a graph.
BTW, Linux is only free if your time isn't worth anything
... my favorite linux joke. But really, good work guys!