• Not Answered

How can I capture an analog value and save it?

I am relatively new to programming DeltaV.  I have programmed many control systems and am fairly well versed in function block programming.  But I am struggling at how to capture an analog value, i.e .take and save a snapshot.   I need to capture the weights of bales while reading the input of a scale after it stabilizes.   I then need to store it in memory so I can compute a rolling average weight of the bales.  I cant seem to find a function block that works for this.  If this were a PLC I would simply move the value to register to save it.   Does anyone have any thoughts on how to capture an analog value?  Any help would be much appreciated.


4 Replies

  • You could try a positive edge trigger, and put an action block out the output of the trigger.

    Inside the action block setup the logic to shift all values in an array tag down and copy your current weight to the 1st position.

    I did something similiar to store a history of test results but didn't do anything for a rolling average.
  • In reply to Roman Kostuniak:

    Thanks for the tips, I will try them out shortly:)
  • In reply to foxriver:

    Just keep in mind that this method will loose the data in "MEMORY" on module download unless you change the Download Behavior to "Preserve user-defined and critical block values" from the default "Preserve critical block values".

    If you change to the preserve user-defined then you need to also know that parameter changes in the configuration will have to be tuned (manually changed online) because they won't be downloaded (unless it's a new parameter).