RTV forum PL | NewsGroups PL

Odczyt danych z licznika AS1440 Elmess - brak reakcji na różne prędkości baud

Problem z odczytem licznika en. el.

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Odczyt danych z licznika AS1440 Elmess - brak reakcji na różne prędkości baud

Marek
Guest

Sat Aug 29, 2015 3:58 pm   



Muszę zrobić sobie do pewnych celów odczyt danych pomiarowych z
licznika używając swoj customowy czytnik. Dla celów testowych znajomy
elektryk pożyczył mi jakiś używany ale sprawny licznik. Po kilku
próbach udało się z nim połączyć na 4800 bps i tylko tą prędkość
licznik proponuje przy inicjalizacji. Skoro norma mówi, że
inicjalizacja powinna być na 300 bps (po tym można ewentalnie
zwiększyć prędkość), to dlaczego on jest zafiksowany na 4800 bps?
Ale mniejsza o to. Przetestowaszy komunikację z testowym licznikiem
podpiąłem się do tego docelowego i kiszka. Spróbowałem wszystkie bps
od 300 do 19200 (taką max. prędkość deklaruje producent). Licznik nie
odpowiada na /?!\r\n. Upewniłem się w tabeli kodów modeli czy mój na
pewno ma rs485 (są też wersje z rs232), wg kodu ma. W desperacji
zamieniłem miejscami linie A z B (może jest błąd w opisie zacisków) i
przeskanowałem jeszcze raz po wszystkich możliwych prędkościach i
nic.
Skończyły mi się już pomysły, ale zanim zadzwonię do producenta w
poniedziałek - może jednak coś przeoczyłem? Licznik to model AS1440
firmy Elmess.

--
Marek

jacek pozniak
Guest

Sat Aug 29, 2015 7:01 pm   



Marek wrote:


Quote:
Skończyły mi się już pomysły, ale zanim zadzwonię do producenta w
poniedziałek - może jednak coś przeoczyłem? Licznik to model AS1440
firmy Elmess.

Może Twój licznik jest w wersji z interfejsem MBUS?

jp

Marek
Guest

Sat Aug 29, 2015 8:20 pm   



On Sat, 29 Aug 2015 21:01:57 +0200, jacek pozniak
<jacek.pozniak@flowservice.pl> wrote:
Quote:
Może Twój licznik jest w wersji z interfejsem MBUS?

Ten model w zależności od wyposażenia może mieć interfejs CL0, rs232
lub rs485. Wg tabeli oznaczeń modelu ten ma mieć rs485. Na pokrywie
zacisków jest legenda z ich opisem, jest para zacisków oznaczona
rs485. Albo interfejs jest uwalony albo programowo zablokowany....

--
Marek

jacek pozniak
Guest

Sat Aug 29, 2015 8:36 pm   



Marek wrote:

Quote:
On Sat, 29 Aug 2015 21:01:57 +0200, jacek pozniak
jacek.pozniak@flowservice.pl> wrote:
Może Twój licznik jest w wersji z interfejsem MBUS?

Ten model w zależności od wyposażenia może mieć interfejs CL0, rs232
lub rs485. Wg tabeli oznaczeń modelu ten ma mieć rs485. Na pokrywie
zacisków jest legenda z ich opisem, jest para zacisków oznaczona
rs485. Albo interfejs jest uwalony albo programowo zablokowany....
Tylko zasugerowałem ponieważ widywałem już liczniki (ciepła) z interfejsem

RS232 i protokołem MBUS na nim, tzn fizyczny interfejs to jedno a protokół
jaki na nim siedzi to może być inny.

jp


>

Marek
Guest

Sat Aug 29, 2015 10:00 pm   



On Sat, 29 Aug 2015 22:36:29 +0200, jacek pozniak
<jacek.pozniak@flowservice.pl> wrote:
Quote:
Tylko zasugerowałem ponieważ widywałem już liczniki (ciepła) z
interfejsem
RS232 i protokołem MBUS na nim, tzn fizyczny interfejs to jedno a
protokół
jaki na nim siedzi to może być inny.

Wcześniej pisałeś interfejs mbus a nie protokół stąd myślałem, że
masz na myśli interfejs (sprzętowy). Od producenta dostałem dokument
opisujący komunikację z tym licznikiem, jedst zgodny z EN 62056-21
(61107), protokół ten sam co ten licznik testowy.

