YL620-A modbus linuxcnc
-
- Sympatyk forum poziom 2 (min. 50)
- Posty w temacie: 27
- Posty: 68
- Rejestracja: 26 lip 2017, 15:04
- Lokalizacja: Szczecin
Re: YL620-A modbus linuxcnc
Nie bardzo łapię o co Ci chodzi z odczytem . Zapisujesz uzywając funkcji 06 a odczytujesz funkcją 03 a składnia w sumie taka sama podajesz pierwszy rejestr do odczytu i ilość rejesrów do odczytania czyli dla YL620 odczyt 8192 i 5 kolejnych rejestrów to jest [01][03][20][00][00][05] CRC i jedynie musisz znaleźć w instrukcji adresy tego co chcesz odczytać w zapisie HEX. Oczywiście jak chcesz odczytać jeden rejestr to w ilości wpisujesz [00][01]a te rejestry sa dwubajtowe bo 03 to odczyt rejestru .
MODBUS – warstwa łącza danych- pole kodu funkcji - przykładykod kod (hex) opis .1 01hodczyt wyjść bitowych2 02hodczyt wejść bitowych3 03hodczyt n rejestrów4 04hodczyt n rejestrów wejściowych5 05hzapis 1 bitu6 06hzapis 1 rejestru© PSI 2015366 06hzapis 1 rejestru7 07hodczyt statusu urządzenia slave8 08htest diagnostyczny150Fhzapis n bitów1610hzapis n rejestrów1711hidentyfikacja urządzenia slave128-255 80h-FFh zarezerwowane dla odpowiedzi błędnych.
To spis wszystkich funkcji modbus ale nie zawsze implementacja funkcji w falowniku odpowiada standardowi. I tak 01 dla YL620 powoduje bład w programie Vfdmod.
Dodane 38 minuty 53 sekundy:
Np dla YL620 (wiem że masz zepsuty ale idea powinna działać dla innych tez) mamy tabelę "Modbus keep register address" i tam mamy adresy od 0x2000 kolejne 75 rejestrów. Aby nie było za łatwo są numerowane jako hex i jako dziesiętne i hex kończą się na 0x2005 (8197) a potem tylko dzisiętne . Używając ModbusMAT można odczytac kolejne 29 rejestrów wpisując jako funkcję 03-Read Holding Register , Offset :8193 (wartość o jeden większą niż chcemy zacząć czytać bo minimalny offset jest 1) a Length : 29 i zobaczymy odczyt rejestrów przez ModbusMAT numerowanych jako 48193 do 48221 (nasz odczyt 48193 odpowiada rejestrowi falownika 8192 czyli nasz Start/Stop itd a 48194 to nasze obroty 8193).Podanie ilości większej jak 29 powoduje bład "Illegel data Valeu!"
Dodane 1 godzina 41 minuty 11 sekundy:
A tak btw to jak w szybki sposób z poziomu linuxcnc wysłać dane do falownika po modbus rtu ?
W Dos jest program modpoll ale nie znalazłem czegoś odpowiedniego dla linux'a
MODBUS – warstwa łącza danych- pole kodu funkcji - przykładykod kod (hex) opis .1 01hodczyt wyjść bitowych2 02hodczyt wejść bitowych3 03hodczyt n rejestrów4 04hodczyt n rejestrów wejściowych5 05hzapis 1 bitu6 06hzapis 1 rejestru© PSI 2015366 06hzapis 1 rejestru7 07hodczyt statusu urządzenia slave8 08htest diagnostyczny150Fhzapis n bitów1610hzapis n rejestrów1711hidentyfikacja urządzenia slave128-255 80h-FFh zarezerwowane dla odpowiedzi błędnych.
To spis wszystkich funkcji modbus ale nie zawsze implementacja funkcji w falowniku odpowiada standardowi. I tak 01 dla YL620 powoduje bład w programie Vfdmod.
Dodane 38 minuty 53 sekundy:
Np dla YL620 (wiem że masz zepsuty ale idea powinna działać dla innych tez) mamy tabelę "Modbus keep register address" i tam mamy adresy od 0x2000 kolejne 75 rejestrów. Aby nie było za łatwo są numerowane jako hex i jako dziesiętne i hex kończą się na 0x2005 (8197) a potem tylko dzisiętne . Używając ModbusMAT można odczytac kolejne 29 rejestrów wpisując jako funkcję 03-Read Holding Register , Offset :8193 (wartość o jeden większą niż chcemy zacząć czytać bo minimalny offset jest 1) a Length : 29 i zobaczymy odczyt rejestrów przez ModbusMAT numerowanych jako 48193 do 48221 (nasz odczyt 48193 odpowiada rejestrowi falownika 8192 czyli nasz Start/Stop itd a 48194 to nasze obroty 8193).Podanie ilości większej jak 29 powoduje bład "Illegel data Valeu!"
Dodane 1 godzina 41 minuty 11 sekundy:
A tak btw to jak w szybki sposób z poziomu linuxcnc wysłać dane do falownika po modbus rtu ?
W Dos jest program modpoll ale nie znalazłem czegoś odpowiedniego dla linux'a
-
- Lider FORUM (min. 2000)
- Posty w temacie: 14
- Posty: 5597
- Rejestracja: 04 lip 2004, 16:03
- Lokalizacja: Gliwice
Re: YL620-A modbus linuxcnc
może https://github.com/riptideio/pymodbuszbysob pisze:nie znalazłem czegoś odpowiedniego dla linux'a
sorki za wszystkie błędy ... (dyslektyk)
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos

Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos
-
Autor tematu - Specjalista poziom 1 (min. 100)
- Posty w temacie: 44
- Posty: 235
- Rejestracja: 23 lut 2011, 15:12
- Lokalizacja: PL
Re: YL620-A modbus linuxcnc

O te parametry do wpisania w CL mi się rozchodziło, ale udało się, jest pełna regulacja/komunikacja w pełnym zakresie obrotów choć ciągle błąd komunikacji wywala.
Pozostaje teraz kosmetyka i bajery do wyświetlania.
Dodane 13 minuty 14 sekundy:
Ale jaja, jak wciskam guzikami obroty na ekranie to pokazuje ok, ale jak wpisze w mdi lub z programu to już przekłamuje. WTF??
Dodane 3 minuty 30 sekundy:
Przykładowo: 40hz to 2400 obr i tak mi pokazuje jak ręcznie wyklinam, ale jak wpisze w MDI 2400obr to już jest 48hz (2880obr) m3 i m4 to samo robi
-
Autor tematu - Specjalista poziom 1 (min. 100)
- Posty w temacie: 44
- Posty: 235
- Rejestracja: 23 lut 2011, 15:12
- Lokalizacja: PL
Re: YL620-A modbus linuxcnc
Dziwne, dziś działa poprawnie, zarówno z guzików jak i z mdi poprawnie kręci, ale program testowy od Adama coś nie puszcza dalej.
-
- Lider FORUM (min. 2000)
- Posty w temacie: 14
- Posty: 5597
- Rejestracja: 04 lip 2004, 16:03
- Lokalizacja: Gliwice
Re: YL620-A modbus linuxcnc
podejrzyj czy obr. zadane zgrywają się z info zwrotna z falownika o obr. osiągniętych - ja np. zmieniłem silnik a zapomniałem zmienić dane we wzorze i zadawałem 1500obr. co powinno być równe 50Hz a w rzeczywistości 1500 obr. w falowniku to było 85Hzszatri pisze:ale program testowy od Adama coś nie puszcza dalej.
w razie czego można wyłączyć funkcje czekania na obr.
#czeka na osiagniecie obrotow zadanych
Set motion.spindle-at-speed
#net spindle-cmd-rpm-abs near.speed.in1
#net spindle-speed-in classicladder.0.floatout-02 => near.speed.in2
#setp near.speed.scale 1.05
#net spindle-at-speed <= near.speed.out
#------
sorki za wszystkie błędy ... (dyslektyk)
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos

Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos
-
Autor tematu - Specjalista poziom 1 (min. 100)
- Posty w temacie: 44
- Posty: 235
- Rejestracja: 23 lut 2011, 15:12
- Lokalizacja: PL
Re: YL620-A modbus linuxcnc
Obr niby już się zgadzają z falownikiem ale czy ten wzór co się wpisuje to działa w 2 strony? Tzn na żądanie obr i odczyt aktualnych? Bo w moim przypadku obr zadaje się procentowo (-100-0-100)%
Obr zadane w parametrze 2000 (Hex) odczyt w 3005 (Hex)
Obr zadane w parametrze 2000 (Hex) odczyt w 3005 (Hex)
-
- Sympatyk forum poziom 2 (min. 50)
- Posty w temacie: 27
- Posty: 68
- Rejestracja: 26 lip 2017, 15:04
- Lokalizacja: Szczecin
Re: YL620-A modbus linuxcnc
adam Fx pisze:może https://github.com/riptideio/pymodbus
Dzięki Adam. Znalazłem program modpoll (https://www.modbusdriver.com/modpoll.html - wersja dla win z konsoli albo linux'a) i jakoś to zadziałało. Jak zwykle opis użycia jest dla tych co już wiedzą o co kaman zatem dwa dni mi zajęło wykapowanie co i jak wpisać (pomimo że help jest jak najbardziej) a jeden dzień zanim dowiedziałem się jak uruchomić skrypt pythona z konsoli

Niestety modbus dalej jest ziemią nieznaną i co rusz robi coś czego nie rozumiem albo nie przewidziałem. Do testowego falownika założyłem ekranowane kable zarówno po stronie prądowej jak i po stronie połączenia modbus. Efekt jest taki że jak włączą się obroty silnika to przestaje reagować klawiatura (podłączona kablem na usb) i trudno sterować czymkolwiek

-
Autor tematu - Specjalista poziom 1 (min. 100)
- Posty w temacie: 44
- Posty: 235
- Rejestracja: 23 lut 2011, 15:12
- Lokalizacja: PL
Re: YL620-A modbus linuxcnc
zbysob pisze:Nie do końca wiem jak podłączyć ekran z kabli
U mnie ekrany podłączone są tez pod bolec w gniazdku (w starym budownictwie nie zawsze było uziemienie, a jak było to często pod zero podłączone), ale dodatkowo mam wyprowadzony kabel do instalacji C.O. lub wody. Nie raz jak się naelektryzuje od ubrania to mnie "kopnie" wiec chyba działa uziemienie. (Tak wiem, nie jest to miara "jakości" uziemienia)
Kabel od rs jest podłączony po stronie falownika do gnd (9100), a w yl620 jest do com (jak dobrze pamiętam), może tu jest problem?
-
Autor tematu - Specjalista poziom 1 (min. 100)
- Posty w temacie: 44
- Posty: 235
- Rejestracja: 23 lut 2011, 15:12
- Lokalizacja: PL
Re: YL620-A modbus linuxcnc
adam Fx pisze:#czeka na osiagniecie obrotow zadanych
Set motion.spindle-at-speed
#net spindle-cmd-rpm-abs near.speed.in1
#net spindle-speed-in classicladder.0.floatout-02 => near.speed.in2
#setp near.speed.scale 1.05
#net spindle-at-speed <= near.speed.out
#------
Jak nie # tego "Set motion.spindle-at-speed" to się nie uruchomi, jak jest z # i się uruchomi to program zatrzyma się przy pierwszej komendzie z m3, skoleji jak # wszystkie te linie to jest brak kontroli na obrotami. (nie czeka na osiągniecie zadanych)
-
- Lider FORUM (min. 2000)
- Posty w temacie: 14
- Posty: 5597
- Rejestracja: 04 lip 2004, 16:03
- Lokalizacja: Gliwice
Re: YL620-A modbus linuxcnc
tak bo jak zakomentujesz to czekać nie będzieszatri pisze:(nie czeka na osiągniecie zadanych)
kod porównuje wartość zadaną net spindle-cmd-rpm-abs near.speed.in1 z wartością odczytaną classicladder.0.floatout-02 (w moim wypadku są to obr. odczytane z falownika https://youtu.be/8fDxSzONBS0?t=536)
Podglądaj w tej tabelce czy wartość %IF1 (zadane w np. MDI) jest równa obrotom %W2 (odczytane z falownika) które zadałeś https://youtu.be/OJap9CVGacg?t=1978 (wydaje mi się ze dość jasno pokazuje w tym fragmencie która wartość jest która )
czy twój falownik podaje osiągnięte obroty czy Hz bo to to różniąca! (mój podaje obroty ).. jak widać mój podaje obroty więc porównuje z obrotami zadanymi w MDI ... gdyby jednak podawał Hz to porównywał bym wartość %W1 z %W2 bo wtedy pod %W1 będę miał Hz (wynik ze wzoru - obroty zadane np. w MDI przeliczone na Hz) w w %W2 wartość aktualnego Hz na jakim jest falownik
Dodane 6 minuty 59 sekundy:
albo jak nie kumasz wrzuć zrzut ekranu z zadanymi obrotami i otwartymi tabelkami w CL
sorki za wszystkie błędy ... (dyslektyk)
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos

Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos