DE60023292T2 - Doppelter ethernet-stack für plc-zugang mit maximaler geschwindigkeit - Google Patents

Doppelter ethernet-stack für plc-zugang mit maximaler geschwindigkeit Download PDF

Info

Publication number
DE60023292T2
DE60023292T2 DE60023292T DE60023292T DE60023292T2 DE 60023292 T2 DE60023292 T2 DE 60023292T2 DE 60023292 T DE60023292 T DE 60023292T DE 60023292 T DE60023292 T DE 60023292T DE 60023292 T2 DE60023292 T2 DE 60023292T2
Authority
DE
Germany
Prior art keywords
protocol stack
interface module
protocol
tcp
stack
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.)
Revoked
Application number
DE60023292T
Other languages
English (en)
Other versions
DE60023292D1 (de
Inventor
Dean A. PAPADOPOLOUS
Allan Tanzman
H. Ronald NAISMITH
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23894594&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE60023292(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Schneider Automation SAS, Schneider Automation Inc filed Critical Schneider Automation SAS
Publication of DE60023292D1 publication Critical patent/DE60023292D1/de
Application granted granted Critical
Publication of DE60023292T2 publication Critical patent/DE60023292T2/de
Anticipated expiration legal-status Critical
Revoked legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/169Special adaptations of TCP, UDP or IP for interworking of IP based networks with other networks 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/12Plc mp multi processor system
    • G05B2219/1208Communication, exchange of control, I-O data between different plc
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15038Internet, tcp-ip, web server see under S05B219-40
    • 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/31104Remote configuration of parameters of controlled devices
    • 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/31124Interface between communication network and process control, store, exchange data
    • 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/31156Network structure, internet
    • 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/31186TCP-IP internet protocol
    • 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/31422Upload, download programs, parameters from, to station to, from server
    • 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/32Operator till task planning
    • G05B2219/32126Hyperlink, access to program modules and to hardware modules in www, web server, browser
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Description

  • Die Erfindung des Anmelders betrifft im Allgemeinen das Gebiet von programmierbaren Steuerungen und genauer ein Schnittstellenmodul zum Erhalten von Datenanforderungen von einem entfernten Standort, um von einem Kommunikationsnetz Zugriff auf eine programmierbare Logiksteuerung bereitzustellen.
  • Diese Anmeldung beruht auf einer teilweisen Weiterführung der US-Patentanmeldung Nr. 09/303,458, die eine teilweise Weiterführung der US-Patentanmeldung Nr. 08/927,005 ist. Diese Anmeldung ist auch mit den folgenden gemeinsam übertragenen Anmeldungen mit den Titeln "Apparatus for Controlling Internetwork Communications", US-Patentanmeldung Nr. 08/926,837, und "Messaging Application Layer (MODBUS) Over Ethernet to Transport Layer (TCP) Communications Method and Apparatus for a Modular Terminal Input/Output System", US-Patentanmeldung Nr. 09/166.870, verwandt.
  • Die Fernüberwachung und die Steuerung von Systemen und Vorgängen haben viele Formen angenommen. In der Vergangenheit wurden fest zugeordnete Leitungen die gebräuchlichste Form der Kommunikation zwischen einem Steuersystem und einem entfernten Standort. Dies weist eine begrenzte Anwendbarkeit auf, da das Steuersystem nicht von mehreren Standorten zugänglich war. Modems haben es möglich gemacht, von unterschiedlichen Standorten auf das Steuersystem zuzugreifen, doch sind diese Arten von Systemen im Allgemeinen auf das Herunterladen und Hochladen von Datendateien beschränkt. Das Bereitstellen jedweder Art von Steuerfunktion zwischen Standorten ist in dieser Art von Umgebung ziemlich beschränkt. Außerdem benötigte ein Endbenutzer im Allgemeinen eine anwenderangepasste Schnittstelle, um auf das Steuersystem zuzugreifen.
  • Mit dem Wachsen des Internets und seines weltweiten Netzes, das eine Lieferplattform zum Organisieren von Internetdaten durch Hypertext-Verknüpfungen bereitstellt, kann ein Kundenserversystem gestaltet werden, das jedem Endbenutzer die gleiche Art einer benutzerfreundlichen Schnittstelle mit dem gleichen allgemeinen Zugriff auf Dienste im "Web" geben wird. Das "Web" ist ein Netz von "Sites" oder "Seiten" genannten Dokumenten, die in der ganzen Welt auf Servercomputern gespeichert sind. Jede Seite wird gewöhnlich Text, irgendeine Art von Multimedienangeboten wie etwa graphische Bilder, Video oder Audio, und mögliche Hypertext-Verknüpfungen zu anderen Dokumenten enthalten. Ein Browser gestattet einem Benutzer, die Seiten zu lesen und mit den damit verbundenen Auswahlmöglichkeiten zu interagieren. Der Browser ist ein graphisches Softwareprogramm, das Befehle zur Internet-Webseite sendet und jegliche Informationen, die auf der Seite verfügbar sind, anzeigt. Verschiedenste Browserprogramme von verschiedenen Herstellern sind im Handel erhältlich.
  • Das Internetnetz setzt Verfahren ein, die dazu bestimmt sind, mit Tausenden von Allzweck-Computern, die sich ein einzelnes Kabel teilen, umzugehen, und verfügt daher über keine Fähigkeit, den Verkehr hinsichtlich seines Zwecks oder der Kritikalität seiner Daten zu unterscheiden. Das Internet ist nicht länger ein Netz von Computern, die sich ein einzelnes Kabel teilen, sondern vielmehr ein Netz von untereinander verbundenen Punkt-zu-Punkt-Verknüpfungen, das sowohl Allzweck-Stationen als auch spezialisierte Infrastrukturkomponenten wie etwa Router oder Brandmauern umfasst.
  • Die Art des Personalcomputers oder der Arbeitsstation, der bzw. die vom Endbenutzer verwendet wird, um sich mit dem Netz zu verbinden, ist nicht von Bedeutung. Die Kommunikation über das Internet und andere Netze erfordert eine von mehreren Arten von Protokollen. Protokolle wie das Internet-Protokoll (IP)sorgen für Datenübertragungen, die elektronische Post und andere Dienste. Eine als "Java" bekannte Programmiersprache von Sun Microsystem hat die Internet-Technologie zusammen mit der zum Gestalten von Aufmachungen und Grafiken für eine Website oder -seite verwendeten "Hypertext-Auszeichnungssprache" (HTML) so erweitert, dass eine Webseite für dynamische Anwendungen, gewöhnlich als "Applets" bezeichnet, verwendet werden kann, die durch den Endbenutzer heruntergeladen und ausgeführt werden können. Diese Applets werden in einem Web-Browser interpretiert und ausgeführt und wurden im Allgemeinen auf die Wortverarbeitung und ähnliche Verwendungen beschränkt. Das Herunterladen und Ausführen von Applets kann verglichen mit anderen Arten von kompilierten Sprachen langsam sein. Sicherheitsbestimmungen, die einem Browser auferlegt sind und durch die zugrunde liegende JAVA-Sprache durchgesetzt werden, verhindern, dass Applets bestimmte Daten von irgendeiner anderen Vorrichtung als dem Webserver selbst erhalten.
  • Programmierbare Logiksteuerungen (PLCs) werden bei der Industrie- und der Vorgangssteuerung verbreitet verwendet. Viele Hersteller stellen Fabriksautomatisierungsinformationen unter Verwendung von Microsoft Windows und anderen Arten von Kommunikationsnetzumgebungen bereit. Diese Netze sind gewöhnlich langsam, sind nicht allgemein zugänglich, und sind auf die Überwachung und den Datenaustausch beschränkt. Es kann eine Steuerung ausgeführt werden, doch da die Kommunikationsnetze nicht deterministisch sind, erfolgt die Steuerung nicht in Echtzeit. Spezialisierte industrielle Netze, die individuelle Feldbus-Alternativen verwenden, können sehr teuer sein. Umsetzungsprodukte müssen gestatten, dass Informationen, die über diese Netze getragen werden, an einem Allzweck-Netz sichtbar sind. Mit dem Vorhandensein derartiger Zwischenvorrichtungen sind bedeutende Installations- und andere Aufstellungskosten verbunden. Brandmauern zwischen dem Webserver und der Anwendung sind dazu gestaltet, Sicherheitsprobleme zu lösen, und sind nicht für Hochleistung gestaltet.
  • Es wäre wünschenswert, ein Automatisierungssteuerungssystem zu entwickeln, wodurch ein Benutzer allgemeine kommerzielle Netze wie das Internet anstelle spezialisierter industrieller Netze verwenden könnte, um Automatisierungssteuerungsvorrichtungen wie etwa PLCs aus der Entfernung zu überwachen.
  • Da Kommunikationsnetze schneller werden und beim Betrieb eines Steuersystems mehr Daten durch PLCs ausgetauscht werden, ist es auch wünschenswert, das schnellste Verfahren zum Transportieren von Daten zu schaffen, das möglich ist. Je schneller das Kommunikationsmittel zwischen einer PLC-Vorrichtung und seinen Eingabe-Ausgabe-Vorrichtungen ist, desto genauer kann ein Vorgang gesteuert werden. Zusätzlich kann eine Hochgeschwindigkeitskommunikation zwischen PLCs erzielt werden, um eine verteilte Steueranwendung eng zu koppeln. Doch da die Datenübertragung schneller wird, müssen verbesserte Verfahren zum Empfangen, Verarbeiten und Senden dieser Daten entwickelt werden, um sie auszuführen.
  • WO 99/13388 offenbart eine Schnittstelle, die die Übertragung von Echtzeit-Steuerdaten mit garantierten Lieferzeiten zwischen Vorrichtungen in einem Allzweck-Netz und einem industriellen Steuersystem gestattet. Ein Proxy-Server übernimmt die Rolle eines TCP/IP-Routers und ist so programmiert, dass er die Geschwindigkeit, mit der Nachrichten vom Nicht-Echtzeit-Abschnitt zum Echtzeit-Abschnitt des Netzes weitergegeben werden, steuert, wodurch das Laden des Echtzeit-Abschnitts ungeachtet des externen Nicht-Echtzeit-Kommunikationsbedarfs stabil gehalten wird. Echtzeitdaten werden vorkonfiguriert und in einer regelmäßigen Abfolge ausgetauscht, wobei der zyklische Aktualisierungszeitraum bekannt ist. Die Länge jedweder Kommunikationsnachricht, die nötig ist, um diese Informationen zu senden, zuzüglich jedweden Reihungs- und Bestätigungs-Steuerungsaufwands wird im Voraus berechnet und summiert. Jeder Vorrichtung mit der Berechtigung, im geteilten Medium zu senden, ist ein Zeitbudget verliehen, das so berechnet ist, dass die gesamte Übertragungsmenge in Einheitszeit bewusst auf irgendeinen Bruchteil der höchsten Übertragungsfähigkeit im Netz beschränkt ist. Alle Kommunikationen von Vorrichtungen, deren Verkehrsbelastungen nicht so gesteuert werden können, sind dazu eingerichtet, durch die Proxy-Vorrichtung zu verlaufen, um Zugriff auf das deterministische Netz zu erlangen, und der Proxy setzt die Budgetbeschränkungen durch Einbringen bewusster Verzögerungen in die Anforderungsnachrichten durch, falls dies nötig ist.
  • Andere Merkmale und Vorteile der Erfindung, die als neuartig und nichtoffensichtlich erachtet werden, werden aus der folgenden Beschreibung ersichtlich werden, die in Verbindung mit den beiliegenden Zeichnungen vorgenommen wird, in denen eine bevorzugte Ausführungsform der Erfindung gezeigt ist. Zur Auslegung des gesamten Umfangs der Erfindung, der durch eine derartige Ausführungsform nicht notwendigerweise dargestellt ist, wird auf die Ansprüche verwiesen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein Überblicksblockdiagramm eines typischen Systems, das die Beziehung zwischen einem Benutzer an einem entfernten Standort und einer zum Überwachen eines Vorgangssteuerungssystems nach einer Ausführungsform der vorliegenden Erfindung verwendeten Internet-Webseite veranschaulicht.
  • 2 ist ein grundlegendes Blockdiagramm einer Ausführungsform der vorliegenden Erfindung, das eine Internet-Schnittstelle zu einem programmierbaren Logiksteuerungssystem veranschaulicht.
  • 3 ist ein Blockdiagramm des in 2 veranschaulichten Webservermoduls nach einer Ausführungsform der vorliegenden Erfindung.
  • 4 ist eine typische Blindschaltbildseite, die für einen Benutzer an einem entfernten Standort, der einen Browser verwendet, verfügbar ist und die vorliegende Erfindung zum Überwachen eines programmierbaren Steuersystems veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Obwohl diese Erfindung für Ausführungsformen mit vielen verschiedenen Formen empfänglich ist, wird hierin eine bevorzugte Ausführungsform ausführlich beschrieben und veranschaulicht werden. Die vorliegende Offenbarung erläutert die Grundsätze der Erfindung beispielhaft und soll nicht als eine Beschränkung für die allgemeineren Gesichtspunkte der Erfindung auf die wie beschriebene besondere Ausführungsform betrachtet werden.
  • 1 zeigt ein Überblicksblockdiagramm eines typischen Systems, das die Beziehung zwischen einem Benutzer 2 an einem entfernten Standort und einer zum Überwachen eines Vorgangssteuerungssystems 6 verwendeten Internet-Webseite 4 veranschaulicht. Der Benutzer 2 wird über einen Personalcomputer (PC) 8 verfügen, in dem ein im Handel erhältlicher Browser 10 wie "Navigator" von Netscape Communications oder "Internet Explorer" von Microsoft installiert ist, um die Inhalte auf der Webseite 4 über ein Netz wie etwa das Internet 14 durch einen Bildschirm 12 zu sehen. Der PC stellt dem Vorgangssteuerungssystem 6 eine entfernte Schnittstelle von Mensch und Maschine (HMI) bereit. Verschiedenste Verbindungssysteme sind leicht erhältlich, um die physische und die elektrische Verbindung vom PC zum Internet 14 selbst bereitzustellen. Das Internet 14 ist eine Sammlung von unabhängigen weltweiten Kommunikationsnetzen, die miteinander verbunden sind und als eine einzige verbindungslose Einheit wirken. Die Kommunikation beruht auf einer Kunden-Server-Basis, wobei eine Anzahl von bestehenden Protokollen verwendet wird, die eine Kommunikation und Dateiübertragungen zwischen dem Kunden und dem Server gestatten. Das am verbreitetsten verwendete Protokoll ist das Internet-Protokoll (IP).
  • Die Webseite 4 beinhaltet eine Netzschnittstelle 16, die eine einzigartige Internet-Adresse 18, einen Server 20 und ein Anwendungsprogramm 22 aufweist. Der Server 20 wirkt als ein Hypertextübertragungsprotokoll(HTTP)-Übersetzer, der das Übertragungssteuerungsprotokoll (TCP) durch einen Übertragungssteuerungsprotokoll/Internet-Proto koll(TCP/IP)-Stapel 24 in Verbindung mit dem Internet-Protokoll verwendet, um mit der Netzschnittstelle 16 und dem Anwendungsprogramm 22 zu interagieren. Dies ermöglicht die Datenübertragung zwischen dem Anwendungsprogramm 22 und dem Benutzer 2 durch das Internet 14. Das Anwendungsprogramm stellt Daten vom Vorgangssteuerungssystem 6 bereit. Diese Daten können verwendet werden, um den Steuerungsvorgang durch den Benutzer 2 am entfernten Standort zu überwachen. Der Stapel 24 ermöglicht Datenübertragungen über das Internet 14 zwischen dem Benutzer 2 und der Webseite 4, wie sie für die verschiedenen durch das IP-Protokoll bestimmten Schichten benötigt werden.
  • Der Benutzer 2 kann sich unter Verwendung eines aus einer Anzahl von Internetdienstanbietern mit dem Internet 14 verbinden und wird, wenn er verbunden ist, die Adresse der Webseite 4 eingeben. Die Webseite 4 wird eine Homepage darstellen, die Text, irgendeine Art von Multimedienangeboten wie etwa graphische Bilder, Video oder Audio, und mögliche Hypertext-Verknüpfungen zu anderen Dokumenten enthalten kann. Der Browser 10 wird dem Benutzer 2 gestatten, die Seite zu lesen und mit den damit verbundenen Auswahlmöglichkeiten zu interagieren. Der Browser 10 wird Befehle zur Webseite 4 senden, die das Anwendungsprogramm 22 verwenden wird, um jegliche Informationen, die vom Vorgangssteuerungssystem 6 verfügbar sind, anzuzeigen. Wie nachstehend ausführlich ausgeführt werden wird, wirkt der Browser 10 als entfernte Schnittstelle von Mensch und Maschine oder HMI-Steuerung des Vorgangssteuerungssystems.
  • 2 zeigt ein grundlegendes Blockdiagramm der vorliegenden Erfindung, das die Internet-Schnittstelle zu einem programmierbaren Logiksteuerungssystem veranschaulicht. Die Webseite 4 beinhaltet die Netzschnittstelle 16, die eine einzigartige Internet-Adresse 18 und einen Webserver 30 aufweist. Der Webserver 30 stellt die Homepage für die Webseite 4 bereit. Eine Brandmauer oder Sicherheit für das gesamte System kann im Webserver 30 beinhaltet sein, wird aber im Allgemeinen als Teil der Netzschnittstelle 16 unterhalten. Zusätzlich zur Bereitstellung von Sicherheit für verschiedenste Seiten an der Seite kann der Benutzer den Webserver 30 abschalten. Ein Kennwort und eine Benutzerliste sind in den im Webserver 30 gespeicherten anfänglichen Konfigurationsdateien, die von einem entfernten Server heruntergeladen werden, bereitgestellt. Der Schutz der Konfigurationsdatei wird dann durch den entfernten Server und den Webserver 30 über das Kennwort und die Benutzerliste bereitgestellt. Der Webserver 30 stellt durch Einstecken des Webservers 30 in die Rückwandplatine 34 einer programmierbaren Logiksteuerung (PLC) 32 eine direkte Verbindung dieser Steuerung mit dem Internet 14 bereit. Der Webserver 30 stellt sowohl eine Kunden- als auch eine Serverschnittstelle bereit. Alle Signale zwischen der PLC 32 und dem Webserver 30 verlaufen anstatt über einen Satz von Kabeln, die normalerweise mit Eingangs-Ausgangs-Modulen gekoppelt werden müssten, welche selbst in die Rückwandplatine 34 eingesteckt sind, durch die Rückwandplatine 34. Die Rückwandplatinensignale beinhalten die Adressierung, die Steuerung, Daten und Strom. Die Kundenschnittstelle gestattet einem Benutzer, Befehle über das Internet zu einem entfernten Knoten zu senden, und die Serverschnittstelle gestattet das Verarbeiten von Befehlen, die von einem entfernten Knoten stammen. Das Steuern der PLC 32 von einer entfernten HMI, im Wesentlichen auf einer Echtzeitbasis, ist durch Steuern des Datenflusses durch den Webserver 30 möglich.
  • Mit der PLC 32 verbunden sind ihre Anwendungsprogramme 36, ein Doppelportspeicher 38, und Eingabe/Ausgabe(I/O)-Module 40. Die Anwendungsprogramme 36 beinhalten ein Leiterlogikprogramm zum Steuern der I/O-Module 40. Der Webserver 30 wirkt als ein Knoten in einem TCP/IP-Netz 42, was ihm gestattet, Befehle zur PLC 32 zu senden und die Antwort zu empfangen. Obwohl das TCP/IP-Netz 42 in der bevorzugten Ausführungsform ein Ethernet-Netz ist, könnten andere Protokolle hoher Ebene verwendet werden. Durch Verwendung eines Webbrowsers an einem entfernten Standort über das Internet 14 kann ein Benutzer Konfigurationsinformationen der PLC 32 steuern und sehen.
  • Der Webserver 30 ist in 3 ausführlicher gezeigt. Verschiedenste Komponenten stellen die benötigte Verbindungsmöglichkeit zur Durchführung seiner Funktionalität bereit. Ein Echtzeitbetriebssystem 44 steuert die Wechselwirkung zwischen den Komponenten. Das Betriebssystem 44 teilt verschiedensten Anwendungen Prozessorzeit an einer zentralen Verarbeitungseinheit (ZVE) 46 zu, sorgt für die Speicherverwaltung, und stellt einen Satz von Nachrichtendiensten und Signaldiensten bereit. Die Nachrichten- und Signaldienste gestatten eine Kommunikation zwischen Anwendungen und zwischen Treibern und einer Anwendung.
  • Die Verbindung mit dem TCP/IP-Netz 42 erfolgt über einen Ethernet-Treiber 48, der Nachrichten mit einer Geschwindigkeit von 100 Mbs (Megabit pro Sekunde) oder schneller über einen Ethernet-Kommunikationschip 49, wie etwa im Fall von 100 Mbs Ethernet, einem von Cirrus Logic. Inc. erhältlichen Crystal CS8952, sendet und empfängt. Es ist ins Auge gefasst, dass in der Zukunft Ethernet-Kommunikationschips. die zu Geschwindigkeiten von 1 Gbs (Gigabit pro Sekunde) und schneller fähig sind, verwendet werden können. Die physische Verbindung, über die die Kommunikation erleichtert wird, kann über ein Lichtwellenleiterkabel oder ein verdrilltes Kupferdrahtpaar erfolgen. Die physische Verbindung muss jedoch fähig sein, das Signal mit 100 Mbs oder schneller zu übertragen. Im Fall von 100 Mbs Ethernet über ein verdrilltes Kupferdrahtpaar müssen der Kupferdraht und die Drahtanschlüsse zumindest dem Kupferdrahtstandard der Kategorie 5 entsprechen.
  • Der TCP/IP-Stapel 24 ist ein Doppel-TCP/IP-Stapel. Der Doppel-TCP/IP-Stapel umfasst einen ersten TCP/IP-Stapel, der Unterstützung für einen weiten Bereich von TCP/IP-Nachrichten bereitstellt. Der erste Stapel ist vorzugsweise ein Standard-SENS-Stapel von Wind River. Inc., obwohl jeder beliebige im Handel erhältliche TCP/IP-Stapel an die vorliegende Erfindung angepasst werden kann. Der zweite TCP/IP-Stapel ist ein "kurzer Stapel", der Steuernachrichten mit hoher Priorität zwischen der PLC 32 und den I/O-Modulen 40 behandelt. Der zweite Stapel ist dazu optimiert, sehr besondere TCP/IP-Nachrichten, in diesem Fall Modbus oder Ethernet, zu behandeln, um die bestimmte Nachricht auf die leistungsfähigste Weise, die möglich ist, zu verarbeiten.
  • Für ausgehende TCP/IP-Nachrichten würde der passende TCP/IP-Stapel durch ein Anwendungsprogramm 36 gewählt werden, das mit der PLC 32 verbunden ist. Bei einlangenden TCP/IP-Nachrichten würde die TCP/IP-Nachricht abgefangen und untersucht werden, um festzustellen, ob 1) es sich um eine TCP/IP-Nachricht handelt, die 2) für den Modbus am Ethernet-Protokoll bestimmt ist (d.h., das Quellprotokoll die Internetzuteilungsnummer für den Modbus am Ethernet-Protokoll von 502 ist), und 3) der Zielport über einer bestimmten Nummer (3072) liegt. Wenn es sich um eine TCP/IP-Nachricht handelt, die für den Modbus am Ethernet-Protokoll bestimmt ist, wird die Nachricht zum zweiten Stapel geliefert. Wenn es sich nicht um eine TCP/IP-Nachricht handelt, die für den Modbus am Ethernet-Protokoll bestimmt ist, behandelt der erste TCP/IP-Stapel die Nachricht. Auf diese Weise werden TCP/IP-Nachrichten, die für den Modbus am Ethernet-Protokoll bestimmt ist, rascher und leistungsfähiger behandelt, als wenn ein einzelner TCP/IP-Stapel ausgeführt ist.
  • Der Webserver wird eine einzigartige globale Adresse 18 aufweisen, die ihm gestattet, durch andere Vorrichtungen im Netz angesprochen zu werden. Der Ethernet-Treiber 48 verwaltet Sende- 50 und Empfangspuffer 51 im Speicher 52 und ist an den Ethernet-Kommunikationschip 49 angeschaltet. Der Ethernet-Kommunikationschip 49 und der Ethernet-Treiber 48 teilen sich den Sende- 50 und den Empfangspuffer 51. Der Ethernet-Treiber 48 stellt auch eine Sendeanforderungsschnittstelle und eine Empfangsangabeschnittstelle für einen TCP/IP-Stapel 54 bereit. Der Ethernet-Kommunikationschip 49 stellt eine Sendewarteschlangenschnittstelle und eine Empfangswarteschlangenschnittstelle bereit und erzeugt Unterbrechungen bei der Vollendung des Sendens einer Nachricht und des Empfangens einer neuen Nachricht. Der Ethernet-Treiber 48 stellt Empfangspuffer in die Empfangswarteschlange. Im Unterbrechungsprogramm untersucht der Ethernet-Treiber 48 die Empfangswarteschlange. Wenn sich jegliche Nachrichten in der Empfangswarteschlange befinden, gibt er den Empfangspuffer zum TCP/IP-Stapel 54 weiter. Der TCP/IP-Stapel 54 kopiert den Puffer und ruft etwas später den Ethernet-Treiber 48 auf, um den Puffer zurückzugeben und den zurückgegebenen Puffer in die Empfangswarteschlange zurück zu stellen.
  • Der TCP/IP-Stapel 54 ruft den Ethernet-Treiber 48 auf, um eine Nachricht zu senden. Der Ethernet-Treiber 48 versucht, einen Puffer vom geteilten Speicher 52 zu belegen. Wenn er erfolgreich ist, kopiert er die Nachricht in den Puffer und stellt er den Puffer in die Sendewarteschlange des Ethernet-Kommunikationschips 49. Wenn kein Sendepuffer vorhanden ist, verwirft der Treiber die Sendenachricht. Im Unterbrechungsprogramm untersucht der Ethernet-Treiber 48 die Sendewarteschlange und gibt er die gesendeten Puffer frei.
  • Das TCP/IP-Netz 42 gestattet besondere MSTR(Master)-Funktionen, die Knoten im Netz gestatten, Nachrichtenvorgänge zu beginnen. Diese MSTR-Funktionen beinhalten das Lesen und Schreiben von Daten und werden für Befehle und Antworten verwendet. Sie gestatten Programmen, die in der PLC 32 laufen, Befehle zu einem entfernten Knoten im TCP/IP-Netz 42 zu senden und die Antworten zu empfangen. Ein Rückwandplatinentreiber 56 sendet Befehle über die Rückwandplatine 34 und empfängt darüber die Antwort an die PLC 32.
  • Der Rückwandplatinentreiber 56 erhält von den Leiterlogik-MSTR-Blöcken der PLC, die in deren Speicher 38 gespeichert sind, eine Anforderung. Wenn eine Antwort verfügbar ist, gibt der Rückwandplatinen treiber 56 diese zum MSTR-Block zurück. Der Rückwandplatinentreiber 56 stellt den Anwendungen eine Kundenanwendung 58 und eine Serveranwendung 60 bereit. Die Schnittstelle der Serveranwendung 60 gestattet einer Anwendung, einen Anforderungsbefehl an das ausführende Programm der PLC 32 auszugeben und dessen Antwort zu erhalten. Die Kundenanwendung 58 gestattet einer Anwendung, eine neue MSTR-Anforderung zu erhalten und die Antwort zum Leiterlogikprogramm zurückzugeben.
  • Die Serveranwendung 60 verwendet einen Warteschlangenmechanismus und Rückruffunktionen. Eine Anwendung reiht sowohl die Anforderung als auch die mit der Anforderung verbundene Rückruffunktion. Wenn der Rückwandplatinentreiber 56 die Anforderung in seinem Unterbrechungsprogramm bedient, ruft er die verbundene Rückruffunktion auf. Die Antwort und die ursprüngliche Anforderung werden zur Rückruffunktion weitergegeben. Die Rückruffunktion kann ein Betriebsprogramm aufrufen, um entweder eine Nachricht oder ein Signal zur Anwendung weiterzugeben.
  • Die Kundenanwendung 58 verwendet ebenfalls Warteschlangen und Rückruffunktionen. Die Kundenanwendung reiht sowohl eine Angabeanforderung in einer Warteschlange als auch eine mit der Anforderung verbundene Rückruffunktion. Wenn der Rückwandplatinentreiber 56 in seinem Unterbrechungsprogramm eine neue MSTR-Block-Anforderung feststellt, ruft er die zugehörige Rückruffunktion auf. Die Anforderung wird in die Rückruffunktion weitergegeben. Die Rückruffunktion kann ein Betriebssystemprogramm aufrufen, um entweder eine Nachricht oder ein Signal zur Anwendung weiterzugeben. Wenn der Rückwandplatinentreiber 56 feststellt, dass der MSTR-Block abgebrochen wurde oder nicht länger gelöst wird, ruft er eine benutzergelieferte zugehörige Abbruchrückruffunktion auf. Die Anwendung ruft ein Programm auf, um die MSTR-Antwort und ein verbundenes Rückrufprogramm zu Treiber weiterzugeben. Einige Zeit später gibt der Treiber die Antwort in seinem Unterbrechungsdienstprogramm zum Leiterlogikprogramm zurück und ruft dann die benutzergelieferte Rückruffunktion auf.
  • Die PLC 32 ist über den Doppelportspeicher 38 an die Hardware des Webservers 30 angeschaltet. Sie liest und schreibt unter Verwendung eines ASIC-Chips aus dem bzw. in den Doppelportspeicher 38. Das Schreiben an eine bestimmte Stelle wird eine Unterbrechung verursachen. Die PLC 32 schreibt zuerst eine Nachricht in den Doppelportspeicher 38 und verursacht dann eine Unterbrechung. Die Nachricht gibt eine Art des Befehls an. Eine Art gibt an, dass ein MSTR-Block gelöst wird. Andere Arten werden zum Weitergeben von Anforderungen an die PLC 32 und zum Erhalten der Antworten auf die Anforderungen verwendet. Nachdem die PLC 32 die Nachricht weitergegeben hat, fragt sie den Doppelportspeicher 38 nach Befehlen, die durch den Rückwandplatinentreiber 56 eingestellt wurden, ab. Diese Befehle sind "Lies den Speicher", "Schreib in den Speicher" und "Verarbeitung abgeschlossen". Der Rückwandplatinentreiber 56 verwendet Zustandsmaschinen, um die MSTR-Unterbrechungen zu verarbeiten. In einer Ausführungsform der vorliegenden Erfindung ist die Höchstanzahl von aktiven MSTR-Blöcken mit "vier" festgelegt, weshalb vier Zustandsmaschinen erforderlich sind. Wenn der Rückwandplatinentreiber 56 eine MSTR-Unterbrechung empfängt, versucht er, eine zugehörige Zustandsmaschine zu finden, die zum MSTR-Block passt. Wenn bereits vier ausstehende Vorgänge vorhanden sind, sind keine weiteren verfügbar, und wird der Rückwandplatinentreiber 56 die Ausgänge des MSTR auf "falsch" stellen. Wenn eine Zustandsmaschine gefunden wird, bestimmt der Rückwandplatinentreiber 56, ob es sich um einen neuen Vorgang oder einen ausstehenden Vorgang handelt, oder eine Antwort verfügbar ist. Wenn es sich um einen neuen Vorgang handelt, kopiert er die Anforderung und ruft er das zur Anwendung gehörige Rückrufprogramm auf. Wenn es sich um einen ausstehenden Vorgang handelt, gibt er dem Leiterlogikprogramm an, dass der MSTR-Block immer noch tätig ist. Wenn eine Antwort verfügbar ist, kopiert der Rückwandplatinentreiber 56 die Antwort, stellt er entweder den Ausgang "abgeschlossen" oder den Ausgang "falsch" des MSTR ein, und ruft er das Rückrufprogramm der Anwendung auf.
  • Zum Verarbeiten einer Anforderung werden zwei Unterbrechungen verwendet. Bei der ersten Unterbrechung, die als Vorport-Unterbrechung bezeichnet wird, kopiert der Rückwandplatinentreiber 56 die Anforderung in eine Datenstruktur, die sich im Doppelspeicher 38 der PLC 32 befindet. Bei der zweiten Unterbrechung, die als Abtastungsende-Unterbrechung bezeichnet wird, kopiert der Rückwandplatinentreiber 56 die Antwort von der Datenstruktur der Steuerung in den Puffer des Benutzers. Dann ruft er die mit dem Benutzer verbundene Rückruffunktion auf.
  • Die Anforderung für den Zugriff auf die Register der PLC 32 wird durch den Rückwandplatinentreiber 56 verarbeitet und nicht zur Verarbeitung zum ausführenden Programm der PLC gesendet. Der Rückwandplatinentreiber 56 bestimmt die Speicherstelle im Speicher 38 der Register der PLC 32. Bei einer Abtastungsende-Unterbrechung verarbeitet der Rückwandplatinentreiber 56 die Anforderungen zum Lesen/Beschreiben des Registers durch Senden von Befehlen über den Doppelportspeicher 38 zur PLC 32, um die Stellen, die die Register enthalten, zu lesen oder zu beschreiben. Der Rückwandplatinentreiber 56 wird am Ende einer Abtastungsende-Unterbrechung eine Höchstanzahl von vier Anforderungen zum Lesen/Beschreiben des Registers bedienen.
  • Eine Kundenanwendung 58 ist an den TCP/IP-Stapel 54 und den Rückwandplatinentreiber 56 angeschaltet und verwendet die Nachrichtendienste des Betriebssystems 44. Sie verarbeitet die MSTR-Anforderung. Wenn die Kundenanwendung 58 vom Rückwandplatinentreiber 56 eine MSTR-Anforderung erhält, gibt sie die Anforderung zum TCP/IP-Stapel 54 weiter. Wenn der TCP/IP-Stapel 54 eine Antwort zur Kundenanwendung 58 zurückgibt, gibt diese die Antwort zum Rückwandplatinentreiber 56 weiter. Der TCP/IP-Stapel 54 stellt eine Berkeley-TCP/IP-Schnittstelle und eine Signalerweiterung bereit. Die Signalerweiterung ruft eine benutzergelieferte Funktion auf, die eine Steckbuchsennummer, eine Anwendungskennung und ein Ereignis eingibt. Die Signalerweiterung ruft das Betriebssystem 44 auf, um eine Nachricht zur Anwendung, die durch die Anwendungskennung angegeben ist, zu senden. Sie sendet eine Nachricht entweder zur Kundenanwendung 58 oder zur Serveranwendung 60. Die Kundenanwendung 58 sendet Anforderungsangaben zum Rückwandplatinentreiber 56, und das zugehörige Rückrufprogramm ruft das Betriebssystem 44 auf, um eine Nachricht hinsichtlich eines neuen MSTR-Vorgangs zur Kundenanwendung 58 zu senden.
  • Die Kundenanwendung 58 behandelt mehrere ausstehende MSTR-Vorgänge, indem sie Zustandsmaschinen verwendet. Es ist eine verknüpfte Liste von Verbindungszustandsmaschinen vorhanden. Die Verbindungszustandsmaschinen werden verwendet, um eine Verbindung herzustellen und Verbindungen zu schließen. Zusätzlich enthält jede Verbindungszustandsmaschine eine Liste von Vorgangszustandsmaschinen. Jede Vorgangsmaschine an der Verbindungszustandsmaschine stellt einen Vorgang zu einem Knoten dar, der durch die Verbindungsmaschine dargestellt ist. Die Vorgangsmaschinen werden verwendet, um eine Anforderung zu senden und die Antwort zu verarbeiten. Die Kundenanwendung 58 tritt in eine Schleife ein, nachdem sie die Initialisierung durchgeführt hat. Sie ruft das Betriebssystem 44 auf, um eine Nachricht zu erhalten. Das Betriebssystem 44 wird die Kundenanwendung 58 blockieren, bis eine Nachricht vorhanden ist, oder bis es zu einer Zeitunterbrechung kommt. Sie erhält entweder eine Nachricht vom TCP/IP-Stapel 54 oder von einem MSTR-Rückrufprogramm, oder sie unterbricht die Zeit. Sie verarbeitet die Nachricht oder die Zeitunterbrechung und tritt dann erneut in die Schleife ein. Wenn die vom Betriebssystem 44 erhaltene Nachricht eine neue MSTR-Anforderung ist, wird die Kundenanwendung eine Verbindungszustandsmaschine erhalten und eine neue Vorgangsmaschine ans Listenende der Liste der Verbindungszustandsmaschine stellen. An diesem Punkt wird die Vorgangsmaschine versuchen, die Nachricht zu senden. Es kann unmöglich sein, die Nachricht zu senden, da keine Verbindung hergestellt wurde, oder da die entfernte Seite eine Fluss-Steuerung angewendet haben kann.
  • Wenn die vom Betriebssystem 44 erhaltene Nachricht ein TCP/IP-Ereignis ist, findet die Kundenanwendung 58 die zugehörige Verbindungsmaschine und bestimmt sie, ob das TCP/IC-Ereignis ein akzeptierter Zustand, ein abgebrochener Zustand oder ein Datenempfangsereignis ist. Beruhend auf dem Verbindungszustand und dem Zustand der Vorgangsmaschine verarbeitet die Kundenanwendung 58 die Nachricht, um die Vorgänge, falls solche vorhanden sind, voranzutreiben. Das Empfangen von Daten für die MSTR-Antworten kann über mehrere TCP/IP-Ereignisse auftreten, und die Vorgangszustandsmaschine setzt die Daten zu einer Antwort zusammen. Wenn die Kundenanwendung 58 vom TCP/IP-Stapel verlangt, eine Nachricht zu senden, kann es sein, dass nicht die gesamte Nachricht gesendet wird. Dies kommt vor, wenn der entfernte Knoten flussgesteuert ist, was nachstehend erklärt wird. Wenn der Aufruf an das Betriebssystem, um eine Nachricht zu erhalten, mit einer Zeitunterbrechung zurückkommt, oder wenn eine Nachricht vorhanden ist, durchsucht die Kundenanwendung 58 die Liste der Verbindungsmaschinen, die flussgesteuert sind. Für jede flussgesteuerte Verbindung versucht sie, die Vorgangszustandsmaschinen auf der Liste der Verbindungszustandsmaschine, die flussgesteuert sind, vorzurücken.
  • Die Serveranwendung 60 verarbeitet eine Anforderung, die vom Benutzer am entfernten Standort stammt. Die Serveranwendung 60 ist an den Rückwandplatinentreiber 56, den TCP/IP-Stapel 54, und die Nachrichtendienste des Betriebssystems 44 angeschaltet. Die Serveranwendung 60 sendet Anforderungen zum Rückwandplatinentreiber 56, und ein zugehöriges Rückrufprogramm verwendet die Nachrichtendienste des Betriebssystems 44, um die Antwort zur Serveranwendung 60 zu senden. Eine Signalfunktion des TCP/IP-Stapels 54 verwendet ebenfalls den Sendedienst des Betriebssystems 44, um ein TCP/IP-Ereignis zur Serveranwendung 60 zu senden. Die Serveranwendung 60 kann mehrere Vorgänge und Verbindungen behandeln. Wie die Kundenanwendung 58 unter hält sie eine Liste von Verbindungsmaschinen, und jede Verbindungsmaschine enthält eine Liste von Vorgangsmaschinen. Die Verbindungsmaschinen dienen zur Bewerkstelligung der Verbindung, und die Vorgangsmaschinen behandeln die einlangenden Anforderungen und Antworten.
  • Die Serveranwendung 60 tritt in eine Schleife ein, nachdem sie die Initialisierung durchgeführt hat. Sie ruft das Betriebssystem 44 auf, um eine Nachricht zu erhalten. Das Betriebssystem 44 blockiert die Serveranwendung 60, bis eine Nachricht vorhanden ist, oder bis es zu einer Zeitunterbrechung kommt. Sie erhält entweder eine Nachricht von der Signalbehandlungseinrichtung der TCP/IP-Anwendung 54 oder vom Rückwandplatinentreiber 56, oder es kommt zu einer Zeitunterbrechung. Sie verarbeitet die Nachricht oder die Zeitunterbrechung und tritt erneut in die Schleife ein. Wenn die vom Betriebssystem 44 erhaltene Nachricht von der Signalbehandlungseinrichtung der TCP/IP-Anwendung 54 stammt, bestimmt die Serveranwendung 60, ob das Ereignis eine Verbindungsanforderung, ein Steckbuchsenschließereignis oder ein Datenempfangsereignis ist. Beruhend auf dem TCP/IP-Ereignis verwendet die Serveranwendung 60 die Verbindungsmaschine und die Vorgangsmaschine, um den Vorgang voranzutreiben. Das Empfangen von. Daten für eine Anforderung kann über mehrere Datenempfangsereignisse auftreten, und die Vorgangsmaschine setzt die Ereignisse zu einer Anforderungsnachricht zusammen. Wenn die Antwortnachricht vom Betriebssystem 44 erhalten wird, findet die Serveranwendung 60 die Verbindungs- und die Vorgangsmaschine, um die Antwort zu senden.
  • Wenn die Serveranwendung 60 vom TCP/IP-Stapel 54 verlangt, eine Nachricht zu senden, kann es sein, dass nicht die gesamte Nachricht gesendet wird. Dies kommt vor, wenn der entfernte Knoten flussgesteuert ist. Wenn der Aufruf an das Betriebssystem, um eine Nachricht zu erhalten, mit einer Zeitunterbrechung zurückkommt, oder wenn eine Nachricht vorhanden ist, durchsucht die Serveranwendung 60 die Liste der Verbindungsmaschinen, die flussgesteuert sind. Für jede flussgesteuerte Verbindung versucht sie, die Vorgangszustandsmaschinen auf der Liste der Verbindungszustandsmaschine, die flussgesteuert sind, vorzurücken.
  • Nachdem die Serveranwendung 60 den Datenkopf einer einlangenden Anforderung geparst hat, versucht sie, eine Struktur zuzuteilen, um die Anforderung zum Rückwandplatinentreiber 56 weiterzugeben. Wenn die Serveranwendung bereits eine vorbestimmte Anzahl von ausstehenden An forderungen verarbeitet, schlägt der Versuch fehl, wird die Verbindung in einen blockierten Zustand gestellt, und wird der Körper der Anforderung nicht vom TCP/IP-Stapel 54 gelesen. Als Ergebnis kann der TCP/IP-Stapel eine Fluss-Steuerung zum entfernten Knoten anwenden. Wenn eine der anderen Anforderungen abgeschlossen ist, verursacht das Ereignis der freien Datenstruktur, dass eine blockierte Verbindungsmaschine das Verarbeiten der einlangenden Modbus-Anforderung fortsetzt.
  • Die HTTP-Anwendung 62 ist an den TCP/IP-Stapel 54 und den Rückwandplatinentreiber 56 angeschaltet. Die HTTP-Serveranwendung 62 erhält eine HTTP-Anforderung vom TCP/IP-Stapel 54. Um die Anforderung zu verarbeiten, kann sie durch den Rückwandplatinentreiber 56 und die Rückwandplatine 34 auf die PLC 32 zugreifen. Die HTTP-Serveranwendung 62 sendet die Antwort über den TCP/IP-Stapel 54 zurück. Der Rahmen wird durch das Betriebssystem 44 geliefert. Der Rahmen schafft die HTTP-Anwendung, akzeptiert die Verbindung, und parst die HTTP-Anwendung. Nach dem Parsen der Anforderung ruft er das Betriebssystem 44 auf, um die Anforderung zu verarbeiten. Das Verarbeiten der Anforderung umfasst das Bestimmen der Anforderungsart und das Verarbeiten der tatsächlichen Anforderung. Die unterschiedlichen Anforderungsarten gestatten einem Benutzer, durch Gestatten einer Ansicht von verschiedensten Registern in der PLC 32 und im Doppelspeicher 38 einen Schnappschuss der Tätigkeiten der PLC 32 zu erlangen. Diese Anforderungsarten beinhalten wie in Tabelle 1 gezeigt auch die Darstellung der Konfiguration der PLC 32, Statistiken der Gesundheit von entfernten und verteilten Eingaben/Ausgaben und Modulen, die Darstellung von Registern, die Konfiguration der Rückwandplatine, Ethernet-Statistiken u.a.
  • Figure 00150001
  • Figure 00160001
    TABELLE 1
  • Die Homepage enthält Hyperlinks zu sieben Seiten von Daten. Die Konfigurationsseite wird die Konfiguration der PLC 32 darstellen. Die Seiten für den Gesundheitszustand von entfernten Eingaben/Ausgaben und verteilten Eingabe/Ausgabe-Modulen sind eine Reihe von verknüpften Seiten. Die erste Seite stellt die Kommunikationsgesundheitsstatistik an der entfernten Eingabe/Ausgabe und am verteilten Eingabe/Ausgabe-Kopf dar und enthält eine Verknüpfung zu einer Seite von konfigurierten Klappen. Die Seite der konfigurierten Klappen stellt eine Tabelle dar, die Klappennummern enthält, welche mit einer Klappenzustandsseite verknüpft sind, und Einschubnummern enthält, die mit den Klappen- und Einschubkonfigurationsseiten verknüpft sind. Auf der Klappenzustandsseite sind zwei Tabellen beinhaltet, eine, um den Kommunikationszustand der Klappe zu zeigen, und die andere, um zu zeigen, welche Einschübe mit den Eingabe/Ausgabe-Modulen belegt sind. Die Klappen- und Einschubkonfigurationsseite stellt die Eingabe/Ausgabe-Module, ihre Gesundheit, und den Schlitzstandort für den gegebenen Einschub dar. Ein Benutzer kann die Eingabe/Ausgabewerte eines gewählten Moduls sehen. Registerdaten sind in einer Vorlage dargestellt, die eine Form und eine Tabelle aufweist, wobei der Benutzer eine Adresse und eine Länge eingibt. Die Tabelle wird die Werte des Registers darstellen. Eine Tabelle, die Optionsmodule und ihren Schlitzstandort zeigt, ist auf der Rückwandplatinenkonfigurationsseite dargestellt. Die auf den Seiten erscheinenden Daten sind statisch, können aber zu vorgewählten Zeiten automatisch aktualisiert werden.
  • Das Betriebssystem 44 verarbeitet diese Anforderungen und Antworten durch Senden von HTTP-Nachrichten durch den TCP/IP-Stapel 54. Das Verarbeiten einiger dieser Anforderungen umfasst das Lesen der Ver kehrsüberwachung der PLC, von Registern, Spulen, oder Nullstellen von verschiedensten Seiten, wo Statistiken gehalten werden. Zur Durchführung dieser Ablesungen sendet das Betriebssystem 44 eine Anforderung zum Rückwandplatinentreiber 56 und verwendet es einen Ereignissignalmechanismus und Ereignismarkierungen, um zu bestimmen, wann die Anforderung abgeschlossen ist. Nach dem Senden der Anforderung zum Rückwandplatinentreiber 56 wartet das Betriebssystem 44 auf eine zu sendende Ereignismarkierung. Wenn der Rückwandplatinentreiber die Anforderung abschließt, ruft der Rückwandplatinentreiber 56 ein Rückrufprogramm auf, das das Ereignis festlegt. Das Betriebssystem 44 setzt dann das Verarbeiten der Anforderung fort.
  • Eine Blindschaltbildseite, die etwas von der Hardware darstellt, welche physisch mit einem programmierbaren Logiksteuerungssystem verbunden ist, kann unter Verwendung verschiedenster graphischer Programme, die leicht erhältlich sind und kein Gegenstand der vorliegenden Erfindung sind, aufgebaut werden. Eine Ausführungsform der vorliegenden Erfindung gestattet einem Benutzer an einem entfernten Standort, die Blindschaltbildseite unter Verwendung eines Browsers zu sehen und verschiedenste Komponenten, die auf der Blindschaltbildseite veranschaulicht sind, tatsächlich zu steuern. 4 zeigt eine einfache Motoranfahrsteuerung in leiterlogischer Diagrammform, die als eine Blindschaltbildseite für den Benutzer verfügbar sein könnte. Das Drücken eines Motorstartdruckknopfs 150 wird eine Bestromung eines Motorstartrelais 152 durch einen normalerweise geschlossenen Motorstopdruckknopf 154 und einen normalerweise geschlossenen Überlastkontakt 156 verursachen. Ein Hilfs-Motorstartkontakt 158 wird das Relais 152 sperren, nachdem der Startdruckknopf 150 freigegeben wurde, und ein Kontrolllicht 160 wird aufleuchten. Ein Hilfs-Motorstartkontakt 162 wird Strom für einen Pumpenmotor 164 bereitstellen, der im laufenden Zustand verbleiben wird, bis der Stopdruckknopf 154 gedrückt wird oder ein Überlastrelais 166 einen Überlastzustand feststellt. Bei diesem Beispiel sind der Startdruckknopf 150, der Stopdruckknopf 154, der Überlastkontakt 156, die Hilfs-Motorstartkontakte 158 und 162, und das Überlastrelais 166 Eingänge zum programmierbaren Logiksteuerungssystem. Das Relais 152, das Kontrolllicht 160, und der Pumpenmotor stellen Ausgänge dar. Die PLC wird Register aufweisen, die die Animationsdaten für die Eingänge und Ausgänge enthalten. Ein Anwendungsprogramm in der PLC wird auf die Eingänge antworten, um die Ausgänge zu steuern.
  • Ein Benutzer an einem entfernten Standort wird das Internet nach der Homepage der Anlage des programmierbaren Logiksteuerungssystems durchsuchen. Die PLC wird auch andere Steuerfunktionen aufweisen, und wenn der Benutzer über die nötigen Berechtigungen verfügt, werden verschiedenste Optionen verfügbar werden. Die Homepage wird dem Benutzer gestatten, einen Schnappschuss der Tätigkeiten der PLC zu erlangen, indem sie eine Ansicht von verschiedensten Seiten gestattet, die einen Zugriff auf Register in der PLC gestatten werden. Andere Seiten werden wie vorher in Tabelle 1 gezeigt auch Darstellungen der Konfiguration der PLC, Statistiken der Gesundheit von entfernten und verteilten Eingabe/Ausgabe-Modulen, die Darstellung von Registern, die Konfiguration der Rückwandplatine, Ethernet-Statistiken u.a. beinhalten.
  • Die Blindschaltbildseite wird auf einem Browserbildschirm aufgerufen werden, der dem Benutzer gestatten wird, den Zustand des Systems zu sehen. Die Leuchte 160, das Relais 152, die Kontakte 158, 162 und der Pumpenmotor 164 des Blindschaltbilds werden aktualisiert werden, um dem Zustand der tatsächlichen Vorrichtungen zu entsprechen. Die Zustände der Eingänge und Ausgänge werden dann im Leiterdiagramm gezeigt werden, welches automatisch aktualisiert werden wird, wenn sie verändert werden. Durch die Verwendung von Applets, die den Start- 150 und den Stopknopf 154 darstellen, könnte der Benutzer das Starten und Stoppen des Motors manuell steuern, indem er eine Maus oder eine Tastatur verwendet, um einen Cursor zu positionieren, und entweder auf das Kästchen "Start" 168 oder "Stop" 170 "klickt".
  • Obwohl bestimmte Ausführungsformen veranschaulicht und beschrieben wurden, sind zahlreiche Abänderungen möglich, ohne vom Geist der Erfindung abzuweichen.

