logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Landis UH50 + WZU-485B - Problem z komunikacją ModBUs RTU

BULI83 18 Sty 2014 06:36 4485 14
REKLAMA
  • #1 13189098
    BULI83
    Poziom 11  
    Posty: 46
    Ocena: 3
    Posiadam licznik ciepła jak w temacie UH50 z modułem mbus/modbus WZU-485b. Łącze się do niego za pomocą oprogramowania Modscan32 i udaje mi się odczytać parametry rzeczywiste (tem. zasilania, temp. powrotów, moc w kW, oraz przepływ chwilowy), niestety nie pokrywa się to z adresami z tabelki którą w dokumentacji podaje producent:
    Link

    Używając funkcji 4 pod adresem:
    1 - jest jakaś dziwna liczba (format integer),
    2 - Tv temp zasilania (format integer),
    3 - Tr temp powroty (format integer),
    4 - dT różnica temp (format integer),
    6 - Q przepływy chwilowy (format integer),
    8 - P moc w kW (format integer).

    Pod innymi adresami odczytując w formacie integer oraz Long int są jakieś dziwne liczby, które nie mają pokrycia w tym co wyświetla się na wyświetlaczu w różnych Loop-ach. Potrzebuję odczytać liczniki z tego ciepłomierza. Jak to zrobić?
  • REKLAMA
  • #2 13199926
    BULI83
    Poziom 11  
    Posty: 46
    Ocena: 3
    Niestety nikt nie umie mi pomóc w tej sprawie.
    To może zapytam inaczej. Jak to się odbywa w przypadku innych liczników (niekoniecznie ciepłomierza). Czy wartość licznika siedzi też pod funkcją 4? A może trzeba szukać tego pod funkcją 3 jako wewnętrzny rejestr.
    Może ktoś mnie nakieruje, bo w modbus-ie stawiam pierwsze kroki.

    Z góry dziękuje.
  • #3 13208088
    BULI83
    Poziom 11  
    Posty: 46
    Ocena: 3
    Proszę chociaż o pomoc w rozwikłaniu tej tabelki:
    Landis UH50 + WZU-485B - Problem z komunikacją ModBUs RTU

    Udało mi się wyciągnąć licznik energii wzorem:
    adres 0015 * 65536 + adres 0016
    patrząc na tabelkę adresy są przesunięte o jeden w górę - pierwszy adres to 2.
  • #4 13233768
    BULI83
    Poziom 11  
    Posty: 46
    Ocena: 3
    Wracając do tematu. Rozwikłałem tabelkę (nie do końca ale mam to co potrzebuje).
    Objętość wody liczy się tak samo jak energię tyle że z adresów 0017 i 0018.
    Kolejny problem napotkałem gdy kabel przedłużyłem do ok 50 m i tu jest brak komunikacji. Na metrowym kablu są odpowiedzi. Używam kabla Liycy 2x 0,75. idzie on w korycie czasami koło przewodów zasilających 230V (zasilanie biur). Tyle że jak ten sam kabel przepnę do innego urządzenia Aim8 (urządzenie jest w tym samym miejscu), gdzie komunikuję się tym samym oprogramowaniem Modscan32 komunikacja jest bezproblemowa. Sprawdziłem również na trzecim urządzeniu (prosty sterownik PLC) i też nie ma żadnych strat ramek nawet przy bardzo szybkich czasach. Kabel jest uziemiony przy liczniku z tego samego punktu co zasilanie modułu komunikacyjnego.
    W programie Modscan32 są takie parametry czasowe:
    - slave response timeout
    - delay between polls
    Dowiedziałem się od sprzedawcy że czas odpytywania powinien wynosić 15 sek i teraz który z tych parametrów miał na myśli sprzedawca?

    Pozdrawiam
  • REKLAMA
  • #5 13951461
    Kroovka
    Poziom 23  
    Posty: 572
    Pomógł: 46
    Ocena: 83
    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ą. Poszukaj narzędzia BitBoy. Wymaga ono przygotowania dokładnej ramki komunikacyjnej w standardzie modbus, ale po jej nadaniu od razu widzisz czy na magistrali jest głucha cisza czy też licznik próbuje z tobą gadać. Dodatkowo, jeżeli szumy na magistrali osiągają poziom przy którym mogą wystąpić problemy z odczytem to BitBoy również to uchwyci - będziesz widział, że są nadawane jakieś dane - losowe wartości.
    Kabel LiYCY to nie jest właściwy kabel do modbusa, ale myślę, że przy 50m nie powinno być żadnego problemu. Dodatkowo jak sam napisałeś, posiada ekran.

    Bawiłem się tymi licznikami, ale przez komunikację MBUS (WZU-MI lub WZU-MB).
    Natomiast na Modbusie czytałem liczniki energii elektrycznej. Udało mi się na 250 metrach powiesić 70 liczników - generalnie OK (pojawiają się czasami błędy odczytu, ale wystarczy powtórzyć odczyt i jest ok). Brak terminatorów czy bias rezystorów. Może spróbuj u siebie dołożyć terminator 120 ohm?
  • #6 13990041
    BULI83
    Poziom 11  
    Posty: 46
    Ocena: 3
    Temat rozwiązany.
    Dostawca, czyli Landys Polska dostarczył nowe moduły komunikacyjne polskiej produkcji (poprzednie były czeskie). Komunikacja jest na kablu Licy 2x0,75 mm2 o długości ok 70m. Niestety czasami występują braki w odpowiedzi ale z obserwacji wywnioskowałem że przyczyną jest wewnętrzna komunikacja licznika z modułem komunikacyjnym i kiepskim procesorem licznika. Jakoś to chodzi ale cudów nie ma. Ogólnie to nie polecam bo brak jakiegokolwiek wsparcia technicznego ze strony Panów z Landys-a a głównie promowana jest komunikacja po m-bus, co generuje większe koszty.
  • #7 14000452
    Kroovka
    Poziom 23  
    Posty: 572
    Pomógł: 46
    Ocena: 83
    Niestety na modbusie zdarzają się czasami braki odpowiedzi ze slave'a. I najczęściej jest to problem czysto sprzętowy, na który możesz nie mieć wpływu. Możesz bawić się w bias resistory albo terminatory, a i tak może to nie rozwiązać problemu. Nic nie stoi jednak na przeszkodzie, aby w programie sterownika ponowić odczyt, jeżeli brak odpowiedzi.

    M-BUS bardziej się przyjął jako standard dla liczników ciepła. Prawdopodobnie dlatego, że karta komunikacyjna zasilana jest z magistrali. Twoje liczniki mają stałe zasilanie zewnętrzne czy jadą na baterii?
  • REKLAMA
  • #8 14000835
    BULI83
    Poziom 11  
    Posty: 46
    Ocena: 3
    Karta komunikacyjna zasilana jest z zewnętrznego źródła 12 VDC. Na ten moment zmniejszyłem ilość czytanych rejestrów z 7 na 5 i wydłużyłem czas pomiędzy odczytami liczników na 30 s i jak dotąd trochę się poprawiło ale do ideału jeszcze daleko :)
  • #9 14006258
    Kroovka
    Poziom 23  
    Posty: 572
    Pomógł: 46
    Ocena: 83
    Problem leży albo po stronie interfejsu w twoim PC (spróbuj pobawić się ustawieniami portu COM) albo karty WZU-MODBUS nadają się na przemiał. Przy 70 metrach i kablu ekranowanym (ekran oczywiście podłączony po jednej ze stron) nie powinieneś mieć absolutnie problemu. Chyba, że po drodze wiszą falowniki i kabel idzie w ich sąsiedztwie. Karta WZU-MB do MBUSa pozwala na pobranie przy 2400bps 230 bajtów w jednym rzucie bez jakichkolwiek problemów z tego licznika.
    Mam skrętkę S-FTP ekranowaną puszczoną przez 70 metrów w korytku siatkowym razem z kablami zasilającymi świetlówki, do liczników elektrycznych i mnie to działa (choć jak zauważyłem wcześniej z pewnymi problemami).
  • #10 14006943
    BULI83
    Poziom 11  
    Posty: 46
    Ocena: 3
    Ja używam kabla Licy 2x1 a odcinek to około 70 m. Ja nie używam karty WZU-MODBUS bo ona nie działała mi na kablu dłuższym niż 15 m (nawet na skrętce). Na drodze kabla nie ma żadnych falowników. Pomiędzy na kartą w liczniku a komputerem jest moduł NPort firmy Moxa, który do komputera podłączony jest do sieci. Komputer łączący się z modułem NPort emuluje u siebie port com (9600,8,1,none). Zaznaczam że przy tej konfiguracji inne urządzenia ModBus-owe (np. moduł AIM8) działają prawidłowo beż żadnych strat w transmisji.
  • REKLAMA
  • Pomocny post
    #11 14016032
    Kroovka
    Poziom 23  
    Posty: 572
    Pomógł: 46
    Ocena: 83
    BULI83 napisał:
    Ja używam kabla Licy 2x1 a odcinek to około 70 m. Ja nie używam karty WZU-MODBUS bo ona nie działała mi na kablu dłuższym niż 15 m (nawet na skrętce). Na drodze kabla nie ma żadnych falowników. Pomiędzy na kartą w liczniku a komputerem jest moduł NPort firmy Moxa, który do komputera podłączony jest do sieci. Komputer łączący się z modułem NPort emuluje u siebie port com (9600,8,1,none). Zaznaczam że przy tej konfiguracji inne urządzenia ModBus-owe (np. moduł AIM8) działają prawidłowo beż żadnych strat w transmisji.


    Do Landysa nie ma innej karty jak WZU-MODBUS czy WZU-RS485 (nie pamiętam dokładnie nazwy, ale jest to jedna i ta sama karta), czy to produkcji czeskiej czy też polskiej. Przecież nie zleciłeś wykonanie zupełnie nowej karty bo oficjalna nie działa :).
    Problemu zaczął bym szukać od modułu NPort Moxa. Nigdy tego nie używałem. Aby to sprawdzić będziesz musiał kupić konwerter RS485 na RS232 lub na USB (polecam to drugie rozwiązanie, pod warunkiem, że uda Ci się kupić konwerter zbudowany na chipie FTDI, staraj się unikać konwertera na Prolificu - są z nim różne problemy).
    Nie wierzę, że Landys wyprodukował aż tak badziewne karty.
  • #12 18678140
    PiotrMaslanka
    Poziom 2  
    Posty: 2
    Ten licznik odpowiada jak chce.. Jak dostanie zapytanie na adres 10 to potrafi odpowiadać z adresu 15, 14 czy nawet 13. Przechodzi odpowiedź jedna na 10, albo jedna na 30 nawet.

    Zmień licznik.
  • #13 18678223
    BULI83
    Poziom 11  
    Posty: 46
    Ocena: 3
    Tan licznik obsługuje najlepiej protokół MBus i tak należy go czytać. Polecam urządzenie AnyBus jako konwerter MBus na ModBus TCP/IP. Działa bezproblemowo. Konfiguracja jest intuicyjna i prosta. Jak raz załączysz możesz zapomnieć, że jest taki link :)
    Pozdrawiam
  • #14 18678245
    PiotrMaslanka
    Poziom 2  
    Posty: 2
    Aktualnie siedzę przy tym liczniku i najlepiej odpowiada, jak pytasz się o dwa rejestry pod rząd. Wtedy ma największy odsetek pomyślnych odpowiedzi.
  • #15 18680945
    romulus73
    Poziom 28  
    Posty: 1221
    Pomógł: 96
    Ocena: 252
    Licy 2x1 to można do czujników używać, Jaką ma ten kabelek impedancję i rezystancję, jak sobie odpowiesz na to pytanie to będziesz wiedział jaki kabel potrzebujesz i dlaczego Ci nie działa. I dlaczego na skrętce nie działa powyżej 15 metrów.

Podsumowanie tematu

✨ Użytkownik ma problem z komunikacją między licznikiem ciepła Landis UH50 a modułem WZU-485B przez protokół ModBus RTU. Odczyty z Modscan32 nie zgadzają się z dokumentacją producenta, a wartości są nieprawidłowe. Po kilku próbach i wskazówkach od innych użytkowników, w tym zmiany ustawień czasowych i długości kabli, problem częściowo rozwiązano poprzez wymianę modułów komunikacyjnych na nowe, polskiej produkcji. Użytkownik zauważył, że komunikacja jest niestabilna, a czasami występują braki w odpowiedziach, co może być związane z jakością procesora w liczniku. Zasugerowano również użycie konwertera AnyBus do lepszej komunikacji oraz sprawdzenie interfejsu NPort Moxa.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA