Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR SECURE COMMUNICATION BETWEEN A MASTER AND A SLAVE OF A BUS SYSTEM
Document Type and Number:
WIPO Patent Application WO/2021/063743
Kind Code:
A1
Abstract:
The invention relates to a method (18) for secure communication between a master (12) and a slave (14) of a bus system (10), wherein a telegram (22) is exchanged 5 between the master (12) and the slave (14). The telegram (22) has a first region (44) and a second region (46), wherein the first region (44) contains a predefined instruction (52). The second region (46) is filled at least in part with a free instruction (56). The invention furthermore relates to a communications system (8) and to a system (2).

Inventors:
PETTERS MAXIMILIAN (DE)
BACHMANN DANIEL (DE)
Application Number:
PCT/EP2020/076392
Publication Date:
April 08, 2021
Filing Date:
September 22, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BAUMUELLER NUERNBERG GMBH (DE)
International Classes:
H04L12/403; G05B19/042; G05B19/418
Foreign References:
DE102014001462A12015-08-06
DE19928517A12001-01-11
Attorney, Agent or Firm:
FDST PATENTANWÄLTE (DE)
Download PDF:
Claims:
Ansprüche

1. Verfahren (18) zur sicheren Kommunikation zwischen einem Master (12) und einem Slave (14) eines Bussystems (10), bei welchem ein Telegramm (22) zwischen dem Master (12) und dem Slave (14) ausgetauscht wird,

- wobei das Telegramm (22) einen ersten Bereich (44) und einen zweiten Bereich (46) aufweist,

- wobei der erste Bereich (44) eine vordefinierte Anweisung (52) enthält, und - wobei der zweite Bereich (46) zumindest teilweise mit einer freien An weisung (56) befüllt ist.

2. Verfahren (18) nach Anspruch 1 , dadurch gekennzeichnet, dass zwischen dem Master (12) und dem Slave (14) mehrere Telegramme

(22) ausgetauscht werden, wobei die freie Anweisung (56) auf die Tele gramme (22) aufgeteilt wird.

3. Verfahren (18) nach Anspruch 2, dadurch gekennzeichnet, dass ein Zähler (58) des zweiten Bereichs (46) in Abhängigkeit der Anzahl der Telegramme (22) eingestellt wird.

4. Verfahren (18) nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass mehrere vordefinierte Anweisungen (52) herangezogen werden.

5. Verfahren (18) nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass in dem Telegramm (22) eine Prüfsumme (18, 48, 50) hinterlegt wird, die zumindest teilweise auf einem zeitlich vorhergehenden Telegramm ba siert.

6. Verfahren (18) nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass als vordefinierte Anweisung (52) eine Aufforderung zum Durchführen einer sicheren Funktion und/oder ein Status hinsichtlich der Durchführung einer sicheren Funktion herangezogen wird.

7. Verfahren (18) nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass als freie Anweisung (56) eine Aufforderung zur Anpassung eines Pa rameters einer sicheren Funktion und/oder eine Abfrage eines Betriebspa rameters herangezogen wird, der aus einer vorbestimmten Menge an Be triebsparametern ausgewählt wird.

8. Verfahren (18) nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass die freie Anweisung (56) durch den Slave (14) verifiziert wird.

9. Kommunikationsanlage (8), die ein einen Master (12) und einen Slave (14) aufweisendes Bussystem (10) umfasst, und die gemäß einem Verfahren (18) nach einem der Ansprüche 1 bis 8 betrieben ist.

10. Anlage (2), insbesondere Industrieanlage, mit einer Kommunikationsanlage (8) nach Anspruch 9.

Description:
Beschreibung

Verfahren zur sicheren Kommunikation zwischen einem Master und einem

Slave eines Bussystems Die Erfindung betrifft ein Verfahren zur sicheren Kommunikation zwischen einem Master und einem Slave eines Bussystems. Hierbei wird ein Telegramm zwischen dem Master und dem Slave ausgetauscht. Die Erfindung betrifft ferner eine Kom munikationsanlage sowie eine Anlage. Industrieanlagen weisen normalerweise eine Anzahl an Aktoren auf, die mittels einer Prozesssteuerung betätigt werden. Hierbei ist meist jedem Aktor eine sepa rate Steuerung zugeordnet, die mittels einer Kommunikationsanlage mit der Pro zesssteuerung verbunden ist, wobei für die Kommunikation üblicherweise ein Feldbus-Protokoll herangezogen wird. Mittels der Prozesssteuerung werden Vor- gaben für den Aktor erstellt, die zu diesem übertragen werden, sodass dieser an hand der Vorgaben betätigt wird. Der Zustand des Aktors wird zu der Prozess steuerung zurück übertragen, sodass mittels dieser eine weitere Anpassung oder Abstimmung auf weitere Aktoren erfolgen kann. Zusätzlich zu der Prozesssteuerung der Aktoren ist üblicherweise auch eine Si cherheitssteuerung vorhanden. Mittels dieser wird sichergestellt, dass bei einer Fehlfunktion oder einer Situation, in der eine Verletzung einer Person oder eine Beschädigung eines Gegenstands möglich ist, der Aktor stillgesetzt wird oder le diglich in einer bestimmten Art und Weise betätigt werden kann. So wird bei- spielsweise bei einer Annäherung einer Person an den Aktor dies anhand des Öffnens einer Schranke oder dergleichen festgestellt, und in diesem Fall der Aktor stillgesetzt. Insbesondere wird hierbei die sichere Funktion „STO“ ausgeführt. Es ist jedoch auch möglich, dass der Aktor weiterhin bewegt wird, üblicherweise mit einer verminderten Geschwindigkeit. Hierbei ist sicherzustellen, dass die Ge schwindigkeit des Aktors einen bestimmten Grenzwert nicht überschreitet.

Damit stets sichergestellt ist, dass die sicheren Funktionen auch tatsächlich akti viert werden, ist üblicherweise ein separates Bussystem gebildet, wobei die Pro zesssteuerung den Master des Bussystems bildet. Der Aktor hingegen entspricht einem Slave des Bussystems. Da die Kommunikation zwischen dem Master und dem Slave sicherheitskritische Aspekte betrifft, ist es erforderlich, dass die Kom munikation zwischen dem Master und dem Slave und das auf diese Weise gebil dete Bussystem einen bestimmten Sicherheitsstandard erfüllt. So muss sicherge stellt sein, dass sämtliche Telegramme, die zwischen Master und dem Slave aus getauscht werden, auch tatsächlich von dem jeweils anderen korrekt empfangen und verarbeitet werden. Hierfür wird zum Beispiel FSoE („Fail Safe over Ethercat“) verwendet. Bei diesem Feldbus-Protokoll weist jedes Telegramm eine bestimmte Prüfsumme oder einen sonstigen Inhalt auf, der auf dem jeweils zeitlich vorherge henden Telegramm basiert. Somit ist sowohl durch den Master als auch dem Sla ve verifizierbar, dass das korrekte Telegramm aktuell bearbeitet wird.

Aufgrund dieses Verfahrens ist jedoch eine Datenaustauschgeschwindigkeit ver ringert. So ist es beispielsweise nicht möglich, dass der Master mehrere Tele gramme nacheinander zu dem Slave verschickt. Vielmehr muss stets zunächst die Antwort des Slaves abgewartet werden, bis ein neues Telegramm zu diesem ver schickt werden kann. Damit dennoch in einem sicherheitskritischen Fall eine Betä tigung des Aktors vergleichsweise schnell erfolgen kann, ist ein Datenbereich je des Telegramms codiert aufgebaut und weist entsprechende Codeblöcke, insbe sondere einzelne Bits, auf. Jedem der Codeblöcke ist eine bestimmte Funktion zugeordnet. Falls somit in einem der Codeblöcke Daten vorhanden sind, also bei spielsweise das jeweilige Bit gesetzt ist und somit den Wert 1 (eins“) aufweist, wird eine diesem Grundblock zugeordnete Funktion bei dem Master bzw. dem Slave durchgeführt. Somit wird lediglich eine vergleichsweise geringe Anzahl von Daten pro Telegramm übertragen. Hierbei ist es jedoch erforderlich, dass vor Inbetrieb nahme der Industrieanlage sowohl in dem Master als auch in dem Slave die kor rekte Kodierung des Datenbereichs hinterlegt ist. Auch ist eine nachträgliche An- derung hiervon nicht mehr möglich. Damit eine entsprechende Änderung durchge führt werden kann, ist es erforderlich, das vollständige Bussystem und somit auch die vollständige Industrieanlage abzuschalten und sowohl den Master als Slave in einem bestimmten Programmiermodus zu versetzen und dort die Kodierung zu verändern.

Der Erfindung liegt die Aufgabe zugrunde, ein besonders geeignetes Verfahren zur sicheren Kommunikation zwischen einem Master und einen Slave eines Bus systems sowie eine besonders geeignete Kommunikationsanlage als auch eine besonders geeignete Anlage anzugeben, wobei insbesondere eine Flexibilität er höht ist, und wobei zweckmäßigerweise ein Betrieb und/oder eine Konfiguration vereinfacht ist.

Hinsichtlich des Verfahrens wird diese Aufgabe durch die Merkmale des Anspru- ches 1, hinsichtlich der Kommunikationsanlage durch die Merkmale des An spruchs 9 und hinsichtlich der Anlage durch die Merkmale des Anspruchs 10 er findungsgemäß gelöst. Vorteilhafte Weiterbildungen und Ausgestaltungen sind Gegenstand der jeweiligen Unteransprüche. Das Verfahren dient der sicheren Kommunikation zwischen einem Master und ei nem Slave eines Bussystems. Das Bussystem erfüllt vorzugsweise einen Feldbus- Standard und wird somit gemäß einem Feldbus-Protokoll betrieben. Das Bussys tem unterstützt geeigneterweise eine sichere Kommunikation und weist somit vor zugsweise entsprechende Erweiterungen auf. Geeigneterweise wird hierbei als Bussystem „Fail Safe over Ethercat“ (FSoE) herangezogen oder alternativ Profi net. Der Master und der Slave sind signaltechnisch miteinander gekoppelt, bei spielsweise mittels Funk oder besonders bevorzugt mittels einer Leitung des Bus systems. Das Verfahren sieht vor, dass ein Telegramm zwischen dem Master und dem Sla ve ausgetauscht wird. Hierbei wird beispielsweise von dem Master das Tele gramm zu dem Slave geschickt. Alternativ hierzu wird beispielsweise das Tele gramm von dem Slave zu dem Master geschickt. Vorzugsweise erfolgt kein eigen- ständiges Erstellen des Telegramms durch den Slave. Vielmehr wird das seitens des Masters zu dem Slave geschickte Telegramm mittels geeigneter Daten durch den Slave befüllt. Das Telegramm weist einen speziellen Aufbau auf und umfasst zweckmäßiger weise eine Kopfzeile und/oder eine Fußzeile, mittels derer ein Beginn bzw. das Ende des Telegramms beschrieben ist. Dazwischen befindet sich vorzugsweise ein Datenbereich. Das Telegramm, insbesondere der Datenbereich, weist einen ersten Bereich und einen zweiten Bereich auf. Somit ist der etwaige Datenbereich in zumindest die beiden Bereiche unterteilt oder weist zusätzlich Bereiche auf. Der erste Bereich ist separat von dem zweiten Bereich und grenzt beispielsweise an diesen an. Der erste Bereich enthält eine vordefinierte Anweisung. Somit ist der erste Bereich codiert. Insbesondere ist der erste Bereich lediglich ein einziger Codeblock und beispielsweise lediglich ein einziges Bit. Zusammenfassend ist, sofern der Codeblock/die vordefinierte Anweisung beispielsweise lediglich binär ist, beispielsweise bei einem gesetzten Bit die vordefinierte Anweisung erfüllt, und bei einem nicht gesetzten Bit ist die vordefinierte Anweisung nicht erfüllt. Somit ist eine vergleichsweise geringe Datenmenge erforderlich. Wenn beispielsweise der erste Bereich mit Daten gefüllt ist, ist die vordefinierte Anweisung erfüllt. Falls der erste Bereich keine Daten enthält, ist insbesondere die vordefinierte Anweisung nicht erfüllt. Mit anderen Worten ist bevorzugt eine binäre Ausgestaltung des ers ten Bereichs gegeben, wobei bei der einen Einstellung die vordefinierte Anwei sung erfüllt und bei der verbleibenden Einstellung des ersten Bereichs die vordefi nierte Anweisung nicht erfüllt ist. Zusammenfassend ist sowohl in dem Master als auch in dem Slave hinterlegt, welche jeweiligen Aktion durchgeführt werden soll, sofern die vordefinierte Anweisung erfüllt ist, insbesondere sofern entsprechend Daten hinterlegt sind.

Der zweite Bereich ist zumindest teilweise mit einer freien Anweisung befüllt oder zumindest befüllbar. Somit ist es möglich, den zweiten Bereich zur Formulierung der freien Anweisung zu verwenden. Hierbei wird durch den Slave bzw. Master die jeweilige freie Anweisung zunächst erstellt und von dem verbleibenden ausgele sen. Die freie Anweisung kann unterschiedliche Ausprägungen annehmen, wobei zweckmäßigerweise keine Beschränkungen vorhanden sind. Seitens des Slaves und des Masters ist es dabei erforderlich, zunächst die vollständige freie Anwei sung zu erfassen und zu verarbeiten, bevor eine entsprechende Funktion durch geführt werden kann, also die freie Anweisung befolgt werden kann. Die freie An weisung ist insbesondere in einer bestimmten Programmiersprache oder sonsti gen Sprache formuliert. Für die freie Anweisung bestehen zweckmäßigerweise keine Beschränkungen, außer dass diese in der bestimmten Sprache formuliert sein muss. Geeigneterweise wird somit gemäß dem Verfahren das Telegramm derart erstellt, dass dieses den ersten und den zweiten Bereich aufweist. Insbe sondere wird die vordefinierte Anweisung und die freie Anweisung mittels des Masters bzw. Slaves nachfolgend abgearbeitet und zum Beispiel eine entspre chende Funktion und/oder Anpassung durchgeführt.

