Promotic
WikipediaLinkedInYoutubeTwitterFacebook

PmCharServer - Ovladač pro komunikaci uživatelsky konfigurovatelným ASCII/BIN protokolem

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 vyžaduje zakoupení licence PmChar. S freeeware verzí PmFree nebo při vývoji aplikace (s vývojovou licencí pro testovací účely) je tato komponenta funkční vždy.

Je také potřeba zakoupit příslušný počet licencí PmDataClient. Tento počet je uveden v konfigurátoru "Maximální počet klientů".

- Ve verzi PmFree je povolený počet nastaven na 2.
- Při vývoji aplikace pro testovací účely je povolený počet nastaven na 10.
- Komunikace je pro Ethernet-server (pro Ethernet-klienta nebo pro sériovou linku je určen komunikační ovladač PmChar).
- Ovladač je začleněn do systému PROMOTIC pomocí objektu PmaComm.

Ovladač podporuje použití objektu PmaCommMsg. Objekt PmaCommGroup nelze použít.

Pro snadné přidání tohoto ovladače do aplikace je vhodné použít: Předkonfigurace ve skupině "PmChar konfigurovatelný protokol"

 
Ovladač je jednoduchý ale mocný nástroj pro komunikaci uživatelsky konfigurovaným protokolem. Je určen především pro komunikace, u kterých se nevyplatí používat specializovaný komunikační protokol.

Použití ovladače je zvláště výhodné pro:

- komunikace jednoduchými protokoly.
- textově i binárně orientované komunikace.
- testovací účely.
 
Ovladač umožňuje zatím použití jen zpráv typu Slave.
 
Ovladač PmCharServer není určen pro emulaci složitějších protokolů. Při rozhodování, zda daný protokol lze realizovat pomocí PmCharServer ovladače, Vám rádi poradíme; kontaktujte nás! (sw-support@microsys.cz).
 

Doporučené hodnoty parametrů:

Popis a doporučené hodnoty pro Parametry protokolu:
Přijímaná data budou vždy jen v jednom paketuPokud je zatrženo, pak se předpokládá, že celý obsah přijaté zprávy se vždy vejde do jednoho IP paketu.

Toto nastavení má vliv na optimalizaci rychlosti příjmu:

Po příjmu jednoho paketu se vždy ukončí příjem a nečeká se na timeout (zadaný v konfigurátoru "Timeout přenosu jednoho paketu [ms]").

Velikost paketu je určena danou sítí. Může to být např. 521 bajtů, 1024 bajtů atd.

Popis komunikace pomocí objektů PmaCommMsg

Parametry zprávy:
V 'Data-zaslání' je HexaStringV záložce "Data-zaslání" je vždy jedna proměnná typu String.
Pokud je zatrženo, pak se předpokládá že obsahem této proměnné je tzv. HexaString pomocí něhož lze v typy String přenášet libovolné binární hodnoty následujícím způsobem:

Příklad: pokud se mají zaslat 4 bajty s binárními hodnotami 01 A0 00 B3 (hexadecimálně), pak je nutno nastavit do této proměnné typu String hodnotu "01A000B3" - tzn. text délky 2*4=8 znaků.

Takto lze jednoduše zasílat data obsahující i binární nuly, které v hodnotě typu String nesmějí být.

Pro přípravu vysílaných dat lze použít metodu Pm.TransformValue(240).

Pokud není zatrženo, pak nelze posílat binární data ale jen textová data - zašle se přesně to co je v obsahu proměnné typu String.
V 'Data-příjem' je HexaStringStejné jako předchozí konfigurátor, pouze pro záložku Data-příjem.

Pokud je zatrženo, pak pro zpracování přijatých dat lze použít metoda Pm.TransformValue(241).

 
V záložce "Data-zaslání" jsou proměnné:
Data - (String) Data určená k zaslání.
V záložce "Data-příjem" jsou proměnné:
Data - (String) Zde se uloží přijatá data.
 
Objekt PmaCommMsg lze nastavit zatím jen pro zprávy typu Slave. Postup přenosu pro tento typ zpráv je následující:
- Objekt čeká na příjem dat z druhé strany.
- Po příjmu zprávy z druhé strany se určí, kterému objektu typu Slave tyto data patří. Pokud je jen jeden objekt typu Slave, pak se přijatá data předají jemu, v jiném případě se rozhoduje následovně:

Zjistí se délka přijaté zprávy a zjistí se délka požadovaných dat v objektech v záložkách Data-příjem. Přijatá zpráva se přidělí objektu, jehož požadovaná délka je rovna (nebo nejblíže větší) než délka přijaté zprávy.

- Po uložení přijatých dat do proměnné Data v záložce "Data-příjem" příslušného objektu je vyvolána událost onDataReceive. Zde může projektant na základě přijatých dat nastavit data pro vyslání v záložce "Data-zaslání".
- Pokud v záložce "Data-zaslání" obsahuje proměnná Data prázdný řetězec, pak se přenos ukončí (je vyvolána událost onEndOfTransfer). Využívá se pokud PROMOTIC nemá poslat odpověď druhé straně.
- Pokud v záložce "Data-zaslání" obsahuje proměnná Data neprázdný řetězec, pak obsah této proměnné se upraví (např. se provede převod z HexaString do binárního tvaru) a upravená data se zašlou druhé straně.
- Po vyslání je vyvolána událost onEndOfTransfer.

Historie:
Pm9.00.03: Vytvořeno
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice