Jump to content

Michael Aivaliotis

Administrators
  • Posts

    6,196
  • Joined

  • Last visited

  • Days Won

    103

Everything posted by Michael Aivaliotis

  1. I recommend you read this post (if you haven't already): http://forums.lavausergroup.org/index.php?...=findpost&p=675 So the issue really is that with globals is this. LabVIEW really has no way of protecting access to the global data. To work around this, LabVIEW allocates a seperate parallel memory buffer for each and every instance of the global. In other words, it does NOT reuse memory buffers allocated to globals like it does with other nodes. So if you plop 5MB of graph data into a global that is located in 10 different diagram locations, you will have allocated 50MB of memory space. Well, in general the fastest data access time is always a plain ol' wire. The value property ranks as the slowest (over 10x slower) method of data manipulation. Even slower than using a local. In my first post I said never use globals. My second comment would be: almost never use the value property. I choose locals over value every time. Finally, you may ask, well then what the hell do you use? LV2-style globals rank #1 for me with GOOP as a close second. GOOP is the ultimate in accessing data by reference. I would re-think that. Program execution is never linear in LabVIEW unless you're forcing execution with sequence structures or wires. Yes jpdrolet I agree. A modification that I would recommend to your image is a s follows based on your last statement: This entire code with the while loop would make up the the LV2 global VI.
  2. Actually, the problem occurs with using the Variant form of the data (non-strict). If you are using the strict control refernece then this problem does not occur. This is because the refnum contains the type information on the wire and does not rely on the variant to data function. So in other words, your original implementation would not have this problem.
  3. Hmmm.... I think I know what you are trying to do. Are you trying to move the menu from the top of the VI to the middle of the window? There is no way that I know of at the moment to do this. However, If you like to play with some methods. Here is an older post with some info: http://forums.lavausergroup.org/index.php?showtopic=639
  4. Check out this post. There is a solution there for you. http://forums.lavausergroup.org/index.php?showtopic=356
  5. Why do you have to change every instance? The constant is a strict-type. It will get updated when you change the master strict-type control. I'm not following your logic.
  6. Well, I don't want to act like a smart-#ss... well ok, I'll be a smart-#ss. Why are you using globals? Globals in general are a no no. I don't know if you heard this before, but if not, here it is. Never use globals. I know you should never use the word never, but I'm using it here: never use globals. Ok, now something else. If you still want to use globals then here is a solution that will avoid having to update your control refnum control. Make a generic (non-strict) control refnum control. Use this in your global. Notice in the attached image that there is a coercion dot where the control reference meets the indicator? This is ok. It is ok to have a coercion dot here. This means that the strict reference is being upcast to a more generic cluster reference. This will avoid you having to re-create the control since it's immune to change. Thus no broken wires. On the receiving end you need to convert the variant to the proper data type. This is where you would use the actual strict-type control constant as the data type.
  7. I'm not sure what you mean. Does your VI hang? Do you want to make the front panel controls "enabled"? You can use a property node to enable or disable any front panel control.
  8. I don't know (and cannot find) any application that can read these *.ptc files. However, if you look into the same directory, you will find some other files called *.3ds. These are a standard 3D format used by many 3D rendering applications. You can probably download a free viewer somewhere for these. I haven't figured out why there are so few *.sds file compared to *.ptc files. Even if you figure out how to create your own *.ptc files, you are not finished yet. How do you "compile" a new control to use these images? It would be great if NI gave us the tools to do all of this. . This problem has been raised in these forums before. For example, how do you create irregular shaped controls with equally irregular hotspots!
  9. I downconverted it for you: Download File:post-2-1095691375.viversion->LV7.0
  10. Ah, yes. It reminds me of those visual optical tricks you read in puzzle books. The optical illusion here is the idea that data always exits a VI on the right-hand side. This forces your eye to follow the data from left to right. What you don't notice is that the constant "2048" is wired to ALL locals... I hope you shot the programmer...
  11. Jim, your VI makes sense because you're not taking the outputs of the math functions and passing them along. It's more like the attached image:
  12. I know Bryan hangs out in the forums and has worked on TCL stuff perhaps you guys can exchange notes. http://forums.lavausergroup.org/index.php?...=findpost&p=804 http://forums.lavausergroup.org/index.php?...=findpost&p=802
  13. OK Sarah, I hope we can finaly close this thread. :thumbup: Here is some code that will help you out. I think I understand what you require now. Download File:post-2-1095480616.llb LV Version 7.0
  14. Well that's a neat trick! :worship: This normally generates an error in LV (broken wire). You can't have the output of the array feeding into the equal function. Object is member of a cycle. "These wires form a cycle, making two parts of the diagram interdependent, so each must wait for an input from the other and neither can execute." I assume there is something else you're not showing us...
  15. Can you post an image of your diagram where this VI is used? It looks like your "replace.vi" is working fine from what I can see on the front panel. How is this VI used in the caller?
  16. Check out the FAQ entry here: http://forums.lavausergroup.org/index.php?...=findpost&p=679
  17. This is not exactly a good post but it shows an example of how to do an event callback: http://forums.lavausergroup.org/index.php?...=findpost&p=119 Perhaps this question should be put up into the LabVIEW FAQ...
  18. That's great! I'll move it over to the LabVIEW FAQ in a few days...
  19. See Here: http://forums.lavausergroup.org/index.php?showtopic=345
  20. Seeing is that web documents come and go. I'm including the entire press release in this post:
  21. I know Bryan is another car lover here. Personally, I really don't get it. How can somebody spend so much money on a car. I guess that's why it's called a hobby. It must be great living in Germany since it's easier to have a BMW as a car. Here in North America, they are called imports of course and are really expensive. If you had to choose between your boyfriend and your cars, who would you pick?
  22. Take a look at the attached code (lv70). I added the shift register. This is what I meant. I am also using the standard XY Graph.Download File:post-2-1092361238.vi
  23. Actually, you CAN edit your own posts. However you have a time limit of 60mins. to do so. In other words, you have an hour to realise that you shouldn't have wrote that... Beyond that, a polite personal message to me with a justification will do it.
×
×
  • Create New...

Important Information

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