Promotic

WriteToWeb - metoda objektu PmaData

Popis:
Zaslání hodnot proměnných (viz karta "Data") tohoto objektu do Web serveru ve formátu XML.
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 obvykle 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.
xmlpurevq - Zkrácený textový formát obsahující hodnoty a kvality oddělené středníkem. Tento formát je vhodný na posílání hodnot a kvalit 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.
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 na server. 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řenosu 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 objekt je 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 a kvalit všech proměnných
JavaScriptVBScriptVyber a zkopíruj do schránky

if (oData.WebClientIsReady)
{
oData.WriteToWeb("http://localhost/temperatures/data.xml", "fmt:xmlpurevq;user:oper;psw:abcd;");
}
else
{
Pm.Debug("Web klient is not ready (is still active)");
}
Příklad3:
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:
Pm9.00.18: Nový formát xmlpurevq pro zasílání hodnot i kvalit proměnných
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.