DE112011105318T5 - Programmierbares Controllersystem - Google Patents

Programmierbares Controllersystem Download PDF

Info

Publication number
DE112011105318T5
DE112011105318T5 DE112011105318.5T DE112011105318T DE112011105318T5 DE 112011105318 T5 DE112011105318 T5 DE 112011105318T5 DE 112011105318 T DE112011105318 T DE 112011105318T DE 112011105318 T5 DE112011105318 T5 DE 112011105318T5
Authority
DE
Germany
Prior art keywords
data
unit
intercommunication
controller
transfer
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.)
Withdrawn
Application number
DE112011105318.5T
Other languages
English (en)
Inventor
Tomohisa Yamaguchi
Mitsushiro Fujishima
Hiroshi Mihara
Tamiki Kobayashi
Hitoshi Ishida
Shigeru Hashimoto
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112011105318T5 publication Critical patent/DE112011105318T5/de
Withdrawn legal-status Critical Current

Links

Images

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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15081Period length ratio between application and communication task is settable

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Bus Control (AREA)

Abstract

Um eine zeitliche Zuverlässigkeit von Interkommunikationsdaten zu gewährleisten, selbst wenn eine Berechnungsperiode von Controllereinheiten länger ist als eine Interkommunikationsperiode unter den Controllereinheiten in einem programmierbaren Controllersystem, erzeugt in einer sendeseitigen Controllereinheit (10A) eine CPU (11) Interkommunikationsdaten in der Berechnungsperiode, teilt die erzeugten Interkommunikationsdaten auf, um Elemente von Transfereinheitdaten zu erzeugen, deren Anzahl gleich oder geringer als ein Wert ist, der erhalten worden ist durch Dividieren der Berechnungsperiode durch die Interkommunikationsperiode (Schritt S1), und transferiert ein DMA-Controller sequenziell mehrere Elemente der Transfereinheitdaten an Sendeinterkommunikationsspeicher (15a, 15b) bei Interkommunikationsintervallen (Schritte S2 und S4), und liest in einer empfangsseitigen Controllereinheit (10B) ein DMA-Controller sequenziell mehrere Elemente der Transfereinheitdaten, die sequenziell sind an Empfangsinterkommunikationsspeicher (16a, 16b) transferiert worden (Schritte S3 und S6), bei den Interkommunikationsintervallen (Schritte S5 und S7).

