Promotic
WikipediaLinkedInYoutubeTwitterFacebook

WriteToWeb - metoda objektu PmaData

Popis:
Poslání hodnot proměnných (viz karta "Data") tohoto objektu do PROMOTIC Web serveru v XML formátu.
Syntaxe:
Boolean WriteToWeb(String URL, String sParam)
Parametry:
URL(String)

URL adresa dat Web serveru, kam se mají XML data poslat. Aplikace PROMOTIC jako Web server tato data standardně nabízí na cestě (viz karta "PmaData > Web server"):

http://NázevPočítače:Port/IdKomponenty/data.xml

Upozornění! Začátek adresy ("http:") se musí zadat! Pokud chcete zadat adresu lokálního počítače, pak jako NázevPočítače lze zadat slovo localhost. Port není potřeba zadávat, pokud je Web server na standardním portu 80.

Komunikace funguje i se zabezpečeným WEB serverem na adrese https://....

sParam(String) Dodatečné parametry přenosu. Je to text v podobě například: "fmt:purevalue;user:NAME1;psw:PASSWORD1;".
fmt (povinné) - Pojmenovaný formát posílaných XML dat.
purevalue - Zkrácený textový formát obsahující pouze hodnoty oddělené středníkem. Tento formát je vhodný na posílání hodnot všech proměnných.
full - Rozšířený textový XML formát obsahující hodnoty a názvy proměnných. Tento formát je vhodný na posílání hodnot vybraných proměnných (viz parametr vars).
user - Jméno uživatele pro autentizaci. Viz oprávnění "WebWrite" na serveru. Pokud není nastaveno a je vyžadována autentizace, pak je vyvolána událost onEndOfTransfer s chybou pEvent.Error=40.
psw - Heslo uživatele pro autentizaci. Tento parametr je ignorován, pokud není zadán parametr user.
vars - Seznam názvů proměnných, které se mají zaslat. Tento parametr lze zadat pouze pokud parametr fmt má hodnotu full.
Vrácená hodnota:
true - Metoda úspěšně zařadila požadavek na zaslání dat do serveru. Po přenosu dat je vyvolána událost onEndOfTransfer.
false - Metoda nezařadila požadavek na zaslání. Pravděpodobně ještě nebyla dokončena předchozí žádost o vysílání/příjmu tohoto objektu. Událost onEndOfTransfer není vyvolána.
Poznámka:

Tato metoda není funkční pro PmFree.

 
Tím, že se nad objektem volá metoda WriteToWeb, považuje se tento objekt za Web klient, který zapisuje do komponenty Web serveru, v tom případě do jiného ale stejně nakonfigurovaného objektu PmaData v jiné aplikaci na stejném nebo jiném počítači.

Metoda dá jen podnět k přenosu dat, ale není vůbec zaručeno že po ukončení této metody jsou již data přenesena. Konec přenosu dat však způsobí že se vyvolá událost onEndOfTransfer. V době přenášení dat (tzn. v době po volání metody WriteToWeb a před tím, než je vyvolána událost onEndOfTransfer) nelze nad objektem znovu volat metodu WriteToWeb ani metodu ReadFromWeb - tehdy metoda vrací hodnotu false. Pomocí vlastnosti WebClientIsReady lze zjistit, zda je objekt připraven na další přenášení.

 
Až do verze Pm8.2.7 měla metoda o dva parametry navíc a 2. parametr sParam měl jiný význam (2. parametr byl fmt, 3. parametr byl user a 4. parametr byl psw). Například

oData.WriteToWeb "http://NázevPočítače/IdKomponenty/data.xml", "purevalue", "User", "Password"

Tento způsob volání je však již zastaralý (i když je funkční).

Příklad1:
Zaslání hodnot všech proměnných
JavaScriptVBScriptVyber a zkopíruj do schránky

if (oData.WebClientIsReady)
oData.WriteToWeb("http://localhost/temperatures/data.xml", "fmt:purevalue;user:oper;psw:abcd;");
else
Pm.Debug("Web klient is not ready (is still active)");
Příklad2:
Zaslání hodnot pouze vybraných proměnných temp1,v3,press
JavaScriptVBScriptVyber a zkopíruj do schránky

if (oData.WebClientIsReady)
oData.WriteToWeb("http://localhost/boiler/data.xml", "fmt:full;vars:temp1,v3,press;user:oper;psw:abcd;");
else
Pm.Debug("Web klient is not ready (is still active)");

Historie:
Pm8.02.14: Opravená chyba: při zápisu textové hodnoty se na konec textu přidával znak 0.
Pm8.02.08: nyní lze zadat, které proměnné se mají přenést.
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice