Jump to content

Vladimir Drzik

Members
  • Posts

    42
  • Joined

  • Last visited

Posts posted by Vladimir Drzik

  1. Suppose I have a lvlib (Dummy.lvlib) and a VI inside the lvlib. I'd like to make a copy of the VI, so I choose Save As, "Open Additional Copy" and check "Add copy to Dummy.lvlib". I copy the VI to a different folder, but under the same name. Yes I know this is a mistake. "Unable to Add Items" dialog pops up, telling me that I can't have two VIs of the same name in one lvlib. Which is fine, but then, after clicking OK, it crashes.

  2. Thanks for the suggestions. I am trying to follow the non-locking model, allowing multiple checkouts for text files. However, LabVIEW's SCC integration always makes exclusive checkouts. Which effectively prohibits me from using merging together with the SCC integration. Can you think of a way how to get around this?

    Vladimir

  3. Hi

    In one of our projects, I am using a hierarchy of LVLIBs to ensure correct namespacing of each VI. That also means that the whole project is included in a single top-level LVLIB. For SCC, I am using MS SourceSafe with the locking check-out/modify/check-in model. So far, only a single developer worked on the project at once, so he could check out the whole project when doing changes. However, there is a big problem when multiple developers try to work on the project. Every time a new VI is created, at least the top-level LVLIB gets modified. This LVLIB can be checked out by one user only, which leads to endless conflicts.

    Is there any good solution how to use namespacing via LVLIBs together with SCC?

    Vladimir

  4. Aristos: Thanks, now I understand. I just have some more notes to this issue:

    1. Wait for All Notifications is a bit clumsy, since it returns the input notifiers and their notifications in random order - so the notifications have to be ordered after that.
    2. I think the "non-safety" of Wait on Notification should be much more stressed in the documentation. One can waste a lot of time tracking the root of such a behavior down (for me it's been a few days :throwpc: ).
    3. I vote for adding of the "safe" version of the primitive ;) .

    Alukindo: Thanks for suggestion. Nevertheless, if you are creating an unnamed notifier, you get a new notifier instance with each call to Obtain Notifier.

    Vladimir

  5. Hi guys

    I have a strange problem concerning notifiers. There are two of of them. In one loop, I fire both of them sequentially. In a second loop, I am waiting for both of them sequentially. Now if the order of the waiting sequence is the same as that of the firing sequence, everything works fine. However, if I'm waiting at first for the second notifier, then for the first one, the latter waiting hangs. I'm attaching a simple VI to demonstrate it.

    Is this a bug or I am missing something?

    Vladimir

  6. Hi Rolf

    Thanks for the information, this is something I missed in the documentation. The number of threads per exec system can be interesting for me, because I'm using a lot of time-consuming DLL calls, which cannot be switched by the LV exec system. Do you know where I can find the information about dependence of number of threads on the number of processor cores in LV 8.5?

    Vladimir

  7. Hi guys

    I have a couple of questions regarding the "same as caller" execution system, which is set as a default value in VI's execution properties.

    • I understand the subVI inherits the execution system from its calling VI. Now does it inherit the calling VI's exec system if it's called dynamically, i.e. either by Call by Reference or by Invoke Node?
    • Is there any way how to determine the running VI's actual execution system?

    The multithreading model of LV is quite interesting, but there is only a little information about it in LV help, which moreover seems to me a bit outdated. Do you know about any other information sources?

    Vladimir

  8. QUOTE(Neville D @ Mar 29 2007, 07:38 PM)

    Why dont you make the clone VI's re-entrant and then make the re-entrant VI "open front panel when called". That way all instances will automatically open up at run-time. If you dont want some of them open, just close the window (it wont stop the VI from running).

    The only issue with this method is that its hard to figure out which instance is which.

    Neville.

    Yes of course I can do that. But I just don't want the four windows to pop up every time I run my application. I need them only in case my application is running and there seems to be something going wrong.

    Vladimir

  9. Hi guys

    I am using a reentrant VI which has several clones dynamically created through Open VI Reference. I would like to open the FPs of all those clones for debugging purposes (most of the time it is enough for me to have a look at what the FPs display). I know I can do the clone FP opening programmatically, but can I do it from the IDE once my application is already running?

    Vladimir

  10. Thanks for the explanation. This is quite a misleading statement in the documentation...

    Anyway, I still wonder why this statement does not appear at all processing VIs. Take e.g. IMAQ CannyEdgeDetection, there is no such note there, though the VI works the same way.

    Still I would appreciate some more insider info... Let's assume that we are running the processing VIs on one image only (Dst unwired). Some processing algorithms require a separate temporary image to be allocated during the processing, some don't. Where can you get the information about which ones do and which ones don't? This is a critical question if you are trying to optimize the application for speed.

    Vladimir

  11. Hi guys,

    In the help description of many image processing VIs, there is this particular note:

    "This VI modifies the source image. If you need the original source image, Create a copy of the image using IMAQ Copy before using this VI."

    Is this really true even if you connect a separate image to the "Image Dst" connector? I have tried it with the "IMAQ Convolute" VI and I can't see any difference been made to the source image. Actually, in time critical applications, it would be quite a terrible waste of time having to copy the original image every time I want to run a processing VI and still keep the original image.

    Is there any document describing deeper how IMAQ VIs work at low level? Besides my current question, I would like to know also the details about memory allocation etc...

    Vladimir

×
×
  • Create New...

Important Information

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