Promotic

PmElgas2 - Ovladač pro komunikaci se zařízeními od firmy Elgas

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)


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 přístrojů, 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:

Doporučené hodnoty pro Parametry sériové linky:
Rychlostod 9600 Bd do 38400 Bd
Počet datových bitů8
ParitaNO (žádná)
Počet stopbitů1
Řízení RTS signálulog.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álulog.1.
Viz poznámka u "Řízení RTS signálu".


Doporučené hodnoty pro Parametry Ethernet-klient:
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.


Popis a doporučené hodnoty pro Parametry protokolu:
Timeout příjmu odpovědi1000 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 paketu2048.
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 přístroj upadá do módu snížené spotřeby (spánku). Z tohoto módu se přístroj probouzí (podle údajů výrobce) cca 100ms po přijetí 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 veličin. 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í.

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:
AnalogVal: Analog Value
Counter: Counter
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
Status: Status


Popis konfigurátoru "PmaCommGroup > Parametry > Speciální parametry":
Síťová adresa zařízení - část 1Viz Adresace zařízení
Síťová adresa zařízení - část 2Viz Adresace zařízení

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 přístroji.

V kartě "Data-zaslání" jsou proměnné:
Addr1
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 přístroj 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í denní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 = přístroj nerozlišuje "letní čas"
1 = přístroj rozlišuje "letní čas" a právě registruje "zimní čas"
2 = přístroj 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-zaslání" jsou proměnné:
Addr1
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-zaslání" jsou proměnné:
Addr1
V kartě "Data-příjem" jsou proměnné:
Time - Přečtený čas zařízení (typu Date)

Historie:
Pm8.03.27: Opravená chyba: Nefungoval příjem zprávy, která přišla ve více Ethernet paketech.
Pm8.03.12: Opravená chyba: Při přenosu některých typů zpráv docházelo k ubývání paměti (PmSNMP, PmMBus, PmIEC8705, PmElgas2).
Pm8.02.06: Vytvořeno
© MICROSYS, spol. s r.o.