Jump to content

lraynal

Members
  • Posts

    68
  • Joined

  • Last visited

Posts posted by lraynal

  1. Hi !

    Download File:post-6600-1196084490.zip

    Here is the code, but as you can see it's quite big (2Mo zipped) because I don't have time to compress or even clean it...

    It's a code I "just" have to debugg, and that's not really pretty and easy to do !

    Anyway, I don't think it's a problem like the one you are talking about.

    The soft open the CAN Network, then create one object per frame (so 5 objects: CMD, STAT1, STAT2, EXT1, EXT2) and read these 5 frames in 5 different threads.

    I know that's probably not the best solution, but I didn't write this code, you know what it is to inherit from others...

    If anyone has any suggestion to update/ameliorate it, don't hesitate ! It could resolve my troubles, who knows...

    QUOTE(crelf @ Nov 25 2007, 10:18 PM)

    I'm glad to ear that ! Anything to help you !!!!

    Cheers,

    Laurent

  2. Hi !

    Download File:post-6600-1196084490.zip

    Here is the code, but as you can see it's quite big (2Mo zipped) because I don't have time to compress or even clean it...

    It's a code I "just" have to debugg, and that's not really pretty and easy to do !

    Anyway, I don't think it's a problem like the one you are talking about.

    The soft open the CAN Network, then create one object per frame (so 5 objects: CMD, STAT1, STAT2, EXT1, EXT2) and read these 5 frames in 5 different threads.

    I know that's probably not the best solution, but I didn't write this code, you know what it is to inherit from others...

    If anyone has any suggestion to update/ameliorate it, don't hesitate ! It could resolve my troubles, who knows...

    QUOTE(crelf @ Nov 25 2007, 10:18 PM)

    I'm glad to ear that ! Anything to help you !!!!

    Cheers,

    Laurent

  3. This message has been cross-posted on the NI forum: http://forums.ni.com/ni/board/message?boar...;thread.id=2982

    Dear All,Basically, I'm listening to 5 frames from NI-CAN, and I can't listen to the sixth... To be more precise, I'm listening to STAT1, STAT2, EXT1, EXT2 and I'm sending commands to CMD.When I try to add a "hearing" on the BITE frame, I obtain the error:"1074388947 occured at NI-CAN Open Object (ncOpen.vi)NI-CAN: Exceeded resource limit for queues in shared memory between firmware/driver. The ncReadmult function is not allowed. Solutions: Decrease queue lengths in objects; Set read queue length to at least 2; Decrease number of CAN Objects." I can't see any significative parameter to change...I'm doing a ncConfigCANNET + ncOpen + ncSetAttr, then for each frames: ncConfigCANObj + ncOpen + ncSetAttr + ncCreateOccur. That's when I'm adding the sixth frame's part, I get the error at the output of the ncOpen.Does someone knows what's happening ?Thanks for any help you could give me, even if it's just a thought... Thanks in advance ! I'm quite desperate actually...Laurent

  4. This message has been cross-posted on the NI forum: http://forums.ni.com/ni/board/message?boar...;thread.id=2982

    Dear All,Basically, I'm listening to 5 frames from NI-CAN, and I can't listen to the sixth... To be more precise, I'm listening to STAT1, STAT2, EXT1, EXT2 and I'm sending commands to CMD.When I try to add a "hearing" on the BITE frame, I obtain the error:"1074388947 occured at NI-CAN Open Object (ncOpen.vi)NI-CAN: Exceeded resource limit for queues in shared memory between firmware/driver. The ncReadmult function is not allowed. Solutions: Decrease queue lengths in objects; Set read queue length to at least 2; Decrease number of CAN Objects." I can't see any significative parameter to change...I'm doing a ncConfigCANNET + ncOpen + ncSetAttr, then for each frames: ncConfigCANObj + ncOpen + ncSetAttr + ncCreateOccur. That's when I'm adding the sixth frame's part, I get the error at the output of the ncOpen.Does someone knows what's happening ?Thanks for any help you could give me, even if it's just a thought... Thanks in advance ! I'm quite desperate actually...Laurent

  5. Hello Thang,

    I don't have LabVIEW on this computer, so everything I will tell you won't have any example attached... Sorry!

    You can configure the "File Dialog" to browse only for an "Existing Directory" (at least with 7.1 so the "old" files functions...) and you will have one of your solution (a new button called "Select Current Dir"), you can also right click on the folder button of a Path control, and configure the way to browse.

    Don't forget, as well, that you can put *.dir as a pattern to see only the Directories when you browse!

    I hope that will help you.

    Good luck!

    Laurent

  6. Dear all,

    I'm trying to debug a LabVIEW 7.1(.1) bug with the Y-scale(s) when autosizing and hide/show.

    I saw one topic under the NI forum related to this trouble, but dated in 2004, and without any complete answer... Just ideas !

    http://forums.ni.com/ni/board/message?boar...id=44096#M93787t.gif://http://forums.ni.com/ni/board/messa...inked-image" />

    The bug is: I have a XY Graph. When I change the range of the Y-scale, then hide it, and then autoscale... If I show it again, it sometimes (for not saying frequently !) has moved from the normal position... Like this:

    http://forums.lavag.org/index.php?act=attach&type=post&id=6305

    Here is a simple code to repeat this behaviour:

    http://forums.lavag.org/index.php?act=attach&type=post&id=6306

    One idea to avoid (a little bit!) this problem, is to show the scale before changing the range (when we auto-scale it) and then hide it again. We see a flickering, but that's almost working...

    I just can add that in 8.2 the hide and show of the scale is not moving the width of the Graph... Probably because of this recurent problem since a long time !

    Does someone has ever encounter this "old" bug, and has a better idea to solve it?

    For information, in my real program, I have 6 Y-scales for 6 plots, and I need to change the width of the Graph depending on the number of plots I want to see (i.e I don't want a "small" graph if I'm watching just one plot!)

    Thanks for your help.

    Laurent

  7. Hi all,

    I can't see any way to get the value of a "control" composing an Array, without creating this control.

    I explain myself:

    I have an Array of listbox. I initialise the property "String []" of this listbox, via a Property node of this control, BUT this control doesn't really exist in my Bloc Diagram! because it is embedded inside the Array.

    Now, I would like to get the "String []" of this control via the VI Server.

    And as far as I know, it's impossible because the VI Server can't find the listbox control !

    Does someone has an idea, how to get this, without creating the listbox as a real control...

    Here is my bloc diagram simplified:

    http://forums.lavag.org/index.php?act=attach&type=post&id=5999

    And the code in 8.2:

    http://forums.lavag.org/index.php?act=attach&type=post&id=6000

    Thanks for your help!

    Laurent

  8. Ok, I see, sorry for the mistake!

    The only solution I can think of, is to get the Property nodes of all the cells of your table, and then act on them...

    So, in your Array (in the Front Panel), you right click on each cell, to create a Property node...

    And after you can change the Text.BGColor of the string.

    As for the selection of the cell, you can probably re-work my first post, the same way.

    Hope it will help you!

    Bonne chance!

    Laurent

  9. Ok for the For loop explanation, which is fair enough, but pretty anoying for me: I will be "forced" to call the sub VI via VI Server, because I don't know how many data will be in my table, so how many subVI I need to launch.

    But, what's the difference between: cloned template and reentrancy ?

    In this case my sub VI has got shift register where I store data depending on the instance... I then need reentrancy.

    What are the advantage of the cloned template, then? It's memory is duplicated as well in as many instances I open this VIt ? same as cloned template... doesn't it ?

  10. Hi All.

    I'm using a reentrant VI (for the first time).

    I would like some explanation I can't find on the differents existing forums:

    1. Why can't we launch the reentrant VI in a for loop (and with the VI icone, not the dynamic call)?

    I then need to put as many "icone" as I need this reentant VI (see image below):

    http://forums.lavag.org/index.php?act=attach&type=post&id=5474

    2. It looks like it's better to use a Template for a reentrant VI, than a normal VI.

    Is it correct? What will be the advantage (or disadvantage!) for using a template in this case?

    Thanks for your explanation!

    Laurent

  11. That's a good way (I knew), but I would like something "quicker" than that!

    I told you this is just for fun, I don't really need that, so I'm looking at a great way to do.

    Actually with the code above, CTRL+M and CTRL+E, I go to the point. In the future I would be able to show the bloc diagram without the menu with only with CTRL+E (or else!).

    But thanks for this tip, very usefull!

    Laurent

  12. Dear all,

    Is it possible to show the bloc diagram (with something like CTRL+E) when the application is running but the menu is NOT shown... (so we don't have access to CTRL+E...)

    Until now, I'm using this code, which show the menu (under a CTRL+M key down event), then gives me access to the bloc diagram via CTRL+E.

    http://forums.lavag.org/index.php?act=attach&type=post&id=5452

    Does anybody have something smarter?

    Thanks in advance, but that's just for fun, so don't waste time on this...

    laurent

  13. Dear LAVA masters,

    I need to capture the change of a value (let's say a cell in a table, but it could be a string as well...) during the change...

    I mean, I can't wait for the end of the change to get the "change event". When I change the value, I want to be able to see the modification and do some actions.

    I can get an event during the modification, with "key down" (or up), but then, the value is still the one at the start of the change, not the one actually displayed!

    http://forums.lavag.org/index.php?act=attach&type=post&id=5450

    If you look at this example, I'm changing the line 4. I'm getting correctly the event, but the value I get is still '0'... (not '99999')

    Is there a way to obtain the new value during the change?

    Note: I'm under LabVIEW 7.1.1

    Thank you all for taking care of young apprentice!!!

    laurent

  14. Are you aware of the Customized Control ?

    You just need to take the control you need: Boolean for example, right click on it to open the Advanced -> Customize panel.

    From here you can "Import Picture" for the FALSE and the TRUE states. (The picture imported is the one you copy into the clipboard).

    So before doing this, you can create the circle or any other picture your want in Paint or any other graphical tool...

    Then copy, and paste in the "customized Control".

    If the problem is because of the "Circle", why don't you just draw your control with the background color of your panel in the back?

    Or perhaps you can import a Gif interlaced with a transparent color as background... never tried....

    Hope this will help you.

    Laurent

×
×
  • Create New...

Important Information

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