LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

9265 programming

Hi,
 
OK, this may be a dumb question but I can't find any manual on what values I need to write to my ni9265 to give me some output.  I found out that by using a numeric control, I get no power on AO 0 for any value below about 250 and it saturates (??) at 13,6 V at about 300.  For AO 1 it starts around 300 etc ... .
 
So does anyone know what value (and what type) corresponds to what power (or current) output ? 
 
Thanks !
 
Jan
0 Kudos
Message 1 of 13
(7,130 Views)

Hey,

NI-9265 is an Current AO Modul, it Outputs 0-20mA.

 

Christian

0 Kudos
Message 2 of 13
(7,113 Views)

Yeah ok, I knew that ...  But still, what is the scaling (control value) then of the current output ?  The operation manual sais to 'refer to the software manual'.  There is also an example in the help files, but it uses calibration data which I don't think a 9265 furnishes.

Jan

0 Kudos
Message 3 of 13
(7,105 Views)
Hi Jan,

If you are using the 9265 as a NI cRIO module then you have to keep in mind that you are using the FPGA to control the outputs/inputs.
This FPGA can't handle floating point numbers. So that's why no need to send a binary number within a certain range that will give you
a certain number. If you use labview there is an example for the 9265 that handles this convertion. Just use help-> NI Example Finder
and search on 9265 (you normally find one hit: "NI 9265 Getting Started.lvproj"

Also this tekst will help you understand:

The Field Point and FPGA controller cannot handle floating point numbers and hence use integer numbers to represent the intensity of the input/output signals. This representation of the intensity of signals is relative to the module's set range.

To get the input value in terms of actual units we use the formula below.

Input voltage value = (Range of the module in volts/ 2 ^ module bit resolution) * (Integer number read from the controller)

Example: Say a FieldPoint input module has 16 bit resolution and voltage range of -80 mV to +80 mV. Let the integer number read in be 38342 and now using the formula above:

Input voltage value = (160 mV / 2 ^ 16) * (38342) = 93.61 mV above the lowest range value => -80mV + 93.61mV => 13.61 mV


Similarly, trying to output a voltage value entails wrting an integer number to the controllers which sets the intensity of the output signal. The formula used to calculate the number to write, given a voltage value is below:

Number to write to the controller = (Desired voltage output above the lowest range value / Range of the module in volts) * (2 ^ module bit resolution)

Example: Say a FieldPoint Output module has 16 bit resolution, voltage range of -80mV to +80mV and the desired output voltage is +25mV. Using the formula above:
The lowest range value is -80mV and hence to output a +25mv, the 'Desired voltage output above the lowest range value' = 80 + 25 = 105mV

Number to write to the controller = (105mV / 160mV) * (2^16) = 43008

If you are not using the module together with a FPGA, just let me know. But I think this is your problem. Keep me informed if you have been able to solve your problem.
Kind Regards,

Joris Donders
National Instruments
EMEIA GTM Lead for Semiconductor
www.ni.com/semiconductor
0 Kudos
Message 4 of 13
(7,086 Views)
Joris,
 
I added my vi's here.  The top one is under the cRio and the bottom one under FPGA. 
 
PS : I have the same 'problem' with my ni9203 AI, but I guess it will have a similar solution.
 
Jan


Message Edited by Jan145 on 01-21-2008 07:44 AM
0 Kudos
Message 5 of 13
(7,065 Views)
Hi Jan,

I will continue in English but if you prefer Dutch, just let me know.

After taking a look at the .doc it seems indeed that your FPGA.vi is very simpel and correct.
The formula that you use in the RIO vi however seems to be wrong.
Try using Out: = (In / 20) * (2^16)
Because your module has a 0-20mA range.

The example I talked about earlier should also work just fine. Don't worry about
the calibration stuff. Those are just extra's which you could use or leave them as they are.
You could also delete all of this but then the recalculation from nominal to binary could be messed up.

Just try the formula above and let me know how it went.
Kind Regards,

Joris Donders
National Instruments
EMEIA GTM Lead for Semiconductor
www.ni.com/semiconductor
0 Kudos
Message 6 of 13
(7,054 Views)
Jan,
 
Take a look at the 9265 shipping example.  It will show you the proper way to calibrate the Data using the Binary to Nominal and Nominal to Binary VIs with CompactRIO modules.
 
Regards,
 
Steve
0 Kudos
Message 7 of 13
(7,052 Views)

I tried the example in the helpfile, but it always gives me the error 65543, which means that the sypply voltage level is out of range.  So I measured it with a multimeter but it's a nice and steady 24V and the range is 9-30V.  I tried a 15V adaptor, but I get the same error, even with all the controllers at 0.  The error comes from the "FPGA Error Out" from the FPGA Read/write and not from the "normal" error out of this component.

This is strange for me as a never encountered this error before (I guess because it doesn't show up in the "normal" error out) and never had any other problems in using the cRio.

So so far for the shipped example 😞

Jan

0 Kudos
Message 8 of 13
(7,035 Views)
Hi Jan,

That's strange normally the examples should work fine, but what about changing the formula you had in your vi. Try changing it to
Out = ((IN) / 20) * (2^16)
Kind Regards,

Joris Donders
National Instruments
EMEIA GTM Lead for Semiconductor
www.ni.com/semiconductor
0 Kudos
Message 9 of 13
(7,028 Views)
Jan,
 
You could also just use the Nominal to Binary VI with your current code which is what is used in the exmaples.  Its located here:
 
C:\Program Files\National Instruments\LabVIEW 8.5\examples\CompactRIO\Shared
 
Also, the examples have FPGA error handling enabled on the IO nodes of the modules which is disabled by default.  Your code most likely is getting the same error but is not reporting it.
 
Regards,
 
Bassett
0 Kudos
Message 10 of 13
(7,021 Views)