V280 komunikacja ModBus z przelicznikiem

Pytania i odpowiedzi dotyczące sprzętu Unitronics

Moderatorzy: Marek Sikora, Mateusz Sikorski

V280 komunikacja ModBus z przelicznikiem

Postprzez 08piotrek80 » Wt, 1 gru 2015, 20:51

Witam,

Mam problem z komunikacją mojego V280 z przelicznikiem. Chciałbym cyklicznie odpytywać przelicznik, a dokładnie chodzi o jeden rejestr (nr rejestru 43 wg załączonej dokumentacji).
Na chwilę obecną działą to tak, że v280 wysyła pytanie natomiast odpowiedź jest błędna. Proszę o pomoc i podpowiedzi co robię źle.
W załączeniu program i dokumentacja.

Z góry dziękuję
Załączniki
struktura danych.rar
dokumentacja
(325.13 KiB) Pobrane 1187 razy
nas.rar
program
(87.77 KiB) Pobrane 1157 razy
08piotrek80
 
Posty: 13
Dołączył(a): Wt, 1 gru 2015, 20:19

Re: V280 komunikacja ModBus z przelicznikiem

Postprzez Mateusz Sikorski » Śr, 2 gru 2015, 08:20

Witam,

program do komunikacji napisany jest dobrze, aczkolwiek "gryzie" się on z ustawieniami w SNAPIE:
Obrazek

Dlaczego wpisuje Pan wartości początkowe do rejestrów MI0-2, skoro są ustawione, jako wejścia analogowe?
Mateusz Sikorski
Elmark Automatyka S.A.
Mateusz Sikorski
 
Posty: 558
Dołączył(a): Śr, 13 lip 2011, 08:08

Re: V280 komunikacja ModBus z przelicznikiem

Postprzez 08piotrek80 » Śr, 2 gru 2015, 09:55

Oczywiście ma Pan rację zmieniłem to.
Zmieniłem również pierwszy rejestr wektora na zmienna typu ML2. W takim przypadku otrzymuje na ekranie V280 wartość ML2 temp. gazu = 11008,03258 i ta wartość nie zmienia się (jest ciągle taka sama).
Następnie zmieniam długość wektora z wartości 1 na wartość 2 i w takim przypadku wartość ML2 temp. gazu jest zmienna i oscyluje wokół 11008,03258 (zwiększając fizycznie temp. gazu = ML2 zwiększa się co do wartości), gdzie fizyczna wartość temp. to ok 20 C. Co może być przyczyną różnicy wskazań pomiędzy temp. rzeczywistą a temp. gazu ML2 wyświetlaną na V280??
08piotrek80
 
Posty: 13
Dołączył(a): Wt, 1 gru 2015, 20:19

Re: V280 komunikacja ModBus z przelicznikiem

Postprzez Mateusz Sikorski » Śr, 2 gru 2015, 10:13

Witam,
z opisu zmiennej "Bieżąca wartość temperatury gazu" wynika, że jest to zmienna typu short (czyli 8bitowa). Powinien Pan w takim razie użyć rejestru MI zamiast ML do odczytu wartości o długości 1. Co wtedy Pan dostaje w rejestrze?
Czy wartość "43" jest podana, jako DEC czy HEX?
Mateusz Sikorski
Elmark Automatyka S.A.
Mateusz Sikorski
 
Posty: 558
Dołączył(a): Śr, 13 lip 2011, 08:08

Re: V280 komunikacja ModBus z przelicznikiem

Postprzez 08piotrek80 » Śr, 2 gru 2015, 10:50

Dla "Bieżąca wartość temperatury gazu" zmieniłem typ na MI i przy długości wektora równej 1 otrzymuje na v280 wartość stałą -24811.
Natomiast dla długość wektora równej 2 otrzymuje na v280 wartości -32768 do +32767 zmieniają się losowo ( przynajmniej tak mi się wydaje).
Tak jest zarówno w przypadku wartości 43 podanej jako Hex i Dec
08piotrek80
 
Posty: 13
Dołączył(a): Wt, 1 gru 2015, 20:19

Re: V280 komunikacja ModBus z przelicznikiem

Postprzez Mateusz Sikorski » Śr, 2 gru 2015, 11:13

Proszę przesłać poprawiony program i pełną dokumentację do urządzenia Modbus RTU Slave.
Mateusz Sikorski
Elmark Automatyka S.A.
Mateusz Sikorski
 