Claims (12)

  1. Schnittstellenmodul (30) zum Erhalten von Datenanforderungen von einem entfernten Standort, um von einem Kommunikationsnetz Zugriff auf eine programmierbare Logiksteuerung (32) bereitzustellen, wobei das Modul Folgendes umfaßt: eine zentrale Verarbeitungseinheit (46); ein Echtzeitbetriebssystem (44), das die zentrale Verarbeitungseinheit betreibt; eine Netzschnittstelle (16), um mit dem Kommunikationsnetz zu kommunizieren; einen Rückwandplatinentreiber (56), um durch eine Rückwandplatine der programmierbaren Logiksteuerung mit der programmierbaren Logiksteuerung zu kommunizieren; einen Doppelprotokollstapel (54) eine Kundenanwendung (58), um mit dem Rückwandplatinentreiber und dem Doppelprotokollstapel zu kommunizieren, um erhaltene Anforderungen einzuleiten; eine Serveranwendung (60), um mit dem Rückwandplatinentreiber und dem Doppelprotokollstapel zu kommunizieren, um auf erhaltene Anforderungen zu antworten; eine Protokollanwendung (62), um mit dem Rückwandplatinentreiber und dem Doppelprotokollstapel zu kommunizieren, um Anforderungen, die an den Protokollstapel gestellt wurden, zu erhalten und darauf zu antworten; dadurch gekennzeichnet, daß der Doppelprotokollstapel einen ersten Protokollstapel und einen zweiten Protokollstapel umfasst, wobei der erste Protokollstapel dazu dient, einen weiteren Bereich von Netznachrichten als der zweite Protokoll stapel zu kommunizieren; und der zweite Protokollstapel dazu dient, einen spezialisierten Satz von Netznachrichten schneller als der erste Protokollstapel zu kommunizieren.
  2. Schnittstellenmodul nach Anspruch 1, wobei der Doppelprotokollstapel einen Doppel-TCP/IP-Stapel umfaßt.
  3. Schnittstellenmodul nach Anspruch 2, wobei der Doppel-TCP/IP-Stapel den ersten Protokollstapel und den zweiten Protokollstapel, der fähig ist, einen weniger weiten Bereich von TCP/IP-Nachrichten schneller als der erste Protokollstapel zu behandeln, umfaßt.
  4. Schnittstellenmodul nach Anspruch 1, 2 oder 3, wobei die Netzschnittstelle dazu geeignet ist, mit dem Kommunikationsnetz mit einer nominellen Datenübertragungsgeschwindigkeit von nicht weniger als 100 Mbs zu kommunizieren.
  5. Schnittstellenmodul nach Anspruch 4, wobei der erste und der zweite Protokollstapel TCP/IP-Stapel sind.
  6. Schnittstellenmodul nach Anspruch 5, das so eingerichtet ist, dass der zweite Protokollstapel ausgeführt wird, wenn das Quellprotokoll die Internetzuteilungsnummer für den Modbus am Ethernet-Protokoll von 502 ist, und der Zielport über einer Port-Nummer von 3072 liegt.
  7. Schnittstellenmodul nach einem der vorhergehenden Ansprüche, wobei das Kommunikationsnetz ein weltweites Netz ist, das als das Internet bekannt ist, und die Schnittstelle dazu geeignet ist, ein Internet-Protokoll (IP) zu verwenden.
  8. Schnittstellenmodul nach Anspruch 7, wobei das Schnittstellenmodul als eine Webseite im Internet funktional ist, wobei das Schnittstellenmodul eine globale IP-Adresse enthält.
  9. Schnittstellenmodul nach einem der vorhergehenden Ansprüche, wobei die Netzschnittstelle ein Ethernet-Treiber ist.
  10. Schnittstellenmodul nach einem der vorhergehenden Ansprüche, wobei die Protokollanwendung eine Hypertexttransportprotokoll anwendung enthält, um Hypertextdokumente zur Netzschnittstelle zu liefern.
  11. Schnittstellenmodul nach Anspruch 10, wobei die Hypertexttransportprotokollanwendung dazu eingerichtet ist, eine Verbindung zu akzeptieren, eine HTTP-Anforderung zu parsen, und das Echtzeitbetriebssystem anzurufen, um die Anforderung zu verarbeiten.
  12. Schnittstellenmodul nach einem der vorhergehenden Ansprüche, wobei das Schnittstellenmodul dazu eingerichtet ist, einem Benutzer an einem entfernten Standort zu ermöglichen. Daten innerhalb der programmierbaren Logiksteuerung von einem mit dem Internet verbundenen Browser zu sehen.
