Modbus RTU over Ethernet

Pytania i odpowiedzi dotyczące sprzętu Unitronics

Moderatorzy: Marek Sikora, Mateusz Sikorski

Modbus RTU over Ethernet

Postprzez lwilk » Pn, 8 paź 2012, 23:48

Witam,

posiadam sterownik V1040 192.168.36.118, ktory przez ethernet jest podłączony z MOXA N5450 192.168.36.119 port 1 4001, a do pierwszego kanału RS485 jest podłączony moduł modbusowy I/O (o adresie slave = 1). Jesli zamiast sterownika podłącze komputer z oprogramowaniem DAQFactory, to moge swobodnie odczytywac i zapisywac rejestry i cewki, wiec zakładam, że ta czesc działa prawidłowo, problem natomiast mam z zaprogramowaniem sterownika tak, aby czytał i zapisywał rejestry i cewki. Prosze o pomoc w napisaniu podprogramu. Probowalem sciagnac z forum program, ale rowniez nie zadziałał.
Z gory dziekuje za pomoc.
LW
lwilk
 
Posty: 18
Dołączył(a): Pn, 1 paź 2012, 22:29

Re: Modbus RTU over Ethernet

Postprzez Mateusz Sikorski » Wt, 9 paź 2012, 07:14

Witam,

w załączniku przesyłam przykładowy program.
Załączniki
V1040_Ethernet_TCP_MODBUS_IP_Master.zip
(180.78 KiB) Pobrane 914 razy
Mateusz Sikorski
Elmark Automatyka S.A.
Mateusz Sikorski
 
Posty: 564
Dołączył(a): Śr, 13 lip 2011, 08:08

Re: Modbus RTU over Ethernet

Postprzez lwilk » Wt, 9 paź 2012, 08:32

Dziekuje za przesłany przykładowy program. Pobrałem juz go wczesniej i testowałem, lecz nie czytał mi rejestrów. Prosze o krotki komentarz, do przesłanego programu, gdzie powinny byc wpisane adresy IP (sterownika, moxy), gdzie wpisać port moxy 4001 oraz gdzie wpisac adres urzadzenia slave, poniewaz z tego co doczytałem to w przykładowym programie dane urzadzenie jest czytane po IP (Modbus IP over ethernet), a nie over RTU.
Z gory dziekuje za pomoc.
LW
lwilk
 
Posty: 18
Dołączył(a): Pn, 1 paź 2012, 22:29

Re: Modbus RTU over Ethernet

Postprzez Mateusz Sikorski » Wt, 9 paź 2012, 08:40

Witam,
W bloku "MODBUS IP Configuration" deklaruje się Slave'y - nazwa (dowolna), adres IP, port oraz Slave ID (zawsze 255 !). Jak sama nazwa wskazuje (Modbus IP), protokół ten wykorzystuje połączenie ethernetowe (skrętka) a nie szeregowe (RS232 lub RS485).
Mateusz Sikorski
Elmark Automatyka S.A.
Mateusz Sikorski
 
Posty: 564
Dołączył(a): Śr, 13 lip 2011, 08:08

Re: Modbus RTU over Ethernet

Postprzez lwilk » Cz, 18 paź 2012, 00:04

Witam Panie Mateuszu,

Dzisiaj przyszło juz urządzenie MGate 3480 i chciałem z modbusa RTU przepiąc urzadzenia na modbusa IP. Moja konfiguracja to sterownik Unitronics V1040 MGate 3840 (skonfigurowany 4 porty slave) oraz moduły modbusowe na 4 kanałach (razem 22).
W bloku konfiguracyjnym Modbusa IP w programie zadeklarowałem urzadzenia slave, z tym że nr id jest rowny adresowi slave urzadzenia na modbusie RTU, a nie 255. Rejestry sa odczytywane prawidłowo, z tym że zauwazyłem, że max można tak zadeklarowac 16 urzadzen slave. Chciałem sie dowiedzieć co w przypadku, jak mam 22 urzadzenia slave, czy moge dodac kolejny bloczek konfiguracyjny, z tym samym adresem IP, rozniacym sie tylko adresem slave urzadzenia? A moze jest jakiś inny sposob, ktory pozwolilby mi odczytac wszystkie urzadzenia w jednej petli. Nie ukrywam, że byloby to dla mnie prostsze rozwiazanie, poniewaz moglbym juz wykorzystac utworzone wczesniej i dzialajace podprogramy dla modbusa RTU. W zalaczeniu przesyłam program.
Z gory dziekuje za pomoc i pozdrawiam.
LW
Załączniki
Nawadnianie3.zip
(247.01 KiB) Pobrane 776 razy
lwilk
 
Posty: 18
Dołączył(a): Pn, 1 paź 2012, 22:29

Re: Modbus RTU over Ethernet

Postprzez Mateusz Sikorski » Cz, 18 paź 2012, 10:21

Witam Panie Łukaszu,