Posty: 558
Dołączył(a): Śr, 13 lip 2011, 08:08

Re: V280 komunikacja ModBus z przelicznikiem

Postprzez 08piotrek80 » Śr, 2 gru 2015, 11:29

W załączeniu program. Mogę prosić o maila bo dokumentacja jest zbyt duża, żeby ją załączyc.
Załączniki
nas.rar
(103.88 KiB) Pobrane 1156 razy
08piotrek80
 
Posty: 13
Dołączył(a): Wt, 1 gru 2015, 20:19

Re: V280 komunikacja ModBus z przelicznikiem

Postprzez Mateusz Sikorski » Śr, 2 gru 2015, 11:47

Proszę zmienić wartość rejestru "Slave pierwszy rejestr wektora" z 43 na 42 oraz 44 i sprawdzić, co wtedy wpisywane jest do Pańskiego MI14.
Mateusz Sikorski
Elmark Automatyka S.A.
Mateusz Sikorski
 
Posty: 558
Dołączył(a): Śr, 13 lip 2011, 08:08

Re: V280 komunikacja ModBus z przelicznikiem

Postprzez 08piotrek80 » Śr, 2 gru 2015, 12:05

W obu przypadkach MI14 ma wartość 19797 (wartość stała, nie zmienia się).
08piotrek80
 
Posty: 13
Dołączył(a): Wt, 1 gru 2015, 20:19

Re: V280 komunikacja ModBus z przelicznikiem

Postprzez Mateusz Sikorski » Śr, 2 gru 2015, 12:32

A jaka wartość pojawia się w MI13, dla każdego z tych 3 przypadków (42, 43 oraz 44) i długości "1" ?
Mateusz Sikorski
Elmark Automatyka S.A.
Mateusz Sikorski
 
Posty: 558
Dołączył(a): Śr, 13 lip 2011, 08:08

Re: V280 komunikacja ModBus z przelicznikiem

Postprzez 08piotrek80 » Śr, 2 gru 2015, 12:42

W wszystkich przypadkach (42, 43 oraz 44) pojawia się na przemian cyfra 4 i 5
08piotrek80
 
Posty: 13
Dołączył(a): Wt, 1 gru 2015, 20:19

Re: V280 komunikacja ModBus z przelicznikiem

Postprzez Mateusz Sikorski » Śr, 2 gru 2015, 12:46

4 oznacza TimeOut
5 oznacza brak komunikacji.

W takim przypadku, brak komunikacji z urządzeniem i wartości te może Pan edytować, ponieważ Modbus nic tam nie wpisuje.
Proszę napisać, jak Pan połączył je ze sobą.
Proszę jeszcze o przesłanie dokumentu "Protokoły transmisji" od tego urządzenia. Z góry dziękuję.
Mateusz Sikorski
Elmark Automatyka S.A.
Mateusz Sikorski
 
Posty: 558
Dołączył(a): Śr, 13 lip 2011, 08:08

Re: V280 komunikacja ModBus z przelicznikiem

Postprzez 08piotrek80 » Śr, 2 gru 2015, 13:16

RS 232

Wtyczka (rs232) z v280 pin 5 --->5 wtyczka przelicznika
2 ---->3
3 ---->2

Dokumentacje prześlę później, ponieważ na nią czekam.
08piotrek80
 
Posty: 13
Dołączył(a): Wt, 1 gru 2015, 20:19

Re: V280 komunikacja ModBus z przelicznikiem

Postprzez Mateusz Sikorski » Śr, 2 gru 2015, 13:35

Proszę spróbować jeszcze na takich ustawieniach:
5-->5
2-->2
3-->3

Jaka wartość wtedy jest wpisywana do MI13?
Mateusz Sikorski
Elmark Automatyka S.A.
Mateusz Sikorski
 
Posty: 558
Dołączył(a): Śr, 13 lip 2011, 08:08

Re: V280 komunikacja ModBus z przelicznikiem

Postprzez 08piotrek80 » Śr, 2 gru 2015, 13:57

Dokument wysłałem na maila. Proponowany przez Pana sposób podłączenia dale efekt jak poprzednio ( naprzemian 4 i 5).
08piotrek80
 
Posty: 13
Dołączył(a): Wt, 1 gru 2015, 20:19

Re: V280 komunikacja ModBus z przelicznikiem

Postprzez 08piotrek80 » Śr, 2 gru 2015, 14:30

RS 232

