Witam. Zapoznaj się z formatem ramki ModBus, a sam znajdziesz odpowiedź. Do tego dokumentacja do falownika. Pozdrawiam.
Witam, Programuje STM32F407 przy pomocy HAL ( STM32CubeMX ) i Keil uVision 5 . Stworzyłem komunikacje przez UART HAL_UART_RxCpltCallback wykona mi się dopiero po przyjściu 6 znaków Komunikacja UART potrzebna jest mi do implementacji interfejsu MODBUS. W interfejsie MODBUS jak czytam z pdfa "http://modbus.org/docs/Modbus_Applicati...
(at)rbm Skorzystaj z WireShark i wrzuć jakie masz ramki danych. Pewnie to Modbus TCP/IP
(at)faradserwis W sterownikach masz gotowe bloki do Modbus master, slave. Nie zajmujesz się analizą pojedynczej ramki ani sekwencję wysyłania i odbierania danych.
A to chyba jest tak że pierwszy blok danych jest wysyłany przez firmowy programator a drugi to po prostu odpowiedź sterownika pompy. Pierwszy blok to zapytanie a drugi to odpowiedź jak w typowym protokole Master Slave. Czy w tym programatorze firmowym jest jakaś możliwość ustawienia adresu urządzenia ? Pierwsze dwie ramki to może właśnie adres , ewentualnie...
Ramka 01 01 00 00 00 0a crc crc to rozkaz odczytu 10 "cewek" (coil). Odwiedź wg specyfikacji Modbus powinna być 01 01 02 dane dane crc crc; ewentualnie 01 81 błąd crc crc. U Ciebie sterownik odpowiada 01 01 00 21 90, gdzie 00 to liczba bajtów danych w odpowiedzi, a 21 90 to crc dla ramki odpowiedzi. Wg specyfikacji Modbus taka ramka odpowiedzi nie może...
Nie podałeś jaki jest adres urządzenia. Załóżmy 3. Umieszczasz go w pierwszym bajcie ramki. Później kolejno bajty o wartości 5, 0, 1, 0xff, 0 i dwa bajty crc. Ramka: 3, 5, 0, 1, 0xff, 0, 0xdc, 0x18 CRC policzone [url=http://www.lammertbies.nl/comm/info... kalkulatorem, może być błędne. Algorytm z przykładem kodu jest w [url=http://www.modbus-ida.org/docs/Modb...
Konwertery to CONV485E. Podanie linku wiele ułatwia. Chodzi o Jeśli wyślesz coś przez modbus tcp do konwertera to on sobie sam wyliczy sume crc , dołączy do ramki i wyśle do slava Tak działa konwerter Modbus TCP (slave) na Modbus RTU (master). Natomiast w trybie "przezroczystym", wg opisu, konwerter słucha na wskazanym porcie TCP, a po nawiązaniu połączenia...
Wiem, że to pytanie będzie mega prostackie, ale dopiero startuję z ramkami Modbus. Czy jest gdzieś w Internecie, bo może nie umiem szukać, jakiś program, czy online, czy do ściągnięcia, który na podstawie adresu urządzenia, rodzaju zapytania (odczyt/zapis), adresie rejestru oraz typie danych skonstruuje pełną ramkę Modbus. Szukam po Modbus Tools, ale...
Witam, przepraszam za tak długą zwłokę czasową z odpowiedzią. Powodem był moduł CPU, który odmówił mi posłuszeństwa i musiałam czekać na wymianę jego w serwisie na nowy. Obecnie udało mi się nawiązać komunikację Modbus rtu poprzez port 2 (rs485) podłączony do komputera za pomocą konwertera rs485 - rs232. Problemem była prędkość transmisji danych, przy...
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....
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...
Drogi kolego. Koledzy wyraźnie powiedzieli, że musisz wiedzieć jaki masz protokół transmisji. Moduły mogą mieć protokół MODBUS RTU lub zwykły RS232 z dedykowanymi komendami odczytu poszczególnych kanałów. Podam Ci przykład. Wagi elektroniczne mają różne protokoły. Jedne odpytuje się wysyłając S I CR LF, inne wysyłając samo S CR LF, a jeszcze inne protokołami...
Doszedłem w czym tkwił problem. Program jest w porządku, natomiast jest różnica w ilości bitów danych w ramce: Modbus RTU ma 8 a ASCII 7. Nie przestawiłem tego po stronie PC, stąd framing error.
w modbusie do odczytu rejestrów służy function code 3 Nie tylko. Funkcja 4 to read input register. Może problem robi zbyt mały odstęp czasowy pomiędzy ramkami danych
No dobra, niby to działa ale wciąż nie przechwytuję ramek. W sumie wystarczyłaby mi możliwość przechwytywania danych wysyłanych od modbus mastera (oczywiście tcp rtu). Teoretycznie nie potrzebuję prawidłowo działającej komunikacji (jak na razie) Jeśli byłaby taka możliwość mógłbym mieć wgląd w moje ramki, które nie będą docierać do slave.
Witam, A czy w PLC czekasz na zakończenie obsługi poprzedniej ramki ? Sprawdzasz wyjścia BUSY oraz DONE ? Przed kolejnym wysłaniem czy w każdym przerwaniu wysyłasz ramkę ? Bo popatrz na prosty przykład: Wysyłamy ramkę z 50ms ale nie sprawdzamy statusu zakończenia poprzedniego wysyłania. Urządzenie slave może nam nie odpowiedzieć w 50ms. Może odpowiadać...
Nie własne rozwiązanie tylko wszystko zgodnie ze standardem. Źle podszedłeś do odbioru danych. Musisz stworzyć sobie bufor który zgodnie ze standardem MODBUS musi zmieścić jedną cała ramkę która może mieć 256B. Ramki oddzielone są miedzy sobą przerwą trwającą co najmniej - i tu nie pamiętam 1,5 lub 3,5 znaku. Więc po odebraniu każdego znaku czekasz...
Komunikuje się przez układ SP3485 podłączony do linii Tx, Rx + pin sterujący kierunkiem przepływu danych. Dane odbieram wykorzystując przerwanie. Nie wiem jak wykryć np. ciszę na linii poprzedzającą początek ramki z danymi.
Teraz dołóżmy do tego jeszcze fakt, że takie cuda można sobie robić na sprzętowych sterownikach które działają w czasie rzeczywistym. Np. ModbusRTU Funkcja 3 - Read Holding Registers (at)57600: Zapytanie: 8B + 3,5 znaku = 2ms ======Czas na generacje odpowiedzi...======= Odpowiedź - 5B + 2xN + 3,5 znaku = 4,8ms dla 10 rejestrów Odpowiedź - 5B + 2xN...
Celem było stworzenie uniwersalnego narzędzia umożliwiającego wymianę danych pomiędzy mikro kontrolerem a komputerem. Ramka wzorowana na Modbus ASCII przesył danych zabezpieczony jest sumą kontrolną CRC. Program odczytuje tablicę dostępnych parametrów ( tablica odkreślana jest odgórnie programowo ). Dla każdego z parametrów przypisany jest programowo...
Witam, Twoja wypowiedź jest iście zaskakująca. Ciekawi mnie fakt że pytałeś się tak wielu osób i żadna nie widziała jak Ci pomóc. Zacznij od strony http://www.simplymodbus.ca/ oraz wyszukaj wszelkich informacji na temat tego jak jest zbudowana ramka w sieci ModBus. Jakie kody funkcji odpowiadają za odczyt poszczególnych danych z urządzeń. Jeśli będziesz...
Witam, A czy na pewno Modbus RTU idzie po Ethernecie -Modbus TCP/IP. RTU masz po RS485 i do tego jest mnóstwo programów RTU oraz ASCII może iść po RS485 jak i po TCP/IP. To tylko format danych. Pozdrawiam,
Zobacz na to: https://obrazki.elektroda.pl/3006808900_... Generalnie kombinowałem z tymi danymi. Jednak jakby z tego nie kopiować ramki, to nie zgadza się CRC. W danych jest też bardzo dużo zer. Jesteś pewny, że masz prawidłowo ustawione parametry transmisji (przepływność bitowa, format ramki)?
Próbuję do systemu Nexo podłączyć sterowniki wentylacji oraz klimatyzacji poprzez kartę komend. Ze strony Nexwella, sterowanie ma odbywać się poprzez użycie logik, które wysyłać będą polecenia na kartę komend. Póki co, urządzenia zewnętrzne staram się symulować programem na komputerze z podłączonym konwerterem usb -> rs485, ale niestety komputer nie...
OK sprawa sie wyjaśniła. Trzeba bardzo uważać na typy danych przekazywanych między funkcjami do portu RS. No i do samego wysyłania danych uzyłem TransmitCommChar. pozdrawiam!
Tak jak pisałem sprawć to modbus masterem z zwykłego komputera i porównaj te ramki wtedy bedziesz wiedział po której stronie jest błąd.
Cześć, No wychodzi, że jakieś wsparcie mają. RMODBUS to funkcja która sprawdza, czy w buforze UARTA jest prawidłowa ramka MODBUS. RMODBUS R#A, R#T, R#C, R#A - rejestr który przechowuje, adres, komendę i długość danych, R#C - przyjmuje 0 dla braku poprawnych danych, FF dla poprawnych danych MODBUS R#T - Odebrane dane Po stronie nadawczej mamy funkcję...
Jasne. Powiedz mi proszę czy dobrze rozumiem, że modbusa uruchomię korzystając z uarta? Rozumiem to tak, że korzystając z ramki danych uart wysyłam po prostu dane w sekwencji przewidzianej przez modbus. Z tego, co sprawdziłem to procki (przynajmniej te dostępne na tme) sprzętowo modbusa nie wspierają. Co innego can - typowo przemysłowe, ale procki droższe...
- wykorzystać funkcje simlinka Send TCP, zrobiłem swoją ramkę danych jednak są one wysyłane jako wiadomość TCP, a niestety tego nie jest w stanie zinterpretować Saia. Znaczy zrobiłeś ramkę Modbus TCP? Możesz złapać ramki Wiresharkiem i pokazać co wysyłasz? Saia umie przesyłać dane (m. in. odczyt/zapis rejestrów) protokołem HTTP - jako ew. alternatywa...
w przypadku gdy dane będą odczytywane jednym zapytaniem, nie widzę sensu buforowania danych w PLC przy odczycie ok 10 wartości analogowych, gdyż przesyłając dane przez interfejs szeregowy o prędkości 9600b/s na jedną ramkę danych mamy 120 bajtów, a to w zupełności wystarczy Skąd Ty wziąłeś 120 bajtów? 9600b/s przy Modbus RTU (bit startu, 8 bitów danych,...
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...
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...
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....
Ok. Dzięki. W sumie nie trafiłem na takie materiały. Mam jeszcze jedno ważne pytanko. Zrobiłem tą komunikację. Wszytko mi działa tak jak sobie założyłem, ale mimo wszystko pewne kwestie związane z RS485 są trochę zawiłe. Dokładnie chodzi mi o ramkę np. RS232 mówi, że mamy bit startu, bity danych, parzystości itp. I tu pytanie: Czy RS485 to tylko i wyłącznie...
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....
Uważam że problemem jest protokół.Zakłócenia były, są i będą w magistralach. Nie ma w nim żadnych mechanizmów kontroli poprawności danych a wystarczy zwykła suma kontrolna dla każdej ramki oraz odrzucanie pakietów z niezgodną sumą. Przykładem niech będzie modbus RTU. terminacja i polaryzacja magistrali https://www.elektroda.pl/rtvforum/topic3...
Urządzenie wykonuje pomiary co kilkanaście minut i w zależności czy jest połączenie GPRS wysyła dane po sieci. Jeżeli z jakiegoś powodu nie ma połączenia to zapisuje wyniki pomiaru do pamięci flash mikrokontrolera. Urządzenie pełni rolę SLAVE a ja komunikuję się w dowolnej chwili z wykorzystaniem Modbus RTU przez RS485 i odczytuję bieżące wyniki, które...
Nie wiem jak w tym panelu, ale jeśli dobrze kojarzę, to standardowo w profesjonalnych HMI masz chyba zdefiniowane wszystkie teksty wewnątrz i wyświetlasz je zależnie od danych odczytanych ze sterownika. Przykładowo czytasz sobie rejestr błędów ze sterownika i na bazie kodu czy określonych bitów wyświetlasz odpowiedni tekst (zapisany w panelu). W ten...
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...
1. Zmienio Biosa na nowszy. Stanowczo za stary. Najnowszy jest 6.4 - na ksa masz wszystkie. Jeśli nie masz dostepu do Biosu na ksa tzn masz niski poziom uprawnien. 2. ". W "drzewie programu" mamy coś takiego jak "Modbus Line". Czy to musi być konfigurowane? " --> Nie musi. To jest taki łatwiejszy konfigurator dla portów. Wybierasz port np BMS1 i konfigurujesz...
W punkcie 4.2 (pdf) masz podany sposób na komunikacje ciągłą wykorzystaniem OPC i wizualizacji Wonderware (Intouch) w pakiecie tym znajdziesz driver do swojego przepływomierza. Po uruchomieniu OPC i skomunikowaniu się poprzez driver Modbusowy(ASCII) OPC wyrzuci Ci wszystko to co jest możliwe do odczytu z przepływomierza. Z rys 4-1 wynika, że do kompa...
Jeżeli zakłada się, że dane mogą zaginać po drodze to konieczne jest wyróżnienie STARTU ramki i odpowiednie "escape" tego startu w danych. A jak zaginą ostatnie bajty, to co wtedy?. Nie ma sensu dokładać następnych zabezpieczeń...bo do tego wystarczy jedno CRC na całą ramkę. Niech autor sprawdzi jak wyglądają ramki protokołu MODBUS który jest stosowany...
Potrzebuję zrobić konwerter działając pod protokołem MODBUS w trybie RTU. I teraz zastanawiam się nad konstrukcją programu. Jak wiadomo ramki w tym trybie nie mają zdefiniowanego początku ani końca. Strumień danych będzie mi wchodzić do bufora. Biorę pod uwagę, sztuczne kończenie ramek w przerwaniu, gdy nastąpi przerwa > 3.5znaka, ale jak sprytnie "zaznaczyć"...
O ile mi wiadomo - Bascom potrafi jedynie zbudować i wysłać ramkę do urządzenia SLAVE. Kod slave musisz napisać sobie sam. Podpowiem trochę. Modbus RTU od strony slave nie jest skomplikowany w implementacji. Przyjdzie Ci na port UART taka ramka danych: - początek transmisji (3,5 znaku ciszy) - adresu urządzenia (1 bajt) - kod funkcji (1 bajt) - danych...
Co to za urządzenie ze tyle danych? PLC? Checksum error to jak sama nazwa wskazuje - błąd ramki. Z reguły problem z okablowaniem (np brak/niewłaściwa terminacja). Próbowałes modpollem?
Na moje oko ramka nie jest poprawna. Polecam dokumentacje: http://modbus.org/docs/PI_MBUS_300.pdf w pokazanej ramce na dane uzyty jest tylko 1 bajt zamiast 2. Jezeli chcemy zapisac wartosc 0x08 to ramka powinna wygladac: 01 06 00 06 00 08 XX XX - CRC sobie policz ;)
Podepnę się również pod temat. Interesuje mnie wykorzystanie Excela do obsługi modbusa - chciałbym móc wysyłać własne ramki modbusowe w celu zmian i odczytu parametrów urządzeń modbus slave. Ktoś z was ma moźe doświadczenie w tego typu rzeczach? Pozdrawiam
Witam. Czy ktoś używał kiedyś modułu siemensa 6ES7 138-4DF11-0AB0 do komunikacji po Modbus-sie z urządzeniami innych firm? Mój problem polega na tym, że moduł nawiązał komunikację z regulatorem firmy Lumel, wysyła do niego ramkę z odpowiednim zapytaniem lecz pojawia się błąd przy odbiorze danych.
Zasugerowano mi że prawdopodobnie na wyjściu będę dostawał ramkę danych z wago, jeśli tak to jak ją należy przetwarzać i odczytać sygnały? Jak to powinno wyglądać w Tii?
Cześć Quine15 Sądząc po odpowiedziach niczego się nie dowiesz tu w kwesti programowania komunikacji w Delphi. Proponuje zajrzeć do książki "RS 232C - praktyczne programowanie. Od Pascala i C++ do Delphi i Buildera" Daniluka. O ile dobrze pmiętam to były trzy wydania tych pozycji. Bardzo przystępnie napisane książki. Tłumaczenie kodu z C++ na Delphi...
(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....
Po pierwsze adres 0 to w modbusie adres rozgłoszeniowy więc nie koniecznie jakieś urządzenie musi odpowiadać na tą ramkę. Po drugie CRC w Modbusie w przeciwieństwie do reszty danych umieszczone jest odwrotnie, najpierw część lo, a potem hi. Można skorzystać z biblioteki avr-libc do liczenia CRC MODBUSa [syntax=c]#include <util/crc16.h> uint16_t...
Witam while (1 == 1){ fSuccess = WriteFile(hCom, &rs_buff, 30, &RS_ile, 0); printf ("Wyslalem: %s \n", &rs_buff); //Zwieksz czas. Sleep(10); fSuccess = ReadFile(hCom, &read_buffor, 30, &RS_ile, 0); //Czemu read_buffor nie jest zadeklarowany jako wskaznik??? printf ("Odczytalem:...
A co robię niezgodnie z dokumentacją? Poniższe funkcje znalazłem na stronie internetowej, która wyglądała całkiem poważnie. Obojętne mi z której flagi będę korzystał byle działało :P A skoro w większości przykładów natknąłem się właśnie na wykorzystanie tych flag to tego się na razie trzymam. ----------------------------------------... W sumie to...
Udało się w końcu skomunikować z miernikiem 30-dniową wersją programu Modbus Poll. Z VEE też w końcu udało się skomunikować z miernikiem, po skorzystaniu z podpowiedzi, że ramka ma być wysyłana 8 bitowymi bajtami. Zmieniłem typ wysyłanych danych na BINARY i podtyp na BYTE i teraz po wysłaniu zapytania jest odpowiedź, którą odczytuję przez zmienną tablicową...
Jaki stos IrDA? Przecież IrDA to nie jest protokół transmisji, a tylko warstwa sprzętowa, dokładnie tak jak w przypadku RS232... Protokół transmisji musisz sobie dorobić sam, a czy zrobisz to używając jakiegoś specjalizowanego układu (z zaimplementowanym protokołem jakiegoś producenta) czy też uC (z własnym protokołem lub też jakimś standardowym, np....
Witam wszystkich. problem - delphi i modbus master (ew. c++) Poszukuję komponentu/biblioteki/opisu jak zrobić samu, transmisję modbus RTU. Dziś korzystałem z pakietu modbus Focus (biblioteka libmbus.dll), ale jak się okazało jest ona free przez 30 dni, więc nic mi z niej...... Jeżeli ktoś jest w stanie podrzucić mi coś do delphi co obsługuje modbusa...
Witam, chciałbym wysłać do modułu AB6000 pracującego w standardzie Modbus ramkę danych z funkcją zapisu wielu rejestrów, aby sterować poszczególnymi diodami oraz przetwornikiem cyfrowo analogowym podłączonym do rejestrów przesuwnych 74HC594D. Z odczytaniem wielu rejestrów nie miałem tyle problemów co z powyższym dlatego też bardzo proszę o pomoc bo...
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 Wszystkich :) Już od dawna miałem chęć zbudować sieć komunikacji pomiędzy mikrokontrolerami RS-485 ful-duplex już nawet kiedyś kupiłem sobie 4 szt. max491 z tym zamiarem ale potem do głowy wpadły mi inne pomysły i jakoś nie wyszło. Nie ukrywam że właśnie ten post zainspirował mnie do powrotu do tego projekciku. :) Komunikację podobnie jak kolega...
Ale jak adresować komendy do konkretnego urządzenia. Konwertery musiałyby mieć adresy. czy ktoś spotkał coś takiego. Masz racje musisz wykożystać adresowanie poszczególnych urządzeń Do tego typu połączeń wykorzystywany jest protokół MODBUS. Jedno urządzenie nawiązuje komunikacje z pozostałymi. Wysyła ramkę danych. najpierw adres urządzenia, kod funkci...
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ę...
Oczywiście wiesz że dla modbus rtu musisz w ramce umieścić adres urządzenia które odpytujesz (nie mylić z adresem ip). Poprawnie również skonfigurowałeś parametry połączenia między moxą a urządzeniem (prędkość, parzystość,ilość danych). Sprawdziłeś połączenie jakimś gotowym programem ? Jakiej moxy używasz ? Czy to musi być tryb serwera ?
Witam Załączam procedurkę jaką wykożystuje do oblicznia CRC16 w komunikacji po ModBusie z falownikiem. Całej reszty do komunikacji nie zamieszczam bo w moim przypadku poszedłem po najmniejszej lini oporu - umieszczam w pamięci bajty jakie mają byc wysłane w ramce ModBus, obliczam CRC i wysyłam kolejno wszystko (nie robiłem slave). Nie bawiłem się nawet...
Witam wszystkich. W wątku pojawiała się kwestia odczytu danych z inwerterów Sofar poprzez loggera LSW3. Wiadomo już że da się pobierać dane wysyłając lokalnie do loggera zapytanie TCP na port 8899 z odpowiednią ramką. Pytanie czy ktoś próbował może realizować również funkcje inwertera w taki sam sposób ? Mnie interesuje konkretnie funkcja ograniczenia...
To standardowa ramka modbus tcp, można spróbować od razu w node-red odczytać dane: https://m.youtube.com/watch?v=MY1L8t-10a... Konfiguracja podobna jak programu radzio.
Witam Mam nie wykorzystany panel operatorski Telemecanique Magelis XBT R411 Ponieważ leży nie wykorzystany od dłuższego czasu pomyślałem żeby połączyć go z mikroprocesorem. Podobno może on komunikować się za pomocą MODBUSa, a ponieważ kiedyś bawiłem się MODBUSem chętnie bym sprobował ożenić mikroprocesor i panel razem. Ale jakoś trudno mi znaleźć jakieś...
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...
send_uintUSART1(ramka U kolegi ramka jest zawsze taka sama, ale zgadzam sie DMA nie moze byc uzyte bo dwa ostatnie bajty sa oddzialnych zmiennych i przy takiej strukturze danych nie ma to sensu.
co do RTS to nie mozęsz go wykożystać jeżeli kożystasz z 98 ( błąd w bibliotekach vxd działa tylko w nt i chyba już dobrze w xp). Co do modbus: 1Bajt 1Bajt 2 bajty ******* 2 bajty adres funkcja adresdanych dane crc W modbusie możesz wykożystać funkcje od 65 do 72 oraz 100 do 110 na własny protokół( szczegóły(ModbusApplicationProtocol_v1_1... Wtedy...
Witam. Chciałbym połączyć swój falownik Sofar Falownik 5,5 KTL-X z Grafaną. Czy macie jakiś dobry poradnik, co bym potrzebował (soft) do wysłania po RS-485 danych do Grafany? Mam komputer jako serwer z przejściówką USB na RS-485. Znam Grafanę, odczytuję ramki z falownika poprzez SSCOM, ale nie wiem, co jeszcze trzeba "pomiędzy" do połączenia tej komunikacji....
Dokumentacja opisuje, że adres abonenta, prędkość transmisji i bity parzystości/stopu się ustawia z menu urządzenia. Najlepiej przestaw na inne a później wróć na 9600 8N1. Składałem sam ramkę zapytania (identyfikator kod_funkcji rejestr ile_odczytać CRC) Wstaw jaką ramkę złożyłeś. Możesz użyć programu Modbus Tester z www.modbus.pl, dobrze się sprawdza...
Ja właściwie dopiero zaczynam pojmować język C. Projekt z Modbus'em jest tematem mojej pracy inżynierskiej. Wybrałem go głównie z tego względu, że chciałem się nauczyć języka C. Dlatego czytając dokumentacje tej biblioteki na stronie www.libmodbus.org mam pewnie problemy i jeśli bym mógł to bym prosił Cie o pomoc. Mianowicie zauważyłem, że często pojawia...
Ramka to jest po prostu 8 bajtów na razie, później może jakiś modbus. Na początku chce przechwycić 8 bajtów i potem 8 bajtów odesłać,później będę to rozwijał.
Cześć. Należy pamiętać, że w MODBUS'ie słowa zabezpieczające informacje zależą od trybu transmisji. Na początek może LRC, czyli Longitudinal Redundancy Check - jest on dołączany przez nadajnik jako ostatnie pole ramki, bezpośrednio przed znacznikami końca linii (Carriage Return i Line Feed) w trybie ASCII. Najkrótsza droga do osiągnięcia tego słowa...
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ć...
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)....
Witam, potrzebuje nakierowania w szafie sterowniczej mam VersaMax Micro CPU IC200UDD040. Wstawiłem mu moduł komunikacji RS 485 IC200USB002, mam tam także regulator temperatury SRT=77 firmy simex. Chcę połączyć się poprzez komunikację RS 485 z tym regulatorem i żądać informacji o wartości wskazania temperatury. Błądzę w tym temacie. 1. Regulator Zaciski...
(at)ElektrodaBot Nie chcę używać innych zewnętrznych urządzeń oprócz WiFi Solis Data Logging Stick DLS-WIFI. Chciałbym odczytać napięcie używając Serwer B ,który znajduje się w zakładce Advanced na stronie konfiguracyjnej loggera. Bezpośrednia odpowiedź na pytanie Aby odczytać napięcie z falownika Solis (np. 3P5K-4G) za pośrednictwem wbudowanego rejestratora...
Dlatego, że kiedy powstawał modbus nikt nie myślał o rozwiązaniu jakim jest MPCM, co nie znaczy, że nie da się go zaadaptować. Nie wszystkie procki mają też ten tryb zaimplementowany. Od strony RPi musisz do nadawanej ramki danych dodać bit parzystości/nieparzystości i wykorzystać go do nadawania ramki danych/adresu.
Udało mi sie podsłuchać transmisję powrotną pomiędzy ethernetowym ST-505 i sterownikiem AG-LUX. Wygląda na to że ST-505 wysyła jedynie potwierdzenie podstawowych parametrów sterownika AG-LUX. Cyklicznie wysyłana jest ta sama ramka: 0226FFF401F60034028E003002980F2D02990002... 0226 RAMKA: początek FFF4(65524) moduł ethernet 01F6 Ustawiona temperatura...
Witam, Tak się zastanawiam jak w praktyce ma się niedokładnośc prędkości baudrate UART,a procent błędnych ramek podczas komunikacji (np. dla protokołu MODBUS, przykładowo ramka ma 15 bajtów). Jeden błędny bajt powoduje, że cała ramka jest błędna. Przykładowo dla ATmegi z kwarcem 16MHz i baudrate ustawionym na 57600 błąd wynosi -0,8%. Przypuszczam, że...
Witam, Indeksy i pod indeksy są w CANopen. Podaj przykład ramki dla CANBasic. W ogólności wystarczy w CAN odebrać ramkę i przetworzyć dane tak jak w ModBus, tzn. zdekodować dane. Pozdrawiam,
Witam Walcze z komunikacja miesdzy s7 1200 a falownikiem liteon po modbusie. Falownik raczej jest ustawiony do komunikacji i skonfigurowany bo działa mi z oprogramowania z lapka wysyłając do niego ramkę mam nad nim sterowanie i kontrolę np: ramka zapisu: 01 10 24 01 00 01 02 00 09 03 85 -"uruchomienie z resetem błędu" 01 10 24 01 00 01 02 00 03 83 82...
Witam, chciałbym komunikować ze sobą dwa urządzenia po Modbusie. Sprawdziłem w instrukcjach, że jedno urządzenie może pracować jako Master, drugie jako Slave. Ilość bitów w ramce też się zgadza oraz prędkość przesyłu danych. Coś jeszcze powinienem sprawdzić? Jeśli chodzi o połączenie fizyczne urządzeń: Na internecie jest pełno schematów gdzie kilka...
Witam, Sterownik działa w trybie slave - sam bez pytania nie nadaje. Przy wysyłaniu losowej ramki MODBUS lub jakiego kolwiek znaku zwraca wartość 00 (NUL). Modem do sterownika, fajna sprawa jednak kosztuje swoje (najtaniej znalazłem 199PLN) i korzysta z obcego serwera. Aby zintegrować dane z resztą systemu musiał bym pobierać te dane z internetu i zapisywać...
Gotowego nie ma ale gdyby to był faktycznie modbus to nie byłoby problemu a to raczej nie jest skoro skomunikować się nie mogę. Pytanie do tych którzy czytali jakieś ramki z tego urządzenia, jak im się udało? Czyżbym ja miał jakiś "lewy" egzemplarz? Dodano po 4 Bo już mi ciśnienie się podniosło a chciałem jak najszybciej uruchomić system (chociaż częściowo)....
Witam. Komunikowałem się z programem AMD-F do odczytu danych z falownika. komunikacja była na: ramka 11-bitowa dla znaku 8 bitów czyli 8,N,2 Uruchomienie falownika odbywa się za pomocą adresu 2000H czyli wysłanie 12h czyli praca w lewo. Jak skomunikować się z twido ;/ %MW0 := 16#0012 ;/ Czy ktoś próbował komunikować się z podobnym sterownikiem. Pozdrawiam.
Czy kiedykolwiek zdarzyło Ci się użyć terminu UART tylko po to, by zostać poprawionym przez innego inżyniera, że nie jest to UART, ale USART? W pewnych przypadkach oba te terminy są zamienne, ale w wielu innych używanie ich wymiennie jest niepoprawne. Przyjrzyjmy się, czym dokładnie są USART i UART, a także jakie są pomiędzy nimi główne różnice. Większość...
Międzyczasie znalazłem fajną, acz drogą rzecz. To popatrz Waść co proponowałem w #14 Jest tego więcej https://eletechsups.com/new-product-area... niestety obsługa przez modbus rtu więc przez PLC, HMI lub mikrokontroler ewntualnie PC. Na marginesie język LAD (drabinka) dla PLC powstał by łatwo dało się przenieść logikę zbudowaną na przekaźnikach...
Master wysyła ramki z zapytaniem o status wykonania rozkazu Jakiego rozkazu ma do tego używać? Przykładowa sytuacja: Master wysyła rozkaz WRTE_HOLDING_REGISTER (0x06) Slave obiera sprawdza poprawność ramki (suma kontrolna, rozkaz, zakres adresów, poprawność danych) i odsyła ramkę zwrotną, rozpoczyna się wykonywanie rozkazu (skutkujące przepisaniem...
Format ramek Modbus dla poszczególnych rozkazów http://www.modbus.org/docs/Modbus_Applic... Uzupełnienie dla transmisji szeregowej, w tym sposób liczenia CRC metodą tablicową: http://modbus.org/docs/Modbus_over_seria... Przygotuj ramkę bajt po bajcie w kolejnych rejestrach, wylicz CRC i wyślij. Po otrzymaniu odpowiedzi...
No rozumiem że prosty, jak będzie chciał, to może nawet zrobić proste wysyłanie danych "w przewód" bez potwierdzania i kontroli poprawności odebranych danych z powiedzmy przerwą o wartości czasu trwania kilku znaków rozdzielającym ramki. Na początek dobre i to, dodanie CRC to już mały kłopot. Później niewielka modyfikacja ramki (adres urządzenia, numer...
Cześć W moim systemie wiadomość przesyłana jest drogą radiową wygląda jak RTU z protokołu MODBUS zakładam, że procedura przerwania powinna jednorazowo odebrać całą wiadomość chyba, że macie inną propozycje) W tym celu zapętlam w przerwaniu żelazną fukcję odczytu (z użyciem nIRQ) (cisza na linii)> 3,5T (gdzie T oznacza czas transmisji jednego znaku)...
Podejrzewam, że przez 15 sekund to miał na myśli ogólny slave response timeout. Danych na tym liczniku nie jest aż tak dużo, aby przy standardzie 9600 czytanie danych zajęło więcej niż 1 sekundę. Na delay beetween polls ustaw 0.5 sek. max. (możesz nawet mniej). Generalnie modscan32 jest kiepskim narzędziem jeżeli próbujesz rozwiązać kłopoty z komunikacją....
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...
Moim zdaniem odbiór przez DMA sensu nie ma. Istnieją opublikowane rozwiązania z buforem cyklicznym i DMA, których niektórzy Koledzy z forum używają z powodzeniem - i to działa, chociaż moim zdaniem jest to przerost formy nad treścią. uC bez problemu poradzi sobie z przerwaniami odbioru UART. Tu nie do końca się zgodzę, stosuję odbiór przez DMA przy...
Modbus RTU to jest specyfikacja ogólnie dostępna. Jeżeli jakieś urządzenie spełnia tą specyfikację to powinno być to kompatybilne z każdym innym urzadzeniem lub programem obsługującym ten protokół. Wysyłam ci program demo do testowania urządzeń modbusowych. Ja go używam do testowania moich modułów. Tylko mam problem z 485 bo winda98 nie obsługuje togle...
Z odbiorem już sobie poradziłem. Pojawiły się naszeptujące pytania ze specyfikacji modbusa dowiedziałem się że ramka w trybie ASCII składa się 16 bitowych danych. W RTU natomiast z 8 bitowych. Jednak w kazdym programie do testowania po ustawieniu liczby rejestru na 4 (tak mam w programie na procesor) zamiast rejestrów 4 rejestrów przypadających na każdy...
ramka danych modbus ascii ramka modbus ramka danych
rozszczelnienie lodówki motogodzina zetor schemat instalacji zafira
przetwornica philips przetwornica philips
Piecyk gazowy Ariston - zawór ciepłej wody nie działa Jak usunąć Błąd 50 w Brother DCP-6690CW?