Das Relais-Interface
von Modul-Bus dient der Steuerung von bis zu acht Verbrauchern über
einen PC. Es verfügt über acht vollständig isolierte Schaltkontakte.
Wegen der frei zugänglichen Schraubklemmen ist eine maximale Anschlußspannung
von 24 V erlaubt. Der maximale Schaltstrom beträgt 6 A. Die verwendeten
Relais sind bis 250 V zugelassen. Die Platine ist für die Netzspannung
von 230 V ausreichend isoliert. Bei fachgerechtem Einbau in einen Schaltschrank
oder ein isoliertes Gehäuse kann der Anwender deshalb auf eigene Verantwortung
Netzverbraucher schalten.
Die Stromversorgung erfolgt z.B. über ein ungeregeltes Steckernetzteil mit 12V/0,5A. Ein Netzteil reicht für bis zu 5 Relaiskarten. Als Verbindungsleitung kommen sechspolige Telefon-Verlängerungskabel zum Einsatz, über die sowohl die Betriebsspannung als auch die Steuersignale weitergereicht werden. Beim Betrieb als Steuermodul ohne Relais kann ein beliebiges Netzteil mit 8V bis 24 V eingesetzt werden. Die maximale Gesamtlast für alle Karten ist aber in jedem Fall auf 1 A begrenzt.
Zur Ansteuerung aus eigenen Programmen muß das Protokoll der Relaiskarte bekannt sein. Es soll hier in kurzer Form beschrieben werden.
Die Relaiskarte empfängt mit 9600 Baud, 8 Bit, No Parity, 2 Stopbits, es gibt keinen Rückkanal. Bis zu 16 Karten hängen an der TXD-Leitung des PC.
Jede Steuernachricht vom PC besteht aus genau 5 Bytes:
27 "ESC", Anfang der Nachricht
ID-Adresse 1 bis 16 oder 255 als Generaladresse
Kommando 64 ... 72, siehe unten
Parameter 1, z.B. Bitmuster oder "leerer" Parameter 0
Parameter 2, z.B. "leerer" Parameter 0
Die folgende Tabelle zeigt alle gültigen Kommandos:
Befehl | Kommandobyte | Parameter 1 | Parameter 2 |
Direktausgabe | 64 | Bitmuster | 0 |
EEPROM programmieren | 66 | EE-Adresse | Daten-Byte |
Programmstart | 68 | 0 | 0 |
Programmstop | 70 | 0 | 0 |
ID-Adresse zuweisen | 72 | ID-Adresse | 0 |
Programmstart Einfach-Durchlauf | 74 | 0 | 0 |
Prinzipiell gibt es zwei Betriebsarten:
1. Das Interface reagiert auf direkte Ausgabebefehle über das Kommando
64.
2. Das Interface gibt automatisch die intern im EEPROM gespeicherten Kommandos
aus. Die Daten müssen zuvor mit dem Kommando 70 übertragen werden,
und das Programm muß mit dem Kommando 68 oder 74 gestartet werden.
Das System verfügt über 64 Byte EEPROM zur Aufnahme von Einstellungen und Programmen.
Adresse 0: Device-Adresse 1...16, wird durch Kommando 72 zugewiesen
Adresse 1: Startmodus: 1 = Programmstart aktiv, 0 = Direktmodus aktiv,
2= Programmstart: Einmal
Adresse 2: Highbyte der Zeitbasis, 256 * Wert * 1/16 Sekunden
Adresse 3: Lowbyte der Zeitbasis, Wert * 1/16 Sekunden
Adresse 5: Programm-Bitmuster 1
Adresse 6: Wartezeit 1 als Vielfaches der eingestellten Zeitbasis
Adresse 7: Programm-Bitmuster 2
Adresse 8: Wartezeit 2 oder 0 als Endemarke, 0 wartet eine Zeiteinheit
und führt zum Anfang
Adresse 9: Bitmuster 3 usw.
Insgesamt können bis zu 30 Bitmuster eingegeben werden. Sie werden nach dem Startbefehl zyklisch ausgegeben und beginnen mit jedem Neustart der Relaiskarte auch ohne PC automatisch. Das Gerät nimmt aber auch während eines laufenden Programms Direktkommandos entgegen. Mit jeder neuen automatischen Ausgabe werden die letzten Ausgangszustände überschrieben.
Jede automatische Ausgabe bleibt für 1...255 Zeiteinheiten erhalten. Die Zeiteinheit ist in weiten Grenzen als Vielfache von 1/16 Sekunde einstellbar. Dazu muß ein 16-Bit-Zeitfaktor als Highbyte und Lowbyte in die Speicherstellen 1 und 2 geschrieben werden. Die folgende Liste zeigt einige typische Beispiele:
0, 1: 1/16 Sekunde
0, 8: 1/2 Sekunde
0, 16: 1 Sekunde
3, 192: 1 Minute
225, 0: 1 Stunde
Wählt man als Zeitbasis eine Stunde, dann kann das Programm bis zu 30 * 255 Stunden, also ca. 10 Monate dauern. Als schnellste Ausgabenfolge ist ein Takt von 16 Ausgaben pro Sekunde möglich.
Das Startkommando 68 schreibt "1" in die Speicherzelle 1 und startet den Endloslauf. Nach dem Wiedereinschalten geht das Gerät in den Programm-Endlos-Modus.
Das Startkommando 74 schreibt "2" in die Speicherzelle 1 und startet den Einmal-Durchlauf des Programms. Mit jedem Neustart wird erneut ein einzelner Lauf ausgelöst.
Im Programmodus "Endlos" kann ein Interface als Master den zeitlichen Ablauf aller anderen Interfaces als Slaves steuern bzw. synchronisieren. Das Interface mit der ID-Adresse 1 ist grundsätzlich der Master. Es hält die SYNC-Leitung während des Programmlaufs low und setzt sie nur für die Dauer seines ersten Programmschritts high. Alle Slaves verzögern am Ende ihres Programms den Neubeginn beim Programmschritt 1 bis ein high-Pegel an der SYNC-Leitung erscheint. Der Master erzwingt also einen gleichzeitigen Start. Ist kein Master definiert, dann laufen alle Interfaces frei. Ein externer Schalter (Öffner) zwischen SYNC und Masse kann aber das Startsignal für Einzeldurchläufe liefern.
Die folgende Abbildung zeigt den Anschluß der Datenleitung. Beide Western-Buchsen sind gleich beschaltet und austauschbar. Interfaces werden über Verlängerungskabel eins zu eins verbunden. Das Datenkabel zum PC verwendet nur Masse (Pin 5) und TXD (Pin 3) an einer DB-9-Buchse. Am Pin 1 der Western-Buchse steht die Betriebsspannung zur Verfügung, die über eine Diode verpolungssicher an der Netzteil-Buchse liegt. Mehrere Interfaces können daher wahlweise über ein oder mehrere Netzteile versorgt werden. Die Synchronleitung an Pin 3 ist im Ruhezustand gesetzt und wird vom Master-Interface für die Dauer eines Synchronimpulses auf Nullpegel gezogen. Die Synchronleitung ist hochohmig und darf alternativ auch über einen externen Schaltkontakt (Öffner) gegen Masse gezogen werden. Damit läßt sich eine Schaltsequenz durch kurzes Öffnen des Kontakts extern auslösen.
Pin 1 Betriebsspannung +12 V
Pin 2 Masse
Pin 3 Synchronleitung SYNC
Pin 4 Masse
Pin 5 Datenleitung TXD vom PC
Pin 6 Masse