¿ªÔÆÌåÓý

Re: Sbitx #165 received today, thoughts.


 

Allison,

I have seen systems with a fast loop based on an interrupt timer.? I believe this control system was on a UNIX-type system.? The system also had real-time interrupt service routines for the less than millisecond required responses.? ?This was for a PLC type of control, so a 1ms loop was considered very fast.? The interrupt time-based loops were where the deterministic control was done, and the other non-critical operations were in the normal UNIX round-robin loop.

If you have enough interrupts to assign one to each time critical process, then a complete interrupt-driven process would be the most efficient.? Then you need the information on the time lapse between interrupts to have deterministic control of process systems used in real-time control systems.? In the real world, there are never enough interrupts to go around.? That was why time-based interrupt loops were used.

The concept of fast and slow tasks was one of the biggest hurdles I had in getting new control engineers up to speed on the different types of PLC control.? Originally the systems were all based on a fast processor to cycle through all of the code quickly enough to do all the required processing.? This is the Arduino type of program control.? Later designs started the task concept that assigned loops to be time-based and split up the control to the appropriate loop.? There are still ongoing discussions of the two different ways to get determinism, with the most recent that if you throw a fast enough processor at the problem, then a non-deterministic system can act like one with a repeatable stimulus to response time with a small enough jitter not to matter.

The basis of my suggestion is to create a pseudo-RTOS inside the Linux system and let Linux schedule all of the non-time-critical processing.? The RPi4 has enough processing capability that many approaches can work.??

It was just a thought.? Thank you for the response, and I agree with your priorities.
73
Evan
AC9TU

.

Join [email protected] to automatically receive all group messages.