Tento ovladač slouží pro komunikaci se zařízeními od firmy
Elgas protokolem ELGAS-2. Viz
Komunikace s měřiči od firmy Elgas (Česko). Například se jedná zařízení:
- ELCOR-2 (přepočítávač množství plynu)
- DATCOM-2 (elektronický záznamník dat určený pro měření teploty a tlaku plynu)
- DATCOM-RTU (systém pro monitorování technologických procesů, hlídání limitních hodnot, k regulaci pomalých procesů ...)
- DATCOM-AMR2 / 3 (GSM/GPRS komunikátor pro vzdálený přenos dat přepočítavačů množství plynu)
- miniELCOR / maxiELCOR (bateriový přepočítávač množství plynu určený do prostředí s nebezpečím výbuchu)
- ELCORlite (jednokanálový přepočítávač množství plynu)
Před použitím tohoto ovladače v aplikaci PROMOTIC je vhodné shlédnout "
PROMOTIC video kurz 4 - Komunikační ovladače".
Základní vlastnosti ovladače:
- Použití tohoto ovladače vyžaduje zakoupení
licence PmElgas2. Při vývoji aplikace ve freeware módu
PmFree nebo s
vývojovou licencí a při jejím testování v runtime je tato komponenta vždy funkční.
- Komunikace je pro Ethernet (aplikace PROMOTIC je klient) nebo pro sériovou linku (COM1, COM2 ...). Zatím je implementováno zasílání stejných dat přes Ethernet jak pro sériovou linku.
I když zařízení nemá Ethernet rozhraní, lze k němu připojit převodník "sériová linka-Ethernet" a na straně aplikace PROMOTIC tak komunikovat přes Ethernet.
- Aplikace PROMOTIC je z hlediska této komunikace vždy Master (to znamená, že dává podnět pro přenos dat).
- Ovladač je začleněn do systému PROMOTIC pomocí objektu
PmaComm.
Tento ovladač podporuje použití objektu:
-
PmaCommGroup pro čtení aktuálních hodnot veličin ze zařízení.
-
PmaCommMsg pro čtení archivů, čtení aktuální konfigurace zařízení a čtení času v zařízení.
Pro snadné přidání tohoto ovladače do aplikace je vhodné použít:
Předkonfigurace ve skupině "ELGAS zařízení"
Adresace zařízení:
Zařízení má standardně sériový port
RS-232, ale může mít i
RS-485. Tehdy může být více zařízení v síti a je nutno zařízení adresovat. Adresa zařízení se skládá ze dvou částí. Pokud není více zařízení, pak mohou mít obě části hodnotu 0. Adresy se zadávají v objektech
PmaCommGroup a
PmaCommMsg.
- Síťová adresa zařízení - část 1: Dvoubajtová adresa (0-65535), která určuje koncové zařízení v síti. Hodnota 0 znamená libovolné zařízení a má smysl pouze pokud v dané síti je jen jedno zařízení.
- Síťová adresa zařízení - část 2: Jednobajtová adresa (0-255), která určuje číslo sítě. Hodnota 0 znamená libovolnou síť a má smysl pouze pokud je jen jedna síť.
Doporučené hodnoty parametrů objektu PmaComm:
Rychlost | od 9600 Bd do 38400 Bd |
Počet datových bitů | 8 |
Parita | NO (žádná) |
Počet stopbitů | 1 |
Řízení RTS signálu | log.1.
Konstrukce zařízení vyžaduje externí napájení obvodů rozhraní. Ty lze napájet skrze linkové signály RTS a DTR (logická 1) přímo z PC sériového rozhraní. Alternativou je napájet obvody rozhraní zařízení z externího zdroje napájení +6V až +12V přivedeného na některý z dvojice linkových signálů RTS nebo DTR. |
Řízení DTR signálu | log.1.
Viz poznámka u "Řízení RTS signálu". |
---|
Zatím je implementováno zasílání stejných dat přes Ethernet jak pro sériovou linku. V tom případě lze nastavit parametry Ethernet podle parametrů převodníku Ethernet/sériová linka.
Timeout příjmu odpovědi | 1000 ms.
Jen pro sériovou linku. Čas (v milisekundách) po který bude ovladač čekat na odpověď při vyslání zprávy.
Pokud do této doby nepřijde vyžádaná odpověď, pak se přenos zprávy ukončí (je vyvolána událost onEndOfTransfer s chybou 24 nebo 66). |
Max. velikost datového paketu | 2048.
Pokud pro komunikaci je použit datový modem s omezenou délkou datového paketu, pak lze nastavit kratší délku přijatého datového paketu než 2048 bajtů. Tehdy bude ovladač po zařízení vyžadovat příjem zprávy rozdělené do většího počtu menších paketů.
Doporučené velikosti paketu:
2048 - Propojení kabelem, IR hlavicí, telefonní modem, GSM/CSD komunikace
1024 - GSM/GPRS komunikace
512 - Málo propustné spoje, radiová komunikace |
Počet úvodních nul paketu k probuzení | 40.
Z důvodu maximální úspory energie zařízení upadá do módu snížené spotřeby (spánku). Z tohoto módu se zařízení probouzí (podle údajů výrobce) cca 100ms po příjmu jakéhokoli znaku. Ovladač k tomu účelu používá sérii nulových znaků nastavitelného počtu. Je ověřeno, že 40 úvodních nul při rychlosti 38400Bd je dostatečné (cca 10.5 ms). |
---|
Popis komunikace pomocí objektu PmaCommGroup
Objekt
PmaCommGroup slouží ke
čtení aktuálních hodnot vybraných proměnných. Každá veličina je specifikována názvem objektu a číslem instance objektu.
Proměnné v objektu
PmaCommGroup (nebo ještě lépe proměnné v objektu
PmaData s datovým rozšířením
ExtComm) mohou být v libovolném množství, libovolného typu v libovolném pořadí. Ovladač sám optimálním způsobem vnitřně vytvořenými komunikačními zprávami vyčítá data ze zařízení.
Proměnné se vyčítají všechny (pokud konfigurátor "
Obnovování dat povoleno" je zatržen). Pro tento ovladač není povolen zápis proměnných do zařízení.
Každá vyčtená proměnná bude mít nastavenou i vlastnost
PmVar.TimeSource, což je datum a čas v zařízení.
Popis konfigurátoru "ItemId":
ItemId je textový identifikátor položky, který slouží k adresaci položky v zařízení. Z konfigurátoru
ItemId ovladač pozná, jak se má hodnota položky přijímat nebo vysílat.
Text lze buď napsat ručně, nebo sestavit v okně, které se otevře tlačítkem vpravo od konfigurátoru.
Pro zadání lze použít
Makro výraz (vyhodnocuje se po spuštění aplikace).
ItemId má tvar
Identifikátorobjektu.ČísloInstanceobjektu, kde
Identifikátorobjektu může být:
CounterDbl: Counter Double
CounterOut: Output Counter
CounterInr: Internal Counter
CounterCor: Correctional Counter
CounterStd: Standardized Counter
CounterRes: Reserve Counter
CounterResDbl: Reserve Counter double
CounterResStd: Standardized Reserve counter
CounterTar: Tariff Counter
CounterTarStd: Standardized Tariff Counter
CounterDif: Differential Counter
CounterDifStd: Standardized Differential Counter
Flow: Flow
FlowStd: Standardized Flow
RecalcQ: Conversion coefficient
Compress: Degree of Compressibility
CompressZ: Degree of Compressibility Z
CompressZb: Degree of Compressibility Zb
FuelEff: Calorific Value
Energy: Energy
EnergyRes: Reserve Energy
BinaryVal: Two-State Variable
DeviceErr: Device Error
AlarmSum: Sum of Alarms
SetPoint: Set Point
AnalogStat: Statistical Analog Value
AnalogTimStat: Statistical Analog Time
FlowStat: Statistical flow
FlowTimStat: Statistical flow time
CounterStat: Statistical Counter
CounterStatStd: Statistical Counter Standardized
Timer: timer
TimePeriod: Time Period
Tariff: Tariff
Popis komunikace pomocí objektu PmaCommMsg
Objekt
PmaCommMsg podporuje následující zprávy:
Pro vytvoření těchto zpráv je vhodné použít předkonfiguraci:
která vytvoří i předkonfigurované objekty, obrazy, skripty v událostech, atd.
Seznam a popis komunikačních zpráv:
-
Načtení seznamu dostupných objektů:
Tento typ zprávy vytvoří textový řetězec, který dává uživateli několik základních informací o daném zařízení.
V kartě "
Data-příjem" jsou proměnné:
ObjectList - Proměnná, která po přenosu bude obsahovat přijatý textový řetězec.
Příklad obsahu vytvořeného textového řetězce:
Údaje, které budou v textovém řetězci |
význam |
Station 1:2 |
(station) |
Název stanice |
|
Station 1:2 znamená, že zařízení má síťovou adresu 1 a 2, viz Adresace zařízení. |
AnalogVal.0 |
(Analog Value) |
Tlak p1 kPa |
S,D,M,E |
V této části je seznam dostupných objektů
- 1. sloupec: ItemId veličiny (instance objektu)
- 2. sloupec: název objektu
- 3. sloupec: název veličiny v zařízení
- 4. sloupec: zkratky, které informují zda je veličina uložena i v archivu:
S = datový archiv
D = denní archiv
M = měsíční archiv
E = archiv extrémů |
AnalogVal.1 |
(Analog Value) |
Teplota t1 |
S,D,M,E |
Counter.0 |
(Counter) |
V1 |
S,D,M |
Status.0 |
(Status) |
Status |
S,D,M |
|
Device FW version: |
2.10 |
Zde je uvedena verze firmware zařízení. Viz přístrojová dokumentace. |
Data Archive Record Length: |
63 bajty |
Informace o délkách záznamů jednotlivých archivů souvisí s maximální délkou přijatého datového paketu ze zařízení v případě čtení archivů. Ovladač má vyhrazen buffer pro příjem paketů ze zařízení o délce 8192 bajtů. Z této délky připadne zhruba 8000 bajtů na vlastní "užitečná" data. Jedním z parametrů služeb pro čtení archivů je právě počet záznamů. Protože délka zmíněných záznamů se může měnit s konfigurací zařízení, je užitečné si spočítat kolik záznamů příslušného archivu je ovladač schopen přijmout na jedno čtení. Pokud by totiž projektant požadoval více záznamů (větší datový paket) než kolik by ovladač byl schopen přijmout díky omezené velikosti bufferu, pak ovladač by data "zahodil" a signalizoval by chybu. |
Day Archive Record Length: |
57 bajty |
Month Archive Record Length: |
57 bajty |
-
Čtení datového archivu:
-
Čtení měsíčního archivu:
-
Čtení fakturačního archivu:
Tyto 4 zprávy slouží pro čtení archivu hodnot (datový, denní, měsíční a bilanční). Zprávy mají stejnou strukturu, liší se jen počtem a časy zápisu v daném archivu.
V kartě "
Data-zaslání" jsou proměnné:
Addr1
RecordsMax - Maximální počet přijatých záznamů v archivu.
TimeFrom - Čas, od kterého záznamu se požaduje číst. Přečtou se záznamy, které následují bezprostředně ZA tímto časem (tzn. záznamy s časem větším než tento čas).
V kartě "
Data-příjem" jsou proměnné:
Header - Proměnná typu
Array (2-rozměrné pole), ve kterém je popis sloupců archivu. Pole má vždy 2 řádky.
První řádek obsahuje seznam měřených veličin (identifikátory ItemId), které jsou v archivu uložené. První dva sloupce obsahují časovou známku a atribut.
Druhý řádek obsahuje názvy veličin v zařízení.
Archive - Proměnná typu
Array (2-rozměrné pole) obsahuje vlastní data archivu. Je organizovaná tak, že každý řádek pole představuje jeden časový záznam archivu.
V prvním sloupci je časová známka (typ Date)
Ve druhém sloupci je atribut. Význam hodnot je svázán s podporou letního času:
0 = zařízení nerozlišuje "letní čas"
1 = zařízení rozlišuje "letní čas" a právě registruje "zimní čas"
2 = zařízení rozlišuje "letní čas" a právě registruje "letní čas"
3 = rozlišování "letní čas" je v zařízení vypnuto
V dalších sloupcích jsou hodnoty měřených veličin.
ArchiveRowsCount - Počet řádků (počet záznamů) archivu
ArchiveColumnsCount - Počet sloupců archivu
FWvers - Firmware verze zařízení
-
Čtení archivu extrémů:
Zpráva slouží pro čtení archivu minim a maxim hodnot.
V kartě "
Data-příjem" jsou proměnné:
Header - Proměnná typu
Array (2-rozměrné pole) ve kterém je popis řádků archivu extrémů. Pole má vždy 2 řádky.
První řádek obsahuje seznam měřených veličin (identifikátory ItemId) které jsou v archivu uložené.
Druhý řádek obsahuje názvy veličin v zařízení.
Archive - Proměnná typu
Array (2-rozměrné pole) obsahuje vlastní data archivu. Je organizovaná tak, že každý řádek pole představuje extrémy jedné veličiny.
1. sloupec: časová známka minima (typu Date)
2. sloupec: hodnota minima
3. sloupec: časová známka maxima (typu Date)
4. sloupec: hodnota maxima
ArchiveRowsCount - Počet řádků (počet záznamů) archivu
ArchiveColumnsCount - Počet sloupců archivu
FWvers - Firmware verze zařízení
-
Čtení času zařízení:
Vrací časový údaj (datum a čas) v zařízení.
V kartě "
Data-příjem" jsou proměnné:
Time - Přečtený čas zařízení (typu Date)