Jump to content

lraynal

Members
  • Posts

    68
  • Joined

  • Last visited

Posts posted by lraynal

  1. QUOTE (Minh Pham @ Oct 14 2008, 05:12 AM)

    Digital images? LabVIEW is the software :camera:

    And ????????

    What is taking the picture ? Do you have a Camera ? Are your picture already files ? Are they JPEG, GIF, BMP ? What do you want to analyse ? A pixel ? All the colors of the picture ?

    As Chris said, give us a lot more details to let us help you !

  2. QUOTE (T_Schott @ May 27 2008, 10:43 AM)

    Here is the part of the code reproducing the problem:

    Download File:post-6600-1211880490.zip

    If you don't have the Report Generation Toolkit, you probably just need to "Relink" some of the VIs (because I'm finally using the basic Report Generation fonctions.

    QUOTE (T_Schott @ May 27 2008, 10:43 AM)

    did you use the debug enviroment to debug the exe?

    Not really, I have used LOG Files to trace the error occuring inside the executable !

  3. Dear all,

    I have develop a software listing VIs in a folder and generating a Word report (using the Report Generation Toolkit 1.1.2) including the VI icon, the block diagram, the front panel and other VI descriptions. I'm using the VIs which are under the palette: Report Generation -> VI Documentation.

    Everything goes well under the developpement engine, but images (icon and block digram) are not working under the executable.

    post-6600-1211876588.png?width=400

    I found the problem source: "Error Code: 1043 - Source: Property node (arg 1) in Create_VI_Documentation_Component_Image.vi".

    The reason is: This function does not work under the LabVIEW Runtime Engine 8.5:

    My question is: How can I do to make it work ?

    Does anybody is able to generate an executable generating a report with the block diagram of a VI !

    Thanks a lot for your help.

    Laurent

  4. QUOTE(EFFE-GI @ Feb 28 2008, 10:25 AM)

    Hi all,

    I want to visually show the upper/lower limits in a chart, keeping its original scale. For instance, I've a time/pression plot (0-10 bar) and I want to show the valid pressure is between 8-9 bar.

    Is there a way to show two lines (at 2 specified Y values) or change the background or, more generally, to access the chart canvas and operate over it?

    Thank you

    --

    Nicola

    Perhaps you should think about using a Graph XY !

    It's a bit less easy to use, but you control it much better.

    And if you want to stay with a Chart for the "chart history" facility, you can use it to store the values, and then use a Graph XY to show the values in you front panel !

    Laurent

  5. G'Day as well Chris !

    I will have a look at the architecture example and see if it reach my goals !

    But from what you said, I can have "almost" as many threads as I want, which permits me to keep the CAN functions I have, and ameliorate them only !

    I will probably have soon other questions about CAN, but let see that later !

    Thanks a lot for your answer, tthanks as well Mike for your's,

    Cheers mate,

    Laurent

  6. QUOTE(bmoyer @ Feb 26 2008, 05:01 PM)

    The default "Full Dynamic" range, means to scale the image so that the brightest pixel in the image gets a 255 (maximum brightness on the screen). MAX doesn't display in Full Dynamic range. You would think that the default display method would be the same as MAX but it isn't. NI would have to explain that decision for you.

    Bruce

    Ok, looks quite clear to me, now ! Even if.....

    Thanks a lot, Bruce !

    Cheers,

    Laurent

    Note: Anyone who would like to add something to this "strange" behavior is more than welcome !!!! I'm still hungry of information and explanation !

  7. QUOTE(bmoyer @ Feb 26 2008, 02:26 PM)

    It doesn't seem like there's anything wrong with the example code, just the scaling of the values displayed is different. It seems as though the image is getting "autoscaled" to the range of pixels values in your image. Right-click on the "Image" control and select "16-bit Display Mapping...". Change the "Conversion Method" to get the correct display. I've also found that when the 16-bit Display Mapping isn't working the way I expect it to, that adding the "IMAQ Image Bit Depth" function VI after the image is acquired (keeping the "Bit Depth (0)" of the IMAQ Image Bit Depth VI unwired), usually solves the problem.

    I've tried the different conversion method, without any correct results !

    The correct one should be "Given range" from 0 to 255, but that's worst than the original...

    I've tried as well to add "IMAQ Image Bit Depth", but no better results...

  8. Hello LAVA users !

    Here is an architect question:

    I need to control / read 4 devices with a CAN bus.

    Each devices have 4 frames to watch (1 to command the device, and 3 to read)

    Actually, I have already some code, which open a "reference" for each frames, and use Occurence to wait for a new frame to read.

    If I'm using this code, I will have 4x4 = 16 "threads" (parallel loops in LabVIEW).

    Do you think guys, is it a good idea to have so much "threads", knowing that I will have 2 or 3 for the GUI + 1 or 2 for ANA + 1 or 2 for DIO...

    Which makes something like 22 threads !!!!

    I know (by theory, I've never done that, yet) that CAN is like RS232, I can have a write thread, a read thread, and an analyser thread (the read send to the analyser by Fifo !).

    Which solution looks better ???

    The first one: almost no new coding, but too many threads perhaps ?

    The second one: All the coding to do, but less threads and then less CPU, less memory, ...

    What do you think ?

    Laurent

  9. Shane is right, the IMAQ DLL calls are re-entrant, but not the VIs encapsulating this call (in 8.5). Which means that creating a copy of this VI (for the second loop) IS a solution ! It's probably not the best one, but it works !!!!

    (I could change the property of the VI, but what if my client decide to "update" products of NI, he will have to change the properties again ?)

    And I get my target time:

    The whole process parralelized takes half the time without the parralel loop...

    Well, after all these discusions, I can't add more than that !

    Thanks all of you,

    Laurent

  10. Hi folks,

    I have many re-entrant VIs.

    If I double click on the icon on a diagram, the clone will open (which is perfect to debug it !), but when I want to open the "real" VI, not the instance, it looks like I need to go through the Explorer or through the VI Hierarchy (it takes time !).

    Is there a way to open the VI, not the instance by, for example, clicking on a key and double clicking on the icon ???

    If this feature does not exist, I would like to add it to my "wish list" !!!

    Note: I'm using LabVIEW 8.5

    Thanks !

    Laurent

  11. QUOTE(shoneill @ Feb 11 2008, 11:45 AM)

    I've had the same problem. What you need to realise is that the DLL calls are all configured as Reentrant. For some reason (The wisdom is beyond me unless it's a bug-fix) all the VIs CALLING the DLL-nodes are NOT set to be Re-entrant. This effectively makes the calls NOT reentrant. I've played around with simply setting the VIs to Re-entrant, but this seems to lead to the occasional problem with the IMAQ functions. I think there are certain functions which can be made reentrant (without problems), and others which can't.

    Maybe newer versions are better? I was using the 12t Quarter 2007 Developer suite version.

    Shane.

    Hi Shane,

    Yes, my last test seems to go your way: I've duplicate every IMAQ function I'm using (for exemple: "IMAQ ArrayToImage.vi" has been duplicate to "IMAQ ArrayToImage 2.vi") both calling the same DLL.

    I'm using the number 1 on one thread and the number 2 on the other thread, and almost reach my goal (half the total time)!

    I will put the time missing on your explanation of function not called as re-entrant...

    I'm still waiting for any other/new ideas !

    So please fell welcome to join the discussion ! And thanks a lot Shane !!!

    Laurent

  12. Dear all,

    I'm trying to ameliorate a software by developping it on a dual core.

    I've parallelize two tasks and win already some times, but I'm far away from the 2 times quicker I'm expecting for one reason: The two tasks are using the nivision.dll.

    I was thinking on duplicating the DLL and calling on the first task the nivision.dll, and on the second task the nivision2.dll !

    But, I get an error: something like "the entry point of the function IsImage does not exist in the dynamic library nivissvc.dll"

    Does someone has any idea to correct this bug ?

    Does someone has any idea to duplicate the task using the same DLL ?

    Every little suggestion could be usefull, so please don't hesitate to throw any idea !

    Thanks in advance for your precious help !

    Laurent

  13. Dear all LAVA members,

    I need to be able to close a dialog panel with the panel close event at two different places in my diagram.

    And this is not working for the second event structure.

    Does anybody has a clue on what to do to solve this ?

    post-6600-1202222695.png?width=400

    or is it not possible to have the same event twice ?

    For the one who would like to try, here is the code in 8.5

    Download File:post-6600-1202222751.vi

    Thanks for your precious help !

    Laurent

  14. OK, I have the solution !!!! Thanks to Johann (on the NI Forum)

    The problem comes from the parameters to control the queue size regarding the memory size. Of course you will tell me ! But that was pretty difficult to find all the informations to manage the best way these queues...

    Here is the formula:

    Memory_used = (( Queue_length +1) x Entry_size ) + 30

    with:

    Queue_length: the parameter to enter in ncConfigCANObj.vi

    Entry_size: 8 bytes for a command frame and 16 for a reading frame.

    30: the size of a header

    And the memory available is usually 6600 bytes.

    In my case I need to configure the 5 queue size at 30 (frames) to be sure that it fits my memory !

    Well, I hope this is clear !

    Thanks for those who tryed to help me !!!!

    Cheers,

    Laurent

  15. QUOTE(crelf @ Nov 26 2007, 04:10 PM)

    You're absolutely right - now that I see your code, your problem isn't what I was talking about - sorry for the confusion. What is the value of "ObjHandle In" at "ncAction.vi"? Are you sure that it's valid? Are you sure that the BITE element of "Identificateurs" that you seem to manually build in "Configurer CAN1.vi" is right?

    Yes, it is correct. If I disable one of the frames (for ex: STAT2) and enable the BITE frame, I can get it correctly. So the "address" of this BITE frame is correct.

    NI-CAN seems to unlike the fact to "read" more than 4 objects (+ 1 command).

    I suppose that's a problem of configuration, but can't see which one to change to get what I need. I tried a lot of different configuration, but the hardware I'm working on, doesn't like to love some of them.

    Argh !!!!! Looks like I'm gonna spend a ong time on this problem, and I need this stuff for yesterday... Argh !!!!!

    Well, thanks for your help, and everyone else who is watching this thread !

    Please continue to give me some advices... (should be something easy I can't see cos' I'm to much inside this trouble for long days...)

    Cheers !

    Laurent

  16. QUOTE(crelf @ Nov 26 2007, 04:10 PM)

    You're absolutely right - now that I see your code, your problem isn't what I was talking about - sorry for the confusion. What is the value of "ObjHandle In" at "ncAction.vi"? Are you sure that it's valid? Are you sure that the BITE element of "Identificateurs" that you seem to manually build in "Configurer CAN1.vi" is right?

    Yes, it is correct. If I disable one of the frames (for ex: STAT2) and enable the BITE frame, I can get it correctly. So the "address" of this BITE frame is correct.

    NI-CAN seems to unlike the fact to "read" more than 4 objects (+ 1 command).

    I suppose that's a problem of configuration, but can't see which one to change to get what I need. I tried a lot of different configuration, but the hardware I'm working on, doesn't like to love some of them.

    Argh !!!!! Looks like I'm gonna spend a ong time on this problem, and I need this stuff for yesterday... Argh !!!!!

    Well, thanks for your help, and everyone else who is watching this thread !

    Please continue to give me some advices... (should be something easy I can't see cos' I'm to much inside this trouble for long days...)

    Cheers !

    Laurent

×
×
  • Create New...

Important Information

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