Single pole Balancing robotic + how to do labview programming ?

Hi, we are doing a control design course in our university. We ran into a problem using the 'State-space controller' part in the simulation VI in Labview. the main problems i think are as follows:
1. we cant change it from mimo to siso
2. there is a scalar-vector mismatch almost always whatever we do.
Apart from these, even when we connect up graphs to the input and output, the graphs do not display anything. Is there any hidden setting we forgot to set?
on top of that we need to do matric calculation in order to be able to do model predictive control design. Can we do the programming in labview
please help us ...we are really newbie here
Attachments:
Design-invertedpendulum.vi ‏286 KB

Hello!
Here is the reply for your question:
1. For State-Space Models, we have only one datatype that can be represented as SISO,MISO,SIMO or MIMO. To be SISO, all that you have to do is create the model with populate the column 0 for B and the row 0 for C.
2. When using the State-Space model, you also have to pay attention to the "Initial States". In your example, I think you have 3 states, which leads to a Initial States as [0,0,0].
3. Also, I noticed that you have the model as an "Terminal" instead of "configuration page", but you don't have any model wired to the terminal. You have to wire the model from outside or try to configure it in the config page.
4. You can also use Linear Algebra VIs inside simulation, as some other LabVIEW VIs. The only think you need to be know is that you have to define if you want to have the VI running every discrete sampling time, or continuous sampling time. When in discrete, a red 'D' will show on the up right hand-side on the VI. If you want to execute every minor sampling time, right click on the VI and go to "SubVI Node Setup" and remove the "Run as Discrete Node" option.
All of this information is in the manual. Please refer to it whenever possible and you should be able to compose your controller.
Barp - Control and Simulation Group - LabVIEW R&D - National Instruments

