DE4410775A1 - Steuergerät und Betriebssystem für dieses Steuergerät - Google Patents

Steuergerät und Betriebssystem für dieses Steuergerät

Info

Publication number
DE4410775A1
DE4410775A1 DE19944410775 DE4410775A DE4410775A1 DE 4410775 A1 DE4410775 A1 DE 4410775A1 DE 19944410775 DE19944410775 DE 19944410775 DE 4410775 A DE4410775 A DE 4410775A DE 4410775 A1 DE4410775 A1 DE 4410775A1
Authority
DE
Germany
Prior art keywords
task
tasks
processing
operating system
interrupted
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.)
Granted
Application number
DE19944410775
Other languages
English (en)
Other versions
DE4410775C2 (de
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.)
Bayerische Motoren Werke AG
Continental Automotive GmbH
Mercedes Benz Group AG
Original Assignee
Bayerische Motoren Werke AG
Daimler Benz AG
Siemens AG
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 Bayerische Motoren Werke AG, Daimler Benz AG, Siemens AG filed Critical Bayerische Motoren Werke AG
Priority to DE19944410775 priority Critical patent/DE4410775C2/de
Publication of DE4410775A1 publication Critical patent/DE4410775A1/de
Application granted granted Critical
Publication of DE4410775C2 publication Critical patent/DE4410775C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25347Multitasking machine control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25352Preemptive for critical tasks combined with non preemptive, selected by attribute
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2637Vehicle, car, auto, wheelchair

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Control By Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

Die Erfindung betrifft ein Steuergerät nach dem Oberbegriff von Patentanspruch 1 und ein Betriebssystem nach dem Oberbe­ griff von Anspruch 2.
Bei einer bekannten Motorsteuerung (DE 38 26 526 A1) laufen Programme unterschiedlicher zeitlicher Priorität ab. Dabei sind Programme prioritätshoch, mit denen bei einem vorgegebe­ nen Kurbelwinkel ein Motorsteuervorgang ausgelöst wird, z. B. Kraftstoff eingespritzt oder das Kraftstoff-Luft-Gemisch ge­ zündet wird. Mit niedriger Priorität laufen sogenannte Hin­ tergrundprogramme ab.
Bei dem Entwurf von Steuerungen wird die von dem Steuergerät zu erledigende Steuerungsaufgabe üblicherweise in Teilaufga­ ben gegliedert und jede Teilaufgabe als ein in sich abge­ schlossenes Programm realisiert. Ein solches Programm wird als Task - oder auch als Prozeß oder Teilaufgabe - bezeich­ net. Betriebssysteme die mehrere Tasks verwalten können, wer­ den als Multitasking-Betriebssysteme bezeichnet.
Bei der Durchführung der Steuerungsaufgaben tritt häufig eine Situation auf, bei der sich mehrere Tasks um die Benutzung der zentralen Rechnereinheit, der CPU, bemühen. Die Aufgabe des Multitasking-Betriebssystems besteht darin, der CPU im­ mer nur eine von mehreren Tasks zuzuteilen. Der Teil des Be­ triebssystems, der die Taskwechsel vollzieht, wird als Dispatcher bezeichnet. Derjenige Teil des Betriebssystems, der entscheidet, welcher Task die CPU zugeteilt wird, wird als Scheduler bezeichnet.
Ein Taskwechsel kann von dem Betriebssystem grundsätzlich auf zwei verschiedene Arten durchgeführt werden:
  • - nach einer Verdrängungsmethode - im folgenden als "preemptive scheduling" bezeichnet -, bei der die Abarbei­ tung einer Task von dem Betriebssystem unterbrochen und die CPU einer anderen wartenden Task zugeteilt werden kann, und
  • - nach einer Stapelverarbeitungsmethode - im folgenden: "non-preemp­ tive scheduling" -, bei der eine laufende, d. h. der­ zeitig abgearbeitete Task nicht durch eine andere Task ver­ drängt werden kann.
