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

Watch the communication bewtween CRio FPGA and host computer

$
0
0

Hello!

 I'm developing an application using Labview 2018 with a cRio as target. Sorry if my question is quiet trivial, I'm a beginner. 

 

 A part of the job is done directly in the FPGA. But if the communication between the FPGA and the host computer is lost, the FPGA will continue to do it's job which is not suitable in my case.

 

 My question: is there a possibility ( a function bloc)  to watch the communication between the host computer and the FPGA and to then to generate an error handle, i.e:

  • if communication lost then do this and this
  • if communication is back do this and this

 In advance thank you for your help.


Channel wires broken when updating from 2018 to 2019

$
0
0

I am stuck trying to upgrade to LV 2019 regarding channel wires. At this point, I almost thought I fixed it but end up crashing LV constantly. I will explain the issues I have had and what I have tried to do to work around them. It would be interesting to know if others have similar issues or ideas how to fix it.

 

I just installed LV2019 and rebooted PC. "Wohoo, LV 2019 is out, YES! (I thought...)". But when loading my project with about 20 channel wires of different types, many of them were broken and some VIs which contains them showed "failed to compile".

 

Some channel wire VIs were also broken (Messenger-...Wrap and Unwrap). These have a class as message type.

I tried restarting LabVIEW and loading smaller parts of the code but the issue remained.

 

I searched and found that one trick was to delete the \ExtraVILib\ChannelInstances folder. I did, but the result was the same. I also see now (not sure if it was from the start) that a few endpoints are missing and replaced with the question-mark VI symbol. Another trick would have been to copy the \ExtraVILib\ChannelInstances folder from LV2018 and recompile, but I'm not sure that is such a good idea so I didn't do it.

 

I tried recreating the channel writers and readers, but some data types (e.g. a simple error cluster) just creates a channel endpoint of numeric type (default template?). It creates Stream and Tag correctly but not Messenger.

 

So I tried restarting LabVIEW to just create a VI to recreate the error cluster endpoint. When LabVIEW unloads the VIs, a dialog shows "compiling" on a number of files (happens every time now). After the fresh restart, I could create an error cluster Message writer. But I also have to recreate the Channel indicator as the types don't match. And when I restart LabVIEW and reload the project, the error cluster writer is broken again. So I deleted \ExtraVILib\ChannelInstances again with the intention to one by one recreate the faulty channel endpoints.

 

(An observation when at this point open a VI with nothing but a typeDef in it is that the dialog that displays that a channel wire is being created for first use displays. The class that the VI is in has a channel wire though, so I guess that is why.)

 

If I load the project and remove the question-mark VIs and try to recreate the missing channel endpoint, LabVIEW shows a message "LabVIEW could not create the requested channel endpoint. Template: Messenger, Error code: 1051". Another time it showed the same message but error 43!

 

At this point when I shut down LabVIEW I get an crash report (attached). It is full of Channel wire errors. Opening and closing the project without messing with the channel wires works with no crash report (although the recompile dialog is still there).

 

I guessed I had to gather the channel data types to manually recreate and start a simple VI and recreate them from there. I did a few and got tired, since I had to make sure not to load anything that would load the incorrect channel wires at which time I would get the dialog that LabVIEW cannot recreate the endpoint. So I ended up reinstalling LabVIEW and rebooted between un-/install and after.

 

After restart, I opened the code part by part. The channel wire with the error cluster worked. The second searches for <extravilib:\ChannelInstances\Messenger-class'Messages.lvlib-Messages'\Element.ctl> and then pops "LabVIEW: (Hex 0x4A) Memory or data structure corrupt. The file 'Element.ctl' could not be loaded". And If I try to recreate a channel from a typedef I get error 1051 again.

 

I ended up removing all channel endpoints that were broken, deleted the\ExtraVILib\ChannelInstances folder, deleted all controls and indicators connected to endpoints, and recreated that code step by step. I finished a very small VI with only two channels. But when I "save all" it crashed. If I create a new project and add the class the VI is in, LV crashes too. The class is pretty small, error free, resaved in LV2019. I tried mass compiling: crash. I tried forced recompile: crash.

 

Any ideas?

 

broken wire

$
0
0

hello everyone

 i am beginner in Labview and i am trying to connect this two vi  , but to no avail

