Soros kommunikáció PC felől

MS Visual Basic, Visual Basic Application (Excel, Word...) tippek-trükkök, programozások.
Válasz küldése
Avatar
nobody_hun
Bitfaragó
Hozzászólások: 425
Csatlakozott: 2005. november 14. hétfő, 7:00

Soros kommunikáció PC felől

Hozzászólás Szerző: nobody_hun »

Felmerült az AVR fórumban, hogy a PC felől hogyan programozzuk a soros portot (itt egy kalap alá veszem a 232/485-öt, hiszen a kommunikáció ugyanaz, csak más hw alapon).

Témaindítónak itt egy projekt részlete (fejlesztési stádiumban), amiből kimazsolázható a szükséges témába vágó információ:

A feladat:
Minden (~10-15) helységben mérni: hőmérséklet vagy hőmérséklet és páratartalom (RH), fényviszonyok (1/0) és max. 3db kontaktus (pl.: ablak nyitva) lekérdezése és központi gyűjtése

Megoldás:
Slave-nek:
Minden helységbe 1 db M8 + a körítés + érzékelők (hőmérséklethez DS1630, páratartalomhoz Sensirion SHT71, fényhez fotoellenállás).
Protokoll: Benbus alapján RS485, nyákon rövidzárak beiktatásával állítható slave ID.
A master felhívására kiolvassa az érzékelők értékeit és visszaküldi az adatokat (magyarán várakozik amíg nem szólítja meg a master).

Master-nek:
1 db PC, ez gyűjti az adatokat, amik egy sql adatbázisba kerülnek.
PC oldalon az Mscomm Activex lett felhasználva. Küldés után egy timer fut, ez idő alatt kell válaszolnia a slave-nek. Itt még felhasználható az Oncom esemény, amely akkor fut le, ha valamilyen esemény történik a soros porton (comEvReceive használata igen ajánlott, hiszen ezzel tudjuk kezelni azt is, amikor a slave keresi a master-t. Ebben az esetben a timer elhagyható, elég azt figyelni, hogy érkezett-e adat a soros porton).

Ellenőrző összeg:
Ezzel sokat szenvedtem, master oldalon a clsCRC osztály végzi, slave oldalon a Crc16 függvény (V 1.11.9.1 BASCOM).

Kapcsolási rajz: Itt

AVR Bascom forrás: Itt

VB server mintaalkalmazás forrása: Itt

Egyéb képek: Itt és Itt

A fentiekkel és a témával kapcsolatban szívesen segítek itt a fórumon..
Válasz küldése