5 --->5
2 ---->3 W tej konfiguracji pojawia się na przeliczniku wskaźnik transmisji.
3 ---->2



5 --->5
3 ---->3 brak wskaźnika
2 ---->2
08piotrek80
 
Posty: 13
Dołączył(a): Wt, 1 gru 2015, 20:19

Re: V280 komunikacja ModBus z przelicznikiem

Postprzez Mateusz Sikorski » Śr, 2 gru 2015, 14:36

Ciągle brak komunikacji z urządzeniem. Proszę spróbować zapytać to urządzeniem funkcją #4 (Read Input Register).

Czy parametry komunikacji RS232 są na 100% poprawne?
Mateusz Sikorski
Elmark Automatyka S.A.
Mateusz Sikorski
 
Posty: 558
Dołączył(a): Śr, 13 lip 2011, 08:08

Re: V280 komunikacja ModBus z przelicznikiem

Postprzez 08piotrek80 » Cz, 3 gru 2015, 08:31

Witam,

Cały czas kombinuje i okazuje się, że ustawiając długość wektora na 2, MI13(status) jest równy zero czyli jak rozumiem komunikacja poprawna. Pytam o rejestr 1285 (Temperatura gazu T (DP:22) przestawiona w postaci liczby Całkowitej) wypisuje mi poprawną temp. (tylko że temperatura ta jest przedstawiona jako liczba całkowita a ja potrzebuję wartość dokładniejszą).
08piotrek80
 
Posty: 13
Dołączył(a): Wt, 1 gru 2015, 20:19

Re: V280 komunikacja ModBus z przelicznikiem

Postprzez Tomasz Ofiara » Cz, 3 gru 2015, 12:09

Witam Panie Piotrze,

Status 0 w rejestrze MI13 świadczy o poprawnej komunikacji. Jeśli rejestr o który Pan pyta jest typu zmiennoprzecinkowego powinien Pan pytać o niego komendą Read Float Registers, wtedy otrzyma Pan dokładniejszą wartość.

Screen Shot 12-03-15 at 11.36 AM.JPG
(106.09 KiB) Pobrane 1240 razy


Jeśli jednak jest to rejestr jest typu short (8 bitów), należy pytać o niego komendą Read Holding Registers tak Pan to robił do tej pory i otrzymana wartość będzie liczbą całkowitą.

Pozdrawiam,
Tomasz Ofiara
Tomasz Ofiara
 
Posty: 12
Dołączył(a): Śr, 15 paź 2014, 12:12

Re: V280 komunikacja ModBus z przelicznikiem

Postprzez 08piotrek80 » Pn, 7 gru 2015, 11:09

Witam,

Prawie rozgryzłem temat. tylko jeszcze jedna kwestia. Czy istnieje możliwość wyświetlenia zmiennej typu MF na ekranie??
Wybierając do wyświetlania Numeric ----> Number niema możliwości przypisania zmiennej typu MF.

Z góry dziękuję za odp.
08piotrek80
 
Posty: 13
Dołączył(a): Wt, 1 gru 2015, 20:19

Re: V280 komunikacja ModBus z przelicznikiem

Postprzez Tomasz Ofiara » Pn, 7 gru 2015, 11:21

Witam Panie Piotrze,

Może Pan w programie rozbić zmienną MF na dwa rejestry MI i wyświetlić je na panelu HMI. W tym celu proszę użyć bloczku INV, który jest dostępny w zakładce Math -> Float -> Convert.

Obrazek

W razie pytań proszę o kontakt.

Pozdrawiam,
Tomasz Ofiara
Tomasz Ofiara
 
Posty: 12
Dołączył(a): Śr, 15 paź 2014, 12:12

Re: V280 komunikacja ModBus z przelicznikiem

Postprzez 08piotrek80 » Pn, 7 gru 2015, 12:02

Dziękuję za podpowiedzi.
W wyniku analizy doszedłem, że przelicznik należy odpytywać funkcją Read Float Registers (ponieważ liczba którą odczytujemy jest zmienno przecinkowa), co wydaje się oczywiste. Natomiast Format liczb F.P. w protokole modbas musi być 1-2-3-4. Ważne jest również żeby odpytywać jednocześnie wszystkie rejestry składające się na parametr urządzenia, co w tym przypadku wiąże się z pytaniem o wektor długości równej 2.
08piotrek80
 
Posty: 13
Dołączył(a): Wt, 1 gru 2015, 20:19


Powrót do Unitronics



Kto przegląda forum

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