DE10000571A1 - Non-real time operating system extension for automation, metrology applications, involves assigning free high priority system clock source, to real-time program - Google Patents

Non-real time operating system extension for automation, metrology applications, involves assigning free high priority system clock source, to real-time program

Info

Publication number
DE10000571A1
DE10000571A1 DE2000100571 DE10000571A DE10000571A1 DE 10000571 A1 DE10000571 A1 DE 10000571A1 DE 2000100571 DE2000100571 DE 2000100571 DE 10000571 A DE10000571 A DE 10000571A DE 10000571 A1 DE10000571 A1 DE 10000571A1
Authority
DE
Germany
Prior art keywords
real
time
program
clock source
operating system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE2000100571
Other languages
German (de)
Inventor
Juergen Rall
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to DE2000100571 priority Critical patent/DE10000571A1/en
Publication of DE10000571A1 publication Critical patent/DE10000571A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Abstract

The existing non-real time operating system is separated from its high priority system clock source program, technically and is assigned to lower priority system clock source. The currently free high priority system clock source, is assigned for real-time program. An independent claim is also included for external clock generator.

Description

Die Erfindung beschreibt ein Verfahren zur Erweiterung eines nicht-echtzeitfähigen Betriebssystems mit einem echtzeitfähigen Programm, basierend auf 2 unabhängigen Zeitgebern.The invention describes a method for expanding a non-real-time operating system with a real-time capable program, based on 2 independent timers.

Echtzeitfähige Betriebssysteme kennzeichnen sich durch ein deterministisches Zeitverhalten bzgl. der Ausführungszeiten (z. B. zeitgenaues aktivieren von Signalen) und den Reaktionszeiten (Latenzzeiten, z. B. vom Eintreffen eines Sensorsignals bis zur programmtechnischen Abarbeitung). Darüberhinaus besitzen echtzeitfähige Multitasking-Betriebssysteme ein deterministisches Zeitverhalten ihrer Programm-Umlaufzeit (Task-Umschaltzeit).Real-time capable operating systems are characterized by a deterministic time behavior regarding the Execution times (e.g. precise activation of signals) and reaction times (latency times, e.g. B. from the arrival of a sensor signal to program processing). Furthermore have real-time capable multitasking operating systems a deterministic time behavior of their Program cycle time (task switchover time).

Nicht-Echtzeitfähige Betriebssysteme besitzen kein, oder nur ein schwach ausgeprägtes deterministisches Zeitverhalten. Die Programm-Umlaufzeit, als auch Latenzzeiten können stark variieren, bis zum völligen Stillstand. Sie zeichnen sich jedoch in der Regel durch gute Visualisierungsmöglichkeiten aus und ermöglichen eine standardisierte Bedienerführung, sowie den Einsatz von standardisierten Entwicklungswerkzeugen.Operating systems that are not real-time capable have no, or only a weak, pronounced one deterministic time behavior. The program turnaround time, as well as latency times can be strong vary until completely stopped. However, they are usually characterized by good ones Visualization options and enable standardized operator guidance, as well as the Use of standardized development tools.

Eine Kombination der Eigenschaften ist daher sinnvoll, insbesondere wenn das Betriebssystem für Steuerungsaufgaben in der Automations- oder Messtechnik eingesetzt werden soll.A combination of the properties is therefore useful, especially if the operating system for Control tasks in automation or measurement technology should be used.

ProblemstellungProblem

Die Programm-Umlaufzeit bei einer PC-basierenden Plattform wird durch den System-Interrupt (IRQ0) vorgegeben, welcher vom systemeigenen Zeitgeber erzeugt wird. Nicht-echtzeitfähige Multitasking- Betriebssysteme verwalten die Umlaufzeit der einzelnen Programme prioritätsgesteuert, welches hoch-priore Programme gegenüber nieder-prioren bevorzugt. Im schlechtesten Fall wird daher ein nieder-priores Programm vom Prozessor nicht mehr behandelt. Ein deterministisches Verhalten kann hierbei nur dem höchst-prioren Programm, bzw. dem Verwaltungsalgorithmus des Betriebssystems selbst zugeschrieben werden.The program turnaround time on a PC-based platform is determined by the system interrupt (IRQ0) which is generated by the system's own timer. Non-real-time capable multitasking Operating systems manage the round trip time of the individual programs with priority High-priority programs preferred over low-priority ones. In the worst case, therefore low-priority program no longer handled by the processor. A deterministic behavior can only the highest-priority program or the management algorithm of the operating system be attributed to yourself.