Description

  • Gebiet
  • Die vorliegende Erfindung betrifft ein programmierbares Controllersystem, das Industrievorrichtungen steuert.
  • Hintergrund
  • Konventionell hat es eine Technik gegeben, in der Interkommunikationsdaten in Teile aufgeteilt werden, und die Aufteilungsteile in dem Fall übertragen werden, wo eine Periode, in der die Kommunikationsdaten erzeugt werden (eine Berechnungsperiode), länger ist als eine Periode, in der die Kommunikationsdaten interkommuniziert werden (eine Interkommunikationsperiode) (siehe beispielsweise Patentliteratur 1).
  • Zitierungsliste
  • Patentliteratur
    • Patentliteratur 1: Offengelegte japanische Patentanmeldung Nr. 2004-133581 .
  • Zusammenfassung
  • Technisches Problem
  • Eine Interkommunikation von Steuerungsdaten zwischen Controllereinheiten in einem programmierbaren Controllersystem erfordert eine zeitliche Zuverlässigkeit. Und zwar müssen Daten in einer vorbestimmten Größe zuverlässig an einen Bestimmungsort in einer vorbestimmten Zeit transferiert werden. Gemäß der Technik, die in der oben erwähnten Patentliteratur 1 beschrieben ist, werden jedoch die Aufteilungsdaten mit Verwendung eines Socket übertragen, und somit, wenn es eine Vielzahl von Übertragungsquellen gibt, können die Aufteilungsdaten aufgrund einer Kollision von Interkommunikationsdaten oder anderen Gründen nicht einen Übertragungsbestimmungsort zu einem beabsichtigten Timing erreichen. Das heißt, dass die Technik, die in der oben erwähnten Patentliteratur 1 beschrieben ist, nicht eine zuverlässige Dateninterkommunikation bereitstellen kann.
  • Die vorliegende Erfindung ist angesichts der oben erwähnten Umstände erreicht worden, und es ist eine Aufgabe der vorliegenden Erfindung, ein programmierbares Controllersystem bereitzustellen, das eine zeitliche Zuverlässigkeit von Interkommunikationsdaten gewährleisten kann, selbst wenn die Berechnungsperiode länger als die Interkommunikationsperiode ist.
  • Lösung des Problems
  • Um die oben erwähnten Probleme zu lösen und die Aufgabe zu erreichen, stellt die vorliegende Erfindung ein programmierbares Controllersystem bereit mit einer Vielzahl von Controllereinheiten, von denen jede eine Busschnittstelle mit einem Pufferspeicher enthält, und einem Bus, der die Controllersysteme via die Busschnittstellen verbindet und bei ersten Zeitintervallen einen Inter-Einheit-Transferprozess durchführt zum Transferieren von Speicherinhalten des Pufferspeichers, der in der Busschnittstelle einer sendeseitigen Controllereinheit unter den Controllereinheiten enthalten ist, an den Pufferspeicher, der in der Busschnittstelle einer empfangsseitigen Controllereinheit unter den Controllereinheiten enthalten ist, wobei – die sendeseitige Controllereinheit enthält: eine Datenerzeugungseinheit, die Interkommunikationsdaten bei zweiten Zeitintervallen erzeugt, die jeweils länger als das erste Zeitintervall sind; eine Datenaufteilungseinheit, die die durch die Datenerzeugungseinheit erzeugten Interkommunikationsdaten aufteilt, wodurch Elemente von Transfereinheitdaten erzeugt werden, deren Anzahl gleich oder geringer als ein Wert ist, der erhalten worden ist durch Dividieren des zweiten Zeitintervalls durch das erste Zeitintervall; und eine Datenspeicherungseinheit, die sequenziell die Elemente der Transfereinheitdaten, die durch die Datenaufteilungseinheit erzeugt worden sind, in dem Pufferspeicher, der in der Busschnittstelle seiner eigenen Controllereinheit enthalten ist, jeweils bei den ersten Zeitintervallen speichert, und – die empfangsseitige Controllereinheit enthält: eine Datenleseeinheit, die sequenziell Elemente der Transfereinheitdaten, die sequenziell bei den ersten Zeitintervallen an den Pufferspeicher seiner eigenen Controllereinheit in dem Inter-Einheit-Transferprozess transferiert worden sind, bei den ersten Zeitintervallen liest; und eine Datenkombiniereinheit, die die Elemente der Transfereinheitdaten, die durch die Datenleseeinheit gelesen worden sind, kombiniert, wodurch die durch die Datenerzeugungseinheit erzeugten Interkommunikationsdaten rekonstruiert werden.
  • Vorteilhafte Wirkungen der Erfindung
  • Das programmierbare Controllersystem gemäß der vorliegenden Erfindung kann gewährleisten, dass Interkommunikationsdaten, die für jede Berechnungsperiode (zweites Zeitintervall) erzeugt worden sind, veranlasst werden, via einen Bus anzukommen, der einen Datentransfer mit einer Interkommunikationsperiode (erstes Zeitintervall) kürzer als die Berechnungsperiode durchführt. Selbst wenn die Berechnungsperiode länger als die Interkommunikationsperiode ist, kann deshalb eine zeitliche Zuverlässigkeit der Interkommunikationsdaten gewährleistet werden.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Diagramm, das eine Konfiguration eines programmierbaren Controllersystems gemäß einer ersten Ausführungsform zeigt.
  • 2 ist ein erläuterndes Diagramm hinsichtlich dessen, wie eine Dateninterkommunikation zwischen Controllereinheiten gemäß der ersten Ausführungsform durchgeführt wird.
  • 3 ist ein erläuterndes Diagramm einer Konfiguration der Controllereinheit gemäß der ersten Ausführungsform.
  • 4 ist ein Zeitdiagramm zum Erläutern von Timings einer Übertragung und eines Empfangs von Daten in der ersten Ausführungsform.
  • 5 ist ein erläuterndes Diagramm eines Datenflusses zwischen Bestandteilelementen in der ersten Ausführungsform.
  • 6 ist ein Diagramm, das eine Konfiguration eines programmierbaren Controllersystems gemäß einer zweiten Ausführungsform zeigt.
  • 7 ist ein erläuterndes Diagramm einer Konfiguration einer Controllereinheit gemäß der zweiten Ausführungsform.
  • 8 ist ein erläuterndes Diagramm hinsichtlich dessen, wie eine Dateninterkommunikation zwischen den Controllereinheiten gemäß der zweiten Ausführungsform durchgeführt wird.
  • 9 ist ein Zeitdiagramm zum Erläutern von Timings einer Übertragung und eines Empfangs von Daten in der zweiten Ausführungsform.
  • 10 ist ein erläuterndes Diagramm eines Datenflusses zwischen Bestandteilelementen in der zweiten Ausführungsform.
  • 11 ist ein Diagramm, das eine Konfiguration eines programmierbaren Controllersystems gemäß einer dritten Ausführungsform zeigt.
  • 12 ist ein erläuterndes Diagramm einer Konfiguration einer Controllereinheit gemäß der dritten Ausführungsform.
  • 13 ist ein Zeitdiagramm zum Erläutern von Timings einer Übertragung und eines Empfangs von Daten in der dritten Ausführungsform.
  • 14 ist ein Diagramm, das eine Konfiguration eines programmierbaren Controllersystems gemäß einer vierten Ausführungsform zeigt.
  • 15 ist ein erläuterndes Diagramm einer Konfiguration einer Controllereinheit gemäß der vierten Ausführungsform.
  • 16 ist ein Zeitdiagramm zum Erläutern von Timings einer Übertragung und eines Empfangs von Daten in der vierten Ausführungsform.
  • 17 ist ein Diagramm, das eine Konfiguration eines programmierbaren Controllersystems gemäß einer fünften Ausführungsform zeigt.
  • 18 ist ein erläuterndes Diagramm einer Konfiguration einer Controllereinheit gemäß der fünften Ausführungsform.
  • 19 ist ein Zeitdiagramm zum Erläutern von Timings einer Übertragung und eines Empfangs von Daten in der fünften Ausführungsform.
  • Beschreibung der Ausführungsformen
  • Ausführungsformen eines programmierbaren Controllersystems gemäß der vorliegenden Erfindung werden unten im Detail mit Verweis auf die Zeichnungen beschrieben werden. Die vorliegende Erfindung ist nicht auf die Ausführungsformen beschränkt.
  • Erste Ausführungsform
  • 1 ist ein Diagramm, das eine Konfiguration eines programmierbaren Controllersystems gemäß einer ersten Ausführungsform der vorliegenden Erfindung zeigt. Wie in 1 gezeigt, enthält ein programmierbares Controllersystem 1 Controllereinheiten 10A bis 10C und eine Basiseinheit 20.
  • Die Controllereinheiten 10A bis 10C enthalten jeweils intern eine Zentralverarbeitungseinheit (eine später erläuterte CPU 11) und nutzen gemeinsam eine Funktion zum Ausführen einer Steuerung des programmierbaren Controllersystems 1 mit Verwendung der jeweils darin enthaltenen CPUs 11. Eine Kooperation der Controllereinheiten 10A bis 10C wird realisiert durch Übertragen und Empfangen von Steuerungsdaten an/voneinander. Genauer genommen führt jede der Controllereinheiten 10A bis 10C eine vorbestimmte Berechnung in der darin enthaltenen CPU 11 mit Verwendung von Steuerungsdaten durch, die von den anderen Controllereinheiten der Controllereinheiten 10A bis 10C übertragen worden sind, und überträgt ein Ergebnis der Berechnung als Steuerungsdaten an die anderen Controllereinheiten. Die Controllereinheiten 10A bis 10C entsprechen beispielsweise Einheiten einer speicherprogrammierbaren Steuerung (PLC, Programmable Logic Controller), Bewegungscontrollereinheiten, Robotercontrollereinheiten und Computer-Numerische-Steuerung-(CNC)Einheiten. Die Controllereinheiten 10A bis 10C werden manchmal kollektiv hier im Nachfolgenden als ”Controllereinheit 10” bezeichnet.
  • Die Basiseinheit 20 enthält einen Bus einer festen Periode 30. Der Bus einer festen Periode 30 weist einen Zeitschlitz, in dem eine Datenübertragung möglich ist, an jede der Controllereinheiten 10A bis 10C auf eine Zeitaufteilungsweise zu. Jede der Controllereinheiten 10A bis 10C kann zuverlässig Daten mit einer Größe kleiner als Größen von Sende-/Empfangspufferspeichern (Sendeinterkommunikationsspeicher 15a und 15b, und Empfangsinterkommunikationsspeicher 16a und 16b, die später erläutert sind) an einen Bestimmungsort via den Bus einer festen Periode 30 innerhalb des Zeitschlitzes übertragen, der seiner eigenen Controllereinheit 10 zugewiesen worden ist.
  • 2 ist ein erläuterndes Diagramm hinsichtlich dessen, wie eine Dateninterkommunikation zwischen den Controllereinheiten 10 durchgeführt wird. Wie in 2 gezeigt, sind drei Zeitschlitze, die eine Interkommunikationsperiode bilden, jeweils exklusiv den Controllereinheiten 10A bis 10C zugewiesen. Das heißt, dass in jedem der Zeitschlitze nur eine der Controllereinheiten 10A bis 10C eine sendeseitige Controllereinheit 10 sein kann, wodurch verhindert wird, dass Interkommunikationsdatenelemente miteinander auf dem Bus einer festen Periode 30 kollidieren. Die als eine Übertragungsquelle dienende Controllereinheit 10 transferiert Daten an die übrigen zwei Controllereinheiten als Bestimmungsorte innerhalb des Zeitschlitzes, der der Controllereinheit 10 selbst zugewiesen worden ist.
  • Im Allgemeinen ist ein Produktlebensdauerzyklus des programmierbaren Controllersystems 1 länger als der von Verbraucherelektronik und dergleichen. Selbst wenn eine Periode (eine Berechnungsperiode), in der die Controllereinheit 10 Steuerungsdaten als ein Übertragungsziel vorbereitet, mit einer zukünftigen Technologieentwicklung verbessert wird, kann der Bus einer festen Periode 30 häufig Daten mit einer schnelleren Interkommunikationsperiode als dieser der Controllereinheit 10 kommunizieren, die in dem Markt zu ungefähr derselben Zeit gebracht wurde, um zu veranlassen, dass die Controllereinheit 10 verbindbar ist. Während es schwierig ist, die Größen der Sende-/Empfangspufferspeicher flexibel zu ändern, weil ein Hochgeschwindigkeitsspeicher, so wie ein statischer Direktzugriffsspeicher (SRAM), in einen Sende-/Empfangsschnittstellenschaltkreis aufgenommen ist (eine später erläuterte Feste-Periode-Bus-I/F 14), variiert ferner die Größe der Steuerungsdaten als das Übertragungsziel, die durch die Controllereinheit 10 erzeugt werden, relativ einfach gemäß einer Festlegung durch einen Benutzer oder dergleichen. Und zwar kann der Benutzer die Steuerungsdaten mit einer größeren Größe durch Verlängern der Berechnungsperiode der Controllereinheit 10 erzeugen. Als ein Ergebnis kann die Größe der Steuerungsdaten größer als diese der Sende-/Empfangspufferspeicher sein.
  • Um die zeitliche Zuverlässigkeit einer Dateninterkommunikation zu gewährleisten, selbst wenn die Berechnungsperiode länger als die Interkommunikationsperiode ist, werden in der ersten Ausführungsform der vorliegenden Erfindung die Steuerungsdaten aufgeteilt und an einen Bestimmungsort in einer vorbestimmten Anzahl von Interkommunikationsperioden übertragen. Das heißt, dass in 2 Daten (Transfereinheitdaten), die in einem Zeitschlitz transferiert werden sollen, ein Header-Teilstück 100 und ein Datenteilstück 101 enthalten. Ein Element von Steuerungsdaten ist in mehrere Elemente aufgeteilt, die in mehreren Zeitschlitzen übertragen werden sollen, und jedes Element von Daten nach der Aufteilung (Aufteilungsdaten) wird in dem Datenteilstück 101 gespeichert, das in den Transfereinheitdaten enthalten ist. Das Header-Teilstück 100 enthält eine Blocknummer, die eine Position der Aufteilungsdaten angibt, die in dem Datenteilstück 101 gespeichert sind, von dem Kopf in den Vor-Aufteilung-Steuerungsdaten (hier im Nachfolgenden ”Interkommunikationsdaten”).
  • Als mit der Basiseinheit 20 verbindbare Einheiten sind vielfältige Einheiten (funktionale Einheiten) mit unterschiedlichen Funktionen, so wie eine Analog-/Digital-(A/D)Umwandlungseinheit und eine Temperatureinstellungseinheit, zusätzlich zu den Controllereinheiten 10 vorbereitet. Der Benutzer kann erwünschte funktionale Einheiten gemäß einer beabsichtigten Verwendung des programmierbaren Controllersystems 1 auswählen und die ausgewählten funktionalen Einheiten mit der Basiseinheit 20 verbinden. Während in der vorliegenden Ausführungsform Erläuterungen mit der Annahme gegeben werden, dass die Controllereinheiten 10 mit dem Bus einer festen Periode 30 als ein interner Bus der Basiseinheit 20 verbunden sind, können die Controllereinheiten 10 mit einem externen Bus (oder einem Netzwerk) verbunden sein, solange wie eine Dateninterkommunikation mit einer festen Periode durchgeführt werden kann.
  • 3 ist ein erläuterndes Diagramm einer Konfiguration der Controllereinheit 10. Wie in 3 gezeigt, enthält die Controllereinheit 10 die CPU 11, einen dynamischen RAM (DRAN) 12, einen Direktspeicherzugriff-(DMA, Direct Memory Access)Controller 13 und die Feste-Periode-Bus-Schnittstelle (I/F) 14. Jede von der CPU 11, dem DRAN 12, dem DNA-Controller 13 und der Feste-Periode-Bus-I/F 14 ist mit einem Bus verbunden.
  • Die CPU 11 erzeugt Interkommunikationsdaten für jede Berechnungsperiode. Die CPU 11 teilt dann die erzeugten Interkommunikationsdaten auf, erzeugt Transfereinheitdaten aus jedem Element von Aufteilungsdaten und speichert jedes Element der Transfereinheitdaten in dem DRAN 12. Um zu ermöglichen, dass sämtliche Elemente der sequenziell erzeugten Interkommunikationsdaten empfangen werden, kann die CPU 11 die Interkommunikationsdaten bis zu der Anzahl von Elementen aufteilen, die erhalten wird durch Dividieren der Berechnungsperiode durch die Interkommunikationsperiode. Wenn die Größe der Interkommunikationsdaten erhöht werden soll, weil eine Zeit, die erforderlich ist zur Erzeugung der Interkommunikationsdaten (die Berechnungsperiode) erhöht wird gemäß der Größe der Interkommunikationsdaten, ist es möglich, eine Zunahme der Größe der Interkommunikationsdaten durch Erhöhen der Anzahl von Aufteilungselementen der Interkommunikationsdaten zu adressieren.
  • Die CPU 11 kombiniert mehrere Elemente transferierter Aufteilungsdaten, wodurch die Vor-Aufteilung-Interkommunikationsdaten rekonstruiert werden, wenn ihre eigene Controllereinheit 10 auf einer Empfangsseite für die Interkommunikationsdaten ist.
  • Die durch die CPU 11 erzeugten Interkommunikationsdaten und die von anderen Controllereinheiten 10 transferierten Interkommunikationsdaten werden in dem DRAM 12 gespeichert.
  • Die Feste-Periode-Bus-I/F 14 ist eine Verbindungsschnittstelle zum Verbinden mit dem Bus einer festen Periode 30. In der Feste-Periode-Bus-I/F 14 gemäß der ersten Ausführungsform hat jede von einem Datensende-Pufferspeicher und einem Datenempfangs-Pufferspeicher eine Doppelpufferkonfiguration. Das heißt, dass die Feste-Periode-Bus-I/F 14 die Sendeinterkommunikationsspeicher 15a und 15b als den Datensende-Pufferspeicher und die Empfangsinterkommunikationsspeicher 16a und 16b als den Datenempfangs-Pufferspeicher enthält. Demgemäß führt zu der Zeit einer Datenübertragung die Controllereinheit 10 parallel ein Setzen von Aufteilungsdaten als ein Übertragungsziel in den Datensende-Pufferspeicher und eine Übertragung von Aufteilungsdaten durch, so dass eine Datenübertragung effizient durchgeführt werden kann. Zu der Zeit eines Datenempfangs führt die Controllereinheit 10 parallel einen Empfang von Aufteilungsdaten und ein Holen der in dem Datenempfangs-Pufferspeicher gespeicherten Aufteilungsdaten durch, so dass ein Datenempfang effizient durchgeführt werden kann. Die Sendeinterkommunikationsspeicher 15a und 15b können auch kollektiv als ”Sendeinterkommunikationsspeicher 15” bezeichnet werden. Ähnlich können die Empfangsinterkommunikationsspeicher 16a und 16b auch kollektiv als Empfangsinterkommunikationsspeicher 16 bezeichnet werden.
  • Der DMA-Controller 13 führt einen Datentransfer (DMA-Transfer) zwischen dem DRAM 12 und dem Sendeinterkommunikationsspeicher 15 oder dem Empfangsinterkommunikationsspeicher 16 auf Grundlage einer Anweisung von der CPU 11 durch.
  • Eine Operation des programmierbaren Controllersystems 1 gemäß der ersten Ausführungsform der vorliegenden Erfindung wird als Nächstes mit Verweis auf 4 und 5 erläutert. 4 ist ein Zeitdiagramm zum Erläutern von Timings bzw. Zeitabläufen einer Übertragung und eines Empfangs von Daten, und 5 ist ein erläuterndes Diagramm eines Datenflusses zwischen den Bestandteilelementen. Zur Vereinfachung der Erläuterungen wird in der vorliegenden Ausführungsform eine Beschreibung eines Beispiels einer Dateninterkommunikation gegeben, in dem die Controllereinheit 10A eine Übertragungsquelle ist und die Controllereinheiten 10B und 10C Übertragungsbestimmungsorte sind. Die Beschreibung wird unter der Annahme gegeben werden, dass die Berechnungsperiode zweimal so lang ist wie die Interkommunikationsperiode, und die Anzahl von Aufteilungselementen der Interkommunikationsdaten zwei ist. Weil Operationen der Controllereinheiten 10B und 10C als die Übertragungsbestimmungsorte dieselben sind, wird in der vorliegenden Ausführungsform die Operation der Controllereinheit 10B unten als ein Vertreter dieser erläutert. Während Bezeichnungen von Zeitschlitzen in jeder der Interkommunikationsperioden (jede von der ersten bis sechsten Interkommunikationsperiode), in 4 gezeigt, zur Einfachheit weggelassen werden, ist tatsächlich jede der Interkommunikationsperioden aus drei Zeitschlitzen zusammengesetzt, wie bereits erwähnt, und die Dateninterkommunikation von der Controllereinheit 10A zu den Controllereinheiten 10B und 10C wird mit Verwendung von einem der Zeitschlitze durchgeführt.
  • Zuerst erzeugt in einer ersten Berechnungsperiode die CPU 11 der Controllereinheit 10A Interkommunikationsdaten. Die CPU 11 der Controllereinheit 10A teilt dann die erzeugten Interkommunikationsdaten in Aufteilungsdatenelemente auf, erzeugt Transfereinheitdaten aus jedem Element von Aufteilungsdaten (Aufteilungsdaten D0 und Aufteilungsdaten D1), und speichert jedes Element der erzeugten Transfereinheitdaten in dem DRAM 12 (Schritt S1). Beim Erzeugen der Transfereinheitdaten schreibt die CPU 11 der Controllereinheit 10A Blocknummern in den jeweiligen Header-Teilstücken 100. Die Transfereinheitdaten mit den Aufteilungsdaten D0 in dem Datenteilstück 101 werden hier im Nachfolgenden als Transfereinheitdaten D0 bezeichnet, und die Transfereinheitdaten mit den Aufteilungsdaten D0 in dem Datenteilstück 101 werden als Transfereinheitdaten D1 bezeichnet.
  • In der dritten Interkommunikationsperiode weist die CPU 11 der Controllereinheit 10A den DMA-Controller 13 zum Transferieren der in dem DRAM 12 gespeicherten Transfereinheitdaten D0 von dem DRAM 12 an den Sendeinterkommunikationsspeicher 15a an (Schritt S2).
  • In der vierten Interkommunikationsperiode überträgt die Feste-Periode-Bus-I/F 14 der Controllereinheit 10A die in dem Sendeinterkommunikationsspeicher 15a gespeicherten Transfereinheitdaten D0 an den Empfangsinterkommunikationsspeicher 16a der Controllereinheit 10b (Schritt S3). Auch in der vierten Interkommunikationsperiode weist die CPU 11 der Controllereinheit 10A den DMA-Controller 13 zum Transferieren der in dem DRAM 12 gespeicherten Transfereinheitdaten D1 von dem DRAM 12 an den Sendeinterkommunikationsspeicher 15b an (Schritt S4).
  • In der fünften Interkommunikationsperiode referenziert die CPU 11 der Controllereinheit 10B die Blocknummer, die beschrieben ist in dem Header-Teilstück 100 der Transfereinheitdaten D0, gespeichert in dem Empfangsinterkommunikationsspeicher 16a, und weist den DMA-Controller 13 zum Transferieren der in dem Datenteilstück 101 gespeicherten Aufteilungsdaten D0 von dem Empfangsinterkommunikationsspeicher 16a an den DRAM 12 an (Schritt S5). Auch in der fünften Interkommunikationsperiode überträgt die Feste-Periode-Bus-I/F 14 der Controllereinheit 10A die in dem Sendeinterkommunikationsspeicher 15b gespeicherten Transfereinheitdaten D1 an den Empfangsinterkommunikationsspeicher 16b der Controllereinheit 10B (Schritt S6).
  • In der sechsten Interkommunikationsperiode referenziert die CPU 11 der Controllereinheit 10B die Blocknummer, die beschrieben ist in dem Header-Teilstück 100 der Transfereinheitdaten D1, gespeichert in dem Empfangsinterkommunikationsspeicher 16b, und weist den DMA-Controller 13 zum Transferieren der in dem Datenteilstück 101 gespeicherten Aufteilungsdaten D1 von dem Empfangsinterkommunikationsspeicher 16b an den DRAM 12 an (Schritt S7). Die CPU 11 der Controllereinheit 10B kann die Aufteilungsdaten D0 und die Aufteilungsdaten D1 in dem DRAM 12 in der Reihenfolge der entsprechenden Blocknummern auf solch eine Weise speichern, dass ihre Adressen aufeinanderfolgend gemacht werden, und dadurch werden die Aufteilungsdaten D1 und D2 automatisch kombiniert, und infolgedessen werden die Interkommunikationsdaten vor einer Aufteilung rekonstruiert, wenn das Speichern in den DRAM 12 der Controllereinheit 10B fertig gestellt bzw. vollendet ist. Alternativ kann die CPU 11 der Controllereinheit 10B temporär die Aufteilungsdaten D0 und die Aufteilungsdaten D1 jeweils in unterschiedlichen Positionen in dem DRAM 12 speichern, dann die Aufteilungsdaten D0 und die Aufteilungsdaten D1 lesen, die temporär separat in dem DRAM 12 gespeichert sind, und die Daten D0 und D1 in ein Element kombinieren, um die Vor-Aufteilung-Interkommunikationsdaten zu rekonstruieren.
  • Auf diese Weise kann das programmierbare Controllersystem 1 gewährleisten, dass die Interkommunikationsdaten, die durch die Controllereinheit 10 als eine Übertragungsquelle in der ersten Berechnungsperiode erzeugt worden sind, veranlasst werden, einen Übertragungsbestimmungsort bis zum Ende der dritten Berechnungsperiode zu erreichen. In der vorliegenden Ausführungsform ist die Datentransferoperation zur Einfachheit mit Fokussierung auf ein Element von Interkommunikationsdaten erläutert worden, aber die Controllereinheit 10 erzeugt Interkommunikationsdaten für jede Berechnungsperiode und transferiert sequenziell die erzeugten Interkommunikationsdaten auf eine Pipeline-Verarbeitungsweise. Und zwar ermöglicht das programmierbare Controllersystem 1, dass Interkommunikationsdaten, die durch die Controllereinheit 10 als eine Übertragungsquelle in einer i-ten Berechnungsperiode erzeugt worden sind, einen Übertragungsbestimmungsort bis zu dem Ende einer (i+2)-ten Berechnungsperiode erreichen, und die Bestimmungsort-Controllereinheit 10 kann die Interkommunikationsdaten startend von einer (i+3)-ten Berechnungsperiode verwenden.
  • Während die drei Controllereinheiten 10 mit dem Bus einer festen Periode 30 in den obigen Erläuterungen verbunden sind, ist die Anzahl der damit verbundenen Controllereinheiten nicht auf drei beschränkt. Selbst wenn die Anzahl der verbundenen Controllereinheiten von drei erhöht oder verringert wird, ändert sich nur die Dauer eines Zeitschlitzes, der einer entsprechenden Controllereinheit 10 innerhalb der Interkommunikationsperiode zugewiesen worden ist, und Timings bzw. Zeitvorgaben einer Reihe von Prozessen, durchgeführt von einem Zeitpunkt, wenn eine Quelle-Controllereinheit 10 Interkommunikationsdaten erzeugt, bis eine Bestimmungsort-Controllereinheit 10 die Interkommunikationsdaten verwenden kann, ändern sich nicht.
  • Während die CPU 11 eine Aufteilung der Interkommunikationsdaten, eine Erzeugung der Transfereinheitdaten und eine Rekonstruktion der Interkommunikationsdaten in den obigen Erläuterungen durchführt, kann ein dedizierter Schaltkreis oder Prozessor, der manche oder sämtliche dieser Prozesse durchführt, in der Controllereinheit 10 separat von der CPU 11 bereitgestellt sein.
  • Wie oben erläutert, erzeugt gemäß der ersten Ausführungsform der vorliegenden Erfindung in einer sendeseitigen Controllereinheit 10 die CPU 11 Interkommunikationsdaten in einer Berechnungsperiode länger als das Interkommunikationsintervall des Busses einer festen Periode 30 und teilt die erzeugten Interkommunikationsdaten auf, um Transfereinheitdaten zu erzeugen, deren Anzahl von Elementen gleich oder geringer ist als ein Wert, der erhalten worden ist durch Dividieren der Berechnungsperiode durch die Interkommunikationsperiode, und der DMA-Controller 13 transferiert sequenziell mehrere Elemente der Transfereinheitdaten an die Sendeinterkommunikationsspeicher 15a bzw. 15b bei den Interkommunikationsintervallen. In einer empfangsseitigen Controllereinheit 10 liest der DMA-Controller 13 sequenziell die mehreren Elemente der Transfereinheitdaten, die sequenziell an die Empfangsinterkommunikationsspeicher 16a und 16b bei den Interkommunikationsintervallen transferiert worden sind, und die CPU 11 kombiniert die mehreren Elemente der durch den DMA-Controller 13 gelesenen Transfereinheitdaten, um die Interkommunikationsdaten zu rekonstruieren. Deshalb kann es gewährleistet werden, dass die für jede Berechnungsperiode erzeugten Interkommunikationsdaten via den Bus einer festen Periode 30 ankommen, der einen Datentransfer mit der Interkommunikationsperiode kürzer als die Berechnungsperiode durchführt. Das heißt, dass eine zeitliche Zuverlässigkeit der Interkommunikation gewährleistet wird, selbst wenn die Berechnungsperiode länger als die Interkommunikationsperiode ist.
  • Die Sendeinterkommunikationsspeicher 15 und die Empfangsinterkommunikationsspeicher 16 bilden jeweils Doppelpuffer und sind konfiguriert zum Durchführen eines Datentransfers zwischen dem DRAM 12 und dem Sendeinterkommunikationsspeicher 15, eines Datentransfers zwischen dem Sendeinterkommunikationsspeicher 15 und dem Empfangsinterkommunikationsspeicher 16 (ein Inter-Einheit-Transferprozess), und eines Transfers zwischen dem Empfangsinterkommunikationsspeicher 16 und dem DRAM 12 auf eine Pipeline-Verarbeitungsweise. Deshalb kann ein Datentransfer der Transfereinheitdaten für jede Interkommunikationsperiode durchgeführt werden.
  • Die Interkommunikationsperiode wird in Zeitschlitze Zeit-aufgeteilt, die jeweils exklusiv den Controllereinheiten 10 zugewiesen werden, und ein Datentransfer zwischen dem DRAM 12 und dem Sendeinterkommunikationsspeicher 15 in einer sendeseitigen Controllereinheit 10, ein Datentransfer zwischen dem Sendeinterkommunikationsspeicher 15 der sendeseitigen Controllereinheit 10 und dem Empfangsinterkommunikationsspeicher 16 einer empfangsseitigen Controllereinheit 10, und ein Datentransfer zwischen dem Empfangsinterkommunikationsspeicher 16 und dem DRAM 12 in der empfangsseitigen Controllereinheit 10 werden in dem Zeitschlitz durchgeführt, der der sendeseitigen Controllereinheit 10 zugewiesen ist. Deshalb kann eine Kollision von Interkommunikationsdaten unter den Controllereinheiten 10 verhindert werden.
  • Die in der sendeseitigen Controllereinheit 10 enthaltene CPU 11 erzeugt die Transfereinheitdaten mit der Blocknummer zum Identifizieren einer Position jedes Elementes von Aufteilungsdaten in den erzeugten Interkommunikationsdaten, angefügt an jedem Element von Aufteilungsdaten, und die in der empfangsseitigen Controllereinheit 10 enthaltene CPU 11 rekonstruiert die Vor-Aufteilung-Interkommunikationsdaten auf Grundlage der an den empfangenen Transferdaten angefügten Identifikationsnummer.
  • Zweite Ausführungsform
  • 6 ist ein Diagramm, das eine Konfiguration eines programmierbaren Controllersystems gemäß einer zweiten Ausführungsform der vorliegenden Erfindung zeigt. In der vorliegenden Ausführungsform sind die Bestandteilelemente, die dieselben sind wie diese der ersten Ausführungsform, mit denselben Bezugszeichen versehen, und redundante Erläuterungen davon werden weggelassen werden. Wie in 6 gezeigt, ist ein programmierbares Controllersystem 2 konfiguriert, Controllereinheiten 40A bis 40C und die Basiseinheit 20 zu haben. Die Controllereinheiten 40A bis 40c werden hier im Nachfolgenden auch kollektiv als Controllereinheit 40 bezeichnet.
  • 7 ist ein erläuterndes Diagramm einer Konfiguration der Controllereinheit 40. Wie in 7 gezeigt, enthält die Controllereinheit 40 eine CPU 41, den DRAM 12, den DMA-Controller 13 und eine Feste-Periode-Bus-I/F 42. Jede von der CPU 41, dem DRAM 12, dem DMA-Controller 13 und der Feste-Periode-Bus-I/F 42 ist mit einem Bus verbunden.
  • Die Feste-Periode-Bus-I/F 42 ist eine Verbindungsschnittstelle zum Verbinden mit dem Bus einer festen Periode 30. Die Feste-Periode-Bus-I/F 42 gemäß der zweiten Ausführungsform enthält einen Sendeinterkommunikationsspeicher 43 und einen Empfangsinterkommunikationsspeicher 44.
  • 8 ist ein erläuterndes Diagramm hinsichtlich dessen, wie eine Dateninterkommunikation zwischen den Controllereinheiten 40 durchgeführt wird. Wie in 8 gezeigt, ist eine Interkommunikationsperiode aus vier Zeitschlitzen zusammengesetzt, und der erste der vier Zeitschlitze ist einem DMA-Transfer zugewiesen. Die übrigen Zeitschlitze sind jeweils den Controllereinheiten 40A bis 40C zugewiesen. Und zwar können gemäß der zweiten Ausführungsform der vorliegenden Erfindung ein Datentransfer zwischen dem DRAM 12 und dem Sende-/Empfangspufferspeicher (der Sendeinterkommunikationsspeicher 43 oder der Empfangsinterkommunikationsspeicher 44) und ein Datentransfer zwischen dem Sendeinterkommunikationsspeicher 43 und dem Empfangsinterkommunikationsspeicher 44 aufeinanderfolgend innerhalb einer Zeit durchgeführt werden, die einer Interkommunikationsperiode entspricht.
  • Eine Operation des programmierbaren Controllersystems 2 gemäß der zweiten Ausführungsform der vorliegenden Erfindung wird als Nächstes mit Verweis auf 9 und 10 erläutert. 9 ist ein Zeitdiagramm zum Erläutern von Timings einer Übertragung und eines Empfangs von Daten, und 10 ist ein erläuterndes Diagramm eines Datenflusses zwischen den Bestandteilelementen. Zur Vereinfachung der Erläuterungen wird in der vorliegenden Ausführungsform eine Beschreibung für ein Beispiel einer Dateninterkommunikation gegeben, in der die Controllereinheit 40A eine Übertragungsquelle ist, und die Controllereinheiten 40B und 40C Übertragungsbestimmungsorte sind. Während Bennennungen der den Controllereinheiten 40 zugewiesenen Zeitschlitze zur Einfachheit weggelassen sind in jeder der in 9 gezeigten Interkommunikationsperioden (jede von der ersten bis sechsten Interkommunikationsperiode), ist jede der Interkommunikationsperioden tatsächlich aus vier Zeitschlitzen zusammengesetzt, wie bereits erläutert, und andere Prozesse als ein DMA-Transfer unter Prozessen mit Bezug zu der Dateninterkommunikation von der Controllereinheit 40A zu den Controllereinheiten 40B und 40C werden mit Verwendung von einem der Zeitschlitze durchgeführt.
  • Zuerst erzeugt in einer ersten Berechnungsperiode die CPU 41 in der Controllereinheit 40A zuerst Interkommunikationsdaten. Die CPU 41 der Controllereinheit 40A teilt dann die erzeugten Interkommunikationsdaten auf, erzeugt Transfereinheitdaten aus jedem Element von Aufteilungsdaten (Aufteilungsdaten D0 und Aufteilungsdaten D1), und speichert jedes Element der erzeugten Transfereinheitdaten in dem DRAM 12 (Schritt S11). Die CPU 41 in der Controllereinheit 40A schreibt eine Blocknummer in dem entsprechenden Header-Teilstück 100 beim Erzeugen der Transfereinheitdaten.
  • In dem Zeitschlitz für einen DMA-Transfer in der dritten Interkommunikationsperiode weist die CPU 41 der Controllereinheit 40A den DMA-Controller 13 zum Transferieren der in dem DRAM 12 gespeicherten Transfereinheitdaten D0 von dem DRAM 12 an den Sendeinterkommunikationsspeicher 43 an (Schritt S12). Die Feste-Periode-Bus-I/F 42 der Controllereinheit 40A transferiert dann die in dem Sendeinterkommunikationsspeicher 43 gespeicherten Transfereinheitdaten D0 an den Empfangsinterkommunikationsspeicher 44 der Controllereinheit 40B in dem Zeitschlitz der dritten Interkommunikationsperiode, der/die der Controllereinheit 40A zugewiesen worden ist (Schritt S13).
  • In dem Zeitschlitz für einen DMA-Transfer in der vierten Interkommunikationsperiode referenziert die CPU 41 der Controllereinheit 40B die Blocknummer, die in dem Header-Teilstück 100 der Transfereinheitdaten D0 beschrieben ist, die in dem Empfangsinterkommunikationsspeicher 44 gespeichert sind, und weist den DMA-Controller 13 zum Transferieren der in dem Datenteilstück 101 gespeicherten Aufteilungsdaten D0 von dem Empfangsinterkommunikationsspeicher 44 zu dem DRAM 12 an (Schritt S14). Gleichzeitig und parallel mit dem Prozess von Schritt S14 weist die CPU 41 der Controllereinheit 40A den DMA-Controller 13 zum Transferieren der in dem DRAM 12 gespeicherten Transfereinheitdaten D1 von dem DRAM 12 zu dem Sendeinterkommunikationsspeicher 43 an (Schritt S15). Die Feste-Periode-Bus-I/F 42 der Controllereinheit 40A transferiert dann die in dem Sendeinterkommunikationsspeicher 43 gespeicherten Transfereinheitdaten D1 an den Empfangsinterkommunikationsspeicher 44 der Controllereinheit 40B in dem Zeitschlitz der vierten Interkommunikationsperiode, der/die der Controllereinheit 40A zugewiesen worden ist (Schritt S16).
  • In dem Zeitschlitz für einen DMA-Transfer in der fünften Interkommunikationsperiode referenziert die CPU 41 der Controllereinheit 40B die Blocknummer, die in dem Header-Teilstück 100 der Transfereinheitdaten D1 beschrieben ist, die in dem Empfangsinterkommunikationsspeicher 44 gespeichert sind, und weist den DMA-Controller 13 zum Transferieren der in dem Datenteilstück 101 gespeicherten Aufteilungsdaten D1 von dem Empfangsinterkommunikationsspeicher 44 zu dem DRAM 12 an (Schritt S17). Die CPU 41 der Controllereinheit 40B rekonstruiert die Vor-Aufteilung-Interkommunikationsdaten aus den Aufteilungsdaten D0 und den Aufteilungsdaten D1 wie mit der CPU 11 gemäß der ersten Ausführungsform.
  • Auf diese Weise wird gemäß der zweiten Ausführungsform der vorliegenden Erfindung die Interkommunikationsperiode in die Zeitschlitze Zeitaufgeteilt, und die Zeitschlitze werden den Controllereinheiten 40 bzw. dem DMA-Transfer zugewiesen, um den Inter-Einheit-Transferprozess in dem der entsprechenden Controllereinheit 40 zugewiesenen Zeitschlitz durchzuführen. Wie bei Schritten S12 und S13 oder bei Schritten S13 und S14 gezeigt, können deshalb der Inter-Einheit-Transferprozess und der DMA-Transfer in einer für eine Interkommunikationsperiode erforderlichen Zeit durchgeführt werden. Als ein Ergebnis können die in der ersten Berechnungsperiode erzeugten Interkommunikationsdaten von der mittleren der dritten Berechnungsperiode (der Beginn der sechsten Interkommunikationsperiode) verwendet werden, wie in 9 gezeigt. Das heißt, dass gemäß der zweiten Ausführungsform die Zeit von dem Zeitpunkt, wenn eine sendeseitige Controllereinheit 40 Interkommunikationsdaten erzeugt, bis eine empfangsseitige Controllereinheit 40 die Interkommunikationsdaten verwenden kann, im Vergleich mit der ersten Ausführungsform verkürzt werden kann.
  • Dritte Ausführungsform
  • In der zweiten Ausführungsform wird der beginnende Zeitschlitz in jeder der Interkommunikationsperioden dem DMA-Transfer zugewiesen. In einer dritten Ausführungsform wird der letzte Zeitschlitz in jeder der Interkommunikationsperioden dem DMA-Transfer zugewiesen.
  • 11 ist ein Diagramm, das eine Konfiguration eines programmierbaren Controllersystems gemäß der dritten Ausführungsform der vorliegenden Erfindung zeigt. In der vorliegenden Ausführungsform sind Bestandteilelemente, die dieselben sind wie die der ersten oder zweiten Ausführungsform, mit denselben Bezugszeichen bezeichnet, und redundante Erläuterungen davon werden weggelassen werden. Wie in 11 gezeigt, ist ein programmierbares Controllersystem 3 konfiguriert, Controllereinheiten 50A bis 50C und die Basiseinheit 20 zu haben. Die Controllereinheiten 50A bis 50C werden hier im Nachfolgenden kollektiv auch als Controllereinheit 50 bezeichnet.
  • 12 ist ein erläuterndes Diagramm einer Konfiguration der Controllereinheit 50. Wie in 12 gezeigt, enthält die Controllereinheit 50 eine CPU 51, den DRAM 12, den DMA-Controller 13 und die Feste-Periode-Bus-I/F 42. Jede von der CPU 51, dem DRAM 12, dem DMA-Controller 13 und der Feste-Periode-Bus-I/F 42 ist mit einem Bus verbunden.
  • Die Feste-Periode-Bus-I/F 42 ist die Verbindungsschnittstelle zum Verbinden mit dem Bus einer festen Periode 30. Die Feste-Periode-Bus-I/F 42 gemäß der dritten Ausführungsform enthält den Sendeinterkommunikationsspeicher 43 und den Empfangsinterkommunikationsspeicher 44.
  • Eine Operation des programmierbaren Controllersystems 3 gemäß der dritten Ausführungsform der vorliegenden Erfindung wird als Nächstes erläutert. 13 ist ein Zeitdiagramm zum Erläutern von Timings einer Übertragung und eines Empfangs von Daten. Zur Vereinfachung der Erläuterungen wird in der vorliegenden Ausführungsform eine Beschreibung für ein Beispiel einer Datenkommunikation gegeben, in der die Controllereinheit 50A eine Übertragungsquelle ist und die Controllereinheiten 50B und 50C Übertragungsbestimmungsorte sind. Während Benennungen von den Controllereinheiten zugewiesenen Zeitschlitzen zur Einfachheit weggelassen werden in jeder der in 13 gezeigten Interkommunikationsperioden (jede von der ersten bis sechsten Interkommunikationsperiode), ist jede der Interkommunikationsperioden tatsächlich aus vier Zeitschlitzen zusammengesetzt, wie bereits erläutert, und andere Prozesse als der DMA-Transfer unter Prozessen mit Bezug zu der Dateninterkommunikation von der Controllereinheit 50A zu den Controllereinheiten 50B und 50C werden mit Verwendung von einem der vier Zeitschlitze durchgeführt.
  • Zuerst erzeugt in der ersten Interkommunikationsperiode die CPU 51 der Controllereinheit 50A zuerst eine erste Hälfte von Interkommunikationsdaten, erzeugt dann die Transfereinheitdaten D0 aus der ersten Hälfte (die Aufteilungsdaten D0) der Interkommunikationsdaten, und speichert die erzeugten Transfereinheitdaten D0 in dem DRAM 12 (Schritt S21). In der zweiten Interkommunikationsperiode erzeugt dann die CPU 51 der Controllereinheit 50A eine letzte Hälfte der Interkommunikationsdaten, erzeugt dann die Transfereinheitdaten D1 aus der letzten Hälfte (die Aufteilungsdaten D1) der Interkommunikationsdaten, und speichert die erzeugten Transfereinheitdaten D1 in dem DRAM 12 (Schritt S22). Beim Erzeugen der Transfereinheitdaten schreibt die CPU 51 der Controllereinheit 50A eine Blocknummer in dem entsprechenden Header-Teilstück 100.
  • In dem Zeitschlitz für einen DMA-Transfer bei dem Ende der zweiten Interkommunikationsperiode weist die CPU 51 der Controllereinheit 50A den DMA-Controller 13 zum Transferieren der in dem DRAM 12 gespeicherten Transfereinheitdaten D0 von dem DRAM 12 zu dem Sendeinterkommunikationsspeicher 43 an (Schritt S23).
  • In der dritten Interkommunikationsperiode transferiert die Feste-Periode-Bus-I/F 42 der Controllereinheit 50A die in dem Sendeinterkommunikationsspeicher 43 gespeicherten Transfereinheitdaten D0 an den Empfangsinterkommunikationsspeicher 44 der Controllereinheit 50B (Schritt S24). In dem Zeitschlitz für einen DMA-Transfer der dritten Interkommunikationsperiode referenziert dann die CPU 51 der Controllereinheit 50B die Blocknummer, die in dem Header-Teilstück 100 der Transfereinheitdaten D0 beschrieben ist, die in dem Empfangsinterkommunikationsspeicher 44 gespeichert sind, und weist den DMA-Controller 13 zum Transferieren der in dem Datenteilstück 101 gespeicherten Aufteilungsdaten D0 von dem Empfangsinterkommunikationsspeicher 44 zu dem DRAM 12 an (Schritt S25). Gleichzeitig und parallel mit dem Prozess von Schritt S25 weist die CPU 51 der Controllereinheit 50A den DMA-Controller 13 zum Transferieren der in dem DRAM 12 gespeicherten Transfereinheitdaten D1 von dem DRAM 12 zu dem Sendeinterkommunikationsspeicher 43 an (Schritt S26).
  • In der vierten Interkommunikationsperiode transferiert die Feste-Periode-Bus-I/F 42 der Controllereinheit 50A die in dem Sendeinterkommunikationsspeicher gespeicherten Transfereinheitdaten D1 an den Empfangsinterkommunikationsspeicher 44 der Controllereinheit 50B (Schritt S27). In dem Zeitschlitz für einen DMA-Transfer der vierten Interkommunikationsperiode referenziert dann die CPU 51 der Controllereinheit 50B die Blocknummer, die in dem Header-Teilstück 100 der Transfereinheitdaten D1 beschrieben ist, die in dem Empfangsinterkommunikationsspeicher 44 gespeichert sind, und weist den DMA-Controller 13 zum Transferieren der in dem Datenteilstück 101 gespeicherten Aufteilungsdaten D1 von dem Empfangsinterkommunikationsspeicher 44 zu dem DRAM 12 an (Schritt S28). Die CPU 51 der Controllereinheit 50B rekonstruiert die Vor-Aufteilung-Interkommunikationsdaten aus den Aufteilungsdaten D0 und den Aufteilungsdaten D1 wie mit der CPU 11 gemäß der ersten Ausführungsform.
  • Auf diese Weise wird gemäß der dritten Ausführungsform der vorliegenden Erfindung der Zeitschlitz für einen DMA-Transfer bei dem Ende der Interkommunikationsperiode gewährleistet, und die CPU 51 erzeugt Transfereinheitdaten aus einem erzeugten Teil von Interkommunikationsdaten, ohne auf eine Fertigstellung der Interkommunikationsdaten zu warten, für jede Interkommunikationsperiode. Wie bei Schritt S23 in 13 gezeigt, kann deshalb der DMA-Transfer mit Bezug zu den Interkommunikationsdaten vor einer Fertigstellung der Interkommunikationsdaten gestartet werden. Das heißt, dass die Zeit von einem Zeitpunkt, wenn eine sendeseitige Controllereinheit 50 Interkommunikationsdaten erzeugt, bis eine empfangsseitige Controllereinheit 50 die Interkommunikationsdaten verwenden kann, im Vergleich mit der zweiten Ausführungsform weiter verkürzt werden kann.
  • Vierte Ausführungsform
  • 14 ist ein Diagramm, das eine Konfiguration eines programmierbaren Controllersystems gemäß einer vierten Ausführungsform der vorliegenden Erfindung zeigt. In der vorliegenden Ausführungsform sind Bestandteilelemente, die dieselben sind wie der ersten Ausführungsform, mit denselben Bezugszeichen bezeichnet, und redundante Erläuterungen davon werden weggelassen werden. Wie in 14 gezeigt, ist ein programmierbares Controllersystem 4 konfiguriert, Controllereinheiten 60A bis 60C und die Basiseinheit 20 zu haben. Die Controllereinheiten 60A bis 60C können hier im Nachfolgenden auch kollektiv als Controllereinheit 60 bezeichnet werden.
  • 15 ist ein erläuterndes Diagramm einer Konfiguration der Controllereinheit 60. Wie in 15 gezeigt, enthält die Controllereinheit 60 eine CPU 61, den DRAM 12, den DMA-Controller 13 und die Feste-Periode-Bus-I/F 14. Jede von der CPU 61, dem DRAM 12, dem DMA-Controller 13 und der Feste-Periode-Bus-I/F 14 ist mit einem Bus verbunden.
  • Die Feste-Periode-Bus-I/F 14 ist eine Verbindungsschnittstelle zum Verbinden mit dem Bus einer festen Periode 30. Die Feste-Periode-Bus-I/F 14 gemäß der vierten Ausführungsform enthält den Sendeinterkommunikationsspeicher 15a, den Sendeinterkommunikationsspeicher 15b, den Empfangsinterkommunikationsspeicher 16a und den Empfangsinterkommunikationsspeicher 16b.
  • Eine Operation des programmierbaren Controllersystems 4 gemäß der vierten Ausführungsform der vorliegenden Erfindung wird als Nächstes erläutert. 16 ist ein Zeitdiagramm zum Erläutern von Timings einer Übertragung und eines Empfangs von Daten. Zur Vereinfachung der Erläuterungen wird in der vorliegenden Ausführungsform eine Beschreibung für ein Beispiel einer Dateninterkommunikation gegeben, in der die Controllereinheit 60A eine Übertragungsquelle ist, und die Controllereinheiten 60B und 60C Übertragungsbestimmungsorte sind. Während Benennungen von den Controllereinheiten 60 zugewiesenen Zeitschlitzen in jeder der in 16 gezeigten Interkommunikationsperioden (jede von der ersten bis sechsten Interkommunikationsperiode) zur Einfachheit weggelassen werden, ist jede der Interkommunikationsperioden tatsächlich aus drei Zeitschlitzen zusammengesetzt, und Prozesse mit Bezug zu der Dateninterkommunikation von der Controllereinheit 60A zu den Controllereinheiten 60B und 60C werden mit Verwendung von einem der drei Zeitschlitze durchgeführt.
  • Zuerst erzeugt in der ersten Interkommunikationsperiode die CPU 61 der Controllereinheit 60A eine erste Hälfte von Interkommunikationsdaten, erzeugt dann die Transfereinheitdaten D0 aus der ersten Hälfte (die Aufteilungsdaten D0) der Interkommunikationsdaten, und speichert die erzeugten Transfereinheitdaten D0 in dem Sendeinterkommunikationsspeicher 15a (Schritt S31).
  • In der zweiten Interkommunikationsperiode transferiert die Feste-Periode-Bus-I/F 14 der Controllereinheit 60A die in dem Sendeinterkommunikationsspeicher 15a gespeicherten Transfereinheitdaten D0 an den Empfangsinterkommunikationsspeicher 16a der Controllereinheit 60B (Schritt S32). Gleichzeitig und parallel mit dem Prozess von Schritt S32 weist die CPU 61 der Controllereinheit 60A den DMA-Controller 13 zum Transferieren der in dem Sendeinterkommunikationsspeicher 15a gespeicherten Transfereinheitdaten D0 von dem Sendeinterkommunikationsspeicher 15a zu dem DRAM 12 an (Schritt S33). In der zweiten Interkommunikationsperiode erzeugt die CPU 61 der Controllereinheit 60A außerdem eine letzte Hälfte der Interkommunikationsdaten, erzeugt dann die Transfereinheitdaten D1 aus der letzten Hälfte (die Aufteilungsdaten D1) der Interkommunikationsdaten, und speichert die erzeugten Transfereinheitdaten D1 in dem Sendeinterkommunikationsspeicher 15b (Schritt S34). Beim Erzeugen der Transfereinheitdaten schreibt die CPU 61 der Controllereinheit 60A eine Blocknummer in dem entsprechenden Header-Teilstück 100.
  • In der dritten Interkommunikationsperiode weist die CPU 61 der Controllereinheit 60A den DMA-Controller 13 zum Transferieren der in dem Sendeinterkommunikationsspeicher 15b gespeicherten Transfereinheitdaten D1 von dem Sendeinterkommunikationsspeicher 15b zu dem DRAM 12 an (Schritt S35). Die Feste-Periode-Bus-I/F 14 der Controllereinheit 60A transferiert die in dem Sendeinterkommunikationsspeicher 15b gespeicherten Transfereinheitdaten D1 an den Empfangsinterkommunikationsspeicher 16b der Controllereinheit 60B (Schritt S36). Weiterhin weist die CPU 61 der Controllereinheit 60B den DMA-Controller 13 zum Transferieren der in dem Empfangsinterkommunikationsspeicher 16a gespeicherten Transfereinheitdaten D0 von dem Empfangsinterkommunikationsspeicher 16a zu dem DRAM 12 an (Schritt S37). Prozesse von Schritten S36 und S37 werden gleichzeitig und parallel mit einem Prozess von Schritt S35 durchgeführt.
  • In der vierten Interkommunikationsperiode weist die CPU 61 der Controllereinheit 60B den DMA-Controller 13 zum Transferieren der in dem Empfangsinterkommunikationsspeicher 16a gespeicherten Transfereinheitdaten D1 von dem Empfangsinterkommunikationsspeicher 16a zu dem DRAM 12 an (Schritt S38). Die CPU 61 der Controllereinheit 60B rekonstruiert die Vor-Aufteilung-Interkommunikationsdaten aus den Aufteilungsdaten D0 und den Aufteilungsdaten D1 wie mit der CPU 11 gemäß der ersten Ausführungsform.
  • Auf diese Weise teilt gemäß der vierten Ausführungsform der vorliegenden Erfindung in einer sendeseitigen Controllereinheit 60 die CPU 61 Interkommunikationsdaten auf, die in der Berechnungsperiode länger als die Interkommunikationsperiode fertig gestellt werden, für jede Interkommunikationsperiode, um Aufteilungsdaten zu erzeugen, und speichert jedes Element der erzeugten Aufteilungsdaten direkt in dem Sendeinterkommunikationsspeicher 15 ohne Involvierung des DRAM 12. In einer empfangsseitigen Controllereinheit 60 liest der DMA-Controller 13 sequenziell mehrere Elemente der Aufteilungsdaten, die an den Empfangsinterkommunikationsspeicher 16 transferiert worden sind, in dem Inter-Einheit-Transferprozess für jede Interkommunikationsperiode, und die CPU 61 konstruiert die Interkommunikationsdaten durch Kombinieren der mehreren Elemente der Aufteilungsdaten, die durch den DMA-Controller 13 gelesen worden sind. Im Vergleich mit einem Fall, wo die Aufteilungsdaten in dem Sendeinterkommunikationsspeicher 15 via den DRAM 12 gespeichert werden, ist es deshalb möglich, die Zeit von einem Zeitpunkt, wenn die sendeseitige Controllereinheit 60 die Interkommunikationsdaten erzeugt, bis die empfangsseitige Controllereinheit 60 die Interkommunikationsdaten verwenden kann, zu verkürzen.
  • In der sendeseitigen Controllereinheit 60 liest der DMA-Controller 13 sequenziell die mehreren Elemente der Aufteilungsdaten, die sequenziell in dem Sendeinterkommunikationsspeicher 15 gespeichert worden sind, für jede Interkommunikationsperiode, und die CPU 61 konstruiert die Interkommunikationsdaten durch Kombinieren der mehreren Elemente der Aufteilungsdaten, die durch den DMA-Controller 13 gelesen worden sind. Auch in der vierten Ausführungsform der vorliegenden Erfindung, in der erzeugte Aufteilungsdaten in dem Sendeinterkommunikationsspeicher 15 ohne Involvierung des DRAM 12 gespeichert werden, kann deshalb die sendeseitige Controllereinheit 60 die Interkommunikationsdaten verwenden, die bereits an die empfangsseitige Controllereinheit 60 übertragen worden sind.
  • Jeder von dem Sendeinterkommunikationsspeicher 15 und dem Empfangsinterkommunikationsspeicher 16 bildet einen Doppelpuffer und ist konfiguriert, einen Datentransfer zwischen dem DRAM 12 und dem Sendeinterkommunikationsspeicher 15, den Inter-Einheit-Transferprozess und einen Datentransfer zwischen dem Empfangsinterkommunikationsspeicher 16 und dem DRAM 12 in der Pipeline-Verarbeitungsweise durchzuführen. Deshalb können die Transfereinheitdaten für jede Interkommunikationsperiode transferiert werden.
  • Die Interkommunikationsperiode ist in die Zeitschlitze Zeit-aufgeteilt, die exklusiv jeweils den Controllereinheiten 60 zugewiesen sind, und der Prozess zum Speichern der Aufteilungsdaten einer sendeseitigen Controllereinheit 60 in dem Sendeinterkommunikationsspeicher 15, der Inter-Einheit-Transferprozess zwischen der sendeseitigen Controllereinheit 60 und einer empfangsseitigen Controllereinheit 60, und der Datentransfer zwischen dem Empfangsinterkommunikationsspeicher 16 und dem DRAM 12 in der empfangsseitigen Controllereinheit 60 werden in dem Zeitschlitz durchgeführt, der der sendeseitigen Controllereinheit 60 zugewiesen worden ist. Deshalb kann eine Kollision der Interkommunikationsdaten unter den Controllereinheiten 60 verhindert werden.
  • Fünfte Ausführungsform
  • 17 ist ein Diagramm, das eine Konfiguration eines programmierbaren Controllersystems gemäß einer fünften Ausführungsform der vorliegenden Erfindung zeigt. In der vorliegenden Ausführungsform sind Bestandteilelemente, die dieselben sind wie diese der ersten Ausführungsform, mit denselben Bezugszeichen bezeichnet, und redundante Erläuterungen davon werden weggelassen werden. Wie in 17 gezeigt, ist ein programmierbares Controllersystem 5 konfiguriert, Controllereinheiten 70A bis 70C und die Basiseinheit 20 zu haben. Die Controllereinheiten 70A bis 70C können hier im Nachfolgenden auch als Controllereinheit 70'' bezeichnet werden.
  • 18 ist ein erläuterndes Diagramm einer Konfiguration der Controllereinheit 70. Wie in 18 gezeigt, enthält die Controllereinheit 70 eine CPU 71, den DRAM 12, den DMA-Controller 13 und eine Feste-Periode-Bus-I/F 72. Jede von der CPU 71, dem DRAM 12, dem DMA-Controller 13 und der Feste-Periode-Bus-I/F 72 ist mit einem Bus verbunden.
  • Die Feste-Periode-Bus-I/F 72 ist eine Verbindungsschnittstelle zum Verbinden mit dem Bus einer festen Periode 30. Die Feste-Periode-Bus-I/F 72 gemäß der fünften Ausführungsform enthält einen Sendeinterkommunikationsspeicher 73a, einen Sendeinterkommunikationsspeicher 73b und einen Empfangsinterkommunikationsspeicher 74.
  • Eine Operation des programmierbaren Controllersystems 5 gemäß der fünften Ausführungsform der vorliegenden Erfindung wird als Nächstes erläutert. 19 ist ein Zeitdiagramm zum Erläutern von Timings einer Übertragung und eines Empfangs von Daten. In der vorliegenden Ausführungsform wird zur Vereinfachung der Erläuterungen eine Beschreibung für ein Beispiel einer Dateninterkommunikation gegeben, in der die Controllereinheit 70A eine Übertragungsquelle ist, und die Controllereinheiten 70B und 70C Übertragungsbestimmungsorte sind. Während zur Einfachheit Benennungen von den Controllereinheiten 70 zugewiesenen Zeitschlitzen in jeder der in 19 gezeigten Interkommunikationsperioden (jede von der ersten bis sechsten Interkommunikationsperiode) weggelassen werden, ist jede der Interkommunikationsperioden tatsächlich aus vier Zeitschlitzen zusammengesetzt, und Prozesse mit Bezug zu der Dateninterkommunikation von der Controllereinheit 70A zu den Controllereinheiten 70B und 70C werden mit Verwendung von einem der vier Zeitschlitze mit Ausnahme für den Prozess mit Bezug zu dem DMA-Transfer durchgeführt.
  • Zuerst erzeugt in der ersten Interkommunikationsperiode die CPU 71 der Controllereinheit 70A zuerst eine erste Hälfte der Interkommunikationsdaten, erzeugt dann die Transfereinheitdaten D0 aus der ersten Hälfte (die Aufteilungsdaten D0) der Interkommunikationsdaten, und speichert die erzeugten Transfereinheitdaten D0 in dem Sendeinterkommunikationsspeicher 73a (Schritt S41). Anschließend weist in dem Zeitschlitz für einen DNA-Transfer in der ersten Interkommunikationsperiode die CPU 71 der Controllereinheit 70A den DMA-Controller 13 zum Transferieren der in dem Sendeinterkommunikationsspeicher 73a gespeicherten Transfereinheitdaten D0 von dem Sendeinterkommunikationsspeicher 73a zu dem DRAM 12 an (Schritt S42).
  • In der zweiten Interkommunikationsperiode transferiert die Feste-Periode-Bus-I/F 72 der Controllereinheit 70A die in dem Sendeinterkommunikationsspeicher 73a gespeicherten Transfereinheitdaten D0 an den Empfangsinterkommunikationsspeicher 74 der Controllereinheit 70B (Schritt S43). Gleichzeitig und parallel mit dem Prozess von Schritt S43 erzeugt die CPU 71 der Controllereinheit 70A eine letzte Hälfte der Interkommunikationsdaten, erzeugt dann die Transfereinheitdaten D1 aus der letzten Hälfte (die Aufteilungsdaten D1) der Interkommunikationsdaten, und speichert die erzeugten Transfereinheitdaten D1 in dem Sendeinterkommunikationsspeicher 73b (Schritt S44). Die CPU 71 der Controllereinheit 70A schreibt eine Blocknummer in dem entsprechenden Header-Teilstück 100 beim Erzeugen der Transfereinheitdaten.
  • Nach den Prozessen der Schritte S43 und S44 weist in dem Zeitschlitz für einen DNA-Transfer in der zweiten Interkommunikationsperiode die CPU 71 der Controllereinheit 70A den DMA-Controller 13 zum Transferieren der in dem Sendeinterkommunikationsspeicher 73b gespeicherten Transfereinheitdaten D1 von dem Sendeinterkommunikationsspeicher 73b zu dem DRAM 12 an (Schritt S45). Gleichzeitig und parallel mit dem Schritt S45 weist die CPU 71 der Controllereinheit 70B den DMA-Controller 13 zum Transferieren der in dem Empfangsinterkommunikationsspeicher 74 gespeicherten Transfereinheitdaten D0 von dem Empfangsinterkommunikationsspeicher 74 zu dem DRAM 12 an (Schritt S46).
  • In der dritten Interkommunikationsperiode transferiert die Feste-Periode-Bus-I/F 72 der Controllereinheit 70A die in dem Sendeinterkommunikationsspeicher 73b gespeicherten Transfereinheitdaten D1 an den Empfangsinterkommunikationsspeicher 74 der Controllereinheit 70B (Schritt S47). In dem Zeitschlitz für einen DMA-Transfer in der dritten Interkommunikationsperiode weist dann die CPU 71 der Controllereinheit 70B den DMA-Controller 13 zum Transferieren der in dem Empfangsinterkommunikationsspeicher 74 gespeicherten Transfereinheitdaten D1 von dem Empfangsinterkommunikationsspeicher 74 zu dem DRAM 12 an (Schritt S48). Die CPU 71 der Controllereinheit 70B rekonstruiert die Vor-Aufteilung-Interkommunikationsdaten aus den Aufteilungsdaten D0 und den Aufteilungsdaten D1 in derselben Weise wie die CPU 11 gemäß der ersten Ausführungsform.
  • Auf diese Weise wird gemäß der fünften Ausführungsform der vorliegenden Erfindung der Zeitschlitz für einen DMA-Transfer bei dem Ende jeder Interkommunikationsperiode gewährleistet, und die CPU 71 speichert die Aufteilungsdaten, die ein erzeugter Teil der Interkommunikationsdaten sind, in dem Sendeinterkommunikationsspeicher für jede Interkommunikationsperiode, ohne auf eine Fertigstellung der Interkommunikationsdaten zu warten. Wie bei Schritt S42 in 19 gezeigt, kann deshalb der DMA-Transfer mit Bezug zu Interkommunikationsdaten gestartet werden, bevor die Interkommunikationsdaten fertiggestellt sind. Das heißt, dass die Zeit von einem Zeitpunkt, wenn eine sendeseitige Controllereinheit 70 Interkommunikationsdaten erzeugt, bis eine empfangsseitige Controllereinheit 70 die Interkommunikationsdaten verwenden kann, im Vergleich mit der vierten Ausführungsform verkürzt werden kann.
  • Bezugszeichenliste
  • 1, 2, 3, 4, 5
    Programmierbares Controllersystem
    10, 40, 50, 60, 70, 10A bis 10C, 40A bis 40C, 50A bis 50C, 60A bis 60C, 70A bis 70C
    Controllereinheit
    11, 41, 51, 61, 71
    CPU
    12D
    RAM
    13
    DMA-Controller
    14, 42, 72
    Feste-Periode-Bus-I/F
    15, 15a, 15b, 43, 73a, 73b
    Sendeinterkommunikationsspeicher
    16, 16a, 16b, 44, 74
    Empfangsinterkommunikationsspeicher
    20
    Basiseinheit
    30
    Bus einer festen Periode
    100
    Header-Teilstück
    101
    Datenteilstück

