Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Konfigurowanie device ID przy RS485

24 Mar 2020 10:10 237 17
  • Poziom 4  
    Witam,

    Poszukuję gotowego rozwiązania ułatwiającego nadawanie device ID przy komunikacji po RS485.

    Sytuacja- mam na obiekcie zainstalować np. 100 czujników z komunikacją po RS485- muszę więc każdemu nadać konkretne ID żeby potem zaczytywać wartości na PLC.

    Przydałoby się jakieś urządzenie przenośne z małym wyświetlaczem- podpinam RS i zasilanie czujnika i jakoś ustawiam ID. 4 buttony na krzyż.
    Ew. aplikacja mobilna nawet (nawet lepiej)- przejściówki z RS na USB to grosze.

    Miał ktoś już styczność z jakimś sprawdzonym rozwiązaniem?
  • Poziom 43  
    RS-485 to tylko warstwa fizyczna, nie wiemy nic na temat protokołu komunikacji, RS-485 nie definiuje żadnego device ID.

    Gervazzy napisał:
    Przydałoby się jakieś urządzenie przenośne z małym wyświetlaczem- podpinam RS i zasilanie czujnika i jakoś ustawiam ID. 4 buttony na krzyż.
    Komunikacja po protokole którego nie znamy to jeden problem, a możliwość zdalnej konfiguracji to niezależna kwestia, nic nie wiemy bo nie podałeś żadnych informacji.

    Masz jakieś czujniki, one maja dokumentację i to jest twoje podstawowe źródło informacji, może czujniki używają jakiegoś standardowego protokołu komunikacji, a może jest to "ściśle tajny" protokół producenta, może da sie je zdalnie konfigurować a może nie, możemy tylko gdybać.

    Gervazzy napisał:
    Miał ktoś już styczność z jakimś sprawdzonym rozwiązaniem?
    Na podstawie podanych informacji raczej nikt nie dowie się na czym polega twój problem. Jak można znaleźć rozwiązanie nieznanego problemu?
  • Poziom 4  
    Dzięki za przefilozoficzną odpowiedź, która mogłaby się streścić do 1 zdania.

    W każdym razie - komunikacja po Modbus RTU

    Dzięki!
  • Pomocny post
    Poziom 43  
    Gervazzy napisał:
    Dzięki za przefilozoficzną odpowiedź, która mogłaby się streścić do 1 zdania.
    Im wiecej podobnych pytań, z których nic nie wynika, tym częściej ludzie piszą takie odpowiedzi, w nadziei że ktoś przeczyta zanim zada kolejne podobne pytanie.

    Gervazzy napisał:
    W każdym razie - komunikacja po Modbus RTU
    To już jakaś informacja, nie wiem czym u ciebie jest device id, ale czujniki muszą mieć różne adresy modbus żeby mogły być podłączone do jednej magistrali, czy adres wynika z device id?
  • Poziom 4  
    Teraz widzę swój błąd i muszę doprecyzować - to my jesteśmy producentem. Jesteśmy po prototypach i szukamy pomysłów na dobre domknięcie tematu- aby user mógł implementować rozwiązanie jak się należy.
    Pytanie- czyli jak?

    Domyślne ID z produkcji to zawsze 1. To bez znaczenia.
    Tak, urzadzenia muszą mieć różne ID w sieci. PLC nie może pytać o dany rejestr dwóch urządzeń o tym samym ID bo bedzie krzywda.
    Tak, można ID wystawiać w rejestrze, ale po co?
    Tak, można zrobić kawałek softu, przejściówka z RS na usb albo wifi i czujnik po czujniku jechać.

    User musi być w stanie nadać 'swoje' ID na instalacji (z różnych powodów- po prostu musi).

    Sens mojego pytania pierwotnego jest w tym, aby dowiedzieć się jakie są doświadczenia innych ludzi w podobnym temacie. Szukam rady automatyków, którzy robią wdrożenia i mieli styczność z dobrze rozwiązanym tematem.

    Czy to bardziej ma być dostarczony jakiś device z RS na USB i soft na PC, czy RS na wifi i apka na androida... No pomysły mogą być różne.

    Szukam dobrych aby móc dostarczyć 'user friendly' rozwiazanie.
  • Pomocny post
    Specjalista elektronik
    Przede wszystkim, musi być jakieś polecenie, wysyłanie przez RS485, które zmienia adres urządzenia. Podłącza się jedno takie urządzenie, ustawia adres i nakleja się metkę z numerem. I tak N razy, raczej przy komputerze. Sensowne może być to, żeby program najpierw sprawdzał, czy jest urządzenie z domyślnym adresem, potem ustawiał taki, jaki mu się poda, i potem do następnego urządzenia proponował o 1 większy. Poza tym, można od razu pozwolić na wpisanie opisu - ma zostać zapisany razem z numerem na pliku tekstowym. Użytkownik wpisuje numery do N urządzeń, nalepiając metki, potem drukuje plik z numerami i opisem, i idzie w teren rozmieszczać te urządzenia.

    Inna możliwość (może zaimplementuj obie): użytkownik przygotowuje metki, oraz plik z numerami i opisami (w każdej linii numer i po nim opis), program pokazuje mu pierwszy numer z opisem, użytkownik podłącza urządzenie, bierze metkę, potwierdza nadanie numeru i nalepia metkę, a program pokazuje następny numer i opis. I tak po kolei wszystkie.

    PC jest dogodniejszy do wpisywania informacji, niż zmartfon, czy nawet tablet; poza tym użytkownik powinien mieć/robić opis, które urządzenie gdzie ma umieścić, bo inaczej się pogubi,
  • Pomocny post
    Poziom 43  
    Kiedyś stosowało sie dipswitche i nastawniki szesnastkowe, zaleta łatwo ustawić nie potrzeba dodatkowych narzędzi, łatwo zobaczyć co jest ustawione, WiFi w każdym czujniku będzie nastręczać problemów, NFC ma więcej sensu, może być nawet zaprogramowane bez zasilania czujnika, jeśli mamy odpowiedni układ scalony.

    Gervazzy napisał:
    Czy to bardziej ma być dostarczony jakiś device z RS na USB i soft na PC, czy RS na wifi i apka na androida... No pomysły mogą być różne.
    Weź pod uwagę, że ludzie zatrudnieni do montażu, często nie są wysoko wykwalifikowanymi specjalistami, jeśli konfiguracja nie będzie wymagała specjalnych narzędzi i umiejętności, to mogą ustawić to co automatyk/programista potrzebuje.
  • Pomocny post
    Poziom 39  
    Dwa kodery szesnastkowe i jest 256 adresów
    https://www.tme.eu/pl/details/rte1600g44/zadajniki-kodu/c-k/
    Bez chrzanienia się z komputerem, kabelkami apkami itp

    Choć z tego co widzę to większość producentów umieszcza adres i pozostałe parametry transmisji w rejestrach modbus dając możliwość zmiany tych parametrów tak jak pozostałych lub z dodatkowym rejestrem wymuszającym zastosowanie zmian.
  • Pomocny post
    Specjalista elektronik
    Pewnie jakiś układ scalony i tak ma pamięć "nieulotną", w której pamięta konfigurację, więc może pamiętać także adres i parametry transmisji - to nie powoduje dodatkowych kosztów produkcji. Poza tym, wszelkie przełączniki mają tendencję do utraty kontaktowania, wtedy urządzenie przestaje poprawnie działać - a przy wybieraniu adresu mogłoby "samowolnie" zmienić adres. W pamięci "nieulotnej" można trzymać jakąś sumę kontrolną - jak przestanie się zgadzać, to urządzenie ma działać tylko w trybie serwisowym, pozwalającym wpisać na nowo konfigurację, komendy normalnego trybu ma ignorować.

    Jeśli urządzenie ma jakiś numer seryjny, który będzie zawsze pamiętać, to można przewidzieć komendę ustawiania adresu, która działa tylko dla określonego numeru seryjnego - choćby zapomniało nastawiony adres, będzie można go na nowo wpisać bez konieczności odłączania urządzenia od sieci teleinformatycznej. Można jeszcze przewidzieć skanowanie numeru seryjnego - tak, jak w protokole 1-Wire.

    Tak czy siak, użytkownik wielu urządzeń potrzebuje mieć dokumentację - który numer urządzenia jest w którym miejscu. Kiedyś zrobiłem koledze sieć z 10, może 12 czujników - i taką dokumentację zrobiliśmy (to były termometry DS18B20, protokół 1-Wire, rozmieszczone w domu - dzięki temu komputer mógł informować, w którym pomieszczeniu jest jaka temperatura, podając ich nazwy, nie same numery).
  • Poziom 4  
    Dziękuję wam za pomysły- pomogło chociaż trzymałem kciuki, za podanie jakiś przykładów z doświadczenia. Np. 'sprawdź czujniki / urządzenia i soft marki XY... super śmiga- potem podpinam do PLC i gotowe do konfigurowania'

    Czujnik jak pisałem, będzie miał nadawane ID na produkcji- ale musi to być do zmiany.
    Mówimy o ilościach rzędu 100 - 2000 czujników per zakład. + sytuacja, kiedy klient może dokupować.

    dip switch'e nie wchodzą w grę i inne mechaniczne rozwiązania- obudowa jest z nierdzewki, hermetyczna pod ATEX.

    Naklejanie czegokolwiek na czujnik też trochę problem- są stosunkowo małe (fi 20 mm, 45 - 50 mm wys.). Ale pomyślę o mocowaniu jakiejś małej plakietki do wpisania ID.
    Ale pomysł, żeby soft domyślnie podpowiadał ID o 1 większe, niż poprzednie spoko- małe ułatwienie.

    Dumam ciągle czy PC czy Smartphone (ew oba) bo jednak nadawanie ID musi chyba się odbyć przy rozmieszczeniu czujników na zakładzie- przy przenoszeniu itd może być ciężko się połapać który to który był, chyba że będziemy dostarczać defaultowe tabelki z S/N każdego czujnika + miejsce na wpisanie ID jako ewidencja.

    Zrobienie WiFi to łatwizna- dodajesz przejściówkę z RS485 na WiFi i tyle. Do konfiguracji może by to było.

    Martwi mnie jeszcze podawanie zasilania do czujnika na czas konfiguracji- zmuszanie usera do zmontowania zasilacza tylko aby konfigurować czujniki brzmi słabo.
    Na układy nie potrzebujące tego fizycznie mamy za ciasno- w środku MEMS, procek do trzymania buforu i liczenia wartości skalarnych z sygnału...

    Dziękuję wszystkim za pomoc, może coś 'user friendly' z tego będzie ;)
  • Specjalista elektronik
    A jak czujnik ma być podłączany? Do RS485 chyba nie ma standardu gniazdek/wtyków, na ogół robi się złączki śrubowe.

    Pytanie: czy jest możliwa przejściówka USB-RS485 (USB do komputera, RS485 do czujnika), która przekaże zasilanie?

    Gervazzy napisał:
    obudowa jest z nierdzewki, hermetyczna

    Da się na tym pisać flamastrem "wodoodpornym trwałym" tak, by za szybko nie schodziło?

    Jeśli zamierzasz wbudować w to WiFi, to ono pewnie ma unikalny adres MAC...
  • Poziom 4  
    RS to tylko 2 pary kabli- 2 na sygnał i 2 na zasilanie.
    Z USB nie zasilę czujnika, potrzebuje przemysłowego standardu zasilania a nie 5V.

    Wtyczki- no śrubowe albo RJ45.

    Więc muszę znaleźć / stworzyć przejściówkę RS na ETH / USB + wbudowany zasilacz.
  • Specjalista elektronik
    Gervazzy napisał:
    Z USB nie zasilę czujnika, potrzebuje przemysłowego standardu zasilania a nie 5V.

    A to jest kwestia, jaka moc jest potrzebna. Jeśli ułamek wata, to można użyć przetwornicy (wbudować w przejściówkę, przez którą podłącza się czujnik do portu USB komputera).

    Jakie zasilanie i jakie podłączenie sygnału ma mieć ten czujnik tam, gdzie będzie stosowany? Jeśli ma być do niego zasilacz, to może podłączać ten zasilacz i przejściówkę z USB?

    Można jeszcze inaczej: monter podłącza czujnik w miejscu docelowym, dzwoni do informatyka, a ten łączy się z czujnikiem (ten ma fabrycznie ustawiony adres 1) i ustawia mu adres.
  • Poziom 37  
    Gervazzy napisał:
    W każdym razie - komunikacja po Modbus RTU

    O ile pamiętam, standard ma zdefiniowany "general broadcast address 0", za pomocą którego można zmieniać rozmaite parametry typu "user".
    Z drugiej strony możecie dostarczać klientom jakieś urządzenie do konfiguracji, które będzie po prostu skanowało wszystkie adresy aż natrafi na ten, który jest aktualnie ustawiony.
  • Poziom 4  
    To będzie montowane na zakładach przemysłowych, możemy dla przykładu wziąć elektrownię albo rafinerię. Napędy wentylatorów, kompresory, silniki, oprawy łożyskowe itd...

    Dane elektryczne, dla jasności:

    Dane elektryczne
    Napięcie zasilania [V] 18...30 DC
    Pobór prądu [mA] < 250
    Min. rezystancja izolacji [MΩ] 100; (500V DC)
    Zabezpieczenie przed odwrotną polaryzacją tak
    Wyjścia
    Maks. prąd obciążenia na wyjście [mA] 100
    Zabezpieczenie przed zwarciem tak
    Typ zabezpieczenia przed zwarciem impulsowe
    Zabezpieczenie przed przeciążeniem tak

    Urządzenie do konfiguracji, które puszcza broadcast, pyta o ID aktualne i ustawia unikatowe nowe ID... fajnie ale bierzmy pod uwagę koszty. Misja na Marsa.

    Trzeba czujnik po czujniku ustawiać z tym ID. Zbudować coś prostego z komunikacją do PC i zasilaniem czujnika- tyle.
    Cały pic w tym, żeby zanim się to zrobi sprawdzić, czy takie cudo już nie istnieje!

    No nic, dziękuję wam i lecę szukać dalej porady u automatyków z jakichś firm.

    Miłego!
  • Specjalista elektronik
    Połączenie przejściówki USB-RS485 z zasilaczem 24V? Szukałem niedawno różnych przejściówek do RS485, na nic takiego nie trafiłem (chyba, że coś abstrakcyjnie drogiego, bo takim się nie przyglądałem). Samych przejściówek jest pod dostatkiem, wpakować do pudełka przejściówkę, zamontować gniazdo do podłączenia jakiegoś standardowego zasilacza, i gniazdo do połączenia z czujnikiem, zrobić przewód...
  • Poziom 37  
    Gervazzy napisał:
    Urządzenie do konfiguracji, które puszcza broadcast, pyta o ID aktualne i ustawia unikatowe nowe ID... fajnie ale bierzmy pod uwagę koszty. Misja na Marsa.

    Raczysz żartować.
    Koszt jest jednorazowy (projekt), nawiasem mówiąc wcale nie taki znowu rzucający na kolana. Można to zaprojektować na jakimś małym i tanim jak barszcz µC - potem możesz sobie wyprodukować tego jak (bez urazy) małpa kitu.