Promotic
WikipediaLinkedInYoutubeTwitterFacebook

PmElgas2 - Ovladač pro komunikaci s přístroji firmy Elgas

Tento ovladač slouží pro komunikaci s přístroji firmy ELGAS s r.o. protokolem ELGAS-2. Viz Komunikace s přístroji firmy Elgas (Česká republika).

Například se jedná přístroje:

- 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é přečíst kapitolu: Komunikace pomocí PROMOTIC ovladačů.
 
Základní vlastnosti ovladače:
- Použití tohoto ovladače je vázáno na zakoupení licence: PmElgas2. S freeeware verzí PmFree nebo při vývoji aplikace (s vývojovou licencí pro testovací účely) je tato komponenta funkční vždy.
- Komunikace je přes Ethernet nebo přes standardní sériovou linku (COM1, COM2 ...). Zatím je implementováno zasílání stejných dat po Ethernet jak pro sériovou linku.

I když přístroj nemá Ethernet rozhraní, lze k němu připojit převodník "sériová linka-Ethernet" a na straně PROMOTIC aplikace tak komunikovat přes Ethernet.

- Aplikace PROMOTIC je z hlediska této komunikace vždy MASTER (tzn. že dává podnět k přenosu dat).
- Ovladač je začleněn do systému PROMOTIC pomocí objektu PmComm.

Tento ovladač podporuje použití objektu:

- PmCommData pro čtení aktuálních hodnot veličin ze zařízení.
- PmCommMsg 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 přístroje"

 
Adresace přístroje:

Přístroj má pro komunikaci standardně sériový port RS-232, ale může mít i RS-485. Tehdy může být více přístrojů v síti a je potřeba přístroje adresovat. Adresa přístroje se skládá ze dvou částí. Pokud není více přístrojů, pak mohou mít obě časti hodnotu 0. Adresy se zadávají v objektech PmCommData a PmCommMsg.

- Síťová adresa zařízení část 1: Dvoubajtová adresa (0-65535), která udává koncové zařízení v dané síti. Hodnota 0 znamená libovolné zařízení a má smysl jen když v dané síti je jen jedno zařízení.
- Síťová adresa zařízení část 2: Jednobajtová adresa (0-255), která udává číslo sítě. Hodnota 0 znamená libovolnou síť a má smysl jen když je jen jedna síť.
 
 

Doporučené hodnoty parametrů:

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 přístroje 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í přístroje z externího zdroje napájení +6V až +12V přivedeného na některý z dvojice linkových signálů RTS resp. DTR.

Řízení DTR signálulog.1.

Viz poznámka u "Řízení RTS signálu".

 
Doporučené hodnoty pro Parametry Ethernet:
Zatím je implementováno zasílání stejných dat po Ethernet jak pro sériovou linku. V tomto případě se mohou parametry Ethernet nastavit 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 seriovou 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ěď, přenos zprávy se ukončí (vyvolá se událost onEndOfTransfer s chybou 24 nebo 66).

Maximální velikost datového paketu2048.

V případě, že ke komunikaci je použit datový modem s omezenou délkou datového paketu, je možno 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í objektů PmCommData

Objekt PmCommData slouží ke čtení aktuálních hodnot vybraných veličin. Každá veličina je specifikována jménem objektu a číslem instance objektu.
 
Proměnné v objektu PmCommData (nebo ještě lépe proměnné v objektu PmData 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 je povolen konfigurátor Obnovování dat povoleno). 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 veličiny 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 pomocí okna, které se otevře tlačítkem vpravo od konfigurátoru. Pro zadání lze použít Makro výraz (vyhodnocuje se při spouš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 PmCommData > Parametry > Speciální parametry:
Síťová adresa zařízení část 1Viz Adresace přístroje
Síťová adresa zařízení část 2Viz Adresace přístroje

Popis komunikace pomocí objektů PmCommMsg

Objekt PmCommMsg podporuje následující zprávy:
 
Pro vytvoření těchto zpráv je doporučenou použít předkonfiguraci: která vytvoří i předkonfigurované objekty, obrazy, scripty v událostech, atd.
- 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 záložce Data-zaslání jsou proměnné:
Addr1
V záložce Data-příjem jsou proměnné:
ObjectList - Proměnná, která bude po přenosu obsahovat přijatý textový řetezec.
 
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 přístroje.
AnalogVal.0 (Analog Value) Tlak p1 kPa S,D,M,E V této části je seznam dostupných objektů
- v 1.sloupci je ItemId veličiny (instance objektu)
- v 2.sloupci je název objektu
- v 3.sloupci je název veličiny v přístroji
- v 4.sloupci jsou 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 přístroje. Viz přístrojová dokumentace.
Data Archive Record Length: 63 byte 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 byte. Z této délky připadne zhruba 8000 byte na vlastní "užitečná" data. Jedním z parametrů služeb pro vyčítání archivů je právě počet záznamů. Jelikož 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ž uživatel požadoval více záznamů (větší datový paket), než kolik by ovladač byl schopen přijmout díky omezené velikosti bufferu, ovladač by data "zahodil" a signalizoval by chybu.
Day Archive Record Length: 57 byte
Month Archive Record Length: 57 byte

- Čtení datového archivu:
- Čtení denního archivu:
- Čtení měsíčního archivu:
- Čtení fakturačního archivu:

Tyto 4 zprávy slouží ke č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 záložce Data-zaslání jsou proměnné:
Addr1
RecordsMax - Maximální počet přijatých vět v archivu.
TimeFrom - Čas, od které věty se požaduje číst. Přečtou se věty, které následují bezprostředně ZA tímto časem (tzn. věty s časem větším než tento čas).
V záložce Data-příjem jsou proměnné:
Header - Proměnná typu Array (dvourozmě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 přístroji.
Archive - Proměnná typu Array (dvourozmě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 přistroji vypnuto
V dalších sloupcích jsou hodnoty měřených veličin.
ArchiveRowsCount - Počet řádků (počet vět) archivu
ArchiveColumnsCount - Počet sloupců archivu
FWvers - Firmware verze přístroje

- Čtení archivu extrémů:

Zpráva slouží ke čtení archivu minim a maxim hodnot.

 
V záložce Data-zaslání jsou proměnné:
Addr1
V záložce Data-příjem jsou proměnné:
Header - Proměnná typu Array (dvourozmě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 přístroji.
Archive - Proměnná typu Array (dvourozměrné pole) obsahuje vlastní data archivu. Je organizovaná tak, že každý řádek pole představuje extrémy jedné veličiny.
V 1. sloupci je časová známka minima (typ Date)
Ve 2. sloupci je hodnota minima
Ve 3. sloupci je časová známka maxima (typ Date)
Ve 4. sloupci je hodnota maxima
ArchiveRowsCount - Počet řádků (počet vět) archivu
ArchiveColumnsCount - Počet sloupců archivu
FWvers - Firmware verze přístroje

- Čtení času přístroje:

Vrací časový údaj (datum a čas) v přístroji.

 
V záložce Data-zaslání jsou proměnné:
Addr1
V záložce Data-příjem jsou proměnné:
Time - Přečtený čas přístroje (typ Date)
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice