Mit den Exportern können Sie bei jeder neuen Detektion Daten an ein beliebiges Ziel übertragen. Daten werden in der Regel als Rohdaten übertragen, Sie können jedoch auch sämtliche Daten aus RACE RESULT 12 übertragen.
Rohdaten-Exporter
Aufbau Exporter
Im Timing-Modul verbinden Sie sich mit Ihren Zeitmesssystemen und Exportern. Wenn Sie online arbeiten und Daten zu einem lokalen Endpunkt exportieren möchten (TCP, Seriell oder Datei), stellen Sie sicher, dass der RACE RESULT Web Server auf Ihrem Rechner geöffnet ist.
Über Timing->Exporters+Tracking in der linken Navigationsleiste können Sie die Exporter aufsetzen und definieren. Folgende Einstellungen können Sie vornehmen:
Name: Vergeben Sie einen Namen für den Exporter
Messstelle: Wählen Sie, welche Messstelle den Export von Daten auslöst
Filter: Setzen Sie einen Filter, um bspw. einen bestimmten Startnummernbereich zu exportieren.
Export-Daten: Die eigentlichen Daten. Wählen Sie aus vordefinierten Inhalten oder definieren Sie einen individuellen Inhalt.
Ziel: Der Export-Typ (TCPIP / SERIAL / FILE / SQL) & weitere Felder, die je nach Format benötigt werden.
Zeilenende: Das Zeilenende, das von Ihrer Software für das Lesen der Daten benötigt wird.
Wenn Sie einen individuellen Inhalt exportieren möchten, greifen Sie auf sämtliche Standardfelder von RACE RESULT 12 oder eine Vielzahl vordefinierter Felder zurück.
Exportieren Sie in eine Datei, geben Sie die vollständige Zieladresse und Dateiendung an, z.B. C:\Users\Timer\Documents\Export.csv
Verbindung zu Systemen und Starten der Exporter
Ihre Exporter werden unter Timing->Chip Timing und unter Timing->Systeme angezeigt, wie Sie es von Ihren Systemen gewohnt sind. Analog hierzu starten Sie die Exporter über den grünen Play-Button. Anschließend wird der Status Connected angezeigt.
Sie können sämtliche Daten erneut senden, indem Sie den blauen "Rewind"-Button klicken. Über den roten Stop-Button beenden Sie die Verbindung zu diesem Exporter.
Beachten Sie, dass Marker immer mit dem Chip Code -1 exportiert werden, unabhängig von den Dekoder-Einstellungen.
Extended Settings
The extended settings additionally control the behaviour of the exporter.
Encoding - Either UTF-8 or ASCII.
Min. Seconds Between - Define a minimum time in seconds between each record being sent.
Max Queue Length - The maximum queue size allowed in the buffer, the buffer is first in, first out - so the earliest passings will be dropped if the queue reaches the maximum length.
Ignore Before / Ignore After - Define a minimum and maximum time for passings to be exported.
Connect Message - Define a custom message string which should be sent when starting the exporter (e.g. an authentication token).
Start in Paused Mode - If enabled then the exporter will be paused when started.
Datenbank-Export
Rohdaten-Exporter unterstützen derzeit unten stehende SQL Datenbanken und ODBC Treiber für Access-Datenbanken. Benötigen Sie weitere Datenbank-Exporter, wenden Sie sich an uns. Bei Verwendung einer Datenbank mit ODBC Treibern, stellen Sie sicher, dass die ODBC Treiber installiert sind und dass ODBC eine Verbindung zur Datenbank herstellen kann.
Wenn Sie die Exporter aufsetzen, müssen Sie die Server-Einstellungen Ihrer Datenbank angeben. Je nach Datenbank werden unterschiedliche Strings akzeptiert.
MySQL: %USERNAME%:%PASS%@tcp(%HOSTNAME%:%PORT%)/%DATABASE%
MS-SQL: server=%HOSTNAME%; user id=%USERNAME%; password=%PASS%; database=%DATABASE%; port=%PORT%;
PostgreSQL: postgresql://%USERNAME%:%PASS%@%HOSTNAME%:%PORT%/%DATABASE%?sslmode=disable
ODBC Drivers (e.g. Microsoft Access): Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\Database.accdb
Für ODBC Treiber-Verbindungen geben Sie den entsprechenden String für Ihre installierten Treiber an.
Einige Datenbanken verlangen eine weitere Sicherheitseinstellung wie Nutzername und Passwort. Eine gute Online-Ressource für weitere Informationen ist verfügbar unter https://www.connectionstrings.com/.
Sie müssen die zu exportierenden Daten mit individuellem Inhalt formatieren, um ein Insert Statement als Ausdruck zu kreieren.
Als Beispiel für MS-SQL:
"INSERT INTO RawData (Chip, Time, TimingPoint) VALUES ('" & if([RD_Transponder]<>"";[RD_Transponder];[RD_IDBib]) & "', '" & format([RD_Time];"hh:mm:ss.kkk") &"', '" & [RD_TimingPoint] &"')"
Dieser String fügt in eine Tabelle "RawData" ein, mit den Spalten Chip, Time & TimingPoint. Für Microsoft Access Datenbanken sollten die Feldernamen in eckigen Klammern eingefasst sein.
Default raw data exporters
This article lists all the available exporters within RACE RESULT 12. Below shows the data format of each exporter as well as an example of its output.
Raw Data Record JSON
The Raw Data Record JSON mimics a Passing Record. It is a JSON struct with all relevant data, where the first part refers to information from RACE RESULT 12, and the last object refers to the actual passing raw data.
Example output
"ID":1,
"Bib":50001,
"TimingPoint":"STARTFINISH",
"Result":-10,
"Time":32795.944,
"Invalid":false,
"Passing":{
"Transponder":"ZICAD30",
"Position":{
"Latitude":0,
"Longitude":0,
"Altitude":0,
"Flag":""
},
"Hits":75,
"RSSI":-75,
"Battery":3,
"Temperature":17,
"WUC":6233,
"LoopID":8,
"Channel":8,
"InternalData":"",
"StatusFlags":128,
"DeviceID":"D-50432",
"DeviceName":"Support Decoder",
"OrderID":0,
"Port":0,
"IsMarker":false,
"FileNo":177,
"PassingNo":1,
"Customer":12345,
"Received":"2024-01-12T09:07:43.15+01:00",
"UTCTime":"2024-01-12T09:06:35.944Z"
}
}
Raw Data Record V2
The Raw Data Record V2 mimics a Passing Record from a RACE RESULT System. It does not include values for [<LoopOnly>] and [<InternalData>], however the structure is correct.
<InternalData>;<IsActive>;[<Channel>];[<LoopID>];[<LoopOnly>];[<WakeupCounter>];
[<Battery>];[<Temperature>];[<InternalActiveData>];<BoxName>;<FileNumber>;[<MaxRSSIAntenna>];<BoxId><CrLf>
Example output
Raw Data Record V1
The Raw Data Record V1 is a legacy version of a Passing Record. It does not write a data and it does not include [<LoopOnly>] (see |Decoder Communication Protocol) and hence moves all columns thereafter to the left by one column when compared to a full passing record. This format has been maintained to ensure backwards compatability for existing implementations (2023 and earlier).
<InternalData>;<IsActive>;[<Channel>];[<LoopID>];[<WakeupCounter>];
[<Battery>];[<Temperature>];[<InternalActiveData>];<BoxName>;<FileNumber>;[<MaxRSSIAntenna>];<BoxId><CrLf>
Example output
Raw Data Record with Position
The Raw Data Record V1 with Position mimics the legacy version of a Passing Record but also adds in GPS position.
<InternalData>;<IsActive>;[<Channel>];[<LoopID>];[<WakeupCounter>];
[<Battery>];[<Temperature>];[<InternalActiveData>];<BoxName>;<FileNumber>;[<MaxRSSIAntenna>];<BoxId>;[RD_Latitude];[RD_Longitude]<CrLf>
Example output
Custom
See Custom Destination Data Fields for more information on setting up a custom exporter.
Raw Data Time
This exporter only exports the raw time of the passings in seconds.
Example output
RunScore RSBCI
- RSBCI - Text string "RSBCI"
- [RD_Transponder] or [RD_IDBib] - Exports transponder if one is entered, otherwise exports bib
- [RD_Time] - Exports raw time of the passing formatted to "hh:mm:ss.kkk"
- [RD_TimingPoint] - Exports the TimingPoint name in RACE RESULT 12
Example output
Individuelle Datenfelder
Sie können eine beliebige Kombination aus Daten gemäßg Ihrer Anforderungen exportieren. Greifen Sie auf die Standardfelder aus RACE RESULT 12 zurück oder die unten stehenden Felder, die sich auf die Detektion beziehen, die den Export auslöst. Datenfelder werden in eckige Klammern gesetzt. Um Datenfelder miteinandern zu verbinden, nutzen Sie '&'. Um bspw. Transponder und Zeit, getrennt durch ein Semikolon, zu exportieren, geben Sie [RD_Transponder] & ";" & [RD_Time] ein.
- [RD_ID] - Eine eindeutige ID für diese Detektion
- [RD_IDBib] - Bei Einweg-Transponder ist das der Chip-Code.
- [RD_Transponder] - Transponder-Code bei Mehrweg-Passiv- oder Aktiv-Transpondern
- [RD_Time] - Die unformatierte Zeit in Sekunden. Mit Hilfe der Zeitformat-Funktionen können Sie die Zeit im gewünschten Format exportieren
- [RD_OrderID] - Die OrderID des Passiv-Einweg-Transponders (nur bei Passiv)
- [RD_Hits] - Die Anzahl Hits des Transponders für diese Detektion
- [RD_RSSI] - Die maximale Signalstärke des Transponders
- [RD_ChannelID] - Die Channel ID des Zeitmesssystems (nur bei Aktiv)
- [RD_LoopID] - Die Loop ID des Zeitmesssystems (nur bei Aktiv)
- [RD_WakeupCounter] - Der Wake-Up-Counter des Transponders (nur bei Aktiv)
- [RD_Battery] - Der Batterieladestand des Transponders (nur bei Aktiv)
- [RD_Temperature] - Interne Transponder-Temperatur (nur bei Aktiv)
- [RD_StatusFlags] - Transponder-Kennzeichnung (nur bei Aktiv)
- [RD_TimingPoint] - Der Name der Messstelle in RACE RESULT 12.
- [RD_DecoderName] - Der Name des Dekoders, sofern zugewiesen.
- [RD_DecoderID] - Die Device ID
- [RD_Port] - Der Antennen-Port mit der max. Signalstärke während eines Passings (nur bei Passiv)
- [RD_Latitude] / [RD_Longitude] - Die Koordinaten der Detektion, sofern das Zeitmesssystem GPS-Koordinaten überträgt.
- [RD_IsMarker] - gibt an, ob die Detektion ein Marker ist
- [RD_FileNo] - gibt die File Number von Ubidium oder dem Dekoder zurück
- [RD_PassingNo] - die lfd. Passing-Nummer innerhalb des Passings Files
- [RD_Customer] - die Kundennummer, auf die das Passing hochgeladen wurde
- [RD_Received] - der Zeitstempel, zu dem das Passing von RACE RESULT 12 empfangen wurde
- [RD_UTCTime] - der UTC-Zeitstempel des Passings
Exporter-Befehle
Das ist eine überarbeitete Version, die Antworten auf Exporter-Befehle beinhaltet. Sobald eine Verbindung hergestellt wurde, kann der Empfänger Befehle senden. Derzeit nur für TCP.
Getting Info
Um Informationen über den Exporter zu erhalten, senden Sie folgenden Befehl:
GETINFO\n
Die Antwort sieht aus wie folgt:
{ "Command": "GETINFO", "Exporter": { "ID": 8, "Name": "PacketSender Home", "Filter": "", "TriggerTimingPoint": "", "TriggerResultID": 0, "DestinationType": "TCPIP", "Destination": "192.168.178.25:54696", "Data": "[RD_ID] \u0026 \";\" \u0026 if([RD_Transponder]\u003c\u003e\"\";[RD_Transponder];[RD_IDBib]) \u0026 \";;\" \u0026 format([RD_Time];\"hh:mm:ss.kkk\") \u0026 \";\" \u0026 [RD_OrderID] \u0026 \";\" \u0026 [RD_Hits] \u0026 \";\" \u0026 [RD_RSSI] \u0026 \";;\" \u0026 if([RD_LoopID]\u003e0;1;0) \u0026 \";\" \u0026 [RD_ChannelID] \u0026 \";\" \u0026 [RD_LoopID] \u0026 \";;\" \u0026 [RD_WakeupCounter] \u0026 \";\" \u0026 ([RD_Battery]/10) \u0026 \";\" \u0026 ([RD_Temperature]-100) \u0026 \";\" \u0026 [RD_StatusFlags] \u0026 \";\" \u0026 [RD_DecoderName]", "MTB": 0, "MQL": 0, "LineEnding": "LF", "OrderPos": 7000 }, "Paused": false, }
Stop Command
Dieser Befehl stoppt den Exporter jederzeit:
STOP\n
Übliche Antwort:
{
"Command": "STOP",}
Fehlermeldung:
{
"Command": "STOP","Error": "Some error message" }
Pause Command
Dieser Befehl unterbricht den Exporter zu jeder Zeit:
PAUSE\n
liefert folgende Antwort:
{
"Command": "PAUSE","Paused": true }
Resume Command
Dieser Befehl setzt den Exporter wieder fort:
RESUME\n
Liefert:
{
"Command": "RESUME","Paused": false }
Hinweis: Bricht die Verbindung im "pausierten" Modus zsammen, kann sie nicht wieder hergestellt werden, bevor neue Daten geschrieben werden können. Wenn Sie die Vebrindung fortsetzen möchten, müssen Sie warten, bis die Verbindung wieder hergestellt wird.
Replay Command
Mit diesem Befehl können Sie sämtliche Daten erneut auslesen:
REPLAY\n
Übliche Antwort:
{
"Command": "REPLAY",}
Fehlermeldung:
{
"Command": "REPLAY","Error": "Some error message" }
Export von Datum & Zeit
RACE RESULT 12 speichert nicht das Datum einer Detektion. Um Datum und Zeit korrekt zu übertragen, müssen Sie das Timing Modul gemäß der Einstellungen zu Mehrtagesveranstaltungen einrichten, damit Zeiten korrekt verarbeitet werden.
Um ein Datum und die Zeit zu exportieren, können Sie folgende Formeln in Ihrem individuellen Ausdruck verwenden:
- Datum: ([VeranstaltungsDatum]+int([RD_Time]/86400))
Hierfür muss das Veranstaltungsdatum in den Grundeinstellungen korrekt gesetzt sein. Ist die Zeit größer als 86400 Sekunden (=24 Stunden), wird automatisch ein Tag addiert. - Zeit: format(([RD_Time]%86400);"hh:mm:ss.kkk")
Das ist der Rest, nachdem die Zeit durch 86400 geteilt wurde und gibt somit immer die Tageszeit wieder.
Auch wenn das nicht der originale Datumsstempel ist, ist diese Variante für die meisten Veranstaltungen ausreichend, sofern das Veranstaltungsdatum in RACE RESULT 12 korrekt gesetzt ist.