Fórum témák

» Több friss téma
Fórum » Gondolkodó ház avagy házautomatizálás
Lapozás: OK   15 / 47
(#) kukuri válasza watt hozzászólására (») Okt 9, 2014 /
 
Milyen adatszerkezetet használsz a kommunikációhoz?

Most ismerkedek a modbuszal.
Azt gondoltam hogy a következő lesz a felépítése az adatcsomagnak.
- 1 byte tipus azonosító
- 2 byte NOD sorszám
- 56 byte adat küldés
- 56 byte adatfogadás
Ha jól értelmeztem a működést. Eddigi értelmezésem szerint be lehet állítani a 128 byte hosszban hogy mit ír és mit olvas az eszköz. És mivel egy adatszerkezetet szeretnék használni így raktam eddig össze. Van olyan eszköz ahova a master küldene ki adatot és van olyan amikor a master vár adatot. Pl egy hőmérséklet szenzortól. Az első byte tipus azonosítóval határoznám meg hogy a slave miként kezelje az adatokat. Ez 16 típusú slavet jelent 0-F, ami szerintem elég sok. Utána a 2 byte a címnek ami 256 címet jelent ez megint csak bőven lefedi az RS485 max NOD számát (32 vagy 128). A maradék helyet pedig felosztottam kettőbe. Mivel a 128 byte-os adatcsomagból 5 esetleg 9 byte elmegy a kezelésre ezért 118 az amivel lehet garázdálkodni. Ebből elmegy 3 a címzésre marad 115 ezt pedig ketté vettem így lett 56 hogy 8-al osztható legyen. Az Én logikám nem mindig kikezdhetetlen így ha valamit másképpen javasolsz a tapasztalataid alapján azt jó néven veszem.
(#) watt válasza kukuri hozzászólására (») Okt 9, 2014 /
 
Szia! Mindig az a jó (optimális), ami a feladathoz a legjobban illeszkedik és a legkevesebb vesződséggel jár. Ha te ezt tanulásnak is szánod, akkor máris nem számít a vesződség, mert az is haszon a végén.
A lényeg, hogy a MODBUS készen van, ha leprogramozod, akkor nem kell kitalálni semmit, mert gyakorlatilag lefedi a teljes kommunkációs igényt a fastól a felhasználói adatok továbításáig. Hogy aztán ezek az adatok mit jelentenek a készüléknek, rendszernek, az már a felhasználó dolga. Ha meg tudod érteni a MODBUS felépítését, akkor onnantól könnyű dolgod van. Ha szeretnél egyedi protokollt faragni, akkor az is megérthető és szép játék.
(#) kukuri válasza watt hozzászólására (») Okt 9, 2014 /
 
Legelőször azon gondolkodtam hogy sajátot találok ki. Ajánlották a modbust hogy az már ki van találva és régóta jól működik. Most azon vagyok hogy ezt a működő protokollt valamennyire megtanulom. Azért valamennyire mert teljesen szerintem semmilyen rendszert nem lehet. Ha sikerült megtanulni akkor már tudni fogom hogy mikre kell odafigyelni. Adatellenőrzés, CRC, adatismétlés, nyugtázás ... meg biztos még sok minden van ami csak menet közben derül ki.
Tegnap este kezdtem el az arduinos kódot bogarászni. Először nagyon bonyolultnak tűnt. Mára már talán kezd tisztulni a dolog. Bár jobb lenne ha találtam volna magyar nyelvű leírást a használathoz.
Ameddig nem tervezek olyan eszközt aminek az adatbuszát egyedire kell alakítani mondjuk adatvédelem miatt addig szerintem nem készítek saját protokollt.
Számolgattam hogy 56 byte -on elég sok infót át tudok lökni egyik eszközről a másikra.
Pl 224 ki vagy bemenet, 14 hőmérési értéket előjelhelyesen 2 tizedes pontossággal (de ebbe szerintem bármilyen szenzor értéke belefér)
(#) watt válasza kukuri hozzászólására (») Okt 9, 2014 /
 
A MODBUS nem bonyolult és nem kell az egészet megvalósítani, elég néhány fontos részét. (3, 6, 16 kódok és a CRC). Utána nem merül fel a kérdés, hogy mennyi adat elég mire, mert nyitott a lehetőség nagyobb mennyiségek gyors kezelésére. Normál esetben néhány bájt elég a forgalomhoz, de pl. adatgyűjtéshez jól jönnek mondjuk a 200bájtos könnyen kezelhető csomagok...
(#) kukuri válasza watt hozzászólására (») Okt 9, 2014 /
 
Nincs esetleg egy olyan linked ahol a lényeget írják le? Jó lesz a Magyar nyelvű is. Nem ragaszkodok az Angolhoz.
(#) Hp41C válasza kukuri hozzászólására (») Okt 9, 2014 /
 
(#) watt válasza kukuri hozzászólására (») Okt 9, 2014 /
 
Nekem nem működik a link, ezért próbálom újra ugyanazt:
Bővebben: Link
(#) kukuri hozzászólása Okt 9, 2014 /
 
Köszönöm bár ez már megvan. Esetleg ami ettől bővebb? Tudom telhetetlen vagyok.
(#) watt válasza kukuri hozzászólására (») Okt 9, 2014 /
 
Magyarul nincs. Viszont van egy modbus topic...
(#) kukuri válasza watt hozzászólására (») Okt 10, 2014 /
 
Most nézem jobban az arduino libet. a 6 kódot nem tudja. A 3 és 16 viszont benne van. A 16 nem váltja ki a 6-ost. Most tanulmányozom hogy melyik funkció mit is jelent.
Ezeket ismeri:
Function 1 - READ_COIL_STATUS
Function 2 - READ_INPUT_STATUS
Function 3 - READ_HOLDING_REGISTERS
Function 4 - READ_INPUT_REGISTERS
Function 15 - FORCE_MULTIPLE_COILS
Function 16 - PRESET_MULTIPLE_REGISTERS
(#) watt válasza kukuri hozzászólására (») Okt 10, 2014 /
 
A 6-os nélkül is lehet élni...
(#) kukuri válasza watt hozzászólására (») Okt 10, 2014 /
 
Valahonnan gondoltam.
Ha jól értelmezem akkor a 3-assal olvasni engendi a slave eszközt a 16 pedig írni.
A hozzászólás módosítva: Okt 10, 2014
(#) watt válasza kukuri hozzászólására (») Okt 11, 2014 /
 
Nem enged "Ő" semmit, Te engeded meg, mert te írod a programot! De javaslom, hogy a MODBUS kérdésekkel a MODBUS topicba lépjünk át!
A hozzászólás módosítva: Okt 11, 2014
(#) kukuri hozzászólása Okt 14, 2014 /
 
Még mindig Busozok.
Azon filózok miként lehetne könnyen összekötni az elemeket. Arra jutottam mi van akkor ha telefoncsatival oldom meg? RJ11 2 kábel a BUS nak 2 a tápnak. Kevesebb helyet venne el a dobozból, valamint nem kell csavarozgatni. RJ11 Dual Ezzel egymás után fel lehetne fűzni a NOD okat. Vagy maradjak a sarus csavarozós megoldásnál?

Úgy tervezem hogy kalapsínes dobozba gyömöszölöm az eszközöket. Amit kell azt pedig tovább vezetem buszon. De az egymás mellett levőket is így kötném akkor már össze.
A hozzászólás módosítva: Okt 14, 2014
(#) watt válasza kukuri hozzászólására (») Okt 14, 2014 /
 
A tápnak kevésnek tartok egy szál vezetéket, ezeket duplán vezettem.
Ha csatlakozós láncolást csinálsz, akkor az egységet nem lehet lecsatlakoztatni, mert megszakad a lánc. Ha a csatlakozó előtt láncolsz, akkor úgy jó, csak igen nehéz egy RJ-be így kötni, persze nem lehetetlen. Én tüskesoros csatlakozást használok...
(#) potyo válasza kukuri hozzászólására (») Okt 14, 2014 /
 
Inkább UTP-t használnék (talán létezik abból is kettő csatlakozó), az szerintem vastagabb drót, mint a telefon, és több szálat párhuzamosan is lehet kapcsolni a táp számára. Ezt leszámítva az elv szerintem jó.
A hozzászólás módosítva: Okt 14, 2014
(#) kukuri hozzászólása Okt 14, 2014 /
 
Én is az RJ11 és RJ45 között gondolkodtam. Lehet jobb az RJ45. Ebből is van dupla. több féle is. sima ledes dupla leddel 2 portos led nélkül Bár a legjobban az egy portos jön ki ahogy néztem. Akár a ledet is be lehet kötni RX TX adatmozgáshoz. Ez szerelésnél még segítség lehet a gyors kontrollhoz.
A szálakat akár meg is duplázhatom. 2x2 mehet a tápnak és ugyanúgy 2x2 a BUS nak. Ezzel a kontakthiba esélye a felére csökkenhet. Feltéve hogy az RS485 nem haragszik meg a dupla kábelre.
Szélsőséges esetben egy kábelen lehetne oda vissza térő vezetéket használni. De erről már volt szó korábban a látszólagos csillag topológiánál. De nem akarok ilyennel foglalkozni. Nagyban bezavarna a rendszer építésébe.

Ha kiveszek valamiért egy elemet azt lehet ilyennel helyettesíteni
A hozzászólás módosítva: Okt 14, 2014
(#) killbill válasza kameleon2 hozzászólására (») Okt 14, 2014 /
 
A token-ring az pont-pont halozat.... Egyik node-bol a masikba.
(#) Norberto válasza killbill hozzászólására (») Okt 14, 2014 /
 
Nem akarok kötekedni, de számomra ez egy tökéletes ellentmondás, 3 szóban.

Idézet:
„pont-pont halozat”


Nálam hálózat, ami legalább 3 tagból áll. A pont-pont kifejezésben benne van, hogy egyik pontból a másikba. Ilyen erővel bármilyen topológiában és megoldásban, ahova dugót kell bedugni, az pont-pont hálózat.
(#) watt válasza kukuri hozzászólására (») Okt 14, 2014 /
 
Lehet helyettesíteni, de addigra leállt a mögötte lévő összes többi modul. Én szeretem, ha menet közben, fel-le lehet csatlakoztatni, ahogyan most... Írd már le, mi a nyavajának a rövidítése a NOD az RS 485-ben?
(#) kukuri válasza watt hozzászólására (») Okt 14, 2014 /
 
Bocsi. Nem nod hanem node
(#) killbill válasza Norberto hozzászólására (») Okt 14, 2014 /
 
Ok, a token-ring az egy olyan halozat, ahol a node-ok egymashoz vannak kotve pont-pont kapcsolattal. Azaz minden node-nak van ki- es bemenete. Minden node ossze van kotve az utana levo node-dal. Az egesz korbeer, ettol ring. Amikor valaki kikuld egy csomagot, az atmegy a kovetkezo node-ba. Aki vagy feldolgozza, vagy nem, fuggoen attol, hogy neki szol vagy sem. Aztan tovabbkuldi a csomagot. Tehat halozat, mert tobb gepet kot ossze, de fizikailag pont-pont kapcsolatokbol all, mint pl. a UTP-s Ethernet.
(#) kukuri válasza watt hozzászólására (») Okt 14, 2014 /
 
Akkor a leállás miatt ki kell találnom valami egyszerű dolgot. Valami ehhez hasonlóval lehet megoldható. Egy nagyon rövid pár centis csatlakozóval gondoltam. Az talán nem zavar be a hálózatba.
(#) killbill válasza Norberto hozzászólására (») Okt 14, 2014 /
 
Igazabol csak azert szoltam bele, mert a token-ring egy meghatarozott sw protokollt is magaban foglal, egy magasabb szintu dolog, mint pusztan a hardware layer. A lezarasokrol volt szo olyan halozatokban, ahol egy fizikai kabelre tobb node is csatlakozik. A token-ring meg veletlenul sem ilyen, de meg csak nem is hasonlo. Kinezetre olyan, mint egy csillagpontos halozat, de elektromos szempontbol sok pont-pont kapcsolat. Magyaran semmi osszefuggesben nem volt az RS485-tel, sem az itt emlegetett halozati topologiakkal.
(#) kameleon2 válasza watt hozzászólására (») Okt 14, 2014 /
 
Szia! Igazán én vagyok a főbűnös, mert nem NOD, hanem NODE. Ez azoknak a csomópontoknak a maximális száma az RS485-ön belül, amik egyszerre csatlakozhatnak egymáshoz (32 adó, 32 vevő). Ezt általában az illesztőchip gyártója adja meg. A 75176 (Texas) chip 32 node ra van maximálisan méretezve és gondolom tesztelve. Ez a legolcsóbb és legkönnyebben hozzáférhető chip. Vannak persze ezzel lábkompatibilis (vagy éppen nem) verziók, amik már 50, 128, vagy 256 node-ot is tudnak egy rendszeren belül kezelni például... Fontos, hogy 5V vagy 3,3V-os táplálású a rendszered jelfolyama - annak megfelelőt kell választani. Nyilván az RS485 oldalon egyenrangúak a chipek. Utóbbi chipek ha jól láttam támogatják a hot-swap-et is.
A hozzászólás módosítva: Okt 14, 2014
(#) kukuri hozzászólása Okt 15, 2014 /
 
Megint Én vagyok.
Ez az egyszerű buszra való csatlakozás még nem hagy békén. Két lehetséges verzió merült fel bennem ami használható is lehet.
1. Összeállítani egy kis switcet ahol van pl 8 RJ45 csatlakozó. A csatlakozók végig rá vannak kötve a BUS-ra. Az elsőn bemegy a BUS jel az utolsón pedig ki. A közben levő csatikra meg bármikor rá lehet kötni egy patch kábellel a modult. Ez a kábel 30cm. Nem tudom hogy ez a leállás mennyire zavar be a rendszerbe, mert így nem teljesen egy vezetékre van felfűzve az összes elem.
2. Ránézésre ugyanúgy nézne ki, viszont a switchben be lenne építve minden porthoz a max485 ic. A kábelek meg csak az RX/TX és engedélyező jelet továbbítaná szintén a 30cm-es kábelen.

Így már bármikor bármelyik eszközt le lehet venni. Nem szakad meg a kör. Kiépítésben is szinte mindegy hogy az illesztőt hova teszem. Mondjuk a második esetben több hely marad másra a dobozban.
Gondolom a mikrovezérlőt a BUS felől is védeni kell így az optocsatikat is be lehet tenni a switchbe.
(#) sirály12 válasza kukuri hozzászólására (») Okt 15, 2014 /
 
"a switchben be lenne építve minden porthoz a max485 ic."
Ugyanezt vetettem fel 2 oldallal ezelőtt. Én is így oldom meg, csak én RS422-vel.
(#) kameleon2 válasza kukuri hozzászólására (») Okt 15, 2014 /
 
Nem tudom mit görcsöltök ezen. Izolált változatban is van rs485 sőt a Lomexnél épp tegnap láttam komplett rs485 modult (nem chipet), ami minden gondot levesz a válladról és hot-swap. Talán Linear Technologies volt a gyártó. Egyedül a lezárást tartalmazó elemeket nem célszerű ki-be rakosgatni.
(#) sirály12 válasza kameleon2 hozzászólására (») Okt 15, 2014 /
 
És mennyibe kerül egy ilyen modul? Mert ha jól gondolom nem igazán hobbi kerethez mért ára lehet.
(#) nedudgi válasza sirály12 hozzászólására (») Okt 15, 2014 /
 
Ugyan, miért akadsz fenn ilyen apróságon, amikor 119 darabos csomagokban lehet rendelni...
Következő: »»   15 / 47
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem