|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
gusti Član
Pridružen-a: Pet 15 Feb 2008 17:34 Prispevkov: 112 Aktiv.: 0.57 Kraj: Kotlje - Koroška
|
Objavljeno: Sre Maj 18, 2011 12:31 pm Naslov sporočila: Master/Slave komunikacija na 100m v industrijskem okolju. |
|
|
Lp.
Z PC-jem bi rad komuniciral z 16imi slave enotami (half ali full duplex) v katerih bo LPC2138 ali kaj podobnega. Komunikacija je lahko počasna kot polž, se nikamor ne mudi, ker bom prenašal malo podatkov in še to komaj vsake par minut. Mora pa bit zadeva robustna kolikor je le mogoče, da v prenosu ne bo prihajalo do napak. Dolžina kabla bi bila tam nekje do 50m ampak dejmo zaokrožit na 100m za ziher.
Zej če bi se to dalo nekak komunicirat v RS232 protokolu, bi mi močno olajšalo zadeve, ker ne bi rabil izumljat tople vode kar se komunikacije tiče.
Ampak RS232 je kolikor je meni poznano nekak preveč občutljiv na motje sploh v industrijskem okolju in tudi mislim, da sta lahko na rs232 priključeni samo 2 napravi.
Nekaj sem gledal RS485, pa mi par stvari ni čist jasnih glede tega, kako to deluje. A ima kdo kakšno pametno idejo kako to izvest in mogoče kakšen link? Po moje mora bit tega opisanega veliko ampak jaz nisem našel še nič pametnega.
Hvala za odg.
|
|
Nazaj na vrh |
|
|
lojzek Član
Pridružen-a: Pet 25 Jan 2008 8:00 Prispevkov: 3356 Aktiv.: 16.96
|
Objavljeno: Sre Maj 18, 2011 1:03 pm Naslov sporočila: |
|
|
Za industrijo se velikokrat uporablja 485. Za oba so bolj kot ne začrtane samo grobe smernice o napetostnih nivojih, sam protokol pa je povsem odvisen od proizvajalca naprave- v nasprotju z 232, kjer je tudi protokol definiran. Razdalje pri 485 so lahko tudi okoli kilometra ali več, odvisno od hitrosti. Pri tako veliki razdalji je namreč že kar pomemben faktor kapacitivnost kabla.
V glavnem, pred računalnikom boš potreboval 485/232 konverter.
|
|
Nazaj na vrh |
|
|
BojanR Član
Pridružen-a: Tor 08 Apr 2008 9:52 Prispevkov: 684 Aktiv.: 3.50 Kraj: Vnanje Gorice
|
Objavljeno: Sre Maj 18, 2011 1:18 pm Naslov sporočila: |
|
|
Gotovo je treba uporabiti kaj drugega kot RS232, RS485 je za industrijsko okolje kar prava alternativa.
Ne drži pa, da je RS232 bolj definiran od RS485. Že predpona teh oznak pomeni RS=Recommended Standard, torej samo priporočilo.
|
|
Nazaj na vrh |
|
|
rudiP Član
Pridružen-a: Tor 07 Avg 2007 15:30 Prispevkov: 1234 Aktiv.: 6.06 Kraj: KOPER
|
Objavljeno: Sre Maj 18, 2011 1:32 pm Naslov sporočila: |
|
|
Razlika med SW za rs232 ali rs485 je minimalna, odvisno ali bo promet half ali full duplex. Različna sta le vmesnika (IC). Ni potrebno da preveč skrbiš ali bo šlo ali ne.
_________________ Lep pozdrav iz Kopra Rudi |
|
Nazaj na vrh |
|
|
žrepko Član
Pridružen-a: Tor 23 Mar 2010 20:12 Prispevkov: 700 Aktiv.: 4.08 Kraj: Ptuj-Maribor
|
Objavljeno: Sre Maj 18, 2011 1:34 pm Naslov sporočila: |
|
|
Mi imamo rešeno na drugačen način. In sicer preko 2 žilnega prenosa imamo GND in podatke.
Pravzaprav RS232, ampak na 24V napetostnem nivoju.
Na drugi strani je pa isto vezje napajano s strani komunikacije in sprejemni del je enak temu.
Deluje 100% na 100m po veliki hitrosti.
Opis: |
|
Velikost datoteke: |
21.75 KB |
Pogledana: |
45 krat |
|
|
|
Nazaj na vrh |
|
|
aly Član
Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 42.19 Kraj: Kranj - struževo
|
Objavljeno: Sre Maj 18, 2011 7:18 pm Naslov sporočila: |
|
|
Motjnam se lahko izogneš s parico (RS422, RS485) ali z visokimi napetostmi in robustnimi nivoji ("navit" RS232). S tem da RS232 je bolj namenjen komunikaciji 1 na 1...
Glede na to, da rabiš več slave-ov, ti priporočam half-duplex RS485. Rabiš 2 žici (parica) in maso (oklop).
Komunikacijo narediš po svoje. Jaz imam tako, da je na mreži en sam master, ki sprašuje ostale (tako je najlažje). Imam standardno hitrost in standarden paketek. Oboje sem si seveda sam izmislil.
Paketek je sestavljen iz 10 bytov: Header, naslov, ukaz, vrednost (5 bytov), CRC, Footer. Master ima naslov 1, ostali pa 2, 3, 4, ... Naslov FF je "broadcast", torej se nanj odzovejo vsi (uporabno za Stop ali Off ukaze). Vsak slave odgovori samo takrat, ko je direktno vprašan. Vrne paketek z naslovom 1, kar pomeni, da ga pošlje Masterju nazaj. Če se CRC ne ujema, ne odgovori nič.
Toliko glede visokonivojskega protokola.
Glede hardvera, vsi so ves čas v načinu poslušanja in terminacijsku upori držijo linijo na Idle nivoju. Master nato najprej vklopi oddajnik, pošlje sporočilo, in gre nazaj v poslušanje in čaka na odgovor. Če ga ni, pošlje še enkrat.
Na mikrokontrolerju je vse skupaj zvezano na USART in še en pin, s katerim se preklaplja med oddajo in sprejemom.
RS485 gre brez težav do dolžine 1 km, ob ustrezno nižji hitrosti in ustrezni terminaciji na obeh koncih linije.
Dobijo se tudi USB-RS485 vmesniki. Ebay ipd. Za to mojo opcijo je pomembno, da iščeš varianto z 2 žicama (half duplex). Notri je ponavadi en FTDI in RS485 transceiver.
Druga opcija pa je CAN bus, če imaš ustrezen mikrokontroler, ki podpira hardverski CAN vmesnik.
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding |
|
Nazaj na vrh |
|
|
matjazkariz Član
Pridružen-a: Sre 03 Nov 2004 18:09 Prispevkov: 1026 Aktiv.: 4.60
|
Objavljeno: Sre Maj 18, 2011 8:27 pm Naslov sporočila: |
|
|
485 (half duplex) ali 422 (full duplex) je v tem primeru cenovno ugodna rešitev. Na DX dobiš 232 na 485 za nekaj dolarjev. Kot alternativo predlagam CAN, ki je mnogo bolj zanesljiv že v osnovi(uC v tem primeru LPC2129 ali LPC 2378). Na 485 boš moral pravilno dostavo paketov handlat softversko, pri CAN pa tega ni treba, ker je rešeno hardversko. Za povezavo z PC pa tole: http://www.can232.com/ Glede CAN si poglej članke v reviji Elektronik.si št. 8 in 9.
_________________ LP, Matjaž |
|
Nazaj na vrh |
|
|
siljo Član
Pridružen-a: Tor 28 Okt 2003 8:08 Prispevkov: 1035 Aktiv.: 4.64 Kraj: Ribn'ca
|
Objavljeno: Sre Maj 18, 2011 9:51 pm Naslov sporočila: Re: Master/Slave komunikacija na 100m v industrijskem okolju |
|
|
gusti je napisal/a: |
Lp.
Z PC-jem bi rad komuniciral z 16imi slave enotami (half ali full duplex) v katerih bo LPC2138 ali kaj podobnega. Komunikacija je lahko počasna kot polž, se nikamor ne mudi, ker bom prenašal malo podatkov in še to komaj vsake par minut. Mora pa bit zadeva robustna kolikor je le mogoče, da v prenosu ne bo prihajalo do napak. Dolžina kabla bi bila tam nekje do 50m ampak dejmo zaokrožit na 100m za ziher.
Zej če bi se to dalo nekak komunicirat v RS232 protokolu, bi mi močno olajšalo zadeve, ker ne bi rabil izumljat tople vode kar se komunikacije tiče.
Ampak RS232 je kolikor je meni poznano nekak preveč občutljiv na motje sploh v industrijskem okolju in tudi mislim, da sta lahko na rs232 priključeni samo 2 napravi.
Nekaj sem gledal RS485, pa mi par stvari ni čist jasnih glede tega, kako to deluje. A ima kdo kakšno pametno idejo kako to izvest in mogoče kakšen link? Po moje mora bit tega opisanega veliko ampak jaz nisem našel še nič pametnega.
Hvala za odg. |
Če imaš majhno hitrost 100m ni noben problem...
http://www.lammertbies.nl/comm/info/RS-232_specs.html
_________________ Lep pozdrav! |
|
Nazaj na vrh |
|
|
aly Član
Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 42.19 Kraj: Kranj - struževo
|
Objavljeno: Sre Maj 18, 2011 9:59 pm Naslov sporočila: Re: Master/Slave komunikacija na 100m v industrijskem okolju |
|
|
Če uporabljaš pravilne napetostne nivoje (+/- 15V), kar je že velika redkost. Današnji vmesniki so večinoma +/- 5V ali 0/5V
In v tem primeru te čaka še kar precej mečkanja, da narediš "multidrop" mrežo, ker RS232 je namenjen za komunikacijo 1-na-1. Če bi kaj prebral kaj zgoraj piše...
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding |
|
Nazaj na vrh |
|
|
siljo Član
Pridružen-a: Tor 28 Okt 2003 8:08 Prispevkov: 1035 Aktiv.: 4.64 Kraj: Ribn'ca
|
Objavljeno: Sre Maj 18, 2011 10:37 pm Naslov sporočila: |
|
|
imaš prav....no 16 sužnjev sem pozabil!
_________________ Lep pozdrav! |
|
Nazaj na vrh |
|
|
bumbar Član
Pridružen-a: Sre 28 Okt 2009 20:25 Prispevkov: 62 Aktiv.: 0.35 Kraj: Cerkno
|
Objavljeno: Čet Maj 19, 2011 9:52 am Naslov sporočila: |
|
|
485 in ModBus.
Napišeš ModBus driver (enostavno, dobro dokumentirano-flowcharti, varno-CRC...), ga obesiš na SCI modul mikrokontrolerja, zunaj dodaš 485 konverter in si zmagal.
|
|
Nazaj na vrh |
|
|
gusti Član
Pridružen-a: Pet 15 Feb 2008 17:34 Prispevkov: 112 Aktiv.: 0.57 Kraj: Kotlje - Koroška
|
Objavljeno: Čet Maj 19, 2011 11:01 am Naslov sporočila: |
|
|
Hvala vam vsem za odgovore.
Malo sem zadeve pregledal še na netu in vas prosim, da preberete spodnje trditve in me popravite če si kaj narobe razlagam.
1.) Na master in vseh 16 sužnjev zvežem RS485 transciver (naprimer LTC1485).
2.) Transciverje lahko povežem tudi na uart in uporabim RTS za drive in recive enable. Tako lahko uporabim tudi RS232 protokol za komunikacijo ampak samo v half-duplex načinu. V bistvu moram software-sko rešit zadeve, da se bo vedno oglašal samo eden naenkrat in da bodo vedeli komu so podatki namenjeni.
3.) Tako sedaj uporabniki komunicirajo po pravilih protokola RS232 (start, stop, biti, pariteta ...) ampak samo fizično prenašanje podatkov je pa po RS485 standardu, zaradi zmanjševanja vpliva okolice na zanesljivost prenosa podatkov.
Primer:
Vseh 16 sužnjev je v recive enable stanju. MASTER se postavi na drive enable in pošlje naslov SLAVE1 in gre nazaj v recive enable. Vseh 16 sužnjev ta naslov sprejme. SLAVE1 se pripravi za pošiljanje N byte-ov. SLAVE2 do SLAVE16 se postavijo v stanje, da bodo preslišali N byte-ov, ki jih pošilja SLAVE1. Ko SLAVE1 pošlje tistih N byte-ov se vsi sužnji postavijo nazaj v recive enable in čakajo na nov ukaz od masterja.
Prosim, če mi lahko kdo pove, če sem naredil kje kakšno usodno napako?
Sej vem, da mogoče trmarim z tem uartom in rs232 protokolom, ampak tako lahko uporabim LabView aplikacijo za PC že od enega drugega projekta, ki ga pravkar zaključujem (DAQ kartica). Niti sanja se mi ne kako bi iz LabView-a pošiljal in prejemal podatke po nekem protokolu, ki bi si ga sam izmislil. Mogoče bi šlo, če bi lahko definiral pine v COM portu kot neke splošne I/O pine in potem gradil naprej ampak to bi izumljal toplo vodo. Po mojem mnenju so standardi ravno zato, da olajšajo zadeve kot je ta. Čeprav mogoče na račun hitrosti prenosa ampak ta v mojem primeru tako ali tako ne igra nobene vloge.
|
|
Nazaj na vrh |
|
|
aly Član
Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 42.19 Kraj: Kranj - struževo
|
Objavljeno: Čet Maj 19, 2011 11:22 am Naslov sporočila: |
|
|
1. pravilno
2. pravilno **
3. pravilno
** - RTS (Request To Send) je v osnovi namenjen za handshaking, kar pomeni, da ga sprejemnik deaktivira, ko ima poln buffer in ne more več pošiljat podatkov.
Če lahko ta signal v LV softversko krmiliš, je ok. Da pred oddajo aktiviraš in takoj zatem deaktiviraš oddajnik.
Druga opcija je USB-RS485 vmesnik (zvo-žični), s FTDI čipom, ki ima to že hardversko rešeno.
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding |
|
Nazaj na vrh |
|
|
gusti Član
Pridružen-a: Pet 15 Feb 2008 17:34 Prispevkov: 112 Aktiv.: 0.57 Kraj: Kotlje - Koroška
|
Objavljeno: Čet Maj 19, 2011 12:23 pm Naslov sporočila: |
|
|
Na slave-ih bom kar splošne I/O pine iz procesorja dal za krmilit enable.
Bom preštudiral še ta RTS in DTR, če se da to kaj ročno krmilit iz LV ... zaenkrat nič ne izgleda imam samo možnost nastavitve flow controla.
Če ne bo šlo, bom pa vzel usb-rs485, ali pa dal med com port in transciver še en procesor z dvema uartoma, ki bo samo forwardiral podatke naprej in krmilil enable.
To se bo že dalo nekak rešit, glavno da je princip že od začetka pravilno nastavljen.
Hvala vsem za pomoč.
|
|
Nazaj na vrh |
|
|
rbogomir Član
Pridružen-a: Tor 13 Apr 2004 13:58 Prispevkov: 40 Aktiv.: 0.18 Kraj: Cerkno
|
Objavljeno: Pet Maj 20, 2011 7:42 am Naslov sporočila: |
|
|
gusti je napisal/a: |
Bom preštudiral še ta RTS in DTR, če se da to kaj ročno krmilit iz LV ... zaenkrat nič ne izgleda imam samo možnost nastavitve flow controla. |
RTS in DTR lahko krmiliš tudi iz LV. VISA reference priključi na Property Node, izberi Serial Settings -> Modem Line Settings --> Line RTS State. Spodaj je primer. Mislim, da Asserted pomeni aktivno stanje. Na RS232 je to negativna napetost.
LP, Mikro
Opis: |
|
Velikost datoteke: |
2.67 KB |
Pogledana: |
19225 krat |
|
|
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 76 dni
Powered by phpBB © 2001, 2005 phpBB Group
|