DE10242699A1 - Datenverarbeitungssystem mit einer Mehrzahl von Datenverarbeitungseinheiten - Google Patents

Datenverarbeitungssystem mit einer Mehrzahl von Datenverarbeitungseinheiten Download PDF

Info

Publication number
DE10242699A1
DE10242699A1 DE2002142699 DE10242699A DE10242699A1 DE 10242699 A1 DE10242699 A1 DE 10242699A1 DE 2002142699 DE2002142699 DE 2002142699 DE 10242699 A DE10242699 A DE 10242699A DE 10242699 A1 DE10242699 A1 DE 10242699A1
Authority
DE
Germany
Prior art keywords
time
data processing
interrupt
data
counter
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
DE2002142699
Other languages
English (en)
Other versions
DE10242699B4 (de
Inventor
Andreas Biedermann
Holger Röhle
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.)
Siemens AG
Original Assignee
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 Siemens AG filed Critical Siemens AG
Priority to DE2002142699 priority Critical patent/DE10242699B4/de
Publication of DE10242699A1 publication Critical patent/DE10242699A1/de
Application granted granted Critical
Publication of DE10242699B4 publication Critical patent/DE10242699B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G99/00Subject matter not provided for in other groups of this subclass
    • G04G99/006Electronic time-pieces using a microcomputer, e.g. for multi-function clocks
    • 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/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15063Real time clock
    • 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/25039Clock
    • 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/25249Counter, timer plus microprocessor for real time, jitter
    • 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/25416Interrupt
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Programmable Controllers (AREA)

Abstract

Für eine möglichst hochgenaue Uhrzeit bei gleichzeitig geringer Belastung von Prozessabläufen innerhalb einer Datenverarbeitungseinheit ist erfindungsgemäß vorgesehen, dass bei einem Datenverarbeitungssystem (1) mit einer Mehrzahl von Datenverarbeitungseinheiten (2), die mittels einer Datenübertragungseinheit (6) miteinander verbunden sind, jeder Datenverarbeitungseinheit (2) ein Zeitgeber (10) zugeordnet ist, der in einen interruptgesteuerten Zähler (12) zum Zählen einer Anzahl (Z) von zugrundeliegenden Interrupt-Intervallen (IZ) und in ein Zeitmodul (14) für eine fortlaufende Uhrzeit (UZ) im Zählerformat unterteilt ist, wobei der Zeitgeber (10) anhand einer Prozessaufforderung (P) mittels der Anzahl (Z) von dem Zähler (12) von einer vorangegangenen Uhrzeit (UZ¶alt¶) bis zur Prozessaufforderung (P) erfassten Interrupt-Intervallen (IZ) und des zugrundeliegenden Interrupt-Intervalls (IZ) sowie der vorangegangenen Uhrzeit (UZ¶alt¶) im Zählerformat eine aktuelle Uhrzeit (UZ¶aktuell¶) gemäß UZ¶aktuell¶ = UZ¶alt¶ + (Z È IZ) ermittelt.

Description

  • Die Erfindung betrifft ein Datenverarbeitungssystem mit einer Mehrzahl von Datenverarbeitungseinheiten, die mittels einer Datenübertragungseinheit miteinander verbunden sind, z.B. eine speicherprogrammierbare Steuerung zur Automatisierung einer technischen Anlage, insbesondere einer Maschine, einer Fertigungs- oder Kraftwerksanlage.
  • Datenverarbeitungsanlagen finden vielseitige Anwendung im Rahmen von industriellen Automatisierungsprozessen. Dabei sind in komplexen technischen Anlagen eine Mehrzahl von Datenverarbeitungseinheiten zu aufwendigen Computer- und Datennetzen über mindestens eine Datenübertragungseinheit verbunden. Zur Bedienung und/oder Beobachtung der die Anlage steuernden Datenverarbeitungseinheiten sind üblicherweise sogenannte Operatorstationen oder Bedien- und Beobachtungseinheiten vorgesehen. Zur Steuerung und/oder Regelung der technischen Anlage umfasst dabei jede Datenverarbeitungseinheit Datenverarbeitungsprogramme. Ein Datenverarbeitungsprogramm umfasst beispielsweise ein Betriebsprogramm, ein Hauptprogramm oder eine Hauptroutine, in welchem im wesentlichen sequentiell eine Anzahl von Steuerungs- und/oder Datenverarbeitungsbefehlen für die technische Anlage abgearbeitet werden. Ein derartiges Datenverarbeitungsprogramm für eine anwenderspezifisch ausgebildete, automatisierte technische Anlage, wie beispielsweise eine Fertigungsanlage, eine Werkzeugmaschine oder ein Messsystem, wird auch als sogenannte Anwendersoftware bezeichnet. Aus diesem Hauptprogramm werden bedarfsweise, z.B. zyklisch oder ereignisgesteuert, sogenannte Subroutinen oder Funktionsbausteine aufgerufen. Diese Funktionsbausteine übernehmen in der Art von Modulen bestimmte abgeschlossene Steuerungs- und/oder Regelungsfunktionen.
  • Das Datenverarbeitungsprogramm läuft üblicherweise in den Datenverarbeitungseinheiten, z.B. in einer zentralen Steuereinheit sowie in dezentralen Vor-Ort-Steuerungen, der technischen Anlage ab und steuert unter anderem den Austausch von Daten zwischen der zentralen Steuereinheit und Komponenten der technischen Anlage. Dabei werden vom Datenverarbeitungsprogramm einerseits Schaltbefehle oder Stellwerte an die Komponenten übermittelt und andererseits Messdaten oder charakteristische Prozess- und/oder Betriebsparameter von den Komponenten gelesen. Je nach Art und Aufbau der technischen Anlage kann es dabei auch zu einem Zugriff von einer Datenverarbeitungseinheit auf das Datenverarbeitungsprogramm, insbesondere auf einen Funktionsbaustein und/oder Datenbaustein, einer anderen Datenverarbeitungseinheit kommen.
  • Für hochgenau ablaufende Prozesse innerhalb des Datenverarbeitungssystems, innerhalb einer Datenverarbeitungseinheit und/oder innerhalb einer Baugruppe einer Datenverarbeitungseinheit wird daher eine hochgenaue Uhrzeit benötigt. Damit die Uhrzeit der einzelnen Datenverarbeitungseinheiten des Datenverarbeitungssystems identisch ist, sorgt im allgemeinen ein zentraler Uhrzeitmaster für eine Synchronisation von den einzelnen Datenverarbeitungseinheiten zugeordneten Uhren. Dazu wird üblicherweise jeweils nach Ablauf eines vorgegebenen Synchronisationsintervalls eine Uhrzeitnachricht an die einzelnen Datenverarbeitungseinheiten verteilt und gesendet. Dabei ist es häufig erforderlich, in der Zeit zwischen den Synchronisationspunkten einzelne, eine hochgenaue Uhrzeit benötigende Baugruppen oder Module innerhalb einer einzelnen Datenverarbeitungseinheit mit einer aktuellen Uhrzeit zu versorgen. Mit anderen Worten: Unabhängig vom Synchronisationsintervall ist es erforderlich, dass eine aktuelle Uhrzeit zu jedem Zeitpunkt abrufbar ist.
  • Hierzu ist üblicherweise jeder Datenverarbeitungseinheit eine Uhr zugeordnet, deren Uhrzeit jederzeit abrufbar ist. Dabei umfasst das Datenverarbeitungsprogramm für eine hochgenaue Uhrzeitauflösung einen zeitgesteuerten Prozess hoher Priorität, durch welchen das sogenannte Ticken der Uhr gesteuert wird. Bedingt durch die hochpriore Ablaufebene, insbesondere Interruptebene, für die Taktsteuerung der Uhr kommt es im Zeitpunkt der Aktualisierung der Uhrzeit zu einem Aussperren niederpriorer Ablaufebenen, wobei bedingt durch eine Kontrolle eines Überlaufs oder ggf. durch eine Berechnung eines Sekundenübertrags die für die weiterverarbeitenden Prozesse oder Programme die Berechnung der aktuellen Uhrzeit sehr zeitaufwendig ist.
  • Der Erfindung liegt daher die Aufgabe zugrunde, ein Datenverarbeitungssystem mit einer Mehrzahl von Datenverarbeitungseinheiten anzugeben, bei dem eine aktuelle Uhrzeit besonders einfach und schnell, ohne andere Prozesse zu belasten, zu berechnen ist.
  • Die Aufgabe wird erfindungsgemäß gelöst durch ein Datenverarbeitungssystem mit einer Mehrzahl von Datenverarbeitungseinheiten, die mittels einer Datenübertragungseinheit miteinander verbunden sind, wobei jeder Datenverarbeitungseinheit ein Zeitgeber zugeordnet ist, der in einen interruptgesteuerten Zähler zum Zählen einer Anzahl von zugrundeliegenden Interrupt-Intervallen und in ein Zeitmodul für eine fortlaufende Uhrzeit im Zählerformat unterteilt ist, wobei der Zeitgeber anhand einer Prozessaufforderung mittels einer Anzahl von vom Zähler von einer vorangegangenen Uhrzeit bis zur Prozessaufforderung erfassten Interrupt-Intervallen und mittels des zugrundeliegenden Interrupt-Intervalls sowie der vorangegangenen Uhrzeit im Zählerformat eine aktuelle Uhrzeit ermittelt gemäßUZaktuell = UZalt + (Z * IZ) (1) mit UZaktuell = aktuelle Uhrzeit, UZalt = vorangegangene Uhrzeit, Z = Anzahl der Interrupt-Intervalle, IZ = Interrupt-In tervall.
  • Die Erfindung geht dabei von der Überlegung aus, dass die komplexe und zeitaufwendige Berechnung einer aktuellen Uhrzeit innerhalb eines Interrupt-Intervalls deutlich reduziert sein sollte. Dabei sollte die aktuelle Uhrzeit ohne Einbüßung im Hinblick auf die Zeitgenauigkeit mit möglichst hochgenauer Zeitauflösung ermittelt werden. Dazu ist bevorzugt jeder Datenverarbeitungseinheit ein Zeitgeber zugeordnet, welcher einen interruptgesteuerten Zähler zum Zählen der das sogenannte Uhrenticken repräsentierenden Interrupt-Intervallen umfasst. Die Berechnung der aktuellen Uhrzeit erfolgt dann in einem niederprioren Prozess, insbesondere nur noch auf Prozessanforderung derart, dass der Zeitgeber mittels des Zählerwertes des interruptgesteuerten Zählers, des zugrundeliegenden Interrupt-Intervalls sowie einer der aktuellen Uhrzeit vorangegangenen Uhrzeit die aktuelle Uhrzeit ermittelt. D.h. Der Zählerwert des interruptgesteuerten Zählers, der die Anzahl von von der vorangegangenen Uhrzeit bis zur Prozessaufforderung ausgeführten Interrupt-Intervalle repräsentiert, multipliziert mit dem zugrundeliegenden Interrupt-Intervall und addiert zur zuletzt erfassten (= alten) Uhrzeit, ergibt die aktuelle Uhrzeit.
  • In einer bevorzugten Ausführungsform ist die jeweilige Datenverarbeitungseinheit zur Auslösung des Interrupt-Intervalls mit einer Zeitauflösung von einem Vielfachen von 1/232 s ausgebildet. Hierdurch ist sichergestellt, dass die fortlaufende Uhrzeit im Zählerformat, insbesondere im sogenannten ISP- oder Internetformat, um eine konstante, der Intervallzeit entsprechende Zählgröße, welche ein Vielfaches von 1/232 ist, im niederprioren Prozess aufaddiert wird. Bei der fortlaufenden Uhrzeit im Zählerformat, insbesondere im ISP-Format, handelt es sich um eine als 8-Byte-Zähler ausgebildete Software-Uhr, wobei die ersten vier Byte die Sekunden seit dem 1.1.1900, 00:00 Uhr und die folgenden vier Byte die Sekundenteile desselben Zeitraums in der Einheit 1/232 s darstellen.
  • Für eine möglichst hochgenaue Zeitauflösung des Zeitgebers beträgt das Interrupt-Intervall zweckmäßigerweise ungefähr 1 ms. Dabei sind auch andere Einstellungen für das Interrupt-Intervall vorgebbar, wobei diese insbesondere vom dem Datenverarbeitungssystem zugrundeliegenden Prozess und dessen Zeitanforderungen abhängig sind.
  • Für eine besonders kurze und einfache Interruptroutine wird zweckmäßigerweise lediglich der Zähler synchron anhand des Interrupt-Intervalls inkrementiert. Dabei ist vorzugsweise der Zeitgeber zum Zeitpunkt der Prozessaufforderung und somit asynchron zum Interrupt-Intervall, beispielsweise aller 3 bis 7 ms, zur Auslösung einer Interruptsperre und zum Auslesen des dem Zähler zugrundeliegenden Zählwertes vorgesehen. Zweckmäßigerweise ist der Zeitgeber nach Auslesen des Zählwertes zur Freigabe der Interruptsperre und zur Ermittlung der aktuellen Uhrzeit anhand der Summe der mittels des Zählwertes ermittelten n-zahligen Interrupt-Intervalle und der vorangegangenen Uhrzeit vorgesehen. Somit werden andere Prozesse durch das im Interrupt-Intervall lediglich erforderliche Auslesen des Zählers nur noch gering beeinflusst. D.h. die eigentliche Berechnung der aktuellen Uhrzeit erfolgt auf ein- und derselben niederprioren Ebene, wie die Abarbeitung der eigentlichen Prozess- und Anwendungsprogramme.
  • Für eine weitere Verbesserung der Unterbrechungsfreiheit der Anwendungsprogramme ist der Zeitgeber für die aktuelle Uhrzeit vorzugsweise asynchron zum Interrupt-Intervall, insbesondere prozessgesteuert aktivierbar. Mit anderen Worten: Die Berechnung der aktuellen Uhrzeit erfolgt nur noch dann, wenn diese tatsächlich benötigt wird. D.h. nur, wenn von einem Prozess eine Anforderung vorliegt, wird der Zeitgeber aktiviert und die aktuelle Uhrzeit wie beschrieben ermittelt. Hierdurch ergibt sich nochmals eine deutliche Reduzierung der Rechenvorgänge und somit eine Reduzierung der Prozessorbelastung.
  • Zum Stellen der fortlaufenden Uhrzeit und/oder zu deren Nachführung oder Aktualisierung ist die Uhrzeit des Zeitmoduls zweckmäßigerweise separat einstellbar. Hierzu ist das Zeitmodul beispielsweise mit einer zentralen Synchronisationsuhr für alle Datenverarbeitungseinheiten oder mit einer Funkuhr verbunden, wobei die fortlaufende Uhrzeit dann mittels eines Zeitsignals einstellbar ist.
  • Die mit der Erfindung erzielten Vorteile bestehen insbesondere darin, dass durch einen Zeitgeber, welcher unterteilt ist in einen interruptgesteuerten Zähler zum Zähler des zugrundeliegenden Interrupt-Intervalls und in ein prozessgesteuertes Zeitmodul für eine fortlaufende Uhrzeit im Zählerformat, und welcher die aktuelle Uhrzeit prozessgesteuert anhand des Zählwertes des Zählers und der vorangegangenen Uhrzeit des Zeitmoduls seit der letzten Prozessaufforderung ermittelt, eine die Laufzeit und/oder Rechnerzeit der zugrundeliegenden Datenverarbeitungseinheit verbessernde Softwareuhr ermöglicht ist. Insbesondere durch die Reduzierung des Rechenaufwands innerhalb der Interrupt-Routine auf das lediglich Inkrementieren eines Zählers können die in einer niederprioren Ebene ablaufenden Datenverarbeitungsprogramme weitgehend störungsfrei, zumindest gegenüber der bisherigen im Interrupt erfolgten Berechnung der Uhrzeit und der daraus resultierenden Störung ablaufen. Des Weiteren ist durch die nur noch auf Prozessaufforderung ausgeführten Berechnung der aktuellen Uhrzeit nochmals eine Verbesserung der Zeitbilanz der betreffenden Datenverarbeitungseinheit gegeben. Somit ist ein derartig aufgebautes Datenverarbeitungssystem hinsichtlich seiner Verfügbarkeit sowie seines Einsatzes als Automatisierungssystem in sicherheitsrelevanten Anlagen besonders wirtschaftlich und zeiteffektiv.
  • Ausführungsbeispiele der Erfindung werden anhand einer Zeichnung näher erläutert. Darin zeigen:
  • 1 schematisch ein Datenverarbeitungssystem mit einer Mehrzahl von Datenverarbeitungseinheiten und Bedien- und Beobachtungseinheiten, und
  • 2 schematisch einen Ablaufplan zur Berechnung einer aktuellen Uhrzeit innerhalb einer einzelnen Datenverarbeitungseinheit.
  • Einander entsprechende Teile sind in beiden Figuren mit den gleichen Bezugszeichen versehen.
  • Die 1 zeigt eine Datenverarbeitungsanlage 1 mit einer Mehrzahl von Datenverarbeitungseinheiten 2 und mit einer Mehrzahl von Bedien- und Beobachtungseinheiten 4, welche über eine Datenübertragungseinheit 6 miteinander verbunden sind. Als Datenverarbeitungseinheit 2 dient beispielsweise eine speicherprogrammierbare Steuerung, ein Personal Computer oder eine andere Datenverarbeitungseinheit. Als Bedien- und Beobachtungseinheit 4 dient beispielsweise ein Personal Computer oder eine Workstation. Die Datenübertragungseinheit 6 ist eine standardisierte Übertragungsleitung, z.B. ein Ethernet-Koaxkabel, und weist ebenfalls standardisierte, nicht dargestellte Übertragungselemente, wie Verstärker, Repeater oder Bridges auf. Die Datenverarbeitungseinheiten 2 und die Bedien- und Beobachtungseinheiten 4 sind mittels der Datenübertragungseinheit 6 zu einem Rechnernetz verbunden.
  • Auf jeder Datenverarbeitungseinheit 2 und auf jeder Bedien- und Beobachtungseinheit 4 sind Rechnerprogramme oder Datenverarbeitungsprogramme 8 implementiert, mittels derer eine technische Anlage, z.B. eine Fertigungsanlage oder Werkszeugmaschine, gesteuert und/oder überwacht wird. Das Datenverarbeitungsprogramm 8, auch Hauptprogramm oder Anwendersoftware genannt, läuft in der Datenverarbeitungseinheit 2 zur Ansteuerung und/oder Erfassung von Ein- und/oder Ausgänge zugehöriger, nicht dargestellter Peripherie-Baugruppen ab. Das Datenverarbeitungsprogramm 8 der Bedien- und Beobachtungsein heit dient der Bedienung und Beobachtung der Ein- und/oder Ausgänge und/oder der Datenverarbeitungsprogramme 8 der Datenverarbeitungseinheiten 2. Das jeweilige Datenverarbeitungsprogramm 8 ist modular aufgebaut und umfasst als Objekte eine Anzahl von Funktionsbausteinen FB1 bis FBn, welche abgeschlossene Steuerungs- und/oder Regelungsfunktionen für die technische Anlage übernehmen. Darüber hinaus sind als weitere Objekte eine Mehrzahl von Datenspeicherbausteine DB1 bis DBn (im weiteren kurz Datenbaustein genannt) zur Hinterlegung und/oder Archivierung von statischen und/oder dynamischen Daten vorgesehen. Datenbausteine DB1 bis DBn sind beispielsweise statische Speicher, auch Lesespeicher genannt, wie z.B. ROM's (read-only-memory), oder dynamische Speicher, auch Lese-/Schreibspeicher genannt, wie z.B. RAM's (read access memory). In den Lesespeicher sind z.B. feste Parametrierdaten der Software und/oder Hardware der Datenverarbeitungsanlage 1 hinterlegt. In den dynamischen Speichern werden beispielsweise die aktuell erfassten Daten der Ein- und/oder Ausgänge von Peripherie-Baugruppen hinterlegt.
  • Je nach Art und Ausführung der Datenverarbeitungsanlage 1 kommt es zu einem Austausch von Daten, z.B. von Eingangs-/Ausgangsdaten sowie Steuerungsdaten, sowohl zwischen den Datenverarbeitungseinheiten 2 als auch zwischen den Datenverarbeitungseinheiten 2 und den Bedien- und Beobachtungseinheiten 4. Beispielsweise erfolgt ein Zugriff von einer Datenverarbeitungseinheit 2 auf den Datenbaustein DB1 und/oder Funktionsbaustein FB1 einer anderen Datenverarbeitungseinheit 2. Hierzu sind sowohl die Datenbausteine DB1 bis DBn als auch die Funktionsbausteine FB1 bis FBn beispielsweise anhand einer fortlaufenden Nummerierung gekennzeichnet.
  • Für hochgenau ablaufende Prozesse innerhalb einer Datenverarbeitungseinheit 2 und/oder innerhalb von Modulen, z.B. Funktionsbausteinen FB1 bis FBn ist jeder Datenverarbeitungseinheit 2 ein zugehöriger Zeitgeber 10 zugeordnet. Die Funktionsweise eines der Zeitgeber 10 einer betreffenden Datenver arbeitungseinheit 2 ist in 2 dargestellt. Dabei ist der Zeitgeber 10 unterteilt in einen interruptgesteuerten Zähler 12 zum Zählen einer Anzahl Z von zugrundeliegenden Interrupt-Intervallen IZ und in ein Zeitmodul 14 für eine fortlaufende Uhrzeit UZ im Zählerformat. Der interruptgesteuerte Zähler 12 wird dabei während der Abarbeitung eines jeden Interrupt-Intervalls IZ um den Wert 1 inkrementiert, z.B. wird der Zähler 12 aller 1 ms um den Wert 1 inkrementiert. D.h. zur Berechnung der aktuellen Uhrzeit UZaktuell wird innerhalb der Interrupt-Routine oder des Interrupt-Intervalls IZ und somit synchron zum Interrupt-Intervall IZ lediglich der Zähler 12 inkrementiert. Aufwändige Berechnungen entfallen beim vorliegenden Zeitgeber 10 im hochprioren Interrupt-Intervall IZ. Bevorzugt ist Datenverarbeitungseinheit 2 zur Auslösung des Interrupt-Intervalls IZ mit einer Zeitauflösung von einem Vielfachen von 1/232 s ausgebildet. Je nach Genauigkeitsanforderungen beträgt beispielsweise das Interrupt-Intervall IZ ungefähr 1 ms.
  • Im Zeitmodul 14 ist die fortlaufende Uhrzeit UZ im sogenannten ISP- oder Internetformat hinterlegt. D.h. die Uhrzeit UZ ist als ein 8-Byte-Zähler ausgebildet, dessen ersten vier Byte die Sekunden seit dem 1.1.1900, 00:00 Uhr und dessen folgenden vier Byte die Sekundenteile desselben Zeitraums in der Einheit 1/232 s darstellen. Sowohl im Zeitpunkt der Initialisierung der betreffenden Datenverarbeitungseinheit 2 als auch zur Einstellung, Nachstellung oder in anderen Fällen wird die Uhrzeit UZ des Zeitmoduls 14 separat eingestellt. Beispielsweise wird die fortlaufende Uhrzeit UZ des Zeitmoduls 14 mittels eines Zeitsignals S einer nicht näher dargestellten zentralen Uhr oder Funkuhr gestellt.
  • Im Falle der Anforderung nach einer aktuellen Uhrzeit UZaktuell für einen Prozess P, z.B. ein Datenverarbeitungsprogramm 8 oder einen Funktionsbaustein FB1 bis FBn, ermittelt der Zeitgeber 10 in einer niederprioren Ablaufebene oder Prozessebene PZ mittels der Anzahl Z von vom Zähler 12 von einer vorange gangenen Uhrzeit UZalt bis zur Prozessaufforderung erfassten Interrupt-Intervallen IZ und des zugrundeliegenden Interrupt-Intervalls IZ sowie der vorangegangenen Uhrzeit UZalt im Zählerformat die aktuelle Uhrzeit UZaktuell gemäß UZaktuell = UZalt + (Z * IZ). Hierzu löst der Zeitgeber 10 zum Zeitpunkt der Prozessaufforderung P einer Interruptsperre aus und liest den dem Zähler 12 zugrundeliegenden Zählwert Z, welcher die Anzahl der durchlaufenen Interrupt-Intervalle IZ seit der Berechnung letzten oder vorangegangenen Uhrzeit UZalt repräsentiert, aus. Nach dem Auslesen des Zählwertes Z wird die Interruptsperre freigegeben und der Zähler 12 zurückgesetzt, d.h. der Zähler 12 wird auf null gesetzt. Die aktuelle Uhrzeit UZaktuell wird dann anhand der Summe der mittels des Zählwertes Z ermittelten n-zahligen Interrupt-Intervalle IZ und der vorangegangenen Uhrzeit UZalt ermittelt. Zur Reduzierung der Anzahl von Rechenvorgängen und zur Reduzierung der Rechnerbelastung ist der Zeitgeber 10 nur prozessgesteuert zur Ermittlung der aktuellen Uhrzeit UZaktuell d.h. asynchron zum Interrupt-Intervall IZ, aktivierbar. D.h. nur noch im Fall einer Prozessaufforderung P wird die aktuelle Uhrzeit UZaktuell wie oben beschrieben in der niederprioren Prozessebene PZ ermittelt.

