I am newbie, and I want to update an existing control system, which works with a 486 PC with AD/DA card currently. Is it a good idea to find a solution with a windows 10 PC, and a USB AD/DA card? The system must control 2 hydraulic cylinders, which have slow movements, the signals are +/- 10 Volts.
1$\begingroup$ What OS does the existing control system use? $\endgroup$– StainlessSteelRatSep 12, 2022 at 17:58
$\begingroup$ What upgrades are you planning ? what latency exists or problems now? $\endgroup$– Tony Stewart EE75Sep 15, 2022 at 14:12
$\begingroup$ Expanding channels is one thing, upgrading H/W & S/W depends on your software needs. You'll want SSD's but better off defining what you need to optimize. What software will you use? $\endgroup$– Tony Stewart EE75Sep 15, 2022 at 14:26
A PC is less than ideal for real-time work, though it does depend on how fast a response-time you need.
Your elderly 486 system might have been a pure MS-DOS system with no multitasking, or an early version of Windows which could be persuaded to monopolise its CPU with time-critical tasks. Windows 10 is much more locked down, so you are at the mercy of what the OS decides to do.
You say the hydraulics move slowly, but you need to quantify that by specifying a maximum response-time, and most importantly you need to assess what would happen if the PC goes completely unresponsive for a while, or crashes with its DAC outputs in an unpredictable state; could this result in damage to your system, or injury to its users?
Personally, I'd think long and hard before trusting Windows 10 with any real-time control functions, no matter how slow.
Using a PC for real time is extremely difficult. You will deal with endless issues where the control loop stops responding for anywhere from 50ms and 3 SECONDS (potentially even longer).
If your system can tolerate that, and you only need to run for a minute or 2 continuously to get a successful operation you may be able to get away with it.
All PC operations (baring kernel level real-time hacks) are the the mercy of the scheduler. It will TRY to to give you CPU time slots regularly, but once in a while a low level system task will stall and hog the CPU or another resource that you need, and then you're screwed.
You should only even consider this if the control loop is far too complex for a microcontroller or PLC to handle it.