Modbus RTU konfiguracja

Dyskusje dotyczące najpopularniejszego programu sterującego maszynami CNC

Autor tematu
ucy7400
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 5
Posty: 51
Rejestracja: 23 maja 2010, 23:04
Lokalizacja: ziemia

Modbus RTU konfiguracja

#1

Post napisał: ucy7400 » 05 paź 2010, 01:37

Czy ktoś zestawiał może Mach 3 ze sterownikiem Modbus?
Jest to fajna opcja wspomagająca do sterowania z portu LPT.
Chcę czytać "discrette inputs" i pisać do "coils".

Wykonałem sterownik: Modbus serial RTU client
Testowałem go z dobrym skutkiem programem: Modbus Master emulator

Jak teraz sprawić by Mach 3 reagował na sygnały wejściowe i wysyłał dane do modbus'a?
Slave sprawdzany w module testowym modbusa przy konfiguracji, w Mach 3 działa znakomicie.
Mogę do niego pisać - ustawiać "coil'e" oraz "holding registers" i czytać zeń "discrette inputs".
Mam tylko problem z opisaniem IO w "ports & pins" Mach'a tak, by można było ich używać.
Sprawdzałem w Mach Wiki - niestety opisana jest konfiguracja poprzedniej wersji Mach'a.
Ostatnio zmieniony 17 paź 2010, 20:06 przez ucy7400, łącznie zmieniany 1 raz.



Tagi:

Awatar użytkownika

k-m-r1
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 4
Posty: 1418
Rejestracja: 23 cze 2008, 10:38
Lokalizacja: OOL lub DW
Kontakt:

#2

Post napisał: k-m-r1 » 05 paź 2010, 14:00

hmm ciekawa sprawa
ja pełną obsługę modus robię przez logikę czyli brain taki mózg
łączymy sygnał obrabiamy je

na stronce widze tylko projekt i ogólny opis gdzie są schematy płytki lub wiecej info??
MACH3 cncTworzenie Makr do palników magazynków THC OHC inneEKRANY dla firm producentów maszyn Budowa sprzedaż wypalarki plazma gaz obrotnice Elektrodrążarki Frezarki Tokarki Giętarki3D inne wg zlecenia 888 703 196 Tomek Komor [email protected]


Autor tematu
ucy7400
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 5
Posty: 51
Rejestracja: 23 maja 2010, 23:04
Lokalizacja: ziemia

#3

Post napisał: ucy7400 » 05 paź 2010, 23:59

k-m-r1 pisze:...ja pełną obsługę modus robię przez logikę czyli brain...
Tutaj: MBIO jest opisany set'up z użyciem brain'a. Rozumiem, że jak w mach'u włączę działanie modbusa (wcześniej w nim testowanego i działającego) to brain będzie reagował np.: na sygnały wejściowe od razu? Czyli, że mogę z pomocą brain'a odnaleźć właściwą konfiurację "discrette input/sygnał/wejście brain'a"? Pytam, bo na LPT tak to działa...
Tutaj zaś jest opis konfiguracji ModIO - całość IO ma być dostępna przez ustawienia w panelu "Ports & Pins", w Mach'u.
k-m-r1 pisze:...gdzie są schematy płytki lub wiecej info??
Hmm, To jest projekt bardziej od strony programowania uC niż gotowa aplikacja do wdrożenia. Kod pisany jest w Bascom'ie, więc raczej dla poetów niż nerdów ;) Koszt zmontowania jest śmiesznie niski: elementy + płytka uniwersalna... Całość śmiga (aktualnie, przerobiony kod to 16 wejść, 14 wyjść, 16 rejestrów wewnętrznych, 16 rejestrów - banków pamięci) i można się sporo nowego dowiedzieć.

Awatar użytkownika

k-m-r1
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 4
Posty: 1418
Rejestracja: 23 cze 2008, 10:38
Lokalizacja: OOL lub DW
Kontakt:

#4

Post napisał: k-m-r1 » 06 paź 2010, 13:28

aha jeszcze jedno w machu są jak by dwa rodzaje tej szyny danych
pierwsza typowo do komunikacji z sterownikiem po modbus i plc
drugi sposób to plugin czyli troche inna wersja bardziej przystowosana do urzytkowników niż
i teraz tak na czerwono masz z plc
na żułto jak masz dodatkową płytke dorabianą do macha
chyba wiesz grzie wpisuje sie rejestry i adresy
to jak masz je wpisane to w logice podajesz input wejscie czyli rejestr i adres i dalej obrabiasz sygnał

Obrazek

ucy7400 pisze:Rozumiem, że jak w mach'u włączę działanie modbusa (wcześniej w nim testowanego i działającego) to brain będzie reagował np.: na sygnały wejściowe od razu? Czyli, że mogę z pomocą brain'a odnaleźć właściwą konfiurację "discrette input/sygnał/wejście brain'a"
na czerwono będzie odrazu reagował ale to o plc chodzi
trzeba mu przypisac w logice adresy z których ma czytac sygnały

jesli idzie o płytke i program to tylko zaglądałem do paczki ze strony nieznam sie na programowaniu mikro kontrolerów
czy będzie problem jak podeślesz schematy albo całosc sie jakos policzymy? możę dam rade sam zmontowac i podziałam coś wiecej
MACH3 cncTworzenie Makr do palników magazynków THC OHC inneEKRANY dla firm producentów maszyn Budowa sprzedaż wypalarki plazma gaz obrotnice Elektrodrążarki Frezarki Tokarki Giętarki3D inne wg zlecenia 888 703 196 Tomek Komor [email protected]


Autor tematu
ucy7400
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 5
Posty: 51
Rejestracja: 23 maja 2010, 23:04
Lokalizacja: ziemia

#5

Post napisał: ucy7400 » 06 paź 2010, 22:25

k-m-r1 pisze:na czerwono będzie odrazu reagował ale to o plc chodzi
trzeba mu przypisac w logice adresy z których ma czytac sygnały
Jakoś zawsze klikałem w ten plugin który wyświetla "żółte". Jak wywołałem "czerwone" to wszystko chodzi jak z płatka :). Podczepiłem wejścia i wyjścia. Sterowanie motorem pewnie nie pójdzie bo modbus jest zbyt wolny...
k-m-r1 pisze:...nieznam sie na programowaniu mikro kontrolerów...
Mogę Ci zaprogramować podesłany mikrokontroler - ewentualnie skonfigurować/zmodyfikować nieco kod. Płytek nie robię z braku czasu - tutaj wystarczy płytka uniwersalna.

Polecam też Arduino - płytka rewelacyjnie oprogramowana, popularna na całym świecie.
Soft Modbusa do niej arduino-mbrt
Załączniki
modbus_setup2.jpg
Panele dotyczące konfiguracji Modus w Mach3
modbus_setup2.jpg (185.08 KiB) Przejrzano 3368 razy

Awatar użytkownika

k-m-r1
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 4
Posty: 1418
Rejestracja: 23 cze 2008, 10:38
Lokalizacja: OOL lub DW
Kontakt:

#6

Post napisał: k-m-r1 » 07 paź 2010, 14:57

ucy7400 pisze:Sterowanie motorem pewnie nie pójdzie bo modbus jest zbyt wolny...
pujdzie ale jest wolny
ucy7400 pisze:Mogę Ci zaprogramować podesłany mikrokontroler - ewentualnie skonfigurować/zmodyfikować nieco kod. Płytek nie robię z braku czasu - tutaj wystarczy płytka uniwersalna.
nieukrywam nieznam sie na tym jestem troszku zielony :P
MACH3 cncTworzenie Makr do palników magazynków THC OHC inneEKRANY dla firm producentów maszyn Budowa sprzedaż wypalarki plazma gaz obrotnice Elektrodrążarki Frezarki Tokarki Giętarki3D inne wg zlecenia 888 703 196 Tomek Komor [email protected]


Autor tematu
ucy7400
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 5
Posty: 51
Rejestracja: 23 maja 2010, 23:04
Lokalizacja: ziemia

Sterowanie "Output Coils" w VB

#7

Post napisał: ucy7400 » 14 paź 2010, 23:26

Wysyłanie na wyjścia - ustawianie pojedynczych bitów na dwa sposoby...

Kod: Zaznacz cały

' output coils 6 i 7
For x = 1 To 10

    SetModOutPut(7,1)    ' register, state 1
    SetOutBit(6, 0)        ' register, byte value?
    message ("coil6 = 1, coil7 = 1") 

sleep 250

    SetModOutPut(7,0)    ' register, state 0
    ReSetOutBit(6, 0) 
    message ("coil6 = 0, coil7 = 0") 

sleep 250

Next x

End 
A jak czytać wejścia albo rejestry?
W dokumentacji znalazłem tylko:

Kod: Zaznacz cały

If GetInput (*) then

Awatar użytkownika

k-m-r1
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 4
Posty: 1418
Rejestracja: 23 cze 2008, 10:38
Lokalizacja: OOL lub DW
Kontakt:

#8

Post napisał: k-m-r1 » 15 paź 2010, 00:59

MACH3 cncTworzenie Makr do palników magazynków THC OHC inneEKRANY dla firm producentów maszyn Budowa sprzedaż wypalarki plazma gaz obrotnice Elektrodrążarki Frezarki Tokarki Giętarki3D inne wg zlecenia 888 703 196 Tomek Komor [email protected]


Autor tematu
ucy7400
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 5
Posty: 51
Rejestracja: 23 maja 2010, 23:04
Lokalizacja: ziemia

#9

Post napisał: ucy7400 » 15 paź 2010, 16:25

Znam, znam...
Jednak można inaczej:

Kod: Zaznacz cały

' Mach3, without seriall Modbus plugin, read/write only to two selected inputs & two outputs.
'
' output coil registers: 0-7 single bit each
' discrette input reg.: 0-7 single bit each
' input register: 64-71 two byte each
'
' output coil
For x = 0 To 7 'mach inputs < 63, 8 registers
 SetModOutPut(x,1) 'register, state 1
 message ("coil" & x & " = 1") 
sleep 250
 SetModOutPut(x,0) 'register, state 0
 message ("coil" & x & " = 0") 
sleep 250
Next x

' discrette input register
Dim y (9) As Byte 'one byte, 8 registers

For z = 0 To 7 'mach inputs < 63
 y(z) = GetInput (z) 
Next z
    
message ("discrette inputs 0 to 7 = " & y(0) & y(1) & y(2) & y(3) & y(4) & y(5) & y(6) & y(7)) 
sleep 1000

' input register
Dim q (9) As Double 'two byte, 8 registers

For u = 64 To 71 'mach inputs > 63        
 v = u - 64 'first place in table > 0
 q(v) = GetInput (u) 
Next u

message ("register inputs 64 to 71 = " & q(0) & ", " & q(1) & ", " & q(2) & ", " & q(3) & ", " & q(4) & ", " & q(5) & ", " & q(6) & ", " & q(7)) 

End


laik_elektronic
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 1
Posty: 2
Rejestracja: 10 wrz 2010, 08:53
Lokalizacja: Polska

#10

Post napisał: laik_elektronic » 02 gru 2011, 21:18

Witam,
Podłączyłem do modułu Modbus serial RTU client zadajnik MPG2. wszystko działa oprucz pokrętła kroków.
Czy ktoś może mi pomóc? Czy zadajnik można podłączać pod modbus czy tylko LPT?

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Mach 2 / 3 / 4 (ArtSoft software)”