Claims (8)

  1. Datenverarbeitungssystem (1) mit einer Mehrzahl von Datenverarbeitungseinheiten (2), die mittels einer Datenübertragungseinheit (6) miteinander verbunden sind, wobei jeder Datenverarbeitungseinheit (2) ein Zeitgeber (10) zugeordnet ist, dadurch gekennzeichnet, dass der Zeitgeber (10) unterteilt ist in einen interruptgesteuerten Zähler (12) zum Zählen einer Anzahl (Z) von zugrundeliegenden Interrupt-Intervallen (IZ) und in ein Zeitmodul (14) für eine fortlaufende Uhrzeit (UZ) im Zählerformat, wobei der Zeitgeber (10) anhand einer Prozessaufforderung (P) mittels der Anzahl (Z) von vom Zähler (12) von einer vorangegangenen Uhrzeit (UZalt) bis zur Prozessaufforderung (P) erfassten Interrupt-Intervallen (IZ) und des zugrundeliegenden Interrupt-Intervalls (IZ) sowie der vorangegangenen Uhrzeit (UZalt) im Zählerformat eine aktuelle Uhrzeit (UZaktuell) gemäßUZaktuell = UZalt + (Z * IZ) ermittelt.
  2. Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, dass die jeweilige Datenverarbeitungseinheit (2) zur Auslösung des Interrupt-Intervalls (IZ) mit einer Zeitauflösung von einem Vielfachen von 1/232 s ausgebildet ist.
  3. Datenverarbeitungssystem nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass das Interrupt-Intervall (IZ) circa 1 ms beträgt.
  4. Datenverarbeitungssystem nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass der Zähler (12) synchron anhand des Interrupt-Intervalls (IZ) inkrementiert wird.
  5. Datenverarbeitungssystem nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass der Zeitgeber (10) zum Zeitpunkt der Prozessaufforderung (P) zur Auslösung einer Interruptsperre und zum Auslesen des dem Zähler (12) zugrundeliegenden Zählwertes (Z) vorgesehen ist.
  6. Datenverarbeitungssystem nach Anspruch 5, dadurch gekennzeichnet, dass der Zeitgeber (10) nach Auslesen des Zählwertes (Z) zur Freigabe der Interruptsperre und zur Ermittlung der aktuellen Uhrzeit (UZaktuell) anhand der Summe der mittels des Zählwertes (Z) ermittelten n-zahligen Interrupt-Intervalle (IZ) und der vorangegangenen Uhrzeit (UZalt) vorgesehen ist.
  7. Datenverarbeitungssystem nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass der Zeitgeber (10) für die aktuelle Uhrzeit (UZaktuell) asynchron zum Interrupt-Intervall (IZ) aktivierbar ist.
  8. Datenverarbeitungssystem nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass die fortlaufende Uhrzeit (UZ) des Zeitmoduls (14) separat einstellbar ist.
