How are you modelling the asset(s) that contain these Attributes? Will they all be defined within a single Element, or do you have one Element per Tone Group? The answer to this question will determine the approach to take.
If you have one Element per Tone Group, you could create a fairly simple templated Analysis containing the basic logic you've outlined, and write the output to an Attribute mapped to the status flag. Assuming we take this approach, you might define the Total Output limits for a given Tone Group (Table Lookup perhaps) and then test whether or not the Total Output is within those limits. For example, in an Element named Tone Group 1;
If 'Total Output' >= 'Total Output|Lo' And 'Total Output' < 'Total Output|Hi' Then "ON" Else "OFF"
In this case, 'Total Output|Lo' is set to 3400 and 'Total Output|Hi' is 3600. You could also just as easily get rid of the Hi limit if it's not necessary and just test if the output >= Lo limit.
To me this would be the easiest approach.
If you have only a single Element for all the Tone Groups then that becomes a little less simple. You may have to define individual calculation steps for each logical test and 'fall' through each step in turn to determine your final result.
If you can outline how the Asset(s) are modelled we can give you a better indication of approach to take.
Thank you for your reply. Yes, if I only had one element per tone group it would be easier, however, I have just north of 3000 elements spread across 12 tone groups. Other consideration is the upper limit turns the status flag on and it doesn't turn off until Total Output drops below the lower limit. Thus I'm not looking for the value between lower limit and the higher limit. Your IF statement would turn the status flag off if Total Output was higher than the upper limit and it would also turn it on even if I never reached the upper limit but stayed within the two limits.
You can create AF table with Tone Group, Total Output values. Create child attribute to Tone Group attribute and configure child attribute to get Total Output based on Tone Group value.
Child Attribute = Table lookup based on Tone Group Input ( Value is Total Output Static Value given in your requirement)
If ('Status'="ON" and 'TotalOutput'<= "Tone Group|Child Attribute value") Then "OFF"
Yes. The Table was the key. Thank you. I created a table to set two attributes for my ON point and OFF point. From there I then created following analyses:
If 'Total Output' <= 'Tone Group Off Limit' then set variable temp1 = 1 else set variable temp1 =2
If "Total Output' >= 'Tone Group On Limit' then set variable temp2 =1 else set variable temp2 = 2
Now if Total Output is at or below my Off Limit, temp1 will be 1 and temp2 will be 2
If Total Output is above my On Limit, temp1 will be 2 and temp2 will be 1.
if Total Output is between the two limits both temp1 and temp2 will be 2.
So I do a third if statement:
If ABS(temp1 - temp2) = 1 and Total Output >= 'Tone Group ON Limit' then turn the status flag on otherwise turn status flag off.