Does the idea make use of https://86box.net? Just heard of this recently on hn and it seems promising for anything that requires low level/cycle accurate emulation vs. your typical high level emulator.
It should work with Siemens MPI/PPI interfaces, but I predict issues with ex-Telemecanique (now Schneider Electric) unitelway realtime DOS driver which is extremely picky.
My idea is a DOS emulator with a really thorough log of every DOS interrupt called and I/O port interacted with. This could then be used to automatically, say, insert rows into a sqlite table when the DOS app updates a .DBF file, or forward GPIB data to a modern USB adapter. I wanted to avoid low level/cycle-accurate emulation as much as possible, only adding quirks as needed to support the most popular business application suites.