-
Die Erfindung bezieht sich auf ein
Rechnersystem, bei dem über
taktgesteuerte Schaltsignale kontinuierlich ein Wechsel zwischen
mindestens einem Echtzeitprogramm und mindestens einem Nicht-Echtzeitprogramm
oder mindestens einem weiteren Echtzeitprogramm innerhalb eines
vorgegebenen Echtzeittaktes erfolgt, wobei jedes Echtzeitprogramm,
Steuerung und Regelung von Antrieben erlaubt, wobei ein dem Rechnersystem
zugeordnetes Steuerungssystem über
ein dem Rechnersystem zugeordnetes Kommunikationssystem mit einem
vom Steuerungssystem unabhängigen
zyklischen Kommunikationstakt mit den Antrieben verbunden ist, wobei
aus dem Kommunikationstakt der vorgegebene Echtzeittakt generierbar
ist.
-
Bei Echtzeitanwendungen zur Steuerung und
Regelung ist ein zyklischer Datenverkehr zweckmäßig. Die Echtzeitanwendung,
Ein- und Ausgabegeräte,
z.B. Sensoren und Antriebe bilden einen Regelkreis. Typischerweise
arbeitet ein solcher Regelkreis mit einem vorgegebenen konstanten
Takt. Dieser Takt muss für
alle Komponenten des Regelkreises konstant sein. Bei industrieller
Anwendung ist stets eine größere Anzahl
von peripheren Geräten, manchmal
räumlich
weitläufig
mit einem steuernden Rechnersystem verbunden. Der Datenverkehr erfolgt dann
mit einem Kommunikationssystem über
z.B. eine Profibus Anbindung. Das Kommunikationssystem muss die Übertragung
der Daten im Takt sicherstellen.
-
Die Abarbeitung der Steuerungs- und
Regelungsfunktionen erfolgt innerhalb von einem oder mehreren Echtzeitprogrammen,
während
azyklische Aufgaben, wie z.B. die Visualisierung von Prozessdaten,
innerhalb von einem oder mehreren Nicht-Echtzeitprogrammen abgearbeitet
werden.
-
Für
den Gesamtprozess, d.h. auch für
den Wechsel Echtzeit zu Nicht-Echtzeit, sollte das Kommunikationssystem
den Takt vorgeben, da hier die kritische Prozessführung erfolgt.
-
In der europäischen Patentanmeldung
EP 1 067 448 A2 ist
ein Rechnersystem der eingangs genannten Art für Echtzeit- und Nicht-Echtzeitprogramme
beschrieben, bei dem ein PC-System über ein Kommunikationssystem
mit einem vom PC-System unabhängigen
zyklischen Kommunikationstakt mit peripheren Geräten verbunden ist und aus dem
Kommunikationstakt ein fester Zeittakt generierbar ist.
-
Der Erfindung liegt die Aufgabe zugrunde, ein
Rechnersystem, der eingangs genannten Art zu schaffen, das eine
hohe Rechenleistung in Verbindung mit einem zuverlässigen Kommunikationstakt zur
Echtzeitprozesssteuerung sowie eine Überwachung der Echtzeitkommunikation
aufweist.
-
Diese Aufgabe wird für ein Rechnersystem der
eingangs genannten Art dadurch gelöst, dass für das Steuerungssystem mindestens
ein zugeordneter Steuerungsprozessor und dass für das Kommunikationssystem
ein zugeordneter echtzeittakttreibender Kommunikationsprozessor
vorgesehen ist, wobei für den
Kommunikationsprozessor auch azyklische Kommunikationsaufgaben bezüglich des Übertragens
von Parametrier- und Diagnosedaten ausführbar sind.
-
Hierdurch werden der oder die Steuerungsprozessor/Steuerungsprozessoren
entlastet, was die Rechenleistung des Rechnersystems hinsichtlich
der Bearbeitung von Steuerungs- und Regelfunktionen erhöht.
-
Eine erste vorteilhafte Ausbildung
der Erfindung ist dadurch gekennzeichnet, dass der vorgegebene Echtzeittakt
indirekt aus einem Kommunikationstakt generierbar ist, indem dieser zunächst hinsichtlich
seiner Taktzeit egalisiert wird. Damit wird ein äquidistanter Echtzeittakt für das Umschalten
auch dann aufrechterhalten, wenn in der Praxis übliche Kommunikationstaktzeitschwankungen
im Kommunikationssystem auftreten.
-
In diesem Zusammenhang ist eine technisch äußerst einfach
realisierbare Schaltungsanordnung dadurch gekennzeichnet, dass durch
einen ersten Kommunikationstakt ein Zähler mit einer gegenüber dem
Kommunikationstakt relativ hohen Frequenz durch Rücksetzen
gestartet wird, dass um den zu erwartenden Zählerstand beim Eintreffen des
nächsten regulären Kommunikationstaktes
eine untere und eine obere Komparatorschwelle gesetzt sind, dass vor
Erreichen der unteren Komparatorschwelle der Zähler nicht rücksetzbar
ist, dass ab Erreichen der unteren Komparatorschwelle der Zähler durch
einen neu eintreffenden Kommunikationstakt rücksetzbar ist, dass ansonsten
bei Erreichen der oberen Komparatorschwelle ein automatisches Rücksetzen
des Zählers
erfolgt und dass durch die Rücksetzvorgänge der
Echtzeittakt gegeben ist.
-
Das Umschaltsignal lässt sich
aus einer solchen Schaltungsanordnung leicht dadurch erzeugen, dass
bei einem definierbaren Zählerstand
unterhalb der unteren Komparatorschwelle jeweils ein Umschaltsignal
innerhalb des Echtzeittakts vorgebbar ist Das Rechnersystem eignet
sich besonders zur Echtzeitsteuerung von Werkzeugmaschinen, Produktionsmaschinen
insbesondere kunststoffverarbeitende Maschinen oder Roboter, da
hier eine zuverlässige Echtzeitkommunikation
und -verarbeitung von Vorteil ist.
-
Ein Ausführungsbeispiel der Erfindung
ist in der Zeichnung dargestellt und wird im Folgenden
näher erläutert. Dabei
zeigen:
-
1 ein
Blockschaltbild,
-
2 ein
erstes Funktionsdiagramm,
-
3 ein
zweites Funktionsdiagramm und
-
4 ein
Zählschaltungsprinzip
-
In der Darstellung gemäß 1 sind in Form eines Blockschaubildes
der Übersicht
halber nur die für
die Erfindung wesentlichsten Elemente gezeigt. Einem Steuerungssystem
SS, das mit einem Steuerungsprozessor SP ausgestattet ist,
werden Echtzeitprogramme EP und Nicht-Echtzeitprogramme NP zugeleitet.
Die Echtzeitprogramme EP dienen zum Abarbeiten von insbesondere
Aufgaben der Antriebsregelung, während
die Nicht-Echtzeitprogramme NP beispielsweise Visualisierungsaufgaben
erledigen können.
Es sei an dieser Stelle bemerkt, dass in den dargestellten Ausführungsbeispiel
nur ein Steuerungsprozessor vorhanden ist. Prinzipiell sind aber auch
Ausführungsformen
mit mehreren Steuerungsprozessoren denkbar, falls im Hinblick auf
die Erledigung sehr komplexer und umfangreicher Steuerungsaufgaben,
ein einzelner Steuerprozessor keine ausreichende Rechenleistung
besitzt.
-
Der Wechsel zwischen Echtzeitprogramm und
Nicht-Echtzeitprogramm erfolgt zyklisch, wie in 2 dargestellt. Jeweils mit Beginn eines
Echtzeitaktes eines äquidistanten
Echtzeittaktsignals T, wird das Echtzeitprogramm im Steuerungssystem
SS bzw. im Steuerungsprozessor SP aktiviert, was durch Schraffur
eines Signalbalkens im oberen Teil von 2 angedeutet ist. Beispielsweise nach
vierzig Prozent der Taktdauer des Echtzeittaktsignals T wird dann
jeweils in den Nicht-Echtzeitbetrieb gewechselt, was durch ein Umschaltsignal
U ausgelöst
werden kann, wie dieses als zeitverzögertes Signal zum Echtzeittaktsignal
T im unteren Abschnitt von 2 gezeigt
ist. Der jeweils sechzigprozentige Anteil, des Nicht-Echtzeitbetriebs,
in dem der Steuerungsprozessor beispielsweise Visualisierungsaufgaben durchführt, wird
in der Darstellung gemäß 2 durch die freien Balkenabschnitte
angedeutet.
-
Zurück zu 1. Durch eine strichpunktierte Linie
ist die funktionelle Trennung des Steuerungssystems SS zu einem
in dustriellen Kommunikationssystem KS angedeutet, bei dem ein echtzeittakttreibender
Kommunikationsprozessor KP die Kommunikationsteuerung übernimmt,
damit insbesondere den Antrieben A1 bis An im Kommunikationstakt
des Kommunikationssystems KS fortlaufend Steuersignale zuleitbar
sind, sowie Signale von Sensoren und Meßsystemen im Kommunikationstakt
eingelesen werden können.
Dazu besitzt der Kommunikationsprozessor KP einen Taktgeber TG2
zur Erzeugung eins Kommunikationstaktsignals T2.
-
Die Steuerungsaufgaben und der Bustakt, welcher
durch den Kommunikationstakt des Kommunikationstaktsignals T2 vorgegeben
ist, sind für
die erfindungsgemäße Arbeitsweise
des Gesamtsystems prägend
korreliert. Das Echtzeittaktsignal T und das Umschaltsignal U, wie
sie in 2 gezeigt sind, werden
bei der vorliegenden Erfindung nämlich
aus dem Kommunikationstaktsignal T2 des Kommunikationsprozessors
KP generiert. Das Kommunikationstaktsignal T2 wird hierzu einem
Umsetzter U1 zugeführt,
welcher aus dem Kommunikationstaktsignal T2, das Echtzeittaktsignal
T, welches den Echtzeittakt vorgibt und das Umschaltsignal U erzeugt.
Die beiden Signale werden dem Steuerungssystem SS zugeführt und
bewirken über
einige geeignete Interruptsteuerung des Steuerungsprozessors SS
einen Wechsel von einem Nicht-Echtzeitbetrieb in einen Echtzeitbetrieb
oder einen Wechsel vom Echtzeitbetrieb in den Nicht-Echtzeitbetrieb.
-
Das Kommunikationssystem KS kann
aber auch räumlich
getrennt vom Steuerungssystem SS, angeordnet sein. Eine Busanbindung
des Steuerungssystems SS erfolgt dann über eine niederhierarchische
Busanschaltbaugruppe, in der aber selbstverständlich das Kommunikationstaktsignal
T2 aus einem vom Kommunikationsprozessor KP vorgegebenen getakteten
Bussignal heraus detektierbar bzw. generierbar ist. Insbesondere
bei komplexen weitläufigen
Systemen muss mit signifikanten Schwankungen und eventuell sogar
Unterbrechungen des Bussignals gerechnet werden, was zu einem gestörten Kommunikationstaktsignal
T2 führt.
In der Darstellung gemäß 3 oben ist ein derartig
, gestörtes Kommunikationstaktsignal
T2 gezeigt. Damit das Steuerungssystem SS bzw. der Steuerungsprozessor
SP diese Schwankungen jedoch nicht ausgesetzt wird, erfolgt eine
Signalaufbereitung, deren Prinzip in der Schaltung gemäß 4 gezeigt ist. So kann der Kommunikationstakt
des Kommunikationstaktsignals T2 beispielsweise durch einen Umsetzer
U2 aus dem Bussignal gewonnen werden und gelangt dann über eine
im Ruhezustand geschlossene Schaltstufe SST an einen Zähler Z,
der in einem gegenüber
dem Echtzeittäktsignal
T hochfrequenten Taktsignal T3 eines Taktgebers TG3 hochgezählt wird.
Durch den ersten Kommunikationstakt des Kommunikationstaktsignal T2
wird der Zähler
Z rückgesetzt
und gestartet. Liegt an seinem Ausgang ein Zählerstand an der größer Null,
aber kleiner als eine untere Komparatorschwelle K1 ist (gestrichelt
in 3 Mitte gezeigt),
wird die Schaltstufe SST gesperrt. Ab Erreichen der unteren Komparatorschwelle
K1 wird jedoch die Schaltstufe SST wieder durchgängig.
-
Wenn nun wieder ein Kommunikationstakt des
Kommunikationstaktsignals T2 eintrifft, setzt er den Zähler zurück. Wenn
jedoch dies nicht in Bälde erfolgt,
erreicht der Zähler
Z eine obere Komparatorschwelle K2 (in 3 Mitte ebenfalls gestrichelt angedeutet),
bei der in jeden Fall ein Rücksetzen
des Zählers
Z2 geschieht. Die obere und die untere Komparatorschwellen K2 und
K1 sind um den Zählerstand
für zeitgerecht
eintreffende Kommunikationstakte herum angeordnet. Immer wenn ein
Rücksetzen
des Zählers
Z erfolgt, wird ein Echtzeittakt eines Echtzeittaktsignals T ausgelöst.
-
Um auch einfach die Umschaltsignale
U zu generieren, wird ein entsprechender Zählerstand für die Komparatorumschaltschwelle
KU festgelegt, wie dies ebenfalls in 3 Mitte
gezeigt ist.
-
Alle Zählerschwellen können mit
Konfigurationswerten gesetzt werden und unverändert belassen werden, es ist
aber prinzipiell auch möglich,
Adaptionen vorzunehmen.
-
Im Ausführungsbeispiel gemäß 3 erfolgen übrigens
der erste (Start) und der zweite Kommunikationstakt des Kommunikationstaktsignals
T2 so, dass dieses über
Rücksetzen
des Zählers
Z entsprechende Echtzeittakte erzeugen, während der dritte Kommunikationstakt
des Kommunikationstaktsignals T2 so verspätet eintrifft, dass durch zuvoriges Erreichen
der oberen Komparatorschwelle K2 der dritte Echtzeittakt des Echtzeittaktsignals
T erzeugt wird. Gleiches gilt für
den vierten Takt. Der fünfte Kommunikationstakt
des Kommunikationstaktsignals T2 möge wieder regulär den fünften Echtzeittakt
des Echtzeittaktsignals T auslösen.
-
Der Austausch der eigentlichen Prozessdaten
(z.B. Steuerbefehle) vom Kommunikationsprozessor KP zum Steuerungsprozessor
SP erfolgt in dem Ausführungsbeispiel über ein
Dual Port Ram. Der Kommunikationsprozessor KP überwacht den Echtzeitdatenverkehr
(z.B. Messsignale, Stellsignale) und stellt dem Steuerungsprozessor
SP Informationen bezüglich
des Echtzeitdatenverkehrs bereit. Bei Störungen des Echtzeitdatenverkehrs,
z.B. in Form von ausgefallenen Sensoren oder Antriebe, initiiert
der Steuerungsprozessor SP geeignete Maßnahmen, wie z.B. eine Abschaltung
des Produktionsprozesses. Somit ist eine sehr sichere Prozessführung gewährleistet.
-
Der Kommunikationsprozessor KP kann
zusätzlich
auch azyklische Kommunikationsaufgaben wie z.B. das Übertragen
von Parametrier- und Diagnosedaten ausführen. Hierdurch kann der Steuerungsprozessor
SP entlastet werden, was die Rechenleistung des Rechnersystems hinsichtlich
der Bearbeitung von Steuerungs- und Regelfunktionen erhöht.
-
Das Echtzeitverhalten des Rechnersystems kommt
wesentlich durch das Zusammenwirken des Prozessorsystems aus Kommunikationsprozessor KP
und Steuerungsprozessor SP zustande, wobei der Kommunikationsprozessor
KP den Echtzeittakt für
den Steuerungsprozessor SP entweder direkt über kurze Datenleitungen, falls
der Kommunikationsprozessor KP sich in der Nähe des Steuerungsprozessor
SP befindet, vorgibt, oder der Echtzeittakt wird aus einem Bussignal
generiert, falls der Steuerungsprozessor SP sich örtlich entfernt
vom Kommunikationsprozessor KP befindet.
-
Sollen sehr komplexe bzw. zahlreiche
Steuerungs- und Regelfunktion bearbeitet werden, so ist es unter
Umständen
aus Gründen
der Prozessorauslastung notwendig, diese auf mehrerer Steuerungsprozessoren
SP zu verteilen, wobei jeder Steuerprozessor neben Echtzeitprogrammen
auch Nicht-Echtzeitprogramme abarbeiten kann. Die Echtzeitverarbeitung
der einzelnen Steuerprozessoren kann hier ebenfalls über ein
vom Kommunikationsprozessor KP vorgegebenes Bussignal synchronisiert
bzw. getaktet werden. Die Überwachungsfunktion
des Echtzeitdatenverkehrs vom Kommunikationsprozessor KP wirk sich
hier besonders positiv aus, da leicht der Ausfalls z.B. eines Steuerungsprozessors
den andern Steuerprozessoren gemeldet werden kann und infolge geeignete
Reaktionen eingeleitet werden können.
Somit kann ein echtzeitfähiges
Rechnersystem mit hoher Rechenleistung realisiert werden Weiterhin ist
es denkbar, dass der Echtzeittakt auch dazu benutzt wird, zwischen
verschiedenen Echtzeitprogrammen zu wechseln.