LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Issues regarding Output Configuration of Boolean Array To Number

Solved!
Go to solution

Hi,

 

I am want to transfer data from FPGA target to host using DMA FIFO. The datatype of DMA FIFO is set to U32. I have been following the steps given on this page (https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000P8wdSAC&l=sv-SE&OpenDocument=) while performing this task. On the FPGA side, the analog voltage is acquired using NI-9229 module. 'Loop Time 1' and 'Loop Time 2' can be integer values. I am taking them to be equal to 20 and 200000, respectively. 

 

I am encountering an issue in Output Configuration Properties of the 'Boolean Array to Number' on the Host side. As shown below, I am not getting an option to change the representation to fixed-point and fill in the Fixed-Point Configuration according to the properties of the fixed point data type on the FPGA.

 

okidoki21_0-1725230247149.png

Is there something wrong with my code?

 

Kind Regards

 

Download All
0 Kudos
Message 1 of 5
(310 Views)

You are missing while loops on both FPGA and host VI. Hence your program will not run continuously.

 

I would recommend you refer to shipping examples. Go to Help >> Find Examples >> Hardware Input and Output >> CompactRIO >> Module Specific IO >> Analog Input >> NI 9229 Getting Started

-------------------------------------------------------
Control Lead | Intelline Inc
0 Kudos
Message 2 of 5
(277 Views)

Hi okidoki,

 


@okidoki21 wrote:

Is there something wrong with my code?


Yes.

  • Why do you need to convert to a boolean array in the first place?
  • Why not convert the U32 to FXP using the ToFXP function?
  • Why don't you use FXP for the FIFO datatype?
  • Why do you need to convert your FXP readings to boolean array to U32 in the FPGA?
  • What is the FXP configuration in the FPGA? (You also missed to attach your project file so we don't know all the target-specific settings!)
Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 3 of 5
(262 Views)

Hi,

 

Thank you for the reply.

 

I can define the FIFO with FXP datatype (word length of 24 bits and integer word length of 7 bits), so as to match the datatype of NI 9229 module. However, I also want to transfer the loop time (value upto 20000) using the same DMA FIFO. Loop time changes with the iterations, that is why I want to save it along with the acquired signals using NI 9229.

 

I am struggling to find a optimal solution to do so. So, as per guidelines here, I was trying to convert all the FXP datatype to U32 before inputing it into DMA FIFO 'Debug' with datatype defined as U32. On the host side, I then want to convert the U32 data back to FXP datatype.

 

Kind Regards

0 Kudos
Message 4 of 5
(238 Views)
Solution
Accepted by okidoki21

Hi okidoki,

 


@okidoki21 wrote:

I can define the FIFO with FXP datatype (word length of 24 bits and integer word length of 7 bits), so as to match the datatype of NI 9229 module. However, I also want to transfer the loop time (value upto 20000) using the same DMA FIFO. Loop time changes with the iterations, that is why I want to save it along with the acquired signals using NI 9229.


You could scale down the integer values (upto 20000) by 512 to fit into the range of your FXP data…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 5 of 5
(235 Views)