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

[Rozwiązano] Nie mogę uruchomić Modbus na sterowniku Siemens S7-1200. Co robię źle?

spinacz 04 Paź 2024 16:11 867 21
  • #1 21250332
    spinacz
    Poziom 42  
    Posty: 8567
    Pomógł: 1204
    Ocena: 2639
    Koledzy mam problem może i banalny ale nie mogę odpalić modbus'a na S7-1200.
    Co robię źle?
    Nie mogę uruchomić Modbus na sterowniku Siemens S7-1200. Co robię źle? Nie mogę uruchomić Modbus na sterowniku Siemens S7-1200. Co robię źle? Nie mogę uruchomić Modbus na sterowniku Siemens S7-1200. Co robię źle? Nie mogę uruchomić Modbus na sterowniku Siemens S7-1200. Co robię źle?
  • Pomocny post
    #2 21250358
    mfac
    Poziom 17  
    Posty: 242
    Pomógł: 18
    Ocena: 63
    Spróbuj zamienić miejscami przewody A i B. Wiele osób już zauważyło, że siemens po swojemu oznacza te zaciski, czyli odwrotnie niż przyjęto.
  • #3 21250368
    spinacz
    Poziom 42  
    Posty: 8567
    Pomógł: 1204
    Ocena: 2639
    To nic nie daje, już probiwalem.
  • Pomocny post
    #4 21250405
    Markos80

    Specjalista Automatyk
    Posty: 1857
    Pomógł: 473
    Ocena: 212
    Na karcie miga TX?
    Konto firmowe:
    PUMPA
    Widok 7, Łuczyce, 32-010 | Tel.: 502XXXXXX (Pokaż) | Strona WWW: www.pumpa.pl
  • #5 21250413
    spinacz
    Poziom 42  
    Posty: 8567
    Pomógł: 1204
    Ocena: 2639
    Tak widać mignięcie ale tylko raz po wystawieniu REQ w MB_MASTER i wisi ciągle w BUSY, dopiero jaka kol wiek zmiana np MB_ADDR powoduje że BUSY znika i można znów raz wystawić REQ, podłączyłem do tego adapter USB by podejrzeć co wysyła PLC i ku mojemu zdziwieniu wysyła tylko FF bądz F7 czasem FF EE.
    Wygląda jak by coś było pomieszane, próbowałem z bloczkami od MODBUS i MODBUS RTU, ale na RTU nie chce nawet mi otworzyć portu.
  • #6 21250421
    Markos80

    Specjalista Automatyk
    Posty: 1857
    Pomógł: 473
    Ocena: 212
    Komunikacja uruchamia się jednorazowo, na zbocze narastające wejścia REQ (w sensie każde zapytanie to musi być impuls).
    W konfiguracji sprzętowej ustawiłeś Freeport i odpowiedni typ RS?
    Zrób pułapkę i zapisz wartość Status, jeśli pojawi się wyjście Error.
    Konto firmowe:
    PUMPA
    Widok 7, Łuczyce, 32-010 | Tel.: 502XXXXXX (Pokaż) | Strona WWW: www.pumpa.pl
  • #7 21250429
    spinacz
    Poziom 42  
    Posty: 8567
    Pomógł: 1204
    Ocena: 2639
    Markos80 napisał:
    ustawiłeś Freeport i odpowiedni typ RS?

    Tak ustawione.
    Markos80 napisał:
    Zrób pułapkę i zapisz wartość Status, jeśli pojawi się wyjście Error.

    Nie mam żadnego błędu.
    Bardzo mnie dziwi to zachowanie bo robiłem już nie raz komunikację na RS232 i nie miałem raczej tam problemów.
  • #8 21250436
    Markos80

    Specjalista Automatyk
    Posty: 1857
    Pomógł: 473
    Ocena: 212
    Możesz załączyć projekt?
    Konto firmowe:
    PUMPA
    Widok 7, Łuczyce, 32-010 | Tel.: 502XXXXXX (Pokaż) | Strona WWW: www.pumpa.pl
  • #9 21250452
    spinacz
    Poziom 42  
    Posty: 8567
    Pomógł: 1204
    Ocena: 2639
    Dzisiaj już nie bo jestem w domu ale jutro może uda mi się to bym wstawił.
    W projekcie ogólnie nic nie ma bo zaczynam od uruchomienia tego modbus'a dopiero później będzie reszta projektujesz pisana.
    Szczerzę nie myślałem że aż taki problem z tym napotkam.

    Dodano po 2 [minuty]:

    Ogólnie potrzebne mi to do:
    https://www.waveshare.com/wiki/Modbus_RTU_Analog_Output_8CH_(B)
  • #10 21250569
    Markos80

    Specjalista Automatyk
    Posty: 1857
    Pomógł: 473
    Ocena: 212
    Raczej specjalnych czarów nie trzeba odprawiać. Ewentualnie ilość bitów stop, jeśli są 2, wymaga nie do końca oczywistego nadpisania bezpośrednio w bazie.
    Z rzeczy, które w teorii powinny działać, ale tak nie robię to:
    - REQ na MB_COMM_LOAD nie daję stałego, tylko jednorazowy impuls
    - DATA_PTR na MB_MASTER, jako wskaźnik do całej struktury (u Ciebie "DATA_PTR".Registers), a nie do pierwszego elementu Registers[0]

    Reszta to sprawdzenie firmware CPU, karty oraz wersji użytych bloków Modbus. Powinny być możliwie najwyższe.
    Konto firmowe:
    PUMPA
    Widok 7, Łuczyce, 32-010 | Tel.: 502XXXXXX (Pokaż) | Strona WWW: www.pumpa.pl
  • #11 21250585
    spinacz
    Poziom 42  
    Posty: 8567
    Pomógł: 1204
    Ocena: 2639
    Wydaje mnie się że wszystko przetrzepałem, nawet robiłem 1:1 z jakimś tutorialem i to nie działa.
    Myślałem jeszcze żeby w ostateczności zrobić to na rs232 i konwerter na 485 ale to taka partyzantka i zostaje jeszcze wtedy konieczność liczenia CRC16 dla modbusa gdzie za bardzo nie wiem jak to zrobić w TIA.

    Dodano po 17 [minuty]:

    Kolego a mam pytanie bo w sumie jeszcze jedna rzecz mi przyszła do głowy firmware CM1241, czy robiłeś kiedyś aktualizacje modułu ? Jak go się robi ? Karta SD i sterownik sam go załaduje do modułu czy jakoś z TIA ?
    Używam TIA16 ale myślę czy nie przerzucę się na 19.
  • #12 21250631
    Markos80

    Specjalista Automatyk
    Posty: 1857
    Pomógł: 473
    Ocena: 212
    Można przez TIA.
    Online & diagnostics modułu i Firmware update.
    Jeśli masz stary, to na 99% będzie problemem, bo w tym przypadku trzeba dobrze dopasować wersję bloków Modbus do wersji firmware.
    Konto firmowe:
    PUMPA
    Widok 7, Łuczyce, 32-010 | Tel.: 502XXXXXX (Pokaż) | Strona WWW: www.pumpa.pl
  • #13 21252244
    spinacz
    Poziom 42  
    Posty: 8567
    Pomógł: 1204
    Ocena: 2639
    Kolego a miał byś z 15 minut byś mi napisał taki projekt według Ciebie który powinien działać, mam dostępne wszystkie TIA.
  • #14 21252283
    Markos80

    Specjalista Automatyk
    Posty: 1857
    Pomógł: 473
    Ocena: 212
    Łatwiej by było do Twojego zerknąć, ale podaj dokładną konfigurację sprzętu, tj.: numer katalogowy CPU, karty oraz wersje firmware w nich.
    Konto firmowe:
    PUMPA
    Widok 7, Łuczyce, 32-010 | Tel.: 502XXXXXX (Pokaż) | Strona WWW: www.pumpa.pl
  • #15 21252285
    spinacz
    Poziom 42  
    Posty: 8567
    Pomógł: 1204
    Ocena: 2639
    Informacje o jednostce CPU do sterownika PLC.
    Tabela lokalnych modułów PLC z numerem artykułu, wersją firmware, nazwą, rackiem i slotem.

    Dodano po 30 [sekundy]:

    PLC wysyła mi jakieś totalne głupoty i nie wiem o co chodzi tak naprawdę.
  • #16 21252297
    Markos80

    Specjalista Automatyk
    Posty: 1857
    Pomógł: 473
    Ocena: 212
    A karta?
    Czy po zmianie wersji TIA dałeś prawym na CPU i Update program?
    Konto firmowe:
    PUMPA
    Widok 7, Łuczyce, 32-010 | Tel.: 502XXXXXX (Pokaż) | Strona WWW: www.pumpa.pl
  • Pomocny post
    #18 21252367
    Markos80

    Specjalista Automatyk
    Posty: 1857
    Pomógł: 473
    Ocena: 212
    W jakim sensie wywaliło? Powinny ewentualnie się zrobić czerwone do przekompilowania.
    Archiwum można rozpakować albo zmienić rozszerzenie na .zap19.
    Załączniki:
    • MBRTU_test.zip (413.11 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    Konto firmowe:
    PUMPA
    Widok 7, Łuczyce, 32-010 | Tel.: 502XXXXXX (Pokaż) | Strona WWW: www.pumpa.pl
  • #19 21252391
    spinacz
    Poziom 42  
    Posty: 8567
    Pomógł: 1204
    Ocena: 2639
    No i dalej jest tak samo jak u mnie, chce uruchomić moduł jak w poście 9.
    To co wysyła PLC nie ma się nijak do tego co potrzebuje otrzymać ten moduł.
    Z softu Modbus Poll można bez problemu sterować modułęm.
  • Pomocny post
    #20 21252399
    Markos80

    Specjalista Automatyk
    Posty: 1857
    Pomógł: 473
    Ocena: 212
    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?
    Konto firmowe:
    PUMPA
    Widok 7, Łuczyce, 32-010 | Tel.: 502XXXXXX (Pokaż) | Strona WWW: www.pumpa.pl
  • #21 21252440
    spinacz
    Poziom 42  
    Posty: 8567
    Pomógł: 1204
    Ocena: 2639
    Aż wstyd się przyznać, dopiero jak ponownie sprawdziłem podłączenie okazało się że mam uszkodzony pin w złączu modułu, gniazdo naprawiłem wszystko działa ok, jak widać od samego początku problemem było uszkodzone złącze.
  • #22 21306122
    spinacz
    Poziom 42  
    Posty: 8567
    Pomógł: 1204
    Ocena: 2639
    Tak jak wyżej, uszkodzone gniazdo komunikacyjne.

Podsumowanie tematu

✨ Problem dotyczył uruchomienia komunikacji Modbus RTU na sterowniku Siemens S7-1200 z modułem komunikacyjnym CM1241. Próby obejmowały zamianę przewodów A i B, sprawdzenie migania diody TX, konfigurację sprzętową Freeport i typu RS, a także testowanie impulsowego sygnału REQ oraz poprawności wskaźnika DATA_PTR w blokach Modbus. Użytkownik napotkał na wysyłanie niepoprawnych danych (np. FF, F7, FF EE) i zawieszanie się stanu BUSY. Zwrócono uwagę na konieczność aktualizacji firmware modułu CM1241 przez TIA Portal (Online & diagnostics) oraz dopasowanie wersji bloków Modbus do firmware. Po wielu próbach i analizie projektu okazało się, że przyczyną problemu było uszkodzone gniazdo komunikacyjne modułu, które po naprawie umożliwiło prawidłową komunikację. W dyskusji pojawiły się także wskazówki dotyczące impulsowego sterowania REQ, konfiguracji bitów stopu, oraz użycia adaptera USB do monitorowania transmisji. Użytkownik rozważał także alternatywę z RS232 i konwerterem na RS485, jednak preferowane było rozwiązanie natywne Modbus RTU na S7-1200.
Wygenerowane przez model językowy.
REKLAMA