Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

485 indentifikacija slejvova

[es] :: Elektronika :: Mikrokontroleri :: 485 indentifikacija slejvova

Strane: 1 2

[ Pregleda: 2770 | Odgovora: 29 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

veselinovic
Jovan Veselinovic
Ist. Sarajevo

Moderator
Član broj: 7761
Poruke: 3860
31.223.133.155



+333 Profil

icon 485 indentifikacija slejvova17.08.2019. u 23:04 - pre 56 meseci
Imam jedan master i nepoznat broj slejvova ( manje od 10) na 485 basu.
Korisnik sam daje tekstualno ime slejvu tipa Pera, Zika, xxxx.
Konfiguracija je takva da je komunikacija jednostrana, tj master salje komandu pojedinom slejvu.
Ovaj ce naravno odgovoriti i potvrditi da je OK primio.
Problematika je kako napraviti proceduru raspoznavanja slejvova.
Moja ideja je da master posalje komandu predstavite se.
Svaki slejv ceka random1 ms i odgovara.
Ako je kolizija na liniji onda ceka radnom 2 milisec pa ponovi.

Valja li ova ideja, i ima li neka druga logcnija procedura?
 
Odgovor na temu

Living Light

Član broj: 331540
Poruke: 6709



+1156 Profil

icon Re: 485 indentifikacija slejvova17.08.2019. u 23:10 - pre 56 meseci
Odgovor na tvoje pitanje, trenutno NE ZNAM,
ali ću u ponedeljak u firmi da pitam,

-Kako ONI to rešavaju sa više od 75 "slejvova".
Toliko mnogo knjiga, toliko malo vremena...
 
Odgovor na temu

ZAS011
Uzgajivač šargarepe izakuće
Vanuatu

Član broj: 288510
Poruke: 4542

ICQ: 8713400
Sajt: www.justfuckinggoogleit.c..


+529 Profil

icon Re: 485 indentifikacija slejvova18.08.2019. u 00:45 - pre 56 meseci
Koji protokol se koristi za komunikaciju?
Pera, Žika, Mika, Laza, ... se u normalnom svetu ne koriste za identifikaciju. To su samo simbolički nazivi koje korisnik u nekom SCADA sistemu daje slejvovima koji imaju isključivo numeričke adrese (kao mnenonici u assembleru, lakše se razume od 10010010, 01101001, ...
Pogledaj malko opis MODBUS protokola. Slejvovi imaju adrese od 1 do 254
Master pošalje poruku slejvu koji bi na istu trebalo da odgovori ponavljanjem primljene poruke + podatak koji je od njega tražen, i, naravno CRC.
MODBUS se intenzivno koristi kod PLC-ova.
BTW RS-485 je samo hardverski lejer (balansirana linija sa definisanim naponskim nivoima).
MAX485, SN75176 su predviđeni da drajvuju do 32 slejva, ima čipića koji mogu i više, ne mogu trenutno da se setim koji

Nisam siguran, Mikroelektronikini kompajleri su imali, čini mi se, mogućnost broacast-a, gde svi slejvovi reaguju na primljenu poruku, tu bi moglo da se igra sa osluškivanjem povratnih informacija od slejvova, npr, slejv sa adresom 1 odgovori odmah, sa adresom 2 posle 2ms, sa adresom 3 posle 4ms ... i na osnovu tajminga odgovora doći do podatka o aktivnim slejvovima. Znači, očekivanje odgovora u tačnim vremenskim intervalima.
--
Make no mistake between my personality and my attitude.
My personality is who I am.
My attitude depends on who you are.
 
Odgovor na temu

veselinovic
Jovan Veselinovic
Ist. Sarajevo

Moderator
Član broj: 7761
Poruke: 3860
31.223.133.155



+333 Profil

icon Re: 485 indentifikacija slejvova18.08.2019. u 06:47 - pre 56 meseci
Zoki,
jasna je prica gdje ima administrator koji zna broj slejvova, i koji ce na neki nacin ( dip prekidacima, softverski,.. kakko god) adresirati pojedini slejv.
Medjutim, ja ne znam unaprijed broj slejv uredjaja.
I nema administratora koji umije dati brojeve slejvu.
Cak sta vise, naknadno ( poslije pustanja u rad) korisnik moze dodati neki slejv.
Dakle, situacija je takva.
Brzina uopste nije kriticna.
Recimo da je Ok ako par bajtova poruke stigne u roku od desetak sekundi.

PS znam MODBAS i jos par industrijskih protokola, ali ovo nisam nasao nigdje u literaturi.
Znam i da Pera, Zika,... nisu imena prilagodjena procesoru, ali su itekako prilagodjena covjeku.
Korisnik ce u slejv upisati ime koje ga jasno asocira na slejv, a master kasnije - kad ih prebroji i identifikuje moze svakom od njih dati broj.
Npr, u kolima ti pise - pregorela sijalica desna pozicija nazad. i to je OK za tebe. Komp u kolima je vodi kao neki broj. I sad zamisli da pise S132, E12.
 
Odgovor na temu

ZAS011
Uzgajivač šargarepe izakuće
Vanuatu

Član broj: 288510
Poruke: 4542

ICQ: 8713400
Sajt: www.justfuckinggoogleit.c..


+529 Profil

icon Re: 485 indentifikacija slejvova18.08.2019. u 10:20 - pre 56 meseci
NIsam zalazio u problematiku vozila, mada se i tamo slejvovi "imenuju" brojevima, prema utvrđenom dogovoru među proizvođačima.

Ako moraš da identifikuješ nepoznate slejvove, MORAŠ da znaš koji se komunikacioni protokol koristi da bi istima mogao da se obratiš.
Ako pišeš softver za slejvove, k'o što sam ti ranije napisao, time slot za svaki slejv čime bi se izbegla, koliko-toliko kolizija.
Npr.

M: Slejvovi Predstavite Se (Broadcast poruka na koju svi slejvovi moraju da odgovore)
TimeSlot1: Pera
TimeSlot2:
TimeSlot3: Žika
TimeSlot4: Mika
TimeSlot5:
.
.
.
.
TimeSlot254: Laza

Recimo da ti je TimeSlot u trajanju od 20ms ukupno vreme za "prozivku" bi bilo 5080ms

Ovo je samo primer.
--
Make no mistake between my personality and my attitude.
My personality is who I am.
My attitude depends on who you are.
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.sbb.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: 485 indentifikacija slejvova18.08.2019. u 11:55 - pre 56 meseci
Obicno na Broadcast poruke sa mastera slejvovi ne odgovaraju, tako se direktno ulazi u problem ako bi oni tada poceli da odgovaraju, jednostavno cute i kuliraju i zapamate to sto im je master poslao.

Ako ne mozes da reprogramiras slejovove onda ce biti veselo, kako da se napravi onda ovo sto je ZAS predlozio sa TIME*ID? :)

Po meni jedino logicno resenje je "prozivka" sa nekom status komandom, "jel' tu ID1?", "jel' tu ID2?" ... Ko se javi taj je prisutan na casu, ostalima se pise neopravdano jer je prozivka samo kod starta masine :)

