Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 27 kwi 2024, o 19:54


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 28 mar 2014, o 10:38 
Offline
Użytkownik

Dołączył(a): 25 lis 2013
Posty: 28
Pomógł: 0

Witam wszystkich serdecznie. Znalazłem w internecie takie oto urządzenie http://plc-home.pl/pliki/DTR_Odbiornik_IRDA_MODBUS_v1.1.pdf tyle, że na PIC a nie AVR. Nakreśliłem taki schemacik do tego i dalej z programem sie już zaciąłem, :cry:
Czy mogli byśmy tak razem, wspólnymi siłami zbudować takie urządzonko ?
Pewnie nie jednemu by się przydało :)
Obrazek

Dziękuję wszystkim, którzy chcą pomagać innym (zwłaszcza takim laikom jak ja ;) ).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 mar 2014, o 12:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2012
Posty: 97
Lokalizacja: Tarnów
Pomógł: 2

W niebieskiej książce Mirka masz ładnie opisane zarówno dekodowanie RC5 jak i obsługę komunikacji RS232/RS485 więc nie trzeba chyba tutaj nic dodawać. Rozbij sobie to osobno na dekodowanie a potem komunikację, jak obydwie rzeczy będą działały wystarczy złączyć razem i projekt gotowy. Jak będziesz miał problem z czymś konkretnym to pytaj albo poszukaj na forum.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 mar 2014, o 12:32 
Offline
Użytkownik

Dołączył(a): 25 lis 2013
Posty: 28
Pomógł: 0

No nie do końca tak, rzecz najtrudniejsza to implementacja protokołu modbus rtu. Próbowałem zrozumieć biblioteki freemodbus Berlios, ale niestety nic tam nie czaję :( . Po zwykłej komunikacji RS485 nie będzie rozmawiać ze sterownikiem PLC.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 kwi 2014, o 08:42 
Offline
Użytkownik

Dołączył(a): 25 lis 2013
Posty: 28
Pomógł: 0

Poszperałem trochę w necie i udało mi się skompilować freemodbus'a. Mam teraz taki oto kod i pytanie: Jak to zrobić, żeby ze slave z poniższym kodem (Atmega32) odczytać zmienną "command" (to zmienna z przykładu 11_RC_decode, który w późniejszym czasie połączę) ?? Czy trzeba jakoś skopiować zawartość tej zmiennej pod określony adres Holding Register?? Jak to się robi ??
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 kwi 2014, o 09:33 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Wszystko co trzeba robić jest w funkcji main, a dokładnie w pętli for(;;). Tam widać podstawianie wartości do tablicy usRegInputBuf. Na początek może wystarczy:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

address i command są to zmienne globalne z pliku ir_decode.c i są zadeklarowane jako extern, więc są dostępne również w innych plikach.


Autor postu otrzymał pochwałę

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO