Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
faq:ibis [2015/09/09 12:28]
hess created
faq:ibis [2023/11/09 16:07] (current)
fachet [IBIS-Wagenbus (VDV 300)]
Line 1: Line 1:
-====== IBIS-Wagenbus ​=====+====== Integriertes Bord-Informations-System (IBIS) ====== 
 +===== IBIS-Wagenbus ​(VDV 300) ====
 Dieser Artikel soll Ihnen einen kurzen Überblick über die Funktionsweise des IBIS Wagenbus geben. Er behandelt die wichtigsten Grundbegriffe und Eckdaten, kann jedoch kein Ersatz eines detailierten Studiums der elektrischen Spezifikationen,​ des IBIS-Protokolls oder der IBIS-Telegrammdefinition sein. Der IBIS-Wagenbus dient der Kommunikation der in einem Fahrzeug eingebauten Bordsysteme,​ wie z.B. Bordrechner,​ Anzeigen, Ansagegeräte usw. Dieser Artikel soll Ihnen einen kurzen Überblick über die Funktionsweise des IBIS Wagenbus geben. Er behandelt die wichtigsten Grundbegriffe und Eckdaten, kann jedoch kein Ersatz eines detailierten Studiums der elektrischen Spezifikationen,​ des IBIS-Protokolls oder der IBIS-Telegrammdefinition sein. Der IBIS-Wagenbus dient der Kommunikation der in einem Fahrzeug eingebauten Bordsysteme,​ wie z.B. Bordrechner,​ Anzeigen, Ansagegeräte usw.
  
 Die Abkürzung ''​IBIS''​ steht für ''​Integriertes Bord-Informations-System''​. Es kann an jedem IBIS-Wagenbus ein und nur ein Hauptgerät,​ den sogenannten IBIS-Master,​ geben sowie einer Anzahl Nebengeräte,​ sogenannte IBIS-Slaves. (Die genaue Anzahl ist von der Leistungsaufnahme der einzelnen Geräte abhängig. Der IBIS-Bus darf maximl 30 sog. Buslasten haben. Wieviel Buslasten ein Slavegerät beansprucht,​ finden Sie in der Dokumentation des Gerätes. Die Abkürzung ''​IBIS''​ steht für ''​Integriertes Bord-Informations-System''​. Es kann an jedem IBIS-Wagenbus ein und nur ein Hauptgerät,​ den sogenannten IBIS-Master,​ geben sowie einer Anzahl Nebengeräte,​ sogenannte IBIS-Slaves. (Die genaue Anzahl ist von der Leistungsaufnahme der einzelnen Geräte abhängig. Der IBIS-Bus darf maximl 30 sog. Buslasten haben. Wieviel Buslasten ein Slavegerät beansprucht,​ finden Sie in der Dokumentation des Gerätes.
  
-Die Kommunikation wird über zwei Datenleitungen (Aufruf- und Antwortbus; jeweils vom IBIS-Master aus gesehen) realisiert. Beide Datenleitungen werden vom IBIS-Master mit Spannung ersehen. Diese ist auch das Entscheidungskriterium für Geräte, ob am Bus ein Master vorhanden ist der nicht. Der NB37xx kann den Zustand des Aufruf- und Antwortbus via SDK über die LEDs an seiner Frontseite anzeigen. Die einzelnen Geräte kommunizieren über ASCII-Telegramme miteinander. Der Aufbau und die Bedeutung dieser Telegramme sind in der VDV-Schrift Nr. 300 spezifiziert.+Die Kommunikation wird über zwei Datenleitungen (Aufruf- und Antwortbus; jeweils vom IBIS-Master aus gesehen) realisiert. Beide Datenleitungen werden vom IBIS-Master mit Spannung ersehen. Diese ist auch das Entscheidungskriterium für Geräte, ob am Bus ein Master vorhanden ist der nicht. Der NB37xx kann den Zustand des Aufruf- und Antwortbus via SDK über die LEDs an seiner Frontseite anzeigen. Die einzelnen Geräte kommunizieren über ASCII-Telegramme miteinander. Der Aufbau und die Bedeutung dieser Telegramme sind in der  ​[[https://​www.vdv.de/​vdv-mitteilung-3001.pdfx|VDV-Schrift Nr. 300]] spezifiziert.
  
-===== IBIS-Master ​=====+==== IBIS-Master ====
 Der IBIS-Master ist das einzige Gerät am IBIS-Bus, das spontan - also ohne vorher von einem Der IBIS-Master ist das einzige Gerät am IBIS-Bus, das spontan - also ohne vorher von einem
 anderen Gerät dazu aufgefordert worden zu sein - Telegramme versenden darf. Einem IBIS-Slave ist anderen Gerät dazu aufgefordert worden zu sein - Telegramme versenden darf. Einem IBIS-Slave ist
Line 20: Line 21:
 Fehler dar. Fehler dar.
  
-===== IBIS-Slave ​=====+==== IBIS-Slave ====
 IBIS-Slavegeräte sind in der Regel Peripheriegeräte wie z.B. Anzeigen, Fahrscheinautomaten usw. IBIS-Slaves dürfen nur dann an der Kommunikation aktiv teilnehmen, wenn sie vom IBIS-Master dazu aufgefordert werden. Ein IBIS-Slave darf also auf ein "​Frage"​ des Masters antworten, aber nur dann. Er darf nie aus sich heraus Daten auf den IBIS-Bus schicken. IBIS-Slavegeräte sind in der Regel Peripheriegeräte wie z.B. Anzeigen, Fahrscheinautomaten usw. IBIS-Slaves dürfen nur dann an der Kommunikation aktiv teilnehmen, wenn sie vom IBIS-Master dazu aufgefordert werden. Ein IBIS-Slave darf also auf ein "​Frage"​ des Masters antworten, aber nur dann. Er darf nie aus sich heraus Daten auf den IBIS-Bus schicken.
 Die Antwort muss nach der IBIS-Spezifikation binnen einer Bitlaufzeit erfolgen, sonst ist die Antwort nicht gültig. Durch die Taktung des IBIS-Wagenbus ergibt sich damit eine maximale Antwortzeit von ca. einer Millisekunde. Die Praxis zeigt jedoch, dass diese vorgeschriebene,​ aber sehr kurze Antwortzeit von den meisten Geräten nicht gehalten werden kann. Daher sind die meisten IBIS-Mastergeräte (i.d.R. Bordrechner,​ Kassensysteme usw.) toleranter bezüglicher der zulässigen Antwortzeit. Dies ist jedoch herstellerabhängig. Die Antwort muss nach der IBIS-Spezifikation binnen einer Bitlaufzeit erfolgen, sonst ist die Antwort nicht gültig. Durch die Taktung des IBIS-Wagenbus ergibt sich damit eine maximale Antwortzeit von ca. einer Millisekunde. Die Praxis zeigt jedoch, dass diese vorgeschriebene,​ aber sehr kurze Antwortzeit von den meisten Geräten nicht gehalten werden kann. Daher sind die meisten IBIS-Mastergeräte (i.d.R. Bordrechner,​ Kassensysteme usw.) toleranter bezüglicher der zulässigen Antwortzeit. Dies ist jedoch herstellerabhängig.
Line 26: Line 27:
 Eine Antwort hat immer direkt im Anschluss auf die zugehörige Anfrage zu erfolgen. Sobald auch nur ein weiteres Byte auf dem Bus versendet worden ist (z.B. das nächste Mastertelegramm) ist die Antwort ungültig. Ein Gerät darf pro Masteranfrage eine und nur eine Antwort versenden. ​ Eine Antwort hat immer direkt im Anschluss auf die zugehörige Anfrage zu erfolgen. Sobald auch nur ein weiteres Byte auf dem Bus versendet worden ist (z.B. das nächste Mastertelegramm) ist die Antwort ungültig. Ein Gerät darf pro Masteranfrage eine und nur eine Antwort versenden. ​
 Zum Anschluss des Gerätes an den IBIS-Bus beachten Sie bitte das Anschlussbild im Handbuch mit den Hinweisen zur Steckerbelegungen. Zum Anschluss des Gerätes an den IBIS-Bus beachten Sie bitte das Anschlussbild im Handbuch mit den Hinweisen zur Steckerbelegungen.
-===== IBIS-Gateway ===== 
  
-===== IBIS-Telegramme ​=====+==== IBIS-Telegramme ====
 Der Aufbau und die Bedeutung der IBIS-Telegramme sind in der VDV-Schrift 300 definiert. Mittlerweile Der Aufbau und die Bedeutung der IBIS-Telegramme sind in der VDV-Schrift 300 definiert. Mittlerweile
 haben sich auch einige, darüber hinausgehende,​ herstellereigene Varianten an IBIS-Telegrammen haben sich auch einige, darüber hinausgehende,​ herstellereigene Varianten an IBIS-Telegrammen
Line 38: Line 38:
     * Alle Telegramme ab 110 bis 199 sind Slavetelegramme.     * Alle Telegramme ab 110 bis 199 sind Slavetelegramme.
     * Telegramme über 200 sind Zugbustelegramme.     * Telegramme über 200 sind Zugbustelegramme.
-  - Die meisten IBIS-Telegramme sind eindeutig, das heisst, es ist bereits aus dem Telegramm heraus eindeutig feststellbar,​ um welchen IBIS-Datensatz es sich handelt. Dies trifft aber bedauerlicherweise nicht auf alle Telegramme zu. So kann z.B. das IBIS-Telegramm ''​bF''​ sowohl ein Datensatz 082 - also ein Masterdatensatz - als auch ein Datensatz 181, was eine Slaveantwort ist, darstellen. In solchen Fällen ist aufgrund des Telegramms nicht mehr entscheidbar,​ welcher Datensatz tatsächlich vorliegt. Diese Unterscheidung ist nur noch möglich, wenn man mit in Betracht zieht, auf welchem Datenbus das Telegramm verschickt wurde. Telegramme des Antwortbus sollten nur Slavetelegramme sein, +  - Die meisten IBIS-Telegramme sind eindeutig, das heisst, es ist bereits aus dem Telegramm heraus eindeutig feststellbar,​ um welchen IBIS-Datensatz es sich handelt. Dies trifft aber bedauerlicherweise nicht auf alle Telegramme zu. So kann z.B. das IBIS-Telegramm ''​bF''​ sowohl ein Datensatz 082 - also ein Masterdatensatz - als auch ein Datensatz 181, was eine Slaveantwort ist, darstellen. In solchen Fällen ist aufgrund des Telegramms nicht mehr entscheidbar,​ welcher Datensatz tatsächlich vorliegt. Diese Unterscheidung ist nur noch möglich, wenn man mit in Betracht zieht, auf welchem Datenbus das Telegramm verschickt wurde. Telegramme des Antwortbus sollten nur Slavetelegramme sein, während auf dem Aufrufbus nur Mastertelegramme verschickt werden sollten. 
-während auf dem Aufrufbus nur Mastertelegramme verschickt werden sollten. +  - Die meisten der Datensätze größer 200 sind völlig identisch zu den entsprechenden Datensätzen unter 200. So ist z.B. Datensatz 203a identisch mit Datensatz 003a. Der Unterschied zwischen diesen beiden Gruppen liegt ausschliesslich ​darin in welchem Fahrzeug (Bus oder Bahn) der jeweilige Datensatz verschickt wird. Dies ist ein Umstand, den der NB37xx ​nicht mehr erkennen kann.
-  - Die meisten der Datensätze größer 200 sind völlig identisch zu den entsprechenden Datensätzen unter 200. So ist z.B. Datensatz 203a identisch mit Datensatz 003a. Der Unterschied zwischen diesen beiden Gruppen liegt ausschließlich ​darin in welchem Fahrzeug (Bus oder Bahn) der jeweilige Datensatz verschickt wird. Dies ist ein Umstand, den der IWT-2000 ​nicht mehr erkennen kann.+
  
 IBIS-Wagenbustelegramme werden als ASCII-Text übertragen. Als Endezeichen eines Telegrammes IBIS-Wagenbustelegramme werden als ASCII-Text übertragen. Als Endezeichen eines Telegrammes
Line 46: Line 45:
 werden. Jedes <CR> wird als Telegrammende angesehen. Daraus ergibt sich, dass innerhalb eines werden. Jedes <CR> wird als Telegrammende angesehen. Daraus ergibt sich, dass innerhalb eines
 gültigen IBIS-Telegramms nie ein <CR> auftauchen darf. gültigen IBIS-Telegramms nie ein <CR> auftauchen darf.
 +
 +===== IBIS-IP (VDV 301) =====
 +[[https://​www.vdv.de/​vdv-301-1-ibis-ip-teil-1-systemarchitektur.pdfx | Internetprotokoll basiertes integriertes
 +Bordinformationssystem ]]
 +===== IBIS-Scripte =====
 +  * [[sdk:​ibis2ascii|]] replacing umlauts
 +  * [[sdk:​ibis-example|]] example how to access ibis data