Strona 1 z 1

Modbus RTU konfiguracja

: 05 paź 2010, 01:37
autor: ucy7400
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.

: 05 paź 2010, 14:00
autor: k-m-r1
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??

: 05 paź 2010, 23:59
autor: ucy7400
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ć.

: 06 paź 2010, 13:28
autor: k-m-r1
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

: 06 paź 2010, 22:25
autor: ucy7400
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

: 07 paź 2010, 14:57
autor: k-m-r1
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

Sterowanie "Output Coils" w VB

: 14 paź 2010, 23:26
autor: ucy7400
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

: 15 paź 2010, 00:59
autor: k-m-r1

: 15 paź 2010, 16:25
autor: ucy7400
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

: 02 gru 2011, 21:18
autor: laik_elektronic
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?