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

[C++] Wygląd ramki, komunikacja przez RS232.

Xenaux 12 Paź 2009 19:15 2879 10
  • #1 12 Paź 2009 19:15
    Xenaux
    Poziom 9  

    Witam, mam pytanie co do modułów sterujących urządzeniami wejścia/wyjścia. Mianowicie, jak powinna wyglądać ramka przesyłająca informacje o stanie np. czujnika nr.1 podłączonego do modułu (np. wiatromierz o nr1 wskazuje prędkość 30km/h)? Nie ogarniam za bardzo tematu, dlatego moje pytanie wygląda mało profesjonalnie, lecz potrzebuje takie informacje.
    Czy jest to jedna ramka z nr urządzenia, druga ze stanem? Czy zapisane jest to w jednej ramce? Przy urzyciu 8 bitów? Proszę o jakąkolwiek pomoc.

    0 10
  • Pomocny post
    #2 12 Paź 2009 19:23
    jestam
    Specjalista Automatyk

    To zależy od urządzenia z którym chcesz wymieniać dane. Podaj producenta, typ, model.

    0
  • #3 12 Paź 2009 19:29
    Xenaux
    Poziom 9  

    jestam napisał:
    To zależy od urządzenia z którym chcesz wymieniać dane. Podaj producenta, typ, model.

    Dzięki za zainteresowanie. Nie znam ani producenta, ani modelu urządzenia. Jeszcze nie zostało to ustalone. Rozumiem jednak, że jest to od tego zależne. Powinienem przejrzeć manuale gdy będę posiadał taką wiedzę? Załóżmy, że będę miał możliwość wybory producenta i modelu, jaki sposób byłby dla mnie najwygodniejszy? Dodam, że będzie to ok20 czujników i 2x tyle urządzeń wykonawczych ( jest to wogóle wykonalne?).

    0
  • #4 12 Paź 2009 22:45
    jestam
    Specjalista Automatyk

    Opisz dokładniej ten system, co to za czujniki i urządzenia wykonawcze, jak to ma działać. Istnieją gotowe komponenty dla takich systemów.

    Bardziej właściwym miejscem dla Twojego pytania może być dział Automatyka i Robotyka.

    0
  • #5 12 Paź 2009 23:08
    Xenaux
    Poziom 9  

    W założeniu ma to być aplikacja komunikująca się z jakimś modułem podłączonym do PC poprzez RS232. Do modułu są podłączone czujniki natężenia światła i jakieś silniki sterujące żaluzjami (nie moja działa więc nie wiem dokładnie jakie to silniki). Interesuje mnie jak wyglada taka ramka zawierająca informacje o stanie czujnika np. nr1. Proszę o przeniesienie tematu, jeśli zachodzi taka potrzeba.

    0
  • Pomocny post
    #6 13 Paź 2009 15:39
    ekomont
    Poziom 16  

    Drogi kolego.

    Koledzy wyraźnie powiedzieli, że musisz wiedzieć jaki masz protokół transmisji. Moduły mogą mieć protokół MODBUS RTU lub zwykły RS232 z dedykowanymi komendami odczytu poszczególnych kanałów.

    Podam Ci przykład. Wagi elektroniczne mają różne protokoły. Jedne odpytuje się wysyłając S I CR LF, inne wysyłając samo S CR LF, a jeszcze inne protokołami tunelowanymi z sumą kontrolną.

    Dopuki nie podasz urządzenia nie dowiesz się jaka będzie ramka. Jedynie w przypadku Modbusa możesz być pewny, jak będzie wyglądało zapytanie, bo to odczyt n rejestrów funkcją zgodną ze specyfikacją Modbus...tylko każde urzadzenie będzie miało inne numery rejestrów

    0
  • #7 15 Paź 2009 09:19
    Xenaux
    Poziom 9  

    Witam, dziękuje za odpowiedź. Kolega, który zajmuję się modułem zaproponował taką ramkę:
    ramki 5 znakowe (preambuła + adres + komenda + argument + CRC8)
    Jednak zna się na tym jeszcze mniej niż ja i nie potrafił jej opisać... Mógłby ktoś mi przybliżyć tą ramkę :( ?

    0
  • #8 15 Paź 2009 09:35
    jestam
    Specjalista Automatyk

    Odpowiedz na jedno zasadnicze pytanie: czy te moduły komunikacyjne masz zamiar kupić, czy ktoś je będzie konstruował i budował?

    W pierwszym przypadku dostosujesz się się do protokołu producenta. Być może wystarczy najprostszy Modbus RTU.

    W drugim ktoś musi zdefiniować i oprogramować protokół komunikacyjny w module - ale piszesz że kolega który zajmuje się modułem "zna się na tym jeszcze mniej niż Ty i nie potrafił jej opisać". Więc kto to zrobi?

    Jedna rada - zamiast wymyślać jakieś własne "ramki 5 znakowe (preambuła + adres + komenda + argument + CRC8)" lepiej zamplementować podzbiór standardowego Modbus RTU.

    http://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b.pdf
    http://www.modbus.org/docs/Modbus_over_serial_line_V1_02.pdf

    0
  • #9 15 Paź 2009 09:40
    Xenaux
    Poziom 9  

    Dzięki za odpowiedź i linki.
    Kto to zrobi za niego? Pewnie ktoś kto się zna za $. Póki co to olewa sprawe, a mało czasu zostało. Stąd te wszystkie niejasności. Zaproponuje mu to, co jest zawarte z linkach od Ciebie. Powinien się zgodzić, póki co to mu wszystko obojętne.

    0
  • #10 15 Paź 2009 09:49
    jestam
    Specjalista Automatyk

    Więc jeszcze jeden link http://www.modbus.pl/, może pomoże. Jest tam implementacja Modbus Slave (czyli w Twoim przypadku dla urządzenia) na PIC, są też jakieś programy Modbus Master (na PC).

    Jeżeli ten system ma działać, to może jednak lepiej kupić gotowe moduły zdalnych wejść/wyjść? I jakiś sterownik PLC do ich obsługi? Chyba że to projekt na studia ;]

    0
  • #11 15 Paź 2009 09:58
    Xenaux
    Poziom 9  

    Projekt na studia, lecz promotor pozwolil kupic gotowy moduł. Ale to już nie moja kwestia, mnie interesował tylko protokół transmisji. Dzięki za pomoc!

    0