Claims (12)

  1. Programmierbares Controllersystem mit einer Vielzahl von Controllereinheiten, von denen jede eine Busschnittstelle mit einem Pufferspeicher enthält, und einem Bus, der die Controllersysteme via die Busschnittstellen verbindet und bei ersten Zeitintervallen einen Inter-Einheit-Transferprozess durchführt zum Transferieren von Speicherinhalten des Pufferspeichers, der in der Busschnittstelle einer sendeseitigen Controllereinheit unter den Controllereinheiten enthalten ist, an den Pufferspeicher, der in der Busschnittstelle einer empfangsseitigen Controllereinheit unter den Controllereinheiten enthalten ist, wobei – die sendeseitige Controllereinheit enthält: eine Datenerzeugungseinheit, die Interkommunikationsdaten bei zweiten Zeitintervallen erzeugt, die jeweils länger als das erste Zeitintervall sind; eine Datenaufteilungseinheit, die die durch die Datenerzeugungseinheit erzeugten Interkommunikationsdaten aufteilt, wodurch Elemente von Transfereinheitdaten erzeugt werden, deren Anzahl gleich oder geringer als ein Wert ist, der erhalten worden ist durch Dividieren des zweiten Zeitintervalls durch das erste Zeitintervall; und eine Datenspeicherungseinheit, die sequenziell die Elemente der Transfereinheitdaten, die durch die Datenaufteilungseinheit erzeugt worden sind, in dem Pufferspeicher, der in der Busschnittstelle seiner eigenen Controllereinheit enthalten ist, jeweils bei den ersten Zeitintervallen speichert, und – die empfangsseitige Controllereinheit enthält: eine Datenleseeinheit, die sequenziell Elemente der Transfereinheitdaten, die sequenziell bei den ersten Zeitintervallen an den Pufferspeicher seiner eigenen Controllereinheit in dem Inter-Einheit-Transferprozess transferiert worden sind, bei den ersten Zeitintervallen liest; und eine Datenkombiniereinheit, die die Elemente der Transfereinheitdaten, die durch die Datenleseeinheit gelesen worden sind, kombiniert, wodurch die durch die Datenerzeugungseinheit erzeugten Interkommunikationsdaten rekonstruiert werden.
  2. Programmierbares Controllersystem gemäß Anspruch 1, wobei der Pufferspeicher eine Doppelpufferkonfiguration hat, und ein Prozess zum Speichern von Transfereinheitdaten in der Datenspeicherungseinheit, der Inter-Einheit-Transferprozess und ein Prozess zum Lesen von Transfereinheitdaten durch die Datenleseeinheit in einer Pipeline-Verarbeitungsweise mit Verwendung des Pufferspeichers mit der Doppelpufferkonfiguration durchgeführt werden.
  3. Programmierbares Controllersystem gemäß Anspruch 2, wobei das erste Zeitintervall in eine Vielzahl von Zeitschlitzen Zeit-aufgeteilt ist, die jeweils exklusiv den Controllereinheiten zugewiesen sind, und der Prozess zum Speichern von Transfereinheitdaten in der Datenspeicherungseinheit, der Inter-Einheit-Transferprozess und der Prozess zum Lesen von Transfereinheitdaten durch die Datenleseeinheit in einem der sendeseitigen Controllereinheit zugewiesenen Zeitschlitz durchgeführt werden.
  4. Programmierbares Controllersystem gemäß Anspruch 1, wobei das erste Zeitintervall aufgeteilt ist in eine Vielzahl von Zeitschlitzen mit ersten Zeitschlitzen, die jeweils exklusiv den Controllereinheiten zugewiesen sind, und in denen der Inter-Einheit-Transferprozess durchgeführt wird, und einem zweiten Zeitschlitz, in dem ein Prozess zum Speichern von Transfereinheitdaten in der Datenspeicherungseinheit und ein Prozess zum Lesen von Transfereinheitdaten durch die Datenleseeinheit durchgeführt werden.
  5. Programmierbares Controllersystem gemäß Anspruch 4, wobei der zweite Zeitschlitz sich bei einem Ende des ersten Zeitintervalls befindet, und die Datenaufteilungseinheit Transfereinheitdaten aus einem erzeugten Teil von Interkommunikationsdaten für jedes der ersten Zeitintervalle erzeugt, ohne auf die Fertigstellung der Interkommunikationsdaten zu warten.
  6. Programmierbares Controllersystem gemäß einem der Ansprüche 1 bis 5, wobei die Datenaufteilungseinheit die Elemente der Transfereinheitdaten erzeugt, wobei eine Identifizierungsnummer zum Identifizieren einer Position davon in den durch die Datenerzeugungseinheit erzeugten Interkommunikationsdaten an jedes Element von Aufteilungsdaten angefügt wird, und die Datenkombiniereinheit die durch die Datenerzeugungseinheit erzeugten Interkommunikationsdaten auf Grundlage der den Elementen der Transferdaten angefügten Identifizierungsnummern rekonstruiert.
  7. Programmierbares Controllersystem mit einer Vielzahl von Controllereinheiten, von denen jede eine Busschnittstelle mit einem Pufferspeicher enthält, und einem Bus, der die Controllersysteme via die Busschnittstellen verbindet und einen Inter-Einheit-Transferprozess durchführt zum Transferieren von Speicherinhalten des Pufferspeichers, der in einer sendeseitigen Controllereinheit unter den Controllereinheiten enthalten ist, an den Pufferspeicher, der in einer empfangsseitigen Controllereinheit unter den Controllereinheiten enthalten ist, bei ersten Zeitintervallen, wobei – die sendeseitige Controllereinheit eine Datenerzeugungseinheit enthält, die Interkommunikationsdaten aufteilt, die für jedes von zweiten Zeitintervallen fertiggestellt worden sind, die jeweils länger sind als das erste Zeitintervall, für jedes der ersten Zeitintervalle, wodurch Elemente von Aufteilungsdaten erzeugt werden, und sequenziell Elemente der erzeugten Aufteilungsdaten in dem Pufferspeicher, der in der Busschnittstelle seiner eigenen Controllereinheit enthalten ist, jeweils bei den ersten Zeitintervallen speichert, und – die empfangsseitige Controllereinheit enthält: eine erste Datenleseeinheit, die sequenziell bei den ersten Zeitintervallen Elemente der Aufteilungsdaten liest, die sequenziell bei den ersten Zeitintervallen an den Pufferspeicher, der in der Busschnittstelle seiner eigenen Controllereinheit enthalten ist, in dem Inter-Einheit-Transferprozess transferiert worden sind; und eine erste Datenkombiniereinheit, die die Elemente der Aufteilungsdaten, die durch die erste Datenleseeinheit gelesen worden sind, kombiniert, wodurch die durch die Datenerzeugungseinheit fertiggestellten Interkommunikationsdaten konstruiert werden.
  8. Programmierbares Controllersystem gemäß Anspruch 7, wobei die sendeseitige Controllereinheit enthält: eine zweite Datenleseeinheit, die sequenziell die Elemente der Aufteilungsdaten liest, die sequenziell gespeichert worden sind durch die Datenerzeugungseinheit in dem Pufferspeicher, der in der Busschnittstelle seiner eigenen Controllereinheit enthalten ist, bei den ersten Zeitintervallen; und eine zweite Datenkombiniereinheit, die die Elemente der Aufteilungsdaten, die durch die zweite Datenleseeinheit gelesen worden sind, kombiniert, wodurch die durch die Datenerzeugungseinheit fertiggestellten Interkommunikationsdaten konstruiert werden.
  9. Programmierbares Controllersystem gemäß Anspruch 7, wobei ein Prozess zum Lesen von Aufteilungsdaten durch die zweite Datenleseeinheit und der Inter-Einheit-Transferprozess mit Bezug zu den Aufteilungsdaten gleichzeitig und parallel miteinander ausgeführt werden.
  10. Programmierbares Controllersystem gemäß Anspruch 7 oder 8, wobei der Pufferspeicher eine Doppelpufferkonfiguration hat, und ein Prozess zum Speichern von Aufteilungsdaten durch die Datenerzeugungseinheit, der Inter-Einheit-Transferprozess und ein Prozess zum Lesen von Aufteilungsdaten durch die erste Datenleseeinheit auf eine Pipeline-Verarbeitungsweise mit Verwendung des Pufferspeichers mit der Doppelpufferkonfiguration durchgeführt werden.
  11. Programmierbares Controllersystem gemäß Anspruch 9, wobei das erste Zeitintervall in eine Vielzahl von Zeitschlitzen Zeit-aufgeteilt ist, die jeweils exklusiv den Controllereinheiten zugewiesen sind, und der Prozess zum Speichern von Aufteilungsdaten durch die Datenerzeugungseinheit, der Inter-Einheit-Transferprozess und der Prozess zum Lesen von Aufteilungsdaten durch die erste Datenleseeinheit in einem der sendeseitigen Controllereinheit zugewiesenen Zeitschlitz durchgeführt werden.
  12. Programmierbares Controllersystem gemäß Anspruch 7 oder 8, wobei das erste Zeitintervall aufgeteilt ist in eine Vielzahl von Zeitschlitzen mit ersten Zeitschlitzen, die jeweils exklusiv den Controllereinheiten zugewiesen sind, und in denen ein Prozess zum Erzeugen und Speichern von Aufteilungsdaten durch die Datenerzeugungseinheit und der Inter-Einheit-Transferprozess gleichzeitig und parallel miteinander durchgeführt werden, und einem zweiten Zeitschlitz, der sich bei einem Ende des ersten Zeitintervalls befindet und einem Prozess zum Lesen von Aufteilungsdaten durch die erste Datenleseeinheit zugewiesen ist.
