Beschreibung
Responsives System zur Signalverarbeitung sowie Verfahren zur Herstellung eines responsiven Systems
Die Erfindung betrifft ein responsives System zur Signalver¬ arbeitung, mit einer Mehrzahl von Datenverarbeitungs-Einhei¬ ten, die über Datenübertragungs-Einheiten miteinander ver¬ bunden und auf denen Rechnerprogramme implementiert sind, wobei die Rechnerprogramme modular aufgebaut sind. Die Erfin¬ dung betrifft weiterhin ein Verfahren zur Herstellung eines responsiven Systems zur Signalverarbeitung in einem Automa¬ tisierungsprozeß.
Ein responsives, d.h. fehlertolerantes und echtzeitfähiges System zur Signalverarbeitung findet vielseitig im Rahmen eines industriellen Automatisierungsprozesses Anwendung. Von besonderer Bedeutung ist ein responsives System in einem Automatisierungsprozeß, bei welchem die Einhaltung vorgebener Zeitschranken oder die Erbringung geforderter Ausgangssignale innerhalb vorgegebener Zeitintervalle erforderlich ist. Sol¬ che Forderungen treten häufig in Fertigungsprozessen, Rege- lungs- und Steuerungsprozessen sowie Überwachungsprozessen auf, wie beispielsweise in der Sicherheitsleittechnik einer Kernkraftanlage. Die Einhaltung von Zeitschranken bzw. Zeit¬ intervallen hängt entscheidend von der Funktionstüchtigkeit der einzelnen Komponenten, sowohl gerätespezifischer als auch programmspezifischer Komponenten, ab. In komplexen Systemen, bei denen Datenverarbeitungseinheiten zu großen Datennetzen miteinander verbunden sind, sind Fehler in programmspezifi¬ schen Komponenten, insbesondere Fehler in Rechnerprogrammen, von besonderer Bedeutung. Diese Fehler können bis zu 60 % der Fehler des gesamten Systems ausmachen. Diese programmspezifi¬ schen Fehler lassen sich in drei Gruppen einteilen, wobei mit 55 % sogenannte Spezifikationsfehler am häufigsten auftreten. Mit einem .Anteil von etwa 25 % sind Wartungsfehler von etwa der gleichen Bedeutung wie Implementierungsfehler, die bei
etwa 20 % liegen. Ein Spezifikationsfehler liegt beispiels¬ weise dann vor, wenn eine Zuordnung zwischen einem Rechner¬ programm und der zur Ausführung des Rechnerprogramms bestimm¬ ten gerätespezifischen Komponente (Hardware) fehlerhaft ist, was bei ungenügender Rechenleistung eine zu langsame Ausfüh¬ rung des Rechnerprogramms und damit zu einem Nichteinhalten von Zeitschranken bzw. Zeitintervallen führen kann. Dies wird als timing-basiertes Versagen eines responsiven Systems be¬ zeichnet.
Um die Einhaltung der Zeitschranken und der Zeitintervalle zu gewährleisten, werden eine Abstimmung und eine Oberprüfung des Datenaustausches zwischen einzelnen Datenverarbeitungseinhei¬ ten sowie die Bearbeitung der Daten auf den Datenverarbei- tungseinheiten geregelt. Dies wird häufig als "Scheduling" be¬ zeichnet. Bei responsiven Systemen wird zwischen einem übli¬ chen Scheduling während der Laufzeit der Signalverarbeitung in den das responsive System bildenden Datenverarbeitungseinhei¬ ten und einem Vorabscheduling {"Pre-Runtime-Scheduling" ) un- terschieden. Bei einem Scheduling zur Laufzeit ist ein Steue¬ rungsmodul zur Einhaltung der Zeitschranken bzw. Zeitinterval- le vorgesehen, welches die Abfolge von Rechnerprogrammen in einem Prozessor einer Datenverarbeitungseinheit bestimmt. Jedes dieser Rechnerprogramme kann dabei, während es in dem Prozessor abgearbeitet wird, nach Ablaufen eines Bearbeitungs- intervalles mit vorgegebener Dauer, einer frühzeitigen Beendi¬ gung der Berechnung oder von außen gesteuert aus dem Prozessor wieder entfernt werden. Es handelt sich hierbei um eine unter¬ brechungsgesteuerte Arbeitsweise (Interrupt-Arbeitsweise) des responsiven Systems. Bei einer anderen bekannten Arbeitsweise erfolgt die Steuerung des Datenaustausches zwischen Datenver¬ arbeitungs-Einheiten sowie die Steuerung der Reihenfolge der Abarbeitung einzelner Teilprogramme in einem Prozessor einer Datenverarbeitungs-Einheit unter Berücksichtigung der Abhän- gigkeiten zwischen den einzelnen Teilprogrammen. Die Abhängig¬ keiten werden über sogenannte Graphen bildlich definiert. Die Teilprogramme sind hierbei als Knotenpunkte dargestellt, wel-
ehe über gerichtete Strecken miteinander verbunden sind. Ein Teilprogramm wird jeweils dann ausgeführt, wenn die Bedingun¬ gen sämtlicher zu dem Knotenpunkt führender gerichteter Strecken erfüllt sind. Die Abhängigkeit zwischen den einzelnen Teilprogrammen kann vor Ausführung des Automatisierungsprozes¬ ses bestimmt werden, wobei für die Ausführung jedes Teilpro- grammes eine maximale Zeitdauer angegeben werden kann. Diese Zeitdauer wird in eine Anzahl von gleichlangen Zeitintervallen unterteilt, in denen die Teilprogramme in dem Prozessor abge- arbeitet werden. Während der Ausführung des Automatisierungs¬ prozesses wird von einem Steuerungsmodul jeweils nach Ablaufen eines Zeitintervalles geprüft, welche Teilprogramme die Krite¬ rien für eine Abarbeitung erfüllen. Nach Prüfung werden ent¬ sprechend der vorgegebenen Prioritäten die entsprechenden Teilprogramme gestartet. Trotz einer Vorabbestimmung der Aus¬ führungszeiten und der Abhängigkeiten der Teilprogramme unter¬ einander ist wie oben aufgeführt bei einer periodischen in Zeitintervallen unterteilte Bearbeitung, in denen jeweils ein Teilprogramm in einem Prozessor bearbeitet wird, eine zusätz- liehe Überprüfung und Steuerung notwendig. Die Überprüfung dient der Ermittlung, für welche Teilprogramme die notwendigen Informationen zur Bearbeitung vorliegen, und mit der Steuerung wird das Teilprogramm mit der jeweils höchsten Priorität für die Bearbeitung in dem Prozessor während des nächstfolgenden Zeitintervalles ausgewählt. Aufgrund der Komplexität und der Nichtvorhersagbarkeit des Ablaufes der Überprüfung und der Steuerung ist eine Vorabaussage über die Einhaltung von Zeit¬ schranken und Zeitintervallen für den Automatisierungsprozeß nicht möglich, sondern ergibt sich erst während der, insbeson- dere periodischen, Bearbeitung des Automatisierungsprozesses.
Aufgabe der Erfindung ist es daher, ein responsives System zur Signalverarbeitung, insbesondere zur digitalen Signal¬ verarbeitung, anzugeben, welches aus einem Eingangssignalzu- stand einen Ausgangssignalzustand erzeugt und vor Bearbeitung des Eingangssignalzustandes die Bestimmung einer maximalen Ausführungszeit für die Erzeugung des Ausgangssignalzustandes
ermöglicht. Eine weitere Aufgabe besteht darin, ein Verfahren zur Herstellung eines responsiven Systems zur Signalverarbei¬ tung in einem Automatisierungsprozeß anzugeben.
Erfindungsgemäß wird die erstgenannte Aufgabe durch ein re¬ sponsives System zur Signalverarbeitung gelöst, welches eine Mehrzahl von Datenverarbeitungs-Einheiten hat, die über Da- tenübertragungs-Einheiten miteinander verbunden sind und auf denen Rechnerprogramme implementiert sind, welche modular aus einer Anzahl von Funktionsbausteinen aufgebaut sind. Das System erzeugt zu einem Eingangssignalzustand gemäß einer ganzheitlichen Bearbeitungsspezifikation umfassend die Zuord¬ nungen und die Anforderungen der Datenverarbeitungs-Einhei¬ ten, der Datenübertragungs-Einheiten und der Rechnerprogramme einen Ausgangssignalzustand und umfaßt weiterhin a) eine erste Datenbank, in der eine maximale Bearbeitungs- zeit jedes Funktionsbausteins in Abhängigkeit von einer dem Funktionsbaustein zugeordneten jeweiligen Datenverar¬ beitungs-Einheit sowie eine maximale Übertragungszeit jeder Datenübertragungs-Einheit gespeichert sind, b) eine zweite Datenbank, in der Zuordnungen der Datenver¬ arbeitungs-Einheiten, der Datenübertragungs-Einheiten und der Rechnerprogramme untereinander sowie Schrittfolgen von Signalverarbeitungen gemäß der Bearbeitungsspezifika- tion gespeichert sind, c) eine dritte Datenbank, in der Kenngrößen der Datenverar¬ beitungs-Einheiten, der Datenübertragungs-Einheiten und der Rechnerprogramme, insbesondere Bauart, Versionsnummer und technische Spezifikation, gespeichert sind und d) ein Timing-Modul, welches aus den in den Datenbanken ge¬ speicherten Daten eine maximale Ausführungszeit für die Erzeugung des Ausgangssignalzustandes aus dem Eingangs¬ signalzustand bestimmt. Die Erzeugung des Ausgangssignalzustandes aus dem Eingangs- signalzustand erfolgt in Echtzeit, wobei hierin eine Summe von Echtzeitteilaufgaben anhand der ganzheitlichen Bearbei¬ tungsspezifikation bearbeitet und gelöst werden. Die Bearbei-
tungsspezifikation enthält eine Untergliederung jeder Echt¬ zeitteilaufgabe in verschiedene Strukturebenen. Hierzu wird ein Funktionsplan erstellt, welcher die Echtzeitteilaufgabe modular in Unteraufgaben zerlegt bis in eine Ebene herunter, in der zugehörige Unteraufgaben mit elementaren Funktionen gelöst werden können. Für die Bearbeitung jeder dieser ele¬ mentaren Funktionen, beispielsweise 30 bis 50 verschiedene Funktionen, ist ein jeweiliger Funktionsbaustein vorgesehen. Zu jedem Funktionsbaustein wird automatisch ein eindeutig zugeordnetes Rechnerprogramm erzeugt. Der Funktionsbaustein kann allerdings auch über eine festverdrahtete Schaltung realisiert sein. Aufgrund der modularen Struktur der zur Lösung einer Echtzeitteilaufgabe angegebenen Funktionspläne wird automatisch aus den Funktionsbausteinen ein Rechnerpro- gra m zur Lösung jeder Echtzeitteilaufgabe erzeugt. Durch die Verwendung der wenigen unterschiedlichen Funktionsbausteine mit bekannter Bearbeitungszeit ist es möglich, die Bearbei¬ tungszeit für den zeitaufwendigsten und nicht homogenen Teil jedes Rechnerprogrammes nicht nur zu schätzen, sondern auch zu messen. Für jede Datenverarbeitungs-Einheit liegen somit schon mit der Bearbeitungsspezifikation präzise Aussagen über die maximale Bearbeitungszeit vor. Eine Analyse des Quell¬ textes eines jeden Rechnerprogrammes ist nicht mehr notwen¬ dig, vielmehr wird die maximale Bearbeitungszeit eines jeden Funktionsbausteines in Abhängigkeit der Datenverarbeitungs- Einheit, insbesondere des den Funktionsbaustein bearbeitenden Prozessors, gemessen. Diese maximale Bearbeitungszeit wird in der ersten Datenbank gespeichert. Für jede Messung werden in die dritte Datenbank zugehörige Kenngrößen sowohl der Daten- verarbeitungs-Einheit, die den genauen Typ der Datenverarbei¬ tungs-Einheit indentifizieren, gespeichert. Dies sind unter anderem der Typ des Prozessors, seine Taktfrequenz, die Größe des zur Verfügung stehendes Zwischenspeichers (Cache) , die Zugriffszeit des Speichers, die Anzahl der "Wait-States" . Weiterhin können die verwendete Optimierungsstufe bei der Umsetzung des Funktionbausteins in eine Programmiersprache einee Kenngröße sein. Eine Bestimmung der maximalen Bearbei-
tungszeit eines Funktionbausteines erfolgt insbesondere über eine Vielzahl durchgeführter Messungen, beispielsweise in der Größenordnung von 10^ bis 107, der Bearbeitungszeit des Funk¬ tionsbausteins in jeder möglichen Betriebsart. Weiterhin kann die Messung nicht nur an einem einzigen Funktionsbaustein, sondern an einer Vielzahl von Funktionbausteinen desselben Typs, erfolgen. Die Anzahl an gleichartigen Funktionsbaustei¬ nen ist vorzugsweise so groß wie die Anzahl von Funktionsbau¬ steinen in einem Funktionsplan. Die Funktionsbausteine grei- fen bei der Messung jeweils auf die gleichen Werte zu, die jedoch in anderen Speicherbereichen abgelegt sind. Hierdurch wird während der Messung eine Meßumgebung bereitgestellt, die nicht günstiger als die Ausführungsumgebung während der tat¬ sächlichen Signalverarbeitung ist . Die hieraus gewonnene maximale Bearbeitungszeit kann somit als sichere obere Grenze für die Bearbeitungszeit des Funktionsbausteins angenommen werden. Die maximale Bearbeitungszeit beträgt beispielsweise für die unterschiedlichen Funktionsbausteine auf einem Pro¬ zessor 80486 der Firma Intel mit einer Taktfrequenz von 33 MHz zwischen 3 μs und 1,5 ms.
Da außer dem Aufruf eines einzelnen Funktionsbausteins inner¬ halb eines Funktionsplanes zur Lösung einer Echtzeitteilauf¬ gabe zusätzlich nur noch Kopier- und Negations-Operationen erforderlich sind, deren maximale Bearbeitungszeit einfach bestimmbar ist, ist unter Berücksichtigung der Zuordnung der Datenverarbeitungs-Einheiten untereinander und der maximalen Übertragungszeit zwischen den Datenverarbeitungs-Einheiten die maximale Ausführungszeit für die Erzeugung des Ausgangs- signalzustandes gegeben, welche durch das Timing-Modul be¬ stimmt wird. Die in den drei Datenbanken gespeicherten Werte können auch in nur einer einzigen Datenbank gespeichert sein.
Für jeden Funktionsbaustein lassen sich drei Betriebsarten unterscheiden, nämlich die Initialisierung, die Parametrisie- rung und der laufende Betrieb. Während der Parametrisierung erfolgt unter anderem eine Bestimmung von abgeleiteten Para-
etern und eine Berechnung der für den Funktionsbaustein not¬ wendigen Zustandsspeicher. Während der Initialisierung wird der Funktionsbaustein initialisiert. Dies kann bei einem auf¬ wendigen Funktionsbaustein länger als die maximale Bearbei¬ tungszeit während des laufenden Betriebs dauern. Da die Ini¬ tialisierung allerdings der eigentlichen Signalverarbeitung vorgeschaltet ist, hat dies für die maximale Ausführungszeit des responsiven Systems während der Betriebsphase keinerlei Auswirkungen.
Vorzugsweise weist das responsive System ein Scheduling-Modul zur Erstellung eines Scheduling-Plans auf, welcher die An¬ fangszeitpunkte für eine periodische Abarbeitung der einzel¬ nen Datenverarbeitungs-Einheiten und die Sendezeitpunkte für Daten-Telegramme so festgelegt, daß die maximale Ausführungs- zeit des gesamten Systems kleiner als eine vorgegebene Zeit¬ dauer ist. Eine Festlegung der Sendezeitpunkte erfolgt unter Berücksichtigung der in den Datenbanken gespeicherten Daten, insbesondere der Übertragungs- und Bearbeitungszeiten, sowie der Zuordnung der Datenverarbeitungs-Einheiten und der Daten¬ übertragungs-Einheiten zueinander. Jede Datenverarbeitungs- Einheit sendet in einem vorgegebenen periodischen Zeitabstand Daten-Telegramme aus, welche die für andere Datenverarbei¬ tungs-Einheiten erforderlichen Signale enthalten. Die in ei- ner Datenverarbeitungs-Einheit eintreffenden Signale werden ebenfalls periodisch abgearbeitet. Um zu gewährleisten, daß die von einer Datenverarbeitungs-Einheit abgesandten Signale rechtzeitig zur nächstfolgenden periodischen Abarbeitung in einer empfangende Datenverarbeitungs-Einheit gelangen, sind die Datenverarbeitungs-Einheiten untereinander synchroni¬ siert. Eine Synchronisation kann beispielsweise über einen externen Zeitgeber erfolgen, mit dem sämtliche Datenverarbei¬ tungs-Einheiten in Verbindung stehen. Eine Synchronisation kann auch zwischen zwei Datenverarbeitungs-Einheiten direkt erfolgen, indem die Sendezeitpunkte der sendenden Datenver¬ arbeitungs-Einheit mit den Abarbeitungszeitpunkten der emp-
fangenden Datenverarbeitungs-Einheit ständig verglichen und aufeinander angeglichen werden.
Durch die in den Datenbanken gespeicherten Daten des Über- tragungsverhaltens des responsiven Systems ist eine Festle¬ gung des Scheduling-Plans vor Inbetriebnahme des responsiven Systems möglich. Die Sende- und Abarbeitungszeitpunkte der einzelnen Datenverarbeitungs-Einheiten lassen sich so fest¬ legen, daß eine hohe Auslastung des responsiven Systems er- reicht wird. Die zu einem Netzwerk zusammengeschalteten
Datenverarbeitungs- und Datenübertragungs-Einheiten werden in ihren Sende- und Empfangszeitpunkten so aufeinander abge¬ stimmt, daß auf dem Netz keine Kollissionen auftreten und das Netz nicht über einen vorgegebenen Prozentsatz ausgelastet wird. Hierdurch ist ein völlig deterministisches Verhalten des responsiven Systems gewährleistet, wobei die Komponenten des Systems räumlich über große Entfernungen verteilt sein können. Darüber hinaus ist dadurch für ein responsives System mit verteilten Komponenten, wie beispielsweise in der Sicher- heitsleittechnik einer Kernkraftanlage, bei Auftreten einer Vielzahl sicherheitstechnisch relevanter Signale eine unzu¬ lässige Zuleitung einer Vielzahl von Signalen an eine Daten¬ verarbeitungs-Einheit, die deren Bearbeitung verlangsamt oder zu einer fehlerhaften Bearbeitung führt, sicher vermieden. Im Gegensatz zu bekannten responsiven Systemen, bei denen sowohl die Erstellung eines Scheduling-Plan als auch eine Messung der Auslastung des durch die Komponenten gebildeten Netzes erst während des Betriebes erfolgt, ist dies bei dem angege¬ benen responsiven System schon vor Beginn des Betriebes er- folgt. Hierzu wird vorab eine Auswahl der geeigneten Geräte, insbesondere Prozessoren und Datenübertragungseinheiten, wie Koaxial-Leitungen, Verstärker, Repeater, Bridges, etc. durch¬ geführt. Das Einhalten von Zeitschranken und Zeitintervallen ist dadurch schon vorab sicher gewährleistet. Der Nachweis der Einhaltung von Zeitschranken und Zeitintervallen erfolgt über den modularen Aufbau des responsiven Systems anhand der ganzheitlichen Bearbeitungsspezifikation, die eine entspre-
chende modulare deterministische Unterteilung in Funktions¬ pläne aufweist, welche wiederum aus elementaren Funktionsbau¬ steinen zusammengesetzt sind.
Vorzugsweise weist das responsive System ein Überwachungs¬ modul auf, welchem sämtliche Änderungen der Bearbeitungs- und Übertragungszeiten, insbesondere durch Veränderung der Daten¬ verarbeitungs-Einheiten, der Datenübertragungs-Einheiten oder der Funktionsbausteine, zugeführt wird. Diese Änderungen sowie Änderungen in der ganzheitlichen Bearbeitungsspezifika¬ tion und damit auch in der Zuordnung der einzelnen Komponen¬ ten des responsiven Systems zueinander führt das Überwa¬ chungs-Modul dem Timing-Modul zur Bestimmung aktualisierter Ausführungszeiten zu. Mit diesen Änderungen in der ganzheit- liehen Bearbeitungsspezifikation und damit in den Datenverar¬ beitungs-Einheiten, den Datenübertragungs-Einheiten und den Funktionsbausteinen erfolgt in dem Scheduling-Modul ebenfalls eine neue Festlegung der Sendezeitpunkte von Daten-Telegram¬ men und der Abarbeitungszeitpunkte von eingehenden Signalen. Hierdurch ist auch bei Änderungen die Echtzeitfähigkeit und Fehlertoleranz des responsiven Systems weiterhin gewährlei¬ stet.
Das responsive System eignet sich bevorzugt in einem leit- technischen System zur Steuerung und/oder Regelung einer in¬ dustriellen Anlage. Das leittechnische System weist Signal- erzeugungs-Elemente und Regelelemente und/oder Steuerungs¬ elemente auf, wobei die Signalerzeugungs-Elemente über die Datenverarbeitungs-Einheiten und Datenübertragungs-Einheiten mit den Regelelementen und/oder Steuerungselementen verbunden sind. Ein von den Signalerzeugungs-Elementen erzeugter Ein- gangssignalzustand wird durch das responsive System echtzeit- mäßig bearbeitet, und der Ausgangssignalzustand des responsi¬ ven Systems liefert die Eingangssignale für die Steuerungs- elemente und/oder Regelungselemente. Signalerzeugungs-Elemen¬ te können dabei elektrische, optische oder mechanische Senso¬ ren sein, die den Eingangssignalzustand erzeugen. Dieser Ein-
gangssignalzustand wird vorzugsweise periodisch abgerufen. Steuerungs- und/oder Regelungselemente können Ventile, Stell¬ antriebe, Pumpen sowie elektrische Steuerungs- und Regelglie¬ der sein. Besonders eignet sich das responsive System in ei- nem leittechnischen System einer Kernkraftanlage für die Steuerung von sicherheitstechnisch relevanten Komponenten.
Vorzugsweise sind die Funktionsbausteine einer Datenverarbei¬ tungs-Einheit, welche mit derselben Periode auf der Datenver- arbeitungs-Einheit abgearbeitet werden, in einer Funktions¬ plan-Gruppe zusammengefaßt. Die Funktionsplan-Gruppe wird mit einer vorgegebenen Periode in den Prozessor der Datenverar¬ beitungs-Einheit eingeladen und dort, ohne unterbrochen zu werden, abgearbeitet, so daß die periodische Abarbeitung jedes einzelnen Funktionsbausteins gewährleistet ist. Eine
Prioritätssteuerung bzw. Unterbrechungssteuerung für die Ab¬ arbeitung der Funktionsbausteine ist somit nicht erforder¬ lich, wodurch die Abarbeitung besonders einfach realisiert ist.
Bei Funktionsbausteinen mit unterschiedlichen periodischen Abarbeitungszeiten lassen sich verschiedene Funktionsplan- Gruppen angeben, die jeweils eine andere Periodendauer besit¬ zen. Als Referenzperiode dient dabei die kürzeste Perioden- dauer zur Abarbeitung eines Funktionbausteins. Während dieser Referenzperiode erfolgt jedesmal eine Abarbeitung der Funk¬ tionsbausteine mit der kürzesten Periodendauer sowie eine Ab¬ arbeitung eines Bruchteiles der Funktionsbausteine, die eine längere Periodendauer aufweisen. Beispielsweise beträgt die Periodendauer einer schnellen Funktionsplangruppe 5 ms und die einer langsamen Funktionsplangruppe 50 ms. Während der Periodendauer von 5 ms werden jedesmal die schnelle Funk¬ tionsplangruppe und jeweils ein Zehntel der langsamen Funk¬ tionsplangruppe abgearbeitet, so daß nach Ablauf einer Perio- dendauer von 50 ms die schnelle Funktionsplangruppe insgesamt zehnmal, die langsame Funktionsplangruppe hingegen genau ein¬ mal abgearbeitet wurde, wie es ihrer Periodendauer ent-
spricht. Hierdurch ist zudem erreicht, daß die Funktionsbau¬ steine der langsamen Funktionsplangruppe jeweils auf die neuesten Werte der schnellen Funktionsplangruppe zugreifen können, falls dies erforderlich ist. Vorzugsweise erfolgt ei- ne Verarbeitung der von der Datenverarbeitungs-Einheit emp¬ fangenen Daten-Telegramme sowie der von ihr gesendeten Daten- Telegramme durch die langsamste Funktionsplangruppe, da diese maßgebend für die Bearbeitungszeit der Datenverarbeitungs- Einheit ist und somit auch die Empfangs- und Sendezeitpunkte bestimmt.
Die einzelnen Funktionsplangruppen können dabei während der Bearbeitung der langsamsten Funktionsplangruppe auch Ein- und Ausgabeoperationen mit unmittelbar an die Datenverarbeitungs- Einheit angeschlossenen Peripherie-Einheiten durchführen.
Solche Peripherie-Einheiten sind beispielsweise analoge und digitale Eingabebaugruppen sowie Prozessoren zur Erfassung und Filterung von Signalen. Da solche Peripherie-Einheiten allein in der Abarbeitungsfolge der zugeordneten Datenverar- beitungs-Einheit behandelt werden, ist eine Einbeziehung bei der Ermittlung des Scheduling-Plans nicht erforderlich. In einer Funktionsplangruppe können beispielsweise bis zu zwi¬ schen 50 und 100 aus einzelnen Funktionsbausteinen zusammen¬ gesetzte Funktionspläne enthalten sein, so daß die während der Referenzperiode zur Verfügung stehende Rechenzeit weit¬ gehend vollständig genutzt werden kann. Durch eine Bestimmung und Aufteilung der Funktionsplangruppen zur Bearbeitung wäh¬ rend der langsamsten Periodendauer kann von einer prioritäts¬ gesteuerten Bearbeitung auf jeder Datenverarbeitungs-Einheit abgesehen werden. Diese Bestimmung und Aufteilung ist vor
Inbetriebnahme des responsiven Systems möglich. Unter Umstän¬ den wird lediglich noch ein von dem Prozessor der Datenver¬ arbeitungs-Einheit abzuarbeitendes Kommando zur Selbstüber¬ wachung mit einer niedrigen Priorität benötigt. Das responsi- ve System erfüllt somit die Forderung nach einer minimalen Anzahl von Unterbrechungskommandos (Interrupts) . Es ermög-
licht darüber hinaus den Einsatz von automatisch erzeugten Rechnerprogrammen.
Die auf ein Verfahren zur Herstellung eines responsiven Systems zur Signalverarbeitung in einem Automatisierungspro¬ zeß gerichtete Aufgabe wird erfindungsgemäß dadurch gelöst, daß eine Mehrzahl von Datenverarbeitungs-Einheiten über Da¬ tenübertragungs-Einheiten verbunden und mit Rechnerprogrammen versehen wird, wobei a) einer ganzheitlichen Bearbeitungsspezifikation des Auto¬ matisierungsprozesses folgend die Rechnerprogramme formal spezifiziert und automatisch modular aus einer Anzahl von Funktionsbausteinen aufgebaut werden, b) für jeden Funktionsbaustein in Abhängigkeit von der ihm zugeordneten jeweiligen Datenverarbeitungs-Einheit eine maximale Bearbeitungszeit bestimmt wird, c) für jede Datenübertragungs-Einheit eine maximale Über¬ tragungszeit bestimmt wird, d) die Übertragungs- und Bearbeitungszeiten gespeichert werden und e) aus den gespeicherten Übertragungs- und Bearbeitungszei¬ ten unter Berücksichtigung der Vernetzung der Datenver¬ arbeitungs-Einheiten sowie dem modularen Aufbau der Rechnerprogramme eine maximale Ausführungszeit für den Automatisierungsprozeß bestimmt wird.
Für ein so hergestelltes responsives System ist die maximale Ausführungszeit vor Inbetriebnahme bestimmt. Hierdurch kann eine sichere Aussage getroffen werden, ob mit dem so erstell- ten responsiven System der Automatisierungsprozeß mit einer geforderten Schnelligkeit unter allen Umständen ausführbar ist. Durch Änderung der ganzheitlichen Bearbeitungsspezifika¬ tion, insbesondere Art und Anzahl der Datenübertragungs-Ein¬ heiten, der Datenverarbeitungs-Einheiten sowie der modular aufgebauten Rechnerprogramme kann ein responsives System her¬ gestellt werden, welches eine vorgegebene Ausführungszeit für den Automatisierungsprozeß sicher einhält.
Hierzu trägt auch eine Festlegung der Anfangszeitpunkte für eine periodische Abarbeitung der einzelnen Datenverarbei¬ tungs-Einheiten und die Festlegung der Sendezeitpunkte für Daten-Telegramme, die von einer Datenverarbeitungs-Einheit zu der nächsten Datenverarbeitungs-Einheit übertragen werden, bei. Vorzugsweise werden die Datenverarbeitungs-Einheiten un¬ tereinander durch einen externen Zeitgeber synchronisiert, so daß eine Verschiebung von Anfangszeitpunkten und Sendezeit- punkten, d.h. eine Drift, vermieden wird. Vorteilhaft ist es, Änderungen in dem responsiven System zu erfassen und unter Berücksichtigung dieser Änderungen die maximale Ausführungs¬ zeit neu zu bestimmen oder, beispielsweise durch Abänderung der Sendezeitpunkte und Anfangszeitpunkte für eine periodi- sehe Abarbeitung, neu festzulegen. Hierdurch kann vor einer erneuten Inbetriebnahme des responsiven Systems sicherge¬ stellt werden, daß der Automatisierungsprozeß weiterhin wäh¬ rend einer vorgegebenen Zeitdauer durchgeführt wird, was insbesondere für einen Automatisierungsprozeß im Rahmen der Sicherheitsleittechnik einer Kernkraftanlage von besonderer Bedeutung ist.
Anhand der Zeichnung werden Ausführungsbeispielse für das responsive System sowie das Verfahren zu seiner Herstellung näher erläutert. Es zeigen:
FIG 1 einen schematischen Aufbau eines responsiven
Systems, ohne Erläuterung der lokalen Anord¬ nung der einzelnen Komponenten des Systems, FIG 2 und 3 schematisch die Abarbeitungsfolge der auf einer Datenverarbeitungs-Einheit zu bearbei¬ tenden Rechnerprogrammen.
Das in FIG 1 schematisch dargestellte responsive System 1, weist eine Mehrzahl von Datenverarbeitungs-Einheiten 3 auf, die über Datenübertragungs-Einheiten 2 miteinander verbunden sind. Die Datenübertragungs-Einheiten 2 sind standardisierte Übertragungsleitungen, wie Ethernet-Koaxkabel, und ebenfalls
standardisierte Übertragungselemente, wie Verstärker, Repeater oder Bridges . Den Datenverarbeitungs-Einheiten 3 wird ein Eingangssignal-Zustand über Signalerzeugungs-Elemen¬ te 6, welche beispielsweise Meßsensoren sind, zugeführt. In FIG 1 sind der Übersichtlichkeit halber nur drei solcher Si- gnalerzeugungs-Elemente 6 dargestellt. Im Rahmen eines leit¬ technischen Systems, insbesondere eines Systems der Sicher¬ heitsleittechnik einer Kernkraftanlage, sind eine Vielzahl solcher Signalerzeugungs-Elemente 6 an verschiedenen, unter Umständen weit voneinander entfernten Orten, beispielsweise in einem Reaktordruckbehälter, angeordnet. Die Datenverarbei¬ tungs-Einheiten 3 sind mit den Datenübertragungs-Einheiten 2 zu einem Rechnernetz verbunden, an welches ein Timing-Modul 5, ein Scheduling-Modul 4, ein Überwachungs-Modul 9 sowie Datenbanken Dl, D2 und D3 angeschlossen sind. Das responsive System 1, welches das Rechnernetz darstellt, ist mit Regel¬ elementen 7 sowie Steuerungselementen 8 verbunden. Diese Regelelemente 7 sowie Steuerungselemente 8 sind beispielswei¬ se motorsteuerbare Ventile, die in einem geöffneten Zustand zu einer Druckentlastung von durchströmten Rohrleitungen füh¬ ren. An die Regelelemente 7 und die Steuerelemente 8, von denen jeweils der Übersichtlichkeit halber nur eines darge¬ stellt ist, wird von "dem responsiven System ein Ausgangs¬ signalzustand übermittelt. Die Signalerzeugungs-Elemente 6 geben mit einer festen Periode einen jeweiligen aktuellen Eingangssignalzustand an das responsive System 1, welches spätestens nach einer maximalen Ausführungszeit hieraus den Ausgangssignalzustand bestimmt und an die Regelelemente 7 sowie die Steuerungselemente 8 überträgt. Auf jeder Datenver- arbeitungs-Einheit 3 sind Rechnerprogramme SW implementiert, die modular aus einer Anzahl von elementaren Funktionsbau¬ steinen aufgebaut sind. Eine Bestimmung der maximalen Ausfüh¬ rungszeit erfolgt in dem Timing-Modul 5, welches hierbei die in den Datenbanken Dl, D2 und D3 gespeicherten Werte auswer- tet. Die Datenbank Dl enthält die maximale Bearbeitungszeit jedes Funktionbaustein in Abhängigkeit von der ihm zugeordne¬ ten Datenverarbeitungs-Einheit 3 sowie die maximale Übertra-
gungszeit jeder Datenübertragungs-Einheit 2. Die Datenbank D2 enthält die Zuordnung der Datenverarbeitungs-Einheiten 3, der Datenübertragungs-Einheiten 2 und der Rechnerprogramme unter¬ einander sowie die Schrittfolge der Signalverarbeitung gemäß einer ganzheitlichen Bearbeitungsspezifikation. Die Datenbank D3 enthält Kenngrößen der Datenverarbeitungs-Einheiten 3, der Datenübertragungs-Einheiten 2 und der Rechnerprogramme, wie Bauart, Versionsnummer, technische Spezifikation, Prozessor¬ typ und andere. Anhand der Bearbeitungsspezifikation, welche einen Lösungsweg zur Ermittlung des gewünschten Ausgangssi¬ gnalzustandes bei Vorliegen eines Eingangssignalzustands unter Berücksichtigung der verwendeten Rechnerprogramme und Datenverarbeitungs-Einheiten 3 sowie Datenübertragungs-Ein¬ heiten angibt, wird die Ermittlung der maximalen Ausführungs- zeit durchgeführt. Die Datenbanken Dl, D2 und D3 können auch als eine einzige Datenbank mit entsprechenden Speicherberei¬ chen realisiert sein.
FIG 2 zeigt schematisch die zeitliche Abarbeitung der auf ei- ner Datenverarbeitungs-Einheit implementierten Rechnerpro¬ gramme. Diese Rechnerprogramme sind modular aus einer Anzahl von unterschiedlichen Funktionsbausteinen aufgebaut, wobei etwa 30 bis 50 unterschiedliche Funktionsbausteine Verwendung finden. Mit jedem Rechnerprogramm, welches im folgenden auch als Funktionsplan bezeichnet wird, wird eine Unteraufgäbe ei¬ nes Automatisierungsprozesses gelöst. Der Automatisierungs¬ prozeß besteht aus Teilaufgaben, die wiederum modular in die Unteraufgaben, die Funktionspläne, unterteilt sind. Bei¬ spielsweise sind in der Sicherheitsleittechnik einer Kern- kraftanlage bis zu 70 Teilaufgaben angegeben. Diese beziehen sich beispielsweise auf eine Reaktorschnellabschaltung, einen Turbinenschnellschluß oder eine Druckentlastung eines Reak¬ tordruckbehälters bei als sicherheitstechnisch relevant ein¬ gestuften Bedingungen. Eine Abarbeitung der einzelnen Funk- tionspläne erfolgt jeweils mit einer für den jeweiligen Funk¬ tionsplan bestimmten Periode. Funktionspläne mit gleicher Be¬ arbeitungsperiode werden zu sogenannten Funktionsplangruppen
zusammengefaßt. Hier sind der übersichtlichkeithalber nur zwei Funktionsplangruppen, FPGa und FPGb, angegeben. Die Bearbeitungsperiode der schnelleren Funktionsplangruppe FPGa beträgt 5 ms und die der langsameren Funktionsplangruppe FPGb beträgt 50 ms. Da jede Funktionsplangruppe bis zu zwischen 50 und 100 einzelne Funktionspläne enthält, ist eine Untertei¬ lung der Funktionsplangruppe in verschiedene Teile mit glei¬ cher Bearbeitungsdauer ohne eine Zerteilung einzelner Funk¬ tionspläne möglich. Hierdurch ist eine Bearbeitung jedes Funktionsplans ohne Unterbrechung, d.h. ohne Ausladen und erneutes Einladen in den Prozessor der Datenverarbeitungs- Einheit, gewährleistet. Da die Periode der langsamen Funk¬ tionsplangruppe 50 ms beträgt, wird diese in zehn Teile unterteilt, die jeweils die gleiche Bearbeitungsdauer, bei- spielsweise von 2 ms, haben. Die Abarbeitung der Funktions¬ plangruppen erfolgt nun so, daß jeweils die schnellere Funk¬ tionsplangruppe FPGa und ein Teil der langsameren Funktions- plangruppe FPGb in den Prozessor eingeladen und dort bearbei¬ tet werden.
FIG 3 zeigt beispielhaft eine Unterteilung der langsameren Funktionsplangruppe FPGb in drei Teile, wobei ein erster Teil einen ersten Funktionsplan FP1, ein zweiter Teil einen zwei¬ ten Funktionsplan FP2 und einen vierten Funktionsplan FP4 enthält, die jeweils auf Werte des ersten Funktionsplans FP1 zurückgreifen. Der dritte Teil enthält einen dritten Funk¬ tionsplan FP3 und einen fünften Funktionsplan FP5, wobei der dritte Funktionsplan FP3 auf Werte des zweiten Funktionplans FP2 und der fünfte Funktionsplan FP5 auf Werte des vierten Funktionsplans FP4 zurückgreift. Nach Einladen der schnellen Funktionplangruppe FPGa und des entsprechenden Teiles der langsamen Funktionsplangruppe FPGb erfolgt jeweils ein Aufruf der Eingabe- und Ausgabetreiber und danach ein Einlesen der für die schnelle Funktionsplangruppe FPGa notwendigen Daten, die Bearbeitung der schnellen Funktionsplangruppe sowie eine Ausgabe der von der schnellen Funktionsplangruppe FPGa erzeugten Werte. Anschließend erfolgt eine Abarbeitung des
jeweiligen Teiles der langsameren Funktionsplangruppe FPGb. Mit Ablauf der Periodendauer von 50 ms ist somit die schnellere Funktionsplangruppe FPGa zehnmal und die langsame¬ re Funktionsplangruppe FPGb entsprechend ihrer Periodendauer genau einmal abgearbeitet worden. Zu Beginn dieser Perioden¬ dauer erfolgt zudem eine Abarbeitung der von der Datenverar¬ beitungs-Einheit empfangenen Daten-Telegramme sowie am Ende der langsameren Periode ein Versenden von Daten-Telegrammen mit den Ergebnissen der Funktionsplangruppe an die nachfol- gende Datenverarbeitungs-Einheit. Die langsamste Funktions¬ plangruppe gibt somit die Anfangszeitpunkte für die Bearbei¬ tung und das Empfangen von Daten-Telegrammen sowie den Sen¬ dezeitpunkt für das Versenden von Daten-Telegrammen an. An¬ hand der FIG 2 und 3 wurde die Aufteilung und Abarbeitung von Rechnerprogrammen in zwei Funktionsplangruppen mit unter¬ schiedlicher Periodendauer beschrieben. Eine Aufteilung und Bearbeitung von Rechnerprogrammen in mehr als zwei Funktions¬ plangruppen erfolgt analog.
Die Erfindung zeichnet sich durch ein responsives Systm zur
Signalverarbeitung aus, bei welchem vor Inbetriebnahme des Systems eine maximale Ausführungszeit zur Erzeugung eines Ausgangssignals-Zustandes aus einem Eingangssignal-Zustand bestimmt und als eine vorgegebene Ausführungszeit festgelegt werden kann. Hierdurch kann schon vor Inbetriebnahme die
Einhaltung von Zeitschranken und Zeitintervallen mit Sicher¬ heit gewährleistet werden, so daß das responsive System nach¬ gewiesen echzeitfähig und fehlertolerant ist. Eine Bestimmung der maximalen Ausführungszeit erfolgt unter Berücksichtigung des modularen Aufbaues von Rechnerprogrammen aus elementaren
Funktionbausteinen sowie der jeweils maximalen Bearbeitungs- zeit jedes Funktionbausteines. Da weiterhin die Vernetzung der das responsive System bildenden Datenverarbeitungs-Ein¬ heiten, auf denen die Rechnerprogramme implementiert sind, bekannt ist und die Datenübertragungs-Einheiten, welche die Datenverarbeitungs-Einheiten miteinander verbinden, stan¬ dardisiert und ebenfalls bekannt sind, ist die Ermittlung der
maximalen Ausführungszeit sichergestellt. Bei einer periodi¬ schen Auswertung eines Eingangssignal-Zustandes kann zudem unter Festlegung der Sendezeitpunkte von Daten-Telegrammen und der Anfangszeitpunkte zur Bearbeitung der Rechnerprogram- me auf den jeweiligen Datenverarbeitungs-Einheiten die Aus¬ lastung des Netzes sowie die maximale Ausführungszeit fest¬ gelegt werden. Dieser Vorgang wird als globales Scheduling bezeichnet. Durch ein lokales Scheduling, d.h. eine Festle¬ gung der Bearbeitung der auf einer Datenverarbeitungs-Einheit implementierten Rechnerprogramme, kann eine weitgehend unterbrechungsfreie (interruptfreie) Bearbeitung erfolgen. Hierdurch wird das responsive System zusätzlich weniger fehleranf llig.