Promotic
WikipediaLinkedInYoutubeTwitterFacebook

WriteToWeb - metoda objektu PmData

Popis:
Poslání hodnot proměnných (viz záložka "Data") tohoto objektu do PROMOTIC Web serveru v podobě XML.
Syntaxe:
WriteToWeb(URL As String, sParam As String) As Boolean
Volání:
oData.WriteToWeb "http://NázevPočítače/IdKomponenty/data.xml", sParam
Parametry:
URL(String)

URL adresa dat Web serveru, kam se mají XML data poslat. PROMOTIC aplikace jako Web server tato data standardně nabízí na cestě (viz záložka PmData > 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 lze zadat jako NázevPočítače 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 ve tvaru 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 format 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 straně serveru. Pokud není nastaveno a je vyžadována autentizace, pak se událost onEndOfTransfer vyvolá 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 jen 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 se vyvolá 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 se nevyvolá.
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 PmData 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 vyvolání metody WriteToWeb a před vyvoláním události onEndOfTransfer) nelze nad objektem volat znovu metodu WriteToWeb ani metodu ReadFromWeb - tehdy metoda vrátí 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ž pořád funkční).

Příklad1:
Zaslání hodnot všech proměnných
If oData.WebClientIsReady Then
  oData.WriteToWeb "http://localhost/temperatures/data.xml", "fmt:purevalue;user:oper;psw:abcd;"
Else
  ' Web klient is not ready (is still active)
End If
Příklad2:
Zaslání hodnot pouze vybraných proměnných temp1,v3,press
If oData.WebClientIsReady Then
  oData.WriteToWeb "http://localhost/boiler/data.xml", "fmt:full;vars:temp1,v3,press;user:oper;psw:abcd;"
Else
  ' Web klient is not ready (is still active)
End If
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice