loconet:ln-pe-de
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
— | loconet:ln-pe-de [2018/11/12 08:56] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== LocoNet Protokoll ====== | ||
+ | [[: | ||
+ | \\ | ||
+ | [[: | ||
+ | * **LocoNet-Protokoll** | [[: | ||
+ | * [[: | ||
+ | // \\ // \\ | ||
+ | ===== Copyright ===== | ||
+ | LocoNet® Personal Use Edition 1.0 SPECIFICATION: | ||
+ | Digitrax Inc., Norcross GA 30071\\ | ||
+ | October 16, 1997\\ | ||
+ | ©Copyrighted material, all rights reserved.\\ | ||
+ | |||
+ | Diese Wiki-Seite basiert auf [[http:// | ||
+ | |||
+ | \\ | ||
+ | |||
+ | |||
+ | \\ | ||
+ | |||
+ | =====Prüfsumme (Checksum)===== | ||
+ | Die Daten-Bytes auf dem LocoNet® sind als 8-Bit-Daten definiert, die mit dem als letztes Bit im Oktett übertragenen höchstwertigen Bit (ms) eine Befehlscode-Markierung (OPCODE) erhalten. Wenn das ms-Bit (D7) 1 ist, werden die 7 geringwertigeren Bits als Netzwerk-OPCODE interpretiert. Dieses OPCODE-Byte ist immner nur einmal in einer gültigen Nachricht enthalten und ist das **erste** Byte einer Nachricht. In allen überigen Bytes der Nachricht muss inklusive des letzten Prüfsummenbytes (CHECKSUM) das höchstwertige Bit auf 0 gesetzt sein. Die CHECKSUM ist das Einer-COMPLEMENT eines Exclusiv-Oder über alle Bytes der Nachricht, außer der CHECKSUM selbst. Um die Datengenauigkeit zu prüfen, sind alle Bytes einer korrekten Nachricht exclusiv-oder-verknüpft. Wenn der resultierende Wert hexadezimal " | ||
+ | \\ | ||
+ | =====Nachrichtenlänge (Message Length)===== | ||
+ | Die OPCODES werden auf eine bestimmte Nachrichtenlänge geprüft und die nachfolgende Nachricht wird in der entsprechenden Länge erwartet. In den Daten-Bits D6 und D5 ist die Nachrichtenlänge kodiert. **D3=1 bedeutet " | ||
+ | ^ D7 ^ D6 ^ D5 ^ D4 ^ D3 ^ D2 ^ D1 ^ D0 ^ | ||
+ | | 1 | 0 | 0 | F | D | C | B | A | Nachricht hat 2 Bytes, inkl. Prüfsumme | | ||
+ | | 1 | 0 | 1 | F | D | C | B | A | Nachricht hat 4 Bytes, inkl. Prüfsumme | | ||
+ | | 1 | 1 | 0 | F | D | C | B | A | Nachricht hat 6 Bytes, inkl. Prüfsumme | | ||
+ | | 1 | 1 | 1 | F | D | C | B | A | Nachricht in N Bytes, wobei das nächste Byte in der Nachricht ein 7-Bit-Zählwert ist (BYTE COUNT) |\\ | ||
+ | A,B,C,D u. F sind Bits, mit denen 32 OPCODES je Nachrichtenlänge verfügbar sind. | ||
+ | |||
+ | =====Wiederholungs-Zeitschlitze (Refresh Slots)===== | ||
+ | Das Modell des Wiederholungs-Stapels im Steuerungssystem (MASTER) ist eine Anordnung von bis zu 120 Schreib/ | ||
+ | SLOT #124 ist Schreib/ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | =====Standard-Adress-Auswahl (Standard Address Selection)===== | ||
+ | Um einen MOBILE- oder LOCOMOTIVE-Decoder-Auftrag im Wiederholungs-Stapel anzufragenn, | ||
+ | |||
+ | **Hinweis: | ||
+ | Es können aber die < | ||
+ | \\ | ||
+ | **Eine Regler-Einheit muß die "SLOT READ DATA" | ||
+ | \\ | ||
+ | Wenn die SLOT-Antwort ergibt, dass die Abfrage der betreffenden Lokomotive bereits verwendet wird (IN_USE) oder in einer Mehrfachtraktion (UP-CONSISTED) gebunden ist (d.h. SL_CONUP Bit 6 von STATUS1 = 1), sollte der Benutzer den SLOT nicht verwenden. Jede Lok einer Merfachtraktion muß vor Verwendung zunächst ungebunden (UNLINKED) sein! Ergebnisse von LINK- und UNLINK-Befehlen werden immer bearbeitet, während der Master berechtigt ist, die zurückgemeldete SLOT-Nummer zu ändern und den Bindungs-Auftrag unter bestimmten Umständen zurückzuweisen. Die zurückgemeldete SLOT-Nummer und die LINK-UP/ | ||
+ | \\ | ||
+ | Die Regler-Einheit versucht dann die Geschwindigkeit, | ||
+ | \\ | ||
+ | Wird die Regler-Einheit vom LocoNet® getrennt, erfolgt nach einer Wiederherstellung der Verbindung (wenn der Regler den SLOT vor der Trennung behält) eine Abfrage der Daten des SLOTs, der vorher benutzt wurde. Wenn der gemeldete STATUS sowie Geschwindigkeits-, | ||
+ | \\ | ||
+ | Mit dieser Prozedur benötigt die Regler-Einheit keine eindeutige " | ||
+ | \\ | ||
+ | =====Abfertigung (Dispatching)===== | ||
+ | SLOTs aktiver Lokomotiven (einschl. der ersten in Mehrfachtraktionen) können für die Zuweisung zu BT2-Reglern (für 2 Personen) im Abfertigungs-Modus (DISPATCH) freigegeben sein. In diesem Fall fragt ein BT2-Regler, wenn er in seinem normalen Modus arbeitet, nach einem Abfertigungs-SLOT (DISPATCH SLOT), der für ein Gerät mit Aufsichtsfunktion vorbereitet ist. | ||
+ | Das ermöglicht Club-Betrieb, | ||
+ | \\ | ||
+ | Zur **Übergabe (DISPATCH PUT)** eines SLOTs wird ein "SLOT MOVE" **in** den SLOT 0 ausgeführt. In diesem Fall wird das Ziel "SLOT 0" nicht kopiert, aber die Quell-SLOT-Nummer wird durch das System im Abfertigungs-(DISPATCH)-SLOT markiert. Dies ist ein Stapel mit "Tiefe eins" ("one deep stack" | ||
+ | \\ | ||
+ | Zur **Übernahme (DISPATCH GET)** eines SLOTs wird ein "SLOT MOVE" **aus** dem SLOT 0 ausgeführt (ein Ziel wird nicht benötigt). Wenn dort ein zur Abfertigung (DISPATCH) markierter SLOT im System ist, wird mit einem "SLOT Daten lesen" (SLOT DATA READ) (''< | ||
+ | \\ | ||
+ | =====Zukünftige Erweiterungen (Future Expansion Codes)===== | ||
+ | Unmittelbare Befehlscode kann von einem Gerät an den Master gesendet werden. Dieser wird in DCC-Pakete konvertiert und als nächstes Paket zum Gleis gesendet. Diese Pakete werden in keinen Wiederholungs-Stapel eingetragen. Sie sind in einem System verfügbar, das auf dem DCS100/" | ||
+ | \\ | ||
+ | Befehlscode für den Zugriff zu einem zusätzlichen Servicemodus " | ||
+ | \\ | ||
+ | **Hinweis: | ||
+ | Entwickler, der dieses Protokoll korrekt implementiert, | ||
+ | \\ | ||
+ | === Die folgenden Tabellen wurden nicht übersetzt === | ||
+ | \\ | ||
+ | ===== 2 Byte Message Opcodes ===== | ||
+ | FORMAT | ||
+ | < | ||
+ | | Opcode | ||
+ | ^ Symbol | ||
+ | | **OPC_IDLE** | ||
+ | | **OPC_GPON** | ||
+ | | **OPC_GPOFF** | 0x82 | GLOBAL power OFF req | - | - | | ||
+ | | **OPC_BUSY** | ||
+ | |||
+ | \\ | ||
+ | ===== 4 Byte Message Opcodes ===== | ||
+ | FORMAT | ||
+ | < | ||
+ | | Opcode | ||
+ | ^ Symbol | ||
+ | | **OPC_LOCO_ADR** | 0xBF | Request loco address, if not found master puts address in a free slot. | 0 | [[loconet: | ||
+ | | **OPC_SW_ACK** | 0xBD | Request switch with acknoledge function. | [[loconet: | ||
+ | | **OPC_SW_STATE** | 0xBC | Request state of switch. | [[loconet: | ||
+ | | **OPC_RQ_SL_DATA** | 0xBB | Request slot data/status block | [[loconet: | ||
+ | | **OPC_MOVE_SLOTS** | 0xBA | Move slot SRC to DST | [[loconet: | ||
+ | | **OPC_LINK_SLOTS** | 0xB9 | Link slot ARG1 to slot ARG2 | [[loconet: | ||
+ | | **OPC_UNLINK_SLOTS** | 0xB8 | Unlink slot ARG1 from slot ARG2 | [[loconet: | ||
+ | | **OPC_CONSIST_FUNC** | 0xB6 | Set FUNC bits in a CONSIST uplink element | [[loconet: | ||
+ | | **OPC_SLOT_STAT1** | 0xB5 | Write slot stat1 | [[loconet: | ||
+ | | **OPC_LONG_ACK** | 0xB4 | Long acknowledge | [[loconet: | ||
+ | | **OPC_INPUT_REP** | 0xB2 | General sensor input codes | [[loconet: | ||
+ | | **OPC_SW_REP** | 0xB1 | Turnout sensor state report | [[loconet: | ||
+ | | **OPC_SW_REQ** | 0xB0 | Request switch function | [[loconet: | ||
+ | | **OPC_LOCO_SND** | 0xA2 | Set slot sound function | [[loconet: | ||
+ | | **OPC_LOCO_DIRF** | 0xA1 | Set slot direction, function 0-4 state | [[loconet: | ||
+ | | **OPC_LOCO_SPD** | 0xA0 | Set slot speed | [[loconet: | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== 6 Byte Message Opcodes ===== | ||
+ | FORMAT | ||
+ | < | ||
+ | ^ Symbol | ||
+ | | **OPC_MULTI_SENSE** | 0xD0 | power management and transponding | type | zone and section | addr | addr | | | | ||
+ | | **OPC_UHLI_FUN** | 0xD4 | Function 9-28 by Uhlenbrock | 0x20 | slot | function group | function | | | | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== Variable Byte Message Opcodes ===== | ||
+ | FORMAT | ||
+ | < | ||
+ | |||
+ | | Opcode | ||
+ | ^ Symbol | ||
+ | | **OPC_WR_SL_DATA** | 0xEF | Write slot data. | 0x0E | [[loconet: | ||
+ | | **OPC_WR_SL_DATA** | 0xEF | Write PT slot data. | 0x0E | 0x7C | [[loconet: | ||
+ | | **OPC_WR_SL_DATA** | 0xEF | Write Fast Clock slot data. | 0x0E | 0x7B | [[loconet: | ||
+ | | **OPC_SL_RD_DATA** | 0xE7 | Slot data response. | 0x0E | [[loconet: | ||
+ | | - | 0xE6 | Programming service mode aborted. | 0x10/0x15 | | ||
+ | \\ | ||
+ | | Opcode | ||
+ | ^ Symbol | ||
+ | | **OPC_PEER_XFER** | 0xE5 | Move 8 bytes peer to peer, SRC-> | ||
+ | |||
+ | \\ | ||
+ | | Opcode | ||
+ | ^ Symbol | ||
+ | | **OPC_LISSY_REP** | 0xE4 | Lissy IR report | 0x08 | 0x00 | high unit, direction | low unit | high addr | low addr | - | - | | ||
+ | | **OPC_WHEELCNT_REP** | 0xE4 | Wheel counter report | 0x08 | 0x40 | high unit, direction | low unit | high count | low count | - | - | | ||
+ | |||
+ | \\ | ||
+ | | Opcode | ||
+ | ^ Symbol | ||
+ | | **OPC_LISSY_REP** | 0xE4 | RFID-5 report | 0x0C | 0x41 | addr. high | addr. low | RFID-0 | RFID-1 | RFID-2 | RFID-3 | RFID-4 | RFID-HI | - | | ||
+ | |||
+ | \\ | ||
+ | | Opcode | ||
+ | ^ Symbol | ||
+ | | **OPC_LISSY_REP** | 0xE4 | RFID-7 report | 0x0E | 0x41 | addr. high | addr. low | RFID-0 | RFID-1 | RFID-2 | RFID-3 | RFID-4 | RFID-5 | RFID-6 | RFID-HI | - | | ||
+ | |||
+ | \\ | ||
+ | | Opcode | ||
+ | ^ Symbol | ||
+ | | **OPC_IMM_PACKET¹** | 0xED | Send n-byte packet immediate. | 0x0B | 0x7F |[[loconet: | ||
+ | ¹) | ||
+ | The SLOT DATA bytes are, in order of TRANSMISSION for <E7> READ or <EF> WRITE | ||
+ | NOTE SLOT 0 <E7> read will return MASTER config information bytes . | ||
+ | \\ |
loconet/ln-pe-de.txt · Last modified: 2018/11/12 08:56 by 127.0.0.1