DE2002142699 2002-09-13 2002-09-13 Datenverarbeitungssystem mit einer Mehrzahl von Datenverarbeitungseinheiten Expired - Fee Related DE10242699B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2002142699 DE10242699B4 (de) 2002-09-13 2002-09-13 Datenverarbeitungssystem mit einer Mehrzahl von Datenverarbeitungseinheiten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2002142699 DE10242699B4 (de) 2002-09-13 2002-09-13 Datenverarbeitungssystem mit einer Mehrzahl von Datenverarbeitungseinheiten

Publications (2)

Publication Number Publication Date
DE10242699A1 true DE10242699A1 (de) 2004-03-25
DE10242699B4 DE10242699B4 (de) 2005-04-21

Family

ID=31895989

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2002142699 Expired - Fee Related DE10242699B4 (de) 2002-09-13 2002-09-13 Datenverarbeitungssystem mit einer Mehrzahl von Datenverarbeitungseinheiten

Country Status (1)

Country Link
DE (1) DE10242699B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1650617A1 (de) * 2004-10-21 2006-04-26 General Electric Company Ereignis-basiertes Betriebssystem, Verfahren und Vorrichtung für Instrumenten- und Steuerungssysteme

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3803525C2 (de) * 1988-02-05 1993-12-02 Licentia Gmbh Vorrichtung zum Betrieb von absoluten Echtzeituhren in einem eine Zentraluhr und Teilnehmer enthaltenden Prozeßsteuersystem

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3803525C2 (de) * 1988-02-05 1993-12-02 Licentia Gmbh Vorrichtung zum Betrieb von absoluten Echtzeituhren in einem eine Zentraluhr und Teilnehmer enthaltenden Prozeßsteuersystem

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1650617A1 (de) * 2004-10-21 2006-04-26 General Electric Company Ereignis-basiertes Betriebssystem, Verfahren und Vorrichtung für Instrumenten- und Steuerungssysteme

