Witam! Usilnie próbuje opracowąć protokół komunikacji miedzy wieloma węzłami w sieci RS485 multimaster. Ramka wyglada tak: 1 bajt - długosć ramki 2 bajty - adres odbiorcy (word) 2 bajty - adres nadawcy (word) x bajtów - dane właściwie 1 bajt suma kontrolna z wszystkich poprzednich Transmisja odbywa się na prędkosci 19200bps przy użyciu transcieverów...
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...
Witam. Mam taki problem, gdyż chciałbym ogarnąć komunikację poprzez UART między dwoma mikro. Mam dwa uC: Atmegę 16, która działa jako master oraz Atmegę 88 jako Slave (na której będzie termometr, z którego będę odczytywał dane). Programy, definicje wyglądają następująco: plik RS485.h #indef RS_INT_H #define RS_INT_H //rozmiar buforów nadawania i odbierania...
Witam. Mam problem z protokołem MODBUS RTU na ATMega644, który błędnie interpretuje mi ramki. Kod w BASCOM wygląda następująco: a właściwie nie komunikuje się) się z urządzeniem zewnętrznym przy pomocy MODBUS'a. Chciałbym to zrobić wykorzystując MODBUS RTU (teoretycznie zostaje mi jeszcze ASCII),a do zestawu mam podpięty jeszcze skaner nasłuchujący...
Na jednej szynie danych (o takiej mowa skoro mogą się pojawiać kolizje) i tak nie uzyskasz trybu full-duplex. Według mnie lepiej zastanowić się nad samym protokołem, aby wyeliminować w znaczącym stopniu kolizje oraz zapewnić jakiś prosty sposób retransmisji danych - najprostrzy to narzuta 2 bitów na pakiet danych - jeden zmieniany w każdym kolejnym...
Zaprojektowałem układ, którego zadaniem jest rejestrowanie danych przesyłanych po magistrali RS485. Układ gromadzi te dane w pamięci, które potem ewentulanie poprzez RS232 mogą zostać przesłane do PeCeta. Nie jestem do końca przekonany co do niektórych rozwiązań jakie w tym układzie zostosowałem i prosiłbym o opinie na ich temat, ewentualnie radę jakby...
Mam odbiornik MAX485 podłączony pod Atmegę16. Stany poczatkowe: -ustawione przerwanie na odbiór UARTa - stan niski na DE/RE w odbiorniku Max 485 - Max 485 na RO,DI stan wysoki ( równierz Atmega RxD) !!? Wysyłam dane: (z odbiornika wychodzą prawidłowo 0 i 1) - Wchodzę w przerwanie i klapa. - same zera. Pytanie brzmi: co jest źle? Jak procesor orientuje...
Witam Mam taki problem... Otóż, próbuję "podejrzeć" transmisję RS485 pomiędzy modułami pewnego systemu. Jest to centralka + panel dotykowy LCD + moduły sterujące oświetleniem (ściemniacze). Całość jest już dość wiekowa (ok 2000 roku), oparta na PIC 17C42. Transmisja jest zrobiona standardowo , na USART + SP483. Czyli normalne RS485. Ale, nie znam ani...
Jeśli faktycznie posiada interfejs RS485, to pozwoli mi to na integrację z moim małym PV oraz lepszym zarządzaniem tymże. Tu co prawda nieco zmartwiła mnie jedna z opinii użytkowników tego licznika jakoby nie posiadał on Modbus Zamierzasz sprawdzić, czy komunikacja działa dopiero po zainstalowaniu licznika w docelowej lokalizacji? Bo fakt, że warstwa...
Tak jak napisałem wcześniej ewentualne błędy nie są dla mnie problemem, planuję kontrolę parzystośći i 16-bitową sumę kontrolną crc oraz kontrolę logiczną przesyłanych danych na poziomie warstwy aplikacji. Gdyby nie pobór prądu mógłbym nawet w ciemno wysyłać dane narażając na kolizję. Sprawę kolizji da się skutecznie załatwić w sposób trogramowy, a...
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...
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ę.
Dziękuję koledzy za odzew. Postatram się dzisiaj zebrać wszystko do kupy i zmodyfikować schemat i projekt. Na razie odpowiem jedynie na ostatnie pytanie. Wszystkie WA1 są ustawione jako odbiorniki. CJP1 używa przejściówki UART/USB która za pomocą MAX485 jest wpięta w sieć RS485. To właśnie ta przejściówka steruje kierunkiem owego MAX485 - gdy nadaje...
Jeśli mogę doradzić coś to: używałem B1 + rs485 + wejścia/wyjścia analogowe + soft w visual C# odczytujący rejestry PLC oraz dwa wejścia analogowe ( razem około 37 bajtów danych ). Miałem przejściówkę RS485 z allegro, ale był problem i co jakiś czas wywalało błąd (w transmisji przychodziły śmieci). Ktoś tutaj polecił mi konwertery MOXA - kupiłem zwykły...
Jest to podobnie rozwiązane jak w CAN ? Podobne. Bo ogólnie nie rozumiem czy różni się CAN od rs485. Dużo by pisać dlatego trzeba poczytać w sieci, tak w wielkim skrócie: - Standard CAN definiuje zapewnia adresowanie, CRC, powtarzanie ramek. Elektrycznie magistrala umożliwia równoczesne nadawanie przez kilka urządzeń na zasadzie podobnej do I2C. -...
Czy tak może to wyglądać? Sprawdź sobie No to chyba jest ok. W poniedziałek przyjdzie przejściówka do rs485 to zobaczę czy mi ten sterownik odpowiada. Z poziomu linuksa działało to chyba będzie ok. Dodano po 2 to chyba lepiej Serial.write("T"); Można i w ten sposób. Będzie czytelniej :) A jeszcze lepiej będzie zdefiniować jakieś "ludzkie" nazwy, za...
Witam zaimplementowałem protokół Modbus i wykonałem 1 urządzenie master i Slave na mikroprocesorach ATMEGA32. Podczas komunikacji przez rs485 slave nie odbiera poprawnej odpowiedzi. W masterze gdy przechodzę na wysyłanie ramki to ustawiam "1" do bitu sterowania układam rs485 a gdy przechodzę do odbioru to ustawiam "0". Jezeli ustawię na stałe "1" do...
Zastępczy rezystor można eksperymentalnie dobrać, wygląda że timer musi generowac czas ponad 100µs, pracuje w trybie retrygerowalnym. Dla 9600 generuje co bit, a dla 115KB musi się "zmieścić w timerze" cała ramka. Rzeczywiście, w stanie normalnym na tych szynach pomocniczych RSa są napięcia ujemne, ale jak Ty chcesz z nich zrobić dodatnie to nie...
No cóż - każdy początkujący ma problem z transmisją RS485. Nie dlatego, że nie rozumie transmisji. Dlatego, że pojawiają się różne stany związane z konkretnym zachowaniem się układów. Problemy te można zdefiniować dopiero po szczegółowej analizie oscyloskopowej stanów linii transmisyjnych i linii TxD i RxD. Spróbuję pomóc, ale nie wiem, czy będziesz...
Cześć, mam Foxess T10, ale to jest co do zasady to samo. Z informacji od serwisu wynikało by, że idą tam pakiety danych które idą potem do chmury. W moim przypadku odbieram w kółko pakiety 02 04 00 00 00 06 70 3B. Idzie około 580 takich pakietów na minutę. Z analizatora modbus wynika, że to zapytanie do urządzenia o adresie 0x02 i odczyt 2 bajtów od...
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...
Witam, ja do różnych własnych systemików używałem ukladow max485, który jest de facto translatorem sygnalow cyfrowych 0-5 V na poziomy standardu rs485. Scalak maxima w tamtym czasie (nie sledze teraz tej problematyki) pozwalal na podłączenie do magistrali bodajze 32 urzadzen, a niektore wersje bodajze do 128. W związku z tym z elektrycznego punktu widzenia...
Witam. Jestem w trakcie testowania zaprojektowanego przeze mnie systemu składającego się z 15-tu urządzeń komunikujących się po RS485. Urządzenia połączone są skrętką UTP, poza komunikacją kabel służy do zasilania urządzeń (pozostałe 3 pary skrętki połączone są równolegle i zasilają cały system). Każde urządzenie posiada 2 złącza RJ45: od poprzedniego...
Projektuję układ do sterowania oświetleniem LED. Projekt składać się będzie z mastera podłączonego do PC i kilkudziesięciu / kilkuset slave'ów połączonych kaskadowo. Każdy slave będzie jednocześnie elektrycznym repeaterem RS485. W tym celu przygotowałem schemat jak poniżej. 74hc14 jest tu shaperem sygnału. Ramki logiczne będą wędrować od mastera do...
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.
Trochę o teorii i o zastosowaniu jest np na diody led oczywiście zbędne (sygnalizacja pracy). Sterowanie kierunkiem odbywa się przez piny 2 i 3. Tego w sumie nie widać po schemacie ale pin 2 sterujący odczytem jest aktywny w stanie niskim, a pin 3 sterujący nadawaniem jest aktywny w stanie wysokim. Zwykło się łączyć te linie i wtedy odpowiednio stan...
Witam! Koledzy mam taki problem - muszę połączyć przetwornik wagowy z wyjściem RS-485 do sterownika PLC (OMRON CP1L_EM z interfejsem RS-485 CIF-11). Wg instrukcji przetwornika pracuje on zawsze w trybie Slave wg protokółu Modbus-RTU. Niestety, mimo kilkudniowych prób i stosowania wszelkich możliwych kombinacji nie udało mi się uzyskać łączności. Próbowałem...
Witam szanowne grono! Jak można zauważyć zajmuję się Inteligentnymi Domami. Dzisiaj mój mózg eksplodował. Sprawa rozbija się o sterowanie, a raczej podbieranie danych z piecy Vanillant. Po przekopaniu internetu trafiłem na rosyjskojęzyczną stronę: potem przeskoczyłem na: i już się nawet podjarałem, że zrobienie prostego układu załatwi sprawę ale RS-232...
Witam! Usilnie próbuje opracowąć protokół komunikacji miedzy wieloma węzłami w sieci RS485 multimaster. Węzły zbudowane są za pomocą AtMega8. Ramka wyglada tak: 1 bajt - długosć ramki 2 bajty - adres odbiorcy (word) 2 bajty - adres nadawcy (word) x bajtów - dane właściwie 1 bajt suma kontrolna z wszystkich poprzednich Transmisja odbywa się na prędkosci...
Witam, ja właśnie uporałem się z pierwszą częścią takiego zagadnienia o jakie pytasz ;) ... tzn mam ATTiny2313 i komunikacja z PC, za niedługo dojdą kolejne "klocki" ... u mnie ATTiny2313 mierzy temp na 3 czujnikach DS18B20, steruje 2 przekaźnikami na 220V, ma 2 wejścia z optoizolatorami do załączania różnych sygnałów i wykorzytuję komparator do badania...
Dwa dławiki o jednakowej indukcyjności należy włączyć szeregowo na obu przewodach magistrali RS-485. Zadaniem dławików jest zwiększenie czasu narastania zboczy cyfrowych. Pierwsze pytanie - niestety, trzeba poeksperymentować. Z jednej strony nie może być to wartość zbyt niska (nie wyeliminuje zakłóceń), z drugiej nie może być zbyt wysoka, ponieważ wystąpią...
Chociażby No to tak. Urządzenia podesłane przez Ciebie działają PERFEKCYJNIE! Kilka uwag/ciekawostek dla innych: 1. Tylko od strony SLAVE konieczny jest statyczny i publiczny adres IP oraz przekierowanie portów na routerze jeśli takowy jest. 2. Od strony MASTERA nie jest wymagany statyczny adres IP. PLC, który testowałem jest podłączony do konwertera...
Witam, napotkałem bardzo czasochłonny problem w przypadku konfiguracji sterownika PLC Horner Serii Xle dla falownika 1f CIMR V1000 . Konfiguracje sterownika wykonuje w środowisku Cscape . Projekt zakłada, że sterownik jest połączony poprzez komunikącję Modbus RTU poprzez RS485 do portu Mj2 sterownika. Sterownik jako Master, falownik jako Slave. Problem...
Witam. Mam małe pytanie, chciałbym sterować kartami przekaźnikowymi przez PHP (www) Karty które mam to są klony KITu [url=]AVT5217, pracuja na RS485 spięte są za pomocą KITu [url=]ATV530 + kabel USB->RS232 (PL2303) W tej chwili steruję kartami przez różne skrypty [syntax=bash] #!/bin/bash stty -F /dev/ttyUSB0 raw speed 4800 echo -ne "AABC\r" > /dev/ttyUSB0;...
One to tylko konwertery więc im wszystko jedno skąd, gdzie i co ślą. Nie przypuszczam, żeby przez Ethernet przesyłało się tylko to, co przez RS232 - są chociażby jakieś ramki protokołu IP, i dane dla RS232 muszą być jakoś w nie zapakowane - kwestia, czy jest standard sposobu pakowania danych do ramek, do którego stosuje się wielu producentów takich...
Witam, mam problem z odczytem danych po RS485 z miernika LUMEL ND08. Docelowo chciałem to zrobić jak odczyt przez Atmega w Bascomie lub przez przejściówkę USB-RS485 w Delphi. Niestety mam z tym problem i nie wiem co do końca źle robię a przetestowałem już komunikację po RS485 między Atmega32 a terminalem V1.9 i to mi działa w obie strony. Na początek...
Czy jest potrzebna jakaś kontrola (synchronizacja) czasu przełączania się Tx/Rx poszczególnych par urządzeń? Jeżeli protokół komunikacji jest dobrze "napisany" i zaimplementowany to nie trzeba nic synchronizować, jeżeli tak nie będzie, to będą problemy (np: odpowiedź od slave'a może nadejść za późno i wtedy jak master w tym czasie "zajmie" magistralę...
Hej, dzięki za podpowiedzi :> Czujnik kierunku wiatru już ogarnięty - udało mi się wysłać i odebrać ramkę (okazało się że czujnik działa tylko z prędkością 4800 wszystko co testowałem z 9600 nie przechodziło ) Teraz miernik energii - doczytałem o co chodzi z ramką i crc teraz tylko j.w. muszę zaimplementować funkcję do jej liczenia i zobaczymy czy uda...
Witam. Mam problem. Piszę program obsługujący czujniki ( chodzą pod rs485 ) podłączone do kompa przez przelotkę RS232/RS485. Mam określoną ramkę i parametry transmisji : 115200 bodów,8 bitów, 1 bit stopu, bez parz. ADRES , ROZKAZ , ILOSC_DANYCH , DANE , SUMA_MOD256 I teraz czy można wyciągnąć dane z nich za pomocą bardzo prymitywnego programiku z wykorzystaniem...
Pomiary zużycia prądu elektrycznego w mieszkaniach opierają swoje poprawne działanie na różnicowej transmisji dalekiego zasięgu realizowanej poprzez wykorzystanie sieci w standardzie TIA/EIA-485 nazywanej popularnie RS-485. W celu zabezpieczenia się przed występującymi przy takiej odległości transmisji różnicami potencjałów pomiędzy poszczególnymi węzłami...
Jeśli chcesz stabilnej komunikacji na 433MHz bezpośrednio z portu, sprzętowego RS232 to najtańszy moduł z buforem, sterowany komendami AT, to HC-11. Jeśli to mają być moduły za 5zł musisz kupić dwie pary, opracować protokół transmisji lub skorzystać z gotowego np X 10 RT. Muszą być dwie pary bo jeśli korekcja wykryje błąd ramki to odbiornik wyśle rozkaz...
Mama taki temat - po RS485 odczytuje dane z miernika parametrów sieci - na ten moment zrobiłem to w PC i wszystko działa ładnie. Teraz chciałbym to samo zrobić w Bascomie z wykorzystaniem modbus.lbx ale zupełnie nie wiem czy w ogóle można tą bibliotekę do tego wykorzystać? Nie znalazłem nic podobnego w sieci. Ramka zapytania / odpowiedzi miernika wygląda...
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...
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.
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. Potrzebuję połączyć komputer (laptop, tylko port USB) z kilkoma urządzeniami za pomocą RS485, w tym celu planuję kupić konwerter USB -->RS485 np taki: w związku z tym mam kilka pytań: 1) Wykorzystując RS485 w dwóch kierunkach konieczne jest przełączanie układów między trybem nasłucha a nadawania. Czy ta przejściówka po wysłaniu ramki danych automatycznie...
Dziekuję za wszystkie dotąd udzielone mi porady. Jeśli chodzi o transmisję binarną printbin, inputbin to próbowałem wyszło super przede wszystkim zmniejsza liczbę byte ramki chodzi mi o to, że gdy wysyłam parametr do pwm np. 255 to używam 3 znaków ASCII czyli 3 byte a binarnie wyśle byte 255 i to tyle ale w transmisji nie mogłem korzystać z przerwania...
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...
Zauważ, że zastosowanie np. czterech masterów w sieci spowoduje, że każda z czujek będzie musiała być odpytana osobno przez każdy z masterów. BARDZO dużo nadmiarowego ruchu w sieci (o ile oczywiście stworzyłbyś przedtym sieć wielomasterową). Dla jednago mastera i wielu slave-ów problem jest znacznie! prostszy. O ile tylko znasz format ModBusa, to wiesz,...
Bezproblemowo, pod warunkiem, że wprowadzisz jakiś mechanizm wykrywania kolizji gdy dwa moduły (lub więcej) w tym samym czasie próbują przejąć magistralę. Problem jest wtedy dość duży, bo na moment na liniach pojawia się śmietnik w postaci nałożonych na siebie danych: a. logiczny - zafałszowanie poszczególnych bitów b. czasowy - przesunięcie danych...
sugeruje odbierać dane na przerwaniu od uart'a. i ustawiać flagę dla głównej pętli iż ten odbiór się zakończył ( po odebraniu określonej ilości bajtów i znacznika końca lini). wtedy z głównej pętli skoczyć do podprogramu wysyłającego (w najprostszej postaci PRINT) jeden z moich systemów odpytuje tak 17 urządzeń, urządzenia slave sprawdzają ramkę przychodząca...
Jak na razie wszystko działa, a jest podłączone w sumie 5 urządzeń (1 serwer + 4 moduły). Od czasu do czasu zdarzają się błędy, na szczęście mogę je zignorować. Jedyne co planuję to dodanie jeszcze ramek potwierdzających otrzymanie poprawnej ramki. Miałoby to działać w taki sposób: 1. Urządzenie A (nadawcze) wysyła ramkę do urządzenia B (odbiorcze)....
Witam! Posiadam następujący konwerter, próbowałem już pracy w trybie portu COM oraz TCP, zbudowałem urządzenie slave w protokole modbus. Parametry transmisji (57600, Even, 7bit, 1bit stop), przejście na 9600 nic nie daje). Lokalnie, to jest na kablu RS232 urządzenie działa, dostaję poprawną odpowiedź, którą mogę wyświetlić w terminalu. Gdy podłączę...
Jeśli chcesz dogadać się z tym falownikiem (obsługuje protokół Toshiba i MODBUS) to z poziomu sterownika Mitsubishi musisz wykorzystywać te protokoły. Nie znam GXDevelopera dla Mitsubishi i nie wiem czy ma gotowe bloki do obsługi protokołu MODBUS, jeśli ma to musisz zobaczyć w dokumentacji jak ich używać. Jeśli masz opis protokołu Toshiba to możesz...
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 : 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 w pierwszej chwili...
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ę...
Prezegladnalem kilka postow dotyczacych rs485 ale rozwiazania nie znalazlem. Moj uklad to PC z przejsciowka do rs485 i dwa atmega 32. Kiedy podlacze jeden slave uklad smiga bez problemow lecz kiedy podlacze drugi slave komunikacja siada ( nic nie gada w zadna strone). Dodam ze ramka zawiera numer slave i odpowiada tylko jeden ( sprawdzalem z jednym...
Proponuję wybierz ATMEGA32 i wyżej.Jeśli będziesz implementował Modbusa RTU konieczny jest menadżer czasu kontroli kolejno odebranych znaków oraz ramek.Możesz to zrobić korzystając z przerwania od jedego z timerów.Co do połączenia 2 układów to pozostaw to sobie na koniec,najpier postaraj się zrobić poprawną ramkę z adresem,funkcja i CRC.Zacznij od funkcji...
Witam prosiłbym o pomoc z uruchomieniem transmisji RS485 pomiędzy Atmegą644P a PC z przejściówką Link do schematu : Przejściówka: Definicje: #define UART_DE_PORT PORTC #define UART_DE_DIR DDRC #define UART_DE_BIT (1<<PC5) #define UART_DE_ODBIERANIE UART_DE_PORT |= UART_DE_BIT #define UART_DE_NADAWANIE UART_DE_PORT &= ~UART_DE_BIT #define...
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...
Witam, Nabyłem HMI 4,3" od chińczyka marki CoolMay model TK6043FH. Miałem zamiar wykorzystać je do swojego projektu. Jako, że nie pierwszy raz używam rodowitego sprzętu z Chin i nigdy, jak dotąd, się nie zawiodłem. Jednak do brzegu: Ustawiłem sobie tryb działania portu COM1/COM2 (nie do końca rozumiem sposób działania, ponieważ można wybrać sobie typ...
A ja radze wykorzystać RTS do sterowania przepływem danych ponieważ niemożna w prosty sposób załączyć nadajnika i wyłączyć go po nadaniu bitu stopu, do tego trzeba odmieżać czas trwania ramki danych a więc niemożliwa staje się zmiana prędkości transmisji. od strony uP można zastosować Max485 [1], od strony komputera również max485 i dodatkowo max232....
Screw Clamp powinien być w standardowych bibiotekach protela, RS485 nie ma żadnego konkretnego złącza jak RS232 czy USB, bo jest to tylko specyfikacja elektryczna opisująca sposób transmisji danych, a nie ramki, ani złącza. Z regóły stosuje się zaciski, ale spotkałem się z wykorzystanie złącz typu RJ45, goldpin, albo nawet DIN, dlatego najlepiej opracuj...
Chodzilo mi o wykorzystanie protokolu, tak aby go nie pisac. Z tego co przeczytalem to RS485 to tylko transmisja z ramkami(tzn USART). Protokol trzeba sobie samemu "stworzyc", czyli napisac rozpoznanie do ktorego Slave'a chce wysylac dane itd. To upraszcza mi budowe ukladu, komplikuje soft. Jednak mysle, ze latwiej jest dopisac te kilka linijek kodu...
Temat sprawdzania zajęości magistrali RS485 pojawia się na tym forum nie po raz pierwszy. Sugerowałbym poszukać i poczytać o proponowanych rozwiązaniach. Ja ze swojej strony mogę tylko podpowiedzieć rozwiązanie, które najbardziej mi się podoba. Wystarczy podczas nadawania mieć włączony odbiornik i sprawdzać czy na magistrali pojawia się to co nadajesz....
Witam. Zna ktoś jakiś uniwersalny program do komunikacji z urządzeniem po magistrali modbus? W ogóle jest taki program? Podłączam konwerter, odpalam program, wpisuję odpowiednie parametry w ramkę i program wysyła po rs232 i czeka na odpowiedź, odpowiedź wyświetla mi się w postaci "ramki". Tylko nie wiem czy zdołam odczytać wartości wtedy. Ale to już...
A ja proponuję Ci, abyś wykorzystał ten RS485 i połączył wszystkie trzy sterowniki razem. Teraz musisz pamiętać, aby tylko jeden sterownik w danej chwili mógł nadawać. Musisz wybrać, który sterownik będzie jako master - będzie on wysyłać zapytania do dwóch pozostałych. Wszystkie trzy sterowniki muszą mieć swój adres, np. 1, 2 oraz 3. Zaprojektuj sobie...
Witajcie, szukam rozwiązania (schemat, projekt) prostego i działającego automatycznie repeatera (wzmacniacza?) RS485, najlepiej kompatybilnego z układami SN75176 (MAX485 standardowo nie współpracuje z nimi). Zapoznałem się z wątkami na forum: ale nie znalazłem nic interesującego. Moją uwagę zwrócił układ MAX488 z noty aplikacyjnej MAX485, ale nie mogę...
Konfiguracja typu 1 master i wiele slave jest prosta - wykorzystujesz do tego zwykły RS232, z tym, że w ramce nadawanej przez mastera musisz umieścić adres układu slave, od którego oczekujesz odpowiedzi. Slave odbiera ramkę, sprawdza adres, jeśli to jego adres to odpowiada, jeśli nie to czeka. Na AVR możesz to sprytniej rozwiązać - poczytaj sekcję MPCM...
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,...
Przy takim kodzie: Attiny2313 - temu raczej nic nie dolega - odbiera i wysyła: $regfile = "attiny2313.dat" $crystal = 8000000 $baud = 9600 '********************* Konfiguracja magistrali 1-Wire Config 1wire = Portd.5 '********************* Config Serialin = Buffered , Size = 10 Enable Interrupts '********************* Konfiguracja wejść i wyjść...
Znalazłem też kilka informacji o programach typu Sniffer i prostych układach na RS232, ktorymi możnaby zobaczyć HEX/ASCI, ale jeżeli to jest okienkowe, a transmisja będzie szybka, to na ile będa to miarodajne wyniki ? Sniffer portu szeregowego pod windows (ja używam HHD Free Serial Port Monitor) działa tak, że nasłuchuje wybrany port i jak masz aplikację...
Witam Właśnie dla tego żeby długość ciągów w ramce była taka sama to wysyłam to jako HEX. Deklarując zmienną jako np. Byte zawsze dane w HEX bandą zawierały się w zakresie 00-FF. I tak dla przykładu: -dla 5 stopni w HEX daje 05 -dla 25 stopni w HEX daje 19 -dla 125 stopni w HEX daje 7D Jak z tego widać ramka nie ma prawa się rozjechać. Wysyłam i odbieram...
A samo wychwycenie predkosci transmisji oscyloskopem i nastEpnie zapis transmisji poprzez np. Realterm to niewiele tak? Napisałeś na początku, ze tak zrobiłeś ale nic nie udało się wykryć. 1. Mogłeś popełnić błąd sprzętowy 2. Nie jest to transmisja RS485 3. Nie potrafiłeś określić prawidłowej prędkości transmisji lub jest to niestandardowa prędkość....
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ą.
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...
Witam, Podłączyłem falownik LG ic5 za pomocą interfejsu RS232-RS485 (Modbus) Instrukcja opisująca protokół i listy rozkazów jest bardzo skąpa. Czy ktos z Was orientuje się jak powinna wyglądać prawidłowa ramka? Ja robię coś takiego (sugerując się manualem) - inverter number (01) - preset single register function (06) - address (0x0006 – operating...
Witam Posiadam sterownik Wago 750-881. Moduł rozszerzeń RS232/RS485 o nr katalogowym 750-652. Dostałem do urządzenia z którym się potrzebuje skomunikować opis ramki dość szczegółowo opisany (sterowanie kolektorem słonecznym). Korzystając w Codesys z SERIAL_INTERFACE.lib ustawiłem go w następujący spsób: SERIAL_INTERFACE1( xOPEN_COM_PORT:=TRUE , (* otwarcie...
Witam, Chciałbym przetestować łączność po długim (nieokreślonym) przewodzie i moje pytanie brzmi: W jaki sposób to zrobić? I jak określić "straty" takiego połączenia? Myślałem o tym aby wysyłać jakiś ustalony ciąg bez przerwy (np "123456789") i po stronie odbiornika sprawdzać jego poprawność. A może istnieje jakiś lepszy sposób? Docelowo chcę przetestować...
Fot 1- RS485 dokładny master. Fot 2- RS485 master. Fot 3- RS485 dokładny master slave. Fot 4- RS485 master slave Podpieliśmy się pod RS485 za pomocą "konwertera" do badania poszczególnych pinów, a następnie podpieliśmy się oscyloskopem. Wykonaliśmy takie badania dla połączenia samego mastera oraz w trakcie "rozmowy" master slave(Zdjęcia załączone do...
No i Master inicjalizuję transmisję po przez cykliczne wysyłanie co 100ms ramki danych. Nawet jeśli coś w Slave pójdzie przez te 100ms nie tak to i tak Master wyślę kolejną ramkę. Potwierdzeniem od Slave jest ramka którą on wysyła. Zawsze musi ją wysłać przed wysłaniem kolejnej paczki przez mastera. A więc ma poniżej 100ms na odpowiednią interpretację...
Sorry, nie było tematu. ramka jest ok. Dodano po 1 Gdyby ktoś kiedyś potrzebował wykonać podgląd ramki UART, przykładowo między atmegą a płytką rs485 polecam użyć, konwerter USB TTL i program RealTerm. Konwerter kupiony na Allegro za 6 zł z układem PL2303. RealTerm darmowy i równie skuteczny co inne płatne programy. Jest tam zakładka Capture, ramki...
Inwerter odpytuje kolejno po 2 rejestry, przeplatając odczytem 2 rejestrów 0x34 i 0x35. #01#04#00#00#00#02#71#CB #01#04#00#34#00#02#30#05 #01#04#00#02#00#02#D0#0B #01#04#00#34#00#02#30#05 #01#04#00#04#00#02#30#0A #01#04#00#34#00#02#30#05 #01#04#00#06#00#02#91#CA #01#04#00#34#00#02#30#05 #01#04#00#08#00#02#F0#09 #01#04#00#34#00#02#30#05 #01#04#00#0A#00#02#51#C9...
Szanowny Państwo, zwracam się z uprzejmą prośbą o pomoc z pewnym zagadnieniem. Piszę program do układu sterowania zgrzewarką punktową o wysokiej częstotliwości przekształtnika. Korzystam ze sterownika XL7 firmy Horner oraz płytki STM32. Moją koncepcją na stworzenie układu sterowania jest transmisja danych poprzez protokół MODBUS RTU po kablu RS-485....
Witam ponownie. Niestety nie działa. Próbowałem na różne sposoby, ale panel nie widzi komunikacji dla tego elementu. Co 300ms miga dioda COM, czyli jakby coś odbierał, ale nie reaguje na ramkę. Uprościłem program najbardziej jak umiem, tj. działa on tylko w jedną stronę. Sterownik po prostu co 300ms wysyła ramkę niezależnie od tego co ma na linii (chciałem...
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...
Stosuję FT232BM i mam gotowe biblioteki na stronie producenta układu. Port jest w systemie widziany jako dodatkowy port COM. Ale masz rację - oprogramowanie to inna sprawa. Tyle że jeśli kierunek transmisji przełączasz automatycznie to troszkę to upraszcza program- nie musisz po wysłaniu ramki czekać tych 3,5 znaka i przełączać na odbiór bo układ sam...
Protokół wyższego poziomu jest mniej potrzebny, bo układy są proste, mają tylko dawać jeden bajt danych w odpowiedzi na jeden bajt przychodzący (adres) - tu żadnej filozofii nie trzeba. Właśnie to co opisujesz jest już protokołem "wyższym", dodatkowo musisz przewidzieć to że układy wysyłają pakiety z sumami kontrolnymi (bo jak przypadkiem się włączą...
no generalnie są to czujniczki ciśnienia, a konwerter to np: AD31 (wobit). Ale głównie chodzi mi o to gdzie mogę znaleźdz info jak praktycznie programować rs485, nie chodzi mi o teorie ( jak w książce "interfejsy cyfrowe.." ), ale o konkretne funkcje, biblioteki lub kontrolki ActiveX Dodano po 3 a jeszcze jeśli chodzi o protokół to mam opisane parametry...
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...
Synchroniczne są poprostu synchronizowane syg zegarowym przez co potrzebna jest dodatkowa linia dla sygnalu zegarowego. W przypadku transmisji asynchronicznej odbiornik musi "wiedziec" z jaka predkoscia nadajnik wysyla dane. Przy transmisji RS uzywa sie transmisje asynchroniczna. Masz sprzetowe UARTy ktore wykrywaja poczatek i koniec ramki. Zreszta...
Witam, mając nawet wiele układów w tej magistrali, jeśli zdecydujesz się np na takie rozwiązanie, że jeden z nich będzie masterem i to on będzie zarządzał magistralą to możesz to zorganizować np w taki sposób: Wybierasz sobie Mastera i to on cyklicznie co jakiś ustalony przez ciebie czas odpytuje (adresując uprzednio zapytanie) kolejne układy typu Slave....
Musisz mieć cały czas włączony odbiornik i nasłuchiwać stanu linii. Próbę nadawania podejmujesz tylko gdy jest "cisza" (można to rozwiązać sprzętowo nawet ładują kondensator). Urządzenie nadawcze odczytuje zwrotnie samego siebie i sprawdza czy to co odczytał zgadza się z tym co wysłał. Dobrze jest na początku wysłać tzw. preambułe (bajt o wartości AAh...
czesc.sądze ze problem jest w sofcie. mialem podobny problem na rs232. chodzi o to ze proc czeka na ilestam bajtow danych a kiedy odpinasz uart,to pomijasz/wywalasz jakies bajty ramki. wystarczy ze zgubisz w ten sposob jeden bajt i komunikacja lezy, bo uklad bedzie czekal na np 8 bajtow a dostanie 7, i bedzie czekal na ten 8, ktory akurat będzie pierwszym...
Rozumiem, że o ten arbitraż chodzi... Tylko mam takie pytanie - jak ja to mam zrealizować - jednoczesne odbieranie i wysyłanie? Jak rozpoznać, że to jednak nie mój sygnał jest na linii? Dodam tylko, że prawdopodobnie zastosuję konwertery rs232>rs485/can Tzn - będę miał uart do tego zapięty i ramka będzie to po prostu ramka jak w rs'ie + zamiast "literek"...
Chodzi mi głównie o opis ramki Protokołu TDM. Pełny! Oraz o stanach logicznych lini kidy to urządzenia sygnał nadają , nasłuchują udbierają.
Możesz spróbować zastosować terminator do sieci Profibus lub rezystor 120 Om(Modbus). Na schemacie do karty sieciowej na skrętce znalazłem rezystor 78 Om(43 Om do +5V) ale to może być mylące. Można też samemu dobrać rezystor np. wstawiając potencjometry jako trminatory i regulować tak aby uzyskać najmniejszą ilość błędów przesyłanych ramek oraz największa...
char dane[13] = {0x1B,'1','w','a','1','0','1','0','1','0... taką przykładową ramkę wyślij
Witaj. Sposób na ramkę jak najbardziej prawidłowy ale dodam małe swoje dorzuć pomiędzy adres a rozkaz 2 bajty na libczbę bajtów danych w ramce to będziesz miał rozwojowy protokół na przyszłość bez ograniczeń do 2 bajtów. Co do przełączania to normalnie że musi coś tym sterować albo uC albo logika która wykryje nadawanie i sam przełączy się z nasłuchu...
Niestety mogą mieć rację, polecam żeby liznąć temat modbusa rtu gdzie masz podstawowe założenia: * bajty są wysyłane binarnie jako znaki ośmiobitowe * każda ramka jest poprzedzona odstępem (cisza na linii)> 3,5T (gdzie T oznacza czas transmisji jednego znaku) * odstępy pomiędzy kolejnymi znakami ramki < 1:5T Windows nie jest systemem czasu rzeczywistego...