Witam serdecznie wszystkich użytkowników forum wraz z Administracją
Kieruję się do Waszej społeczności z nastawieniem, iż będziecie w stanie mi pomóc, a nie to co na innym forum, którego pierwsza litera (w cudzysłowie oczywiście) wyraża się taką samą literą jak podstawa logarytmu naturalnego
Przechodzę do problemu, otóż tam, gdzie pracuję mamy kilkanaście sztuk bardzo starych wskaźników (liczników), które mają port komunikacyjny RS485 w standardzie ASCII. Port ten służy do programowania urządzenia dedykowanym programem oraz do odczytu aktualnych wartości, np. przepływu oraz stanu licznika nr 1 i nr 2.
Powiedzmy, że mamy taki wskaźnik o adresie 81, zapytanie o aktualny przepływ wygląda następująco:
Cytuj:
<ESC>81D<CR>
Odpowiedź jest następująca:
Cytuj:
FP210v20 81 200513215324 197.8
Na początku odpowiedzi mamy takie dane jak, typ (model) wskaźnika, jego adres, ciąg liczb, które reprezentują datę oraz godzinę, a na końcu mamy aktualny przepływ.
Zapytanie o stan liczników wygląda tak:
Cytuj:
<ESC>81L<CR>
Odpowiedź:
Cytuj:
FP210v20 81 68502h3100001309520000130952
Tutaj początek odpowiedzi wygląda podobnie, jednakże nas interesują wartości po "h", tam są wskazania sumatorów nr 1 i nr 2.
Moja prośba jest następująca: czy jest możliwość, aby wykorzystać ATMegę 164a (bo taką akurat znalazłem w naszych zasobach) do odczytu tych danych z w/w wskaźnika poprzez wykorzystanie portu UART0 razem z układem MAX485, obrobienie ich tak, aby wyjściowo mieć same końcowe wartości (tutaj będą to 197.5 oraz 0000130952), konwersja na ModBusa i wyrzucenie ich na porcie UART1 jako RS485 ModBus RTU?
Mam nadzieję, iż opisałem zagadnienie w miarę czytelnie, w razie czego w załączniku podsyłam pomocne (wg mnie) materiały do analizy problemu. Jeśli będzie potrzeba, to jutro po południu będę mógł wrzucić skany z DTR wskaźnika dot. komunikacji poprzez 485.
Nie wiem, czy mogę oficjalnie robić reklamę innego forum, dlatego w załączniku również podam adres do zagranicznego forum, w którym zwróciłem się o pomoc z tym samym problemem, ale z wykorzystaniem RaspberryPi i programu Node-Red, to rozwiązanie akurat wyśmienicie się sprawuje, ale niestety nie wszędzie mam możliwość jego wykorzystania, dlatego wpadłem na pomysł z wykorzystaniem ATmegi. Oczywiście w miarę możliwości chciałbym, aby jedna ATMega mogła obsłużyć do 5 takich wskaźników jednocześnie, ponieważ są miejsca, gdzie akurat tyle ich mamy w bliskiej odległości.
Na koniec zostawiłem najważniejsze: mam dostęp do bibliotek Pana Mirosława "MK MULTI UART 2.0", czekam na dostawę GreenBooka. Co do programu - coś spróbowałem samemu podziałać, jednakże nic nie wychodzi tak jak ma być. W załączniku również podsyłam moje wypociny, ale proszę mnie nie bić za to. Jeśli jest taka możliwość to proszę o nakierowanie, bądź wskazanie co gdzie należy zrobić.
Przy próbach przy podłączonym wskaźniku udało się uzyskać odpowiedzi po zapytaniach ze strony ATMegi, także komunikacja po tej stronie działa. Układ jaki zbudowałem był następujący: Atmega podłączona poprzez układ MAX485 do wskaźnika FP210, a po drodze wpiąłem się konwerterem USB-TTL w nóżki Atmegi i uruchomiłem program "Hercules", aby mieć podgląd na linię.
Z góry dziękuję za poświęcony czas na analizę i odpowiedzi
Pozdrawiam, Robert
____
EDIT
Masz Ci los.... nie wysłałem tego projektu, który chciałem, a ponadto awaria internetu spowodowała, że nie mogę korzystać z komputera tylko z telefonu, w razie jakichkolwiek pytań, jutro będę mógł odpowiadać, bo z telefonu to ciężko będzie.....
[ usunąłem cały załącznik bo zawierał pełną bibliotekę Mk Multi UART! Proszę mi powiedzieć jaki jest sens pisania czy to książek czy bibliotek i próba ich sprzedawania przeze mnie jeśli później ktoś za darmo wystawia to na forach internetowych? Do czego ta biblioteka w pliku ZIP ? Kolega chciał przedstawić swoją pracę i poddać pod ocenę czy moją ? .... Bardzo proszę uprzejmie na przyszłość o tym pomyśleć zanim się zrobi takie rzeczy ok? Mam nadzieję, że na tym innym forum kolega nie zrobił takiej samej rzeczy? czy może jednak tak? A jeśli tak - to proszę też o usunięcie tej biblioteki z tamtego czy innych forów. Co za problem wstawić w ZIP swój własny kod ? bez moich bibliotek ? - mirekk36]