Also Published As

Publication number Publication date
DE10242699B4 (de) 2005-04-21

Similar Documents

Publication Publication Date Title
DE4135749B4 (de) Prozessormodul für eine programmierbare Steuerung mit einer intelligenten Funktionsmodulschnittstelle
EP0655682B1 (de) Recheneinheit mit mehreren ausführbaren Tasks
EP0636956B1 (de) Aufdatverfahren
EP2504738A1 (de) Parallelisierte programmsteuerung
DE3923432A1 (de) Einrichtung zur erzeugung von messsignalen mit einer mehrzahl von redundant vorgesehenen sensoren
DE3236302A1 (de) Speicherprogrammierbare steuerung
EP2067081A1 (de) Verfahren zum synchronisieren zweier steuereinrichtungen und redundant aufgebaute automatisierungsvorrichtung
DE112018001886T5 (de) Steuereinrichtung, Steuerverfahren und Steuerprogramm
EP2214068A1 (de) Automatisierungssystem mit einem programmierbaren Matrixmodul
EP1428083B1 (de) Verfahren zur steuerung und/oder regelung von industriellen prozessen
EP2520991A1 (de) Verfahren zum steuernden Eingriff in das Verhalten eines Submoduls
EP3088976B1 (de) Verfahren zum betreiben einer automatisierungseinrichtung und automatisierungseinrichtung
EP0991986A1 (de) Verfahren zur prozessüberwachung, steuerung und regelung
EP2874030A1 (de) Automatisierungssystem
EP3252549B1 (de) Verfahren zum betreiben einer automatisierungseinrichtung sowie automatisierungseinrichtung
WO2010118864A1 (de) Verfahren zum bereitstellen eine information über ein verschleiss einer komponente einer maschine und verfahren zum bereitstellen eines ersatzalgorithmus
DE10242699B4 (de) Datenverarbeitungssystem mit einer Mehrzahl von Datenverarbeitungseinheiten
DE10246746B3 (de) Rechnersystem für Echtzeit- und Nicht-Echtzeitprogramme
EP0799448B1 (de) Responsives system zur signalverarbeitung, verfahren zur herstellung eines responsiven systems und verfahren zur bestimmung und anpassung der ausfuehrungszeit in einem automatisierungsprozess, welcher von einem responsiven system ausgefuehrt wird
DE10131944A1 (de) Verfahren zur Verarbeitung von Daten
DE102019206541A1 (de) Verfahren zum Durchführen von computerunterstützten XiL-Simulationen
EP3480671A1 (de) Verfahren zum betrieb einer numerisch gesteuerten produktionsanlage sowie produktionsanlage dazu
EP2642403B1 (de) Schnittstellenvorrichtung und Verfahren für einen konsistenten Datenaustausch
DE19910069A1 (de) Prozeßautomation
EP0172569A2 (de) Verfahren zur Synchronisation mehrerer parallelarbeitender Rechner

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee