iBASe™ - MMC-02


Moduł monitoringu zużycia mediów



Spis zawartości

  1. Charakterystyka
  2. Opis
    1. Wejścia licznikowe
    2. Zasilanie
    3. Zasilanie wewnętrzne
    4. Automatyczne wysyłanie zmiennych
  3. Dane techniczne
    1. Interfejs sieciowy
    2. Zmienne dla liczników
    3. Tabela jednostek fizycznych
    4. Ustawianie parametrów
    5. Przykłady programowania modułu
    6. Zmienne sieciowe modułu
  4. Graficzne przedstawienie interfejsu sieciowego
  5. Aplikacja modułu MMC-02
  6. Zasilanie modułu
  7. Wymiary zewnętrzne

Charakterystyka

  • Cztery wejścia impulsowe współpracujące ze stykiem beznapięciowym lub licznikiem z wyjściem OC
  • Monitoring czterech liczników mediów
  • Wbudowane funkcje liczników impulsów z nieulotną pamięcią
  • Bateryjnie podtrzymywane zliczanie impulsów oraz zawartości liczników
  • Praca w sieci
  • Zgodność ze standardem LonMark®

Moduł MMC-02 jest uniwersalnym modułem do monitoringu zużycia różnych mediów mierzonych za pośrednictwem liczników z wyjściem impulsowym. Moduł przeznaczony jest do wykorzystania w rozproszonych systemach monitoringu zrealizowanych w oparciu o sieć .

Zestaw wejść pozwala na podłączenie typowych liczników mediów z wyjściem impulsowym. Moduł posiada wbudowane funkcje liczników z bateryjnym podtrzymywaniem zliczania impulsów oraz zawartości liczników. Stan poszczególnych liczników modułu MMC-02 może być odczytywany zdalnie za pośrednictwem sieci , dostarczany do serwera sieci i udostępniany za pośrednictwem sieci Internet dla odpowiednich dystrybutorów mediów.

Opis

Wejścia licznikowe

Moduł posiada cztery dwustanowe wejścia licznikowe aktywne (z zasilaniem). Do każdego z tych wejść może być dołączony licznik z wyjściem stykowym (styk bierny) lub wyjściem tranzystorowym w układzie OC (otwarty kolektor). Zwarcie styku lub wysterowanie tranzystora powoduje zwiększenie stanu licznika przypisanego do danego wejścia w wewnętrznym układzie licznikowym. Stan liczników jest następnie odczytywany przez główny procesor modułu i przeliczany na wartość fizyczna wg ustawionych parametrów. Dla każdego z liczników można określić wartość początkową, jednostkę, skalowanie oraz sposób prezentacji wartości. Stan liczników zapisany jest w pamięci podtrzymywanej bateryjnie, po załączeniu modułu sprawdzana jest ich poprawność i odpowiednio sygnalizowana.

Parametry ustawiane są za pomocą zmiennych sieciowych przedstawionych w dalszej części, poniżej przedstawiono ich krótka charakterystykę:

  • wartość początkowa - parametr pozwala na określenie od jakiej wartości moduł ma zacząć naliczanie - ma to zastosowanie w sytuacji dołączenia licznika z już naliczoną niezerową wartością,
  • współczynniki skalujące - pozwalają na określenie zależności między liczbą impulsów a wartością fizyczną,
  • jednostka - parametr określa jednostkę zliczanego medium,
  • długość licznika - parametr określa liczbę cyfr użytych do zliczania, w momencie jej przekroczenia następuje przekręcenie się licznika i naliczanie od początku,
  • liczba znaków dziesiętnych - parametr pozwala na podział licznika na część całkowitą oraz część dziesiętną - jest to liczba cyfr po przecinku.

Zasilanie

Moduł posiada dwa rodzaje zasilania

  • zewnętrzne - po jego dołączeniu funkcjonuje cały moduł - część zliczająca oraz część przeliczająco/komunikacyjna,
  • wewnętrzne (bateryjne) - przy braku zasilania zewnętrznego funkcjonuje tylko część zliczająca oraz podtrzymanie stanu liczników.

Przy braku zasilania zewnętrznego moduł nadal zlicza impulsy (aż do wyczerpania baterii), ale nie jest możliwy odczyt danych przez sieć. Po przywróceniu zasilania dostępne są aktualne wartości.

Napięcie baterii jest monitorowane i jej stan jest dostępny przez zmienną sieciową.

Zasilanie zewnętrzne

