There is no reason why you can not run a Windows virtual machine inside an Ubuntu host. You can then install the PLC programming software of your choice on the Windows virtual machine. Your virtual machine will have access to the serial, USB and ethernet ports if you have the virtual machine configured correctly.
I would try VMware Server, it allows you to create and run virtual machines. Best thing is that VMware Server is free and works on both Linux and Windows.
However, you might run into performance issues if try to run a virtual machine on older hardware. To get the best performance out of your virtual machine I would recommend that you have:
- 2GB of RAM
- 2 or 4 core processor with virtualization extensions (see AMD-V or Intel VT chips)
- and preferably install your virtual machine on a separate hard drive to your host operating system.