Jump to content

Jason H

Members
  • Content Count

    25
  • Joined

  • Last visited

Community Reputation

0

About Jason H

  • Rank
    More Active

Profile Information

  • Gender
    Male
  • Location
    Seattle, WA

LabVIEW Information

  • Version
    LabVIEW 2011
  • Since
    2008
  1. I found a nasty bug where a control that has units associated with it somehow appears to get corrupted. When a corrupted control and a normal control are fed into the equals function, it returns false. It's not limited to controls either, a corrupted and normal constant will return as not being equal. Example vis are attached. labview bug with units example original.vi labview bug with units simple example.vi
  2. I was going to post this suggestion on the Idea Exchange. I think it would be a good way to effectively give us constructors, without all the headaches of a real constructor that AQ has posted about.
  3. Is there a specific reason for that? I'm going to make that accessor vi protected, so that only the children can see it. That way, nothing outside of the object can ever access the entire cluster, but the children still have full access. The only reason the parent even has this data is as a placeholder to be overridden. Also, I think that accessor is only ever going to be used once - in the constructors. I can't think of a reason to use it anywhere else.
  4. I've created a constructor.vi and am forcing all children to override this vi. Inside the parent's private data cluster, I have another cluster called "data for override" and a single accessor can write the entire cluster. That cluster is also a type-def, which is used on the front panel of the child as well. So all I have to do in the constructor is take that cluster and write it to the parent's cluster.
  5. Thanks jgcode. I'm trying to wrap my head around what you're saying here. From what I can tell, national instruments doesn't have any type of constructor built into LVOOP. What you are saying is that to essentially create one and work around that, I can simply create a method inside the class where the object is created that does the initialization stuff. Then when I want to use that object in a program I just plop down the constructor.vi on the block diagram and use it's output terminal as the object instance. I don't put the bare object constant on the block diagram as is typically done. U
  6. I'm new to OOP, there may be a common method to solve my problem that I'm not aware of. The problem is this: I have a parent class "CNC table". It contains private data that all CNC tables have, for example, the minimum and maximum ranges for x, y, and z axes. I have have child classes which represent specific CNC tables, say different models. They control the hardware, and when I say "move to point" the proper subvi will be dynamically dispatched to control the hardware. The problem is that each child must have its own unique values for the x, y, and z ranges because different models of t
  7. Thanks for the response. Based on that I'll just move forward with using the other control and making some things transparent to mimic the native 3d graph. I'll let you file the bug and look for the fix in an updated version, either service pack 2 or LV2011. Let me know if I should file a bug or anything.
  8. First let me say that the new 3d stuff is much better than the old cw graph stuff. One problem I'm having however is the mesh overlay on the 3d graph control when I turn on overlay lines. When I use the 3d surface that comes with the ni helper vi, it looks fine, as it should. However when I use the native 3d graph and turn on overlay lines, the lines are fragmented and appear to be rendered at the exact same location as the plot itself as opposed to on the surface of the plot. The picture and vi below demonstrate what I'm talking about. In the picture, on the left is ni's xcontrol with help
  9. I was scheduled to take my CLD tomorrow and, even though I took each of the three practice tests twice (car wash, security system, traffic light), I still wanted to look at them one last time. When I checked, it appeared there were four new exams up: ATM machine Boiler controller Car wash (different) Sprinkler system https://lumen.ni.com/nicif/us/ekitcldexmprp/content.xhtml Good thing I double checked again...
  10. I've been working with the CWGraph3D library for plotting 3D antenna patterns. Overall it works quite well. However, there are a few limitations that I'm not sure can be worked around. The problem is that the rotation is not truly 3D. There are only 2 axes of rotation, not 3. You can see the pattern at every (theta, phi) point, but at any given point, you cannot rotate about that point except for at the poles. For example, you can rotate about the z axis (the poles) but you cannot rotate about the x or y axes. Its difficult to think about unless you have a model in front of you. Another issu
  11. anyone who can figure this out? And if its not possible, is there a way to export a CWGraph3D object into a 3D picture control?
  12. QUOTE (Ton @ May 14 2009, 09:24 PM) Thanks, I cooked the openg vi's down to what I need. Here is an example of compressing and decompressing a string.
  13. try this http://www.scicos.org/ScicosModNum/modnum_...web/eng/eng.htm
  14. Could somebody convert the vi's listed here http://zone.ni.com/devzone/cda/epd/p/id/3662 to LV 8.5? I searched around and didn't see any up-to-date vi's and these are exactly what I need.
  15. Good discussion guys, I find it very interesting. I understand the argument for queues and I'm also trying to understand the argument for event structures as well. It seems to me that if you had n event sources, you have two (almost) functionally equivalent options 1) have n queues inside n while loops, or 2) have a single event structure with n cases the benefit of queues is that 1) if they are named they can act as both global variables and detect events (you can also pass data through event structures so I don't know if this is really a difference), and 2) since they are in multiple
×
×
  • Create New...

Important Information

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