Přeskočit na hlavní obsah

Modbus

Založený na analýze kódu mohu vygenerovat kompletní přehled Modbus registrů a funkcí pro vaše zařízení STATOTEST-LASER:

📋 MODBUS REGISTRY A FUNKCE

📖 READ HOLDING REGISTERS (0x03)

AdresaTypPopisJednotkaRozsahPříklad
0uint16Status zařízení-0-11 (aktivní)
1uint16Verze firmware-0-655351
2uint16Verze hardware-0-655352
3uint16Stav měření-0-40=idle, 2=measuring, 3=done, 4=continuous
4uint16Vzdálenost (dolní část)0.1mm0-6553512345 (=1.2345m)
5uint16Vzdálenost (horní část)0.1mm0-655350
6uint16Stav laseru-0-10=OFF, 1=ON
7uint16Teplota0.1°C-400-800235 (=23.5°C)
8uint16Napětí0.1V0-10033 (=3.3V)
9uint16Kvalita signálu%0-10085
10uint16Adresa zařízení-1-2541
11uint16Baudrate kód-1-74 (=19200)
12uint16Kód chyby-0-170=OK
13uint16Stav Bluetooth-0-11=enabled
14uint16Stav WiFi-0-10=disabled

Speciální čtení vzdálenosti:

  • Adresa 4, 2 slova: Vrátí kompletní 32-bit vzdálenost (dolní + horní část)
  • Adresa 4, 1 slovo: Vrátí pouze dolní část vzdálenosti
  • Adresa 5, 1 slovo: Vrátí pouze horní část vzdálenosti

🔧 WRITE SINGLE REGISTER (0x06)

AdresaFunkceHodnotyPopisPříklad
3Ovládání měření0=stop, 1=single, 4=continuousSpustí/zastaví měření1
5Ovládání laseru0=OFF, 1=ONZapne/vypne laser1
10Nastavení adresy1-254Změní Modbus adresu5
11Nastavení baudrate1-7Změní rychlost RS4854
13Ovládání Bluetooth0=disable, 1=enableZapne/vypne BT1
14Ovládání WiFi0=disable, 1=enableZapne/vypne WiFi1

Baudrate kódy (adresa 11):

KódBaudrate
12400
24800
39600
419200
538400
657600
7115200

🔀 WRITE SINGLE COIL (0x05)

AdresaFunkceHodnotyPopis
13 (0x0D)Spuštění měření0x0000=stop, 0xFF00=startAlternativní způsob spuštění měření

⚙️ KONFIGURACE KOMUNIKACE

ParametrHodnota
Výchozí adresa1
Výchozí baudrate19200
Data bity8
ParitaNone
Stop bity1
Broadcast adresa255 (podporována)

📏 FORMÁT DAT MĚŘENÍ

Vzdálenost (32-bit):

  • Jednotka: 0.1 mm (0.0001 m)
  • Rozsah: 0 - 4294967295 (0-429496.7295 m)
  • Příklad: 12345 = 1.2345 m

Teplota:

  • Jednotka: 0.1°C
  • Rozsah: -40.0°C až +80.0°C
  • Příklad: 235 = 23.5°C

Napětí:

  • Jednotka: 0.1V
  • Rozsah: 0.0V až 10.0V
  • Příklad: 33 = 3.3V

🚨 CHYBOVÉ KÓDY (Adresa 12)

KódPopis
0Bez chyby
1Nízké napětí
2Interní chyba
3Nízká teplota
4Vysoká teplota
5Cíl mimo rozsah
6Neplatný výsledek
7Příliš silné pozadí
8Slabý odražený signál
9Silný odražený signál
10-14Hardwarové chyby
15Příliš velké vibrace
16-17Hardwarové chyby

📋 PŘÍKLADY PŘÍKAZŮ

Čtení vzdálenosti (32-bit):

Příkaz: 01 03 00 04 00 02 CRC
Odpověď: 01 03 04 30 39 00 00 CRC
Výsledek: 12345 = 1.2345 m

Spuštění měření:

Příkaz: 01 06 00 03 00 01 CRC
Odpověď: 01 06 00 03 00 01 CRC

Zapnutí laseru:

Příkaz: 01 06 00 05 00 01 CRC  
Odpověď: 01 06 00 05 00 01 CRC

Nastavení adresy na 5:

Příkaz: 01 06 00 0A 00 05 CRC
Odpověď: 01 06 00 0A 00 05 CRC

Spuštění měření přes Write Coil:

Příkaz: 01 05 00 0D FF 00 CRC
Odpověď: 01 05 00 0D FF 00 CRC

🔄 STAVY MĚŘENÍ (Adresa 3)

StavPopis
0Nečinný (idle)
2Probíhá měření
3Měření dokončeno
4Kontinuální měření

⚠️ POZNÁMKY

  • Broadcast adresa 255 je podporována pro všechny funkce
  • Změny konfigurace se ukládají do flash paměti
  • Měření automaticky resetuje stav na 0 po přečtení
  • Kontinuální měření běží dokud není zastaveno
  • Všechny registry jsou přístupné pouze pro čtení kromě adres 3,5,10,11,13,14