Aufgrund des Verfahrens ist ein sicherer Betrieb des Slaves möglich. Da die vor definierte Anweisung codiert vorliegt, ist lediglich ein Austausch einer vergleichs weise geringen Datenmenge erforderlich, weswegen das Telegramm vergleichs weise schnell zwischen dem Master und dem Slave ausgetauscht werden kann. Folglich ist auch weiterhin eine hohe Sicherheit gegeben. Da ferner der zweite Bereich mit der freien Anweisung vorhanden ist, ist es möglich, auch während des Betriebs auf aktuelle Anforderungen des Bussystems, des Masters und/oder des Slaves einzugehen, die beispielsweise im vornherein nicht bekannt waren. Auch ist es auf diese Weise möglich, Sonderfälle mittels der freien Anweisung abzubil den, die lediglich vergleichsweise selten auftreten. Falls diese in den ersten Be reich integriert wären, also kodiert vorliegen würde, wäre der erste Bereich ver größert, ohne dass der erste Bereich tatsächlich in den meisten Fällen tatsächlich genutzt würde. Da jedoch der zweite Bereich zur Verfügung steht, ist es möglich, diesen dennoch abzubilden, wobei lediglich ein vergleichsweise kleiner erster Be reich realisiert ist. Somit ist eine Flexibilität erhöht, und auch ein Betrieb verein facht. Ferner ist es nicht erforderlich, die freie Anweisung bereits von vornherein in dem Master und dem Slave codiert zu hinterlegen, weswegen eine Konfiguration vereinfacht und auch eine Fehleranfälligkeit reduziert ist. Zum Beispiel weist das Telegramm noch weitere Bereiche auf. In den weiteren Bereichen sind beispielsweise die etwaige Fuß- und/oder Kopfzeile hinterlegt so wie insbesondere bestimmte Anweisungen, die der Kommunikation dienen, jedoch nicht dem Ausführen von bestimmten Funktionen durch den Master/Slave. Mit an deren Worten befinden sich in den weiteren Bereich lediglich Daten/Anweisungen, die für die Kommunikation jedoch nicht für den Betrieb des Master/Slave erforder lich und/oder vorgesehen sind, also zum Beispiel sogenannte Meta-Daten.

Das Bussystem ist insbesondere Bestandteil einer Kommunikationsanlage, die zweckmäßigerweise weitere Komponenten aufweist. Die Kommunikationsanlage selbst ist vorzugsweise ein Bestandteil einer Anlage, zum Beispiel einer Industrie anlage. Hierbei ist dem Slave zweckmäßigerweise einem Aktor zugeordnet oder zumindest Bestandteil eines Aktors. Mittels des Slaves werden geeigneterweise bestimmte Anweisungen empfangen, entsprechend derer der Aktor gesteuert wird oder zumindest bestimmte Funktionen durchführt. Die Anweisungen sind hierbei insbesondere die vordefinierte Anweisung oder die freie Anweisung.

Die vordefinierte Anweisung wird insbesondere vor Inbetriebnahme des Bussys tems sowohl in dem Master als auch in dem Slave hinterlegt, sodass in jedem der beiden bekannt ist, wie auf das Vorliegen der vordefinierten Anweisung reagiert werden soll, also wie eine entsprechende Abarbeitung funktionieren soll, oder wel che Funktion in diesem Fall ausgeführt werden soll. Die freie Anweisung wird bei spielsweise erst bei Betrieb des Bussystems erstellt, also dann, wenn eine Erst konfiguration des Bussystems bereits abgeschlossen ist. Somit ist ein Betrieb ver einfacht.

Insbesondere werden mehrere derartige Telegramme zwischen dem Master und dem Slave ausgetauscht, vorzugsweise zyklisch, also insbesondere in bestimmten festen Takten, wobei der Takt bei Inbetriebnahme des Bussystems festgelegt wird. Die Telegramme weisen dabei jeweils den gleichen Aufbau und vorzugsweise die gleiche Länge auf. So weist jedes der Telegramme stets den erste Bereich und den zweite Bereich auf. Der erste Bereich jedes der Telegramme umfasst hierbei stets die vordefinierte Anweisung. Die freie Anweisung kann sich jedoch zwischen unterschiedlichen Telegrammen unterscheiden. Aufgrund des zweiten Bereichs ist es somit möglich, azyklisch die freie Anweisung über das Bussystem zwischen dem Master und dem Slave auszutauschen, wofür die zyklisch ausgetauschten Telegramme herangezogen werden. Wegen des vergleichsweise kleinen ersten Bereichs ist es hierbei möglich, eine vergleichsweise kurze Taktzeit zu verwenden. Insbesondere erfolgt die Generierung der Telegramme jeweils durch den Master, wobei mittels des Slaves das jeweilige Telegramm beispielsweise bearbeitet wird und insbesondere mit entsprechenden Daten befüllt wird. Vorzugsweise umfasst das Bussystem mehrere Slaves, wobei beispielsweise das Telegramm von dem Master zu jedem der Slaves geleitet wird. Hierbei ist jedem Slave bevorzugt jeweils ein erster Bereich zugeordnet, sodass das Telegramm genauso viele erste Bereiche wie Slaves vorhanden sind aufweist. Zweckmäßi gerweise ist ebenfalls jedem Slave jeweils ein zweiter Bereich zugeordnet, sodass das Telegramm genauso viele erste wie zweite Bereiche aufweist, und wobei die Anzahl gleich der Anzahl der Slaves des Bussystems ist. Somit ist eine Verarbei tung der Anweisungen durch die Slaves vereinfacht, und eine Fehleranfälligkeit ist vermindert, weswegen eine Sicherheit erhöht ist. Zum Beispiel ist die freie Anweisung auf mehrere Telegramme aufgeteilt, die zwi schen dem Master und dem Slave ausgetauscht werden. Mit anderen Worten ist jeweils ein Teil der freien Anweisung in dem zweiten Bereich jedes der Telegram me hinterlegt. Hierbei unterscheiden sich die Teile der freien Anweisung, und die freie Anweisung erstreckt sich somit über die Telegramme, nämlich den jeweiligen zweiten Bereich. Somit ist es möglich, auch vergleichsweise umfangreiche oder komplexe freie Anweisungen zwischen dem Master und dem Slave auszutau schen, ohne dass eine vergleichsweise große Länge des Telegramms bereits ge stellt werden muss. Somit ist eine Komplexität verringert und eine Datenaus tauschgeschwindigkeit zwischen dem Master und dem Slave erhöht. Der erste Bereich der Telegramme ist insbesondere stets gleich, sofern die vordefinierte Anweisung entsprechend ausgeführt werden soll. Somit unterscheiden sich die Telegramme beispielsweise lediglich in dem zweiten Bereich. Zusammenfassend wird somit mittels der mehreren Telegramme mehrmals die vordefinierte Anwei- sung und lediglich ein einziges Mal die freie Anweisung zwischen dem Master und dem Slave ausgetauscht.

Geeigneterweise weist der zweite Bereich oder ein sonstiger Bestandteil des Te legramms einen Zähler auf, der in Abhängigkeit der Anzahl der Telegramme ein gestellt wird, also der Anzahl der Telegramme, auf die die freie Anweisung aufge teilt wird bzw. ist. Beispielsweise ist der Zähler gleich der Anzahl der Telegramme oder wird mit jedem neu ausgetauschten Telegramm implementiert. Besonders bevorzugt jedoch wird der Zähler zunächst auf die Anzahl der benötigten Tele gramme zum Austausch der freien Anweisung gesetzt und mit jedem ausge tauschten Telegramm verringert. Somit ist für den Master bzw. den Slave ersicht lich, wie viele weitere Telegramme noch ausgetauscht werden, bis die freie An weisung komplett ausgetauscht wurde. Sofern hierbei ein Telegramm mit einem abweichenden Zählerstand empfangen wird, ist ein Fehler identifiziert, und somit kein sicherer Austausch der freien Anweisung mehr möglich. Somit ist es möglich, Fehlerfälle vergleichsweise frühzeitig zu erkennen, sodass keine fehlerhaften freien Anweisungen abgearbeitet werden. Daher ist eine Sicherheit weiter erhöht.