Moduł jest w stanie wykryć brak zasilania zewnętrznego i sygnalizuje ten fakt przez odpowiednią zmienną sieciową. Za pośrednictwem innej zmiennej można ten znacznik skasować. Pozwala to na diagnostykę w przypadku problemów.

Automatyczne wysyłanie zmiennych

W przypadku potrzeby zintegrowania modułu z urządzeniem, które nie wykonuje jawnego odczytu wartości zmiennych (poprzez odpytywanie wartości zmiennych), konieczna jest jawna propagacja zmiennych licznikowych przez moduł MMC-02. Moduł MMC-02 ma możliwość okresowego wysyłania wartości zmiennych, a okres wysyłania jest konfigurowalny.

Dane techniczne

Procesor
Typ Neuron® Chip 3150
Pamięć Flash 64KB
Częstotliwość zegara 10 MHz
Identyfikacja Service pin lub przez ręczne wprowadzenie numeru
Pamięć dodatkowa 68 B, podtrzymywana bateryjnie
Interfejs sieciowy
Transceiver Zgodny z TP/FT-10 (FT-X1)
Szybkość transmisji 78 Kb/s
Maksymalna odległość 2700 m - magistrala dwustronnie terminowana w układzie "bus topology"
500 m - sieć jednopunktowo terminowana w układzie "free topology"
Liczba urządzeń na kanał maks. 64
Polaryzacja magistrali Dowolna
Protokół LonTalk®
Terminacja sieci Zewnętrzna - wg wymogów aplikacji
Zasilanie
Napięcie zasilania 12 V AC/DC, 24 V AC/DC
Pobór mocy 0,3 VA
Warunki środowiskowe
Temperatura pracy 0..+40 °C
Temperatura przechowywania -20..+70 °C
Wilgotność względna 25..90 % RH bez kondensacji pary
Wejścia impulsowe
Liczba wejść 4
Obsługiwane liczniki - z wyjściem typu styk bierny (beznapięciowy)
- z wyjściem typu OC (otwarty kolektor)
Zasilanie styku/kolektora Ok. 3,6V przy zasilaniu zewnętrznym
Ok. 2,4V przy zasilaniu bateryjnym
Maksymalna odległość licznika 2 m
Min. czas trwania impulsu 20 ms
Min. czas między impulsami 30 ms
Podtrzymywanie bateryjne Gwarantuje się podtrzymanie stanu liczników bez zasilania przez czas 8 godzin.
Uwaga: w przypadku przechowywania lub pracy bez zasilania moduł musi być okresowo zasilony celem naładowania akumulatora
Sygnalizacja i sterowanie
Dioda Service Żółta dioda LED - sygnalizacja stanu węzła
Dioda zasilania i identyfikacji Zielona dioda LED - sygnalizacja zasilania modułu i identyfikacji w sieci (funkcja "wink")
Przycisk Service Wykorzystywany na etapie integracji modułu w sieci
Przycisk Reset Pozwala na ręczną inicjalizację modułu
Jako przyciski zostały wykorzystane miniaturowe przyciski klawiaturowe zabezpieczone przed przypadkowym wciśnięciem (dostępne są przez małe otwory w płycie czołowej modułu)
Obudowa i montaż
Obudowa Polistyrenowa typu Z-102
Montaż Na szynie TS-35
Kolor obudowy Jasnoszary
Wymiary obudowy 54 x 90 x 65 mm
Zaciski Listwa łączeniowa z zaciskami śrubowymi z osłoną przewodu w rastrze 5 mm, maksymalny przekrój przewodu 1,5 mm2

Interfejs sieciowy

Interfejs sieciowy opisuje parametry konfiguracyjne i zmienne sieciowe wykorzystane w module.

Zmienne dla liczników

Każdy z liczników posiada własny zestaw zmiennych sieciowych, ponizej opisany został pojedynczy zestaw, natomiast zestawienie wszystkich zmiennych zamieszczono w dalszej części.

NazwaTypOpis
nvoMeterValSNVT_reg_valNaliczona wartość. Zmienna składa się z trzech pól:
  • raw (4) - naliczona wartość fizyczna w postaci surowej
  • unit - jednostka wartości fizycznej
  • nr_decimals - liczba cyfr dziesiętnych
Naliczona wartość fizyczna w postaci surowej jest liczbą całkowitą w zakresie od 0 do wartości zależnej od długości licznika. Długość licznika określa liczbę "dziewiątek" dla wartości maksymalnej, np. dla licznika o długości 9 cyfr wartość ta wynosi 999.999.999. Minimalna długość licznika to 4 cyfry i wtedy zakres wartości to 0..9999.
Prawidłowa interpretacja wymaga jeszcze uwzględnienia jednostki oraz liczby cyfr dziesiętnych.
Przykład:
raw = 12345
unit = RVU_KWH
nr_decimals = 2
należy interpretować jako 123,45 kWh.
nciStartValSNVT_reg_valPoczątkowy stan licznika, zmienna jest tego samego typu co naliczona wartość i obowiązują te same zasady dotyczące interpretacji poszczególnych pól. W przypadku podania wartości spoza zakresu dokonywana jest korekta. Wartość w polu .raw musi być dodatnia i nie może być większa niż pojemność licznika, np. przy długości licznika 6 cyfr wartość ta wynosi 999.999. Wprowadzenie większej wartości spowoduje korektę do maksymalnej dopuszczalnej wartości, tj. 999.999 w tym przypadku.
Pole .unit zawiera jednostkę wybieraną z listy dostępnych.
Pole .nr_decimals zawiera liczbę cyfr dziesiętnych i musi być mniejsze od długości licznika.
Przykład: Chcąc wpisać 456,78 kWh z dwoma miejscami dziesiętnymi należy ustawić:
raw = 45678
unit = RVU_KWH
nr_decimals = 2
Domyślna wartość to: (0, RVU_KWH, 1)
nciPulseConstSNVT_muldivWspółczynniki do przeskalowania liczby impulsów na wartość fizyczną. Parametr posiada dwa pola:
  • multiplier - liczba przez jaką będzie mnożona liczba impulsów
  • divisor - liczba przez jaką będzie dzielona liczba impulsów
Taki sposób skalowania pozwala na poprawne przeliczanie w sytuacji, gdy liczbę impulsów należy pomnożyć przez wartość ułamkową.
Przykład: Chcąc pomnożyć liczbę impulsów przez 2.5 (2.5 = 5/2), należy ustawić multiplier = 5, divisor = 2.
Wartość domyślna: muliplier = 1, divisor = 1 (1/1)
nciNumDigitsSNVT_countDługość licznika - liczba cyfr służących do reprezentacji wartości fizycznej. Im większa liczba cyfr, tym większą wartość można prezentować. W przypadku przekroczenia maksymalnej wartości następuje zliczanie od początku - tzn. przekręcenie się licznika. Prawidłowa wartość musi zawierać się w przedziale 4..9, w przypadku podania mniejszej lub większej - zostanie ona skorygowana odpowiednio do 4 lub do 9.
Wartość domyślna: 7
nciObjMajVerunsigned shortWersja bloku funkcjonalnego - starsza część.
Dopuszczalny zakres wartości to 0..255.
Wartość domyślna: 1
nciObjMinVerunsigned shortWersja bloku funkcjonalnego - młodsza część.
Dopuszczalny zakres wartości to 0..255.
Wartość domyślna: 0
nciMeterIDSNVT_count_32Identyfikator licznika. Jest to 32 bitowa liczba bez znaku.
Wartość domyślna: 0

Tabela jednostek fizycznych

Poniżej przedstawiono listę dopuszczalnych jednostek używanych w polu .unit w zmiennej nvoMeterVal i w parametrze nciStartVal.

IdentyfikatorOpis
RVU_NONEBez określenia jednostki
RVU_WMoc czynna - jednostka W
RVU_KWMoc czynna - jednostka kW
RVU_MWMoc czynna - jednostka MW
RVU_GWMoc czynna - jednostka GW
RVU_VARMoc bierna - jednostka var
RVU_KVARMoc bierna - jednostka kvar
RVU_MVARMoc bierna - jednostka Mvar
RVU_GVARMoc bierna - jednostka Gvar
RVU_WHEnergia czynna - jednostka Wh
RVU_KWHEnergia czynna - jednostka kWh
RVU_MWHEnergia czynna - jednostka MWh
RVU_GWHEnergia czynna - jednostka GWh
RVU_VARHEnergia bierna - jednostka Wh
RVU_KVARHEnergia bierna - jednostka kWh
RVU_MVARHEnergia bierna - jednostka MWh
RVU_GVARHEnergia bierna - jednostka GWh
RVU_VNapięcie - jednostka - wolt (V)
RVU_APrąd - jednostka - amper (A)
RVU_COSFWspółczynnik mocy (cos ø)
RVU_M3Objętość - jednostka - metr sześcienny (m3)
RVU_LObjętość - jednostka - litr (l)
RVU_MLObjętość - jednostka - mililitr (ml)
RVU_USGALObjętość - jednostka - galon amerykański (USG)
RVU_GJEnergia, praca lub ciepło - jednostka gigadżul (GJ)
RVU_MJEnergia, praca lub ciepło - jednostka megadżul (MJ)
RVU_MCALCiepło lub energia - jednostka megakaloria (Mcal)
RVU_KCALCiepło lub energia - jednostka kilokaloria (kcal)
RVU_MBTUEnergia - jednostka - mega-British Thermal Unit (MBTU)
RVU_KBTUEnergia - jednostka - kilo-British Thermal Unit (kBTU)
RVU_MJHMoc - jednostka - megadżul na godzinę (MJ/h)
RVU_MLSPrzepływ - jednostka - mililitr na sekundę (ml/s)
RVU_LSPrzepływ - jednostka - litr na sekundę (l/s)
RVU_M3SPrzepływ - jednostka - metr sześcienny na sekundę (m3/s)
RVU_CTemperatura - jednostka °C
RVU_LHPrzepływ - jednostka - litr na godzinę sekundę (l/h)
RVU_VAMoc pozorna - jednostka VA
RVU_KVAMoc pozorna - jednostka kVA
RVU_MVAMoc pozorna - jednostka MVA
RVU_GVAMoc pozorna - jednostka GVA
RVU_VAHEnergia pozorna - jednostka VAh
RVU_KVAHEnergia pozorna - jednostka kVAh
RVU_MVAHEnergia pozorna - jednostka MVAh
RVU_GVAHEnergia pozorna - jednostka GVAh
RVU_NULJednostka nieprawidłowa

Ustawianie parametrów

Ustawiając parametry dla kanału licznikowego należy zwrócić uwagę że:
  • określenie nowego współczynnika skalującego lub zmiana wartości początkowej, zmiana jednostki czy też liczby cyfr dziesiętnych oznacza zwykle zmianę dołączonego licznika - w tej sytuacji poprzedni stan jest zerowany i naliczanie zaczyna się od początku - np. od nowo ustawionej wartości początkowej. Zmian należy dokonywać w sposób przemyślany, gdyż są one nieodwracalne.
  • przy zmniejszeniu długości licznika może zajść sytuacja, że naliczona wartość przekracza nową pojemność licznika - wtedy zostaje ona ograniczona do maksymalnej wartości przy danej długości licznika - zmiana jest nieodwracalna. Zwiększenie długości licznika (w dopuszczalnym zakresie) nie wpływa na naliczoną wartość.
  • ustawiane parametry muszą być w dopuszczalnym zakresie, przy próbie wprowadzenia wartości spoza zakresu zostanie przyjęta najbliższa graniczna wartość.

Przykłady programowania modułu

Poniżej zostało przedstawione przykładowe programowanie modułu.

Zagadnienie:

Należy skonfigurować moduł do pracy z wodomierzem o stałej 10l/impuls i naliczonej wartości 1,5m3 i skali obejmującej 6 cyfr.

Rozwiązanie:

  1. Długość licznika (liczba cyfr) nciNumDigits należy ustawić na 6.
  2. Współczynnik skalowania nciPulseConst należy ustawić na 10/1 (mnożnik/dzielnik).
  3. Wartość początkową licznika nciStartVal należy ustawić następująco:
    • pole raw: 1500 (litrów),
    • pole unit: RVU_M3,
    • pole nr_decimals: 3.
W ten sposób każdy impuls spowoduje wzrost naliczonej wartości o 10 litrów, a naliczoną wartość należy interpretować jako liczbę metrów sześciennych z rozdzielczością do trzech miejsc po przecinku.

Zmienne sieciowe modułu

Obiekt Node Object
Obiekt służący do kontroli stanu modułu - pozwala to na zachowanie zgodności ze standardem LonMark.
nviRequest SNVT_obj_requestustawienie trybu pracy modułu, odczyt statusu poszczególnych obiektów
nvoStatus SNVT_obj_statusodczytany stan jednego z obiektów modułu
Licznik #1 (CNT1) - obiekt typu Open Loop Sensor
Obiekt reprezentuje w sieci licznik medium #1.
nvoMeterVal01SNVT_reg_valStan licznika #1
nciStartVal01SNVT_reg_valStan początkowy licznika #1
nciPulseConst01SNVT_muldivWspółczynniki skalujące licznika #1
nciNumDigits01SNVT_countDługość licznika #1 (liczba cyfr)
nciObjMajVer01unsigned shortWersja bloku funkcjonalnego #1 - starsza część
nciObjMinVer01unsigned shortWersja bloku funkcjonalnego #1 - młodsza część
nciMeterID01SNVT_count_32Identyfikator licznika #1
Licznik #2 (CNT2) - obiekt typu Open Loop Sensor
Obiekt reprezentuje w sieci licznik medium #2.
nvoMeterVal02SNVT_reg_valStan licznika #2
nciStartVal02SNVT_reg_valStan początkowy licznika #2
nciPulseConst02SNVT_muldivWspółczynniki skalujące licznika #2
nciNumDigits02SNVT_countDługość licznika #2 (liczba cyfr)
nciObjMajVer02unsigned shortWersja bloku funkcjonalnego #2 - starsza część
nciObjMinVer02unsigned shortWersja bloku funkcjonalnego #2 - młodsza część
nciMeterID02SNVT_count_32Identyfikator licznika #2
Licznik #3 (CNT3) - obiekt typu Open Loop Sensor
Obiekt reprezentuje w sieci licznik medium #3.
nvoMeterVal03SNVT_reg_valStan licznika #3
nciStartVal03SNVT_reg_valStan początkowy licznika #3
nciPulseConst03SNVT_muldivWspółczynniki skalujące licznika #3
nciNumDigits03SNVT_countDługość licznika #3 (liczba cyfr)
nciObjMajVer03unsigned shortWersja bloku funkcjonalnego #3 - starsza część
nciObjMinVer03unsigned shortWersja bloku funkcjonalnego #1 - młodsza część
nciMeterID03SNVT_count_32Identyfikator licznika #3
Licznik #4 (CNT4) - obiekt typu Open Loop Sensor
Obiekt reprezentuje w sieci licznik medium #4.
nvoMeterVal04SNVT_reg_valStan licznika #4
nciStartVal04SNVT_reg_valStan początkowy licznika #4
nciPulseConst04SNVT_muldivWspółczynniki skalujące licznika #4
nciNumDigits04SNVT_countDługość licznika #4 (liczba cyfr)
nciObjMajVer04unsigned shortWersja bloku funkcjonalnego #4 - starsza część
nciObjMinVer04unsigned shortWersja bloku funkcjonalnego #4 - młodsza część
nciMeterID04SNVT_count_32Identyfikator licznika #4
Sterowanie i diagnostyka - obiekt typu Controller
Obiekt pozwala na diagnostykę stanu modułu i sterowanie pewnymi funkcjami
nvoBatteryVolt SNVT_switchStan baterii podtrzymującej liczniki impulsowe
(0, 0) - napięcie zbyt niskie
(100, 1) - napięcie w normie
nvoCntsStatus SNVT_switchStatus liczników w pamięci podtrzymywanej
(0, 0) - brak komunikacji z układem zliczającym impulsy
(33, 0) - przekłamanie komunikacji z układem zliczającym impulsy
(66, 0) - liczniki posiadają wartość domyślną (zerową) - sytuacja taka ma miejsce po wyczerpaniu baterii
(100, 1) - wartość liczników jest prawidłowa
nvoPowerBreak SNVT_switchZnacznik utraty zasilania zewnętrznego modułu:
(0, 0) - wystąpiła przerwa w zasilaniu zewnętrznym
(100, 1) - nie było przerwy w zasilaniu
nviPowerBreakAck SNVT_switchWpis (100, 1) do zmiennej powoduje skasowanie znacznika przerwy w zasilaniu zewnętrznym
Inne
nciAutoSendTimeSNVT_time_minOkres automatycznej propagacji zmiennych licznikowych w sieci w sekundach, wpis wartości zerowej blokuje mechanizm automatycznej propagacji


Moduł MMC w zależności od wykonania może być zasilany na dwa sposoby
  • napięciem przemiennym lub stałym bez wyróżnionej biegunowości (wariant A),
  • napięciem stałym o wyróżnionej biegunowości (wariant B).

Wariant A

Możliwe jest zasilanie modułu napięciem przemiennym lub stałym bez wyróżnionej biegunowości, ale nie jest możliwe wykorzystanie tego samego zasilacza do zasilania modułu i współpracujących liczników.

Wariant B

Moduł jest zasilany tylko napięciem stałym o określonej biegunowości, ale możliwe jest wykorzystanie tego samego zasilacza do zasilania modułu i współpracujących liczników.









Specyfikacja urządzenia w formacie PDF (340 KB, 2010-05-25)