DE60023292T2 - Doppelter ethernet-stack für plc-zugang mit maximaler geschwindigkeit - Google Patents
Doppelter ethernet-stack für plc-zugang mit maximaler geschwindigkeit Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/054—Input/output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/169—Special adaptations of TCP, UDP or IP for interworking of IP based networks with other networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/12—Plc mp multi processor system
- G05B2219/1208—Communication, exchange of control, I-O data between different plc
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/15—Plc structure of the system
- G05B2219/15038—Internet, tcp-ip, web server see under S05B219-40
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31104—Remote configuration of parameters of controlled devices
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31124—Interface between communication network and process control, store, exchange data
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31156—Network structure, internet
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31186—TCP-IP internet protocol
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31422—Upload, download programs, parameters from, to station to, from server
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32126—Hyperlink, access to program modules and to hardware modules in www, web server, browser
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34038—Web, http, ftp, internet, intranet server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer 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 in2 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 Benutzer2 an einem entfernten Standort und einer zum Überwachen eines Vorgangssteuerungssystems6 verwendeten Internet-Webseite4 veranschaulicht. Der Benutzer2 wird über einen Personalcomputer (PC)8 verfügen, in dem ein im Handel erhältlicher Browser10 wie "Navigator" von Netscape Communications oder "Internet Explorer" von Microsoft installiert ist, um die Inhalte auf der Webseite4 über ein Netz wie etwa das Internet14 durch einen Bildschirm12 zu sehen. Der PC stellt dem Vorgangssteuerungssystem6 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 Internet14 selbst bereitzustellen. Das Internet14 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 Netzschnittstelle16 , die eine einzigartige Internet-Adresse18 , einen Server20 und ein Anwendungsprogramm22 aufweist. Der Server20 wirkt als ein Hypertextübertragungsprotokoll(HTTP)-Übersetzer, der das Übertragungssteuerungsprotokoll (TCP) durch einen Übertragungssteuerungsprotokoll/Internet-Proto koll(TCP/IP)-Stapel24 in Verbindung mit dem Internet-Protokoll verwendet, um mit der Netzschnittstelle16 und dem Anwendungsprogramm22 zu interagieren. Dies ermöglicht die Datenübertragung zwischen dem Anwendungsprogramm22 und dem Benutzer2 durch das Internet14 . Das Anwendungsprogramm stellt Daten vom Vorgangssteuerungssystem6 bereit. Diese Daten können verwendet werden, um den Steuerungsvorgang durch den Benutzer2 am entfernten Standort zu überwachen. Der Stapel24 ermöglicht Datenübertragungen über das Internet14 zwischen dem Benutzer2 und der Webseite4 , 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 Internet14 verbinden und wird, wenn er verbunden ist, die Adresse der Webseite4 eingeben. Die Webseite4 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 Browser10 wird dem Benutzer2 gestatten, die Seite zu lesen und mit den damit verbundenen Auswahlmöglichkeiten zu interagieren. Der Browser10 wird Befehle zur Webseite4 senden, die das Anwendungsprogramm22 verwenden wird, um jegliche Informationen, die vom Vorgangssteuerungssystem6 verfügbar sind, anzuzeigen. Wie nachstehend ausführlich ausgeführt werden wird, wirkt der Browser10 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 Webseite4 beinhaltet die Netzschnittstelle16 , die eine einzigartige Internet-Adresse18 und einen Webserver30 aufweist. Der Webserver30 stellt die Homepage für die Webseite4 bereit. Eine Brandmauer oder Sicherheit für das gesamte System kann im Webserver30 beinhaltet sein, wird aber im Allgemeinen als Teil der Netzschnittstelle16 unterhalten. Zusätzlich zur Bereitstellung von Sicherheit für verschiedenste Seiten an der Seite kann der Benutzer den Webserver30 abschalten. Ein Kennwort und eine Benutzerliste sind in den im Webserver30 gespeicherten anfänglichen Konfigurationsdateien, die von einem entfernten Server heruntergeladen werden, bereitgestellt. Der Schutz der Konfigurationsdatei wird dann durch den entfernten Server und den Webserver30 über das Kennwort und die Benutzerliste bereitgestellt. Der Webserver30 stellt durch Einstecken des Webservers30 in die Rückwandplatine34 einer programmierbaren Logiksteuerung (PLC)32 eine direkte Verbindung dieser Steuerung mit dem Internet14 bereit. Der Webserver30 stellt sowohl eine Kunden- als auch eine Serverschnittstelle bereit. Alle Signale zwischen der PLC32 und dem Webserver30 verlaufen anstatt über einen Satz von Kabeln, die normalerweise mit Eingangs-Ausgangs-Modulen gekoppelt werden müssten, welche selbst in die Rückwandplatine34 eingesteckt sind, durch die Rückwandplatine34 . 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 PLC32 von einer entfernten HMI, im Wesentlichen auf einer Echtzeitbasis, ist durch Steuern des Datenflusses durch den Webserver30 möglich. - Mit der PLC
32 verbunden sind ihre Anwendungsprogramme36 , ein Doppelportspeicher38 , und Eingabe/Ausgabe(I/O)-Module40 . Die Anwendungsprogramme36 beinhalten ein Leiterlogikprogramm zum Steuern der I/O-Module40 . Der Webserver30 wirkt als ein Knoten in einem TCP/IP-Netz42 , was ihm gestattet, Befehle zur PLC32 zu senden und die Antwort zu empfangen. Obwohl das TCP/IP-Netz42 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 Internet14 kann ein Benutzer Konfigurationsinformationen der PLC32 steuern und sehen. - Der Webserver
30 ist in3 ausführlicher gezeigt. Verschiedenste Komponenten stellen die benötigte Verbindungsmöglichkeit zur Durchführung seiner Funktionalität bereit. Ein Echtzeitbetriebssystem44 steuert die Wechselwirkung zwischen den Komponenten. Das Betriebssystem44 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-Treiber48 , der Nachrichten mit einer Geschwindigkeit von 100 Mbs (Megabit pro Sekunde) oder schneller über einen Ethernet-Kommunikationschip49 , 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 Kategorie5 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 PLC32 und den I/O-Modulen40 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 PLC32 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-Treiber48 verwaltet Sende-50 und Empfangspuffer51 im Speicher52 und ist an den Ethernet-Kommunikationschip49 angeschaltet. Der Ethernet-Kommunikationschip49 und der Ethernet-Treiber48 teilen sich den Sende-50 und den Empfangspuffer51 . Der Ethernet-Treiber48 stellt auch eine Sendeanforderungsschnittstelle und eine Empfangsangabeschnittstelle für einen TCP/IP-Stapel54 bereit. Der Ethernet-Kommunikationschip49 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-Treiber48 stellt Empfangspuffer in die Empfangswarteschlange. Im Unterbrechungsprogramm untersucht der Ethernet-Treiber48 die Empfangswarteschlange. Wenn sich jegliche Nachrichten in der Empfangswarteschlange befinden, gibt er den Empfangspuffer zum TCP/IP-Stapel 54 weiter. Der TCP/IP-Stapel54 kopiert den Puffer und ruft etwas später den Ethernet-Treiber48 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-Treiber48 auf, um eine Nachricht zu senden. Der Ethernet-Treiber48 versucht, einen Puffer vom geteilten Speicher52 zu belegen. Wenn er erfolgreich ist, kopiert er die Nachricht in den Puffer und stellt er den Puffer in die Sendewarteschlange des Ethernet-Kommunikationschips49 . Wenn kein Sendepuffer vorhanden ist, verwirft der Treiber die Sendenachricht. Im Unterbrechungsprogramm untersucht der Ethernet-Treiber48 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 PLC32 laufen, Befehle zu einem entfernten Knoten im TCP/IP-Netz42 zu senden und die Antworten zu empfangen. Ein Rückwandplatinentreiber56 sendet Befehle über die Rückwandplatine34 und empfängt darüber die Antwort an die PLC32 . - Der Rückwandplatinentreiber
56 erhält von den Leiterlogik-MSTR-Blöcken der PLC, die in deren Speicher38 gespeichert sind, eine Anforderung. Wenn eine Antwort verfügbar ist, gibt der Rückwandplatinen treiber56 diese zum MSTR-Block zurück. Der Rückwandplatinentreiber56 stellt den Anwendungen eine Kundenanwendung58 und eine Serveranwendung60 bereit. Die Schnittstelle der Serveranwendung60 gestattet einer Anwendung, einen Anforderungsbefehl an das ausführende Programm der PLC32 auszugeben und dessen Antwort zu erhalten. Die Kundenanwendung58 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ückwandplatinentreiber56 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ückwandplatinentreiber56 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ückwandplatinentreiber56 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 Doppelportspeicher38 an die Hardware des Webservers30 angeschaltet. Sie liest und schreibt unter Verwendung eines ASIC-Chips aus dem bzw. in den Doppelportspeicher38 . Das Schreiben an eine bestimmte Stelle wird eine Unterbrechung verursachen. Die PLC32 schreibt zuerst eine Nachricht in den Doppelportspeicher38 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 PLC32 und zum Erhalten der Antworten auf die Anforderungen verwendet. Nachdem die PLC32 die Nachricht weitergegeben hat, fragt sie den Doppelportspeicher38 nach Befehlen, die durch den Rückwandplatinentreiber56 eingestellt wurden, ab. Diese Befehle sind "Lies den Speicher", "Schreib in den Speicher" und "Verarbeitung abgeschlossen". Der Rückwandplatinentreiber56 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ückwandplatinentreiber56 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ückwandplatinentreiber56 die Ausgänge des MSTR auf "falsch" stellen. Wenn eine Zustandsmaschine gefunden wird, bestimmt der Rückwandplatinentreiber56 , 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ückwandplatinentreiber56 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 Doppelspeicher38 der PLC32 befindet. Bei der zweiten Unterbrechung, die als Abtastungsende-Unterbrechung bezeichnet wird, kopiert der Rückwandplatinentreiber56 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ückwandplatinentreiber56 verarbeitet und nicht zur Verarbeitung zum ausführenden Programm der PLC gesendet. Der Rückwandplatinentreiber56 bestimmt die Speicherstelle im Speicher38 der Register der PLC32 . Bei einer Abtastungsende-Unterbrechung verarbeitet der Rückwandplatinentreiber56 die Anforderungen zum Lesen/Beschreiben des Registers durch Senden von Befehlen über den Doppelportspeicher38 zur PLC32 , um die Stellen, die die Register enthalten, zu lesen oder zu beschreiben. Der Rückwandplatinentreiber56 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-Stapel54 und den Rückwandplatinentreiber56 angeschaltet und verwendet die Nachrichtendienste des Betriebssystems44 . Sie verarbeitet die MSTR-Anforderung. Wenn die Kundenanwendung58 vom Rückwandplatinentreiber56 eine MSTR-Anforderung erhält, gibt sie die Anforderung zum TCP/IP-Stapel54 weiter. Wenn der TCP/IP-Stapel54 eine Antwort zur Kundenanwendung58 zurückgibt, gibt diese die Antwort zum Rückwandplatinentreiber56 weiter. Der TCP/IP-Stapel54 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 Betriebssystem44 auf, um eine Nachricht zur Anwendung, die durch die Anwendungskennung angegeben ist, zu senden. Sie sendet eine Nachricht entweder zur Kundenanwendung58 oder zur Serveranwendung60 . Die Kundenanwendung58 sendet Anforderungsangaben zum Rückwandplatinentreiber56 , und das zugehörige Rückrufprogramm ruft das Betriebssystem44 auf, um eine Nachricht hinsichtlich eines neuen MSTR-Vorgangs zur Kundenanwendung58 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 Kundenanwendung58 tritt in eine Schleife ein, nachdem sie die Initialisierung durchgeführt hat. Sie ruft das Betriebssystem44 auf, um eine Nachricht zu erhalten. Das Betriebssystem44 wird die Kundenanwendung58 blockieren, bis eine Nachricht vorhanden ist, oder bis es zu einer Zeitunterbrechung kommt. Sie erhält entweder eine Nachricht vom TCP/IP-Stapel54 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 Betriebssystem44 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 Kundenanwendung58 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 Kundenanwendung58 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 Kundenanwendung58 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 Serveranwendung60 ist an den Rückwandplatinentreiber56 , den TCP/IP-Stapel54 , und die Nachrichtendienste des Betriebssystems44 angeschaltet. Die Serveranwendung60 sendet Anforderungen zum Rückwandplatinentreiber56 , und ein zugehöriges Rückrufprogramm verwendet die Nachrichtendienste des Betriebssystems44 , um die Antwort zur Serveranwendung60 zu senden. Eine Signalfunktion des TCP/IP-Stapels54 verwendet ebenfalls den Sendedienst des Betriebssystems44 , um ein TCP/IP-Ereignis zur Serveranwendung60 zu senden. Die Serveranwendung60 kann mehrere Vorgänge und Verbindungen behandeln. Wie die Kundenanwendung58 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 Betriebssystem44 auf, um eine Nachricht zu erhalten. Das Betriebssystem44 blockiert die Serveranwendung60 , bis eine Nachricht vorhanden ist, oder bis es zu einer Zeitunterbrechung kommt. Sie erhält entweder eine Nachricht von der Signalbehandlungseinrichtung der TCP/IP-Anwendung54 oder vom Rückwandplatinentreiber56 , oder es kommt zu einer Zeitunterbrechung. Sie verarbeitet die Nachricht oder die Zeitunterbrechung und tritt erneut in die Schleife ein. Wenn die vom Betriebssystem44 erhaltene Nachricht von der Signalbehandlungseinrichtung der TCP/IP-Anwendung54 stammt, bestimmt die Serveranwendung60 , ob das Ereignis eine Verbindungsanforderung, ein Steckbuchsenschließereignis oder ein Datenempfangsereignis ist. Beruhend auf dem TCP/IP-Ereignis verwendet die Serveranwendung60 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 Betriebssystem44 erhalten wird, findet die Serveranwendung60 die Verbindungs- und die Vorgangsmaschine, um die Antwort zu senden. - Wenn die Serveranwendung
60 vom TCP/IP-Stapel54 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 Serveranwendung60 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ückwandplatinentreiber56 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-Stapel54 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-Stapel54 und den Rückwandplatinentreiber56 angeschaltet. Die HTTP-Serveranwendung62 erhält eine HTTP-Anforderung vom TCP/IP-Stapel54 . Um die Anforderung zu verarbeiten, kann sie durch den Rückwandplatinentreiber56 und die Rückwandplatine34 auf die PLC32 zugreifen. Die HTTP-Serveranwendung62 sendet die Antwort über den TCP/IP-Stapel54 zurück. Der Rahmen wird durch das Betriebssystem44 geliefert. Der Rahmen schafft die HTTP-Anwendung, akzeptiert die Verbindung, und parst die HTTP-Anwendung. Nach dem Parsen der Anforderung ruft er das Betriebssystem44 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 PLC32 und im Doppelspeicher38 einen Schnappschuss der Tätigkeiten der PLC32 zu erlangen. Diese Anforderungsarten beinhalten wie in Tabelle 1 gezeigt auch die Darstellung der Konfiguration der PLC32 , Statistiken der Gesundheit von entfernten und verteilten Eingaben/Ausgaben und Modulen, die Darstellung von Registern, die Konfiguration der Rückwandplatine, Ethernet-Statistiken u.a. - 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-Stapel54 . 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 Betriebssystem44 eine Anforderung zum Rückwandplatinentreiber56 und verwendet es einen Ereignissignalmechanismus und Ereignismarkierungen, um zu bestimmen, wann die Anforderung abgeschlossen ist. Nach dem Senden der Anforderung zum Rückwandplatinentreiber56 wartet das Betriebssystem44 auf eine zu sendende Ereignismarkierung. Wenn der Rückwandplatinentreiber die Anforderung abschließt, ruft der Rückwandplatinentreiber56 ein Rückrufprogramm auf, das das Ereignis festlegt. Das Betriebssystem44 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 Motorstartdruckknopfs150 wird eine Bestromung eines Motorstartrelais152 durch einen normalerweise geschlossenen Motorstopdruckknopf154 und einen normalerweise geschlossenen Überlastkontakt156 verursachen. Ein Hilfs-Motorstartkontakt158 wird das Relais152 sperren, nachdem der Startdruckknopf150 freigegeben wurde, und ein Kontrolllicht160 wird aufleuchten. Ein Hilfs-Motorstartkontakt162 wird Strom für einen Pumpenmotor164 bereitstellen, der im laufenden Zustand verbleiben wird, bis der Stopdruckknopf154 gedrückt wird oder ein Überlastrelais166 einen Überlastzustand feststellt. Bei diesem Beispiel sind der Startdruckknopf150 , der Stopdruckknopf154 , der Überlastkontakt156 , die Hilfs-Motorstartkontakte158 und162 , und das Überlastrelais166 Eingänge zum programmierbaren Logiksteuerungssystem. Das Relais152 , das Kontrolllicht160 , 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 Relais152 , die Kontakte158 ,162 und der Pumpenmotor164 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 Stopknopf154 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)
- 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. - Schnittstellenmodul nach Anspruch 1, wobei der Doppelprotokollstapel einen Doppel-TCP/IP-Stapel umfaßt.
- 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.
- 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.
- Schnittstellenmodul nach Anspruch 4, wobei der erste und der zweite Protokollstapel TCP/IP-Stapel sind.
- 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.
- 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.
- Schnittstellenmodul nach Anspruch 7, wobei das Schnittstellenmodul als eine Webseite im Internet funktional ist, wobei das Schnittstellenmodul eine globale IP-Adresse enthält.
- Schnittstellenmodul nach einem der vorhergehenden Ansprüche, wobei die Netzschnittstelle ein Ethernet-Treiber ist.
- Schnittstellenmodul nach einem der vorhergehenden Ansprüche, wobei die Protokollanwendung eine Hypertexttransportprotokoll anwendung enthält, um Hypertextdokumente zur Netzschnittstelle zu liefern.
- 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.
- 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.
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)
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)
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 |
-
1999
- 1999-12-31 US US09/477,113 patent/US6587884B1/en not_active Expired - Lifetime
-
2000
- 2000-12-07 DE DE60023292T patent/DE60023292T2/de not_active Revoked
- 2000-12-07 WO PCT/US2000/033215 patent/WO2001050704A2/en active IP Right Grant
- 2000-12-07 EP EP00982507A patent/EP1188293B1/de not_active Revoked
- 2000-12-07 MX MXPA01008827A patent/MXPA01008827A/es active IP Right Grant
- 2000-12-07 CA CA2362437A patent/CA2362437C/en not_active Expired - Lifetime
-
2003
- 2003-04-14 US US10/414,662 patent/US6963922B2/en not_active Expired - Lifetime
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 |