You can use the ACCUM block's MTRFAC so the block gives you the correct average at the end of 3 minutes. Then use a CALCA to grab that value and hold it, and also reset the ACCUM for the next 3 minutes period. You could also just do the whole thing in the CALCA. Roger Smith -----Original Message----- From: foxboro-bounce@xxxxxxxxxxxxx [mailto:foxboro-bounce@xxxxxxxxxxxxx] On Behalf Of Jones, Charles R. (Chuck) Sent: Tuesday, June 14, 2011 11:38 AM To: foxboro@xxxxxxxxxxxxx Subject: Re: [foxboro] Calculations "I understand this as "break the hour into 20 three minute segments (blocks of time--not rolling average) and calculate the average value in each"......No it would actually be not breaking the hour but just average a 3 minute block in time and output it, then another 3 minute block and output and so forth." To me, these are two ways of saying the same thing. Meaning, I was trying to say what you said. I just used too many words. >smile< You could feed the values of the opacity into an accumulator. Every 3 minutes, divide the total by the number of half seconds in 3 minutes (360) to get the average. Then reset the accumulator. "Should have read create an alarm if opacity is 20% or above for more than 3 minutes in any 30 minute period." This, to me, is the harder of the two problems. I would set up a REALM block with an alarm set for 20%. Send the Boolean value of the HAIND to an accumulator to count the number of half seconds the opacity is in violation. Then you would need an IND sequence block to harvest this data and reset the accumulator as often as is expedient. (I would suggest every 30s.) Divide by two to get the number of seconds in violation and store them into a rolling array that keeps enough samples to account for 30 minutes. Whenever the sum value of the accumulated seconds of violation exceed 180, send the alarm. You could probably get the same IND block to harvest data from both blocks. Do you reckon that would work? Chuck Jones Automation Technologist Tate & Lyle Lafayette Plant **************************************************************************** **************************** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you are not the intended recipient or the person responsible for delivering the email to the intended recipient, be advised that you have received this email in error that any use, dissemination, forwarding, printing, or copying of this email is strictly prohibited. If you have received this email in error please notify the sender immediately. Please note that we reserve the right to monitor and read any emails sent and received by the Company in accordance with and to the extent permitted by applicable legal rules. **************************************************************************** ***************************** _______________________________________________________________________ This mailing list is neither sponsored nor endorsed by Invensys Process Systems (formerly The Foxboro Company). Use the info you obtain here at your own risks. Read http://www.thecassandraproject.org/disclaimer.html foxboro mailing list: //www.freelists.org/list/foxboro to subscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=join to unsubscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=leave _______________________________________________________________________ This mailing list is neither sponsored nor endorsed by Invensys Process Systems (formerly The Foxboro Company). Use the info you obtain here at your own risks. Read http://www.thecassandraproject.org/disclaimer.html foxboro mailing list: //www.freelists.org/list/foxboro to subscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=join to unsubscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=leave