Ramka jest taka jaką zrobiłeś. W każdym razie rodzaj ramki dla działania RS485 nie ma znaczenia.
Programem Hercules, a co do ustawienia ID urządzenia to musisz zerknąć do rozpiski ramki ModBUS. Można też samemu złożyć taką ramkę tylko trzeba wiedzieć jakie ID urządzenia, od jaki rejestru ma zacząć pytać/zapisać i ile rejestrów i na koniec wyliczamy CRC.
Ja też dałbym coś różnicowego. Np. RS485. Oczywiście dobrze zdefiniowana ramka z CRC.
A jakiś przykład kodu jest kolega w stanie pokazać? Ustawiasz timer, tak aby się przepełniał po czasie np. 1,5 znaku. W przerwaniu odbioru, zerujesz licznik timera. W przerwaniu przepełnienia timera ustawiasz flagę - koniec transmisji. Oczywiście w zależności od konkretnych peryferiów dostępnych w MCU, można ten proces zoptymalizować. Do tego dodałbym...
Podaj dokumentacje urządzenia z którym chcesz się połączyć. Ustawiłeś odpowiednią szybkość transmisji, i ramkę?
Można tak zrobić, ale chyba wolę przenieść ciężar komunikacji i logiki dekodującej na serwer, zawsze to łatwiej tym zarządzać i rozwijać. W takim razie pozostaje mi jakoś przerzucić te ramki z RS485 na TCP/IP, chyba zrobię to sprzętowo na ESP8266 i wystawię po terminalu w sieci LAN. PS. na zapytanie o dokumentację producent, firma Plum, odpowiedział:...
Ramki RS485 i RS232 są identyczne. Standardy te różnią się tylko sposobem transmisji (RS232 - niesymetryczny, RS485 - różnicowy), więc nie ma to od strony uC najmniejszego znaczenia który wykorzystujesz. Sprawę dopasowania napięć do danego standardy załatwia transceiver (np. MAX232). Pozdrawiam :)
Witam, a jak wygląda sprawa programowania rs485 z modułami własnymi? Czy ramkę dla rs485 mogę na panelu HMI KINCO dowolnie deklarować?
Czy jesteś pewien, że jest to transmisja RS485 ? Czy wypróbowałeś różne formaty ramki ?
Jak dla mnie temat zaczyna nakręcać się wyszukiwaniem możliwych problemów, przeszkód nie prowadząc do sensownego rozwiązania. marcint43 musisz określić się czy chcesz wykonać ten zdalny wyświetlacz czy też nie oraz jaką metodą. Osobiście zrobiłbym przerwę konserwacyjną i wpiął się w sterownik, lub wykonał to działanie w lecie. Jeżeli chcesz wykonać...
BTMy mają TxD i RxD do obsługi portu szeregowego RS232. Jeśli chciałbyś podłączyć kilka przez RS485 to musisz wyposażyć każdy z nich w konwerter RS232/RS485 (np. MAX485) do tego stworzyć dla każdego z nich jakiś pośredniczący układ pomiędzy właśnie konwerterem (siecią RS485) a samymi modułami BTM. Pośrednik ów pozwalałby na generowanie i reakcję na...
Witam, Chce nawiązać komunikacje CAN z nakładką nr RP Waveshare RS485 CAN HAT w pythonie. wykonuje prosty przykład https://obrazki.elektroda.pl/3865461100_... W przypadku testów z ST32 wszystko jest ok. Wiec oscyloskop chyba dobrze dekoduje. https://obrazki.elektroda.pl/6832619400_... Czy ktoś komunikował się magistralą...
Witam. Zapoznaj się z formatem ramki ModBus, a sam znajdziesz odpowiedź. Do tego dokumentacja do falownika. Pozdrawiam.
Inwerter sam nie nadaje jak nie wyslesz zapytania na jego adres i daletego nalezya to ID ustawic na 1. Bo tak sa adresowane ramki pytajace. Jezeli nie ma mozliwosci zmiany predkosc to p.p. domyslna dla RS485 jest 9600. A jezeli ramka pytajaca bedzie miala nie wlasciwa sume kontrolna to inwerter tez nie odpowie. Test polaczenia z inwerterem po RS485...
Witam. Kolego Bartku, odnośnie jeszcze ramki do rs485 czy jest możliwość wysłania ramki w formie 1 bajta i parsowania jej, tzn: mamy ramkę 1byte 01110001 z czego cztery ostatnie bity 0111 to komenda a cztery pierwsze 0001 to ID(id od 0 do 15) Chciałem tak zrobić ponieważ dołączę do każdego slavea po 2 czujniki i w bajcie mogę przypisać im pozycję na...
(at)master2257 tylko że RS232, RS485 itd to nie protokoły tylko magistrale komunikacyjne. Protokół to język do gadania pomiędzy dwoma urządzeniami, które połączone są np. po RS485 czy Ethernet. Najlepiej to program wireshark i prześledzić jak wygląda ramka, ładnie to opisać i tyle.
Dzisiaj wypróbowałem: http://www.modbus.pl/download/zxy66/v19/... do testowania sieci regulatorów ABB opartej na RS485 ModbusRTU. Ustawiamy parametry zapytania i otrzymujemy ramkę odpowiedzi. Intuicyjny i łatwy w obsłudze.
(at)Freddie Chopin Można przyjąć UB. PEIE sprzęt nie zmieni tylko program stmx Co masz na myśli poprzez UB? Do obsługi komunikacji RS-485 wykorzystałem biblioteki HAL. Poniżej obsługa wysyłania danych: [syntax=c] // #define GET_SETTINGS_PERIOD 20//co ile wysyłanych ramek należy pobrac ustawienia Master_struct_typedef *MasterWskaz; Slave_struct_typedef...
Najpierw wyjaśnij, co to jest "ramka CRC8".
UCSR0C=(3<<UCSZ00); z pewnością nie wybiera ramki 8N1.
nie rozumiem czym jest ostatnia pozycja H1 starsze 8 bitów to kanał komunikacji:0 - rs485 , 1 - rs232 młodsze 8 bitów to ilość danych do wysłania. No i super tarowanie działa ,tylko w czym był problem ? W zapchanym (caly czas zajętym) transceiverze rs485. Ramka tarowania też jest wysyłana ileś razy i zapycha transceiver. ma być tyle 01 05 0F A0 00...
Dzięki za link, przyda się. Widzę że zmieniłeś avatara na bardziej pasujący. Z DALI jest problem z ramkami danych a nie z RS485. Ramki są tak zrobione że nie odbierzesz ich za pomocą UARTa lub SPI, wymyślili coś zupełnie nowego i trzeba będzie robić odczyt i nadawanie danych programowo. Nie wróży to nic dobrego, mogą być problemy z niezawodnością.
Ok, jak chcesz uparcie brnąć w tą kiszkę, to tak, być może to zadziała, w każdym razie rozumowanie jest poprawne. Ale dlaczego nie poświęcić dodatkowego pinu IO Raspberry i zrobić to tak, żeby na 100% zawsze działało? Ok, nie chcesz dodatkowego pinu, to wstaw tam jakiś mały MCU, który odbierze dane po USART z raspberry, przetworzy je na ramkę RS485...
Witam zainteresowanych tematem Wi-Fi do inwertera KS5000DT. Zaczołem robić próby z napisanym kodem programu na ESP8266 i napotkałem na problem. Polega on na tym że korzystając z programu HERCULES i konwertora USB<. RS485 komunikacja z KD5000DT używając tą jedną ramkę jest ok. Ale kiedy używłem ESP8266 pojawił się problem bo używam konwertora UART<>...
Ja chcę odczytywać czujniki temperatury i wilgotności zintegrowane z rs 485 za pomocą domoticza. Te czujniki kupuję na Ali... Na początek mam opanowane odczyty za pomocą kompa+ konwerter USB/RS485. Trzeba poznać specyfikę standardu RS485. To nie jest tak jak w RS232. Ramka ma odpowiednią konstrukcję i zawiera w sobie polecenie odczytu lub zapisu. Można...
Teoretycznie istnieje nieskończenie wiele sposobów liczenia CRC. Trafienie na ten właściwy na podstawie danych z jednej ramki jest bardzo mało prawdopodobne.
a jaki wogóle ma interfejs ten projektor ? rs232 , ttl czy moze rs485 ?
Ustawienia 9600 8N1 długość kabla raczej nie ma znaczenia bo wszystko się dzieje u mnie na biurku ponadto nie mam problemów z odbiorem danych które posyłam do ARM. Podglądnąłem transmisje w programie serial monitor i problem polega na tym że ARM wysyła mi różne długości ramki czasem casem 8 tyle ile trzeba czasem 1,3 bajty Najczęściej odsyła 8 bajtów...
Możesz odłączyć slava i puścić zapytanie będziesz widział czy te śmieci się pojawiają. Jak odłączę slave'a to w ogóle inna ramka jest na RS485 - dziwne.
Uart nie uart - tu trzeba dobrze sygnał przygotować do transmisji. Można się pokusić o pętlę prądową 20mA albo prawdziwe RS232 ( ±12V) tudzież RS485 (para skręcona) Im większe prądy będą płynąć w linii tym odporniejsza będzie na śmieci. Poza tym błędne ramki można zwykłą sumą kontrolną eliminować.
Po 1: Jaki to RS (232, 485)? Jak RS232 to nie da się tego łatwo zrobić. Do wielu nadajników nadaje się np RS485. Ewentualnie zrób sobie 3 programowe "RS" i odbieraj z każdego nadajnika oddzielnie. Po 2: Gdy RS485, to możesz sobie też zrobić prostą ramkę i poza bajtami TH i TL wysyłać adresy nadajników tak aby odbiornik wiedział od którego dostaje dane....
Wykombinować się da, ale to samo masz w notach katalogowych procesora. Jeśli już kiedykolwiek zrobiłeś połączenie po RS232 to połączenie po RS485 w tym przypadku różni się tylko dodaniem adresu slave do ramki.
Do slave napewno pytanie dochodzi bo to sygnalizuje. Sygnalizuje również odpowiedź . Teraz sprawdzam tak: 1) Przed RS485 na MAX485 podglądam co jest na DI i rzeczywiście zgadza się wysłana ramka. 2) Przed RS485 na MAX485 podglądam co jest na RO i tam jest cisza. Narazie w ogsługę w STM nie ma co wnikać bo dane muszą się dopiero pojawić z RS485 na pinie...
O co chcesz się założyć, że masz błąd w programie? Problem w tym, że żeby ci pomóc musiałbyś ten program pokazać. Wywalaj z programu wszystko co niepotrzebne, aż do momentu, kiedy problem zniknie. Wtedy dowiesz się co było nie tak, albo otrzymasz krótki programik demonstrujący problem, a wtedy ktoś będzie ci mógł pomóc. BTW, jeśli nie masz rezystorów...
Rezystor pomiędzy AB to właśnie terminator, powinien być na obu końcach sieci. Oprócz niego potrzebujesz rezystory polaryzujące linie A i B. DE i RE łączysz razem, wszystkie odbiorniki mają je tak wysterowane, aby przełączyć transceiver na odbiór. Tylko nadajnik ma odwrotnie. Swoją droga, wykorzystaj 9-bitowe ramki i jeśli te slavy to mikrokontrolery,...
Co ma znaczyć: "radiem leci RS485"? RS485 to interfejs fizyczny a nie danych. Ramka może mieć dowolną strukturę. Najczęściej taką jak RS232. Czyli nie musisz konwertować na RS485.
Jak chcesz przesyłać dane na takie duże odległości to może RS485. W tym przypadku możesz łączyć więcej niż jedno urządzenie. Musiałabyś niestety zastosować konwerter RS232/RS485 przy każdym nadajniku/odbiorniku. Musisz sobie zaprojektować ramkę danych tak żeby odbiornik wiedział co odbiera (np jakiś bajt startowy) wtedy będziesz w odbiorniku po prostu...
Załóżmy że ramka wygląda tak (bajty): 1.Znacznik początku ramki 2.Do kogo 3.Od kogo 4.Zawartość - 2 bajty 6.CRC Czyli ramka w najlepszym przypadku 6 bajtów (osobiście nie polecam ale liczymy wariant optymistyczny). Takich ramek na sekunde 400. 400*6B = 2400B w najoptymistyczniejszym przypadku. Szybkość powinna być średnia? Szybkość powinna być taka...
Próbowałem z PC poprzez konwerter USB<->RS485 (Modbus to protokół komunikacyjny), regulator odsyłał ramki o nieregularnej długości w ogóle bez związku z dokumentacją. Kilka tygodni walczyłem i nic z tego (różne programy). Prościej moim zdaniem byłoby podpiąć się pod transmisję Bluetooth, wszak działa z apką. Sam Lumiax podaje w dokumentacji że...
Może problemem jest zbyt krótki czas między odbiorem ramki a wysłaniem odpowiedzi?
To co wiem o ramce opisałem w 1 poście. A skąd znam? Odczytałem przez konwerter rs485 i się domyśliłem. Pozdrawiam
1) Moduł pracuje jako serwer i możesz się wbić do niego wydać mu polecenie i odebrać odpowiedź, ale (!) moduł musi być widziany w świecie, więc stosowna konfiguracja routera wymagana. Dokładnie tak jest. Mój moduł ma na sobie lcd i widzę dokładnie jakie IP i na jaki port przysłało mu ramkę. Dodatkowo widzę kiedy moduł jest pingowany ( dioda led) ....
Kolego Rolnik95 jak nie robiłeś nigdy nic na RS485 to ciężko będzie na początek. Pamiętaj że przy RS485 może nadawać maxymalnie jeden kontroler jeśli puścisz z 2 kontrolerów to będziesz miał efekt iloczynu logicznego na drucie. Przy RS485 ważne są też odpowiedzi czyli potwierdzenia otrzymania poprawnej ramki, jest to szczególnie ważne przy dużych odległościach....
Witam. Zbudowałem 2 proste układy w celu przetestowania interface'u RS485. ATmega32 + 3 przyciski + wyświetlacz 7-segmentowy + MAX485. R0 układu MAX485 do RxD, DI do TxD, DE i /RE połączone razem do PB0. Wyjścia A połączone ze sobą, B również, między A i B po obu stronach rezystor 100ohm, z jednej strony rezystory polaryzujące 560ohm. Układ ma działać...
(at)kubamiszkiewicz Do takich rzeczy potrzeba jakiś program do debugowanie ramki i symulacji mastera/slave modbus. Potrzebujesz konwertera RS485/USB i np. programu ModbusViewTCP. Tutaj może być masa nakładających się błędów np. niewłaściwe parametry komunikacyjne, błędnie zarobiony przewód komunikacyjny, zapis/odczyt nieprawidłowych rejestrów ( trzeba...
Tak, chodzi mi o sygnał BREAK. Spotkałem się wiele razy, gdy ten czas wynosił nawet 63us, co robi z takiego urządzenia bezużyteczne. Czy problemem jest za krótki czy za długi sygnał? Na ile sygnał musi być dokładny? Z tego co pamiętam według specyfikacji rs232 sygnał powinien trwać 12 cykli taktowania. Wydaje mi się że im dłuższy tym lepiej, bo urządzenie...
Adresy i linia są ok - jeśli wypnę jeden licznik sieci, z drugiego bez problemu wszystko czytam. Liczniki mają adres 5 i 6. Załączam zdjęcie z poleconego przez Ciebie programu przy obu licznikach wpiętych i odpytywaniu licznika o adresie 5 (drugi licznik ma adres 6). Czy coś Ci to mówi? Na podstawie tego co wkleiłeś coś się sypie z interpretowaniem...
(at)Michalux Dzięki, zapisałem do pliku obie ramki i powoli mi się wszystko układa. Może wreszcie kończy się potrzeba posiadania dodatkowego konwertera na RS485. Wiadome było, że w LSW siedzi modbus tylko nie było wiadomo jak się do niego dobrać. Ja mam moduł po kablu eth (programowo jest to samo).
Czy ktoś sprawdzał jakie jest prawdopodobieństwo uszkodzenia tych driverów gdy notorycznie będzie dochodzić do kolizji?. Sieć chciałem rozwiązać tak aby każdy sobie gadał jak chce, utrata ramki mnie nie zaboli.
Cześć. Mam sterownik 971c. Śledzę ten temat od dłuższego czasu i widzę, że poszedł bardzo do przodu. Czy ktoś mógłby w prosty sposób opisać jak wyliczyć sumę kontrolną z ramki? W opisie protokołu c14 jest tak: "Suma kontrolna: liczona jako suma wszystkich bajtów w ramce oprócz bajtu 2 przycięta do 7 bitów (SUMA BAJTÓW)&0x7F".
można na miliony sposobów ja użyłem akurat narazie na moje potrzeby najprostszego chyba ;) ... zliczam sumę XOR wszystkich po kolei bajtów w ramce i jako ostatni bajt leci ta suma. W odbiorniku robi się sytuację odwrotną też przez XOR i wynik musi się zgadzać z ostatnim bajtem pozdr
Potrzebujesz tylko MAX485, żeby podpiąć się pod RS485. Na wyjściu max-a masz już poziomy TTL więc możesz się podpiąć pod jakiś mikrokontroler, a jeśli zastosujesz dodatkowo konwerter na RS232, to możesz podpiąć się pod port rs-a PC-ta. Reszta to już tylko i wyłącznie program, czyli żeby móc coś odebrć/wysłać do urządzenia musisz umieć obsługiwać port...
(at)krzysiek_krm jak widzę, łatwo Ci przychodzi ocenianie i pouczanie innych. Zawsze to ciekawe doświadczenie :) Miło, że zauważyłeś możliwość zdalnego uaktualniania oprogramowania. Czuję się pouczony. Cały czas piszę, że dla aplikacji nie krytycznych dla bezpieczeństwa a wymagających przesyłania większej ilości danych, CAN jest rozwiązaniem słabym....
to jest odwieczny problem tego typu skąd inąd bardzo dobrej komunikacji RS485. Sam ją używałem i sam pisałem sobie własny protokół komunikacji typu Master/Slave. Jak się to dobrze przemyśli - działania w oparciu o własne ramki danych, przekazaywanie ew tzw TOKENa itp to naprawdę nie ma problemów aby spokojnie działać na tej magistrali. Oczywiście można...
Nie wiem po co się upierać przy takich rozwiązaniach, skoro producent udostępnia tryb MPCM, który rozwiązuje problemy. I w uśpieniu analizuje ramkę i 9 bit?
Miałem na myśli połączenie ze sobą dwóch portów, żeby przeczytać to co się wysyła. Ramkę ująłeś w apostrofy ' ? Jeśli bez to, muszą być dwa \\ Nie wiem czy tutaj zaglądałeś? [url=https://www.elektroda.pl/rtvforum/t... próżniowy ze sterownikiem SOLARCOMP 951 - transmisja szeregowa RS485
BlueDraco nie mówię, że ma być zero - nawet przy założeniu, że wszystko poniżej 0,5V to PWM = 0% układ nie działał poprawnie. Chodzi mi bardziej o zwrócenie uwagi, że coś, co sprawdzało się X razy przy założeniach Y, może nie zadziałać, gdy zmienimy założenia. Co do C - tak, tylko assembler - bo mamy pełną kontrolę nad każdym taktem procesora i pełną...
Udało się, ale połowicznie. W treści instrukcji są podane tylko 2 ramki zapytań. Pierwsza odczytuje rejestry ze stanem licznika i to działa bez zarzutu. Druga ramka przeznaczona do zmiany adresu licznika w sieci RS485 niestety nie zadziałała mi. Na razie nie wiem dlaczego.
Może mi ktoś podpowiedzieć jaki jest najtańszy element automatyki z interfejsem Modbus RTU? Wiem że można to zasymulować na arduino, ale to co innego niż gotowe pudełko. Chciałbym mieć coś prostego na czym będę mógł przetestować wysłanie ramki i odebranie. Jak są jakieś tanie interfejsy RS485 pod USB aby można było się do tego modbus odezwać przez oprogramowanie...
To połączenie do PC będzie tylko na czas testowania, docelowo chciałby sterować to mikrokontrolerem, dlatego potrzebuję ramkę.
Może przez moduł RXM-01 zamela (exta free - modbus - rs485)? Domoticz obsługuje protokół rs485, wystarczy tylko odpowiednio puścić ramkę z informacjami zgodnymi z instrukcją (załączoną do posta).
Witam, borykam się z następującym problemem: mam dwa urządzenia które chcę skomunikować po protokole modbus RTU: master- sterownik (RS485)i przystawkę komunikacyjną do pieca(RS232), oba urządzenia po wpięciu do komputera (sterownik poprzez konwerter RS485/RS232), i nasłuchu ramek wychodzi na to że, komputer którym potrafię odczytać dane z przystawki...
Witam, Sterowniki Hewalexa stosowane do kontroli pompy ciepła lub kolektorów słonecznych mają port RS485. Czy ktoś zna ramkę zapytania o aktualne parametry ( temperatura, praca/stop ...) Chciałbym zintegrować to z właśnym sterownikiem i mieć zdalny podgląd.
Chodzi o zabezpieczenie przed nadawaniem kiedy już inny SLAVE jest w trakcie wysyłania odpowiedzi no chyba, że do takiej sytuacji przy tej komunikacji nie dochodzi (RS485)
(at)mati.pca Pobierasz dowolny symulator modbusa (master) i odpytujesz odpowiednie adresy. Kwestia czy masz konwerter RS485/USB? Zapytam, jaką wartość napięcia zwraca ramka?
Są zrealizowane w funkcji send_charUSART1 jako oczekiwanie na flage. Jeżeli masz możliowść podpięcia tego maxa do komputera poprzez jakiś konwerter to sprawdź czy cała ramka ramka dochodzi. Ja zwykle steruję RS485 poprzez włączenie sygnału na początku transmisji, a na jej końcu go wyłączam u Ciebie w ostatnim listingu jest na odwrót... rozumiem, że...
Przeglądałem jeszcze raz dokumentacje i w jednej z dokumentacji było nieco więcej opisu i okazauje się że czytnik z moją wersją modułu zaislania - type1 Opto - isolated nie ma protokołu CCNET (który ja uslinie testuję) tylko inny: CCFL BDP. Wracam więc do połączenia z Pololu, i przygotowuje testowe ramki z opisu protokołu CCFL BDP.
1)linia A przez rezystor do VCC, B przez rezystor do GND Proponuj ten sposób. W EP 6/2003 jest opis konwertera RS232<->RS485 wykorzystująsy to podłączenie. Mam go przetestowany i napewno dziala. Jeżeli chodzi o występowanie w tym przypadku stanu wysokiego to jest raczej przydatne. Jeżeli przeanalizujesz ramkę danych w RS232 to zobaczysz że stanem...
Sterownik PLC stracił komunikację po RS485/MODBUS. Sterownik jest w trybie MASTER. Podejrzewam uszkodzenie portu RS485 w sterowniku. Sterownik wystawia ramki, ale nie daje się ich zdekodować prawidłowo (a wcześniej to robiłem). Przebiegi widoczne na oscyloskopie są nieco zaśmiecone. Jak sądzicie, uszkodzony jest RS485 w sterowniku ? Czy może być inna...
Czyli do wysyłania całych tych pakietów zastosować tylko uart? Tylko z inna konfiguracja przy ramce break?
A czy na pewno Modbus RTU idzie po Ethernecie -Modbus TCP/IP. RTU masz po RS485 i do tego jest mnóstwo programów
Witam 1.Opis problemu. Mam całą masę urządzeń ( około 20 ), mierniki, karty I/O, obrotnice, termostary itp. Trzeba to wszystko podpiąć do komputera PC (USB,Rs232,LPT,LAN) i komunikować się z nimi odbierając i wysyłając odpowiednie ramki danych. 1.1.Katy I/O są w rs485 i mam do nich protokół 1.2 obrotnice są w rs485 i też jest podany protkół 1.3 reszta...
Czy udaje się zapisać przez Modbus w ogóle jakikolwiek rejestr w tym falowniku? Można prosić o przykładową ramkę? (kompletną łącznie z CRC dokładnie tak jak wysyłana po RS485 najlepiej podsłuchana z kabla - bo może jakiś błąd w kodzie użytej biblioteki, że funkcje odczytu działają ale zapisu nie) Znalazłem jakiś dokument "SOFAR-G3 External Modbus Protocol-Engilsh-V1.09...
Kod Zamel nie jest otwarty, zatem podanie struktury ramki byłoby nielegalne. Natomiast zbadać ją możesz przy pomocy programu Audacity przez wejście dźwiękowe w karcie muzycznej(moduły Hope HM-R868 i HM-T868). Legalnym sposobem komunikacji z ROP'ami jest zakup modułu RXM-01 i wysyłanie danych przez RS485 MODBUS. Opis ramki dostępny jest na stronie Zamela....
To urządzenie to będzie taki sterownik. W sumie ma być ich więcej podłączonych do kompa. Chce je łączyć przez rs485. Zależy mi na poprawności przesyłu danych.
Miałem podobną sytuację niedawno jak budowałem komunikacje pomiędzy sterownikiem i układem wykonawczym na RS485. Problem obiawiał się tym, że jedno z urządzeń nadmiarowo dostawało dodatkowe bajty z ramką, pomimo tego że ramka była prawidłowo transmitowana. W moim przypadku wymiana maxa485 załatwiła sprawę.
Bloczki MB z Siemens'a "załatwiają" komunikację, czyli to co Lumel opisuje jako ramki, w tym liczenie i sprawdzanie CRC. Ciebie interesuje tylko podanie rejestrów, które chcesz przeczytać lub zapisać i tyle. Najpierw, jednorazowo powinieneś wywołać MB_COMM_LOAD i w nim ustawić parametry transmisji, a następnie, cyklicznie MB_MASTER (MD_ADDR to adres...
Ten dokument z PNO to straszny bełkot Raczej się nie wczytywałem, ale jakiś format ramki jest podany. Łącznie ze znacznikami początku i końca. Zamiast oscyloskopem, podsłuchałbym linię RS485 i powinno być widać ramki w postaci bajtów. Natomiast dane wewnątrz ramki to już inna bajka, ale podejrzewam, że będą pasować do formatu podanego w pliku GSD....
No a jaki masz status komunikacji? Czy masz błędy czy nie? Może masz zamienione przewody A-B (rs485). Jeśli masz jakiś PLC z modbusem i RS485 to możesz na nim spróbować czy odpowiada i czy wartości na panelu są <> od 0. Ewentualnie jakiś modbus slave (programowy na komputerze - znajdziesz na modbus.org) i sprawdzenie co pojawia się na panelu....
No raczej tak będzie. Najpierw musiałbyś wysłać jakąś ramkę żeby dostać coś z powrotem.
konfiguracja kontrolera polega na tym, że do kilku(nastu) rejestrów wpisujesz odpowiednie dla siebie wartości, ustawiasz rozmiar buforów, adres MAC etc. W tym module kontroler jest widoczny w przestrzeni pamięci pod 32 adresami zaczynając od 0xFF00, więc dostęp do rejestrów jest skrajnie prosty. Komunikacja z tym układem nie jest skomplikowana, z początku...
RS485 to standart transmisji danych asynchronicznych. Ramka a takze protokolu jest IDENTYCZNY z RS232. Roznia sie jedynie warstwa sprzetowa (rs232 interfejs napieciowy asymetryczny rs485 symetryczny) Dzieki temu mozna: 1.Prosto konwertowac rs232<>rs485 2.Laczyc KILKA urzadzen do magistrali rs485 bo tylko sie zaklucaja a mozna wykrywac kolizje...
hej! na początek ja bym radził ściągnąć z http://www.rs485.com/ jakiś terminal i w ten sposób spróbować się dogadać z czujnikami, pisałeś coś że masz jakiś opis ramki a dopiero potem poprogramować samemu
Cześć, mam do uruchomienia urządzenie, które działa po RS485 z dość niewdzięczną ramką danych: 7 bit, 2 bity stopy oraz jeden bit parzystości. Bez problemu komunikuję się z urządzeniem gdy jest ono podłączone do komputera przez przejściówkę RS485/USB i ręcznie wpisuję polecenia (np. wysłanie komendy drukuj to wysłanie czterech bajtów: 0x16 0x1A 0x05...
Chciałbym użyć dużej prędkości - rzędu 115 200 bo mam dużo danych i zależy mi na dużej szybkosci odczytu.. I tu mam wątpliwość, czy oby ta prędkośc nie jest zbyt duża. Podstawą jest terminacja linii. W dalszej kolejności odpowiednie rezystory podciągające oraz odpowiednio dobrany kabel. W rs485 mamy prądową transmisję danych, więc jakie zjawiska fizyczne...
Ja na skrętce CAT5E kiedyś testowałem prędkość 1Mbps na odległości 400m. Działało przy błędach ramek kilka % (ramki ponad 20B). Oczywiście przy RS485. Docelowo tą samą skrętka leciało zasilanie 12V. Tu jednak skrętka nie była taka dobra bo spadki napięcia były duże. No ale to 400m i kabel kiepski (stalowy miedziowany :D). Normalny kabel, i na zaledwie...
Chciałem w ramach nauki napisać mały program do sterowania ruchem kamery PTZ z interfejsem sieciowym. Producent podaje, że sprzęt wspiera protokoły DH-SD, Pelco-P/D. Nie jest to problem wysłać takie ramki przez interfejs szeregowy np RS485. Jak to zrobić przez sieć? Przypuszczam, że w kamerze jest uruchomiony jakiś serwer TCP/IP, który nasłuchuje i...
Cześć, Próbowałem użyć tego rozwiązania do odczytu informacji ze sterownika na adresie modbus 1 19200 8n1 podłączonym do VEMOS d1 mini poprzez Max485. Używam pinów TX RX do komunkacji oraz D2 (GIPO4) do DE/RE, Komunikacja fizycznie sprawdzona czytałem zmienne ze sterownika używając VEMOS jako Modbus Master. Podłączony jestem oscyloskopem do komunikacji...
Robiłem kiedyś sterowanie falownikiem Apatora przez rs485 i sam pisałem aplikacje w Visual Basic. Z kompa było można sterować trzema wentylatorami (trzy falowniki połączone w sieć po rs485) Myślę że z Siemensem można też to zrobić równie łatwo o ile w dtr-ce masz podane ramki danych. Nie wiem czy takie rozwiązanie Cię zainteresuje ale jak coś to mogę...
Ja polecam do przesyłu danych liczbowych kod ASCII - niby masz więcej znaków na jedną daną, ale za to wtedy np. Początek ramki kodujesz znakiem nie używanym w transmisji (np. 27=ESC).
ad 1. Kup sobie stykówkę i włóż w nią m8 i transceiver rs485, prościej się nie da :) ad 2. Przykłady trybu MPCM mam w darmowych przykładach w linku z mojej stopki. Schemat połączeń w trybie MPCM jest taki sam jak w każdym innym, ten tryb wpływa tylko na sposób interpretacji ramki, a nie na warstwę sprzętową.
char dane[13] = {0x1B,'1','w','a','1','0','1','0','1','0... taką przykładową ramkę wyślij
Powinieneś iść w stronę nadajnika różnicowego czyli np. RS485. Jeżeli masz sporo zakłóceń to powinieneś wysyłać ramki z bitowo zakodowanym stanem poszczególnych klawiszy zabezpieczone CRC i potwierdzeniem z odbiornika. Program do mikrokontrolerów będzie bardzo prosty.
Jak będziesz miał jakieś ciekawe wyniki to daj znać - również się interesuję tym tematem. Swoją realizację prawdopodobnie oprę na rs485, z własnym protokołem. Własny format ramki itp. Arbitraż czy jak to się tam zwie ;) nie wiem jeszcze jak zrealizować. W każdym razie będzie to multimaster. Jedna uwaga - planuję zrobić coś takiego,(inne nic w i2c) że...
Ma ktoś jakieś pomysły jak to przeskoczyć? Zainstalować najnowszą wersje BASCOM'a (2.0.7.6.001) :). Tak z ciekawości uruchomiłem program na swoim zestawie, dane odbierał terminal. Za pierwszym razem skompilowałem program wersją 2.0.7.5.003, program wysyłał jedną ramkę (printbin) i stanął. Przy drugiej próbie użyłem BASCOM'a 2.0.7.6.001 i ramki zostały...
Cześć Ekipa ! Taką mam zagadkę od kilku dni. Urządzenie to tzw. BMS, czyli taki nadzór nad ładowaniem pakietu akumulatorków. Jest to chińczyk, zwie się ANT BMS, link do producenta : https://mayibms.com/ One wychodzą w kilku wersjach komunikacji - CAN, RS485, UART (raczej dedykowany do modułu wyświetlacza). Na płytce przy złączu jest opis "B A - +" co...
A ja bym raczej radził RS485. Całą transmisją obsługuje UART, który znakomicie filtruje zakłócenia, pilnuje formatu ramki, informuje o błędach. Ani SPI ani I2C nie posiada takiej funkcjonalności. Poza tym RS485 jest różnicowy, jest więc z definicji odporniejszy na wszelakie zakłócenia. Przy długości ścieżek rzędu 1m mógłbyś przesyłać dane z prędkością...
Trzeba to zrobić ręcznie (albo przez jakiegoś PLC, albo z poziomu PC'ta) wysyłając ramkę w formacie MODBUS.
Czyli użyłeś transceiverów CAN ze zwykłym U(S)ART-em i po stronie MCU coś na zasadzie software-CANa? :) Dokładnie, choć budowa ramki miała niewiele z CAN-em wspólnego.
Mam Modbusa RTU po rs485, po stronie slave atmega328, po stronie master 2560, ramka 16 rejestrów uint16_t, przy predkosci 115200 udało mi się osiągnąć 20 odpowiedzi na sekundę, powyżej już są timeouty. Pozdr
rs485 długość ramki rs485 format ramki ramki samsung
poduszki tasma czcionka chrome zamek aster otworzyć
czujnik temperatury czujnik temperatury
Projektor YH300 - Czy posiada funkcję WLAN? Symbol układu zapłonnikowego w stroboskopie IFK120