Promotic

WriteToWeb - method of the PmaData object

Description:
Sending the values of variables (see the "Data" tab) of this object to Web server in the XML format.
Syntax:
Boolean WriteToWeb(String URL, String sParam)
Parameters:
URL(String)
The URL address of the data Web server where the XML data have to be sent. The PROMOTIC application as the Web server offers the data usually on the path (see the "PmaData > Web server" tab):
http://ComputerName:Port/ComponentId/data.xml

Caution! Beginning of the address ("http:") must be entered! If you want to enter the address of the local computer, then it is possible to enter the localhost word as the ComputerName. The Port needn't be entered if the Web server is on the standard port 80.
The communication also works on secured Web server at address https://....
sParam(String) Additional parameters of the transfer. This is the text in the form, for example: "fmt:purevalue;user:NAME1;psw:PASSWORD1;".
fmt (mandatory) - Named format of the sent XML data.
purevalue - Shortened text format containing only the values separated by semicolon. This format can be used for sending values of all variables.
xmlpurevq - A shortened text format containing the values and qualities separated by semicolon. This format is suitable for sending values and qualities of all variables.
full - Extended text XML format containing values and variable names. This format can be used for sending values of some variables.
user - User name for the authentication. See "WebWrite" permission on the server. If not set and the site requires the authentication, then the onEndOfTransfer event is triggered with the pEvent.Error=40.
psw - Password of the user for the authentication. This parameter is ignored if the user parameter is missing.
vars - List of variables names that are to be transmitted. This parameter can be entered only if the fmt parameter has the value "full".
Return value:
true - The method successfully queued the request for writing data to the server. After data transfer the onEndOfTransfer event is triggered.
false - The method hasn't queued the request for writing data. Probably the previous request about sending/receiving of this object hasn't been finished yet. The onEndOfTransfer event is not triggered.
Note:
This method is not functional for PmFree.

By the fact that the WriteToWeb method is called over the object, this object is regarded as the Web client that writes to the component of the Web server, in this case to another but the same configured PmaData object in another application on the same or another computer.
The method only activates the data transfer but there is no assurance that data are already transferred after ending this method. The data transfer termination is announced by the the onEndOfTransfer event. During the data transfer (i.e. in the time after calling the WriteToWeb method and before the onEndOfTransfer event is triggered) the WriteToWeb nor the ReadFromWeb method cannot be called over the object again - then the method returns the false value. By means of the WebClientIsReady property it can be found out if the object is ready for the next transfer.

Up to the version Pm8.2.7, the method had two more parameters and the 2nd sParam parameter had different meaning (2nd parameter was fmt, 3rd parameter was user and 4th parameter was psw). For example
oData.WriteToWeb "http://ComputerName/ComponentId/data.xml", "purevalue", "User", "Password"
This way of calling is considered obsolete (even if is functional).
Example1:
Sending the values of all variables
JavaScriptVBScriptSelect and copy to clipboard

if (oData.WebClientIsReady)
{
oData.WriteToWeb("http://localhost/temperatures/data.xml", "fmt:purevalue;user:oper;psw:abcd;");
}
else
{
Pm.Debug("Web client is not ready (is still active)");
}
Example2:
Sending the values and qualities of all variables
JavaScriptVBScriptSelect and copy to clipboard

if (oData.WebClientIsReady)
{
oData.WriteToWeb("http://localhost/temperatures/data.xml", "fmt:xmlpurevq;user:oper;psw:abcd;");
}
else
{
Pm.Debug("Web client is not ready (is still active)");
}
Example3:
Sending the values of selected variables temp1,v3,press
JavaScriptVBScriptSelect and copy to clipboard

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

History:
Pm9.00.18: New format of xmlpurevq for sending values and qualities of variables
Pm8.02.14: Fixed bug: While writing text value the 0 character was added to the end of the text.
Pm8.02.08: Has been generalized: it is possible to enter which variables are to be transmitted.
PROMOTIC 9.0.27 SCADA system documentation MICROSYS, spol. s r.o.

Send page remarkContact responsible person
© MICROSYS, spol. s r.o.