Well, when it comes to the fundamental model of a PLC, they are really kinda simple. A Propeller is more than capable for the processor, or so Peter has lead me to believe (though I have no idea what the specifications for the actual processor performance in industry standard PLCs is...) And after that, the important parts are I/O, Power circuitry, Isolation and maybe setting up some other way to program it.
Power, I don't think I'll have too much trouble with. I can buy a supply for some voltage and convert it to any other voltages I need. The hard part there will be making some robust filtering. I may end up just buying something for that, though I'd really rather not.
I'll need to figure out how to do each sort of I/O operation I'd like to have, but at the very least I should be able to get a digital, isolated I/O system set up fairly easily. Analog might be tricky.
Aside from being careful and selecting the right components and designing something that will actually work, the hardest part will likely be the actual programming. I'll need to find some way to create logic programs for it relatively quickly and easily, and have some core system which accepts a user program that is essentially completely compartmentalized from the core functionality (diagnostics/faults, etc.) And probably some formalized way of writing the user program.
I was thinking it might be better to force the program to be written in either PASM or Spin. That way there would be no need to compile it from some other language, and compromise the speed, or cripple the capabilities of the user program, by trying to force a language not meant to be run on a parallel architecture into running on one.
Working in native Propeller languages would be like avoiding trying to mash a square peg into a round hole. This, being a parallel architecture needs to be programmed differently than a traditional PLC to get the full capabilities out of it. Traditional PLC programming languages are not optimized to run on multi-core systems, and that alone would cause significant issues in trying to port it over to the Propeller.
The only immediate issue that I can see is that because PASM has a limit of 496 instructions per Cog, despite being much faster than Spin, it would make coding larger solutions in PASM a pain in the ***, either requiring sacrificing another Cog for the code, or possibly requiring some sort of program to stream the instructions from the larger memory and running them. But that also introduces slow-down in the system.
Mind you, since the Propeller can run at 80MHz Resulting in 160 MIPS total (all 8 Cogs) in Spin. And estimates put PASM at between 80 and 100 times faster than Spin, so even some pretty large programs should run at pretty fast scan times.