Jump to content

Yair

Members
  • Posts

    2,870
  • Joined

  • Last visited

  • Days Won

    44

Everything posted by Yair

  1. The error is probably caused because the reference you created does not match the data type you are actually wiring into the control (a graph with multiple plots is different than a graph with a single plot). You should basically create a reference of your final graph and put that in the cluster. In any case, this method is bad because it might create a copy of the data and it would force the display to update. Instead, you should do something like the example here. In general, the right way to handle this would depend on the typical way in which you get data and what you need to do with it, but unless you have very large amounts of data, you should be fine.
  2. BTW, I don't think the polling method is that ugly. It is relatively complicated, wasteful and it has a potential for errors (you have to have a way to recognize the drive), which is why I don't like it, but the basic act of polling once every second is two is not so bad. The computer should be able to handle it even if it goes on for days or weeks. That is essentially how Windows recognizes that you have plugged in a USB device.
  3. You need to use the XY graph, which accepts an array of all the data to plot, including X values. There are several examples in the example finder (search for "graph") including one which shows how to simulate a chart using a graph.
  4. I don't know how to recognize that, although I wouldn't be surprised if you can register for a .NET event for something like this. I would suggest searching Microsoft's site for that. Another option is to poll the drive list (using the List Directory VI), but that is far from elegant as you would need to recognize that the new drive in the list is really your USB drive. I suppose you could search the new drive for a file\dir of a prespecified name.. One thing I do know is how to set up your program to be the default program to run when the drive is plugged in. See here.
  5. QUOTE(Michael_Aivaliotis @ May 3 2007, 10:49 PM) For me it's fairly slow. Getting a page to even start appearing can often take quite a few seconds. You could blame my browser, but this happened both in IE and FF, both relatively clean (no toolbars, etc.) and in clean versions of Windows. This may not be LAVA's "fault", but it still is the reality and it hurts usability. Not to the point of not being able to use LAVA, but to the point of making it somewhat of a hassle. QUOTE I'm wondering what feature of the NI forums makes it better for viewing a large number of posts? can you elaborate? There are several features which I believe I have mentioned in the past. I believe that they originate from the difference between the Invision board software and the Lithium board software. Some examples: 1. Most critically, LAVA is partitioned into many forums, but with the available content, I would usually want to read posts from all the forums. The only way to do this (as far as I know) is to click the View New Posts link. The problem with that is that this page only displays posts since the last time you logged in. Every time you close your browser this is reset, regardless of whether or not you actually read the messages, so this forces me to either log in when I know I will have time to go over all the messages or lose posts. The NI forums, on the other hand, have a small number of interesting boards. You can float these boards, see if they have any new posts, go over each board and then mark the entire board as read. If you haven't read a post, it will not be marked as read, regardless of how many times you log in and out. This may be the same with LAVA per-forum, but as I mentioned, you can't follow each forum seperately. The solution to this would probably be a threading RSS reader, but I use Google Reader, which for some reason lacks some of the very useful features Gmail has, like threading and storing the old messages. In any case, I think the site should handle this in its own interface. 2. Visually, the NI forums are much easier to use. A thread with unread posts is marked with a prominent bold font, unlike the LAVA one, where you get a small image. The board page seems much cleaner. The sparse colors really help. You have black on white (mostly) with the occasional grey bar and blue font. It's simply easier to read. This also relates to the LAVA message editing screen, which is very feature-rich. BTW, this does not mean that the LAVA forums don't look nice. In fact, they look very good. The NI forums are simply easier to use. 3. The NI forums properly mark posts as read. If you opened the page where a post is displayed, it will immediately be marked as read. In the LAVA forums, you could spend a good number of seconds in the thread page, and when you would click back, the thread will still be marked as having unread posts. 4. The NI pages seem to have much less HTML and load faster. I haven't done a comparison of the source, but it just seems that way. When you go through a lot of posts, this is important.
  6. QUOTE(Michael_Aivaliotis @ May 3 2007, 02:37 AM) The master has spoken! As I said, I don't think that people or questions per-se should be excluded from LAVA, just that there should be a minimal level of understanding of LV (minimal meaning not "what does a type cast do", but "what's the data type of Indicator in this image"). http://forums.lavag.org/index.php?act=attach&type=post&id=5712 This is for two reasons. One technical and one more conceptual. The technical reason is that from a usability standpoint I believe that LAVA would perform badly when faced with a large amount of users. The servers are relatively slow as it is and the interface becomes inconvenient when there is a large number of posts to go through. These are technical and so could probably be solved. The conceptual problem is embodied nicely in the NI forums. The LabVIEW board occasionally has very interesting threads, but finding them is hard because that board usually gets 200-300 posts every day. When I read LAVA content, I know that it will have more interesting threads. Restricting the level of members to those with minimal knowledge will at least ensure that the HH-level users will not get through the filter and that I will still be likely to get high level content. This is not to say that there can not be "simple questions", just that you can assume that there will be less "stupid questions". By the way, I don't have a problem either with "stupid questions" or with the NI forums. I myself contribute to the NI forums and would answer "stupid questions" both here and there. I would just prefer that LAVA be saved for the better stuff (not the better people). Of course, I'm not the guy who started and runs LAVA, so my opinion doesn't matter that much. QUOTE(crelf @ May 3 2007, 05:43 AM) Are you trying to tell us that yen's not a Transformer?!?! C'mon Chris, the song does say "Robots in disguise"... :ninja: http://forums.lavag.org/index.php?act=attach&type=post&id=5713''>http://forums.lavag.org/index.php?act=attach&type=post&id=5713'>http://forums.lavag.org/index.php?act=attach&type=post&id=5713
  7. QUOTE(crelf @ May 2 2007, 11:19 PM) Question - you need to learn a new programming language. What do you do? You just open the compiler and begin guessing. You try looking at the getting started document you hopefully got with your compiler. You look for a proper course or tutorial which can explain the basics of the language. You go and ask someone "How do I do this?". If your answer was 3, you should be able to pass the test if you went through the tutorials. If you haven't put it the minimum effort of trying to learn the language, you will most likely be an annoying HH. Again, as I said, the point is for the test to be very simple. It should only deter people who really haven't tried to understand LV at all, but once you have used LV, you should be able to pass it.
  8. I would suggest again the suggestion we made once of having a very simple LabVIEW test in order to register. If you haven't passed the test (let's say four out of five multiple choice questions), that means you never even tried using LV and you would get a polite message telling you that you should learn how to use LV first and pointing you both to the NI forums and to some tutorials. I believe that if these tests were comprised of a series of randomly selected questions from a preset pool no HH would bother passing it and would simply use the tutorials or go to the NI forums. Note - this is not me being a snob. I really do mean for the test to be simple. If you've actually used LV and understand how it works, you should be able to easily pass it. Even if you get it wrong, there should be no limit on how many times you can take it (with new random questions each time of course). I do believe that this really is a valid solution. Anyone else? Michael, how complicated would that be to implement (assuming you get the members to help with formulating the questions)?
  9. Danny, you should note that the problem users here had was not with "stupid questions", but with the attitude of the users asking them. The people here usually have no problem with simple questions (hell, even the advanced regulars can get stuck sometimes on simple stuff because of a temporary blind spot) as long as the person asking the question shows that he or she are willing to do their part. You're perfectly fine. You can ask anything you like. Personally, I usually find that even if get stuck on something, I will get an answer much quickly if I search first, because people usually take time to answer. Addition - I seem to have missed the second page of posts. Basically, Chris put it best, so just read what he had to say. Ben, regarding the "go to the NI forums" - I don't think that LAVA should outgrow itself. The NI forums are much more appropriate for the simpler question because they have dedicated admins, a much larger user base and a more convenient UI for those volumes. If LAVA grew too much, it would be hard to find the good stuff, in the same way that most LAVA members probably don't frequent the NI LabVIEW board because it's impossible to find the interesting stuff.
  10. The easiest and safest way is the way you're already doing it (assuming you're using an uninitialized shift register for your data store and not a standard global variable). You can have an init case for initializing the array to its full size, a write case which accepts an index and a value and does a replace and a read case which can return the entire array as well as the index you wired in. You can have 2 of these (one for DI and one for DO) and have the default action in each different (write for DO and read for DI). If you want analog, you can add more of these globals. I'm not sure why you are concerned about the locking this creates. Unless your loops need to run extremely fast (usually faster than the speed with which you can get the actual I/O) the delay caused by locking this VI will be negligible.
  11. I agree that ignoring is better than harsh words (that's what I've been doing), but I also agree that these users brought this on themselves. Even I made a remark a while back about one of these users which was considered offensive and deleted (I thought it was more amusing than offensive, but I understand why Michael deleted it). In general, I fully agree with Tomi about the usefulness of easy-to-use, pre-formulated replies. These allow giving a polite and relevant reply without having to bother with anything. You can see a good example here. Providing links and advice can allow the user to continue on their own. QUOTE(i2dx @ Apr 29 2007, 10:40 AM) <shiver> No, I don't see the problems with http://forums.lavag.org/PLEEEEEEEASE-hELP-me-t5943.html' target="_blank">these posts.
  12. QUOTE(VDB @ Apr 23 2007, 09:56 AM) Works fine in a version which is above 8.0, but is not 8.2 (or 8.2.1), so either this was fixed, or it could be an issue with locale settings. You could try setting your OS settings (Control Panel>>Regional and Language Options) to use the period instead of the comma and see if that changes it.
  13. QUOTE(Aristos Queue @ Apr 22 2007, 07:12 PM) Your father was a hamster, and your mother smelled of elderberries!
  14. Actually, that was just because Rolf keeps saying it, but looking in the LV help you can find QUOTE and QUOTE To create a CIN, you must be an experienced C developer. Also, because CINs are tightly coupled with LabVIEW, restrictions exist about which compilers you can use. It also says that QUOTE CINs have the following advantages: The CIN code is integrated into the code of the VI, so there is no extra file to maintain when the VI is distributed. CINs provide certain special entry points, such as CINLoad, CINSave, and so on.
  15. Oh, you guys have taken all the standard stuff already. How about "We are not worthy?" http://forums.lavag.org/index.php?act=attach&type=post&id=5579
  16. QUOTE(VDB @ Apr 20 2007, 04:19 PM) Is this in 8.0? I just tried it in versions both before and after 8.0 and I have no problem in typing a comma into a combo box. Can you upload an example VI with detailed instructions?
  17. It's called a CIN (Code Interface Node) and is a way to embed C code into your VI. I'm not sure exactly when the C code is compiled, but you should be able to find more info in the LV help for the CIN. It's older technology only left around for compatibilty, so you should not use it yourself.
  18. You probably have two basic options: Compile your VIs as a DLL which will be called by the VB program. This is probably the best, since the VB program will be the caller, but I don't have any real experience with compiling VIs as DLL functions. Have the VB program expose its data through a DLL compied in VB. You will then use the properties and methods supplied by that DLL to send and receive the data. There are probably other ways (e.g. implement a simple communication protocol over TCP), but I think those two are the simplest. You should also check out Brian Tyler's blog (Lycangeek) about .NET interaction with LV. P.S. The logo actually has it all lowercase and the printed text is all uppercase (.NET).
  19. Yes, very cool, Stephen. How about backsaving? I can do 7.1 and 7.0, but not 8.0.
  20. Your description is unclear, but as a guess - When do you get the error? If you're trying to use the Set Control Value and Run VI methods, I believe this won't work, since the VI is already reserved for running (like you can't press the run arrow on a VI that has a caller VI running). What you should do instead is use the call by reference node. If this doesn't help, you should post more details, like what you use the OpenG builder for, some diagrams of the systems or preferably some code. Also, does it work in the development environment?
  21. I don't know if there would necessarily have to be a way. Remember that scripting is not released, so that if something would be too much of a bother, LV R&D would probably postpone it until it was more relevant. The event structure is tricky, because different sources for events have different types of events (e.g. VI vs. control) and so you can't use a simple enum to select your event. It's quite possible that NI did not find the case for scripting event structures strong enough to do something about it until now. I know I certainly can understand how people would want more manual control of how their event structures behave.
  22. http://forums.lavag.org/index.php?act=attach&type=post&id=5417
  23. QUOTE(Tomi Maila @ Apr 5 2007, 05:25 PM) Google Reader still displays only the content summary.
  24. While we're on the subject of impressive game show feats, check out what Jimmy Carr does at the 8:15 mark of this video. BTW, QI is a great show in general. I was rather surprised when I did this search to see just how much of it can be found on youtube.
  25. If your needs are simple, you can also find a lot of free and simple solutions where you have to build the SQL query yourself. Try looking at the DB forum here or searching for LabSQL. BTW, Crystal, since you're already here, I figured you would probably know - I was wondering why the DBCT VIs don't pass the error cluster through a case structure like most VIs and instead always use the helper VIs to build the error. The problem with this is that if a VI accepts an error, it will add its own hierarchy to the source even though it should not even execute. Is this by design or just an oversight (or some legacy design)?
×
×
  • Create New...

Important Information

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