Quantcast
Channel: LabVIEW topics
Viewing all 69758 articles
Browse latest View live

Discontinuous Data Acquisition and data mismatch between each iteration loop in Host Vi with FPGA

$
0
0

Hello guys,

Currently, I am using cRio-9066 with three NI-9220 modules for AI data acquisition.

To transfer the data from FPGA to Host Vi, I am using FIFO.

When I check the loop-time (25usec), it was checked as I set.

However, when I check the data, the data is jumping and discontinuous, when I compared last data of the first iteration with the first data of the next iteration. 

For my application, instantaneous data is very important. This kind of data mismatch between each iteration is not acceptable.

I am still stuck here to get continuous data and to match the data between the iteration.

Can you check my snap shot of the FPGA and host Vi ?

Thank you for your help in advance.

 

 

 


KollMorgen AKD controlled by cRIO: get position

$
0
0

Dear all,

 

My current project needs to control a KollMorgen AKD by EtherCAT, from a NI cRIO and LabVIEW. This AKD is a motor controller, used with a motor including an absolute encoder. The motor is connected to a gearbox and a linear actuator, so I can easily measure the position value (physically). AKD parameters are visible in a third party software called Kollmorgen Workbench. AKD is natively compatible with LabVIEW.

 

I created a project and added EtherCAT device, using "Getting started with AKD EtherCAT and SoftMotion" pdf, available on:

http://www.ni.com/pdf/manuals/375592f.pdf

 

I didn't get any trouble with my LabVIEW application. I was able to control the speed of my motor and get a position value.

BUT

I realized that the position was not the right value (physically, and compared to Workbench-after scaling). The biggest problem was the position value after restarting (power up) all the materials (cRIO, AKD...). The value was not the same as before shutting down.

 

I spoke with KollMorgen distributor service and saw with him that the configuration was right (using Workbench). There's a parameter (called FB1.EXTENDEDMULTITURN) to save values when we shut down, that is enabled. Furthermore, we saw that cRIO changes some AKD parameters at cRIO start up (like Units…). We worked on these problems (and others), and I really think AKD configuration is now OK. The problem remains, and should come from EtherCAT communication, or from LabVIEW.

 

After trying many solutions to solve the problem, I read this manual.

https://www.kollmorgen.com/sites/default/files/public_downloads/AKD%20EtherCat%20Communications%20Manual%20EN%20%28REV%20R%29.pdf

 

In my LabVIEW project explorer, under my EtherCAT device, I have some variables that I can use. So I tried to get a position value from variable called  "Internal Position Value" (adress 6063h). I saw that this value was the same that I can get with an Invoke Node connected to my related Axis (scaled with a 2^20 factor).

 

Now, I would like to get "Actual Position Value" (called PL.FB in Workbench, adress 6064h) that is not actually available in the projet explorer. This parameter shows the right value in Workbench (compared to my measure on the linear actuator), so I want to get it in LabVIEW. To do so, I tried to modify the xml file

C:\Program Files (x86)\National Instruments\LabVIEW 2018\resource\Framework\Providers\indcomecat\DD\AKD14.xml

using this article

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019LesSAE

but I failed… Each trial created an error on AKD.

 

Trying to get 6064h parameter is the solution I want to try for the moment. Could you help me modifying the xml file, please ?

 

Thanks in advance,

Julien

 

 

 

 

Labviewでy=0と交差した時間

NET Constructor- no methods shown

$
0
0

I'm working with a C# developer. They have made a C# dll and have the LabVIEW constructor and invoke nodes working with that dll.

 

When I copy the dll to my computer, I can point the constructor at the DLL ok, but the invoke node claims there are no methods.

 

My question is: If a .NET dll is missing dependencies, will that stop LabVIEW invoke node from finding a list of methods? (my assumption would be that it would find them ok, but fail to run)

Bit loss in QAM demodulation

$
0
0

Hi,

 

I am facing trouble while demodulation the QAM wave. Initially i am transmitting 1024 bits but after using MT Demodulate QAM.vi, i am getting only 59 bits.

I have attached .vi file. Let me know where is the problem.

 

Smart solution for index variables from array in a human legible way?

$
0
0

Hello everyone,

 

I have a project where I have many variables arranged in arrays. Every array is in the order of 100 variables. Sometimes I have to do the same processing or calculation to all the variables, so in this case is easy. But other times I have to select only some variables (1, 2, 4, 15...) to do some concrete operations, or to do different operations depending on the index. I can't find a way to index this variables in a clear and clean way.

 

I started thinking about using multicolumn listboxes. I have a typedef listbox for each array type (3) with the name and other info of each variable inside the array, and every time I have to index some variables I deploy the right typedef listbox on the vi front panel and select the variables I want from the list. Then I index the array with the indexes returned by the listbox (with the index 1D array Elements OpenG VI). But this way the front panel and the diagram are messy and not clear.

 

I thinked also to replace the typedef lisboxes by typedef enums, and use them to index the array. This way the front panel and the diagram are cleaner, but I miss the extra information of the multicolumn listbox and will be more cumbersome to index a big amount of variables.

 

I don't want to implement a bad solution. What I want is to avoid to index the array with numbers but do it in a more human legible way. And do it with clean and flexible (increase and modify the variables) code. There is any other solution that can be adopted to this kind of situations.

 

Best regards and thanks for your time,

 

 

EMCCi

LabVIEW 2018 SP1 f2 Crashes when changing constant units to blank

$
0
0

When changing a constant's unit string to blank, LabVIEW 2018 SP1 f2 crashes. This is repeatable for me with the attached VI. It does not happen with a control/indicator (so I can use that as a workaround).

--Edit--

This is LabVIEW 32bit, Windows 10 64bit

Running Min and Max

$
0
0

Hi All,

I am trying to display a "running min and max" number from 100 randomly generated numbers between 0 to 1. My VI will display the min and max at the end of the 100 iterations, but I cant figure out how to get it to display min and max while running.

 

Any help is appreciated, my VI is attached.

Thanks!


More significant figures into excel

$
0
0

When i right click on waveform chart,export to excel it only displays 2 sig figs, is there a way to increase this 

Thanks

Ben

Dynamically calling a VI containing vision functions from executables

$
0
0

Hello Forum,

 

I have a main VI which dynamically calls a sub VI which has IMAQdx functions as well as Vision Modules.

 

I can call the sub VI fine in LabVIEW Development System, but I get error 1003 when calling from an executable. After some debugging, I found out that the sub VI was unable to locate any of the vision function when running from an executable.

 

I've looked into multiple forms and KBs and still can't seem to find a proper solution.  I've put the sub VI in the "Always Include" section to no avail.  

 

One workaround I found was to include the sub VI in the start-up, but that defeats the purpose of trying to dynamically call a sub VI.  I am hoping to allow the end-user to customize the sub VI a bit, and save it to be called dynamically from the same executable. 

 

Another workaround was to include the sub VI in the same folder as the Vision module folder, but am hoping for a more clean solution.

 

Any input would be appreciated.

 

Best,

Chase

Basler camera USB 3.0 connected to an USB 2.0

$
0
0

Hi to everyone.

 

I would like to connect a basler camera which his interface is USB 3.0 in a USB 2.0.

 

Will NI MAX detect the camera?

 

There is any problem to conect the camera USB 3.0 to an USB 2.0?

 

Thanks a lot.

How to Read magnetic sensor data via I2C

$
0
0

Hello All,

 

I hope you are doing fine.

 

In my previous post, I asked about how to receive data from a magnetic sensor via I2C in LabVIEW, which was resolved thanks to the member of this discussion group.

As am currently new to LabView software, I will be requiring some of the support from this group to help me how can I connect two sensors to Myrio.

I was able to connect these sensors (TLV-493D) via I2C in Arduino and also received data but somehow having a problem in LabView. 

