Matrix control — mapy a kalibrace
Matrix control zobrazuje proměnné typu Matrix jako tabulky — každá proměnná má vlastní záložku. Podle toho, jaké osy má proměnná definované v Layoutu, zvolí záložka automaticky jeden ze tří tvarů zobrazení:
- Pole (bez os) — jeden řádek datových hodnot,
- Křivka (osa X + data) — řádek breakpointů osy X a pod ním řádek datových hodnot,
- Mapa / matice (osy X + Y + data) — breakpointy osy X jako záhlaví sloupců, breakpointy osy Y jako záhlaví řádků a datové buňky mezi nimi.
Tvar tedy nenastavujete na controlu — určuje ho Layout navázané
proměnné (přítomnost xCount/yCount, viz
Proměnná Matrix).


Na obrázku je mapa Ignition map (16 × 16 hodnot float, osa X
otáčky rpm, osa Y zatížení load) z ukázky
XCP on TCP — Nucleo H723, kalibrační mapy.
- V hlavičce záložky je Label proměnné a jednotka datové prezentace
(
Ignition map [deg]). - Popisky os z Layoutu (
xLabel,yLabel) se kreslí kurzívou nad tabulkou (X) a svisle vlevo (Y). Osy od dat odděluje 2px čára v barvě textu tématu — stejně jako rámeček grafu v controlu Graph. - Každou buňku formátuje prezentace její sekce (konverze, Print Format); osy a data tak mohou mít různé jednotky i formát.
Křivka má jen řádek osy X a pod ním data:


Záložky — více proměnných v jednom controlu
- Na control lze navázat pouze proměnnou typu Matrix (drag & drop ze Solution Exploreru) — skalární proměnné control odmítne a matici nelze pustit na ostatní controly.
- Každá další puštěná matice přidá novou záložku na konec; stávající záložku nenahradí. Puštění proměnné, která už v controlu je, nic neudělá.
- Prázdný control ukazuje text Drop a matrix variable (map, curve, value block) here.
- Kontextové menu záhlaví záložky: Move left, Move right (pořadí záložek) a Remove (odebere záložku i vazbu na proměnnou).
- Záložka s rozeditovanými, dosud nezapsanými buňkami má u názvu tučnou
hvězdičku
*(tooltip Edited cells not written to the device yet). - Prázdná část lišty se záložkami patří controlu — za ni control přesunete (v editačním režimu) a otevřete jeho kontextové menu.
- Každá záložka má vlastní nastavení a vlastní write mód; vybraná záložka i nastavení se ukládají s projektem.
Čtení
Buňky jsou prázdné, dokud nepřijdou data ze zařízení — po navázání proměnné, po otevření projektu, po změně konfigurace proměnné a po každém přechodu Edit → Run. Tvar tabulky a popisky os zůstávají.
Jak se tabulka plní, určuje událost (Události) přiřazená proměnné:
- Periodická událost — tabulka sleduje zařízení; každý poll ji obnoví, překreslení přitom omezuje Refresh ms.
- Událost On Request — proměnná se nepolluje. V hlavičce záložky je tlačítko Read, které matici jednorázově přečte ze zařízení (tooltip Read the matrix from the device once (On Request event; discards pending edits)). Během čtení je tlačítko neaktivní; čtení, které selže, podbarví tlačítko i buňky červeně. Číst lze jen za běhu komunikace — v editačním režimu čtení selže.
U periodických proměnných tlačítko Read není. Dřívější volba Auto Read už neexistuje — tabulka zobrazuje vždy to, co přišlo ze zařízení.
Nastavení a barevná škála (heat map)
Šipkou vlevo v hlavičce rozbalíte nastavení aktuální záložky:


| Nastavení | Výchozí | Význam |
|---|---|---|
| Refresh ms | 250 | nejkratší interval překreslení tabulky |
| Cell width px | 60 | šířka všech sloupců (min. 20) |
| Color scale | vypnuto | podbarvení datových buněk podle hodnoty |
| Min / Max | 0 / 100 | rozsah barevné škály (engineering hodnoty) |
| Spectrum | Rainbow | paleta: Rainbow, BlueRed, GreenYellowRed, Viridis, Grayscale |
Min / Max a Spectrum jsou aktivní jen se zapnutou škálou. Výška řádku je pevná (20 px).
Se zapnutou Color scale se z tabulky stane heat mapa:


- Barví se jen datové buňky — osy a roh zůstávají bez barvy.
- Hodnoty mimo Min/Max se ořežou na krajní barvu; při Max ≤ Min se použije prostřední barva. Buňka bez dat se nebarví.
- Barvy jsou poloprůhledné a kvantované do 64 odstínů.
- Ve write módu se škála skrývá — přednost mají barvy editace (viz níže).
Velké mapy
Tabulka je virtualizovaná (vykreslují se jen viditelné buňky), takže plynule zvládne i mapu 64 × 64 (4 224 buněk). Je-li tabulka větší než control, objeví se posuvníky: sloupec osy Y zůstává ukotvený při vodorovném posunu, řádek osy X se při svislém posunu odroluje s daty.


Kontextové menu controlu
- Lock — zamkne polohu a velikost controlu,
- Write Mode — write mód vybrané záložky; aktivní jen tehdy,
když protokol umí proměnnou zapisovat (Comm params s
direction="write"nebo"readWrite"), - Write on Enter — platí pro celý control (výchozí vypnuto); aktivní jen ve write módu.


Write mód — kalibrace buněk
Po zapnutí Write Mode se buňky podbarví oranžově a dají se editovat:
- Editovatelné jsou datové buňky i breakpointy obou os; roh tabulky ne. Zadává se vždy engineering hodnota — do zařízení jde raw hodnota získaná inverzní konverzí.
- Rozeditovaná buňka zežloutne, záložka dostane hvězdičku a aktivuje se tlačítko Write. Buňka, jejíž zápis selhal, je červená.
- Zobrazení je ve write módu zmrazené — polly tabulku nepřepisují, komunikace na pozadí běží dál.


Odeslání do zařízení
- Write on Enter zapnuto — Enter zapíše editovanou buňku okamžitě; tlačítko Write se nezobrazuje.
- Write on Enter vypnuto (výchozí) — Enter buňku jen potvrdí a
změny se hromadí. Tlačítko Write (tooltip Write all edited
(highlighted) cells to the device) pošle všechny rozeditované buňky
najednou jednou dávkou:
- u XCP se sousední buňky sloučí do souvislých oken a každé okno se zapíše jedním přenosem (vložený řádek 64 buněk = jeden přenos),
- u Modbusu se zapíší jen registry, kterých se buňky dotýkají.
- Buňka s textem, který není číslo, zčervená a do dávky se nezařadí.
- Když dávka selže, všechny její buňky zůstanou rozeditované a zčervenají, červené je i tlačítko Write — zápis lze zopakovat. Po úspěchu tlačítko opět zešedne.
- Zapsat lze jen za běhu komunikace.
Zapsaná hodnota se nezobrazí hned — control ukazuje jen hodnoty přečtené ze zařízení. Nová hodnota se objeví až po nejbližším pollu (periodická událost) nebo po stisku Read (On Request).
Ukončení write módu
- Read ve write módu zahodí rozeditované hodnoty, načte aktuální stav ze zařízení a write mód ponechá zapnutý.
- Vypnutí Write Mode zahodí neodeslané editace i chybové stavy; tabulka ponechá poslední přečtené hodnoty až do dalšího pollu. Zápis, který ještě běží, se tiše zruší.
- Přechod Edit → Run write mód vypne a tabulku vyprázdní.
Schránka a klávesnice
- Ctrl+C (v obou režimech) — zkopíruje vybrané buňky ve formátu Excelu (tabulátor mezi buňkami, nový řádek mezi řádky); ve write módu zkopíruje editovaný text. Výběr může obsahovat více buněk.
- Ctrl+V / Shift+Insert (jen ve write módu) — vloží blok od levé
horní vybrané buňky. Blok se musí celý vejít do tabulky, jinak se
nevloží nic a v hlavičce se na červeném podkladu objeví zpráva ve
tvaru Paste refused: R x C cells do not fit at row r, column c (table
N x M). Zpráva se zapíše i do logu (úroveň Warn).
- Jedna zkopírovaná hodnota vložená do výběru více buněk vyplní celý výběr.
- Prázdné buňky schránky a roh tabulky se přeskočí.
- Každá vložená buňka se označí jako rozeditovaná (žlutá), i když se hodnota nezměnila — odešlete je tlačítkem Write.
- Tab / Shift+Tab při editaci potvrdí buňku, přejde na další / předchozí a rovnou ji otevře k editaci.
- Enter buňku potvrdí (se zapnutým Write on Enter ji i zapíše). Šipky a F2 fungují jako v běžné tabulce.
Dále
Zápis hodnot funguje i u skalárních proměnných — Zápis hodnot do zařízení.