Beispielsweise weist der erste Bereich lediglich eine einzige vordefinierte Anwei sung auf. Besonders bevorzugt jedoch umfasst der erste Bereich mehrere vordefi nierte Anweisungen. Mit anderen Worten werden mehrere vordefinierte Anwei sungen herangezogen. Beispielsweise sind hierbei zwischen 2 vordefinierten An weisungen und 20 vordefinierten Anweisungen, zwischen 5 vordefinierten Anwei sungen und 15 vordefinierten Anweisungen oder zwischen 8 vordefinierten Anwei sungen und 10 vordefinierten Anweisungen vorhanden. Jeder der vordefinierten Anweisungen ist hierbei geeigneterweise jeweils ein Codeblock des ersten Be reichs, also ein Datenblock, zugeordnet, vorzugsweise jeweils 1 Bit. Sofern das jeweilige Bit gesetzt ist, ist hierbei die vordefinierte Anweisung erfüllt, sodass diese ausgeführt werden soll. Falls das Bit nicht gesetzt ist, soll die vordefinierte Anwei sung nicht ausgeführt werden und/oder ist nicht erfüllt. Aufgrund der mehreren vordefinierten Anweisungen ist eine Flexibilität erhöht, wobei die Anzahl der vorde finierten Anweisungen zweckmäßigerweise kleiner als 20 ist. Aufgrund der ver gleichsweise geringen Anzahl ist ein Programmieraufwand zum Hinterle- gen/Decodieren der vordefinierten Anweisungen sowohl in dem Master als auch in dem Slave verringert. Auch ist eine zwischen dem Master und dem Slave ausge tauschte Datenmenge nicht übermäßig erhöht.

Besonders bevorzugt wird in den Telegramm eine Prüfsumme hinterlegt, die zu mindest teilweise auf einem zeitlich vorhergehenden Telegramm basiert, insbe sondere dem zeitlich direkt vorhergehenden Telegramm. Somit ist es möglich, so wohl bei dem Master als auch bei dem Slave separat die Prüfsumme zu ermitteln, da beiden das zeitlich vorhergehende Telegramm bekannt ist. Somit ist es mög lich, zu verifizieren, ob das Telegramm fehlerfrei übertragen wurde. Die Prüfsum me basiert zweckmäßigerweise ebenfalls zumindest teilweise auf dem (aktuellen) Telegramm. Insbesondere entspricht die Prüfsummen der Quersumme eines be stimmten Bereichs, wobei beispielsweise zusätzlich ein Zählerstand herangezo gen wird, wobei der Zählerstand bei jedem ausgetauschten Telegramm erhöht wird. Zum Beispiel ist die Prüfsumme dem vollständigen Telegramm zugeordnet. Besonders bevorzugt jedoch weist der erste Bereich die Prüfsumme auf, und die Prüfsumme basiert zumindest teilweise auf dem zuletzt ausgetauschten ersten Bereich, der mittels des zeitlich vorhergehenden Telegramms ausgetauscht wur de. Alternativ hierzu ist die zweite Prüfsumme dem zweiten Bereich zugeordnet, und basiert zumindest teilweise auf dem ersten oder zweiten Bereich des zeitlich vorhergehenden Telegramms.

Besonders bevorzugt ist sowohl dem ersten Bereich als auch dem zweiten Be reich eine derartige Prüfsumme zugeordnet, und beispielsweise jeweils ein Be standteil hiervon, was eine Sicherheit erhöht. In einer Weiterbildung ist zusätzlich dem vollständigen Telegramm ebenfalls eine derartige Prüfsumme zugeordnet, die somit mittels des Telegramms übertragen wird, was eine Sicherheit weiter er höht. Falls nämlich eine der Prüfsummen von der entsprechenden mittels des Masters bzw. Slave separat ermittelten Prüfsumme abweicht, ist ein Fehler fest gestellt und somit festgestellt, dass die sichere Kommunikation nicht weiter gege ben ist. Beispielsweise wird dann, wenn das Telegramm von dem Slave zu dem Master und umgekehrt geschickt wird, die vordefinierte Anweisung bzw. die freie Anwei sung mit bestimmten Daten befüllt, die beispielsweise von dem etwaigen Aktor generiert sind. Diese sind beispielsweise Zustandsdaten. Hierbei entspricht die vordefinierte Anweisung insbesondere vordefinierten Zustandsdaten/ einem Be triebsparameter des Aktors, beispielsweise der Temperatur.

Besonders bevorzugt wird als vordefinierte Anweisung eine Aufforderung zum Durchführen einer sicheren Funktion herangezogen. Mit anderen Worten ist die vordefinierte Anweisung der Aufforderung zum Durchführen der sicheren Funktion (Sicherheitsfunktion), insbesondere sofern das Telegramm von dem Master zu dem Slave verschickt wird. Als sichere Funktion wird beispielsweise „Safe torque off“ (STO), „Safe stop 1/2" (SS1/2), „Safe Operation stop“ (SOS), „Safely limited speed“ (SLS), „Safe speed monitor“ (SSM), „Safe speed ränge” (SSR), „Safe lim ited position” (SLP), „Safe position” (SP), „Safe direction” (SDI) und/oder „Safe brake control/Safe brake test” (SBC/SBT) herangezogen. Mit anderen Worten handelt es sich bei der vordefinierten Anweisung um die Aufforderung zum Durch führen der Sicherheitsfunktionen, wie diese insbesondere in der Norm IEC 61800- 5-2:2007 beschrieben sind.

Alternativ oder in Kombination hierzu wird als vordefinierte Anweisung ein Status hinsichtlich der Durchführung einer sicheren Funktion herangezogen, insbesonde re eine Statusabfrage, sofern das Telegramm von dem Master zu dem Slave ver schickt wird. Falls das Telegramm von dem Slave zu dem Master geschickt wird, wird insbesondere der Status der Sicherheitsfunktionen übermittelt, also bei spielsweise ob dieser aktiv ist oder nicht. Sowohl in dem Master als auch in dem Slave ist somit hinterlegt, welche Sicherheitsfunktion mittels der vordefinierten Anweisung beschrieben ist. Zweckmäßigerweise sind hierbei mehrere vordefinier te Anweisungen vorhanden, von denen jede jeweils eine Sicherheitsfunktion ist. Somit ist es beispielsweise möglich, den Slave durch den Master zur Durchfüh rung von bestimmten Sicherheitsfunktionen zu veranlassen. Folglich ist eine Si cherheit erhöht und ein Betrieb vereinfacht. Alternativ oder besonders bevorzugt in Kombination hierzu erfolgt eine Konfigura tion des Slaves mittels der freien Anweisung. Hierbei wird die Anweisung insbe sondere von dem Master zu dem Slave mittels des Telegramms übermittelt. Mit anderen Worten wird der Parameter von dem Master mittels des zweiten Bereichs des Telegramms gesandt, und mittels des Slaves wird nachfolgend insbesondere eine entsprechende Anpassung durchgeführt.

Zum Beispiel wird mittels der freien Anweisung festgelegt, welche der etwaigen Sicherheitsfunktionen durchgeführt werden soll, falls die vordefinierte Anweisung die Aufforderung zum Durchführen der Sicherheitsfunktion aufweist. Vorzugsweise wird als freie Anweisung eine Anforderung zur Anpassung eines Parameters der etwaigen sicheren Funktion herangezogen. Sofern beispielsweise als vordefinierte Anweisung die Sicherheitsfunktion „Safely limited speed“ verwendet wird, ist es möglich, mittels der freien Anweisung die Geschwindigkeit anzupassen, auf die der Aktor gemäß der Sicherheitsfunktionen „Safely limited speed“ geregelt wird, sofern diese aktiv ist. Das Aktivieren erfolgt dabei zweckmäßigerweise mittels der vorbestimmten Anweisung, also mittels des ersten Bereichs. Mit anderen Worten wird mittels der freien Anweisung insbesondere die Funktion angepasst, die mit tels der vordefinierten Anweisung ausgelöst wird. Da eine Anpassung der sicheren Funktion erfolgt, die insbesondere mittels der vordefinierten Anweisung gesteuert wird, ist es zudem möglich, mittels der freien Anweisung auch die Erstkonfigurati on des Bussystems oder des etwaigen Aktors vorzunehmen. Hierbei wird bei Erstinbetriebnahme zweckmäßigerweise eine Standardeinstellung verwendet, und nachfolgend wird mittels der freien Anweisung eine entsprechende Konfiguration des Slaves durchgeführt. Zusammenfassend ist somit eine Konfiguration des Bus systems, insbesondere der etwaigen Anlage nach Erstinbetriebnahme und wäh rend des Betriebs möglich.