Anyone have any idea how to solve this problem i will be so grateful Heart

sad.png

NI_Word.lvclass problem

$
0
0

Dear all,

 

i want to create after measurement a word report with a template. I am working with Labview2017.

With the developing version this is working fine.

But after i built a executable version of it, it was not working anymore. 

image.png

I looked why the error is appearing and solution is to put the NI_Word.lvclass to always included.

But i still get this error.

 

image.png

The beginning of my vi is looking like that and i don't use other vi besides the Save Report to File VI at the end.

 

image.png

 

 

Can someone please help me?

 

Best regards

Build exe doesn't work with RunTime 2011

$
0
0

Hello,

 

I'm trying to use humidity/temperature sensor of Rotronic with Lab View 2011. I got the example from the official page of Rotronic (It just have a dependency, a .dll included in the project, but I have copies of the .dll in other folders of the computer that can not be removed).

When I executed the application in my development computer no problem occurs. After that I generated the .exe file and it still running well. When I tried the .exe in my setup computer the following message appeared: "This VI is not executable. The full development version of Lab View is required to fix the errors". I debug the executable remotely and the run-arrow is broken, no broken wires or warnings appear.

It not happens when I generate the executable with Lab View 2017 in another development computer and ran the exe in the same setup computer. 

I have both run-time (2011/2017) installed in the setup and it works properly with other applications. I think that something is wrong to the dll's path, but I checked and all seems correct.

 

Some photos are attached to clarify. Ro3xdrv.dll is stored in the "data" folder 

 

Thanks in advanced! 

Acrobat SaveAs

$
0
0

Hi All,

 

I'm trying to convert PDF files to MS Word so that I can easily add a Table of Contents, headers/footers, etc.  This is part of a packet creation tool that I'm developing that collect various types of files, converts them to PDF and merges them into a single PDF.  Currently I have everything working.  The tool can convert any of our file types to PDF and merge them.  I am even able to add bookmarks in the PDF via creating Word files with headings and exporting those to PDF.  That sort of serves as a TOC.  But I can't quite figure out how to add headers, footers, page numbers and TOC to the final merged PDF.  If I could get all of my files into MS Word format first, it has the ability to do all this.  The problem that I'm having is with files that are already in PDF format.  If I use the MS Word API to convert them to Word, it reformats and moves things around.

 

So I found that if I use the SaveAs function in full Adobe Acrobat, it can convert the PDF files to Word and preserve all the formatting.  But the Acrobat API is a lot harder to use than MS Office.  I found some code that can supposedly be used to do this, but it is very confusing trying to convert it to LabVIEW and I'm not even sure you can. 

Here is the code and the VI is attached...

 

AcroPDDoc pdfd = new AcroPDDoc();
 pdfd.Open(sourceDoc.FileFullPath);
 Object jsObj = pdfd.GetJSObject();
 Type jsType = pdfd.GetType();
 //have to use acrobat javascript api because, acrobat
 object[] saveAsParam = { "newFile.doc", "com.adobe.acrobat.doc", "", false, false };
 jsType.InvokeMember("saveAs",BindingFlags.InvokeMethod | BindingFlags.Public | BindingFlags.Instance,null, jsObj, saveAsParam, CultureInfo.InvariantCulture);

 

It wouldn't let me add a constructor for the Binder method, so the only way I could get Run to light up was with a feedback node... not sure exactly how noobish that was... but I'm guessing it was.

 

I may be completely in noob land here... but I kept finding stuff that matched what some of the documentation online was describing and it made me feel like I might be on the right path.  At a certain point I had to give up though.

 

I am open to suggestions for other methods of getting page numbers, headers/footers and working hyperlinks into a merged PDF of PDF files.  Bookmarks work, but hyperlinks to bookmarks only seem to work within the sections of the individual PDFs.  It's almost like the PDFs within the merged one are still treated as individuals and hyperlinks between them won't work. 

 

I'm currently using some DLLs called Expert PDF Merge and HTML to PDF to create PDFs.  I just don't have many options for editing files that already are PDF.

 

 

 

 

 

Tektronix and Labview Communication

$
0
0

Good morning I am using the keithley equipment 2182a of Tektronix and when communicating with Labview through the serial port, it presents the following error Fig.1 we thank you help us find a solution since sometimes the program takes the measurement data.

