Niniejszy PROMOTIC driver służy do komunikacji z urządzeniami wyposażonymi w protokół
). Protokół ten jest przeznaczony głównie dla aplikacji odczytu danych z mierników poboru najróżniejszych mediów (ciepła, prądu elektrycznego ...).
Podstawowe właściwości drivera
- Zastosowanie tego drivera wymaga zakup
licencji PmMBus. Podczas wytwarzania aplikacji w trybie freeware
PmFree lub z
licencją deweloperską oraz podczas jej testowania w runtime element ten jest zawsze funkcjonalny.
- Komunikacja jest dla Ethernetu (aplikacja PROMOTIC jest klientem) lub dla łącza szeregowego (COM1, COM2 ...).
Przy komunikacji poprzez Ethernet jest wygląd transmitowanych danych taki sam jak dla M-BUS dla łącza szeregowego. Warunkiem takiej komunikacji jest, żeby konwerter M-BUS/Ethernet nie zmieniał transmitowanych danych.
- Aplikacja PROMOTIC jest z punktu widzenia tej komunikacji Master (to znaczy, że wywołuje transmisję danych).
- Komunikacja jset sieciowa, to znaczy, że jeden obiekt
PmaComm potrafi komunikować się z kilkoma urządzeniami (protokół wspiera adresację urządzeń).
Driver w aplikacji PROMOTIC można konfigurować bardzo ogólnie:
-
Adresacja:
Każdy miernik można adresować. W obiekcie
PmaCommGroup można określić adres miernika dla każdej zmiennej, w obiekcie
PmaCommMsg adres miernika jest określany w karcie "
Dane-wysłanie" w zmiennej
Address. Wartości adresów:
- 0 do 250 = standardowy adres konkretnego miernika.
- 254 = adres uniwersalny. Zapotrzebowania odbierają wszystkie mierniki i wszystkie mierniki również odpowiadają. Ma to sens tylko jeżeli jest podłączony tylko jeden miernik.
-
Większa ilość mierników na jednym lini komunikacyjnej:
Na jednym łączu szeregowym może być podłączona większa ilość typów mierników, można podłączyć mierniki na przykład
Kamstrup,
Landis,
Danfoss, itd.
-
Różne formaty danych:
Wartości są transmitowane z mierników w różnych formatach (
BCD lub kodowanie binarne, zapis na 2/4/6/8 bajtów ...). Driver
automatycznie dekoduje te wartości.
-
Przeliczenie jednostki fizycznej:
Driver potrafi
automatycznie przeliczać wartości odebranych danych do standardowych jednostek fizycznych. Mierniki bowiem takie wartości na bieżąco transmitują jako liczbę całkowitą z znacznikiem, że chodzi na przykład o jednostki 0.01C, 0.1kW, itd. Driver wartości przelicza do następujących jednostek:
Jednostka: |
Wartość fizyczna: |
GJ |
Energia |
W |
Moc |
m3 |
Objętość |
kg |
Waga |
m3/h |
Przepływ objętościowy |
kg/h |
Przepływ wagowy |
C |
Temperatura (Forward, Return, Difference, External) |
mbar |
Cisnienie |
V |
Napięcie elektryczne |
A |
Prąd elektryczny |
ilość sekund |
Czas odpowiedziy (Averaging Duration), Czas aktualizacji (Actuality Duration) .. |
ilość dni |
Czas biegu (On time), Operation time |
Przeliczane są binarne formaty daty (
TimePoint) do wartości typu
Date. Pozostałe wartości (licznik, numer fabryczny ...) nie są przeliczane.
-
Odczyt ogólny:
Driver potrafi odczytywać dane również z nieznanych mierników M-BUS, dla których nie posiada konfiguracji wstępnej. Odczyt takich danych jest założony na tym, że wiadomość komunikacyjna M-BUS transmituje nie tylko same wartości, lecz również znaczniki o rodzaju danej wartości. Dlatego driver wie, co oznacza dana wartość w wiadomości i dalej z taką wartością pracuje. Odczyt takich wartości można zastosować zarówno w obiekcie
PmaCommGroup jak równoeż w obiekcie
PmaCommMsg:
W obiekcie
PmaCommGroup pozycje danych należy konfigurować w taki sposób, że jest określany typ danej (Temperatura, Objętość ...). Wtedy driver w odebranej wiadomości odnajdzie wymaganą wartość (jeżeli taka wartość znajduje się w wiadomości) i zapisze na danej pozycji.
W obiekcie
PmaCommMsg do ogólnego odczytu danych jest przeznaczona wiadomość "
Miernik ogólny/Odczyt danych ustawionych ogólnie". Projektant może konfigurować dane obiektu
PmaCommMsg dokładnie według danego miernika. Jeżeli projektant nie wie, jakie dane miernik oferuje, wtedy można w tej wiadomości ustawić, żeby informacje o odebranych danych zostały wypisane do
INFO systemu. Według tego wypisu następnie projektant może ustawić dane obiektu.
Do odbioru wartości z mierników jest prostsze stosowanie obiektów
PmaCommGroup. Do specjalnych, mniej standardowych komunikacji można zastosować obiekty
PmaCommMsg, które posiadają następne właściwości:
-
Nagłówek wiadomości M-BUS:
Podczas odbioru danych standardowych miernik transmituje przed danymi nagłówek. Informacje pochodzące z tego nagłówka są dostępne, ponieważ driver dla każdej takiej wiadomości wytworzy w karcie "
Dane-odbiór" następujące zmienne:
-
Address: Adres miernika, transmitującego dane (dla protokołu
M-BUS chodzi o pozycję
A-Field). Jeżeli w karcie "
Dane-wysłanie" jest zmienna
Address ustawiona na
254 (adres uniwersalny), wtedy miernik odpowie swoim rzeczywistym adresem i w ten sposób można
stwierdzić adres miernika z nieznanym adresem. Bezpośrednio od producenta miernik zazwyczaj ma adres ustawiony na
0.
- IdentNr: (Indentification Number) Numer klienta w zakresie od 00000000 do 99999999. Ustawione przez producenta na unikalny numer, może być zmieniony.
- Manufac: (Manufacturer) Identyfikator producenta.
- Version: Generacja lub wersja miernika. Określa producenta.
- Medium: Medium mierzone przez miernik: 0=pozostałe, 1=oliwa, 2=energia elektryczna, 3=gaz, 4=ciepło (mierzone z temperatury zwrotnej/return: wyjście), 5=para, 6=gorąca woda, 7=woda, 8=Heat Cost Allocator, 9=sPrężone powietrze, 10=Cooling load meter (mierzone z temperatury zwrotnej/return: wyjście), 11=Cooling load meter (mierzone z temperatury wlotowej/flow teploty: wejście), 12=ciepło (mierzone z temperatury wlotowej/flow: wejście), 13=Heat/Cooling load meter, 14=Bus/System, 15=Nieznane medium, 22=Zimna woda, 23=Dual woda, 24=Cisnienie, 25=A/D konwerter.
- AccessNr: (Access Number) Jest zwiększone o 1 po każdym odesłaniu danych z miernika.
- Status: Wskazuje błędy aplikacji. Statut bit1.bit0: 0.0=No Error, 0.1=Application Busy, 1.0=Any Application Error, 1.1=Zarezerwowane.
-
Obsługa znacznika FCB:
Opcjonalnie driver potrafi automatycznie zmienić licznik transmisji w poszczególnych miernikach (potrafi automatycznie obsługiwać tzw. znacznik
FCB). Według tego znacznika miernik stwierdza, czy chodzi o nowy lub o stary (powtarzające się) wymóg. Niektóre mierniki nie wykorzystują tego znacznika, niektóre znów bez poprawnego ustawienia omawianego znacznika nie transmitowałyby poprawnych danych. Dla mierników i wiadomości, w których jest konieczne określenie tego faktu poprzez projektanta znajduje się w karcie "
Dane-wysłanie" zmienna
FcbAttr. Można ją ustawić na następujące wartości:
0 = nie zmieniać licznika (tzn. znacznik FCB nie jest wykorzystany)
1 = znacznik jest obsłużony automatycznie. Projektant nie musi się troszczyć o zmiany tego znacznika, driver zmienia go sam automatycznie.
4 = (tylko dla celów specjalnych) FCB=FCV=0
5 = (tylko dla celów specjalnych) FCB=0 oraz FCV=1
6 = (tylko dla celów specjalnych) FCB=1 oraz FCV=0
7 = (tylko dla celów specjalnych) FCB=FCV=1
Opis komunikacji przy pomocy obiektu PmaCommGroup
Dla niniejszego drivera komunikacyjnego można zastosować obiekty
PmaCommGroup. Dla zwykłych transmisji danych jest to bardziej dogodne niż zastosowanie obiektu
PmaCommMsg.
Zmiennych w obiekcie
PmaCommGroup (lub jeszcze lepiej zmiennych w obiekcie
PmaData z rozszerzeniem danych
ExtComm) może być dowolna ilości, mogą być dowolnego typu danych i w dowolnej kolejności. Driver sam w zoptymalizowany sposób odczyta dane z urządzenia przy pomocy wewnętrznie wytworzonych wiadomości komunikacyjnych.
Odczytywane są wszystkie zmienne (jeżeli konfigurator "
Odświeżanie danych zezwolone" jest zaznaczony). Dla tego drivera nie jest umożliwiony zapis zmiennych do urządzenia.
W jadnym obiekcie
PmaCommGroup mogą znajdować się pozycje (zmienne w karcie "
Dane" lub rozszerzenia danych
ExtComm) dla kilku mierników równocześnie.
Jednak może okazać się bardziej stosowne, żeby jeden obiekt
PmaCommGroup był przeznaczony tylko dla jednego miernika - wtedy można adres miernika wprowadzić w konfiguratorze "
Domyślny adres miernika" i wtedy już nie jest konieczne okreżlanie adresu dla każdej pozycji danych (wystarczy wprowadzić tekst
"saD.." - patrz dalej). W ten sposób można w prostszy sposób zmienić adres miernika na jednym miejscu.
Opis konfiguratora "ItemId":
ItemId jest identyfikator tekstowy pozycji, który służy do adresacji pozycji w urządzeniu. Z konfiguratora
ItemId driver stwierdzi, w jaki sposób ma zostać wartość pozycji wczytana lub wysłana.
Tekst można wpisać ręcznie, lub ułożyć w oknie, które zostanie otwarte przy pomocy przycisku wprawo od konfiguratora.
Do wprowadzenia można zastosować
Makro wyrażenie (wartość jest obliczana po uruchomieniu aplikacji).
Przykłady formy identyfikatora:
sa44.M1.TemperFor
sa254.M1.TemperFor.max.S3.T2.c0
saD.M1.MeterManufac
saD.B1.Index20
saD.B4.Index30
sa1.Ia2.Index3
sa3.Ia2.Index3.c0
Tekst rozpoczyna się zawsze skrótem
"sa" (=
Slave/Station Address), za którym następuje adres dziesiątkowy miernika. Zamiast adresu miernika można jednak wprowadzić znak
"D" (
=default) jako znacznik, że adres miernika ma zostać przejęty z konfiguratora "
Domyślny adres miernika".
Następny identyfikator za kropką określa obszar wymaganych danych (określa typ wiadomości M-BUS, która spowoduje, że miernik wyśle dane z odpowiedniego obszaru). Możliwe są następujące wartości:
M1 = (
Request UD2, FCB=0, FCV=1) Pierwszy standardowy obszar miernika.
Wspiera większość mierników.
W tym obszarze znajdują się zazwyczaj główne dane bieżące miernika.
M2 = (
Request UD2, FCB=1, FCV=1) Drugi standardowy obszar miernika.
Mierniki zazwyczaj albo nie wspierają tego obszaru lub przesyłają takie same dane jak dla obszaru pierwszego.
B1 = (
Send UD, CIField=B1) Żądanie odczytu pełnej zawartości pamięci RAM.
B4 = (
Send UD, CIField=B4) Odczyt EEPROM.
Ia = (
Danfoss-INFOCAL type) Ten typ jest stosowany w miernikach typu
Danfoss (
Ia=Indeksowanie typu
a).
Miernik posiada dużo wartości, które wszystkie nie zmieszczą się w standardowym obszarze.
Do uzyskania takich dalszych danych jest nadawana "specjalna wiadomość" z indeksem obszaru (indeks określa się za tekstem
"Ia") i w ten sposób miernik wyśle dane z tego wybranego obszaru. Patrz:
Komunikacja z miernikami Danfoss INFOCAL-5
Ib = (
Sontex-SUPERCAL type) Ten sam przypadek jak dla
"Ia", tylko dla mierników typu
Sontex.
Spacjalna wiadomość ma inny wygląd lecz zasada jest taka sama. Patrz:
Komunikacja z miernikami Sontex SUPERCAL
Następny identyfikator za kropką określa wymaganą daną z danego obszaru. Miernik wysyła równocześnie wszystkie dane z wybranego obszaru. Wymaganą daną można określić albo indeksem (
Index) lub określeniem znaczenia danej (pozostałe możliwości):
Index -
Za tym identyfikatorem wprowadzany jest indeks danej (indeksowane od 0) w obszarze. W ten sposób można odnosić się do dowolnej standardowej danej w obszarze. Stosowne do wprowadzania danej, której nie można określić przy pomocy następujących specyfikacji znaczenia. Następujące specyfikacje znaczenia bowiem nie określają wszystkich możliwości komunikacji M-BUS (firma
MICROSYS, spol. s r.o. jednak może do drivera dodać następne specyfikacje).
Pressure -
Cisnienie [mbar]
FlowVolume -
Przepływ objętościowy [m3/h]
FlowMass -
Przepływ wagowy [kg/h]
TemperFor -
Temperatura wejścia [°C]
TemperRet -
Temperatura wyjścia [°C]
TemperDif -
Różnica temperatur [°C]
TemperExt -
Temperatura zewnętrzna [°C]
Voltage -
Napięcie elektryczne [V]
Current -
Prąd elektryczny [A]
TimeOn -
Czas biegu (
On time) [day]
TimeOper -
Operation time [day]
FabricNum -
Numer fabryczny miernika
ErrorFlags -
Znacznik błędu
CumulCount -
Licznik kumulujący
MeterAddr -
Adres miernika, transmitującego dane (dla protokołu
M-BUS chodzi o pozycję
A-Field).
MeterIdent -
Numer klienta w zakresie od 00000000 do 99999999. Ustawione przez producenta na unikalny numer, może być zmieniony.
MeterManufac -
Identyfikator producenta.
MeterVersion -
Generacja lub wersja miernika. Określa producenta.
MeterMedium -
Medium mierzone przez miernik:
0=pozostałe,
1=oliwa,
2=energia elektryczna,
3=gaz,
4=ciepło (mierzone z temperatury zwrotnej/return: wyjście),
5=para,
6=gorąca woda,
7=woda,
8=Heat Cost Allocator,
9=sPrężone powietrze,
10=Cooling load meter (mierzone z temperatury zwrotnej/return: wyjście),
11=Cooling load meter (mierzone z temperatury wlotowej/flow teploty: wejście),
12=ciepło (mierzone z temperatury wlotowej/flow: wejście),
13=Heat/Cooling load meter,
14=Bus/System,
15=Nieznane medium,
22=Zimna woda,
23=Dual woda,
24=Cisnienie,
25=A/D konwerter.
Następna identyfikatory za kropką określają dalsze sprecyzowanie danej i są opcjonalne.
max = Maksymalna wartość
min = Minimalna wartość
err = Wartość w stanie wadliwym
U = Pozycja o danym numerze Subunit (służy do odróżnienia dwu podobnych pozycji).
Jeżeli nie jest ustawione, wtedy w odebranej wiadomości będzie wyszukiwana pozycja bez względu na to, jaki posiada Subunit.
S = Pozycja o danym numerze pamięci (Storage) "S0" oznacza bieżącą wartość, "S1" jest wartością w storage1, co może być na przykład wartością z przeszłego miesiąca, itd.
Jeżeli pamięć (znak S) nie zostanie określony, wtedy w odebranej wiadomości zostanie wyszukane pierwsze pojawienie się danej pozycji bez względu na to, w której pamięci pozycja ta znajduje się.
T = Pozycja o danym numerze taryfy. "T0" oznacza taryfę bieżącą (lub "bez taryfy"), "T1" oznacza wartość według pierwszej taryfy, itd.
Jeżeli taryfa (znak T) nie zostanie określona, wtedy w odebranej wiadomości zostanie wyszukane pierwsze pojawienie się danej pozycji bez względu na taryfę.
Domyślny adres miernika | W tym miejscu wprowadzony adres można zastosować przy ustawianiu konfiguratora "ItemId" w zmiennych w tym obiekcie (tzn. w zmiennych w karcie "Dane" lub w rozszerzeniu danych ExtComm). Adres można wprowadzić w ItemId:
- jako na przykład sa1... - wtedy wartość zmiennej będzie odczytywana z miernika pod adresem 1.
- lub saD... - znak "D" w tym miejscu oznacza default (to znaczy, że adres zostanie przejęty z niniejszego konfiguratora).
Parametr ten można w runtime zmienić i odczytać w skrypcie przy pomocy metod: SetSpecParam("SlaveAddr") oraz GetSpecParam("SlaveAddr"). |
---|
Opis komunikacji przy pomocy obiektu PmaCommMsg
Obiekt
PmaCommMsg można zastosować do specjalnych komunikacji, których nie można wykonać przy pomocy obiektu
PmaCommGroup.
Typ miernika | Wybór rodzaju miernika. Tu należy wybrać tylko "Miernik ogólny". Następne wybory są przestarzałe i jest wskazanym ich zastąpienie obiektem PmaCommGroup.
Miernik ogólny - Ogólne wiadomości odpowiednie dla wszystkich typów M-BUS mierników.
Kamstrup MULTICAL - przestarzałe
ABB SVM - przestarzałe
Danfoss INFOCAL 5 - przestarzałe
Landis ULTRAHEAT - przestarzałe
Supercal SONTEX - przestarzałe
CALMEX VKP - przestarzałe |
Typ wiadomości | Wymagany typ wiadomości dla danego miernika. Poniżej znajduje się lista wiadomości tylko dla Typ miernika = Miernik ogólny. |
---|
Lista typów wiadomości dla Typ miernika = Miernik ogólny:
-
Inicjalizacja Slave (miernika):
Inicjalizacja miernika (wiadomość typu
SND_NKE). Służy przede wszystkim do inicjalizacji sterowania tzw. znacznik
FCB (patrz
Obsługa znacznika FCB), który miernik wykorzystuje jako informację o poprawnej kolejności przesyłania wiadomości. Jest zalecane wywołanie tej wiadomości przy uruchamianiu aplikacji jak również przy powstaniu błędu transmisji (patrz parametr
pEvent.Error w zdarzeniu
PmaCommMsg.onEndOfTransfer).
Adres miernika można ustawić dokładnie (wartością od 0 do 250) - w tym przypadku każdy miernik potwierdzi (odpowie) czy przyjął polecenie do wiadomości.
Jest również przydatym wykorzystanie uniwerslanego adresu 255 - w tym przypadku zainicjalizowane zostaną wszystkie mierniki jednocześnie bez jakiegokolwiek potwierdzenia (patrz
Adresacja).
W karcie "
Dane-wysłanie" znajdują się zmienne:
Address (Byte) = Adres miernika
-
Reset warstwy aplikacyjnej Slave (miernika):
Wysłanie tej wiadomości do miernika zapewni reset aplikacyjnych zmiennych miernika (wiadomość typu
SND_UD). Do czego dokładnie dojdzie w mierniku jest zależne wyłącznie od miernika. Większość następujących mierników nie wymaga stosowania tej wiadomości. Wiadomość tę wykorzystuje:
Komunikacja z miernikami Sontex SUPERCAL.
W karcie "
Dane-wysłanie" znajdują się zmienne:
Address (Byte) = Adres miernika
-
Wybór stacji Slave według numeru identyfikacyjnego:
Wiadomość ta wprowadzi
Slave miernik do tzw. stanu
wybranego (
selected). Po wprowadzeniu do stanu wybranego stacja komunikuje tak, jak gdyby jej adres był ustawiony na
253 (patrz
Adresacja), do tej chwili, kiedy do wybranego stanu jest wprowadzona inna stacja. Stacja jest wybierana według tzw. adresu wtórnego, który jest zdefiniowany następująco:
IdentNr = numer identifikacyjny miernika,
Manufac = numer identifikacyjny producenta,
Version = wersja miernika,
Medium = mierzone medium. Dane te są wprowadzane w karcie "
Dane-wysłanie" i można je z miernika stwierdzić na przykład wiadomością "
Miernik ogólny/Odczyt danych ustawionych ogólnie" przy wdrażaniu miernika do ekslpoatacji.
Adresacja stacji przy pomocy adresu wtórnego jest stosowna na przykład:
- dla bardzeij rozległych systemów, gdzie nie wystarcza 250 adresów podstawowych lub
- dla stacji, które są często zmieniane i nie można zapewnić że adresy podstawowe są unikalne.
W karcie "
Dane-wysłanie" znajdują się zmienne:
IdentNr (Long)
Manufac (Integer)
Version (Byte)
Medium (Byte)
-
Zmiana Baud rate (szybkość transm.):
(wiadomość typu
SND_UD). Wykorzystanie tej wiadomości zazwyczaj będzie zbędne, ponieważ szybkość można ustawić bezpośrednio w mierniku i nie jest stosowna zmiana szybkości podczas biegu aplikacji. Duża część mierników potrafi dostosować się do różnych szybkości transmisji nawet jeżeli są ustawiona na inną szybkość.
W karcie "
Dane-wysłanie" znajdują się zmienne:
Address (Byte) = Adres miernika
BaudRate (Byte) = (B8h=184=300Bd, BBh=187=2400Bd ..)
-
Odczyt danych ustawionych ogólnie:
Wiadomość przeznaczona
do odczytu danych z mierników (wiadomość typu
REQ_UD2). Służy tylko w specjalnych przypadkach - w celu standardowego odczytu danych dogodniejszym jest zastosowanie obiektu
PmaCommGroup - patrz
Opis komunikacji przy pomocy obiektu PmaCommGroup.
W karcie "
Dane-wysłanie" znajdują się zmienne:
Address = (Byte) Adres miernika
DataAttr = (Long) Znacznik, w jaki sposób w odebranej wiadomości są zapisane "dane specyficzne" (tzn. dane w końcowej części
DIF=0f):
0 = są zapisane binarnie - tzn. nie jest wymagane przeliczenie
1 = są zapisane w BCD kodzie - driver przeliczy wartość do postaci binarnej.
W karcie "
Dane-odbiór" znajdujuą się zmienne:
Data1 = (Single) Pierwsza wartość danych w wiadomości. Taką zmienną można zmienić i można za nią wytworzyć następne zmienne. Zmienne mogą posiadać następujące typy danych:
-
Single - w tym przypadku zapisywana wartość jest przeliczana na odpowiednią jednostkę technologiczną. Przeliczanie przebiega według tabeli - patrz
Przeliczenie jednostki fizycznej.
- Date - wartość jest przeliczona na datę kalendarzową.
- Long - wartość nie jest przeliczana (dla wartości, które nie posiadają jednostki lub jeżeli przeliczanie nie jest pożądane).
Przy odczycie
danych standardowych z miernika w odpowiedzi znajdują się nie tylko wartości, lecz również znaczniki typu wartości (czy chodzi o przepływ, energia, moc, itd.), znaczniki typu jednostki (np. czy chodzi o
kWh,
J,
0.001kWh ...), znaczniki o numerze taryfy lub pamięci, itd. Jeżeli jest znane znaczenie wartości w odpowiedzi danego miernika, wtedy w karcie "
Dane-odbiór" jest możliwa ręczna konfiguracja i nazwanie poszczególnych pozycji, do których będą zapisywane odebrane wartości. Jeżeli nie wiadomo co miernik wysyła, wtedy można zastosować typ wiadomości "
Miernik ogólny/Uzyskanie pełnej listy mierzonych wartości miernika".
Poza danymi standardowymi może miernik tramsnitować
dane specyficzne, które nie posiadają już znacznika o znaczeniu i jednostce. Dane te bywają ulokowane zawse za danymi standardowymi. Jeżeli znasz znaczenie omawianych danych (np. z dokumentacji miernika), wtedy również takie dane można odczytać w tej wiadomości. Wystarczy w karcie "
Dane-odbiór" za uprzednio wytworzonymi zmiennymi definiować następne zmienne odpowiednich typów (
Byte,
Integer,
Long) i artość w odebranej wiadomości zostanie bez jakichkolwiek przeliczeń do odpowiedniej zmiennej. Dokładniej powiedziawszy, można jeszcze określić, jeżeli dane specyficzne pozostaną w wiadomości w formie binarnej (tzn. przeliczanie nie jest konieczne) lub w kodzie
BCD. Jeżeli dane specyficzne są w kodzie
BCD, wtedy możesz uprzednio wymienioną zmienną
"DataAttr" ustawić na 1 - w tym przypadku driver przeliczy wartość do formy binarnej (również byłoby możliwe nieprzeliczanie i wykorzystanie metody
Pm.TransformValue, lecz ten sposób byłby trudniejszy).
Niektóre mierniki transmitują
dane w kilku wiadomościach w dokładnej kolejności po sobie. Odbiór takich danych można zrealizować przy pomocy tego typu wiadomości. Jest konieczne ustawienie kilka obiektów
PmaCommMsg dla poszczególnych wiadomości, odpowiednio ustawić dane i następnie wiadomości uruchamiać po sobie (przy pomocy metody
PmaCommMsg.Run). W tego rodzajach transmisji danych miernik wykorzystuje znaczniki
FCB (patrz
Obsługa znacznika FCB), i dlatego jest konieczne ustawienie zmiennej
"FcbAttr" na 1. Niektóre mierniki w ten sposób zapewniają odczyt historii. Jeżeli nie zostanie ustawione
"FcbAttr" na 1, wtedy byłaby odczytywana bezustannie 1. wiadomość (w której zazwyczaj znajdują się wartości beżące). Jeżeli ustawiono
"FcbAttr" na 1, wtedy miernik kolejno odsyła wszystkie wiadomości, które ma - w niektórych przypadkach ma tych wiadomości dużo. Na przykład miernik
ABB SVM posiada dane historyczne zapisane w 128 wiadomościach (na szczęście tego samego typu więc można je odczytać przy pomocy jednego obiektu).
-
Wiadomość typu wysłanie/odbiór ustawialna bajtowo:
Wiadomość ta jest przeznaczopna dla projektantów, którzy znają protokół
M-BUS. Można tutaj ustawić wiadomość (osobno dla odbioru i osobno dla transmisji) typu
"SingleCharacter",
"ShortFrame",
"ControlFrame" oraz
"LongFrame", które oznaczają 4 możliwe typy wiadomości protokołu na najniższym poziomie z projektanckim ustawieniem wartości
CField,
AField oraz
CIField i z ustawieniem danych użytkownika. Można również wybrać wiadomość typu
Pure Bytes, kdzie można nadawać/odbierać dane bez jakiejkolwiek transformacji poprzez protokół.
Ten typ wiadomości będzie chyba wykorzystywany bardzo rzadko do celów specjalnych lub w celu testowania.
-
Uzyskanie pełnej listy mierzonych wartości miernika:
Wiadomość ta wytworzy listę wszystkich pozycji, które można uzyskać o określonym typie wiadomości danych (z powiadomienia z znacznikiem
FCB 0 lub 1).
W karcie "
Dane-wysłanie" znajdują się zmienne:
Address = (Byte) Adres miernika
W karcie "
Dane-odbiór" znajdujuą się zmienne:
Info = (String) Lista tekstowy opomiarowanych zmiennych miernika danego wiadomości.
Meter: Address=6, Ident=2015597318, Manufac=11309, Version=15, Medium=4
Index:0; Name:FabricationNumber; Value:6932378; Type:InstantenousValue; SubUnit:0; Storage:0; Tariff:0
Index:1; Name:Energy; Value:311230720; Unit:10 MJ; RecalcValue:3112307.250000 GJ; Type:InstantenousValue; SubUnit:0; Storage:0; Tariff:0
Index:2; Name:Volume; Value:1369178624; Unit:0.1 m3; RecalcValue:136917856.000000 m3; Type:InstantenousValue; SubUnit:0; Storage:0; Tariff:0
Index:3; Name:TimeOn; Value:-1236336640; Unit:1 hour; RecalcValue:-51514028.000000 day; Type:InstantenousValue; SubUnit:0; Storage:0; Tariff:0
Index:4; Name:ForwardTemperature; Value:-484573184; Unit:0.01 °C; RecalcValue:-4845732.000000 °C; Type:InstantenousValue; SubUnit:0; Storage:0; Tariff:0
Index:5; Name:Power; Value:1241513984; Unit:100 W; RecalcValue:124151400.000000 kW; Type:InstantenousValue; SubUnit:0; Storage:0; Tariff:0
Index:6; Name:Volume; Value:0; Unit:0.01 m3; RecalcValue:0.000000 m3; Type:InstantenousValue; SubUnit:1; Storage:0; Tariff:0
Index:7; SpecData (DIF=Fh)