Do you have a hardware PLC setup alrady ? If so, What brand and model ? There is limited linux support for hardware PLC proprietary interfaces. Some AB and Siemens models and protocols are supported and there is standard modbus support.
If you don't have anything but IO and a software PLC is what you need, Alaric's suggestion is a good one.
If you have one of the hardware PLCs I mentioned you can find support at the following web sites :
tuxplc.net - a fine program for the AB df1 protocol. I'm currently writing an interface for this one. If your good with php you can develop a web interface very easily for this program. A sample script is included.
Also...Lintouch is a open source Linux/Windows HMI program with modbus TCP support. I haven't played with it much ( has problems compiling on Slackware ) but when I finaly did get it to compile, it was impressive. If you ever used Intelutions FIX then you have a good idea about Lintouch.
Good luck