Jump to content

PJM_labview

Members
  • Posts

    784
  • Joined

  • Last visited

  • Days Won

    10

Posts posted by PJM_labview

  1. I had the same problem.

    By error and trial I figure out that you have to change the icon of the help ability and the palette will display it. Just to be safe I typically put the icon I want in both the XNode and in the Help ability. If you don't have a help ability I think you can use the initialize ability icon.

    PJM

  2. QUOTE(Tomi Maila @ Nov 5 2007, 05:37 AM)

    ...

    The problem is that I find out the queue element type only after I've generated the code by inspecting the element output terminal type of the generated Preview Queue Element node. Now I should update the Xnode terminals according to this new information I receive after I've generated the code but I cannot get LabVIEW to call the GetTerms3 ability multiple times per input change. Even if I send the Update Terms message multiple times, LabVIEW only calls the GetTerms3 ability once.

    ...

    While I don't have a solution to your specific issue, I can confirm having seen LabVIEW preventing multiple call to abilities through the reply output.

    I also notice that some reply will be completly ignored. For instance, ReplaceSelf or AugmentSelf called from ResponToDrop have no effect.

    I have come to the conclusion that XNode could benefit from having an ability callable at anytime so the XNode data could be updated bypassing the XNode expected behavior.

    PJM

  3. QUOTE(thevoiceover @ Oct 30 2007, 03:51 PM)

    Yes and I am broke.... Oh well..

    Use the following code to write your own "HSL to RGB.vi" in LabVIEW. It does not take that long.

    /******************************************************************************   FUNCTION: HLStoRGB   PURPOSE:	 Convert from HSL to RGB   IN:		 Hue, Saturation, Luminance from 0 to 1   RETURN:	 RGB color (0xRRGGBB)   COPYRIGHT:1995-1997 Robert Mashlan			 Modified for LabWindows/CVI, 1999 Guillaume Dargaud ******************************************************************************/ typedef unsigned char  BYTE;		// 8-bit unsigned entity  COLORREF HLStoRGB(const double H, const double L, const double S ) {	 double r,g,b;	 double m1, m2; 	 if (S==0) r=g=b=L;	 else {		 if (L <=0.5) m2 = L*(1.0+S);		 else		 m2 = L+S-L*S;		 m1 = 2.0*L-m2;		 r = HueToRGB(m1,m2,H+1.0/3.0);		 g = HueToRGB(m1,m2,H);		 b = HueToRGB(m1,m2,H-1.0/3.0);	 }   return MakeRGB((BYTE)(r*255),(BYTE)(g*255),(BYTE)(b*255)); }/******************************************************************************  FUNCTION: HueToRGB  PURPOSE: 	Convert a hue (color) to RGB  COPYRIGHT:1995-1997 Robert Mashlan			Modified for LabWindows/CVI, 1999 Guillaume Dargaud******************************************************************************/static double HueToRGB(const double m1, const double m2, double h ) {	if (h<0) h+=1.0;	if (h>1) h-=1.0;	if (6.0*h < 1  ) return (m1+(m2-m1)*h*6.0);	if (2.0*h < 1  ) return m2;	if (3.0*h < 2.0) return (m1+(m2-m1)*((2.0/3.0)-h)*6.0);	return m1;}

    PJM

  4. What you are experiencing is a LabVIEW bug I reported a while back. I actually though it was fixed, clearly this is not the case.

    Basically starting in LabVIEW 8.0, NI broke the variant capability to preserve the data name (see this thread).

    The good news, is that there is a work around. If you change your code as seen below everything works fine.

    post-121-1193697002.png?width=400

    PJM

  5. QUOTE(Darren @ Oct 24 2007, 02:04 PM)

    The XDataNode is the "ear" that sticks off the side of the Timed Loop. The Timed Loop itself is a native LabVIEW structure. I'm fairly certain that there currently exists no way to create a G-based structure.

    -D

    Ah, that's too bad :(

    Well may be combining the use of VI inlining + XNode + XData Node something might be possible.

    Have the code in a subVI, have the XNode display an image of the code instead of the SubVI icon, then attached ear(s) to control execution (if possible/needed). When the user want to edit the XNode code, inline the subVI/Xnode...

    This are stream of consciousness ideas... might not lead to anything.

    PJM

  6. QUOTE(Jim Kring @ Oct 17 2007, 02:54 PM)

    Lately, it seems that the LabVIEW upgrade process is just trading problems. Get some new features and bugs fixed, but have deal with the new bugs. Granted, the new features are really nice, but it's pretty frustrating working around the new bugs and "inconveniences" (like waiting several minutes for your project to close or a typedef change to propagate). :headbang:

    <Warning Thread Hijack>

    So true, and don't even get me started on the hierarchy windows which has become unusable since LV 8.0.

    Used to be snappy and handy in 7.1, no longer the case...

    </Warning Thread Hijack>

    PJM

  7. QUOTE(JDave @ Oct 17 2007, 01:44 PM)

    David:

    1) I hardly ever have controls on my FP that I do not want to connect to the connector pane.

    2) Best attempt at connection will do the following (in order of priority):

    3) If there are controls/indicators I don't want to connect, I am not sure what the best approach is. Maybe if the controls/indicators are not in the visible window frame, it should not be connected (yes I think I like this).

    PJM

  8. Very nice tool.

    This is still a little bit too much work and is against my work flow.

    I think, for my use case, I would like a tool that auto connect to the connector pane, given the relative position of controls.

    So I would position my control the way I want (no grid), then run the tool (which will attempt to connect doing its best effort, following a few simple rules). It will default to the 4x2x2x4 (4815) connector if no connector selected, else use the existing one.

    But this is still a very nice utility :thumbup: (I might even use part of it to write my version of it).

    PJM

  9. In the same vein, here is another very poor experience I had today with the NI installer builder.

    I have a project (8.21) that depend only on NI DAQmx 8.6.

    So in the additional installer I have selected:

    • LV Runtime 8.21
    • NI DAQmx 8.6

    So after swapping cds and DVD for about 40 min (by the way with the Aug 07 device driver, when the installer say "insert Aug 07 cd1" one has to read "insert DVD"...) I end up with the installer builder asking me to insert NI Vision 8.0 CD!!!!

    I have the vision stuff install on my Laptop, but my project does NOT depend on vision, my customer does not even have vision ...

    To make a long story short, since I did not have (nor did my customer) the NI vision 8.0 CD, I was not able to build the installer, and I had to install the executable (and NI DAQmx) manually on the target machine.

    It used to be a lot more straigthforward to create an installer in LV 7.1 and lower; since LV 8.x has been released, the installer builder has - in my opinion - getting way more difficult to use.

    PJM

  10. QUOTE(PJM_labview @ Sep 30 2007, 10:43 AM)

    1. If no grid settings are selected (either on the BD or FP) on a given VI, apply the user defined settings automatically.

    Just a quick note.

    It turned out that LabVIEW does just that for file that were created prior to the existence of the grid (I just noticed this on a LV 4.0.2 file).

    PJM

  11. Here is my perspective/use case for this.

    I have been using the grid for both BD and FP for years. None of my colleagues or customer ever use the grid, but LabVIEW is not aware of this fact, because by default there is always a grid setting selected (whether the grid is visible or not). When I opened a VI created with this invisible default grid, I have to change the grid to my defined preference every single time (and I have been doing it for years). If the VI is a User Interface I understand your argument of why it could be useful to preserve the FP grid, but honestly I do not do it. I have no problem not messing with the existing controls, and if I have to add some user element I have no problem using the arrow keys and alignment tool.

    So what about adding a couple of ini settings to LabVIEW:

    1. If no grid settings are selected (either on the BD or FP) on a given VI, apply the user defined settings automatically.
    2. Always overwrite grid settings with user settings (which is basically what I have to do manually constantly) and let the user deal with the consequences.

    PJM

×
×
  • Create New...

Important Information

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