-
Die vorliegende Erfindung betrifft Kopplungseinrichtungen, ein System mit einer Kopplungseinrichtung und ein Verfahren zur Anwendung in einem System mit einer Kopplungseinrichtung.
-
In den bisher allgemein bekannten, speicherprogrammierbaren Steuerungen (SPS), aber auch in vielen anderen Applikationen, werden häufig Datenleitungen zur Kommunikation zwischen separaten Geräteeinrichtungen als Datenbusse implementiert, die eine Daisy-Chain-Konfiguration aufweisen. Ein Daisy-Chain-Bus wird durch das Verbinden eines Sendeausgangs von einer Einrichtung zu einem Empfangseingang von einer nachfolgenden Einrichtung bereitgestellt. Die sich ergebende Kette wird von einem Master gesteuert, der Steuersignale zum Verschieben der Daten und für deren zeitliche Taktabstimmung generiert.
-
Dieser Daisy-Chain-Aufbau ist besonders zum Datenaustausch über eine serielle Datenbusschnittstelle (SPI) geeignet, die Standard in einer synchronen, seriellen Datenübertragungsleitung ist. Die Einrichtungen kommunizieren in einem Master-Slave-Modus, wobei der Master die Datenrahmen initiiert. In dieser Beschreibung besteht ein Datenrahmen aus einer Reihe von Datenpaketen, wobei der Beginn eines Rahmens durch ein Aktivieren eines Slave-Auswahlsignals angezeigt und das Ende des Rahmens durch ein Deaktivieren des Slave-Auswahlsignals indiziert wird. Bei einer unabhängigen SPI-Slave-Konfiguration können multiple Slave-Einheiten über individuelle Slave-Selektionsleitungen für jeden einzelnen Slave korrespondieren.
-
Im Gegensatz zur unabhängigen SPI-Slave-Konfiguration stellt die Daisy-Chain-Konfiguration nur eine einzige Slave-Selektionsleitung für alle Slave-Einheiten bereit. Hierbei können die Übertragungsdaten während eines ersten Taktimpulsaufbaus gesendet werden, und während eines zweiten Taktimpulsaufbaus werden die empfangenen Daten zum nächsten Element in der Daisy-Chain weitergeleitet. Demzufolge ist der SPI-Port eines jeden Slaves – während eines zweiten Taktimpulsaufbaus – zum Versenden einer exakten Reproduktion von Daten ausgelegt, die er während des ersten Taktimpulsaufbaus erhalten hat. Daher kann die ganze Kette als ein SPI-Kommunikationsschieberegister betrachtet werden.
-
1 zeigt ein Beispiel für eine typische Daisy-Chain-Struktur auf Basis einer seriellen Datenbusschnittstelle [SPI]. Dieser strukturierte Aufbau ist rein exemplarisch dargestellt, insbesondere sind der Verbindungsaufbau und die Anzahl der Slaves willkürlich gewählt. Es sind zudem davon abweichende Verbindungsaufbauten und eine andere Anzahl von Slaves machbar.
-
Der SPI-Master 110 umfasst einen Sendepuffer 110a mit einem Datenausgang (DO), einen Empfangspuffer 110b mit einem Dateneingang (DI) und einen Baudraten-Generator (Erzeuger unterschiedlicher Taktsignale für periphere Geräte) 110c zum Generieren eines Slave-Auswahlsignals (SLS = Slave Select Signal bzw. Auswahlsignal der Zeichengabestrecke) und eines Schiebetaktsignals (SCLK = Shift Clock Signal). Ein erster SPI-Slave 121 weist einen Sendepuffer 121a mit einem Datenausgang (DO) auf, einen Empfangspuffer 121b mit einem Dateneingang (DI) und einem sogenannten Slave-Funktionsblock 121c, welcher die Aktual-Funktion des ersten Slaves 121 indiziert. Ein zweiter SPI-Slave 122 umfasst einen Sendepuffer 122a mit einem Datenausgang (DO), einen Empfangspuffer 122b mit einem Dateneingang (DI) und einem so genannten Slave-Funktionsblock 122c, welcher die Aktual-Funktion des zweiten Slaves 122 anzeigt. Ein dritter SPI-Slave 123 weist einen Sendepuffer 123a mit einem Datenausgang (DO) auf, einen Empfangspuffer 123b mit einem Dateneingang (DI) und einem so genannten Slave-Funktionsblock 123c, welcher die Aktual-Funktion des dritten Slaves 123 indiziert.
-
Der Datenausgang des Masters 110 wird mit dem Dateneingang des ersten Slaves 121 über eine Leitung 101 verbunden; der Datenausgang des ersten Slaves 121 ist dann mit dem Dateneingang des zweiten Slaves über die Leitung 102 verbunden; der Datenausgang des zweiten Slaves ist mit dem Dateneingang des dritten Slaves 123 über die Leitung 103 verbunden; und der Datenausgang des dritten Slaves 123 ist mit dem Dateneingang des Masters über die Leitung 104 verbunden. Der erste (121), der zweite (122) und der dritte (123) Slave sind mit dem Baudraten-Generator 110c des Masters 110 über die Leitung 105 zum Empfang eines Slave-Auswahlsignals (SLS) und außerdem über die Leitung 106 zum Empfang eines Schiebetaktsignals (SCLK) verbunden.
-
2 zeigt ein Ausführungsbeispiel, das typisch für einen Datenaustausch zwischen zwei Elementen in einer Daisy-Kette ist, wie sie in 1 veranschaulicht wird. In einer Daisy-Chain-Konfiguration sendet jedes Element seine eigenen Sendedaten zu seinem Datenausgang an den Beginn eines Rahmens und leitet anschließend die bereits bis dahin empfangenen Daten weiter. Somit umfasst ein komplettierter Rahmen eine Reihe von Daten von den einzelnen Elementen, wobei die Daten nacheinander gesendet bzw. konsekutiv übertragen werden. Jedes Element hat seine eigene Zeichenfolge, die übertragen wird. „DS01” zeigt zum Beispiel die Zeichenfolge des ersten Slaves 121 usw. an. Nur der Master versendet die eine Datenmenge, die der addierten Zeichenfolgenlänge von allen Slaves entspricht. In 2 sind die Fertigstellungsdaten des Masters für den ersten Slave 121 mit der Zeichenfolge „DM01” usw. angegeben.
-
Die Datenreihenfolge innerhalb eines Rahmens, der in 2 exemplarisch veranschaulicht ist, wird durch die Anordnung der Slaves in der Daisy-Kette bestimmt, wobei das in 2 dargestellte Ausführungsbeispiel auf dem exemplarisch dargestellten Daisy-Chain-Aufbau in 1 basiert. Es sei angemerkt, dass die in dieser Beschreibung verwendete Bezeichnung „Rahmen” den Zeitraum indiziert, in dem das Slave-Auswahlsignal aktiv ist, wobei die Daten an alle Kettenelemente auf einmal gesendet werden.
-
Zunächst empfängt der Master eine Zeichenfolge aus dem Slave, der in der Kette zum Receiver des Masters angrenzend angeordnet ist und in diesem Ausführungsbeispiel der dritte Slave 123 ist, und anschließend die Zeichenfolge aus dem Slave, der in der Kette der nächste ist (wenn der Start von dem Receiver des Masters aus erfolgt), der in diesem Ausführungsbeispiel der zweite Slave 122 usw. ist.
-
Die vom Master an die Slaves gesendete Datenreihenfolge wird in gleicher Weise von der Anordnung der Slaves in der Kette bestimmt: Die Daten für den Slave, der in der Kette zum Transmitter des Masters am weitesten entfernt ist (hier: der dritte Slave) werden zuerst gesendet, dann die Daten für den vorausgehenden Slave in der Kette (hier: der zweite Slave) und zuletzt werden die Daten für den Slave, der zum Transmitter des Masters in der Kette benachbart angeordnet ist (hier: der erste Slave) gesendet.
-
Der Rahmen wird durch den Master initiiert, indem er das Slave-Auswahlsignal aktiviert und das Slave-Auswahlsignal deaktiviert; der Master zeigt damit allen Elementen in der Kette (d. h. den Slaves) an, dass der Rahmen komplett ist und dass die zuletzt empfangenen Daten (d. h. der Inhalt der jeweiligen Empfangspuffer) die Fertigstellungsdaten für das jeweilige Element sind und vom Slave-Funktionsblock kalkuliert werden können.
-
Jeder Slave umfasst einen Empfangspuffer, der die gleiche Größe (d. h. die Zeichenfolgengröße = Anzahl der Bits) aufweist wie dessen eigene Daten in dem Sendepuffer. Die Bitbreite kann differieren, was von der Funktion des jeweiligen Elements abhängig ist. Wenn der Inhalt aus dessen Sendepuffer komplett versendet worden ist – nach dem Start des Rahmes – werden die in der Zwischenzeit empfangenen Daten weitergeleitet. Erst am Ende des Rahmens werden die Daten in dem Empfangspuffer als gültig anerkannt. Bis dahin werden die Daten in dem Empfangspuffer einfach verschoben, d. h. weitergeleitet.
-
Die Aktual-Funktionen der Slave-Einheiten 121, 122 und 123, die jeweils durch die Funktionsblöcke 121c, 122c und 123 repräsentiert werden, empfangen die durch den Master (MS01, MS02, MS03) versendeten Daten, wenn der Rahmen komplettiert ist, und somit können Lesedaten (DS01, DS02, DS03) bereitgestellt werden.
-
Insbesondere bei speicherprogrammierbaren Steuerungsanwendungen (SPS) – aber nicht nur bei diesen – benötigen viele derzeitigen oder zukünftigen Slave-Einheiten – zusätzlich zu den effektiven Eingangs-/Ausgangsfunktionen (wie sie bereits mit Bezug auf die 1 und 2 beschrieben sind), auch Kontroll- und Diagnosefunktionen oder -fähigkeiten. Diese Funktionen laufen parallel zum Normalbetrieb in der Master-Slave-Anordnung, oder sie weisen Energiesparmöglichkeiten auf.
-
Um von den Funktions-Ein- und -Ausgängen aussagefähige Diagnosen zu erhalten, muss eine relativ große Datenmenge an bestimmten Punkten (z. B. beim Bestimmen der Flankensteilheit während des Schaltens) analysiert werden. Die Art der Diagnosen kann zudem variieren, was von der jeweiligen Anwendung abhängig ist.
-
Es ist vorteilhaft, lokale Diagnosefähigkeiten in oder neben dem zu überwachenden Slave bereitzustellen, um damit in der Master-Slave-Anordnung eine störende oder verzögernde Datenkommunikation zu vermeiden. Daher kann eine parallel zum Slave betriebene Diagnoseeinrichtung vorgesehen werden, welche die Eingänge und Ausgänge des Slaves entsprechend den Anwendungserfordernissen überwacht und die Statusinformationen an den Master übermittelt.
-
3 zeigt eine exemplarische Implementierung einer Diagnoseeinrichtung, die parallel zu einem Slave in einer ähnlichen, wie in 1 dargestellten Master-Slave-Anordnung betrieben wird. Lediglich der zweite Slave 222 ist dahingehend modifiziert worden, dass sein Funktionsblock 222c auch eine Diagnosefunktion aufweist, und dass eine Leitung 207 zwischen dem Diagnosefunktionsblock 222c des zweiten Slaves 222 und dem Funktionsblock 223c des dritten Slaves 223 in 3 hinzugefügt worden ist. Aufgrund dessen ist die Diagnoseeinrichtung für den dritten Slave 223 als eine Slave-Einheit implementiert, die innerhalb der Daisy-Kette angeordnet und mit dem zu überwachenden Slave verbunden ist.
-
Da jedoch die Anforderungen für derartige Diagnoseeinrichtungen sehr unterschiedlich sind, hat sich die zu entwickelnde Ausgestaltung von sehr spezifischen Geräten als schwierig erwiesen. Anstelle derer kann die Bereitstellung von entsprechend programmierbaren Geräten, wie beispielsweise von Mikrocontrollern, viel praktischer sein. In diesem Fall ergibt sich aber ein anderes Problem: Obwohl die meisten (billigen) Mikroprozessoren eine serielle Datenbus-Schnittstelle (SPI) aufweisen, sind deren Schnittstellen normalerweise für Daisy-Chain-Konfigurationen nicht ausgelegt, oder es ist eine sehr hohe, interne Taktfrequenz zum Operieren in der Schnittstelle erforderlich.
-
Deshalb besteht zum Beispiel ein Bedarf für eine kostengünstige Kopplungseinrichtung, die zum Einsatz in Daisy-Chain-Konfigurationen (”Daisy-Chain-Fähigkeit”) ausgelegt ist und die ein Koppeln über eine Standard-Schnittstelle des Mikroprozessors ermöglicht. Aus diesen und anderen Gründen besteht ein Bedarf an der vorliegenden Erfindung.
-
In der
US 6,928,501 B2 sind Systeme beschrieben, die mehrere Slaves aufweisen, die so ausgestaltet sind, dass sie mit einem Master entweder in einem Normalbetriebs-Modus, oder einem Daisy-Chain-Modus kommunizieren können.
-
In der
US 5,928,345 A ist ein Bus-Protokoll beschrieben, das eine Kommunikation zwischen Master- und Slave-Knoten ermöglicht.
-
Die Erfindung hat zur Aufgabe, eine neuartige Kopplungseinrichtung, ein neuartiges System mit einer Kopplungseinrichtung, und ein neuartiges Verfahren zur Anwendung in einem System mit einer Kopplungseinrichtung zur Verfügung zu stellen.
-
Sie erreicht dieses und andere Ziele durch die Gegenstände der unabhängigen Ansprüche.
-
Vorteilhafte Weiterbildungen sind in den Unteransprüchen angegeben.
-
Weitere kennzeichnenden Merkmale, Aspekte und Vorteile der vorliegenden Erfindung gehen aus der nachfolgenden, detaillierten Beschreibung der Erfindung unter Bezugnahme auf die zugehörigen Zeichnungen hervor.
-
KURZE BESCHREIBUNG VON DEN VERSCHIEDENEN DARSTELLUNGEN DER ZEICHNUNG/EN
-
Die Begleitzeichnungen sind beigefügt, um ein weitergehendes Verständnis für die vorliegende Erfindung zu erhalten, wobei sie in dieser Patentspezifikation integriert beschrieben sind und zu dieser einen Bestandteil bilden. Die Zeichnungen veranschaulichen Ausführungsformen der vorliegenden Erfindung und zusammen mit der Beschreibung dienen sie zur Erklärung der erfindungsgemäßen Grundsätze. Andere erfindungsgemäße Ausführungsformen und viele der zu erzielenden Vorteile der vorliegenden Erfindung sind leicht zu erkennen, wenn sie unter Zuhilfenahme der nachfolgenden, detaillierten Beschreibung besser verstanden werden.
-
1 zeigt ein Ausführungsbeispiel für eine typische Daisy-Chain-Struktur auf Basis einer seriellen Datenbusschnittstelle [SPI].
-
2 zeigt ein Ausführungsbeispiel für einen typischen Datenaustausch zwischen zwei Elementen in einer Daisy-Kette.
-
3 zeigt eine exemplarische Implementierung einer Diagnoseeinrichtung, die parallel zu einem Slave in einer ähnlichen, wie in 1 dargestellten Master-Slave-Anordnung betrieben wird.
-
4 zeigt eine Kopplungseinrichtung gemäß einer erfindungsgemäßen Ausführungsform, welche in einer exemplarischen Master-Slave-Anordnung implementiert ist, die eine Daisy-Chain-Konfiguration aufweist.
-
5 zeigt eine Kopplungseinrichtung gemäß einer weiteren, erfindungsgemäßen Ausführungsform, welche in einem System mit zwei separaten Master-Slave-Anordnungen implementiert ist, die eine Daisy-Chain-Konfiguration umfassen.
-
6 zeigt einen vereinfachten, schematischen Programmablaufplan, der ein Verfahren gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
-
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
In der nachfolgenden, detaillierten Beschreibung wird auf die begleitenden Zeichnungen Bezug genommen, die einen Bestandteil bilden, und in der anhand von Veranschaulichungen von einzelnen Ausführungsformen die Erfindung so dargestellt wird, wie sie ausgeführt werden kann. Es versteht sich jedoch, dass andere Ausführungsformen angewendet und strukturelle oder sonstige Veränderungen vorgenommen werden können, ohne dass der Schutzumfang der vorliegenden Erfindung aufgegeben wird. Die nachfolgende, detaillierte Beschreibung ist daher keinesfalls einschränkend auszulegen. Der Schutzumfang der vorliegenden Erfindung wird durch die anhängenden Patentansprüche definiert.
-
In den bisher allgemein bekannten, speicherprogrammierbaren Steuerungen (SPS), aber auch in vielen anderen Applikationen, werden häufig Datenleitungen zum Kommunizieren zwischen separaten Geräteeinrichtungen als Datenbusse implementiert, die eine Daisy-Chain-Konfiguration aufweisen. Ein Daisy-Chain-Bus wird durch ein Verbinden eines Sendeausgangs von einer Einrichtung zu einem Empfangseingang von einer nachfolgenden Einrichtung bereitgestellt. Die sich ergebende Kette wird von einem Master gesteuert, der Steuersignale zum Verschieben der Daten und deren zeitliche Taktabstimmung generiert.
-
Dieser Daisy-Chain-Aufbau ist besonders zum Datenaustausch über eine serielle Datenbusschnittstelle (SPI) geeignet, die Standard in einer synchronen, seriellen Datenübertragungsleitung ist. Die Einrichtungen kommunizieren in einem Master-Slave-Modus, wobei der Master die Datenpaketrahmen initiiert. In dieser Beschreibung besteht ein Datenrahmen aus einer Reihe von Datenpaketen, wobei der Beginn eines Rahmens durch ein Aktivieren eines Slave-Auswahlsignals angezeigt wird, wogegen das Ende des Rahmens durch ein Deaktivieren des Slave-Auswahlsignals indiziert wird. In einer unabhängigen SPI-Slave-Konfiguration können multiple Slave-Einheiten mit individuellen Slave-Selektionsleitungen für jeden einzelnen Slave korrespondieren.
-
Im Gegensatz zur unabhängigen SPI-Slave-Konfiguration stellt die Daisy-Chain-Konfiguration nur eine einzige Slave-Selektionsleitung für alle Slave-Einheiten bereit. Hierbei können die Übertragungsdaten während eines ersten Taktimpulsaufbaus gesendet werden, und während eines zweiten Taktimpulsaufbaus werden die empfangenen Daten zum nächsten Element in der Daisy-Kette weitergeleitet. Demzufolge ist der SPI-Port eines jeden Slaves – während des zweiten Taktimpulsaufbaus – zum Versenden von einer exakten Reproduktion der Daten ausgelegt, die er während des ersten Taktimpulsaufbaus erhalten hat. Daher kann die ganze Kette als ein SPI-Kommunikationsschieberegister betrachtet werden.
-
1 zeigt ein Ausführungsbeispiel für eine typische Daisy-Chain-Struktur auf Basis einer seriellen Datenbusschnittstelle [SPI]. Diese Struktur ist rein exemplarisch dargestellt, insbesondere sind der Verbindungsaufbau und die Anzahl der Slaves willkürlich gewählt. Es sind auch abweichende Verbindungsaufbauten und eine andere Anzahl von Slaves machbar.
-
Der SPI-Master 110 umfasst einen Sendepuffer 110a mit einem Datenausgang (DO), einen Empfangspuffer 110b mit einem Dateneingang (DI) und einen Baudraten-Generator 110c zum Generieren eines Slave-Auswahlsignals (SLS) und eines Schiebetaktsignals (SCLK). Ein erster SPI-Slave 121 weist einen Sendepuffer 121a mit einem Datenausgang (DO) auf, einen Empfangspuffer 121b mit einem Dateneingang (DI) und einen so genannten Slave-Funktionsblock 121c, welcher die Aktual-Funktion des ersten Slaves 121 indiziert. Ein zweiter SPI-Slave 122 umfasst einen Sendepuffer 122a mit einem Datenausgang (DO), einen Empfangspuffer 122b mit einem Dateneingang (DI) und einen so genannten Slave-Funktionsblock 122c, welcher die Aktual-Funktion des zweiten Slaves 122 anzeigt. Ein dritter SPI-Slave 123 weist einen Sendepuffer 123a mit einem Datenausgang (DO) auf, einen Empfangspuffer 123b mit einem Dateneingang (DI) und einen so genannten Slave-Funktionsblock 123c, welcher die Aktual-Funktion des dritten Slaves 123 indiziert.
-
Der Datenausgang des Masters 110 ist mit dem Dateneingang des ersten Slaves 121 über eine Leitung 101 verbunden; der Datenausgang des ersten Slaves 121 ist mit dem Dateneingang des zweiten Slaves über die Leitung 102 verbunden; der Datenausgang des zweiten Slaves ist mit dem Dateneingang des dritten Slaves 123 über die Leitung 103 verbunden; und der Datenausgang des dritten Slaves 123 ist mit dem Dateneingang des Masters über die Leitung 104 verbunden. Der erste (121), der zweite (122) und der dritte (123) Slave sind mit dem Baudraten-Generator 110c des Masters 110 über eine Leitung 105 zum Empfang eines Slave-Auswahlsignals (SLS) und außerdem über die Leitung 106 zum Empfang eines Schiebetaktsignals (SCLK) verbunden.
-
2 zeigt ein Ausführungsbeispiel, das typisch für einen Datenaustausch zwischen zwei Elementen in einer Daisy-Kette ist, wie sie in 1 veranschaulicht wird. In einer Daisy-Chain-Konfiguration sendet jedes Element seine eigenen Sendedaten zu seinem Datenausgang an den Beginn eines Rahmens und leitet anschließend die bereits bis dahin empfangenen Daten weiter. Somit umfasst ein kompletter Rahmen eine Reihe von Daten von den einzelnen Elementen, wobei die Daten nacheinander gesendet bzw. konsekutiv übertragen werden. Jedes Element hat seine eigene Zeichenfolge, die übertragen wird. „DS01” zeigt zum Beispiel die Zeichenfolge des ersten Slaves 121 usw. an. Nur der Master versendet die eine Datenmenge, welche der addierten Zeichenfolgenlänge von allen Slaves entspricht. In 2 sind die Fertigstellungsdaten des Masters für den ersten Slave 121 mit der Zeichenfolge „DM01” usw. angegeben.
-
Die Datenreihenfolge innerhalb eines Rahmens, der in 2 exemplarisch veranschaulicht ist, wird durch die Anordnung der Slaves in der Daisy-Kette bestimmt, wobei das in 2 dargestellte Ausführungsbeispiel auf der exemplarisch dargestellten Daisy-Chain-Struktur in 1 basiert. Es sei angemerkt, dass die in dieser Beschreibung verwendete Bezeichnung „Rahmen” den Zeitraum indiziert, in dem das Slave-Auswahlsignal aktiv ist, wobei die Daten an alle Elemente in der Kette auf einmal gesendet werden.
-
Zunächst empfängt der Master eine Zeichenfolge aus dem Slave, der in der Kette zum Receiver des Masters angrenzend angeordnet ist – in diesem Ausführungsbeispiel ist es der dritte Slave 123 – und anschließend die Zeichenfolge aus dem Slave, der in der Kette der nächste ist (wenn der Start von dem Receiver des Masters aus erfolgt), der in diesem Ausführungsbeispiel der zweite Slave 122 usw. ist.
-
Die vom Master an die Slaves gesendete Datenreihenfolge wird in gleicher Weise von der Anordnung der Slaves in der Kette bestimmt: Die Daten für den Slave, der in der Kette zum Transmitter des Masters am weitesten entfernt ist (hierin der dritte Slave) werden zuerst gesendet, dann die Daten für den vorausgehenden Slave in der Kette (hier: der zweite Slave), wogegen die Daten für den Slave, der zum Transmitter des Masters in der Kette benachbart angeordnet ist (hier: der erste Slave) zuletzt gesendet werden.
-
Der Rahmen wird durch den Master initiiert, indem er das Slave-Auswahlsignal aktiviert und das Slave-Auswahlsignal deaktiviert; der Master zeigt damit allen Elementen in der Kette (d. h. den Slaves) an, dass der Rahmen komplettiert ist und die zuletzt empfangenen Daten (d. h. der Inhalt der jeweiligen Empfangspuffer) die Fertigstellungsdaten für das jeweilige Element sind und vom Slave-Funktionsblock kalkuliert werden können.
-
Jeder Slave umfasst einen Empfangspuffer, der die gleiche Größe (d. h. die Zeichenfolgegröße = Anzahl der Bits) aufweist wie dessen eigene Daten in dem Sendepuffer. Die Bitbreite kann differieren, was von der Funktion des jeweiligen Elements abhängig ist. Wenn der Inhalt aus dessen Sendepuffer komplett versendet worden ist – nach dem Start des Rahmes – werden die in der Zwischenzeit empfangenen Daten weitergeleitet. Erst am Ende des Rahmens werden die Daten in dem Empfangspuffer als gültig anerkannt. Erst dann werden die Daten im Empfangspuffer einfach verschoben, d. h. weitergeleitet.
-
Die Aktual-Funktionen der Slaves 121, 122 und 123, die jeweils durch die Funktionsblöcke 121c, 122c und 123 repräsentiert werden, empfangen die durch den Master (MS01, MS02, MS03) versendeten Daten, wenn der Rahmen komplettiert ist und somit können Lesedaten (DS01, DS02, DS03) bereitgestellt werden.
-
Die Anordnung wäre komplexer, wenn an die Slave-Einheiten eine Versorgungsspannung zugeführt werden müsste, die eine andere als die Versorgungsspannung des Masters sein soll, und/oder wenn die Slaves jeweils mit einer unterschiedlichen Energiezufuhr versorgt werden müssten. In so einem Fall müssen die jeweiligen Elemente der Betriebskette galvanisch isoliert werden (oder zumindest elektrisch isoliert). Da es eine Vielzahl von nach dem Stand der Technik bekannte Isolationsmittel gibt, wie beispielsweise optoelektronische, kapazitive oder induktive Koppler, oder einfache Pegelumsetzer, werden diese hierin nicht näher beschrieben.
-
Insbesondere bei speicherprogrammierbaren Steuerungsanwendungen (SPS) – aber nicht nur bei diesen – benötigen viele derzeitigen oder zukünftigen Slave-Einheiten – zusätzlich zu den effektiven Eingangs-/Ausgangsfunktionen (wie sie bereits mit Bezug auf die 1 und 2 beschrieben sind), auch Kontroll- und Diagnosefunktionen oder -fähigkeiten. Diese Funktionen laufen parallel zum Normalbetrieb der Master-Slave-Anordnung oder sie weisen Energiesparmöglichkeiten auf.
-
Um von den Funktions-Ein- und -Ausgängen aussagefähige Diagnosen zu erhalten, muss eine relativ große Datenmenge an bestimmten Punkten (z. B. beim Bestimmen der Flankensteilheit während des Schaltens) analysiert werden. Die Art und Weise von Diagnoseverfahren können zudem variieren, was von der jeweiligen Anwendung abhängig ist.
-
Es ist vorteilhaft, lokale Diagnosefähigkeiten in oder neben dem zu überwachenden Slave bereitzustellen, um in der Master-Slave-Anordnung eine störende oder verzögernde Datenkommunikation zu vermeiden. Daher kann eine parallel zum Slave betriebene Diagnoseeinrichtung vorgesehen werden, welche die Eingänge und Ausgänge des Slaves entsprechend den Anwendungserfordernissen überwacht und die Statusinformationen an den Master übermittelt.
-
3 zeigt eine exemplarisch dargestellte Implementierung einer Diagnoseeinrichtung, die parallel zu einem Slave in einer ähnlichen, wie in 1 dargestellten Master-Slave-Anordnung betrieben wird. Lediglich der zweite Slave 222 ist dahingehend modifiziert worden, dass dessen Funktionsblock 222c eine Diagnosefunktion aufweist. und dass eine Leitung 207 zwischen dem Diagnosefunktionsblock 222c des zweiten Slaves 222 und dem Funktionsblock 223c des dritten Slaves 223 in 3 hinzugefügt worden ist. Daher ist die Diagnoseeinrichtung für den dritten Slave 223 als eine Slave-Einheit implementiert, die innerhalb der Daisy-Kette angeordnet und mit dem zu überwachenden Slave verbunden ist.
-
Da jedoch die Anforderungen für solche Diagnoseeinrichtungen sehr unterschiedlich sind, hat sich die zu entwickelnde Ausgestaltung von sehr spezifischen Geräten als schwierig erwiesen. Anstelle derer ist das Bereitstellen von entsprechend programmierbaren Geräten, wie beispielsweise von Mikrocontrollern, wesentlich praktischer. In diesem Fall ergibt sich aber ein anderes Problem: Obwohl die meisten (billigen) Mikroprozessoren eine serielle Datenbus-Schnittstelle (SPI) aufweisen, sind deren Schnittstellen normalerweise für Daisy-Chain-Konfigurationen nicht ausgelegt oder es ist eine sehr hohe, interne Taktfrequenz zum Operieren in der Schnittstelle erforderlich.
-
Aus diesem und anderen Gründen stellt die vorliegende Erfindung eine Kopplungseinrichtung bereit, die als eine Netzverbindung zwischen der beispielsweise daisy-chain-betriebenen Master-Slave-Anordnung und einer zusätzlichen Mastereinheit, d. h. einem Mikroprozessor, oder einer weiteren Master-Slave-Anordnung fungiert.
-
4 zeigt eine Kopplungseinrichtung gemäß einer erfindungsgemäßen Ausführungsform, welche in einer exemplarischen Master-Slave-Anordnung, die eine Daisy-Chain-Konfiguration aufweist, implementiert ist. Die dargestellte Anordnung umfasst einen ersten Master 410, einen zweiten Master, wie zum Beispiel einen Mikrocontroller 440, einen ersten Slave 421, einen zweiten Slave 423 und eine Kopplungseinrichtung 430, wobei der erste Master 410, der erste 421 und der zweite 423 Slave und die Kopplungseinrichtung eine Verkettung, die so genannte „Daisy-Chain”, bilden.
-
Der erste Master 410 umfasst einen Sendepuffer 410a mit einem Datenausgang (DO), einen Empfangspuffer 410b mit einem Dateneingang (DI) und einen Baudraten-Generator 410c. Der erste und der zweite Slave 421 und 423 weisen jeweils Empfangspuffer 421a und 423a mit speziell zugeordneten Dateneingängen, jeweils Sendepuffer 421b und 423b mit speziell zugeordneten Datenausgängen sowie jeweils Funktionsblöcke 421c und 423c auf. Die Kopplungseinrichtung 430 besitzt einen dritten Slave 431 mit einem Empfangspuffer 431a und einem Sendepuffer 431b sowie einen vierten Slave 432 mit einem Empfangspuffer 432a und einem Sendepuffer 432b. Der Mikrocontroller 440 umfasst einen Diagnosefunktionsblock 440c.
-
Der Datenausgang des ersten Masters 410 ist mit dem Dateneingang des ersten Slaves 421 über eine Leitung 401 verbunden; der Datenausgang des ersten Slaves 421 ist mit dem Dateneingang des dritten Slaves 431 über die Leitung 402 verbunden; der Datenausgang des dritten Slaves 431 ist mit dem Dateneingang des zweiten Slaves 423 über die Leitung 403 verbunden; und der Datenausgang des zweiten Slaves 423 ist mit dem Dateneingang des ersten Masters über die Leitung 404 verbunden. Der erste 421, der zweite 423 und der dritte 431 Slave sind mit dem Baudraten-Generator 410c des ersten Masters 410 über die Leitung 405 zum Empfang eines Slave-Auswahlsignals (SLS) und außerdem über die Leitung 406 zum Empfang eines Schiebetaktsignals (SCLK) verbunden. Innerhalb der Kopplungseinrichtung 430 sind jeweils der Empfangspuffer und der Sendepuffer des dritten Slaves 431 mit jeweils dem Sendepuffer und dem Empfangspuffer des vierten Slaves 432 über die jeweiligen Leitungen 491 und 492 verbunden. Der vierte Slave 432 ist des Weiteren mit dem Mikrocontroller 440 über die Leitungen 495 und 496 zum Empfangen eines weiteren Slave-Auswahlsignals (SLS1) und eines weiteren Schiebetaktsignals (SCLK1) sowie außerdem über die Leitungen 497 und 498 zum Kommunizieren von Daten verbunden. Ferner ist der Diagnosefunktionsblock 440c des Mikrocontrollers 440 mit dem Funktionsblock 423c des zweiten Slaves 423 zum Überwachen des zweiten Slaves 423 verbunden.
-
In dieser Ausführungsform wird die Kopplungseinrichtung 430 von zwei Seiten adressiert bzw. kontaktiert und funktioniert somit auch wie eine Slave-Einheit. Auf der einen Seite wird der dritte Slave 431 vom ersten Master 410 adressiert und kontrolliert und auf der anderen Seite wird der vierte Slave 432 vom zweiten Master, der in dieser Ausführungsform der Mikrocontroller 440 ist, adressiert und kontrolliert. Da der Datenaustausch zwischen den zwei Seiten innerhalb der Kopplungseinrichtung auf Basis von Zeichenfolgen ausgeführt wird, werden die tatsächlichen, seriellen Schnittstellen im Hinblick auf die jeweilige Datentaktung entkoppelt: Die (Daisy Chain) Verkettung mit dem ersten, zweiten und dritten Slave 421, 423 und 431 wird durch die Signale SCLK und SLS des ersten Masters 410 betrieben und getaktet, wogegen der vierte Slave durch die Signale SCLK1 und SLS1 des zweiten Masters, des Mikrocontrollers 440, betrieben und getaktet wird.
-
Somit kann ein Standard-Mikrocontroller mit Masterfunktionalität als Diagnoseeinrichtung eingesetzt werden, der die Kopplungseinrichtung gemäß der vorstehend beschriebenen, erfindungsgemäßen Ausführungsform anwendet. Es ist von Vorteil, dass der Mikrocontroller eine Datenkomprimierung ausführen kann, um für die Übermittlung über den Bus die erforderliche Bandbreite zu reduzieren; es kann zum Beispiel auch nur das Ergebnis der Diagnose über den Bus gesendet werden. Vorausgesetzt, dass eine fixierte Bandbreite vorgegeben ist, kann so eine bessere Diagnose erzielt werden.
-
Des Weiteren kann ein Standard-Mikrocontroller mit Masterfunktionalität auch als Diagnoseeinrichtung eingesetzt werden, um eine höhere Betriebssicherheitsstufe zu erzielen, wobei die Kopplungseinrichtung gemäß der vorstehend beschriebenen, erfindungsgemäßen Ausführungsform zur Anwendung kommt. In diesem Fall funktioniert der Mikrocontroller als zweite unabhängige Geräteeinheit und stellt eine Funktionsredundanz durch ein Generieren und Transferieren der entsprechenden Daten auf eine alternative Art und Weise zur Verfügung. Daher erzeugt ein bestimmter Fehler ein weiteres Fehlermuster, das sehr leicht entdeckt werden kann. Es sei herausgestellt, dass diese Applikation sowohl eine lokale als auch eine zeitliche Unabhängigkeit bietet.
-
In einer bevorzugten Ausführungsform gemäß der Erfindung weist die Kopplungseinrichtung des Weiteren Isolationsmittel zur galvanischen Isolierung des dritten Slaves in Bezug auf den vierten Slave auf. Durch diese Isolationsmittel können der dritte und der vierte Slave mit unterschiedlichen Versorgungsspannungen betrieben werden. Wenn der Mikrocontroller 440 und der erste Master 410 unterschiedliche Versorgungsspannungen aufweisen, werden auch der dritte und der vierte Slave in der Kopplungseinrichtung mit unterschiedlichen Versorgungsspannungen betrieben. Demzufolge können der erste und der zweite Slave in der Kopplungseinrichtung nicht nur asynchron betrieben werden, sondern auch mit verschiedenen Spannungswerten.
-
Da es eine Vielzahl von nach dem Stand der Technik bekannten Isolationsmittel gibt, wie beispielsweise optoelektronische, kapazitive oder induktive Koppler, oder einfache Pegelumsetzer, werden diese hierin nicht näher beschrieben.
-
Eine weitere erfindungsgemäße Ausführungsform kann für Betriebssicherheitsanwendungen vorteilhaft genutzt werden. Im Falle von Betriebssicherheitsanwendungen müssen auch Diagnosedaten erfasst werden, um Fehler im Anfangsstadium zu entdecken. Ein durchführbares Fehlerkontrollverfahren besteht darin, einem externen Master zu ermöglichen, eine Zeichenfolge aus einer zu überwachenden Kette (d. h. in einer Master-Slave-Anordnung) auszulesen. Ferner kann es von Vorteil sein, bestimmte Zeichenfolgen auf eine zweite Kette zu spiegeln, um Informationen über die Funktionstüchtigkeit in der ersten Kette zu erhalten. Des Weiteren kann eine diesbezügliche Kopplung vorgesehen werden, um einen Datenaustausch zwischen zwei Steuereinheiten oder Mastereinheiten zu ermöglichen, die jeweils in einer speziell zugeordneten Slave-Kette operieren.
-
5 zeigt eine Kopplungseinrichtung 530 gemäß einer weiteren, erfindungsgemäßen Ausführungsform, welche in einem System mit zwei separaten Master-Slave-Anordnungen, die eine Daisy-Chain-Konfiguration aufweisen, implementiert ist, um den Datenaustausch zwischen den zwei Ketten zu ermöglichen.
-
Eine erste Kette wird durch einen ersten Master 510, einen ersten Slave 521, einen zweiten Slave 523 und einen dritten Slave 531 gebildet, wogegen eine zweite Kette mit einem zweiten Master 550, einem fünften Slave 561, einem sechsten Slave 563 und einem vierten Slave 532 konzipiert ist. Der dritte 531 und der vierte Slave 532 befinden sich innerhalb der Kopplungseinrichtung 530, welche die erste Kette zur zweiten Kette verbindet, um einen Datenaustausch zwischen zwei Ketten zu ermöglichen. Jeder Slave umfasst einen Empfangspuffer und einen Sendepuffer, wobei der erste, der zweite, der fünfte und der sechste Slave 521, 523, 561 und 563 zusätzlich jeweils einen Funktionsblock 521c, 523c, 561c und 563c aufweisen. Die Kopplungseinrichtung 530 umfasst den dritten und den vierten Slave 531, 532 und einen Datenaustauschblock 533, wobei der dritte und der vierte Slave über den Datenaustauschblock 533 verbunden sind.
-
Ein Datenausgang des ersten Masters 510 ist mit einem Dateneingang des ersten Slaves 521 über eine Leitung 501 verbunden; ein Datenausgang des ersten Slaves 521 ist mit einem Dateneingang des dritten Slaves 531 über die Leitung 502 verbunden; ein Datenausgang des dritten Slaves 531 ist mit einem Dateneingang des zweiten Slaves 523 über die Leitung 503 verbunden, und ein Datenausgang des zweiten Slaves 523 ist mit einem Dateneingang des ersten Masters 510 über die Leitung 504 verbunden. Der erste 521, der zweite 523 und der dritte 531 Slave sind mit dem Baudraten-Generator (BG) des ersten Masters 510 über die Leitung 505 zum Empfang eines Slave-Auswahlsignals (SLS) und außerdem über die Leitung 506 zum Empfang eines Schiebetaktsignals (SCLK) verbunden.
-
Der Datenausgang des zweiten Masters 550 ist mit einem Dateneingang des fünften Slaves 561 über eine Leitung 591 verbunden; ein Datenausgang des fünften Slaves 561 ist mit einem Dateneingang des vierten Slaves 532 über die Leitung 592 verbunden; ein Datenausgang des dritten Slaves 532 ist mit einem Dateneingang des sechsten Slaves 563 über die Leitung 593 verbunden, und ein Datenausgang des sechsten Slaves 563 ist mit einem Dateneingang des zweiten Masters 550 über die Leitung 594 verbunden. Der fünfte 561, der sechste 563 und der vierte 532 Slave sind mit dem Baudraten-Generator (BG) des zweiten Masters 550 über die Leitung 595 zum Empfang eines weiteren Slave-Auswahlsignals (SLS1) und außerdem über die Leitung 596 zum Empfang eines weiteren Schiebetaktsignals (SCLK1) verbunden.
-
Innerhalb der Kopplungseinrichtung 530 sind der Empfangspuffer 531a und der Sendepuffer 531b des dritten Slaves 531 jeweils über die Leitungen 507 und 508 mit dem Datenaustauschblock 533 verbunden, und der Empfangspuffer 532a und der Sendepuffer 532b des vierten Slaves 532 sind jeweils über die Leitungen 597 und 598 mit dem Datenaustauschblock 533 verbunden.
-
In dieser Ausführungsform wird die Kopplungseinrichtung 530 von zwei Seiten adressiert bzw. kontaktiert und funktioniert demzufolge wie eine Slave-Einheit. Auf der einen Seite wird der dritte Slave 531 vom ersten Master 510 adressiert und kontrolliert und auf der anderen Seite wird der vierte Slave 532 vom zweiten Master 550 adressiert und kontrolliert.
-
In einer bevorzugten erfindungsgemäßen Ausführungsform ist der Datenaustauschblock 533 zum Transferieren von Daten nur mit kompletten Zeichenfolgen zwischen dem dritten und dem vierten Slave konfiguriert. Zu diesem Zweck umfasst der Datenaustauschblock 533 eine entsprechende Speicherkonfiguration. Ein Empfangspuffer mit mindestens einer Schnittstelle in der Kopplungseinrichtung umfasst einen Zwischenspeicher, der für Zeichenfolgen dimensioniert ist. Der Inhalt des Empfangspuffers verändert sich ununterbrochen. Sobald eine Zeichenfolge als gültig erkannt ist (entweder aufgrund der Deaktivierung des SLS oder nach einer vorbestimmten Anzahl empfangener Bits), wird der Inhalt des Empfangspuffers zum Zwischenspeicher transferiert. Der Inhalt des Zwischenspeichers ist leicht zugänglich und kann für andere Aufgaben verwendet werden, selbst wenn der Datenverkehr über die Schnittstelle weiter läuft. Mit anderen Worten enthält der Zwischenspeicher einen „Snapshot” [ein selektives Protokollprogramm] des Empfangspuffers für eine gewisse Zeit. Der Inhalt des Zwischenspeichers kann als Quelle für den Sendepuffer der anderen Schnittstelle in der Kopplungseinrichtung dienen. Um die bidirektionale Datenkommunikation über die Kopplungseinrichtung zu ermöglichen, werden mindestens zwei Zwischenspeicher benötigt (einer für jede empfangende Schnittstelle).
-
Der Datenaustauschblock 533 umfasst des Weiteren Isolationsmittel, wie beispielsweise optoelektronische, kapazitive oder induktive Koppler, oder einfache Pegelumsetzer, zur galvanischen Isolierung der einen Kette von der anderen.
-
Infolgedessen können beide Ketten komplett unabhängig und asynchron operieren. Die (Daisy Chain) Verkettung mit dem ersten, zweiten und dritten Slave 521, 523 und 531 wird durch die Signale SCLK und SLS des ersten Masters 510 betrieben und getaktet, wogegen die (Daisy Chain) Verkettung mit dem fünften, sechsten und vierten Slave 561, 563 und 532 durch die Signale SCLK1 und SLS1 des zweiten Masters 550 betrieben und getaktet wird.
-
In einer bevorzugten erfindungsgemäßen Ausführungsform ist der Datenaustauschblock 533 zum Anzeigen oder Anfordern von neuen Daten in den jeweiligen Ketten wie folgt konfiguriert:
- – Identifizieren einer neuen Zeichenfolge für eine Weiterleitung (nicht jeder Rahmen liefert obligatorisch eine neue Zeichenfolge bzw. der Transfer wird nur ausgeführt, wenn es eine Änderung in den Daten gibt), d. h. für eine vereinfachte Abwicklung von Semaphoren zwischen den Ketten.
- – Maskieren von Zeichenfolgen oder Anzeigen eines vorbestimmten Dateninhalts durch Senden einer Unterbrechungsmeldung an einen zugeordneten Master: Eine Kette kann sich zum Beispiel in einem Energiesparmodus befinden und die Weiterleitung eines bestimmten Dateninhalts bewirkt eine Reaktivierungssequenz.
-
In einer besonders bevorzugten Ausführungsform der vorliegenden Erfindung ist der Datenaustauschblock zum Identifizieren einer Zeichenfolge nach einer beliebigen Anzahl von Datenbits konfiguriert. Mit anderen Worten ist der Zeitpunkt zur Bestimmung, an dem eine Zeichenfolge weitergeleitet werden soll, nicht auf das Punktende eines Rahmens begrenzt, sondern diese Bestimmung kann innerhalb eines Rahmens aufgrund einer wählbaren Anzahl von Datenbits anschließend durchgeführt werden.
-
So kann zum Beispiel der zweite Master 550 bestimmte Zeichenfolgen in der Kette, die von dem ersten Master 510 betrieben wird, selektiv auslesen und demzufolge kann er spezifische Funktionen überwachen. Indem er verschiedene Punkte innerhalb des Rahmens selektiert, kann der zweite Master 550 die Slaves „scannen”, die sich zwischen dem Datenausgang des ersten Masters 510 und der Kopplungseinrichtung 530 befinden. Falls die Slaves in der ganzen Kette überwacht werden sollen, wird die Kopplungseinrichtung am Ende der Kette eingerichtet, d. h. vom Datenausgang des ersten Masters 510 am weitesten entfernt angeordnet bzw. neben dem Dateneingang des ersten Masters 510.
-
Die nun vorstehend beschriebene Kopplungseinrichtung kann sehr vorteilhaft eingesetzt werden, wenn sie in einer Kette implementiert wird, die einen Sensor aufweist, der Daten liefert, die sowohl vom ersten 510 als auch vom zweiten Master 550 benötigt werden. Diese Definierungsmöglichkeit des Punktes, an dem die empfangenen Daten als gültig anerkannt werden sollen, eröffnet ein vielfältiges Anwendungspotenzial, da es einen schnellen und effizienten Kommunikationsweg zwischen zwei Master-Einheiten 510 und 550 vorsieht und einem Datenspiegel ähnelt, der die Daten widerspiegelt, die von dem Sensor, der sich in der einen oder in der anderen Kette befindet, erfasst wurden. Somit sind keine zusätzlichen, schnellen Kommunikationswege zwischen zwei Master-Einheiten 510 und 550 erforderlich.
-
6 zeigt einen vereinfachten, schematischen Programmablaufplan, der ein Verfahren gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
-
In Schritt 601 wird eine Kopplungseinrichtung mit einem ersten Slave, einem zweiten Slave und mit mindestens einen Pufferspeicher bereitgestellt.
-
Dann wird in Schritt 603 der erste Slave mit der Vielzahl der Slaves und dem ersten Master in einer Daisy-Chain-Konfiguration verbunden, wogegen der zweite Salve mit dem zweiten Master in Schritt 605 verbunden wird.
-
Schließlich werden in Schritt 607 die von einem der zwei Slaves in der Kopplungseinrichtung empfangenen Daten zwischengespeichert, bevor die Daten über den anderen Slave weitergeleitet werden.
-
Obwohl spezifische Ausführungsformen hierin dargestellt und beschrieben worden sind, wissen die Fachleute auf dem Gebiet, dass diese einzelnen, dargestellten und beschriebenen Ausführungsformen mit einer Vielfalt von alternativen und/oder äquivalenten Implementierungen ersetzt werden können, ohne vom Schutzumfang der vorliegenden Erfindung abzuweichen. Diese Patentanmeldung soll sämtliche Adaptierungen oder Varianten zu den in der Beschreibung erläuterten, spezifischen Ausführungsformen einschließen. Daher ist die vorliegende Erfindung lediglich durch die angeführten Patentansprüche und deren Entsprechungen eingeschränkt.