Control implementation in labview
Dear Sir,
I am a novice in Labview. I wish to implement a feedback controller on labview. I dont have a Control Design and simulation module. Can i implement the controller with this module.
The characteristic of controller is like a first order low pass filter.
Could you direct me some examples where control implementation is done on pure labview.
Regards
Sachin
Sachindian wrote:
I am a Phd student. I dont have funds to to get the control system module for myself. Even if i try using it i will need it for further experiments in time to come which is not feasible with trial version. I need to do it on labview.
Dear Sachin,
There is nothing that you cannot do with LabVIEW (just to boost your moral ).... Now if you choose not to use any module/toolkit, you need to develop a model using primitive and other library functions available within LabVIEW... And you already know that... Now what I don't know is, what exactly is the issue.
Sachindian wrote:
Its a first order controller. b/(s+a).
Just convert it in TIME DOMAIN and code for that equivalent model.
For you example, I've attached an example, which is equivalent of 'Only P' controller (in context to PID controller).
I am not allergic to Kudos, in fact I love Kudos.
Make your LabVIEW experience more CONVENIENT.
Attachments:
Example of P Controller [LV 2009].vi 16 KB
Similar Messages
-
Choosing custom control implementation
Hello,
Is there a way to specify the custom controls' implementation to be used (eg. specifying which jar to use, at server startup)?
Since the controls variables point to an interface, I was wondering if there is any mechanism to specify which control implementation to use. So I could plug the control's - dummy, test or production - implementation without changing the clients of my controls.
Thanks for help,
YvesHi,
For report,, include the following statement
CALL SCREEN 100.
Double click on number 100 , Then CLick on Layout ..and follow the same steps as Dialog programming i.e. Drag & drop the Custom Control, assign a name to it & activate
Best regards,
Prashant -
i need block diagrams for audio processing effects such as echo,flanger,vibrato,chorus for implementing in labview? pls i need it very quickly........
Hi komalamani,
i need it very quickly...
So you better start coding soon!
Best regards,
GerdW
CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
Kudos are welcome -
Hi all,
I am having a solenoid valve to be controlled from my labview program from a computer.
I already have an interface that is built to switch the solenoid valve on/off.
But I dont have any information on the interface. The interface is provided with a PCI DIO 96 card to communicate with the computer.
The interface has a "ni sc 2054" (24 VDC) accessory and its connected to a "Grayhill 16 channel rack". I couldn't really understand the interface.
I need to switch the solenoid on/off using the PCI DIO 96 card. Can I do that without the knowledge of what's in the interface? The interface is working with a Windows 98 system but there is no way to view its code or make it work on the system with Windows XP. Does labview provide with this abstraction so that I can use DAQ and operate the solenoid without knowing what it actually does?
Or its ok even if I have to purchase a new hardware to control the solenoid. Any solution which doesn include the interface or with a new setup in the middle is also appreciated.
I have attached a snapshot of the circuit inside the interface, but I dont think if it will be really useful.
Thanks for your help.
VJ
Attachments:
Picture 048.jpg 1101 KBHi Vijay,
Looks like you've got an opto isolation board populated with "output" opto relays. (Those are the red blocks on the Grayhill board)
Your Opto board is connected to a "Breakout" board, and that is connected to your DIO 96 card.
This is a setup we use all the time. You shouldn't need new hardware to operate your solenoid valve.
I'm not sure from your question if you want to add a new solenoid to your existing hardware, or if you just want to control an existing one.
If you've already got your solenoid wired up, you need to know what channel (line) it's on. The numbers beside the red blocks on the Grayhill board indicate which line each block is on.
An easy way to test your wiring connection without writing any code is to start Measurement and Automation Explorer. There should be a link to it from your National Instruments Start menu.
Start that program, and look for something called "Devices and Interfaces" on the left hand side. Under that menu, you should see some reference to your DIO 96 card. If you select that, on the top of the right hand pane you should see something called "Test Panels". When you click on Test Panels you should see something similar to the image below. (Your's may look different if you're running an older version)
Click the "All Output" button, and then click "Start". Then move the switch sliders to select On or Off. Make sure you aren't going to damage anything by turning on the wrong output if you don't know exactly which one your solenoid is connected to.
As you turn outputs on and off, you should see the little red LEDs on your Grayhill board lighting up. Once you know which Port and which Line your solenoid is on, you can then write LabVIEW code to turn it on and off.
Good luck.
Message Edited by pallen on 03-05-2009 09:34 AM
Patrick Allen
Attachments:
testpanel.jpg 36 KB -
Pid pressure control implementation
Hello guys,
I am trying to implement a PID pressure control for a system but don't know exactly where and how to start. I have a pump and I want it to pump pressure to say 30bar at a ramp rate of 2bar/min to a tank, the pump is controlled via a 0-10V analogue module. I also have a pressure transducer (4-20mA also connceted to an analogue module) on my tank that reads the pressure in the tank, and I can potentially use the signal as feedback.
I can directly run the pump from labview to any pressure by applying say 2V to the analogue module, which then controls the pump (but unfortunately this disregards the ramp rate), but I want to design a system such that when I put in the setpoint pressure (30bar) and specific ramp rate (2bar/min), the control system would behave as it should. How do I go about this? Does anyone have any ideas as I haven't done much on PID?In order to get control of both the rate of pressure change, and the absolute pressure, I would use a cascaded PID approach. You have an "inner" PID where the setpoint is the desired rate of pressure change, and the process variable is the measured rate of pressure change (the difference in pressure from one iteration to the next). The output from that PID is the voltage to send to the pump.
Feeding that PID, you have a second PID block, where the process variable is the current pressure, and the setpoint is the desired pressure. The output is the rate of change, which feeds the inner PID. You limit the range of that output to the maximum desired rate of pressure change. As the pressure approaches the setpoint, the rate of changes decreases and approaches 0.
Of course implementing this all at once is complicated, especially if you don't have much experience with PID. Start with the simplest case - a single PID loop with the desired pressure as the setpoint, the measured pressure as the process variable, and the pump voltage as the output. If that works, add in a setpoint ramp and see if it works well enough to get you the rate of pressure change you want - if so, that's simpler than cascaded PID.
Do you have the PID toolkit? If so, setting up a simple PID loop is easy. It sounds like you already have the other key parts - you know how to write a voltage to the pump, and to read the pressure. Hooking up the inputs and outputs to the PID block is simple. You'll then need to tune the PID, and there are many explanations of how to do this both elsewhere on this forum and on the internet. I can't recommend a particular tuning method without seeing how your system responds, but most likely an open-loop method such as Cohen-Coon will be appropriate here. -
Use net to control design in labview
hi.
i want to implement an idea in labview and is given below:
i would design a circuit in labview and want to control it through the internet. Like if i am running a simulation and an error occurs, i can see that error from anywhere by opening a specific website on the internet and correcting it at that website and it gets correct in my design. I will be running my design on a computer which is connected 24 hours to the internet. I want to design a website which will show all of this. is this possible? any tools in labview for it?Hello ktq,
There are a couple ways you can control a VI front panel. The best way is through web publishing, How do I publish my VI to a web page? You need to be sure about firewall permissions and issues on both ends. Also check out our Internet Toolkit, here. Are you hoping to do this on a network? Depending on what your application is, you can also run network streaming queues through ethernet: High-speed data streaming: Programming and Benchmarks. Please let me know if you have any questions, good luck with your application!
Regards,
Deborah Y.
LabVIEW Real-Time Product Marketing Manager
Certified LabVIEW Architect
National Instruments -
Controlling ELVIS through LabVIEW
Hello. I am trying to integrate my LabVIEW VI with my ELVIS system. I am using a code for a guitar tuner that, when in tune, activates the ELVIS system and sends a voltage to a circuit that emits an LED. I am fairly new to LabVIEW and need to know how I can implement control of ELVIS through my VI.
Here is my schematic so far. And the file.
The data being sent to the Meter is from a scale of 0 to 2. If the guitar is in tune, then the ratio equals 1. What I am trying to achieve is that if this data is 1, then apply a voltage to the circuit from ELVIS and light the diode.
Can anyone please help me out with this? I appreciate any input. I am a grad engineer so feel free to speak in techy. Thanks!Hi
First of all you should give your teacher a mild kick in the but and say to him "students will never learn Labview properly if they only use Express VIs". Tell you teacher I told you so. I have also done some minor changes to your VI. But it is still plenty work to do. To solve your assignment with real Labview programming you should go to find example and find the example named "Continuous Sound Input". Also you will find some valuable hints in this link
http://forums.ni.com/ni/board/message?board.id=170&message.id=399671#M399671
Good luck
Here is some useful tips for the Labview beginner (we have all been there some time)
1)Then starting a new Labview session enable context help (Ctrl+h). Do not be afraid to use the detailed help option
2)Then stuck, go to help in the toolbar then select find examples
Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
(Sorry no Labview "brag list" so far)
Attachments:
Tuner.vi 108 KB -
Control where a LabVIEW executable write it's Settings Configuration file
Is there any way to control which directory a LabVIEW executable writes it's configuration settings file to? I am using version 7.1.
I believe the INI file must be in the same directory as the executable. You can use the keys found in the LabVIEW.ini file and they will apply to your executable without any special programming on your part. That being said, you can always create a custom settings file or files anywhere you like to store configuration information specific to your application.
If we could specify some other path for the executable settings file, it would probably hurt more than help in the long run. The same directory as the executable is the only one whose existance you can be sure of..... or of whose existance you can be sure.
Dan Press
PrimeTest Corp.
www.primetest.com -
BSOD controlling Nanotec servo (Labview+visa+Daqmx)
I'm using a set-up where I control a servo with Labview. I run the VI, set some speeds to the servo, and within minutes, Windows gets a BSOD. I would like to know the cause of the problem and a fix please.
What am I using?
- Windows 8.1 (and windows XP before)
- Labview Student Ed 2014
- NI Visa
- NI Daq mx
- USB to RS-485/422/232 Converter
- Nanotec servo
- Nanotec Labview example: http://en.nanotec.com/support/application-notes/labview-example/
What happens?
I open the VI, set the com port. Run the VI and set some motor speeds. Within minutes windows 8.1 gives a Blue Screen, with the error MULTIPLE_IRP_COMPLETE_REQUESTS. In Windows XP, this gave the error IRQL_NOT_LESS_OR_EQUAL. After rebooting, windows 8.1 shows Automatic Repair. 'Automatic repair couldn't repair your PC', and refers to C:\WINDOWS\system32\Logfiles\Srt\SrtTrail.txt.
This is 'Startup Repair diagnosis and repair log'. This gives some actions that take 0ms, untill finally:
Boot critical file c:\windows\system32\drivers\nipbcfk.sys is corrupt.
Repair action: File repair
Result: Failed. Error code = 0x2
Time taken = 8546 ms
Opening that file in notepad shows this: http://pastebin.com/dwp2X5er
Can anyone spot why Windows goes into a BSOD, and how this can be prevented?It sounds like the installation of some NI drivers failed on your system. Can you please re-install those? I recommend to uninstall the current installed ones first.
Also, please try to install the latest driver versions. If you are using old drivers (e.g. from an out-dated driver DVD), it is possible that you have drivers installed which were never tested with Windows 8.1.
Norbert
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it. -
How to create a feedback control system in labview with an integration block?
Hallo,
I design a model of a simple mechanic system composed by one damper, one mass and one spring.
I would simulate a free response of this mechanic system, but I don't be able to integrate the mechanic state in Labview.
Seeming that the integration block in LabView produce a wrong answer.
I've attached this model create in Labview 8.2.1.
Thanks in Advance
Michele
Attachments:
Sistema dinamico6.vi 462 KBMichele,
First of all, when you are trying to develop a Dynamic Simulation, I strongly recommend that you use the LabVIEW Control Design and Simulation Module (http://sine.ni.com/nips/cds/view/p/lang/en/nid/203826), or, for LabVIEW 8.2.1, the LabVIEW Simulation Module. They allow you to develop your dynamic simulation natively in LabVIEW, specially in the case that you have feedback loop in your code (which is your case).
Now, looking at your program, I have several recommendations that would help you to better control your simulation. First, avoid using the Dynamic Datatype (Blue wire) in you simulation. For example, you are generating a Waveform inside the loop and you are just getting one element of the first batch. Probably, you want to generate only one element per iteration of the while loop and apply that to your equation. If that is the case, you should remove the "Simulation Signal" express VI and use the Point-by-point VI (located at Signal Processing Pallette). There you can also find an integration VI that allow you to define the sampling time for your application.
Also, the feedback node that you are using will introduce one sampling time to your simulation, which mean that, if your simulation and equations are not correctly setup to take that into account, your simulation will be incorrect. If you were using the Simulation Module, it would take care for your to do the correct integration, additional to allow using different solvers (like RK 4-5) to reduce the error on the integration.
Hope this helps. Let me know if you have more questions.
Barp - Control and Simulation Group - LabVIEW R&D - National Instruments -
I have Labview 6.0/6.1 Activex vi's that no longer work in LabView 7.0 There are no longer ActiveX Events vi's in the Communications->ActiveX control set. What is the deal with that??? Pretty much makes my $2400 upgrade investment worth nothing as far as I can see.
kup,
Are you sure that your VIs no longer work? They should. The support VIs are located in "vi.lib\Platform\ax-events.llb". The functionality was not taken away, the VIs were simply removed from the function palette. Also, ActiveX Events may now also be handled using calback VIs. This is much better, IMO. Seach the examples for "ActiveX" and "callback".
-Jim -
ADF UIX Role Based Access Control Implementation
Hi,
Can anybody suggest a detailed example or tutorials of how to implement a role based access control for my ADF UIX application.
The application users can be dymanically added to specific roles (admin, Secretary, Guest). Based on the roles, they should be allowed to access only certain links or ADF entity/view operations. Can this be implemented in a centralized way.
Can this be done using JAZN or JAAS. If so, Please provide me references to simple tutorial on how to do this.
Thanks a lot.
SathyaBrenden,
I think you are following a valid approach. The default security in J2EE and JAAS (JAZN) is to configure roles and users in either static files (jazn-data.xml) or the Oracle Internet Directory and then use either jazn admin APIs or the OID APIs to programmatically access users, groups and Permissions (your role_functions are Permissions in a JAAS context).
If you modelled your security infrastructure in OID than the database, an administrator would be able to use the Delegated Administration Service (DAS), as web based console in Oracle Application Server. To configure security this way, you would have two options:
1. Use J2EE declarative security and configure all you .do access points in web.xml and constrain it by a role name (which is a user group name in OID). The benefit of this approach is that you can get Struts actions working dirctly with it because Struts actions have a roles attribute.
The disadvantage is that you can't dynamically create new roles because they have to be mapped in web.xml
2. Use JAAS and check Permissions on individual URLs. This allows you to perform finer grained and flexible access control, but also requires changes to Struts. Unlike the approach of subclassing the DataActionForward class, I would subclass the Struts RequestProcessor and change the processRoles method to evaluate JAAS permissions.
The disadvantage of this approach is that it requires coding that should be done carefully not to lock you in to your own implementation of Struts so that you couldn't easily upgrade to newer versions.
1 - 2 have the benefit of that the policies can be used by all applications in an enterprise that use Oracle Application Server and e.g. SSO.
Your approach - as said - is valid and I think many customers will look for the database first when looking at implementing security (so would I).
Two links that you might be interested in to read are:
http://sourceforge.net/projects/jguard/ --> an open source JAAS based security framework that stores the user, roles and permissions in database tables similar to your approach
http://www.oracle.com/technology/products/jdev/collateral/papers/10g/adfstrutsj2eesec.pdf --> a whitepaper I've written about J2EE security for Web applications written with Struts and JavaServer pages. You may not be able to use all of it, but its a good source of information.
Frank -
How to save controls value in labview
hi
i want to know how to save the controls value in PC. means if i assign 5 digital value to a control it should remain there even i restarts my PC.
Solved!
Go to Solution.This can mean two things. Will the default value always be 5? You could right click the control, select Data Operations, then Make Current Values Default. This can only be done at edit time and the value is saved with the vi. If you know you will always need the same default value then do this. If you need the user to be able to change the default value without editing and saving the vi then see the post by smercurio_fc above.
=====================
LabVIEW 2012 -
MapPoint Control 11 in Labview Container = Control could not be loaded
I am working with Labview 6.1 to create an application using a "Microsoft MapPoint Control 11.0" ActiveX component. When I first create a container for it, I can insert the component and it will load and operate correctly. However, after closing the vi and reopening it, the container says "Control could not be loaded", and I need to re-insert the object to get it to work each time. I will need to compile and run this at some point, so I need to fix this problem or ditch Labview now. I have tried reinstalling Labview runtime and the MapPoint Application, but this does not fix the problem. Working with MapPoint as an automation object (without a container) seems to work ok, but I need interactive control through the container. Any suggestions?
Ankita--
Yup. Tried that one, as a search of the NI site comes up with reinstall and register as the only solutions for "control could not be loaded" errors ... but it didn't make a difference for me...
Odd to think that it can run fine right after the control is loaded, but after save/close/reopen, it's not working... hmmm.
--Brent -
Missing control on compiled labview program
I recently compiled a very simple VI. The VI front panel contains a boolean switch. If the executable is run from the machine where it was compiled everything looks fine. However, when the executable is moved to a network drive and run the boolean control disappears. The control can still be operated and the boolean text labels are visible but the switch itself is gone. It there some additional support file needed? I did not use an installer. - I'm using Labview 6.1 on a Win 98 computer.
> moved to a network drive and run the boolean control disappears. The
> control can still be operated and the boolean text labels are visible
> but the switch itself is gone. It there some additional support file
> needed? I did not use an installer. - I'm using Labview 6.1 on a Win
Usually this is because the mesa DLL is missing. You can use the
installer that came with LV, or you can copy the mesa DLL and keep it in
the same location relative to the EXE or DLL.
Greg McKaskle
Maybe you are looking for
-
Re : Payment Terms 40 days due on 10 th month
Needs Payment Term Configuration : Payment Terms 40 days due on 10 th month Regards Chandu
-
Which Cisco Access Point is Waterprof ? (outdoor:BR1300 + AIR-ANT24120)
hi, My questions to the community : i have to choose for a customer some 50 Access points but that must have an external antennas with at least 8 dbi as gain and to be waterprof for me the BR1300 + AIR-ANT24120 is a good choice if the BR1300 is Wate
-
I've Downloaded twice ''Additional Contents'' but the issue is still unresolved ( '' EXS 24 instrument ''steinway Piano.exs '' Audio file '' stw per v1 024.AIF '' not found) Please Help
-
Java side batch commands? I.e.: open FILE
Is there a way to add commands for a batch file into a java code? Like... If i was going to make a code to open a text file, in a ms-dos/batch file i would put open FILENAMESo is there a way i can make it use the batch to open a file, but without cli
-
ITunes sync with 'Windows Live Mail' / (not local Windows Contacts))?
Are there any plans to add an option in the 'Info' panel's sync contacts choice dropdown for 'Windows Live Mail'? There's currently "windows contacts", "outlook", and "Yahoo! address book" for contacts sync choices. Problem is, in Vista, there's no m