DE19906695A1 - Verfahren zur automatischen Dezentralisierung von Programmen in Steuerungseinrichtungen und zur Verteilung von Intelligenz - Google Patents
Verfahren zur automatischen Dezentralisierung von Programmen in Steuerungseinrichtungen und zur Verteilung von IntelligenzInfo
- Publication number
- DE19906695A1 DE19906695A1 DE1999106695 DE19906695A DE19906695A1 DE 19906695 A1 DE19906695 A1 DE 19906695A1 DE 1999106695 DE1999106695 DE 1999106695 DE 19906695 A DE19906695 A DE 19906695A DE 19906695 A1 DE19906695 A1 DE 19906695A1
- Authority
- DE
- Germany
- Prior art keywords
- program
- units
- computer system
- decentralized
- programs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13068—Program divided in operation blocks, groups, tasks each executed
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13166—Program intelligent I-O separate from main plc
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/21—Pc I-O input output
- G05B2219/21021—Intelligent I-O, executes tasks independently from main cpu
Abstract
Es wird ein Verfahren beschrieben, wie man herkömmliche Programme für Speicher-programmierbare Steuerungen oder Mikrorechner automatisch aufteilt und auf dezentrale Einheiten verteilt. Die so erzeugten Programme sind in der Funmktion identisch zum Ausgangsprogramm; sie laufen jedoch in kurzer Zeit ab und beinhalten die Möglichkeit, über autarke Module redundante Funktionen zu erzeugen. Darüber hinaus gibt das Verfahren direkt durch die Programmverteilung konkrete Hinweise, wie eine Optimierung des gesamten Steuerungsverbunds erreicht werden kann.
Description
Speicherprogrammierbare Steuerungen oder Mikrocomputer werden heute überall
dort eingesetzt, wo man Prozesse oder Maschinen mittels Computer oder ähnlichen
Verarbeitungssystemen in ihrer Funktion flexibel programmieren möchte.
Obwohl sich die Strukturen derartiger Steuerungseinrichtungen in den letzten 20
Jahren deutlich verändert haben, sind die Verarbeitungsalgorithmen nahezu gleich
geblieben.
Moderne Steuerungseinrichtungen zeichnen sich durch schnelle Zentraleinheiten,
dezentrale Bussystem, und große Speichermedien aus. Mittlerweile ist man jedoch
an physikalische Grenzen gestoßen, da noch schnellere Zentraleinheiten extreme
Kosten mit sich bringen und im Zusammenspiel mit Speicher, internen Bussen und
anderen digitalen Komponenten leicht störanfällig werden. Zusätzlich ist man beim
Datentransport über Lokale Netze bereits jetzt bei der Transportgeschwindigkeit des
Lichtes angekommen, so daß lange Wegstrecken mit kurzer Transportzeit
technologisch kollidieren (vergl.: Wolf-Dieter Haaß: Handbuch der
Kommunikationsnetze, Springer 1997, ISBN 3-540-61831-6).
Dem gegenüber gilt es, alle Prozesse in der Industrie schneller zu machen und
vielfach auch redundant zu überwachen. Die gestiegene Funktionalität mit dem
Bedürfnis der erhöhten Kommunikation und Diagnose hat zusätzlich dazu geführt,
daß Programme immer länger werden und damit zur Bearbeitung eine höhere
Bearbeitungszeit gehört.
Bereits vor einem Jahrzehnt hat man sich daher intensiv damit beschäftigt, wie man
Programme parallelisieren kann und damit in einem vernetzten System nur noch die
absolut notwendigen Daten austauscht. Diese Dezentralisierung von Programmen
sollte der erste Schritt verteilter Intelligenz sein, so daß die notwendigen Programme
genau dort ablaufen, wo sie ihre Funktion erfüllen. Die Kommunikation und der
Datenaustausch beschränkt sich dann nur noch auf globale Größen, die
übergeordnet gebraucht werden.
Das Verteilen von Intelligenz ist vielfach nicht daran gescheitert, daß man die
Hardwarestrukturen nicht zur Verfügung stellen konnte. Vielmehr ist es nicht
gelungen, ein bestehendes Programm aufzuteilen, wenn man es nicht bereits
während des Entwurfs als "Programm verteilter Intelligenz" schreibt.
Die seit vielen Jahren bekannten Programmiersprachen (Speicherprogrammierbare
Steuerungen: Anweisungsliste, Kontaktplan, Funktionsbausteinsprache, usw.,
Mikrorechner: Assembler, Pascal, Basic, C++, usw.) lassen kaum eine Verteilung von
Intelligenz zu. Selbst die neuen Techniken, die in der IEC 1131-3 beschrieben sind,
machen keine genauen Angaben zur Dezentralisierung von Programmteilen (vergl.:
Bernhard Plagemann: Methoden der Programmierung von SPS, Vogel-Verlag 1990,
ISBN3-8023-0272-9) Darüber hinaus existieren bereits zahlreiche Programme in
Automatisierungseinrichtungen, die seit Jahren optimal funktionieren, aber kaum
dezentralisierbar sind (vergl.: Neumann, Grötsch, Libkoll, Simon: SPS-Standard IEC
1131, Oldenburg 1995, ISBN 3-486-23348-3 und Peter Wratil: Moderne
Programmiertechnik für Automatisierungssysteme, Vogel-Verlag 1996, ISBN 3-8023-1575-8
und Karl-Heinz John, Micheal Tiegelkamp: SPS-Programmierung mit IEC
1131-3, Springer 1995, ISBN 3-540-58635-0 und DIN-Verlag: DIN IEC 1131 Teil 3).
Die Aufgabe der vorgestellten Erfindung besteht daher darin, aus beliebigen
Programmen (Ausgangsprogramm), dezentralisierbare Software-Module zu
erzeugen, die in intelligente Einheiten geladen werden und dann mit extrem kurzer
Verarbeitungszeit parallel ablaufen. Hierbei bleibt die Funktion des
Ausgangsprogramms gleich. Lediglich die Verarbeitungszeit und der Aufwand für
den Datentransport wird erheblich reduziert.
Fig. 1 zeigt den typischen Aufbau eines heute üblichen Automatisierungssystems.
Die Speicherprogrammierbare Steuerung (1) steuert über das Lokale Netzwerk
(Bussystem, 2) die dezentralen Einheiten (3, 4, 5, 6, 7) an. Dabei werden die
Eingangsgrößen des Prozesses oder der Maschine von der dezentralen Einheit (7)
und den möglichen kombinierten Einheiten (3, 4) über das Bussystem (2) in die
Steuerung (1) geholt. Danach verarbeitet die Steuerung (1) diese Eingangsgrößen
mittels des Programms (8) und berechnet die Werte für die Ausgangsgrößen. Über
das Bussystem (2) transportiert sie dann diese Ausgabewerte an die
Ausgabeeinheiten (5, 6) oder an die kombinierten Einheiten (3, 4). Sobald die
Ausgaben ihre Information (analoge oder digitale Werte) an die Peripherie (Prozeß
oder Maschine) weitergegeben haben, beginnt der Vorgang erneut, so daß
eventuelle Änderungen der Eingangsgrößen den gesamten Ablauf dynamisieren.
Der gesamte Programmablauf (8) besteht dabei im Detail aus 3 Schritten. Zuerst
erfolgt ein Datentransport aller Eingangsgrößen der dezentralen Einheiten über das
Bussystem (2) und die Werte werden in dem Speicher der SPS abgelegt. Dieser
erste Vorgang erfordert bereits eine nicht zu vernachlässigende Zeit, die durch den
Datentransport und die Ablage im Speicher zustande kommt. Im rechten Teil von Fig.
1 ist dieser Vorgang mit dem Verarbeitungsblock der Informationsaufnahme der
Eingänge (9) bezeichnet.
Sobald die Werte dieser Eingänge im Speicher der SPS liegen beginnt die
Verarbeitung des Programms (10), das der Programmierer zur Erreichung der
Funktion in die Steuerung geladen hat.
Nach Berechnung aller Ausgänge und weiterer Funktionen überträgt die SPS alle
Ausgabedaten zu den dezentralen Ausgängen. Dieser Vorgang ist im rechten Teil
von Fig. 1 mit (11) bezeichnet. Auch für diesen Vorgang braucht das System eine
Ablaufzeit, die von der Datenmenge und von der Datentransportgeschwindigkeit
abhängt.
Bei modernen Steuerungen kann der Datentransport von den Eingängen und zu den
Ausgängen auch unsynchronisiert zum Programmablauf (10) erfolgen. Der
Programmablauf (10) stellt in der Regel den längsten Zeitaufwand dar, wenn man
komplexe Funktionen berechnen muß. Kalkuliert man die Einzelzeiten für die
Datentransfer- und Berechnungsprogramme, so ergibt sich folgende Aussage:
(2.(Tein + Tprog + Taus)) < T < (Tein + Tprog + Taus)
Dabei ist:
Tein Zeit für das Einlesen der Eingänge incl. Datentransport und Ablage im Speicher
Tprog: Zeit für die Bearbeitung des Programm in der SPS
Tein: Zeit für das Auslesen der Ausgänge incl. Datentransport und Ablage in den dezentralen Einheiten
T: Gesamte Zykluszeit incl. Test- und sonstiger interner Funktionen (vergl.: Peter Wratil: Speicherprogrammierbare Steuerung in der Automatisierungstechnik, Vogel-Verlag 1989, ISBN 3-8023-0235-4).
Tein Zeit für das Einlesen der Eingänge incl. Datentransport und Ablage im Speicher
Tprog: Zeit für die Bearbeitung des Programm in der SPS
Tein: Zeit für das Auslesen der Ausgänge incl. Datentransport und Ablage in den dezentralen Einheiten
T: Gesamte Zykluszeit incl. Test- und sonstiger interner Funktionen (vergl.: Peter Wratil: Speicherprogrammierbare Steuerung in der Automatisierungstechnik, Vogel-Verlag 1989, ISBN 3-8023-0235-4).
Im schlimmsten Fall vergeht etwa die zweifache gesamte Zykluszeit als
Reaktionszeit, bis die Änderung einer Eingangsgröße zur gewünschten Veränderung
eines Ausgangs führt.
Damit man ein Programm auf dezentrale Module verteilen kann, muß man diese
dazu befähigen, selbst Programme abarbeiten zu können. In der Regel enthalten
dezentrale Einheiten bereits heute alle notwendigen Komponenten, da sie zum
Datentransport und zur Zwischenspeicherung über einen Mikroprozessor, einen
Speicher und eine Bus-Interface verfügen. Normalerweise ist die Verarbeitung von
Programmen jedoch nicht vorgesehen, da (wie vorher bereits beschrieben) ein
Algorithmus zur optimalen Aufteilung fehlt. Der Programmablauf einer Eingabeeinheit
beschränkt sich daher heute nur auf die simple Datenablage der Eingangsgrößen
und dem Datentransport über das Bussystem zur SPS. Manchmal enthält das interne
Programm dieser dezentralen Einheiten auch noch Kontrolleinrichtungen oder
Sicherheitsfunktionen, die entweder direkt im Programm vorgesehen oder später
ladbar sind.
Einen typischen Aufbau, wie man ein Automatisierungssystem (Fig. 1) in ein flexibles
System mit dezentraler Intelligenz und mit verteilten Programmen überführt ist in Fig.
2 dargestellt.
Da das Programm in einer noch zu beschreibenden Technik auf die dezentralen
Module verteilt werden, entfällt die SPS. Es existieren nur noch dezentrale Einheiten
(2, 3, 4, 5, 6), die sich über das Bussystem (1) unterhalten. Im Gegensatz zu den
normalen dezentralen Einheiten, sind diese Einheiten jedoch in der Lage,
Programmteile des sonst in der SPS befindlichen Gesamtprogramms aufzunehmen.
Da das gesamte Programm (der nun nicht mehr vorhandenen SPS) auf viele Module
verteilt wird, kann deren Speicher auch erheblich kleiner ausfallen.
Die Einzelprogramme werden nun derart verteilt, daß sich die Programmteile danach
orientieren, wo ihre Ausgänge physikalisch vorliegen. Damit enthält das erste Modul
(2) genau das Programm, das die Berechnung der Ausgänge desgleichen Moduls
bewirkt. Für alle anderen Module gilt das ebenfalls. Damit braucht ein
Eingangsmodul (6) nicht intelligent zu sein, da es selbst nicht über Ausgänge verfügt.
Nach (einer noch zu beschreibenden Anweisung) erhalten nun alle Module ihr
spezielles Programm (9, 10, 11, 12), das je nach Komplexität länger oder kürzer zu
seiner Ausführung braucht. Die notwendigen Eingangsgrößen zur Berechnung der
Einzelprogramme (9, 10, 11, 12) werden vor der Verarbeitung in jedes Modul
eingelesen. Hierzu dient das Bussystem (1). Die Datentransportzeit reduziert sich
jedoch ganz beträchtlich, da nur diejenigen Eingangsgrößen übertragen werden, die
in dem speziellen Modul nicht schon lokal vorliegen. Diese nicht lokalen
Eingangsgrößen werden auch globale Eingabegrößen genannt. Weiterhin braucht
man keine Übertragung der Ausgangsgrößen, da diese immer lokal vorliegen und
direkt vom Modul aus an die Peripherie gelangen.
Da die Programme in den einzelnen Modulen erheblich kürzer sind als das
Gesamtprogramm (Fig. 1, 8) ist auch hier die Ablaufzeit deutlich reduziert. Das
System wird damit schneller und kostengünstiger, da man keine SPS mehr braucht.
Die automatische Verteilung des Gesamtprogramm erfolgt in mehreren Schritten:
- 1. In der Zuordnungsliste befindet sich eine tabellarische Darstellung, welcher Name oder welche Bezeichnung mit einem Ausgang verknüpft ist und wo sich dieser Ausgang physisch befindet. Als erster Schritt wird nun diese Zuordnungsliste nach den physischen Ausgängen sortiert und den entsprechenden Modulen, welche über die Ausgänge verfügen, zugeordnet.
- 2. Alle Programmteile, die sich auf die Ausgänge eines Moduls beziehen, werden separiert und als Modulprogramm erstellt. Dabei enthalten diese Programmteile (Modulprogramm) in der Regel logische oder arithmetische Verknüpfungen, die selbst wieder Eingänge oder Ausgänge beinhalten können. Alle nicht im Modul vorliegenden Ein- oder Ausgangsgrößen werden danach in eine globale Übertragungsliste eingetragen. Die Ausgangsgrößen werden daraufhin soweit heruntergebrochen, daß nur noch Eingänge als globale Größen übrigbleiben. Man kann dann auf die Übertragung von Ausgangsgrößen verzichten und diese wieder aus der Übertragungsliste streichen.
- 3. Die Programmiereinheit speichert zu Beginn der Verarbeitung alle Modulprogramme in die dafür vorgesehen Module. Diese Programmübertragung ist jedoch nicht nur von einem Programmiergerät möglich, sondern kann auch von einem der dezentralen Module aus geschehen. Diese Option erlaubt es auch, während des Ablaufs des Programms Module neu zu programmieren oder Programme zu verändern.
- 4. Die Übertragungsliste wird allen Modulen mitgeteilt und stellt diejenigen Größen dar, die zu Beginn jedes Zyklus zu transportieren sind.
- 5. Eines der Module übernimmt die Datentransportfunktion und synchronisiert den gesamten Ablauf. Hierbei stellt jedes Modul in sequentieller Folge seine Eingangsgrößen für den Bustransport zur Verfügung, die global gebraucht werden.
- 6. Nach dem Ende der Übertragung erfolgt die Programmverarbeitung und die Ausgaben aller Module werden durch die Buszyklen synchronisiert.
Fig. 3 stellt eine mögliche Ausprägung der notwendigen Module und ein Verfahren
zum Datentransport dar. Das Bussystem (1) übermittelt alle globalen
Eingangsgrößen und synchronisiert den Ablauf innerhalb jedes Moduls (2, 3, 4). Ein
Modul besteht aus einem Mikroprozessor mit Speicher und Kontrolle, so daß eine
Programmbearbeitung möglich wird (5). Dieser erhält sein spezielles
Modulprogramm vor dem Ablauf über das Bussystem (1). Hierzu wird auch das
Businterface (6) verwendet, das während des Programmablaufs auch die
Eingangsgrößen anderer Module entgegennimmt oder seine Eingangsgrößen (sofern
man diese global braucht) zur Verfügung stellt:
Die Ein- /Ausgabe-Logik (7) bildet die Anpassung zur Peripherie und ist letztlich für
die Handhabung des Prozesses verantwortlich.
Im unteren Teil von Fig. 3 ist ein mögliches Bustransportverfahren dargestellt, das
sich besonders gut für einen schnellen Datenaustausch aller globalen
Eingangsgrößen eignet. Nach einem Startsignal legt jedes Modul seine gewünschten
globalen Eingangsdaten sequentiell auf den Bus, so daß eine Kette von
Eingangsdaten entsteht. Nachdem das letzte Modul seine Daten zur Verfügung
gestellt hat, beschließt eine Ende-Kennung den Datentransport und die Module
können mit der Verarbeitung ihres internen Modulprogramms beginnen.
Ein derartiges Bussystem ist bereits unter dem Namen "Interbus-S" bekannt (vergl.:
Alfredo Baginski, Martin Müller: Interbus-S. Hüthig 1994, ISBN 3-7785-2293-0). Es ist
nicht Gegenstand dieses Verfahrens. Insbesondere funktioniert diese Technik auch
mit anderen Bussystemen oder anderen Topologien, wenngleich die Reaktionszeit
etwas erhöht wird.
Es ist bei diesem Verfahren schnell ersichtlich, daß man eine Optimierung erreicht,
wenn man alle notwendigen Eingänge genau dort findet, wo auch die Ausgänge
liegen. Der Programmverteilungsprozeß, der aus dem Gesamtprogramm einzelne
Module erstellt und die globale Übertragungsliste verwaltet, kann daher sofort auch
Hinweise zur Optimierung geben, so daß es dem Anwender überlassen bleibt, selbst
physisch festgelegte Ein- oder Ausgänge in den Modulen zu verschieben. Alleine
durch die Mehrfachanwendung innerhalb der Zuordnung der Zuordnungsliste kann
eine Simulation geschehen, die ein Minimum der Zykluszeit garantiert.
Diese automatische Verteilung eines Gesamtprogramms bringt aber auch noch
weitere Vorteile mit sich:
- - Es besteht die Möglichkeit, Module zu verdoppeln und identische Programmteile in parallele Module zu laden. Damit kann man Module gegenseitig überwachen und Fehler unterdrücken. Durch Hinzufügen einer übergeordneten Überwachungseinheit entsteht so ein Sicherheitssystem, das für Sicherheitsfunktionen eingesetzt werden kann (vergl.: Patentanmeldung: Peter Wratil: Akt. Nr.: 198 57 683.8).
- - Weiterhin kann man Programmteile einzelner Module auf zwei oder mehrere Module aufteilen, so daß eine Beschleunigung der Verarbeitung ermöglicht wird.
- - Darüber hinaus besteht die Möglichkeit, zwei Module identischer Ein- und Ausgabe mit identischen Modulprogrammen parallel laufen zu lassen, so daß eine Redundanz entsteht. Im Falle eines Ausfalls übernimmt die noch intakte Einheit den weiteren Ablauf, ohne daß eine Unterbrechung entsteht.
Das vorgestellte Verfahren eignet sich ganz besonders für die Zusammenschaltung
unterschiedlicher Anbieter. Die Module können Einheiten dezentraler Komponenten
speicherprogrammierbarer Steuerungen, Ventile, Antriebe, Displays, Tastaturen,
Bedieneinheiten, Personal Computer oder andere Verarbeitungseinheiten sein. Mit
diesem Verfahren erhält man eine weitgehende Herstellerunabhängigkeit, die eine
optimale Anpassung an den Prozeß erlaubt.
Claims (17)
1. Verfahren zur automatischen Dezentralisierung von Programmen in
Steuerungseinrichtungen und zur Verteilung von Intelligenz, dadurch
gekennzeichnet, daß man ein bestehendes Rechnersystem mit dezentralen
Einheiten (Fig. 1: 3, 4, 5, 6, 7) durch ein dezentral organisiertes Rechnersystem
(Fig. 2) ersetzt und das entsprechende Ablaufprogramm (Fig. 1: 8), das die
Funktion des Rechnersystem für die Steuerung oder Regelung der Maschine oder
Anlage in parallele Strukturen (Fig. 2: 2, 3, 4, 5, 6) übersetzt, so daß das
ursprüngliche Ablaufprogramm (Fig. 1: 8) in die dezentralen Einheiten aufgeteilt
wird, so daß die Funktion für die zu steuernde oder zu regelnde Maschine oder
Anlage identisch bleibt, aber ohne übergeordnete Steuerung (Fig. 1: 1) auskommt
und damit die Funktion in einer kürzeren Zeit verarbeitet und damit auch
preisgünstiger wird, dadurch gekennzeichnet, daß man anhand der
physikalischen Zuordnung der Ausgänge innerhalb der dezentralen Einheiten die
Programmteile (Fig. 2: 9, 10, 11, 12) nach ihren logischen und arithmetischen
Verknüpfungen sortiert und den notwendigen Datentransport (Fig. 2: 8) zu den
benachbarten Einheiten auf die notwendigen (globalen) Größen der Eingänge
reduziert und so eine Übertragungsliste zur Kommunikation und parallele
Programmteile (Fig. 2: 9, 10, 11, 12) erhält, die vor der Bearbeitung in die
entsprechenden Einheiten (Fig. 2: 2, 3, 4, 5, 6) geladen werden und während der
Programmverarbeitung über ein Netzwerk (Fig. 2: 1) nur noch globale Daten
austauschen, so daß in Abhängigkeit des Buszyklus eine parallele und synchrone
Verarbeitung aller Einheiten als Ersatz des ursprünglichen Ablaufprogramms
entsteht.
2. Verfahren nach dem Anspruch 1, dadurch gekennzeichnet, daß die Übersetzung
von einem Ausgangsprogramm, daß nicht für parallele Strukturen oder für
verteilte Intelligenz geschrieben wurde, unabhängig von der verwendeten
Sprache erfolgt.
3. Verfahren nach den Ansprüchen 1 bis 2, dadurch gekennzeichnet, daß sich die
Übersetzung sowohl für Sprachen Speicherprogrammierbarer Steuerungen
(Anweisungsliste, Kontaktplan, Ablaufsprache, Strukturierter Text, Logik oder
graphischen Sprachen sowie der IEC 1131-3 genormten Sprachen) als auch für
die Sprachen der Mikrorechner (Assembler, Pascal, Basic, Visual-Basic, C++,
usw.) geeignet ist.
4. Verfahren nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß der
übliche Programmzyklus (Fig. 1: 9, 10, 11) ohne den Datentransport zu den
Ausgängen (Fig. 1: 11) auskommen kann und der Hauptprogrammteil (Fig. 1: 10)
durch die Verteilung insgesamt in kürzerer Zeit bearbeitet werden kann.
5. Verfahren nach den Ansprüchen 1 bis 4, dadurch gekennzeichnet, daß die
dezentralen Einheiten zur Erfüllung der Funktion innerhalb der verteilten
Intelligenz von unterschiedlichen Herstellern stammen können und für
unterschiedliche Funktionen vorgesehen sein können (Steuerungen, Ventilinseln,
Antriebe, Bedien- und Visualisierungseinheiten, PCs, usw.)
6. Verfahren nach den Ansprüchen 1 bis 5, dadurch gekennzeichnet, daß man ein
lokales Netz (Fig. 3: 8) verwenden kann, das alle globalen Eingangsdaten als
kontinuierliche Sequenz transportiert, so daß alle dezentralen Einheiten als
Leseinformation über den Zustand der notwendigen Größen der Eingänge
informiert werden.
7. Verfahren nach den Ansprüchen 1 bis 6, dadurch gekennzeichnet, daß das
vorgestellte Verfahren bei beliebigen Netzwerken funktioniert, so daß man eine
Anpassung an bestehende Strukturen erreicht.
8. Verfahren nach den Ansprüchen 1 bis 7, dadurch gekennzeichnet, daß sich eine
dezentrale Einheit als Bus-Master herausstellt, die den Datentransport während
der Verarbeitung übernimmt.
9. Verfahren nach den Ansprüchen 1 bis 8, dadurch gekennzeichnet, daß jede
beliebige Einheit die Bus-Master-Funktion übernehmen kann, so daß ein Ausfall
einer Master-Funktion nicht einen Gesamtausfall des Systems zur Folge hat.
10. Verfahren nach den Ansprüchen 1 bis 9, dadurch gekennzeichnet, daß man
neben den globalen Eingangsgrößen auch noch weitere Informationen
übertragen kann, so daß während des Ablaufs auch mögliche Ausgangsgrößen,
Diagnosefunktionen oder Berechnungsergebnisse global abgefragt werden
können.
11. Verfahren nach den Ansprüchen 1 bis 10, dadurch gekennzeichnet, daß durch
den Vorgang der automatischen Parallelisierung auch Vorschläge zur
Optimierung entstehen, so daß ein manueller Eingriff bei der Programmverteilung
eine bessere Anpassung oder einen zusätzlichen Zeitvorteil ermöglicht.
12. Verfahren nach den Ansprüchen 1 bis 11, dadurch gekennzeichnet, daß man die
Parallelisierung und die Verteilung von Programmen auch dazu nutzen kann
redundante Strukturen zu erzeugen, die entweder zur Erhöhung der Verfügbarkeit
oder zur Verbesserung der Sicherheit im System beitragen.
13. Verfahren nach den Ansprüchen 1 bis 12, dadurch gekennzeichnet, daß man
durch parallele Strukturen im Zusammenspiel mit einer Überwachungseinheit ein
System entsteht, das fehlertolerant arbeitet.
14. Verfahren nach den Ansprüchen 1 bis 13, dadurch gekennzeichnet, daß nicht alle
dezentralen Einheiten eigene Programme übernehmen müssen, so daß auch ein
Zusammenspiel zwischen intelligenten und unintelligenten Einheiten möglich ist.
15. Verfahren nach den Ansprüchen 1 bis 14, dadurch gekennzeichnet, daß die
Verteilung des ursprünglichen Ablaufprogramms sowohl von einer der
dezentralen Einheiten als auch von dem Programmiergerät oder einem Personal
Computer erfolgen kann.
16. Verfahren nach den Ansprüchen 1 bis 15, dadurch gekennzeichnet, daß die
dezentralen Einheiten zur Verarbeitung der beschriebenen verteilten Programme
selbst aus einem Mikroprozessor, Speicher und einer Kontrolle bestehen (Fig. 3: 5),
ein Businterface (Fig. 3: 6) beinhalten, das den gesamten Datentransport und
die Programm-Lade-Funktion übernimmt und einen Ein-/Ausgabe-Logik (Fig. 3: 7)
(die jedoch je nach Funktion nicht unbedingt notwendig ist, wenn keine oder eine
anders geartete Kommunikation mit der Peripherie erfüllt wird) haben, das den
peripheren Prozeß bedient.
17. Verfahren nach den Ansprüchen 1 bis 16, dadurch gekennzeichnet, daß die
dezentralen intelligenten Einheiten auch neben den im Anspruch 16 beschrieben
Grundfunktionen weitere Bausteine beinhalten können, die eine Erweiterung der
Funktionalität für die entsprechende Anwendung bringen.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1999106695 DE19906695A1 (de) | 1999-02-18 | 1999-02-18 | Verfahren zur automatischen Dezentralisierung von Programmen in Steuerungseinrichtungen und zur Verteilung von Intelligenz |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1999106695 DE19906695A1 (de) | 1999-02-18 | 1999-02-18 | Verfahren zur automatischen Dezentralisierung von Programmen in Steuerungseinrichtungen und zur Verteilung von Intelligenz |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19906695A1 true DE19906695A1 (de) | 2000-08-31 |
Family
ID=7897839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1999106695 Ceased DE19906695A1 (de) | 1999-02-18 | 1999-02-18 | Verfahren zur automatischen Dezentralisierung von Programmen in Steuerungseinrichtungen und zur Verteilung von Intelligenz |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE19906695A1 (de) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10227241A1 (de) * | 2002-06-19 | 2004-01-15 | Koenig & Bauer Ag | Steuerung für Rotationsdruckmaschinen |
DE10326542A1 (de) * | 2003-06-12 | 2005-01-05 | Siemens Ag | Betriebsverfahren und Steuerungsprogramm für eine Zentraleinheit eines Automatisierungssystems sowie Zentraleinheit eines Automatisierungssystems und Automatisierungssystem selbst |
EP1513035A2 (de) | 2003-09-02 | 2005-03-09 | Siemens Aktiengesellschaft | Echtzeitsteuerverfahren für eine Steuerungseinrichtung eines industriellen technischen Prozesses und Echtzeitbetriebsverfahren für eine Recheneinrichtung |
US7139622B2 (en) | 2001-02-20 | 2006-11-21 | Pilz Gmbh & Co. | Method and device for programming a failsafe control system |
DE102007015205A1 (de) * | 2007-03-27 | 2008-10-09 | Abb Ag | Automatisierungssystem mit lokaler Verarbeitung |
DE102007015203A1 (de) * | 2007-03-27 | 2008-10-23 | Abb Ag | Drahtloses Automatisierungssystem mit lokaler Verarbeitung |
WO2010121798A1 (de) * | 2009-04-20 | 2010-10-28 | Pilz Gmbh & Co. Kg | System und verfahren zum verteilen von projektdaten einer sicherheitssteuerung einer automatisierten anlage auf die steuerungskomponenten |
WO2010121797A1 (de) * | 2009-04-20 | 2010-10-28 | Pilz Gmbh & Co. Kg | Sicherheitssteuerung zum steuern einer automatisierten anlage und verfahren zum erstellen eines anwenderprogramms für eine sicherheitssteuerung |
DE102010038484A1 (de) | 2010-07-27 | 2012-02-02 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Verfahren und Vorrichtung zum Steuern einer Anlage |
WO2014029609A1 (de) * | 2012-08-21 | 2014-02-27 | Siemens Aktiengesellschaft | Automatisierungssystem mit dezentralisierten steuerungsfunktionalitäten in e-/a-baugruppen |
-
1999
- 1999-02-18 DE DE1999106695 patent/DE19906695A1/de not_active Ceased
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7139622B2 (en) | 2001-02-20 | 2006-11-21 | Pilz Gmbh & Co. | Method and device for programming a failsafe control system |
DE10227241A1 (de) * | 2002-06-19 | 2004-01-15 | Koenig & Bauer Ag | Steuerung für Rotationsdruckmaschinen |
DE10326542A1 (de) * | 2003-06-12 | 2005-01-05 | Siemens Ag | Betriebsverfahren und Steuerungsprogramm für eine Zentraleinheit eines Automatisierungssystems sowie Zentraleinheit eines Automatisierungssystems und Automatisierungssystem selbst |
US7139618B2 (en) | 2003-06-12 | 2006-11-21 | Siemens Aktiengesellschaft | Method of operation and a control program for a central unit in an automation system |
DE10326542B4 (de) * | 2003-06-12 | 2016-12-08 | Siemens Aktiengesellschaft | Betriebsverfahren und Steuerungsprogramm für eine Zentraleinheit eines Automatisierungssystems sowie Zentraleinheit eines Automatisierungssystems und Automatisierungssystem selbst |
EP2315090A1 (de) * | 2003-09-02 | 2011-04-27 | Siemens Aktiengesellschaft | Echtzeitsteuerverfahren für eine Steuerungseinrichtung eines industriellen technischen Prozesses und Echtzeitbetriebsverfahren für eine Recheneinrichtung |
EP1513035A2 (de) | 2003-09-02 | 2005-03-09 | Siemens Aktiengesellschaft | Echtzeitsteuerverfahren für eine Steuerungseinrichtung eines industriellen technischen Prozesses und Echtzeitbetriebsverfahren für eine Recheneinrichtung |
EP1513035A3 (de) * | 2003-09-02 | 2005-06-29 | Siemens Aktiengesellschaft | Echtzeitsteuerverfahren für eine Steuerungseinrichtung eines industriellen technischen Prozesses und Echtzeitbetriebsverfahren für eine Recheneinrichtung |
US7058460B2 (en) | 2003-09-02 | 2006-06-06 | Siemens Aktiengesellschaft | Real-time control process for a controller of an industrial technical process, and a real-time operating process for a computing device |
DE102007015205A1 (de) * | 2007-03-27 | 2008-10-09 | Abb Ag | Automatisierungssystem mit lokaler Verarbeitung |
DE102007015203A1 (de) * | 2007-03-27 | 2008-10-23 | Abb Ag | Drahtloses Automatisierungssystem mit lokaler Verarbeitung |
WO2010121797A1 (de) * | 2009-04-20 | 2010-10-28 | Pilz Gmbh & Co. Kg | Sicherheitssteuerung zum steuern einer automatisierten anlage und verfahren zum erstellen eines anwenderprogramms für eine sicherheitssteuerung |
US20120116541A1 (en) * | 2009-04-20 | 2012-05-10 | Matthias Reusch | Safety controller and method for controlling an automated installation |
CN102460327A (zh) * | 2009-04-20 | 2012-05-16 | 皮尔茨公司 | 用于将自动化设备的安全控制装置的项目数据分配到控制部件的系统和方法 |
CN102549508A (zh) * | 2009-04-20 | 2012-07-04 | 皮尔茨公司 | 用于控制自动化设备的安全控制装置和用于为安全控制装置创建应用程序的方法 |
CN102460327B (zh) * | 2009-04-20 | 2014-07-30 | 皮尔茨公司 | 用于将自动化设备的安全控制装置的项目数据分配到控制部件的系统和方法 |
US9128480B2 (en) | 2009-04-20 | 2015-09-08 | Pilz Gmbh & Co. Kg | Safety controller and method for controlling an automated installation |
US9188964B2 (en) | 2009-04-20 | 2015-11-17 | Pilz Gmbh & Co. Kg | Safety controller for controlling an automated installation and method for generating a user program for a safety controller |
CN102549508B (zh) * | 2009-04-20 | 2015-12-02 | 皮尔茨公司 | 用于控制自动化设备的安全控制装置和用于为安全控制装置创建应用程序的方法 |
EP3082002A1 (de) * | 2009-04-20 | 2016-10-19 | Pilz GmbH & Co. KG | Sicherheitssteuerung und verfahren zum steuern einer automatisierten anlage |
WO2010121798A1 (de) * | 2009-04-20 | 2010-10-28 | Pilz Gmbh & Co. Kg | System und verfahren zum verteilen von projektdaten einer sicherheitssteuerung einer automatisierten anlage auf die steuerungskomponenten |
DE102010038484A1 (de) | 2010-07-27 | 2012-02-02 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Verfahren und Vorrichtung zum Steuern einer Anlage |
WO2014029609A1 (de) * | 2012-08-21 | 2014-02-27 | Siemens Aktiengesellschaft | Automatisierungssystem mit dezentralisierten steuerungsfunktionalitäten in e-/a-baugruppen |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2422243B1 (de) | Sicherheitssteuerung zum steuern einer automatisierten anlage und verfahren zum erstellen eines anwenderprogramms für eine sicherheitssteuerung | |
DE102007001576B4 (de) | Verfahren zur Synchronisierung redundanter Steuerungen für stoßfreies Failover unter normalen Bedingungen und bei Fehlanpasssung | |
EP2067081B1 (de) | Verfahren zum synchronisieren zweier steuereinrichtungen und redundant aufgebaute automatisierungsvorrichtung | |
EP2981868B1 (de) | Steuer- und datenübertragungsanlage, prozesseinrichtung und verfahren zur redundanten prozesssteuerung mit dezentraler redundanz | |
EP2817682B1 (de) | Verfahren zum ausfallsicheren betreiben eines prozesssteuersystems mit redundanten steuereinrichtungen | |
DE10316217A1 (de) | Individuelle Funktionsblöcke zur Verwendung in einem Prozesssteuerungssystem | |
EP3622357B1 (de) | Steuerungssystem zum steuern von sicherheitskritischen und nichtsicherheitskritischen prozessen mit master-slave-funktionalität | |
WO2013171234A1 (de) | Verfahren zur überwachung, steuerung und datenerfassung von systemkomponenten eines service-orientierten automatisierungssystems sowie service-orientiertes automatisierungssystem zur durchführung des verfahrens | |
EP1865394A1 (de) | Verfahren zum Austausch eines Feldgerätes der Automatisierungstechnik | |
EP1860564A1 (de) | Verfahren und Vorrichtung zum Austausch von Daten auf Basis des OPC-Kommunikationsprotokolls zwischen redundanten Prozessautomatisierungskomponenten | |
DE102011011587A1 (de) | Portunabhängiges topologisch geplantes Echtzeitnetzwerk | |
DE102017208831A1 (de) | Verarbeitung von Prozessdaten | |
EP2520991B1 (de) | Verfahren zum steuernden Eingriff in das Verhalten eines Submoduls | |
DE19906695A1 (de) | Verfahren zur automatischen Dezentralisierung von Programmen in Steuerungseinrichtungen und zur Verteilung von Intelligenz | |
EP3039494B1 (de) | Automatisierungssystem | |
EP2732347A1 (de) | Verfahren und system zur dynamischen verteilung von programmfunktionen in verteilten steuerungssystemen | |
DE102007043769B4 (de) | Gerät, Verfahren zur Adressierung, Umrichter und Verfahren zur sicheren Datenübertragung | |
EP3807728A1 (de) | Prozesssteuerungseinheit und verfahren zum interprozessualen austausch von prozessvariablen | |
EP2216696B1 (de) | Verfahren und Kommunikationssystem zum Konfigurieren eines einen Logikbaustein enthaltenden Kommunikationsmoduls | |
WO2011131633A1 (de) | Datenverwaltungsverfahren und speicherprogrammierbare steuerung | |
WO2014161986A1 (de) | Steuer- und datenübertragungsanlage zur redundanten prozesssteuerung und verfahren zur firmware-aktualisierung | |
DE3534465A1 (de) | Verbundsystem speicherprogrammierbarer steuerungen | |
DE10014390A1 (de) | Hochverfügbares Rechnersystem und Verfahren zur Umschaltung von Bearbeitungsprogrammen eines hochverfügbaren Rechnersystems | |
WO2016079091A1 (de) | Verfahren zum betreiben eines ersten und zumindest eines zweiten feldgerätes | |
EP2687930B1 (de) | Automatisierungseinheit zur Steuerung eines Geräts oder einer Anlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8181 | Inventor (new situation) |
Free format text: ERFINDER IST ANMELDER |
|
8131 | Rejection |