Example:
i have below input file data.
<StartTime=TimeX/>
<EndTime=TimeY/>
<LimitLine Start="x" End="y"/>
<Point X="Valx1" Y="Valy1"/>
<Point X="Valx2" Y="Valy2"/>
<Point X="Valx3" Y="Valy3"/>
<Point X="Valx4" Y="Valy4"/>
<Point X="Valx5" Y="Valy5"/>
<Point X="Valx6" Y="Valy6"/>
and i want to store all the x and y value in tag with timestamp as (= starttime +(endtime-starttime)/number of points value) on every points value.
like in above case, it should be (TimeY-TimeX)/6.
Problem statement is, I have calculated the number of points value, but in order to apply the above offset timestamp in each x and y values, we need to start our code from 1st occurrence of point x again.
[MSG]
MSG(1).NAME="MSG_1"
MSG(2).NAME="MSG_2"
[MSG_1]
MSG_1.FILTER=C1=="*<*"
FullMessage=C1("*<") - ("*/>")
Timestamp=Now()
Count the number rows starts with "point X"
Save it in one variable.
once EOS(End of Stream) bit sets, it should call MSG_2, and re-execute the input file from start in order to extract the x and y values and apply timestamp to it.
Example-
If (EOS()==1) then
SetNextMsg("MSG_2",)
endif
[MSG_2]
MSG_2.FILTER=C1=="*<Point *"
GraphPoints_X=["*X=\"(*)\"*"]
GraphPoints_Y=["*Y=\"(*)\"*"]
Calculate the offset by following logic
offset=(Endtime-startime)/number of value
and distribute this offset equally to the timestamp among values and store it in PI.
--------------------------------------------------------------------------------------------------
So, question is, can we take re-entry to the input file from 1st line by using another filter in the same ini file by using setnextmsg?