DE112011105318.5T 2011-06-09 2011-06-09 Programmierbares Controllersystem Withdrawn DE112011105318T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/063229 WO2012169037A1 (ja) 2011-06-09 2011-06-09 プログラマブルコントローラシステム

Publications (1)

Publication Number Publication Date
DE112011105318T5 true DE112011105318T5 (de) 2014-03-06

Family

ID=47295640

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011105318.5T Withdrawn DE112011105318T5 (de) 2011-06-09 2011-06-09 Programmierbares Controllersystem

Country Status (4)

Country Link
JP (1) JP5523630B2 (de)
CN (1) CN103597416A (de)
DE (1) DE112011105318T5 (de)
WO (1) WO2012169037A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3528131A1 (de) * 2018-02-14 2019-08-21 Omron Corporation Steuerungsvorrichtung, steuerungssystem, steuerungsverfahren und steuerungsprogramm

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101558084B1 (ko) * 2014-04-15 2015-10-06 엘에스산전 주식회사 복수의 cpu 모듈을 구비하는 plc 시스템 및 제어방법
DE112014003069T5 (de) * 2014-04-25 2016-03-17 Mitsubishi Electric Corporation Funktionseinheit, Analogeingabeeinheit und programmierbares Steuerungssystem
JP6338923B2 (ja) * 2014-04-30 2018-06-06 パナソニック デバイスSunx株式会社 プログラマブルコントローラ及び制御プログラム
CN106294232B (zh) * 2015-05-21 2019-04-30 深圳市中兴微电子技术有限公司 一种dma控制器及其实现方法
JP6977600B2 (ja) * 2018-02-14 2021-12-08 オムロン株式会社 制御装置、制御システム、制御方法、および、制御プログラム
JP7143646B2 (ja) * 2018-06-27 2022-09-29 オムロン株式会社 Rfid通信ユニット、rfid通信ユニットの制御方法、およびプログラム
JP7031630B2 (ja) * 2019-03-20 2022-03-08 オムロン株式会社 パイプライン演算装置、プログラマブルロジックコントローラ、及び、パイプライン処理の実行方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61217855A (ja) * 1985-03-22 1986-09-27 Toshiba Corp バス制御方式
JPH0816846B2 (ja) * 1987-02-25 1996-02-21 オムロン株式会社 プログラマブル・コントロ−ラ
CN1295633C (zh) * 2002-12-26 2007-01-17 华为技术有限公司 一种多cpu通信的方法
JP3920818B2 (ja) * 2003-07-22 2007-05-30 株式会社東芝 スケジューリング方法および情報処理システム
JP4419192B2 (ja) * 2005-02-25 2010-02-24 株式会社デンソー 自動車用制御装置
JP4299801B2 (ja) * 2005-03-28 2009-07-22 Necパーソナルプロダクツ株式会社 データ伝送方法および電子機器
JP4899370B2 (ja) * 2005-08-01 2012-03-21 ソニー株式会社 コンテンツ処理装置,コンテンツ処理方法およびコンテンツ転送システム
JP2007079731A (ja) * 2005-09-12 2007-03-29 Kume Denki Kk データ制御装置
CN100571106C (zh) * 2006-03-22 2009-12-16 华为技术有限公司 一种无线网络通信装置
JP2008257707A (ja) * 2007-03-09 2008-10-23 Omron Corp ビルディングブロック型の制御装置
CN101261506B (zh) * 2007-03-09 2010-07-21 欧姆龙株式会社 组块式可编程逻辑控制器
JP2008234059A (ja) * 2007-03-16 2008-10-02 Fujitsu Ltd データ転送装置および情報処理システム
JP5051228B2 (ja) * 2007-07-30 2012-10-17 富士通株式会社 電子機器、情報処理システム、電子機器の障害通知方法、および障害通知プログラム
JP2009080587A (ja) * 2007-09-25 2009-04-16 Nomura Research Institute Ltd データ転送サーバ
JP2009211158A (ja) * 2008-02-29 2009-09-17 Brother Ind Ltd コンテンツ再生装置及びそのプログラム、コンテンツ配信システム、コンテンツ配信方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3528131A1 (de) * 2018-02-14 2019-08-21 Omron Corporation Steuerungsvorrichtung, steuerungssystem, steuerungsverfahren und steuerungsprogramm

