Přidání proměnné
Proměnná se zakládá ve dvou krocích: nejprve se definuje v projektu a poté se přiřadí protokolu, ze kterého má dostávat data.
Definice proměnné
- Otevřete Home → Project Configuration → Variables, v rozbalovacím seznamu vedle tlačítka + ponechte typ Scalar a klikněte na +. (Typ Matrix má vlastní postup — kapitola Proměnná Matrix.)
- Vyplňte vlastnosti: Name (unikátní jméno), Label, volitelně Namespace a Description.
- Zvolte Data Type (datový typ hodnoty) a Presentation (prezentaci vytvořenou v předchozí kapitole). Length nechte 1, pokud nejde o pole hodnot.
- Potvrďte tlačítkem Apply — velikost hodnoty se dopočítá automaticky podle datového typu.
Bitové pole (Bit Shift a Bit Mask)
Stavová slova ze zařízení často nesou více údajů v jednom slově — jednotlivé bity příznaků nebo několikabitové čítače a stavy. Pole Bit Shift a Bit Mask v detailu proměnné vyříznou z přenášeného slova jen požadované bity:
pole = (raw >> BitShift) & BitMask
- Bit Shift — posun slova před maskováním. Zadává se
>>2(doprava),<<3(doleva), nebo jen číslo (kladné = doprava); prázdné pole = žádný posun. - Bit Mask — maska vybírající bity po posunu, hexadecimálně (
0x0F) nebo desítkově (15); prázdné pole nebo0= žádné maskování.
Příklad: dvoubitový stav v bitech 7–8 slova UShort vyříznete pomocí
Bit Shift >>7 a Bit Mask 0x03:


Jak se bitové pole chová:
- Raw hodnota proměnné zůstává celé slovo tak, jak přišlo z komunikace — logují se a přehrávají celá slova. Bitové pole je první krok přepočtu raw → engineering; teprve na vyříznuté bity se aplikuje konverze (typicky enum s názvy stavů, nebo lineární).
- Na tutéž adresu lze navázat více proměnných s různým Shift/Mask — každé pole stavového slova je pak samostatná proměnná s vlastní prezentací.
- Zápis zapisuje jen bity pole: aktuální slovo se přečte, bity pole se vymění a slovo se zapíše zpět (read–modify–write); ostatní bity zůstávají. Hodnota, která se do pole nevejde, se odmítne.
- Bitové pole má smysl jen u celočíselných datových typů; u Float/Double/String se ignoruje.
Bitová pole se typicky používají u stavových slov z řídicích jednotek: jedno slovo z ECU, několik proměnných s různým bitovým posunem a maskou. Kompletní ukázku najdete v příkladu Bitové pole a skript.
Přiřazení k protokolu
- V téže sekci vyberte v pravé části Source — dvojici driver + protokol, která má proměnnou plnit daty.
- Přesuňte proměnnou šipkou mezi Communicated proměnné zvoleného source. (Proměnná musí být nejprve potvrzená přes Apply.)
- V detailu komunikace nastavte:
- Direction — směr komunikace (Read, Write, ReadWrite),
- Event — událost určující, kdy se komunikuje (např. perioda),
- Comm params — parametry proměnné pro daný protokol: u Raw CAN
CAN ID, offset a pořadí bajtů; u Modbusu tabulka, adresa a směr, např.
registerType="holdingRegister";address="100";direction="read";eventRef="poll500ms"; u JSON Signal jméno signálu (name) (úplný přehled parametrů: Protokoly), - Multiplier — volitelný násobič protokolu,
- Log to FileDataLogger — zaškrtněte, má-li se proměnná logovat (viz kapitola Logování dat).


Přiřazené proměnné poznáte v Solution Exploreru podle modrého odznaku.
Důležité: Proměnná bez přiřazeného zdroje (driver + protokol) nemá odkud brát data a nelze ji navázat na žádný control — přetažení na pracovní plochu se neprovede. Poznáte ji v Solution Exploreru snadno: po najetí myší tooltip ukazuje
Source: not founda ikona proměnné nemá modrý odznak. Týká se to i proměnných načtených tlačítkem Import (například ze souboru vytvořeného nástroji QFW SDK) — import založí jen definice. Nápravou je přiřazení k protokolu v Project Configuration podle postupu výše; u XCP navíc vyplňte v Comm paramsaddressaaddressExtension.
Kopie, export a import
U seznamu proměnných (a stejně tak konverzí, prezentací a událostí) jsou tlačítka Copy, Export a Import:
- Copy — zduplikuje vybranou položku pod novým jménem,
- Export — uloží všechny položky sekce do XML souboru (u proměnných jen definice, bez přiřazení k protokolům),
- Import — načte položky z XML souboru; existující položky se nikdy nepřepisují ani nepřejmenovávají.
Pravidla
- Proměnnou nelze smazat, dokud je přiřazená k nějakému source — nejprve ji odeberte z Communicated.
- Z Communicated ji nelze odebrat, dokud je navázaná na nějaký control na pracovní ploše.
Dále
Hodnoty proměnných si zobrazíme — Vytvoření pracovní plochy.

