Spis zawartości
- Charakterystyka
- Opis
- Wejścia licznikowe
- Zasilanie
- Zasilanie wewnętrzne
- Automatyczne wysyłanie zmiennych
- Dane techniczne
- Interfejs sieciowy
- Zmienne dla liczników
- Tabela jednostek fizycznych
- Ustawianie parametrów
- Przykłady programowania modułu
- Zmienne sieciowe modułu
- Graficzne przedstawienie interfejsu sieciowego
- Aplikacja modułu MMC-02
- Zasilanie modułu
- Wymiary zewnętrzne
- 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.
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.
| 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.
| Nazwa | Typ | Opis |
| nvoMeterVal | SNVT_reg_val | Naliczona 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.
|
| nciStartVal | SNVT_reg_val | Począ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)
|
| nciPulseConst | SNVT_muldiv | Współ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)
|
| nciNumDigits | SNVT_count | Dł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 |
| nciObjMajVer | unsigned short | Wersja bloku funkcjonalnego - starsza część.
Dopuszczalny zakres wartości to 0..255.
Wartość domyślna: 1
|
| nciObjMinVer | unsigned short | Wersja bloku funkcjonalnego - młodsza część.
Dopuszczalny zakres wartości to 0..255.
Wartość domyślna: 0
| | nciMeterID | SNVT_count_32 | Identyfikator 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.
| Identyfikator | Opis |
| RVU_NONE | Bez określenia jednostki |
| RVU_W | Moc czynna - jednostka W |
| RVU_KW | Moc czynna - jednostka kW |
| RVU_MW | Moc czynna - jednostka MW |
| RVU_GW | Moc czynna - jednostka GW |
| RVU_VAR | Moc bierna - jednostka var |
| RVU_KVAR | Moc bierna - jednostka kvar |
| RVU_MVAR | Moc bierna - jednostka Mvar |
| RVU_GVAR | Moc bierna - jednostka Gvar |
| RVU_WH | Energia czynna - jednostka Wh |
| RVU_KWH | Energia czynna - jednostka kWh |
| RVU_MWH | Energia czynna - jednostka MWh |
| RVU_GWH | Energia czynna - jednostka GWh |
| RVU_VARH | Energia bierna - jednostka Wh |
| RVU_KVARH | Energia bierna - jednostka kWh |
| RVU_MVARH | Energia bierna - jednostka MWh |
| RVU_GVARH | Energia bierna - jednostka GWh |
| RVU_V | Napięcie - jednostka - wolt (V) |
| RVU_A | Prąd - jednostka - amper (A) |
| RVU_COSF | Współczynnik mocy (cos ø) |
| RVU_M3 | Objętość - jednostka - metr sześcienny (m3) |
| RVU_L | Objętość - jednostka - litr (l) |
| RVU_ML | Objętość - jednostka - mililitr (ml) |
| RVU_USGAL | Objętość - jednostka - galon amerykański (USG) |
| RVU_GJ | Energia, praca lub ciepło - jednostka gigadżul (GJ) |
| RVU_MJ | Energia, praca lub ciepło - jednostka megadżul (MJ) |
| RVU_MCAL | Ciepło lub energia - jednostka megakaloria (Mcal) |
| RVU_KCAL | Ciepło lub energia - jednostka kilokaloria (kcal) |
| RVU_MBTU | Energia - jednostka - mega-British Thermal Unit (MBTU) |
| RVU_KBTU | Energia - jednostka - kilo-British Thermal Unit (kBTU) |
| RVU_MJH | Moc - jednostka - megadżul na godzinę (MJ/h) |
| RVU_MLS | Przepływ - jednostka - mililitr na sekundę (ml/s) |
| RVU_LS | Przepływ - jednostka - litr na sekundę (l/s) |
| RVU_M3S | Przepływ - jednostka - metr sześcienny na sekundę (m3/s) |
| RVU_C | Temperatura - jednostka °C |
| RVU_LH | Przepływ - jednostka - litr na godzinę sekundę (l/h) |
| RVU_VA | Moc pozorna - jednostka VA |
| RVU_KVA | Moc pozorna - jednostka kVA |
| RVU_MVA | Moc pozorna - jednostka MVA |
| RVU_GVA | Moc pozorna - jednostka GVA |
| RVU_VAH | Energia pozorna - jednostka VAh |
| RVU_KVAH | Energia pozorna - jednostka kVAh |
| RVU_MVAH | Energia pozorna - jednostka MVAh |
| RVU_GVAH | Energia pozorna - jednostka GVAh |
| RVU_NUL | Jednostka 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:
- Długość licznika (liczba cyfr) nciNumDigits należy ustawić na 6.
- Współczynnik skalowania nciPulseConst należy ustawić na 10/1 (mnożnik/dzielnik).
- 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_request | ustawienie trybu pracy modułu, odczyt statusu poszczególnych obiektów
| | nvoStatus | SNVT_obj_status | odczytany stan jednego z obiektów modułu
|
| Licznik #1 (CNT1) - obiekt typu Open Loop Sensor |
|
Obiekt reprezentuje w sieci
licznik medium #1.
|
| nvoMeterVal01 | SNVT_reg_val | Stan licznika #1
| | nciStartVal01 | SNVT_reg_val | Stan początkowy licznika #1
| | nciPulseConst01 | SNVT_muldiv | Współczynniki skalujące licznika #1
| | nciNumDigits01 | SNVT_count | Długość licznika #1 (liczba cyfr)
| | nciObjMajVer01 | unsigned short | Wersja bloku funkcjonalnego #1 - starsza część
| | nciObjMinVer01 | unsigned short | Wersja bloku funkcjonalnego #1 - młodsza część
| | nciMeterID01 | SNVT_count_32 | Identyfikator licznika #1
|
| Licznik #2 (CNT2) - obiekt typu Open Loop Sensor |
|
Obiekt reprezentuje w sieci
licznik medium #2.
|
| nvoMeterVal02 | SNVT_reg_val | Stan licznika #2
| | nciStartVal02 | SNVT_reg_val | Stan początkowy licznika #2
| | nciPulseConst02 | SNVT_muldiv | Współczynniki skalujące licznika #2
| | nciNumDigits02 | SNVT_count | Długość licznika #2 (liczba cyfr)
| | nciObjMajVer02 | unsigned short | Wersja bloku funkcjonalnego #2 - starsza część
| | nciObjMinVer02 | unsigned short | Wersja bloku funkcjonalnego #2 - młodsza część
| | nciMeterID02 | SNVT_count_32 | Identyfikator licznika #2
|
| Licznik #3 (CNT3) - obiekt typu Open Loop Sensor |
|
Obiekt reprezentuje w sieci
licznik medium #3.
|
| nvoMeterVal03 | SNVT_reg_val | Stan licznika #3
| | nciStartVal03 | SNVT_reg_val | Stan początkowy licznika #3
| | nciPulseConst03 | SNVT_muldiv | Współczynniki skalujące licznika #3
| | nciNumDigits03 | SNVT_count | Długość licznika #3 (liczba cyfr)
| | nciObjMajVer03 | unsigned short | Wersja bloku funkcjonalnego #3 - starsza część
| | nciObjMinVer03 | unsigned short | Wersja bloku funkcjonalnego #1 - młodsza część
| | nciMeterID03 | SNVT_count_32 | Identyfikator licznika #3
|
| Licznik #4 (CNT4) - obiekt typu Open Loop Sensor |
|
Obiekt reprezentuje w sieci
licznik medium #4.
|
| nvoMeterVal04 | SNVT_reg_val | Stan licznika #4
| | nciStartVal04 | SNVT_reg_val | Stan początkowy licznika #4
| | nciPulseConst04 | SNVT_muldiv | Współczynniki skalujące licznika #4
| | nciNumDigits04 | SNVT_count | Długość licznika #4 (liczba cyfr)
| | nciObjMajVer04 | unsigned short | Wersja bloku funkcjonalnego #4 - starsza część
| | nciObjMinVer04 | unsigned short | Wersja bloku funkcjonalnego #4 - młodsza część
| | nciMeterID04 | SNVT_count_32 | Identyfikator licznika #4
|
| Sterowanie i diagnostyka - obiekt typu Controller |
|
Obiekt pozwala na diagnostykę stanu modułu i sterowanie pewnymi funkcjami
|
| nvoBatteryVolt | SNVT_switch | Stan baterii podtrzymującej liczniki impulsowe
(0, 0) - napięcie zbyt niskie (100, 1) - napięcie w normie |
| nvoCntsStatus | SNVT_switch | Status 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_switch | Znacznik 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_switch | Wpis (100, 1) do zmiennej powoduje skasowanie znacznika przerwy w zasilaniu zewnętrznym
|
| Inne |
| nciAutoSendTime | SNVT_time_min | Okres 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)
|