Bei dem preemptive scheduling benötigt das Betriebssystem zu­ sätzliche Rechnerzeit und Arbeitsspeicherkapazität, um die Daten der Task zu sichern, die unterbrochen wird und später weiter bearbeitet werden muß. Bei dem non-preemptive schedu­ ling muß beim Entwickeln der Programme für das Steuergerät darauf geachtet werden, daß die Laufzeiten der einzelnen Tasks nicht die Echtzeitbedingungen des Systems verletzen. Es kann deshalb erforderlich sein, daß eine zusammenhängende Teilaufgabe in mehrere Tasks aufgeteilt werden muß.
Beim Entwickeln und Programmieren von Steuergeräten muß man sich bislang für eine der Betriebssystemarten entscheiden. Entweder entscheidet sich der Entwickler für ein non-preemp­ tive Betriebssystem, für das kein zusätzlicher Arbeitsspei­ cherplatz erforderlich ist, der Aufwand für die Programmer­ stellung aber höher ist, oder er entscheidet sich für ein preemptive Betriebssystem, das zwar zusätzlichen Speicher be­ nötigt, die Programmerstellung aber vereinfacht.
Der Erfindung liegt die Aufgabe zugrunde, ein Steuergerät und ein Betriebssystem für ein solches Steuergerät zu schaffen, das den Aufwand für Hardware und Software verringert und die Verarbeitungskapazität des Steuergeräts möglichst gut aus­ nutzt.
Diese Aufgabe wird erfindungsgemäß durch das Steuergerät nach Anspruch 1 und das Betriebssystem nach Anspruch 2 gelöst.
Ein Ausführungsbeispiel der Erfindung wird im folgenden an­ hand der Zeichnung erläutert. Es zeigen:
Fig. 1 ein Steuergerät gemäß der Erfindung in Blockdiagramm­ darstellung,
Fig. 2 die verschiedenen Zustände, die eine in dem Steuerge­ rät nach Fig. 1 abzuarbeitende Task einnehmen kann,
Fig. 3 eine Taskfolge bei einem Betriebssystem mit preemp­ tive scheduling,
Fig. 4 eine Taskfolge bei einem Betriebssystem mit non-preemp­ tive scheduling, und
Fig. 5 eine Taskfolge bei einem erfindungsgemäßen Betriebs­ system mit mixed-preemptive scheduling.
Ein Steuergerät 1 (Fig. 1) weist einen Zentralprozessor oder CPU 2, einen Arbeitsspeicher oder RAM 3, einen Festwertspei­ cher oder EPROM 4 sowie Ein- und Ausgabeschaltungen oder I/O- Ports 6 auf. Diese Schaltungsbestandteile sind durch Daten- und Signalleitungen 7 bis 10 und ein Bussystem 11 untereinan­ der verbunden. An den I/O-Port 6 sind eine Eingangsleitung 12 und Ausgangsleitung 13 angeschlossen, über die das Steuer­ gerät 1 mit dem zu steuernden System, z. B. mit der Einspritz­ anlage, der Zündsteuerung, der Getriebesteuerung usw. des Kraftfahrzeugs verbunden ist. Über die Eingangsleitung 12 gelangen die von hier nicht dargestellten Sensoren geliefer­ ten Meßwerte zu dem Steuergerät, über die Leitung 13 werden von diesem Steuersignale an eine ebenfalls nicht dargestellte Einrichtung, z. B. eine Motorsteuerung, ausgegeben.
Eine in dem Steuergerät 1 abzuarbeitende Task kann vier ver­ schiedene Zustände (Taskzustände) einnehmen, die aus Fig. 2 ersichtlich sind:
  • - Ruhend: Die Task belegt keine Betriebsmittel; sie bleibt in diesem Zustand, bis sie von einer anderen Task oder dem Be­ triebssystem gestartet wird.
  • - Bereit: Die Task bewirbt sich um die Zuteilung der CPU 2.
  • - Laufend (oder Aktiv): Die Task hat die CPU 2 zugeteilt be­ kommen und wird von dieser abgearbeitet.
  • - Wartend: Die Task wartet auf ein Ereignis, z. B. auf das Er­ gebnis einer anderen Task. Tritt dieses Ereignis ein, so wird die Task freigegeben und gelangt in den Zustand Be­ reit.
Der Taskwechselmechanismus kann nach einer der eingangs ange­ gebenen Methoden, der Stapelverarbeitung oder der Verdrän­ gungsmethode, erfolgen.
Bei der Verdrängungsmethode oder preemptive scheduling kann eine laufende Task (z. B. durch einen Interrupt) von dem Be­ triebssystem unterbrochen und die CPU 2 einer anderen warten­ den Task zugeteilt werden, wie nun anhand von Fig. 3 erläu­ tert wird.
In dem dargestellten Beispiel werden drei Tasks a, b und c betrachtet, wobei die Task a eine höhere Priorität als die Tasks b und c und die Task b eine höhere Priorität als die Task c hat. Zu einem Zeitpunkt t₀ warten die höherprioren Task a und b auf ein Ereignis, während die Task c läuft, d. h. abgearbeitet wird.
Zu einem Zeitpunkt t₁ tritt ein Ereignis - ein Interrupt - für die Task b ein. Der Dispatcher und der Scheduler werden gestartet. Da außer der Task c eine höherpriore Task bereit ist, wird die Task c unterbrochen und ihr Taskkontext geret­ tet.
Unter dem Taskkontext wird hier die Datengesamtheit ver­ standen, die erforderlich ist, um die unterbrochene Task später fortzusetzen. Im wesentlichen besteht der Taskkon­ text aus dem Inhalt der - hier nicht dargestellten, da all­ gemein bekannt - Register der CPU 2.
Die Task b wird gestartet.
Zu einem Zeitpunkt t₂ tritt ein Ereignis (Interrupt) für die Task a ein. Der Dispatcher und der Scheduler werden gestar­ tet. Da neben der Tasks b und c die höherpriore Task a bereit ist, wird die Task b unterbrochen und ihr Taskkontext geret­ tet. Die Task a wird gestartet.
Zu einem Zeitpunkt t₃ ist die Task a beendet. Der Dispatcher und der Scheduler werden gestartet. Von den dann bereiten Tasks hat die Task b die höchste Priorität. Da diese unter­ brochen worden ist, restauriert der Dispatcher ihren Kontext. Anschließend kann die Task fortgesetzt werden, d. h. ihre noch nicht abgearbeiteten Befehle werden nun abgearbeitet.
Zu einem Zeitpunkt t₄ ist die Task b beendet. Der Dispatcher und der Scheduler werden gestartet. Zu diesem Zeitpunkt ist nur noch die Task c bereit. Da diese unterbrochen worden war, restauriert der Dispatcher ihren Kontext. Anschließend kann die Task b mit ihrer Befehlsfolge weiter durchgeführt werden.
Da die Tasks mitten in ihrer Befehlsfolge von höherprioren Tasks unterbrochen werden können, muß im Falle einer Unter­ brechung der Dispatcher den Taskkontext retten. Dazu wird der Taskkontext temporär in einem Bereich des RAM-Speichers 3 zwischengespeichert. Wenn nach einem Taskwechsel die unter­ brochene Task die CPU wieder zugeteilt bekommt, wie z. B. die Task b zu dem Zeitpunkt t₃, muß der Dispatcher zuerst den Taskkontext wieder restaurieren.
Da die Tasks hier von "wichtigeren" Tasks verdrängt werden können, braucht bei der Entwicklung des Programms die Länge einer Task nicht berücksichtigt zu werden. Da in dem Beispiel die Task c von höherprioren Task unterbrochen werden kann, kann diese Task beliebig lang sein, ohne daß Echtzeitverhal­ ten für höherpriorer Tasks und damit das Echtzeitverhalten des Steuergeräts zu gefährden. Allerdings benötigt das Steuergerät für die Rettung des Taskkontextes wie erwähnt zusätzliche Rechenzeit und RAM-Speicherplatz, und zwar in Abhängigkeit von dem Umfang des Kontextes und der Gesamtzahl der Tasks.
Bei der non-preemptive scheduling oder Stapelverarbeitungsme­ thode kann eine laufende Task nicht durch eine andere Task verdrängt, d. h. unterbrochen werden. Dies ist in Fig. 4 dar­ gestellt.
Auch in diesem Beispiel stehen drei Tasks a, b und c an, von denen die Task a eine höhere Priorität als die Tasks b und c und die Task b eine höhere Priorität als die Task c hat. Zu einem Zeitpunkt t₀ warten die höherprioren Tasks a und b auf ein Ereignis, während die Task c läuft, d. h. abgearbeitet wird.
Zu einem Zeitpunkt t₁ tritt ein Ereignis (Interrupt) für die Task b ein. Die Task b gelangt deshalb in den Zustand Bereit. Da laufende Tasks nicht unterbrochen werden können, muß die Task b bis zu einem Zeitpunkt t₂ warten, zu dem die Task c beendet worden ist und die Task b gestartet werden kann.
Zu einem Zeitpunkt t₃ tritt ein Ereignis (Interrupt) für die Task a ein. Die Task gelangt deshalb in den Zustand Bereit. Da laufende Tasks nicht unterbrochen werden können, muß die Task a bis zu einem Zeitpunkt t₄ warten. Zu diesem Zeitpunkt ist die Task b beendet und die Task a kann gestartet werden.
Da die Tasks hier nicht von höherprioren Tasks unterbrochen werden können, muß der Dispatcher den Taskkontext weder ret­ ten noch restaurieren. Es wird kein Speicherplatz in dem RAM- Speicher 3 belegt. Da die Tasks nicht unterbrochen werden können, muß andererseits der Entwickler des Programms darauf achten, daß die Laufzeit einer Task nicht die Echtzeitbedin­ gungen verletzt. Dabei kann zusätzlicher Programmieraufwand erforderlich werden.
Die Art des Taskwechselmechanismus wird deshalb hier einer Task als Attribut "preemptive scheduling" oder "non-preemp­ tive scheduling" zugeordnet. Damit ergibt sich eine Abarbei­ tung der Taskfolge nach einem "mixed-preemptive scheduling", das aus Fig. 5 ersichtlich ist. Auch hier liegen drei Tasks a, b und c vor, wobei die Task a eine höhere Priorität als die Tasks b und c und die Task b eine höhere Priorität als die Task c haben. Die Task c ist als eine preemptive Task und die Tasks a und b als eine non-preemptive Tasks deklariert.
Zu einem Zeitpunkt t₀ warten die höherprioren Tasks a und b auf ein Ereignis; die Task c läuft.
Zu einem Zeitpunkt t₁ tritt ein Ereignis (Interrupt) für die Task b ein. Der Dispatcher und der Scheduler des Betriebssy­ stems werden gestartet. Da neben der Task c eine höherpriore Task bereit ist und außerdem die Task c als eine preemptive Task deklariert ist, wird die Task c unterbrochen und ihr Taskkontext gerettet. Die Task b wird gestartet.
Zu einem Zeitpunkt t₂ tritt ein Ereignis (Interrupt) für die Task a ein. Die Task gelangt deshalb in den Zustand bereit. Da die laufende Task b als non-preemptive deklariert ist, kann sie nicht unterbrochen werden: Die Task a muß bis zu ei­ nem Zeitpunkt t3 warten, zu dem die Task b beendet worden ist und die Task a gestartet werden kann.
Zu einem Zeitpunkt t₄ ist die Task a beendet. Der Dispatcher und der Scheduler des Betriebssystems werden gestartet. Zu diesem Zeitpunkt ist nur noch die Task c bereit. Da diese un­ terbrochen wurde, restauriert der Dispatcher ihren Kontext. Anschließend kann die Task mit ihrer Befehlsfolge weiter ver­ arbeitet werden. Da als "preemptive" deklarierte Tasks mitten in der Befehlsfolge von höherprioren Tasks unterbrochen wer­ den können, muß der Dispatcher nur für diese Tasks den Task­ kontext, d. h. z. B. den Inhalt der CPU-Register retten.
Das hier beschriebene mixed-preemptive scheduling oder kombi­ nierte Multitasking-Betriebssystem ermöglicht es, bei der Entwicklung eines Steuerungssystems Tasks entweder als preemptive oder non-preemptive zu deklarieren: Nur für die als preemptive deklarierten Tasks muß Rechenzeit und RAM- Speicherbereich bereitgestellt werden, und nur bei den als non-preemptive deklarierten Tasks muß der Entwickler darauf achten, daß die Länge der Tasks nicht die Echtzeitbedingungen für das Steuerungssystem verletzt. Unter Inkaufnahme eines geringen Zusatzaufwands werden die Vorteile der beiden be­ kannten Betriebssysteme genutzt.

Claims (2)

1. Steuergerät (1), insbesondere zum Steuern von Funktionen in Kraftfahrzeugen, das mit einem Prozessor (2), mit Daten­ speichern (3, 4), mit Ein- und Ausgabeschaltungen (6) sowie mit einem Betriebssystem versehen ist, durch das die Abar­ beitung von Tasks zeitlich koordiniert und gesteuert wird, dadurch gekennzeichnet,
  • - daß das Betriebssystem eingerichtet ist sowohl für die Be­ arbeitung von Tasks nach einer Stapelverarbeitungsmethode (non-preemptive scheduling), bei der die Abarbeitung einer Task nicht unterbrochen werden kann, als auch für die Bear­ beitung von Tasks nach einer Verdrängungsmethode (preempti­ ve scheduling), bei der die Abarbeitung einer Task zum Ab­ arbeiten einer anderen Task unterbrochen werden kann, und
  • - daß die Art der Abarbeitung jeder Task als Attribut zuge­ ordnet ist, durch das die jeweilige Bearbeitungsmethode festgelegt wird.
2. Betriebssystem für ein Steuergerät (1), insbesondere zum Steuern von Funktionen in Kraftfahrzeugen, durch das die Ab­ arbeitung von Tasks durch das Steuergerät zeitlich koordi­ niert und gesteuert wird, dadurch gekennzeichnet,
  • - daß Tasks bearbeitet werden sowohl nach einer Stapelverar­ beitungsmethode (non-preemptive scheduling), bei der das Abarbeiten einer Task nicht unterbrochen werden kann, als auch nach einer Verdrängungsmethode, bei der das Abarbeiten einer Task zum Abarbeiten einer anderen Task unterbrochen werden kann (preemptive scheduling), und
  • - daß die Art der Verarbeitung jeder Task als Attribut zuge­ ordnet wird, durch das die jeweilige Abarbeitungsmethode festgelegt wird.
DE19944410775 1994-03-28 1994-03-28 Steuergerät und Arbeitsverfahren eines Betriebssystems für dieses Steuergerät Expired - Fee Related DE4410775C2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19944410775 DE4410775C2 (de) 1994-03-28 1994-03-28 Steuergerät und Arbeitsverfahren eines Betriebssystems für dieses Steuergerät

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19944410775 DE4410775C2 (de) 1994-03-28 1994-03-28 Steuergerät und Arbeitsverfahren eines Betriebssystems für dieses Steuergerät

Publications (2)

Publication Number Publication Date
DE4410775A1 true DE4410775A1 (de) 1995-10-05
DE4410775C2 DE4410775C2 (de) 2000-04-06

Family

ID=6514083

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19944410775 Expired - Fee Related DE4410775C2 (de) 1994-03-28 1994-03-28 Steuergerät und Arbeitsverfahren eines Betriebssystems für dieses Steuergerät

Country Status (1)

Country Link
DE (1) DE4410775C2 (de)

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998044396A1 (de) * 1997-04-02 1998-10-08 Siemens Aktiengesellschaft Freiprogrammierbare steuerung
WO2006094629A1 (de) * 2005-03-04 2006-09-14 Daimlerchrysler Ag Vorrichtung und verfahren zur abarbeitung priorisierter steuerungsprozesse
US7257813B1 (en) 1997-07-19 2007-08-14 Robert Bosch Gmbh System and method for a control unit with a scheduler preventing simultaneous activation of modules from interference
WO2011090899A1 (en) * 2010-01-20 2011-07-28 Faro Technologies, Inc. Portable articulated arm coordinate measuring machine and integrated electronic data processing system
US8284407B2 (en) 2010-01-20 2012-10-09 Faro Technologies, Inc. Coordinate measuring machine having an illuminated probe end and method of operation
US8533967B2 (en) 2010-01-20 2013-09-17 Faro Technologies, Inc. Coordinate measurement machines with removable accessories
US8615893B2 (en) 2010-01-20 2013-12-31 Faro Technologies, Inc. Portable articulated arm coordinate measuring machine having integrated software controls
US8630314B2 (en) 2010-01-11 2014-01-14 Faro Technologies, Inc. Method and apparatus for synchronizing measurements taken by multiple metrology devices
US8638446B2 (en) 2010-01-20 2014-01-28 Faro Technologies, Inc. Laser scanner or laser tracker having a projector
US8677643B2 (en) 2010-01-20 2014-03-25 Faro Technologies, Inc. Coordinate measurement machines with removable accessories
US8832954B2 (en) 2010-01-20 2014-09-16 Faro Technologies, Inc. Coordinate measurement machines with removable accessories
US8875409B2 (en) 2010-01-20 2014-11-04 Faro Technologies, Inc. Coordinate measurement machines with removable accessories
US8898919B2 (en) 2010-01-20 2014-12-02 Faro Technologies, Inc. Coordinate measurement machine with distance meter used to establish frame of reference
US8997362B2 (en) 2012-07-17 2015-04-07 Faro Technologies, Inc. Portable articulated arm coordinate measuring machine with optical communications bus
DE19728726B4 (de) * 1996-07-05 2015-07-30 Seiko Epson Corp. Robotercontroller und dessen Steuerverfahren
US9168654B2 (en) 2010-11-16 2015-10-27 Faro Technologies, Inc. Coordinate measuring machines with dual layer arm
USRE45854E1 (en) 2006-07-03 2016-01-19 Faro Technologies, Inc. Method and an apparatus for capturing three-dimensional data of an area of space
US9329271B2 (en) 2010-05-10 2016-05-03 Faro Technologies, Inc. Method for optically scanning and measuring an environment
US9372265B2 (en) 2012-10-05 2016-06-21 Faro Technologies, Inc. Intermediate two-dimensional scanning with a three-dimensional scanner to speed registration
US9417316B2 (en) 2009-11-20 2016-08-16 Faro Technologies, Inc. Device for optically scanning and measuring an environment
US9417056B2 (en) 2012-01-25 2016-08-16 Faro Technologies, Inc. Device for optically scanning and measuring an environment
US9513107B2 (en) 2012-10-05 2016-12-06 Faro Technologies, Inc. Registration calculation between three-dimensional (3D) scans based on two-dimensional (2D) scan data from a 3D scanner
US9551575B2 (en) 2009-03-25 2017-01-24 Faro Technologies, Inc. Laser scanner having a multi-color light source and real-time color receiver
US9607239B2 (en) 2010-01-20 2017-03-28 Faro Technologies, Inc. Articulated arm coordinate measurement machine having a 2D camera and method of obtaining 3D representations
US9628775B2 (en) 2010-01-20 2017-04-18 Faro Technologies, Inc. Articulated arm coordinate measurement machine having a 2D camera and method of obtaining 3D representations
US10067231B2 (en) 2012-10-05 2018-09-04 Faro Technologies, Inc. Registration calculation of three-dimensional scanner data performed between scans based on measurements by two-dimensional scanner
US10175037B2 (en) 2015-12-27 2019-01-08 Faro Technologies, Inc. 3-D measuring device with battery pack
US10281259B2 (en) 2010-01-20 2019-05-07 Faro Technologies, Inc. Articulated arm coordinate measurement machine that uses a 2D camera to determine 3D coordinates of smoothly continuous edge features

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3419559A1 (de) * 1984-05-25 1985-11-28 Robert Bosch Gmbh, 7000 Stuttgart Steuervorrichtung fuer funktionen im kraftfahrzeug
DE3033526C2 (de) * 1979-09-05 1988-11-10 Hitachi, Ltd., Tokio/Tokyo, Jp

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3826526A1 (de) * 1988-08-04 1990-02-08 Bosch Gmbh Robert Verfahren und vorrichtung zum einstellen von betriebsgroessen einer brennkraftmaschine

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3033526C2 (de) * 1979-09-05 1988-11-10 Hitachi, Ltd., Tokio/Tokyo, Jp
DE3419559A1 (de) * 1984-05-25 1985-11-28 Robert Bosch Gmbh, 7000 Stuttgart Steuervorrichtung fuer funktionen im kraftfahrzeug

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GRAEF, GREILLER, HECHT: "Datenverarbeitung im Realzeitbetrieb" Oldenbourg Verlag Mün- chen-Wien 1970, S.86,87 u. 130 *

