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

[STM32] MODBUS - Co i jak?

toom16 05 Cze 2017 21:47 5670 5
REKLAMA
  • #1 16514177
    toom16
    Poziom 10  
    Posty: 20
    Ocena: 21
    Witam, muszę zaimplementować połączenie między makietą a komputerem PC poprzez protokół modbus. Niestety nie mam pojęcia jak to zapisać w kodzie programu. Przeczytałem mnóstwo stron w internecie i dalej pustka. Dodatkowe biblioteki np. FreeMODBUS nie mam zielonego pojęcia jak poprawnie zaimplementować pod stm32, wiem że należy w dwóch plikach zainicjować port i timer. Chodzi o nawiązanie połączenia i z poziomu komputera możliwość odczytania jakiejkolwiek danej.
    Dodam tylko, że nie mam płytki pod ręką ponieważ to problem uczelniany, a pomoc ze strony prowadzącego ograniczyła się tylko do teoretycznego wyjaśnienia czym jest modbus.

    Ktoś jest wstanie pomóc?
  • REKLAMA
  • #2 16514504
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    toom16 napisał:
    Ktoś jest wstanie pomóc?

    Tak. Ale dopiero wtedy gdy zadasz konkretne pytanie, bo raczej nikt nie wrzuci Ci tutaj gotowego projektu ani nie zrobi go za Ciebie. Nie masz też co liczyć na opis jak go zrobić krok-po-kroku, bo to jest temat o takiej objętości, że spokojnie byłoby z tego całkiem długie "sprawko".

    toom16 napisał:
    Dodam tylko, że nie mam płytki pod ręką ponieważ to problem uczelniany

    To sobie kup - kilkadziesiąt złotych na jakieś Nucleo można wydać, zwłaszcza jak się zabierasz do roboty tuż przed zaliczeniem <: Bez sprzętu to na pewno nic z tego nie będzie.
  • REKLAMA
  • #3 16514554
    toom16
    Poziom 10  
    Posty: 20
    Ocena: 21
    Zadałbym konkretne pytanie gdybym wiedział jakie zadać ;)
    Nie będę inwestował w jeden na siłę wrzucony kurs w kierunek sieciowy :P nie moja broszka, ale niestety ktoś był mądrzejszy kiedy to wymyślał :)

    Teoria, kawałek kodu/wskazówek jak nawiązać połączenie między płytką a komputerem, jak wysłać/odebrać ramkę(jak ją napisać). Ale jeśli mówisz, że to temat rzeka to dziwię się prowadzącemu bo to nie jest zadanie od początku semestru, a jak on wspominał to "banalnie proste" :D

    Dzięki za odzew!
  • REKLAMA
  • #4 16514582
    tomek_602
    Poziom 22  
    Posty: 351
    Pomógł: 51
    Ocena: 61
    Skoro nigdy nie miałeś z tym do czynienia, to na razie nie można Ci pomóc, bo dopóki nie sformułujesz włąsciwych pytań, nikt nie udzieli właściwej odpowiedzi.
    Bez przeczytania opisu i chociaż powierzchownego zrozumienia Modbusa nie da rady. Do tego musisz zapoznać się z opisem rejestrów tej makiety - chyba, że masz ją sam zaprojektować. A jest to "banalnie proste" tylko dla kogoś, kto już przrobił dwa lub trzy pierwsze układy. Przy pierwszym zawsze jest pod górkę.
    Jak już się połapiesz, o co chodzi, to zastosuj gotowe wolne biblioteki do obsługi właściwego rodzaju Modbusa (ASCII, RTU lub TCP). Ale najpierw do testowania połączenia z makietą użyj któregoś z wolnych symulatorów/testerów, np. Radzio.
  • REKLAMA
  • #5 16514624
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    W paczce z FreeMODBUS są przykłady, więc wystarczy jak jakiś dostosujesz do swoich potrzeb. Przykłady te różnią się drobnymi szczegółami, ale z grubsza są identyczne - udostępniają po Modbusie ileśtam "holding registers" (read/write) oraz ileśtam "input registers" (read-only).
  • #6 16551820
    uboot571
    Poziom 12  
    Posty: 29
    Ocena: 1
    Witam
    toom16 - czy poradziłeś sobie ze wstępną konfiguracją i na jakim etapie jesteś? Też stoję nad implementacją modbusa na STM32, więc można coś wspólnie ruszyć.
    Temat FreeModbusa na STM już był poruszony, więc może ci się przyda.
REKLAMA