Drivery
Přehled driverů dodávaných s QInsight. Konfigurační parametry se zadávají
v poli Settings ve formátu klíč=hodnota;klíč=hodnota (velikost písmen
u klíčů nehraje roli). Driver obstarává fyzický přenos dat — o jejich výklad
se stará protokol.
Při přidání driveru se pole Settings automaticky předvyplní šablonou se
všemi parametry (u každého driveru níže řádek Předvyplní se). Jde jen
o výchozí hodnoty — vždy je přepište podle reálné situace. Sloupec
Výchozí v tabulkách platí, když parametr úplně vynecháte. U parametrů
specifických pro zařízení (port, deviceId, ip) je nutné hodnotu vždy
nastavit.
Ke čtení nastavení obecně: klíče se porovnávají bez ohledu na velikost
písmen a hodnoty smějí být v uvozovkách (port="COM3"). Neznámý klíč
(překlep nebo název z dřívější verze) se ignoruje a driver na něj upozorní
varováním v logu, ve kterém vypíše i všechny klíče, které zná; neplatná
hodnota se s varováním nahradí výchozí. Po každé změně nastavení proto
zkontrolujte log.
Obnova spojení
Všechny drivery, které komunikují se zařízením (Serial Port, TCP Client, TCP Server, PEAK CAN), se po ztrátě spojení chovají stejně a nastavují se stejnou dvojicí parametrů:
| Parametr | Výchozí | Význam |
|---|---|---|
reconnectDelayMs | 1000 (Serial Port 2000) | prodleva mezi dvěma pokusy o obnovení spojení v ms |
reconnectAttempts | -1 | počet opakování po neúspěšném pokusu: -1 = donekonečna, 0 = neopakovat (driver se zastaví při první chybě), N = ukončit pokusy po N po sobě jdoucích neúspěších |
- Počítadlo neúspěšných pokusů se po každém úspěšném připojení nuluje — dlouhé měření tak vydrží i několik ojedinělých výpadků, limit vyčerpá jen nepřerušená řada neúspěchů.
- Během výpadku je driver ve stavu Faulted, protokoly na něm zůstávají spuštěné a čekají (XCP zahodí session a po obnovení naváže novou, Modbus master pozastaví dotazy). Po obnovení spojení komunikace pokračuje bez zásahu obsluhy.
- Každý pokus je v logu jako varování
… failed (attempt 3/4): … Reconnecting in 1000 ms.Při nekonečném opakování se po prvních třech pokusech loguje už jen jednou za minutu s aktuálním číslem pokusu, aby nedocházelo k zahlcení logu. - Po vyčerpání limitu driver zapíše do logu chybu
gave up after N reconnect attempt(s): …, zastaví své protokoly a skončí ve stavu Stopped s tímto hlášením. Ostatní drivery a runtime běží dál; zastavený driver lze znovu spustit tlačítkem Start v jeho vlastnostech — viz Stavy driverů a tlačítko Start.
TCP drivery mají navíc parametr keepAliveMs (výchozí 5000, 0 = vypnuto):
po takto dlouhé nečinnosti na spojení začne operační systém posílat keepalive
sondy (každou sekundu, po třech neúspěšných spojení ukončí). Odpojený kabel
nebo vypnutá protistrana se tak zjistí během několika sekund místo desítek
sekund, které trvá vlastní timeout TCP. Vypněte jej pouze v sítích, kde
keepalive sondy působí potíže.
TCP Client
Technický název (v projektu): TcpClientDriver
Obousměrný TCP klient: připojí se na server (zařízení) a přenáší surové bajty. Rámování a kódování dat je věcí protokolu — typicky JSON Signal Stream, Modbus Master (TCP) nebo XCP on TCP.
Předvyplní se: ip=127.0.0.1;port=5000;connectionTimeoutMs=5000;reconnectDelayMs=1000;reconnectAttempts=-1;keepAliveMs=5000
| Parametr | Výchozí | Význam |
|---|---|---|
ip | 127.0.0.1 | adresa serveru |
port | 5000 | TCP port |
connectionTimeoutMs | 5000 | jak dlouho čekat na navázání spojení, v ms |
reconnectDelayMs | 1000 | prodleva mezi pokusy o znovupřipojení, viz Obnova spojení |
reconnectAttempts | -1 | počet pokusů o znovupřipojení, -1 = donekonečna |
keepAliveMs | 5000 | TCP keepalive: po takto dlouhé nečinnosti ověřuje spojení, 0 = vypnuto |
Nečinnost na lince driver nepovažuje za chybu (Modbus TCP mezi dotazy nic
neposílá); přerušené spojení zjistí keepalive. Timeouty menší než 1 ms se
zvýší na 1 ms. Dřívější názvy reconnectTimeMs, numberOfReconnections
a idleTimeoutMs se už nečtou — v logu se objeví varování o neznámém
klíči a je třeba je v nastavení přepsat.
TCP Server
Technický název (v projektu): TcpServerDriver
Binární TCP server (listener) přenášející surové bajty — typicky pro Modbus Slave (TCP). Přijímá jednoho klienta; nové příchozí spojení nahradí to stávající.
Předvyplní se: bindAddress=0.0.0.0;port=502;reconnectDelayMs=1000;reconnectAttempts=-1;keepAliveMs=5000
| Parametr | Výchozí | Význam |
|---|---|---|
bindAddress | 0.0.0.0 | lokální adresa, na které server naslouchá |
port | 502 | TCP port (výchozí hodnota odpovídá Modbus TCP) |
reconnectDelayMs | 1000 | prodleva mezi pokusy o otevření portu, viz Obnova spojení |
reconnectAttempts | -1 | počet pokusů o otevření portu, -1 = donekonečna |
keepAliveMs | 5000 | TCP keepalive na přijatém spojení, 0 = vypnuto |
bindAddress musí být IP adresa (0.0.0.0 = všechna rozhraní,
127.0.0.1 = jen lokální stroj) — jméno počítače driver nepřijme.
Parametry obnovy se u serveru týkají otevření naslouchacího portu:
pokud je port obsazený (na portu 502 již naslouchá jiný program) nebo zadaná
adresa v systému dosud neexistuje, driver pokus opakuje a spustí se, jakmile
se port uvolní. Odpojení klienta není chyba — server dál naslouchá a další
klient ho nahradí; korektní odpojení je v logu jako client … disconnected,
spojení ukončené keepalivem (odpojený kabel na straně klienta) jako varování
client … lost.
Firewall: příchozí spojení na port serveru musí povolit firewall na počítači s QInsight (Windows Defender Firewall nebo firewall antivirového balíku). V pravidle je lokální strana počítač s QInsight a vzdálená strana master; obnovu spojení po výpadku vždy iniciuje master (klient).
Serial Port (COM)
Technický název (v projektu): SerialPortDriver
Sériový COM port přenášející surové bajty — typicky pro Modbus RTU. Jedna instance = jeden COM port; po chybě (např. odpojení USB převodníku) se port automaticky otevírá znovu.
Předvyplní se: port=COM1;baudRate=9600;dataBits=8;parity=none;stopBits=1;handshake=none;reconnectDelayMs=2000;reconnectAttempts=-1
| Parametr | Výchozí | Význam |
|---|---|---|
port | — (povinný) | jméno COM portu, např. COM3 |
baudRate | 9600 | komunikační rychlost |
dataBits | 8 | počet datových bitů |
parity | none | parita: none, even, odd, mark, space |
stopBits | 1 | stop bity: 1, 1.5, 2 |
handshake | none | řízení toku: none, rts, xonxoff, rtsxonxoff |
reconnectDelayMs | 2000 | prodleva před znovuotevřením portu po chybě, viz Obnova spojení |
reconnectAttempts | -1 | počet pokusů o znovuotevření portu, -1 = donekonečna |
Hodnoty parity/stopBits/handshake pište přesně podle tabulky —
neplatná hodnota se s varováním v logu nahradí výchozí a komunikace pak
běží s nesprávným rámcem (typicky 8N1 místo 8E1). baudRate a dataBits
se předávají portu bez kontroly: neplatná hodnota (např. dataBits=9;
obvyklý rozsah je 5–8) způsobí chybu při otevírání portu a driver pak
otevření opakuje každých reconnectDelayMs — příčinu najdete v logu. Odpojení
USB převodníku zjistí Windows okamžitě; přerušený vodič mezi dvěma převodníky
driver nezjistí — tento stav ohlásí až protokol timeoutem odpovědi.
PEAK CAN Adapter
Technický název (v projektu): PeakCANDriver
CAN sběrnice přes USB adaptér PEAK PCAN; protokolům předává CAN rámce (Raw CAN Frames, XCP on CAN). Jedna instance driveru odpovídá jednomu fyzickému adaptéru — vybírá se podle Device ID nastaveného v adaptéru, takže konfigurace zůstane platná i po přepojení do jiného USB portu.
Předvyplní se: deviceId=0x51;bitrate=250000;reconnectDelayMs=1000;reconnectAttempts=-1
| Parametr | Výchozí | Význam |
|---|---|---|
deviceId | 0 | ID adaptéru vždy hexadecimálně (rozsah 0–FF dle PEAK Settings), přijímané tvary 1A, 0x1A, 1Ah |
bitrate | 250000 | rychlost sběrnice v bit/s, desítkově: 50000, 100000, 125000, 250000, 500000, 800000, 1000000; jiná hodnota se s varováním nahradí 250000 |
reconnectDelayMs | 1000 | prodleva mezi pokusy o inicializaci adaptéru, viz Obnova spojení |
reconnectAttempts | -1 | počet pokusů, -1 = donekonečna |
Driver prohledává USB adaptéry (PCAN-USB 1–16). Když žádný adaptér se zadaným Device ID nenajde, nebo když stejné ID mají dva adaptéry, pokus o připojení selže s popisem v logu a driver ho podle parametrů obnovy opakuje. Odpojení adaptéru za běhu (nebo stav bus-off) driver zjistí během jedné sekundy: uvolní kanál, protokolům ohlásí ztrátu transportu a adaptér vyhledává znovu; po opětovném připojení XCP naváže session automaticky.
Simulation
Technický název (v projektu): SimulDataDriver
Testovací driver — jen spouští a zastavuje protokol Simulation Signals, který si simulované hodnoty generuje sám v periodách událostí přiřazených proměnným. Umožňuje vyzkoušet projekt bez hardwaru.
Driver nemá žádná nastavení. Starší projekty mohou v nastavení mít
periodes=… — hodnota se ignoruje, rychlost simulace určují výhradně
události proměnných.
Virtual Variables Host
Technický název (v projektu): VirtualDataDriver
Hostitel virtuálních proměnných — proměnných, jejichž hodnoty počítají Python skripty. Driver s ničím nekomunikuje: jen spouští a zastavuje protokol Virtual Variables, který zápisy skriptů publikuje jako vzorky signálu. K čemu virtuální proměnné slouží a jak se konfigurují popisuje Virtual Variables; kompletní ukázku najdete v příkladu Simulace: všechny signály.
Driver nemá žádná nastavení.
Data Log Recorder
Technický název (v projektu): FileDataLoggerDriver
Zapisuje hodnoty vybraných proměnných do binárního souboru .qilog;
logované proměnné mu předává protokol Data Log Pass-Through
(PassThroughProtocol), který se k driveru přidává automaticky.
Kompletní popis včetně všech parametrů:
Logování dat.
Data Log Replay
Technický název (v projektu): FileDataReplayDriver
Přehrává zaznamenaný .qilog soubor zpět do proměnných. Do projektu ho
přidává tlačítko Import v ribbon menu Runtime; parametry (file,
mode, speed, loop) popisuje kapitola
Přehrávání logu.
Drivery jsou pluginy — vlastní driver viz Vlastní rozšíření.