Cited By (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19728726B4 (de) * 1996-07-05 2015-07-30 Seiko Epson Corp. Robotercontroller und dessen Steuerverfahren
US6795738B1 (en) 1997-04-02 2004-09-21 Siemens Aktiengesellschaft Programmable controller
WO1998044396A1 (de) * 1997-04-02 1998-10-08 Siemens Aktiengesellschaft Freiprogrammierbare steuerung
US7257813B1 (en) 1997-07-19 2007-08-14 Robert Bosch Gmbh System and method for a control unit with a scheduler preventing simultaneous activation of modules from interference
WO2006094629A1 (de) * 2005-03-04 2006-09-14 Daimlerchrysler Ag Vorrichtung und verfahren zur abarbeitung priorisierter steuerungsprozesse
USRE45854E1 (en) 2006-07-03 2016-01-19 Faro Technologies, Inc. Method and an apparatus for capturing three-dimensional data of an area of space
US9551575B2 (en) 2009-03-25 2017-01-24 Faro Technologies, Inc. Laser scanner having a multi-color light source and real-time color receiver
US9417316B2 (en) 2009-11-20 2016-08-16 Faro Technologies, Inc. Device for optically scanning and measuring an environment
US8630314B2 (en) 2010-01-11 2014-01-14 Faro Technologies, Inc. Method and apparatus for synchronizing measurements taken by multiple metrology devices
US9009000B2 (en) 2010-01-20 2015-04-14 Faro Technologies, Inc. Method for evaluating mounting stability of articulated arm coordinate measurement machine using inclinometers
US8171650B2 (en) 2010-01-20 2012-05-08 Faro Technologies, Inc. Intelligent repeatable arm mounting system
US8615893B2 (en) 2010-01-20 2013-12-31 Faro Technologies, Inc. Portable articulated arm coordinate measuring machine having integrated software controls
US8537374B2 (en) 2010-01-20 2013-09-17 Faro Technologies, Inc. Coordinate measuring machine having an illuminated probe end and method of operation
US8638446B2 (en) 2010-01-20 2014-01-28 Faro Technologies, Inc. Laser scanner or laser tracker having a projector
US8677643B2 (en) 2010-01-20 2014-03-25 Faro Technologies, Inc. Coordinate measurement machines with removable accessories
US8683709B2 (en) 2010-01-20 2014-04-01 Faro Technologies, Inc. Portable articulated arm coordinate measuring machine with multi-bus arm technology
US8763266B2 (en) 2010-01-20 2014-07-01 Faro Technologies, Inc. Coordinate measurement device
US8832954B2 (en) 2010-01-20 2014-09-16 Faro Technologies, Inc. Coordinate measurement machines with removable accessories
US8875409B2 (en) 2010-01-20 2014-11-04 Faro Technologies, Inc. Coordinate measurement machines with removable accessories
US8898919B2 (en) 2010-01-20 2014-12-02 Faro Technologies, Inc. Coordinate measurement machine with distance meter used to establish frame of reference
US8942940B2 (en) 2010-01-20 2015-01-27 Faro Technologies, Inc. Portable articulated arm coordinate measuring machine and integrated electronic data processing system
US10281259B2 (en) 2010-01-20 2019-05-07 Faro Technologies, Inc. Articulated arm coordinate measurement machine that uses a 2D camera to determine 3D coordinates of smoothly continuous edge features
US8533967B2 (en) 2010-01-20 2013-09-17 Faro Technologies, Inc. Coordinate measurement machines with removable accessories
US8284407B2 (en) 2010-01-20 2012-10-09 Faro Technologies, Inc. Coordinate measuring machine having an illuminated probe end and method of operation
US10060722B2 (en) 2010-01-20 2018-08-28 Faro Technologies, Inc. Articulated arm coordinate measurement machine having a 2D camera and method of obtaining 3D representations
US8276286B2 (en) 2010-01-20 2012-10-02 Faro Technologies, Inc. Display for coordinate measuring machine
US9628775B2 (en) 2010-01-20 2017-04-18 Faro Technologies, Inc. Articulated arm coordinate measurement machine having a 2D camera and method of obtaining 3D representations
US9607239B2 (en) 2010-01-20 2017-03-28 Faro Technologies, Inc. Articulated arm coordinate measurement machine having a 2D camera and method of obtaining 3D representations
US8601702B2 (en) 2010-01-20 2013-12-10 Faro Technologies, Inc. Display for coordinate measuring machine
WO2011090899A1 (en) * 2010-01-20 2011-07-28 Faro Technologies, Inc. Portable articulated arm coordinate measuring machine and integrated electronic data processing system
US9329271B2 (en) 2010-05-10 2016-05-03 Faro Technologies, Inc. Method for optically scanning and measuring an environment
US9684078B2 (en) 2010-05-10 2017-06-20 Faro Technologies, Inc. Method for optically scanning and measuring an environment
US9168654B2 (en) 2010-11-16 2015-10-27 Faro Technologies, Inc. Coordinate measuring machines with dual layer arm
US9417056B2 (en) 2012-01-25 2016-08-16 Faro Technologies, Inc. Device for optically scanning and measuring an environment
US8997362B2 (en) 2012-07-17 2015-04-07 Faro Technologies, Inc. Portable articulated arm coordinate measuring machine with optical communications bus
US9739886B2 (en) 2012-10-05 2017-08-22 Faro Technologies, Inc. Using a two-dimensional scanner to speed registration of three-dimensional scan data
US9618620B2 (en) 2012-10-05 2017-04-11 Faro Technologies, Inc. Using depth-camera images to speed registration of three-dimensional scans
US9746559B2 (en) 2012-10-05 2017-08-29 Faro Technologies, Inc. Using two-dimensional camera images to speed registration of three-dimensional scans
US9513107B2 (en) 2012-10-05 2016-12-06 Faro Technologies, Inc. Registration calculation between three-dimensional (3D) scans based on two-dimensional (2D) scan data from a 3D scanner
US10067231B2 (en) 2012-10-05 2018-09-04 Faro Technologies, Inc. Registration calculation of three-dimensional scanner data performed between scans based on measurements by two-dimensional scanner
US10203413B2 (en) 2012-10-05 2019-02-12 Faro Technologies, Inc. Using a two-dimensional scanner to speed registration of three-dimensional scan data
US9372265B2 (en) 2012-10-05 2016-06-21 Faro Technologies, Inc. Intermediate two-dimensional scanning with a three-dimensional scanner to speed registration
US10739458B2 (en) 2012-10-05 2020-08-11 Faro Technologies, Inc. Using two-dimensional camera images to speed registration of three-dimensional scans
US11035955B2 (en) 2012-10-05 2021-06-15 Faro Technologies, Inc. Registration calculation of three-dimensional scanner data performed between scans based on measurements by two-dimensional scanner
US11112501B2 (en) 2012-10-05 2021-09-07 Faro Technologies, Inc. Using a two-dimensional scanner to speed registration of three-dimensional scan data
US11815600B2 (en) 2012-10-05 2023-11-14 Faro Technologies, Inc. Using a two-dimensional scanner to speed registration of three-dimensional scan data
US10175037B2 (en) 2015-12-27 2019-01-08 Faro Technologies, Inc. 3-D measuring device with battery pack

Also Published As

Publication number Publication date
DE4410775C2 (de) 2000-04-06

Similar Documents

Publication Publication Date Title
DE4410775C2 (de) Steuergerät und Arbeitsverfahren eines Betriebssystems für dieses Steuergerät
EP0947049B1 (de) Umkonfigurierungs-verfahren für programmierbare bausteine zur laufzeit
DE69130630T2 (de) Synchrones Verfahren und Gerät für Prozessoren
DE3751164T2 (de) Datenprozessor mit verschiedenen Unterbrechungsverarbeitungsarten.
DE69515958T2 (de) Verfahren und Einrichtung zum Beseitigen von Fehlern in Multitask-Programmen
DE69325321T2 (de) Unterbrechungsvorrichtung für allgemeines Ein-/Ausgangstor
EP0108969B1 (de) DMA-Steuereinrichtung zur Übertragung von Daten zwischen einem Datensender und einem Datenempfänger
DE19500957A1 (de) Verfahren zur Steuerung von technischen Vorgängen oder Prozessen
DE69222468T2 (de) Vorrichtung zur Steigerung der Leistung eines einer Multiprozessorstruktur mit einer möglicherweise hohen Anzahl von Prozessoren zugeordneten Echtzeitsteuerprogrammkerns
DE102005013913A1 (de) Unterbrechungsanforderungsprogramm und Mikrocomputer
DE2164793A1 (de) Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit
EP0799441B1 (de) Verfahren zur steuerung von technischen vorgängen
DE112010004037T5 (de) Simulationsverfahren, -system und -programm
EP0657044B1 (de) Verfahren zum betrieb eines rechnersystems mit mindestens einem mikroprozessor und mindestens einem coprozessor
DE102013202774A1 (de) Vorrichtung, Verfahren und System zum Steuern eines Prozessors
DE102015100566A1 (de) Verfahren und leichter Mechanismus für gemischte kritische Anwendungen
EP0110199B1 (de) Verfahren zum Steuern des Datentransfers zwischen einem Datensender und einem Datenempfänger über einen Bus mit Hilfe einer am Bus angeschlossenen Steuereinrichtung
DE2943903A1 (de) Rechnersystem
DE3687159T2 (de) Multiprozessor-datenverarbeitungssystem.
DE2838887C2 (de) Datenverarbeitungsanlage mit einer Schaltung für Unterbrechungsanforderungen zur Übernahme des gemeinsamen Busses
EP0108415B1 (de) Integrierte mikroprogrammierte Vorrichtung zur Steuerung von Informationsverarbeitungsabläufen und Verfahren zu ihrem Betrieb
DE69126761T2 (de) Verfahren zur Entwicklung von Software
DE19647407A1 (de) Steuergerät, insbesondere für den Einsatz in einem Kraftfahrzeug
DE2507405A1 (de) Verfahren und anordnung zum synchronisieren der tasks in peripheriegeraeten in einer datenverarbeitungsanlage
EP1116107B1 (de) Verfahren zur ausführung einzelner algorithmen mittels einer rekonfigurierbaren schaltung und vorrichtung zur durchführung eines solchen verfahrens

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: DAIMLERCHRYSLER AG, 70567 STUTTGART, DE SIEMENS AG

D2 Grant after examination
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: BAYERISCHE MOTOREN WERKE AG, 80809 MUENCHEN, DE

Owner name: SIEMENS AG, 80333 MUENCHEN, DE

Owner name: DAIMLERCHRYSLER AG, 70327 STUTTGART, DE

8327 Change in the person/name/address of the patent owner

Owner name: BAYERISCHE MOTOREN WERKE AG, 80809 MUENCHEN, DE

Owner name: SIEMENS AG, 80333 MUENCHEN, DE

Owner name: DAIMLER AG, 70327 STUTTGART, DE

8327 Change in the person/name/address of the patent owner

Owner name: CONTINENTAL AUTOMOTIVE GMBH, 30165 HANNOVER, DE

Owner name: DAIMLER AG, 70327 STUTTGART, DE

Owner name: BAYERISCHE MOTOREN WERKE AKTIENGESELLSCHAFT, 8, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20111001