BTW: Majstor koji kaci novu periferiju na MODBUS jednostavno MORA da ima informaciju koji su ID-evi slobodni/zauzeti kako bi taj nov podesio na unikatnu adresu. To se da resiti u okviru neke procedure za inicializaciju masine gde operater ima uvid u spisak trenutno zauzetih adresa.

[Ovu poruku je menjao mikikg dana 18.08.2019. u 13:22 GMT+1]
Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: 485 indentifikacija slejvova18.08.2019. u 12:26 - pre 56 meseci
ako pravis svoj protokol time*id nije losa ideja ali kad vec definises
da je svaki slave sa numeric ID-om koji ide od 0 do X (255 obicno) onda
sa mastera kazes

for (i = 0; i < MAX_ID; i++) prozovi_slave(i);

gde ti je prozovi_slave(i) nesto tipa

if (status = sendmsg(i, MSG_STATUS, TIMEOUT) == STATUS_OK) slaves = true;

tako da umesto da slave racuna koliko da ceka i kada da se javi i slusa
broadcast, slave slusa samo svoj id, i kad ga ko sta pita on odgovori,
samo dodas da ume da odgovori i na MSG_STATUS sa "TU SAM"
 
Odgovor na temu

veselinovic
Jovan Veselinovic
Ist. Sarajevo

Moderator
Član broj: 7761
Poruke: 3860
31.223.133.155



+333 Profil

