strTemplateSetVar updates the value of a variable in the template.
If a variable is not set with this function it will by default just use an empty string.
Input:
st: SYSHANDLE
A handle to the string template.
name : STRING
The name of the variable to update.
value : STRING
The new value of the variable.
Returns: INT
1
|
- Success
|
0
|
- Function is not supported.
|
-1
|
- Invalid handle.
|
-2
|
- Template is not ready.
|
-4
|
- Variable was not found.
|
Declaration:
FUNCTION strTemplateSetVar;
VAR_INPUT
st : SYSHANDLE;
name : STRING;
value : STRING;
END_VAR;
Example:
INCLUDE rtcu.inc
PROGRAM test;
VAR
st : SYSHANDLE;
rc : INT;
str_in : STRING;
str_out : STRING;
END_VAR;
str_in := "Time since reset: $${time}, Temperature: $${temp}, Values: $"$${time}, $${temp}, $${value}$"";
rc := strTemplateCreate(st:=st, str:=str_in, sov := "$${", eov := "}");
DebugFmt(message:="strTemplateCreate: \1", v1:=rc);
rc := strTemplateSetVar(st:=st, name:="value", value := "value");
DebugFmt(message:="strTemplateSetVar: \1", v1:=rc);
BEGIN
rc := strTemplateSetVar(st:=st, name:="time", value:=dintToStr(v:=boardTimeSinceReset()/1000));
DebugFmt(message:="strTemplateSetVar: \1", v1:=rc);
rc := strTemplateSetVar(st:=st, name:="temp", value:=floatToStr(v:=FLOAT(boardTemperature())/100.0));
DebugFmt(message:="strTemplateSetVar: \1", v1:=rc);
rc := strTemplateGenerateString(st:=st, str:=str_out);
DebugFmt(message:="strTemplateGenerateString: \1", v1:=rc);
DebugMsg(message:=str_out);
Sleep(delay:=10000);
END;
END_PROGRAM;
|