Alternativ oder besonders bevorzugt in Kombination hierzu wird als freie Anwei sung eine Abfrage eines Betriebsparameters herangezogen, insbesondere sofern das Telegramm von dem Master zu dem Slave gesandt wird. Falls das Telegramm von dem Slave zu dem Master gesandt wird, ist insbesondere die freie Anweisung mit dem Betriebsparameter befüllt. Geeigneterweise wird zudem ein bestimmter Zeitpunkt des Betriebsparameters vorgegeben, sodass mittels mehrerer derartiger freien Anweisungen eine Zeitreihe des Betriebsparameters ausgelesen werden kann. Zum Beispiel ist die Menge der Betriebsparameter vordefiniert, sodass eine mittels der freien Anweisung der jeweilige Betriebsparameter spezifiziert wird. Bei- spielsweise wird hierbei eine bestimmte Adresse oder dergleichen mittels der freien Anweisung übermittelt, oder die Adresse ist ein Bestandteil der freien An weisung. An der Adresse ist hierbei der jeweiligen Betriebsparameter hinterlegt. Somit ist es möglich, den Slave und den vorzugsweise damit betriebenen Aktor vergleichsweise genau zu überwachen.

Besonders bevorzugt wird die freie Anweisung durch den Slave verifiziert, insbe sondere sofern diese von dem Master zu dem Slave geschickt wurde. Erst im An schluss hieran erfolgt insbesondere eine entsprechende Durchführung, also ein Befolgen der freien Anweisung. So wird beispielsweise eine etwaige mittels der freien Anweisung übermittelte Einstellung überprüft und mit bestimmten Vorgaben verglichen. Lediglich wenn diese erfüllt sind, erfolgt insbesondere eine Anpassung der entsprechenden Einstellung. Somit ist eine fehlerhafte Konfiguration des Sla ves durch den Master mittels der freien Anweisung ausgeschlossen. Bei der vor bestimmten Anweisung erfolgt zweckmäßigerweise keine Verifizierung, also eine Überprüfung, ob zum jetzigen Zeitpunkt die vorbestimmte Anweisung durchgeführt werden soll, also insbesondere, ob es sicher ist, die vordefinierte Anweisung aus zuführen. Da die vorbestimmte Anweisung vorbestimmt ist, und somit kodiert in dem Telegramm hinterlegt ist, ist eine fehlerhafte Interpretation nicht möglich. Mit anderen Worten ist ein fehlerhaftes Befolgen der vordefinierten Anweisung nicht möglich. Da keine Verifizierung erfolgt, ist jedoch eine Bearbeitung, also eine Ab arbeitung, der vordefinierten Anweisung beschleunigt.

Die Kommunikationsanlage weist ein Bussystem mit einem Master und mit einem Slave auf. Insbesondere sind der Master und der Slave signaltechnisch miteinan- der gekoppelt/verbunden, beispielsweise mittels einer physischen Leitung oder drahtlos, beispielsweise mittels Funk. Insbesondere unterliegt die signaltechnische Kopplung, also das Bussystem, einem bestimmten Standard, beispielsweise ei nem Feldbus-Standard, wie Ethercat. Zweckmäßigerweise weist der Master und/oder der Slave eine Steuereinheit auf. Geeigneterweise ist der Master und/oder der Slave zueinander baugleich oder unterscheiden sich vorzugsweise lediglich aufgrund deren Konfiguration. Vorzugsweise ist jedoch die Hardware des Masters und des Slaves gleich, weswegen Gleichteile herangezogen werden kön- nen.

Die Kommunikationsanlage ist gemäß einem Verfahren zur sicheren Kommunika tion zwischen dem Master und dem Slave betrieben. Bei dem Verfahren wird ein Telegramm zwischen dem Master und dem Slave ausgetauscht. Das Telegramm weist einen ersten Bereich und einen zweiten Bereich auf. Der erste Bereich ent hält eine vordefinierte Anweisung, und der zweite Bereich ist zumindest teilweise mit einer freien Anweisung befüllt. Zusammenfassend ist die Kommunikationsan lage insbesondere für die sichere Kommunikation gemäß diesem Verfahren konfi guriert. Geeigneterweise wird das Telegramm entsprechend durch den Master bzw. Slave erstellt. Vorzugsweise umfasst die Kommunikationsanlage eine Steu ereinheit, mittels derer das Verfahren durchgeführt ist. Insbesondere ist die Steu ereinheit zumindest teilweise mittels der Steuereinheit des Masters und/oder Sla ves realisiert, sodass diese zusammen insbesondere die Steuereinheit der Kom munikationsanlage bilden. Der oder die Steuereinheiten umfassen beispielsweise einen Mikroprozessor, der geeigneterweise programmierbar ist, und oder einen anwendungsspezifischen Schaltkreis (ASIC). Vorzugsweise weist die Produkti onsanlage mehrere derartige Slaves auf, wobei jedem der Slaves zweckmäßiger weise jeweils ein erster Bereich und ein zweiter Bereich des Telegramms zuge wiesen ist.

Die Kommunikationsanlage ist besonders bevorzugt ein Bestandteil einer Anlage, mittels derer das Durchführen einer bestimmten Funktion erfolgt. Die Anlage ist zweckmäßigerweise eine Industrieanlage. Mittels der Industrieanlage erfolgt vor zugsweise ein Herstellen und/oder Bearbeiten eines Werkstücks, wofür ein Aktor verwendet wird. Zum Beispiel wird der Aktor mit einer vergleichsweise hohen Leis tung betrieben, die insbesondere größer als 100 W, 500 W, 1 kW, 5 kW, 10 kW oder 20 kW ist. Die Kommunikationsanlage dient vorzugsweise der Kommunikati on des Aktors mit einer Sicherheitssteuerung. Insbesondere umfasst die Sicher- heitssteuerung den Master. Der Aktor bildet zumindest teilweise bevorzugt den Slave. Geeigneterweise weist die Anlage mehrere derartige Aktoren auf, wobei jeder Aktor jeweils einen Slave bildet oder jedem Aktor zumindest ein derartiger Slave zugewiesen ist.

