Timeav Abstract


Usage :  TIMEAV is the Java Open Access Client (OAC) process which
	 provides time averaged device values.  You can view log
	 files for TIMEAV in the directory 'daesrv\\engines\files\oac'.
	 TIMEAV runs on DCE10.

	 The expression directing the averaging consists of a string with
	 five fields, separated by the '|' (pipe) character.

	 deviceName | sampleEvent | ComputeEvent | maxPoints | calcDirection

	 The fields are:

	   1. deviceName - name of the device to average
	   2. sampleEvent - event on which to sample deviceName's reading
	   3. computeEvent - event on which to calculate the average of the
			     samples collected since last computeEvent
	   4. maxPoints - maximum number of points to go into an average
	   5. calcDirection - whether to output difference of means rather
			      than means, or a sum instead of average

	 If maxPoints is specified and no computeEvent was specified
	 (you can enter the string "null" for computeEvent), then at every
	 point after maxPoints we update the output value
	 (a sliding boxcar average).  If both maxPoints and computeEvent
	 were specified, then we just make sure that at most maxPoints
	 (the most recent maxPoints) go into the total average, and the
	 output average is only calculated upon computeEvent occuring.
	 If no maxPoints was specified, then we keep accumulating samples
	 until the computeEvent occurs, at which point the output average
	 is calculated and set.

	 If calcDirection is "diff", then at every computeEvent, we calculate
	 the mean and subtract from it the mean calculated at the previous
	 computeEvent, and output the difference. If calcDirection is "sum",
	 then at every computeEvent, we don't take an average, we just output
	 the accumulated sum. If the first three fields are supplied,
	 the last two are not required.

	 Events are specified with the syntax of the Data Event Factory.
	 Its Clock Event and Periodic Event specifications are the ones most
	 commonly used here. For example:

	    * m:blow | p,2000,true|p,10000,true |0|diff
	    * M:TOR109|e,81,s,10|e,00,s,0|0|sum| 

	 An oddity of the parsing: If you only specify the first three fields,
	 you can NOT have a trailing '|'. In other words this will work:

	    * m:blow | p,2000,true|p,10000,true

	 This won't:

	    * m:blow | p,2000,true|p,10000,true |

	 If you have some mistake in your TIMEAV expression and the OAC is
	 restarted using that bad equation, you should see a
	 DAE_INVALID_SETTING error for the device with the bad equation.

Restart: TIMEAV is restarted when its DAE is restarted.

Keeper: Dennis Nicklaus

OAC Node: dce10

Now: Thu Aug 28 20:04:14 2008