Witamy, Gość. Zaloguj się lub zarejestruj.
Aktualności:
Forum Sterowniki PLC Inteligentny dom > Ogólne dyskusje >

linux i Modbus

Strony: [1]
Drukuj
Autor Wątek: linux i Modbus  (Przeczytany 6625 razy)
tipsntrix
Jr. Member
**
Wiadomości: 6


linux i Modbus
: Sierpień 12, 2014, 07:55:35 am »

Witam,
czy ktoś praktykował połączenie linux-modbus tcp, i czy to działa. Nie potrafię sobie z tym poradzić, czy byłby ktoś chętny do pomocy?

primary1
Full Member
***
Wiadomości: 81


linux i Modbus
#1 : Sierpień 12, 2014, 09:26:59 am »

Co masz na myśli linux - modbus tcp? Jakiego oprogramowania używasz i z czym chcesz się połączyć?
Testowałem z ciekawości bibliotekę pymodbus i jeszcze jakąś i wszystko działało bez problemu. Może port masz zablokowany?

tipsntrix
Jr. Member
**
Wiadomości: 6


linux i Modbus
#2 : Sierpień 12, 2014, 13:25:47 pm »

Witam,
przepraszam nie wyraziłem się precyzyjnie, więc...jakiś rok temu kupiłem sterownik Moxy ioLink2210, liczyłem że sterowanie we/wy będzie w miarę proste po snmp. Jednak nie do końca.Wyleżał się rok , z racji że szkoda kasy chciałbym go wykorzystać.   Nigdy nie miałem do czynienie z protokołem modbus no i teraz właśnie muszę to jakoś zwalczyć. A nie do końca wiem jak...

jahu
Sr. Member
****
Wiadomości: 138


linux i Modbus
#3 : Sierpień 12, 2014, 21:38:04 pm »

Witaj,

po pierwsze czy chodzi Ci o ten sterownik http://www.moxa.com/product/iologik-e2210.htm bo tego co podałeś nie można znaleźć, po drugie jeżeli chcesz się zapoznać z protokołem modbus tcp to polecam http://simplymodbus.ca/TCP.htm (TCP od RTU różni się tylko tym, że w TCP nie ma na końcu ramki sumy kontrolnej CRC). Pytanie tylko do czego Ci ten modbus potrzebny, czy do jakiejś wizualizacji, czy do czegoś innego.

tipsntrix
Jr. Member
**
Wiadomości: 6


linux i Modbus
#4 : Sierpień 13, 2014, 17:46:33 pm »

Witam, pomyliłem się w nazwie tak to moxa z Twojego linku. iologic e2210.
Z racji iż wyrzuciłem już kasę;), chciałbym ją wykorzystać do sterowania kilkoma przekaźnikami etc. Liczę że da się jakimś prostym skryptem wysyłać komendy do moxy. Mam też ADAM 6060 i nim również chciałbym sterować. O ile z moxy można odczytać stan wyjść/wejść po SNMP to z advantechem jest tylko modbus.

jahu
Sr. Member
****
Wiadomości: 138


linux i Modbus
#5 : Sierpień 13, 2014, 20:23:23 pm »

Z Twoją moxy jest pewnie tak jak z resztą PLC, czyli logikę (co i kiedy ma się załączać) musisz zaprogramować oprogramowaniem producenta, natomiast modbus'a używasz tylko do odczytu i zapisu konkretnych "zmiennych", modbus'a nie możesz użyć do zaprogramowania sterownika. Nie wiem czy dobrze zrozumiałem do czego chcesz użyć modbus'a, jeżeli nie o to Tobie chodzi to mnie popraw

primary1
Full Member
***
Wiadomości: 81


linux i Modbus
#6 : Sierpień 13, 2014, 21:45:15 pm »

Czyli z komputera chcesz sterować wyjściami sterownika i modułu ADAM 6060?
Zakładając, że masz już zaprogramowany sterownik i skonfigurowany modbus TCP jako slave,
na komputerze możesz skorzystać z gotowych bibliotek do obsługi  Modbus'a.
Tak jak pisałem wcześniej, ja testowałem biblioteki do Python'a, działa to bez problemu.

Podajesz trochę mało informacji, i ciężko coś doradzić. Co ten napisany skrypt miałby robić? Jak chcesz sterować wyjściami?  Ja u siebie wykorzystuje oprogramowanie OpenHAB, o którym pisałem na tym forum.
Wykorzystuje to do sterowania przez wifi/internet na tabletach i smartfonach. Poczytaj, może to Cię zainteresuje.

tipsntrix
Jr. Member
**
Wiadomości: 6


linux i Modbus
#7 : Sierpień 14, 2014, 13:12:09 pm »

Witam, openHub fajny, trzeba się go nauczyć. Mógłbyś mi kolego napisać jak wykonać prostą komend np "exec".
powiedzmy że mamy :
Kod:
Switch elektr_dzwonek "Dzwonek przy bramie" <smiley> (elektr) {tu ma być komenda?}
i teraz powiedzmy że włączenie wysyła 1 do pliku, wyłączenie 0 do pliku.
wg instrukcji
Kod:
in:  exec:"<[<commandLine to execute>:<refreshintervalinmilliseconds>:<transformationrule>]"
out: exec:">[<openHAB-command>:<commandLine to execute>] (>[<openHAB-command>:<commandLine to execute>]) (>[...])"
coś nie czaje:)

primary1
Full Member
***
Wiadomości: 81


linux i Modbus
#8 : Sierpień 17, 2014, 11:37:48 am »

Jutro będę miał chwilę, to Ci odpiszę. Ale tu od razu możesz wykorzystać Modbus binding, exec do komunikacji z PLC ci jest nie potrzebny.

primary1
Full Member
***
Wiadomości: 81


linux i Modbus
#9 : Sierpień 18, 2014, 15:30:46 pm »

Co do openHAB:
Na stronie do pobrania masz konfigurację demo, można się na niej wzorować.
Podam Ci prosty przykład do Modbusa. Zakładam, że oprogramowanie zainstalowałeś i uruchomiłeś.
W pliku openhab.cfg znajdź odpowiednią sekcję i zmodyfikuj:
Kod:
modbus:poll=500
modbus:tcp.slave1.connection=192.168.1.208
modbus:tcp.slave1.id=1
modbus:tcp.slave1.start=0
modbus:tcp.slave1.length=10
modbus:tcp.slave1.type=coil
Adres IP, nr stacji, adres startowy i ilość (długość) adresów musisz sobie odpowiednio dobrać. Po zmianie zrestartuj oprogramowanie.

Dalej w pliku *.items tworzysz np coś takiego:
Kod:
Switch Swiatlo_salon "Sufit salon" (Swiatla) {modbus="slave1:0"}
Jest to element typu Switch o nazwie "Swiatlo_salon", przechowujący stan zmiennej pod adresem 0 po Modbusie.

W pliku *.sitemap wpisujesz np:
Kod:
sitemap default label="Główny"
{
Frame label="Dom" {
Group item=Pietro{
Switch item=Swiatlo_salon
}
}
}

Zapisujesz konfigurację i powinieneś mieć możliwość przełączania elementu Swiatlo_salon z interfejsu pod adresem lokalnym 127.0.0.1:8080/openhab.app? albo za pomocą aplikacji na androida.

tipsntrix
Jr. Member
**
Wiadomości: 6


linux i Modbus
#10 : Sierpień 18, 2014, 19:22:43 pm »

dziękuję. Przetestuję w razie czego będę Cę kłopotał

Strony: [1]
Drukuj
Skocz do: