0204h FRAMING_ERROR Framing error detected, response discarded. Sprawdź czy na pewno masz poprawne parametry transmisji, tj. prędkość, parzystość, bity stopu oraz sprawność przewodu.
Wybierz modbus rtu/ascii over tcp
Kolego - Ja mam pytanie - Gdzie i jak zadeklarować rejestry MW aby czytać je zewnętrzną SCADĄ. Podłączyłem wszystko, komunikacja działa, odczytuję I, Q. IW natomiast przy odczycie Holding Register występuje błąd "Illegal adres". Sterownik mam oprogramowany jako Modbus RTU slave. W s7-200 deklarowało się adres początkowy i długość obszaru dla modbusa...
1. Czy miernik obsługuje Modbus RTU czy Modbus ASCII? 2. Czy parametry transmisji poprawnie ustawione w programie do odczytu? 3. Czy czytasz właściwe urządzenie (adres Modbus)? 4. Czy czytasz właściwe zasoby? 5. Czy nie przekraczasz ilości zasobów w pojedynczym zapytaniu (np. czytasz nie więcej niż x-rejestrów - do sprawdzenia w dokumenctacj imiernika...
I want to write the active power output limit in % on the 0x901 (2305 decimal) register. I will share the frame I'm sending to the inverter.
U mnie działa :D sInitError i sMasterError nic nie zarejestrowały? (przynajmniej master powinien widzieć timeout) W kabelkach na pewno nie masz pomyłki? Na module CM piny 8 i 3?
Da się zrobić multimaster. Czytam modbus sterownikiem s7-1200. Sterownik odpytuje dane 2 razy na minutę - a w czasie gdy nie odpytuje oddaje skrętkę konwerterowi RTU<>TCP poprzez przekaźnik dwutorowy. Na konwerterze Lumel ustawiłem timeout odczytu na ok 15 sekund - eksperymentalnie. Jeżeli taka częstotliwość odczytu danych jest wystarczająca to...
Czyli ramka będzie wyglądała tak (Chcąc odczytać 3 rejestry): 5 3 4000 3 CRC. Nie wiem jak określić CRC. I taką ramkę mam wpisać do programu symulującego mastera, tak? No i już wiem, że komunikacja nie działa, bo w tym programie mam Valid Responses:0, a tylko błędy rosną i komunikat Modbus message timeout.
Do konwertera modbus<-->Wifi Elfin EW11 podłączony mam inverter i dodatkowy dwukierunkowy licznik SDM630. W pythonie napisałem wtyczkę dla domoticza, wyświetam i rejestruje tylko interesujące mnie parametry. Z oryginalnego loggera niewiele wyciągniesz (czy to przewodowego, czy WiFi) ... taki gadget na potrzeby chmury. Używam też EW11 i udało...
Jeśli masz jeden slave na magistrali to możesz szybko odpytywać,ale czym więcej masz urządzeń na magistrali tym cykl się wydłuża i jeszcze musisz obsłużyć timeout
Witam. Pisze program, ktory komunikuje sie w Modbusie. W trybie RTU znak poczatku i konca ramki to 3xdlugosc trwania pojedynczego znaku. Ramka jest poprwana, jezeli pomiedzy kolejnymi odbieranymi znakami nie bedzie wiekszej przerwy niz 1.5xdlugosc trwania pojedynczego znaku. I tu lezy problem. Jak sprawdzac te odstepy. Standardowy timer ma za mala rozdzielczosc,...
Dokładnie takie ustawienia jak piszesz, ale prócz tych to mnustwo innych :|. Modsoft'a używam pod DOS'em, a COM jest raczej dobrze ustawiony (czyli na COM1), ponieważ np. przy próbie załadowania programu na sterownik miga dioda "comm1" czyli sterownik jakby odbiera sygnał z PC ale PC nie odbiera sygnału ze sterownika - może kabel walnięty?
80C8 Slave timeout. Check the baud rate, parity and the connectors on the slave. Czyli brak odpowiedzi. Teraz musisz sprawdzić prędkość, parzystość, okablowanie (może zamieniony + z -?). Adresu rejestru modbus jesteś pewny? Funkcja na pewno 3?
1. Interfejs nie jest izolowany galwanicznie 2. Jakość przewodu wydaje się dobra - na moim testowym odcinku 900m nie było żadnych problemów. Sugerujesz uszkodzenie które można sprawdzić multimetrem? 3. Niestety nie miałem jeszcze możliwości zbadania problemu na obiekcie... stąd nie badałem przebiegów oscyloskopem. Pozdrawiam! Sławek
Zrób to na strumieniu, a nie BinaryReader. Ponadto, rozumie że to zagadnienie się tyczy Modbus TCP ? :D Jeśli tak to po co mierzysz ten czas? Idea jest taka że Modbus serwer odpowiada na żadanie klienta. W takiej sytuacji wiesz kiedy sie spodziewać datagramu i ile tych danych będzie
No to też zmień to self.portdev.setTimeout(timeout) nad self.portdev.timeout=timeout w mbusclient.py
Witam, szukam informacji o tym czy i jak można się podłączyć do sterownika pompy ciepła Kaisai Arctic KHC-12RY3-B za pomocą modbusa Próbuję za pomocą konwertera rs485/usb serial (ch340) i laptopa z Windowsem, ale żadnej komunikacji nie udało się nawiązać. Łączę się rs485 przez dwa przewody do złącz H1 i H2 w panelu kontrolnym pompy. Oprogramowanie to...
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...
No ale w jaki sposób zagwarantujesz, że Twój kod wykona się zaraz po otrzymaniu zapytania? W Modbusie jest timeout, jeśli ty zaś odpowiadasz na sztywno co około 300ms, to jak ma to działać? Równie dobrze może być tak, że odpowiedź do panelu wysyłasz po 299ms od wysłania zapytania - wtedy panel już nie czeka na nic. Przy okazji po zakończeniu Twojego...
Ten parametr "DB_MODBUS_RTU".MB_MASTER_Instance.BLOCK... jest ustawiony domyślnie na 3.0. Timeout mam ustawiony na 200ms więc wydaje mi się że wszystko jest ok.
Jeśli chodzi o parametry to muszę pracować na prędkości 9600 baud/sec gdyż ta prędkość jest wspólna dla wszystkich urządzeń modbus slave, więc z prędkością transmisji nie grzebałęm. Zmieniałem czas timeout do 250 ms ale problem dalej występował. Domyślnie mam czas timeout ustawiony na 100 ms. Jeśli chodzi o obsługe modbusa w sterowniku XC200 to są na...
Próbowałeś wydłużyć timeout do powiedzmy 1s ? podasz typ czujnika ?
Witam Próbuję napisać prosty program do odczytu danych z licznika LE-03M (http://www.fif.com.pl/produkt/1543/1203... Stworzyłem projekt i dodałem bloczek w Fupli - Init Client RS, ustawiając parametry komunikacji: Channel: Channel 1 Serial port: Port 1 Line type: RS485 Transmission speed: 9600 bps Bits-Parity-Stop: 8-N-1 Protocol: Modbus/RTU Timeout[s]:...
Przejściówki wnoszą opóźnienie, w pewnych warunkach absurdalnie duże. Dane na UART przychodzą bajt po bajcie, ale nie można ich bajt po bajcie wysyłać przez USB - maksymalna przepustowość USB wyniosłaby wtedy 1000 B/s. Przejściówka ma bufor danych od kilkudziesięciu B do kilku kB i czeka z przesłaniem danych na jego wypełnienie lub inne kryterium, np....
Bardziej szukałbym parametru typu okres odpytywania (polling period czy coś w ten deseń) - to co pokazałeś tylko timeout po którym brak odpowiedzi uznawany jest za błąd, więc jeśli Twoje urządzenie odpowiada za każdym razem, to raczej nie powinien on mieć żadnego wpływu. Jeśli masz możliwość, to można też przy pomocy wiresharka zobaczyć ile mija czasu...
Tematu nie porzuciłem, spokojnie :) Poczytałem trochę o klasach, bo przyznam się szczerze, jakoś do tej pory traktowałem to po macoszemu. Poczytałem o modyfikatorach dostępu, klasach i zmiennych statycznych, getterach i setterach. Wobec poszerzonej wiedzy - stary program wrzuciłem radośnie do śmietnika i napisałem nowy wykorzystując kilka funkcji ze...
Witam Uaktualniam sterownik (na bazie ATMEGA AVR) tak aby można go było programować poprzez RS485 protokół MODBUS ASCII. Mam problem jak powinna wyglądać obsługa rozkazów które wymagają długiego czasu wykonania (max 8 sekund. Jeden z rozkazów powoduje przepisanie parametrów z RAMu do EEPROMU 1kB.) tak aby uniknąć timeout ze strony serwera (zdalne programowanie...
Sprawdź to osobiście, kolego. Podłącz licznik z adr. 6, ale odpytuj adres 5. Odpowie czy nie? - w takiej sytuacji jest TimeOut Nie odpytuj 10 kolejnych rejestrów, tylko skup się na jednym. - odpytujac 1 rejestr ta sama sytuacja Jeśli TimeOut to bajki z internetu masz już za sobą. W takim razie koniecznie sprawdż następujące podłączenie: Przewód (koniecznie...
Jeśli czekasz tylko na DONE, to w przypadku braku komunikacji się nie doczekasz. Pokaż ten kawałek programu odpowiedzialny za komunikację. Zawsze kiedy nie ma się z kim dogadać, powinieneś dostać Error i status timeout. Pytanie co wtedy robi Twój program?
http://obrazki.elektroda.pl/5598908500_1... Ustawienie %T5 dalem z 3 sekundowym opoznieniem i coś ruszyło... Ale chyba nie do końca.... Wydaje się jak by pytane było tylko jedno urzadzenie... A sprawa wygląda tak.. WPięte jedno urzadzenie na lini, a pozostałe 4 nie... To transmisja powinna wyglądać tak ze pytanie do pierwszego , odpowiedz...
Wątpię by dożył tego że go nadpisze. W kodzie jest Wait 1 więc to licznik sekund. Na szesnastoznakowym zmieści 9999999999999999s a to podzielone przez 3600 dla każdej godziny i 24 dla każdej doby daje 115 740 740 740,7407 dni :D Program jest kiepsko napisany. (at)grafii1 Może uC reaguje na pierwszy znak i ledwo zdąży nadejść drugi a trzeciego jeszcze...
Musisz złapać błąd do osobnej zmiennej, tzn. jeśli error to kopiuj status. Jeśli wszystko jest dobrze skonfigurowane, a urządzenie nie odpowiada, to powinieneś dostać błąd o przekroczeniu czasu odpowiedzi (80C8 - slave timeout). Pokaż obrazek z bazy i z wywołania bloku.
http://downloads.industrial.omron.eu/IAB... Od strony 222 jest opis modbusa. Może cała sprawa rozchodzi się o przełącznik DIP SW7 Nie wiem jaki masz konwerter rs232/rs485. Kabel z pinu 5 i 6 podłącz odpowiednio do A i B w konwerterze. Ewentualnie...
Dzień dobry. Dodam do wątku trochę informacji z moich doświadczeń. Ze względu na niestabilność odczytu tcp/modbus postanowiłem spróbować połączyć się via rs485. Używam rpi-zero + "rs485/can hat" Sorry for the late reply. I had a meeting with our R&D engineers and DTU designing engineers yesterday. They will update a new firmware instead of making tools...
Też tak mi się wydaje, jednak mam problem z biblioteką do modbus RTU, gdyż resetuje mi mastera (mega2560), jak mi sie udało zdiagnozować, prawdopodobnie w wyniku timeout potwierdzenia ramki. https://github.com/smarmengol/Modbus-Mas... Ale pewności nie mam, walcze z tym od kilku dni i dostaje ... nie powiem czego....
Witam, Czy ktoś z forumowiczów ma doświadczenie z uruchomieniem komunikacji Modbus TCP (Klient) w PLCNEXT ENGINEER ? Mam pewein problem. Zasada działania komunikacji podzieloną mam na 3 stany. W pierwszym stanie wykonuję blok inicjalizujący modbusa TCP, następnie w drugim stanie gdy inicjalizacja się powiedzie wykonuję blok do odczytu jednego Holding...
Przy prędkości 57k osiągam 50 ramek z odpowiedzią. Oznacza to czas 20ms na ramkę. To są ekstremalne osiągi na PLC RX3 i BECKHOFF. Timeout ustawiony na 35ms.
Dzięki za odzew. Niestety wiem tyle co podałem w pierwszym poście. Modbus jako taki nie jest dla mnie problemem (pisałem własne programy na avr z obsługą modbus rtu) Producent kotła nie przyznaje się do implementacji modbusa i nie udostępnia żadnych danych. Pytam czy ktoś próbował dogadać się z tym kotłem ? Może ktoś ma jakieś informacje o protokole...
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...
Próbuję uruchomić modbus dla Sun2000 i wifi dongle (najnowszy firmware na obu, aktualnie nie mam profilu instalatora na nim, ale przed uruchomieniem w paz'21 zaktualizowałem do najnowszych ..). Wtedy w konfiguracji widziałem opcję modbus na RS486 (i była włączona), ale nie było czegoś takiego dla wifi.. Urządzenie jest online, dane dostępne w FusionSolar...
Czy zmienna złożona typedef struct Modbus { volatile char ErrorFrame; volatile char ErrorOrder; volatile char TimeOut; volatile char Message; volatile char SendBlank; volatile char SupervisorTimer; volatile char ErrorAddress; }FlagProtocol; volatile FlagProtocol FlagModbus; zostanie zainicjowana automatycznie (do wartości 0) ?
Proszę o pomoc jak zapytać mój inwerter o dane (QPI, QPIGS) nazywa się SUB 5000, dołączam protokół wysłany przez producenta , proszę o przykład w HEX ascii , chyba nie jest zgodny z QPIGS , wysyłając takie coś odpowiada na dane , jedyne co mogę odczytać. [22:00:23] <= Response: 01 03 08 00 00 00 00 00 00 00 00 95 D7 [22:00:23] => Poll: 01 03...
Jeśli chodzi o cmd_timeout to chodzi o to, że wejscie RX kiedy pin używany jest przez USART nie jest niczym podciągane. Kiedy jest podłączony do drugiego urządzenia np. procesora lub MAX485 to problemu nie ma bo pin jest podciągany wyjściem TX tego uC lub MAX485. Kiedy jednak odłączysz to na pinie stan jest nieustalony i wpadają na USART śmieci. Ten...
(at)kornik280 Nie przejdzie walidacji ramka numer 1. Dodatkowo odrzucisz ramkę numer 2. Więc słabo to wygląda bez odmierzania timeoutu.
Nie chce mi się wszystkiego sprawdzać ale: - jeśli VersaMax to adresowanie 40000 a nie 400000 czyli ma być 5 tam gdzie masz 6 (register size(digits) ma być 5); - adresowanie będzie więc 10001(%I), 30001 (%AI), 40001(%R), Z tego co widzę w logach masz "timeout" czyli brak odpowiedzi być może z tego co napisałem powyżej.
Jeśli to Twój pierwszy raz to czeka Cię poważne zadanie, jeśli chcesz to zrobić przyzwoicie a nie od nogi. Medium komunikacyjune pewnie serial. Natomiast po pierwsze musisz pomyśleć o protokole komunikacji, który musi być zaimplementowany po obydwóch stronach. Osobiście sugeruję protokół znakowy z delimiterami początku i końca. Wewnątrz coś na wzór...
Witam, Mam dwa różne programy: MODBUS_TCP_IP [syntax=c] IP_ADDRESS_Kotlownia : STRING := '192.168.10.212'; FBTimerWait : TON; FB_MBConnect :FB_MBConnect; fb_ModbusTCP_4 :fb_ModbusTCP_4; fb_ModbusTCP_06 :fb_ModbusTCP_06; FB_MBClose :FB_MBClose; ModbusTCP_4_Busy :BOOL; ModbusTCP_4_Error :BOOL; ModbusTCP_4_errorID :UDINT :=0; ModbusTCP_4_cbRead:UDINT;...
Wszystkie parametry komunikacji takie same i tak Timeout ma być większy od najwolniejszego urządzenia . Dobrym sposobem byłoby sprawdzenie transmisji jakimś darmowym programem na laptopie .W miarę łatwo jest wychwycić co gubi transmisję. Oczywiście może się zdarzyć , że komunikacja się traci przez obce urządzenie.
bo.... to nie jest dobrze opisane... Masz dwa tryby komunikacji MODBUS: ascii oraz binarny (RTU) - ale to jest to co wysyła komputer bezpośrednio serialem do układu RS485 (modułu) i dalej leci w szynę i do urządzeń. Część urządzeń nie obsłguje ASCII.... Jest mnóstwo oprogramowania, które komunikuje się z urządzeniami MODBUS poprzez TCP... i tu są dokładane...
gervee , dokładnie - chcę czytać zawartość sterownika przez Modbus :) z tego co wyczytałem w helpach, blok "Modbus Slave Communications" musi być poprzedzony blokiem "Open" (otwarcia portu). Więc wrzuciłem w sterownik programik, gdzie w szeregu mam styk ALW_ON (czyli zawsze zwarty), następnie "Open" i kontrolkę M1, a w kolejnej linii w szeregu z M1...
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 Dziękuje za zainteresowanie. Połączenie między Tesys T a panelem jest po modbusie firmowym kablem XBT Z938. Z tymi rejestrami zdążyłem się zorientować w między czasie, już wyciągnąłem sobie informacje o prądzie i napięciu. Okazało się, że Tesysa też trzeba odpowiednio przygotować. Pozostaje jeszcze kwestia wyświetlania informacji o rodzaju zakłócenia...
Witam,pojawia się okienko z komunikatem brak połączenia z plc a gdzie tych timeoutów szukać? ftp://ftp.weintek.com/MT8000/eng/UserMan... Jeśli dobrze rozumiem to w ramach tych adresów szukać "statusu" połączenia?
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...
Ok w konfiguracji portu miałam 4-wire i tu był mój błąd, ale po zamianie na 2-wire dostałam błąd 1 5 = Timeout. (to jest przy połączeniu rs485 (sterownik) z rs232 (komputer) ) sprawdziłam połączenia port 1 (rs232) z komputerem (rs232) za pomocą ModbusView i wszystko działa prawidłowo. przy połączeniu port 1 (rs232) z falownikiem ( 2-wire) przy pomocy...
No tak, ale czy nie zauważyłeś (Ty lub ktoś inny - zapraszam do dyskusji każdego (; ) tego "efektu", że przestawiając się na assert() czasem ciężko stwierdzić który błąd powinien być obsługiwany (zostawiony do obsługi błędu) a który powinien być traktowany jako bug, czyli wyłapany przez assert()? Bo jak dla mnie w programie którym się teraz zajmuję...
Witam ponownie Jednak okazało się, że jest trochę strasznie :) (a przynajmniej moja widza nie pozwala tego odpowiednio ogarnąć) Biblioteka "ModbusFXSlave_V100" została dodana do mojego programu ale póki co udało mi się co najwyżej odczytać kilka zer i jedynek o bliżej nieokreślonej treści. Na początek mam kilka pytań: 1. Czy przy definiowaniu parametrów...
Dziękuję za potwierdzenie:) Dodano po 3 Mam jeszcze takie pytanie - w ramach jednej funkcji, instrukcje warunkowe typu if () nie modyfikują stosu? Chodzi mi konkretnie o cos takiego: Dodano po 3 pewnie nie, w asm będą to jakieś krótkie skoki warunkowe... Bardzo lubię w C rozkaz goto, łacznie z if skok warunkowy, główna atrakcja z asm:) Dodano po 6 Ok,...
(at)elkam: O dokładne źródło pytałem, bo rysunek być może kiedyś mi się przyda. Ale wtedy nie będę mógł uzasadnić jego wiarygodności stwierdzeniem "znalazłem go na elektrodzie". A powołaniem karty katalogowej konkretnego układu owszem. Co do opadających rąk... W specyfikacji Modbus używa się pojęć request/response. Request jest tłumaczone na polski...
Odświeżanie rejestrów Modbusa zwykle odbywa się co abstrakcyjnie długi czas wynoszący jedną sekundę, czasem można sobie zejść do 100 ms, niżej nie ma sensu, bo timeouty odpowiedzi które się zwykle używa już są dłuższe. Wszystko zależy od projektu, mam przypadki gdzie tysiące ramek powinny przejść jak najszybciej, bo nowe dane są dostępne "od razu".
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ą....
Udało misię skomunikować: Nie pobieraj całości tylko te wartości, które Cię interesują. Skoro chciałeś informacje ze stringów to: Teraz zabieram się do rozszyfrowania. Tu nie ma co rozszyfrowywać, opis poszczególnych wartości masz podany w poprzedniej wiadomości. "rozszyfrowaniu" to daje: [syntax=bash]PV1 voltage 512.2 V[/syntax]napięcie na pierwszym...
Pozwolę sobie podpiąć się pod temat... Mam problem ze skomunikowaniem się z panelem HMI Kinco MT4434T. Zainstalowany soft Kinco HMIWare v2.5 na laptopie z portem RS232. Kabel komunikacyjny RS232,sprawny, "z przeplotami" (pin 2 na 3, oraz pin 7 na 8 i GND na 5) podpięty do COM0 (na COM2 też nie działa) W nowym projekcie dodany odpowiedni panel, PLC wybrany...
Witam, Aktualnie męczę się z nawiązaniem komunikacji z wyświetlaczem 4-cyfrowym. Dołączam instrukcję do wyświetlacza w załączniku. Problem polega na tym że przy próbie komunikacji pod Modbusie przez adapter usb do komputera i zadaniu odpowiedniej wartości na adres 2 Funkcja 16 Write registers wszystko śmiga i cyfra zostaje wpisana na wyświetlacza, natomiast...
Wielkie dzięki za odpowiedz. Faktycznie ta opcja nie byla zaznaczona. Po kompresji program mieści sie na Atmedze. Jednak nastał kolejny problem. Po skonfigurowaniu programu Modbus Poll wywkakuje błąd "timeout error". http://obrazki.elektroda.pl/2567258300_1... Po czym wykorzystując opcje " Read/Write definition" konfiguracja wygląda...
(at)Wojciech. Nie, chcę zbierać dane z miernika i je archiwizować, np. na karcie pamięci, ewentualnie wysyłać je w jeszcze nieokreślony sposób do jakiegoś komputera (serwera). Ostateczne rozwiązanie w zasadzie nawet pewnie nie będzie stricte na Arduino, może to być nawet własne PCB z AVR lub innym układem. Sięgnąłem po Arduino bo mam je pod ręką i...
Witam serdecznie. Piszę z prośbą o pomoc przy zaprogramowaniu w/w sterownika PLC. Mam do wykonania most umożliwiający wpięcie w sieć ProfiBus starszego typu urządzenia przygotowanego do pracy w sieci ModBus. Problem pojawia się w momencie wysyłania ramki ModBus ze sterownika do urządzenia poprzez port rs232 (wykorzystany moduł to wago 750-650). Standard...
(at)Rariusz Wołam z pomocą :) Postawiłem sobie server na arduino na bibliotece mudbus.h. Wysyłam dane analogowe itd. Generalnie jak odpalę jakiś clienta w symulatorze, to mogę jednocześnie odbierać i wysyłać dane na server( jak dobrze rozumiem idee). Problem jest, jak zacznę to implementować na sterowniku Beckhoff. Jestem wstanie, pobrać dane z arduino...
(at)michalzd mam już węzeł funkcja od kolegi z forum domoticza. Zostaje temat tylko jak ogarnąć dane z rekuperatora aby nie było 199 tylko 19,9. Obecnie poleca mi dane jakie wysyła rekuperator. [ { "id": "e03d6e55aef23111", "type": "function", "z": "972c9476422a46d9", "name":...
Dzień dobry, próbuję połączyć się sterownikiem Siemens S7-1200 z modułem (signalBoard) CB1241 za pomocą ModBusa z sumatorem tensometrycznym firmy Wobit ADT42-i. Brak odzewu. Prędkość, parzystość, bity danych, bity stopu i adresy są ustawione tak samo. Ciągle mam błąd 80C8 - "Slave timeout. Check the baud rate, parity and the connectors on the slave....
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...
Czytanie (1,2,4) może nie działać bo powinno być (1,2,2) tam masz w tabelce WORDS i takich ilości się trzymaj, chyba że liczysz na odczytanie wieleu rejestrów po sobie hurtem, ale nie wiem czy to tak potrafi. Rozumiem że główny kłopot miałeś ze składaniem 16 bit w 32bit? Pamiętaj że jak w tabelce będzie kropka przy "signed" to składa się inaczej. Prawdopodobnie...
Witam, muszę napisać część kodu w C, której zadaniem będzie wykrywanie urządzeń podłączonych do magistrali. Posiadam 5 modułów I/O, firmy Lumel, wszystkie moduły połączone są szeregowo i łączą się z komputerem za pomocą Uport1130 RS 232/485. Adresy urządzeń skonfigurowałem odpowiednio od 1 do 5 (za pomocą programu dostępnego na stronie producenta),...
Witam. Piszę na sucho program (bo nie mam PLC) i tak sobie czytam instrukcję oraz znalazłem w necie przykłady. Tylko że jest dziwnie. W tym artykule: https://obrazki.elektroda.pl/3379927300_... No i zgłupiałem całkiem. Jak wpisanie 0 powoduje zatrzymanie napędu jeśli w dokumentacji "STOP" to jest wpisanie 1 na bit 0 (1 dec)? Czy ten...
Hej Jeśli cena gra dla ciebie rolę, to 'renomowana' firma GINKO ma EVC-8004, EVC8001 oraz EVC-8013B. EVC-8013B jest izolowana, ma też RS232 i jej używałem. W środku układy od ANALOG DEVICES, wiec nieźle zupełnie. MOXA to nie jest, ale nie kosztuje jak MOXA :) Przejściówki 2 przewodowe za 7-15zł sobie daruj. Generalnie działają, ale generalnie to nadają...
Witam, Posiadam sterownik plc Kinco k506-24AT i Miernik Lumel N30U. Chciałbym je połączyć w Modbusie RTU żeby sterownik mógł ściągać dane z miernika. Ale niestety jeszcze nie mam do końca na tyle doświadczenia żeby to samemu rozgryźć. A mianowicie chodzi tu o to że sygnały A i B połączyłem dobrze, prędkości te same ustawiłem,port 1 w plc ustawiłem na...
Co powiedział producent bez tłumaczenia Google ? ;-) (7 transmisji przez konwertery to 630 ms; 7 transmisji bezpośrednio to 593 ms) - mniej niż 10 % różnicy. To teoretycznie może mieć wpływ, ale - szczerze - nie powinno. Wyszło na to, że jednak ma to wpływ. Normalnie mastera Modbus pisze się tak, żeby tolerował wahania czasu odpowiedzi slave - następna...
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...
Czy możesz sprawdzić ten przepływ do domoticza? Nie zapisuje poprawnie logów (at)ElektrodaBot
Nie robiłem komunikacji na s7-200, ale na s7-300. Ale błąd nr 3 - przekroczony czas odpowiedzi Timeout. Brak połączenia z urządzeniem Slave. Możliwe przyczyny błędu to kable, różnie nastawione prędkości w masterze oraz slave, inne nastawy korekcji błędów parzystości lub niewłaściwy adres urządzenia slave. błąd 6 -zajęty kanał komunikacyjny. tylko jedna...
Musisz wywoływać wszystkie bloki sekwencyjnie i czekać na sygnał zakończenia każdej czynności, tzn. aż MB_CLIENT zwróci DONE lub ERROR. Wywoływanie ze stałym interwałem nie jest dobrym pomysłem, bo zawsze może się zdarzyć jakiś timeout albo inne opóźnienie dla pakietów. Proponuję zrobić pełną komunikację z jednym klientem w bloku FB, dla której parametrem...
Zwykły komponent TTimer raczej nie da tu rady. Trzeba operować znacznie mniejszymi czasami, niż te, dla których TTimer gwarantuje przyzwoitą dokładność, gdyż działa on w sposób zadowalający dla rozdzielczości czasowej większej, niż typowe okresy przełączania wątków. Kiedyś robiłem coś takiego, ale chyba nie dogrzebię się już do kodów. Pamiętam, że odczyt...
Spróbuj z tej strony: http://www.rs485.com/ zrobiłem parę wersji podobnych do twojego i w zasadzie działały ale przy bardzo wolnej transmisji 2400 a przy wyższych dużo timeoutów .Mój to na wejściu MAX 232 wyjście SN75176 lub MAX 485.Do txd i rxd z MAX 232 dołożyłem 74HCT14 do sterowania nadawanie-odbiór (pin3,2 MAX 485 )część schematu np.USB44T z powyższej...
Witam mam taki problem. Pod panel HMI LS eXP40-TTA/DC mam podpiętych 17 sterowników z każdego sterownika odczytuje cyklicznie co 10 sec. po ok 5 rejestrów ( temperatura i stany wyjść przekaźników w sterownikach). Wszystkie dane wyświetlane są na ekranie głównym HMI i wszystko działa ładnie ale w przypadku wyłączenia kilku sterowników (wyłączając im...
Mam konwerter USB-RS422/485. Widziany jest jako wirtualny COM3 w systemie. Gdy program wysyła ramkę zapytania, miga dioda Tx w konwerterze, ale brak jest odpowiedzi - dioda Rx nie reaguje. Po podłączeniu oscyloskopu na zaciski Data+ Data- miernika widać ramkę zapytania i po ułamku sekundy ramkę (chyba) odpowiedzi miernika jednak dioda w konwerterze...
Cześć !!! Protokoły RS-485 różnią się od RS-232 dość znacznie. Po pierwsze takich terminali wagowych na jednej linii RS-485 może być kilka więc protokół musi uwzględniać adresację urządzeń. Po drugie konieczna jest jakaś forma sterowania magistralą. Np. okno czasowe lub ustalone timeouty. Komunikacja w RS-485 odbywa się najczęściej drogą pytań i odpowiedzi...
--> koval_s Praktycznie od samego prawie początku stosuję tylko RTU. Ze względu na ściśle określone zależności czasowe - troszkę trudniej (niż DP) go opanować w procesorze, ale jak ktoś dobrze przemyśli przerwania systemowe i opanuje czasy procedur (ciężko to zrobić w C), to raczej nie ma problemu. Znacząco gorzej jest budować oprogramowanie w PC -...
Witam! Format ramki Modbus TCP znam: Transaction Identifier - 2 bajty, Protocol Identifier - 2 bajty, Length Field - 2 bajty, Unit Identifier - 1 bajt, Function Code - 1 bajt, Address - 2 bajty, Quantity of Input Registers - 2 bajty. No i przykładowa ramka, która by mnie interesowała wygląda tak: 0000 0000 0006 01 03 0001 0008 (czytaj 8 Holding Register...
https://obrazki.elektroda.pl/1646087900_... Przedstawiam mały poradnik, jak połączyć się z urządzeniami wyposażonymi w port szeregowy przy wykorzystaniu sieci LAN. Można w ten sposób podłączyć dowolne urządzenia z portem szeregowym, jak różnego rodzaju sterowniki, liczniki itp., komunikujące się w dowolnym protokole - zaczynając od...
Mógłby ktoś podsumować jakiego typu kabel należy użyć do podłączenia tego falownika ? Dzisiaj próbowałem nawiązać komunikację z faownikiem LS IG5A poprzez przejściówkę usb-rs485 (MP1512) no i niestety nie udało mi się uzyskać komunikacji. Próbowałem odczytać 10 rejestrów typu Holding Registers lub Input Registers od adresu 0001 ale zawsze wyskakiwał...
Tablica LUMEL DL 12. Dokumentacja na foto. Dodatkowo przesyłam programik który służy do konfiguracji. Mam ustawione tak: Tryb 8n1, Prędkość 9600, Adres 1. Wiersz 1 rejestr 7501 , wiersz 2 rejestr 7502. Urządzenie dołączone TimeOut 500, urządzenie 1: adres 1, adres bazowy 7501, liczba rejestrów 1, typ rejestru int. , urządzenie 2 : adres 2, bazowy 7502...
Czy nie prościej interpretować odbieraną treść, a timer pozostawiając tylko do ew timeout-ów? A problemy Twoje to podejrzewam że cześć pakietu poszla jednym buforem a część drugim z długa przerwą pomiędzy nimi. No i pakiety sie rozjadą - bo nie analizujesz treści komunikatu tylko uważasz że czas warunkuje odebranie ramki. Mógłbyś nieco rozwinąć temat?...
Witam. Nie wnikałem za bardzo w kod ale.. zacznij od uproszczenia funkcji odpytywania -tj wysyłania ramek przez UART. Zrezygnuj na początku z przerwań i po prostu wykorzystując pooling wysyłaj w pętli ramki. (Jak dojdziesz co jest nie tak, wtedy zaimplementuj przerwania:) Np by odczytać wartość rejestru spod adresu 100 wysyłasz: Bajt1 (Adres modbus)...
Witam, Zacząłem obsługę standardu MODBUS RTU. Na wstępie wziąłem pod rozpatrzenie biblioteki FreeMODBUS BerliOS. Udało mi się to uruchomić wstępnie bez problemów dla AVR na prockach typu ATmega8 czy ATmega32 działa ok Tylko pytanie: Czy ktoś używał z szanownych kolegów tych bibliotek (już nawet nie ważne czy dla AVR czy dla innych procków) i mógłby...
Witam, Zrobiłem w końcu to co chciałem dzięki Waszej pomocy. Mam dwa OP-7 i jedynie OP-7DP12 działa z ModiconModbus v6.0 (szkoda, bo drugiego szybko nie wykorzystam). Ale mam pytanie. W Protoolu w konfiguracji/opcjach wybranego drivera nie ma możliwości ustawienia timeoutu dla komunikacji ModBusowej po RSie. Czy znacie sposób żeby wydłużyć timeout,...
(1) Strona C-4: Rozkaz AZI, odpowiedź AZ,06022,4,Brooks Instrument,Model 0254,08,V10.05.13,FE00,9E<cr><l... Sumujesz kody ASCII od przecinka po AZ aż do przecinka przed sumą kontrolną. Mnożysz przez (-1), odcinasz ostatni bajt, zapisujesz jako 2 znaki w ASCII. AZ - message albo packet prelimiter ,06022,4,Brooks Instrument,Model 0254,08,V10.05.13,FE00,...
Po dłuższym podsłuchiwaniu udało mi sie dopasować część rejestrów konfiguracyjnych. Oprócz tego natknąłem się na jakiś opis rejestrów inwertera PowMr na tej stronie: https://github.com/odya/esphome-powmr-hy... Wklejam poniżej moje odkrywki zrobione na podstawie dessmonitor'a: System setting --------------- read...
Witam! Na inwestycji mamy inwerter Huawei 50KTL M3. Próbujemy nawiązać z nim komunikację przez RS485 (modbus rtu) i logger PV Supernode, jednak po nawiązaniu pierwszego sygnału i zaczytaniu się danych o inwerterze do loggera, falownik blokuje całkowicie komunikację. Nie ma możliwości aby połączyć go z donglem, ani znaleźć go przez logger PV Supernode...
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....
Tak mniej więcej wyglądał mój program testowy. Nie jestem pewien czy nie ma w nim teraz błędów bo wycinałem z niego obsługę panelu HMI. Nie mam teraz czasu żeby go przetestować. Używa dwóch portów szeregowych więc przydatne jest arduino większe niż UNO / pro mini. Ja używałem Mega 2560. bool cobrareceived=false; const byte nrsterownika=5; unsigned long...
network timeout bootloader timeout timeout error
projektowanie układów tranzystorowych chłodzenie polonez canon pixma mg5750
napęd force stereodekoder radmor
Wartość 2 do potęgi 8 w elektronice i informatyce Kolejność kolorów we wtyczce Steinberg System