Auf dieser Seite

Verwendung des SystecCAN-Plugins

Das SystecCAN-Plugin kapselt die Low-Level-API für die Arbeit mit den SYS TEC CAN-Adaptern.

Dieses Plugin benötigt die SYS TEC CAN-Gerätetreiber und die Datei „usbcan32.dll“ (bzw. „usbcan64.dll“ für 64-Bit-Builds).

Erstellen von CAN-Bus-Geräten

Zunächst muss überprüft werden, ob unter QCanBus das gewünschte Plugin bereitgestellt wird:

if (QCanBus::instance()->plugins().contains(QStringLiteral("systeccan"))) {
    // plugin available
}

Dabei lautet „systeccan“ der Name des Plugins.

Anschließend kann eine Verbindung zu einer bestimmten Schnittstelle hergestellt werden:

QString errorString;
QCanBusDevice*device = QCanBus::instance()->createDevice(
    QStringLiteral("systeccan"), QStringLiteral("can0.0"), &errorString);
if (!device) {
    // Hier erfolgt die Fehlerbehandlung
    qDebug << errorString;
} else {
    device->connectDevice();
}

Dabei ist can0.0 der Name der aktiven CAN-Schnittstelle (Schnittstelle 0, Kanal 0). Das SystecCAN-Plugin unterstützt 64 USB-Schnittstellen (sogenannte Module) von can0.0 bis can63.1. Jedes Modul kann einen oder zwei Kanäle haben, auf die über den Index canX.0 oder canX.1 zugegriffen werden kann. Die Methode availableDevices() gibt eine Liste der derzeit verfügbaren Geräte zurück.

Hinweis: SYS TEC bietet auch CAN-Schnittstellen mit 8 oder 16 Kanälen an. Diese Geräte bestehen intern aus einem USB-Hub und mehreren Zweikanal-Modulen.

Das Gerät ist nun zum Schreiben und Lesen von CAN-Frames geöffnet:

QCanBusFrame frame;
frame.setFrameId(8);
QByteArray payload("A36E");
frame.setPayload(payload);
device->writeFrame(frame);

Das Auslesen kann mit der Methode „ readFrame()“ erfolgen. Das Signal „ framesReceived()“ wird ausgegeben, sobald mindestens ein neuer Frame zum Auslesen bereitsteht:

QCanBusFrame frame = device->readFrame();

SystecCAN unterstützt die folgenden Konfigurationen, die über ` setConfigurationParameter()` gesteuert werden können:

Schlüssel für den KonfigurationsparameterBeschreibung
QCanBusDevice::BitRateKeyLegt die Bitrate der CAN-Bus-Verbindung fest. Folgende Bitraten werden unterstützt: 10000, 20000, 50000, 100000, 125000, 250000, 500000, 800000 und 1000000. Beachten Sie, dass dieser Konfigurationsparameter nur angepasst werden kann, solange das „ QCanBusDevice “ nicht angeschlossen ist.
QCanBusDevice::ReceiveOwnKeyDer Empfang von CAN-Frames auf demselben Kanal, über den der CAN-Frame gesendet wurde, ist standardmäßig deaktiviert. Wenn diese Option aktiviert ist, werden die so empfangenen Frames mit „ QCanBusFrame::hasLocalEcho “ () gekennzeichnet.

SystecCAN unterstützt die folgenden zusätzlichen Funktionen:

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.