Jump to content

jgcode

LabVIEW Tools Network
  • Posts

    2,397
  • Joined

  • Last visited

  • Days Won

    66

Posts posted by jgcode

  1. If you are working at a new company and you find out they won't invest in the tools you need to do your job, or that they steal from other companies, that's a sign that you have not found a great place to work.

    Thats a really good point.

    Although I am sure this happens more out there than I would like to think it does! sad.gif

  2. Something to note...

    Using a home install of a company license may end up gifting your personal work to that company.

    If you wish to keep/open source/license/sell your work independently, make sure you know your employer's policies, your employment contract and local laws.

    Good point!

    My post was related to working on company work, on a company license, so I have no idea what your company's policies are...

    ...Heck I better find out what mine are :)

  3. Hi, i was wondering how much it would be to buy the Labview license for myself. Then noticed the price :blink: , so is there any discount out there or do you just use your companys version of the Labview??

    This is what I have been told by my employer, it may not be 100% (and best to hear it from the horse's mouth) but it is my current understanding...

    So I have been told NI have loosened up the license restriction from years ago. Currently, for a standard purchase of LabVIEW you are allowed 3 installs with the notion that you will require the following (or similar setup):

    • 1x Development Machine
    • 1x Running System (for debugging) Machine
    • 1x Home Machine

    I think that's pretty fair, although some my argue differently, as there is also this Idea out there: Noncommercial Hobby/Home license for LabVIEW which has really blown up in votes since I last saw it!

    But I am probably biased as we ran a VLM at my last job and this one we are a Certified Alliance Partner with a Dev Suite - so T&C are different.

  4. Is there a way to use LVcompare with Labview Full Developement System ?

    I have try to use it with tortoise , but get below error

    Hi Eric

    I got LabVIEW 2009.SP1 Professional and TortoiseSVN 1.6.12 - doing a Diff with LVCompare works fine for me.

    The VIs which do the actual comparison are only shipped with LV pro, which I assume is the reason this doesn't work.

    But you must have LVCompare install with your setup if you can configure Tortoise to point to it in the first place?

    Also, if you want me to try anything specifically to help out let me know.

    Cheers

    -JG

  5. sooo... it's kind of a sin to do this in an excercise as simple as this one...

    Hey if it works it works? One issue with tying your logical code to your UI code is that you can't easily test your logic. I would say you definitely have scope to use subVIs. How far you what to go with it depends on e.g. What is the life-cycle of the code? Does some one else have to work on it? Will the project be expand to include more functionality? etc...

  6. Just wondering if anyone knows anything about capturing events so that they can be replayed in the correct sequence and time order. So

    that it will replay the application in the exact same way the previous user used the application (No text input, just clicks representing touch screen user input).

    One example way to approach it could be:

    If you have a UI and a Controller

    And the UI sends messages to the Controller for each button press

    And for each button press, the action was also logged to disk

    Then you could read the file back and and send the messages directly to the Controller

  7. I don't think they are any more painful than, say, queues or notifiers.

    I agree. I use this architecture a lot:

    I use user events when I need to have code that sleeps on both UI events and data arrival. But it is really personal preference -- many programmers are successful using user events generally.

    So most of the time events are a more natural fit for me too (I have templates handle the registration etc... so its no real extra work to set up and handle)

  8. Hi,

    I work with a team of very experienced LabVIEW developers, but none of them can answer this question! I seem to remember being able to drag and drop a diagram snippet from the block diagram of a subVI from it's icon.

    Imagine you have your function pallet open, and you grab a VI, and instead of its icon being placed, it's the code snippet from its block diagram. Kinda like a template. The VI DOESN'T HAVE A FRONT PANEL!!

    Have I simply dreamed this up!? I don't really need this functionality, but I would love to clear my head.frusty.gif

    Thanks in advance,

    Andrew

    Hi Andrew

    You are not dreaming... ...yes you can do this. :)

    All you need to do is select that VI as a Merge VI (artifact) or to Place VI Contents when editing the palettes (also I recommend checking out VIPM 2010 as it makes editing the palettes really easy too).

    Check out the Nugget Penman here for more info on it.

    As for dropping an actual template from the palettes - you can vote for this Idea beer_mug.gif

    • Like 1
  9. It's not a version problem -- that's a separate error code. This error only occurs when the data was flattened with a class of name XYZ and when unflattening there is no class of name XYZ in memory. I don't know (or at least don't recall) the bug that Jarrod S mentioned. As far as I know, that's the only situation you should be getting this error.

    Look at the actual flattened string... you should be able to see the name of the class embedded in the binary string. Look at the Class Hierarchy window. Is that class in memory?

    Ha! Turns out it was a bug. The class string is now compressed (the class names weren't even showing up, so this is how I stumbled on this), but the read methods weren't updated (and I didn't know about the change). So that explains it all.. and its ok, 'cause now my problem is sorted and I learned some stuff about error 1527 :)

  10. Thanks guys

    I have seen this error happen before for classes that belonged to a LV library. They would fail to be unflattened with this error even though the class was indeed in memory. I believe this bug was fixed in LV2009.

    Yes, the Classes are in a LabVIEW Project Library (for namespacing). But the Dev Env is 2009.SP1

    Usually, this happens when you have a Child class being flattened on the RT system and on the host system, you unflatten it as a Parent class, without the child class actually being loaded on the host side.

    I am not the author of the code (and not a work at the moment) but I am pretty sure the Class being read has two Classes as data members, one of which would be child class at runtime.

    Is there any way to 'load it' - I mean the code its all there in src tree/project, and it was all working previously, so I am not sure why now it fails. I am also pretty sure those methods are called on the Real Time, and that has been working fine too.

    Cheers

    -JG

  11. Howdy!

    Warning! - This may be stupid question (please bare with me tho) :)

    In a project, data (hierarchy of classes, which contain clusters) is saved to disk on the Real Time

    The file is read back on desktop PC.

    (This has worked fine for ages) What is now coming back is error 1527 on the unflatten from string primitive.

    Error 1527 occurred at an unidentified locationPossible reason(s):LabVIEW:  Attempted to read flattened data of a LabVIEW class that is not currently loaded into LabVIEW.

    As with the nature of Real Time, you need to save files before compiling down to the target.

    Therefore my questions are:

    1. Does the error relate to a class version mismatch (i.e. the Real Time has a newer version than the desktop PC)?
    2. Could the class version have been incremented in the compiling down to the target (but was never saved as the file was never checked out and subsequently everything is now out of whack)?
    3. Or could it be something else?

    Cheers

    -JG

  12. Speaking as the guy who wrote the queue primitives...

    The queues are meant to be the primary means of communicating data in LabVIEW between parallel chunks of code. They are completely thread safe, and they participate with LabVIEW's concurrency scheduling algorithms. They're designed to minimize both data copies and latency and have been stable for many years.

    User events go through queues that share most of the code with the general queues, although they have a bit more overhead since at any time there might be multiple listeners for an event, which can (not necessarily "will", just "can") cause more data copies. User events are data broadcasters, where as general queues are data point-to-point transmitters. The general queues thus have less overhead, but it is a very small amount less overhead.

    For me personally, I prefer the general queues instead of the user events only because of the arcane nodes and special terminals that are required to register dynamic user events. I use user events when I need to have code that sleeps on both UI events and data arrival. But it is really personal preference -- many programmers are successful using user events generally.

    Sweet summary. thumbup1.gif

  13. I am looking to create a user interface that has a bunch of tabs that can be opened and closed similar to a web browser. I was thinking maybe we could do it using the visibility settings on pages of a tab control and maybe moving tabs posistioning around. Failing that we could simulate tabs with buttons and changing elements of the interface to show a "tab" based on the buttons. I was wondering if anyone had done this sort of thing in labview before and had any tips.

    Don't forget to check out this tabbed x-control beauty by Olivier Jourdan too.

    • Like 1
  14. I have not tried to pushed the limits of the approach.

    I have smashed the Event Structure with events and it handles it really well (its easy to try it). Albeit this is usually with messages rather than data, but I have spoken to other devs that say they use it for streaming data between modules just fine.

    For me the more importantly option is that you cannot manage the Event 'queue' as you can with the the Queue's 'queue' primitives (flush, check etc...).

    Normally that is not an issue and and prefer to use Events, but it depends on the use case.

×
×
  • Create New...

Important Information

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