Programmierung/Parametrisierung V1
- Details
- Kategorie: Servodecoder-8-V1
- Veröffentlicht am Sonntag, 17. Juli 2011 12:03
- Zugriffe: 1447
Programmierung / Parametrisierung mit Multipositions-Modus (Firmwarestand: 05.07.2009)
In den zip-Archiven der Firmware ist jeweils eine redme-Datei enthalten, welche grundlegend die Inbetriebnahme und Parametrisierung des Servodecoders beschreibt. Etwas ausführlicher und am Beispiel der Parametrisierung mittels Handregler Müt HC10 hier eine Beschreibung.
Allgemeines zur Parametrisierung/Programmierung
Zur Programmierung werden die SX-Adressen 0,1 und 2 verwendet. Über diese Adressen werden im Programmiermodus die nötigen Parameter an den Decoder übertragen, um für jeden Servo die linke und rechte Endlage sowie Umlaufgeschwindigkeit einzustellen. Diese Adressen sollten nicht von anderen Modulen am SX-Bus verwendet werden, da Module auf den genannten Adressen sonst mit "Fehlverhalten" auf die sich während der Programmierung ändernden Bitmuster regieren würden. Falls dennoch andere SX-Module die Adressen 0...2 verwenden, können diese für die Programmierung des SX-Servodecoders vom SX-Bus getrennt werden.
Die Programmierung erfolgt über folgende Zuordnung, ähnlich von CVs (Configuration Variables):
SX-Adresse 0: Umlauf-Test: Servoposition links <->rechts. Die Zuordnung der Servos zu den Bits ist 1:1, also Bit 1 = Servo 1, Bit 8 = Servo 8. Diese "Test-Adresse" gilt nur für den Programmiermodus.
SX-Kanal 1: Hier wird der Parameter gewählt, welcher eingestellt werden soll, z.B. "Servo 1, Endlage links" oder "Servo 5, Umalufgeschwindigkeit".
SX-Kanal 2: Hier erfolgt die Einstellung des in SX-Adresse 1 gewählten Parameters. Der Wertebereich für die SX-Steueradresse ist 0...111 und für SX-Rückmeldeadresse, die Endlagen sowie Umalufgeschwindigkeit 0...255, u.s.w.
Hinweis zum Multipositions-Modus:
Für den Multipositionsmodus gibt es insgesamt 4 parametrisierbare MuPo-Blöcke. Diese 4 MuPo-Blöcke belegen folgende Parameter:
- 1. MuPo-Block: CV/Parameter 42...73
- 2. MuPo-Block: CV/Parameter 74...105
- 3. MuPo-Block: CV/Parameter 106...137
- 4. MuPo-Block: CV/Parameter 138...169
Das bedeutet, dass pro MuPo-Block 29 Positionen zur Verfügung stehen (z.B. 42 und 43 = Konfiguration des 1. Blocks, 44...73 = Positionen). Weitere Informationen befinden sich auch im Readme zur Firmware: Link
Hinweis zur Programmierung:
Wird ein Handregler zur Programmierung des Decoders verwendet, muss sich dieser am gleichen SX-Bus befinden, wie der SX-Servodecoder selbst. Bei Verwendung einer Software ist der korrekte SX-Bus zu wählen.
Nachfolgendes Programmierbeispiel bezieht sich auf die Verwendung des Handreglers Müt HC10 oder Rautenhaus (RH) SLX845, wo das Bitmuster 12345678 (also Bit 1 links, Bit 8 rechts im Display) eingegeben wird.
1) Decoder in Programmiermodus setzen
Durch Drücken den Programmiertasters neben der LED wird der SX-Servodecoder in den Programmiermodus versetzt - die LED leuchtet daraufhin dauerhaft. Hierzu muss, sofern der Decoder am SX0-Bus angeschlossen ist, die Gleisspannung ausgeschaltet sein. Sollte die Gleisspannung noch eingeschalten sein, meldet der Decoder einen Fehler - die LED blinkt hierbei 4-mal kurz auf.
2) Einstellen der Parameter
Nachfolgende Tabelle gibt eine Übersicht, mit welchem Parameter in SX-Adresse 1 welcher Wert auf SX-Adresse 2 geändert werden kann. Anhand einer Beispielkonfiguration zum Einstellen der Decoderadresse (Steueradresse auf Adresse 80) und Rückmeldeadresse (auf Steueradresse + 1 => 81) sowie für Servo 5 soll das Vorgehen der Programmierung/Parametrisierung verdeutlicht werden. Analog gilt dieses Vorgehen für alle weiteren Servos.
SX-Steueradresse einstellen:
- Zunächst mittles Handregler oder entsprechender Software die SX-Adresse 1 angewählt.
- In Adresse 1 wird der Wert 0 geschrieben, dass heißt alle Bits dieser Adresse stehen auf 0 (00000000)
- Per Handregler oder Software in Adresse 2 wechseln, es wird das aktuelle Bitmuster der aktuelle Steueradresse angezeigt
- Neue Steueradresse eingeben, dazu das Bitmuster eintragen - in unserem Fall für Adresse 80: 00001010
SX-Rückmeldeadresse einstellen:
- SX-Kanal 1 anwählen und den Wert 1 in Kanal 1 schreiben: 10000000
- SX-Kanal 2 anwählen, es wird die aktuelle Rückmeldekonfigurations angezeigt
- In SX-Kanal 2 den Wert 128 + 1 = 129 schreiben -> Bitmuster: 10000001
Servo 5, Position bei 0 einstellen:
- SX-Kanal 1 anwählen und Wert 22 in Kanal 1 schreiben: 01101000
- SX-Kanal 2 anwählen, es wird die aktuelle Position von Servo 5 bei Steuerbit 0 angezeigt
- In SX-Kanal 2 den neuen Wert für die Position schreiben, z.B. 00101000 (Wert: 20)
Servo 5, Position bei 1 einstellen:
- SX-Kanal 1 anwählen und Wert 23 in Kanal 1 schreiben: 11101000
- SX-Kanal 2 anwählen, es wird die aktuelle Position von Servo 5 bei Steuerbit 1 angezeigt
- In SX-Kanal 2 den neuen Wert für die Position schreiben, z.B. 01101100 (Wert: 54)
Servo 5, Umlaufgeschwindigkeit einstellen:
- SX-Kanal 1 anwählen und Wert 24 in Kanal 1 schreiben: 00011000
- SX-Kanal 2 anwählen, es wird die aktuelle Geschwindigkeit von Servo 5 angezeigt
- In SX-Kanal 2 den neuen Wert für die Geschwindigkeit schreiben, z.B. 00100000 (Wert: 4)
Servo 5, Modus einstellen (ohne Multipositionierung):
- SX-Kanal 1 anwählen und Wert 25 in Kanal 1 schreiben: 10011000
- SX-Kanal 2 anwählen, es wird der aktuelle Modus angezeigt
- In SX-Kanal 2 den neuen Wert für den Modus schreiben, z.B. 00000000 (Wert: 0 -> normal, ohne MuPo)
Test der neuen Einstellungen für Servo 5:
- SX-Kanal 0 anwählen
- Bit 5 in Kanal 0 hin- und her-schalten -> Servo 5 fährt die Positionen (0/1 bzw. links/rechts) in gewählter Umlaufgeschwindigkeit gemäß Parametrisierung an
ODER : MuPo-Modus aktivieren:
Servo 5, Modus einstellen (mit Multipositionierung, 4 Positionen):
- SX-Kanal 1 anwählen und Wert 25 in Kanal 1 schreiben: 10011000
- SX-Kanal 2 anwählen, es wird der aktuelle Modus angezeigt
- In SX-Kanal 2 den neuen Wert für den Modus schreiben, z.B. 10000000 (Wert: 1 -> MuPo aktiviert)
- SX-Kanal 1 anwählen und Wert 26 in Kanal 1 schreiben: 01011000
- SX-Kanal 2 anwählen, es wird der aktuelle MuPo-Block angezeigt
- In SX-Kanal 2 den neuen Wert für den MuPo-Block schreiben, z.B. 00000000 (Wert: 0 -> Block 1)
- SX-Kanal 1 anwählen und Wert 42 (Angabe der Blocknummer) in Kanal 1 schreiben: 01010100
- In SX-kanal 2 den neuen Wert für dessen Blocknummer schreiben: 00000000 (Wert: 0 = 1. Block)
- SX-Kanal 1 anwählen und Wert 43 (Anzahl der Positionen) in Kanal 1 schreiben: 11010100
- In SX-Kanal 2 den Wert für Anzahl der Positionen schreiben: 11000000 (Wert: 3 = Anzahl der gewünschten Positionen (4) -1)
- SX-Kanal 1 anwählen und Wert 44 (1. Position) in Kanal 1 schreiben: 11010100
- In SX-Kanal 2 den neuen Wert für die Position 1 schreiben, z.B. 00001010 (Wert: 80)
- SX-Kanal 1 anwählen und Wert 45 (2. Position) in Kanal 1 schreiben: 10110100
- In SX-Kanal 2 den neuen Wert für die Position 2 schreiben, z.B. 00100110 (Wert: 100)
- SX-Kanal 1 anwählen und Wert 46 (3. Position) in Kanal 1 schreiben: 01110100
- In SX-Kanal 2 den neuen Wert für die Position 3 schreiben, z.B. 0001110 (Wert: 120)
- SX-Kanal 1 anwählen und Wert 47 (4. Position) in Kanal 1 schreiben: 11110100
- In SX-Kanal 2 den neuen Wert für die Position 4 schreiben, z.B. 00110001 (Wert: 140)
WEITERE ERGÄNZUNGEN FOLGEN!!!
| |
Parameter |
Bitmuster |
Bitmuster
|
Zuordnung |
| Decoder | CV0 | 00000000 | 00000000 | SX-Adresse |
| CV1 | 10000000 | 00000001 | SX-Rückmelde-Adresse | |
| Servo 1 | CV2 | 01000000 | 00000010 | Position bei 0 |
| CV3 | 11000000 | 00000011 | Position bei 1 | |
| CV4 | 00100000 | 00000100 | Umlaufgeschwindigkeit | |
| CV5 | 10100000 | 00000101 | Modus (0=normal, 1=MuPo, 255=Ausgang deaktiviert) | |
| CV6 | 01100000 | 00000110 | Blocknummer, der die erw. Parameter enthält (insg. 4 Blöcke, Block 1=0, Block 2=1, Block 3=2, Block 4=3) |
|
| Servo 2 | CV7 | 11100000 | 00000111 | Position bei 0 |
| CV8 | 00010000 | 00001000 | Position bei 1 | |
| CV9 | 10010000 | 00001001 | Umlaufgeschwindigkeit | |
|
CV10 |
01010000 | 00001010 | Modus (0=normal, 1=MuPo, 255=Ausgang deaktiviert) | |
| CV11 | 11010000 | 00001011 | Blocknummer, der die erw. Parameter enthält (insg. 4 Blöcke, Block 1=0, Block 2=1, Block 3=2, Block 4=3) | |
| Servo 3 |
CV12 |
00110000 | 00001100 | Position bei 0 |
| CV13 | 10110000 | 00001101 | Position bei 1 | |
| CV14 | 01110000 | 00001110 | Umlaufgeschwindigkeit | |
| CV15 | 11110000 | 00001111 | Modus (0=normal, 1=MuPo, 255=Ausgang deaktiviert) | |
| CV16 | 00001000 | 00010000 | Blocknummer, der die erw. Parameter enthält (insg. 4 Blöcke, Block 1=0, Block 2=1, Block 3=2, Block 4=3) | |
| Servo 4 | CV17 | 10001000 | 00010001 | Position bei 0 |
| CV18 | 01001000 | 00010010 | Position bei 1 | |
| CV19 | 11001000 | 00010011 | Umlaufgeschwindigkeit | |
| CV20 | 00101000 | 00010100 | Modus (0=normal, 1=MuPo, 255=Ausgang deaktiviert) | |
| CV21 | 10101000 | 00010101 | Blocknummer, der die erw. Parameter enthält (insg. 4 Blöcke, Block 1=0, Block 2=1, Block 3=2, Block 4=3) | |
| Servo 5 |
CV22 |
01101000 | 00010110 | Position bei 0 |
| CV23 | 11101000 | 00010111 | Position bei 1 | |
| CV24 | 00011000 | 00011000 | Umlaufgeschwindigkeit | |
| CV25 | 10011000 | 00011001 | Modus (0=normal, 1=MuPo, 255=Ausgang deaktiviert) | |
| CV26 | 01011000 | 00011010 | Blocknummer, der die erw. Parameter enthält (insg. 4 Blöcke, Block 1=0, Block 2=1, Block 3=2, Block 4=3) | |
| Servo 6 | CV27 | 11011000 | 00011011 | Position bei 0 |
| CV28 | 00111000 | 00011100 | Position bei 1 | |
| CV29 | 10111000 | 00011101 | Umlaufgeschwindigkeit | |
| CV30 | 01111000 | 00011110 | Modus (0=normal, 1=MuPo, 255=Ausgang deaktiviert) | |
| CV31 | 11111000 | 00011111 | Blocknummer, der die erw. Parameter enthält (insg. 4 Blöcke, Block 1=0, Block 2=1, Block 3=2, Block 4=3) | |
| Servo 7 | CV32 | 00000100 | 00100000 | Position bei 0 |
| CV33 | 10000100 | 00100001 | Position bei 1 | |
| CV34 | 01000100 | 00100010 | Umlaufgeschwindigkeit | |
| CV35 | 11000100 | 00100011 | Modus (0=normal, 1=MuPo, 255=Ausgang deaktiviert) | |
| CV36 | 00100100 | 00100100 | Blocknummer, der die erw. Parameter enthält (insg. 4 Blöcke, Block 1=0, Block 2=1, Block 3=2, Block 4=3) | |
| Servo 8 | CV37 | 10100100 | 00100101 | Position bei 0 |
| CV38 | 01100100 | 00100110 | Position bei 1 | |
| CV39 | 11100100 | 00100111 | Umlaufgeschwindigkeit | |
| CV40 | 00010100 | 00101000 | Modus (0=normal, 1=MuPo, 255=Ausgang deaktiviert) | |
| CV41 | 10010100 | 00101001 | Blocknummer, der die erw. Parameter enthält (insg. 4 Blöcke, Block 1=0, Block 2=1, Block 3=2, Block 4=3) |
3) Programmiermodus beenden
Durch drücken des Programmiertasters oder Einschalten der Gleisspannung wird der Programmiermodus verlassen und die neuen Parameter im EEPROM dauerhaft abgespeichert.
Dateien / Download
Die Firmwares gibt's hier: Link
Die jeweils letzte Datei ist die aktuelle Version.
Alle Dateien unterliegen der GPL!

