Yes, and the important thing is that it _be_ reusable. This would almost require some sort of an IL at the interface that individual compiler/decompiler modules could be written to. So the same front end could be common to PLCs from various sources and the many software PLCs that are popping up. This seems to be the part that's missing from many projects. The online monitoring function could consist of a virtual PLC at the interface with a memory map containing an array of Integers, Floats, Bits, Timer structs, etc. that are common to all targets so that assigning tags or references in the editor would determine where to put the bits read back when online. I think this would be reasonable to deal with for PLCs that simply blast a map back or those that send address and data. The personality module writer could then use either or both depending on how the PLC does things. Just my thoughts as I have little carnal knowledge yet. The only depressing thing is that I will have to find another machine to put Windows on to do research and pay the monopoly for a copy. I don't anticipate any cooperation from my workplace so I'll have to pollute my home. The PLC software is often available in a demo version that will suffice. Hardware requires an investment but I can probably scrounge a Micrologix with a bad input or output. I may have to buy an AD brick as there isn't much around here. We will need some background to get a good idea of what's involved. Intuition is only good to a point.