Bekannte Verfahren zur Implementation von echtzeitfähigen Programmen in nicht-echtzeitfähige Betriebssysteme rufen daher das echtzeitfähige Programm direkt nach dem Eintreffen des System- Interrupts auf (noch vor dem Aufruf des Verwaltungsalgorithmus des nicht-echtzeitfähigen Betriebssystems), um ein deterministisches Zeitverhalten zu gewährleisten. Ein, in das echtzeitfähige Programm zusätzlicher integrierter, Verteilungsalgorithmus ruft hierbei sequentiel sowohl die eigentlichen Betriebssystem-Verwaltung, als auch das echtzeitfähige Programm auf. Durch die sequentielle Abarbeitung des System-Interrupts bleiben die Prioritäten für das nicht-echtzeitfähige Betriebssystem und für das echtzeitfähige Programm identisch. Dies kann zur Folge haben, daß das Betriebssystem den deterministischen Ablauf blockieren kann.Known methods for implementing real-time capable programs in non-real-time capable Operating systems therefore call the real-time capable program immediately after the system Interrupts on (even before calling the management algorithm of the non-real-time capable Operating system) to ensure deterministic time behavior. One in the real time capable Program of additional integrated, distribution algorithm calls sequentially both the actual operating system management, as well as the real-time capable program. Through the sequential processing of the system interrupt remains the priority for the non-real-time capable Operating system and identical for the real-time capable program. This can have the consequence that the Operating system can block the deterministic process.

LösungsansatzApproach

Der erfindungsgemäße Lösungsansatz beruht dabei auf der software-technischen Trennung des bestehenden nicht-echzeitfähigen Betriebssystem von seiner hoch-prioren System-Takt-Quelle und dessen Anbindung an eine zweite, nieder-prioren Takt-Quelle (als 2. Takt-Quelle kommen hierbei sowohl die interne Echtzeit-Uhr, als auch eine externe Takt-Quelle in Frage). Die somit freigewordene hoch-priore System-Takt-Quelle wird nun für das echtzeitfähigen Programm eingesetzt. Das nicht- echtzeitfähige Betriebsystem ist bei diesem Verfahren von dem echzeitfähigen Programm asynchron entkoppelt. Die Takt-Quellen sind bei diesem Verfahren voneinander unabhängig.The approach according to the invention is based on the software-technical separation of the existing non-real-time operating system from its high-priority system clock source and its connection to a second, lower-priority clock source (here come as a second clock source both the internal real-time clock and an external clock source in question). The thus released high-priority system clock source is now used for the real-time capable program. Not that one- With this method, the real-time capable operating system is asynchronous from the real-time capable program decoupled. The clock sources are independent of one another in this method.

Mit diesem Verfahren können für das echtzeitfähige Programm geringere Umlaufzeiten erreicht werden, da im Gegensatz zu anderen echtzeitfähigen Betriebssystem-Erweiterungen kein zusätzlicher Verwaltungsalgorithmus innerhalb des Echtzeit-Programms benötigt wird. Hierbei können typische Umlaufzeiten des echtzeitfähigen Programms unterhalb 10 us (Mikro Sekunden) erreicht werden. Die Umlaufzeiten des echtzeitfähigen Programms sind dabei abhängig von den Leistungsmerkmalen der Hardware-Plattform frei einstellbar. With this method, shorter cycle times can be achieved for the real-time program unlike other real-time operating system extensions, there is no additional Management algorithm within the real-time program is needed. Typical Circulation times of the real-time capable program below 10 us (micro seconds) can be achieved. The Circulation times of the real-time capable program depend on the performance characteristics of the Hardware platform freely adjustable.  

Ein weiterer Vorteil dieses Verfahrens besteht durch die unterschiedlichen Hardware-Interrupt- Prioritäten der beiden Takt-Quellen. Die hochprioren System-Verwaltungs-Funktionen des Betriebssystem können nun selbst durch den höchst-prioren Hardware-Interrupt (Takt-Quelle für das echtzeitfähige Programm) unterbrochen und somit das deterministische Zeitverhalten des echtzeitfähigen Programms aufrechterhalten werden.Another advantage of this method is the different hardware interrupt Priorities of the two clock sources. The high priority system management functions of the Operating system can now even by the highest priority hardware interrupt (clock source for the real-time capable program) and thus the deterministic time behavior of the real-time program can be maintained.

Einsatz des Verfahrens in PC-basierenden PlattformenUse of the method in PC-based platforms

