Jump to content

Antoine Chalons

Members
  • Posts

    955
  • Joined

  • Last visited

  • Days Won

    34

Posts posted by Antoine Chalons

  1. QUOTE (normandinf @ Jan 21 2009, 02:46 PM)

    [...] and have your different graph UIs extract the portion you need to display and manage the "zoom" factor. What I mean by that is that when you display a full day of measurements, you surely won't need to put every data points on the graph, you could interleave one every five points or any other ratio you prefer... this will reduce your memory usage dramatically.

    I wrote some code to do that in a project a while ago. Basically using the graph ref to get the graph width in pixel and then decimate the data (not exactly decimating, but taking min/max/median on a certain chunk of data ;) ) to avoid dumping 10^9 point plot into a 200 pix wide graph.

    I'm planing to clean it and propose it to LAVAcr but don't hold your breath.. there is too much snow in the alps for me to spend my WEs on that before a while :P

  2. QUOTE (neBulus @ Jan 22 2009, 03:35 PM)

    I agree with Ben !

    And I would relate this to a the comments on http://pasquarette.wordpress.com/2009/01/07/customer-affinity-how-are-we-doing/' rel='nofollow' target="_blank">this blog post from John Pasquarette.

    "for partners looking to build products, or connect their products to LabVIEW - I think we are pretty weak. We can do a better job working with these kinds of partners to get better access to our user base, market their products, provide frameworks for assuring that their products have a defined level of quality, reliability, and usability that matches up with LabVIEW users' expectations, etc."

    I'm wandering if VIPM would be work without scripting, would it :question:

  3. QUOTE (Ton @ Jan 22 2009, 02:03 PM)

    Hi Antoine,

    there is a http://forums.lavag.org/AppMenuLaunchVI-t4163.html&p=16921#' target="_blank">special method for retrieving the application instance of the VI that invoked the utility VI:

    post-2399-1164007551.png

    Ton

    Hmmm... looks like I re-invented the wheel :rolleyes:

    Thanks for the hint

    I learnt a bunch of thing I was ignoring doing this utility VI but I feel I still haven't discovered everything..

    I used to think that a "project" was a LabVIEW context, but now I see it more as a group of contexts.

    The "links & relationships" between the LV app, projects and contexts is still a bit hazy for me, I'd have to dig into that when I get a moment.

    ..But if anyone has it clear in his mind I'd appriciate some explanations :book:

  4. Hi,

    I'm trying to make small utility VI that can set front panel properties of other VIs in memory. No special issue with that.

    I then wanted to put this utility VI in my Tool menu and here it begins to be a little trickier..

    I found out that when the my utility VI is launched from the menu it doesn't execute in the LV context called "Main Application Instance" but in the LV context called "NI.LV.Dialog".

    So I thought "ok.. let's modify my utility VI so that it gets the VIs opened in the "Main Application Instance" context", the thing is I can't find the way to do that :unsure:

    Anyone can help ?

    EDIT :

    Just found a solution with a coworker (thanks Falko).

    post-7452-1232626994.png?width=400

  5. QUOTE (tilli @ Jan 20 2009, 04:14 PM)

    hi,

    i am using system exce vi to execute iperf commands to cmd, i want to send many different commands from the same labview file. i have the code 2 send 5 iperf commands but only the first command is sent

    can any one help me with this problem i am attatching my code

    Hi,

    I modified your VI and "factorized" it into a for loop. basically you want to do 5 time the same operation but with different argument, that's what the VI now does.

    Feel free to ask anything if it's hazy.

    Hope this helps

  6. QUOTE (Darren @ Jan 9 2009, 10:05 PM)

    I don't know of a way to exactly reproduce the Context Help window contents based on VI path only, but the private App methods "Get VI.Description", "Get VI.Title", and "Get VI.Icon" can get you pretty close. All of those methods take a file path input and do not require opening a VI reference.

    -D

    Here is a VI that gets VI name, icon and description and puts these into a picture control.

    I'm not sure it can be put into the help windows using functions from the Help palette or maybe by saving the picture into a file and feed the file into the windows but I think it's not really nice...

  7. Hi,

    This is a bit suprising... I first reproduced your VI in LV 7.1 but without the "YScale.Marker.Visible" setting and it was working fine (the second Y scale was on the side of the graph).

    Then I added the "YScale.Marker.Visible" and had the behaviour you have. Do you really need to show/hide the marker ?

    I also made the VI in LV 8.6, and here the Yscale on the right hand side always comes on the side of the graph, no matter if you hide/show the marker as well or not.

    Hope this helps

  8. QUOTE (Poom-Thailand @ Jan 16 2009, 11:49 AM)

    I use the Vision Builder and convert to Labview file for use with control

    the

    servo motor. But I have some problem as shown below

    1.When I finish the programm with Vision Builder I convert to Labview file

    ,in this state I don't found the problem

    2.I cannot run Labview file because it has some problem about there are

    not found some of the command such as "IMAQ create" in the Block diagram and

    it is shown the "?" in the block ,then I don't sure that I'm install the programm

    right?

    3.When I open Labview file again It was asked for "IMAQ image.ctl" and any

    of

    the file with type ".ctl,.ctt" I don't know where can I find?

    4.When I use Labview to manage with the Image I input the command "IMAQ

    Build

    Coordsys" then the programm asked for many of the "IMAQ image.ctl" too.

    5.My device is :

    - Camera:Busler scA640-70fm

    - NI pci 6221

    - NI pci 8254r

    My programm is:

    Labview 8.5

    Vision Builder AI 3.0.1

    Vision assistant 8.0

    Vision aquisition 8.2.2

    What Can I manage my problem?

    I'm really need your help

    Help me please!!!

    Hi,

    The "IMAQ image.ctl" file is located here : C:\Program Files\National Instruments\LabVIEW 8.5\vi.lib\vision\Image Controls.llb\IMAQ image.ctl

    The "IMAQ create" function is located here : C:\Program Files\National Instruments\LabVIEW 8.5\vi.lib\Vision\Basics.llb\IMAQ Create

    Hope this helps.

  9. QUOTE (Poom-Thailand @ Jan 16 2009, 11:49 AM)

    I use the Vision Builder and convert to Labview file for use with control

    the

    servo motor. But I have some problem as shown below

    1.When I finish the programm with Vision Builder I convert to Labview file

    ,in this state I don't found the problem

    2.I cannot run Labview file because it has some problem about there are

    not found some of the command such as "IMAQ create" in the Block diagram and

    it is shown the "?" in the block ,then I don't sure that I'm install the programm

    right?

    3.When I open Labview file again It was asked for "IMAQ image.ctl" and any

    of

    the file with type ".ctl,.ctt" I don't know where can I find?

    4.When I use Labview to manage with the Image I input the command "IMAQ

    Build

    Coordsys" then the programm asked for many of the "IMAQ image.ctl" too.

    5.My device is :

    - Camera:Busler scA640-70fm

    - NI pci 6221

    - NI pci 8254r

    My programm is:

    Labview 8.5

    Vision Builder AI 3.0.1

    Vision assistant 8.0

    Vision aquisition 8.2.2

    What Can I manage my problem?

    I'm really need your help

    Help me please!!!

    Hi,

    The "IMAQ image.ctl" file is located here : C:\Program Files\National Instruments\LabVIEW 8.5\vi.lib\vision\Image Controls.llb\IMAQ image.ctl

    The "IMAQ create" function is located here : C:\Program Files\National Instruments\LabVIEW 8.5\vi.lib\Vision\Basics.llb\IMAQ Create

    Hope this helps.

  10. QUOTE (mic_k86 @ Jan 15 2009, 08:49 AM)

    Hi,

    I assume the first column is the timer value at which the temperature is measured. Can you post your VI so that we can advise better ?

    When using the express VI "write to measurement file" I'm not sure of the best way to set the number of decimal.. :unsure:

  11. QUOTE (mic_k86 @ Jan 15 2009, 08:49 AM)

    Hi,

    I assume the first column is the timer value at which the temperature is measured. Can you post your VI so that we can advise better ?

    When using the express VI "write to measurement file" I'm not sure of the best way to set the number of decimal.. :unsure:

  12. QUOTE (Ton @ Jan 14 2009, 10:58 AM)

    As far as I have seen this happens in the right way.

    If you encounter somewhere where this doesn't happen it is a bug and you should report it to NI.

    Ton

    This is true.

    A VI saved in LV 7.1 using file IO functions and opened in LV 8 will be fine (appropriate constants will be added to guarantee the same functionality) ; in my case it was coding in LV 8 and assuming that default values would be the same as in LV 7.1 :unsure: .

  13. QUOTE (rolfk @ Jan 14 2009, 10:14 AM)

    I think we have to separate memory leaks like defined by Rolf (memory got allocated and the reference got lost somehow without the memory being freed) and http://eyesonvis.blogspot.com/2008/07/memory-lakes.html' rel='nofollow' target="_blank">memory lakes which can be caused by uncareful use of the build array function.

    The way to detect memory leak and memory lakes are not exactly the same. I faced both. Memory leaks are annoying but once you've found out which reference is not freed correctly you can find a work-around. Memory lakes in a fairly big application (about 2k VIs) are really not easy to fix. In my case the memory used by the application was stable for about 30 hours and then started to slowly increase untill breaking the 2 Go limit and resulting in a crash.

    Since you don't always explicitly allocate memory in LabVIEW programming you need to learn how LabVIEW will allocate its memory and code your application appropriately. Learning this was time and energy consuming for me because I have no background in C (or any other language) but it was really worth, now I feel a lot more confortable in my day to day coding.

    Doing this might not be a "simple way" to detect memory leaks or memory lakes but this is the way I recommend. There are many good white papers on NI knowledge base regarding memory managment.

  14. QUOTE (rolfk @ Jan 14 2009, 09:19 AM)

    Option 3 was somewhere documented in old LabVIEW days (LabVIEW 4 or 5) but it seems it got somehow lost since, although it still works.

    Rolf Kalbermatter

    INDEED !!

    I didn't know it was documented, I just know it's not now and I think this is a shame :thumbdown:

    Another thing is driving me mad... on the "binary Write" primitive, before LV8 the input "header" had its default value to False and now in LV8 and above this input - renamed "prepend array or string size" - has its defauft to True. So if you're not careful when upgrading code from LV 7.1 to 8.X, the code is not broken but you get weird results when reading your binary file because some bytes to each chunk of data you write. That happened to me recently :angry:

  15. QUOTE (Variant @ Jan 12 2009, 10:07 AM)

    Well there is not much to say.. Check out the http://wiki.lavag.org/LabVIEW_configuration_file/VI_Server#server.tcp.enabled' rel='nofollow' target="_blank">LabVIEW Wiki on LabVIEW configuration file.

    This key will be present in the INI file beside your EXE when TCP/IP is checked in your LabVIEW options (Tools >> Options... >> VI Server: Configuration) ; I think you need this to be activated only if your EXE has to communicate with another application through TCP/IP.

    [EDIT]

    As Ton pointed : You need this to be activated if you want your VI Server to be accessible to other applications.

    Hope this helps.

  16. QUOTE (PJM_labview @ Jan 10 2009, 06:30 PM)

    The location of the file is slightly different but it does work !

    I added :

    labview.superPrivateScriptingFeatureVisible: "tabulation" True
    

    To the text file LabVIEW.app 8.5 Preferences located in User:"username":Library:Preferences

    Thanks !

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.