Jump to content

m3nth

Members
  • Posts

    219
  • Joined

  • Last visited

    Never

Posts posted by m3nth

  1. In the Endevo GOOP (GOOP Wizard 1, 2 or 3) you use the "new" VI to retreive the ref from a string name. If you are using openG it probably works the same.

    Jan Klasson

    Endevo

    5764[/snapback]

    I believe the question was, "How can I obtain the class name from the reference?", not "How can I obtain the class reference from the name?".

    Maybe if you knew all the names you've assigned for that class then you could look up all the references and find a match. Not a direct solution but that might possibly be a workaround.

  2. beside the obvious that one is a graphical language and other is text based. We need to build a test scheme to test RF components for military and space industry, in addition to mixed-signals ICs. What would be the ideal platform to do the job described above? Why would NI build 2 products when one can do the job so it must be something in it to differentiate the 2 products, right? TIA.

    5750[/snapback]

    I found myself evaluating this same question a long time ago.

    You're right, they kind of do the same things. It just depends on your needs and resources as to which you might choose.

    If the person(s) working on your project are fluent in C you may want to go with LabWindows. LabWindows facilitates people with previous experience in that arena. It also does not require a customized compiler that is controlled by NI--any standard compiler should work right (to the best of my knowledge). Also since it is text based, it suits itself very well to version control and software quality assurance or configuration management. From your problem description, that might be a pertinent thing to regard if you work for a company with established policies and procedures. While LabVIEW can be used with VCS systems, it's really clunky, you can't do easy compares on the code since it's graphical, and other issues like that (such as the fact that files are tens to hundreds of k's, instead of small text files, and that no two compiles of identical code turn out identical executables). Something else to consider about LabWindow is that if you ever have the need to integrate non-standard functions such as OS calls, it's probably a lot easier to do. In LabVIEW, it is much more complicated to make function wrappers for kernel calls or non-standard LabVIEW functions that NI or third parties haven't developed. Often third parties develop C/C++ code for just about everything, which you can find on the web and easily adapt with LabWindows, but not necessarily LabVIEW since it is not nearly as common.

    If you don't have experienced programmer(s) however and everyone working on the project will be generally new to programming, LabVIEW may be the way to go. It's intuitive at some level if you have any kind of computer or programming background (even if you're not fluent in anything in particular). Like I said earlier, it does not lend itself real well to VCS or SQA/SCM sometimes. It can also generate very large applications in terms of disk space, which also has associated costs in terms of VCS and network transfer speeds (depending once again, on your company resources and needs). It can also be extremely difficult to upgrade in the future if someone makes a project that's their first project and then leaves it be for several years. The problem is that people usually do that with not enough time and not enough experience and their coding style and archictecture is horrible. Just because LabVIEW is graphical doesn't mean it's self documenting in the slightest (in my experience, that's the furthest thing from the truth). So be careful if you're giving this to someone as their first project and you or they decide to use LabVIEW. Make sure they get trained--send them to the NI training if necessary which is really good, both basic and intermediate. Make sure their coding style is going to be readable and usable by someone else with LabVIEW experience. Make sure they're going to use a flexible archictecture which will allow for future upgrades, and more or less, make sure there is someone else to audit their programming.

    Those are just suggestions from my own experience but it will really depend on your resources. Throw enough time and money at a problem and either solution will work right? :) Good luck.

  3. Dear all,

    Is it possible to make PCI-6534 to read the input which is around 200mV? I read the datasheet which is available on ni.com and it says that PCI-6534 is 5V TTL. Does it mean that there is no way for it to trigger a reading as long as the voltage is smaller than 5V?

    Thank you very much for your attention!!

    Ayumi

    5745[/snapback]

    Well since the TTL specification says that a '0' is anything < 0.5V and a '1' is anything > 2.5V, the most straightforward answer is no, you can't trigger a 5V TTL signal with only 200mV.

    There is most likely a workaround however. Does the 200mV incoming signal meet some kind of spec? What about using a standard RS422/485->RS232 converter? Those use a voltage differential to determine a '0' or '1' where everything between -200mV to 200mV is no man's land, but maybe you could rig a workaround.

    If you have the abililty to use other hardware it probably won't be a problem to find a workaround, but by itself, I don't think you'll be able to tirgger the PCI-6534 directly.

  4. Here's another thing that's the most obvious in the world but which I never found for a long time:

    If you view the radix of a numeric on a control or indicator you can change the formatting by clicking the radix and selecting a new one (hex/oct/bin/decimal/etc). This comes in really handy sometimes while debugging since you can change the radix on the fly without having to stop everything and start over.

    Speaking of which, a 'p' is used for SI notation... anybody know what 'p' is for?

  5. Well, speaking of Icon editing: If you pick the font called: SMALL FONTS and use CAPS with size 8 then this looks great in the icon regardless of what you type.

    5749[/snapback]

    Wow. I use a custom font that I have developed myself for icons which I usually do by hand (I have it memorized) but I wind up using the default sometimes for speed even though I don't think it looks nearly as nice. The small font with caps is veryyyyyy similiar to the custom font I draw though--that should make a good (new) default font for me. Excellent tip.

  6. Just an FYI.... I use a producer/consumer architecture to handle events for large apps... you can look it up on NI knowledgebase... that lets you have a main event handler that queues up the events (the producer) and another loop (the consumer) that processes them independently in the order received. This allows most of the code to be disconnected from the main event handler and stuck in smaller subvi's if necessary. I know this isn't the direct answer to your question but it might be new for you. I also always recommend 100% learning how to use LV2 style globals as they make extracting code off the main VI into subvi's much MUCH easier.

  7. I found no password protection in these VIs.

    5681[/snapback]

    Cool. :thumbup: I think I found that VI somewhere (maybe a previous version?) where it was passworded or something where I couldn't look at the block diagram... you're right on though... essentially the same thing as the previously posted VI with a little more subvi structure.

  8. There ist a VI already in the vi.lib.

    -> "Open a Document on Disk.vi"

    Can be found here: ...\LabVIEW 7.1\vi.lib\platform\browser.llb

    Wolfram

    5654[/snapback]

    Could be wrong, but if I recall correctly, that VI is password protected without insght into how to actually perform the call.

  9. What I am looking to do is make somthing that operates as the end user would expect.

    In this case the addition needs to happen at the bottom.

    The user is going to expect a scroll bar rather than a slider for the fixed number of elements workaround, because the scrollbar gives feedback to the number of elements out of view.

    I've given into the fact that there is no way to easily accomplish this and have moved down another path.

    Thanks for all the help! :thumbup:

    5559[/snapback]

    You're right... a scroll bar does provide nice visual feedback in that regard as to how many elements there are total.

  10. I want to be able to control the position of the scroll bars on the SubPanel Control.

    Actually I want the end user to be able to use the Scroll Bars and the program to move them if necessary

    5557[/snapback]

    I'm going to take a wild guess that you won't be able to do that (as things stand so far with sub-panels). Would another workaround be feasible? Perhaps reversing your array before displaying it?

    Something else I do with things like that is keep the array size fixed so you can see n elements on the screen and then inrement the index when there are more than n elements in the array.... that keeps the last n elements visible for the user during processing.

  11. Without a working subpanel in front of me to look at...

    Does the sub-panel control have scrollbars that the user can typically use, or are you talking about scrolling in the sense of setting the FP origin of the embedded VI? The latter is what I thought you were referring to, but possibly not after reading your last post.

    Looking at a sub-panel in action would probably clarify this for me.

  12. Here's another approach, but it will not work on VIs inside of llbs.  I have only done some very limited testing but it appears to work on LV 6.0 and above.  I don't have a 5.1 file but 5.0 files have a different offset.

    Download File:post-987-1123081710.vi

    5511[/snapback]

    This method is the quick and dirty "read the file header" method which is also the most unreliable and likely to fail. Not only will this break possibly for new versions but it will also not work for files in version 7.0/7.1/7.1.1 where the header is not at the same offset. Not to mention your previous observation that it doesn't work for files in an .llb (unless you dump them to disk).

  13. Which brings me to another question, where is the double click event? Have I missed it in your docs?

    5546[/snapback]

    Yup you missed it, but probably because it isn't obvious. A double-click is handled by a selection on the popup menu... indicated with What = SelPopUp and Mods = -1. You could then call the VI you wanted to popup for configuration or whatnot by opening a reference with the connector pane typedef and use a call by reference node to pass values or get them back from the popup.

  14. Do you have a link to your presentation anywhere online? That would be helpful.

    By not cleaning up after itself automatically I meant that the RTE is going to leave a copy of itself everywhere you install it--as compared to a portable USB-drive type app where the files stay with the application and when you're done using them and unplug, the files don't stay installed.

    I understand that certain DLL's 'need' registered and become specific to the platform your using, as do the various sub-units of functionality that you mentioned which can be optionally installed or not, but I still (from my perspective), see a need for the end-user of LabVIEW--the programmer--to be able to cull the necessary files if needed and create an application that can be portable.

  15. Hello,

    May I see the code for the "Get Text Rect.vi" .

    Thanks.

    5506[/snapback]

    The code is passworded because Get Text Rect.vi is probably considered by NI to be intellectual property. Do you have a problem this would help you solve or were you just curious? It is my understanding that if the VI has low level code that's called internally, or a special dll, or private methods or properties, then NI will password protect that VI.

  16. Why in the world would anyone use a regular OR or AND gate? The "trick" you missed might be to just never use them... that's my trick anyway. The easily configurable compound arithmatic is always easier to use, copy and modify.

    I think what you're saying would be nice though... actually what would be nice is if the AND, OR, XOR (etc) and COMPOUND ARITHMETIC were all the same thing, easily configurable with a right-click option, the icon would change accordingly if there were only two inputs, and if there would more it would go to the generic compound arithmetic icon (if there wasn't a better way). That would make things look right logic-wise and still give the programmer the means to easily switch between logic variations.

  17. What about checking for mouse-down / mouse-up events and positioning a square decoration accordingly? When you're finished you could move it off-screen.

    What about overlaying a transparent picture control on the graph--or do you need to use the graph for other things besides just looking at it? You can do a lot of things with a picture control.

    Just some ideas to maybe hack something together.

×
×
  • Create New...

Important Information

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