icon Re: 485 indentifikacija slejvova18.08.2019. u 13:37 - pre 56 meseci
Nisam dobro objasnio.
Imam n slejvova koji inicijalno nemaju svo ID.
Master nema pojma koliko slejvova ima na mrezi.
Korisnik u slejvove upise neko njemu logicno ime, a nije dovoljno strucan da upise i broj.
Dakle u pocetku imam n slejvova sa imenima pera, zika, ....
Master ce na pocetku da da komandu predstavi se.
Svaki slejv ce se predstaviti recimo sa ID 100, i u poruci reci svoje ime.
Master ce poredati slejvove po imenima i svakom dati ID.
Na dalje je sve OK. Svaki slejv ima ID, master moze jednoznacno povezati ime i ID.
Problem je kako izbjeci koliziju.
Posto ce slejvovi imati ds1820 Scepa je predlozio da uzmem dio 48-bitnog serijskog broja DS-a napravim vrijeme kasnjenja.
Ja imam ideju da uzmem ASCII reprezent prva tri slova imena i napravim neku tezinsku funkciju.
Npr kasnjenje zike = 65025*ASCII (Z)+255*ASCII(I)+ASCII(K).
Ako bih prosto sabrao ASCII onda bi ZIKA i KIZA imali isto kasnjenje.
Ima jos jedna ideja.
Slejv izmjeri temperaturu i ono iza decimalne tacke pomnozim sa nekim koeficijentom, npr 100ms.
Eto, jos se razmislja.
 
Odgovor na temu

goran_68

Član broj: 89012
Poruke: 932
*.dynamic.isp.telekom.rs.



+81 Profil

icon Re: 485 indentifikacija slejvova18.08.2019. u 18:37 - pre 56 meseci
Svi nodovi teba da imaju jedinstvenu mac adresu. To obezeđuješ ti u firmveru. Novi nod se mreži predstavlja mac adresom šaljući zahtev za dodelom imena (simboličko ime, ID ili šta već..). U zahtevu slejv može da naznači koje bi ime želeo (uneo ga korisnik u slejv). Master proverava u svojoj listi simboličkih imena da li je novo ime slobodno i dodeljuje ga slejvu ako jeste. AKo ime nije slobodno sve ispočetka.

gorankg
 
Odgovor na temu

ZAS011
Uzgajivač šargarepe izakuće
Vanuatu

Član broj: 288510
Poruke: 4542

ICQ: 8713400
Sajt: www.justfuckinggoogleit.c..


+529 Profil

icon Re: 485 indentifikacija slejvova18.08.2019. u 19:45 - pre 56 meseci
Gorane, zamisli da imaš glupog korisnika koji je kupio sistem od 5 slejviva sa 1 masterom.
Joca nema blagog pojma kako će glupi korisnik da nayove svoje slejvove (simbolička imena) i svih 5 komada NEMAJU uprogramiran ID (pazi, nije MAC pošto je na RS-485 liniji, najprobližniji je MODBUS protokol).
Jedino što NIJE zajedničko tim slejvovima je jedinstveni serijski broj koji se nalazi u temperaturnom senzoru. Matematičkim igrarijama je moguće iygenerisati zadršku od, recimo, X*100ms (ako zadamo da je jedan TimeSlot 100ms).
Svaki slejv, čim se javi, dobije od mastera ID, prvi slobodan, upiše u svoj EEPROM i setuje fleg da se na Broadcast više ne javlja i tako redom.
Pre povezivanja slejvova u sistem, glupi korisnik je na neki način u slejv upisao samo simboličko ime, ID stoji ili 0x00 ili 0xFF (yavisno od stanja bitova prayne memorijske lokacije u EEPROM-u
Kada se master "upozna" sa svim prisutnim slejvovima, ostaje samo da se na neki način poveže sa nekom aplikacijom bilo na mobilnom telefonu ili na računaru (SCADA) gde će aplikacija iz slejvova pokupiti simbolička imena i prikayati ih na odgovarajući način glupom korisniku.

Primer hotela sa "n" soba (Joca ne može da ode na teren i da programira svaki slejv ponaosob)
Code:
Simboličko Ime           ID
Soba 101                  4
Soba 102                  2
Soba 103                  1
Soba 104                  5
Soba 105                  3


ID dodeljeni po redosledu odayiva slejvova prilikom prve prozivke.

Glupi korisnik nadozida još jedan sprat sa 5 soba, u jednom momentu Master (što bi trebalo da radi ciklično) započne prozivku i prijavi mu se novih 5 slejvova (prethodnih 5 ćute pošto su prošli tu proceduru) i pridodeli svakom novajliji ID prema redosledu prijavljivanja:
Code:
Simboličko Ime           ID
Soba 201                  6
Soba 202                  7
Soba 203                  10
Soba 204                  8
Soba 205                  9


Aplikacija, na čemu god da se nalazi, će od Mastera dobiti ukupan broj slejvova i prikazati i novajlije, bilo tabelarno ili grafički.

Štos je samo izgenerisati iz serijskog broja senzora jedinstveni broj koji će predstavljati vreme ya odgovor na "prozivku" (TimeSlot)
Predpostavljam da se u 100ms može mnogo toga obaviti, čak i sa malom brzinom komunikacije.

To je neko moje viđenje.

PS ako ima negde Y umesto Z, jbg glupi XP (drugi prastari računar) ne ume da im zameni mesta :D Pigvinček sa time nema problema ;)
--
Make no mistake between my personality and my attitude.
My personality is who I am.
My attitude depends on who you are.
 
