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

Jak samodzielnie zanalizować transmisję RS485 bez danych producenta?

Snupek86 09 Mar 2012 10:38 2287 5
  • #1 10653766
    Snupek86
    Poziom 10  
    Witam;
    poproszono mnie w pracy o odpwiedź na poniższe pytanie, niestety jestem raczej z segmentu elektroenergetyki, dlatego prosze o pomoc.

    Opis:
    Posiadamy moduł, który może być parametryzowany poprzez złącze RS232 lub RS485. Do modułu jest prosty program jednokienkowy pod win, który pozwala ustawiać podstawowe parametry i nadaje proste adresowanie dla transmisji RS485 + upload/download parametrów. Producent tego modułu nie chce udostępnić nam poszczególnych stanów transmisji RS485, które ustawiają i parametryzują moduł (5-7 wartości), a potrzebujemy zamówić taką przystawkę, żeby móc umożliwć upload i download tych parametrów zdalnie poprzez moduł GSM.

    Pytanie:
    Czy jest możliwość, żeby w prosty sposób dokonać samodzielnie analizy tej transmisji, bez dodatkowych danych ? Czy będziemy w stanie dokonać samodzielnie interpretacji kiedy i jaki zmiana stanu wpływa na zmianę konkretnego parametru ?
  • #2 10653823
    tehaceole

    Poziom 28  
    Kiedyś w Elektronice Praktycznej był prezentowany projekt monitora magistral szeregowych, w tym 232 i 485.
    Czy moduł możesz tym programem parametryzować tylko przez 232 czy także przez 485? W tym drugim przypadku proponuję:
    - zaopatrzyć się w 2 konwertery usb/rs485
    - jednocześnie podłączyć 2 konwertery pod magistralę 485 modułu
    - odpalić program konfiguracyjny i wybrać port COM pierwszego konwertera
    - odpalić jakikolwiek terminal, skonfigurować parametry transmisji i wybrać port com drugiego konwertera

    Teraz w oknie terminala będziesz widzieć dokładnie to co dzieje się na magistrali podczas komunikacji programu z modułem.

    Co do 232 taki numer chyba nie przejdzie, o ile się nie mylę to nie można bezpośrednio połączyć ze sobą kilku portów COM w standardzie RS232.
  • #3 10653882
    al777
    Poziom 27  
    Nie wiem, czy właściwie zrozumiałem istotę problemu, ale wydaje mi się że skoro programowane urządzenie odbiera dane po RS232 lub RS485, to program w komputerze posługuje się jakimś portem szeregowym (np. COM1).

    Uważam więc, że można po prostu skorzystać z urządzeń, oferujących "zdalny" port szeregowy RS232 w oparciu o transmisję internetową GSM/GPRS, bez żadnych dodatkowych modyfikacji.
    Przykładem takiego rozwiązania jest Interfejs telefonii komórkowej GSM/GPRS LB-431.

    Oczywiście istnieje możliwość, że jeśli program konfiguracyjny jest prymitywnie, niestarannie napisany, to chwilowe wahania czasu odpowiedzi (nie do uniknięcia przy transmisji przez sieci komórkowe) będą powodować "rozłączanie się" komunikacji lub błędy przesyłania poleceń - należałoby najpierw wypożyczyć egzemplarz próbny do testów (większość dystrybutorów urządzeń automatyki nie robi z tym wielkich problemów).

    Mam nadzieję, że pomogłem.
  • #4 10654313
    Snupek86
    Poziom 10  
    Dzięki za odpowiedzi.

    W międzyczasie zmieniono mi sformułowanie problemu. Problem z transmiją GSM zostanie prawdopodbnie tak rozwiązany jak sugerowano powyżej. Znalazłem też kilka informacji o programach typu Sniffer i prostych układach na RS232, ktorymi możnaby zobaczyć HEX/ASCI, ale jeżeli to jest okienkowe, a transmisja będzie szybka, to na ile będa to miarodajne wyniki ?

    Nowe pytanie jakie mi teraz postawiono to:
    Czy jest możliwa właściwa interpretacja nadania/odpowiedzi z port RS485, jeżeli nie zna się tablicy "parametryzacji/odpowiedzi". Tzn. czy jezeli będzie trzeba napisac nadrzędny program, który będzie sterował/monitorował prace kilku takich urządzeń, jest to możliwe nie znając tablicy stanów, której procenta modułu nie chce udostępnić ?
  • #5 10655186
    nibbit
    Poziom 20  
    Cytat:
    Znalazłem też kilka informacji o programach typu Sniffer i prostych układach na RS232, ktorymi możnaby zobaczyć HEX/ASCI, ale jeżeli to jest okienkowe, a transmisja będzie szybka, to na ile będa to miarodajne wyniki ?

    Sniffer portu szeregowego pod windows (ja używam HHD Free Serial Port Monitor) działa tak, że nasłuchuje wybrany port i jak masz aplikację producenta to zobaczysz KAŻDY bajt i nadany i odebrany.

    Cytat:
    Czy jest możliwa właściwa interpretacja nadania/odpowiedzi z port RS485, jeżeli nie zna się tablicy "parametryzacji/odpowiedzi". Tzn. czy jezeli będzie trzeba napisac nadrzędny program, który będzie sterował/monitorował prace kilku takich urządzeń, jest to możliwe nie znając tablicy stanów, której procenta modułu nie chce udostępnić ?

    Ale przecież jak coś chcesz nadać to musisz wiedzieć co nadajesz skoro chcesz przez to konfigurować różne parametry. Będziesz miał dane ze sniffera to będziesz mógł dedukować co jest od czego. Pół biedy jeśli będziesz miał tam coś ustandaryzowanego typu modbus. Gorzej jak producent będzie miał swój własny format ramki + jakaś suma kontrolna/CRC + ewentualnie szyfrowanie (w tym wypadku pozamiatane).
  • #6 10694393
    jestam
    Specjalista Automatyk
    Snupek86 napisał:
    Tzn. czy jezeli będzie trzeba napisac nadrzędny program, który będzie sterował/monitorował prace kilku takich urządzeń, jest to możliwe nie znając tablicy stanów, której procenta modułu nie chce udostępnić ?

    Wszystko jest możliwe. Kwestia kosztów. Może się okazać, że taniej będzie zapłacić producentowi urządzeń za napisanie tego nadrzędnego programu.
REKLAMA