DE69805952T2 - Vorrichtung zur steuerung von verbindungen zwischen netzwerken - Google Patents

Vorrichtung zur steuerung von verbindungen zwischen netzwerken

Info

Publication number
DE69805952T2
DE69805952T2 DE69805952T DE69805952T DE69805952T2 DE 69805952 T2 DE69805952 T2 DE 69805952T2 DE 69805952 T DE69805952 T DE 69805952T DE 69805952 T DE69805952 T DE 69805952T DE 69805952 T2 DE69805952 T2 DE 69805952T2
Authority
DE
Germany
Prior art keywords
network
interface module
time
industrial control
real
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.)
Expired - Lifetime
Application number
DE69805952T
Other languages
English (en)
Other versions
DE69805952D1 (de
Inventor
G. Swales
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.)
Schneider Automation SAS
Schneider Electric USA Inc
Original Assignee
Schneider Automation SAS
Schneider Automation Inc
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 Schneider Automation SAS, Schneider Automation Inc filed Critical Schneider Automation SAS
Application granted granted Critical
Publication of DE69805952D1 publication Critical patent/DE69805952D1/de
Publication of DE69805952T2 publication Critical patent/DE69805952T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • 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/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31161Java programcode or simular active agents, programs, applets
    • 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/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34038Web, http, ftp, internet, intranet server
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer And Data Communications (AREA)
  • Programmable Controllers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Selective Calling Equipment (AREA)

