BiSS-Interface als adaptierter Interbus

BiSS ist ein freies Protokoll für die Positionssensorik und Motor-Feedback Systeme und kompatibel zum Serial-Synchronous-Interface SSI mit Verbesserungen, u.a. bezüglich Geschwindigkeit und Leitungslängenanpassung. Interbus bezeichnet die Industrienorm DIN19258 zur Anbindung von Sensoren und Aktoren an eine Verarbeitungseinheit und wurde 1987 von Phoenix-Contact eingeführt. Bei Interbus werden Daten zwischen Master- und Slave-Stationen ausgetauscht. Interbus ist busfähig mit mehreren Teilnehmern, die über Datenkanäle ringförmig verbunden sind. Grundlagen und Praxis zu Interbus werden in der Publikation \’Interbus-S\‘ von Baginski und Müller (Hüthig Buch Verlag Heidelberg, 1994) beschrieben, auf das im Folgenden Bezug genommen wird. Interbus wird von der Nutzerorganisation Interbus Club Deutschland e.V. gepflegt und unterstützt, die auch diesen Bericht fachlich geprüft hat. Die Bus-Verbindung wird mit einem einzigen Slave zur Punkt-zu-Punkt-Verbindung mit zwei Datenkanälen zur bidirektionalen Kommunikation. Diese Konfiguration wird im Folgenden am Beispiel eines parametrierbaren 24Bit-Winkelgebers als Slave und einer Verarbeitungseinheit bzw. Steuerung als Master beschrieben. Interbus ermöglicht eine Umschaltung von Betriebsmodi, das Beschreiben und Auslesen eines elektronischen Typenschilds und die blockweise Übertragung zeitunkritischer Daten neben den Nutzdaten jeweils in beide Richtungen, das heißt zum Messsystem und zur Verarbeitungseinheit. BiSS und Interbus im Vergleich Die zum Takt synchronisierte Datenübertragung erfolgt bei BiSS wie bei Interbus zyklisch. Zwischen den Zyklen besteht bei BiSS Busruhe (Idle), während Interbus in den Übertragungspausen Statussignale überträgt und Aktivität auf dem Busmedium erzeugt. Während bei Interbus verschiedene Betriebsmodi, z.B. zur Einstellung und Programmierung des Slave oder zur Messdatenübertragung an den Master, durch Vergleich und Erkennung eines seriellen Signals als Bitfolge (als 5Bit Header für jeweils ein Datenoktet) bestimmt werden, kann BiSS-B nur am Zyklusbeginn einen von zwei Modi auswählen mit einer Zeitbedingung nach einer Ereignissteuerung zur Auslösung einer Aktivität des Slave. Es findet also keine laufende Überwachung und kein Vergleich mit einem Referenzsignal statt, z.B. zur Umschaltung von einem in den anderen Modus. In BiSS-C entfällt die Moduswahl überhaupt. Wie Interbus mit seinem Summenrahmenprotokoll beschreibt BiSS ein starres Zyklusprotokoll. Allerdings kennt der BiSS-Zyklus keinen Anforderungsbefehl zur Übertragung von Messwerten (in Interbus der 5Bit-Header u.a. mit SL und Mark-Bit mit unterschiedlichen Befehlen als serielle Datenworte), sondern startet mit einer Zeitbedingung in BiSS-B, bzw. lediglich mit dem Takt in BiSS-C. Zusatzdaten überträgt Interbus blockweise, z.B. als zeitunkritische Parameterdaten innerhalb eines Zyklus und in beide Richtungen, das heißt zum Slave und zum Master. Größere Datenmengen lassen sich als zerlegte Parametersätze scheibchenweise Zyklus für Zyklus übertragen und beim Empfänger wieder zusammensetzen. Als Zusatzdaten werden in BiSS keine Datenblöcke oder -wörter übertragen, sondern nur 1Bit pro Zyklus an fester Position. BiSS-C arbeitet zum Slave nur mit einer Taktsignalfolge, die als 1Bit-Information auf Low oder High endet und für iC-Haus patentiert ist. In Bild 1 sind für eine bidirektionale Master-Slave Verbindung zwischen einer Verarbeitungseinheit und einem parametrierbaren 24Bit-Encoder als Positionsmesssystem die Protokolle für Interbus und BiSS-C dargestellt. Die Nutzdatenrate pro Zyklus beträgt bei Interbus für 24Bit Positions- und 8Bit Parameterdaten 32/130 und bei BiSS für 24Bit Positionsdaten und 1Bit Parameterdaten 25/46 bei jeweils 16Bit Prüfsumme. Interbus sendet zyklisch Summenrahmenprotokolle auf beiden Datenkanälen DO und DI, die durch Statustelegramme mit einer 5Bit-Information eingerahmt werden. Ein Summenrahmen besteht z.B. aus folgenden Datentelegrammen, die jeweils einen 5Bit-Header und ein 8Bit-Datenwort (codiertes Informationsoktet) aufweisen: 3x Positionsdaten (PoD), 1x Paramterdaten (PaD), 2x Loopcheck (LBW), 2x Frame Check (FCS), 2x Endekennung (End). Der Loopcheck LBW ist eine Systemtest-Sequenz, der Frame Check FCS sichert den jeweiligen Dateninhalt im Summenrahmen. Der Header im Datentelegramm (mit SL und Mark) stellt einen Anforderungsbefehl dar, z.B. um die Positionsdaten zur Verarbeitungseinheit zu übertragen. Aus dem Datenstrom kann u.a. der Bustakt separiert werden. Mit dem Select-Signal SL kann der Master zwischen einem Daten- und einem Identifikations-Zyklus auswählen. Die entsprechenden Daten-Telegramme werden zwischen zwei Interbus-Teilnehmern auf der hinlaufenden und auf der rücklaufenden Leitung übertragen. Ein Identifikationszyklus wird außerdem dazu benutzt, Fehler- und Steuerinformationen zu übertragen. Damit erfolgt mit dem SL-Bit eine Umschaltung zwischen einem Programmiermodus mit Registerzugriff und dem Messmodus mit Messdatenübertragung. In der Messdatenübertragung erfolgt eine Synchronisation, z.B. mit dem jeweils ersten Takt einer Daten-Sequenz, d.h. jeweils nach 13Bit, wodurch auch eine Taktübertragung stattfindet. Das BiSS-Protokoll ist ebenfalls zyklisch und starr, verzichtet aber auf die Statustelegramme in den Übertragungspausen, den Header und den Loopcheck. Damit sendet der BiSS-Master keinen Anforderungsbefehl, sondern startet direkt aus der Busruhe mit dem Takt zum Auslesen der Positionsdaten mit Prüfdaten. Der Slave befindet sich immer im Sensor-Modus und ist nicht umschaltbar. Mit dieser kontinuierlichen Sensordatenübertragung bietet BiSS Vorteile in digitalen Motor-Regelungen, die nicht durch Umschaltung in einen Programmiermodus unterbrochen werden. Die Leitung zum Slave weist nur Taktsignale und ein einziges Informationsbit durch den anstehenden Pegel High oder Low am Zyklusende, aber keine zeitkritischen Daten auf. Zeitunkritische Zusatzdaten Im Datenbereich des Interbus werden die hochdynamischen (zeitkritischen) Daten, sogeannte Prozessdaten (z.B. Positionsdaten) des Encoders schnell und zyklisch übertragen. Sind einem Slave, z.B. als Positionsmessgerät, gerätespezifische Parametrier- oder Diagnosedaten als weitere zeitunkritische Daten zugeordnet, müssen zusätzliche Daten-Teil-Bereiche innerhalb des Übertragungsprotokolls bzw. Summenrahmens angelegt werden, die wiederum aus einem 5Bit-Header mit einem Datenoktet bestehen (PaD). Über diese zusätzlichen Bereiche lassen sich dann auch größere Datenmengen als zerlegte Parametersätze scheibchenweise Zyklus für Zyklus übertragen und beim Empfänger wieder zusammensetzen. Damit werden pro Übertragungszyklus im Summenrahmen Datenblöcke der zeitunkritischen Zusatzdaten portionsweise und zeitlich verteilt übertragen und zwar sowohl im Datenkanal zum Messsystem als auch im Datenkanal zur Verarbeitungseinheit. BiSS überträgt Informationen zum Slave nicht in Datenblöcken, sondern stets als einzelnes Bit pro Zyklus am Taktende. Die Übertragung von zeitunkritischen Parameterdaten benötigt also immer mehrere Zyklen. Ebenso erfolgt die Übertragung zeitunkritischer Daten zur Verarbeitungseinheit 1Bit-weise mit der Startsequenz und vor den zeitkritischen Positionsdaten des Encoders. Diese Zeitverzögerung von 1Bit wird als unwesentlich akzeptiert. In dieser Reihenfolge kann dann bei der Inbetriebnahme bzw. beim Hochlauf einer Maschine ein gezielter Abbruch nach diesem Bit erfolgen, um den Zyklus unter Verzicht auf Positionsdaten zu verkürzen. Zusammengefasst sind in BiSS wesentliche Merkmale des Interbus adaptiert, aber auch vereinfacht, um eine hohe Nutzdatenrate und einen geringen Hardwareaufwand zu erreichen. Damit ist BiSS eine bidirektionale, grundsätzlich auch busfähige Schnittstelle zur seriellen Kommunikation mit hochintegrierten Sensoren, z.B. in der Positionselektronik. Interbus ist in der Punkt-zu-Punkt-Device-Ebene eigentlich unterfordert und zielt mit seiner schnellen Buskommunikation auf eine höhere Ebene, in der zudem erhöhte Zusatz-Datenmengen, z.B. zur Programmierung der Teilnehmer übertragen werden. Hannover Messe 2011 / Halle 9, Stand H26