Odgovor na temu

veselinovic
Jovan Veselinovic
Ist. Sarajevo

Moderator
Član broj: 7761
Poruke: 3860
31.223.133.74



+333 Profil

icon Re: 485 indentifikacija slejvova18.08.2019. u 20:51 - pre 56 meseci
Zoki je to objasnio bolje od mene.
Fol je pronaci algoritam vremenskog kasnjenja kod zahtijeva PREDSTAVI SE.
Iako, realno nece biti vise od 10 slejvova, pa cak i ako bude kolizija sve ce se zavrsiti za par sekundi sa random funkcijom.
Vrijeme uopste nije kritican faktor u toj prici.
Jedini zabun moze biti da neuki korisnik da isto ime za dva ili vise slejvova.
Tada master moze upozoriti i dati predefinisano ime npr soba101-1, soba101-2..., a on ce ih razlikovati po serijskom broju senzora.
 
Odgovor na temu

goran_68

Član broj: 89012
Poruke: 932
*.dynamic.isp.telekom.rs.



+81 Profil

icon Re: 485 indentifikacija slejvova18.08.2019. u 21:51 - pre 56 meseci
Po meni je suvišan taj periodični broadcast od strane mastera. Novi slejv se prijavljuje na mrežu zahtevom da mu se dodeli ID. Master ima jedinstven ID kome se slejv obraća kad traži sopstveni ID. Kad želi da zna koji su mu slejvovi još uvek u mreži Master "pinguje" svakog ponaosob i nema opet broadcast-a. Moguće je da nešto previđam ali mi se čini da bi ovako radilo.
gorankg
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: 485 indentifikacija slejvova18.08.2019. u 22:11 - pre 56 meseci
ne valja ta rabota "glupi korisnik koji upisuje ime slave-a" .. napises
glupom korisniku da svakom slave-u umesto imena mora stavi broj od 1 do
10 i da svaki mora ima razlicit broj inace sprava nece radi kako treba
... jer ces ovako imati korisnike koji upisuju imena cirilicom, emojiima
i slicne budalastine ..

to sa random je standardni protokol na mrezi, pogledaj kako radi 10base2
mreza, ti slusas dal je na mrezi tisina, kad je tisina krenes, ako se
preklopis sa nekim drugim ucutite oboica i cekate neko random vreme i
onda probate opet.. ali u ovom tvom slucaju, kazes dodaj id i to je to
... ili stavi 8 jumpera i neka jumperima setuju id ili ...
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.sbb.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: 485 indentifikacija slejvova18.08.2019. u 22:20 - pre 56 meseci
Ja sam odavno za Modbas uveo da ima 32bitnu adresu, 32bitnu komandu i 32bitni podatak sa 32bitnim HW CRC :)
Od Seriskog broja sa DS se dobije CRC32 i to bi trebalo da bude unikatno na mrezi ako se ne varam i to se iskoristi kao adresa :)

Nesto ovako, ovo mi je od predhodne verzije protokola, radi i to odlicno sa sve diagnostikom oko noise i frame errors i tako dalje.

Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
Prikačeni fajlovi
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.sbb.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: 485 indentifikacija slejvova18.08.2019. u 23:08 - pre 56 meseci
Inace indentifikacija moze da se resi sa jednim jumperom ili tasterom + led diodica.

