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 Intelligenz

Info

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
Application number
DE1999106695
Other languages
English (en)
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE1999106695 priority Critical patent/DE19906695A1/de
Publication of DE19906695A1 publication Critical patent/DE19906695A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • 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/13Plc programming
    • G05B2219/13068Program divided in operation blocks, groups, tasks each executed
    • 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/13Plc programming
    • G05B2219/13166Program intelligent I-O separate from main plc
    • 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/21Pc I-O input output
    • G05B2219/21021Intelligent 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

Beschreibung des Verfahrens und Darstellung des Stands der Technik
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).
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.
DE1999106695 1999-02-18 1999-02-18 Verfahren zur automatischen Dezentralisierung von Programmen in Steuerungseinrichtungen und zur Verteilung von Intelligenz Ceased DE19906695A1 (de)

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)

* Cited by examiner, † Cited by third party
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

Cited By (23)

* Cited by examiner, † Cited by third party
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