ModeBus

Pytania, kody i porady dotyczące nie tylko Bascom.
ODPOWIEDZ
grzeniu 73
Posty: 26
Rejestracja: 07 lip 2019, 0:32

ModeBus

Post autor: grzeniu 73 » 16 lut 2023, 20:05

Siema. Pierwszy raz zabrałem sie za Modbus rtu . Korzystam z przykładu bascoma.
Musze wysłać " 01 04 03 E8 00 15 "

i wysyłam
  1.  W = &H0015 : Print #1 , Makemodbus(1 , 4 , &H03E8 , W);
Cokolwiek nie wpisze do zmiennej W to wysyła "01 04 03 E8 00 01" , A chce odczytać 21 adresów.
Poradziłem sobie po długim kombinowaniu zamiast W
  1. Print #1 , Makemodbus(1 , 4 , &H03E8 , 42);
Tylko, że nie rozumiem czemu tak sie dzieje.
I drugie pytanie czy ta biblioteka używa jakiegoś Timera? Nie mogę znaleźć na to pytanie odpowiedzi
Awatar użytkownika
niveasoft
Posty: 1207
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: ModeBus

Post autor: niveasoft » 16 lut 2023, 21:19

Przepraszam że nie moge sie zagłebić w ten akurat temat dzisiaj, ale na pewno ta biblioteka korzysta z Timera. O to chodzi właśnie w ModBus. Jak nie ma wiecej danych to znaczy że to wszystko i wtedy sie je analizuje.. Na samym poczatku okresla się to ze przesłanie jednego bajtu potrwa tyle.. a jak dwie długosci tego minęły i nic nowego nie nadeszło to znaczy koniec transmisji.

Timer0 tu jest używany - jesli ma sie w procu więcej takich timerów to mozna to przełączyć.
grzeniu 73
Posty: 26
Rejestracja: 07 lip 2019, 0:32

Re: ModeBus

Post autor: grzeniu 73 » 18 lut 2023, 11:46

Dzięki za odpowiedz. Trochę sie tym pobawiłem i bascomie trzeba wysłać ile bajtow chce odebrać od slave , a nie ile adresów odczytać. Ważne ,ze działa. Gorzej jest z crc, ale może kiedyś i z tym sobie poradzę.
Awatar użytkownika
niveasoft
Posty: 1207
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: ModeBus

Post autor: niveasoft » 18 lut 2023, 11:56

Co ciekawe musiało mnie trochę przycmic bo to wszystko jest opisane w Helpie -> F1 ->Modbus Slave Server :
A timer is used to detect the start of a frame. With RTU (binary data) a silence of 3.5 characters is needed between frames. A frame is a complete MODBUS message.
grzeniu 73
Posty: 26
Rejestracja: 07 lip 2019, 0:32

Re: ModeBus

Post autor: grzeniu 73 » 18 lut 2023, 21:39

Mnie chyba tez , bo zapomniałem napisać ,ze korzystam z modebus Master. Ale tu w sumie do wysłania zapytania chyba tez potrzebny jest timer ,żeby do pauzę zrobić na początku i na końcu ramki. Chociaż w helpie nie znalazłem, żeby korzystał z timera w tym wypadku.
ODPOWIEDZ