Also Published As

Publication number Publication date
CN103597416A (zh) 2014-02-19
JPWO2012169037A1 (ja) 2015-02-23
JP5523630B2 (ja) 2014-06-18
WO2012169037A1 (ja) 2012-12-13

Similar Documents

Publication Publication Date Title
DE112011105318T5 (de) Programmierbares Controllersystem
DE3300261C2 (de)
DE69931473T3 (de) Eingang/ausgang- scanner für ein steuersystem mit peer- ermittlung
DE3300260C2 (de)
DE2646296C3 (de) Elektronische assoziative Mehrrechner Schaltungsanordnung mit einem modularen Aufbau
DE3004827C2 (de) Datenverarbeitungsanlage
DE102007004044B4 (de) Verfahren und Anlage zur optimierten Übertragung von Daten zwischen einer Steuereinrichtung und mehreren Feldgeräten
EP0156339B1 (de) Verfahren und Anordnung zum Herstellen und Betreiben einer Zeitvielfach-Breitbandverbindung in einer Zeitvielfach-Vermittlungsstelle
DE3237224A1 (de) Vorrichtung zum erzeugen einer folge von pruefdaten fuer lsi-schaltungen
DE2406740C2 (de) Schaltungsanordnung zur Steuerung des Datentransfers zwischen einem Datenprozessor und einer Fernverarbeitungseinrichtung
DE2214769C2 (de) Zeitmultiplex-Vermittlungsanlage
EP1385071A2 (de) Verfahren zum Austausch von Daten zwischen Steuerungen von Maschinen, insbesondere von Robotern
DE102014108457B3 (de) Netzwerkverteiler
DE112009001668B4 (de) Weiterleitungsvorrichtung, Kommunikationssystem und Kommunikationsverfahren
DE102012020951A1 (de) lnternet-Sensorschnittstelle mit Prioritätssteuerung
EP2407840A1 (de) Verfahren zum Betreiben einer Automatisierungseinrichtung
DE69721825T2 (de) Datenschnittstelle und hochgeschwindigkeitskommunikation mit dieser schnittstelle
DE112015006192T5 (de) Kommunikationsvorrichtung, Kommunikationsverfahren und Programm
DE19780639C2 (de) Arbeitsübernahmesystem
EP3401742B1 (de) Automatisierungssystem und verfahren zum betrieb
EP3072250B1 (de) Kommunikationseinrichtung, kommunikationssystem und verfahren zum synchronisierten senden von telegrammen
DE4406258A1 (de) Informationsverarbeitungsvorrichtung
DE19850469A1 (de) Automatisierungssystem und Verfahren zum Zugriff auf die Funktionalität von Hardwarekomponenten
DE3112693A1 (de) Modular aufgebautes dezentrales datenverarbeitungssystem
DE2520835A1 (de) Schaltungsanordnung zur uebertragung von daten

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: HOFFMANN - EITLE PATENT- UND RECHTSANWAELTE PA, DE

Representative=s name: HOFFMANN - EITLE, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee