Programmierung/Parametrisierung V1

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
(12345678)

Bitmuster
(76543210)

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!