Simulovaný teploměr
Projekt Qenex_SimulTempMeasure.qproj najdete ve složce Examples vedle
QInsight.exe. Používá dvojici ukázkových pluginů, jejichž zdrojové kódy
rozebírá kapitola Ukázka TempSensor:
driver Temperature Sensor (example) a protokol Temperature Sensor
Protocol (example). Zařízení je simulované uvnitř driveru, takže projekt
běží bez hardwaru.
Co ukázka předvádí
- Vlastní driver se zápisovou cestou: driver posílá protokolu textové
řádky
chN=hodnotaa přijímá od něj příkazy k přestavení kanálu. - Tři datové typy na stejném signálu: double ve °C, float přepočítaný lineární konverzí na °F a int zaokrouhlený protokolem.
- Zápis operátora ze signal controlů: proměnné
Temp1SetaTemp2Setposílají novou základní hodnotu kanálů 1 a 2 zpět do zařízení. - Logování do souboru přes driver File data logger a jeho přehrání.
Co potřebujete
Jen QInsight. Pluginy jsou součástí instalace (složky Drivers a Protocols vedle QInsight.exe).
Projekt
Drivery a protokoly
| Driver Temperature Sensor (example) | Význam |
|---|---|
periodMs=200 | perioda, ve které simulátor vysílá všechny kanály |
channels=3 | počet simulovaných kanálů (1 až 16) |
Protokol nemá nastavení. Neznámý klíč v nastavení driveru i protokolu vyvolá varování v logu, stejně jako u dodávaných pluginů.
Projekt má navíc driver File data logger (file=DataLogs;append=true)
a File data replay (file=DataLogs\values.qilog;mode=realtime) pro
záznam a přehrání měření.
Proměnné
| Proměnná | Typ | Comm params | Prezentace |
|---|---|---|---|
Temp1 | double | direction="read";channel="ch1" | °C |
Temp2 | float | direction="read";channel="ch2" | °F, konverze eng = raw × 1,8 + 32 |
Temp3 | int | direction="read";channel="ch3" | °C, protokol hodnotu zaokrouhlí |
Temp1Set | double | direction="write";channel="ch1" | °C, zápis přestaví kanál 1 |
Temp2Set | double | direction="write";channel="ch2" | °C, zápis přestaví kanál 2 |
Pracovní plocha
Graf tří kanálů, gauge a pět signal controlů; Temp1Set a Temp2Set jsou
v zápisovém režimu.
Co uvidíte a co vyzkoušet
- Po Startu tři kanály pomalu kolísají kolem svých základních hodnot,
Temp2ve stupních Fahrenheita. - Do
Temp1Setzapište například 40: kanál 1 přejde na novou základní hodnotu a dále kolem ní kolísá. Totéž sTemp2Setpro kanál 2, v grafu ve °F. - Změňte
channels=1aTemp3přestane přijímat data;periodMs=1000zpomalí všechny kanály. - Zapněte logování u proměnných a po Stopu záznam přehrajte driverem File data replay.
Související kapitoly
- Ukázka TempSensor — zdrojové kódy driveru a protokolu s výkladem
- Vlastní driver a Vlastní protokol
- Logování dat

