Protokolle und Steuerungen
Über mich
Eine Zeit lang war ich bei einer Firma beschäftigt, die Studioanlagen baut, ganze
Systeme plant und Steuergeräte einsetzte, die für einige Funktionen
einfach unerlässlich waren. Damals wurden solche Aufgaben mit einem einfachen
Z80-Prozessorboard mit verschiedenen Ein-/Ausgangskarten
gelöst, und zwar ausschließlich in Assembler.
Ein Nachteil dieses Systems war, dass der Code in einem EPROM abgelegt war und
die Konfiguration bzw. die Modifikation eines solchen Systems
nur durch Neuprogrammierung und Tausch möglich war.
Im Interesse der Kunden sind solche Ansätze heute nicht mehr zu empfehlen;
es sei denn, es ist ein sehr einfaches System gewünscht, welches
selten Modifikationen benötigt.
Es gab zwischenzeitlich (ca. 1992) eine Weiterentwicklung des Z80-Systems mit
Einsatz von programmierbarer Logik, mehr Schnittstellen, etc.
Beruhigend ist, dass alle der damals auf der Basis des Z80
eingesetzten Geräte ohne Ausfälle ihren Dienst verrichten, und das seit teilweise
über 20 Jahren.
Grundlagen und Aufgabenstellungen
In der Studiotechnik werden oft Sonderlösungen gewünscht, um die Arbeit
dort zu vereinfachen bzw. den gesamten Ablauf zu rationalisieren.
So werden z.B. Umschaltvorgänge
oder Umkonfigurationen von Geräten, Signalisierungen oder bestimmte Steuervorgänge
automatisiert. Meistens erfolgt dies mit dem Einsatz eines für bestimmte Aufgaben
programmierten Steuergerätes, welches in der Regel für diesen bestimmten Einsatz
geplant, gebaut und programmiert wird.
So werden z.B. Geräte mit serieller oder paralleler Schnittstelle,
mit einem Netzwerk-Interface oder mit spannungsführenden Ein-/Ausgängen
(meistens 5 bis 48VDC) miteinander verkoppelt und zu einem Gesamtsystem zusammengeführt.
Unter anderem können dies sein:
- Tally-Signalisierung: Das bekannte "rote Licht" auf den Monitorn und Kameras und diverser Gerät in TV-Studios
- Umschaltungen: 16:9-Format-Umschaltung, Havarie (Notfall)-Umschaltungen, Logo-Einblendungen und dergleichen, Studio-A/B-Umschaltungen
- Automatisch gesteuerte Bildeintastungen wie Telefonnummer, VPS, etc.
- Kamera-Kontrollen
Meistens ist es so, dass Geräte nicht die gleiche "Sprache" sprechen, jedes hat
seine eigene Befehlssyntax oder wird unterschiedlich angesteuert.
Folgende serielle Interface-Standards sind unter anderem geläufig:
- RS-485
- RS-422
- RS-232
Es gibt eine Vielzahl herstellerspezifische, serielle Protokolle. Um einige zu nennen:
- SONY-Betacam/Betacam-SP Remote 9-Pin Connector
- SONY Serial Tally (z.B. DVS-7000)
- Grass Valley Serial Interface (z.B. AMX-100)
- AES-EBU ES-Bus (Tech. 3245-E) (z.B. BTS CE-2500, CE-3000, etc.)
- pro-bel/Chyron (General Remote, General Switcher, Multi-Drop, etc.)
- Imagestore (Oxtel Imagestore, BugBurner, EasyKey)
- Aston Motif Serial Port
- BTS Automation Interface Protocol (z.B: DD20, DD30)
- ....
Protokoll-Vereinheitlichung
Wünschenswert war es eigentlich immer, alle Geräte mit einem Protokoll, bzw. einer
Untermenge eines bestimmten Protokolls, anzusprechen. Dieses Vorhaben wird immer mehr
erfüllt, leider nicht so schnell, wie es wünschenswert ist.
Wenn alle Geräte mit einer einheitlichen Schnittstelle und einem
einheitlichen Protokoll ausgestattet wären, würde es den Verdrahtungsaufwand und die
Konfiguration wesentlich vereinfachen.
So hat sich z.B. netzwerkseitig
SNMP
immer mehr als Steuerungsprotokoll durchgesetzt. Eine Zeitlang wurde
ES-Bus
immer wieder in Betracht gezogen.
Ein hervorragendes, aber damals schwer zu implementierendes Protokoll,
welches einer genauen Gerätezuordnung und einer guten Dokumentation bedarf.
Über den momentanen Stand und Einsatz dieses Protokolls bin ich nicht informiert.
Eine Schnittstelle, ein Protokoll
Heutzutage gehört es einfach "zum guten Ton" eines Herstellers, sein Gerät mit einem
Embedded Controller auszustatten, welcher mit einem Betriebssystem (Embedded OS)
und einem vollständigen IP-Stack ausgestattet ist.
Meistens gehört dazu auch ein integrierter Webserver, ein FTP-Server und (sehr vorteilhaft) ein
SNMP-Daemon mit kompletter Dokumentation welcher es ermöglicht, über eine sogenannte
MIB (Message Information Base) auf alle erforderlichen Parameter zur Steuerung dieses Gerätes
lesend und schreibend zuzugreifen.
Für diese Aufgabe gibt es Tools, die eine Programmierung und damit auch eine Automatisierung
für verschiedene Plattformen (MS-Windows, HP-UX, Linux, BSD, etc.) sehr vereinfachen.
In der Regel benutzt man für diese Aufgaben die Sprachen C und C++.