TRACE Zugang anfragen
DE
Proprietäre Protokolle · TrIML

Dein eigenes Protokoll, dekodiert — ohne einen Parser zu schreiben.

Die meisten Geräte sprechen ein Protokoll, das kein Werkzeug kennt. In Trace beschreibst du es in TrIML, einer kurzen XML-Definition: Startbyte, Felder, Länge, Prüfsumme. Ab dann erscheint jedes Telegramm auf der Leitung dekodiert — live, durchsuchbar und mit markierten Prüfsummenfehlern.

Kein Mailprogramm eingerichtet? Schreib direkt an support@trace-analyzer.net.

Der Zugang ist derzeit kostenlos und wird auf Anfrage freigeschaltet.

  • Definition statt Code
  • Prüfsummen: XOR, Summe, LRC, CRC
  • Benannte Werte und Enums
  • Probelauf mit Beispiel-Bytes
Beispiel

Von der Leitung zum Telegramm.

MiniBus, ein typisches erfundenes Anlagentelegramm: Startbyte, Typ, 16-Bit-Adresse, Länge, Nutzdaten, XOR-Prüfsumme, Endbyte. Zwei gute Telegramme und eines mit beschädigter Prüfsumme.

// Auf der Leitung · Bytes
02 01 12 34 03 16 2A 00 18 03 ↳ nächstes Telegramm 02 03 00 07 01 05 00 03 ↳ nächstes Telegramm 02 01 12 34 03 16 2A 00 19 03
// In Trace · dekodierte Telegramme
MiniBus Status to 0x1234
Type1 (Status)
Address0x1234
Payload162A00
Checksum0x18
MiniBus Error to 0x0007
Type3 (Error)
Address0x0007
Payload05
Checksum0x00
MiniBus Status to 0x1234 FrameError
Type1 (Status)
Address0x1234
Payload162A00
Checksum0x19

Das ist die Ausgabe der Definition daneben, gekürzt dargestellt (ohne STX, Length und ETX) — du kannst sie herunterladen und in Trace laden. Das dritte Telegramm trägt 19 statt 18 als Prüfsumme und ist als FrameError markiert.

Was Trace leistet

Vom Protokollblatt zur Live-Ansicht.

Beschreiben statt programmieren

Konstanten, Bytes, Words, Arrays mit Längenfeld, Verzweigungen nach Typ, Wiederholungen, Bitfelder: die Bausteine eines seriellen Telegramms sind XML-Elemente.

Jede Prüfsumme geprüft

XOR, Bytesumme, LRC und eine einstellbare CRC (Breite, Polynom, Startwert, Spiegelung) sind eingebaut. Ein falsches Telegramm wird markiert, nicht verworfen.

Ausprobieren vor dem Mitschnitt

Im Hub lädst du die Definition hoch oder bearbeitest sie, fügst Beispiel-Bytes ein und siehst die dekodierte Ausgabe sofort. Jede Änderung ist eine neue Version mit Rollback; die nächste Session dekodiert damit.

  • SucheVolltextsuche über alle Telegramme, auch im laufenden Strom.
  • AufnahmeRohbytes und fertige Interpretation in einer .msf-Datei.
  • Mehrere PortsMehrere Schnittstellen in einer Sitzung, auf einer gemeinsamen Zeitachse.
  • Aus der FerneProbe an der Anlage, Auswertung im Browser — ohne eingehenden Port.
Ehrlich zum Stand

Was noch fehlt.

Damit du nicht erst beim Ausprobieren merkst, wo die Grenzen liegen:

  • Nur Byte-Ströme. TrIML beschreibt serielle Byte-Ströme (RS232, RS485, USB-Seriell, CAN über das Capture-Plugin). Bit-Busse wie SPI-Taktsignale brauchen Capture-Hardware, die Bytes liefert.
  • Keine Skripte in der Definition. Was sich mit den eingebauten Elementen nicht ausdrücken lässt — ungewöhnliche Prüfsummen, zustandsbehaftete Protokolle —, braucht eine Erweiterung der Engine.
  • Rahmen nach Pausen ist auf USB grob. Protokolle, die Telegramme nur durch Sendepausen trennen, funktionieren mit üblichen USB-Adaptern zuverlässig bis etwa 19200 Baud.
  • Die erste Definition schreibst du. Wir helfen dabei: schick uns ein Protokollblatt oder einen Mitschnitt, und wir skizzieren die Definition mit dir.
Die Definition

Das ganze Telegramm in elf Zeilen.

Das ist der Kern der MiniBus-Definition. Das Schritt-für-Schritt-Tutorial in der TrIML-Referenz baut sie von Grund auf.

TrIML-Referenz öffnen →

<const type="byte" value="0x02" name="STX" />
<byte  name="Type" valuedescriptor="type-descriptor" />
<word  name="Address" bigendian="yes" format="0x{0:X4}" />
<byte  name="Length" />
<array sizeRef="Length" name="Payload" format="{0:X2}" />

<calc  name="ExpectedChecksum" type="ByteXor"
       from="1" to="-1" resultType="byte" />
<const ref="ExpectedChecksum" validate="true"
       name="Checksum" format="0x{0:X2}" />
<const type="byte" value="0x03" name="ETX" />
FAQ

Häufige Fragen

Muss ich eine Programmiersprache lernen?

Nein. TrIML ist XML mit einer kleinen Zahl von Elementen, dokumentiert mit Tutorial und vollständiger Referenz. Wer eine Protokolltabelle lesen kann, kann die Definition schreiben.

Was, wenn meine Prüfsumme weder XOR noch CRC ist?

Eingebaut sind XOR, Bytesumme, Wortsumme, LRC und eine CRC mit freien Parametern — das deckt die meisten Protokolle ab. Alles andere: sag uns Bescheid. Neue Prüfsummen kommen in die Engine, nicht in deine Definition.

Wer sieht meine Definition?

Nur du, bis du sie für dein Team freigibst. Eine Definition, die du im Hub hochlädst, ist standardmäßig privat und erscheint in deinen eigenen Sessions.

Erzähl uns von deinem Protokoll.

Schreib kurz, woran du misst. Der Zugang wird dann freigeschaltet — und was dir fehlt, fließt direkt in die Entwicklung ein.

Kein Mailprogramm eingerichtet? Schreib direkt an support@trace-analyzer.net.