-
Technisches Gebiet
-
Die vorliegende Erfindung bezieht sich auf ein verteiltes Ein-/Ausgabe-Steuersystem und ein Steuerverfahren für dieses.
-
Stand der Technik
-
Ein in einem Fahrzeug vorgesehenes System wird als ein Beispiel genommen. In dem im Fahrzeug vorgesehenen System sind mehrere ECUs (elektronische Steuereinheiten) jeweils mit einem Netzwerk verbunden, und Ein-/Ausgabe-Vorrichtungen zum Kommunizieren mit einer der mehreren ECUs sind durch eine dedizierte Signalleitung verbunden. Die eine der ECUs steuert die Ein-/Ausgabe-Vorrichtungen. In einem derartigen in einem Fahrzeug vorgesehenen System ist das Problem aufgetreten, dass, wenn die Anzahl von zu steuernden Ein-/Ausgabe-Vorrichtungen zunimmt, die Anzahl von mit einer ECU verbundenen dedizierten Signalleitungen zunimmt.
-
Um das Problem zu lösen, offenbart das Patentdokument 1 ein Verfahren, bei dem dedizierte Signalleitungen für die jeweiligen Ein-/Ausgabe-Vorrichtungen in irgendeiner von Multiplex-Übertragungsvorrichtungen, die in verschiedenen Bereichen des Fahrzeugs installiert sind, aufgenommen sind und die Multiplex-Übertragungsvorrichtungen dazwischen und mit den ECUs durch Multiplex-Übertragungsleitungen verbunden sind. Jedoch werden in einem Fall, in welchem mehrere ECUs verbunden sind, die Multiplex-Übertragungsleitungen nicht nur zum Verbinden einer einzelnen ECU und der Multiplex-Übertragungsvorrichtungen verwendet, sondern auch zum Verbinden mehrerer anderer ECUs, um Daten zwischen ECUs und dergleichen auszutauschen. Weiterhin ist, da die zwischen den ECUs ausgetauschten Daten zum Steuern eines fahrenden Fahrzeugs verwendet werden, ein vorbestimmtes Niveau von Echtzeitdurchführung erforderlich.
-
Weiterhin offenbart das Patentdokument 2 ein Verfahren, in welchem in einem Kommunikationssystem zwischen einer Masterstation und mehreren Slavestationen (entsprechend den Multiplex-Übertragungsvorrichtungen) die mehreren Slavestationen in Gruppen gemäß ihren Kommunikationszyklen geteilt sind und die Masterstation einen Datenblock überträgt, der eine Gruppe zur Behandlung spezifiziert, um hierdurch nur mit der spezifizierten Gruppe zu kommunizieren.
-
Dokumente des Standes der Technik
-
Patentdokumente
-
- Patentdokument 1: japanische Patent-Offenlegungsschrift Nr. H02-1649
- Patentdokument 2: japanische Patent-Offenlegungsschrift Nr. 2010-287959
-
Zusammenfassung der Erfindung
-
Durch die Erfindung zu lösendes Problem
-
In einem Kommunikationssystem, das für eine Masterstation und mehrere Slavestationen mit mehreren mit diesen verbundenen Ein-/Ausgabe-Vorrichtungen vorgesehen ist und dessen Multiplex-Übertragungsleitungen, die mit den Stationen verbunden sind, in einem Zustand sind, in welchem eine Kommunikation zwischen einer anderen Masterstation und Slavestationen erzeugt wird, ist es erforderlich, dass eine in eine Ein-/Ausgabe-Vorrichtung Datenänderung schnell mitgeteilt wird, und es ist auch erforderlich, dass eine Datenübertragung von den Slavestationen zu der Masterstation unterdrückt wird, um das vorgenannte Echtzeitniveau sicherzustellen. Genauer gesagt, es ist erforderlich, dass ein Kommunikationsband von den Slavestationen zu der Masterstation unterhalb eines bestimmten Niveaus unterdrückt wird, so dass andere Vorrichtungen kommunizieren können.
-
In einem System, in welchem jedes Mal, wenn die eingegebenen Daten sich ändern, eingegebene Daten von einer Slavestation zu einer Masterstation übertragen werden, ist es erforderlich, dass das Kommunikationsband immer einer Multiplex-Übertragungsvorrichtung zugewiesen ist, um einer Situation zu begegnen, in der Änderungen eingegebener Daten während einer bestimmten Periode konzentriert auftreten. Weiterhin besteht, da Ein-/Ausgabe-Vorrichtungen, die verschiedene Kommunikationszyklen erfordern, mit der Slavestation verbunden sind, ein Problem dahingehend, dass ein System, in welchem die Slavestation gemäß einem Kommunikationszyklus spezifiziert ist, nicht mit den von den Ein-/Ausgabe-Vorrichtungen angeforderten Kommunikationszyklen arbeiten kann. Daher kann ein ausreichendes Kommunikationsband für andere Vorrichtungen, die die Multiplex-Übertragungsleitung verwenden, nicht sichergestellt werden.
-
Angesichts dieser Situationen hat die vorliegende Erfindung hauptsächlich das Ziel, eine Konfiguration zu realisieren, die mit von der Kommunikationsausrüstung angeforderten Kommunikationszyklen arbeiten kann, während das Kommunikationsband unterdrückt wird, und die spezifische Daten ohne Verzögerung überträgt.
-
Mittel zum Lösen des Problems
-
Um die vorbeschriebenen Probleme zu überwinden und eine Aufgabe zu lösen, weist ein verteiltes Ein-/Ausgabe-Steuersystem, in welchem eine Kommunikation durchgeführt wird zum Aktualisieren durch ein Netzwerk zwischen einem gemeinschaftlichen Speicher einer Slavestation, die eine Eingabe- und Ausgabeoperation von Daten mit mehreren Eingabe- oder Ausgabevorrichtungen und einem gemeinschaftlichen Speicher einer Masterstation entsprechend dem gemeinschaftlichen Speicher der Slavestation durchführt, auf: die Masterstation, welche aufweist: eine Zyklustabelle, die einen Kommunikationszyklus und Gruppeninformationen mit Bezug auf jede der Eingabevorrichtungen oder der Ausgabevorrichtungen definiert; Eingabeanforderungs-Übertragungsmittel, die gemäß der Zyklustabelle einen Eingabeanforderungsdatenblock ausgeben, der einen gemeinschaftlichen Speicher der Slavestationen und Gruppeninformationen, deren Eingabe angefordert wird, spezifiziert; Übertragungssteuermittel, die in der Zyklustabelle nachschauen, um eine Zeit zum Übertragen von Daten des gemeinschaftlichen Speichers der Masterstation, der Ausgabedaten für die Ausgabevorrichtungen speichert, zu bestimmen, und einen Übertragungsbefehl zu dem gemeinschaftlichen Speicher ausgeben; und Wiedergabemittel, die, wenn Ausgabedaten, die von dem Netzwerk eingegeben werden, auf Gruppeninformationen basieren, in den gemeinschaftlichen Speicher der Masterstation einzugebende Daten wiedergeben; und die Slavestation, welche aufweist: Vorrichtungs-Ein-/Ausgabe-Schnittstellenmittel, die Ausgabedaten von dem gemeinschaftlichen Speicher der Slavestation zu den Ausgabevorrichtungen ausgeben und Eingabedaten von den Eingabevorrichtungen in den gemeinschaftlichen Speicher der Slavestation eingeben; Übertragungsdaten-Bestimmungsmittel, die bestimmen, ob ein Eingabeanforderungsinhalt, der durch den Eingabeanforderungsdatenblock von der Masterstation spezifiziert ist, alle Informationen in einer einzelnen oder mehreren Einheiten des gemeinschaftlichen Speichers in der Slavestation oder Informationen entsprechend Gruppeninformationen darstellt, und einen Befehl zum Übertragen der entsprechenden Ausgabedaten ausgeben; und Verdichtungsmittel, die, wenn Ausgabedaten von dem gemeinschaftlichen Speicher in der Slavestation auf den Gruppeninformationen basieren, die Ausgabedaten zu in den gemeinschaftlichen Speicher der Masterstation einzugebende Daten verdichten.
-
Wirkung der Erfindung
-
Das verteilte Ein-/Ausgabe-Steuersystem gemäß der vorliegenden Erfindung hat die Wirkung, dass das verteilte Ein-/Ausgabe-Steuersystem mit Kommunikationszyklen arbeiten kann, die von Eingabevorrichtungen oder Ausgabevorrichtungen, die mit den Slavestationen verbunden sind, angefordert wurden, und das Kommunikationsband der Multiplex-Übertragungsleitung unterdrückt werden kann.
-
Kurzbeschreibung der Zeichnungen
-
1-1 ist eine Konfigurationsansicht einer Masterstation 100 eines verteilten Ein-/Ausgabe-Steuersystems nach dem Ausführungsbeispiel 1;
-
1-2 ist eine Konfigurationsansicht einer Slavestation 300 des verteilten Ein-/Ausgabe-Steuersystems nach dem Ausführungsbeispiel 1;
-
2 ist eine Ansicht zum Erläutern gemeinschaftlicher Speicher 101 und 301 nach dem Ausführungsbeispiel 1;
-
3 ist ein Erläuterungsdiagramm über eine Gruppe von Ausgabedaten und ein Verdichtungsverfahren in den Verdichtungsmitteln 112 und 312 nach dem Ausführungsbeispiel 1;
-
4 ist ein Diagramm, das einen Eingabeanforderungsdatenblock nach dem Ausführungsbeispiel 1 erläutert;
-
5 ist ein Diagramm, das ein Beispiel für eine Eingabeerfassungsfolge nach dem Ausführungsbeispiel 1 erläutert;
-
6 ist eine Konfigurationsansicht einer Slavestation 300 nach dem Ausführungsbeispiel 2;
-
7 ist ein Diagramm von Operationen, wenn ein Ereignis in der Slavestation 300 nach dem Ausführungsbeispiel 2 eintritt;
-
8 ist ein Diagramm von Operationen, wenn mehrere Ereignisse in der Slavestation 300 nach dem Ausführungsbeispiel 2 eintreten;
-
9-1 ist eine Konfigurationsansicht einer Masterstation 100 eines verteilten Ein-/Ausgabe-Steuersystems nach dem Ausführungsbeispiel 3;
-
9-2 ist eine Konfigurationsansicht einer Slavestation 300 des verteilten Ein-/Ausgabe-Steuersystems nach dem Ausführungsbeispiel 3; und
-
10 ist ein Erläuterungsdiagramm für Aktualisierungszeiten und Übertragungszeiten eines gemeinschaftlichen Speichers 301 in der Slavestation 300 nach dem Ausführungsbeispiel 3.
-
Arten der Ausführung der Erfindung
-
Ausführungsbeispiele eines verteilten Ein-/Ausgabe-Steuersystems nach der vorliegenden Erfindung werden nachfolgend im Einzelnen unter Verwendung der Figuren erläutert. Zusätzlich ist die vorliegende Erfindung nicht auf die Ausführungsbeispiele beschränkt.
-
Ausführungsbeispiel 1
-
Im Ausführungsbeispiel 1 wird ein System mit einem Mechanismus erläutert, in welchem eine Masterstation eine Eingabeanforderung an mehrere Slavestationen, die mit Ein-/Ausgabe-Vorrichtungen verbunden sind, sendet und dann eine Slavestation Eingabedaten von einer Ein-/Ausgabe-Vorrichtung entsprechend der Eingabeanforderung zu der Masterstation sendet, und in welchem die Eingabedaten zu einem gemeinschaftlichen Speicher oder einer Datengruppe, die als eine Gruppe bezeichnet wird, gehören, und die Masterstation eine Eingabeanforderung durch Spezifizieren einer Nummer eines gemeinschaftlichen Speichers oder einer Gruppennummer durchführt, so dass die mit der Ein-/Ausgabe-Vorrichtung verbundene Slavestation zu der Masterstation ausgibt.
-
1-1 ist eine Konfigurationsansicht einer Masterstation 100 eines verteilten Ein-/Ausgabe-Steuersystems nach dem Ausführungsbeispiel 1. 1-2 ist eine Konfigurationsansicht einer Slavestation 300 des verteilten Ein-/Ausgabe-Steuersystems nach dem Ausführungsbeispiel 1. In 1-1 ist die Masterstation 100 ein einzelner Knoten, der Eingabedaten von den Slavestationen 300 durch ein Netzwerk 200 sammelt, Steuerberechnungen durchführt und Ausgabedaten durch das Netzwerk 200 zu den Slavestationen 300 liefert. Durch das Netzwerk 200 wird eine Kommunikation zwischen anderen Masterstationen und Slavestationen durchgeführt, die in dem Ausführungsbeispiel nicht gezeigt sind. In 1-2 sind die Slavestationen 300 individuelle Knoten, von denen jeder von mehreren Eingabevorrichtungen 400 erhaltene Eingabedaten zu der Masterstation 100 sendet. Die Slavestation 300 führt auch eine Ausgabeoperation zu mehreren Ausgabevorrichtungen 500 auf der Grundlage der von der Masterstation 100 erhaltenen Ausgabedaten durch.
-
In 1-1 und 1-2 speichern gemeinschaftliche Speicher 101 und 301 in der Masterstation 100 und den Slavestationen 300 Eingabedaten von den Eingabevorrichtungen 400 oder Ausgabedaten für die Ausgabevorrichtungen 500, so dass Daten zwischen der Masterstation 100 und den Slavestationen 300 ausgetauscht werden. Die Masterstation 100 und die Slavestationen 300 teilen sich vorher Informationen darüber, welcher gemeinschaftliche Speicher und welches Bit hiervon Informationen der Eingabevorrichtung 400 oder der Ausgabevorrichtung 500 zugeteilt werden. Obgleich die Eingabevorrichtungen 400 und die Ausgabevorrichtungen 500 in diesem Ausführungsbeispiel getrennt beschrieben werden, können in einem Fall einer integrierten Eingabe/Ausgabe-Vorrichtung Eingabedaten von der Eingabe/Ausgabe-Vorrichtung oder Ausgabedaten zu der Eingabe/Ausgabe-Vorrichtung auch durch die gemeinschaftlichen Speicher 101 und 301 in der Masterstation 100 und den Slavestationen 300 ausgetauscht werden.
-
In 1-1 und 1-2 tauschen, wenn die Masterstation 100 und die Slavestation 300 Informationen in den gemeinschaftlichen Speichern 101 und 301 austauschen, die Masterstation und die Slavestation Daten durch Kommunikationsmittel 110 und 310, die jeweils mit dem Netzwerk 200 verbunden sind, aus. In der Datenaustauschoperation wird in einem Fall, in welchem alle Daten in einem einzelnen gemeinschaftlichen Speicher 301 in einer Slavestation 300 zu einem entsprechenden gemeinschaftlichen Speicher 101 in der Masterstation 100 übertragen werden, ein Datenblock eines gemeinschaftlichen Speichers zum Übertragen der Daten durch die Kommunikationsmittel 310 und 110 und das Netzwerk 200 verwendet. Umgekehrt wird in einem Fall, in welchem alle Daten in einem einzelnen oder mehreren gemeinschaftlichen Speichern 101 in der Masterstation zu einem einzelnen oder mehreren gemeinschaftlichen Speichern 301 in einer Slavestation übertragen werden, ein Datenblock für einen gemeinschaftlichen Speicher zum Übertragen der Daten durch die Kommunikationsmittel 310 und 110 und das Netzwerk 200 verwendet.
-
Andererseits wird in einem Fall, in welchem Daten in einigen Teilen von Bereichen der individuellen gemeinschaftlichen Speicher 101 und 301 zu übertragen sind, eine Kommunikation zwischen den Kommunikationsmitteln 110 und 310 und den gemeinschaftlichen Speichern 101 und 301 durch Wiedergabe 111 und 311 oder Verdichtungsmittel 112 und 312 durchgeführt. Die Wiedergabemittel 111 und 311, durch die Daten eingegeben werden, sind mit den Kommunikationsmitteln 110 und 310 der Masterstation 100 und der Slavestation 300 verbunden, um Bitzuteilungsinformationen eines ausgabeseitigen gemeinschaftlichen Speichers 101 aus den verdichteten Daten wiederzugeben, in denen unnötige Daten eliminiert sind, wenn sie durch das Netzwerk 200 übertragen werden, und um die Bitzuteilungsinformationen zu den eingabeseitigen gemeinschaftlichen Speichern 101 und 301 auszugeben. Die Verdichtungsmittel 112 und 312, die mit den Kommunikationsmitteln 110 und 310 der Masterstation 100 und der Slavestation 300 verbunden sind und durch die Daten von den für die Ausgabe verwendeten gemeinschaftlichen Speichern 101 und 301 ausgegeben werden, eliminieren Daten, die nicht erforderlich sind, wenn sie übertragen werden, verdichten Bitzuteilungsinformationen eines ausgabeseitigen gemeinschaftlichen Speichers und übertragen die Bitzuteilungsinformationen zu den Kommunikationsmitteln 110 und 310. Die Verfahren für Verdichtung und Wiedergabe werden später beschrieben.
-
Als Nächstes erfolgt eine auf 1-1 spezialisierte Erläuterung. Eine Anwendung 102 in der Masterstation 100 in 1-1 liest in einen für die Eingabe verwendeten gemeinschaftlichen Speicher 101 eingegebene Daten auf der Grundlage eines Datenblocks für gemeinschaftlichen Speicher, der von der Slavestation 300 durch das Netzwerk 200 und die Kommunikationsmittel 110 ausgegeben wurde, und auf der Grundlage von durch die Wiedergabemittel 111 ausgegebenen Bitzuteilungsinformationen und führt dann eine Steuerberechnung durch, um Ausgabedaten zu einem für die Ausgabe verwendeten gemeinschaftlichen Speicher 101 zu schreiben. Wenn es notwendig wird, werden Informationen über Zyklen für die Eingabe von und die Ausgabe zu den Slavestationen 300 zu einer Zyklustabelle 103 geliefert. Die Zyklustabelle 103 der Masterstation 100 ist eine Liste von Kommunikationszyklen für individuelle Eingabevorrichtungen 400 und individuelle Ausgabevorrichtungen 500, mit denen die Masterstation Informationen austauscht, die von den Slavestationen 300 eingegeben und zu diesen ausgegeben werden. In die Kommunikationszyklustabelle 103 werden auch Gruppeninformationen (zum Beispiel ihre Kommunikationszyklen) von individuellen Eingabevorrichtungen 400 und individuellen Ausgabevorrichtungen 500 geschrieben. In der Kommunikationszyklustabelle 103 sind weiterhin Informationen darüber, welcher gemeinschaftliche Speicher jeder der Eingabevorrichtungen 400 und der Ausgabevorrichtungen 500 zugeteilt ist, beschrieben. Zusätzlich sind die vorstehend beschriebenen Gruppeninformationen nicht notwendigerweise auf den Kommunikationszyklus zu beschränken; die Definition der Gruppe wird später im Einzelnen beschrieben.
-
Kommunikationszyklus-Berechnungsmittel 104 der Masterstation 100 beziehen sich auf die Zyklustabelle 103, um einen Übertragungszyklus eines Eingabeanforderungsdatenblocks zu bestimmen und die Übertragungszyklusinformationen des Eingabeanforderungsdatenblocks zu Eingabeanforderungs-Übertragungsmitteln 106 zu senden. Das Bestimmungsverfahren kann jedes Verfahren sein, wie ein Verfahren, das einen kürzesten Zyklus verwendet. Eingabeanforderungs-Planablaufmittel 105 der Masterstation 100 beziehen sich auf die Zyklustabelle 103, um zu bestimmen, welche Informationen eines gemeinschaftlichen Speichers oder welche Gruppe von dem Eingabeanforderungsdatenblock angefordert werden, und zum Senden der Informationen des gemeinschaftlichen Speichers und der Zyklusgruppeninformationen zu den Eingabeanforderungs-Übertragungsmitteln 106. Das Bestimmungsverfahren kann jedes Verfahren, wie ein Verfahren, das die Verkehrsbelegungsrate des Netzwerks 102 konstant macht, und ein Verfahren, das späteste zeitliche Werte mit einer Operationszeit der Anwendung 103 verwendet, sein.
-
Die Eingabeanforderungs-Übertragungsmittel 106 der Masterstation 100 erzeugen einen Eingabeanforderungsdatenblock anhand der durch die Kommunikationszyklus-Einstellmittel 104 eingestellten Kommunikationszyklusinformationen und der Informationen des gemeinschaftlichen Speichers oder der Gruppeninformationen, die durch die Eingabeanforderungs-Planablaufmittel 105 spezifiziert wurden, um nachfolgend angefordert zu werden, und senden den Eingabeanforderungsdatenblock zu den Kommunikationsmitteln 110. Die Übertragungssteuermittel 107 der Masterstation 100 schauen in der Zyklustabelle 103 nach, um eine Zeit zum Übertragen von Daten des gemeinschaftlichen Speichers 101, der Ausgabesteuerinformationen für die Ausgabevorrichtungen 500 speichert, zu bestimmen und dann einen Übertragungsbefehl zu dem gemeinschaftlichen Speicher 101 für die Ausgabe zu den Kommunikationsmitteln 110 auszugeben.
-
Durch das Netzwerk 200 zu einer Slavestation 300 eines Ausgabebestimmungsortes geben die Kommunikationsmittel 110 den von den Eingabeanforderungs-Übertragungsmitteln 106 gesendeten Eingabeanforderungsdatenblock, den von dem für die Ausgabe verwendeten gemeinschaftlichen Speicher 101 ausgegebenen Datenblock des gemeinschaftlichen Speichers und Bitzuteilungsinformationen, die von dem für die Ausgabe verwendeten gemeinschaftlichen Speicher 101 ausgegeben und durch die Verdichtungsmittel 112 verdichtet wurden, aus. Weiterhin geben die Kommunikationsmittel 110 einen Datenblock des gemeinschaftlichen Speichers, der durch das Netzwerk 200 eingegeben wurde, zu einem eingabeseitigen gemeinschaftlichen Speicher 101 aus und geben einen Ausgabedatenblock aus, der durch die Verdichtungsmittel 312 zu den Wiedergabemitteln hindurchgeht.
-
Als Nächstes erfolgt eine auf 1-2 spezialisierte Erläuterung. Vorrichtungs-Ein-/Ausgabe-Schnittstellenmittel 302 der Slavestation 300 empfangen von einem eingabeseitigen gemeinschaftlichen Speicher 301 ausgegebene Daten, um eine entsprechende Ausgabevorrichtung 500 gemäß den Ausgabedaten zu steuern. Weiterhin empfangen die Vorrichtungs-Ein-/Ausgabe-Schnittstellenmittel 302 periodisch Daten von den Eingabevorrichtungen 400, um die empfangenen Daten zu einem ausgabeseitigen gemeinschaftlichen Speicher 301 auszugeben. Übertragungsdaten-Bestimmungsmittel 303 der Slavestation 300 analysieren die Inhalte des von den Kommunikationsmitteln 310 empfangenen Eingabeanforderungsdatenblocks, um einen Befehl zur Übertragung der Informationen eines gemeinschaftlichen Speichers auszugeben, der von dem Eingabeanforderungsdatenblock aus den für die Ausgabe verwendeten gemeinschaftlichen Speichern 301 der Slavestation 300 spezifiziert wurde, oder zur Übertragung von Daten einer Speicheradresse oder eines Bits entsprechend Eingabedaten der Eingabevorrichtung 400 einer Gruppe mit einem spezifischen Kommunikationszyklus, der durch den Eingabeanforderungsdatenblock spezifiziert ist.
-
2 ist eine Ansicht zum Erläutern gemeinschaftlicher Speicher 101 und 301 nach dem Ausführungsbeispiel 1. Die Masterstation 100 und die Slavestationen 300 teilen sich Informationen darüber, welchem gemeinschaftlichen Speicher und welchem Bit hiervon Informationen von jeder der Eingabevorrichtungen 400 und der Ausgabevorrichtungen 500 zugeteilt sind. Daten von jedem der gemeinschaftlichen Speicher 101 und der gemeinschaftlichen Speicher 301 werden als eine Nutzlast eines einzelnen Übertragungsdatenblocks ohne Änderung seiner Bitzuteilung übertragen und empfangen. Gemeinschaftliche Speicher 101 und 301 existieren mehrfach für jeweils eine Eingabeverwendung und Ausgabeverwendung, und die Masterstation 100 enthält einen für die Eingabe verwendeten gemeinschaftlichen Speicher 101 und einen für die Ausgabe verwendeten gemeinschaftlichen Speicher 101 entsprechend jeder von sämtlichen mit der Masterstation zu verbindenden Slavestationen 300. In der Slavestation 300 sind ein für die Eingabe verwendeter gemeinschaftlicher Speicher 301 und ein für die Ausgabe verwendeter gemeinschaftlicher Speicher 301 enthalten, die Bereichen des für die Eingabe verwendeten gemeinschaftlichen Speichers 101 bzw. für die Ausgabe verwendeten gemeinschaftlichen Speichers 101 der Masterstation entsprechen; jedoch sind zwischen Slavestationen 300 keine für die Eingabe verwendeten gemeinschaftlichen Speicher und für die Ausgabe verwendeten gemeinschaftlichen Speicher gemeinsam vorgesehen.
-
Als Nächstes wird die Definition einer Gruppe erläutert. Eine Gruppe kann definiert werden über Eingabedaten von individuellen Eingabevorrichtungen 400; die Masterstation 100 und die Slavestationen 300 teilen untereinander, zu welcher Gruppe jedes Stück von Eingabedaten gehört. Zusätzlich zum Klassifizieren von Eingabedaten desselben Eingabezyklus in dieselbe Gruppe können Eingabedaten beliebig definiert werden, ungeachtet Knoten, mit denen die Eingabevorrichtungen 400 zu verbinden sind, und der gemeinschaftlichen Speicher, denen die Eingabedaten zuzuteilen sind. Weiterhin kann ein Stück von Eingabedaten zu verschiedenen mehreren Gruppen gehören. Zusätzlich können mehrere Gruppen definiert werden.
-
3 ist ein Erläuterungsdiagramm über Gruppen von Ausgabedaten und ein Verdichtungsverfahren in den Verdichtungsmitteln 112 und 312 bei dem Ausführungsbeispiel 1. In einem Fall, in welchem eine in 3 gezeigte Gruppe B durch einen Eingabeanforderungsdatenblock spezifiziert ist, lassen die Verdichtungsmittel 312 alle Informationen in dem gemeinschaftlichen Speicher 301 der Slavestation 300 mit Ausnahme der Informationen der zu der Gruppe B gehörenden Eingabevorrichtungen 400 weg, um die Informationen als einen Übertragungsdatenblock zu den Kommunikationsmitteln 310 auszugeben, so dass die Kommunikationsmittel 310 den Übertragungsdatenblock zu dem Netzwerk 200 zu der Masterstation 100 ausgeben. In der Masterstation 100, die den Übertragungsdatenblock durch die Kommunikationsmittel 110 empfangen hat, bestimmen die Wiederherstellungsmittel 111 darüber, welcher gemeinschaftliche Speicher und welche Gruppe die Informationen des Übertragungsdatenblocks sind, und ergänzt die weggelassenen Informationen (nicht ersetzten Informationen), um die ursprüngliche Bitzuteilung des gemeinschaftlichen Speichers wiederzugeben. Das heißt, die Masterstation 100 und die Slavestation 300 teilen miteinander Adressen in den gemeinschaftlichen Speichern 101 und 301, die den in der Zyklustabelle 103 verwalteten Gruppeninformationen entsprechen, wodurch eine Verdichtung und Wiederherstellung möglich sind. Weiterhin lassen, wenn die Masterstation 100 Informationen, die die Gruppe B spezifizieren, zu der Slavestation 300 überträgt, die Verdichtungsmittel 112 alle Informationen der Ausgabevorrichtung 500 mit Ausnahme der zu der Gruppe B gehörenden Informationen in dem gemeinschaftlichen Speicher 101 der Masterstation 100 weg, um die Informationen als einen Übertragungsdatenblock zu den Kommunikationsmitteln 110 auszugeben, so dass die Kommunikationsmittel 110 den Übertragungsdatenblock zu dem Netzwerk 200 zu der Slavestation 300 hin ausgeben. In der Slavestation 300, die den Übertragungsdatenblock durch die Kommunikationsmittel 310 empfangen hat, bestimmen die Wiederherstellungsmittel 311 darüber, welcher gemeinschaftliche Speicher und welche Gruppe die Informationen des Übertragungsdatenblocks sind, und ergänzen die weggelassenen Informationen (nicht ersetzten Informationen), um die ursprüngliche Bitzuteilung des gemeinschaftlichen Speichers wiederherzustellen.
-
4 ist ein Diagramm, das einen Eingabeanforderungsdatenblock bei dem Ausführungsbeispiel 1 erläutert. Der Eingabeanforderungsdatenblock enthält einen Vorsatz, einen Datenbereich und einen Nachsatz. Individuelle Bits in dem Datenbereich, die der Nutzlast des Eingabeanforderungsdatenblocks entsprechen, stellen die Anwesenheit oder Abwesenheit von Eingabeanforderungen für die gemeinschaftlichen Speicher 101 oder 301 oder eine Gruppe in den Slavestationen 300 dar. Wenn ein entsprechendes Bit gleich ”1” ist, drückt dies aus, dass eine Eingabeanforderung zu erfolgen hat; wenn es ”0” ist, drückt dies aus, dass eine Eingabeanforderung nicht zu erfolgen hat.
-
5 ist ein Diagramm, das ein Beispiel für eine Eingabeerfassungssequenz bei dem Ausführungsbeispiel 1 erläutert. Eine Kommunikationssequenz wird unter Verwendung von 5 erläutert. Im Schritt S001 erzeugen die Eingabeanforderungs-Übertragungsmittel 106 der Masterstation 100 in einem definierten Zyklus einen Eingabeanforderungsdatenblock, in welchem ”1” für ein Bit entsprechend einem für die Eingabe angeforderten gemeinschaftlichen Speicher oder einer für die Eingabe angeforderte Gruppennummer gesetzt ist, und geben den Eingabeanforderungsdatenblock zu den Kommunikationsmitteln 110 aus; die Kommunikationsmittel 110 führen eine Rundsendung des Eingabeanforderungsdatenblocks zu den individuellen Slavestationen 300 durch das Netzwerk 200 durch. Als ein Beispiel wird angenommen, dass, wie in 2 und 4 gezeigt ist, #21 und #24 in den gemeinschaftlichen Speichern 301 durch einen Eingabeanforderungsdatenblock angefordert werden, aber Gruppen nicht angefordert werden.
-
In der Slavestation 300 erhalten die Vorrichtungs-Ein-/Ausgabe-Schnittstellenmittel 302 periodisch Eingabeinformationen der Eingabevorrichtung 400, um die Eingabeinformationen als Eingabedaten zu einem für die Ausgabe verwendeten gemeinschaftlichen Speicher 301 auszugeben; der für die Ausgabe verwendete gemeinschaftliche Speicher 301 aktualisiert Informationen gemäß den Eingabedaten. Wenn die Slavestation 300 einen Eingabeanforderungsdatenblock empfängt, analysieren die Übertragungsdaten-Bestimmungsmittel 303, welcher gemeinschaftliche Speicher 301 oder welche Gruppe angefordert wird, um einen Befehl zum Übertragen von Informationen des angeforderten gemeinschaftlichen Speichers 301 oder der angeforderten Gruppe auszugeben. In diesem Beispiel speichert, da nur die Informationen des gemeinschaftlichen Speichers 301 zu übertragen sind, der gemeinschaftliche Speicher 301 seine sämtlichen Informationen auf einmal in der Nutzlast eines Datenblocks des gemeinschaftlichen Speichers, um den Datenblock des gemeinschaftlichen Speichers zu übertragen.
-
Im Schritt S003 aktualisiert die Masterstation 100, wenn sie den Datenblock des gemeinschaftlichen Speichers empfängt, den gesamten Inhalt eines entsprechenden gemeinschaftlichen Speichers 101 auf einmal.
-
Als Nächstes wird ein Beispiel erläutert, in welchem eine Eingabeanforderung für eine Gruppe erfolgt. Im Schritt S004 erzeugen die Eingabeanforderungs-Übertragungsmittel 106 der Masterstation 100 in einem definierten Zyklus einen Eingabeanforderungsdatenblock, in welchem ”1” für ein Bit entsprechend einer für die Eingabe angeforderten Gruppennummer gesetzt ist, um den Eingabeanforderungsdatenblock zu den Kommunikationsmitteln 110 auszugeben; die Kommunikationsmittel 110 führen eine Rundsendung des Eingabeanforderungsdatenblocks zu den individuellen Slavestationen 300 über das Netzwerk 200 durch. Als ein Beispiel wird angenommen, dass zu einer Gruppe A gehörende Daten in den gemeinschaftlichen Speichern 301 durch einen in 4 gezeigten Eingabeanforderungsdatenblock angefordert werden.
-
Im Schritt S005 analysieren, wenn jede Slavestation 300 den Eingabeanforderungsdatenblock empfängt, die Übertragungsdaten-Bestimmungsmittel 303, welcher gemeinschaftliche Speicher 301 oder welche Gruppe angefordert wird, um einen Befehl zum Übertragen von Informationen des angeforderten gemeinschaftlichen Speichers 301 oder der angeforderten Gruppe auszugeben. In diesem Beispiel sendet, da nur die Informationen der Gruppe A zu übertragen sind, jeder gemeinschaftliche Speicher 301 in den individuellen Slavestationen 300, der die Gruppe A enthält, seine Speicherdaten zu Verdichtungsmitteln 312. Die Verdichtungsmittel 312 in den individuellen Slavestationen 300 entfernen Daten mit Ausnahme der Gruppe A, um die Daten als einen Ausgabedatenblock zu den Kommunikationsmitteln 310 auszugeben; die Kommunikationsmittel 310 übertragen den Ausgabedatenblock zu der Masterstation 100. In diesem Augenblick können, um anzuzeigen, dass die Übertragung als eine Gruppe durchgeführt wird, der Vorsatz oder die Nutzlast des Übertragungsdatenblocks Informationen enthalten, um als Gruppenübertragung identifiziert zu werden.
-
Im Schritt S006 stellen, wenn die Masterstation 100 einen Übertragungsdatenblock, der nur Informationen der Gruppe A enthält, empfängt, die Wiederherstellungsmittel 111 die ursprüngliche Bitzuteilung des gemeinschaftlichen Speichers 301 wieder her, um den gemeinschaftlichen Speicher 101 zu überschreiben. Wenn die entfernten Bits wiederhergestellt werden, werden Werte vor der Aktualisierung für die entfernten Bits verwendet, um die Werte ungeändert zu halten.
-
Zusätzlich ist auch eine Einstellung möglich, durch die die Masterstation 100 eine Übertragung Gruppe-für-Gruppe zu den Slavestationen 300 durchführt. Bei der Übertragung bestimmen die Übertragungssteuermittel 107, ob eine Übertragung sämtlicher Daten in dem gemeinschaftlichen Speicher 101 durchgeführt oder eine Gruppenübertragung durchgeführt wird, um einen Übertragungsbefehl zu dem gemeinschaftlichen Speicher 101 auszugeben. Ein Übertragungszeitpunkt der Übertragungssteuermittel 107 kann unter Bezugnahme auf die Zyklustabelle 103 beliebig bestimmt werden. Auch in einem Fall, in welchem die Masterstation 100 Daten Gruppe-für-Gruppe überträgt, können, damit die Datenübertragung als Gruppenübertragung erkannt wird, Informationen in dem Vorsatz des Übertragungsdatenblocks oder in dessen Nutzlast hinzugefügt sein; oder der Gruppenname kann, nachdem alle zu einer Gruppe gehörenden Informationen übertragen sind, durch einen anderen Datenblock spezifiziert sein. In einem Fall der Übertragung von Daten Gruppe-für-Gruppe können die Daten rundgesendet werden.
-
Auch werden, wenn eine Übertragung von der Masterstation 100 zu der Slavestation 300 durchgeführt wird, ähnlich dem Fall von der Slavestation 300 zu der Masterstation 100, Informationen über nicht zu übertragende Gruppen eliminiert werden, um einen zu übertragenden Datenblock zu verkürzen, unter Verwendung der Verdichtungsmittel 112 der Masterstation 100 und der Wiederherstellungsmittel 311 der Slavestation 300.
-
Bei der vorstehend beschriebenen Konfiguration kann eine Übertragung selektiv nur für einen gemeinschaftlichen Speicher oder eine Gruppe, deren Aktualisierungszeit gekommen ist, durchgeführt werden, wodurch ein verteiltes Ein-/Ausgabe-System mit verschiedenen Zyklen, die gleichzeitig darin existieren, mit einem kleinen Verkehrsaufkommen gesteuert werden kann. Weiterhin ist es möglich, da die Gruppeninformationen (wie Kommunikationszyklen) der individuellen Eingabevorrichtungen 400 und der individuellen Ausgabevorrichtungen 500 gesetzt wurden, die Zyklen dynamisch zu ändern, um den Verkehr zu steuern. Beispielsweise können, wenn Informationen, die gewöhnlich mit einem kurzen Zyklus erhalten werden, als mit einem langen Kommunikationszyklus erhaltene Gruppeninformationen gesetzt sind, die Informationen mit dem langen Zyklus erhalten werden; umgekehrt können, wenn Informationen, die üblicherweise mit einem langen Zyklus erhalten werden, als mit einem kurzen Kommunikationszyklus erhaltene Gruppeninformationen gesetzt sind, die Informationen konzentriert mit dem kurzen Zyklus erhalten werden.
-
Weiterhin können, da die Eingabeanforderung rundgesendet wird und dann die individuellen Slavestationen 300 Daten der Eingabeanforderungs-Empfangszeit übertragen, Eingabewerte derselben Zeit von den mit verschiedenen Knoten verbundenen Eingabevorrichtungen zu der Masterstation gesammelt werden. Weiterhin werden beispielsweise in einem Fall, in welchem ein Knoten Eingabeinformationen im 5-ms-Zyklus und Eingabeinformationen im 10-ms-Zyklus hat, die sämtlich Bits in einem einzelnen gemeinschaftlichen Speicher 301 zugeteilt werden können, sämtliche Eingabeinformationen im 5-ms-Zyklus so gesetzt, dass sie zu einer selben Gruppe B gehören und Eingabeanforderungen in dem 5-ms-Zyklus übertragen werden; und dann wird der gemeinschaftliche Speicher 301 aufgefordert, in 10-ms-Intervallen zu übertragen, und die Gruppe B wird aufgefordert, bei der nachfolgenden Eingabeanforderung zu übertragen, d. h. in 10-ms-Intervallen, wodurch die Übertragung der Gruppe B mit einem kurzen Datenblock durchgeführt werden kann, in welchem die 10-ms-Zyklus-Informationen durch die Verdichtungsmittel eliminiert sind. Dieser Fall erfordert einen geringeren Verkehr als ein Fall, in welchem 5-ms-Zyklus-Informationen und 10-ms-Zyklus-Informationen verschiedenen gemeinschaftlichen Speichern 301 bitzugeteilt sind, zu denen jeweils eine Eingabeanforderung ausgegeben wird, oder ein Fall, in welchem alle Informationen dem gemeinschaftlichen Speicher 301 bitzugeteilt und im 5-ms-Zyklus ohne Verwendung von Gruppen übertragen werden. Weiterhin kann durch Speichern von Eingabeinformationen verschiedener Zyklen in demselben gemeinschaftlichen Speicher die Anzahl der gemeinschaftlichen Speicher herabgesetzt werden, wodurch die Speicherressourcen verringert werden.
-
Wie vorstehend beschrieben ist, enthält in einem verteilten Ein-/Ausgabe-Steuersystem, in welchem eine Kommunikation zum Aktualisieren durch ein Netzwerk 200 zwischen einem gemeinschaftlichen Speicher 301 einer Slavestation 300, die eine Dateneingabe-/-ausgabeoperation von Eingabevorrichtungen 400 oder zu Ausgabevorrichtungen 500 durchführt, und einem gemeinschaftlichen Speicher 101 einer Masterstation 100, der dem gemeinschaftlichen Speicher 301 der Slavestation 300 entspricht, durchgeführt wird, die Masterstation 100: eine Zyklustabelle 103, die einen Kommunikationszyklus mit Bezug zu jeder der Eingabevorrichtungen 400 oder der Ausgabevorrichtungen 500 und Gruppeninformationen mit Bezug auf die individuellen Eingabevorrichtungen 400 oder Ausgabevorrichtungen 500 definiert; Eingabeanforderungs-Übertragungsmittel 106, die gemäß der Zyklustabelle 103 einen Eingabeanforderungsdatenblock ausgeben, der einen gemeinschaftlichen Speicher 301 und Gruppeninformationen, deren Eingabe gemäß der Zyklustabelle 103 angefordert werden, spezifiziert; Übertragungssteuermittel 107, die in der Zyklustabelle 103 nachschauen, um einen Zeitpunkt zum Übertragen von Daten des Ausgabedaten für die Ausgabevorrichtungen 500 speichernden gemeinschaftlichen Speichers 101 zu bestimmen, und einen Übertragungsbefehl zu dem gemeinschaftlichen Speicher 101 ausgeben; Verdichtungsmittel 112, die, wenn die Ausgabedaten von dem gemeinschaftlichen Speicher 101 auf den Gruppeninformationen basieren, Daten, deren Ausgabe nicht erforderlich ist, eliminieren; und Wiederherstellungsmittel 111, die, wenn von dem Netzwerk 200 eingegebene Daten auf Gruppeninformationen basieren, in den gemeinschaftlichen Speicher 101 einzugebende Daten wiederherstellen; und die Slavestation 300 enthält: Wiederherstellungsmittel 311, die, wenn Ausgabedaten von der Masterstation 100 auf Gruppeninformationen basieren, in den gemeinschaftlichen Speicher 301 einzugebende Daten wiederherstellen; Vorrichtungs-Ein-/Ausgabe-Schnittstellenmittel 302, die eine Dateneingabe-/-ausgabeoperation zwischen den Eingabevorrichtungen 400 oder den Ausgabevorrichtungen 500 und dem gemeinschaftlichen Speicher 301 durchführen; Übertragungsdaten-Bestimmungsmittel 303, die bestimmen, ob der Eingabeanforderungsdatenblock von der Masterstation 100 von dem gemeinschaftlichen Speicher 301 Informationen des gemeinschaftlichen Speichers 301 oder Informationen entsprechend den Gruppeninformationen anfordert, und die einen Befehl zum Übertragen der entsprechenden Daten ausgeben; und Verdichtungsmittel 312, die, wenn Ausgabedaten von dem Speicher 301 auf den Gruppeninformationen basieren, die Ausgabedaten in Daten für die Eingabe in den gemeinschaftlichen Speicher 301 wiederherstellt, so dass die Slavestation weniger Daten überträgt und die Paketgrößen verringert. Dies kann ein verteiltes Ein-/Ausgabe-System realisieren, in welchem die Verkehrszunahme gedrosselt ist und erforderliche Informationen in Echtzeit erhalten werden.
-
Zusätzlich können, wenn Daten mehrerer Gruppen übertragen werden, verschiedene Gruppen, die zu demselben gemeinschaftlichen Speicher gehören, durch einen einzelnen Datenblock übertragen werden und nicht durch mehrere Datenblock, die jeweils für die individuellen Gruppen getrennt sind. Weiterhin können in einem Fall, in welchem Stücke von Informationen, die zu derselben Gruppe gehören, in mehreren gemeinschaftlichen Speichern in derselben Slavestation existieren, die Informationsstücke derselben Gruppe in einen einzelnen Datenblock integriert werden, solange die Informationsstücke nicht die Kapazität der Nutzlast überschreiten. Eine Datenreihenfolge, in der mehrere Gruppen zu integrieren sind, wird gemäß der Reihenfolge ihrer Gruppennummern oder der Nummern der gemeinschaftlichen Speicher bestimmt und ist zwischen der Masterstation und den Slavestationen geteilt.
-
Weiterhin tritt manchmal der Fall auf, dass, wenn mehrere Gruppen gleichzeitig für die Eingabe angefordert und übertragen werden, dieselben mehreren Stücke von Daten in demselben Datenblock übertragen werden. Hier können die Wiederherstellungsmittel eine Fehlerprüfung durchführen, dahingehend, ob von den mehreren Gruppen als dieselben Informationen extrahierte Werte dieselben sind oder nicht.
-
Ausführungsbeispiel 2
-
Es wird eine Konfiguration des Ausführungsbeispiels 2 erläutert, die alle Komponenten des Ausführungsbeispiels 1 enthält und weiterhin in der Slavestation einen Prozess für das Auftreten eines Ereignisses enthält, das eine anforderungsbasierte Kommunikation erfordert.
-
Eine Masterstation 100 hat dieselbe Konfiguration wie die in 1-1 gezeigte und im Ausführungsbeispiel 1 beschriebene; und eine Slavestation 300 hat dieselbe Konfiguration wie die in 1-2 gezeigte und im Ausführungsbeispiel 1 beschriebene, aber enthält weiterhin eine Komponente, die unter Verwendung von 6 erläutert wird. 6 ist eine Konfigurationsansicht der Slavestation 300 des Ausführungsbeispiels 2.
-
Es werden nur die Komponenten, die zu dem Ausführungsbeispiel 1 hinzugefügt sind, erläutert. In einer Ereignistabelle 304 der Slavestation 300 sind registriert: spezifische Muster von Eingabedaten, mit denen die von den Eingabevorrichtungen 400 durch die Vorrichtungs-Ein-/Ausgabe-Schnittstellenmittel 302 eingegebenen Eingabedaten als Ereignisse erfasst werden und die jeweils spezifischen Eingabevorrichtungen 400 zugeteilt sind; und Aufschubzeiten, die sich jeweils von der Erfassung eines spezifischen Ereignisses bis zu dem Zeitpunkt erstrecken, zu dem Daten, die das Ereignis erzeugt haben, zu der Masterstation 100 übertragen sind. Wenn die Eingabedaten von der Eingabevorrichtung 400 erhalten werden, bestimmen Ereignisbestimmungsmittel 305 der Slavestation 300 unter Bezugnahme auf die Ereignistabelle 304, ob ein Ereignis auftritt oder nicht. Wenn das Auftreten eines Ereignisses bestätigt wird, wird eine Aufschubzeit bei einem Ereigniszeitgeber 306 entsprechend einem gemeinschaftlichen Speicher 301 gesetzt, in welchem die Eingabedaten entsprechend dem Ereignis der Eingabevorrichtung 400 zu speichern sind. Wenn die Aufschubzeit gesetzt ist, beginnt der Ereigniszeitgeber 306 der Slavestation 300 mit dem Herabzählen (Abnehmen); wenn null erreicht ist, gibt der Ereigniszeitgeber eine Ausgabeanforderung des entsprechenden gemeinschaftlichen Speichers 301 zu den Übertragungsdaten-Bestimmungsmitteln 303 aus.
-
7 ist ein Diagramm, das Operationen der Slavestation 300 bei dem Ausführungsbeispiel 2 illustriert, wenn ein Ereignis auftritt. Auf der oberen Seite der Figur ist ein Fall illustriert, in welchem ein Ereignis durch Eingabedaten von der Eingabevorrichtung 400 erzeugt wird, und es ist kein Eingabeanforderungsdatenblock von der Masterstation 100 vorhanden, bis die Aufschubzeit verstrichen ist; auf der unteren Seite ist ein Fall illustriert, in welchem ein Ereignis durch Eingabedaten von der Eingabevorrichtung 400 erzeugt wird, und es ist ein Eingabeanforderungsdatenblock von der Masterstation 100 vorhanden, bis die Aufschubzeit verstrichen ist.
-
In dem Fall der oberen Seite wird, wenn die Ereignisbestimmungsmittel 305 unter Bezugnahme auf die Ereignistabelle bestimmen, dass ein Ereignis durch Eingabedaten von der Eingabevorrichtung 400 aufgetreten ist, eine Aufschubzeit bei einem Ereigniszeitgeber 306 entsprechend einem gemeinschaftlichen Speicher 301, in welchem die Eingabedaten entsprechend dem Ereignis der Eingabevorrichtung 400 zu speichern sind, gesetzt. Wenn die Aufschubzeit gesetzt ist, beginnt der Ereigniszeitgeber 306 mit dem Herabzählen (Abnehmen); wenn null erreicht ist, gibt der Ereigniszeitgeber eine Ausgabeanforderung des entsprechenden gemeinschaftlichen Speichers 301 zu den Übertragungsdaten-Bestimmungsmitteln 303 aus. Der gemeinschaftliche Speicher 301 führt eine Übertragung zu der Masterstation 100 unter Verwendung eines Datenblocks des gemeinschaftlichen Speichers oder unter Verwendung eines Übertragungsdatenblocks durch die Verdichtungsmittel 312 durch.
-
In dem Fall der unteren Seite wird, wenn die Ereignisbestimmungsmittel 305 unter Bezugnahme auf die Ereignistabelle 304 bestimmen, dass ein Ereignis durch Eingabedaten von der Eingabevorrichtung 400 aufgetreten ist, eine Aufschubzeit bei einem Ereigniszeitgeber 306 entsprechend einem gemeinschaftlichen Speicher 301, in welchem die Eingabedaten entsprechend dem Ereignis der Eingabevorrichtung 400 zu speichern sind, gesetzt. Wenn die Aufschubzeit bei dem Ereigniszeitgeber 306 gesetzt ist, beginnt der Ereigniszeitgeber das Herabzählen (Abnehmen). Bevor der Ereigniszeitgeber 306 null erreicht, empfangen die Übertragungsdaten-Bestimmungsmittel 303 einen Eingabeanforderungsdatenblock von der Masterstation 100. Dann setzen, wenn ein Befehl zum Übertragen von Daten eines spezifizierten gemeinschaftlichen Speichers 301 oder einer spezifizierten Gruppe enthaltend Ereignisinformationen ausgegeben wird, die Übertragungsdaten-Bestimmungsmittel 303 den Ereigniszeitgeber 306 des spezifizierten gemeinschaftlichen Speichers zurück. Daher werden in einem Fall, in welchem eine Eingabeanforderung eines gemeinschaftlichen Speichers 301 oder einer Gruppe enthaltend die Ereignisinformationen während einer Periode, in der auf das Verstreichen der Aufschubzeit seit dem Auftreten eines Ereignisses gewartet wird, ausgegeben wird, Daten des gemeinschaftlichen Speichers 301 oder der Gruppe enthaltend die Ereignisinformationen zu der Masterstation 100 mit einem Datenblock des gemeinschaftlichen Speichers oder einem Übertragungsdatenblock durch die Verdichtungsmittel 312 übertragen, ohne das Verstreichen der Aufschubzeit abzuwarten, und der Ereigniszeitgeber 306 wird zurückgesetzt.
-
Als Nächstes wird eine Operation in einem Fall erläutert, in welchem mehrere Ereignisse durch Eingabedaten von einer einzelnen Eingabevorrichtung 400 oder mehreren Eingabevorrichtungen erzeugt werden. 8 ist ein Diagramm, das Operationen illustriert, wenn mehrere Ereignisse in der Slavestation 300 nach dem Ausführungsbeispiel 2 auftreten. Auf der oberen Seite ist ein Fall illustriert, in welchem Eingabedaten von der Eingabevorrichtung 400 ein Ereignis 1 erzeugen und, bevor seine Aufschubzeit verstrichen ist, ein Ereignis 2 erzeugt wird, dessen Aufschubzeit nach dem Verstreichen der Aufschubzeit des Ereignisses 1 verstreicht; auf der unteren Seite ist ein Fall illustriert, in welchem Eingabedaten von der Eingabevorrichtung 400 ein Ereignis 1 erzeugen und, bevor dessen Aufschubzeit verstrichen ist, ein Ereignis 2 erzeugt wird, dessen Aufschubzeit vor dem Verstreichen der Aufschubzeit des Ereignisses 1 verstreicht.
-
In dem oberen Fall wird, wenn die Ereignisbestimmungsmittel 305 unter Bezugnahme auf die Ereignistabelle 304 bestimmen, dass ein Ereignis durch Eingabedaten von der Eingabevorrichtung 400 aufgetreten ist, eine Aufschubzeit bei einem Ereigniszeitgeber 306 entsprechend einem gemeinschaftlichen Speicher 301, in welchem die Eingabedaten entsprechend dem Ereignis der Eingabevorrichtung 400 zu speichern sind, gesetzt. Wenn die Aufschubzeit gesetzt ist, beginnt der Ereigniszeitgeber 306 mit dem Herunterzählen (Abnehmen). In einem Fall, in welchem ein anderes Ereignis während einer Warteperiode für das Verstreichen der Aufschubzeit auftritt, vergleichen die Ereignisbestimmungsmittel 305 den Rest der vorher gesetzten Ereignisaufschubzeit mit einer Aufschubzeit für ein neues Ereignis. Wenn die Restzeit des vorher gesetzten Ereignisses kürzer ist, bleiben die verbleibenden Operationen unverändert. Das heißt, wenn der Ereigniszeitgeber 306 null erreicht, gibt der Ereigniszeitgeber eine Ausgabeanforderung des entsprechenden gemeinschaftlichen Speichers 301 zu den Übertragungsdaten-Bestimmungsmitteln 303 aus, und Daten des gemeinschaftlichen Speichers 301 werden zu der Masterstation 100 unter Verwendung eines Datenblocks für den gemeinschaftlichen Speicher oder unter Verwendung eines Übertragungsdatenblocks durch die Verdichtungsmittel 312 übertragen.
-
In dem unteren Fall wird, wenn die Ereignisbestimmungsmittel 305 unter Bezugnahme auf die Ereignistabelle 304 bestimmen, dass ein Ereignis durch Eingabedaten von der Eingabevorrichtung 400 aufgetreten ist, eine Aufschubzeit bei einem Ereigniszeitgeber 306 entsprechend einem gemeinschaftlichen Speicher 301, in dem die Eingabedaten entsprechend dem Ereignis der Eingabevorrichtung 400 zu speichern sind, gesetzt. Wenn die Aufschubzeit gesetzt ist, beginnt der Ereigniszeitgeber 306 das Herabzählen (Abnehmen). In einem Fall, in welchem ein anderes Ereignis während einer Warteperiode für das Verstreichen der Aufschubzeit auftritt, vergleichen die Ereignisbestimmungsmittel 305 den Rest der vorher gesetzten Ereignisaufschubzeit mit einer Aufschubzeit für ein neues Ereignis. Wenn die Aufschubzeit des späteren Ereignisses kürzer ist, setzen die Ereignisbestimmungsmittel 305 wieder den Ereigniszeitgeber 306 auf die Aufschubzeit des späteren Ereignisses. Wenn der Ereigniszeitgeber 306 null erreicht, gibt der Ereigniszeitgeber eine Ausgabeanforderung des entsprechenden gemeinschaftlichen Speichers 301 zu den Übertragungsdaten-Bestimmungsmitteln 303 aus, und Daten des gemeinschaftlichen Speichers 301 werden unter Verwendung eines Datenblocks des gemeinschaftlichen Speichers oder unter Verwendung eines Übertragungsdatenblocks durch die Verdichtungsmittel 312 zu der Masterstation 100 übertragen.
-
Bei der vorbeschriebenen Konfiguration wird, wenn ein neues Ereignis während einer Warteperiode für das Verstreichen einer Ereignisaufschubzeit stattfindet, die verbleibende Aufschubzeit für das vorher aufgetretene Ereignis mit einer Aufschubzeit für das neue Ereignis verglichen; dies kann durch Verwendung eines einzigen Ereigniszeitgebers 306 einen Mechanismus zum Verringern einer Verkehrszunahme, selbst wenn Ereignisse häufig auftreten, realisieren. Weiterhin wird in einem Fall, in welchem Daten eines gemeinschaftlichen Speichers durch eine Eingabeanforderung von der Masterstation während einer Periode des Herunterzählens der Aufschubzeit übertragen werden, der Ereigniszeitgeber 306 zurückgesetzt, so dass die Anforderung-Antwort-Kommunikation, die die Masterstation 100 periodisch durchführt, eingesetzt wird für die Kommunikation auf Verlangen; dies kann ein Verfahren des Verringerns von erhöhtem Verkehr unter Verwendung eines einzigen Ereigniszeitgebers 306 realisieren. Weiterhin sind selbst in einem Fall, in welchem die Slavestation 300 nicht die Ereigniszeitgeber 306 zum Steuern von Kommunikationszyklen hat, Operationen zu den Eingabeanforderungen von der Masterstation 100 regelmäßig während einer Warteperiode für den Ablauf der Aufschubzeit; daher können Kommunikationszyklen bei einem Ereignisauftritt dynamisch geändert werden.
-
Wie vorstehend beschrieben ist, enthält die Slavestation: eine Ereignistabelle, in der spezifische Muster von Eingabedaten, die als Ereignisse für jeweilige Eingabevorrichtungen zugeteilt sind, und Aufschubzeiten von der Erfassung des spezifischen Ereignisses bis zur erfolgten Übertragung von Eingabedaten, die das Ereignis erzeugt haben, zu der Masterstation 100 registriert sind; Ereignisbestimmungsmittel 305, die sich, von Eingabedaten durch die Vorrichtungs-Ein-/Ausgabe-Schnittstellenmittel 302 von den Eingabevorrichtungen 400, auf die Ereignistabelle beziehen, um zu bestimmen, ob ein Ereignis auftritt oder nicht, und hierdurch eine Zeitgeber-Setzoperation bei einem Ereigniszeitgeber 306 entsprechend einem gemeinschaftlichen Speicher 301 durchzuführen; und die Übertragungsdaten-Bestimmungsmittel 303, die einen Befehl zu dem gemeinschaftlichen Speicher 301 ausgeben zum Übertragen zu der Masterstation 100 gemäß einer Eingabeanforderung von der Masterstation 100 oder einer Ausgabeanforderung von dem Ereigniszeitgeber 306, so dass ein verteiltes Ein-/Ausgabe-System realisiert werden kann, bei dem eine Verkehrszunahme gedrosselt wird durch eine kleine Anzahl von Zeitgeberressourcen, selbst in einem System, bei dem eine Kommunikation auf Verlangen zusammen mit periodischer Kommunikation existiert.
-
Ausführungsbeispiel 3
-
In dem Ausführungsbeispiel 3 wird eine Konfiguration erläutert, die zusätzlich zu den Komponenten des Ausführungsbeispiels 1 und des Ausführungsbeispiels 2 einen Prozess enthält, durch den die Masterstation Eingaben von den Slavestationen bei einem nichtganzzahligen Mehrfachen des Eingabeanforderungsdatenblock-Kommunikationszyklus erhält. Eine Masterstation 100 enthält die Komponenten in 1-1 und den Ausführungsbeispielen 1 und 2 und enthält weiterhin eine zusätzliche Komponente; die Konfiguration der Masterstation wird nachfolgend unter Verwendung von 9-1 erläutert. Eine Slavestation 300 enthält die Komponenten in 1-2 und 6 und in den Ausführungsbeispielen 1 und 2 und enthält weiterhin eine zusätzliche Komponente; die Konfiguration der Slavestation wird unter Verwendung von 9-2 erläutert.
-
9-1 ist eine Konfigurationsansicht einer Masterstation 100 eines verteilten Ein-/Ausgabe-Steuersystems nach dem Ausführungsbeispiel 3. 9-2 ist eine Konfigurationsansicht einer Slavestation 300 des verteilten Ein-/Ausgabe-Steuersystems nach dem Ausführungsbeispiel 1. In 9-2 filtern Koordinierungsmittel 313 der Slavestation 300 in den gemeinschaftlichen Speicher 301 eingegebene Daten, der immer durch die Vorrichtungs-Ein-/Ausgabe-Schnittstellenmittel 302 mit Eingaben von den individuellen Eingabevorrichtungen 400 aktualisiert wird, und koordinieren die Zeiten des Reflektierens in dem gemeinschaftlichen Speicher 301, so dass Eingabedaten bei jeweiligen Eingabezyklen, die für die Eingabedaten von den Eingabevorrichtungen 400 definiert werden, übertragen werden. In 9-1 koordinieren Koordinierungsmittel 113 der Masterstation 100 Koordinierungszeiten derart, dass Werte in dem zu aktualisierenden gemeinschaftlichen Speicher 101 synchron mit dem Kommunikationszyklus bei einem definierten Eingabezyklus aktualisiert werden, wenn von der Anwendung 102 hierauf Bezug genommen wird.
-
10 ist ein Erläuterungsdiagramm für Aktualisierungszeiten und Übertragungszeiten in dem gemeinschaftlichen Speicher 301 in der Slavestation 300 nach dem Ausführungsbeispiel 3. In einem Fall, in welchem der Eingabezyklus der Eingabeanforderungsdatenblock-Kommunikationszyklus oder das Mehrfache von diesem ist, überträgt die Slavestation 300 die Informationen des die Eingabedaten speichernden gemeinschaftlichen Speichers 301 zu einer Zeit, zu der eine Eingabeanforderung empfangen wird, wodurch die Informationen des gemeinschaftlichen Speichers 301 gemäß dem Eingabezyklus zu der Masterstation 100 geliefert werden können. Mit Bezug auf einen Fall, in welchem der Eingabezyklus nicht das Mehrfache des Eingabeanforderungsdatenblock-Kommunikationszyklus ist, beispielsweise der Eingabeanforderungsdatenblock-Übertragungszyklus 5 ms und der Eingabezyklus 7 ms beträgt, werden drei Verfahren zum Übertragen der Eingaben zu der Masterstation nachfolgend erläutert.
-
Bei einem ersten Verfahren fordert die Masterstation die Eingabe bei einem Zyklus, der kürzer als der Eingabezyklus ist, an. Koordinierungsmittel 313 der Slavestation 300 führen eine Pufferung zur Aktualisierung von Eingabewerten des gemeinschaftlichen Speichers 301 alle 7 ms durch. Die Eingabeanforderungs-Planablaufmittel 105 der Masterstation 100 fordern und erhalten im 5-ms-Zyklus die Eingabe des gemeinschaftlichen Speichers 101, der im 7-ms-Zyklus speichert. Der gemeinschaftliche Speicher 101 der Masterstation 100 wird im 5-ms-Zyklus aktualisiert, wird aber durch die Koordinierungsmittel 113 der Masterstation 100 vorübergehend gepuffert, wodurch bewirkt wird, dass der gemeinschaftliche Speicher so erscheint, dass er für die Anwendung 102 im 7-ms-Zyklus aktualisiert wird. In einem Fall, in welchem der gemeinschaftliche Speicher, in dem andere 5-ms-Zyklus-Informationen gespeichert sind, einen Randbereich zum Speichern der 7-ms-Informationen hat, können die 7-ms-Informationen verbunden mit den 5-ms-Zyklus-Informationen übertragen werden, wodurch der Verkehr verringert wird.
-
Bei einem zweiten Verfahren fordert die Masterstation die Eingabe mit einem Zyklus an, der länger als die Eingabeanforderung ist; daher werden, wenn mehrere Aktualisierungsoperationen in einem einzelnen Zyklus durchgeführt werden, die Daten der mehreren Aktualisierungsoperationen zusammen übertragen. Die Koordinierungsmittel 313 der Slavestation 300 führen eine Pufferung zum Aktualisieren von Eingabewerten in dem gemeinschaftlichen Speicher 301 nach jeweils 7 ms durch. In jedem der gemeinschaftlichen Speicher 101 und 301 ist ein Bereich zum Speichern von zwei Stücken von 7-ms-Zyklus-Daten reserviert. Die Eingabeanforderungs-Planablaufmittel 105 der Masterstation 100 fordern und erhalten im 10-ms-Zyklus Daten des gemeinschaftlichen Speichers 101, der 7-ms-Zyklus-Eingaben speichert. In einem Fall, in welchem Eingaben zweimal in demselben Zyklus erhalten werden, werden die beiden Stücke von Daten in dem gemeinschaftlichen Speicher gespeichert und übertragen. Der gemeinschaftliche Speicher 101 der Masterstation 100 wird im 10-ms-Zyklus aktualisiert, aber die Aktualisierungsdaten werden durch die Koordinierungsmittel 113 der Masterstation 100 vorübergehend gepuffert, wodurch bewirkt wird, dass der gemeinschaftliche Speicher so erscheint, als ab er für die Anwendung 102 im 7-ms-Zyklus aktualisiert wird. In gleicher Weise wird in einem Fall, in welchem 7-ms-Zyklus-Informationen in den gemeinschaftlichen Speichern zu speichern sind, die im 15-ms-Zyklus oder 20-ms-Zyklus angefordert werden, eine Bereichsreservierung für drei Stücke von Daten oder dergleichen durchgeführt, so dass alle Daten, die innerhalb eines angeforderten Zyklus aktualisiert werden, übertragen werden können.
-
Daher führen die Koordinierungsmittel 123 der Masterstation 100 ähnlich wie bei dem ersten Verfahren vorübergehend eine Pufferung durch, um im 7-ms-Zyklus zu aktualisieren, aber die Übertragung wird im 10-ms-Zyklus durchgeführt; verglichen mit dem ersten Verfahren führt dies zu einer größeren Verzögerung der Operationen von der Eingabeerfassung bis zur Lieferung zu der Anwendung 102, kann aber den Verkehr verringern.
-
In einem dritten Verfahren wird eine dynamische Änderung des Zyklus oder eine selektive Verwendung zwischen dem gemeinschaftlichen Speicher und der Gruppe für die Übertragung zu der Masterstation mit dem nächsten Eingabeanforderungsdatenblock verwendet, nachdem der gemeinschaftliche Speicher aktualisiert wurde. Die Koordinierungsmittel 313 der Slavestation 300 führen eine Pufferung zum Aktualisieren von Eingabewerten in den gemeinschaftlichen Speicher 301 nach jeweils 7 ms durch. Damit die Speicherung der 7-ms-Zyklus-Eingabe in dem gemeinschaftlichen Speicher 101 erhalten wird, fordern die Eingabeanforderungs-Planablaufmittel 105 der Masterstation 100 entweder die Eingabe im 5-ms-Zyklus in einem Fall an, in welchem eine Aktualisierung innerhalb 5 ms erfolgt, nachdem der letzte angeforderte Speicher erhalten wurde, oder fordern die Eingabe im 10-ms-Zyklus in einem Fall an, in welchem eine Aktualisierung nicht innerhalb von 5 ms erfolgt, nachdem der letzte angeforderte Speicher erhalten wurde. Der gemeinschaftliche Speicher 101 der Masterstation 100 wird im 5-ms-Zyklus oder 10-ms-Zyklus gemäß der Anforderung der Eingabeanforderungs-Planablaufmittel 105 aktualisiert, aber die Aktualisierung wird durch die Koordinierungsmittel 113 der Masterstation 100 vorübergehend gepuffert, wodurch bewirkt wird, dass der gemeinschaftliche Speicher so erscheint, als ob er für die Anwendung 102 im 7-ms-Zyklus aktualisiert wird. Daher kann die Übertragung selektiv im 10-ms-Zyklus oder 5-ms-Zyklus durchgeführt werden, wodurch der Verkehr verringert werden kann und die Verzögerungszeit im Vergleich zu der Übertragung von nur im 5-ms-Zyklus unverändert bleibt.
-
Wie vorstehend beschrieben ist, sind die Masterstation 100 und die Slavestation 300 mit den Zykluskoordinierungsmitteln 113 und 313 versehen. Selbst wenn Eingabedaten, die angefordert werden, um mit einem Nichtmehrfachen des Kommunikationszyklus eingegeben zu werden, übertragen werden, oder wenn Eingabedaten, die in einem exakten Zyklus erhalten werden, zu der Masterstation in einem verschiedenen Übertragungszyklus übertragen werden, führen die Koordinierungsmittel 113 und 313 eine Pufferung durch, wenn die Übertragung zu der Anwendung 102 stattfindet, so dass der exakte Zyklus wiedergegeben werden kann, wodurch ein verteiltes Ein-/Ausgabe-System realisiert werden kann, in welchem die Eingabedaten gemäß dem Eingabezyklus zu der Anwendung 102 geliefert werden.
-
Gewerbliche Anwendbarkeit
-
Wie vorstehend beschrieben ist, sind das verteilte Ein-/Ausgabe-Steuersystem und das Steuerverfahren hierfür gemäß der vorliegenden Erfindung nützlich für ein Kommunikationssystem, in welchem eine Masterstation und eine Slavestation (Multiplexübertragungsvorrichtung), die mit mehreren Ein-/Ausgabe-Vorrichtungen verbunden sind, enthalten sind und dessen Verbindungsnetzwerk in einem Zustand ist, in welchem eine Kommunikation von anderen Stationen stattfindet; und das verteilte Ein-/Ausgabe-Steuersystem und das Steuerverfahren hierfür sind insbesondere geeignet für ein verteiltes Ein-/Ausgabe-Steuersystem, das mit Kommunikationszyklen arbeitet, um das Kommunikationsband zu unterdrücken.
-
Bezugszeichenliste
-
- 100
- Masterstation
- 101
- gemeinschaftlicher Speicher
- 102
- Anwendung
- 103
- Zyklustabelle
- 104
- Kommunikationszyklus-Berechnungsmittel
- 105
- Eingabeanforderungs-Planablaufmittel
- 106
- Eingabeanforderungs-Übertragungsmittel
- 107
- Übertragungssteuermittel
- 110
- Kommunikationsmittel
- 111
- Wiederherstellungsmittel
- 112
- Verdichtungsmittel
- 113
- Koordinierungsmittel
- 200
- Netzwerk
- 300
- Slavestation
- 301
- gemeinschaftlicher Speicher
- 302
- Vorrichtungs-Ein-/Ausgabe-Schnittstellenmittel
- 303
- Übertragungsdaten-Bestimmungsmittel
- 304
- Ereignistabelle
- 305
- Ereignisbestimmungsmittel
- 306
- Ereigniszeitgeber
- 310
- Kommunikationsmittel
- 311
- Wiederherstellungsmittel
- 312
- Verdichtungsmittel
- 313
- Koordinierungsmittel
- 400
- Eingabevorrichtung
- 500
- Ausgabevorrichtung