How to easily control multiple controls in labview
How can I easily control multiple controls with a single write to in Labview? For instance, I need to update 50 different boolean indicators. When I update them one at a time I use a cntrl refrence in my event structure, but outside of an event structure how can I easily cycle through them and update without making 50 local variables if I need to do them all at once?
Why don't you use an array of boolean indicators?
Have a look at the example attached <a href="http://forums.ni.com/ni/board/message?board.id=170&view=by_date_ascending&message.id=204328#M204328" target="_blank">here</a>, which can also be applied to this. You should usually avoid updating the value of a control from more than one place, though (unless it's something like initialization, where you can guarantee not having race conditions).
Other alternatives: using an array of booleans or using the picture control to create the image.
The way i use these booleans in my UI, I had to make them separate so I could arrange them in a user friendly way. And yes this is just for initialization so they won't be getting updated in two places at once.
...How do you control seperate motors with Labview through a remote control?
Forgive me if I am not typing the question correctly, or if it is a stupid question. I am only fourteen and only started learning about Labview.. I would appreciate all help possible. Thanks
What type of motors are you trying to control? How do you have them/plan to have them connected to your computer? When you say you want to control remotely, do you mean that you don't want them connected to a computer or that you want to communicate remotely through your computer (no cables)? The more information you can give the better help you will receive. Cheers
It would also be helpful to know what version of LabVIEW you are using. It's impressive that your starting to learn LabVIEW at such a young age, it will be challenging but worth it!
Well first off, thanks for asking questions to my questions, it helps me too :) The kind of motors I am trying to control are IFI Robotics Multi-Speed Motor Connect to PWM or RLY port (12 volt).. I am trying to remotely control it wirelessly, through an IFI Robotics Isaac16 EDU Robot Controller with 900MHz Short Range Radio Modem. Hope this Helps..
Oh yeah, and the version of LabView I am using is 8.5
It looks like your controller is designed to be programmed in BASIC. What you will need to do in order to control it with LabVIEW is figure out what the function calls are that will be required to activate your PMW signals etc.&a...How to find a class name of control if control type is "type def"?
LV 8.5.1 + DSC
My aim is generate list of all control and indicator class names of certain VI. For example there are three indicators: test_1(boolean), test_2 (numeric) and test_3 (own_type.ctl) when I analyze this vi the print should be followed:
It is easy to find Boolean and Numeric class names by using property node and property "class name". How I can find recognize type def "class" and find the name of type defination?
Just like you did with the VI, open up a reference to the cluster. And parse it in the same routine. Ton
...Reading controller data into LabVIEW through serial connections to controllers?
I'd like to read data from environmental chamber controllers (System Plus) into LabVIEW through RS232 connections. Has anyone done something similar? I see interfacing with the serial controllers as the biggest obstacle and although not directly related to LabVIEW programming, I'm hoping someone here can give me some advice or resources on how best to do so now days. My first thought is to write a program with VB or C++ to act as a terminal and write the data to a text file for LabVIEW to poll. Aside from using Telix decades ago to work with BBSes, my only other serial experience consists of interfacing with a Kiethly multimeter using a C++ program. I would rather not use multiple PCs but I have never worked with more than one serial port on a computer before in the past. Perhaps LabVIEW itself already provides for multiple serial card communications (wouldn't that be perfect)? Any info would be great. Regards, Dave
LabVIEW has had support for serial communication for as long as I've used it and may have been part of version 1. It also supports multiple serial ports - built-in and USB->RS232. There are even a couple of shipping examples. I've not used this particular chamber but I've used several with serial connections. It's a matter of getting the programming manual and working through it if a driver does not al...How do I use a LabView control element as ActiveX Control in another application?
I am was trying to include some simple ActiveX Controls(sliders,
buttons) in my VBScript. It worked with other ActiveX Components from
the web, however I wasn't able to include the LabView ActiveX Controls
because I was missing the necessary IDs. Moreover I was able to test
the LabView control by inserting it into the VC++- Test Container. But
I still can't find the necessary IDs...
I don't believe that any of the LabVIEW controls (except for 3D
Graphs) are ActiveX controls so I'm not sure what control you were
able to insert into the VC++ container. What's the exact name ...How can i use labview.tlb to control Labview from an external application?
I've been told by a labview engineer that i could use the file
labview.tlb located in the labview install folder to control labview
from an external application (in my case, a C# app). I'm using Labview
6.1 under Windows 2000. This article confirms that:
"ActiveX and LabVIEW"
But i've not been able to find out how to use this file to achieve
what i want. I just want to be able to open/close labview, open/close
a vi, start/stop a vi, hide/show a vi from a C# application. Th...Using the cFP controller with only LabVIEW and FIELDPOINT software but no LabVIEW RT
I have a cFP-2020 controller and cPF-AI-100 modules which I intend to use in a small project. I do have LabVIEW and FIELDPOINT software but I dont have LabWIEW RT software. Is it possible to use the cPF controller with only just LabVIEW? if yes, I would like to be advised how. Thanks
It is not possible to set up your system without Labview realtime module.
There are system integrators who can build a executable for you. You can search for a alliance member by using the following link; <a href="http://sine.ni.com/apps/utf8/niaa.search_display" target="_blank">http://sine.ni.com/apps/utf8/niaa.search_display</a> Or call your local NI branch office. But if you are planning to do more realtime projects in the future this wouldn't be costs effective.
Another option is to use compact fieldpoint pc controlled backplane (so there has to be a PC to control your compact fieldpoint system (not deterministic)). You can do this by using the compact fieldpoint ethernet backplane; <a href="http://sine.ni.com/nips/cds/view/p/lang/en/nid/202527" target="_blank">http://sine.ni.com/nips/cds/view/p/lang/en/nid/202527</a>
Good luck with your project, and please let me know if there are any questions,
...How do I control flow through MKS Mass Flow Controller using Labview
How do I control flow through MKS Mass Flow Controller using Labview?
Im new to LabVIEW please let me know bout it in detail. Thanks for all the help.
...Why does LabVIEW allow me to have 2 controls with same name
Here's a general LabVIEW question:
Why does LabVIEW allow me to have 2 controls with the same name in the same VI? It seems like this only increases the chances of confusion. Especially when someone is just looking at a block diagram (or documentation of a block diagram).
No other programming language that I know of allows this. I realize that uniqueness of name is not as critical in LabVIEW as it is in any text based language. For example, in a text based language, if I had 2 variables called abc and I wrote a statement
abc = 12;
the compiler would not know which abc was being referred to. In LabVIEW, if we had 2 controls called abc, the equivalent of doing an abc=12 is writing to a local variable (which is always linked to one of the controls) and there is no ambiguity. Still, someone looking at the code cannot figure out which abc is linked to unless he does a right click>>Find>>terminal (or a double click).
Even though I have never and never will name 2 controls the same, I think it would be a nice constraint to see enforced by LabVIEW.
Any input from NI engineers on this?Message Edited by S G on 12-18-2007 03:38 PM
Crazy app, but you could have a tab control with a number of...can Labview 7.0 control an instrument without the labview driver?
hellow,i have an instrument which do not have the labview driver,its
output signal is RS232,so can i use labview7.0 to read the signal?
Another possible option is to use the Instrument I/O Assistant. It is
an interactive tool that generates Instrument I/O and response parsing
code for you. It is very helpful in establishing a connection and
helping parse instrument response data. It is pretty high level and
basic, so if you want to utilize any special serial VISA functionality
it may not go as deep as you would like - but it can definitely help
get you started.
...Controller Type 266C change to Controller Type 2746.
we use an iSeries Model 720 with V4R5M0. In a few weeks we get an iSeries
Model 810 with V5R2M0.
At the 720 the first Controller is an Ctl Type 266C with 4 connections. The
second and the third Ctl are Typ2746 with 7 connections.
In the future we have to use one Ctl, becaus we have not so much Terminals
Is it possible, that i made an change at my Model 720, so that the first ctl
is an Typ2746 ?
It would better for me to have at the old iSeries one Controller and at the
new iSeries one Controller.
I need only one Ctl with 7 connections.
I do not unde...RT Reboot Controller and RT Ping Controllers with PXI-8184 and LabVIEW 7.1
I?m having problems using RT Reboot Controller and RT Ping Controllers from the Real-Time Utilities palette with LabVIEW 7.1, but only with PXI-8184 controllers. This work fine with PXI-8175.
The attached VI will list all the 8175 on the subnet, but none of my 8184. However, I can ping and FTP all my 8184. If Local Subnet? is TRUE, I don?t get any error, but the RT controller doesn?t reboot. If it is FALSE, I get: Error 63 occurred at TCP Open Connection in FPC open connection.vi->RT Ping Controllers.vi->MssUT-RebootController.vi. All 8175 and 8184 are on the same subnet and ahve the same IP settings (mask, gateway, DNS server). None of them is locked with a password.
What?s wrong with this VI and 8184 controllers? Please don't tell me to upgrade to LabVIEW 8.2, I can't, these systems are under production in 3 sites in 2 countries. We already have 16 PXI-8175 deployed that control cars from trains in hump yards.
The issue is that the PXI-8184RT was released after LabVIEW RT 7.1. The RT Ping Controllers uses an internal protocol to find ethernet base devices. It is actually used on more than just RT targets as other products like GPIB and Seria...Control/Indicator descriptions are not imported or checked from LabVIEW to NI RG when they are placed on Tab controls
I am currently testing Requirements Gateway. As it seems it does not find any controls placed on a tab control to see if it is covered or not.
Is there any reason not searching for controls placed on tab controls?
We have VIs iterating over complex Front Panel structures to find all controls. Maybe we can add this functionality to NI RG LabVIEW interface.
Is there anyone can help in this?
...How to control Arcus Technology's PMX 2 ED motion controller using labVIEW
Please guide me, for controlling the PMX 2 ED using labVIEW. http://www.arcus-technology.com/pmx-2ed-sa.php?osCsid=4cc1dd9c238572468a87a72d16d7fd93 Please let me know if any one has used labVIEW for this before.Thank you.
There seem to be USB drivers for that device. Have you installed them? Was there a DLL provided? If so, you can call the DLL functions using Call Library Function. Do they have a software programming manual?
Thank you for instant reply. I downloaded the driver. Its not helping to run it using labVIEW. They do not provide DLL. They provide some VI. Its not helping much. Thank you.
Well, I don't have the instrument or the drivers so can you provide some details into this VI that they provided? Perhaps if you upload it (assuming the license agreement for the software allows you to do so).
Thank you. just few minutes ago I could make the motor run using the VI they have provided.
...DSC module 7.1 labview 7.1, new controls and functions not showing up in labview
I have installed labview 7.10 (also tried update to 7.11)
and DSC module 7.1
I thought I would get additional functions and controls in labview due
to installation of this module, but I do not see addtional controls or
functions, althought I have searched for them and set the controls to
Anyone any idea what I have to do.
thanks and regards.
...Re: looking for a LabVIEW interface for controlling a material test stand
I also have developed and sell commercially software of a materials test. It was originally developed for a generic tensile/compression test platform. send me an e-mail at the following address:email@example.com
...LabVIEW 8.2 control refnum type descriptor missing
In LabVIEW 7.1, the control refnum had a type descriptor property, I do not see it in LabVIEW 8.2.1? How do you get the type descriptor from a control refnum in LabVIEW 8.2.1?
In LabVIEW 7.1, the control refnum had a type descriptor property, I do not see it in LabVIEW 8.2.1? How do you get the type descriptor from a control refnum in LabVIEW 8.2.1?
You don't! The old typedescriptor has been obsoleted with LabVIEW 8.x. The reason is that the old typedescriptor was using 16bit lengths internally and could overrun those for very complicated typedefs. The solution was to modify it to use 32bit lengths and since that is an incompatible change to the previous format, completely hide the typedescriptor in newer LabVIEW versions.
The only function that still can give you an old style typedescriptor is the Flatten to String when you select the Pre-80 compatibility mode in the right-click popup menu.
Rolf wrote "The reason is...."
This is what i always loved about your postings Rolf. You not only answer the "what" but also the "why".
"Hats off to you!"
Matthew Kelton wrote:Is there a way to get to the new version of it? I am using control refs and the type descriptor to determine if the control is a U16, DBL, etc. The Class ID and Class Name does not discern between those two for...LabVIEW 8.0 changed a constant that was wired to a Case structure to a hidden control to maintain compatibility with LabVIEW 7.1 and earlier.
Y am i getting this msg?
This happened because "...LabVIEW does not compile code on the block diagram that does not execute. For example, LabVIEW does not compile any code that exists within the inactive subdiagrams of the Conditional Disable structure. In addition, LabVIEW does not compile code within a Case structure that has a constant wired to it that would not execute the case with the code..."In the other words, if you have case structure, which is wired to T/F constant, then prior to version 8.x both cases will be compiled. From version 8.x the only "executed" case will be compiled. So, LabVIEW replaces constant with control for ensure that both cases will be compiled as before.
refer to <a href="http://zone.ni.com/reference/en-XX/help/371361A-01/lvupgrade/labview_8_0_features/" target="_blank">this document</a>
Got it andrey thanx
...Remote control of Labview using DCOM, class object not registered on local machine
Hi, I'm being frustrated trying to use DCOM (ActiveX Automation ?), which p=
roduces the above error, "Class object not registered on local machine". I =
know exactly the reason why it does that, now. But am quite disgusted by th=
e hackery that I'll probably need to do to fix it. I hope I'm wrong.<br><br=
>Here's basically what I'm trying to do.<br><br>The "server" has LabVIEW 7.=
1 installed, and is running a VI which I needed to retrieve info from, and =
control. The client machine does NOT have LabVIEW, nor the LabVIEW runtime...Finding control type from control reference
I have a stric type control (A) on the front panel of a VI. This control is a cluster made up of a number of instances of another strict typed control (B). Later control (B) is also a cluster made up of two controls, a check box and an enum. In the VI there is a value change event handler for control A. (I have included the check box to conrol B, it previously had only the enum). There is existing code in that event handler that works on the enum control. When I check a box, event handler is called and it tries to detect which enum's value has been changed. Since none has been changed, it enters into an endless loop.What I want to do is use the CtlRef (terminal?) of the event handler to execute the previous code if the control is enum, otherwise do nothing. (I'll place the code in a case structure). How can I find the controls type from CtlRef?What are those things inside the event handler called (e.g. OldVal, NewVal, CtlRef)?Thanks a lot for your time!Have a very nice weekend!
From what I understood of the description you provided, it appears that you are looking for the class ID of the controls. Each control type has a class ID.
You can get the class ID's from the controls within a cluster.
To see if I understood correctly, please see the attached example. If it is not what you are looking for, please provide clarification (and do not rate my post).
Oops.. I didn't answer the 2nd part of...Re: "Hi,I'm having problems controlling the Agilent E4422B Signal Generator with Labview. When using the Labview driver functions such as initialize instrument I always get an Error -1074135040
Attached please find the files containing all the information concerning my attempt to control the Agilent E4438C. Hope you can make sense of it and help me.
If this driver supports multiple instrument models, then you will probably have to set the model in the default settings in MAX.
Ray FarmerMessage Edited by...LabVIEW String Control: Can you move the "typing cursor" programmatically? [Or fire a key on the keyboard programmatically?]
[NOTE: The "typing cursor" is not to be confused with the Waveform Graph "C=
ursor" List.]<br><br>I am working on a VI that watches what my end-users ar=
e typing into a String Control [via the "UpdtWhileTyping" property of the S=
tring Control] and corrects [on the fly] for some standard data-entry error=
s that we see.<br><br>Most of the time, the corrected strings are shorter t=
han what the user had typed, and the "typing cursor" remains at the end of =
the string, as it should.<br><br>On very rare occasions, howev...How to control printer from labview
If any one have solution for my query please provide me.
I want to print word document line by line.
For eaxmple i have 10lines to print;i start with 1st line it will goto to printer and then i want to hold on printer side
then 2nd line same process till 10th line.once finished 10 lines then release out from printer.
Indireclty holding printer.
How to do in Labview these kind of activity.
Thanks & Regards
There is no native LabVIEW functions that allow you to control a printer. In order to achieve what you want, you need to find out if the driver for the printer has an API you can use. An example of this would be a DLL that you can access VI the Call Library Funtion node and call the necessary functions. Another way you could possibly do this is by connecting to MS Word through ActiveX and control the printing process this way.
If your printer support Postscript, you can print text line by line.
I used to do this before LV5.1 (multi threads).
<a href="http://www.geocities.com/gzou999/index.html" target="_blank">http://www.geocities.com/gzou999/index.html</a>
Hi George, To my knowledge there is no way to control a printer natively from LabVIEW (7.0 - 8.5) unless using the Report Generation Toolkit. Otherwise you can use the Win32 API along with the Call Library Function node to control the printer. Please refer to the following two Know...Labview resizing control.....
I am in the middle of developing an application that will be bundled with our product. I have developed many such applications using visual studio, however this is my first adventure using Labview.
As many of you know, one of the most common variables in distributing an application is the und-user screen resolution. With the relatively recent explosion of differing screen resolutions and aspect ratios, making applications resolution independent is even more important than ever. Along with this, giving the customer the ability to resize the appliction at will is a huge benefit. On many occasions I have walked into a customer's site to see my application shrunk down to a corner of the window, where the use can still see it, almost like an indicator.
For visual studio, I had purchased a third party control. Plunk the control onto the window (it became invisible at run time) and all of the controls, fonts, etc resized as the screen was resized. When visual studio went to .Net, this particular control no longer worked. I had to evaluate 5 different controls to get one that even came close to working properly, and even then I had to work with support and beta test many versions of that control to get the bugs out.
Now I know that Labview has the panel resize options, etc and I have played around with them. However, a...