Similar Messages

  • How to open labview program with Quit Labview function inside?

    Hi Any idea how to open labview program with  Quit Labview function inside?
    I forgot to add and set the condition of the type for this program.
    If the program is an application, it would close straight away.
    If it is still labview work, it will go straight to editing program without closing.
    So I need to recover, open it and make some changes.
    Clement
    Solved!
    Go to Solution.

    Put the VI in a project and open it from there, then it shouldn't autorun. You can use App.kind property of application to decide whether to close or not.
    /Y
    LabVIEW 8.2 - 2014
    "Only dead fish swim downstream" - "My life for Kudos!" - "Dumb people repeat old mistakes - smart ones create new ones."
    G# - Free award winning reference based OOP for LV

  • How to make labview program to get average value of 200 reading from multimeter (by using loop)

    Hello
    How to make labview program to get average value of 200 reading from multimeter (I using using loop) to read voltage from mulmeter  but I like to get average value of all of 200 reding how can I do that?
    Thanks
    Wee
    Solved!
    Go to Solution.

    Another idea with less programming - take advantage of the "free" array that comes with a Chart - i.e. the  History Data.
    1) Wire your DMM data to a Chart. (You can set the chart to invisible if you don't plan on using it in the GUI).
    2) Set the Chart History Length to 200 (right click on the chart, click on Chart History Length...)
    3) On the block diagram, use the History Data Property Node, wire it to Mean.vi, and you're done.
    Easiest running average ever.
    Message Edited by Broken Arrow on 04-07-2010 11:36 AM
    Richard
    Attachments:
    EasyAvg.jpg ‏8 KB

  • Can any one please tell me how to write labview program for data logging in electric motor bike.

    Can any one please tell me how to write labview program for data logging in electric motor bike. I am going to use CompactRIO for getting wide range of data from various sensors in bike. I need to write labview program for data logging of temperature, voltage and speed of the bike. Can any one help me?

    Yes, we can.   
    I think the best place for you to start for this is the NI Developer Zone.  I recommend beginning with these tutorials I found by searching on "data log rio".  There were more than just these few that might be relevant to your project but I'll leave that for you to decide.
    NI Compact RIO Setup and Services ->  http://zone.ni.com/devzone/cda/tut/p/id/11394
    Getting Started with CompactRIO - Logging Data to Disk  ->  http://zone.ni.com/devzone/cda/tut/p/id/11198
    Getting Started with CompactRIO - Performing Basic Control ->  http://zone.ni.com/devzone/cda/tut/p/id/11197
    These will probably give you links to more topics/tutorials/examples that can help you design and implement your target system.
    Jason
    Wire Warrior
    Behold the power of LabVIEW as my army of Roomba minions streaks across the floor!

  • How to run labview program in debugging mode in windows 95 version

    Respected all,
    I am facing probelm while running probe.vi.
    I received this command "connection to acquisition board was not found" when i run labview program.
    I  am using labview 5.1, fieldpoint FP 1000, NI-DAQ 6.5, Field point explorer version 1.6, Measurement and Automation Explorer 1.0.1.
    I would kindly request you please help me how to run my program probe.vi in debugging mode in windows 95 version, so that i can locate where error occurs.
    Thanking You
    Yours faithfully
    M.Vijay

    Respected Norbert,
    Thank you very much to for your help.
    Norbert : Possible reasons are e.g. wrong IDs for measurement devices. If the error is connect to the FieldPoint, it is possible that it isn't configured correctly.
     I am using Field point explorer 1.6, The Field point instrument FP 1000 and RS-232 port is using. It is confirmed that the field point instrument is working properly by LED light indication test.
    Norbert: It sound like you are using DAQ devices (like PCI MIO 6952E) in the application. Are you sure that you select the correct device ID for this?
    I am asking you to know, If i using Labview and  Fieldpoint instrument FP 1000 to monitor my parameter interms of All, Channel 0, Channel 1, Channel 2, Channel 3, Channel 4, Channel 5, Channel 6, Channel 7 for my measurement.
    But now i need to solve the command connection to acquisition board was not found, The expert say this command is due to there was no AT-AO-10 Analog Output board was present in CPU.
    I do not find AT-AO-10 Analog Output board in my CPU, Previously the instrument was worked perfectly by other person who assembled everthing to measure temperature.
    The only aswer know send by previous person is if my task does not imply the use of a DAQ you probably have to locate where the DAQ driver is called and exclude it from the program. try to run the program in debugging mode so that you can locate where the error occurs.
    I do not know how to proceed his instruction. So i would kindly request you to please help me to solve my probelm.
    I also removed AT-AO-10 software from device manager >> Data Acquisition system >>  AT-AO-10 just now.
    I also find GPIB version 1.30, when i remove in add or remove program, it say that Error removing the GPIB.
    I am eagerly waiting for your help.
    Thanking You
    Yours faithfully
    M.vijay

  • How to document LabVIEW program?

    Is there any guidance for how to document a LabVIEW
    program?

    The LabView Style Guide has a chapter on documentation. Click here.
    Here are some of the things I try to do on every VI.
    Create VI Help info: on the VI's File menu, select VI Properties >> Category >> Documentation, then add you help info into the VI Description. That's what will be shown when the user shows the context help (Ctrl-H).
    Front Panel:
    Create help info for each control: right-click on the control, then select Description and Tip. The Description will be shown when the user shows the context help. The Tip will be shown (as a Tool Tip) when the user moves the mouse pointer over the control, even if context help is not shown.
    Make control Labels descriptive. Numeric, Numeric 2, Boolean, etc. are not descriptive enough to be helpful to the user.
    Use the control captions if needed.
    Use the text tool to add free labels to the front panel if needed.
    Diagram:
    Show the label for each structure (while loop, for loop, case, sequence, etc.). Not just a free label: right-click on the border of the structure and select Visible Items >> Label. This way the label is attached to the structure and will move with the structure as you're editing the diagram. Make the label descriptive. For loops, summarize what you're doing. For while loop, state when the loop will stop. For For loops, if auto-index is used, state which input will set the number of loops. For cases, describe the criteria for selecting a case.
    Within a case or sequence structure, use the text tool to add a free label inside each case or sequence frame to summarize what happens there.
    Show labels for all control terminals. Some controls may not have their labels displayed on the front panel (e.g. buttons with their boolean text shown), but always display the label on the diagram.
    Liberally use free labels to add more comments.
    VI History:
    Use it! On any VI window, from the Tools menu (the tools palette), select Options, the select Revision History from the pull-down listbox. Select Prompt for comment when VI is saved. Whenever the VI is saved, add a brief but meaningful comment about what was changed. This history is available under the VI Properties >> Category >> Revision History >> Show Current Revision History (or by pressing Ctrl-Y). It can be very helpful in debugging a program that stopped working after you made a bunch of changes.
    Icons:
    Create helpful (not just artistic) icons. I typically just use text to show an abbreviated VI name. Graphical icons can be helpful if it's clear to the user what the graphics mean. But I like text. I put my creativity into the program, not into a tiny picture trying to describe the VIs function to the user.
    I'm glad you asked the question. The more work you put into your documentation now, the easier it will be for you or anyone else to use and maintain your programs.

  • How to use labview program receive arduino 2560 mega digital sigal

    Dear sir,
    i use arduino mega 2560 connected to labview.
    i don't have idea to sketch the labview program receive arduino digital signal, pl help.

    NapDynamite wrote:
    Check for following niches:
    1. Check whether the COM port you have selected is correct.
    2. Check whether your arduino is loaded with LIFA firmware.
    The error wouldn't be with not loading the LIFA firmware it is "Insufficient location information or the device or resource is not present in the system." So I'm going to guess that COM5 doesn't exist.
    Click the little arrow next to COM5 and it will list the COM ports that LabVIEW (and MAX) see and can use.  If yours isn't listed you'll need to figure out why.  If none are listed then you likely don't have VISA installed.
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.

  • How to convert labview program to .exe file?

    Is it possible to convert VI file into .exe file? How to go about doing it?

    hi
    you simply need to use the application builder - included in LabVIEW professional version or you buy this tool separately.
    Remark: On target machine the Run time engine (for free) has to be installed.
    regards
    wha

  • How to call LabVIEW dll from ATL COM dll

    I have tried to call simple LabVIEW 8.6 Dll from win32 test application, class Library.
    I have include LabVIEW generated SharedLib.h file and SharedLib.lib file in the test application which I created as simple win32 console project and also from win32 class Library. I was sucessfully able to call my LabVIEW dll funtion. 
    But when I create ATL COM project and try to add SharedLib.h file and SharedLib.lib file I used to get following erors
    Error 1 error C2733: second C linkage of overloaded function 'StrCatW' not allowed d:\program files\national instruments\labview 8.6\cintools\extcode.h 463 
    Error 2 error C2733: second C linkage of overloaded function 'StrCpyW' not allowed d:\program files\national instruments\labview 8.6\cintools\extcode.h 464 
    Error 3 error C2733: second C linkage of overloaded function 'StrCpyNW' not allowed d:\program files\national instruments\labview 8.6\cintools\extcode.h 465 
    Error 4 error C2733: second C linkage of overloaded function 'StrCmpW' not allowed d:\program files\national instruments\labview 8.6\cintools\extcode.h 466 
    Error 5 error C2733: second C linkage of overloaded function 'StrCmpNW' not allowed d:\program files\national instruments\labview 8.6\cintools\extcode.h 467 
    these many errors.
    Will some one explain me how to call LabVIEW dll from ATL COM dll.
    Thanks & Regards,
    Jay

    I also had this problem.  My application is unicode-aware, but I was attempting to link it to a library with primitive C-string arguments.  You could dynamically load the DLL as suggested (more work), modify the header files (really not recommended), or if you are feeling lucky you could try fooling the compiler, as I was successfully able to do in Visual Studio 2010, by steering the preprocessor around those functions (assuming you're not using them, of course -- otherwise this probably wouldn't work):
    // prepare for NI extcode.h inclusion. avoid linker errors for this project.
    #define StrCatW(a,b)     IgnoreLinkError_StrCatW(a,b);
    #define StrCpyW(a,b)     IgnoreLinkError_StrCpyW(a,b);
    #define StrCpyNW(a,b,c)  IgnoreLinkError_StrCpyNW(a,b,c);
    #define StrCmpW(a,b)     IgnoreLinkError_StrCmpW(a,b);
    #define StrCmpNW(a,b,c)  IgnoreLinkError_StrCmpNW(a,b,c);
    // header file for my LabView-built DLL (ASCII single-byte character arguments)
    #include <MyLibraryHeader.h>
    // clean up afterwards, put things back to 'normal'
    #undef StrCatW
    #undef StrCpyW
    #undef StrCpyNW
    #undef StrCmpW
    #undef StrCmpNW

  • How do I use directional PDA buttons in LabVIEW programs?

    Hi all,
    I've been assigned to get a LabVIEW program to work on a Palm PDA with LabVIEW 7.0 and palm PDA module 7.0.  I am basically totally new to LabVIEW, and my possibly very simple problem is, the PC program requires input from a serially connected number pad for the 8, 4, 5, 6, and 2 keys which are used as four directions (8, 4, 6, and 2) and an enter (5). 
    I am trying to rewrite the input vi to use the directional buttons and middle enter button on the PDA itself but am having trouble figuring out what to use.  I am using a PDA simulator because of the PALM OS5 we own.  The input demo vi example provided will not build for PDA because of size so I am unsure of how to approach this.  Another thing is, we have LabVIEW and PDA module for pocket PC 8.0, and a Dell Axim PDA on order.  From what I understand off of this website, the latest PDA module has example button vi's.  I would still like to figure out the way to do this on 7.0 so I can have a better understanding of LabVIEW.  Eventually the program's endgoal is to be used on a PDA and inputting with a bluetooth keyboard, but we are going step by step right now.
    I guess my biggest questions are, how do I assign the directional buttons on the PDA in my program, and will this differ greatly when we switch to 8.0 and pocketPC.
    Oh and I did try to look at the example asteroid.vi but from looking at the input subvi, still couldn't figure out how they assigned the buttons.
    Thanks,
    Stephen

    I can't help with any specifics (no access to the PDA module at the moment and I didn't use the buttons anyway), but I would like to say that it probably would make a big difference if you used LV 8. 7.0 was the first version of the PDA module and was extemely limited and problematic (it didn't even have a tab control). 7.1 was somewhat better and I understand that 8 is even better (although still very limited and buggy).
    I also remember reading about several differences between Palm and PocketPC and I think you will generally be better off with the PocketPC as it's related to windows and will probably support more stuff.
    Try to take over the world!

  • Is it possible to create a single texbox? and how to delete a button on a form? please asap, badly n

    Is it possible to create a single texbox? and how to delete a button on a form? please asap, badly needed it right now. thx -regards gustavo

    Hello Gustavo,
    You can create a single textbox using the textbox option here (This is for you to enter text - not for the visitor): http://jingsite.businesscatalyst.com/jing/2013-09-30_2212.png
    If you want to create a textbox for the visitors to enter text, then you need to enter a form, and you can delete the "message" field from the "simple contact" form, but not the name and the email fields (those are mandatory and can't be deleted).
    You may want to check external forms in case you want to have the form rather customized, to check if you can have forms with single textbox. An example would be "Jotform".
    Hope this helps.
    Cheers
    Parikshit

  • "HOW to use Labview call Dll compiled by VC++"

    "hello,I use VC++ compile a DLL,and i want to call DLL Function in LABVIEW program.But there is a dll function
    when i call it in labview.There is error.The prototype of Dll Function that make error is "USHORT DLLFUN __stdcall IBWRT(unsigned short dev_address,const char *pstrWrite)",The second paramenter is a char pointer,
    and the paramenter pass a command which content is
    "MEASURE:CURRENTC? 1A,0.001MA".
    When i use VC++ to call this function,i program followed:
    CString m_wrt;
    int ReturnW;
    m_wrt="MEASURE:CURRENTC? 1A,0.001MA";
    char buffer[40];
    strcpy(buffer,m_wrt);
    ReturnW=IBWRT(4,buffer);
    and this call is correct.
    But when i use labview to call this function.ther
    e is
    error.So, who can help me,to tell me how to call this
    function.Thanks."

    Are you asking about porting code or calling C++ code in LabVIEW?  As far as porting code, there's no easy way to move code back and forth between LabVIEW and C++.  However, if you are trying to call C++ code in LabVIEW, you can compile it as a DLL and call it in LabVIEW using the Call Library Function node.
    Chad B. » National Instruments » ni.com

  • How do I make a labVIEW program for a linear CCD camera?

    Hi, I'm pretty new at LabVIEW and I'm having a hard time figuring out how to connect my linear CCD image sensor (Toshiba TCD1304AP) with my computer. I know I need a DAQ device, what would work best for this particular CCD? After I got that connected, I need to create a LabVIEW program that displays the light detected by my CCD. Does anyone have a similar program or template I can use as a model? Any help would be appreciated. Thanks.

    Hello,
    I'm not sure the type of signal that is generated as an input to a DAQ device. This could either be an analog or digital input. The signal type will determine how you make your program in LabVIEW. You will also need to correlate the signal level to the light detected. That will be determined by your sensor. I don't have any programs or templates for this, but if you look at the basic analog or digital input examples, you might get a good starting point for DAQ device programming.
    -Zach
    Certified LabVIEW Developer

  • How to build labview global variable into dll?And how to use it in vc++ program?

    Hi!
       I want to build labview application into dll and use vc++ to call it.The labview program is a little complex,for it has many interface to vc++ and has while loop in it.When I use vc++ to call it,I must use vc++ to do other things.That is to say,vc++ creates a new thread to provide for the labview dll to run.the vc main thread goes on to other things.But the vc++ main thread must communicate with the labview dll by setting its inputs' parameters and get the results of running labview dll.Can you advise me how to realize it?
       I think global variable of labview could be useful when realizing the communication betweeb vc thread and labview dll.So I want to ask whether the labview global variable could also be built into dll and use it.Could you please tell me how to realize my idea?
       Thank you!

    [email protected] wrote:
    Hi!
    I want to build labview application into dll and use vc++ to call
    it.The labview program is a little complex,for it has many interface to
    vc++ and has while loop in it.When I use vc++ to call it,I must use
    vc++ to do other things.That is to say,vc++ creates a new thread to
    provide for the labview dll to run.the vc main thread goes on to other
    things.But the vc++ main thread must communicate with the labview dll
    by setting its inputs' parameters and get the results of running
    labview dll.Can you advise me how to realize it?
       I
    think global variable of labview could be useful when realizing the
    communication betweeb vc thread and labview dll.So I want to ask
    whether the labview global variable could also be built into dll and
    use it.Could you please tell me how to realize my idea?
       Thank you!
    You
    can't access LabVIEW globals directly from a caller to the LabVIEW DLL.
    However there is no problem in providing specific accessor VI functions
    to that global and export them as additional functions from the DLL.
    Rolf Kalbermatter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • I need to program a Hittite Fractional​-N Synthesize​r Evaluation Kit with a HMC702LP6C​E an external YIG oscillator​. Not sure how to use Labview to control the PLL.

    I need to program a Hittite Fractional-N Synthesizer Evaluation Kit with a HMC702LP6CE an external YIG oscillator.  Not sure how to use Labview to control the PLL.

    Here is how to use the PLL. But I don't know of how to interact with that device
    http://zone.ni.com/devzone/cda/tut/p/id/3781
    And for thouse who don't know what a PLL is a free bonus link is here:
    http://digital.ni.com/public.nsf/allkb/07BC8D77D4E​9AE258625708B007CE74F?OpenDocument
    and a second one on what that device is: http://www.hittite.com/products/view.html/view/HMC​702LP6CE
    Now we are all caught up to speed.
    Sam S
    Applications Engineer
    National Instruments

Maybe you are looking for

  • What is the flash player memory limitation in browsers?

    thanks in advance

  • Extreme base and daisy chaining lacie stackable drives...

    Had a external lacie drive working fine, showing up on my desk top. proceeded to daisy chain another drive on top, and can't get the thing to show up on the desk top for the life of me. What and where do I plug in the connecting usb or firewire, how

  • Can I use my iMac as a display for a G5 - New Mac User

    I am still a fairly new iMac user, I would like to know if I can use my exsisting iMac with someones elses G5, and use my iMac as a screen display for his G5. Im sorry if this topic does not belong in this forum, I did try searching thru other forums

  • How to alter a Form to modify multiple tables

    I want to create a form that will insert or update into multiple tables at once. I have provided a picture of what i have in mind: http://imageshack.us/photo/my-images/21/custformexample.jpg In this example I have 3 tables: Customer (Cust_ID, Name,Ad

  • About burying a superior software ...

    We are designers, producers, nerds, geeks. We aren’t interested in share holder value. We always just wanted to work with the VERY BEST software for vector drawing. We had it for many years. It was called Freehand. We need not understand why ADOBE bu