Description

  • Die Erfindung der Anmelderin bezieht sich im Wesentlichen auf den Bereich programmierbarer Steuerungen und insbesondere auf ein System zum Austausch zeitkritischer Informationen zwischen Steuerungseinrichtungen, die mit einem Intranet- Netzwerk verbunden sind, so wie es auf den Gebieten der Automatisierung von Herstellungsprozessen und industrieller Prozesssteuerung üblich ist.
  • Diese Anmeldung steht in Beziehung mit den folgenden, gemeinsam übertragenen, zeitgleich eingereichten Anmeldungen, betitelt "Web Interface To A Programmable Controller" (Anmeldeaktenzeichen 08/xxx,xxx, Anmeldebeleg Nr. SAA-1). Der Inhalt dieser Anmeldungen ist hiermit ausdrücklich durch Bezugnahme mitaufgenommen.
  • Eine Echtzeit-Steuerung benötigt einen hohen Grad an Determinismus über ein Allzweck-Netzwerk. Determinismus ist ein Maß für die Sicherstellung, dass ein Echtzeit-Ereignis innerhalb einer bestimmten Zeitdauer gehandhabt wird. Versuche zur Steuerung der Datenflusslast, die auf willkürlicher Zuweisung von Bandbreite basieren, wurden durchgeführt, um den Grad an Determinismus zu steigern. Typischerweise wird ein Netzwerk so eingerichtet, dass es einen bestimmten Betrag von Übertragungszeit pro Station pro Zeiteinheit einplant, und Vorhersagbarkeit wird erreicht, solange sich alle Stationen an diese Beschränkung halten. Die Erreichung dieses Ziels wird durch zwei Faktoren behindert, die Komplexität der Konfiguration und die Tatsache, dass zusätzliche oder gelegentliche Netzwerk-Teilnehmer nicht an irgendwelche Absprachen gebunden sind. Standard-Netzwerke wie MAP verfügen über eine große Anzahl von Parametern, die den Stationen zugewiesen und akzeptiert werden müssen, um eine direkte Kommunizierfähigkeit zu erreichen. In den meisten Fällen schlägt eine direkte Kommunizierfähigkeit aufgrund einer Fehlanpassung der Parameter fehl. Ein einfacher Dateitransfer oder ein Nachschlagen in einer Datenbank durch einen tragbaren Computer irgendeiner Person könnte die anfälligen Annahmen über Übertragungsbandbreiten unabsichtlich stören. Netzwerke wie MAP gehen mit einer derartigen Situation so um, dass sie es Laptop-Computern und bestimmten anderen Einrichtungen nicht erlauben, sich mit ihnen zu verbinden, um derartige Probleme zu verhindern. Die Verwendung von Kommunikationstechniken in Automatisierungsprodukten ist üblicherweise in wenigstens drei Ebenen aufgebaut.
  • Auf der obersten Ebene befinden sich konventionelle Datenverarbeitungs- Kommunikationsnetzwerke, die dazu ausgelegt sind, Informationen wie Datenfiles, E- Mails und Berichte auszutauschen, um in letzter Zeit eine weitgefächerte Informationsverteilung unter Verwendung von Internet und World-Wide-Web zu unterstützen. Ein typischer Informationsaustausch wiederholt sich nicht, sondern wird auf Anfrage übertragen und der Grad der Netzwerklast ist unvorhersehbar mit der Folge von sich ändernden Lieferzeiten. Beispiele derartige Netzwerke sind Ethernet, IBM Token Ring, Fiber Distributed Data Interface, das Internationale X.25 Paketvermittlungsnetz und viele Angebote von Telefongesellschaften wie beispielsweise Asynchroner Übertragungsmodus. Allzweck-Netzwerkprotokolle, die diese Hardware benutzen, umfassen das zunehmend vorherrschende TCP/IP, sowie Novell IPX, Digital Equipments DECNET und andere. Insbesondere die Kombination TCP/IP-Ethernet ist die am weitesten verbreitete und verwendete Computer-Netzwerk-Schnittstelle, und weist dementsprechend die geringsten Kosten zur Implementierung und Betreuung auf.
  • Auf der untersten Ebene befinden sich spezialisierte Busse zur Datenbewegung, die dazu ausgelegt sind, eine Steuerung eines Gerätes wie beispielsweise eines Computers oder einer programmierbaren Logiksteuerung zum Austausch von Informationen mit seinen/ihren Sensoren oder Bedienteilen zu ermöglichen. Diese Busse sind zur wiederholten Übertragung der gleichen Informationen ausgelegt und können demnach eine maximale Zeit zwischen der Änderung des Informationswertes und der Erkennung der geänderten Werte durch die Partnereinrichtungen sicherstellen. Beispiele für derartige Technologien sind Fern-I/O-Netzwerke, Small Computer System Interface (SCSI) und verschiedene Hauptplatinen-Buserweiterungstechniken von vielen Computer- und Automatisierungslieferanten. Typischerweise sind die übertragenen Nachrichten hochspezialisiert und werden nicht direkt in das Allzweck-Netzwerk kopiert.
  • In einer mittleren Ebene gibt es eine Anzahl von Feldbus-Lösungen, die eine Überwachung und eine Aktualisierung von Steuerungseinrichtungen bewerkstelligen. Es gibt eine Vielzahl von konkurrierenden Ansätzen, die eine begrenzte Kompatibilität untereinander anbieten. Beispiele beinhalten PROFIBUS von Siemens, FIP und MODBUS PLUS von Schneider Automation, DEVICE NET von Allen Bradley und LONWORKS von Echelon Corp. Alle diese Netzwerk-Ansätze benötigen eine zugehörige Verkabelung und Techniken zur Fehlerbehebung, erlauben jedoch ein gewisses Ausmaß an Vermischung von Steuerungsdatenaustausch und Einrichtungsabfragen.
  • Es wäre wünschenswert, ein Automatisierungs-Steuerungssystem zu entwickeln, bei dem diese Probleme minimiert sind, das dieselbe Art von Allzweck-Netzwerken (Ethernet, Token Ring, ATM) auf allen drei Ebenen verwendet und es Automatisierungseinrichtungen ermöglicht, kommerzielle Netzwerk-Techniken zu verwenden, das jedoch weiterhin die Sicherheits- und Leistungseigenschaften eines spezialisierten, industriellen Netzwerks aufweist.
  • Dementsprechend ist es eine Aufgabe der vorliegenden Erfindung, eine Schnittstelle zwischen einem industriellen Steuerungssystem und einem Allzweck-Netzwerk wie dem Ethernet zu schaffen.
  • Es wird angemerkt, dass US 5 475 601 (entsprechend der EP-A-0.667.693) einen Netzwerk-Gateway zur Verwendung zwischen Ethernet (TCP/IP) Arbeitsplatzrechnern und einer auf einer QNX-Plattform arbeitenden, ereignisgesteuerten Datenbank offenbart. Dieser Gateway umfasst zwei Bereiche, einen auf jeder Plattform, die durch ein Paar BSD-Socket-Bibliotheken auf jeder Plattform bidirektional verbunden sind.
  • Die vorliegende Erfindung schafft ein Schnittstellenmodul zum Datenaustausch zwischen einer Zieleinrichtung in einem Netzwerk industrieller Steuerungseinrichtungen und einer Quelleneinrichtung in einem Allzweck-Kommunikationsnetzwerk. Die Merkmale dieser Erfindung werden durch die beiliegenden Ansprüche definiert.
  • Eine weitere Aufgabe der vorliegenden Erfindung ist es, eine Schnittstelle zwischen dem Allzweck-Netzwerk und dem industriellen Steuerungssystem zu schaffen, die die Übertragung von Echtzeit-Steuerungsdaten mit garantierten Lieferzeiten ermöglicht.
  • Eine weitere Aufgabe der Erfindung ist es, eine Schnittstelle zwischen dem Allzweck- Netzwerk und dem industriellen Steuerungssystem zu schaffen, die Datenverkehr auf Abfrage von Computersystemen, Bedienerterminals und Alarmsystemen überträgt.
  • In der bevorzugten Ausführungsform der Erfindung berücksichtigt die Erfindung eine Steuerung der Funktionen einer programmierbaren Logiksteuerung (PLC) über eine nicht-deterministische Netzwerkverbindung. Obwohl das Netzwerk nicht notwendigerweise ein Echtzeit-Netzwerk ist, sorgt ein Proxyserver, der üblicherweise verwendet wird, ein Netzwerk-Zugangsschutzsystem zur Lösung von Sicherheitsproblemen zu bilden, für einen hohen Grad an Determinismus. Dies erreicht er durch die Übernahme der Rolle eines TCP/IP-Routers und durch eine Kombination von Routing, Schutz des Zugangs und Begrenzung des Netzwerkdurchsatzes. Er ist als Kommunikationsschnittstelle zwischen einem Echtzeit-Anteil und einem Nichtechtzeit-Anteil eines Komplettsystems konfiguriert. Er ist außerhalb der Netzwerkbrücke installiert und dient dazu, unnötigen Datenverkehr zwischen den Echtzeit- und den Nichtechtzeit-Elementen zu beschränken. Dies erfolgt durch eine Kontrolle der Rate, mit der Nachrichten von dem Nichtechtzeit-Anteil zu dem Echtzeit-Anteil des Netzwerk weitergeleitet werden, und durch ein Stabilhalten der Last des Echtzeit-Anteils unabhängig vom Bedarf externer Nichtechtzeit-Kommunikation. Dies ermöglicht es dem üblicherweise nicht-deterministischen Nichtechtzeit-Netzwerk, durch das Aufrechterhalten eines erwünschten Grades an Vorhersagbarkeit zur erfolgreichen Übertragung einer Nachricht innerhalb einer festgelegten Zeitdauer, deterministisch zu werden.
  • Echtzeit-Daten werden vorkonfiguriert und in einer regulären Sequenz ausgetauscht, so dass für jedes Informationselement, das wiederholt aktualisiert wird, die zyklische Aktualisierungsperiode bekannt ist. Die Länge jeder zur Übermittlung dieser Information notwendigen Kommunikationsnachricht zuzüglich jeglichem Sequentialisierungs- und Bestätigungs-Aufwand wird im voraus berechnet und zusammengefasst. Jeder Einrichtung mit Erlaubnis zur Übertragung auf dem gemeinsam genutzten Medium wird ein Budget zugeteilt, das aus einer maximalen Übertragungsmenge pro Zeiteinheit besteht, die so berechnet ist, dass die gesamte Übertragungsrate pro Zeiteinheit bewusst auf einen gewissen Anteil der maximalen Übertragungskapazität des Netzwerk begrenzt wird. Darüber hinaus wird die maximale Länge einer einzelnen Übertragung festgelegt. Jegliche Kommunikation von Einrichtungen, deren Verkehrslast nicht auf diese Weise gesteuert werden kann, ist so angeordnet, dass sie durch eine Proxy-Einrichtung geführt wird, um Zugang zu dem deterministischen Netzwerk zu erhalten, wobei diese Proxy-Einrichtung die Budgetbegrenzungen durchsetzt, indem sie bei Bedarf bewusste Verzögerungen für die Anfragenachrichten einführt. Angemessene Budgetbegrenzungen in Prozentangaben hängen von der gewählten Netzwerk-Topologie ab. Ein einfaches Ethernet kann dann durch Steuerung der Last des Netzwerks einem zugeordneten Feldbus gleichgesetzt werden.
  • Weitere Merkmale und Vorteile der Erfindung, die als neu und nicht naheliegend erachtet werden, werden aus der folgenden Beschreibung in Verbindung mit den begleitenden Figuren ersichtlich, in denen eine bevorzugte Ausführungsform der Erfindung dargestellt ist. Zur Auslegung des vollen Umfangs der Erfindung, der nicht notwendigerweise durch eine derartige Ausführungsform dargestellt wird, wird auf die Ansprüche verwiesen.
  • Fig. 1 zeigt ein Übersichts-Blockdiagramm eines typischen Systems, das die Beziehung zwischen einem Benutzer an einem entfernten Ort und einer Internet-Website zur Überwachung eines Prozesssteuerungssystems gemäß der vorliegenden Erfindung darstellt.
  • Fig. 2 zeigt ein einfaches Blockdiagramm der vorliegenden Erfindung, das eine Internet-Schnittstelle zu einem programmierbaren Logiksteuerungssystem darstellt.
  • Fig. 3 zeigt ein Blockdiagramm des in Fig. 2 dargestellten, erfindungsgemäßen Webserver-Moduls.
  • Fig. 4 zeigt ein einfaches Blockdiagramm der vorliegenden Erfindung, das eine Internet-Schnittstelle zu einem Intranet-Netzwerk mit einer Brücke zu einem programmierbaren Steuerungssystem darstellt.
  • Fig. 5 zeigt ein einfaches Blockdiagramm der vorliegenden Erfindung, das eine Internet-Schnittstelle zu einem Intranet-Netzwerk mit einer Brücke zu einem Netzwerk von programmierbaren Steuerungssystemen darstellt.
  • Fig. 6 zeigt ein Flussdiagramm einer Abfolge von Schritten, die in einer erfindungsgemäßen Proxy-Einrichtung verwendet werden.
  • Fig. 7 zeigt eine typische Simulationsseite, wie sie einem Benutzer an einem entfernten Ort bei der Verwendung eines Browsers zugänglich ist und die die vorliegende Erfindung zur Steuerung eines programmierbaren Steuerungssystems darstellt.
  • Obwohl diese Erfindung in vielen verschiedenen Ausführungsformen dargestellt werden kann, wird hier eine bevorzugte Ausführungsform detailliert beschrieben und dargestellt. Die vorliegende Offenbarung stellt die Prinzipien der Erfindung beispielhaft dar und soll nicht als Beschränkung der weitgefassteren Aspekte der Erfindung auf die spezielle, beschriebene Ausführungsform aufgefasst werden.
  • Fig. 1 zeigt ein Übersichts-Blockdiagramm eines typischen Systems, das die Beziehung zwischen einem Benutzer 2 an einem entfernten Ort und einer Internet-Website 4 zur Überwachung eines Prozesssteuerungssystems 6 darstellt. Der Benutzer 2 hat einen Personalcomputer (PC) 8 mit einem kommerziell erhältlichen Browser 10, beispielsweise dem Navigator von Netscape Communication oder dem Internet Explorer von Microsoft, der zur Betrachtung der Inhalte der Website 4 auf dem Monitor 12 installiert ist. Der PC schafft eine Mensch-Maschine-Fernschnittstelle (HMI) zu dem Prozesssteuerungssystem 6. Verschiedene Verbindungsdienste sind problemlos verfügbar, um die physikalische und elektrische Verbindung des PCs an das Internet 14 selbst herzustellen. Das Internet 14 ist eine Ansammlung von unabhängigen, weltweiten Kommunikationsnetzwerken, die miteinander verbunden sind und als eine einzige verbindungslose Einheit arbeiten. Die Kommunikation beruht auf einer Client- Server-Basis unter Verwendung einer Anzahl etablierter Protokolle, die eine Kommunikation und Dateiübertragungen zwischen dem Client und dem Server ermöglichen. Das am weitesten verbreitete Protokoll ist das Internet Protokoll (IP).
  • Die Website 4 beinhaltet eine Netzwerk-Schnittstelle 16 mit eindeutiger Internet- Adresse 18, einen Server 20 und ein Anwendungsprogramm 22. Der Server 20 agiert als HTTP-Interpreter, der die Verbindung von TCP mit IP durch den TCP/IP- Stapelspeicher 24 verwendet, um mit der Netzwerk-Schnittstelle 16 und dem Anwendungsprogramm 22 zusammenzuarbeiten. Dies ermöglicht die Datenübertragung zwischen dem Anwendungsprogramm 22 und dem Benutzer 2 über das Internet 14. Das Anwendungsprogramm stellt Daten aus dem Prozesssteuerungssystem 6 zur Verfügung. Diese Daten können verwendet werden, um den Steuerungsprozess durch den Benutzer 2 an dem entfernten Ort zu überwachen. Der TCP/IP- Stapelspeicher 24 ermöglicht Datenübertragungen zwischen dem Benutzer 2 und der Website 4 über das Internet 14, wie sie für verschiedene, durch das IP-Protokoll festgesetzte Ebenen benötigt werden.
  • Der Benutzer 2 kann sich mit dem Internet 14 unter Verwendung eines aus einer Anzahl von Internet-Serviceprovidern verbinden und gibt, wenn er verbunden ist, die Adresse der Website 4 ein. Die Website 4 stellt eine Homepage dar, die Text, verschiedene Arten von Multimedia-Angeboten wie grafische Bilder, Video oder Audio, sowie möglicherweise Hypertext-Links zu anderen Dokumenten beinhalten kann. Der Browser 10 ermöglicht es dem Benutzer 2, die Seite zu lesen und mit denen mit ihr verbundenen Wahlmöglichkeiten zu interagieren. Der Browser 10 sendet Befehle an die Website 4, die das Anwendungsprogramm 22 benutzt, um beliebige, von dem Prozesssteuerungssystem 6 verfügbare Informationen darzustellen. Der Browser 10 agiert als Mensch-Maschine-Fernschnittstellen- oder HMI-Steuerung des Prozesssteuerungssystems, wie unten detailliert beschrieben werden wird.
  • Fig. 2 zeigt ein einfaches Blockdiagramm der vorliegenden Erfindung, das die Internet-Schnittstelle zu einem programmierbaren Logiksteuerungssystem darstellt. Die Website 4 beinhaltet die Netzwerk-Schnittstelle 16 mit einer eindeutigen Internet- Adresse 18 und einem Webserver 30. Der Webserver 30 stellt die Homepage für die Website zur Verfügung. Ein Netzwerk-Zugangsschutzsystem und eine Sicherheitseinrichtung für das Gesamtsystem können in dem Webserver 30 beinhaltet sein, werden jedoch üblicherweise als Teil der Netzwerk-Schnittstelle 16 geführt. Zusätzlich zur Gewährleistung von Sicherheit für verschiedene Seiten auf der Website kann der Benutzer den Webserver 30 abschalten. In den ursprünglichen, auf dem Webserver 30 gespeicherten Konfigurationsdateien, die von einem entfernten Server heruntergeladen werden, befindet sich eine Passwort- und Benutzerliste. Ein Schutz der Konfigurationsdateien durch den entfernten Server und den Webserver 30 ist dann durch die Passwort- und Benutzerliste gegeben. Der Webserver 30 schafft eine direkte Verbindung für eine programmierbare Logiksteuerung (PLC) 32 mit dem Internet 14, indem der Webserver 30 in ihre Hauptplatine 34 einsteckt wird. Der Webserver 30 verfügt sowohl über eine Client-, als auch über eine Server-Schnittstelle. Alle Signale zwischen der PLC 32 und dem Webserver 30 erfolgen eher über die Hauptplatine 34, als über eine Gruppe von Kabeln, die normalerweise mit Eingang/Ausgangs-Modulen, die wiederum in die Hauptplatine 34 eingesteckt werden, verbunden werden müssen. Die Hauptplatinen-Signale umfassen Adressierung, Steuerung, Daten und Stromversorgung. Die Client-Schnittstelle ermöglicht es einem Benutzer, Befehle über das Internet an einen entfernten Knoten zu senden, und die Server-Schnittstelle ermöglicht eine Verarbeitung von Befehlen, die von einem entfernten Knoten ausgehen. Steuerung der PLC 32 von einer entfernten HMI, im wesentlichen auf einer Echtzeit-Basis, wird durch eine Steuerung des durch den Webserver 30 laufenden Datenflusses ermöglicht.
  • Zu der PLC 32 gehören ihre Anwendungsprogramme 36, ein von zwei Seiten zugänglicher Speicher 38 und I/O-Einrichtungen 40. Das Anwendungsprogramm beinhaltet ein Kontaktplan-Programm zur Steuerung der I/O-Einrichtungen 40. Der Webserver 30 agiert als Knoten in einem TCP/IP-Netzwerk 42 und gestattet es, Befehle an die PLC 32 zu senden und die Antwort zu empfangen. Obwohl es sich in der bevorzugten Ausführungsform bei dem TCP/IP-Netzwerk 42 um ein Ethernet-Netzwerk handelt, können andere höhere Protokolle verwendet werden. Bei der Verwendung eines Web-Browser durch das Internet 14 an einem entfernten Ort, kann ein Benutzer die Konfigurationsinformationen der PLC 32 steuern und betrachten.
  • Der Webserver 30 wird in Fig. 3 detaillierter dargestellt. Verschiedene Komponenten sorgen für die zur Ausführung seiner Funktionalität benötigte Verbindungsfähigkeit. Ein Echtzeit-Betriebssystem 44 steuert das Zusammenspiel der Komponenten. Das Betriebssystem 44 belegt den Hauptprozessor (CPU) 46 für verschiedene Aufgaben, sorgt für das Speichermanagement und stellt eine Gruppe von Nachrichtendiensten und Signaldiensten zur Verfügung. Die Nachrichten- und Signaldienste schaffen die Voraussetzungen für eine Kommunikation zwischen Aufträgen und zwischen Treibern und einem Auftrag. Die Verbindung mit dem TCP/IP-Netzwerk 42 erfolgt mittels eines Ethernet-Treibers 48, der über einen Ethernet-Kommunikationschip, wie beispielsweise einen AM79C961, Nachrichten über Ethernet sendet und empfängt. Der Webserver weist eine eindeutige globale Adresse 18 auf, die es ihm ermöglicht, von anderen Einrichtungen in dem Netzwerk adressiert zu werden. Kommunikation kann über ein Glasfaser-Kabel oder eine verdrillte Doppelleitung erfolgen. Der Ethernet- Treiber 48 verwaltet Sende- und Empfangs-Zwischenspeicher 50,51 im Speicher 52 und ist mit dem AM79C961 Ethernet-Chip verbunden. Der Sende- und der Empfangs-Zwischenspeicher 50,51 werden jeweils gemeinsam von dem AM79C961 und dem Ethernet-Treiber 48 benutzt. Der Ethernet-Treiber 48 verfügt weiterhin über eine Übermittlungsanfrage-Schnittstelle und eine Empfangsanzeige-Schnittstelle zu einem TCP/IP-Stapelspeicher 54. Der AM79C961 verfügt über eine Sendewarteschlangen-Schnittstelle, eine Empfangswarteschlangen-Schnittstelle, und erzeugt beim Vollenden des Sendens einer Nachricht und beim Empfang einer neuen Nachricht Interrupts. Der Ethernet-Treiber 46 stellt Empfangs- Zwischenspeicher in die Empfangswarteschlange. Während der Interrupt-Routine untersucht der Ethernet-Treiber 46 die Empfangswarteschlange. Befinden sich in der Empfangswarteschlange Nachrichten, schaltet er den Empfangs-Zwischenspeicher an den TCP/IP-Stapelspeicher 54 weiter. Der TCP/IP-Stapelspeicher 54 kopiert den Zwischenspeicher und ruft etwas später den Ethernet-Treiber 48 auf, um den Zwischenspeicher zurückzuschalten und um den zurückgeschalteten Zwischenspeicher zurück in die Empfangswarteschlange zu stellen.
  • Der TCP/IP-Stapelspeicher 54 ruft den Ethernet-Treiber 48 auf, um eine Nachricht zu senden. Der Ethernet-Treiber 46 versucht einen Zwischenspeicher in dem gemeinsam genutzten Speicher 52 zu belegen. Falls er damit Erfolg hat, kopiert er die Nachricht in den Zwischenspeicher und stellt den Zwischenspeicher in die Sendewarteschlange des AM79C961. Steht kein Sende-Zwischenspeicher zur Verfügung, so lässt der Treiber die Sendenachricht fallen. In der Interrupt-Routine untersucht der Ethernet-Treiber 48 die Sendewarteschlange und gibt die gesendeten Zwischenspeicher wieder frei.
  • Das TCP/IP-Netzwerk 42 genehmigt spezielle MSTR(Master)-Funktionen, die es einem Knoten des Netzwerks ermöglichen, Nachrichtentransaktionen zu starten. Diese MSTR-Funktionen beinhalten das Lesen und Schreiben von Daten und werden für Befehle und Antworten verwendet. Sie erlauben es Programmen, die in der PLC 32 ablaufen, Befehle an einen entfernten Knoten in dem TCP/IP-Netzwerk 42 zu senden und die Antworten zu empfangen. Ein Hauptplatinen-Treiber 56 sendet Befehle und empfängt die Antworten an die PLC 32 über die Hauptplatine 34.
  • Der Hauptplatinen-Treiber 56 erhält Anfragen von den MSTR-Blöcken des Kontaktplan-Programms der PLC, die in ihrem Speicher 38 gespeichert sind. Ist eine Antwort verfügbar, so reicht der Hauptplatinen-Treiber 56 diese zurück an den MSTR-Block. Der Hauptplatinen-Treiber 56 sieht eine Server-Schnittstelle 58 und eine Client- Schnittstelle 60 für Anwendungen vor. Die Server-Schnittstelle 58 ermöglicht es einer Anwendung, einen Anfragebefehl an das Ausführungsprogramm der PLC 32 auszusenden und dessen Antwort zu empfangen. Die Client-Schnittstelle 60 ermöglicht es einer Anwendung, eine neue MSTR-Anfrage zu empfangen und die Antwort an das Kontaktplan-Programm zurückzugeben.
  • Die Server-Schnittstelle 58 verwendet einen Warteschlangen-Mechanismus und Rückruf-Funktionen. Eine Anwendung stellt sowohl die Anfrage als auch die mit der Anfrage verbundene Rückruf-Funktion in einer Warteschlange. Wenn der Hauptplatinen-Treiber 56 die Anfrage in seiner Interrupt-Routine bearbeitet, ruft er die zugehörige Rückruf-Funktion auf. Die Antwort und die ursprüngliche Anfrage werden der Rückruf-Funktion übergeben. Die Rückruf-Funktion kann ein Betriebsprogramm aufrufen, um entweder eine Nachricht abzusenden oder um der Anwendung ein Signal zu geben.
  • Die Client-Schnittstelle 60 verwendet ebenfalls Warteschlangen und Rückruf- Funktionen. Die Clientanwendung stellt sowohl eine Anzeigeanfrage nach einer Warteschlange als auch eine mit der Anfrage verbundene Rückruf-Funktion in eine Warteschlange. Entdeckt der Hauptplatinen-Treiber 56 in seiner Interrupt-Routine eine neue MSTR-Block-Anfrage, ruft er die zugehörige Rückruf-Funktion auf. Die Anfrage wird der Rückruf-Funktion übergeben. Die Rückruf-Funktion kann eine Betriebssystem-Routine aufrufen, um entweder eine Nachricht abzusenden oder um der Anwendung ein Signal zu geben. Entdeckt der Hauptplatinen-Treiber 56, dass der MSTR- Block fehlgeschlagen hat oder nicht länger abgearbeitet wird, ruft er eine benutzerunterstützte zugehörige Abbruchsrückruf-Funktion auf. Die Anwendung ruft eine Routine auf, um die MSTR-Antwort und eine zugehörige Rückruf-Routine an den Treiber zu übergeben. Etwas später übergibt der Treiber die Antwort in seiner Interrupt- Serviceroutine an das Kontaktplan-Programm zurück und ruft dann die benutzerunterstützte Rückruf-Funktion auf.
  • Die PLC 32 steht mit der Hardware des Webservers 30 über den von zwei Seiten zugänglichen Speicher 38 in Verbindung. Sie liest aus dem und schreibt in den von zwei Seiten zugänglichen Speicher 38 mittels eines ASIC Chips. Schreiben an eine bestimmte Stelle löst einen Interrupt aus. Die PLC 32 schreibt zuerst eine Nachricht in den von zwei Seiten zugänglichen Speicher 38 und löst dann einen Interrupt aus. Die Nachricht bezeichnet eine Befehlsart. Eine Art zeigt an, dass ein MSTR-Block abgearbeitet wurde. Andere Arten werden verwendet, um Anfragen an die PLC 32 zu übergeben und um die Antworten auf diese Anfragen zu erhalten. Nachdem die PLC 32 die Nachricht übergeben hat, fragt sie den von zwei Seiten zugänglichen Speicher 38 nach von dem Hauptplatinen-Treiber 56 abgelegten Befehlen ab. Diese Befehle sind Speicher-Auslesen, Speicher-Schreiben und Abarbeitung-Beendet. Der Hauptplatinen-Treiber 56 verwendet Zustandseinrichtungen um die MSTR-Interrupts zu verarbeiten. Erfindungsgemäß ist die maximale Anzahl von aktiven MSTR-Blöcken auf vier gesetzt, so dass vier Zustandseinrichtungen benötigt werden. Wenn der Hauptplatinen-Treiber 56 einen MSTR-Interrupt empfängt, versucht er, eine zugehörige Zustandseinrichtung aufzufinden, die mit dem MSTR-Block übereinstimmt. Falls schon vier Transaktionen ausstehen, sind keine weiteren verfügbar und der Hauptplatinen-Treiber 56 setzt die Ausgaben des MSTR auf falsch. Wird eine Zustandseinrichtung aufgefunden, ermittelt der Hauptplatinen-Treiber 56, ob es sich um eine neue Transaktion oder um eine ausstehende Transaktion handelt oder ob eine Antwort verfügbar ist. Handelt es sich um eine neue Transaktion, kopiert er die Anfrage und ruft die zugehörige Rückruf-Routine der Anwendung auf. Handelt es sich um eine ausstehende Transaktionen, zeigt er dem Kontaktplan-Programm an, dass der MSTR-Block noch beschäftigt ist. Ist eine Antwort verfügbar, kopiert der Hauptplatinen-Treiber 56 die Antwort, setzt entweder die Beendung-des-MSTR- oder die Fehler-Ausgabe und ruft die Rückruf-Routine der Anwendung auf.
  • Es werden zwei Interrupts benutzt, um eine Anfrage abzuarbeiten. Auf den ersten Interrupt, den sogenannten preport-Interrupt, kopiert der Hauptplatinen-Treiber 56 die Anfrage in eine Datenstruktur, die sich in dem von zwei Seiten zugänglichen Speicher 38 der PLC 32 befindet. Auf den zweiten Interrupt, den so genannten Abfrageende-Interrupt, kopiert der Hauptplatinen-Treiber 56 die Antwort der Datenstruktur der Steuerung in den Zwischenspeicher des Benutzers. Dann ruft er die mit dem Benutzer verbundene Rückruf-Funktion auf.
  • Die Anfrage, auf die Register der PLC 32 zuzugreifen, wird durch den Hauptplatinen- Treiber 56 verarbeitet und wird zur Verarbeitung nicht an das Ausführungsprogramm der PLC gesendet. Der Hauptplatinen-Treiber 56 ermittelt den Speicherort im Speicher 38 der Register der PLC 32. Bei einem Abfrageende-Interrupt verarbeitet der Hauptplatinen-Treiber 56 die Lese/Schreib-Register-Anfragen, indem er über den von zwei Seiten zugänglichen Speicher 38 Befehle an die PLC 32 sendet, um die Register umfassenden Orte auszulesen oder zu beschreiben. Der Hauptplatinen- Treiber 56 bedient beim Abfrageende-Interrupt ein Maximum von vier Lese/Schreib- Register-Anfragen.
  • Ein Client-Auftrag 58 ist mit dem TCP/IP-Stapelspeicher 54 und dem Hauptplatinen- Treiber 56 verbunden und verwendet die Nachrichtendienste des Betriebssystems 44. Er verarbeitet die MSTR-Anfrage. Wenn der Client-Auftrag 58 von dem Hauptplatinen-Treiber 56 eine MSTR-Anfrage empfängt, gibt es diese Anfrage an den TCP/IP- Stapelspeicher 54 weiter. Wenn der TCP/IP-Stapelspeicher 54 eine Antwort an den Client-Auftrag 58 zurückgibt, reicht dieser die Antwort an den Hauptplatinen-Treiber 56 weiter.
  • Der TCP/IP-Stapelspeicher 54 verfügt über eine Berkeley TCP/IP-Schnittstelle und eine Signal-Erweiterung. Die Signal-Erweiterung ruft eine benutzerunterstützte Funktion auf, die eine Socket-Nummer, eine Auftrags-ID und ein Ereignis übergibt. Die Signalfunktion ruft das Betriebssystem 44 auf, um eine Nachricht an den durch die Auftrags-ID bezeichneten Auftrag zu senden. Es sendet die Nachricht entweder an den Client- 58 oder den Server-Auftrag 60. Der Client-Auftrag 58 schickt Anfrage- Anzeichen an den Hauptplatinen-Treiber 56 und die zugehörige Rückruf-Routine ruft das Betriebssystem 44 auf, um eine Nachricht für eine neue MSTR-Transaktion an den Client-Auftrag 58 zu senden.
  • Der Client-Auftrag 58 verwaltet mehrere ausstehende MSTR-Transaktionen unter Verwendung der Zustandseinrichtungen. Es gibt eine verknüpfte Liste von Verbindungs-Zustandseinrichtungen. Die Verbindungs-Zustandseinrichtungen werden verwendet, um Verbindungen herzustellen und um Verbindungen zu schließen. Zusätzlich enthält jede Verbindungs-Zustandseinrichtung eine Liste von Transaktions- Zustandseinrichtungen. Jede Transaktions-Einrichtung auf der Verbindungs- Zustandseinrichtung steht für eine Transaktion an einen durch die Verbindungs- Einrichtung repräsentierten Knoten. Die Transaktions-Einrichtungen werden verwendet, um eine Anfrage auszusenden und um die Antwort zu verarbeiten. Der Client- Auftrag 58 läuft nach Ausführen der Initialisierung in eine Schleife. Er ruft das Betriebssystem 44 auf, um eine Nachricht zu erhalten. Das Betriebssystem blockiert den Client-Auftrag 58 bis eine Nachricht vorliegt oder ein Timeout erfolgt. Entweder erhält er eine Nachricht von dem TCP/IP-Stapelspeicher 54, von einer MSTR- Rückruf-Routine oder er führt einen Timeout durch. Er arbeitet die Nachricht oder den Timeout ab und kehrt in die Schleife zurück. Handelt es sich bei der vom Betriebssystem 44 erhaltenen Nachricht um eine neue MSTR-Anfrage, so erhält der Client-Auftrag eine Verbindungs-Zustandseinrichtung und stellt eine neue Transaktions-Einrichtung an das Ende der Liste der Verbindungs-Zustandseinrichtung. An dieser Stelle wird die Transaktions-Einrichtung versuchen, die Nachricht zu übersenden. Ein Senden der Nachricht könnte unmöglich sein, weil keine Verbindung hergestellt wurde oder weil die entfernte Seite eine Flusssteuerung anwendet.
  • Handelt es sich bei der vom Betriebssystem 44 erhaltenen Nachricht um ein TCP/IP- Ereignis, so findet der Client-Auftrag 58 die zugehörige Verbindungs-Einrichtung und stellt fest, ob das TCP/IP-Ereignis ein Verbindung-Akzeptiert-, Verbindung- Abgebrochen- oder ein Datenempfang-Erfolgt-Ereignis darstellt. Abhängig vom Verbindungszustand und dem Zustand der Transaktions-Einrichtung verarbeitet der Client-Auftrag 58 die Nachricht, um mit, falls vorhanden, den Transaktionen voranzukommen. Ein Datenempfang für die MSTR-Antworten kann über mehrere TCP/IP- Ereignisse erfolgen und die Transaktions-Zustandseinrichtung setzt die Daten zu einer Antwort zusammen.
  • Verlangt der Client-Auftrag 58 vom TCP/IP-Stapelspeicher die Übersendung einer Nachricht, kann es vorkommen, dass nicht alle Teile der Nachricht übertragen werden. Dazu kommt es, wenn der entfernte Knoten flussgesteuert ist, wie unten erklärt wird. Wenn der Aufruf an das Betriebssystem 44 zum Erhalt einer Nachricht einen Timeout zurückgibt oder falls eine Nachricht vorliegt, durchsucht der Client-Auftrag 58 die Liste der flussgesteuerten Verbindungs-Einrichtungen. Für jede flussgesteuerte Verbindung versucht er, die flussgesteuerten Transaktions-Zustandseinrichtungen auf der Liste der Verbindungs-Zustandseinrichtung vorzurücken.
  • Der Server-Auftrag 60 verarbeitet eine vom Benutzer an dem entfernten Ort ausgehende Anfrage. Der Server-Auftrag 60 steht mit dem Hauptplatinen-Treiber 56, dem TCP/IP-Stapelspeicher 54 und den Nachrichtendiensten des Betriebssystems 44 in Verbindung. Der Server-Auftrag 60 sendet Anfragen an den Hauptplatinen-Treiber 56 und eine zugehörige Rückruf-Routine verwendet die Nachrichtendienste des Betriebssystems 44, um eine Antwort an den Server-Auftrag 60 zu senden. Eine Signal- Funktion des TCP/IP-Stapelspeichers 54 verwendet ebenfalls den Sendedienst des Betriebssystems 44, um ein TCP/IP-Ereignis an den Server-Auftrag 60 zu senden. Der Server-Auftrag 60 kann mehrere Transaktionen und Verbindungen bearbeiten. Wie der Client-Auftrag 58 verwaltet er eine Liste von Verbindungs-Einrichtungen, wobei jede Verbindungs-Einrichtung eine Liste von Transaktions-Einrichtungen enthält. Die Verbindungs-Einrichtungen sind zur Verwaltung der Verbindung vorgesehen und die Transaktions-Einrichtungen verwalten die einlaufenden Anfragen und Antworten.
  • Der Server-Auftrag 60 läuft nach Ausführen der Initialisierung in eine Schleife. Er ruft das Betriebssystem 44 auf, um eine Nachricht zu erhalten. Das Betriebssystem 44 blockiert den Server-Auftrag 60, bis eine Nachricht vorliegt oder ein Timeout erfolgt. Entweder erhält er eine Nachricht von dem Signalsteuerungsprogramm des TCP/IP- Auftrags 54, von dem Hauptplatinen-Treiber 56 oder er führt einen Timeout durch. Er arbeitet die Nachricht oder den Timeout ab und kehrt in die Schleife zurück. Ist die vom Betriebssystem 44 erhaltene Nachricht vom Signalsteuerungsprogramm des TCP/IP-Auftrags 54, so stellt der Server-Auftrag 60 fest, ob das Ereignis eine Verbindungsanfrage, ein Socket-Schliess-Ereignis oder ein Datenempfangs-Ereignis darstellt. Basierend auf dem TCP/IP-Ereignis, verwendet der Server-Auftrag 60 die Verbindungs-Einrichtung und die Transaktions-Einrichtung zum Vorschieben der Transaktion. Die für eine Anfrage empfangenen Daten können sich über mehrere Datenempfangs-Ereignisse erstrecken und die Transaktions-Einrichtung setzt die Ereignisse zu einer Anfragenachricht zusammen. Bei Erhalt der Antwortnachricht vom Betriebssystem 44 ermittelt der Server-Auftrag 60 die Verbindungs- und die Transaktions-Einrichtung, um die Antwort zu senden.
  • Verlangt der Server-Auftrag 60 vom TCP/IP-Stapelspeicher 54 die Übersendung einer Nachricht, kann es vorkommen, das nicht alle Teile der Nachricht übertragen werden. Dazu kommt es, wenn der entfernte Knoten flussgesteuert ist. Wenn der Aufruf an das Betriebssystem 44 zum Erhalt einer Nachricht einen Timeout zurückgibt, oder falls eine Nachricht vorliegt, durchsucht der Server-Auftrag 54 die Liste der flussgesteuerten Verbindungs-Einrichtungen. Für jede flussgesteuerte Verbindung versucht er, die flussgesteuerten Transaktions-Zustandseinrichtungen auf der Liste der Verbindungs-Zustandseinrichtung vorzurücken.
  • Nachdem der Server-Auftrag 60 den Nachrichtenkopf einer eingehenden Nachricht analysiert hat, versucht er, eine Struktur zu belegen, um die Anfrage an den Hauptplatinen-Treiber 56 weiterzureichen. Wenn der Server-Auftrag bereits eine vorher festgelegte Anzahl von ausstehenden Anfragen verarbeitet, schlägt dieser Versuch fehl, die Verbindung wird in einen blockierten Zustand versetzt und der Inhalt der Anfrage wird nicht vom TCP/IP-Stapelspeicher 54 ausgelesen. Als Ergebnis kann der TCP/IP-Stapelspeicher auf den entfernten Knoten eine Flusssteuerung ausüben. Wenn eine der anderen Anfragen abgearbeitet ist, veranlasst das Freie- Datenstruktur-Ereignis eine blockierte Verbindungs-Einrichtung dazu, die einlaufende Modbus-Anfrage weiter zu bearbeiten.
  • Der HTTP-Auftrag 62 ist mit dem TCP/IP-Stapelspeicher 54 und dem Hauptplatinen- Treiber 56 verbunden. Der HTTP-Server-Auftrag 62 empfängt vom TCP/IP- Stapelspeicher 54 eine HTTP-Anfrage. Um die Anfrage zu verarbeiten, kann er über den Hauptplatinen-Treiber 56 und die Hauptplatine 34 auf die PLC 32 zugreifen. Der HTTP-Server-Auftrag 62 sendet die Antwort über den TCP/IP-Stapelspeicher 54 zurück. Das Rahmensystem wird durch das Betriebssystem 44 zur Verfügung gestellt. Das Rahmensystem erzeugt den HTTP-Auftrag, akzeptiert Verbindungen und analysiert die HTTP-Anfrage. Nach der Analyse der Anfrage ruft es das Betriebssystem 44 zur Verarbeitung der Anfrage auf. Eine Verarbeitung der Anfrage umfasst ein Feststellen der Art der Anfrage und eine Verarbeitung der tatsächlichen Anfrage. Die verschiedenen Arten von Anfragen gestatten es einem Benutzer, eine Momentaufnahme des Betriebs der PLC 32 zu erhalten, indem ein Einblick in verschiedene Register innerhalb der PLC 32 und des von zwei Seiten zugänglichen Speichers 38 ermöglicht wird. Diese Arten von Anfragen beinhalten weiterhin die Darstellung der Konfiguration der PLC 32, von Statistiken entfernter und dezentralisierter I/O- und Modul- Zustände, von Display-Registern, der Hauptplatinen-Konfiguration, von Ethernet- Statistiken und von ariderem, wie in Tabelle 1 dargestellt:
  • Tabelle 1
  • Zeige die Homepage
  • Zeige die Konfiguration der programmierbaren Logiksteuerung
  • Zeige die Ethernet-Statistiken
  • Zeige die Seite der Registerauslese-Anfragen
  • Zeige die 4x Register
  • Zeige die mit der Hauptplatine der Steuerung verbundenen Gestellrahmen
  • Sende ein Bild. Die verschiedenen Bilder sind gif-Dateien, die auf den verschiedenen Seiten angezeigt werden.
  • Zeige die entfernten I/O-Statistiken
  • Zeige die Liste der konfigurierten entfernten I/O-Drops
  • Zeige die Konfiguration und den Betriebszustand eines entfernten I/O-Gestellrahmens
  • Zeige die Kommunikations-Statistiken eines entfernten I/O-Drops
  • Zeige die I/O-Referenzwerte eines entfernten I/O-Moduls
  • Zeige eine Liste der konfigurierten, dezentralisierten I/O-Knoten
  • Zeige die Konfiguration und den Betriebszustand eines dezentralisierten I/O-Knotens
  • Zeige die I/O-Referenzwerte eines dezentralisierten I/O-Moduls
  • Die Homepage enthält Hypertext-Links auf sieben Datenseiten. Die Konfigurationsseite zeigt die Konfiguration der PLC 32. Die Betriebszustandseiten der entfernten I/O-Module und der dezentralisierten 1/O-Module sind eine Serie von verbundenen Seiten. Die erste Seite zeigt die Statistiken des Verbindungszustands am entfernten I/O- und am dezentralisierten I/O-Kopf an und enthält einen Link auf eine Seite eines konfigurierten Drops. Die Seite des konfigurierten Drops stellt eine Tabelle mit Drop- Nummern, die mit einer Statusseite eines Drops verbunden sind, und Gestellrahmen- Nummern, die mit den Drop- und Gestellrahmen-Konfigurationsseiten verbunden sind, dar. Die Statusseite des Drops beinhaltet zwei Tabellen, eine zur Darstellung des Kommunikations-Status des Drops und die andere zur Darstellung, welcher Gestellrahmen mit den I/O-Modulen besetzt sind. Die Drop- und Gestellrahmen- Konfigurationsseite zeigt die I/O-Module, deren Betriebszustand und Einschubpositionen für den jeweiligen Gestellrahmen. Für ein ausgewähltes Modul kann sich der Benutzer die Ein- und Ausgangswerte ansehen. Registerdaten werden in einer Bildschirmmaske mit einem Formular und einer Tabelle dargestellt, wobei der Benutzer eine Adresse und eine Länge eingibt. Die Tabelle gibt dann die Werte des Registers an. Auf der Hauptplatinen-Konfigurationsseite wird eine Tabelle dargestellt, die Options-Module und deren Einschub-Positionen zeigt. Die auf den Seiten dargestellten Daten sind statisch, können jedoch automatisch mit voreinstellbaren Zeiten aktualisiert werden.
  • Das Betriebssystem 44 verarbeitet diese Anfragen und Antworten, indem es durch den TCP/IP-Stapelspeicher 54 HTTP-Nachrichten sendet. Die Verarbeitung mancher diese Anfragen beinhaltet das Auslesen der Datenverkehrskontrolle der PLC, von Registern, Spulen oder verschiedener Seite-Null-Positionen, an denen Statistiken aufbewahrt werden. Um dieses Auslesen durchzuführen, sendet das Betriebssystem 44 eine Anfrage an den Hauptplatinen-Treiber 56 und verwendet einen Ereignis- Anzeige-Mechanismus und Ereignis-Kennzeichen, um festzustellen, wann die Anfrage abgeschlossen ist. Nach dem Aussenden der Anfrage an den Hauptplatinen- Treiber 56 wartet das Betriebssystem 44 auf ein zu sendendes Ereignis- Kennzeichen. Schließt der Hauptplatinen-Treiber die Anfrage ab, ruft der Hauptplatinen-Treiber 56 eine Rückruf-Routine auf, die das Ereignis setzt. Das Betriebssystem 44 nimmt daraufhin die Verarbeitung der Anfrage wieder auf.
  • Obwohl die speziellen Ausführungsformen dargestellt und beschrieben wurden, sind vielfältige Modifikationen möglich, ohne vom Umfang oder vom Wesen der Erfindung abzurücken.
  • Die vorliegende Erfindung ermöglicht es einem Benutzer, PLCs und andere Automatisierungs-Einrichtungen von jedem modernen Webbrowser aus überall auf dem Internet zu überwachen und zu steuern.
  • Fig. 4 zeigt ein Grundsystem, das die vorliegende Erfindung benutzt, um ein programmierbares Logik-Steuerungssystem 70 über einen Gateway 72 mit dem Internet 14 zu verbinden. Der Gateway 72 beinhaltet ein Netzwerk-Zugangsschutzsystem, um für die notwendige Sicherheit zu sorgen, und verbindet das PLC-System 70 durch ein von einem Netzwerk-Administrator 76 gesteuertes Intranet-Netzwerk 74. Obwohl das Intranet-Netzwerk 74 in der bevorzugten Ausführungsform ein TCP/IP- Netzwerk wie beispielsweise Ethernet ist, sind andere Protokolle möglich und das verwendete Protokoll stellt keine Beschränkung dar. Das PLC-System 70 beinhaltet eine Brücke 78, um eine programmierbare Logiksteuerung 80 mit dem Internet 74 zu verbinden. Auf der PLC 80 laufen Anwendungsprogramme 82 zur Steuerung der Ein- und Ausgabe-Vorrichtungen 84. Ein Speicher 86 speichert die Anwendungsprogramme und stellt Speicherelemente und Register für verschiedene Statistiken des PLC-Systems 70 zur Verfügung. Diese können die Konfiguration der PLC, die Konfiguration und den Betriebszustand des I/O-Gestellrahmens, die mit der Hauptplatinen 88 der PLC 80 verbundenen Gestellrahmen und andere relevante Informationen umfassen. Der vorher beschriebene Webserver 30 beinhaltet die Funktionalität der Brücke 78, einen Website-Server 90 sowie eine Proxy-Einrichtung 92 und ist in die Hauptplatine 88 der PLC 80 eingesteckt. Die Proxy-Einrichtung 92 ist eine Spezialanwendung, vom Design her ähnlich zur Internet-Standard SOCKS Proxy- Einrichtung. Sie horcht nach Verbindungen zu dem Gateway und falls eine Verbindung hergestellt wird, ist der erste erwartete Dateneintrag eine Zielbestimmung, die die Adresse des Website-Servers 90 spezifiziert. Die Proxy-Einrichtung 92 öffnet die angefragte Verbindung und alle darauffolgenden Anfragen und Antworten werden zu dem Website-Server 90 weitergeleitet. Jeder erkannte Fehler resultiert in der Unterbrechung der eingehenden und ausgehenden Verbindungen.
  • Die Proxy-Einrichtung 92 ist universal. Sie kann entweder hardware- oder softwarebasiert sein. Sie hat kein Wissen über die Identität der anwählbaren Website. Sie agiert als TCP/IP-Router und ist so konfiguriert, dass sie in jeder Kommunikation zwischen der dem Echtzeit-Anteil, z. B. dem PLC-System 70 und den Nichtechtzeit- Anteilen, z. B. dem Internet 14 und Intranet 74, des Gesamtsystems benötigt wird. Sie ist speziell außerhalb der Brücke 78 und dem Netzwerk-Zugangsschutzsystem des Gateways 72 angebracht. Ihre primäre Aufgabe ist es, eine Datenfluss-Steuerung zu erreichen, indem unnötiger Kommunikationsdatenverkehr aus dem Echtzeit-Anteil durch Steuerung der Rate, mit der Nachrichten aus dem Nichtechtzeit-Anteilen in die Echtzeit-Anteile weitergeleitet werden, beschränkt wird. Dies hält die Netzwerklast des Echtzeit-Anteils unabhängig vom externen Netzwerk-Kommunikations-Bedarf stabil und verschafft den externen Netzwerken, die nicht deterministisch sind, einen vorherbestimmten Grad an Determinismus und Wahrscheinlichkeit für erfolgreiche Nachrichtenübertragungen innerhalb eines bestimmten Zeitraum.
  • Eine Mensch-Maschine-Schnittstelle (HMI) 94 kann mit dem Netzwerk 74 verbunden sein. Sie wird zur Programmierung und Überwachung der PLC 80, sowie zum Ermöglichen von grafischen Darstellungen des gesamten PLC-Systems 70, die dessen gegenwärtigen Zustand und Betriebsbedingungen zeigen, verwendet. Darunter können sich verschiedene Symbole befinden, die die Ein- und Ausgabeeinrichtungen darstellen und tatsächlich Steuerungsfunktionen in den grafischen Darstellungen ermöglichen. Sie kann auch verwendet werden, um mit der Homepage der Website verbundene Seiten zu gestalten. Diese Seiten ahmen die grafischen Darstellungen nach und werden für einen Benutzer an einem entfernten Ort zugänglich. Die Symbole können mit Miniatur-Anwendungsprogrammen, sogenannten Applets, verbunden sein. Der Benutzer an dem entfernten Ort kann dann über das Internet 14 Zugriff auf die Funktionalität der HMI 94 erlangen, da ein Webbrowser, wie der Navigator oder der Explorer, Applets über den Browser interpretieren und ausführen kann.
  • Fig. 5 ist ein Blockdiagramm der vorliegenden Erfindung und zeigt ein Verfahren, um einem nicht-deterministischen Netzwerk einen Grad an Determinismus zu verschaffen. Das Internet 14 ist durch den Gateway 106 mit einem Ethernet Intranet- Netzwerk 102, das von einem Netzwerk-Administrator 104 gesteuert wird, verbunden. Der Gateway 106 umfasst die globale Internet-Adresse 18 der Website und das Netzwerk-Zugangsschutzsystem, um für die notwendige Sicherheit zu sorgen. Eine Brücke 108 ermöglicht den Zugriff auf ein Netzwerk 112 von Einrichtungen, darunter ein programmierbares Logik-Steuerungssystem 110. Auf dem Netzwerk 112 wird ein Anwendungsprotokoll wie MODBUS verwendet, das Teil der Hauptplatine des PLC- Systems 110 ist. Der Website-Server 114 beinhaltet die Brücke 108 und die erfindungsgemäße und zuvor beschriebene Proxy-Einrichtung 116. Die PLC 110 wird verwendet, um Ausgabe-Einrichtungen 120 auf internen Anwendungsprogrammen basierend als Reaktion auf interne Programmier-Befehle, den Zustand von Eingabe- Einrichtungen 122 und auf vom Internet 14, Intranet 102 oder Anwendungs-Netzwerk 112 eingegangene Befehle zu steuern.
  • Die Proxy-Einrichtung 116 horcht nach Verbindungen zu dem Gateway 106 und falls eine Verbindung hergestellt wird, öffnet die Proxy-Einrichtung 106 die angefragte Verbindung. Der erste erwartete Dateneintrag ist eine Zielbestimmung in der Form:
  • 'Target.anywhere.com 502'
  • wobei 'Target.anywhere.com 502' eine DNS-Adresse der PLC 110 oder der Einrichtungen c bis n auf dem Netzwerk 112 und 502 die Adresse eines für MODBUS reservierten Ports ist. Es ist demnach möglich, eine gesamte Fabrik oder sogar eine gesamte Firma mit direktem Web-Service für ihre Steuerungseinrichtungen auszustatten, so dass eine Überwachung und Steuerung vom Fabrikraum oder vom Büro, von Kundenstandorten, von zu Hause oder von beliebiger Stelle mit Internet-Zugang aus ermöglicht wird.
  • Das Netzwerk 112 stellt einen Mechanismus zum Austausch von Echtzeit-Daten zwischen den verschiedenen Systemen zur Verfügung. Es verwendet zwei Arten von Transaktionen, um 99 Prozent des gesamten Daten-Austauschs zu erreichen. Diese Transaktionen sind das Register-Auslesen, Anfragen nach den augenblicklichen Werten eines oder mehrerer Daten-Elemente von insgesamt bis zu 125 Worten (250 Bytes) einer Ziel-Einrichtung, und das Register-Schreiben, Anfragen zur Aktualisierung eines oder mehrerer Daten-Elemente von insgesamt bis zu einer 100 Worten (200 Bytes) einer Ziel-Einrichtung.
  • Datenfluss-Steuerung gewährleistet in der vorliegenden Erfindung, dass ein Echtzeit- Steuerungs-Ereignis innerhalb einer bekannten Zeitdauer verarbeitet wird. Das Internet 14 und das Intranet 102 können dahingehend vorhersagbar sein, dass durch eine Steuerung des Lastfaktors oder der Bandbreiten-Benutzung eine garantierte Maximalzeit zur Übermittlung von Informationen von einem Punkt zu einem anderen gegeben ist. Diese Netzwerke werden durch eine 10-Base-T-Universalschnittstelle und eine Bandbreite von zehn MBits pro Sekunde (Mbps) charakterisiert und sind so ausgelegt, dass sie beim Auftreten von Kollisionen, die anzeigen, dass der Lastfaktor zu hoch liegen könnte, automatisch den Datenverkehr verlangsamen. Theoretische Berechnungen und Test-Netzwerk-Messungen zeigen, dass ein beabsichtigtes Verringern des Lastfaktors in einem gemeinsam genutzten Netzwerk auf ungefähr zehn Prozent bei Halten der Rate des sich nicht wiederholenden Datenverkehrs klein gegenüber dem sich wiederholenden Datenverkehr die Vorhersagbarkeits- Eigenschaften des Allzweck-Netzwerks ähnlich zu denen eines mehr zweckorientiert angelegten Netzwerkes werden. Darüber hinaus trifft die Zahl von zehn Prozent nur zu, wenn ein wiederholender Netzknoten benutzt wird, um die Geräte zu verbinden. Wird der Netzknoten durch einen Ethernet-Switch ersetzt, der einen vollen Zugriff auf die 10 Mbps Bandbreite des Netzwerk ermöglicht, so kann der Lastfaktor bei gleichen deterministischen Eigenschaften auf ungefähr 30 Prozent erhöht werden. Bei Verwendung eines Switches spielt der exponentielle Rückstell-Algorithmus von Ethernet niemals eine Rolle und das Verhalten des Netzwerks wird, wie bei mehr zweckorientiert angelegten Netzwerken, durch einfache Warteschlangen-Theorie bestimmt. Beispielsweise beträgt in einem einfachen Master-Slave-Netzwerk mit einem Master und 5 Slaves, wobei der Master mit jedem Slave pro Abfrage 40 Datenbytes austauscht, die tatsächliche, die sich wiederholende Datenverkehrslast pro Abfrage:
  • 10 Nachrichten·(80 Byte Overhead + 40 Datenbytes)·0.8 us/byte = 960 us
  • Eine nominale Durchlaufzeit von 9,6 ms würde einem Lastfaktor von zehn Prozent entsprechen und die Wahrscheinlichkeit, dass eine Nachricht aufgrund von Kollisions-Zurückstellung um mehr als 9,6 ms verzögert wird, ist ungefähr eins zu einer Million. Der Lastfaktor von zehn Prozent setzt voraus, dass alle Stationen zur Übertragung in direktem Wettbewerb stehen.
  • In der vorliegenden Erfindung ist alles, was benötigt wird, das Hinzufügen der Netzwerk-Brücke 108 zwischen dem Echtzeit-Netzwerk 110 und dem Allzweck-Netzwerk 102. Die Funktionalität der Steuerungs-Einrichtungen kann durch die Verwendung einer Master-Slave-Abfrage-Sequenz anstelle einer Übertragung-auf-Anfrage gut bestimmt werden. Das Ziel betreffend die Bandbreite wird hinter der Brücke durch Einstellen der Abfrageschleifen-Wiederholungsraten aufrechterhalten. Sollten die Einrichtung A 124 und die Einrichtung B 126 auf dem Intranet-Netzwerk 102 viel Datenverkehr erzeugen, beispielsweise durch Starten einer Art von Dateiübertragung, verhindert die Proxy-Einrichtung 116 eine Einwirkung des Datenverkehrs auf das Steuerungs-Subnetz. Andererseits wird der Datenverkehr, falls die Einrichtung A 124 eine Anfrage an die PLC 110 zum Austausch von Prozessdaten beabsichtigte, durch die Brücke 108 weitergeleitet. Kompliziertere Schritte sind nur notwendig, falls nichtvertrauenswürdige Einrichtungen, wie beispielsweise Laptop-PCs, auf demselben physikalischen Subnetz erlaubt werden. Es könnten stärker einschränkende Netzwerk-Sicherheitsregeln als die üblicherweise von den Steuerungs-Einrichtungen verwendeten durchgesetzt werden, indem gewisse Einrichtungen versteckt werden, so dass Daten nur von anderen vertrauenswürdigen Einrichtungen ausgelesen werden können. Das Problem unkontrollierter Verwendung von Netzwerk-Bandbreite ist mit dem der Sicherheit verbunden. Macht eine Einrichtung eine Anfrage, die nicht vorhergesehen wurde, so verzögert sie oder unterbricht den zeitkritischen Datenverkehr.
  • Die vorliegende Erfindung implementiert eine Flusssteuerung durch die Verwendung von TCP und Proxy-Einrichtungen in privaten Netzwerken. Dies trägt sowohl zur Sicherheit, als auch zur Laststeuerung bei. Internet-Adressen sind üblicherweise als Gruppen, bekannt als Class-C-Subnetze, von ungefähr 250 Adressen geordnet. Eine Anlage mit ca. 1000 Computern auf dem Internet 14 kann vier oder fünf derartige Class-C-Subnetze aufweisen. Ein derartiges Subnetz hat nichts mit physikalischen, durch Netzwerk-Brücken getrennten, Subnetzen zu tun. Es ist lediglich eine logische Adressierungs-Übereinkunft, die durch die Betriebssoftware der Einheiten erfüllt wird. Durch das Design eines TCP/IP-Netzwerks kann ein Computer in einem derartigen Subnetz nur über einen Router mit einem Computer in einem anderen derartigen Subnetz kommunizieren. Diese Beschränkung trifft sogar zu, falls die Einrichtungen an demselben physikalischen Kabel angeschlossen sind. Demnach kann die Einrichtung A 124 nicht direkt mit der PLC 110 kommunizieren und benötigt die Proxy- Einrichtung 116, um als Router zu agieren. Nachrichten zwischen den beiden Einrichtungen resultieren in einer Verdopplung der Nachrichten, da die Proxy- Einrichtung 116 die empfangene Nachricht wiederholen und erneut an die PLC 110 senden muss. Das Netzwerk 110 ist ein privates IP-Subnetz mit der PLC 10 und Einrichtungen c bis n. Eine Kommunikation zwischen den Einrichtungen auf dem Netzwerk 110 ist direkt und kann ohne Behinderung ablaufen, jeglicher Austausch mit einer anderen Partei außerhalb des Netzwerks muss jedoch eine Kommunikation mit der Proxy-Einrichtung 116 beinhalten. Die Proxy-Einrichtung 116 kann jeglichen Datenverkehr, der in das Subnetz gelangen soll, herunterbremsen, um die Netzwerk- Lastregeln aufrechterhalten. Wichtiger noch, sie kontrolliert allen sich nicht wiederholenden Datenverkehr, da MODBUS-Nachrichten inhärent halb-duplex sind und die nächste Anfrage auf einem Kanal nicht gesendet werden kann, bevor die Antwort auf die vorherige Anfrage erhalten wurde.
  • Ein noch höherer Grad an Sicherheit kann erreicht werden, indem die Proxy- Einrichtung 116 verwendet wird, um zwischen den IP-Subnetzen zu kommunizieren. Eine Proxy-Einrichtung ist eine Einrichtung, die eine Unterhaltung mit einem Initiator anstelle eines Ziels weiterführt. Ursprünglich wurde das Konzept einer Proxy- Einrichtung als Antwort auf die zunehmende Verwendung von Netzwerk- Zugangsschutzsystemen bei der Verbindung von Einrichtungen mit dem Internet entwickelt. Bei einer Kommunikation über eine Proxy-Einrichtung stellt der Initiator die Verbindung allein unter Verwendung seines Wissens der Adresse der Proxy- Einrichtung her. Ist die Verbindung hergestellt, kann der Initiator die Proxy- Einrichtung auf die Identität des Ziels hinweisen oder sie kann auch durch den bei der Verbindung verwendeten TCP-Port angedeutet sein. Die Proxy-Einrichtung stellt dann eine Verbindung zu dem echten Ziel her und stellt sich zur Verfügung, jegliche TCP-Daten von der einen Verbindung an die andere weiterzuleiten, wie es benötigt wird. Im Endergebnis kommuniziert der Initiator mit dem Ziel, aber jede Nachricht beinhaltet zwei Übertragungen, erstens vom Initiator an die Proxy-Einrichtung und zweitens von der Proxy-Einrichtung an das Ziel.
  • Die Proxy-Einrichtung 116 kann eine physikalische Einrichtung sein oder einfach ein kleines Software-Programm, das auf einem an einer günstigen Stelle des Netzwerks befindlichen Computer läuft und die Netzwerk-Dienste des betreffenden Betriebssystems verwendet. Im vorliegenden Fall ist die Proxy-Einrichtung 116 ein Teil des Webservers 114. In der bevorzugten Ausführungsform handelt es sich bei der Proxy- Einrichtung um ein Java-Programm von ungefähr 200 Zeilen Codelänge. Unter Verwendung von wohlbekannten Master-Slave-Techniken ermittelt es eine maximale Abfragerate, die auf der Anzahl der mit dem Netzwerk verbundenen Einrichtungen beruht. Verwendet man als Daumenregel eine Last von zehn Prozent und die Tatsache, dass jede Transaktion näherungsweise einen Datenverkehr von 100 Mikrosekunden erzeugt, kann eine Millisekunde pro Slave-Einrichtung verwendet werden, um die gewünschte Abfragerate zu berechnen.
  • Die maximale Größe einer einzelnen Nachricht ist auf ungefähr 250 Byte beschränkt. Wird der Overhead eines Ethernet/TCP-Nachrichtenkopfs hinzugerechnet, so ist das Ergebnis immer noch auf ungefähr 330 Bytes begrenzt. Auf dem 10 Mbps Ethernet weist eine derartige Nachricht einer Übertragungszeit von 270 us auf. Das bedeutet, dass es möglich ist, die Auswirkung von unaufgefordertem Datenverkehr an der I/O- Abfrage durch einfaches Anpassen der Drosselung der Rate, mit der derartige Anfragen akzeptiert werden, auf weniger als 500 us zu beschränken. Die Mechanismen der Proxy-Einrichtung 116 und der Brücke 108 tun genau das. Sie sind nahezu immer zustandslos. Ist es aus einem beliebigen Grund notwendig, eine Nachricht zu wiederholen, so kann die Antwort ohne Verlust von Funktionalität von Grund auf erzeugt werden. Dies wiederum verringert den Bedarf an Zwischenspeicher- Speicherplatz und verbessert die Wartezeit der übertragenen Daten. Insbesondere ermöglicht dies eine Slave-Maschine, die sehr wenig CPU-Ressourcen benötigt und dennoch Antwortzeiten im Submillisekundenbereich erreicht.
  • In der vorliegenden Erfindung ist es möglich, eine Mischung von dauerhaften und gelegentlichen Teilnehmern in das Subnetz aufzunehmen, wie beispielsweise bei der Verbindung einer lokalen Programmiereinrichtung mit dem Netzwerk oder bei der Verwendung eines Laptops zum Erhalt von E-Mails in den Fabrikräumen, ohne dass der Determinismus der Echtzeit-Daten beeinträchtigt wird. Die Benutzer derartiger Einrichtungen sehen ihre Kommunikation ein wenig langsamer ablaufen, als auf einem Netzwerk, auf dem sie unbeschränkten Zugriff hatten.
  • Fig. 6 zeigt eine Abfolge von Schritten unter Verwendung einer erfindungsgemäßen Proxy-Einrichtung. Falls die Steuerungs-Einrichtungen so vorkonfiguriert werden, dass sie nicht mehr als sieben Prozent der verfügbaren Übertragungskapazität für ihren regulären Datenverkehr verwenden, kann die Anzahl der Teilnehmer berechnet werden. Im Fall eines 10 Mbps Ethernet und falls jede Übertragung 120 Mikrosekunden benötigt und die maximale zeitkritische Zykluszeit 10 ms beträgt, ist die mögliche Anzahl von Teilnehmern: 10000·7%/120 = ungefähr 6. Demzufolge können sich sechs Steuerungs-Einrichtungen das zugeordnete Subnetz teilen, zwischen ihnen innerhalb von 10 ms Perioden Informationen austauschen und während dieser Zeit ist die durch die Steuerungs-Einrichtungen selbst verursachte Last max. 7,2%.
  • Falls eine Abfragenachricht 142 von einer Bedieneranschlussstation 132 eines systemfremden, ungesteuerten Netzwerks 130 ohne Lastbeschränkungen eingeht, muss sie zunächst einen Drossel-Route 134 oder eine Proxy-Einrichtung passieren, um Zugriff auf die Steuerungsstationen 138 bis 141 auf einem Subnetz 136, das ein deterministisches Netzwerk ist, zu erhalten. Die Proxy-Einrichtung 134 ist so eingerichtet, dass sie ihren Beitrag zur Last auf dem Subnetz auf drei Prozent steuert. Falls die mit der Anfrage verbundene Datenverkehrsmenge ungefähr 120 Mikrosekunden beträgt, kann die Proxy-Einrichtung 134 das Budget begrenzt halten, indem sie einen Mindestabstand zwischen derartigen Anfragen von: 120·100%/3% = 4000 us aufrechterhält. Die Proxy-Einrichtung 134 erlaubt es alle vier Mikrosekunden maximal einer derartigen Anfrage, in das Netzwerk zu gelangen. Dies ist unabhängig von der Anzahl derartiger Anfragen, die gleichzeitig von mehreren Stationen auf dem externen Netzwerk 130 eingeleitet werden könnten.
  • Nach Ablauf einer Zeitverzögerung, wenn eine derartige bestehen sollte, leitet die Proxy-Einrichtung 134 die Nachricht 146 an das bestimmungsgemäße Ziel 140. Das Ziel 140 merkt nicht, dass die Anfragenachricht 142 durch die Proxy-Einrichtung 134 abgefangen und neu erzeugt wurde, da dies eine normale Eigenschaft des betreffenden Netzwerk-Typen ist.
  • Das Ziel 140 erzeugt seine Antwort 144, die zurück an die Proxy-Einrichtung 134 geschickt wird. Die Proxy-Einrichtung 134 erzeugt die Nachricht 148 neu und beendet die Transaktion, indem sie die Nachricht zurück an die Bedienerstation 132 sendet. Aus der Sicht der Bedienerstation 132 scheint es, als ob das Ziel 140 eine Antwortzeit hätte, die etwas größer als die reale Antwortzeit ist, was aber mit einem Erhalt einer Antwort in weniger als 200 ms, typisch für ungesteuerte Netzwerke, vereinbar ist.
  • Zufälliger Datenverkehr beeinflusst den Determinismus des Austauschs von Steuerungsdaten zwischen den Stationen 138 bis 141. Da die Grundlast durch den Steuerungsdatenverkehr maximal 7,2 Prozent beträgt und der zufällige Datenverkehr von der Proxy-Einrichtung zusätzlich maximal 3 Prozent ausmacht, beträgt die Gesamtlast auf dem Netzwerk 136 weniger als 10,2% für eine Zeiteinheit von 10 ms. Dieses Lastniveau auf Ethernet führt zu einer Wahrscheinlichkeit für die Zeiteinheit überschreitende Lieferverzögerungen durch Kollisionen, die vergleichbar ist mit der eines Verlusts von Nachrichten aufgrund Rauschens, die ungefähr eins zu einer Million ist.
  • Es ist nicht notwendig, dass die Bedienerstation 132 spezielle Kommunikations- Hardware oder -Software verwendet, um dieses Ergebnis zu erreichen, da die, wenn vorhandenen, Zeitverzögerungen der Transaktions-Abfolge ohne ihr Wissen auferlegt werden. Das meist verbreitete Automatisierungs-Einrichtungs-Abfrage-Protokoll, bekannt unter MODBUS, hat sowohl eine passende Anfrage-Antwort-Charakteristik, um diese Techniken auszunutzen, als auch eine selbstauferlegte Begrenzung der Nachrichtenlänge, welche den Einfluss auf die Vorhersagbarkeit weiter reduziert. Das Standard-Transportprotokoll TCP, ein Teil der Gruppe TCP/IP, fördert auch ein derartiges Anfrage-Antwort-Verhalten, indem es die Auswahl eines Konfigurations- Parameters gestattet, der als Übertragungs-Fenster bekannt ist. Die Proxy- Einrichtung 134 setzt eine Steuerung des Datenverkehrs durch, selbst wenn es sich dem Wesen nach um Dateiübertragungen handelt, die natürlich versuchen würden, das Netzwerk mit Nachrichten zu überfluten, indem sie das gemeldete Übertragungs- Fenster, wie es von beiden Teilnehmern einer Verbindung gesehen wird, steuert. Dies ermöglicht es Aktivitäten wie Dateiübertragungen, Web-Surfen und Echtzeit- Steuerung ein deterministisches Ethernet gemeinsam zu nutzen, solange der gesamte derartige Datenverkehr gezwungen wird, die Proxy-Einrichtung zu nutzen.
  • Im Fall eines geschalteten Netzwerks, z. B. eines voll-duplex Ethernet oder eines ATM, kann die Gesamtbudget-Begrenzung auf einen relativ hohen Prozentanteil gesetzt werden, beispielsweise 70 Prozent der nominalen Übertragungskapazität. Dem ist so, da die Verzögerung zur Übertragung einer Nachricht zur Auslieferung auf dem umstrittenen Medium im ungünstigsten Fall einfach die Summe der Längen der ausstehenden Nachrichten aller konkurrierenden Stationen in Zeiteinheiten ist. Da diese weniger als 100% der Kapazität in einem gegebenen Einheits-Zeitintervall betragen, besteht demzufolge in diesem Einheits-Zeitintervall eine Möglichkeit, die betreffende Nachricht zu übermitteln.
  • Im Fall eines kollisionsbasierten Netzwerks, wie eines gemeinsam genutzten Ethernets oder verschiedener Multidrop-Netzwerke, die ein gemeinsam benutztes Kabel und ein Trägersignal verwenden, wird eine niedrigere Prozentzahl verwendet, um die endliche Wahrscheinlichkeit einer Kollision einer Nachricht mit einer von einem gleichrangigen Gerät gesendeten zu berücksichtigen. Es wird aber notwendig sein, sich zurückzuziehen und eine Versendung der Nachricht erneut zu versuchen. Theoretische Berechnungen und praktische Untersuchungen zeigen, dass der geeignete Grad für ein einfaches, gemeinsam genutztes Ethernet-Netzwerk ungefähr zehn Prozent beträgt. Bei diesem Grad ist die Wahrscheinlichkeit, dass eine Nachricht um mehr als das veranschlagte Einheits-Zeitintervall oder die Zykluszeit verzögert wird, gleich der Wahrscheinlichkeit, dass die Nachricht aufgrund elektrischen Rauschens auf dem Netzwerk verloren geht.
  • Die Leistungsfähigkeit eines Ethernet-Netzwerks kann verbessert werden, indem nach und nach die wiederholenden Ethernet-Netzknoten, die zum Anschluss beliebiger Einrichtungen an das Netzwerk benötigt werden, durch Ethernet-Switches als Teil der Verkabelungsinfrastruktur ersetzt werden. Eine weitere Verbesserung kann sogar noch erreicht werden, indem selektiv die Geschwindigkeit der Schnittstellen derjenigen Einrichtungen, die den meisten Datenverkehr tragen, erhöht wird, eine Möglichkeit, die in den meisten Feldbus-Technologien nicht gegeben ist.
  • Eine Simulationsseite, die einige der mit einem programmierbaren Logik- Steuerungssystem physikalisch verbundenen Hardwarebauteile darstellt, kann unter Verwendung verschiedener grafischer Programme, die leicht erhältlich sind und nicht Gegenstand der vorliegenden Erfindung bilden, erstellt werden. Die vorliegende Erfindung ermöglicht es einem Benutzer an einem entfernten Ort, mittels eines Browsers die Simulationsseite zu betrachten und verschiedene auf der Simulationsseite dargestellte Komponenten wirklich zu steuern. Fig. 4 zeigt eine einfache Start-Stop- Steuerung eines Motors in Form eines Kontaktplan-Diagramms, das für einen Benutzer als Simulationsseite verfügbar sein könnte. Das Drücken eines Motor-Start- Druckknopfes 150 veranlasst ein Motor-Startrelais 152 über einen normalerweise geschlossenen Stop-Druckknopf 154 und einen normalerweise geschlossenen Überlastungs-Kontakt 156 einzuschalten. Der Motor-Start-Hilfskontakt 158 klinkt in das Relais 152 ein, nachdem der Start-Druckknopf 150 losgelassen wurde, und die Kontrollleuchte 160 leuchtet auf. Der Motor-Start-Hilfskontakt 162 stellt Strom für den Pumpmotor 164 zur Verfügung, der in Betrieb bleibt, bis der Stop-Druckknopf 154 gedrückt wird oder das Überlastungs-Relais 166 eine Überlast-Bedingung erkennt. In diesem Beispiel sind der Start-Druckknopf 150, der Stop-Druckknopf 154, der Überlastungs-Kontakt 156, die Motor-Start-Hilfskontakte 158 und 162 und das Überlastungs-Relais 166 Eingaben an das programmierbare Logik-Steuerungssystem. Das Relais 152, die Kontrollleuchte 160 und der Pumpmotor 164 sind Ausgaben. Die PLC verfügt über Register, die die Auslösedaten für die Eingaben und Ausgaben beinhalten. Ein Anwendungsprogramm in der PLC reagiert auf die Eingaben und steuert die Ausgaben.
  • Ein Benutzer an einem entfernten Ort durchsucht das Internet nach der Homepage der Anlage des programmierbaren Logik-Steuerungssystems. Die PLC haben noch weitere Steuerungsfunktionen, und wenn der Benutzer über die notwendigen Berechtigungen verfügt, werden verschiedene Wahlmöglichkeiten verfügbar. Die Homepage erlaubt es dem Benutzer, eine Momentdarstellung der Tätigkeiten der PLC zu erhalten, indem sie eine Ansicht verschiedener Seiten ermöglicht, die einen Zugriff auf Register innerhalb der PLC gestatten. Andere Seiten beinhalten weiterhin Darstellungen der Konfiguration der PLC, von Betriebszustands-Statistiken entfernter und dezentralisierter I/O-Module, von Display-Registern, der Konfiguration der Hauptplatine, von Ethernet-Statistiken und von anderem, wie weiter oben in Tabelle 1 gezeigt wurde.
  • Die Diagramm-Simulationsseite wird auf dem Browserbildschirm aufgerufen, was es dem Benutzer ermöglicht, den Status des Systems zu betrachten. Die Leuchte 160, das Relais 152, die Kontakte 158,162 und der Pumpmotor 164 des Simulationsdiagramms werden entsprechend dem Zustand der tatsächlichen Einrichtungen aktualisiert. Die Zustände der Eingaben und Ausgaben werden dann auf dem Kontaktplan dargestellt, der bei deren Änderungen automatisch aktualisiert wird. Durch die Verwendung von Applets, die den Start-Druckknopf 150 und den Stop-Druckknopf 154 darstellen, kann der Benutzer den Start und den Stop des Motors manuell steuern, indem eine Maus oder die Tastatur verwendet wird, um einen Cursor zu positionieren und um entweder das Start- 168 oder das Stopkästchen 170 anzuklicken.
  • Obwohl die speziellen Ausführungsformen dargestellt und beschrieben wurden, sind vielfältige Modifikationen möglich, ohne vom Umfang oder dem Wesen der Erfindung abzurücken.

Claims (15)

1. Schnittstellenmodul (4) zum Austausch von Daten zwischen einer sich in einem Netzwerk von industriellen Steuerungseinrichtungen befindlichen Zieleinrichtung und einer sich in einem Allzweck-Kommunikationsnetzwerk (14) befindlichen Quelleneinrichtung, wobei die Zieleinrichtung eine programmierbare Logiksteuerungseinrichtung (32) beinhaltet, die ein Anwendungsprogramm (36) enthält, um Eingangs/Ausgangsmodule (40) in einem deterministischen Zeitrahmen zu steuern; gekennzeichnet dadurch, daß das Schnittstellenmodul aufweist:
a) Mittel (16) zur Verbindung des Schnittstellenmoduls mit dem Allzweck- Kommunikationsnetzwerk, wobei diese Verbindungsmittel zum Empfang einer Datenanforderung einer Zieleinrichtung an die Quelleneinrichtung und zum Senden einer Antwort von der Zieleinrichtung an die Quelleneinrichtung bestimmt sind;
b) Mittel (56) zur Verbindung des Schnittstellenmoduls mit dem Netzwerk von industriellen Steuerungseinrichtungen, wobei diese Verbindungsmittel zum Senden der Datenanforderung der Quelleneinrichtung an die Zieleinrichtung und zum Empfang einer Antwort von der Zieleinrichtung an die Quelleneinrichtung bestimmt sind, und die Datenanforderungen und die Antworten dazu dienen, die Zieleinrichtung ferngesteuert zu überwachen und zu steuern, um die industriellen Steuerungseinrichtungen zu steuern;
c) Mittel (30), um eine Zykluszeit für jede Nachrichtenübermittlung vorzubestimmen, wobei die Zykluszeit auf einer Anzahl von mit dem Netzwerk von industriellen Steuerungseinrichtungen verbundenen Einrichtungen, einer Bandbreite des Netzwerks von industriellen Steuerungseinrichtungen und einem vorbestimmten Lastfaktor beruht; und
d) Mittel (30) zur Verarbeitung und Verzögerung der an das Ziel gesendeten Datenanforderungen, so daß die an das Ziel gesendete Datenanforderung und die vom Ziel zum Schnittstellenmodul zurück empfangene Antwort in einer regulären Sequenz innerhalb der vorbestimmten Zykluszeit ausgetauscht werden; und
e) Mittel (30), um die Antwort von der Zieleinrichtung zurück an die Quelleneinrichtung zu senden.
2. Schnittstellenmodul nach Anspruch 1, bei dem das Allzweck- Kommunikationsnetzwerk ein Ethernet (74), (102) ist.
3. Schnittstellenmodul nach Anspruch 2, weiterhin beinhaltend Mittel zur Berechnung des Zeitzyklus, dahingehend, daß die gesamte Übertragungsmenge in Zeiteinheiten absichtlich auf einen Bruchteil der maximalen Übertragungskapazität des Netzwerkes beschränkt ist.
4. Schnittstellenmodul nach Anspruch 3, bei dem das Netzwerk (112) von industriellen Steuerungseinrichtungen (110), (120), (122) mit einer Lastfaktorbegrenzung von 10% deterministisch ist.
5. Schnittstellenmodul nach Anspruch 4, bei dem die Berechnungsmittel die jeweiligen Datenanforderungen bis zu einem Standardlimit von 3% verzögern.
6. Schnittstellenmodul (16) nach einem der vorhergehenden Ansprüche, bestehend aus einer zentralen Prozessoreinheit (CPU) (46) zur Steuerung der Funktion des Schnittstellenmoduls und einem Echtzeit-Betriebssystem (44) zur Steuerung der Wechselwirkungen zwischen der CPU und anderen Elementen, umfassend das Schnittstellenmodul, wobei:
a) die Mittel zur Verbindung des Schnittstellenmoduls mit dem Allzweck- Kommunikationsnetzwerk eine Netzwerkschnittstelle (48) aufweisen;
b) die Mittel zur Verbindung des Schnittstellenmoduls mit dem Netzwerk von industriellen Steuerungseinrichtungen eine Brücke (78) aufweisen;
c) die Mittel zur Vorbestimmung einer Zykluszeit für jede Nachrichtenübermittlung eine Proxy-Einrichtung (92) aufweisen;
d) die Proxy-Einrichtung darüber hinaus Mittel zur Bearbeitung und Verzögerung der zum Ziel gesendeten Datenanforderungen aufweist; und
wobei ein TCP/IP-Stapelspeicher (54) vorgesehen ist, um den internen Datenaustausch zwischen der Netzwerkschnittstelle und der Brücke unter Kontrolle der CPU und des Echtzeit-Betriebssystems zu steuern.
7. Schnittstellenmodul nach Anspruch 6, bei dem das Schnittstellenmodul (30) als Website konfiguriert ist und das Allzweck-Kommunikationsnetzwerk das Internet ist.
8. Schnittstellenmodul nach Anspruch 6 oder 7, bei dem die Brücke einen Hauptplatinen-Treiber (56) zur direkten Verbindung mit einer programmierbaren Steuereinheit, welche mit dem Netzwerk der industriellen Steuerungseinrichtungen verbunden ist, beinhaltet.
9. Schnittstellenmodul nach einem der Ansprüche 6, 7, 8, bei dem der Proxy- Server im Betrieb als TCP/IP-Router (134) funktioniert und als Kommunikationsschnittstelle zwischen einem Echtzeit- und einem Nichtechtzeit-Anteil (136), (130) zwischen der Zieleinrichtung und dem Netzwerk von industriellen Steuerungseinrichtungen konfiguriert ist.
10. Schnittstellenmodul nach Anspruch 9, bei dem der Proxy-Server weiterhin dazu dient, nicht notwendigen Datenverkehr zwischen den Echtzeit- und Nichtechtzeit- Anteilen zu beschränken, indem eine Rate kontrolliert wird, mit welcher Nachrichten von dem Nichtechtzeit-Anteil an den Echtzeit-Anteil des Netzwerkes weitergeleitet werden, wodurch die Last auf dem Echtzeit-Anteil konstant bleibt, unabhängig vom externen Bedarf an Nichtechtzeit-Kommunikation.
11. Schnittstellenmodul nach Anspruch 6, bei dem das Allzweck- Kommunikationsnetzwerk ein Ethernet (74) ist.
12. Industrielles Steuerungssystem, welches ein Schnittstellenmodul (30), (114) nach einem der vorhergehenden Ansprüche hat, in Kombination mit der Zieleinrichtung (80), (110) und den industriellen Steuerungseinrichtungen (84), (120), (122).
13. Industrielles Steuerungssystem nach Anspruch 12, bei dem das Netzwerk von industriellen Steuerungseinrichtungen mit einer Lastfaktorbegrenzung von 10% deterministisch ist.
14. Industrielles Steuerungssystem nach Anspruch 13, bei dem die Proxy- Einrichtung im Betrieb die jeweiligen Datenanfragen bis zu einem Standardlimit von 3% verzögert.
15. Verfahren zum Betrieb eines Systems nach den Ansprüchen 12, 13 oder 14, bei der die Datenanforderungen und Antworten zur ferngesteuerten Überwachung und Steuerung der programmierbaren Logiksteuereinheit ausgetauscht werden, um die industriellen Steuerungseinrichtungen zu steuern.
DE69805952T 1997-09-10 1998-09-09 Vorrichtung zur steuerung von verbindungen zwischen netzwerken Expired - Lifetime DE69805952T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/926,837 US6321272B1 (en) 1997-09-10 1997-09-10 Apparatus for controlling internetwork communications
PCT/US1998/018708 WO1999013388A1 (en) 1997-09-10 1998-09-09 Apparatus for controlling internetwork communications

Publications (2)

Publication Number Publication Date
DE69805952D1 DE69805952D1 (de) 2002-07-18
DE69805952T2 true DE69805952T2 (de) 2003-01-23

Family

ID=25453781

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69805952T Expired - Lifetime DE69805952T2 (de) 1997-09-10 1998-09-09 Vorrichtung zur steuerung von verbindungen zwischen netzwerken

Country Status (6)

Country Link
US (1) US6321272B1 (de)
EP (1) EP0937283B1 (de)
JP (1) JP2001505343A (de)
CA (1) CA2271198C (de)
DE (1) DE69805952T2 (de)
WO (1) WO1999013388A1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10316288B4 (de) * 2003-04-09 2007-05-24 Siemens Ag Vorrichtung und Verfahren zur Datenübertragung
US8170694B2 (en) 2005-11-14 2012-05-01 Mitsubishi Electric Corporation Network unit and programmable controller using the same
DE102011011587A1 (de) * 2011-02-17 2012-08-23 Phoenix Contact Gmbh & Co. Kg Portunabhängiges topologisch geplantes Echtzeitnetzwerk

Families Citing this family (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327031B1 (en) 1998-09-18 2001-12-04 Burstein Technologies, Inc. Apparatus and semi-reflective optical system for carrying out analysis of samples
GB9418981D0 (en) 1994-09-21 1994-11-09 Univ Glasgow Apparatus and method for carrying out analysis of samples
US7761910B2 (en) * 1994-12-30 2010-07-20 Power Measurement Ltd. System and method for assigning an identity to an intelligent electronic device
US7146408B1 (en) 1996-05-30 2006-12-05 Schneider Automation Inc. Method and system for monitoring a controller and displaying data from the controller in a format provided by the controller
US7216043B2 (en) * 1997-02-12 2007-05-08 Power Measurement Ltd. Push communications architecture for intelligent electronic devices
US6732191B1 (en) * 1997-09-10 2004-05-04 Schneider Automation Inc. Web interface to an input/output device
US6587884B1 (en) * 1997-09-10 2003-07-01 Schneider Automation, Inc. Dual ethernet protocol stack for maximum speed access to a programmable logic controller (PLC)
US20020152289A1 (en) * 1997-09-10 2002-10-17 Schneider Automation Inc. System and method for accessing devices in a factory automation network
US6484061B2 (en) * 1997-09-10 2002-11-19 Schneider Automation Inc. Web interface to a programmable controller
US6393380B1 (en) * 1998-02-13 2002-05-21 Sierra Concepts Corporation Interactive support system manufacturing equipment
US7162510B2 (en) 1998-03-16 2007-01-09 Schneider Automation Inc. Communication system for a control system over Ethernet and IP networks
FR2781583B1 (fr) * 1998-07-22 2000-12-01 Cegelec Architecture de communication pour systeme industriel de conduite de procede et unite programmee correspondante
US6233626B1 (en) * 1998-10-06 2001-05-15 Schneider Automation Inc. System for a modular terminal input/output interface for communicating messaging application layer over encoded ethernet to transport layer
US6853867B1 (en) 1998-12-30 2005-02-08 Schneider Automation Inc. Interface to a programmable logic controller
US6845401B1 (en) * 1998-12-30 2005-01-18 Schneider Automation Inc. Embedded file system for a programmable logic controller
US6405104B1 (en) * 1999-03-24 2002-06-11 General Electric Corporation Fault data synchronization via peer-to-peer communications network
JP2000278290A (ja) * 1999-03-29 2000-10-06 Matsushita Electric Ind Co Ltd ネットワーク管理システム
DE19929933C2 (de) * 1999-06-29 2002-06-27 Siemens Ag Kommunikationssystem und Kommunikationsverfahren für ein Automatisierungsgerät mit im Automatisierungsgerät gespeicherten Kommunikationsdaten
GB2351588B (en) * 1999-07-01 2003-09-03 Ibm Security for network-connected vehicles and other network-connected processing environments
DE19930660A1 (de) * 1999-07-02 2001-01-11 Siemens Ag Verfahren zur Überwachung oder zur Installation neuer Programmcodes in einer industriellen Anlage
US6952727B1 (en) * 1999-12-07 2005-10-04 Schneider Automation Inc. Method for adapting a computer-to-computer communication protocol for use in an industrial control system
EP1195022A2 (de) * 1999-12-31 2002-04-10 Schneider Automation Inc. ETHERNETüBERTRAGUNGSEINRICHTUNG MIT EINER EINGEBETTETEN SPEICHERPROGRAMMIERBAREN STEUERUNG
AT413246B (de) * 2000-01-25 2005-12-15 Wieland Martin Verfahren zur erfassung, übertragung und speicherung von schaltzuständen elektrischer schaltgeräte
FR2804218B1 (fr) 2000-01-26 2002-03-29 Schneider Automation Automate programmable dote de fonctions de communication dans une architecture client-serveur
US7117263B1 (en) * 2000-02-01 2006-10-03 Hewlett-Packard Development Company, L.P. Apparatus and method for processing requests from an external queue in a TCP/IP-based application system
JP3883775B2 (ja) 2000-03-17 2007-02-21 株式会社デジタル 制御システム用サーバ装置、制御システム、制御システム用サーバ装置の通信方法、および、そのプログラムが記録された記録媒体
DE60139431D1 (de) 2000-03-17 2009-09-10 Digital Electronics Corp Steuerungsserver, Steuerungsendgerät, Steuerungssystem und Speichersteuerungskommunikationsprogramm für Aufzeichnungsmedien
CA2310538A1 (en) * 2000-06-09 2001-12-09 Christopher Kirchmann Data line interrupter switch
US20040114591A1 (en) * 2000-07-13 2004-06-17 Schneider Automation Sas IP Routing Between Modules on a PLC Backplane
EP1184763A1 (de) * 2000-08-24 2002-03-06 Infineon Technologies SC300 GmbH & Co. KG Anordnung zur Datenübertragung zwischen einem Gerät zum Herstellen einer Halbleitervorrichtung und einer Kommunikationsvorrichtung, und Verfahren zum Betrieb der Anordnung
US7028204B2 (en) * 2000-09-06 2006-04-11 Schneider Automation Inc. Method and apparatus for ethernet prioritized device clock synchronization
US20020167967A1 (en) * 2000-09-06 2002-11-14 Schneider Electric Method for managing bandwidth on an ethernet network
US20020075307A1 (en) * 2000-09-28 2002-06-20 Vigilos, Inc. System and method for dynamic interaction with remote devices
US7085802B1 (en) * 2000-10-06 2006-08-01 International Business Machines Corporation Device for connecting two workstations with several links
US6640140B1 (en) * 2000-10-10 2003-10-28 Schneider Automation Inc. PLC executive with integrated web server
EP1410044A2 (de) 2000-11-08 2004-04-21 Burstein Technologies, Inc. Interaktives system zur analyse biologischer proben und zur verarbeitung damit im zusammenhang stehender angaben und verwendung davon
DE10058524A1 (de) * 2000-11-24 2002-06-13 Siemens Ag System und Verfahren zur parallelen Übertragung von echtzeitkritischen und nicht echtzeitkritischen Daten über schaltbare Datennetze, insbesondere Ethernet
US6950874B2 (en) * 2000-12-15 2005-09-27 International Business Machines Corporation Method and system for management of resource leases in an application framework system
US7085824B2 (en) * 2001-02-23 2006-08-01 Power Measurement Ltd. Systems for in the field configuration of intelligent electronic devices
US6795798B2 (en) * 2001-03-01 2004-09-21 Fisher-Rosemount Systems, Inc. Remote analysis of process control plant data
US6671583B2 (en) 2001-03-30 2003-12-30 Helix Technology Corporation Vacuum system information network
US7447762B2 (en) * 2001-04-02 2008-11-04 Curray Timothy G Ethernet communications for power monitoring system
US20040143628A1 (en) * 2001-04-20 2004-07-22 Bradford Jonathan D. Systems and methods that discover and configure non-TCP/IP networks and devices residing therein
US8028099B2 (en) * 2001-04-20 2011-09-27 Rockwell Automation Technologies, Inc. Industrial control system with web enabled I/O modules
US7016751B2 (en) * 2001-07-13 2006-03-21 Helix Technology Corporation Vacuum system central control information server
EP1288757A1 (de) 2001-08-07 2003-03-05 Siemens Aktiengesellschaft Verfahren und Prozessleitsystem zum Betrieb einer technischen Anlage
US6819960B1 (en) * 2001-08-13 2004-11-16 Rockwell Software Inc. Industrial controller automation interface
US7266589B2 (en) * 2001-08-13 2007-09-04 General Electric Company Service-portal enabled automation control module (ACM)
FR2829337B1 (fr) * 2001-09-03 2003-10-31 Schneider Automation Equipement d'automatisme connecte a un reseau tcp/ip
US20070130310A1 (en) * 2001-09-28 2007-06-07 Rockwell Automation Technologies, Inc. I/O Module with Web Accessible Product Data
DE10151116A1 (de) * 2001-10-15 2003-05-08 Siemens Ag Verfahren zur Inbetriebnahme eines Bedien- und Beobachtungssystems von Feldgeräten
DE10151115A1 (de) 2001-10-15 2003-05-08 Siemens Ag Verfahren zum Bedienen und zum Beobachten von Feldgeräten
FI115272B (fi) * 2001-12-14 2005-03-31 Abb Oy Menetelmä ja laite tiedon välittämisen tietoliikennejärjestelmässä
DE10214501A1 (de) * 2002-04-02 2003-10-30 Siemens Ag Webserver mit integrierter Automatisierungsfunkionalität und direktem Zugriff auf die Echtzeit-Kommunikationsebene des Realtime-Ethernets
DE10214540A1 (de) * 2002-04-02 2003-10-30 Siemens Ag Webserver mit integrierter Automatisierungsfunktionalität und Zugriff auf ein Echtzeit-Betriebssystem
DE10214541A1 (de) * 2002-04-02 2003-10-30 Siemens Ag Webserver mit integrierter Automatisierungsfunktionalität
EP1355208A1 (de) * 2002-04-15 2003-10-22 Peter Renner System zur Automatisierung technischer Prozesse
US20040030799A1 (en) * 2002-05-15 2004-02-12 Manu Gulati Bandwidth allocation fairness within a processing system of a plurality of processing devices
EP1367778A1 (de) * 2002-05-31 2003-12-03 Fujitsu Siemens Computers, LLC Vernetztes Computersystem und Methode unter Verwendung eines doppelten bidirektionalen Kommunikationsrings
US20030234045A1 (en) * 2002-06-24 2003-12-25 Ali Shajii Apparatus and method for mass flow controller with on-line diagnostics
US6868862B2 (en) * 2002-06-24 2005-03-22 Mks Instruments, Inc. Apparatus and method for mass flow controller with a plurality of closed loop control code sets
US7809473B2 (en) 2002-06-24 2010-10-05 Mks Instruments, Inc. Apparatus and method for pressure fluctuation insensitive mass flow control
US7004191B2 (en) * 2002-06-24 2006-02-28 Mks Instruments, Inc. Apparatus and method for mass flow controller with embedded web server
US20030234047A1 (en) * 2002-06-24 2003-12-25 Ali Shajii Apparatus and method for dual processor mass flow controller
US6810308B2 (en) 2002-06-24 2004-10-26 Mks Instruments, Inc. Apparatus and method for mass flow controller with network access to diagnostics
US7552015B2 (en) * 2002-06-24 2009-06-23 Mks Instruments, Inc. Apparatus and method for displaying mass flow controller pressure
US6948508B2 (en) 2002-06-24 2005-09-27 Mks Instruments, Inc. Apparatus and method for self-calibration of mass flow controller
US6712084B2 (en) 2002-06-24 2004-03-30 Mks Instruments, Inc. Apparatus and method for pressure fluctuation insensitive mass flow control
US7136767B2 (en) * 2002-06-24 2006-11-14 Mks Instruments, Inc. Apparatus and method for calibration of mass flow controller
DE10229704A1 (de) * 2002-07-02 2004-01-29 Endress + Hauser Process Solutions Ag Verfahren zum Schutz vor unerlaubtem Zugriff auf ein Feldgerät in der Prozessautomatisierungstechnik
EP1388769A1 (de) 2002-08-05 2004-02-11 Peter Renner System zur Automatisierung, Überwachung, Steuerung, Messwerterfassung von technischen Prozessen
JP4786116B2 (ja) * 2002-09-06 2011-10-05 ソニー株式会社 情報処理装置および方法、並びにプログラム
US7441114B2 (en) * 2002-09-10 2008-10-21 Ge Fanuc Automation North America, Inc. Methods and systems for management and control of an automation control module
US9009084B2 (en) 2002-10-21 2015-04-14 Rockwell Automation Technologies, Inc. System and methodology providing automation security analysis and network intrusion protection in an industrial environment
US8909926B2 (en) * 2002-10-21 2014-12-09 Rockwell Automation Technologies, Inc. System and methodology providing automation security analysis, validation, and learning in an industrial controller environment
US20040162996A1 (en) * 2003-02-18 2004-08-19 Nortel Networks Limited Distributed security for industrial networks
US20040162992A1 (en) * 2003-02-19 2004-08-19 Sami Vikash Krishna Internet privacy protection device
US7911994B2 (en) * 2003-02-28 2011-03-22 Openwave Systems Inc. Confirmation of delivery of content to an HTTP/TCP device
FI116184B (fi) * 2003-03-17 2005-09-30 Abb Oy Menetelmä ja järjestely liikenteen järjestelemiseksi tietoliikennejärjestelmässä
US8176532B1 (en) 2003-03-17 2012-05-08 Sprint Communications Company L.P. Secure access point for scada devices
US6813943B2 (en) 2003-03-19 2004-11-09 Mks Instruments, Inc. Method and apparatus for conditioning a gas flow to improve a rate of pressure change measurement
JP4271478B2 (ja) * 2003-04-08 2009-06-03 パナソニック株式会社 中継装置及びサーバ
US8587452B2 (en) * 2003-05-12 2013-11-19 Power Measurement Ltd. Time coordinated energy monitoring system utilizing communications links
US8150959B1 (en) 2003-11-17 2012-04-03 Rockwell Automation Technologies, Inc. Systems and methods for notifying multiple hosts from an industrial controller
US7721273B1 (en) 2003-11-17 2010-05-18 Rockwell Automation Technologies, Inc. Controller equipment model systems and methods
EP1542105B1 (de) * 2003-12-09 2010-07-28 Sap Ag Industrielles Steuerungssystem und Datenverarbeitungsverfahren dafür
US7399411B2 (en) * 2004-01-29 2008-07-15 International Business Machines Corporation Retainer assembly including buoyant retainer attached to remediation material and anchor
US8214532B2 (en) * 2004-04-27 2012-07-03 Rockwell Automation Technologies, Inc. Communication protocol bridge and controller method and system
US7512593B2 (en) * 2004-06-08 2009-03-31 Siemens Energy & Automation, Inc. System for searching across a PLC network
US7860874B2 (en) * 2004-06-08 2010-12-28 Siemens Industry, Inc. Method for searching across a PLC network
US20060004904A1 (en) * 2004-06-30 2006-01-05 Intel Corporation Method, system, and program for managing transmit throughput for a network controller
US20060078125A1 (en) * 2004-10-08 2006-04-13 Philip Cacayorin Devices and methods for implementing cryptographic scrambling
GB0504326D0 (en) * 2005-03-02 2005-04-06 Symbian Software Ltd Dual mode operating system for a computing device
US20070030802A1 (en) * 2005-08-05 2007-02-08 Canon Development Americas, Inc. Enabling non real-time communication enabled devices to participate in real time communication scenarios
US7853677B2 (en) * 2005-09-12 2010-12-14 Rockwell Automation Technologies, Inc. Transparent bridging and routing in an industrial automation environment
US8175089B2 (en) * 2005-09-30 2012-05-08 Rockwell Automation Technologies, Inc. Extended address space capability for an industrial protocol
US20070186010A1 (en) * 2006-02-03 2007-08-09 Rockwell Automation Technologies, Inc. Extending industrial control system communications capabilities
US20070186011A1 (en) * 2006-02-03 2007-08-09 Rockwell Automation Technologies, Inc. Industrial protocol and gateway
US8317509B2 (en) 2006-02-21 2012-11-27 Mgs Mfg. Group, Inc. Two-shot, four station injection mold
JP4172490B2 (ja) * 2006-03-15 2008-10-29 オムロン株式会社 プログラマブルコントローラ
US20080080543A1 (en) * 2006-09-28 2008-04-03 Rockwell Automation Technologies, Inc. Network switch with controller i/o capability
EP1981245A1 (de) * 2007-04-13 2008-10-15 Liconic Ag Verfahren und Produkt zur Steuerung von Laborgeräten
US8117434B2 (en) 2008-12-31 2012-02-14 Schneider Electric USA, Inc. Component configuration mechanism for rebooting
US8737398B2 (en) * 2008-12-31 2014-05-27 Schneider Electric USA, Inc. Communication module with network isolation and communication filter
CN101727104B (zh) * 2009-11-17 2012-03-07 东莞市润星机械科技有限公司 数控机床网络传输控制系统及方法
US9529348B2 (en) 2012-01-24 2016-12-27 Emerson Process Management Power & Water Solutions, Inc. Method and apparatus for deploying industrial plant simulators using cloud computing technologies
CN104079398B (zh) * 2013-03-28 2019-04-12 腾讯科技(深圳)有限公司 一种数据通信方法、装置及系统
US20150186119A1 (en) * 2013-12-31 2015-07-02 Rockwell Automation Technologies, Inc. Industrial automation device with editor and graphical object mobile visualization
US10320958B2 (en) * 2014-12-19 2019-06-11 Emerson Process Management Lllp Fast data transfer communication protocol for an industrial process network
WO2017200868A1 (en) * 2016-05-16 2017-11-23 Fisher-Rosemount Systems, Inc. Multi-protocol field device in process control systems
DE202016106787U1 (de) * 2016-12-06 2017-01-23 Keuro Besitz Gmbh & Co. Edv-Dienstleistungs Kg Überwachungssystem für eine Echtzeit-Überwachung einer Werkzeugmaschine sowie Werkzeugmaschine und Sende- und Empfangsmodul hierfür
US10536291B2 (en) 2018-05-25 2020-01-14 K4Connect Inc. Home automation system including hub device determined time slot wireless communications and related methods
DE102019131622A1 (de) * 2019-11-22 2021-05-27 Beckhoff Automation Gmbh Verfahren zum Betreiben eines Automatisierungssystems und Dateninfrastruktur

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5377327A (en) * 1988-04-22 1994-12-27 Digital Equipment Corporation Congestion avoidance scheme for computer networks
US5163046A (en) * 1989-11-30 1992-11-10 At&T Bell Laboratories Dynamic window sizing in a data network
US5745758A (en) * 1991-09-20 1998-04-28 Shaw; Venson M. System for regulating multicomputer data transfer by allocating time slot to designated processing task according to communication bandwidth capabilities and modifying time slots when bandwidth change
JPH06284148A (ja) * 1993-03-30 1994-10-07 Hitachi Ltd 動画通信制御方法及び通信制御装置
US5864679A (en) * 1993-09-06 1999-01-26 Kabushiki Kaisha Toshiba Transaction routing in a multiple processor system using an extracted transaction feature parameter and transaction historical data
US5664101A (en) * 1993-12-22 1997-09-02 Heidelberg Druckmaschinen Ag Intelligent industrial local area network module for use in a distributed control system
US5475601A (en) * 1994-02-15 1995-12-12 Emhart Glass Machinery Investments Inc. Control for glassware forming system including bidirectional network gateway
DE59407059D1 (de) * 1994-10-25 1998-11-12 Rieter Ingolstadt Spinnerei Backplane-Steuerung für Spinnereimaschine
DE29600609U1 (de) * 1996-01-17 1997-02-13 Siemens AG, 80333 München Automatisierungsgerät
US5893091A (en) * 1997-04-11 1999-04-06 Immediata Corporation Multicasting with key words

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10316288B4 (de) * 2003-04-09 2007-05-24 Siemens Ag Vorrichtung und Verfahren zur Datenübertragung
DE10316288C5 (de) * 2003-04-09 2013-06-06 Siemens Aktiengesellschaft Vorrichtung und Verfahren zur Datenübertragung
US8170694B2 (en) 2005-11-14 2012-05-01 Mitsubishi Electric Corporation Network unit and programmable controller using the same
DE112006002841B4 (de) * 2005-11-14 2016-12-22 Mitsubishi Electric Corp. Netzeinheit und programmierbare Steuervorrichtung, die selbige verwendet
DE102011011587A1 (de) * 2011-02-17 2012-08-23 Phoenix Contact Gmbh & Co. Kg Portunabhängiges topologisch geplantes Echtzeitnetzwerk
US8966022B2 (en) 2011-02-17 2015-02-24 Phoenix Contact Gmbh & Co. Kg Port-independent topologically planned real-time network

Also Published As

Publication number Publication date
JP2001505343A (ja) 2001-04-17
WO1999013388A1 (en) 1999-03-18
EP0937283B1 (de) 2002-06-12
CA2271198C (en) 2007-06-19
DE69805952D1 (de) 2002-07-18
US6321272B1 (en) 2001-11-20
EP0937283A1 (de) 1999-08-25
CA2271198A1 (en) 1999-03-18

Similar Documents

Publication Publication Date Title
DE69805952T2 (de) Vorrichtung zur steuerung von verbindungen zwischen netzwerken
US6760782B1 (en) Apparatus for controlling internetwork communications
DE60023292T2 (de) Doppelter ethernet-stack für plc-zugang mit maximaler geschwindigkeit
DE69033551T2 (de) Vermeidung von Überlastung in Computer-Netzwerken mit Hilfe von Verzögerung
DE69833777T2 (de) Webschnittstelle für eine programmierbare steuerung
US6151625A (en) Internet web interface including programmable logic controller for controlling output devices based on status of input devices
US8291121B2 (en) System and method for interfacing with a controller
US6484061B2 (en) Web interface to a programmable controller
DE60201682T2 (de) Anordnung zur erzeugung mehrerer virtueller warteschlangenpaare aus einer komprimierten warteschlange auf der basis gemeinsamer attribute
EP1436676B1 (de) Verfahren zum bedienen und zum beobachten von feldger ten
JP5461501B2 (ja) 入出力装置に対するウェブ・インターフェース
DE602004001312T2 (de) Publikations-Abonnementsystem
DE69931052T2 (de) Middleware-basiertes echtzeit-kommunikationssystem
DE60113030T2 (de) System zur programmierung einer sps mit einem web-browser
EP1590927B1 (de) Koppler für ein netzwerk mit ringtopologie und ein auf ethernet basierten netzwerk
CN1761207A (zh) 一种用于监视和控制网络的计算机网络系统和方法
WO2008125687A1 (de) Paketvermittlungsvorrichtung und lokales kommunikationsnetz mit einer solchen paketvermittlungsvorrichtung
CN1631018B (zh) 在网络中获取信息的方法和装置
WO2003036401A2 (de) Verfahren zum erfassen von mehreren feldgeräten in einer gerätekonfiguration
Cisco Configuring LAT
DE68929401T2 (de) Transportsystem für ein lokales Netz
MXPA99004250A (en) Apparatus for controlling internetwork communications
DE10151118A1 (de) Verfahren zum Übertragen von Rohdaten und Feldgerät
Kirk Time-critical communication systems
Jackson Performance of buffer insertion LANs

Legal Events

Date Code Title Description
8364 No opposition during term of opposition