RTD/Flow sensor on same cable going to DAQ

$
0
0

I have a SIKA VVX20 Flow meter/RTD I need to gather data from. Here is the data sheet for reference:https://www.sika.net/en/services/downloads/send/270-vortex-durchflusssensoren-vortex-flow-sensors/1829-vortex-durchflusssensoren-vortex-flow-sensors-vvx.html page 36 is where the electrical stuff starts. 

 

I have it hooked up using a M12x1 cable to my DAQ (NI-9219) and was able to successfully get RTD data using the DAQ assistant. The flow meter works with counting pulses from the difference in pressure for water, so it's a digital read out. The digital DAQ I have is different (NI-9402). How can I set this sensor up so I can get RTD and flow data? 

 

I noticed the sensor outputs voltage and current as well, and when I check those channels and blow through the sensor I don't get any reading. I would prefer to use the counter if possible. Thanks for the help


Passing initial values via shift register into an event structure

$
0
0

Hi everyone

 

I am writing a VI with arrays of controls in a number of tab control panels.  Default values for these arrays will be read from a configuration file.  I am using event structures to execute some code when I click on controls.  I want my VI to (a) pass the values from the configuration file into the various controls and indicators and (b) let me then edit the values using the controls.

 

I've been having difficulty getting it to work as intended so I have created a very simple VI to test my code structure.

Tab test panel.JPG

What is meant to happen is:

  • When the code starts, the value from "Initial value 1" is passed into "Control 1" and "Indicator 1".
  • When I click to change the value of Control 1, Indicator 1 should show the state of Control 1 (so they should both look the same at all times).  n.b. Control 1 is set with Mechanical Action as "Switch when pressed".

The block diagram is as follows.  A while loop keeps the code running continuously.  When first executed, a timeout value of 0 is passed to the event structure so the TimeOut case runs.   If Page 1 is active, the code passes the initial value into Control 1 and Indicator 1 (this works).

Tab test (tab 1) diagram.JPG

The shift register then changes the TimeOut to -1 so the event handler does not time out.

A "Stop" case passes True to the while loop test condition (This bit works too).

 

If the VI started with Page 2 active, clicking on the page 1 tab should pass "Initial value 1" into Control 1.  This does not work at the first attempt - one has to click on Page 1, Page 2, then Page 1 again before the value updates.

 

With Page 1 active, clicking on Control 1 should toggle its value, with Indicator 1 following suit.  This does not work as expected - instead, I need to click twice on Control 1 to make it change. It takes 4 clicks on Control 1 to run through a complete cycle of outputs, like this:

State 1.JPGState 2.JPGState 3.JPGState 4.JPG

I cannot see why it does this.

 

Interestingly, the Page 2 code has one wire deleted from the diagram (below) and works perfectly except that it does not pass Initial Value 2 into Control 2.

 

Tab test (tab 2) diagram.JPG

 

 

Help!

Thanks...

Roger

 

 

 

Wire value changes on output tunnel

$
0
0

Hello All,

I have a small VI in which I output a value from an 'In Place Element Structure' through a tunnel. When running the VI, the wire within the structure has another value than outside of the structure.

I see this happen in LabVIEW 2015 (3 different LabVIEW installations) and in LabVIEW 2018.

ScreenShot_ArraySplit_ReplaceSubArray.jpg

Can others confirm what I see?

I would say this is a bug. Is it a known bug? I have not found anything in the known issue list.

If I change the code a bit, e.g. move 'Index Array' out of the structure, I get the correct value in the indicator.

Multiple Identical Ring Enumerators to be pulled from array, matrix, or cluster

$
0
0

Hello,

I am hoping to be able to create multiple identical ring enumerators ( or text enumerators) which can be used as a control for a variable number of inputs.  In this example, I would like to produce four ring enumerators (ranging from 1 Mhz to 100 Hz and Auto) that can individually be pulled out of the array and then controlled.

 

It is apparent from my example, that creating the area and then pulling elements out of it loses the ring-enumerator data.

 

There is something obvious about the ring enumerator I am not understanding.

 

I us this same architecture for variables, visa addresses, etc., but I understand Ring enumerator is more complex.  Any advice of what type of architecture to use instead would be appreciated.

 

Thank you.

Error

$
0
0

What is this telling me?

 

"Missing subVI NI_AALBase.lvlib:Ramp Pattern by Samples.vi in VI SensorDataAnalysis_ForExe.vi. Missing subVI ReadZero_2.vi in VI SensorDataAnalysis_ForExe.vi. Missing external function lvanlys.dll:RampPtrn85:C in VI SensorDataAnalysis_ForExe.vi."

 

I have the correct Lab View Run Time Patch installed according to the author.

 

Thanks!

mm

LabView error 200279 and not writing to excel sheet.

$
0
0

Hello NI Community,

 

I am building a VI to measure Torque with a strain gage. I am have a re-occurring error message of 200279. I have been increasing the buffer size, adding a wait (ms) icon to the circuit, played around with numbers for my number of samples per DAQ read and the number DAQ reads per second, as well as using loop benchmark techniques to determine actual read time. When I try to push to record my data to write to an excel sheet, this error pops up a few moments after trying to collect this data. My graph stops moving as soon as I push to record to an excel sheet. I am using a NI 9237. 

Passing Data to Python and Receiving Back Outcome from Python in Real Time

$
0
0

Hello, 

 

I am trying to pass three data points from instruments in LabVIEW within a while loop to a Python script which will compute one output, and pass that output back to LabVIEW in real time. Since it is in a loop, I need this to be as efficient as possible. 

 

I have seen a lot about LabPython, but it seems this is not being maintained for newer versions of Python. I also have seen some recommendations of passing the data out of LabVIEW to a .csv file, reading the data into the Python script from the .csv file, calling the Python script in LabVIEW, writing the output from Python to another .csv file, and then reading this output from the .csv file back into LabVIEW. This method seems very complicated and inefficient. 

 

I have tried using the Python node in LabVIEW, and have it wired to accept the three channel inputs and spit out a single output, but cannot find any resources on how to handle the data on the Python side. The current Python script I'm using is set up to read data in from an input.csv and output to an output.csv for post-processing of data, but this isn't useful to me. 

 

Thanks for the help in advance!

Preserving Refnum Type

$
0
0

I often need to enable or disable controls conditionally so I created a VI to do just that. My problem is that the type of the control refnum is lost this way. Is there some way to preserve the type?

Enable or Disable Control.png


Not able to choose PXIe_clk100 on chassis devices

$
0
0

Hi,

 

I can't see the PXIe_clk100 in any of the devices on my PXIe-1095 chassis.  I have a timing module PXIe-6674T that I am able to sync to PXIe_clk100, but none of the other devices appear to share the 80ppb accuracy.  I attached a couple of pictures that show what I mean.  The one shows that advanced timing is greyed out if I try to create a task.  The other shows that PXIe_clk100 isn't an option if I try to use a property node like they do in this example. http://www.ni.com/product-documentation/11369/en/

 

This isn't specific to my DAQ card, I can't select PXIe_clk100 for my oscilloscope either.

 

Thanks.

Redraw 2d Picture without flashing

$
0
0

I use a 2D picture indicator to display a large grid of rectangles representing state in a grid of wells that my machine is working with. I would like to be able to update it rapidly as the state of any particular well changes, but it appears that the only refresh mode LabVIEW supports is to redraw the whole picture. And it seems to insist on drawing the background white, first. That means that a rapid series of updates results in a rapid series of flashes on the screen and very inefficient redrawing. Unusable. If

Is there a way to do better? Is there a way to get the LabVIEW picture to draw over its former state without drawing the background first? Is there a way to update only a part of the picture, physically?

キュー 要素データタイプについて

$
0
0
Moved to Japanese board like your other posts

xilinx dds compiler v6.0

$
0
0

I am using labview fpga to generate sin and cos signal. When I use xilinx ip core dds compiler v6.0, and choose the output is sin and cos, these two signal are combied into a 32-bit data, how can I seperate this data into two 16-bit signals in labview fpga module?

Error i/o buffer is not supported

$
0
0

Hi

i have a DC electronic load from bk precision having all programming interface.i have chosen rs232 interface and connected through rs232 available on NI CRIO 9045 for programming.they have  given library to initialize device.when i am running that library its throwing some error.please go through error and attached vi snap. how to resolve the error?Is dere any driver?

Viewing all 66749 articles
Browse latest View live