Pogledajte malo detaljnije Modbus specifikaciju, imaju tacno pravila kakvi podaci trebaju da se loguju zbog diagnostike, koje LED diodice i kojih boja treba da ima na modulu da bi bio po specifikaciji, sve su vrlo korisna pravila koja mogu da se prihvate za nasu "custom" specifikaciju.

Po preporukama mora da postoji input element i otput element za diagnostiku, minimum jedna LED+jumper jer mora da se potvrdi da je to validan uredjaj koji se indentifikuje na mrezu u tom trenutku kada je poslata broadcast poruka za indentifikaciju.

Dakle korisnik uzme nov uredjaj koji prikaci na mrezu i pritisne taster, sa PLC mastera se salje broadcast poruka gde se javi samo onaj kome je pritisnut taster i odgovori sa adresom koja je vezana za unikatan seriski broj koji stoji u DS integralcu (taj je sa 48bit UID, imaju do 256bit inace), master to skonta i posalje komandu da blinke LED da korisnik zna da je to proslo i to je to.

Mora da se ispostuje neka procedura, ne moze da kaci ko sta kad hoce, imaju vrlo prosta pravila i to je to.
Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

scoolptor

Član broj: 305514
Poruke: 1620



+585 Profil

icon Re: 485 indentifikacija slejvova18.08.2019. u 23:21 - pre 56 meseci
Goran, ako se slejv obraca, onda nije slejv, vec master, a mreza je multi master.

Covek trazi recept za gibanicu sa sirom, a dobija recepte za princes krofne, burek sa sampinjonima, i specijalitete kuce koje je kuvar izmislio kada je radio u proslom restoranu.


 
Odgovor na temu

scoolptor

Član broj: 305514
Poruke: 1620



+585 Profil

icon Re: 485 indentifikacija slejvova18.08.2019. u 23:35 - pre 56 meseci
Veselinovic, napisacu ti sutra svoj predlog, na poslu. Ne mogu sad da kucam na telefonu.
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.sbb.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: 485 indentifikacija slejvova19.08.2019. u 00:03 - pre 56 meseci
Ime koje korisnik upisuje je totalno nebitno, to je za njegovu informaciju i da kazemo da je to na visem sloju transporta ili aplikacije, ne moze od njega da se ocekuje da upisuje "uniqe" imena, sto bi to radio uopste, sam transport na mrezi trebalo bi da bude resen sa unikatnim adresama koje kao sto spomenuh mozemo da dobijemo iz DS + CRC32 tj 32 bitna "staticna" adresa pa se onda kroz UI (kad se vec spominje da korisnik nesto unosi, gde unosi, kako, LCD2x16, touch ili nema nista ili moze da ima "jedan taster i LED" ??) inicializuje procedura za indentifikaciju i prijavljaivanje na mrezu.
Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

ZAS011
Uzgajivač šargarepe izakuće
Vanuatu

Član broj: 288510
Poruke: 4542

ICQ: 8713400
Sajt: www.justfuckinggoogleit.c..


+529 Profil

icon Re: 485 indentifikacija slejvova19.08.2019. u 01:26 - pre 56 meseci
Gorane, klinac (slejv) ima da ćuti dok mu se stariji (master) ne obrati (inače može da dobije vaspitnopopravnu :D ).
Ako bi se samoinicijativno "prijavljivao" u bilo kom slučaju (pritisak na taster ili u nekom random vremenu) ne bi bio slejv već master i sistem bi bio multimaster.
--
Make no mistake between my personality and my attitude.
My personality is who I am.
My attitude depends on who you are.
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.sbb.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: 485 indentifikacija slejvova19.08.2019. u 01:39 - pre 56 meseci
Ovde ima vrlo lepo sve opisano u specifikaciji za implelemntaciju Modbus-a kako treba postaviti stvari i sta je preporucljivo da se odradi:

http://www.modbus.org/docs/Modbus_over_serial_line_V1_02.pdf
http://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf

Moze da se ispostuje njihov protokol ali i ne mora niko nas ne primorava, korisno je videti postavku kako je osmisljena.

Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: 485 indentifikacija slejvova

Strane: 1 2

[ Pregleda: 2770 | Odgovora: 29 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.