--
Marek

mk
Guest

Sun Aug 30, 2015 7:16 am   



W dniu 2015-08-29 17:58, Marek pisze:
Quote:
Muszę zrobić sobie do pewnych celów odczyt danych pomiarowych z licznika
używając swoj customowy czytnik. Dla celów testowych znajomy elektryk
pożyczył mi jakiś używany ale sprawny licznik. Po kilku próbach udało
się z nim połączyć na 4800 bps i tylko tą prędkość licznik proponuje
przy inicjalizacji. Skoro norma mówi, że inicjalizacja powinna być na
300 bps (po tym można ewentalnie zwiększyć prędkość), to dlaczego on
jest zafiksowany na 4800 bps?
Ale mniejsza o to. Przetestowaszy komunikację z testowym licznikiem
podpiąłem się do tego docelowego i kiszka. Spróbowałem wszystkie bps od
300 do 19200 (taką max. prędkość deklaruje producent). Licznik nie
odpowiada na /?!\r\n. Upewniłem się w tabeli kodów modeli czy mój na
pewno ma rs485 (są też wersje z rs232), wg kodu ma. W desperacji
zamieniłem miejscami linie A z B (może jest błąd w opisie zacisków) i
przeskanowałem jeszcze raz po wszystkich możliwych prędkościach i nic.
Skończyły mi się już pomysły, ale zanim zadzwonię do producenta w
poniedziałek - może jednak coś przeoczyłem? Licznik to model AS1440
firmy Elmess.


Magistrali RS485 używa się w ten sposób by można było podpiąć do niej
wiele liczników... jeśli próbujesz zainicjować transmisję na tym
interfejsie przy pomocy sekwencji /?!\r\n to który z wielu liczników
miałby dawać odpowiedź? Jeśli odpowiedziałyby wszystkie zrobiłby się
bałagan na magistrali.
Licznik trzeba wskazać poprzez podanie jego adresu (np. numeru seryjnego
licznika lub jego fragmentu) np. /?[numer licznika]!\r\n, ale szczegółów
szukaj w opisie protokołu transmisji licznika.

pzdr
mk

Marek
Guest

Sun Aug 30, 2015 11:55 am   



On Sun, 30 Aug 2015 09:16:23 +0200, mk <reverse_lp.pw@myzskm> wrote:
Quote:
Magistrali RS485 używa się w ten sposób by można było podpiąć do
niej
wiele liczników... jeśli próbujesz zainicjować transmisję na tym
interfejsie przy pomocy sekwencji /?!\r\n to który z wielu
liczników
miałby dawać odpowiedź? Jeśli odpowiedziałyby wszystkie zrobiłby
się
bałagan na magistrali.
Licznik trzeba wskazać poprzez podanie jego adresu (np. numeru
seryjnego
licznika lub jego fragmentu) np. /?[numer licznika]!\r\n, ale
szczegółów
szukaj w opisie protokołu transmisji licznika.

Licznik testowy, który leży w warsztacie odpowiada na sekwencję
inicjującą bez podania id. Producent tego drugiego licznika z którym
mam problem też twierdził, że sekwencja bez id jest prawidłowa (i
tak jest w dokumentacji, która dostałem od niego, nawet jest zrzut
sekwencji z terminala).
Ale pomimo to Twoja sugestia może być słuszna, sprawdzę to. Dzięki.

--
Marek

mk
Guest

Sun Aug 30, 2015 12:42 pm   



W dniu 2015-08-30 13:55, Marek pisze:
Quote:
On Sun, 30 Aug 2015 09:16:23 +0200, mk <reverse_lp.pw@myzskm> wrote:
Magistrali RS485 używa się w ten sposób by można było podpiąć do
niej
wiele liczników... jeśli próbujesz zainicjować transmisję na tym
interfejsie przy pomocy sekwencji /?!\r\n to który z wielu
liczników
miałby dawać odpowiedź? Jeśli odpowiedziałyby wszystkie zrobiłby
się
bałagan na magistrali.
Licznik trzeba wskazać poprzez podanie jego adresu (np. numeru
seryjnego
licznika lub jego fragmentu) np. /?[numer licznika]!\r\n, ale
szczegółów
szukaj w opisie protokołu transmisji licznika.

Licznik testowy, który leży w warsztacie odpowiada na sekwencję
inicjującą bez podania id. Producent tego drugiego licznika z którym mam
problem też twierdził, że sekwencja bez id jest prawidłowa (i tak jest
w dokumentacji, która dostałem od niego, nawet jest zrzut sekwencji z
terminala).
Ale pomimo to Twoja sugestia może być słuszna, sprawdzę to. Dzięki.


Sekwencja bez id jest typowa dla połączenia bezpośredniego z licznikiem
tj. np. przy użyciu głowicy optycznej. Więc zwróć na to uwagę czy owe
zrzuty nie są z takiej właśnie sesji.

Przy połączeniu RS485 już nie jest typowa (raczej jest wyjątkowa i
wymaga by na magistrali był tylko jeden licznik).

pzdr
mk

Marek
Guest

Sun Aug 30, 2015 1:28 pm   



On Sun, 30 Aug 2015 14:42:21 +0200, mk <reverse_lp.pw@myzskm> wrote:
Quote:
Przy połączeniu RS485 już nie jest typowa (raczej jest wyjątkowa i
wymaga by na magistrali był tylko jeden licznik).

No to zrozumiałe, jak ten licznik testowy wykrył, że jest sam na
magistrali i odpowiedział na sekwencję bez id? Czyżbym trafił na
nietypowy model (producent JM Tronik), który pracuje tylko w
konfiguracji 1-1?

--
Marek

Marek
Guest

Sun Aug 30, 2015 1:45 pm   



On Sun, 30 Aug 2015 14:42:21 +0200, mk <reverse_lp.pw@myzskm> wrote:
Quote:
Przy połączeniu RS485 już nie jest typowa (raczej jest wyjątkowa i
wymaga by na magistrali był tylko jeden licznik).

A czy standard niedopuszcza, że jeśli master (czytnik) wysyła
sekwencje bez id to wie co robi i oznacza to, że pytanie jest do
jedynego slave'a jakim jest ten licznik? Analogicznie do skip rom w
1wire.

--
Marek

jacek
Guest

Sun Aug 30, 2015 6:04 pm   



Marek <fake@fakeemail.com> wrote:
Quote:
On Sun, 30 Aug 2015 14:42:21 +0200, mk <reverse_lp.pw@myzskm> wrote:
Przy połączeniu RS485 już nie jest typowa (raczej jest wyjątkowa i
wymaga by na magistrali był tylko jeden licznik).

No to zrozumiałe, jak ten licznik testowy wykrył, że jest sam na
magistrali i odpowiedział na sekwencję bez id? Czyżbym trafił na
nietypowy model (producent JM Tronik), który pracuje tylko w konfiguracji 1-1?


Nie wiem jak teraz ale kiedyś jmtronik miał własny protokół.
Jp

mk
Guest

Mon Aug 31, 2015 5:41 am   



W dniu 2015-08-30 15:45, Marek pisze:
Quote:
On Sun, 30 Aug 2015 14:42:21 +0200, mk <reverse_lp.pw@myzskm> wrote:
Przy połączeniu RS485 już nie jest typowa (raczej jest wyjątkowa i
wymaga by na magistrali był tylko jeden licznik).

A czy standard niedopuszcza, że jeśli master (czytnik) wysyła sekwencje
bez id to wie co robi i oznacza to, że pytanie jest do jedynego slave'a
jakim jest ten licznik? Analogicznie do skip rom w 1wire.

Już dawno nie miałem tego tekstu owego standardu przed swymi oczami. I
tak, jeden z ważniejszych wniosków z jego lektury był taki, że w celu
pozyskania konkretnych danych z konkretnego licznika jest i tak
potrzebna dokumentacja tego konkretnego licznika. Owy standard jest
baaardzo ogólnym zbiorem wytycznych jak taka komunikacja ma wyglądać.

Nie odpowiem Ci na Twoje pytanie jednoznacznie co standard dopuszcza a
czego nie bez możliwości starannego przestudiowania tekstu standardu pod
danym kątem.
Jeśli mógłbym obstawiać to obstawiam, że standard milczy na ten temat,
więc w sumie producent mógł sobie zrobić taki "feature" o którym wyżej
piszesz jako swego rodzaju rozszerzenie. Ale wiem też, że całkiem sporo
liczników wspomnianą sekwencję, jako rozpoczęcie komunikacji, zignoruje
(co, obstawiam, też będzie całkowicie zgodne ze standardem).

pzdr
mk

Marek
Guest

Tue Sep 01, 2015 7:30 am   



On Mon, 31 Aug 2015 07:41:04 +0200, mk <reverse_lp.pw@myzskm> wrote:
Quote:
Jeśli mógłbym obstawiać to obstawiam, że standard milczy na ten
temat,
więc w sumie producent mógł sobie zrobić taki "feature" o którym
wyżej
piszesz jako swego rodzaju rozszerzenie. Ale wiem też, że całkiem
sporo
liczników wspomnianą sekwencję, jako rozpoczęcie komunikacji,
zignoruje
(co, obstawiam, też będzie całkowicie zgodne ze standardem).

Okazało sie ze ten "problematyczny" licznik też odpowiada na /?! bez
id. To że wcześniej mi nie odpowiadał wynikało z tego, że po prostu
ignoruje co kilka prób string inicjujacy połączenie. Gdy np. w petli
zaczne go odpytywac co 2 sekundy stringiem /?! to odpowiada
kompletnie niedetermistycznie, co drugi raz, co 5, co 7, czasami dwa
razy pod rząd. Dokumentacja jego protokołu nie wspomina o
ograniczeniu częstości zapytań wręcz mówi że "the time between 2
succeeding signs should be lower than 1.5s" (co jest trochę dziwne,
albo co innego rozumiemy przez "signs").
Pierwsze podejrzenia miałem takie, że może to problem z magistralą,
może przy przełączaniu nadawanie/odbiór robi się glitch, który
zakłóca komunikację i licznik odbiera przekłamany string i ignoruje
go. Dodałem rezystory 680 podciągające magistralę do Vcc/GND jak to
niektórzy sugerują ale to nic zupełnie nie zmieniło....
Drugie podejrzenie to takie, że być może standard wymaga
"wylogowania" się po ówczesnym "zalogowaniu" stąd ignoruje
wielokrotne /?! w trakcie aktywnej sesji. Ale dokumentacja wspomina
tylko o zamykaniu sesji programowania przez SOH B0 ETX BCC.
Z producentem na razie chyba nie ma sensu gadać, bo jak powiem że
nieodpowiada za każdym razem to mam problem z magistralą i skieruje
mnie na drzewo.

--
Marek

Gof
Guest

Sun Sep 13, 2015 1:18 am   



Marek <fake@fakeemail.com> wrote:

Quote:
ograniczeniu częstości zapytań wręcz mówi że "the time between 2
succeeding signs should be lower than 1.5s" (co jest trochę dziwne,
albo co innego rozumiemy przez "signs").

Moze maja na mysli znaki (characters). Moze gdy czas miedzy znakami
przekroczy 1.5s, to bufor sie zeruje albo cos.

Moze za maly czas miedzy znakami tez powoduje problemy, spotkalem sie z
tym w innym urzadzeniu.

--
"qui hic minxerit aut cacaverit, habeat deos superos et inferos iratos"
http://www.chmurka.net/

Marek
Guest

Mon Sep 14, 2015 7:14 am   



On Sat, 12 Sep 2015 23:18:06 +0000 (UTC), gof@somewhere.invalid (Gof)
wrote:
Quote:
Moze maja na mysli znaki (characters). Moze gdy czas miedzy znakami
przekroczy 1.5s, to bufor sie zeruje albo cos.
Moze za maly czas miedzy znakami tez powoduje problemy, spotkalem
sie z
tym w innym urzadzeniu.

Od producenta wypożyczyłem identyczny model do testów i zachowuje się
normalnie. Także to jakaś osobnicza cecha tego konkretnego licznika.
Być może to kwestia softu, dziwnie zachowujący się ma v9.32 a ten
wypożyczony 9.36. Co ciekawe support producenta na moje oko nie ma
bladego pojęcia* skąd takie dziwne zachowanie, jedyne co był w stanie
zaproponować to żebym wymienił w szafie ten "dźwiny" na ten
wypożyczony.

* - może dlatego, że soft licznika i dokumentacja ma sygnatury ABB, a
oni tylko to składają...

--
Marek

elektroda NewsGroups Forum Index - Elektronika Polska - Odczyt danych z licznika AS1440 Elmess - brak reakcji na różne prędkości baud

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map