Najprościej wysłać na końcu ramki kod oznaczający "koniec nadawania". Ale też naj zawodniej - musisz dbać by w środku ramki danych przypadkiem nie pojawiła się taka sama sekwencja. Wzorując się na modbusie i podobnych proponuję tak zmontować ramkę by w jednym z pierwszych bajtów była zapisana długość ramki lub długość pola danych jeśli jest zmienna...
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...
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...
Witam, odkurzę trochę temat, bo mam pewne pytanie z modbusem. Powiedzcie, czy dobrze rozumuję, czy jeśli w urządzeniu np. udostępnię 400 rejestrów 16bit, to odczyt wszystkich to będzie w ten sposób, że adres początkowy to np 1, więc master będzie prosił o dane od 1 do 125 w jednej ramce, czyli offset 1 a długość 125, w kolejnej ramce offset 125 i długość...
Mam w domu system z RS485 pracujący na 250kbps, bez kwarcu na wew RC 8MHz. Długość ramki 35 bajtów. Działa bez błędów. To, że działa to żaden dowód, że tak jest poprawnie. W jednostkowych przypadkach należy brać poprawkę na to, że ma się po prostu szczęście. Długość ramki danych jest bez znaczenia, gdyż zapewne używasz UART, a ten synchronizuje każdy...
Proszę doprecyzować co za ramki chcesz przesyłać. Samo CRC to tylko suma kontrolna obliczana na podstawie zawartości ramki. Ja bym zrobił mniej więcej tak: - jakiś bajt startu, stały dla wszystkich ramek, np. FF - dwa bajty długości treści ramki (komunikatu) - suma kontrolna CRC obliczona z wartości długości i treści - jakiś bajt kończący, np. F0 Mikrokontroler,...
O ile producent sterownika miał głowę na karku, to nie zastosował gołego UART ani RS232, tylko różnicowe RS485 lub 422 możesz rozwinąć dlaczego tak uważasz i czemu byłoby lepiej/gorzej? Dodano po 14 na długość ramki z danymi wpływa ustawienie w sterowniku czy jest podłączony regulator pokojowy zwykły czy TECH to brzmi logicznie, bo sterownik TECH dorzuca...
<ciach> Szybkość powinna być średnia? Szybkość powinna być taka żeby były jak najmniejsze błędy w transmisji. Powiedzmy 9600bps - 1200B/s. No to się nie wyrabia, a jeszcze trzbea dodać przekazywanie mastera, ponowne żądania, przerwy pomiędzy ramkami itp, itd. Jak rzeczywiście chcesz takie cuda robić to zrezygnuj rs485 będzie dla Ciebie za słaby....
Hmm... W tym szaleństwie jest metoda. Tzn. w programie nie widzę błędu: 11e:80 91 32 01 ldsr24, 0x0132 122:e8 2f movr30, r24 124:f0 e0 ldir31, 0x00; 0 126:e0 50 subir30, 0x00; 0 128:ff 4f sbcir31, 0xFF; 255 12a:80 83 stZ, r24 len++; 12c:8f 5f subir24, 0xFF; 255 12e:80 93 32 01 sts0x0132, r24 Tx_to_buf(); 132:ad...
MODBUS to w głównej mierze to protokół i hula po wielu mediach, ale CAN jest najmniej trafioną opcją, chociażby ze względu na długość ramek. Po drugie implementowanie MODBUSA na CANie można przyrównać do jedzenia ziemniaków z frytkami. Modbus na RS485 jest lepszym rozwiązaniem w tym przypadku.
Ostatnia linijka na stronie 46: Note: Every Modbus frame has a maximum limit of 20 variables (40 register). Jednorazowo możesz odczytać 20 zmiennych czyli zawartość 40 rejestrów. Jest to maksymalna długość ramki danych. Skopiuj sobie wysyłane zapytania o zmienne które cię interesują (kompletne ramki z CRC). Zawsze będą takie same. Wtedy możesz używać...
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ą...
Rób sobie jak chcesz bo można zrobić dokładnie wszystko tak jak chcesz jeśli tylko sprzęt "wyrobi". Natomiast myślę, że nie masz tego projektu przemyślanego od początku do końca. Coś opracowaliśmy, teraz zmiana zdania/metody/ramki. Ograniczając się do jednego bajtu sam sobie ograniczasz cały system. Można to OD RAZU zrobić przyszłościowe i z zapasem...
Niestety, nie wiem o co chodzi. Czy na samym początku robię coś nie tak ? Cały czas mam trudności z tablicą: rejestr /rs485.c:57:1: warning: data definition has no type or storage class ../rs485.c:57:1: warning: type defaults to 'int' in declaration of 'wsk_rejestru' ../rs485.c:57:1: error: conflicting...
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ć...
http://obrazki.elektroda.pl/4511398700_1... Choć na chwilę obecną to w zasadzie inteligentne oświetlenie + zestawy różnej maści czujników, acz pełznie we właściwą stronę. 1. Wstęp i motywacja Jakiś czas temu stworzyłem dwa projekty. Pierwszy - stacja meteo -> http://www.elektroda.pl/rtvforum/topic31... który w ciągu miesiąca...
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...
Witam, Wczoraj próbowałem połączyć się ze sterownikiem po RS485. W sterowniku opcje odnoście portu ustawiłem na Buad rate 9600, adres fizyczny 1 i logiczny 1. Za pomocą skanera MODBUS odpytywałem sterownik o Read Holding Registers od adresu 01 do 10. Wypróbowałem wszystkie możliwe kombinacje ustawień portu odnośnie bitów parzystości, stopu, i długości...
Witam i dziękuję za pomoc. Posiadam: Sterownik MP-DISP-C02-A podstawowe parametry: Wejście danych: Łącze szeregowe RS485 (RS422) - transmisja dwuprzewodowa Maksymalna długość sieci RS485 (RS422): 1200m Ilość modułów wyświetlaczy współpracujących ze sterownikiem: brak ograniczeń Zasilanie: +5V DC (pobierane z modułu wyświetlacza) Prędkość transmisji...
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...
Cześć, idę drogą ORNO (nie zgubiłem literki P na początku słowa) i napisałem prosty program (dla Arduino) do obsługi dwóch liczników OR-WE-504. Wynikiem programu jest sześć wartości odczytanych po RS485 z ORNO: napięcie AC, prąd, aktulany pobór mocy. Zależało mi na odczycie tylko tych wartości. Jest to wersja bez obsługi mechanizmu protokołu modbus....
Witam, Mam sterownik pompy solarów G-422-P07. Chciałbym aktualne statusy pobrać do swojego systemu po RS485. Chwilowo mam dostęp do modemu Eco-Lan , który pobiera dane z pompy i wysyła poprzez internet do serwisu i tam poprzez www można podglądać pracę solarów. Ten sposób nie jest dla mnie optymalny dlatego podsłuchiwałem komunikację. W instrukcji pisze...
Arbitrażu w RS485 nie ma sprzętowego, można to zrobić jedynie softwareowo. Dobrze kombinujesz z tym masterem odpytującym, coś podobnego teraz robie i z moich dotychczasowych doświadczeń moge podpowiedzieć tyle, że ramka najlepiej żeby miała stałą długość np. 4bajty i pierwaszy bajt to ZAWSZE jest adres. Master ma adres 0 (lub inny) i po kolei odpytuje...
Trochę o teorii i o zastosowaniu jest np na http://willow.iie.uz.zgora.pl/~jlasinsk/... 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...
Norma EN 50 170 volume 2, oczywiście jest płatna. Ta norma na obecną chwilę jest już nieaktualna ale przekazuje wystarczająco dużo informacji aby zrealizować protokół zarówno dla urządzenia Master jak i Slave. Format ramki jest ogólnie dostępny, dokładnie są 4: 1. Ramka o stałej długości bez pola danych +-/ /-+----+----+----+----+----+----+ ! SYN !SD1...
Najistotniejsze pytanie: DLACZEGO GDY NADAJĄ 2 NADAJNIKI, TO PROCESORY LUB PROGRAMY Z POWODU ŚMIECI "IDĄ W KRZAKI" PODCZAS ODBIORU TYCH ŚMIECI? Bo program jest źle napisany (źle "wymyślony" algorytm odbioru). Niestety nie jestem w stanie pomóc...nie znam Bascoma. No to żeś się popisał...to że coś jest źle to chyba wiadomo ;P Niestety kontrola musi...
Modbus TCP, jak zwykle, wykorystuje port 502. Dlatego przez port 8899 pakiety do falownika nie pójdą. Ale liepej to sprawdzić. Ja ustawia moc falownika SOFAR 60000TL przez port RS485, protokol Modbus RTU. Mam nadzieje że to będzie ważne dla innych falowników SofarSolar. Przykladowo jest ptrzeba ustawić moc 57%. Dlatego posylasz w port 01 06 90 00 39...
Trochę odgrzebuje ale takie połączenie nie ma prawa działać. Nporty mogą działać jako bramy Modbus RTU/TCP ale tylko i wyłącznie w trybie Real COM (producent też tego nie zaleca ale to działa). Modbus TCP,jak już napisał Rariusz , jest nieco inny od Modbus RTU. NPort w trybie Server to co dostanie na socket przerzuca jako bajty na port szeregowy. Wszystko...
Witam, Piszę oprogramowanie na 2 pakiety oparte na procesorach sygnałowych TMS320 2407A. Są to dwie identyczne płytki z wbudowanym układem MAX3100, który stanowi drożny kanał komunikacji RS485 między nimi. Zamysł jest taki, że oprogramowanie jest identyczne, a układy rozróżniane są za pomocą zworki podanej na jedno z wejść procesora. Master posiada...
https://obrazki.elektroda.pl/2313750600_... Chciałbym przedstawić w sumie bardzo prosty projekt – układu pośredniczącego pomiędzy nowymi pompami Grundfos Alpha, a sterownikiem ogrzewania. Kilka lat temu prezentowałem układ sterownika kotłowni, który ma możliwość sterowania pompami Grundfos UPE z użyciem protokołu GeniBus. Niestety...
http://obrazki.elektroda.pl/8335597100_1... Witam, rok temu skończyłem szkołę zawodową o profilu elektronika, w pracy mam do czynienia z małoseryjną produkcją smd. Jako typowy pasjonat-konstruktor szukam zawsze sposobu, jak ułatwić sobie pracę i postanowiłem zbudować własną maszynę do układania elementów smd. W projekcie styka się tak...
Kolego żle do tego podchodzisz. "Jeżeli chcę odczytać napięcie, to najpierw do Lumela muszę wysłać ciąg liczb: 00 04 00 04 00 02 30 0A" zaczynając że ta ramka jest błędna. JA ci proponuję tak, bo nie wiem jak w Simensach ale kilka liczników skomunikowałem. Wszystkie liczniki przesyłają zmienne Floating czyli 2x16 bitów. Podobny problem miałem z chińskim...
Witam Serdecznie szanowne grono! Mam problem z połączeniem po Modbus RTU miernika Lumela N13 z Simatic S7-1200, dokładniej transmisja danych zachodzi tj. PLC odpytuje i dostaje w moim mniemaniu poprawna odpowiedź jednak nie uzyskuje żadnych danych w Data Block tylko MB_MASTER zwraca jednorazowo błąd 8382 świadczący o błędzie w długości danych. Próbowałem...
Witam Najlepiej użyć kosci TP-UART i problem rozwiązany ale cena 150zl netto powala!!! Wlasnie jestem na etapie testowania rs485 MultiMaster i tak: Kosc sn75176 docelowo sn75lbc184 obsługa do 128 nadajnikow. Kanal A poprzez rezystor podciągniety do VCC Kanal B poprzez rezystor do GND. Tylko w jednym sterowniku calej sieci i terminatory 120 na koncach,...
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 do podłączenia około 50 liczników LE01M (firmy F&F). Ze względów praktycznych chcę to zrobić na 4 liniach po około 12-14 liczników na lini o długości około 300m każda. Sieć pracuje zgodnie ze standardem Modbus RTU, każda z linii na początku ma konwerter USB-RS485, a na początku i końcu zgodnie z instrukcją moduły terminacyjne LT-04 (120Ohm)....
ylko jak to pogodzić z Arduino? Jeśli ma się przyjąć wśród amatorów, to moim zdaniem, musi działać na bazowym Arduino (ATMega 328PU) i pozostawiać jeszcze miejsce na program użytkownika. To akurat nie jest problemem. Robisz nagłówki w C (export "C") i dodajesz do Arduino prekompilowany lib na ATM328. Prościej się nie da. Masz same zalety - zwięzłość...
Próbowałem podłączać również na odwrót czyli B do GND A do Vcc, ale wtedy transmisja ustaje. Działa jedynie gdy obie linie są podpięte do Vcc. To samo tyczy się rezystorów 4.7k. Nie mam żadnego specjalnego przewodu. Używam dwóch cienkich miedzianych drucików ze skrętki. Długość nie przekracza pół metra. Prędkość 9600 bodów. taka sama ustawiona w terminalu....
(at)obywatellutzek Jeśli musisz to użyj np. transceiverów do rs485. Jeżeli t jest jakaś pojedyncza taśma w normalnym, niezaszumionym środowisku, to można się pokusić o puszczenie tego na żywioł. Kwestia jak często odświeżasz te LEDy? Czy dopuszczasz jakieś przekłamania? Jeśli wyświetlane efekty są dynamiczne, to nawet jeśli od czasu do czasu będzie...
Te układy działają bardzo dobrze. Ale nie z ramkami RS232. Jest pewna grupa ludzi twierdzących, że kodowanie w Manchester, załatwia sprawę, ale taka teza świadczy wyłącznie o nieznajomości zagadnienia. Dlaczego tak twierdzisz? Bardzo dobrze pracują z kodowaniem manchester czy też z manchesterem różnicowym. Trzeba tylko pamiętać o preambule przed właściwą...
no wierzę wierzę, tylko zastanawiam się dlaczego u mnie taka głupota wyskakuje i to zarówno w AVR Studio i w Eclipse .... czyli mam np taki prosty narazie plik uart_mk.c : #include <avr/io.h> #include <avr/interrupt.h> #include <inttypes.h> #include "uart_mk.h" void UART_init(void) // inicjalizacja UART { UBRRH...
1. nie znalazlem nigdzie informacji na temat "parsowania" przesylanego pliku do bootloadera. z analizy programow jakie znalazlem na forum oraz kilku opisow formatu intel hex wynika ze od lewej ':Size Address Type Data Bytes Checksum ':10 00 00 00 26 C0 B3 C0 B3 C0 B3 C0 B3 C0 C5 C0 C5 C0 D0 C0 A4 jak sądzę w tej lnijce czystych danych jest w sumie...
Mam sterownik ze starej maszyny CNC. I jest tam używany jakiś dziwny interfejs. I nie udaje mi się go zidentyfikować. Interfejs jest różnicowy jak RS485 (leci przez parę różnicową). Ale ma składową stałą równą 0, i jest izolowany zwykłymi transformatorkami. Prędkość to 1.25 albo 2.5 Mbaud (zależnie jak liczyć, ale o tym dalej). Nie ma żadnego osobnego...
Rezystory muszą mieć wypadkową rezystancję około 120 Ω. Co daje 390Ω dla każdego rezystora. Nie jest konieczna masa, zegar RC procesora też może być. Należy zwracać uwagę na odczyt błędu ramki (rejestr UCSRA) przed odczytem z UDR. Oczywiście kod CRC jest niezbędny. Topologia gwiazdy, którą przedstawiłeś, raczej nie jest poprawna. Na początek...
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...
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...
Sporo tego ( obsługa SD, PCF8563 + menu do ustawiania daty, obsługa PCF8574 w przerwaniu INT1 )- ale nie ma problemu - zmieniła się tylko zawartość podprogramu Pomiar była taka, jak w pierwszym poście oraz wyłączyłem w wyświetlanie na LCD tych wartości wskazań z DS18B20, oczywiście dostosowałem pozycje wyświetlania do LCD 4*20 - załączniku spakowany...
ramki rs485 długość rs485 zmienna długość ramki
czyszczenie głowicy magnetofonowej reset czipa epson zmiana ustawien routera
zamiast neostrady samsung tizen
Menu serwisowe Philips 40PFL3107 - jak uzyskać dostęp? Oryginalne worki Miele a zatarcie silnika odkurzacza