Die Anlage stellt zweckmäßigerweise eine bestimmte Funktion bereit und weist vorzugsweise eine Steuerung und einen Aktor auf, die insbesondere signaltech nisch miteinander mittels einer Kommunikationsanlage verbunden sind. Die Kom munikationsanlage weist ein Bussystem auf, das sowohl einen Master als auch einen Slave umfasst. Der Master ist beispielsweise ein Bestandteil der Steuerung oder zumindest signaltechnisch mit dieser verbunden und geeigneterweise mittels dieser betrieben. Der Aktor weist insbesondere den Slave auf und/oder wird mit tels dessen gesteuert. Die Anlage ist beispielsweise eine Industrieanlage und dient somit der Bearbeitung und/oder Herstellung eines bestimmten Werkstücks. Geeigneterweise weist die Anlage mehrere Slaves auf, wobei jeder Slave jeweils einem Aktor zugeordnet ist. Mittels der Aktoren erfolgt beispielsweise eine gleich zeitige Bearbeitung des Werkstücks, oder die Aktoren sind zueinander unabhän gig betrieben. Die Kommunikationsanlage ist gemäß einem Verfahren zur sicheren Kommunikation zwischen dem Master und dem Slave betrieben, bei welchem ein Telegramm zwischen dem Master und dem Slave ausgetauscht wird. Das Tele gramm weist einen ersten Bereich und einen zweiten Bereich auf. Der erste Be reich enthält eine vordefinierte Anweisung, und der zweite Bereich ist zumindest teilweise mit einer freien Anweisung befüllt. Die im Zusammenhang mit dem Verfahren genannten Weiterbildungen und Vortei le sind sinngemäß auch auf die Kommunikationsanlage/Anlage sowie untereinan der zu übertragen und umgekehrt.

Nachfolgend wird ein Ausführungsbeispiel der Erfindung anhand einer Zeichnung näher erläutert. Darin zeigen:

Fig. 1 eine Industrieanlage mit einer Kommunikationsanlage, die einen

Master und einen Slave umfasst, Fig. 2 schematisch ein Verfahren zur sicheren Kommunikation zwischen dem Master und dem Slave,

Fig. 3 schematisch den Aufbau eines Telegramms, das zwischen dem

Master und dem Slave ausgetauscht wird, und das mehrere erste Bereich und einen zweiten Bereich aufweist,

Fig. 4 den Aufbau eines der ersten Bereiche, und

Fig. 5, 6 den Aufbau des zweiten Bereichs.

Einander entsprechende Teile sind in allen Figuren mit den gleichen Bezugszei- chen versehen.

In Figur 1 ist schematisch vereinfacht eine Industrieanlage 2 dargestellt, die eine Steuerung 4 sowie einen Aktor 6 aufweist. Der Aktor 6 ist eine Maschinenachse oder ein Roboterarm, und mittels des Aktors 6 erfolgt bei Betrieb eine Bearbeitung eines nicht näher dargestellten Werkstücks. Die Industrieanlage 2 weist weitere, nicht näher dargestellte Aktoren auf, mittels derer ebenfalls eine Bearbeitung des Werkstücks erfolgt, beispielsweise gleichzeitig mit dem Aktor 6 oder zeitlich nach folgend oder zeitlich vorhergehend. Der Betrieb des Aktors 6 entsprechend der erforderlichen Prozessparameter er folgt mittels der Steuerung 4, die einen speicherprogrammierbare Steuerung ist. Die Steuerung 4 ist in einem Steuerpult oder dergleichen angeordnet und von dem Aktor 6 beabstandet. Die Steuerung 4 und der Aktor 6 sind mittels einer Kommu nikationsanlage 8 miteinander verbunden, die ein Bussystem 10 aufweist. Das Bussystem 10 genügt hierbei dem FSoE-Standard („Fail Save over Ethercat“).

Das Bussystem 10 weist einen Master 12 sowie einen Slave 14 auf, die mittels einer Leitung 16 des Bussystems signaltechnisch gekoppelt sind. Hierbei ist der Master 12 in der Steuerung 4 zugeordnet und der Slave 14 dem Aktor 6. Zur Kommunikation wird somit eine entsprechende Anfrage von der Steuerung 4 über den Master 12 in das Bussystem 10 eingespeist und mittels des Slaves 14 emp fangen. In Abhängigkeit von den somit übertragenen Anfragen wird der Aktor 6 gesteuert. Das Bussystem 10 weist weitere Slaves auf, die entsprechend des Sla- ves 14 aufgebaut sind, wobei jeder Slave jeweils einem der verbleibenden Aktoren zugeordnet ist.

In Figur 2 ist ein Verfahren 18 zur sicheren Kommunikation zwischen dem Master 12 und dem Slave 14 sowie den etwaigen weiteren Slaves dargestellt. Das Ver fahren 18 wird mittels des Masters 12 sowie des Slaves 14 ausgeführt und dient somit dem Betrieb der Kommunikationsanlage 8. In einem ersten Arbeitsschritt 20 wird das Verfahren 18 gestartet. Nachfolgend wird in einem zweiten Arbeitsschritt 21 von dem Master 12 ein Telegramm 22 zu dem Slave 14 über die Leitung 16 geschickt.

In Figur 3 ist der schematische Aufbau des Telegramms 22 dargestellt, wobei der Aufbau sämtlicher Telegramme, die zwischen dem Master 12 und dem Slave 14 ausgetauscht werden, also in das Bussystem 10 eingespeist werden, gleich ist und auch die gleiche Länge aufweisen. Das Telegramm 22 weist eine Kopfzeile 24 auf, mittels derer der Beginn des Telegramms 22 gekennzeichnet ist. Das Tele gramm 22 endet mit einer Fußzeilen 26, die eine Prüfsumme 28 enthält. Prüf summe 28 ist eine CRC-Prüfsumme und basiert zumindest teilweise auf einem zeitlich vorhergehenden Telegramm, nämlich der dortigen Prüfsummen 28. Diese wird um den Faktor 1 erhöht, und auch wird hierbei die Quersumme der weiteren Bestandteile des Telegramms 22 zum Erstellen der aktuellen Prüfsummen 28 verwendet. Falls noch kein zeitlich vorhergehendes Telegramm ausgetauscht wurde, wird als Startwert anstatt der zeitlich vorhergehenden Prüfsummen 28 der Wert „0“ (Null) oder ein vordefinierten Wert herangezogen. Die Kopfzeile 24 und die Fußzeile 26 sind für das Erfüllen des Ethernet-Standards erforderlich, auf dem Ethercat basiert.

Nach der Kopfzeile 24 schließt sich eine weitere Kopfzeile 30 an, die spezifiziert, dass das Telegramm 22 dem Ethercat-Standard genügt. Zwischen der weiteren Kopfzeile 30 sowie der Fußzeile 26 sind Datenbereiche 32 angeordnet, die jeweils gleich aufgebaut sind und mit einer zusätzlichen Kopfzeile 34 beginnen. Mittels der zusätzlichen Kopfzeile 34 wird spezifiziert, dass das Telegramm 22 oder zu- mindest der Datenbereich 32 dem FSoE-Standard genügt. Jedem der Slaves der Kommunikationsanlage 8 ist jeweils einer Datenbereiche 32 zugeordnet.

Jeder Datenbereich 32 weist einen Endbereich 36 auf, der ein sogenannter „Work ing Counter“ (WKC) ist. Zwischen der zusätzlichen Kopfzeile 34 und dem Endbe reich 36 ist ein weiterer Datenbereich 38 angeordnet, der somit ein Bestandteil des Datenbereichs 32 ist. In dem Endbereich 36, dem WKC, wird hinterlegt, ob der jeweilige weitere Datenbereich 38 korrekt verarbeitet wurde, also beispielswei se gelesen oder geschrieben.

