Több arduino összekötése RS485-el.

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Avatar
spotlite
DrótVégénSzéndarab
Hozzászólások: 19
Csatlakozott: 2011. február 23. szerda, 7:00
Tartózkodási hely: Érd-Parkváros
Kapcsolat:

Re: Több arduino összekötése RS485-el.

HozzászólásSzerző: spotlite » 2015. július 7. kedd, 8:47

Úgy tűnik, hogy az itt lévők közül ilyen szinten senkinek sincs tapasztalt tudása a MODBUS-ról. :(
Marad a nyomozgatós tesztelgetős infóguberálás. :wink:

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9698
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Több arduino összekötése RS485-el.

HozzászólásSzerző: Robert » 2015. július 8. szerda, 2:53

A modbus alapban nem string alapú:(

Két eszköz közt (nincs címzés): https://github.com/Protoneer/RS485-Arduino-Library

Tipp: mintha több egymás utáni regisztert írnál: https://drive.google.com/folderview?id= ... =drive_web
De ez a módbus logikával nem egyezik!

kukuri
Bitmanipulátor
Hozzászólások: 127
Csatlakozott: 2014. január 20. hétfő, 12:50

Re: Több arduino összekötése RS485-el.

HozzászólásSzerző: kukuri » 2015. július 9. csütörtök, 9:18

Ránézésre nekem ez a megoldás jó lehet.
Elküldi a szöveget, vissza is ellenőrzi. Kár hogy 20 karakternél korlátozták. Nem tudom ha ezt megemelem akkor is működhet? Vagy egyéb korlátok miatt lett beállítva 20 karakterre?

Már az I2C-t nézegettem adatküldésre. Bár a korlát itt is 31 karakter. Ettől függetlenül el lehet küldeni több részletben is. Az ellenőrzést még ebben az esetben is meg kell oldani.

Kár hogy a Modbus nem támogatja ilyen formán a szöveges küldést.

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3174
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

Re: Több arduino összekötése RS485-el.

HozzászólásSzerző: kapu48 » 2017. június 7. szerda, 14:31

Csak annyit kel javítani, hogy az RS485.h-ban 8. sor

Kód: Egész kijelölése

//const int maxMsgLen = 20;
const int maxMsgLen = 200;      // Ekkora adat területet foglal le, tipus:  unsigned char



Vételkor pedig itt kapodmeg:

Kód: Egész kijelölése

message[maxMsgLen+3+1];


Vissza: “Arduino / C-nyelvű programozás (AVR-Duino, EthDuino, Arduino, Diecimila)”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 2 vendég