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

Modbus via RS-485, kilka urządzeń slave na 1 linii, zabezpieczenie przed kolizją

Krokus22 30 Paź 2011 23:57 2448 3
REKLAMA
  • #1 10083795
    Krokus22
    Poziom 19  
    Witam, przymierzam się do budowy urządzenia, w którym wykorzystywany będzie protokół modbus implementowany na AVR i jego UARcie i ewentualnym konwerterem RS-485. Przeczytałem specyfikację protokołu, jednak chciałbym rozwiać swoje wątpliwości. W układzie jako slave pracować będą 3 procesorki (kontrola po 30 wyjść 1/0 na każdym). Adresowane będą odpowiednio 1, 2, 3. Załóżmy że wysyłam komunikat ale zupełnie przez przypadek (hipotetycznie) występują przekłamania i na przykład coś pójdzie nie tak. Co się stanie w sytuacji gdy każdy procesor będzie chciał nadawać zwrotny komunikat, czy trzeba blokować linię nadawczą tylko dla jednego urządzenia aby nadawało jedno w tym samym czasie? Czy ustawienie nadajnika w stan aktywny blokuje całą linię (jak łączymy linie równolegle). Zauważyłem że sam protokół przy pewnych przekłamaniach nie wymaga odsyłania komunikatu do mastera, ale trzeba założyć ten najgorszy przypadek. Czy to w ogóle jest konieczne, bo jest to jeden z ostatnich puzli do ułożenia w mojej głowie modbusowej układanki :) Proszę o rozwianie wątpliwości, pozdrawiam.

    PS. Na szybko wymyśliłem taki selektor wejść, aby rezerwować sobie transmisję (nadawanie), ale czy transmisja via RS485 (232) tego wymaga?

    Modbus via RS-485, kilka urządzeń slave na 1 linii, zabezpieczenie przed kolizją
  • REKLAMA
  • #2 10083984
    maxiu25
    Poziom 16  
    Urządzenia slave ustaw na odbiór a mastera na nadaj po wysłaniu poprawnej ramki pytającej przełącz mastera na odbiór i odpowiedniego slavea na nadaj - oczywiste:).
    Dwa urządzenia nie będą nadawać na raz ponieważ ramka modbusa jest dość skomplikowana i wątpię w to aby wystąpiły takie błędy w niej że będzie ci się zgadzać crc.
  • REKLAMA
  • #3 10084335
    Krokus22
    Poziom 19  
    To wiem, w specyfikacji jest jak wół wyraźnie napisane. Ale czy takie założenie że nie będzie takiej sytuacji jest słuszne?
  • #4 10084581
    maxiu25
    Poziom 16  
    Moje urządzenia komunikują się po modbusie i nie zdarzyła mi się błędna ramka, która omyłkowo była by poprawna.
REKLAMA