Jeder weitere Datenbereich 38 beginnt mit einer Kontrollangabe 40 (CMD) und endet mit einer Identifikationsnummer 42 (Conn ID). Dazwischen liegen mehrere erste Bereiche 44 sowie ein zweiter Bereich 46. An jeden ersten Bereich 44 schließt sich eine erste Prüfsumme 48 an, die jeweils aus dem jeweils zu vorlie genden ersten Bereich 44 sowie der erste Prüfsummen 48 des zeitlich direkt vor hergehenden Telegramms ermittelt wird, die sich an der gleichen Stelle in dem zeitlich direkt vorhergehenden Telegramm befindet. Dem zweiten Bereich 46 ist eine zweite Prüfsumme 50 zugeordnet, die in gleicher weise ermittelt wird, und somit auch auf der zweiten Prüfsumme des zeitlich direkt vorhergehenden Tele gramms sowie dem zweiten Bereich 46 basiert. Bei den ersten Prüfsummen 48 und der zweite Prüfsummen 50 handelt es sich wiederum um CRC-Werte.

In Figur 4 ist der schematische Aufbau eines der ersten Bereiche 44 dargestellt. Der erste Bereich 44 weist insgesamt 2 Byte und somit 16 Bit auf. Jedes Bit ent spricht einer vordefinierten Anweisung 52. So ist das nullte Bit, also die erste vor definierte Anweisung 52, sofern dieses gesetzt ist, eine Aufforderung zum Durch führen einer sicheren Funktion, nämlich STO (Safe torque off). Das erste Bit ist die Aufforderung zum Durchführen des sicheren Funktion SS1 , das zweite Bit ist die Aufforderung, sofern dieses gesetzt ist, zum Durchführen der sicheren Funktion SS2. Dem 8. Bit bis zu dem 15. Bit sind ebenfalls jeweils Sicherheitsfunktionen zugeordnet. Somit sind in jedem ersten Bereich 44 mehrere vordefinierte Anwei sungen 52 vorhanden. Sofern das Telegramm 22 von dem Master 12 zu dem Slave 14 gesandt wird, ist die vordefinierte Anweisung 52 die Aufforderung zum Durchführen der jeweiligen sicheren Funktion. Mit anderen Worten soll durch den Slave 14 der Aktor 6 veran lasst werden, die jeweilige sichere Funktion durchzuführen, falls dort das Bit ge setzt ist, also sich dort der Wert 1 („eins“) befindet. So soll durch den Slave 14 die sichere Funktion SOS (Safe Operation stop) durchgeführt werden, falls das dritte Bit gesetzt ist. Falls das Telegramm 22 von dem Slave 14 zu dem Master 12 ge sandt wird, wird als vordefinierte Anweisung 52 der Status hinsichtlich der Durch führung der sicheren Funktion herangezogen. Somit wird durch den Slave 14 das jeweilige Bit gesetzt, falls die jeweilige sichere Funktion durchgeführt wird. So wird dann, wenn die sichere Funktion SSR (Safe speed ränge) durch den Slave 14 bzw. den zugeordneten Aktor 6 durchgeführt wird, das vierte Bit durch den Slave 14 gesetzt. Zusammenfassend liegen in dem ersten Bereich 44 die vordefinierten Anweisungen 52 kodiert vor.

Der zweite Bereich 46 ist schematisch in Figur 5 gezeigt. Auch dieser weist 2 Byte und somit 16 Bits auf. Die 12.-15. Bits entsprechen einem Kontrollbereich 54. Mit tels des Kontrollbereichs 54 wird festgelegt, wie mit einer freien Anweisung 56, verfahren werden soll, die sich von dem nullten Bit bis zum 7. Bit erstreckt. So ist es möglich, dass bei entsprechender Ausgestaltung des Kontrollbereichs 54 also je nach gesetztem Bit, die freie Anweisung 56 die Aufforderung zum Schreiben eines Parameters ist. Dabei wird insbesondere eine der sicheren Funktionen an gepasst und somit der Parameter einer sicheren Position angepasst. So ist es möglich, bei der sicheren Funktion SOS die sichere Position vorzugeben, die so mit ein Parameter der sicheren Funktion ist. Die Spezifizierung der jeweiligen si cheren Position, des Parameters sowie des neuen Werts, erfolgt mittels einer ent sprechenden Formulierung der freien Anweisung 56, wofür die entsprechenden Bits gesetzt werden. Dabei wird die freie Anweisung 56 mittels einer entsprechen den Programmiersprache oder beispielsweise ASCI-Code befüllt.

Bei einerweiteren Einstellung des Kontrollbereichs 54, bei der lediglich das 13. Bit gesetzt ist, wird ein Betriebsparameter abgefragt, wobei der Betriebsparameter mittels der freien Anweisung 56 spezifiziert ist. So ist es beispielsweise möglich, die sichere Position der sicheren Funktion SOS abzufragen. Bei einer Ausgestal tungsform ist der Betriebsparameter aus einer bestimmten Anzahl an möglichen zu dem jeweiligen Aktors 6 korrespondierenden Parametern sowie den Parame tern der sicheren Funktionen ausgewählt. Somit ist es nicht erforderlich, eine ver gleichsweise komplexe Anfrage in der freien Anweisung 56 zu schreiben, sondern es ist ausreichend, die entsprechende Adresse des Betriebsparameters zu spezi fizieren.

Bei den beiden oben genannten Ausgestaltungen des Kontrollbereichs 54 wird die freie Anweisung 56 mittels des Masters 12 erstellt. Falls die Abfrage des Betriebs parameters durch den Master 12 erfolgt, und eine entsprechende Beantwortung durch den Slave 14 durchgeführt wird, wird der Kontrollbereich 54 verändert und dort das 12. und 13. Bit gesetzt, sodass ersichtlich ist, dass die freie Anweisung 56 durch den Slave 14 befüllt wurde. Der zweite Bereich 46 weist ferner einen Zähler 58 auf, der dem 8.-11. Bit entspricht.

In einem dritten Arbeitsschritt 60, in Fig. 2 gezeigt, wird das Telegramm 22 durch den Slave 14 empfangen. Hierbei werden die erste Bereiche 40 sowie der zweite Bereich 46 ausgelesen. Ferner werden in dem dritten Arbeitsschritt 60 die vordefi nierten Anweisungen 52 bearbeitet. Wenn hierbei die vordefinierten Anweisung 52, also das jeweils zugeordneten Bits auf „0“ (Null) gesetzt sind, wird keine der sicheren Funktionen aktiviert. Es wird ferner überprüft, ob aktuell eine sichere Funktion bei dem Slave 14 bzw. dem Aktor 6 durchgeführt wird.

In einem sich anschließenden vierten Arbeitsschritt 62 wird das Telegramm 22 zu dem Master 12 zurückgeleitet, wobei hinterlegt ist, dass das Telegramm 22 korrekt empfangen wurde. Auch wird der in dem dritten Arbeitsschritt 60 ermittelte Status der sicheren Funktionen übermittelt. So wird dann, wenn eine der sicheren Funkti onen aktiv ist, das zu dieser sicheren Funktion korrespondierende Bit in dem ers ten Bereich 44 des zurückgesandten Telegramms 22 auf „1“ (eins) gesetzt.

