Der folgende Abschnitt beschreibt die interne Messung und enthält eine detaillierte Beschreibung der Schnittstellen.
2.1Strommessung
2.1.1Messverfahren
Der Strom wird intern mit einer Abtastrate von 1 MS/s gemessen, wobei jeweils 8 Abtastwerte zu 1 internen Abtastwert gemittelt werden. Dadurch ergibt sich eine „echte“ interne Abtastrate von 125 kS/s. Diese „echte“ interne Abtastrate kann über Ethernet an einen PC gestreamt werden. Die interne Abtastrate kann in der CMM-IV-GUI weiter reduziert werden. Mögliche Werte sind 125, 50, 10 und 1 kS/s.
Der Strommessbereich wird automatisch gewählt, wenn das CMM eingeschaltet ist. Große Stromsprünge können kurzzeitige Spannungsabfälle von einigen hundert Millivolt über dem Modul verursachen. Zum dynamischen Verhalten siehe Dynamisches Verhalten.
Das CMM-IV sendet den Mittelwert des Stroms über einen konfigurierbaren Zeitraum per CAN. Der Standardwert für diesen Zeitraum beträgt 5 ms.
Zusätzlich können Mittelwert, Minimal- und Maximalstrom über CAN-ISO-TP ausgelesen werden. Die Berechnung von Mittel-, Minimal- und Maximalwert wird bei jedem Auslesen zurückgesetzt. Die folgende Abbildung veranschaulicht die Mittelung.
2.1.2Rückstromerkennung
Rückströme können nicht gemessen werden, aber ein Flag signalisiert, wenn ein Strom von einigen 100 mA in Rückwärtsrichtung anliegt. Wird ein Rückstrom erkannt, werden die Ausgabedaten auf null gesetzt. Das Flag kann über das ISO-TP-Protokoll und im TCP-Streaming-Modus gelesen werden.
2.1.3Dynamisches Verhalten
Die Umschaltung von einem niedrigen in einen höheren Strommessbereich erfolgt sehr schnell: innerhalb von weniger als 1 µs (typisch 500 ns), nachdem der Strommessbereich überschritten wurde. Das ist deutlich schneller, als der Strom aufgrund der Leitungsinduktivität selbst bei kurzen Leitungen ansteigen kann.
Die folgende Abbildung zeigt den Strom (rot) durch das CMM und den Spannungsabfall (gelb) über dem CMM bei einem Laststromsprung von 0 auf 100 A. Das Nachschwingen des Spannungsabfalls wird durch die Leitungsinduktivität verursacht.
2.2On/Off-Steuerung
Das CMM-IV kann über einen Hardwareeingang oder per Software ein- oder ausgeschaltet werden. Die folgenden Parameter können per Konfiguration eingestellt werden:
- Aktiver Pegel (High oder Low) des Hardwareeingangs
- Priorität der Ein/Aus-Steuerung per Hardware oder Software
Die Konfiguration kann in der CMM-IV-GUI, mit dem Befehl OnOffMode = x über das textbasierte Ethernet-Protokoll oder über CAN mit dem ISO-TP-Protokoll geändert werden, wobei x eine der folgenden Zahlen 0…7 ist:
| ID | Name | HW-Eingang | SW-Einstellung | Beschreibung |
|---|---|---|---|---|
| 0 | ONOFF_Mode_ExtHighActive | JA | NEIN | CMM ist ON, wenn am HW-Eingang High-Pegel anliegt; SW-Einstellung wird ignoriert |
| 1 | ONOFF_Mode_ExtLowActive | JA | NEIN | CMM ist ON, wenn am HW-Eingang Low-Pegel anliegt; SW-Einstellung wird ignoriert |
| 2 | ONOFF_Mode_Int | NEIN | JA | CMM wird nur per SW gesteuert |
| 3 | ONOFF_Mode_ExtHighActiveAndInt | JA | JA | CMM ist ON, wenn der HW-Eingang High ist UND die SW-Einstellung ON ist. |
| 4 | ONOFF_Mode_ExtLowActiveAndInt | JA | JA | CMM ist ON, wenn der HW-Eingang Low ist UND die SW-Einstellung ON ist. |
| 5 | ONOFF_Mode_ExtHighActiveOrInt | JA | JA | CMM ist ON, wenn der HW-Eingang High ist ODER die SW-Einstellung ON ist. |
| 6 | ONOFF_Mode_ExtLowActiveOrInt | JA | JA | CMM ist ON, wenn der HW-Eingang Low ist ODER die SW-Einstellung ON ist. |
| 7 | ONOFF_Mode_AlwaysOn | NEIN | NEIN | CMM ist immer ON. |
2.3CAN-Datenausgabe
CAN-Daten werden zyklisch auf einer festgelegten CAN-ID gesendet. Diese CAN-ID kann über das textbasierte Ethernet-Protokoll oder über CAN mit dem ISO-TP-Protokoll eingestellt werden.
| Parameter | Min. | Typisch | Max. | Einheit | Bemerkungen |
|---|---|---|---|---|---|
| CAN-Typ | - | High Speed | - | - | Die CAN-Transceiver sind immer aktiv. Es wird kein Sleep-Modus verwendet. |
| CAN-Abschluss | 120 | Ohm | Der Abschlusswiderstand ist per Softwarebefehl schaltbar. | ||
| Nominale CAN-Baudrate | 100 | 1000 | 1000 | kBit/s | Standard-Baudrate ist 1 MBit/s |
| CAN-FD-Datenbaudrate | 1000 | 4000 | 4000 | kBit/s | Standard-Baudrate ist 0, d. h. es wird Classic CAN verwendet |
| CAN-ID | 0x1C2 | Hex | Der Identifier kann per Softwarebefehl eingestellt werden | ||
| Extended ID | Nein | 11-Bit- oder 29-Bit-Identifier kann per Softwarebefehl eingestellt werden | |||
| CAN-Sendeintervall | 1 | 5 | 30.000 | ms | Das Sendeintervall kann per Softwarebefehl eingestellt werden |
| CAN-Datenlänge | 5 | 4 Byte für den Strom und 1 Byte für den Messbereich | |||
| CAN-Datenauflösung | 100 | nA | Ein Bit des zurückgegebenen Stroms entspricht 100 nA des tatsächlich gemessenen Stroms |
Die gesendete CAN-Nachricht hat folgenden Inhalt:
| Byte | Inhalt | Wert |
|---|---|---|
| Byte 0 | Strom Bit 7..0 | 0x00000000 … ca. 0x7270 E000 |
| Byte 1 | Strom Bit 15..8 | 0x00000000 … ca. 0x7270 E000 |
| Byte 2 | Strom Bit 23..16 | 0x00000000 … ca. 0x7270 E000 |
| Byte 3 | Strom Bit 31..24 | 0x00000000 … ca. 0x7270 E000 |
| Byte 4 | Messbereich | 0 … 6 |
| Byte 5 | Flags | 0…0x07 |
| Byte 6...7 | Füllbytes | 0 |
Die CAN-Nachricht hat einen DLC (Data Length Code) von 8. Nur die Bytes 0 – 5 werden verwendet, die Bytes 6 – 7 werden mit 0 aufgefüllt. Der Strom wird als vorzeichenloser 32-Bit-Wert (unsigned long) in Schritten von 100 nA zurückgegeben, aufgeteilt auf die ersten 4 Byte der CAN-Nachricht. Ist das CMM-IV ausgeschaltet, ist der zurückgegebene Wert null. Ist das CMM-IV eingeschaltet, liegt aber ein Rückstrom an, ist der zurückgegebene Wert null und das „Negative Current Flag“ (0x01) ist gesetzt.
Flags:
- 0x01: Negativer Strom (Negative Current)
- 0x02: Spannungsabfall (Drop Voltage)
- 0x04: Ringpuffer-Warnung (Ringbuffer Warning)
- 0x08: CMM aus (Cmm Off) (0 = ein; 1 = aus)
2.4Konfigurationstool CMM-IV-GUI
Mit dem Tool CMM-IV-GUI kann ein CMM-IV konfiguriert werden; außerdem können damit Messungen getriggert oder alle Messwerte an einen PC gestreamt werden. Die aktuelle Version der CMM-IV-GUI kann hier heruntergeladen werden:
Nach der Installation enthält der Installationsordner (unter anderem) die folgenden Unterordner und Dateien:
| Datei/Ordner | Beschreibung |
|---|---|
IRS.CMM-IV.GUI.exe | Das Konfigurationstool |
IRS.CMM-IV.Lib.dll | Eine C#-Bibliothek, mit der Sie das CMM in Ihre Software einbinden können |
Examples | Enthält eine NI-TestStand-Beispielsequenz, die die Verwendung wichtiger Funktionen veranschaulicht |
LabVIEW | Enthält die NI-LabVIEW-VIs, die von der Beispiel-Testsequenz verwendet werden |
Firmware | Enthält ein Firmware-Image, mit dem der Mikrocontroller des CMM-IV aktualisiert werden kann |
2.4.1CMM-IV verbinden und aktualisieren
Die CMM-IV-GUI kommuniziert über Ethernet und TCP/IP mit dem CMM-IV. Daher muss die IP-Adresse des CMM-IV in die GUI eingegeben werden. Die Standard-IP-Adresse ist 192.168.222.21. Details zur IP-Konfiguration siehe Ethernet-Verbindung. Wenn Sie die IP-Adresse des CMM-IV nicht kennen, können Sie Tools -> Detect module verwenden.
Wenn „Detect module“ keine IP-Adresse findet, stellen Sie sicher, dass die Subnetzmaske Ihrer Netzwerkkarte richtig konfiguriert ist, und prüfen Sie Ihre Firewall-Einstellungen.
Nachdem Sie die IP-Adresse unter „Remote IP“ eingegeben haben, können Sie die Verbindung mit „IDENTIFY“ prüfen. Diese Schaltfläche öffnet ein Fenster mit Informationen über das verbundene CMM-IV. Dazu gehören die Seriennummer und die Firmware-Version des verbundenen CMM-IV. Ist die Firmware-Version veraltet, können Sie den Mikrocontroller unter Tools -> Bootloader aktualisieren. Die neueste Firmware-Version finden Sie über Help -> Check for update.
Der Bootloader ist einfach zu bedienen. Geben Sie die IP-Adresse des CMM IV ein und klicken Sie auf „START…“. Wählen Sie dann das Firmware-Image aus dem oben genannten Installationsordner aus.
2.4.2CMM-IV mit dem Testpanel konfigurieren und Strommesswerte abrufen
Das Testpanel öffnen Sie mit einem Klick auf „TESTPANEL“ im Hauptfenster. Damit können Sie die verschiedenen Kommunikationsschnittstellen und das Messverhalten des CMM-IV konfigurieren.
Mit „ON/OFF CONTROL“ können Sie die unter On/Off-Steuerung beschriebenen Modi auswählen.
Es gibt drei verschiedene Methoden, Messwerte abzurufen.
Die erste Methode verwendet einfach die Schaltfläche „READ“. Sie liefert sofort die angeforderte Anzahl an Stromabtastwerten. Mit dieser Methode können bis zu 100.000 Abtastwerte gelesen werden. Bei der maximalen Abtastrate von 125 kS/s reduziert sich die maximale Anzahl der Abtastwerte auf 10.000.
Die zweite Methode ist anspruchsvoller und verwendet die Schaltflächen „INIT“, „SW TRIGGER“ und „FETCH“. Die Schaltfläche „INIT“ setzt die im Dropdown-Menü ausgewählte Triggermethode und die Anzahl der zu lesenden Abtastwerte. Die Anzahl der Abtastwerte ist bei dieser Methode auf 100 begrenzt. Ist der Triggermodus „Internal“ ausgewählt, muss die Messung mit der Schaltfläche „SW TRIGGER“ getriggert werden. Im Triggermodus „External“ wird die Messung durch eine positive Flanke am ON/OFF-Pin getriggert, und im Modus „Immediately“ wird kein Trigger benötigt: Die Messung startet unmittelbar nach „INIT“. Die Schaltfläche „FETCH“ liefert nach Abschluss der Messung die konfigurierte Anzahl an Stromabtastwerten.
Die dritte Methode verwendet die Schaltfläche „MINIMUM/MEAN/MAXIMUM“. Ein Klick auf diese Schaltfläche liefert den minimalen, mittleren und maximalen Strom seit der letzten Verwendung dieser Schaltfläche.
Das Testpanel bietet unter „MISCELLANEOUS“ zwei Möglichkeiten, das Messverhalten zu konfigurieren.
Mit „Minimum range“ können Sie ein unerwünschtes Umschalten zwischen den Messbereichen vermeiden. Der minimale Messbereich wird beim Neustart des CMM-IV auf null zurückgesetzt. Ein maximaler Messbereich kann nicht eingestellt werden, da dies leicht dazu führen könnte, dass der maximal zulässige Strom des gewählten Messbereichs versehentlich überschritten wird.
Mit „Sample rate“ können Sie die Abtastrate des CMM IV reduzieren. Das kann insbesondere hilfreich sein, um die Größe der gespeicherten Daten zu verringern, wenn Messwerte über längere Zeiträume gestreamt werden.
2.4.3Streaming der Messwerte
Das Streaming der Messwerte kann im Hauptfenster der CMM-IV-GUI gestartet werden. Ist „trigger disabled“ ausgewählt, startet das Streaming mit einem Klick auf „START“ und endet mit einem Klick auf „STOP“. Ist „SW falling edge“ oder „SW rising edge“ ausgewählt, startet das Streaming, es werden aber keine Daten gespeichert, bis die ausgewählte Flanke erkannt wird. Der Pegel für die Flankenerkennung kann unter „SW trigger level [A]“ konfiguriert werden. Wird eine Flanke erkannt, werden 12.500 Abtastwerte vor und 12.500 Abtastwerte nach der Flanke gespeichert. Bei der Standard-Abtastrate von 125 kS/s entspricht das 100 ms vor und nach dem Triggerereignis. Im Triggermodus „HW“ dient eine steigende Flanke am ON/OFF-Pin als Trigger. Nach dem Klick auf „START“ wird der Mikrocontroller des CMM-IV in einen Wartemodus versetzt und beginnt erst mit dem Streaming, wenn die steigende Flanke am Pin ON/OFF erkannt wird.
Die gestreamten Messdaten werden im proprietären Format „cmm4“ gespeichert. Dies ist ein Binärformat, das den PC von der Datenkonvertierung entlastet und daher das parallele Streaming von mehreren CMM-IV ermöglicht. Die Konvertierung in das TDMS-Format von National Instruments erfolgt über das Menü (Tools -> Export to TDMS). Um die Exportfunktion zu nutzen, müssen Sie zuerst eine TDMS-Bibliothek von National Instruments installieren (Tools -> Install TDMS library).
„Export to TDMS“ öffnet das in Abbildung 10 gezeigte Dialogfenster. In diesem Fenster wählen Sie die cmm4-Datei aus, die in das TDMS-Format konvertiert werden soll. Die TDMS-Datei wird unter demselben Namen wie die cmm4-Datei gespeichert. Die markierte Auswahl bietet drei Möglichkeiten. „CMM4 (current only)“ exportiert nur die gemessenen Stromwerte. „CMM4 (all channels)“ enthält zusätzlich Spannungsabfall, Messbereich und Flags. „CMM4 (ignore trigger event)“ exportiert alle Daten vom Klick auf „START“ bis zum Ende der cmm4-Datei, das 12.500 Abtastwerte nach dem Triggerereignis liegt. Das ist möglich, weil alle Daten in der cmm4-Datei gespeichert werden (einschließlich des Triggerereignisses) und der Trigger erst beim Export nach TDMS verwendet wird.
2.4.4Live-Ansicht der Messwerte
Ein Klick auf „CHART“ im Hauptfenster öffnet das in Abbildung 11 gezeigte Fenster. Die Messwerte werden jede Sekunde aktualisiert und im Diagramm angezeigt.
2.5Textbasiertes Ethernet-Protokoll
Die folgenden Abschnitte beschreiben das textbasierte Ethernet-Protokoll, das von der CMM-IV-GUI und der C#-DLL verwendet wird. Es wird empfohlen, die CMM-IV-GUI oder die C#-DLL zu verwenden (die DLL ist Teil des Downloadpakets der CMM-IV-GUI, Details siehe Konfigurationstool CMM-IV-GUI).
Das Protokoll basiert auf TCP und verwendet nullterminierte Strings. Das bedeutet, dass das letzte Zeichen jedes Befehls NUL (= 0x00) sein muss.
2.5.1Befehle zum Messen von Strömen, Spannungsabfall und Temperatur des CMM IV
Das textbasierte Ethernet-Protokoll unterstützt zwei verschiedene Methoden zum Auslesen von Strömen. Die erste Methode verwendet einfach den Befehl ReadCurrent mit dem TriggerMode IMM. Dieser liefert sofort die angeforderte Anzahl an Stromabtastwerten. Die zweite Methode ist anspruchsvoller und verwendet die Befehle InitCurrent, TriggerCurrent und FetchCurrent. InitCurrent setzt die Triggermethode und die Anzahl der zu lesenden Abtastwerte. TriggerCurrent wird verwendet, um die Messung zu triggern, wenn der Triggermodus INT ausgewählt ist. FetchCurrent liefert nach Abschluss der Messung die angeforderte Anzahl an Stromabtastwerten.
Die folgenden Befehle können als Strings auf dem TCP-Port 5025 gesendet werden und müssen mit dem NUL-Zeichen (0x00) abgeschlossen werden. Fehlerhafte Befehle werden mit einer Fehlermeldung beantwortet, Details siehe Fehlermeldungen.
| Befehl | Parameter | Beschreibung | Bemerkungen |
|---|---|---|---|
ReadCurrent = | 1 … 100000, INT/EXT/IMM | Setzt die Anzahl der Abtastwerte und die Triggerquelle. Die Werte werden direkt nach der Messung gesendet. | Triggerquellen: INT: Auf Befehl „TriggerCurrent“ warten; EXT: Auf steigende Flanke am Pin On/Off warten; IMM: Messung sofort starten |
InitCurrent = | 1 … 100, INT/EXT/IMM | Setzt die Anzahl der Abtastwerte und die Triggerquelle. Die Werte werden gesendet, nachdem die Messung abgeschlossen und der Befehl „FetchCurrent“ empfangen wurde. | Triggerquellen: INT: Auf Befehl „TriggerCurrent“ warten; EXT: Auf steigende Flanke am Pin On/Off warten; IMM: Messung sofort starten |
TriggerCurrent | Muss verwendet werden, um die Messung zu triggern, wenn die Triggerquelle „INT“ ausgewählt ist. | ||
FetchCurrent | Liefert die Messwerte, wenn die Messung abgeschlossen ist | Antwort: 0.0005027 A, 0.0005031 A …; Wird ein negativer Strom erkannt, lautet die Antwort: -0.0000001 A | |
Voltage? | Fragt den aktuellen Wert des Spannungsabfalls in µV ab | Antwort: Voltage = 30156 µV | |
Temperature? | Liest die aktuelle Modultemperatur in °C aus | Antwort: Temperature = 26 °C | |
MinMaxMean? | Liefert Minimal-, Maximal- und Mittelwert des Stroms seit der letzten Verwendung dieses Befehls. | Antwort: Min = 0.0005027 A, Mean = 0.0005031 A, Max = 0.0005034 A, Samples = 12756 |
2.5.2Befehle zum Abfragen von Konfigurationsparametern
Die folgenden Befehle können als Strings auf dem TCP-Port 5025 gesendet werden und müssen mit dem NUL-Zeichen (0x00) abgeschlossen werden. Fehlerhafte Befehle werden mit einer Fehlermeldung beantwortet, Details siehe Fehlermeldungen.
| Befehl | Beschreibung | Antwort | Bemerkungen |
|---|---|---|---|
Identify? | Fragt Name, HW-Revision, SW-Revision und Seriennummer des Geräts ab | IRS CMM IV; HW Revision: 3; SW Version: 1.2; Serial Number: 20BG00001 | |
CanCyclicInterval? | Fragt das aktuelle CAN-Sendeintervall in Millisekunden ab | CanCyclicInterval = 5 ms | Standard-Rückgabewert ist 5 ms |
CanBaudrate? | Fragt die nominale CAN-Baudrate in kBit/s ab | CanBaudrate = 1000 kBits | Standardwert der nominalen Baudrate ist 1000 kBit/s |
CanDataBaudrate? | Fragt die CAN-FD-Datenbaudrate in kBit/s ab | CanDataBaudrate = 4000 kBits | Standardwert der Datenbaudrate ist 1000 kBit/s |
TxFrameFormat? | Fragt das Format ab, in dem das CMM CAN-Nachrichten sendet | TxFrameFormat = 0 | 0: Classic-CAN-Frame; 1: CAN-FD-Frame ohne BRS; 2: CAN-FD-Frame mit BRS |
CanCyclicId? | Fragt die CAN-ID für zyklische Nachrichten ab | CanCyclicId = 0x1C2 | Bei Extended IDs wird „EXT“ angehängt; Standard-CAN-ID ist 0x1C2 |
Temperature? | Liest die aktuelle Modultemperatur in °C aus | Temperature = 26 °C | |
OnOffMode? | Fragt die Konfiguration der On/Off-Steuerung ab | OnOffMode = 0…7 | Beschreibung von OnOffMode? siehe On/Off-Steuerung. |
OnOff? | Fragt den ON/Off-Zustand des Geräts ab | OnOff = 0/1 (0 => Off / 1 => On) | Dieser Zustand ergibt sich aus OnOffMode, dem Hardwareeingang und der Ein/Aus-Einstellung per Software. |
IsoTpLocalId? | Fragt die lokale CAN-ID für ISO-TP ab | IsoTpLocalId = 0x7FF | Die Local ID wird vom CMM gesendet; Standard ist 0x1C3; bei Extended IDs wird „EXT“ angehängt |
IsoTpRemoteId? | Fragt die Remote-CAN-ID für ISO-TP ab | IsoTpRemoteId = 0x1C3 | Die Remote ID wird vom System gesendet; Standard ist 0x7FF; bei Extended IDs wird „EXT“ angehängt |
CanTermination? | Fragt den Zustand des schaltbaren CAN-Abschlusses ab | CanTermination =0/1 | Standard ist 0 (CAN-Abschluss aus) |
IpSettings? | Fragt die IP-Einstellungen des Geräts ab | IP = 192.168.200.1, Mask = 255.255.255.0, Gateway = 192.168.200.10 | Dies sind die Standard-IP-Einstellungen. Die IP kann per Hardwareschalter zurückgesetzt werden (siehe Ethernet-Verbindung). |
Ports? | Fragt die TCP-Ports ab | Port TcpCommands = 5025, Port TcpEcho = 55111, Port TcpStreaming = 55112 | Dies sind die Standard-Port-Einstellungen. |
MacSettings? | Fragt die MAC-Adresse des Geräts ab | MAC = 74:5B:C5:00:00:01 | |
CalDate? | Fragt das Kalibrierdatum ab | CalDate = 2020-06-18 | |
MinRange? | Fragt den vom Benutzer eingestellten minimalen Messbereich ab | MinRange = 0 | Details siehe den entsprechenden Befehl im folgenden Abschnitt |
UserText? | Fragt den String ab, der zuvor mit dem Befehl „UserText =“ gespeichert wurde | UserText =<string> | |
SampleRate? | Fragt die Abtastrate ab (Details unter Messverfahren) | SampleRate = 0 | 0: 125 kS/s; 1: 50 kS/s; 2: 10 kS/s; 3: 1 kS/s |
2.5.3Befehle zum Setzen von Konfigurationsparametern
Die folgenden Befehle können als Strings auf dem TCP-Port 5025 gesendet werden und müssen mit dem NUL-Zeichen (0x00) abgeschlossen werden. Fehlerhafte Befehle werden mit einer Fehlermeldung beantwortet, Details siehe Fehlermeldungen. Verwendet ein Befehl mehrere Parameter, müssen die Parameter durch ein Leerzeichen getrennt werden. Optionale Parameter sind in eckigen Klammern angegeben.
| Befehl | Parameter | Beschreibung | Antwort | Bemerkungen |
|---|---|---|---|---|
Reset | Startet das CMM IV neu | Ok | Der Neustart des CMM IV kann bis zu 10 Sekunden dauern | |
Default = | CAN | Stellt die Standardeinstellungen der CAN-Schnittstelle wieder her | Ok | |
CanCyclicInterval = | 1 ms … 1 000 000 ms | Setzt das aktuelle CAN-Sendeintervall in Millisekunden | Ok | Max. Intervall ist 1000 s = 1.000.000 ms |
CanBaudrate = | 100 kBits … 1000 kBits | Setzt die nominale CAN-Baudrate in kBit/s | Ok | Der erste Parameter muss ein Wert zwischen 100 und 1000 sein. Der zweite Parameter muss „kBits“ sein |
CanDataBaudrate = | 1000 kBits … 4000 kBits | Setzt die CAN-FD-Datenbaudrate in kBit/s | Ok | Der erste Parameter muss ein Wert zwischen 1000 und 4000 sein. Der zweite Parameter muss „kBits“ sein. |
TxFrameFormat = | 0, 1 oder 2 | Setzt das Format, in dem das CMM CAN-Nachrichten sendet | Ok | 0: Classic-CAN-Frame; 1: CAN-FD-Frame ohne BRS; 2: CAN-FD-Frame mit BRS |
InitCan | Initialisiert die CAN-Schnittstelle neu | Ok | Eine Neuinitialisierung der CAN-Schnittstelle ist erforderlich, wenn die Baudrate geändert wurde | |
CanCyclicId = | 0x0 … 0x7EF [EXT] | Setzt die CAN-ID für zyklische Nachrichten | Ok | Für Extended IDs muss der optionale Parameter EXT verwendet werden; max. Extended ID ist 0x1FFFFFEF |
OnOffMode = | 0 … 7 | Setzt die Konfiguration der On/Off-Steuerung | Ok | Beschreibung von OnOffMode siehe On/Off-Steuerung. |
OnOff = | 0 … 1 | Setzt den ON/Off-Zustand des Geräts per Software | Ok | Je nach OnOffMode wird diese Einstellung verwendet oder ignoriert. Details siehe On/Off-Steuerung. |
IsoTpLocalId = | 0x0 … 0x7FF [EXT] | Setzt die lokale CAN-ID für ISO-TP | Ok | Für Extended IDs muss der optionale Parameter EXT verwendet werden; max. Extended ID ist 0x1FFFFFEF |
IsoTpRemoteId = | 0x0 … 0x7FF [EXT] | Setzt die Remote-CAN-ID für ISO-TP | Ok | Für Extended IDs muss der optionale Parameter EXT verwendet werden; max. Extended ID ist 0x1FFFFFEF |
CanTermination = | 0 … 1 | Setzt den Zustand des schaltbaren CAN-Abschlusses | Ok | |
IpSettings = | Beispiel: 192.168.200.1 255.255.255.0 192.168.200.10 | Setzt die IP-Einstellungen des Geräts | Ok | IP, Maske und Gateway müssen durch Leerzeichen getrennt werden. |
Ports = | Beispiel: 5025 55111 55112 | Setzt die TCP-Ports | Ok | Die Portnummern müssen durch Leerzeichen getrennt werden. |
MinRange = | 0…6 | Setzt den minimalen Messbereich, in den das CMM IV schalten kann | Ok | Mit diesem Befehl kann das Umschalten bei dynamischen Signalen minimiert werden. Der interne MinRange-Wert wird auf 0 zurückgesetzt, bevor das CMM per Software oder Hardware-Pin eingeschaltet wird. |
UserText = | <string> | Der Benutzer kann einen String von bis zu 64 Byte dauerhaft im Speicher des CMM ablegen. | Ok | Damit lässt sich zum Beispiel das Datum der nächsten Kalibrierung, eine Inventarnummer oder etwas anderes speichern. |
SampleRate = | 0 … 3 | Setzt die Abtastrate (Details unter Messverfahren) | 0: 125 kS/s; 1: 50 kS/s; 2: 10 kS/s; 3: 1 kS/s |
2.5.4Fehlermeldungen
Fehlerhafte Befehle werden mit einem der folgenden Strings beantwortet (wo sinnvoll, enthält die Fehlermeldung den empfangenen String, um die Fehlersuche zu vereinfachen):
!Incorrect number of arguments: <received string>!This command is not supported: <received string>!This action is not supported: <received string>!Values out of range: <received string>!FRAM write failed.!No data available, maybe there was no trigger.!Error: <errorcode>!Waiting for reset to complete, commands are ignored.
2.6CAN-Konfiguration
Das CMM kann über die CAN-Schnittstelle konfiguriert werden. Für diese Konfiguration wird das ISO-TP-Protokoll nach ISO 15765-2 verwendet. Es wird die normale Adressierung (Normal Addressing) verwendet.
Die Konfiguration erfolgt durch Senden von Befehlen an das CMM. Jeder Befehl wird mit einer Antwort quittiert.
Standardmäßig verwendet das CMM IV die folgenden IDs für ISO-TP:
- Das CMM IV empfängt Befehle auf der Local-ID (TPLID):
0x1C3 - Das CMM IV sendet Antworten auf der Remote-ID (TPRID):
0x7FF
2.6.1ISO-TP-Header
Single-Frame-Befehle
Die meisten Befehle und Antworten passen in eine einzelne CAN-Nachricht, d. h. es können Single Frames nach ISO 15765-2 verwendet werden. Die jeweilige CAN-Nachricht enthält die folgenden Daten:
| CAN-ID | Data_1 | Data_2 (Befehlsheader) | Data_3 (Befehlsheader) | Data_4 (Befehlsheader) | Data_5 (Befehlsheader) | Data_6 | Data_7 | Data_8 |
|---|---|---|---|---|---|---|---|---|
| TPLID (Befehl), TPRID (Antwort) | SF_N_PCI = Länge, 0x04…0x07 | Befehl | Aktion | Fehlercode | Reserviert | Befehlsabhängige Daten | Befehlsabhängige Daten | Befehlsabhängige Daten |
Multi-Frame-Befehle
Ist für einen Befehl mehr als eine Nachricht erforderlich, werden First Frames, Flow Control und Consecutive Frames in der folgenden Reihenfolge von oben nach unten verwendet:
| CAN-ID | Frame | Data_1 | Data_2 | Data_3 | Data_4 | Data_5 | Data_6 | Data_7 | Data_8 |
|---|---|---|---|---|---|---|---|---|---|
| TPLID (Befehl) | First Frame | FF_N_PCI ID+(Länge MSB): 0x10 | (Länge LSB): Länge | Befehl | Aktion | Fehlercode | Reserviert | Befehlsabhängige Daten | Befehlsabhängige Daten |
| TPRID (Antwort) | Flow Control | FC_N_PCI: 0x30 | BS: Blockgröße = 0 | ST_min: Separationszeit = 0 | |||||
| TPLID (Befehl) | Consecutive Frame | CF_N_PCI: 0x20 | Befehlsabhängige Daten | Befehlsabhängige Daten | Befehlsabhängige Daten | Befehlsabhängige Daten | Befehlsabhängige Daten | Befehlsabhängige Daten | Befehlsabhängige Daten |
| TPLID (Befehl) | Consecutive Frame | CF_N_PCI: 0x21 | Befehlsabhängige Daten | Befehlsabhängige Daten | Befehlsabhängige Daten | Befehlsabhängige Daten | Befehlsabhängige Daten | Befehlsabhängige Daten | Befehlsabhängige Daten |
| TPLID (Befehl) | Consecutive Frame | : | : | : | : | : | : | : | : |
Ist die Multi-Frame-Nachricht eine Antwort, sind die CAN-IDs TPRID und TPLID zu vertauschen.
Datenbyte 1/2 xx_N_PCI
Datenbyte 1 enthält Angaben zum Frame-Typ und zur Datenlänge nach ISO 15765-2.
Für Single Frames sind die Werte 0x04…0x07 gültig; sie geben die Anzahl der folgenden Datenbytes an. Mindestens 4 Byte für Befehl, Aktion, Fehlercode und Reserviert – maximal 7 Byte einschließlich 3 befehlsabhängiger Datenbytes.
Für First Frames wird 0x10 in Byte 1 zur Befehlslänge addiert, die in Byte 2 steht.
Für Consecutive Frames wird 0x20 in Byte 1 zu einem Nachrichtenzähler addiert.
2.6.2Befehlsheader
Datenbyte 2/3 Befehl
Byte 2 bei Single Frames, Byte 3 bei Multi-Frames
| Befehls-ID | Befehl | Beschreibung |
|---|---|---|
| 0x00 | CAN_Cmd_NOOPR | Keine Operation |
| 0x01 | CAN_Cmd_RESET | Setzt den internen Mikrocontroller des CMM zurück (der Neustart des CMM IV kann bis zu 10 Sekunden dauern) |
| 0x02 | CAN_Cmd_SWVER | Liest die Softwareversion aus |
| 0x03 | CAN_Cmd_DEFLT | Alle Konfigurationsparameter werden auf ihre Standardwerte gesetzt |
| 0x04 | CAN_Cmd_ONMOD | Fragt die Konfiguration der On/Off-Steuerung ab oder setzt sie |
| 0x05 | CAN_Cmd_CMMON | Fragt den internen ON/Off-Zustand ab oder setzt ihn |
| 0x06 | CAN_Cmd_GLVAL | Fragt die letzten Werte für Minimum, Maximum und Mittelwert ab |
| 0x07 | CAN_Cmd_TEMPR | Liest die aktuelle Modultemperatur in °C aus |
| 0x08 | CAN_Cmd_SINTV | Fragt das serielle Sendeintervall in Millisekunden ab oder setzt es |
| 0x09 | CAN_Cmd_CANBD | Fragt die CAN-Baudrate in kBit/s ab oder setzt sie |
| 0x0A | CAN_Cmd_CIDIN | Fragt CAN-Identifier und Intervall gemeinsam ab oder setzt sie (kombiniert die Befehle CANBD und CANID der seriellen Konfiguration) |
| 0x0B | CAN_Cmd_TPLID | Fragt CAN-Identifier und Extended-Flag des Identifiers gemeinsam ab oder setzt sie (kombiniert die Befehle TPLID und TPLXT der seriellen Konfiguration) |
| 0x0C | CAN_Cmd_TPRID | Fragt CAN-Identifier und Extended-Flag des Identifiers gemeinsam ab oder setzt sie (kombiniert die Befehle TPLID und TPLXT der seriellen Konfiguration) |
| 0x0D | CAN_Cmd_INITC | Initialisiert die CAN-Schnittstelle |
| 0x0E | SerialNumber | Fragt die Seriennummer ab. |
| 0x0F | CalDate | Fragt das Kalibrierdatum ab |
| 0x10 | CanTermination | Fragt den Zustand des schaltbaren CAN-Abschlusswiderstands ab oder setzt ihn. |
| 0x11 | IpSettings | Fragt IP, Maske und Gateway der Ethernet-Verbindung ab oder setzt sie |
| 0x12 | PortSettings | Fragt die Ports der Ethernet-Verbindung ab oder setzt sie |
| 0x13 | MacSettings | Fragt die MAC-Adresse der Ethernet-Verbindung ab |
| 0x14 | HwVersion | Fragt die Hardware-Revision ab |
| 0x15 | CanDataBaudrate | Fragt die CAN-FD-Datenbaudrate in kBit/s ab oder setzt sie. |
| 0x16 | TxFrameFormat | Fragt ab oder legt fest, in welchem Format CAN-Nachrichten gesendet werden; 0: Classic-CAN-Frame; 1: CAN-FD-Frame ohne BRS; 2: CAN-FD-Frame mit BRS |
| 0x20 | UserText | Der Benutzer kann einen String von 64 Byte dauerhaft im Speicher des CMM ablegen. |
| 0x30 | TCP-ISOTP-Bridge | Kapselt TCP-Befehle in ISO-TP-Frames |
Datenbyte 3/4 Aktion
Byte 3 bei Single Frames, Byte 4 bei Multi-Frames
| Befehls-ID | Befehl | Gültig für Richtung | Beschreibung |
|---|---|---|---|
| 0x00 | CAN_Action_Get | Befehl an das CMM | Abfrage zum Lesen von Daten aus dem CMM |
| 0x01 | CAN_Action_Set | Befehl an das CMM | Setzen |
| 0x02 | CAN_Action_Exe | Befehl an das CMM | Ausführen ohne Lesen oder Schreiben von Daten. |
| 0x03 | CAN_Action_Ret | Antwort vom CMM |
Datenbyte 4/5 Fehlercode
Byte 4 bei Single Frames, Byte 5 bei Multi-Frames. Dieses Datenbyte ist nur in Antworten des CMM gültig. In Befehlen an das CMM sollte dieses Byte immer 0x00 (= kein Fehler) sein.
| Befehls-ID | Befehl | Beschreibung |
|---|---|---|
| 0x00 | CAN_Error_None | Befehl wurde angenommen, kein Fehler |
| 0x01 | CAN_Error_HeaderLength | Header-Bytes 1..4 waren nicht vollständig |
| 0x02 | CAN_Error_DataLength | Anzahl der Datenbytes passte nicht zum Befehl |
| 0x03 | CAN_Error_UnknownCmd | Unbekannter Befehl |
| 0x04 | CAN_Error_Action | Aktion wird für diesen Befehl nicht unterstützt |
| 0x05 | CAN_Error_VOOR | Wert außerhalb des Bereichs (es wurde ein ungültiger Parameter übergeben) |
| 0x06 | CAN_Error_InvalidHeader | Fehlercode oder reserviertes Byte des Befehlsheaders waren nicht 0. |
| 0x07 | FRAM_Error_WriteFailed | Schreiben in den FRAM-Speicher des CMM fehlgeschlagen |
| 0x08 | CMM_Error_WaitingForReset | Befehle sind gesperrt, solange ein Reset aussteht. |
Datenbyte 5/6 Reserviert
Byte 5 bei Single Frames, Byte 6 bei Multi-Frames. Dieses Byte ist für zukünftige Verwendung reserviert.
2.6.3Befehlsübersicht
Die folgenden Befehle sind verfügbar:
| Befehl | Länge | Befehls-ID | Aktion | Fehlercode | Reserviert | Befehlsabhängige Daten |
|---|---|---|---|---|---|---|
| CAN_Cmd_NOOPR | 4 | 0x00 | 0x02 (Exe) | 0x00 | 0x00 | |
| CAN_Cmd_RESET | 4 | 0x01 | 0x02 (Exe) | 0x00 | 0x00 | |
| CAN_Cmd_SWVER | 4 | 0x02 | 0x00 (Get) | 0x00 | 0x00 | |
| CAN_Cmd_DEFLT | 4 | 0x03 | 0x02 (Exe) | 0x00 | 0x00 | |
| CAN_Cmd_ONMOD | 4 | 0x04 | 0x00 (Get) | 0x00 | 0x00 | |
| CAN_Cmd_ONMOD | 5 | 0x04 | 0x01 (Set) | 0x00 | 0x00 | OnMode = 0…7 |
| CAN_Cmd_CMMON | 4 | 0x05 | 0x00 (Get) | 0x00 | 0x00 | |
| CAN_Cmd_CMMON | 5 | 0x05 | 0x01 (Set) | 0x00 | 0x00 | 0 / 1 |
| CAN_Cmd_GLVAL | 4 | 0x06 | 0x00 (Get) | 0x00 | 0x00 | |
| CAN_Cmd_TEMPR | 4 | 0x07 | 0x00 (Get) | 0x00 | 0x00 | |
| CAN_Cmd_CANBD | 4 | 0x09 | 0x00 (Get) | 0x00 | 0x00 | |
| CAN_Cmd_CANBD | 6 | 0x09 | 0x01 (Set) | 0x00 | 0x00 | Nominale CAN-Baudrate kBit/s (Bit 7..0, Bit 15..8) |
| CanDataBaudrate | 4 | 0x15 | 0x00 (Get) | 0x00 | 0x00 | |
| CanDataBaudrate | 6 | 0x15 | 0x01 (Set) | 0x00 | 0x00 | CAN-Datenbaudrate kBit/s (Bit 7..0, Bit 15..8) |
| CAN_Cmd_INITC | 4 | 0x0D | 0x02 (Exe) | 0x00 | 0x00 |
Bitte beachten Sie, dass nur der Befehlsheader und die befehlsabhängigen Daten dargestellt sind. Der ISO-15765-Header muss hinzugefügt werden, und die Nachrichten müssen bei Bedarf auf mehrere Nachrichten aufgeteilt werden.
| Befehl | Länge | Befehls-ID | Aktion | Fehlercode | Reserviert | Befehlsabhängige Daten |
|---|---|---|---|---|---|---|
| CAN_Cmd_CIDIN | 4 | 0x0A | 0x00 (Get) | 0x00 | 0x00 | |
| CAN_Cmd_CIDIN | 12 | 0x0A | 0x01 (Set) | 0x00 | 0x00 | CAN-ID, Xtended, CAN-Intervall [ms] |
| Byte | Befehlsabhängige Daten | Bits |
|---|---|---|
| Byte 0 … 4 | CAN-ID | Bit 7…0, Bit 15..8, Bit 23…16, Bit 30…24 |
| Byte 0 … 4 | Xtended = 0 / 1 | Bit 31 |
| Byte 5…8 | CAN-Intervall [ms] | 0.. … 31 |
| Befehl | Länge | Befehls-ID | Aktion | Fehlercode | Reserviert | Befehlsabhängige Daten |
|---|---|---|---|---|---|---|
| CAN_Cmd_TPLID | 4 | 0x0B | 0x00 (Get) | 0x00 | 0x00 | |
| CAN_Cmd_TPLID | 8 | 0x0B | 0x01 (Set) | 0x00 | 0x00 | Byte 0 … 4: CAN-ID (Bit 7…0, 15..8, 23…16, 30…24), Xtended = 0 / 1 (Bit 31) |
| CAN_Cmd_TPRID | 4 | 0x0C | 0x00 (Get) | 0x00 | 0x00 | |
| CAN_Cmd_TPRID | 8 | 0x0C | 0x01 (Set) | 0x00 | 0x00 | Byte 0 … 4: CAN-ID (Bit 7…0, 15..8, 23…16, 30…24), Xtended = 0 / 1 (Bit 31) |
| SerialNumber | 4 | 0x0E | 0x00 (Get) | 0x00 | 0x00 | |
| CalDate | 4 | 0x0F | 0x00 (Get) | 0x00 | 0x00 | |
| CanTermination | 4 | 0x10 | 0x00 (Get) | 0x00 | 0x00 | |
| CanTermination | 5 | 0x10 | 0x01 (Set) | 0x00 | 0x00 | 0/1 |
| IpSettings | 4 | 0x11 | 0x00 (Get) | 0x00 | 0x00 | |
| IpSettings | 16 | 0x11 | 0x01 (Set) | 0x00 | 0x00 | IP, Maske, Gateway |
| Byte | Befehlsabhängige Daten | Beispiel |
|---|---|---|
| Byte 0…3 | IP | 192 168 200 1 |
| Byte 4…7 | Maske | 255 255 255 0 |
| Byte 8…11 | Gateway | 192 168 200 10 |
| Befehl | Länge | Befehls-ID | Aktion | Fehlercode | Reserviert | Befehlsabhängige Daten |
|---|---|---|---|---|---|---|
| PortSettings | 4 | 0x12 | 0x00 (Get) | 0x00 | 0x00 | |
| PortSettings | 10 | 0x12 | 0x01 (Set) | 0x00 | 0x00 | Port Commands, Port Echo, Port Streaming |
| Byte | Befehlsabhängige Daten | Bits |
|---|---|---|
| Byte 0…1 | Port Commands (5025) | Bit 7…0, Bit 15…8 |
| Byte 2…3 | Port Echo (55111) | Bit 7…0, Bit 15…8 |
| Byte 4…6 | Port Streaming (55112) | Bit 7…0, Bit 15…8 |
| Befehl | Länge | Befehls-ID | Aktion | Fehlercode | Reserviert | Befehlsabhängige Daten |
|---|---|---|---|---|---|---|
| MacSettings | 4 | 0x13 | 0x00 (Get) | 0x00 | 0x00 | |
| HwVersion | 4 | 0x14 | 0x00 (Get) | 0x00 | 0x00 | |
| TxFrameFormat | 4 | 0x16 | 0x00 (Get) | 0x00 | 0x00 | |
| TxFrameFormat | 5 | 0x16 | 0x01 (Set) | 0x00 | 0x00 | 0 … 2 (0: Classic CAN, 1: CAN FD ohne BRS, 2: CAN FD mit BRS) |
| UserText | 4 | 0x20 | 0x00 (Get) | 0x00 | 0x00 | |
| UserText | 68 | 0x20 | 0x01 (Set) | 0x00 | 0x00 | Byte 0 … 63: UserText-String |
| TCP-ISOTP-Bridge | ???? | 0x30 | 0x00 (Get) | 0x00 | 0x00 | Byte 0 … ????: TCP-Befehl (vom PC) |
2.6.4Antwortübersicht
Jeder Befehl wird mit einer Antwort quittiert.
Die meisten Befehle werden zuerst ausgeführt, und die Antwort wird nach der Ausführung gesendet. Ausnahmen von dieser Regel sind:
- RESET:
- Die Antwort wird sofort gesendet.
- Der Reset wird anschließend durchgeführt.
- Der Neustart des CMM IV kann bis zu 10 Sekunden dauern
- TPLID, TPRID:
- Die Antwort wird mit der bisherigen CAN-ID gesendet.
- Die jeweilige CAN-ID für ISO-TP wird geändert, nachdem die Antwort gesendet wurde.
- CANBD:
- Die Baudrate wird geändert, nachdem die Antwort gesendet wurde.
- Bitte beachten Sie, dass nach einer Änderung der Baudrate Busfehler auftreten können. Das CMM sollte anschließend neu gestartet werden.
Negative Antworten
Negative Antworten werden zurückgegeben, wenn ein Fehler aufgetreten ist, d. h. wenn der Befehl ungültig war und abgewiesen wurde.
| Antwort auf Befehl | Länge | Befehls-ID | Aktion | Fehlercode | Reserviert |
|---|---|---|---|---|---|
| Beliebig | 4 | 0xXX | 0x03 (Ret) | 0xYY (siehe Datenbyte 4/5 Fehlercode) | 0x00 |
Positive Antworten
Die positiven Antworten auf die jeweiligen Befehle lauten wie folgt. Bitte beachten Sie, dass nur der Befehlsheader und die befehlsabhängigen Daten dargestellt sind. Der ISO-TP-Header muss hinzugefügt werden, und die Nachrichten müssen bei Bedarf auf mehrere Nachrichten aufgeteilt werden.
| Antwort auf Befehl | Länge | Befehls-ID | Aktion | Fehlercode | Reserviert | Befehlsabhängige Daten |
|---|---|---|---|---|---|---|
| CAN_Cmd_NOOPR | 4 | 0x00 | 0x03 (Ret) | 0x00 | 0x00 | |
| CAN_Cmd_RESET | 4 | 0x01 | 0x03 (Ret) | 0x00 | 0x00 | |
| CAN_Cmd_SWVER | 18 | 0x02 | 0x03 (Ret) | 0x00 | 0x00 | SW-Version als ASCII-String (14 Byte) |
| CAN_Cmd_DEFLT | 4 | 0x03 | 0x03 (Ret) | 0x00 | 0x00 | |
| CAN_Cmd_ONMOD | 5 | 0x04 | 0x03 (Ret) | 0x00 | 0x00 | OnMode = 0…7 |
| CAN_Cmd_CMMON | 5 | 0x05 | 0x03 (Ret) | 0x00 | 0x00 | 0 / 1 |
| CAN_Cmd_TEMPR | 4 | 0x07 | 0x03 (Ret) | 0x00 | 0x00 | Temperatur [°C] (Bit 0…7, 8…15) |
| CAN_Cmd_CANBD | 6 | 0x09 | 0x03 (Ret) | 0x00 | 0x00 | Nominale CAN-Baudrate kBit/s (Bit 7…0, 15..8) |
| CanDataBaudrate | 6 | 0x15 | 0x03 (Ret) | 0x00 | 0x00 | CAN-FD-Datenbaudrate kBit/s (Bit 7…0, 15..8) |
| CAN_Cmd_INITC | 4 | 0x0D | 0x03 (Ret) | 0x00 | 0x00 |
| Antwort auf Befehl | Länge | Befehls-ID | Aktion | Fehlercode | Reserviert | Befehlsabhängige Daten |
|---|---|---|---|---|---|---|
| CAN_Cmd_GLVAL | 23 | 0x06 | 0x03 (Ret) | 0x00 | 0x00 | CMMON, Negativ, Messbereich, Mittelwert, Min, Max, Anzahl Abtastwerte |
| Byte | Befehlsabhängige Daten | Wert / Bits |
|---|---|---|
| Byte 0 | CMMON | 0/1 |
| Byte 1 | Negativ | 0/1 |
| Byte 2 | Messbereich | 0…6 |
| Byte 3…6 | Mittelwert [100-nA-Schritte] | Bit 7…0, 15..8, 23…16, 31…24 |
| Byte 7…10 | Min [100-nA-Schritte] | 0.. … 31 |
| Byte 11…14 | Max [100-nA-Schritte] | 0.. … 31 |
| 15…18 | Anzahl Abtastwerte | 0.. … 31 |
| Befehl | Länge | Befehls-ID | Aktion | Fehlercode | Reserviert | Befehlsabhängige Daten |
|---|---|---|---|---|---|---|
| CAN_Cmd_CIDIN | 12 | 0x0A | 0x03 (Ret) | 0x00 | 0x00 | CAN-ID, Xtended, CAN-Intervall [ms] |
| Byte | Befehlsabhängige Daten | Bits |
|---|---|---|
| Byte 0 … 4 | CAN-ID | Bit 7…0, Bit 15..8, Bit 23…16, Bit 30…24 |
| Byte 0 … 4 | Xtended = 0 / 1 | Bit 31 |
| Byte 5…8 | CAN-Intervall [ms] | 0.. … 31 |
| Antwort auf Befehl | Länge | Befehls-ID | Aktion | Fehlercode | Reserviert | Befehlsabhängige Daten |
|---|---|---|---|---|---|---|
| CAN_Cmd_TPLID | 8 | 0x0B | 0x03 (Ret) | 0x00 | 0x00 | Byte 0 … 4: CAN-ID (Bit 7…0, 15..8, 23…16, 30…24), Xtended = 0 / 1 (Bit 31) |
| CAN_Cmd_TPRID | 8 | 0x0C | 0x03 (Ret) | 0x00 | 0x00 | Byte 0 … 4: CAN-ID (Bit 7…0, 15..8, 23…16, 30…24), Xtended = 0 / 1 (Bit 31) |
| SerialNumber | 20 | 0x0E | 0x03 (Ret) | 0x00 | 0x00 | Seriennummer als ASCII-String |
| Byte | Befehlsabhängige Daten | Beispiel |
|---|---|---|
| Byte 0…15 | Seriennummer als ASCII-String (mit Leerzeichen aufgefüllt) | 2 0 E T 0 0 1 2 3 |
| Antwort auf Befehl | Länge | Befehls-ID | Aktion | Fehlercode | Reserviert | Befehlsabhängige Daten |
|---|---|---|---|---|---|---|
| CalDate | 8 | 0x0F | 0x03 (Ret) | 0x00 | 0x00 | Byte 0 … 3: Jahr (uint16) (Bit 7…0, 15..8), Monat (uint8) (Bit 7…0), Tag (uint8) (Bit 7…0) |
| CanTermination | 5 | 0x10 | 0x03 (Ret) | 0x00 | 0x00 | 0 / 1 |
| IpSettings | 17 | 0x11 | 0x03 (Ret) | 0x00 | 0x00 | IP, Maske, Gateway, Standard |
| Byte | Befehlsabhängige Daten | Beispiel |
|---|---|---|
| Byte 0…3 | IP | 192 168 200 1 |
| Byte 4…7 | Maske | 255 255 255 0 |
| Byte 8…11 | Gateway | 192 168 200 10 |
| Byte 12 | Standard | 0/0xDF |
| Antwort auf Befehl | Länge | Befehls-ID | Aktion | Fehlercode | Reserviert | Befehlsabhängige Daten |
|---|---|---|---|---|---|---|
| PortSettings | 17 | 0x12 | 0x03 (Ret) | 0x00 | 0x00 | Port Commands, Port Echo, Port Streaming |
| Byte | Befehlsabhängige Daten | Bits |
|---|---|---|
| Byte 0…1 | Port Commands (5025) | Bit 7…0, Bit 15…8 |
| Byte 2…3 | Port Echo (55111) | Bit 7…0, Bit 15…8 |
| Byte 4…6 | Port Streaming (55112) | Bit 7…0, Bit 15…8 |
| Antwort auf Befehl | Länge | Befehls-ID | Aktion | Fehlercode | Reserviert | Befehlsabhängige Daten |
|---|---|---|---|---|---|---|
| MacSettings | 10 | 0x13 | 0x03 (Ret) | 0x00 | 0x00 | Byte 0 … 5: MAC-Adresse, Oktett 1 … 6: 0x74 0x5B 0xC5 0x00 0x00 0x01 |
| HwVersion | 9 | 0x14 | 0x03 (Ret) | 0x00 | 0x00 | Byte 0 … 4: HW-Version (Bit 7…0), Silicon-Revision des Mikrocontrollers (Bit 7…0, 15..8, 23…16, 31…24) |
| TxFrameFormat | 5 | 0x16 | 0x03 (Ret) | 0x00 | 0x00 | Byte 0: 0 … 2 (0: Classic CAN, 1: CAN FD ohne BRS, 2: CAN FD mit BRS) |
| UserText | 68 | 0x20 | 0x03 (Ret) | 0x00 | 0x00 | Byte_0 … 63: UserText-String |
| TCP-ISOTP-Bridge | ???? | 0x30 | 0x03 (Ret) | 0x00 | 0x00 | Byte_0 … ????: TCP-Antwort (vom CMM IV) |
2.6.5Beispiel-CAN-Traces
Die folgenden CAN-Traces sollen das Verständnis der obigen Tabellen erleichtern. Befehl und Antworten sind in der letzten Spalte gekennzeichnet: Befehl / Antwort. Bitte beachten Sie, dass Flow-Control-Frames dem jeweiligen Befehl bzw. der jeweiligen Antwort zugeordnet sind, aber von der jeweiligen Gegenstelle gesendet werden.
CMMON: einschalten
| Zeit | CAN-ID | Daten | Befehl / Antwort |
|---|---|---|---|
| 2014.12.11 - 13:52:21.724 | 0x1C3 | 0x05 0x05 0x01 0x00 0x00 0x01 0x00 0x00 | Befehl |
| 2014.12.11 - 13:52:21.724 | 0x7FF | 0x04 0x05 0x03 0x00 0x00 0x00 0x00 0x00 | Antwort |
CMMON: ausschalten
| Zeit | CAN-ID | Daten | Befehl / Antwort |
|---|---|---|---|
| 2014.12.11 - 13:52:29.924 | 0x1C3 | 0x05 0x05 0x01 0x00 0x00 0x00 0x00 0x00 | Befehl |
| 2014.12.11 - 13:52:29.924 | 0x7FF | 0x04 0x05 0x03 0x00 0x00 0x00 0x00 0x00 | Antwort |
SWVER (SW-Version lesen)
| Zeit | CAN-ID | Daten | Befehl / Antwort |
|---|---|---|---|
| 2014.12.11 - 13:53:59.118 | 0x1C3 | 0x05 0x02 0x00 0x00 0x00 0x00 0x00 0x00 | Befehl |
| 2014.12.11 - 13:53:59.118 | 0x7FF | 0x10 0x12 0x02 0x03 0x00 0x00 0x43 0x4D | Antwort |
| 2014.12.11 - 13:53:59.122 | 0x1C3 | 0x30 0x00 0x00 0x00 0x00 0x00 0x00 0x00 | Antwort |
| 2014.12.11 - 13:53:59.122 | 0x7FF | 0x21 0x4D 0x5F 0x49 0x49 0x49 0x5F 0x56 | Antwort |
| 2014.12.11 - 13:53:59.122 | 0x7FF | 0x22 0x5F 0x31 0x5F 0x32 0x00 0x00 0x00 | Antwort |
SINTV (serielles Intervall setzen)
| Zeit | CAN-ID | Daten | Befehl / Antwort |
|---|---|---|---|
| 2014.12.11 - 13:56:46.436 | 0x1C3 | 0x10 0x08 0x08 0x01 0x00 0x00 0x80 0x00 | Befehl |
| 2014.12.11 - 13:56:46.437 | 0x7FF | 0x30 0x00 0x01 0x00 0x00 0x00 0x00 0x00 | Befehl |
| 2014.12.11 - 13:56:46.440 | 0x1C3 | 0x21 0x00 0x00 0x00 0x00 0x00 0x00 0x00 | Befehl |
| 2014.12.11 - 13:56:46.442 | 0x7FF | 0x04 0x08 0x03 0x00 0x00 0x00 0x00 0x00 | Antwort |
Dokumente und Downloads
Weitere Dokumente und Dateien zu Ihrem IRS-Produkt finden Sie auf myIRS.