FieldPoint Family

cancel
Showing results for 
Search instead for 
Did you mean: 

fieldpoint analog output not updated to zero

   I've got a client using a networked FieldPoint system.  It has the TB module that allows 6 different 2 channel sub-modules.  One submodule is a 0 to 5 V analog output.  Two are 0 to 10V analog outputs.  I use the same calls for all 6 channels.  On the 0 to 10V outputs, he starts the program and it sets them all to 0.  He then changes any one (or more) output to a non-zero value (which works), waits a bit, and sets it back to 0.0 V.  It does not return to 0.  There is no error.  The FP Write call is being executed.  "On Change" is set to True, so that there is no FP traffic unless the value has changed.  The value has changed, but somehow the Write does not occur.  If he quits the LV program and checks in Max, the FP channel still has it's non-zero value.  Also, if he sets it to 0.01V, that works.  Only a hard 0 doesn't get set.  Finally, if "On Change" is set to False, it all works as expected.  Is "On Change" remember more than just the most recent value?  One last symptom - the 0 to 5 V outputs don't exhibit this behavior.

   On a related note, how come the Analog Outputs in FP have scaling options in Max, but Analog Ins don't?

Thanks,
   Dave
-------------------------------------------------------------
David Thomson Original Code Consulting
www.originalcode.com
National Instruments Alliance Program Member
Certified LabVIEW Architect
Certified Embedded Systems Developer
-------------------------------------------------------------
There are 10 kinds of people: those who understand binary, and those who don't.
0 Kudos
Message 1 of 4
(3,350 Views)

Dave,

The “On Change” doesn’t remember more than just one value, but it is a reentrant property, meaning that you can run into issues if you are calling more then one write within the same VI, since each call will have its own memory space. That property was only designed to be used in loops, to help reduce unnecessary driver calls. Here is a KB that describes what may be going one with your client’s application. Specifically take a look at the example VI attached. It shows a case where the “On Change” property is used incorrectly, and would exhibit behavior similar to what you have described.  It’s hard to say if this is exactly the case without looking at the code, but from what you described that is what I think is happening.

Now, analog inputs should have scaling options, as long as you have the most recent version of Field Point, and therefore the most recent version of MAX. Take a look at this KB for some info on that.

 

Hopefully that answers your questions, but if not please post back with any additional questions.

 

-GDE

Message 2 of 4
(3,334 Views)
GDE,
   Thanks!  I read your message and at first thought that although it sounds familiar, it didn't really explain it.  After all, I set this channel in only one place.
   After thinking about it, I realized that of course, it does explain it.  I actually have a loop that cycles through an array of 4 FP references and an array of 4 setpoints, so that the same FP Write is used for all 4 channels.  So it was actually remembering of "previous values" for the wrong channels!
   I'll look at the scaling of AI's when I get a chance.

Thanks again for your help.

Dave
-------------------------------------------------------------
David Thomson Original Code Consulting
www.originalcode.com
National Instruments Alliance Program Member
Certified LabVIEW Architect
Certified Embedded Systems Developer
-------------------------------------------------------------
There are 10 kinds of people: those who understand binary, and those who don't.
0 Kudos
Message 3 of 4
(3,331 Views)
Dave,

Glad to be of help, those Write "On Change" can be tricky to track down. Good luck with everything, and let us know if you need any help with the AI Scaling. Take care!

-GDE
0 Kudos
Message 4 of 4
(3,317 Views)