Jump to content

Christian_L

NI
  • Posts

    107
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by Christian_L

  1. 3) The coolest one by far, make RT targets actually support databases by porting SQLite to Pharlap and VxWorks targets. There has been some talks about it but I didn't see anything definitive on OpenG. Currently trying to get SQLite to build as a DLL in CVI.

    Just FYI, in Systems Engineering we have implemented this solution using SQLite for the newer VxWorks based cRIO targets. You may want to contact us before spending a lot of time on that implementation.

  2. I have posted it on the NI forum.

    http://forums.ni.com...hread.id=434634

    /Staffan

    You'll likely need to include your 8.6.1 project that is causing the problems with your posting on the NI forum in order for NI to be able to look into the problem. As you mentioned this doesn't happen for every project and so the AEs and R&D will need something specific to look at to figure out what is going on.

  3. I am pretty sure I am missing something either with using LV Project Explorer or a saving option.

    When I am programming and making stuff work/backing everything up/debugging...I finally get my program running the way I want. The problem is that sometimes in the heat of battle I have subVIs and files crossed linked across multiple desktop folders, a thumbdrive, etc.

    I havent' yet found a way to export everything I am using to a folder (for example to move to a thumbdrive to work on another LabVIEW PC). I always end up missing files and then manually gathering them up (after I make notes when I try to load the program).

    Am I missing something?

    I hoping that I have gotten by without discovering this awesome developed LV feature, that everyone else uses.

    Using Save As... in the File menu you have the option to save the entire VI hierarchy in a new location (folder). This will save the current VI and all statically linked subVIs. Any subVIs that are called dynamically must be saved manually in addition.

    Another option is to use the Source Distribution under the Build Specification in the project. This requires the Application Builder.

    http://zone.ni.com/r...source_dist_ex/

  4. Thus there does not seem to be a way to

    get to the actual adapter names (which are different) allowing me to find the IP address being used

    by VI Server. So my question is:

    1. Is there a way to find the IP address of the VI Server

    Based on a quick test, I think the answer is both. On my laptop with a wired and wirelesss network interface, LV 8.6.1 opens a VI server on both adapters and I can connect to either one from a remote system.

    I tried the following code to determine which adapter was already used by VI Server and it turned out both.

    post-3370-125070382803_thumb.png

  5. Hi All,

    I want to develop a simple pc messenger application using TCP\IP protocol. I want to send a broadcast message to all the systems connected on LAN how can i do it and also how can i get all the IP address os all systems on LAN

    TCP does not support broadcasting as it requires a connection for each communication link, however UDP does allow for broadcasting to all systems on the local subnet. Each system listening just needs to open a UDP port at a known port number, and then you can broadcast a message using UDP to that given port number. (Send the UDP message to 255.255.255.255 for broadcasting.) You can send out a Discover or Ping message so that each system listening responds to the sender with its name and IP address. This wil provide a list of available systems to the sender.

    You can check out the Asynchronous Message Communication (AMC) reference library which handles most of what you are asking for. It includes a Ping function which will discover all of the systems on the network which have the AMC listener enabled. This allows you to get a list of devices on the network so that you can send directed messages to each.

  6. Ahhh... But LabVIEW isn't just any other programming language!

    And it's (native) implementation of OOP is very unique (thanks AQ worshippy.gif )

    Should we use standard terms of other languages?

    I don't see why either of these would cause us not to use standard terminology for what seems like standard programnming features.

    If we want LabVEW to be accepeted as a programming language, which at least some strive for, then we should use programming terminology when talking about it.

    I have seen arguments for this, and against this, on the forums

    Does it hinder or help people learn, who may have or may not have other programming experience???

    For people without programming experience, I don't think it makes any difference what we call it, as the name won't mean anything to them either way and they have to learn the concept.

    Should it be a GHEER-MLB or a widget pointer? Which of these would you rather learn how to use?

    But I tend to agree - the term object reference sounds clear and concise.

    Great point on LVOOP-DVR vs LVOOP-SEQ !!

    I am thinking that LVOOP-DVR is the more native approach, as I can see DVR being the future of byRef OOP in LabVIEW, and as such warrents the term native object references IMO.

    What do others think?

    But the point should be to get away from calling it native anything. Either is native and you don't need to call it that, or it isn't native and needs a different name.

    Should they be NLCs* or just classes?

    *Native LabVIEW Classes

  7. Nice summary!! I think everyone would concur on the need for a defined term. We used to have LV2-Style globals, action engines, VIGs, USRs and now we simply have FGVs

    Here is a thought from a discussion I had last night with someone who knows nothing about LabVIEW. Perhaps in the quest for the perfect "name" we focus less on OOP and more on a name that reflects the benefit of the technology. For instance, the dynamic dispatch just rocks. In essence we now have intelligent wires. What if we follow that line of thinking and see what pops. Perhaps I'll have a chance to return to last night's conversation.

    Regardless, "object reference" was in several comments above. I tend to make the mistake of overly tying DVR with LVOOP when much of the LabVIEW community will use them without classes.

    I will check "on high" with the "big wigs" and at least weave a few paragraphs into the Advanced Architectures in LabVIEW course.

    I would look at other programming languages and see what they call their classes and objects.

    Looking at C++, it seems the term class and object are pretty popular. So if LabVIEW has a native class and object, why not call them class and object? (It's not like were calling an integer an LVINT.) Since the wire representing a native object in LabVIEW is 'ByValue' then use the appropriate modifier for a reference to an object, like object reference or object DVR. I guess a single element queue containing an object would be an object QR. We may still need to differentiate between DVR and SEQ containing an object.

  8. The current project which iam working involves a lot of FP screens (modal). I am searching for a better navigation systems for the screens control. Right now iam using buttons in every screen to jump to next screen.

    What you describe is a very common requirement in industrial control applications, where often a touchscreen is used to display these individual control screens.

    We (NI Systems Engineering) have put together a reference design which is one solution to this requirement. It is called the HMI Navigation Engine (HNE) and parts of it are also included in the LV Touchpanel module (8.6 and later).

    The reference design is based on pure LV code and will work on Windows as well as LV touchpanel targets.

    The HNE uses a main VI in your UI application which is not visible to the user. It calls any number of subVIs, each of which is one of the screen you show to the user. The HNE VIs provide easy-to-use tools to switch between screens. They also keep a record of past screens visited so that you can easily add a Back button which jumps to the previous screen. The number of previous screens stored in memory can be configured.

    The HNE document describes all of this in more detail.

  9. So I tried this:

    post-9165-124966698951_thumb.png

    It's easy to do, just go into the state vi, copy the unbundle and bundle, and paste them in the SM. The problem being, of course, that it breaks the code, and requires disabling the code. It's actually easier to read than it looks like from this pic, but it still is on the "foggy" side.

    Anyone have other ideas? Or has this one already been solved and I just wasted a half hour making pretty screen shots? smile.gif

    Copy the Bundle and Unbundle functions to MS Paint, and copy them again back to LabVIEW. They will be bitmaps and will not break your code. Just put a note next to them as a reminder, otherwise you'll freak out in two years when you can't figure out why you can't wire to them.

  10. If you're around on Monday for Alliance Day you may want to stop by the following session at 4:30pm to see some new OO features in action.

    Session ID:AD2650

    Title:Tools and Techniques for Total System Configuration

    Abstract:Examine a reference design of a generic configuration editor framework that can be customized to handle a variety of configuration requirements in different applications and industries. Configuration items are defined using LabVIEW classes, class inheritance is used to quickly extend functionality throughout the configuration tree, and XML stores the configuration data for use in a deployed application.

  11. Just found a useful site. It is basically a Twitter for data! You can update the site once every 5 seconds. It also has the ability to send data out to devices and whatnot.

    http://www.pachube.com/

    I think I'm gonna use it to monitor the fermentation of my beer...

    There's been some discussion and examples posted about interfacing LabVIEW to Pachube in the DIY LabVIEW group on NI Community.

    http://decibel.ni.co...t/docs/DOC-4158

    http://decibel.ni.com/content/docs/DOC-5425

    • Like 1
  12. Hi all

    I understand this is sort of a silly to some even a stupid question I was wondering how would you do a letter by letter comparison. If you were making a

    password program.

    Thank you.

    • Use String Length to determine the number of letters in each password.
    • Then use String Subset inside of a For Loop to extract each letter from each password.
    • Then use Equal? to compare them. You can use the To Lower Case to make your comparison case independent, but you normally don't want that with passwords.

  13. Your explanation makes no sense to me. I'm not following. If you've already read/skimmed it then it won't be in the New Content list. New content, means stuff you haven't read yet.

    Mike,

    Is there a way to optionally revert back to the old behavior where read content stays in the View New Content page? I personally will read/skim new content and then plan to go back and answer some questions, but it becomes difficult to find those posts when they disappear from that page.

    Thanks,

    Christian

×
×
  • Create New...

Important Information

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