2
$\begingroup$

What are the requirements to call a controller real-time?

What are the entire standards for that?

I do not think that just rendering the output quickly before the sampling interval passes is sufficient for the real-time certification.

$\endgroup$
4
  • $\begingroup$ So whose certification? If we can know the standards you are talking about... $\endgroup$
    – Solar Mike
    Jun 17 '18 at 9:39
  • $\begingroup$ Start with a real-time operating. Your control code has the highest priority to execute and it won’t be interrupted. Also, you need to determine how quickly your system needs to be able to respond. $\endgroup$
    – GisMofx
    Jun 17 '18 at 12:40
  • $\begingroup$ @GisMofx, Do you mean that this priority is supported by OS? $\endgroup$
    – Adams
    Jun 17 '18 at 23:31
  • $\begingroup$ Yes and it depends on the OS variant. $\endgroup$
    – GisMofx
    Jun 19 '18 at 14:24
2
$\begingroup$

A real time controller is any controller that can control a system as it is operating. This is opposed to, for example, simulating control after the fact.

$\endgroup$
4
  • $\begingroup$ There is also the different concept of a real-time simulation: one in which time passes at the same rate as real time. $\endgroup$ Jun 17 '18 at 17:05
  • $\begingroup$ But that is only true based on the direction that we measure time... $\endgroup$
    – Solar Mike
    Jun 17 '18 at 19:12
  • $\begingroup$ Does it mean that being real-time is about rendering fast rather than guaranteeing that the system does not fail provide response in real-time? $\endgroup$
    – Adams
    Jun 18 '18 at 6:04
  • $\begingroup$ @Adams: "Rendering" makes no sense in this context. $\endgroup$ Jun 18 '18 at 11:01
1
$\begingroup$

I don't think your question calls for pointing to any of the various official standard definitions of "real-time" (e.g., ANSI/IEEE POSIX 1003.1b-1993 and POSIX 1003.1i-1995). And the real-time computing research and practitioner communities have little consensus on a "definition," instead having a great many ad hoc interpretations. The following actually captures the essence of "real-time" and its relationship to control systems (among others):

Many people implicitly have an informal mental model that considers information or an action as being "real-time"

• if, or to the extent that, it is manifest to them with some expected delay that can be related to its perceived currency

• i.e., in an expected time frame that the information or action has satisfactory usefulness (or at least interest) to them.

That mental model is natural despite its informality. However, it must be formalized to create one for theoretical and any specific application purposes --such as for maintaining a control loop's dynamics.

That requires reasoning about “real-time” from a set of first principles, including "timeliness," "predictability of timeliness," and "uncertainty," to formulate a precise model which is satisfactorily useful for designing and measuring the behavior of the (say) control system.

$\endgroup$
2
  • $\begingroup$ Thank you very much for your great response. I still have a few concerns. Should the output be generated via a code in a separate thread? What happens if the computations take a longer time accidentally? Then what should a real-time system do? $\endgroup$
    – Adams
    Jun 19 '18 at 1:56
  • $\begingroup$ Your calculations should be fixed. If you expect any errors that should be built into your calculations. The calculation time should completed on a relatively fixed time interval. $\endgroup$
    – GisMofx
    Jun 19 '18 at 14:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.