Capturing a DOS program from a 486

ceilingwalker

Lifetime Supporting Member
Join Date
Mar 2010
Location
Phoenix, AZ
Posts
1,586
Hello. I actually still have a customer that has a 486 running a DOS program controlling a press. My task, convert it to an AB PLC and PV+. I am not at all DOS savvy! I need to capture what is running in this PC and I have no idea where to even start. I'm hoping someone here has already learned how to do this and is willing to share some info. Thank you
 
My first thought would be to upgrade to a Compact GuardLogix and start from scratch. The GuardLogix software has some metal forming instructions built in that should make press control pretty straight forward.



If the press has a lot of alarms/diagnostics/etc. that you want to exactly duplicate, that might be different. At my last place, we had a press by Schuler/Weingarten that had a DOS based controller. It had a lot of sensors on it. We had a printout of the code (looked like S5 Statement List) but I never figured out how to generate another printout of it. It would have to be from within the software. You *may* be able to get some help from the builder, but if it's Schuler/Weingarten be ready to pay a lot of money for support that may not be forthcoming if they know you're going to replace their stuff.
 
I have no idea where to even start
Start with the physical interface between the devices on the press and the PC. The I/O modules might give you some insight into what software was used to create the executable that's running the show. Best case scenario is that the DOS-based application that created the runtime is still located on the PC that hosts the runtime.
 
I worked on a batching system written before S88 was a thing. It ran on a 286 using Quick Basic. (A compiled version of basic). Had to add a do nothing subroutine, to slow it down enough to still run on a Pentium. Whoever wrote the program, wrote their own comm driver, very cutting edge circa 1985

Anyway, the quick basic program, has graphics, and downloaded data to the PLC. We need more information about the DOS program. Is there an executable that runs? Serial comms?
 
Get the program, load it into IDA. If it has symbols still, you're in luck. If it doesn't, welcome to the world of ASM. On the bright side, DOS programs were in general not very complex; you may run into ISRs which again are not complex, but do require an understanding of the hardware environment.

INT 21h is the main O/S interface, and the BIOS had a similar interface, i think it was 13h.

https://hex-rays.com/ida-free/

ed: you're going to need a 16-bit version of IDA, I don't know if the current version can do that.
 
Last edited:
What is DOS? Sounds lame to me.
A great man once told me to run it on the floppy disks instead of the hard drive, otherwise I may experience the infamous Blue screen of Death.

And yeah, what is ISR and why not the TSR.

INT 13 sounds cool for the BIOS, let’s try loading it with:
MOV AH, 00h
INT 13h


And see how your disk will re-act..

Btw, you free IDA for DOS is waiting for you here: https://downloads.scummvm.org/frs/extras/IDA/idafree50.exe
 
I would look at all the controls, not just the pc.
inside the main control panel, there might be a plc or some other controller.
if there is, write down what you see and report back to us.
the pc might contain the programing software for the plc.
regards,
james
 
I've done this on a hydraulic cutting press with a DOS based controller. I had a full set of electrical drawings, but no software at all. I managed to figure out the cutting sequence by taking videos of all the IO on the machine and comparing the lights to the electrical drawings. Very slow and tedious, but got there.

The original used Stober servos (which I haven't seen anywhere else) for conveyors and Beckhoff BK2000 lightbus IO. No PLC at all in that panel, lightbus was connected directly to the PC in the panel.

EDIT: Just checked the electrical drawings and the original controller on this machine was also a 486.
 
Last edited:
Did the DOS PC really control the press, or was it only an HMI ?

This is on my due diligence list to find out. I am not exactly sure what the PC does, at this point. I don't want to dig in the cabinet too much as it is a critical part of the process. I have just opened cabinets and taken pictures before and then had a machine go down and of course they all want to know what I did in the cabinet. Looking at my pics the only input I see for sure is a pressure transducer input. This is what I have and my reluctance to touch anything yet. Screenshot 2023-12-05 082322.png
 
Did the DOS PC really control the press, or was it only an HMI ?

I would look at all the controls, not just the pc.
inside the main control panel, there might be a plc or some other controller.
if there is, write down what you see and report back to us.
the pc might contain the programing software for the plc.
regards,
james

No PLC, all relay logic pre-PLC time.
 
I've done this on a hydraulic cutting press with a DOS based controller. I had a full set of electrical drawings, but no software at all. I managed to figure out the cutting sequence by taking videos of all the IO on the machine and comparing the lights to the electrical drawings. Very slow and tedious, but got there.
Impressive !
I sometimes ask customers for a video of the PLC IO when they cannot otherwise describe what is going on. Takes some effort, but surprisingly effective.

The original used Stober servos (which I haven't seen anywhere else) for conveyors and Beckhoff BK2000 lightbus IO. No PLC at all in that panel, lightbus was connected directly to the PC in the panel.
That sounds as an early Beckhoff software PLC.

Looking at my pics the only input I see for sure is a pressure transducer input. This is what I have and my reluctance to touch anything yet. View attachment 67424
And no outputs ? Does sound more like a datalogging PC.
Looking at the photo, it appears to be a mess, but clean. I have seen worse.
 
In 1988, I assembled and programmed a DOS PC 8088 to control a kiln. The PC took care of the regulation loops with several motorized valves with open-close digital outputs.

In addition, a Hitachi E series PLC took care of the contact logic.

The PC had analog input and digital output cards from Analog Devices, I programmed it in Turbo Basic from Borland. The most difficult thing was to make it work in pseudo real time.
Obviously the PC was also the HMI, it even showed graphics.

If you do not have the source code, it is impossible to know how the programming works.

The only thing left to do is identify all I/O it uses and try to replicate its operation.
 

Similar Topics

is it possible to capture a value while its constantly changing then taking its highest reading? I have a nozzle that sprays for 10 seconds. I...
Replies
14
Views
3,440
Hey all, First time poster looking for a little help. I have a Kinetix 6000 drive that I am capturing faults for in RSLogix but I need some help...
Replies
0
Views
959
Hello PLC Experts, I want to do a logic where in an analog value will be captured per second or in any time possible and move that value into a...
Replies
2
Views
1,608
Processor: Schneider M241 Software: SoMachine 4.3 I am trying to capture the RPM of a shaft using a prox sensor. The shaft has two cams on it...
Replies
8
Views
2,507
I am trying to figure out a way to display, via a C-More HMI, from a MicroLogix 1400, what order events 1 thru 8 triggered in - i.e. - what...
Replies
3
Views
2,054
Back
Top Bottom