-
Die Erfindung betrifft einen Koppler für ein Automatisierungssystem.
-
Ein Feldbus ist ein Bussystem, das in einer Anlage Feldgeräte wie Messfühler (Sensoren) und Stellglieder (Aktoren) zwecks Kommunikation mit einem Automatisierungsgerät verbindet. Für die Kommunikation gibt es normierte Protokolle. Es sind viele unterschiedliche Feldbussysteme mit unterschiedlichen Eigenschaften am Markt etabliert. Seit 1999 werden Feldbusse in der Norm IEC 61158 (Digital data communication for measurement and control - Fieldbus for use in industrial control systems) standardisiert. Die aktuelle Generation der Feldbustechnik basiert auf Echtzeit-Ethernet. Bekannte Feldbusse sind beispielsweise Ethernet-/IP, PROFIBUS, PROFINET oder EtherCAT.
-
Aus der
EP 1 590 927 B1 ist ein Koppler für ein Netzwerk mit Ringtopologie und ein Netzwerk (Feldbus) bekannt, das auf Ethernet basiert. Falls sich die Übertragungsphysik des Ethernet-Netzwerkes von dem des ringförmigen Übertragungsweges unterscheidet, ist im Koppler eine Verarbeitungseinrichtung notwendig, um ein Ethernet-Telegramm von der Übertragungsphysik des Ethernet-Netzwerkes auf die des ringförmigen Übertragungsweges umzusetzen. Diese Verarbeitungseinheit ist zwischen der externen Schnittstelle und internen Schnittstelle des Kopplers angeordnet. Weiterhin können von der Verarbeitungseinheit notwendige Änderungen am Ethernet-Telegramm vorgenommen werden, um den Ethernet-Standard für auf dem Übertragungswege ausgegebene modifizierte Ethernet-Telegramme zu garantieren, z.B. durch Vertauschung von Quell- und Zieladresse und Neuberechnung einer Ethernet-Checksumme.
-
Aus der
EP 2109259 A1 ist ein Verfahren zur Prozess-Steuerung bekannt, bei dem zwischen einem zur Übertragung von Ethernet-Telegrammen ausgebildeten Netzwerk (Feldbus) und einem unterlagerten Bussystem über einen Buskoppler Daten ausgetauscht werden. Der Buskoppler ist über eine erste Schnittstelle mit dem Netzwerk und über eine zweite Schnittstelle mit dem unterlagerten Bussystem verbunden. Durch wenigstens einen Busteilnehmer des unterlagerten Bussystems werden Prozessdaten eingelesen und/oder ausgegeben. Das Verfahren hat die Schritte - Empfangen eines Ethernet-Telegramms über die erste Schnittstelle des Buskopplers, - Umsetzen des empfangenen ersten Datentelegramms in ein zweites Datentelegramm, wobei in das zweite Datentelegramm die individuellen Daten für eine Mehrzahl der an das unterlagerte Bussystem angeschlossenen Busteilnehmer aus dem Datenbereich des ersten Datentelegramms ungeändert übernommen und bestimmte, im ersten Datentelegramm enthaltene Daten nicht übernommen werden, und - Ausgeben des internen Datentelegramms über die zweite Schnittstelle des Buskopplers an die Busteilnehmer des unterlagerten Bussystems.
-
Aus der
US 2010/0306457 A1 ist ein Mikrocontroller bekannt, der einen Schreib-Lese-Speicher und einen Controller Area Network (CAN) Controller aufweist. Der Controller Area Network (CAN) Controller weist eine Steuereinheit auf, die eine zusammengesetzte CAN Nachricht empfängt. Die Steuereinheit ist eingerichtet, unter Verwendung der zusammengesetzten CAN Nachricht einen Zwischenspeicherdeskriptortabelleneintrag zu erzeugen und diesen Zwischenspeicherdeskriptortabelleneintrag in dem Schreib-Lese-Speicher zu speichern. Der Zwischenspeicherdeskriptortabelleneintrag umfasst einen Nachrichtenidentifikator und Nutzdaten der CAN Nachricht und Information über einen nachfolgenden Zwischenspeicherdeskriptortabelleneintrag.
-
Aus der
DE 10 2010 020 446 A1 ist ein Automatisierungsgerät mit mindestens einer Feldbusschnittstelle zum Anschluss an einen Feldbus und Übertragen von Datenpaketen mit Prozessdaten über den Feldbus und mit mindestens einer Lokalbusschnittstelle zum Anschluss an einen lokalen Bus und Übertragen von Prozessdaten zwischen an dem lokalen Bus angeschlossenen Feldgeräten und dem Automatisierungsgerät bekannt. Das Automatisierungsgerät hat Mittel zur Umsetzung der vom Feldbus kommenden Datenpakete in einen Datenstrom für den lokalen Bus und zur Umsetzung des vom lokalen Bus an das Automatisierungsgerät gerichteten Datenstroms in Datenpakete für den Feldbus. Das Automatisierungsgerät hat eine Beschleunigungseinheit zur Selektion beschleunigt umzusetzender Prozessdaten und zur gesonderten Umsetzung der selektierten Prozessdaten, die derart eingerichtet ist, dass die selektierten Prozessdaten zeitlich vor im Verbund mit den selektierten Prozessdaten mit übertragenen, nicht selektierten Prozessdaten ausgegeben werden.
-
Der vorliegenden Erfindung liegt die Aufgabe zu Grunde, einen Koppler auszubilden, der möglichst flexibler ist. Diese Aufgabe wird durch die Merkmale des Anspruchs 1 gelöst. Vorteilhafte Weiterbildungen sind Gegenstand von abhängigen Ansprüchen.
-
Demzufolge ist ein Koppler für ein Automatisierungssystem vorgesehen. Das Automatisierungssystem weist beispielsweise eine Leitstelle mit einer SPS (Speicher-Programmierbare Steuerung, Engl. PLC - Programmable Logic Controller) auf. Die SPS ist vorteilhafterweise mittels eines Feldbusses mit einer Vielzahl von Geräten zur Steuerung eines Prozesses verbunden. Es können jedoch auch andere Automatisierungssysteme vorgesehen sein. Der Koppler verbindet einen Feldbus mit einem Lokalbus. Hierzu weist der Koppler eine erste Schnittstelle zum Anschluss an den Feldbus auf, zum Empfang eines Feldbus-Telegramms mit Prozessdaten des zu steuernden Prozesses. Vorteilhafterweise ist der Koppler zudem eingerichtet, über die erste Schnittstelle Prozessdaten des Prozesses an andere an den Feldbus angeschlossene Geräte zu senden. Die erste Schnittstelle weist gemäß einer vorteilhaften Ausgestaltung der Erfindung eine Anschlussmechanik (Buchse) und/oder eine erste Schnittstellenschaltung auf.
-
Weiterhin weist der Koppler eine zweite Schnittstelle zum Anschluss an einen Lokalbus auf, zur Übertragung eines Lokalbus-Telegramms auf dem Lokalbus. Vorteilhafterweise ist der Koppler eingerichtet über die zweite Schnittstelle Prozessdaten des Prozesses an zumindest einen an den Lokalbus angeschlossenen Lokalbusteilnehmer zu senden und/oder Prozessdaten von zumindest einem Lokalbusteilnehmer zu empfangen. Vorteilhafterweise ist der Koppler eingerichtet, das Lokalbustelegramm zu erzeugen. Vorteilhafterweise unterscheiden sich der Typ der ersten Schnittstelle und der Typ der zweiten Schnittstelle. Aufgrund der in diesem Fall unterschiedlichen Übertragungsphysik des Feldbusses und des Lokalbusses, ist der Koppler vorzugsweise eingerichtet, das Feldbus-Telegramm von der Übertragungsphysik des Feldbusses auf die Übertragungsphysik des Lokalbusses umzusetzen. Die zweite Schnittstelle weist gemäß einer vorteilhaften Ausgestaltung der Erfindung eine Anschlussmechanik, z.B. in Form von metallischen Kontakten und/oder eine zweite Schnittstellenschaltung auf. Darüber hinaus weist der Koppler in anderen Ausgestaltungen der Erfindung weitere elektrische und/oder mechanische Funktionen auf.
-
Der Koppler weist eine zwischen der ersten Schnittstelle und der zweiten Schnittstelle ausgebildete Schaltung auf. Vorteilhafterweise ist die Schaltung als digitale elektronische Schaltung an die erste Schnittstelle und an die zweite Schnittstelle angeschlossen. Die Schaltung ist dabei zur Durchführung von Funktionen des Kopplers ausgebildet. Die Schaltung ist beispielweise auf einem Schaltungsträger ausgebildet und vorteilhafterweise in einem oder mehreren Halbleiterchips integriert. Dies schließt nicht aus, dass die erste Schnittstelle und/oder die zweite Schnittstelle eine schnittstellenbezogene Schnittstellenschaltung aufweist.
-
Die Schaltung weist eine nicht-getaktete Logik aus einer Anzahl von Hardware-Logikelementen auf. Vorteilhafterweise ist die nicht-getaktete Logik zwischen zwei Schaltungsbereichen einer getakteten Logik der Schaltung ausgebildet. Die nicht-getaktete Logik weist dabei keinen Takteingang auf. Die nicht-getaktete Logik ist vorzugsweise unabhängig von einem Taktsignal eines Taktgenerators der Schaltung. Vorteilhafterweise weist die nicht-getaktete Logik eine Anzahl (1 bis K) von Logik-Eingängen und eine Anzahl (1 bis L) von Logik-Ausgängen auf. Bei einer Änderung von Eingangssignalen an den Logik-Eingängen werden die durch die nicht-getaktete Logik berechneten Ausgangssignale an den Logikausgängen nahezu verzögerungsfrei ausgegeben. Lediglich die Laufzeit von Hardware-Logikelementen erzeugt eine Verzögerung, die jedoch dann nicht wesentlich ist, wenn die Summe der Verzögerungen der Hardware-Logikelemente kleiner als eine Taktperiode eines Taktsignals der Schaltung ist.
-
Die nicht-getaktete Logik ist eingerichtet, die über die erste Schnittstelle empfangenen Prozessdaten zu ändern. Die Änderung der Prozessdaten basiert dabei auf einer Logikfunktion der nicht-getakteten Logik, die durch die Verschaltung der Hardware-Logikelemente der nicht-getakteten Logik definiert ist. Vorteilhafterweise ist die nicht-getaktete Logik eingerichtet, die Änderung innerhalb einer Taktperiode eines Taktsignals der Schaltung durchzuführen. Die Schaltung ist eingerichtet, die geänderten Prozessdaten im Lokalbus-Telegramm auf den Lokalbus über die zweite Schnittstelle auszugeben.
-
Gemäß einer vorteilhaften Weiterbildung weist die nicht-getaktete Logik als Hardware-Logikelement ein UND-Gatter und/oder ein ODER-Gatter und/oder ein Exklusiv-ODER-Gatter und/oder einen Negierer und/oder eine Umsetzungstabelle (LUT - engl. Look Up Table) auf. Der unbestimmte Artikel „ein“ ist dabei im Sinne von „mindestens ein“ zu verstehen, so dass die nicht-getaktete Logik zusätzlich weitere Gatter (UND, ODER etc.) aufweisen kann. Zusätzlich kann die nicht-getaktete Logik auch andere Hardware-Logikelemente aufweisen. Vorteilhafterweise ist die nicht-getaktete Logik jedoch als Gatterlogik ausgebildet.
-
Gemäß einer vorteilhaften Weiterbildung ist die Schaltung eingerichtet, zwischen geänderten Prozessdaten und nicht-geänderten Prozessdaten zur Ausgabe im Lokalbus-Telegramm umzuschalten. Dies ermöglicht, dass nur ein Teil der Prozessdaten geändert wird, ein anderer Teil der Prozessdaten hingegen ungeändert in das Lokalbus-Telegramm übernommen wird. Bevorzugt ist die Schaltung eingerichtet, ein Umschaltsignal zur Umschaltung zu erzeugen.
-
Gemäß einer vorteilhaften Weiterbildung weist die Schaltung ein Speicherelement auf. Der unbestimmte Artikel „ein“ ist dabei im Sinne von „mindestens ein“ zu verstehen, so dass die Schaltung ein Speicherelement oder mehrere Speicherelemente aufweisen kann. Das Speicherelement ist beispielsweise ein RAM-Bereich oder ein Buffer. Vorzugsweise ist das Speicherelement jedoch ein FIFO (FIFO - engl. First In First Out) auf. Vorteilhafterweise ist das Speicherelement als getaktetes Register ausgebildet. Vorteilhafterweise ist ein Ausgang der nicht-getakteten Logik mit einem Eingang des Speicherelements verbunden. Vorteilhafterweise ist die Schaltung eingerichtet, die geänderten Prozessdaten in das Speicherelement zu laden und die im Speicherelement geladenen geänderten Prozessdaten im Lokalbus-Telegramm auszugeben.
-
Gemäß einer vorteilhaften Weiterbildung ist der Ausgang der nicht-getakteten Logik über eine Schaltereinheit, insbesondere einen Multiplexer mit dem Eingang des Speicherelements verbunden. Die Schaltereinheit ist vorzugsweise eingerichtet, zwischen der nicht-getakteten Logik und dem Eingang des Speicherelements umzuschalten, so dass zwischen der Änderung der Prozessdaten und einer NICHT-Änderung der Prozessdaten umgeschaltet wird. Hierdurch ist die Schaltung eingerichtet, einen Teil der Prozessdaten aus einem Feldbus-Telegramm vor der Ausgabe auf dem Lokalbus-Telegramm zu ändern, einen anderen Teil der Prozessdaten aus einem Feldbus-Telegramm hingegen unverändert in das Lokalbus-Telegramm auszugeben.
-
Gemäß einer alternativen Weiterbildung ist ein Ausgang der nicht-getakteten Logik an den Eingang des Speicherelements angeschlossen. In diesem Fall ist zwischen der nicht-getakteten Logik und dem Speicherelement keine Schaltereinheit vorgesehen. Es können nur geänderte Prozessdaten ausgegeben werden. Alternativ ist es möglich, zwei Speicherelemente für geänderte Prozessdaten und nicht geänderte Prozessdaten vorzusehen. Alternativ kann auch ein Speicherelement, beispielweise ein FIFO mit zwei Eingängen für geänderte und nicht-geänderte Prozessdaten vorgesehen sein. Vorzugsweise ist das Speicherelement getaktet.
-
Gemäß einer vorteilhaften Weiterbildung weist die Schaltung ein Register auf. Ein Ausgang des Registers ist an einen Eingang der nicht-getakteten Logik angeschlossen. Vorteilhafterweise ist das Register getaktet, so dass aktuelle Daten am Ausgang des Registers mit einer Taktflanke vorliegen. Vorteilhafterweise weist das Register eine gleiche Bitbreite auf, wie das Speicherelement. Vorzugsweise ist das Register zur Erzeugung eines Steuersignals (Strobe) eingerichtet, das an einen Steuereingang des Speicherelements ausgebbar ist.
-
Gemäß einer vorteilhaften Weiterbildung weist die Schaltung ein weiteres Register auf. Vorteilhafterweise weist die Schaltung eine Schaltereinheit auf. Ein erster Eingang der Schaltereinheit ist mit einem Ausgang des weiteren Registers verbunden. Die Schaltung ist eingerichtet, durch ein Steuersignal an einem Steuereingang der Schaltereinheit zwischen dem Ausgang des weiteren Registers und dem Ausgang der nicht-getakteten Logik umzuschalten. Vorteilhafterweise ist die Schaltung eingerichtet, mittels unterschiedlicher Adressen das Register oder das weitere Register auszuwählen und die empfangenen Prozessdaten zumindest abschnittsweise in das Register oder das weitere Register wahlweise zu schreiben.
-
Gemäß einer vorteilhaften Weiterbildung weist die Schaltung einen M-Bit breiten Parallelbus auf. Beispielsweise weist der Parallelbus eine Breite von 32 Bit auf. Das Register und/oder das weitere Register sind mit dem Parallelbus verbunden. Die Schaltung ist eingerichtet, mittels des Parallelbusses die empfangenen Prozessdaten zumindest abschnittsweise in das Register und/oder das weitere Register zu kopieren.
-
Gemäß einer vorteilhaften Weiterbildung weist die Schaltung einen Controller, insbesondere einen DMA-Controller (DMA - engl. Direct Memory Access) zur Steuerung des Kopierens der Prozessdaten auf. Der DMA-Controller wird auch als Speicherdirektzugriffskontroller bezeichnet. Vorteilhafterweise ist der DMA-Controller zur Adressierung des Registers und/oder des weiteren Registers ausgebildet.
-
Ein weiterer Gegenstand der Erfindung ist ein Automatisierungssystem mit zumindest einem Koppler, wie dieser vorhergehend oder in der Figurenbeschreibung erläutert ist.
-
Ein weiterer Gegenstand der Erfindung ist ein Verfahren zum Betrieb eines Kopplers für ein Automatisierungssystem, mit den Schritten:
- - Empfangen eines Feldbus-Telegramms mit Prozessdaten über eine erste Schnittstelle des Kopplers, wobei die erste Schnittstelle zum Anschluss an einen Feldbus ausgebildet ist;
- - Übertragen eines Lokalbus-Telegramms über eine zweite Schnittstelle des Kopplers, wobei die zweite Schnittstelle zum Anschluss an einen Lokalbus ausgebildet ist;
- - Ändern der über die erste Schnittstelle empfangenen Prozessdaten durch eine nicht-getaktete Logik bestehend aus einer Anzahl von Hardware-Logikelementen, wobei die nicht-getaktete Logik in einer Schaltung zwischen der ersten Schnittstelle und der zweiten Schnittstelle ausgebildet ist, und
- - Ausgeben der geänderten Prozessdaten im Lokalbus-Telegramm durch die Schaltung.
-
Gemäß einer bevorzugten Weiterbildung erfolgen die Schritte des Verfahrens in einer vorbestimmten Reihenfolge. Vorteilhafterweise werden die mit dem Feldbustelegramm empfangenen Prozessdaten nach dem Empfang zunächst geändert, bevor die geänderten Prozessdaten für die Übertragung über den Lokalbus in das Lokalbus-Telegramm ausgegeben werden. Es können dabei noch zusätzlich Schritte als die zuvor Genannten im Verfahren vorgesehen sein.
-
Der Gegenstand der Erfindung ist nicht auf die zuvor erläuterten Weiterbildungen beschränkt. So können die erläuterten Merkmale oder Teilmerkmale auch in anderer Zusammenstellung kombiniert werden. Mögliche Ausgestaltungen der Erfindung sind in der Figurenbeschreibung erläutert. Dabei zeigen
- 1 einen schematischen Blockschaltplan eines Ausführungsbeispiels eines Automatisierungssystems mit einem Koppler;
- 2 ein schematisches Diagramm eines Ausführungsbeispiels mit einem Feldbus-Telegramm und einem Lokalbus-Telegramm;
- 3 einen Ausschnitt eines schematischen Schaltplans eines Ausführungsbeispiels eines Kopplers; und
- 4 einen Ausschnitt eines schematischen Schaltplans eines weiteren Ausführungsbeispiels eines Kopplers.
-
1. zeigt einen schematischen Blockschaltplan eines Automatisierungssystems 1. Das Automatisierungssystem 1 weist einen Feldbus 200 auf, an dem ein Koppler 100 angeschlossen ist. Der Feldbus 200 kann beispielsweise als Ethernet-basierter Feldbus 200, beispielsweise als EtherCAT-Feldbus oder PROFInet-Feldbus ausgebildet sein. Automatisierungsaufgaben mit Echtzeitanwendungen können auch Ethernet-IP - Feldbus 200 erfüllt werden. Als physikalisches Übertragungsmedium kann ein Twisted-Pair-Kabel mit RJ45 Steckern/Buchsen dienen. Für einen geringen Verkabelungsaufwand sind die an den Feldbus 200 angeschlossenen Geräte 210, 100, 220, 230 vorzugsweise in Reihe geschaltet. Der Feldbus 200 kann jedoch auch jede andere geeignete Topologie aufweisen. Der Feldbus 200 kann auch als Netzwerk bezeichnet werden. Der Feldbus 200 ist ausgebildet, Feldbus-Telegramme zu Übertragen für eine Kommunikation von Feldbusteilnehmern 100, 210, 220, 230 untereinander. Im Ausführungsbeispiel der 1 ist eine SPS 210 mit dem Feldbus 200 verbunden, wobei die SPS 210 mit den Knoten 100, 220, 230 im Automatisierungssystem 1 über den Feldbus 200 kommuniziert. Die SPS 210 kann beispielsweise als Leitstelle ausgebildet sein.
-
Im Ausführungsbeispiel der 1 ist ein Koppler 100 dargestellt, der an den Feldbus 200 und an einen Lokalbus 300 angeschlossen ist. Unter einem Lokalbus 300 ist dabei ein Bus zu verstehen, der vom Feldbus 200 getrennt ist. Der Lokalbus 300 weist eine vom Feldbus 200 verschiedene Übertragungsart auf. Beispielsweise unterscheiden sich die auf dem Feldbus 200 und dem Lokalbus 300 verwendeten Protokolle. Ebenfalls können sich die Übertragungsphysik des Feldbusses 200 und die des Lokalbusses 300 unterscheiden. Im Ausführungsbeispiel der 1 kommunizieren die Feldbusgeräte 210, 220, 230 mit den Lokalbus-Teilnehmern 310, 320, 330, 340 ausschließlich über den Koppler 100. Der Koppler 100 kann auch als Buskoppler bezeichnet werden. Die Lokalbus-Teilnehmern 310, 320, 330, 340 können dabei voneinander und vom Koppler 100 örtlich entfernt angeordnet sein. Vorteilhafterweise sind die Lokalbus-Teilnehmer 310, 320, 330, 340 jedoch in unmittelbarer Nähe zum Koppler 100 angeordnet. Bevorzugt weisen die Lokalbus-Teilnehmer 310, 320, 330, 340 eine mechanische Befestigung auf, zur Fixierung aneinander und insbesondere am Koppler 100. So kann eine kompakte Einheit erzeugt werden.
-
Im Ausführungsbeispiel der 1 weisen die Lokalbus-Teilnehmer 310, 320, 330, 340 eine geringe Datenmenge auf, so dass nur wenige Daten geschrieben oder gelesen werden. Daher wird für die Daten der Lokalbus-Teilnehmer 310, 320, 330, 340 ein gemeinsames Feldbus-Telegramm genutzt, der die Lokalbus-Teilnehmer 310, 320, 330, 340 mit Prozessdaten versorgt. Der Koppler 100 weist eine erste Schnittstelle 110 zum Anschluss an den Feldbus 200 auf. Über die erste Schnittstelle 110 ist ein Feldbus-Telegramm mit Prozessdaten des Prozesses empfangbar. Weiterhin weist der Koppler 100 eine zweite Schnittstelle 120 zum Anschluss an den Lokalbus 300 auf. Über die zweite Schnittstelle 120 ist ein Lokalbus-Telegramm 350 übertragbar. Der Koppler 100 wirkt also als Bindeglied zwischen dem Feldbus 200 und dem Lokalbus 300. Im Ausführungsbeispiel der 1 ist der Koppler 300 im Lokalbussystem als Master (Meister) eingerichtet und die anderen Lokalbus-Teilnehmer 310, 320, 330, 340 sind als Slaves (Sklaven) ausgebildet.
-
In der Ausbildung des Ausführungsbeispiels der 1 kann der Feldbus 200 auch als übergeordneter Bus oder überlagerter Bus und der Lokalbus 300 als untergeordneter oder unterlagerter Bus bezeichnet werden. Vorteilhafterweise ist der Lokalbus 300 als logische Ringbusstruktur ausgebildet, wobei ein Lokalbus-Telegramm die Lokalbus-Teilnehmer 310, 320, 330, 340 der Reihe nach in Abwärtsrichtung (Downstream) und/oder in Aufwärtsrichtung (Upstream) durchläuft und anschließend zum Koppler 100 zurückgelangt. Die erste Schnittstelle 110 des Kopplers 100 weist Kontakte im Ausführungsbeispiel der 1, beispielsweise eine Buchse, zum Anschluss an den Feldbus 200 auf. Zudem kann die erste Schnittstelle 110 eine Schnittstellenschaltung (TRX - nicht dargestellt) zur Kommunikation aufweisen. Die Schnittstellenschaltung kann auch als Transceiverschaltung bezeichnet werden. Die zweite Schnittstelle 120 des Kopplers 100 weist Kontakte zum Anschluss an den Lokalbus 300 auf. Zudem weist die zweite Schnittstelle 120 im Ausführungsbeispiel der 1 eine Schnittstellenschaltung mit einer Senderschaltung 121 (TX) zum Senden und mit einer Empfängerschaltung 122 (RX) zum Empfangen von Lokalbus-Telegrammen über den Lokalbus 300 auf.
-
Im Ausführungsbeispiel der 1 ist zwischen der ersten Schnittstelle 110 und der zweiten Schnittstelle 120 eine Schaltung 130 des Kopplers 100 ausgebildet. Die Schaltung 130 ist beispielsweise auf einem Schaltungsträger ausgebildet und kann eine Anzahl von integrierten Schaltkreisen aufweisen. Die Schaltung 130 weist eine Eingangsschaltung 172 auf, die an die erste Schnittstelle 110 angeschlossen ist. Im Ausführungsbeispiel der 1 ist die Eingangsschaltung 172 eingerichtet, Prozessdaten aus einem Feldbus-Telegramm zu extrahieren und zwischen zu speichern. Die Eingangsschaltung 172 ist über einen M-Bit breiten Parallelbus 171 mit einem DMA-Controller 170 und mit Registern 150 verbunden. Der Parallelbus 171 weist beispielsweise eine Bitbreite von 16 Bit oder 32 Bit auf. Ebenfalls kann der Parallelbus 171 an eine Recheneinheit, Prozessor 173 angeschlossen sein. Durch den Prozessor 173 ist eine komplexe Programmsteuerung möglich. Beispielsweise kann der Prozessor 173 den Koppler 100 befähigen als speicherprogrammierbare Steuerung das Automatisierungssystem 1 zu steuern. In diesem Fall wäre keine separate SPS 210 notwendig. Es ist möglich die Schaltung 130 des Kopplers 100 auf einem Halbleiterchip zu integrieren. Beispielsweise kann die Schaltung 130 in einem FPGA oder ASIC ausgebildet sein.
-
Prozessdaten gelangen aus den Registern 150 in eine nicht-getaktete Logik 140 zum Ändern der Prozessdaten. Die Änderung der Prozessdaten erfolgt im Ausführungsbeispiel der 1 innerhalb einer einzigen Taktperiode eines Taktsignals, das durch eine Taktquelle (nicht dargestellt) der Schaltung 130 erzeugt wird. Durch die Änderung der Prozessdaten mittels der nicht-getakteten Logik 140 wird eine Reihe von signifikanten Vorteilen erzielt. So ist durch die nicht-getaktete Logik 140 eine besonders niedrige Latenz erzielbar, die nicht höher ausfällt als bei Kopplern die eine Änderung der Prozessdaten nichtermöglichen, so dass mit der nicht-getakteten Logik 140 eine verbesserte EchtZeit-Funktionalität erzielt wird. Durch die Änderung der Prozessdaten können im Live-Betrieb eine Vielzahl von Funktionen neu hinzugefügt werden, die bisher nur unter Einbeziehung eines Prozessors und einer Berechnung durch ein Software-Programm im Prozessor möglich waren. Beispielweise können im laufenden Betrieb für einen neu hinzugefügten Lokalbusteilnehmer die Prozessdaten zunächst so geändert werden, dass ein Testbetrieb allein dieses neuen hinzugefügten Lokalbusteilnehmers gestartet wird. Dabei werden im laufenden Betrieb alle Funktionen inklusive der Anschlüsse für Ein- und Ausgänge des hinzugefügten Lokalbusteilnehmers getestet, bevor der neu hinzugefügte Lokalbusteilnehmer durch ein anderes Feldbusgerät 210, 220, 230 abgefragt wird oder Ausgänge des neu hinzugefügten Lokalbusteilnehmers durch ein anderes Feldbusgerät 210, 220, 230 geschaltet werden. Weiterhin können auch alle Prozessdaten 353 für das Lokalbus-Telegramm 350 geändert werden, um beispielsweise die EMV-relevante Abstrahlung des Lokalbusses 300 zu reduzieren.
-
Die nicht-getaktete Logik 140 ist mit einem FIFO 160 zum Zwischenspeichern der geänderten Prozessdaten verbunden. Das FIFO 160 ist ausgangsseitig mit einer Ausgangsschaltung 174 verbunden, wobei die Ausgangsschaltung 174 an die zweite Schnittstelle 120 angeschlossen ist. Die Ausgangsschaltung 174 ist zur Erzeugung des Lokalbus-Telegramms eingerichtet. Dabei werden die geänderten Prozessdaten durch die Ausgangsschaltung 174 in das Lokalbus-Telegramm eingefügt. Alternativ zum dargestellten FIFO 160 kann auch ein anderes Speicherelement, wie beispielsweise ein Buffer vorgesehen sein.
-
In 2 ist ein schematisches Diagramm dargestellt, das ein Feldbus-Telegramm 250 und ein Lokalbus-Telegramm 350 schematisch zeigt. Das Feldbus-Telegramm 250 des Ausführungsbeispiels der 2 weist einen Header (Kopf) 251, Prozessdaten 253 und weitere Datenbereiche 252, 254 und einen Trailer 255 auf. Der Trailer 255 kann beispielweise Prüfwerte (CRC) beinhalten. Die empfangenen Prozessdaten 253 sind individuelle Daten für eine Mehrzahl der Lokalbus-Teilnehmer 310, 320, 330, 340.
-
Die Prozessdaten 253 werden dem Feldbus-Telegramm 250 entnommen und durch die schematisch dargestellte nicht-getaktete Logik 140 geändert. Die nicht-getaktete Logik 140 im Ausführungsbeispiel der 2 weist ein UND-Gatter 141 und/oder ein ODER-Gatter 142 und/oder ein Exklusiv-ODER-Gatter 143 und/oder einen Negierer 144 und/oder eine LUT (engl. Look-Up-Table) 145 oder eine beliebige Kombination von mehreren der genannten Hardware-Logikelemente auf. Die aus den Hardware-Logikelementen 141, 142, 143, 144, 145 gebildete Logikfunktion ist dabei von der Komplexität der implementierten Änderung der Prozessdaten abhängig.
-
Die geänderten Prozessdaten 353 werden in das Lokalbus-Telegramm 350 eingefügt. Zur Erzeugung des Lokalbus-Telegramms 350 wird im Ausführungsbeispiel der 2 ein Header 351 und ein Trailer 355 gebildet, zwischen denen die geänderten Prozessdaten 353 eingefügt sind. Der Trailer 355 kann beispielweise Prüfwerte (CRC) beinhalten. Jeder Lokalbus-Teilnehmer 310, 320, 330, 340 ist eingerichtet, die ihm zugeordneten individuellen Daten aus dem Lokalbus-Telegramm 350 zu entnehmen (Summenrahmenprotokoll). Zumindest ein Teil dieser individuellen Daten ist durch die nicht-getaktete Logik geändert. 2 ist dabei eine vereinfachte Darstellung. Dem Fachmann ist bewusst, dass auch deutlich komplexere Lokalbus-Telegramme vorgesehen sein können.
-
In 3 ist ein Ausschnitt eines Schaltplans einer Schaltung 130 des Kopplers 100 schematisch dargestellt. Die Schaltung 130 weist ein Register 152 in dem Speicherbereich 150 auf. Ein Ausgang 156 des Registers 152 ist unmittelbar an einen Eingang 148 der nicht-getakteten Logik 140 angeschlossen. Im Ausführungsbeispiel der 3 ist als besonders einfaches Beispiel die nicht-getaktete Logik 140 als Negierer (Inverter) ausgebildet, so dass jedes am Ausgang 156 des Registers 152 ausgegebene Bit negiert wird. Über den Multiplexer 146 gelangt jedes negierte Bit an einen Eingang 161 eines FIFOs 160. In alternativen Ausführungen der 3 ist eine andere nicht-getaktete Logik 140, beispielsweise mittels LUT und Transmissionsgates vorgesehen, die auch eine komplexere Kombinatorik ermöglichen. Beispielweise kann durch die nicht-getaktete Logik 140 eine Umsortierung von Bits der Prozessdaten erfolgen.
-
Die Schaltung 130 weist ein weiteres Register 151 im Speicherbereich 150 und eine Schaltereinheit 146 auf. Im Ausführungsbeispiel der 3 ist die Schaltereinheit als Multiplexer 146 ausgebildet. Mittels des Multiplexers 146 wird zwischen dem Ausgangssignal am Ausgang 149 der nicht-getakteten Logik 140 und dem Ausgangssignal am weiteren Ausgang 155 des weiteren Registers 151 umgeschaltet. Hierzu ist ein erster Eingang des Multiplexers 146 mit dem weiteren Ausgang 155 des weiteren Registers 151 verbunden. Die Schaltung 130 ist eingerichtet, durch ein Steuersignal ST1 an einem Steuereingang des Multiplexers 146 zwischen dem weiteren Ausgang 155 des weiteren Registers 151 und dem Ausgang 149 der nicht-getakteten Logik 140 umzuschalten. Das Steuersignal ST1 wird beispielweise von den Registern 151 und 152 erzeugt (Strobe-Signal), wenn neue Daten in dem jeweiligen Register 151, 152 vorliegen. Zugleich kann hiermit das FIFO 160 zum Einladen der geänderten bzw. nicht-geänderten Prozessdaten gesteuert werden. Alternativ zum FIFO 160 kann auch ein anderes Speicherelement, wie beispielsweise ein Buffer vorgesehen sein.
-
Die Register 151, 152 sind im Ausführungsbeispiel der 3 mit einem Parallelbus 171 verbunden. Entsprechend sind für jedes Bit des M-Bit breiten Parallelbusses 171 jeweils ein Register 152 und ein weiteres Register 151 vorgesehen. Entsprechend sind bei einem 16-Bit breiten Parallelbus 171 zwei mal 16 Register 151, 152 vorhanden, so dass ein 16-Bit Prozessdatenwort vollständig in ein 16-Bit breites Register eingelesen wird. Das Ausführungsbeispiel der 3 ermöglicht eine besonders einfache Implementierung. So kann im Ausführungsbeispiel der 3 die Steuerung, ob die Prozessdaten geändert werden sollen oder nicht, sehr einfach durch die Adressierung der zugehörigen Register 151, 152 erfolgen, so dass der Controller die Änderung der Prozessdaten einfach steuern kann. Das Ausführungsbeispiel in 3 zeigt eine besonders vorteilhafte Möglichkeit die Änderung bzw. NICHT-Änderung der Prozessdaten einfach über die Adressierung zu steuern. Die Adressierung kann beispielsweise mittels verketteter Listen erfolgen, wobei beispielweise ein Descriptor ein Quelle und ein Ziel und zudem einen Pointer für den nächsten Schritt enthält. Obwohl der Controller, insbesondere der DMA-Controller selbst keine nicht-getaktete Logik für die Änderung der Prozessdaten aufweist, kann der DMA-Controller mit Hilfe dieser Ausbildung in 3 dennoch die Änderung der Prozessdaten steuern. Es kann also ein Standard-DMA-Controller verwendet werden, der für die Änderung der Prozessdaten keine spezielle Ausbildung aufweisen muss und entsprechend einfach ausgebildet sein kann.
-
Alternativ zum Ausführungsbeispiel der 3 ist der Ausgang 149 der nicht-getakteten Logik 140 direkt an dem Eingang 161 des FIFOs 160 angeschlossen. Zudem ist in diesem Fall vorzugsweise der Ausgang 155 des weiteren Registers 151 am FIFO 160 angeschlossen. Die Steuerung des FIFOs 160 erfolgt dabei über zwei Steuereingänge (nicht dargestellt), so dass wahlweise die Daten am Ausgang 149 der nicht-getakteten Logik 140 oder die Daten am Ausgang 155 des weiteren Registers 151 in das FIFO 160 geladen werden können.
-
In 4 ist ein Schaltplanausschnitt einer Schaltung 130 eines Kopplers 100 als weiteres Ausführungsbeispiel gezeigt. Im Ausführungsbeispiel der 4 ist ein Register 152 vorgesehen, dessen Ausgang 156 an einen Eingang 148 der nicht-getakteten Logik 140 angeschlossen ist. Der Ausgang 149 der nicht-getakteten Logik 140 ist an einen Eingang 161 des FIFOs 160 angeschlossen. Die nicht-getaktete Logik 140 weist dabei eine durch das Steuersignal ST2 schaltbare Logikfunktion auf. Das Ausführungsbeispiel der 4 zeigt eine besonders einfache Implementierung, indem die nicht-getaktete Logik 140 ein Exklusiv-ODER-Gatter aufweist. Das Schaltsignal ST2 für die nicht-getaktete Logik 140 wird in einer Ausführungsform durch ein LSB (LSB - engl. Lowest Significant Bit) der Adresse zur Adressierung des Registers 152 gebildet.
-
Bezugszeichenliste
-
- 1
- Automatisierungssystem
- 100
- Koppler, Buskoppler
- 110
- erste Schnittstelle, TRX
- 120
- zweite Schnittstelle
- 121
- TX, Sendeschnittstelle
- 122
- RX, Empfangsschnittstelle
- 130
- elektronische Schaltung
- 140
- nicht-getaktete Logik
- 141, 142, 143, 144, 145
- Hardware-Logikelement
- 146
- Schaltereinheit, Multiplexer
- 148
- Eingang
- 149
- Ausgang
- 150
- Speicherbereich
- 151, 152
- Register
- 153, 154
- Eingang
- 155, 156
- Ausgang
- 160
- FIFO
- 161
- Eingang
- 170
- Speicherdirektzugriff-Controller, DMA-Controller
- 171
- Parallelbus
- 172
- Eingangsschaltung
- 173
- Recheneinheit, Prozessor, CPU
- 174
- Ausgangsschaltung
- 200
- Feldbus, überlagerter Bus, Netzwerk
- 210
- Steuereinheit, SPS, Feldbusmaster
- 220, 230
- Feldbus-Teilnehmer
- 250
- Feldbus-Telegramm
- 251
- Kopf, Header
- 252, 254
- Datenbereich
- 253
- Prozessdaten
- 255
- Trailer
- 300
- Lokalbus, unterlagerter Bus, Ringbus
- 310, 320, 330 , 340
- Lokalbus-Teilnehmer
- 350
- Lokalbus-Telegramm
- 351
- Kopf, Header
- 353
- geänderte Prozessdaten
- 355
- Trailer
- ST1, ST2
- Steuersignal