DE60023292T 1999-12-31 2000-12-07 Doppelter ethernet-stack für plc-zugang mit maximaler geschwindigkeit Revoked DE60023292T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US477113 1999-12-31
US09/477,113 US6587884B1 (en) 1997-09-10 1999-12-31 Dual ethernet protocol stack for maximum speed access to a programmable logic controller (PLC)
PCT/US2000/033215 WO2001050704A2 (en) 1999-12-31 2000-12-07 Dual ethernet stack for maximum speed access to a plc

Publications (2)

Publication Number Publication Date
DE60023292D1 DE60023292D1 (de) 2006-03-02
DE60023292T2 true DE60023292T2 (de) 2006-07-13

Family

ID=23894594

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60023292T Revoked DE60023292T2 (de) 1999-12-31 2000-12-07 Doppelter ethernet-stack für plc-zugang mit maximaler geschwindigkeit

Country Status (6)

Country Link
US (2) US6587884B1 (de)
EP (1) EP1188293B1 (de)
CA (1) CA2362437C (de)
DE (1) DE60023292T2 (de)
MX (1) MXPA01008827A (de)
WO (1) WO2001050704A2 (de)

Families Citing this family (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761910B2 (en) * 1994-12-30 2010-07-20 Power Measurement Ltd. System and method for assigning an identity to an intelligent electronic device
US7216043B2 (en) * 1997-02-12 2007-05-08 Power Measurement Ltd. Push communications architecture for intelligent electronic devices
US20020091784A1 (en) * 1997-09-10 2002-07-11 Baker Richard A. Web interface to a device and an electrical network control system
US20020152289A1 (en) * 1997-09-10 2002-10-17 Schneider Automation Inc. System and method for accessing devices in a factory automation network
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)
US7035898B1 (en) * 1997-09-10 2006-04-25 Schneider Automation Inc. System for programming a factory automation device using a web browser
US6732191B1 (en) * 1997-09-10 2004-05-04 Schneider Automation Inc. Web interface to an input/output device
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
FR2805425B1 (fr) * 2000-02-21 2003-09-19 Schneider Automation Systeme de communication entre un automate programmable serveur et une machine cliente
US6668279B1 (en) * 2000-02-25 2003-12-23 Sun Microsystems, Inc. User level web server in-kernel network I/O accelerator
GB2361156B (en) 2000-04-07 2002-08-07 3Com Corp Discovering non managed devices in a network such as a LAN using HTTP
AU2001255627A1 (en) * 2000-04-24 2001-11-07 Spectrum Controls, Inc. Method, system, and apparatus for providing data regarding the operation and monitoring of a control system
US6760782B1 (en) * 2000-08-04 2004-07-06 Schneider Automation Inc. Apparatus for controlling internetwork communications
US6938065B2 (en) * 2000-12-12 2005-08-30 Ericsson Inc. System and method for controlling inclusion of email content
US7085824B2 (en) * 2001-02-23 2006-08-01 Power Measurement Ltd. Systems for in the field configuration of intelligent electronic devices
US7447762B2 (en) * 2001-04-02 2008-11-04 Curray Timothy G Ethernet communications for power monitoring system
US8065358B2 (en) * 2001-04-20 2011-11-22 Rockwell Automation Technologies, Inc. Proxied web access for control devices on industrial control systems
US20020184326A1 (en) * 2001-05-31 2002-12-05 Andrew Thomson System and method for providing network interfaces to instruments without networking capabilities
US6975913B2 (en) 2001-07-13 2005-12-13 Siemens Aktiengesellschaft Database system and method for industrial automation services
US7292900B2 (en) 2001-07-13 2007-11-06 Siemens Aktiengesellschaft Power distribution expert system
DE10152765B4 (de) 2001-07-13 2015-11-12 Siemens Aktiengesellschaft Verfahren zur elektronischen Bereitstellung von Diensten für Maschinen über eine Datenkommunikationsverbindung
US20060085091A9 (en) 2001-07-13 2006-04-20 Martin Kiesel Electronic fingerprints for machine control and production machines
US7603289B2 (en) 2001-07-13 2009-10-13 Siemens Aktiengesellschaft System and method for electronic delivery of content for industrial automation systems
US7395122B2 (en) 2001-07-13 2008-07-01 Siemens Aktiengesellschaft Data capture for electronically delivered automation services
WO2003007090A2 (en) * 2001-07-13 2003-01-23 Siemens Aktiengesellschaft System architecture and method for providing services for automation systems over a network
US20060190106A1 (en) * 2001-07-30 2006-08-24 Rockwell Automation Technologies, Inc. Method for consistent storage of data in an industrial controller
US6801813B2 (en) * 2001-07-30 2004-10-05 Rockwell Automation Technologies, Inc. Method for consistent storage of data in an industrial controller
FR2829337B1 (fr) * 2001-09-03 2003-10-31 Schneider Automation Equipement d'automatisme connecte a un reseau tcp/ip
US6725104B2 (en) * 2001-09-21 2004-04-20 Siemens Aktiengesellschaft Method and apparatus for E-mail based communication with automated facilities and devices
US6782294B2 (en) * 2002-03-22 2004-08-24 Arecont Intellectual Property Holdings, Llc Internet based distributed control system
US20100141466A1 (en) * 2002-04-05 2010-06-10 Mary Thanhhuong Thi Nguyen System and method for automatic detection of fiber and copper in data switch systems
US6978227B2 (en) * 2002-04-12 2005-12-20 Schneider Automation Inc. Programmable logic controller with programmable high-speed digital processing
US7981257B2 (en) 2002-04-12 2011-07-19 Schneider Electric USA, Inc. Current-based method and apparatus for detecting and classifying arcs
US7988833B2 (en) 2002-04-12 2011-08-02 Schneider Electric USA, Inc. System and method for detecting non-cathode arcing in a plasma generation apparatus
US8015303B2 (en) * 2002-08-02 2011-09-06 Astute Networks Inc. High data rate stateful protocol processing
US8230090B2 (en) * 2002-09-11 2012-07-24 Broadcom Corporation System and method for TCP offloading and uploading
GB2392518B (en) * 2002-09-02 2004-09-22 3Com Corp Computer network and method of operating same to preload content of selected web pages
US8151278B1 (en) 2002-10-17 2012-04-03 Astute Networks, Inc. System and method for timer management in a stateful protocol processing system
US7596621B1 (en) 2002-10-17 2009-09-29 Astute Networks, Inc. System and method for managing shared state using multiple programmed processors
US7814218B1 (en) 2002-10-17 2010-10-12 Astute Networks, Inc. Multi-protocol and multi-format stateful processing
US7802001B1 (en) 2002-10-18 2010-09-21 Astute Networks, Inc. System and method for flow control within a stateful protocol processing system
DE20307101U1 (de) * 2003-05-07 2003-07-10 Siemens Ag Automatisierungssystem mit vereinfachter Diagnose und Fehlerbehebung
US8587452B2 (en) * 2003-05-12 2013-11-19 Power Measurement Ltd. Time coordinated energy monitoring system utilizing communications links
US7539760B1 (en) 2003-09-12 2009-05-26 Astute Networks, Inc. System and method for facilitating failover of stateful connections
GB2397477B (en) * 2003-11-26 2004-12-01 F Secure Oyj Securing a data transmission channel
US7399411B2 (en) * 2004-01-29 2008-07-15 International Business Machines Corporation Retainer assembly including buoyant retainer attached to remediation material and anchor
US20050256939A1 (en) * 2004-05-03 2005-11-17 Schneider Automation Sas Automatic Configuration of Network Automation Devices
US6979997B1 (en) * 2004-05-19 2005-12-27 Unisys Corporation Method of controlling the operation of a digital state machine from a master controller in an IC-chip testing system
US7860874B2 (en) * 2004-06-08 2010-12-28 Siemens Industry, Inc. Method for searching across a PLC network
US20060036838A1 (en) * 2004-08-10 2006-02-16 Salcedo David M Security system network interface and security system incorporating the same
US9537768B2 (en) 2004-09-30 2017-01-03 Rockwell Automation Technologies, Inc. System that provides for removal of middleware in an industrial automation environment
US20070185969A1 (en) * 2005-08-19 2007-08-09 Davis Wayne R Drive with Server
US8554877B2 (en) 2005-08-19 2013-10-08 Rockwell Automation Technologies, Inc. Motor drive with integrated server module
US7593409B2 (en) * 2005-12-29 2009-09-22 Honeywell International Inc. Apparatus and methods for monitoring network traffic
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
US20070237088A1 (en) * 2006-04-05 2007-10-11 Honeywell International. Inc Apparatus and method for providing network security
US20080080543A1 (en) * 2006-09-28 2008-04-03 Rockwell Automation Technologies, Inc. Network switch with controller i/o capability
JP5280135B2 (ja) * 2008-09-01 2013-09-04 株式会社日立製作所 データ転送装置
US9088610B2 (en) * 2008-09-30 2015-07-21 Rockwell Automation Technologies, Inc. Method and apparatus for communications accelerator on CIP motion networks
US7860944B2 (en) * 2008-09-30 2010-12-28 Rockwell Automation Technologies, Inc. Aggregation server with information visualization panel subscription model
US8661165B2 (en) 2008-10-27 2014-02-25 Lennox Industries, Inc. Device abstraction system and method for a distributed architecture heating, ventilation and air conditioning system
US8437878B2 (en) 2008-10-27 2013-05-07 Lennox Industries Inc. Alarm and diagnostics system and method for a distributed architecture heating, ventilation and air conditioning network
US8655490B2 (en) 2008-10-27 2014-02-18 Lennox Industries, Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8802981B2 (en) 2008-10-27 2014-08-12 Lennox Industries Inc. Flush wall mount thermostat and in-set mounting plate for a heating, ventilation and air conditioning system
US8564400B2 (en) 2008-10-27 2013-10-22 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8433446B2 (en) 2008-10-27 2013-04-30 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed-architecture heating, ventilation and air conditioning network
US8437877B2 (en) 2008-10-27 2013-05-07 Lennox Industries Inc. System recovery in a heating, ventilation and air conditioning network
US9432208B2 (en) 2008-10-27 2016-08-30 Lennox Industries Inc. Device abstraction system and method for a distributed architecture heating, ventilation and air conditioning system
US8352080B2 (en) 2008-10-27 2013-01-08 Lennox Industries Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8239066B2 (en) 2008-10-27 2012-08-07 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8762666B2 (en) 2008-10-27 2014-06-24 Lennox Industries, Inc. Backup and restoration of operation control data in a heating, ventilation and air conditioning network
US9632490B2 (en) 2008-10-27 2017-04-25 Lennox Industries Inc. System and method for zoning a distributed architecture heating, ventilation and air conditioning network
US8788100B2 (en) 2008-10-27 2014-07-22 Lennox Industries Inc. System and method for zoning a distributed-architecture heating, ventilation and air conditioning network
US8463442B2 (en) 2008-10-27 2013-06-11 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed architecture heating, ventilation and air conditioning network
US8452456B2 (en) 2008-10-27 2013-05-28 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US9152155B2 (en) 2008-10-27 2015-10-06 Lennox Industries Inc. Device abstraction system and method for a distributed-architecture heating, ventilation and air conditioning system
US8600558B2 (en) 2008-10-27 2013-12-03 Lennox Industries Inc. System recovery in a heating, ventilation and air conditioning network
US8655491B2 (en) 2008-10-27 2014-02-18 Lennox Industries Inc. Alarm and diagnostics system and method for a distributed architecture heating, ventilation and air conditioning network
US9651925B2 (en) 2008-10-27 2017-05-16 Lennox Industries Inc. System and method for zoning a distributed-architecture heating, ventilation and air conditioning network
US8744629B2 (en) 2008-10-27 2014-06-03 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8798796B2 (en) 2008-10-27 2014-08-05 Lennox Industries Inc. General control techniques in a heating, ventilation and air conditioning network
US8560125B2 (en) 2008-10-27 2013-10-15 Lennox Industries Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8352081B2 (en) 2008-10-27 2013-01-08 Lennox Industries Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8255086B2 (en) 2008-10-27 2012-08-28 Lennox Industries Inc. System recovery in a heating, ventilation and air conditioning network
US8694164B2 (en) 2008-10-27 2014-04-08 Lennox Industries, Inc. Interactive user guidance interface for a heating, ventilation and air conditioning system
US8874815B2 (en) 2008-10-27 2014-10-28 Lennox Industries, Inc. Communication protocol system and method for a distributed architecture heating, ventilation and air conditioning network
US8442693B2 (en) 2008-10-27 2013-05-14 Lennox Industries, Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8548630B2 (en) 2008-10-27 2013-10-01 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed-architecture heating, ventilation and air conditioning network
US9268345B2 (en) 2008-10-27 2016-02-23 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US9261888B2 (en) 2008-10-27 2016-02-16 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8977794B2 (en) 2008-10-27 2015-03-10 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8600559B2 (en) 2008-10-27 2013-12-03 Lennox Industries Inc. Method of controlling equipment in a heating, ventilation and air conditioning network
US8855825B2 (en) 2008-10-27 2014-10-07 Lennox Industries Inc. Device abstraction system and method for a distributed-architecture heating, ventilation and air conditioning system
US8725298B2 (en) 2008-10-27 2014-05-13 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed architecture heating, ventilation and conditioning network
US9377768B2 (en) 2008-10-27 2016-06-28 Lennox Industries Inc. Memory recovery scheme and data structure in a heating, ventilation and air conditioning network
US8615326B2 (en) 2008-10-27 2013-12-24 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8994539B2 (en) 2008-10-27 2015-03-31 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed-architecture heating, ventilation and air conditioning network
US8543243B2 (en) 2008-10-27 2013-09-24 Lennox Industries, Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8892797B2 (en) 2008-10-27 2014-11-18 Lennox Industries Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8452906B2 (en) 2008-10-27 2013-05-28 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8463443B2 (en) 2008-10-27 2013-06-11 Lennox Industries, Inc. Memory recovery scheme and data structure in a heating, ventilation and air conditioning network
US9325517B2 (en) 2008-10-27 2016-04-26 Lennox Industries Inc. Device abstraction system and method for a distributed-architecture heating, ventilation and air conditioning system
US9678486B2 (en) 2008-10-27 2017-06-13 Lennox Industries Inc. Device abstraction system and method for a distributed-architecture heating, ventilation and air conditioning system
US8774210B2 (en) 2008-10-27 2014-07-08 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8295981B2 (en) 2008-10-27 2012-10-23 Lennox Industries Inc. Device commissioning in a heating, ventilation and air conditioning network
CN101436312B (zh) * 2008-12-03 2011-04-06 腾讯科技(深圳)有限公司 一种生成视频动画的方法及装置
USD648641S1 (en) 2009-10-21 2011-11-15 Lennox Industries Inc. Thin cover plate for an electronic system controller
USD648642S1 (en) 2009-10-21 2011-11-15 Lennox Industries Inc. Thin cover plate for an electronic system controller
GB0919253D0 (en) 2009-11-03 2009-12-16 Cullimore Ian Atto 1
US8260444B2 (en) 2010-02-17 2012-09-04 Lennox Industries Inc. Auxiliary controller of a HVAC system
DE102010048809A1 (de) 2010-10-20 2012-04-26 Hüttinger Elektronik Gmbh + Co. Kg Leistungsversorgungssystem für eine Plasmaanwendung und/oder eine Induktionserwärmungsanwendung
DE102010048810A1 (de) 2010-10-20 2012-04-26 Hüttinger Elektronik Gmbh + Co. Kg System zur Bedienung mehrerer Plasma- und/oder Induktionserwärmungsprozesse
US8875276B2 (en) * 2011-09-02 2014-10-28 Iota Computing, Inc. Ultra-low power single-chip firewall security device, system and method
US9270109B2 (en) 2013-03-15 2016-02-23 Schweitzer Engineering Laboratories, Inc. Exchange of messages between devices in an electrical power system
US9065763B2 (en) * 2013-03-15 2015-06-23 Schweitzer Engineering Laboratories, Inc. Transmission of data over a low-bandwidth communication channel
US9620955B2 (en) 2013-03-15 2017-04-11 Schweitzer Engineering Laboratories, Inc. Systems and methods for communicating data state change information between devices in an electrical power system
EP2913727B1 (de) * 2014-02-28 2016-09-21 Siemens Aktiengesellschaft Verfahren zur Übermittlung von Nachrichten über ein Rückwandbus-System eines modularen industriellen Automatisierungsgeräts
US9450916B2 (en) 2014-08-22 2016-09-20 Honeywell International Inc. Hardware assist for redundant ethernet network
US20160291841A1 (en) * 2015-04-02 2016-10-06 Honeywell International Inc. Mobile device emulating a field device display
KR101632835B1 (ko) * 2015-04-14 2016-06-23 엘에스산전 주식회사 Plc 시스템의 프로토콜 자동 설정 방법
EP3142296B1 (de) 2015-09-14 2018-04-18 Siemens Aktiengesellschaft Verfahren zur konfiguration eines modularen steuerungsgeräts eines industriellen automatisierungssystems und modulares steuerungsgerät
US10819727B2 (en) 2018-10-15 2020-10-27 Schweitzer Engineering Laboratories, Inc. Detecting and deterring network attacks

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4319338A (en) 1979-12-12 1982-03-09 Allen-Bradley Company Industrial communications network with mastership determined by need
US5157595A (en) 1985-07-19 1992-10-20 El Paso Technologies, Company Distributed logic control system and method
US5072412A (en) 1987-03-25 1991-12-10 Xerox Corporation User interface with multiple workspaces for sharing display system objects
JP2834122B2 (ja) 1987-07-08 1998-12-09 株式会社日立製作所 制御装置
US4937777A (en) 1987-10-07 1990-06-26 Allen-Bradley Company, Inc. Programmable controller with multiple task processors
JPH01160158A (ja) 1987-12-17 1989-06-23 Murata Mach Ltd 遠隔地の機械制御システム
US5251302A (en) 1988-04-11 1993-10-05 Square D Company Network interface board having memory mapped mailbox registers including alarm registers for storing prioritized alarm messages from programmable logic controllers
US5131092A (en) 1989-09-01 1992-07-14 Square D Company Communication system enabling programmable logic controllers access to host computer tasks and host computer access to programmable logic controllers without polling
CA2034878C (en) 1990-03-08 2002-04-02 Craig S. Hyatt Programmable controller communication module
US5159673A (en) 1990-03-22 1992-10-27 Square D Company Apparatus for networking programmable logic controllers to host computers
US5245704A (en) 1990-03-22 1993-09-14 Square D Company System for sharing data between microprocessor based devices
JP2661316B2 (ja) 1990-03-24 1997-10-08 トヨタ自動車株式会社 複数のプログラマブルコントローラ間の並列運転による制御装置
US5122948A (en) 1990-06-28 1992-06-16 Allen-Bradley Company, Inc. Remote terminal industrial control communication system
US5321829A (en) 1990-07-20 1994-06-14 Icom, Inc. Graphical interfaces for monitoring ladder logic programs
US5151896A (en) 1990-09-21 1992-09-29 Bowman Donald J Modular digital telephone system with fully distributed local switching and control
EP0553285B1 (de) 1990-10-16 2000-03-01 Consilium, Inc. Objektorientierte architektur für fabrikverwaltung
JPH06266727A (ja) 1990-10-24 1994-09-22 Osaka Gas Co Ltd 診断表示方法及び表示装置
US5225974A (en) 1990-10-30 1993-07-06 Allen-Bradley Company, Inc. Programmable controller processor with an intelligent functional module interface
US5297257A (en) 1991-04-15 1994-03-22 Allen-Bradley Company, Inc. Distributing a real-time control program to a plurality of input/output nodes
US5613115A (en) 1991-12-09 1997-03-18 Total Control Products, Inc. Method for using PLC programming information to generate secondary functions such as diagnostics and operator interface
US5379291A (en) * 1992-12-29 1995-01-03 International Business Machines Corporation Apparatus for fiber distributed data interface dynamic station bypass via skipping and hopping
US5623652A (en) 1994-07-25 1997-04-22 Apple Computer, Inc. Method and apparatus for searching for information in a network and for controlling the display of searchable information on display devices in the network
US5598536A (en) 1994-08-09 1997-01-28 Shiva Corporation Apparatus and method for providing remote users with the same unique IP address upon each network access
EP0710904B1 (de) * 1994-10-25 1998-10-07 Rieter Ingolstadt Spinnereimaschinenbau AG Backplane-Steuerung für Spinnereimaschine
US5625781A (en) 1995-10-31 1997-04-29 International Business Machines Corporation Itinerary list for interfaces
US5734831A (en) 1996-04-26 1998-03-31 Sun Microsystems, Inc. System for configuring and remotely administering a unix computer over a network
US5805442A (en) 1996-05-30 1998-09-08 Control Technology Corporation Distributed interface architecture for programmable industrial control systems
US5982362A (en) 1996-05-30 1999-11-09 Control Technology Corporation Video interface architecture for programmable industrial control systems
US6091737A (en) * 1996-11-15 2000-07-18 Multi-Tech Systems, Inc. Remote communications server system
US6657999B1 (en) * 1997-03-31 2003-12-02 Texas Instruments Incorporated Link layer gateway computer for interconnecting ethernet and 1394 networks
US5997167A (en) 1997-05-01 1999-12-07 Control Technology Corporation Programmable controller including diagnostic and simulation facilities
US6484061B2 (en) * 1997-09-10 2002-11-19 Schneider Automation Inc. Web interface to a programmable controller
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)
US6321272B1 (en) * 1997-09-10 2001-11-20 Schneider Automation, Inc. Apparatus for controlling internetwork communications
US6282454B1 (en) * 1997-09-10 2001-08-28 Schneider Automation Inc. Web interface to a programmable controller
US6151625A (en) * 1997-09-10 2000-11-21 Schneider Automation Inc. Internet web interface including programmable logic controller for controlling output devices based on status of input devices
US6122670A (en) * 1997-10-30 2000-09-19 Tsi Telsys, Inc. Apparatus and method for constructing data for transmission within a reliable communication protocol by performing portions of the protocol suite concurrently
US5950006A (en) 1997-11-05 1999-09-07 Control Technology Corporation Object-oriented programmable controller
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
US6327511B1 (en) * 1998-12-30 2001-12-04 Schneider Automation, Inc. Input/output (I/O) scanner for a control system with peer determination

Also Published As

Publication number Publication date
WO2001050704A2 (en) 2001-07-12
MXPA01008827A (es) 2002-07-30
DE60023292D1 (de) 2006-03-02
US6587884B1 (en) 2003-07-01
US6963922B2 (en) 2005-11-08
WO2001050704A3 (en) 2002-01-24
CA2362437C (en) 2014-05-27
US20030195975A1 (en) 2003-10-16
EP1188293A2 (de) 2002-03-20
CA2362437A1 (en) 2001-07-12
EP1188293B1 (de) 2005-10-19

Similar Documents

Publication Publication Date Title
DE60023292T2 (de) Doppelter ethernet-stack für plc-zugang mit maximaler geschwindigkeit
DE69833777T2 (de) Webschnittstelle für eine programmierbare steuerung
DE60113030T2 (de) System zur programmierung einer sps mit einem web-browser
US8291121B2 (en) System and method for interfacing with a controller
US6484061B2 (en) Web interface to a programmable controller
US6151625A (en) Internet web interface including programmable logic controller for controlling output devices based on status of input devices
DE69819211T2 (de) Verteilte interfacearchitektur einer programmierbaren industriellen steuerung
US7058693B1 (en) System for programming a programmable logic controller using a web browser
DE60118487T2 (de) Kommunikationsystem auf Basis von WDSL Sprache
EP1436676B1 (de) Verfahren zum bedienen und zum beobachten von feldger ten
DE60038705T2 (de) Verfahren und vorrichtung für die aktivitäts-basierte zusammenarbeit eines rechnersystems, ausgestattet mit einem kommunikations-manager
EP1436677B1 (de) Verfahren zur inbetriebnahme eines bedien- und beobachtungssystems von feldgeräten
DE60207155T2 (de) Objektorientiertes Internetschnittstellensystem für eine industrielle Steuereinrichtung
US6732191B1 (en) Web interface to an input/output device
DE10208146A1 (de) Verfahren zum rechnergestützten Erzeugen einer graphischen Benutzeroberfläche und Geräteüberwachungs-/Steuerungseinheit
DE69930953T2 (de) Betriebskommunikationsprotokoll
DE10151117A1 (de) Verfahren zum Ausbilden einer Bedienfunktion von Feldgeräten und Feldgerät
DE10151118A1 (de) Verfahren zum Übertragen von Rohdaten und Feldgerät
MXPA99004249A (es) Interfaz web para un controlador programable
EP1341082A2 (de) Verfahren zum rechnergestützten Erzeugen einer graphischen Benutzeroberfläche einer Geräteüberwachungs-/Steuerungseinheit

Legal Events

Date Code Title Description
8363 Opposition against the patent
8331 Complete revocation