0
Not a bug

COUT Disable Bug?

Chris Litwin 3 years ago in IQANdesign updated 3 years ago 4

IQANdesign 6.04.9.5943

MD4-7 & XC43

I just diagnosed what I think is a bug for the current outputs. I have a COUT going to the max positive value, then while the COUT is at max, the channel gets disabled. When the channel is enabled again it turns on by itself at the previous value where it was disabled at. The length of time it stays at the previous value is affected by the ramp settings.

In my opinion the COUT should zero itself when disabled since that is the safe state.

GOOD, I'M SATISFIED
Satisfaction mark by Chris Litwin 3 years ago

In my opinion, if you have ramps on the channel it doesn't really make sense to disable it until the output has had time to fall down to 0. Otherwise you would stop your function dead abruptly.

As you might know everything in a function group is frozen when you disable it, and resumes at the exact same place when enabled again. It is just the output data that is temporarily zero.

One option would be to put the output outside the function group you disable, letting the ramp work as intended stopping the output gently.

Another option is disabling ramps on the output and instead using a slope channel, that will drop dead to zero when you disable it on the enable input if this is what you really require.

I have since fixed the issue, but it doesn't seem correct that a disabled output remembers it's previous value and jumps to it after the output is enabled to "finish" its ramp.

+1
Not a bug

This is how it has worked since the very first very of IQANdesign, but it is a good topic to bring up. There might be more users who use runtime disabling of function groups. 

Disabling a function group only stops the channels from being evaluated. 

Disabling a function group with a COUT is useful in an installation where it is used for a machine option, to avoid seeing open load errors and and adjustments when the output is not installed. 

To stop the COUT in runtime, set the input channel to zero. 

There are channels that have a specific Enabled property for runtime disabling of a calculation, an example is a PID channel. On those channels there is specific functionality specified for disabling, that gets executed both when disabling via the enable channel and via function group disable.  

+1

That's some good information to know. Thank you.