07-01-2009 02:06 PM
Hi
I'm trying to use labview to send current commands to an external motor controller. The external motor controller has some current limits that, whenever they are exceeded, shuts down the whole system. Therefore, I'd like to limit the current commands to stay within an acceptable window (please see attached flowchart). Basically, I'd like to check to see if the current command exceeds the maximum and minimum current limits and, if so, send a current command that is within the limit window. Of course, if the command is already within the window, I'd like to just sent that command through. Can someone tell me how to do this in labview? I've seen a few similar posts, but I'm not sure someone's already answered this exact question before.
Thanks,
Brian
07-01-2009 02:08 PM
07-01-2009 02:10 PM
07-01-2009 02:20 PM - edited 07-01-2009 02:23 PM
"In range and coerce" will get you partway there, but your specifications are a bit more complex.
To get the exact behavior you wanted, you need to do something like the following.
(Now anything outside the range will get coerced to 7900 instead of the coercion limits.)
07-02-2009 12:32 PM
My source datatype is "dynamic data" (thick blue line with white dashes inside) and in the in range and coerce doesn't seem to work with that datatype. Is there anyway to convert the data to work with in range and coerce? Or do I need a different solution?
Thanks!
Brian
07-02-2009 12:37 PM
07-02-2009 12:37 PM - edited 07-02-2009 12:38 PM
bcglaxer wrote:My source datatype is "dynamic data" (thick blue line with white dashes inside) and in the in range and coerce doesn't seem to work with that datatype.
Use the comparison express VI and configure it for "in range", for example. The rest should fall in place. 😄
You can also convert your dynamic data to an array.