[{"data":1,"prerenderedAt":1294},["ShallowReactive",2],{"docs-nav-docs_cs":3,"docs-page-\u002Fcs\u002Freference\u002Fdrivers":366,"docs-surround-\u002Fcs\u002Freference\u002Fdrivers":1291},[4],{"title":5,"path":6,"stem":7,"children":8},"Cs","\u002Fcs","cs",[9,13,41,58,76,103,157,171,190,211,238,282,302],{"title":10,"path":6,"stem":11,"navTitle":12},"Dokumentace QInsight","cs\u002Findex","Přehled",{"title":14,"navTitle":15,"path":16,"stem":17,"children":18,"page":40},"Začínáme",null,"\u002Fcs\u002Fgetting-started","cs\u002F01.getting-started",[19,23,27,31,36],{"title":20,"path":21,"stem":22,"navTitle":20},"Co je QENEX Suite","\u002Fcs\u002Fgetting-started\u002Fwhat-is-qenex-suite","cs\u002F01.getting-started\u002F1.what-is-qenex-suite",{"title":24,"path":25,"stem":26,"navTitle":24},"Co je QInsight","\u002Fcs\u002Fgetting-started\u002Fwhat-is-qinsight","cs\u002F01.getting-started\u002F2.what-is-qinsight",{"title":28,"path":29,"stem":30,"navTitle":28},"Instalace","\u002Fcs\u002Fgetting-started\u002Finstallation","cs\u002F01.getting-started\u002F3.installation",{"title":32,"path":33,"stem":34,"navTitle":35},"Uživatelské rozhraní QInsight","\u002Fcs\u002Fgetting-started\u002Fthe-qinsight-interface","cs\u002F01.getting-started\u002F4.the-qinsight-interface","Uživatelské rozhraní",{"title":37,"path":38,"stem":39,"navTitle":37},"Licencování","\u002Fcs\u002Fgetting-started\u002Flicensing","cs\u002F01.getting-started\u002F5.licensing",false,{"title":42,"navTitle":15,"path":43,"stem":44,"children":45,"page":40},"První projekt","\u002Fcs\u002Ffirst-project","cs\u002F02.first-project",[46,50,54],{"title":47,"path":48,"stem":49,"navTitle":47},"Založení projektu","\u002Fcs\u002Ffirst-project\u002Fcreate-a-project","cs\u002F02.first-project\u002F1.create-a-project",{"title":51,"path":52,"stem":53,"navTitle":51},"Struktura projektu","\u002Fcs\u002Ffirst-project\u002Fproject-structure","cs\u002F02.first-project\u002F2.project-structure",{"title":55,"path":56,"stem":57,"navTitle":55},"Heslo projektu","\u002Fcs\u002Ffirst-project\u002Fproject-password","cs\u002F02.first-project\u002F3.project-password",{"title":59,"navTitle":15,"path":60,"stem":61,"children":62,"page":40},"Připojení zařízení","\u002Fcs\u002Fconnecting-a-device","cs\u002F03.connecting-a-device",[63,67,71],{"title":64,"path":65,"stem":66,"navTitle":64},"Přidání driveru","\u002Fcs\u002Fconnecting-a-device\u002Fadd-a-driver","cs\u002F03.connecting-a-device\u002F1.add-a-driver",{"title":68,"path":69,"stem":70,"navTitle":68},"Přidání protokolu","\u002Fcs\u002Fconnecting-a-device\u002Fadd-a-protocol","cs\u002F03.connecting-a-device\u002F2.add-a-protocol",{"title":72,"path":73,"stem":74,"navTitle":75},"Propojení driveru a protokolu","\u002Fcs\u002Fconnecting-a-device\u002Flink-driver-and-protocol","cs\u002F03.connecting-a-device\u002F3.link-driver-and-protocol","Propojení",{"title":77,"navTitle":15,"path":78,"stem":79,"children":80,"page":40},"Proměnné","\u002Fcs\u002Fvariables","cs\u002F04.variables",[81,85,89,93,98],{"title":82,"path":83,"stem":84,"navTitle":82},"Co je proměnná","\u002Fcs\u002Fvariables\u002Fwhat-is-a-variable","cs\u002F04.variables\u002F1.what-is-a-variable",{"title":86,"path":87,"stem":88,"navTitle":86},"Konverze a prezentace","\u002Fcs\u002Fvariables\u002Fconversion-and-presentation","cs\u002F04.variables\u002F2.conversion-and-presentation",{"title":90,"path":91,"stem":92,"navTitle":90},"Přidání proměnné","\u002Fcs\u002Fvariables\u002Fadd-a-variable","cs\u002F04.variables\u002F3.add-a-variable",{"title":94,"path":95,"stem":96,"navTitle":97},"Proměnná Matrix (pole, křivka, mapa)","\u002Fcs\u002Fvariables\u002Fmatrix-variable","cs\u002F04.variables\u002F4.matrix-variable","Proměnná Matrix",{"title":99,"path":100,"stem":101,"navTitle":102},"Události (Events)","\u002Fcs\u002Fvariables\u002Fevents","cs\u002F04.variables\u002F5.events","Události",{"title":104,"navTitle":15,"path":105,"stem":106,"children":107,"page":40},"Vizualizace","\u002Fcs\u002Fvisualization","cs\u002F05.visualization",[108,113,118,122,127,132,137,142,147,152],{"title":109,"path":110,"stem":111,"navTitle":112},"Vytvoření pracovní plochy","\u002Fcs\u002Fvisualization\u002Fcreate-a-workspace","cs\u002F05.visualization\u002F1.create-a-workspace","Pracovní plocha",{"title":114,"path":115,"stem":116,"navTitle":117},"Zápis hodnot do zařízení","\u002Fcs\u002Fvisualization\u002Fwrite-to-device","cs\u002F05.visualization\u002F10.write-to-device","Zápis do zařízení",{"title":119,"path":120,"stem":121,"navTitle":119},"Přidání controlu","\u002Fcs\u002Fvisualization\u002Fadd-a-control","cs\u002F05.visualization\u002F2.add-a-control",{"title":123,"path":124,"stem":125,"navTitle":126},"Navázání controlu na proměnnou","\u002Fcs\u002Fvisualization\u002Fbind-a-control","cs\u002F05.visualization\u002F3.bind-a-control","Navázání controlu",{"title":128,"path":129,"stem":130,"navTitle":131},"Graph — časový průběh signálů","\u002Fcs\u002Fvisualization\u002Fgraph-control","cs\u002F05.visualization\u002F4.graph-control","Graph",{"title":133,"path":134,"stem":135,"navTitle":136},"XY Graph — signál proti signálu","\u002Fcs\u002Fvisualization\u002Fxy-graph-control","cs\u002F05.visualization\u002F5.xy-graph-control","XY Graph",{"title":138,"path":139,"stem":140,"navTitle":141},"Gauge — ukazatel okamžité hodnoty","\u002Fcs\u002Fvisualization\u002Fgauge-control","cs\u002F05.visualization\u002F6.gauge-control","Gauge",{"title":143,"path":144,"stem":145,"navTitle":146},"Single-Signal — hodnota s popiskem","\u002Fcs\u002Fvisualization\u002Fsignal-control","cs\u002F05.visualization\u002F7.signal-control","Single-Signal",{"title":148,"path":149,"stem":150,"navTitle":151},"Watch Table — tabulka proměnných","\u002Fcs\u002Fvisualization\u002Fwatch-table-control","cs\u002F05.visualization\u002F8.watch-table-control","Watch Table",{"title":153,"path":154,"stem":155,"navTitle":156},"Matrix control — mapy a kalibrace","\u002Fcs\u002Fvisualization\u002Fmatrix-control","cs\u002F05.visualization\u002F9.matrix-control","Matrix control",{"title":158,"navTitle":15,"path":159,"stem":160,"children":161,"page":40},"Běh a sledování","\u002Fcs\u002Frunning","cs\u002F06.running",[162,166],{"title":163,"path":164,"stem":165,"navTitle":163},"Spuštění a zastavení","\u002Fcs\u002Frunning\u002Fstart-and-stop","cs\u002F06.running\u002F1.start-and-stop",{"title":167,"path":168,"stem":169,"navTitle":170},"Sledování živých dat","\u002Fcs\u002Frunning\u002Fwatching-live-data","cs\u002F06.running\u002F2.watching-live-data","Živá data",{"title":172,"navTitle":15,"path":173,"stem":174,"children":175,"page":40},"Logování a přehrávání","\u002Fcs\u002Flogging-and-replay","cs\u002F07.logging-and-replay",[176,180,185],{"title":177,"path":178,"stem":179,"navTitle":177},"Logování dat","\u002Fcs\u002Flogging-and-replay\u002Flogging-data","cs\u002F07.logging-and-replay\u002F1.logging-data",{"title":181,"path":182,"stem":183,"navTitle":184},"Přehrávání logu","\u002Fcs\u002Flogging-and-replay\u002Freplaying-a-log","cs\u002F07.logging-and-replay\u002F2.replaying-a-log","Přehrávání",{"title":186,"path":187,"stem":188,"navTitle":189},"Export dat","\u002Fcs\u002Flogging-and-replay\u002Fexporting-data","cs\u002F07.logging-and-replay\u002F3.exporting-data","Export",{"title":191,"navTitle":15,"path":192,"stem":193,"children":194,"page":40},"Python skripty","\u002Fcs\u002Fpython-scripts","cs\u002F08.python-scripts",[195,199,203,207],{"title":196,"path":197,"stem":198,"navTitle":12},"Přehled skriptů","\u002Fcs\u002Fpython-scripts\u002Fscripts-overview","cs\u002F08.python-scripts\u002F1.scripts-overview",{"title":200,"path":201,"stem":202,"navTitle":200},"Přístup k proměnným","\u002Fcs\u002Fpython-scripts\u002Faccessing-variables","cs\u002F08.python-scripts\u002F2.accessing-variables",{"title":204,"path":205,"stem":206,"navTitle":204},"Příklad skriptu","\u002Fcs\u002Fpython-scripts\u002Fexample-script","cs\u002F08.python-scripts\u002F3.example-script",{"title":208,"path":209,"stem":210,"navTitle":208},"Post-processing CSV","\u002Fcs\u002Fpython-scripts\u002Fcsv-post-processing","cs\u002F08.python-scripts\u002F4.csv-post-processing",{"title":212,"navTitle":15,"path":213,"stem":214,"children":215,"page":40},"Vlastní rozšíření","\u002Fcs\u002Fcustom-extensions","cs\u002F09.custom-extensions",[216,220,224,228,233],{"title":217,"path":218,"stem":219,"navTitle":217},"Vlastní driver","\u002Fcs\u002Fcustom-extensions\u002Fcustom-driver","cs\u002F09.custom-extensions\u002F1.custom-driver",{"title":221,"path":222,"stem":223,"navTitle":221},"Vlastní protokol","\u002Fcs\u002Fcustom-extensions\u002Fcustom-protocol","cs\u002F09.custom-extensions\u002F2.custom-protocol",{"title":225,"path":226,"stem":227,"navTitle":225},"Vlastní Control","\u002Fcs\u002Fcustom-extensions\u002Fcustom-control","cs\u002F09.custom-extensions\u002F3.custom-control",{"title":229,"path":230,"stem":231,"navTitle":232},"Kompletní ukázka — poloha ISS","\u002Fcs\u002Fcustom-extensions\u002Fiss-example","cs\u002F09.custom-extensions\u002F4.iss-example","Ukázka ISS",{"title":234,"path":235,"stem":236,"navTitle":237},"Kompletní ukázka — teploměr","\u002Fcs\u002Fcustom-extensions\u002Ftemp-sensor-example","cs\u002F09.custom-extensions\u002F5.temp-sensor-example","Ukázka teploměr",{"title":239,"navTitle":15,"path":240,"stem":241,"children":242,"page":40},"QFW SDK","\u002Fcs\u002Fdevice-sdk","cs\u002F10.device-sdk",[243,248,253,258,263,268,272,277],{"title":244,"path":245,"stem":246,"navTitle":247},"QFW SDK — úvod","\u002Fcs\u002Fdevice-sdk\u002Fintroduction","cs\u002F10.device-sdk\u002F1.introduction","Úvod",{"title":249,"path":250,"stem":251,"navTitle":252},"XCP v QFW SDK","\u002Fcs\u002Fdevice-sdk\u002Fxcp","cs\u002F10.device-sdk\u002F2.xcp","XCP",{"title":254,"path":255,"stem":256,"navTitle":257},"Integrace krok za krokem: XCP on TCP s FreeRTOS + lwIP","\u002Fcs\u002Fdevice-sdk\u002Fintegration-tcp","cs\u002F10.device-sdk\u002F3.integration-tcp","Integrace: XCP on TCP",{"title":259,"path":260,"stem":261,"navTitle":262},"XCP on classic CAN — co se mění","\u002Fcs\u002Fdevice-sdk\u002Fcan","cs\u002F10.device-sdk\u002F4.can","XCP on classic CAN",{"title":264,"path":265,"stem":266,"navTitle":267},"Integrace bez RTOS: XCP on TCP z hlavní smyčky","\u002Fcs\u002Fdevice-sdk\u002Fbaremetal","cs\u002F10.device-sdk\u002F5.baremetal","Integrace bez RTOS",{"title":269,"path":270,"stem":271,"navTitle":269},"Kontrakt enginu","\u002Fcs\u002Fdevice-sdk\u002Fengine-contract","cs\u002F10.device-sdk\u002F6.engine-contract",{"title":273,"path":274,"stem":275,"navTitle":276},"Adresy proměnných pro QInsight","\u002Fcs\u002Fdevice-sdk\u002Fvariable-addresses","cs\u002F10.device-sdk\u002F7.variable-addresses","Adresy proměnných",{"title":278,"path":279,"stem":280,"navTitle":281},"Řešení potíží při integraci SDK","\u002Fcs\u002Fdevice-sdk\u002Ftroubleshooting","cs\u002F10.device-sdk\u002F8.troubleshooting","Řešení potíží",{"title":283,"navTitle":15,"path":284,"stem":285,"children":286,"page":40},"Reference","\u002Fcs\u002Freference","cs\u002F11.reference",[287,291,295,299],{"title":288,"path":289,"stem":290,"navTitle":288},"Drivery","\u002Fcs\u002Freference\u002Fdrivers","cs\u002F11.reference\u002F1.drivers",{"title":292,"path":293,"stem":294,"navTitle":292},"Protokoly","\u002Fcs\u002Freference\u002Fprotocols","cs\u002F11.reference\u002F2.protocols",{"title":296,"path":297,"stem":298,"navTitle":296},"Controls","\u002Fcs\u002Freference\u002Fcontrols","cs\u002F11.reference\u002F3.controls",{"title":281,"path":300,"stem":301,"navTitle":281},"\u002Fcs\u002Freference\u002Ftroubleshooting","cs\u002F11.reference\u002F4.troubleshooting",{"title":303,"navTitle":15,"path":304,"stem":305,"children":306,"page":40},"Příklady","\u002Fcs\u002Fexamples","cs\u002F12.examples",[307,311,316,321,326,330,334,338,342,346,351,356,361],{"title":308,"path":309,"stem":310,"navTitle":308},"Simulace: všechny signály","\u002Fcs\u002Fexamples\u002Fsimulation-all-signals","cs\u002F12.examples\u002F01.simulation-all-signals",{"title":312,"path":313,"stem":314,"navTitle":315},"Modbus RTU master po sériové lince","\u002Fcs\u002Fexamples\u002Fserial-modbus-master","cs\u002F12.examples\u002F02.serial-modbus-master","Modbus RTU master",{"title":317,"path":318,"stem":319,"navTitle":320},"Modbus RTU slave se simulovanými senzory","\u002Fcs\u002Fexamples\u002Fserial-modbus-slave","cs\u002F12.examples\u002F03.serial-modbus-slave","Modbus RTU slave",{"title":322,"path":323,"stem":324,"navTitle":325},"Modbus TCP master přes TCP klienta","\u002Fcs\u002Fexamples\u002Ftcp-client-modbus-master","cs\u002F12.examples\u002F04.tcp-client-modbus-master","Modbus TCP master",{"title":327,"path":328,"stem":329,"navTitle":327},"Modbus TCP slave na TCP serveru","\u002Fcs\u002Fexamples\u002Ftcp-server-modbus-slave","cs\u002F12.examples\u002F05.tcp-server-modbus-slave",{"title":331,"path":332,"stem":333,"navTitle":331},"Bitové pole a skript","\u002Fcs\u002Fexamples\u002Fbit-field-script","cs\u002F12.examples\u002F08.bit-field-script",{"title":335,"path":336,"stem":337,"navTitle":335},"Dvě ECU najednou","\u002Fcs\u002Fexamples\u002Ftwo-ecus","cs\u002F12.examples\u002F09.two-ecus",{"title":339,"path":340,"stem":341,"navTitle":339},"Poloha ISS naživo","\u002Fcs\u002Fexamples\u002Fiss-live-tracking","cs\u002F12.examples\u002F10.iss-live-tracking",{"title":343,"path":344,"stem":345,"navTitle":343},"Simulovaný teploměr","\u002Fcs\u002Fexamples\u002Fsimul-temp-measure","cs\u002F12.examples\u002F11.simul-temp-measure",{"title":347,"path":348,"stem":349,"navTitle":350},"JSON signály z Python generátoru","\u002Fcs\u002Fexamples\u002Fjson-signal-python","cs\u002F12.examples\u002F12.json-signal-python","JSON signály z Pythonu",{"title":352,"path":353,"stem":354,"navTitle":355},"Raw CAN rámce z Raspberry","\u002Fcs\u002Fexamples\u002Fraw-can-python","cs\u002F12.examples\u002F13.raw-can-python","Raw CAN z Raspberry",{"title":357,"path":358,"stem":359,"navTitle":360},"XCP on TCP na NUCLEO-H723ZG: měření, stimulace a kalibrační mapy","\u002Fcs\u002Fexamples\u002Ftcp-client-xcp-nucleo-maps","cs\u002F12.examples\u002F14.tcp-client-xcp-nucleo-maps","XCP on TCP na NUCLEO-H723ZG",{"title":362,"path":363,"stem":364,"navTitle":365},"XCP on CAN na NUCLEO-H723ZG: měření, stimulace a kalibrační mapy","\u002Fcs\u002Fexamples\u002Fcan-xcp-nucleo-maps","cs\u002F12.examples\u002F15.can-xcp-nucleo-maps","XCP on CAN na NUCLEO-H723ZG",{"id":367,"title":288,"body":368,"description":1285,"extension":1286,"meta":1287,"navTitle":288,"navigation":1288,"path":289,"seo":1289,"stem":290,"__hash__":1290},"docs_cs\u002Fcs\u002F11.reference\u002F1.drivers.md",{"type":369,"value":370,"toc":1271},"minimark",[371,375,394,424,434,439,442,501,548,558,562,570,573,582,675,689,693,700,707,714,792,814,820,824,831,838,845,998,1022,1026,1033,1040,1047,1149,1152,1156,1163,1166,1173,1177,1184,1198,1201,1205,1212,1229,1233,1240,1266],[372,373,288],"h1",{"id":374},"drivery",[376,377,378,379,383,384,388,389,393],"p",{},"Přehled driverů dodávaných s QInsight. Konfigurační parametry se zadávají\nv poli ",[380,381,382],"strong",{},"Settings"," ve formátu ",[385,386,387],"code",{},"klíč=hodnota;klíč=hodnota"," (velikost písmen\nu klíčů nehraje roli). Driver obstarává fyzický přenos dat — o jejich výklad\nse stará ",[390,391,392],"a",{"href":293},"protokol",".",[376,395,396,397,399,400,404,405,408,409,412,413,416,417,416,420,423],{},"Při přidání driveru se pole ",[380,398,382],{}," automaticky předvyplní šablonou se\nvšemi parametry (u každého driveru níže řádek ",[401,402,403],"em",{},"Předvyplní se","). ",[380,406,407],{},"Jde jen\no výchozí hodnoty — vždy je přepište podle reálné situace."," Sloupec\n",[401,410,411],{},"Výchozí"," v tabulkách platí, když parametr úplně vynecháte. U parametrů\nspecifických pro zařízení (",[385,414,415],{},"port",", ",[385,418,419],{},"deviceId",[385,421,422],{},"ip",") je nutné hodnotu vždy\nnastavit.",[376,425,426,427,404,430,433],{},"Ke čtení nastavení obecně: klíče se porovnávají bez ohledu na velikost\npísmen a hodnoty smějí být v uvozovkách (",[385,428,429],{},"port=\"COM3\"",[380,431,432],{},"Neznámý klíč\n(překlep nebo název z dřívější verze) se ignoruje a driver na něj upozorní\nvarováním v logu",", ve kterém vypíše i všechny klíče, které zná; neplatná\nhodnota se s varováním nahradí výchozí. Po každé změně nastavení proto\nzkontrolujte log.",[435,436,438],"h2",{"id":437},"obnova-spojení","Obnova spojení",[376,440,441],{},"Všechny drivery, které komunikují se zařízením (Serial Port, TCP Client,\nTCP Server, PEAK CAN), se po ztrátě spojení chovají stejně a nastavují se\nstejnou dvojicí parametrů:",[443,444,445,460],"table",{},[446,447,448],"thead",{},[449,450,451,455,457],"tr",{},[452,453,454],"th",{},"Parametr",[452,456,411],{},[452,458,459],{},"Význam",[461,462,463,477],"tbody",{},[449,464,465,471,474],{},[466,467,468],"td",{},[385,469,470],{},"reconnectDelayMs",[466,472,473],{},"1000 (Serial Port 2000)",[466,475,476],{},"prodleva mezi dvěma pokusy o obnovení spojení v ms",[449,478,479,484,487],{},[466,480,481],{},[385,482,483],{},"reconnectAttempts",[466,485,486],{},"-1",[466,488,489,490,492,493,496,497,500],{},"počet opakování po neúspěšném pokusu: ",[385,491,486],{}," = donekonečna, ",[385,494,495],{},"0"," = neopakovat (driver se zastaví při první chybě), ",[385,498,499],{},"N"," = ukončit pokusy po N po sobě jdoucích neúspěších",[502,503,504,512,522,529],"ul",{},[505,506,507,508,511],"li",{},"Počítadlo neúspěšných pokusů se ",[380,509,510],{},"po každém úspěšném připojení nuluje"," —\ndlouhé měření tak vydrží i několik ojedinělých výpadků, limit vyčerpá jen\nnepřerušená řada neúspěchů.",[505,513,514,515,518,519,393],{},"Během výpadku je driver ve stavu ",[380,516,517],{},"Faulted",", protokoly na něm zůstávají\nspuštěné a čekají (XCP zahodí session a po obnovení naváže novou, Modbus\nmaster pozastaví dotazy). Po obnovení spojení komunikace pokračuje\n",[380,520,521],{},"bez zásahu obsluhy",[505,523,524,525,528],{},"Každý pokus je v logu jako varování ",[385,526,527],{},"… failed (attempt 3\u002F4): … Reconnecting in 1000 ms."," Při nekonečném opakování se po prvních třech pokusech loguje\nuž jen jednou za minutu s aktuálním číslem pokusu, aby nedocházelo k zahlcení logu.",[505,530,531,532,535,536,539,540,543,544,393],{},"Po vyčerpání limitu driver zapíše do logu chybu ",[385,533,534],{},"gave up after N reconnect attempt(s): …",", zastaví své protokoly a skončí ve stavu ",[380,537,538],{},"Stopped"," s tímto\nhlášením. Ostatní drivery a runtime běží dál; zastavený driver lze znovu\nspustit tlačítkem ",[380,541,542],{},"Start"," v jeho vlastnostech — viz\n",[390,545,547],{"href":546},"\u002Fcs\u002Frunning\u002Fstart-and-stop#stavy-driver%C5%AF-a-tla%C4%8D%C3%ADtko-start","Stavy driverů a tlačítko Start",[376,549,550,551,554,555,557],{},"TCP drivery mají navíc parametr ",[385,552,553],{},"keepAliveMs"," (výchozí 5000, ",[385,556,495],{}," = vypnuto):\npo takto dlouhé nečinnosti na spojení začne operační systém posílat keepalive\nsondy (každou sekundu, po třech neúspěšných spojení ukončí). Odpojený kabel\nnebo vypnutá protistrana se tak zjistí během několika sekund místo desítek\nsekund, které trvá vlastní timeout TCP. Vypněte jej pouze v sítích, kde\nkeepalive sondy působí potíže.",[435,559,561],{"id":560},"tcp-client","TCP Client",[376,563,564],{},[401,565,566,567],{},"Technický název (v projektu): ",[385,568,569],{},"TcpClientDriver",[376,571,572],{},"Obousměrný TCP klient: připojí se na server (zařízení) a přenáší surové\nbajty. Rámování a kódování dat je věcí protokolu — typicky JSON Signal\nStream, Modbus Master (TCP) nebo XCP on TCP.",[376,574,575,578,579],{},[380,576,577],{},"Předvyplní se:"," ",[385,580,581],{},"ip=127.0.0.1;port=5000;connectionTimeoutMs=5000;reconnectDelayMs=1000;reconnectAttempts=-1;keepAliveMs=5000",[443,583,584,594],{},[446,585,586],{},[449,587,588,590,592],{},[452,589,454],{},[452,591,411],{},[452,593,459],{},[461,595,596,608,620,632,647,661],{},[449,597,598,602,605],{},[466,599,600],{},[385,601,422],{},[466,603,604],{},"127.0.0.1",[466,606,607],{},"adresa serveru",[449,609,610,614,617],{},[466,611,612],{},[385,613,415],{},[466,615,616],{},"5000",[466,618,619],{},"TCP port",[449,621,622,627,629],{},[466,623,624],{},[385,625,626],{},"connectionTimeoutMs",[466,628,616],{},[466,630,631],{},"jak dlouho čekat na navázání spojení, v ms",[449,633,634,638,641],{},[466,635,636],{},[385,637,470],{},[466,639,640],{},"1000",[466,642,643,644],{},"prodleva mezi pokusy o znovupřipojení, viz ",[390,645,438],{"href":646},"#obnova-spojen%C3%AD",[449,648,649,653,655],{},[466,650,651],{},[385,652,483],{},[466,654,486],{},[466,656,657,658,660],{},"počet pokusů o znovupřipojení, ",[385,659,486],{}," = donekonečna",[449,662,663,667,669],{},[466,664,665],{},[385,666,553],{},[466,668,616],{},[466,670,671,672,674],{},"TCP keepalive: po takto dlouhé nečinnosti ověřuje spojení, ",[385,673,495],{}," = vypnuto",[376,676,677,678,416,681,684,685,688],{},"Nečinnost na lince driver nepovažuje za chybu (Modbus TCP mezi dotazy nic\nneposílá); přerušené spojení zjistí keepalive. Timeouty menší než 1 ms se\nzvýší na 1 ms. Dřívější názvy ",[385,679,680],{},"reconnectTimeMs",[385,682,683],{},"numberOfReconnections","\na ",[385,686,687],{},"idleTimeoutMs"," se už nečtou — v logu se objeví varování o neznámém\nklíči a je třeba je v nastavení přepsat.",[435,690,692],{"id":691},"tcp-server","TCP Server",[376,694,695],{},[401,696,566,697],{},[385,698,699],{},"TcpServerDriver",[376,701,702,703,706],{},"Binární TCP server (listener) přenášející surové bajty — typicky pro\n",[380,704,705],{},"Modbus Slave (TCP)",". Přijímá jednoho klienta; nové příchozí spojení\nnahradí to stávající.",[376,708,709,578,711],{},[380,710,577],{},[385,712,713],{},"bindAddress=0.0.0.0;port=502;reconnectDelayMs=1000;reconnectAttempts=-1;keepAliveMs=5000",[443,715,716,726],{},[446,717,718],{},[449,719,720,722,724],{},[452,721,454],{},[452,723,411],{},[452,725,459],{},[461,727,728,741,753,766,779],{},[449,729,730,735,738],{},[466,731,732],{},[385,733,734],{},"bindAddress",[466,736,737],{},"0.0.0.0",[466,739,740],{},"lokální adresa, na které server naslouchá",[449,742,743,747,750],{},[466,744,745],{},[385,746,415],{},[466,748,749],{},"502",[466,751,752],{},"TCP port (výchozí hodnota odpovídá Modbus TCP)",[449,754,755,759,761],{},[466,756,757],{},[385,758,470],{},[466,760,640],{},[466,762,763,764],{},"prodleva mezi pokusy o otevření portu, viz ",[390,765,438],{"href":646},[449,767,768,772,774],{},[466,769,770],{},[385,771,483],{},[466,773,486],{},[466,775,776,777,660],{},"počet pokusů o otevření portu, ",[385,778,486],{},[449,780,781,785,787],{},[466,782,783],{},[385,784,553],{},[466,786,616],{},[466,788,789,790,674],{},"TCP keepalive na přijatém spojení, ",[385,791,495],{},[376,793,794,796,797,799,800,802,803,806,807,810,811,393],{},[385,795,734],{}," musí být IP adresa (",[385,798,737],{}," = všechna rozhraní,\n",[385,801,604],{}," = jen lokální stroj) — jméno počítače driver nepřijme.\nParametry obnovy se u serveru týkají ",[380,804,805],{},"otevření naslouchacího portu",":\npokud je port obsazený (na portu 502 již naslouchá jiný program) nebo zadaná\nadresa v systému dosud neexistuje, driver pokus opakuje a spustí se, jakmile\nse port uvolní. Odpojení klienta není chyba — server dál naslouchá a další\nklient ho nahradí; korektní odpojení je v logu jako ",[385,808,809],{},"client … disconnected",",\nspojení ukončené keepalivem (odpojený kabel na straně klienta) jako varování\n",[385,812,813],{},"client … lost",[376,815,816,819],{},[380,817,818],{},"Firewall:"," příchozí spojení na port serveru musí povolit firewall na\npočítači s QInsight (Windows Defender Firewall nebo firewall antivirového\nbalíku). V pravidle je lokální strana počítač s QInsight a vzdálená strana\nmaster; obnovu spojení po výpadku vždy iniciuje master (klient).",[435,821,823],{"id":822},"serial-port-com","Serial Port (COM)",[376,825,826],{},[401,827,566,828],{},[385,829,830],{},"SerialPortDriver",[376,832,833,834,837],{},"Sériový COM port přenášející surové bajty — typicky pro ",[380,835,836],{},"Modbus RTU",".\nJedna instance = jeden COM port; po chybě (např. odpojení USB převodníku)\nse port automaticky otevírá znovu.",[376,839,840,578,842],{},[380,841,577],{},[385,843,844],{},"port=COM1;baudRate=9600;dataBits=8;parity=none;stopBits=1;handshake=none;reconnectDelayMs=2000;reconnectAttempts=-1",[443,846,847,857],{},[446,848,849],{},[449,850,851,853,855],{},[452,852,454],{},[452,854,411],{},[452,856,459],{},[461,858,859,874,887,900,927,948,971,985],{},[449,860,861,865,868],{},[466,862,863],{},[385,864,415],{},[466,866,867],{},"— (povinný)",[466,869,870,871],{},"jméno COM portu, např. ",[385,872,873],{},"COM3",[449,875,876,881,884],{},[466,877,878],{},[385,879,880],{},"baudRate",[466,882,883],{},"9600",[466,885,886],{},"komunikační rychlost",[449,888,889,894,897],{},[466,890,891],{},[385,892,893],{},"dataBits",[466,895,896],{},"8",[466,898,899],{},"počet datových bitů",[449,901,902,907,910],{},[466,903,904],{},[385,905,906],{},"parity",[466,908,909],{},"none",[466,911,912,913,416,915,416,918,416,921,416,924],{},"parita: ",[385,914,909],{},[385,916,917],{},"even",[385,919,920],{},"odd",[385,922,923],{},"mark",[385,925,926],{},"space",[449,928,929,934,937],{},[466,930,931],{},[385,932,933],{},"stopBits",[466,935,936],{},"1",[466,938,939,940,416,942,416,945],{},"stop bity: ",[385,941,936],{},[385,943,944],{},"1.5",[385,946,947],{},"2",[449,949,950,955,957],{},[466,951,952],{},[385,953,954],{},"handshake",[466,956,909],{},[466,958,959,960,416,962,416,965,416,968],{},"řízení toku: ",[385,961,909],{},[385,963,964],{},"rts",[385,966,967],{},"xonxoff",[385,969,970],{},"rtsxonxoff",[449,972,973,977,980],{},[466,974,975],{},[385,976,470],{},[466,978,979],{},"2000",[466,981,982,983],{},"prodleva před znovuotevřením portu po chybě, viz ",[390,984,438],{"href":646},[449,986,987,991,993],{},[466,988,989],{},[385,990,483],{},[466,992,486],{},[466,994,995,996,660],{},"počet pokusů o znovuotevření portu, ",[385,997,486],{},[376,999,1000,1001,1003,1004,1003,1006,1008,1009,1011,1012,1014,1015,1018,1019,1021],{},"Hodnoty ",[385,1002,906],{},"\u002F",[385,1005,933],{},[385,1007,954],{}," pište přesně podle tabulky —\nneplatná hodnota se s varováním v logu nahradí výchozí a komunikace pak\nběží s nesprávným rámcem (typicky 8N1 místo 8E1). ",[385,1010,880],{}," a ",[385,1013,893],{},"\nse předávají portu bez kontroly: neplatná hodnota (např. ",[385,1016,1017],{},"dataBits=9",";\nobvyklý rozsah je 5–8) způsobí chybu při otevírání portu a driver pak\notevření opakuje každých ",[385,1020,470],{}," — příčinu najdete v logu. Odpojení\nUSB převodníku zjistí Windows okamžitě; přerušený vodič mezi dvěma převodníky\ndriver nezjistí — tento stav ohlásí až protokol timeoutem odpovědi.",[435,1023,1025],{"id":1024},"peak-can-adapter","PEAK CAN Adapter",[376,1027,1028],{},[401,1029,566,1030],{},[385,1031,1032],{},"PeakCANDriver",[376,1034,1035,1036,1039],{},"CAN sběrnice přes USB adaptér PEAK PCAN; protokolům předává CAN rámce\n(Raw CAN Frames, XCP on CAN). Jedna instance driveru odpovídá jednomu fyzickému adaptéru —\nvybírá se podle ",[380,1037,1038],{},"Device ID"," nastaveného v adaptéru, takže konfigurace\nzůstane platná i po přepojení do jiného USB portu.",[376,1041,1042,578,1044],{},[380,1043,577],{},[385,1045,1046],{},"deviceId=0x51;bitrate=250000;reconnectDelayMs=1000;reconnectAttempts=-1",[443,1048,1049,1059],{},[446,1050,1051],{},[449,1052,1053,1055,1057],{},[452,1054,454],{},[452,1056,411],{},[452,1058,459],{},[461,1060,1061,1085,1123,1136],{},[449,1062,1063,1067,1069],{},[466,1064,1065],{},[385,1066,419],{},[466,1068,495],{},[466,1070,1071,1072,1075,1076,416,1079,416,1082],{},"ID adaptéru ",[380,1073,1074],{},"vždy hexadecimálně"," (rozsah 0–FF dle PEAK Settings), přijímané tvary ",[385,1077,1078],{},"1A",[385,1080,1081],{},"0x1A",[385,1083,1084],{},"1Ah",[449,1086,1087,1092,1095],{},[466,1088,1089],{},[385,1090,1091],{},"bitrate",[466,1093,1094],{},"250000",[466,1096,1097,1098,1101,1102,416,1105,416,1108,416,1111,416,1113,416,1116,416,1119,1122],{},"rychlost sběrnice v bit\u002Fs, ",[380,1099,1100],{},"desítkově",": ",[385,1103,1104],{},"50000",[385,1106,1107],{},"100000",[385,1109,1110],{},"125000",[385,1112,1094],{},[385,1114,1115],{},"500000",[385,1117,1118],{},"800000",[385,1120,1121],{},"1000000","; jiná hodnota se s varováním nahradí 250000",[449,1124,1125,1129,1131],{},[466,1126,1127],{},[385,1128,470],{},[466,1130,640],{},[466,1132,1133,1134],{},"prodleva mezi pokusy o inicializaci adaptéru, viz ",[390,1135,438],{"href":646},[449,1137,1138,1142,1144],{},[466,1139,1140],{},[385,1141,483],{},[466,1143,486],{},[466,1145,1146,1147,660],{},"počet pokusů, ",[385,1148,486],{},[376,1150,1151],{},"Driver prohledává USB adaptéry (PCAN-USB 1–16). Když žádný adaptér se\nzadaným Device ID nenajde, nebo když stejné ID mají dva adaptéry, pokus\no připojení selže s popisem v logu a driver ho podle parametrů obnovy\nopakuje. Odpojení adaptéru za běhu (nebo stav bus-off) driver zjistí během\njedné sekundy: uvolní kanál, protokolům ohlásí ztrátu transportu a adaptér\nvyhledává znovu; po opětovném připojení XCP naváže session automaticky.",[435,1153,1155],{"id":1154},"simulation","Simulation",[376,1157,1158],{},[401,1159,566,1160],{},[385,1161,1162],{},"SimulDataDriver",[376,1164,1165],{},"Testovací driver — jen spouští a zastavuje protokol Simulation Signals,\nkterý si simulované hodnoty generuje sám v periodách událostí přiřazených\nproměnným. Umožňuje vyzkoušet projekt bez hardwaru.",[376,1167,1168,1169,1172],{},"Driver nemá žádná nastavení. Starší projekty mohou v nastavení mít\n",[385,1170,1171],{},"periodes=…"," — hodnota se ignoruje, rychlost simulace určují výhradně\nudálosti proměnných.",[435,1174,1176],{"id":1175},"virtual-variables-host","Virtual Variables Host",[376,1178,1179],{},[401,1180,566,1181],{},[385,1182,1183],{},"VirtualDataDriver",[376,1185,1186,1187,1190,1191,1195,1196,393],{},"Hostitel ",[380,1188,1189],{},"virtuálních proměnných"," — proměnných, jejichž hodnoty počítají\nPython skripty. Driver s ničím nekomunikuje: jen spouští a zastavuje\nprotokol Virtual Variables, který zápisy skriptů publikuje jako vzorky\nsignálu. K čemu virtuální proměnné slouží a jak se konfigurují popisuje\n",[390,1192,1194],{"href":1193},"\u002Fcs\u002Freference\u002Fprotocols#virtual-variables","Virtual Variables",";\nkompletní ukázku najdete v příkladu\n",[390,1197,308],{"href":309},[376,1199,1200],{},"Driver nemá žádná nastavení.",[435,1202,1204],{"id":1203},"data-log-recorder","Data Log Recorder",[376,1206,1207],{},[401,1208,566,1209],{},[385,1210,1211],{},"FileDataLoggerDriver",[376,1213,1214,1215,1218,1219,1222,1223,1226,1227,393],{},"Zapisuje hodnoty vybraných proměnných do binárního souboru ",[385,1216,1217],{},".qilog",";\nlogované proměnné mu předává protokol ",[380,1220,1221],{},"Data Log Pass-Through","\n(",[385,1224,1225],{},"PassThroughProtocol","), který se k driveru přidává automaticky.\nKompletní popis včetně všech parametrů:\n",[390,1228,177],{"href":178},[435,1230,1232],{"id":1231},"data-log-replay","Data Log Replay",[376,1234,1235],{},[401,1236,566,1237],{},[385,1238,1239],{},"FileDataReplayDriver",[376,1241,1242,1243,1245,1246,1249,1250,1253,1254,416,1257,416,1260,1263,1264,393],{},"Přehrává zaznamenaný ",[385,1244,1217],{}," soubor zpět do proměnných. Do projektu ho\npřidává tlačítko ",[380,1247,1248],{},"Import"," v ribbon menu Runtime; parametry (",[385,1251,1252],{},"file",",\n",[385,1255,1256],{},"mode",[385,1258,1259],{},"speed",[385,1261,1262],{},"loop",") popisuje kapitola\n",[390,1265,181],{"href":182},[376,1267,1268,1269,393],{},"Drivery jsou pluginy — vlastní driver viz\n",[390,1270,212],{"href":218},{"title":1272,"searchDepth":1273,"depth":1273,"links":1274},"",3,[1275,1277,1278,1279,1280,1281,1282,1283,1284],{"id":437,"depth":1276,"text":438},2,{"id":560,"depth":1276,"text":561},{"id":691,"depth":1276,"text":692},{"id":822,"depth":1276,"text":823},{"id":1024,"depth":1276,"text":1025},{"id":1154,"depth":1276,"text":1155},{"id":1175,"depth":1276,"text":1176},{"id":1203,"depth":1276,"text":1204},{"id":1231,"depth":1276,"text":1232},"Katalog dodávaných driverů a jejich konfiguračních parametrů.","md",{},true,{"title":288,"description":1285},"6Zz4ushY7GsIeJUBMckiFI5eil6teya0KkoziEngNWs",[1292,1293],{"title":278,"path":279,"stem":280,"navTitle":281,"children":-1},{"title":292,"path":293,"stem":294,"navTitle":292,"children":-1},1791554570208]