Das Verfahren eignet sich besonders für PC-basierende Plattformen. Bei PC-basierenden Platformen dient standardmäßig der interne System-Interrupt (IRQ0, höchstpriore Hardware-Interrupt) als System- Takt-Quelle für das exsistierenden nicht-echtzeitfähigen Betriebssystems. Das nicht-echtzeitfähige Betriebssystem wird nun von diesem Interrupt entkoppelt und einem neuen nieder-prioren Hardware- Interrupt zugeordnet. Hierbei kommen insbesonde die Interrupts IRQ3, IRQ4 (serielle Schnittstellen- Interrupts) oder der Interrupt IRQ8 (Echtzeit-Timer kaskadiert auf IRQ2) in Frage. Werden die Interrupts IRQ3 oder IRQ4 als System-Takt-Quelle für das nicht-echtzeitfähige Betriebssystem genutzt so kann dies durch einen externen Taktgeber an der seriellen Schnittstelle erfolgen. Wird hingegen der Interrupt IRQ8 als System-Takt-Quelle genutzt, kann auf einen externen Taktgeber verzichtet werden, jedoch muß ein Verwaltungsalgorithmus für die bestehende IRQ8 Interrupt-Behandlung vorgesehen werden. Das echzeitfähige Programm wird nun an den freien System-Interrupt (IRQ0) angehäng und kann asynchron zum nicht-echtzeitfähigen Betriebssystem ablaufen.The process is particularly suitable for PC-based platforms. For PC-based platforms By default, the internal system interrupt (IRQ0, highest priority hardware interrupt) serves as a system Clock source for the existing non-real-time operating system. The not real-time capable Operating system is now decoupled from this interrupt and a new low-priority hardware Interrupt assigned. The interrupts IRQ3, IRQ4 (serial interface Interrupts) or the interrupt IRQ8 (real-time timer cascaded on IRQ2) in question. Will the Interrupts IRQ3 or IRQ4 are used as the system clock source for the non-real-time operating system this can be done by an external clock on the serial interface. However, will the interrupt IRQ8 used as a system clock source, there is no need for an external clock However, a management algorithm for the existing IRQ8 interrupt handling must be used be provided. The real-time capable program is now connected to the free system interrupt (IRQ0) attached and can run asynchronously to the non-real-time capable operating system.

Ablauf der System-InitialisierungSystem initialization process

Das echzeitfähige Programm wird zur Laufzeit des nicht-echtzeitfähigen Betriebssystems installiert. Hierbei wird folgende Reihenfolge eingehalten:
(Siehe Fig. 1 Betriebssystem vor Installation der Echtzeiterweiterung)
The real-time capable program is installed at the runtime of the non-real-time operating system. The following sequence is followed:
(See Fig. 1 Operating system before installing the real-time extension)

  • a) Deaktivieren sämtlicher Hardware-Interruptsa) Deactivate all hardware interrupts
  • b) Umsetzung des nicht-echzeitfähigen Betriebssystems auf den nieder-prioren Interrupt (2. Takt- Geber)b) Implementation of the non-real-time operating system on the low-priority interrupt (2nd clock Giver)
  • c) Ankopplung des echtzeitfähigen Subsystems an den vorherigen hoch-prioren Interrupt (System- Takt-Geber)c) coupling the real-time capable subsystem to the previous high-priority interrupt (system Clock generator)
  • d) Einstellung der Zeitbasis für den hoch-prioren Interrupt-Taktd) Setting the time base for the high-priority interrupt clock
  • e) Einstellung der Zeitbasis für den nieder-prioren Interrupt-Takt (falls programmierbar)e) Setting the time base for the low-priority interrupt clock (if programmable)
  • f) Aktivieren sämtlicher Hardware-Interruptsf) Activate all hardware interrupts

(Siehe (Please refer

Fig.Fig.

2 Betriebssystem nach Installation der Echtzeiterweiterung)2 operating system after installation of the real-time extension)

Claims (5)

