Zmiana oprogramowania po RS485 , czy możliwe ?
-
- Posty: 58
- Rejestracja: 23 wrz 2018, 11:28
Zmiana oprogramowania po RS485 , czy możliwe ?
Witam . Czy jest możliwa zmiana oprogramowania posługując się komunikacją rs485 , owszem można to zrobić przez rs232 ale jak wiemy RS 485 nie ma za bardzo możliwości wysłania RST a poza tym rs232 to full Duplex a rs485 niestety nie . Czy jest jakiś patent ? . Płytka Pro Mini została załadowana bootloaderem znajdującym się przykładach samego bascoma . Prosiłbym o jakąś sugestię i czy w ogóle jest taka możliwość . Pozdrawiam
http://mirley.firlej.org/node/1122
http://mirley.firlej.org/node/1122
- niveasoft
- Posty: 1216
- Rejestracja: 17 sie 2015, 12:13
- Kontakt:
Re: Zmiana oprogramowania po RS485 , czy możliwe ?
Bez najmniejszego problemu.
Jedynie resetowanie wymaga podejścia "programowego". Moje sterowniki da się resetować zdalnie przez RS232 też po BT), RS485, UDP i TCP po LAN i WiFi i to wszystko jedna procedura parsującą.
Twój program tylko nadaje czy potrafi też "coś tam" odebrać?
A tu dwa linki które też powinny pomóc
https://bart-projects.cba.pl/bootloader.html
https://bart-projects.cba.pl/rs485.html
BTW. Nawet pochwalę się że z taką Mega328P z kwarcem 1105920 to śmigam po RS485 poprzez MODBUS z prędkością 250_000bps a nie jakieś 115200
Jedynie resetowanie wymaga podejścia "programowego". Moje sterowniki da się resetować zdalnie przez RS232 też po BT), RS485, UDP i TCP po LAN i WiFi i to wszystko jedna procedura parsującą.
Twój program tylko nadaje czy potrafi też "coś tam" odebrać?
A tu dwa linki które też powinny pomóc
https://bart-projects.cba.pl/bootloader.html
https://bart-projects.cba.pl/rs485.html
BTW. Nawet pochwalę się że z taką Mega328P z kwarcem 1105920 to śmigam po RS485 poprzez MODBUS z prędkością 250_000bps a nie jakieś 115200
-
- Posty: 58
- Rejestracja: 23 wrz 2018, 11:28
Re: Zmiana oprogramowania po RS485 , czy możliwe ?
Ok , dzięki za szybka odpowiedź . Może to banalne pytanie ale mam 3 moduły podpięte do jednego rs485 , w jaki sposób mają być identyfikowane , dany soft dla danego modułu
- niveasoft
- Posty: 1216
- Rejestracja: 17 sie 2015, 12:13
- Kontakt:
Re: Zmiana oprogramowania po RS485 , czy możliwe ?
Nie wiem jak je odpytujesz. W RS485 powinno być tak że niepytany Slave milczy.
Wystarczy chyba żeby inne się nie wtrącały a resetować możesz każdego z osobna np komendą AT_RST1 a drugiego AT+RST2
Takie słowo klucz się nazywa "magic word"
W razie gdyby na linii coś się wtrąciło to Bascom jeszcze ma wbudowany mechanizm sprawdzania sumy kontrolnej i ilość powtórzeń danego bloku (jadą tam po 128 bajtów +CRC)
Wystarczy chyba żeby inne się nie wtrącały a resetować możesz każdego z osobna np komendą AT_RST1 a drugiego AT+RST2
Takie słowo klucz się nazywa "magic word"
W razie gdyby na linii coś się wtrąciło to Bascom jeszcze ma wbudowany mechanizm sprawdzania sumy kontrolnej i ilość powtórzeń danego bloku (jadą tam po 128 bajtów +CRC)
-
- Posty: 58
- Rejestracja: 23 wrz 2018, 11:28
Re: Zmiana oprogramowania po RS485 , czy możliwe ?
Miałem ten sam pomysł ale chciałem się upewnić że ten sposób jest jednym z prostszych . Urządzenia tak jak wspomniałeś nie pytane , nie odzywają się ale z małymi wyjątkami jak zauważą parametr mierzony poza jego granicami to same uruchamiają własną procedurę .
- niveasoft
- Posty: 1216
- Rejestracja: 17 sie 2015, 12:13
- Kontakt:
Re: Zmiana oprogramowania po RS485 , czy możliwe ?
Możesz sobie w sofcie napisać że jak wykryje "AT_RSTx" ale nie do niego to ma sobie dać na wstrzymanie np na 30s
-
- Posty: 58
- Rejestracja: 23 wrz 2018, 11:28
Re: Zmiana oprogramowania po RS485 , czy możliwe ?
To powinno wystarczyć na wgranie , chyba że moduł jest daleko i trzeba zmienić prędkość transmisji
-
- Posty: 58
- Rejestracja: 23 wrz 2018, 11:28
Re: Zmiana oprogramowania po RS485 , czy możliwe ?
Witam , co po kolei . Bascomnowy bootloader zmodyfikowany portd.2 wgrany standardowo . Korzystając z przykładu dopisałem sygnalizacje led portb.5 w pętli do Loop . Po zmianie konfiguracji programatora kierując się wskazówkami wgrałem program przez rs485 oczywiście wgrał się i uruchomił ale na końcu okno dialogowe zatrzymało się https://drive.google.com/open?id=1PidnR ... hHiqh5EJbWa przy drugiej próbie wgrania mamy https://drive.google.com/open?id=1NRTyO ... 3URg1q1Hpe, co jest nie tak
- niveasoft
- Posty: 1216
- Rejestracja: 17 sie 2015, 12:13
- Kontakt:
Re: Zmiana oprogramowania po RS485 , czy możliwe ?
Jak coś poprzednio poszło nie tak to teraz raczej nie zrestartuje się na hasło tylko musisz wcisnąć Reset paluchem
Widać, że już próbowałeś i dałeś Cancel
Na dodatek te Waitms 500 temu programowi szkodzi
Zrób np tak i wtedy pętla zatrzyma się tylko na 1ms a nie na 500
ERROR CODES
-6001 - Bad format in file name
-6002 - file not found
-6003 - file not found in folder
-6004 - folder not found
-6005 - canceled
-6006 - time out
-6007 - protocol error
-6008 - too many errors
-6009 - block sequence error
-6016 - session aborted
The most likely error is -6006 when the bootloader is not present or does not respond timely after the initial handshake. Increase the $timeout in the boot loader in that case.
Widać, że już próbowałeś i dałeś Cancel
Na dodatek te Waitms 500 temu programowi szkodzi
Zrób np tak i wtedy pętla zatrzyma się tylko na 1ms a nie na 500
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- Do
- Dim Timer_programowy As Word
- If Timer_programowy < 500 Then
- Incr Timer_programowy
- Else
- Timer_programowy = 0
- Toggle Led
- End If
- If Ischarwaiting() ...
- End If
- Waitms 1
- Loop
-6001 - Bad format in file name
-6002 - file not found
-6003 - file not found in folder
-6004 - folder not found
-6005 - canceled
-6006 - time out
-6007 - protocol error
-6008 - too many errors
-6009 - block sequence error
-6016 - session aborted
The most likely error is -6006 when the bootloader is not present or does not respond timely after the initial handshake. Increase the $timeout in the boot loader in that case.
-
- Posty: 58
- Rejestracja: 23 wrz 2018, 11:28
Re: Zmiana oprogramowania po RS485 , czy możliwe ?
Ten sam efekt , dim przed do ... loop