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).

Matrix control se záložkami Ignition map, Torque curve a Injection map 64x64 — mapa zapalování 16×16 z Nucleo H723Matrix control se záložkami Ignition map, Torque curve a Injection map 64x64 — mapa zapalování 16×16 z Nucleo H723

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žka Torque curve — křivka 8 bodů (otáčky → moment)Záložka Torque curve — křivka 8 bodů (otáčky → moment)

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:

Rozbalené nastavení záložky Ignition map — barevná škála Rainbow 10–32,5Rozbalené nastavení záložky Ignition map — barevná škála Rainbow 10–32,5

NastaveníVýchozíVýznam
Refresh ms250nejkratší interval překreslení tabulky
Cell width px60šířka všech sloupců (min. 20)
Color scalevypnutopodbarvení datových buněk podle hodnoty
Min / Max0 / 100rozsah barevné škály (engineering hodnoty)
SpectrumRainbowpaleta: 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:

Mapa zapalování jako heat mapa (Rainbow, 10–32,5 deg)Mapa zapalování jako heat mapa (Rainbow, 10–32,5 deg)

  • 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.

Mapa Injection map 64x64 posunutá doprostřed, škála GreenYellowRed 0–1100 mgMapa Injection map 64x64 posunutá doprostřed, škála GreenYellowRed 0–1100 mg

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.

Kontextové menu Matrix controlu se zapnutým Write ModeKontextové menu Matrix controlu se zapnutým Write Mode

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.

Write mód — tři rozeditované (žluté) buňky, záložka „Ignition map *“ a aktivní tlačítko WriteWrite mód — tři rozeditované (žluté) buňky, záložka „Ignition map *“ a aktivní tlačítko Write

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í.