I've been working on DeltaV for about 17 years now and I have a requirement that I would like to fulfill as elegantly as possible, so I'm looking for some clever ideas here.
I have a table of limits to evaluate that should be recipe formula based.
The actual index upper bound should be reasonably extensible, maybe as many as 100. When condition is index = n, evaluate measured value to be within Low and High.
You cannot make batch parameters an array, and I would like to avoid making each individual cell of the low and high column as a separate parameter.
I don't want this configuration stored in a module, as I mentioned this is really a formula based definition.
I could do some fancy string definition like 1,3,5 for the Low, but the phase expression logic that will ultimately make use of this can't do any sort of string parsing that I know of to break this down into an array.
I could do some crazy binary stuff, but at the formula level, the configuration should be somewhat intuitive and not esoteric.
I appreciate any suggestions.
In reply to Ray Emerson:
Agreed, Huge fan on composites. Without the total background of what you are trying to do, I would try something like this. Composite with Step a Pulse Action and then a While Loop in the Pulse Action. Then a Transition to loop back around if you want to recheck after a certain time.
For similar requirement, I have used below approach. I found deferring this huge data to formula as inappropriate.
1. At recipe level, I just created string parameter 'FORMULA' and specified it value like 'Formula1', 'Formula2', etc. in respective formula.
2. This parameter was downloaded to a data module.
3. Data module was having multiple array parameters as shown below storing pre-configured values.
4. As per Downloaded formula string, data from respective array is copied to another common array parameter as selected values.
5. Graphical interface was provided to edit these value if required. (As we can edit formula values to customize).
6. Once acknowledged, this data is read by phase logic and store in phase algorithm parameter.
In reply to Matt Stoner: