Changing a program on the fly while a PLC is running is also not possible for a lot of PLC’s. I use softplcs from Sigmatek. It is running on a realtime OS it is called ‘ON TIME’ I think. The development software is object oriented. The code is ‘structured text’, IL, ladder or C (Debugging in C is almost impossible). Other softplc that I know of are Beckhoff (already mentioned) and Bachman. Bachman softplcs are often used in windmills the OS for this softplc is VXworks the development is Codesys. In general I think plcs are more reliable than softplcs and softplcs are a bit cheaper. Henry