Sofern die freie Anweisung 56 vergleichsweise komplex ist, ist der zweite Bereich 46 eines Telegramms 22 nicht ausreichend, diese vollständig zu beherbergen. Daher wird die freie Anweisung 56 durch den Master 12 auf mehrere Telegramme 22 aufgeteilt, die nacheinander zu dem Slave 14 gesandt werden. So wird nach dem vierten Arbeitsschritt 62, sofern die freie Anweisung 56 noch nicht vollständig ist, erneut der zweite Arbeitsschritt 21 durchgeführt, wobei der Inhalt des zweiten Bereichs 46 entsprechend abgeändert wird. Zur Spezifizierung, dass die freie An weisung 56 über mehrere Telegramme 22 verteilt ist, wird der Zähler 58 verwen det. Hierbei werden das 8.-11. Bit des zweiten Bereichs 46 auf die Anzahl der noch folgenden Telegramme 22 eingestellt, die bis zur Komplettierung der freien Anweisung 56 noch erforderlich sind. Somit wird der Zähler 58 so lange dekre- mentiert und auch der zweite bis vierte Arbeitsschritt 21 , 60, 62 so lange durchge führt, bis der Zähler 58 Null („0“) erreicht. Zusammenfassend werden zwischen dem Master 12 und dem Slave 14 mehrere Telegramme 22 ausgetauscht, wobei die freie Anweisung 56 auf die mehreren Telegramme 22 aufgeteilt ist. Mittels des Zählers 58 des zweiten Bereichs 46 wird hierbei die Anzahl der Telegramme 22 zur Komplettierung der freien Anweisung 56 angegeben, und der Zähler 58 wird somit in Abhängigkeit der Anzahl der Telegramme 22 eingestellt.

Sofern die freie Anweisung 56 vollständig ist, also sofern die freie Anweisung 56 lediglich mittels eines einzigen Telegramms 22 übermittelt wurde, oder sämtliche Telegramme 22, die die freie Anweisung 56 enthalten, übermittelt wurden, wird ein fünfter Arbeitsschritt 64 durchgeführt. In dem fünften Arbeitsschritt 64 erfolgt eine Verifizierung der freien Anweisung 56 durch den Slave 14. Hierbei wird überprüft, ob die freie Anweisung 56 mit in dem Slave 14 hinterlegten weiteren Bedingungen vereinbar ist und insbesondere, ob hierbei auch ein sicherer Betrieb des Aktors 6 möglich ist. So wird insbesondere überprüft, ob die sichere Position in einem er laubten Bereich liegt, sofern mittels der freien Anweisung 56 die sichere Position der sicheren Funktion SOS geändert werden soll. Falls dies der Fall ist, wird ein sechster Arbeitsschritt 66 durchgeführt, wenn mittels der Kontrollbereiche 54 spe zifiziert war, dass einer der Parameter der sicheren Funktion angepasst werden soll. In dem sechsten Arbeitsschritt 66 wird dann der entsprechende Parameter der sicheren Funktion entsprechend der freien Anweisung 56 angepasst. In einem sich anschließenden siebten Arbeitsschritt 68 wird in ein nachfolgendes Tele gramm 22 als freie Anweisung 56 die Bestätigung geschrieben, dass der Parame- ter angepasst wurde. In einem sich anschließenden achten Arbeitsschritt 70 wird dieses Telegramm 22 durch den Master 12 empfangen. Es schließt sich erneut der zweite Arbeitsschritt 21 an.

Falls in der freien Anweisung 56, die von dem Master 12 zu dem Slave 14 über mittelt wurde, mittels des Kontrollbereichs 54 spezifiziert war, dass ein bestimmter Betriebsparameter abgefragt wird, wird ein neunter Arbeitsschritt 72 durchgeführt. In diesem wird von dem Master 12 ein weiteres Telegramm 22 zu dem Slave 14 übermittelt, wobei mittels des Kontrollbereichs 54 spezifiziert ist, dass die freie Anweisung 56 zur Befüllung durch den Slave 14 freigehalten ist. In einem sich an schließenden zehnten Arbeitsschritt 74 wird durch den Slave 14 das Telegramm 22, nämlich der zweite Bereich 46, entsprechend befüllt. Hierbei wird der nachge fragte Betriebsparameter in nullten bis siebten Bit geschrieben und folglich als freie Anweisung 56 herangezogen. In einem sich anschließenden elften Arbeits schritt 76 wird das Telegramm 22 durch den Master 12 empfangen.

Falls der Betriebsparameter oder die sonstige Antwort des Slaves 14 vergleichs weise umfangreich ist, ist es möglich, dass der zweite Bereich 46 hierfür nicht aus reicht. Auch in diesem Fall wird die freie Anweisung 56, also insbesondere die Antwort des Slaves 14, wie der Betriebsparameters, auf mehrere derartige Tele gramme 22 aufgeteilt, wobei der Kontrollbereich 54 stets gleich ist und spezifiziert, dass eine Befüllung durch den Slave 14 erfolgt. Auch wird der Zähler 58 verwen det. Da in dem Master 12 das Wissen vorhanden ist, wie groß der abgefragte Be triebsparameters oder die von dem Slave 14 zu erwartende Antwort ist, wird hier bei der Zähler 58 durch den Master 12 entsprechend eingestellt und der verblei bende Bereich des zweiten Bereichs 46 durch den Slave 14 entsprechend der An frage befüllt. Dies, also der neunte, zehnte und elfte Arbeitsschritt 72, 74, 76, wird so lange durchgeführt, bis die freie Anweisung 56 vollständig ist. Im Anschluss hieran wird wiederum der zweite Arbeitsschritt 21 durchgeführt.

Bei dem Verfahren 18 werden somit Telegramme 22 zwischen Master 12 und dem Slave 14 ausgetauscht, wobei der Austausch zyklisch erfolgt. So wird das Bussys tem 10 mit einem bestimmten Takt betrieben, wobei zu Beginn jedes Takts ein entsprechendes Telegramm 22 in das Bussystem 10 eingespeist wird. Sofern kei ne freie Anweisung 56 vorliegt, also falls keine entsprechende Anfrage von dem Master 12 an den Slave 14 oder eine entsprechende Antwort vorliegt, wird der zweite Bereich 46 vollständig mit Nullen gefüllt, wie in Figur 6 dargestellt. Somit ist spezifiziert, dass keine freie Anweisung 56 vorliegt, oder dass zumindest keine entsprechende Tätigkeit erfolgen soll. Dies wird insbesondere dadurch gezeigt, dass das 12.-15. Bit auf null gesetzt sind, also der Kontrollbereich 54 nur Nullen enthält. Aufgrund des Verfahrens 18 ist somit eine azyklische Verwendung der freien Anweisung 56 in dem zyklisch betriebenen Bussystem 10 möglich, bei dem also die vordefinierten Anweisungen 52 zyklisch übertragen werden.

Die Erfindung ist nicht auf das vorstehend beschriebene Ausführungsbeispiel be schränkt. Vielmehr können auch andere Varianten der Erfindung von dem Fach mann hieraus abgeleitet werden, ohne den Gegenstand der Erfindung zu verlas- sen. Insbesondere sind ferner alle im Zusammenhang mit dem Ausführungsbei spiel beschriebene Einzelmerkmale auch auf andere Weise miteinander kombi nierbar, ohne den Gegenstand der Erfindung zu verlassen.

Bezugszeichenliste

2 Industrieanlage

4 Steuerung 6 Aktor

8 Kommunikationsanlage

10 Bussystem

12 Master

14 Slave 16 Leitung

18 Verfahren

20 erster Arbeitsschritt

21 zweiter Arbeitsschritt

22 Telegramm 24 Kopfzeile

26 Fußzeile

28 Prüfsumme

30 weitere Kopfzeile

32 Datenbereich 34 zusätzliche Kopfzeile

36 Endbereich

38 weiterer Datenbereich 40 Kontrollangabe

42 Identifikationsnummer 44 erster Bereich

46 zweiter Bereich

48 erste Prüfsumme

50 zweite Prüfsumme

52 vordefinierte Anweisung 54 Kontrollbereich

56 freie Anweisung

58 Zähler

60 dritter Arbeitsschritt vierter Arbeitsschritt fünfter Arbeitsschritt sechster Arbeitsschritt siebter Arbeitsschritt achter Arbeitsschritt neunter Arbeitsschritt zehnter Arbeitsschritt elfter Arbeitsschritt