wychodzi na to, że chce się Pan łączyć z 22 Slave'ami z tym samym IP (192.168.36.119) ,na tym samym porcie (502) i z różnymi ID, tak?
Jeśli tak, to w bloku konfiguracji "Modbus IP Configuration" niech Pan wpisze jednego Slave'a i przy wyborze ID niech Pan wybierze opcję "Adress of MI" i wybierze rejestr w którym będzie zmieniana wartość. To powinno rozwiązać problem.
Mateusz Sikorski
Elmark Automatyka S.A.
Mateusz Sikorski
 
Posty: 564
Dołączył(a): Śr, 13 lip 2011, 08:08

Re: Modbus RTU over Ethernet

Postprzez lwilk » Pt, 19 paź 2012, 01:40

Witam Panie Mateuszu,

niestety Pana propozycja nie rozwiazala mojego problemu, poniewaz jak wybiore adres slave z MI, to sterownik nie czyta zadnych rejestrow. Na chwile obecna jedyna dzialajaca opcja jest dolozenie 22 blokow odczytujacych rejestry, ale to bardzo komplikuje program. Czy ma Pan jeszcze jakis sprawdzony pomysl?
Nie ukrywam, że czasu juz mam niewiele, a duzo czasu trace na proby i testy, ktore pozniej i tak nie przynosza rezultatu.
Dziekuje i pozdrawiam
LW
lwilk
 
Posty: 18
Dołączył(a): Pn, 1 paź 2012, 22:29

Re: Modbus RTU over Ethernet

Postprzez lwilk » Pt, 19 paź 2012, 02:13

Kolejny problem mam taki, że jak doloze kolejny bloczek do czytania rejestru, to prawidłowo działa mi tylko pierwszy (odswieza sie zawartosc czytanego rejestru). Co jeszcze nalezy zrobić, aby wszystkie czytane rejestry odswiezaly sie prawidłowo? Moze ten sam problem dotyczy tez wczesniejszego postu?
W zalaczeniu program, ktory nie działa.
Załączniki
Modbus_IP.zip
(348.39 KiB) Pobrane 771 razy
lwilk
 
Posty: 18
Dołączył(a): Pn, 1 paź 2012, 22:29

Re: Modbus RTU over Ethernet

Postprzez Mateusz Sikorski » Pt, 19 paź 2012, 11:20

Witam Panie Łukaszu,

Ad.1) faktycznie nie działa tak jak powinno pośrednie adresowanie "Slave ID". Napisałem to Panu po konsultacji z producentem bez sprawdzenia tego przeze mnie za co bardzo przepraszam. W obecnej chwili producent został poinformowany o błędzie (nie pracują w piątek niestety).

Ad.2) tak jak rozmawialiśmy przez telefon nie można dać dwóch bloczków do odczytu/zapisu Modbus (RTU lub TCP), gdyż to nie zadziała. Trzeba wykorzystać zbocze opadające (-|N|-) bitu (Function in Progress), tak jak to pisałem w poprzednich postach.
Mateusz Sikorski
Elmark Automatyka S.A.
Mateusz Sikorski
 
Posty: 564
Dołączył(a): Śr, 13 lip 2011, 08:08

Re: Modbus RTU over Ethernet

Postprzez lwilk » Pt, 19 paź 2012, 13:35

Panie Mateuszu,

w nawiazaniu do naszej rozmowy przesyłam program. Procedura obsługi modbusa TCP/IP jest zawarta w podprogramie Modbus_IP_Odczyt_15AI.
ziekuje i pozdrawiam
LW
Załączniki
Nawadnianie5.zip
(422.32 KiB) Pobrane 794 razy
lwilk
 
Posty: 18
Dołączył(a): Pn, 1 paź 2012, 22:29

Re: Modbus RTU over Ethernet

Postprzez Mateusz Sikorski » Śr, 24 paź 2012, 09:32

Witam Panie Łukaszu,

chciałbym poinformować, że producent wydał nowego OS'a na V1040, który poradził sobie z problemem opisanym poniżej. W załączniku przesyłam Panu plik z OS'em, który trzeba wgrać do katalogu :
Kod: Zaznacz cały
Program Files (x86)\Unitronics\Unitronics VisiLogic_C\Data\Os Vision\V1040\OS
a następnie wgrać go do sterownika. Powinno pomóc.

Mateusz Sikorski napisał(a):Witam Panie Łukaszu,

Ad.1) faktycznie nie działa tak jak powinno pośrednie adresowanie "Slave ID". Napisałem to Panu po konsultacji z producentem bez sprawdzenia tego przeze mnie za co bardzo przepraszam. W obecnej chwili producent został poinformowany o błędzie (nie pracują w piątek niestety).
Załączniki
VCO00300620_V1040.zip
(400.78 KiB) Pobrane 784 razy
Mateusz Sikorski
Elmark Automatyka S.A.
Mateusz Sikorski
 
Posty: 564
Dołączył(a): Śr, 13 lip 2011, 08:08


Powrót do Unitronics



Kto przegląda forum

Użytkownicy przeglądający to forum: Google [Bot] i 0 gości