DE60206236T2 - Automatisierungseinrichtung mit USB-Verbindung - Google Patents

Automatisierungseinrichtung mit USB-Verbindung Download PDF

Info

Publication number
DE60206236T2
DE60206236T2 DE60206236T DE60206236T DE60206236T2 DE 60206236 T2 DE60206236 T2 DE 60206236T2 DE 60206236 T DE60206236 T DE 60206236T DE 60206236 T DE60206236 T DE 60206236T DE 60206236 T2 DE60206236 T2 DE 60206236T2
Authority
DE
Germany
Prior art keywords
automation device
messages
application program
stack
usb
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60206236T
Other languages
English (en)
Other versions
DE60206236D1 (de
Inventor
Jean-Jacques Genin
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
Original Assignee
Schneider Automation SAS
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=8867008&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE60206236(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 filed Critical Schneider Automation SAS
Application granted granted Critical
Publication of DE60206236D1 publication Critical patent/DE60206236D1/de
Publication of DE60206236T2 publication Critical patent/DE60206236T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/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
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25166USB, firewire, ieee-1394

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Systems (AREA)

Description

  • Die vorliegende Erfindung betrifft eine Automatisierungseinrichtung, die mit einer Verbindung vom USB-Typ (Universal Serial Bus) für den Anschluss einer oder mehrerer entfernter Einrichtungen ausgestattet ist.
  • Immer mehr Endgeräte oder Einrichtungen vom Typ PC sind mit Verbindungen vom Typ USB ausgestattet, welche den Anschluss entfernter Einrichtungen vereinfachen und sehr viel größere Durchsätze anbieten als die üblichen seriellen Verbindungen. Außerdem ermöglicht es diese Verbindung, das Durchlassband in Abhängigkeit von den Kommunikationserfordernissen aufzuteilen. Die durch diese Verbindung erbrachten Erweiterung und Flexibilität dürfen aber den Echtzeitbetrieb der sie verwendenden Automatisierungseinrichtungen nicht stören.
  • Eine Automatisierungseinrichtung bezeichnet nachfolgend einen programmierbaren Automaten, eine Überwachungs/Steuerstation, eine digitale Steuerung, oder jede andere Einrichtung, die ein Anwendungsprogramm enthalten und ausführen kann mit dem Ziel, eine oder mehrere Überwachungs- und/oder Steuerfunktionen der ganzen oder eines Teils einer Automatisierungsanwendung durchzuführen, die zum Beispiel zum Gebiet der industriellen Automatisierungen, der Gebäude-Automatisierungen oder der Überwachungen/Steuerungen der elektrischen Verteilernetze gehören.
  • Die Verwendung einer solchen Art von Verbindung bei einer Automatisierungseinrichtung würde die Verbesserung der Übertragungsgeschwindigkeit der Daten zwischen dieser Automatisierungseinrichtung und entfernten Einrichtungen, wie zum Beispiel Peripheriegeräten, Endgeräten, Programmierungs- Diagnose-, Überwachungssystemen, anderen Automatisierungseinrichtungen und ähnlichen erlauben. Dies würde auch die Lösung der Kommunikationsprobleme mit der Welt der Computer von der Art PC ermöglichen. Die üblichen seriellen Verbindungen werden nämlich softwaregesteuert, und das zeitliche Verhalten wird von anderen Softwareprogrammen verändert, deren Ausführung eine höhere Priorität aufweist, wie zum Beispiel die Antivirus-Softwareprogramme, die Bildschirmschoner, usw. Bei einem USB-Netz wird die Verbindungsschicht, die dem Niveau 2 des Kommunikationsmodells OSI entspricht, von einem ihr gewidmeten Hardwarebauteil verwaltet, daher wird ihr Betrieb unabhängig von den anderen Softwareaufgaben, die in der Einrichtung durchgeführt werden.
  • Diese Verwendung würde vorteilhafterweise auch die Anpassung der Standard-Verbindungsmittel der Welt der PC-Computer an die Automatisierungseinrichtungen erlauben, was den Anschluss erleichtern und somit die Kosten der Implementierung reduzieren würde.
  • Der bei einer USB-Verbindung verfügbare große Durchsatz darf aber den Betrieb des Anwendungsprogramms der Automatisierungseinrichtung nicht stören. Wenn das schwache Durchlassband der asynchronen seriellen Verbindungen einen Fluss ohne Einwirkung auf den Echtzeitbetrieb der Automatisierungseinrichtung induziert, so ist dies bei einer sehr schnellen Verbindung nicht mehr der Fall. Es wird also unbedingt notwendig, den eingehenden Fluss an die Echtzeit-Erfordernisse und – Zwänge der überwachten Anwendung anzupassen.
  • Das Problem tritt hauptsächlich beim Empfang von Nachrichten auf. Die statische Zuweisung eines Durchlassbands würde durch eine Verringerung seines Reaktionsvermögens zu einer beträchtlichen Verringerung der Leistungen des Systems führen. Um auf augenblickliche Erfordernisse zum Beispiel der Regelung reagieren zu können, müssten nämlich Kommunikationskanäle reserviert werden, die die meiste Zeit ungenutzt wären. Auch muss der zulässige Durchsatz am Endgerätanschluss einer Automatisierungseinrichtung in Abhängigkeit von den Anwendungszwängen kalibriert werden. Die Anzahl von pro Zyklus – Zeiteinheit der Anwendung – am Endgerätanschluss der Automatisierungseinrichtung zulässigen Nachrichten hängt vom Modell der Automatisierungseinrichtung ab. Ein Modell hoher Qualität, das voluminöse Anwendungen verwaltet, muss nämlich einen wesentlich größeren Durchsatz gewährleisten können als ein Modell geringerer Qualität, insbesondere um den Erfordernissen der Überwachungsprogramme zu entsprechen. Außerdem können die Durchsätze je nach den Automatisierungsanwendungen variieren, da die Anzahl von pro Sekunde durchgeführten Zyklen eines Anwendungsprogramms in einer Automatisierungseinrichtung auch mit der Art der Anwendung zusammenhängt. Zum Beispiel bei einer Automatisierungsanwendung, die die Überwachung/Steuerung einer Maschine betrifft, liegt die Zykluszeit im Allgemeinen unter 10 ms, während diejenige einer Regelanwendung eher in der Größenordnung von 100 ms liegt. Im letzteren Fall ist die Anzahl der pro Zeiteinheit verarbeiteten Nachrichten also niedriger.
  • Die Druckschrift US 6,219,033 beschreibt einen Computer, der mittels einer Verbindung vom Typ USB mit einer Mensch-Maschine-Schnittstelle verbunden werden kann. Die Druckschrift US2002/0133239 beschreibt einen programmierbaren Automaten, der einen Verbinder vom Typ USB aufweist. Diese beiden Druckschriften liefern aber keine Einzelheiten über die in einer Automatisierungseinrichtung eingesetzten Mittel zum Verwalten der Störungen, die von den USB-Verbindungen im Betrieb eines Anwendungsprogramms verursacht werden, das von einer solchen Automatisierungseinrichtung durchgeführt wird.
  • Es ist also ein Ziel der Erfindung, die Verwendung einer USB-Verbindung bei einer Automatisierungseinrichtung vorzuschlagen, die Mittel aufweist, um die Störung des Betriebs des Echtzeit-Anwendungsprogramms zu vermeiden, das in der Automatisierungseinrichtung durchgeführt wird.
  • Dieses Ziel wird durch eine Automatisierungseinrichtung erreicht, die ein Echtzeit-Anwendungsprogramm ausführt, um eine oder mehrere Überwachungs- oder Steuerungsfunktionen in einer Automatisierungsanwendung durchzuführen, mit einem Arbeitsspeicher und einem USB-Verbinder, der über eine USB-Bus-Steuerschaltung mit einem internen Bus der Automatisierungseinrichtung verbunden ist. Die Automatisierungseinrichtung weist eine Software-Task auf, die dazu bestimmt ist, den Fluss der auf dem USB-Verbinder zwischen der Automatisierungseinrichtung und entfernten Einrichtungen ausgetauschten Kommunikationen den Eigenschaften des in der Automatisierungseinrichtung durchgeführten Anwendungsprogramms unterzuordnen. Die Software-Task nutzt eine erste variable Speicherzone des Arbeitsspeichers, die als Empfangsstapel für Eingangsrahmen und als Empfangsstapel für Ausgangsnachrichten bezeichnet wird, wobei die Größe der ersten Speicherzone durch Konstruktion für den Empfangsstapel von Eingangsrahmen und durch Parametrierung für den Empfangsstapel von Ausgangsnachrichten definiert wird.
  • Gemäß einer Besonderheit wird die Software-Task periodisch von einer Zeitbasis der Automatisierungseinrichtung aktiviert und verarbeitet den Sendebereich, indem sie einen Rahmenkonstruktormodul auslöst.
  • Gemäß einer weiteren Besonderheit wird die Software-Task beim Empfang einer Kommunikationsnachricht durch eine Unterbrechung ausgelöst, die von der USB-Bus-Steuerschaltung kommt, und weist einen Konstruktormodul von für das Anwendungsprogramm bestimmten Nachrichten nach Synchronisation durch die Zeitbasis der Automatisierungseinrichtung auf.
  • Gemäß einer weiteren Besonderheit konvertiert der Nachrichtenkonstruktor USB-Rahmen in Nachrichten, die im Format des Betriebssystems der Automatisierungseinrichtung ausgedrückt und für die Anwendung verständlich sind, und umgekehrt für den Rahmenkonstruktor.
  • Die Software-Task nutzt eine zweite variable Speicherzone des Arbeitsspeichers der Automatisierungseinrichtung, die als Sendestapel für Ausgangsrahmen und als Sendestapel für Eingangsnachrichten bezeichnet wird, wobei die Größe der zweiten variablen Speicherzone durch Konstruktion für den Sendestapel von Ausgangsrahmen und durch Parametrierung für den Sendestapel von Eingangsnachrichten zugeordnet wird.
  • Gemäß einer weiteren Besonderheit weist die Software-Task einen Parametrierungsmodul auf, der eine Softwarefunktion der Parametrierung der Speicherzonen enthält, die als Sendestapel von Eingangsnachrichten und als Empfangsstapel von Ausgangsnachrichten verwendet werden.
  • Gemäß einer weiteren Besonderheit weist die Software-Task einen Verwaltungsmodul der zum Anwendungsprogramm eingehenden Nachrichten und einen Verwaltungsmodul der vom Anwendungsprogramm kommenden, ausgehenden Nachrichten auf.
  • Gemäß einer weiteren Besonderheit begrenzt der Verwaltungsmodul der eingehenden Nachrichten die Anzahl von zu Beginn eines Zyklus des Anwendungsprogramms gelesenen Nachrichten auf einen bestimmten Wert (zum Beispiel vier Nachrichten pro Zyklus für ein Modell einer Automatisierungseinrichtung mittlerer Qualität).
  • Gemäß einer weiteren Besonderheit weist die Automatisierungseinrichtung einen Treiber auf, der zu Beginn des Zyklus des Anwendungsprogramms das Lesen der eingehenden Nachrichten auslöst und am Ende des Zyklus des Anwendungsprogramms und vor dem Beginn des folgenden Zyklus das Schreiben der ausgehenden Nachrichten auslöst.
  • Weitere Besonderheiten und Vorteile der Erfindung gehen klarer aus der nachfolgenden Beschreibung in Verbindung mit einer darstellenden, aber nicht einschränkenden Ausführungsform der Erfindung hervor, die in den beiliegenden Zeichnungen dargestellt ist. Es zeigen:
  • 1 das Schaltbild einer Kommunikationsarchitektur einer gemäß der Erfindung definierten Automatisierungseinrichtung,
  • 2 schematisch ein Beispiel einer Architektur einer solchen Automatisierungseinrichtung.
  • Die Erfindung wird in Verbindung mit den 1 und 2 beschrieben. Die Erfindung betrifft eine Automatisierungseinrichtung, die mit einem nicht in 1 dargestellten Verbinder (81, 2) vom Typ USB ausgestattet ist, der mit einer oder mehreren entfernten externen Einrichtungen über eine Verbindung (95, 1) kommuniziert. Dieser Verbinder (81) vom Typ USB ist mit einer USB-Bus-Steuerschaltung (8) verbunden. Diese USB-Bus-Steuerschaltung (8) kommuniziert mit dem internen Bus (9) der Automatisierungseinrichtung, am Eingang über die Verbindung (91), am Ausgang über die Verbindung (92) der internen Busleitung (9) der Automatisierungseinrichtung. Der klassische Aufbau einer Automatisierungseinrichtung ist in 2 dargestellt und besteht allgemein aus einer Zentraleinheit (63), die aus einem oder mehreren Prozessoren besteht, einem Festspeicher (65) vom nicht veränderbaren Typ ROM oder vom veränderbaren Typ FLASH-PROM, der nachfolgend als Festspeicher bezeichnet wird. Dieser Festspeicher (65) enthält das Konstruktorprogramm, das Betriebssystem (operating system, OS) genannt wird. Dieses Konstruktorprogramm wird allgemein in einer für den Konstruktor spezifischen Sprache ausgedrückt. Die Automatisierungseinrichtung weist auch einen Arbeitsspeicher (64) auf, der wie der Festspeicher (65) über die interne Busleitung (9) mit der Zentraleinheit (63) kommuniziert. Ein Eingangs-Ausgangs-Verwaltungsprogramm (66) der Automatisierungseinrichtung ist ebenfalls mit dem internen Bus (9) verbunden und kommuniziert mit der Zentraleinheit (63). Der Arbeitsspeicher (64) enthält in einer ersten Zone das vom Benutzer entwickelte Echtzeitprogramm der Anwendung (70), das nachfolgend Anwendungsprogramm genannt wird, in einer zweiten Zone die Daten, insbesondere die Bilder der Zustände der Koppler und die Konstanten bezüglich des vom Benutzer entwickelten Anwendungsprogramms.
  • Es wird daran erinnert, dass das Anwendungsprogramm von der Zentraleinheit (63) ausgeführt wird und die Aufgabe hat, die Überwachung und/oder die Steuerung einer Automatisierungsanwendung mit Hilfe von Eingängen-Ausgängen durchzuführen, die vom Verwaltungsprogramm der Eingänge-Ausgänge (66) und vom Anwendungsprogramm gesteuert werden. Das vom Konzeptor/Benutzer ausgearbeitete Anwendungsprogramm wird üblicherweise in einer oder mehreren graphischen Automatisierungssprachen geschrieben, die insbesondere Kontaktdiagramme (Ladder Diagram), sequentielle Funktionsdiagramme (Sequential Function Chart), die auch Grafcet genannt werden, Funktionsblöcke (Function Block Description) und/oder Befehlslisten IL (Instruction List) integrieren.
  • Zusätzlich zu den Eigeninformationen der Automatisierungsanwendung, die aus dem Anwendungsprogramm, den im Arbeitsspeicher (64) gespeicherten Daten und Eingängen-Ausgängen bestehen, beschreibt die Erfindung die Möglichkeit, variable Speicherzonen (693, 694) des Arbeitsspeichers (64) zuzuordnen. Eine erste variable Speicherzone (693) ermöglicht es, einen FIFO-Stapel (642) zum Empfang von Ausgangsnachrichten und einen FIFO-Stapel (643) zum Empfang von Eingangsrahmen zu erstellen, und eine zweite variable Speicherzone (694) ermöglicht es, einen FIFO-Stapel (641) zum Senden von Eingangsnachrichten und einen FIFO-Stapel (644) zum Senden von Ausgangsrahmen zu erstellen. Die Größe der ersten Speicherzone (693) wird durch Konstruktion für den Stapel (643) zum Empfang von Eingangsrahmen und durch Parametrierung für den Stapel (642) zum Empfang von Ausgangsnachrichten definiert. Die Größe der zweiten Speicherzone (694) wird durch Konstruktion für den Stapel (644) zum Senden von Ausgangsrahmen und durch Parametrierung für den Stapel (641) zum Senden von Eingangsnachrichten definiert. Die Größen der Rahmensende- und -empfangsstapel (643, 644) werden also vom Konstruktor der Automatisierungseinrichtung festgelegt, zum Beispiel in Abhängigkeit vom Modell der Automatisierungseinrichtung. Eine Parametrierung durch den Benutzer ermöglicht es dagegen, die Größen der Nachrichtensende- und -empfangsstapel (641, 642) zu definieren, zum Beispiel in Abhängigkeit vom Typ einer überwachten Automatisierungsanwendung.
  • Zusätzlich zu den klassischen Komponenten eines Betriebssystems einer Standard-Automatisierungseinrichtung weist der ROM-Speicher oder der PROM-Speicher eine gewisse Anzahl von Softwaremodulen auf, deren Funktionen nachfolgend erläutert werden.
  • Ein erster Modul (60) hat die Aufgabe eines Abtast-Treibers oder -Verwaltungsprogramms (englisch "scan manager").
  • Ein zweiter Modul (62) zur Verwaltung der Unterbrechungen (englisch: "interrupt manager") verwaltet die von der USB-Bus-Steuerschaltung (8) kommenden Unterbrechungen.
  • Ein dritter Modul (61) verwaltet die Zeitbasis des Systems (englisch "system time base") und löst die Aktivierung eines Softwaremoduls (1) zur Verarbeitung der USB-Nachrichtenübermittlung aus, der hauptsächlich einen Nachrichtenkonstruktormodul (11) (englisch "message builder") für die eingehenden Kommunikationen und einen Rahmenkonstruktormodul (12) (englisch: "frame builder") für die ausgehenden Kommunikationen aufweist. Diese Module (11, 12) werden im Festspeicher (65) gespeichert und sind Teil des Betriebssystems (OS). Der Nachrichtenkonstruktormodul (11) und der Rahmenkonstruktormodul (12) passen je die eingehenden Rahmen an das Format von für das Anwendungsprogramm bestimmten Nachrichten und umgekehrt die vom Anwendungsprogramm kommenden Nachrichten an, die dazu bestimmt sind, am Ausgang in Rahmen umgewandelt und dann zum USB-Bus gesendet zu werden.
  • Der Treiber (60), der mit dem Anwendungsprogramm (70) dialogisiert, erzeugt am Ende jedes Zyklus des Anwendungsprogramms ein Signal (51) des Endes des Abtastvorgangs (englisch: "end scan"). Dieses Signal (51) ermöglicht es, einen Verwaltungsprogrammmodul (32) von ausgehenden Nachrichten (englisch: "outgoing messages manager") auszulösen, der die Informationen empfängt, die den Stapel (642) zum Empfang von zu sendenden Ausgangsnachrichten füllen sollen. Um die Kohärenz der Nachrichten zu garantieren, sendet außerdem der Treiber (60) zu Beginn jedes Zyklus des Anwendungsprogramms ein Signal (41) des Abtastbeginns (englisch: "begin scan"), das einen Verwaltungsprogrammmodul (31) für eingehende Nachrichten (englisch: "incoming messages manager") auslöst, um die Übertragung der vom Stapel (641) zum Senden von Eingangsnachrichten kommenden Nachrichten zum Anwendungsprogramm (70) zu ermöglichen. Die Verwaltungsprogrammmodule für eingehende Nachrichten (31) und ausgehende Nachrichten (32) sind Teil des Betriebssystems (05), das im Festspeicher (65) der Automatisierungseinrichtung gespeichert ist.
  • Wie in 1 gezeigt, dient so der Stapel (643) zum Empfang von Eingangsrahmen als Pufferspeicher zwischen der USB-Bus-Steuerschaltung (8) und dem Nachrichtenkonstruktor (11), und der Stapel (641) zum Senden von Eingangsnachrichten dient als Pufferspeicher zwischen dem Nachrichtenkonstruktor (11) und dem Verwaltungsprogramm (31) der eingehenden Nachrichten. Auch dient der Stapel (642) zum Empfang von Ausgangsnachrichten als Pufferspeicher zwischen dem Verwaltungsprogramm (32) der ausgehenden Nachrichten und dem Rahmenkonstruktor (12), und der Stapel (644) zum Senden von Ausgangsrahmen dient als Pufferspeicher zwischen dem Rahmenkonstruktor (12) und der USB-Bus-Steuerschaltung (8).
  • Ein vierter Parametrierungsmodul (67) weist eine Softwarefunktion des Parametrierens auf, die es einem Benutzer ermöglicht, einen vorbestimmten Grenzwert der Anzahl von Nachrichten zu konfigurieren, die am Anfang eines Zyklus des Anwendungsprogramms (70) vom Speicher der Automatisierungseinrichtung empfangen werden können. Dieser Grenzwert bestimmt insbesondere die Größe der dem Stapel (641) zum Senden von Eingangsnachrichten zugeteilten Speicherzone. Der Parametrierungsmodul (67) liefert diese Information an den Verwaltungsprogrammmodul (31) der eingehenden Nachrichten, um es ihm zu ermöglichen, die Anzahl von am Anfang des Zyklus zu empfangenden Nachrichten zu begrenzen. Auch ist der Parametrierungsmodul (67) ebenfalls in der Lage, es einem Benutzer zu erlauben, einen vorbestimmten Grenzwert der Anzahl von Nachrichten zu konfigurieren, die am Ende des Zyklus des Anwendungsprogramms (70) gesendet werden können. Dieser Grenzwert bestimmt insbesondere die Größe der dem Stapel (642) zum Empfang von Ausgangsnachrichten zugeteilten Speicherzone.
  • Der Modul zur Verarbeitung der USB-Nachrichtenübermittlung (1) wird periodisch, zum Beispiel alle Millisekunden, ausgelöst. Dieser Modul gewährleistet zwei Hauptfunktionen: Fragmentierung/Defragmentierung der USB-Rahmen und Regelung des Durchsatzes. Die Defragmentierung besteht darin, USB-Rahmen mit 64 Bytes in Nachrichten umzuwandeln, die für das Anwendungsprogramm verständlich sind, und umgekehrt. Die Fragmentierung besteht darin, für das Anwendungsprogramm verständliche Nachrichten in USB-Rahmen mit 64 Bytes umzuwandeln.
  • Eine Nachricht weist allgemein mehrere Rahmen auf. Wenn die Task der Verarbeitung der USB-Nachrichtenübermittlung aktiviert ist, beginnt sie damit, den Sendebereich zu verarbeiten, um interne Speicherressourcen freizugeben. Der von der Automatisierungseinrichtung erzeugte Fluss ist nämlich im Allgemeinen wesentlich geringer als die Empfangskapazitäten der entfernten Einrichtungen, die über Kommunikationsmittel vom Typ USB verfügen. Die Empfangsphase beginnt mit einem Test des verfügbaren Platzes im Stapel (641) zum Senden von Eingangsnachrichten. Wenn es keinen Platz gibt, um mindestens eine Nachricht im Stapel (641) zu speichern, beendet der Nachrichtenkonstruktor (11) seine Verarbeitung, ohne den Stapel (643) zum Empfang von Eingangsrahmen zu entstapeln. Wenn es Platz gibt, um mindestens eine Nachricht im Stapel (641) zu speichern, entstapelt der Nachrichtenkonstruktor (11) den Stapel (643) und wandelt die USB-Rahmen in eine Eingangsnachricht um, die im Stapel (641) gespeichert wird.
  • Die Flussüberwachung ist also dem Treiber-Softwaremodul (60) untergeordnet, der der internen Zeitbasis (61) der Automatisierungseinrichtung untergeordnet ist, und wird durch ein Signal des Unterbrechungs-Verwaltungs programms (62) ausgelöst. Die Nachrichten werden vom Nachrichtenkonstruktor (11) konstruiert und nur dann defragmentiert, wenn Arbeitsspeicher-Ressourcen (64) zur Verfügung stehen, und die Verwaltung der Zonen von FIFO-Stapeln (641 bis 644) des Arbeitsspeichers (64) ist dem Anwendungsprogramm (70) untergeordnet.
  • Die USB-Bus-Steuerschaltung (8) arbeitet autonom über Unterbrechungen, die entweder durch die Ankunft eines Rahmens oder durch das Ende des Sendens des vorhergehenden Rahmens ausgelöst werden. Der für eine Kommunikation vom Typ USB übliche Mechanismus der negativen Bestätigung wird automatisch aktiviert, wenn alle Ressourcen in Empfangsrichtung besetzt sind. Diese negative Bestätigung wird von der USB-Bus-Steuerschaltung (8) gesendet, wenn eine durch die Ankunft eines Rahmens ausgelöste Unterbrechung nicht vom Modul (1) der Verarbeitung der USB-Nachrichtenübermittlung (wenn der FIFO-Stapel (643) zum Empfang von Eingangsrahmen voll ist) und dem Treiber (60) verarbeitet werden konnte. Es ist dann die Aufgabe des nicht dargestellten Senders, ein Verhalten anzunehmen, das mit den für die Verbindung (95) zulässigen Durchsätzen kohärent ist, zum Beispiel durch kurzfristige Verringerung der Anforderungen.

Claims (8)

  1. Automatisierungseinrichtung, die ein Anwendungsprogramm (70) ausführt, um eine oder mehrere Überwachungs- oder Steuerungsfunktionen in einer Automatisierungsanwendung durchzuführen, mit einem Arbeitsspeicher (64) und einem USB-Verbinder (81), der über eine USB-Bus-Steuerschaltung (8) mit einem internen Bus (9) der Automatisierungseinrichtung verbunden ist, dadurch gekennzeichnet, dass sie eine Software-Task (1, 31, 32, 60, 61, 62, 67) aufweist, die dazu bestimmt ist, den Fluss der auf dem USB-Verbinder (81) zwischen der Automatisierungseinrichtung und entfernten Einrichtungen ausgetauschten Kommunikationen den Eigenschaften des in der Automatisierungseinrichtung durchgeführten Anwendungsprogramms (70) unterzuordnen, und dass die Software-Task eine erste variable Speicherzone (693) des Arbeitsspeichers (64) nutzt, die als Empfangsstapel (643) von Eingangsrahmen und als Empfangsstapel (642) von Ausgangsnachrichten bezeichnet wird, wobei die Größe der ersten Speicherzone (693) durch Konstruktion für den Empfangsstapel (643) von Eingangsrahmen und durch Parametrierung für den Empfangsstapel (642) von Ausgangsnachrichten definiert wird.
  2. Automatisierungseinrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Software-Task (1, 31, 32, 60, 61, 62, 67) periodisch von einer Zeitbasis (61) der Automatisierungseinrichtung aktiviert wird und den Sendebereich der Kommunikation verarbeitet, indem sie einen Rahmenkonstruktormodul (12) auslöst, wobei der Rahmenkonstruktor (12) Nachrichten, die im Format des Betriebssystems der Automatisierungs einrichtung ausgedrückt und für das Anwendungsprogramm (70) verständlich sind, in USB-Rahmen konvertiert.
  3. Automatisierungseinrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Software-Task (1, 31, 32, 60, 61, 62, 67) beim Empfang einer Kommunikationsnachricht durch eine Unterbrechung ausgelöst wird, die von der USB-Bus-Steuerschaltung (8) kommt, und einen Konstruktormodul (11) von für das Anwendungsprogramm (70) bestimmten Nachrichten nach Synchronisation durch eine Zeitbasis (61) der Automatisierungseinrichtung aufweist, wobei der Nachrichtenkonstruktor (11) USB-Rahmen in Nachrichten konvertiert, die im Format des Betriebssystems der Automatisierungseinrichtung ausgedrückt und für das Anwendungsprogramm (70) verständlich sind.
  4. Automatisierungseinrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Software-Task (1, 31, 32, 60, 61, 62, 67) eine zweite variable Speicherzone (694) des Arbeitsspeichers (64) der Automatisierungseinrichtung nutzt, die als Sendestapel (644) von Ausgangsrahmen und als Sendestapel (641) von Eingangsnachrichten bezeichnet wird, wobei die Größe der zweiten variablen Speicherzone (694) durch Konstruktion für den Sendestapel (644) von Ausgangsrahmen und durch Parametrierung für den Sendestapel (641) von Eingangsnachrichten zugeordnet wird.
  5. Automatisierungseinrichtung nach Anspruch 4, dadurch gekennzeichnet, dass die Software-Task (1, 31, 32, 60, 61, 62, 67) einen Parametrierungsmodul (67) aufweist, der eine Softwarefunktion der Parametrierung der variablen Speicherzonen enthält, die als Empfangsstapel (642) von Nachrichten und als Sendestapel (641) von Nachrichten verwendet werden.
  6. Automatisierungseinrichtung nach Anspruch 5, dadurch gekennzeichnet, dass die Software-Task (1, 31, 32, 60, 61, 62, 67) einen Verwaltungsmodul (31) der zum Anwendungsprogramm (70) eingehenden Nachrichten und einen Verwaltungsmodul (32) der vom Anwendungsprogramm (70) kommenden, ausgehenden Nachrichten aufweist.
  7. Automatisierungseinrichtung nach Anspruch 6, dadurch gekennzeichnet, dass der Verwaltungsmodul (31) der eingehenden Nachrichten die Anzahl von zu Beginn eines Zyklus des Anwendungsprogramms (70) gelesenen Nachrichten auf einen bestimmten Wert begrenzt.
  8. Automatisierungseinrichtung nach Anspruch 6, dadurch gekennzeichnet, dass sie einen Treiber (60) aufweist, der zu Beginn des Zyklus des Anwendungsprogramms (70) das Lesen der eingehenden Nachrichten auslöst und am Ende des Zyklus des Anwendungsprogramms (70) und vor dem Beginn des folgenden Zyklus das Schreiben der ausgehenden Nachrichten auslöst.
DE60206236T 2001-09-03 2002-08-08 Automatisierungseinrichtung mit USB-Verbindung Expired - Lifetime DE60206236T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0111507A FR2829338B1 (fr) 2001-09-03 2001-09-03 Equipement d'automatisme equipe d'une liaison de type usb
FR0111507 2001-09-03

Publications (2)

Publication Number Publication Date
DE60206236D1 DE60206236D1 (de) 2005-10-27
DE60206236T2 true DE60206236T2 (de) 2006-06-29

Family

ID=8867008

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60206236T Expired - Lifetime DE60206236T2 (de) 2001-09-03 2002-08-08 Automatisierungseinrichtung mit USB-Verbindung

Country Status (5)

Country Link
US (1) US6915355B2 (de)
EP (1) EP1312993B1 (de)
DE (1) DE60206236T2 (de)
ES (1) ES2247263T3 (de)
FR (1) FR2829338B1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008013075A1 (de) * 2008-03-06 2009-09-24 Hilscher Gesellschaft für Systemautomation mbH Speicherprogrammierbare Steuerung mit flexibler Kommunikations- und Steuerungsstruktur und Verfahren zu deren Konfiguration

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4831793B2 (ja) * 2005-03-07 2011-12-07 横河電機株式会社 データ制御装置
EP1811351A1 (de) 2006-01-23 2007-07-25 Siemens Aktiengesellschaft Speicherprogrammierbare Steuerung mit USB Schnittstelle

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US227411A (en) * 1880-05-11 Sewer-gas trap
US4058711A (en) * 1976-04-16 1977-11-15 Cincinnati Milacron Inc. Asynchronous dual function multiprocessor machine control
US4638452A (en) * 1984-02-27 1987-01-20 Allen-Bradley Company, Inc. Programmable controller with dynamically altered programmable real time interrupt interval
US5734373A (en) * 1993-07-16 1998-03-31 Immersion Human Interface Corporation Method and apparatus for controlling force feedback interface systems utilizing a host computer
US6308215B1 (en) * 1997-12-22 2001-10-23 Robert J. Kolbet Extender apparatus for USB connection of computer units
WO1999048608A2 (en) * 1998-03-23 1999-09-30 Cepheid Multi-site reactor system with dynamic, independent control of individual reaction sites
US6408351B1 (en) * 1998-03-31 2002-06-18 Compaq Computer Corporation Host modem having a peripheral codec powered by a peripheral bus
US6282469B1 (en) * 1998-07-22 2001-08-28 Snap-On Technologies, Inc. Computerized automotive service equipment using multipoint serial link data transmission protocols
US6405139B1 (en) * 1998-09-15 2002-06-11 Bently Nevada Corporation System for monitoring plant assets including machinery
US6412028B1 (en) * 1999-04-06 2002-06-25 National Instruments Corporation Optimizing serial USB device transfers using virtual DMA techniques to emulate a direct memory access controller in software
DE59915109D1 (de) * 1999-07-06 2010-01-21 X Rite Europe Gmbh Lichtmessvorrichtung
DE19935512A1 (de) * 1999-07-28 2001-02-08 Siemens Ag Vorrichtung zur Verbindung einer industriellen Steuereinheit mit einem industriellen Bedienpanel
US6502146B1 (en) * 2000-03-29 2002-12-31 Intel Corporation Apparatus and method for dedicated interconnection over a shared external bus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008013075A1 (de) * 2008-03-06 2009-09-24 Hilscher Gesellschaft für Systemautomation mbH Speicherprogrammierbare Steuerung mit flexibler Kommunikations- und Steuerungsstruktur und Verfahren zu deren Konfiguration

Also Published As

Publication number Publication date
DE60206236D1 (de) 2005-10-27
US6915355B2 (en) 2005-07-05
EP1312993B1 (de) 2005-09-21
EP1312993A1 (de) 2003-05-21
ES2247263T3 (es) 2006-03-01
US20030061411A1 (en) 2003-03-27
FR2829338B1 (fr) 2003-10-31
FR2829338A1 (fr) 2003-03-07

Similar Documents

Publication Publication Date Title
DE69628798T2 (de) Verfahren zur Übertragung von Multimediadaten
DE3854594T2 (de) Programmierbare Steuerung mit parallelen Prozessoren.
DE68919975T2 (de) Verfahren für die simultane Ablaufverwaltung eines verteilten Anwenderprogramms in einem Hostrechner und in einer grossen Anzahl von intelligenten Benutzerstationen in einem SNA-Netzwerk.
EP0710904B1 (de) Backplane-Steuerung für Spinnereimaschine
DE19939567B4 (de) Vorrichtung zum Steuern von sicherheitskritischen Prozessen
DE69733602T2 (de) Verfahren zur Unterbrechungsbearbeitung in einer Hochgeschwindigkeits-E/A-Steuervorrichtung
EP1101329B1 (de) Brückenmodul
DE4023471C2 (de) Steuerungssystem mit Hostcomputer und Kommunikationsschnittstellenschaltung
DE3931514A1 (de) Kommunikationssteuerungssystem
DE3788097T2 (de) Übertragungsschaltung für Endgerät.
DE60109060T2 (de) Interkommunikationsvorprozessor
EP0006164A1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
EP3962026A1 (de) Verfahren und system zur bereitstellung von zeitkritischen diensten
WO2019030388A1 (de) Verfahren, vorrichtung und computerprogramm zur dynamischen ressourcenzuweisung in einem mehrprozessor-computersystem
DE60310146T2 (de) System und Methode zur Überwachung, mit geringer Zusatzinformation, des Leerzustandes der Senderwarteschlange
DE102004052412A1 (de) Verfahren und Vorrichtung zum dynamischen Umschalten zwischen Abfragen und Interrupt, um Netzverkehr zu handhaben
WO2000004429A1 (de) Steuerungssystem mit einem personalcomputer
DE4426001A1 (de) Verfahren zur Überlastvermeidung bei einem Systemanlauf eines Mehrrechnersystems und Mehrrechnersystem dafür
DE60206236T2 (de) Automatisierungseinrichtung mit USB-Verbindung
DE102016216495A1 (de) Basic-CAN Controller
EP1121645B1 (de) Elektronische steuereinrichtung mit einem parallelen datenbus und verfahren zum betreiben der steuereinrichtung
EP0895168B1 (de) Kommunikationssystem mit einer seriellen Schnittstelle
DE69107929T2 (de) Fernmeldesteuerungsanordnung zwischen einem Rechner und einer Mehrheit von ISDN-artigen Endgeräten.
EP0193096A2 (de) Schnittstellenbaustein
DE3613898A1 (de) Kommunikationssystem mit mehreren auf ein gemeinsames uebertragungsnetzwerk zugreifenden teilnehmerstationen

Legal Events

Date Code Title Description
8363 Opposition against the patent