According to the sensor user, manual page 22 manual attached. When 1 sensor is on with the master board (Arduino/Myrio) its address becomes 0x5E and when other is turned on after 200 micro sec its address automatically changes to 0X1F. (https://www.infineon.com/dgdl/Infineon-TLV493D-A1B6_3DMagnetic-UM-v01_03-EN.pdf?fileId=5546d46261d5e6820161e75721903ddd).

I have also attached the snapshot of my VI.

Thanks,

Moid Khan

 

 

Synchronisation of 2 USB-6259

$
0
0

Hello all,

i am trying to synchronize 2 USB-6259 Devices, one measures the AI-Current and anther is AI-Voltage. I think, i can not route the Start-Trigger via RSTI. Is it right? So i wanna use PFI0 of the first device to start my second device.

Now i receive a Error-89125. It said, PFIO can not be found. 

Should i use a wire to connect these two devices?

Can you help me? Smiley Happy

Thanks for your help.

Waveform resample losing the last sample

$
0
0

When using the Waveform Resample vi, I see the last sample is dropped when the X time value is <= the calculated dt value (Even if it is close to the calculated dt value).  Is there any way to avoid this?  My time data does have some jitter in it, which is why I'm resampling in the first place.

 

I've attached an example showing the effect... Just run it a few times and you should see the last sample being dropped.

 

Thanks,

 

XL600

 

 

Limiting plot by timestamp from a SQL DB using POST method - LV 2016 & NXG 3.0

$
0
0

Hello guys,

I am trying to update a chart limiting by timestamp. I am sending a SQL string from my webvi to my webserver.

The string is correct, i tested isolated, but when I sent from my webvi to my webser I get the following errors.

 

history_post-vi.jpgerror_nxg.jpgI also attached my vis to help finding any solution  


Image display: origin of brightness changes?

$
0
0

Hi community!


I encountered a strange problem (at least from my perspective).
I want to reduce the flicker in my camera images by computing the average pixel values and subtracting them from the respective images. This works fine as long as I handle the images as 2d (SGL) arrays and display them in an intensity graph (auto Z-scale option disabled).

However, as soon as I convert the “brightness stabilizes” 2d arrays and display them in an image display I get constant changes in the displayed image brightness. As far as I know, there is however, no auto-contrast/brightness adjustment in the image display.

 

Can anybody tell me the rookie mistake I made?

 

Many thanks!

Scale charts in arrays of clusters independently

$
0
0

When having an array of clusters, with a chart in each cluster, I never succeeded to control the x and y-scale of each such chart.

When setting the y-axis of any chart in the array to autoscale, all charts scale identically, suggesting that LabVIEW does not expose the x-axis and y-axis of each arrayelement so I can't control it.

Would be extremely grateful if anyone knows a solution.

I have attached an example of such array.

Scaling of charts in arrays of clusters

$
0
0

When having an array of clusters, with a chart in each cluster, I never succeeded to control the x and y-scale of each such chart.

When setting the y-axis of any chart in the array to autoscale, all charts scale identically, suggesting that LabVIEW does not expose the x-axis and y-axis of each arrayelement so I can't control it.

Would be extremely grateful if anyone knows a solution.

I have attached an example of such array.

Apologies for this repeat, I posted this twice under a slightly different name and I cannot delete the other message.

 

mentions the same issue, and again suggests individual scaling cannot be done. Quite disappointing. 

Assinging in the middle of a Concatenate String

$
0
0

Hi, I'm trying to learn LabView and doing some silly programs to practice, I created a program that generate a list, as shown on the pictures, although, I want to add an space after Number:

 

There is any way to add the space on the 3 small square, without the need of adding an extra block on my concatenated string and drop the wires connecting to it one by one?   Some way to do this automatically at a specified starting point ?

 

Edit: I added the program.vi file in here

NI VISA

$
0
0

Estoy realizando mediciones con un equipo Picotest M 3500 y luego de una serie de iteraciones y mediciones correctas(no es un valor constante, varia entre 20 y 180 iteraciones) el programa queda en un ciclo infinito dentro del while que tiene los bloques NI- VISA y  me arroja un error -1073807305 que ocurre en el bloque VISA read.

Viewing all 69758 articles
Browse latest View live


Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>