Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Jak Mitsubishi FX5 RS485 może komunikować się z modułem odtwarzającym dźwięk?

raqszpaq 19 Nov 2020 18:57 477 5
  • #1
    raqszpaq
    Level 5  
    Witam, szukam informacji odnośnie możliwości komunikacji między sterownikiem Fx5 bez dodatkowego modułu poprzez RS232 z zewnętrznym modułem odtwarzającym dźwięki. Czy istnieje możliwość komunikacji przez RS485 i przejściówkę na RS232 taka zwykła za 30 zł z allegro? Potrzebuje wysyłać komunikaty do tego modułu, aby odtwarzać poszczególne ścieżki dźwiękowe z karty sd. Czy ktoś mógłby mnie naprowadzić jak skonfigurować komunikację i ewentualnie zaproponować prosty program służący do wysyłania komend po rs.
  • #3
    pioter96
    Level 10  
    Testowałem działanie komunikacji z konwerterem RS485-UART (podłączanym przez USB do komputera) i działała bez zarzutu, dlatego podejrzewam, że z przejściówkami na RS232 powinno podobnie. UART korzysta w zasadzie tylko z linii danych, a w klasycznym RS232 jest więcej linii sygnałowych do obsłużenia, dlatego tutaj mogą wystąpić ewentualne problemy (w zależności od tego, co wymaga urządzenie oraz co obsługuje konwerter, ale z opisów jakiś przykładowych przejściówek, które znalazłem, wynika, że nie powinno być tych problemów, obsługują one też pozostałe linie sygnałowe, a nie tylko linie danych).
    Konfiguracja odbywa się w GXWorksie 3 (w drzewku Navigation, kolejno Project->Parameter->FX5UCPU->Module Parameter->485 Serial Port) – do ustawienia masz typ protokołu (w tym przypadku Non-procedural) prędkość, liczbę bitów danych, stopu, bit parzystości ..., czyli standard w tego typu komunikacji. Wprowadzone wartości muszą być zgodne z wymaganiami (lub konfiguracją) dołączonego urządzenia.
    Chcesz odtwarzać dźwięki z karty SD znajdującej się w zewnętrznym module (mam nadzieję, że nie w sterowniku)?
    Do obsługi komunikacji służy instrukcja RS2, w której wskazuje się miejsce i ilość danych do wysłania oraz miejsce na dane odebrane. Samo wysyłanie wymaga ustawienia znacznika (chyba SM8561), a odebranie danych jest sygnalizowane innym bitem specjalnym (prawdopodobnie SM8562), który chyba trzeba zresetować po odczytaniu danych. Jakiś przykład wysyłania znajduje się w manualu dotyczącym komunikacji szeregowej.
  • #4
    raqszpaq
    Level 5  
    Tak, moduł zewnętrzny obsługuje karty SD i odtwarza dźwięki mp3. Aby wybrać przykładowo track o.nazwie 1.mp3 trzeba wysłać do modułu ramkę zawierająca informacje podane na zdjęciu. Zastanawiam się jak stworzyc taka ramke, bo z tego co rozumiem dane do przeslania znajdują się pod jednym słowem. Jak Mitsubishi FX5 RS485 może komunikować się z modułem odtwarzającym dźwięk?
  • #5
    pioter96
    Level 10  
    Nie, dane do przesłania zaczynają się od podanego jako argument funkcji rejestru. Ich ilość też jest parametrem funkcji RS2.
    Ponieważ podstawowe słowo w sterowniku jest dwubajtowe, to masz do wyboru: układać 2 bajty w słowie lub w jednym słowie zamieścić tylko jeden bajt. Służy do tego opcja 8-bit processing mode, którą też znajdziesz w oknie konfiguracji (analogiczna ścieżka jak poprzednio, tylko zakładka Fixed Setting zamiast Basic Setting – ewentualnie rejestr specjalny SD8622). Wszystko jest tak naprawdę nawet dość dobrze opisane w manualu (rozdział 6.), do którego link został zamieszczony przez @Radzio M..
  • #6
    raqszpaq
    Level 5  
    Dziękuję za wszystkie odpowiedzi. Będę próbował. :)