1. Verfahren zur Erweiterung eines nicht-echtzeitfähigen Betriebssystems mit einem echtzeitfähigen Programm, dadurch gekennzeichnet, daß das bestehenden nicht-echzeitfähigen Betriebssystem software-technisch von seiner hoch-prioren System-Takt-Quelle getrennt wird und einer zweiten, nieder-prioren System-Takt-Quelle zugeordnet wird. Die somit freigewordene hoch-priore System- Takt-Quelle wird nun für das echtzeitfähigen Programm eingesetzt.1. A method for expanding a non-real-time capable operating system with a real-time capable program, characterized in that the existing non-real-time capable operating system is software-technically separated from its high-priority system clock source and a second, low-priority system clock -Source is assigned. The thus released high-priority system clock source is now used for the real-time capable program. 2. Verfahren gemäß Patentanspruch 1, dadurch gekennzeichnet, daß als 2. Takt-Quelle für das nicht- echtzeitfähige Programm sowohl die interne Echtzeit-Uhr-Steuerung, als auch eine externe Takt- Quelle in Frage kommt.2. The method according to claim 1, characterized in that as the second clock source for the non- real-time program, both the internal real-time clock control and an external clock Source comes into question. 3. Verfahren gemäß Patentanspruch 1 und 2, dadurch gekennzeichnet, das die Takt-Quellen voneinander unabhängig sind.3. The method according to claim 1 and 2, characterized in that the clock sources are independent of each other. 4. Verfahren gemäß Patentanspruch 1, dadurch gekennzeichnet, daß die Programm-Umlaufzeit des echtzeitfähigen Programms, abhängig von den Leistungsmerkmalen der verwendeten Hardware- Plattform frei einstellbar ist.4. The method according to claim 1, characterized in that the program cycle time of real-time capable program, depending on the performance characteristics of the hardware used Platform is freely adjustable. 5. Vorrichtung zur Erzeugung einer externen Takt-Quelle, gemäß Patentanspruch 2, dadurch gekennzeichnet, das Interrupts über die serielle Schnittstelle ausgelöst werden können.5. Device for generating an external clock source, according to claim 2, characterized marked that interrupts can be triggered via the serial interface.
DE2000100571 2000-01-10 2000-01-10 Non-real time operating system extension for automation, metrology applications, involves assigning free high priority system clock source, to real-time program Ceased DE10000571A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2000100571 DE10000571A1 (en) 2000-01-10 2000-01-10 Non-real time operating system extension for automation, metrology applications, involves assigning free high priority system clock source, to real-time program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2000100571 DE10000571A1 (en) 2000-01-10 2000-01-10 Non-real time operating system extension for automation, metrology applications, involves assigning free high priority system clock source, to real-time program

Publications (1)

Publication Number Publication Date
DE10000571A1 true DE10000571A1 (en) 2001-07-19

Family

ID=7627022

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2000100571 Ceased DE10000571A1 (en) 2000-01-10 2000-01-10 Non-real time operating system extension for automation, metrology applications, involves assigning free high priority system clock source, to real-time program

Country Status (1)

Country Link
DE (1) DE10000571A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4104365C1 (en) * 1991-02-13 1992-03-05 Siemens Ag, 8000 Muenchen, De
EP0499178A1 (en) * 1991-02-08 1992-08-19 Nec Corporation System clock switching mechanism for microprocessor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0499178A1 (en) * 1991-02-08 1992-08-19 Nec Corporation System clock switching mechanism for microprocessor
DE4104365C1 (en) * 1991-02-13 1992-03-05 Siemens Ag, 8000 Muenchen, De

Similar Documents

Publication Publication Date Title
EP0851348B1 (en) Method and device for implementing a realtime control program in a non realtime control program
Welch The statistical analysis of simulation results
DE60006422T2 (en) TASK SEQUENCE PLANNING AND MESSAGE TRANSMISSION
EP2232369B1 (en) Computer system, control apparatus for a machine, in particular for an industrial robot, and industrial robot
EP0655682A1 (en) Multitasking arithmetic unit
US5077763A (en) Mechanism for measuring the service times of software and hardware components in complex systems
DE102010043569A1 (en) Method and apparatus for scheduling tasks for controlling hardware devices
EP0764906A3 (en) Method of operating a real time computer system controlled by a real time operating system
EP0991986B1 (en) Method for process monitoring, control and adjustment
DE4223454A1 (en) Digital signal processor with direct memory access controller - performs different transfers of data according to relationship of input-output period to task processing time
DE10000571A1 (en) Non-real time operating system extension for automation, metrology applications, involves assigning free high priority system clock source, to real-time program
DE102018221534A1 (en) System and method for measuring the response time of event strings
EP0616274B1 (en) Synchronisation method for an automation system
DE10039277A1 (en) Procedure for the timely execution of a target function
CN111638965B (en) Command queue inter-fence synchronization method and system based on fence replication and handshake
EP1320047A2 (en) Method for analyzing the temporal behavior of complex distributed systems
EP1136896A3 (en) Highly available computer system and method for switching processing programs in a highly available computer system
CN112578744B (en) Method and configuration tool for scheduling one or more control applications on an industrial controller
DE102020102996A1 (en) Process for an integrated design for the modeling, simulation and testing of a real-time architecture within a model-based system and software development
EP4012516A1 (en) Plc execution environment
EP0991995B1 (en) Interrupt method in a computer system with interrupt control
Dong et al. Capturing Concurrent Interactions of Mission Computer Tasks
EP3413204B1 (en) Method for parallel administration of continuous and task-synchronous input data of a real-time system
Carpenito et al. The allocation of non-identical machines among non-identical servers
AT513762B1 (en) A method of preventing interruption of a specified instruction sequence of a process by another process in a data processing system

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection