Promotic
WikipediaLinkedInYoutubeTwitterFacebook

WriteToWeb - metoda obiektu PmaData

Opis:
Wysłanie wartości zmiennych (patrz zakładka "Dane") tego obiektu do PROMOTIC Web serwera w formacie XML.
Składnia:
Boolean WriteToWeb(String URL, String sParam)
Wołanie:
oData.WriteToWeb "http://NazwaKomputera/IdElementu/data.xml", sParam
Parametry:
URL(String)

Adres URL danych Web serwera, gdzie mają zostać wysłane dane XML. Aplikacja PROMOTIC jako Web serwer dane takie oferuje na ścieżce (patrz zakładka "PmaData > Web serwer"):

http://NazwaKomputera:Port/IdElementu/data.xml

Uwaga! Początek adresu ("http:") musi zostać wprowadzony! Jeżeli chcesz wprowadzić adres komputera lokalnego, wtedy jako NazwaKomputera można wprowadzić słowo localhost. Nie jest konieczne określenie Port, jeżeli Web serwer działa pod standardowym portem 80.

Komunikacja działa również z zabezpieczonym WEB serwerem pod adresem https://....

sParam(String) Dodatkowe parametry transmisji. Jest to tekst w postaci na przykład: "fmt:purevalue;user:NAME1;psw:PASSWORD1;".
fmt (obowiązkowe) - Nazwany format wysyłanych danych XML.
purevalue - Skrócony format tekstowy zawierający tylko wartości oddzielone średnikiem. Taki format jest przeznaczony do wysyłania wartości wszystkich zmiennych.
full - Rozszerzony tekstowy format XML zawierający wartości oraz nazwy zmiennych. Ten format jest przeznaczony do wysyłania wartości wybranych zmiennych (patrz parametr vars).
user - Nazwa użytkownika do uwierzytelnienia. Patrz uprawnienie "WebWrite" na serwerze. Jeżeli nie jest ustawione oraz jest wymagane uwierzytelnienie, wtedy zostanie wywołane zdarzenie onEndOfTransfer z błędem pEvent.Error=40.
psw - Hasło użytkownika do uwierzytelnienia. Parametr ten jest ignorowany, jeżeli nie jest określony parametr user.
vars - Lista nazw zmiennych, które mają być wysłane. Parametr ten można wprowadzić tylko jeżeli parametr fmt ma watrość full.
Wartość zwrotna:
true - Metoda pomyślnie zaszeregowała wymóg zapisu danych do serwera. Po transmisji zostanie wywołane zdarzenie onEndOfTransfer.
false - Metoda nie zaszeregowała wymóg zapisu danych. Prawdopodobnie nie została zakończona poprzednia trasnmisja zapisu/odczytu danych tego obiektu. Zdarzenie onEndOfTransfer nie zostanie wywołane.
Notatka:

Metoda ta nie działa w PmFree.

 
Przez to, że nad obiektem zostanie wywołana meteoda WriteToWeb, obiekt ten jest uważany za Web klienta, który zapisuje do komponentu Web serwera, w tym przypadku do innego lecz tak samo ustawionego obiektu PmaData w innej aplikacji na tym samym lub innym komputerze.

Metoda tylko zainicjuje transmisję danych, lecz nie jest zapewnione, że po skończeniu tej metody dane zostaną już przeniesione. Koniec transmisji danych jest oznajmiony przez zdarzenie onEndOfTransfer. W czasie transmisji danych (tzn. w czasie po wołaniu metody WriteToWeb a jednocześnie przed tym zanim zostanie wywołane zdarzenie onEndOfTransfer) nie można nad obiektem ponownie wywołać metodę WriteToWeb ani metodę ReadFromWeb - w takim przypadku metoda zwraca wartość false. Przy pomocy właściwości WebClientIsReady można stwierdzić, czy obiekt jest gotowy do następnej transmisji.

 
Aż do wersji Pm8.2.7 metoda posiadała o dwa parametry więcej a 2. parametr "sParam" miał inne znaczenie (2. parametr był fmt, 3. parametr był user oraz 4. parametr był psw). Na przykład

oData.WriteToWeb "http://NazwaKomputera/IdElementu/data.xml", "purevalue", "User", "Password"

Taki sposób wołania jest już przestarzały (nawet jeżeli działa).

Przykład1:
Wysłanie wartości wszystkich zmiennych
JavaScriptVBScriptWybierz oraz skopiuj do schowka

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)");
Przykład2:
Wysłanie wartości tylko wybranych zmiennych temp1,v3,press
JavaScriptVBScriptWybierz oraz skopiuj do schowka

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)");
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice