cnotesdip, if you can write the software for a scanner, you can also write your own simulator. I did the same, so it is possible.
But you do need to solve the hardware problem. You just cannot connect a PC to a car or a scanner directly.

cnotesdip, basically you have to connect a signal/protocol converter.
You would need 4 types:
a) for Iso9141-2 and Iso14230 to convert 12Volt to say RS232C
b) for SAE J1850 VPW
c) for SAE J1850 PWM
d) for Can

For recording Iso you need some software that records serial channels complete with timing information and a signal converter. I use an old program called Comwatch (which is no longer sold) and a self-made signal converter. The signal converter converts 12Volt to TTL level and then from TTL to RS232C. You could use a KKL interface for this.
For recording SAE J1850 the Dearborn Group used to sell very good software/hardware.
For recording Can you have a broad selection of vendors. I use the Can Analyzer Tool from Actia.

Simulating ecu's from the PC is another matter.
The simplest are the Iso protocols if you are using a serial com-port. You need to convert the signal from RS232C to TTL and then from TTL to 12Volt. Again you could use a KKL-interface for this. The simulator you would have to write yourself.

For Can I use a programmable interface normally used for a scanner. This contains a CPU with a Can-interface that runs 8051-code. This needs software on the PC to download the code and change parameters PLUS the internal firmware for the 8051-based ecu and can-interface to generate the OBD2/EOBD protocol.

for my ecu work i just capture the raw data and time frame from each of the ecu's i'm interested in by driving around for a few hours and logging it, then instead of a simulator i use an emulator, so just read in from the data files sycn'd with the time stamps. You can capture as many protocols as you like and have lots of data sets that have various problems, you can then send off capture tools to people with cars/cables you don't have access too.

the problem with simulators is the same problems as with most cars and OBD II (or anything else like this), the timing and bugs are all diffferent. With a software solution, its a lot cheaper, you can simulate errors easily and more importantly with 100% repeatability, since you're capturing the exact state, you're capturing the bug too.

i've even gone as far as using a cpu emulator and running the actual ECU code on it.

its an excellent way to do it, and no simulator thats affordable for most hobbists is even going to come close to the featureset.

you can for instance save the entire state of the hardware and just load it in and repeat it, exactly, so if you have odd bugs you can replay them easily, you can even capture the exact state of the cpu/memory to do a replay for really tough bugs.

Doing the cpu emulator isn't for the faint of heart, but the raw data capture one is very straightforward and whereas a hardware simulator is pretty much limited to what its designed for, a software one can be constantly changed.

I've written a few capture dlls for j2534/ftdi etc, they're pretty straightforward to do.

found this reliable and cheap

The above simulator is made by xtremeobd2 it only works with ISO at the moment but the price is fairly cheap one of these can go for about $300 and is the first simulator out there to utilize software to make changes unlike the ones from ozenelektronic or scantool.net