Volcano EC vts z wy...
 
Powiadomienia
Wyczyść wszystko

Volcano EC vts z wyjściem RS485 ModBUS RTU jakiś pomysł na podłączone do OH

145 Wpisów
4 Użytkownicy
0 Reactions
10.8 K Wyświetleń
(@alien)
Wpisów: 98
Pomocny
 

@szpila86

ID chodzi o numer, nie ma znaczenia  przy jednym urządzeniu. Czy ustawisz 1, 3 lub 4 nie ma różnicy, dodatkowo można ustawić by urządzenie ignorowało ID po RS 485 adres jak najbardziej ma znaczenie. https://store.chipkin.com/products/tools/cas-modbus-scanner sprawdź sobie komunikacje z konwerterem.  Trochę pomieszane te ustawienia wyglądają tak jak by były do tego co wychodzi a jest zmiksowane. Czy ten konwerter to RS 485->TCP czy Modbus RS485->TCP ramka TCP z tego co pamiętam jest inna niż w RS.

 
Dodane : 17/01/2021 3:32 pm
(@alien)
Wpisów: 98
Pomocny
 

@szpila86
Był zainstalowany vide

openhab> la -s | grep -i modbus
273 x Installed x 80 x 2.5.6 x org.openhab.binding.modbus

tylko nie był uruchomiony w miejscu installed powinno być Active

 
Dodane : 17/01/2021 3:40 pm
(@szpila86)
Wpisów: 363
Weteran Patron Strony Donator 2K22, Donator 2K23, Donator 2K24
Autor tematu
 

Według sprzedawcy obsługuje Modbus rtu i już dziś pisałem o ewentualny zwrot jeśli się wszystko nie wyklaruje do środy. 

Robi się to mocno problematyczne i denerwuje. 

Na PLC też mam z tym problem gdzie inne urządzenia po Modbus faunie ścigają.
 
Dodane : 17/01/2021 4:02 pm
(@kamikac)
Wpisów: 226
Pomocny
 

@szpila86 Według strony waveshare ten konwerter obsługuje modbus: https://www.waveshare.com/RS232-485-TO-ETH.htm

Jak chcesz z tym walczyć to proponuję zainstalować na QNAPie Entware ( https://github.com/Entware/Entware/wiki/Install-on-QNAP-NAS) a w Entware socat i spróbować tak:

socat -d -d pty,link=/dev/ttyMB,raw,echo=0,waitslave tcp:192.168.86.7:500

A w OH:

Bridge modbus:serial:localhostTCP [ port="/dev/ttyMB" baud=9600, stopBits="1.0", parity="none", dataBits=8, encoding="rtu", id=3 ] {

 

 
Dodane : 17/01/2021 6:11 pm
(@szpila86)
Wpisów: 363
Weteran Patron Strony Donator 2K22, Donator 2K23, Donator 2K24
Autor tematu
 

@kamikac

Co mi to da? Jakie jest tego zadanie? 

 
Dodane : 17/01/2021 6:56 pm
(@alien)
Wpisów: 98
Pomocny
 

@szpila86
W sumie nie da nic, ten konwerter nie konwertuje ramek MODBUS więc to niestety nie będzie działało, w opisie jest że jest transparentny więc ramki przechodzą nie zmienione. Opis wprowadza w błąd, konwerter faktycznie wspiera MODBUS ale na linii RS485/RS232 co nie jest wielka filozofia bo to tylko konwersja sygnału 🙂   

 
Dodane : 17/01/2021 7:49 pm
(@szpila86)
Wpisów: 363
Weteran Patron Strony Donator 2K22, Donator 2K23, Donator 2K24
Autor tematu
 

@alien

Więc jednak tu problem ;(

To może jakiś konwerter polecisz?

 
Dodane : 17/01/2021 7:53 pm
(@kamikac)
Wpisów: 226
Pomocny
 

@szpila86 W założeniu zakładasz wirtualny port szeregowy, który wysyła dane do Twojej bramki przez TCP (Ethernet). Bramka zamienia TCP na port szeregowy i wysyła do Volcano. W drugą stronę tak samo.Nie mam jak sprawdzić, czy to działa, ale jest szansa, że będzie.

 
Dodane : 17/01/2021 8:21 pm
(@kamikac)
Wpisów: 226
Pomocny
 

@alien I w ten sposób co opisałem z socat nic nie musi konwertować. OH komunikuje się po serialu i do urządzenia fizycznego też idzie serial. A że po drodze zmienia się medium to nie ma znaczenia.

 
Dodane : 17/01/2021 8:27 pm
(@alien)
Wpisów: 98
Pomocny
 

@kamikac
Zgadza się powinno zadziałać 🙂 

 
Dodane : 17/01/2021 8:49 pm
(@szpila86)
Wpisów: 363
Weteran Patron Strony Donator 2K22, Donator 2K23, Donator 2K24
Autor tematu
 

@kamikac

Zainstalowałem entware-std ale nie wiem jak wejść w to i zainstalować przekierowanie

 
Dodane : 18/01/2021 4:33 pm
(@kamikac)
Wpisów: 226
Pomocny
 

@szpila86 Musisz wyłaczyć management console QNAPa (napisałem jak to zrobić na drugiej stronie tego wątku). Łączysz się przez ssh do konsoli QNAPa (port 22, użytkownik admin i hasło do QNAPa). Tam wykonujesz polecenie

opkg update

a następnie

opkg install socat

Potem możesz spróbować przekierować serial na bramkę przez socat wg tego, co pisałem kilka postów wyżej.

 
Dodane : 18/01/2021 6:22 pm
(@szpila86)
Wpisów: 363
Weteran Patron Strony Donator 2K22, Donator 2K23, Donator 2K24
Autor tematu
 

@kamikac

[~] # opkq update
-sh: opkq: command not found
[~] # opkg update
Downloading http://bin.entware.net/x64-k3.2/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/entware
[~] # opkg install socat
Installing socat (1.7.3.4-1) to root...
Downloading http://bin.entware.net/x64-k3.2/socat_1.7.3.4-1_x64-3.2.ipk
Installing zlib (1.2.11-3) to root...
Downloading http://bin.entware.net/x64-k3.2/zlib_1.2.11-3_x64-3.2.ipk
Installing libopenssl (1.1.1h-1) to root...
Downloading http://bin.entware.net/x64-k3.2/libopenssl_1.1.1h-1_x64-3.2.ipk
Configuring zlib.
Configuring libopenssl.
Configuring socat.
[~] # socat -d -d pty,link=/dev/ttyMB,raw,echo=0,waitslave tcp:192.168.86.7:500
2021/01/18 19:21:14 socat[19818] N PTY is /dev/pts/5

[~] # socat -d -d pty, link=/dev/ttyMB, raw, echo=0, waitslave tcp:192.168.86.7:500
2021/01/18 19:23:31 socat[22997] E exactly 2 addresses required (there are 6); use option "-h" for help
2021/01/18 19:23:31 socat[22997] N exit(1)

 

Czy jest możliwość że aplikacja OH na telefonie zgłasza błąd certyfikatu SSL przez coś co namieszałem z konsoli?

 

 
Dodane : 18/01/2021 7:24 pm
(@kamikac)
Wpisów: 226
Pomocny
 

@szpila86 Wydaje mi się, że po pierwszym wydaniu polecenia socat zrobił link od urządzenia /dev/pts/5 do twojej bramki.

Podaje wynik poleceń:

netstat -n |grep :500

i

ps w|grep socat

W drugiej próbie wstawiłeś dodatkowe spacje, co spowodowało błąd. Po drugim -d mają być dokładnie w argumenty. Dodatkowe spacje spowodowały, że argumentów jest więcej.

 
Dodane : 18/01/2021 8:36 pm
(@szpila86)
Wpisów: 363
Weteran Patron Strony Donator 2K22, Donator 2K23, Donator 2K24
Autor tematu
 

@kamikac

Pierwszy nie dał wyniku

[~] # netstat -n |grep :500
[~] # ps w|grep socat
11230 admin 240 S grep socat
[~] #

 

 

 
Dodane : 18/01/2021 8:40 pm
(@kamikac)
Wpisów: 226
Pomocny
 

@szpila86 Jeśli robiłeś tylko to, co pisałem, to nie powinno zmienić certyfikatu SSL.

Z powyższego wynika, że socat nie działa.

A jak wydałeś pierwsze polecenie socat to sam wrócił do linii poleceń czy użyłeś Ctrl-C ?

Podaj jeszcze wynik

dmesg|tail -n 20

 
Dodane : 18/01/2021 8:45 pm
(@szpila86)
Wpisów: 363
Weteran Patron Strony Donator 2K22, Donator 2K23, Donator 2K24
Autor tematu
 

@kamikac

dłuższa chwilę wisiał więc przerwałem

 
Dodane : 18/01/2021 8:46 pm
(@kamikac)
Wpisów: 226
Pomocny
 
Dodane przez: @szpila86

@kamikac

dłuższa chwilę wisiał więc przerwałem

Dobry znak 🙂

W takim razie

socat -d -d pty,link=/dev/ttyMB,raw,echo=0,waitslave tcp:192.168.86.7:500 &

a potem pokaż

netstat -n |grep :500

ps w|grep socat

A w OH

Bridge modbus:serial:localhostTCP [ port="/dev/pts/5" baud=9600,
stopBits="1.0", parity="none", dataBits=8, encoding="rtu", id=3 ] {

 
Dodane : 18/01/2021 8:52 pm
(@szpila86)
Wpisów: 363
Weteran Patron Strony Donator 2K22, Donator 2K23, Donator 2K24
Autor tematu
 

@kamikac

[~] # netstat -n |grep :500
[~] # ps w|grep socat
4117 admin 3308 S socat -d -d pty,link=/dev/ttyMB,raw,echo=0,waitslave tcp:192.168.86.7:500
4493 admin 3340 S socat -d -d pty,link=/dev/ttyMB,raw,echo=0,waitslave tcp:192.168.86.14:500
5776 admin 240 S grep socat
[~] # ps w|grep socat
4117 admin 3308 S socat -d -d pty,link=/dev/ttyMB,raw,echo=0,waitslave tcp:192.168.86.7:500
4493 admin 3340 S socat -d -d pty,link=/dev/ttyMB,raw,echo=0,waitslave tcp:192.168.86.14:500
6161 admin 236 S grep socat
308 S socat -d -d pty,link=/dev/ttyMB,raw,echo=0,waitslave tcp:192.168.86.7:500
 
Dodane : 18/01/2021 8:55 pm
(@kamikac)
Wpisów: 226
Pomocny
 

@szpila86 Chyba jest OK.

Teraz musisz zabić te 2 procesy, które stworzyłeś:

killall socat

i ostatnia (mam nadzieję) zmiana

socat -d -d pty,link=/dev/tty10,raw,echo=0,waitslave tcp:192.168.86.7:500 &

i w OH

Bridge modbus:serial:localhostTCP [ port="/dev/tty10" baud=9600,
stopBits="1.0", parity="none", dataBits=8, encoding="rtu", id=3 ] {

Jak to nie zadziała, to ja nie mam już pomysłów.

 
Dodane : 18/01/2021 9:07 pm
Strona 4 / 8
Udostępnij: