Jump to content

Michael Aivaliotis

Administrators
  • Posts

    6,196
  • Joined

  • Last visited

  • Days Won

    103

Posts posted by Michael Aivaliotis

  1. About the example you posted--that will work, but essentially what you have to wind up changing then is the strict-type constant for every instance where you access the data of the cluster

    1845[/snapback]

    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.

  2. 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. :nono: 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.

    post-2-1095745449.png?width=400

  3. To my understanding, the solution to the problem would be to be able to create custom .ptc-files, but I don't know how the binary format has to be, or at least if there is an app which can create it.

    1830[/snapback]

    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! :unsure:

  4. But, after reading your hint about data sources, I realized that the code "makes sense":

    post-17-1095533322.png?width=400

    1820[/snapback]

    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... :shifty:

    • Like 1
  5. 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... :nono:

  6. Hmmm, but inside of the example vi, it will replace this character  :wacko:

    But I don't get this replaced sting out, I only see it in the string display field "string out"

    1739[/snapback]

    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?

  7. Seeing is that web documents come and go. I'm including the entire press release in this post:

    Court of Appeals Upholds Patent Infringement Judgment against The MathWorks, Inc.

    Tuesday September 7, 2:02 pm ET

    Decision Affirms Jury Verdict in Favor of National Instruments Finding Infringement by Simulink and Related Products

    AUSTIN, Texas--(BUSINESS WIRE)--Sept. 7, 2004-- National Instruments (Nasdaq:NATI - News) today announced that the United States Court of Appeals for the Federal Circuit has affirmed the judgment of infringement of three National Instruments patents by Massachusetts-based The MathWorks, Inc. The patents, U.S. Patent Nos. 4,901,221; 4,914,568; and 5,301,336, relate to National Instruments LabVIEW software, which contains major innovations in programming design tools. A fourth patent, No. 5,291,587, was found valid but not infringed.

    In June 2003, the Honorable T. John Ward of the District Court for the Eastern District of Texas (Marshall Division) upheld the jury's January 2003 verdict finding validity and infringement of National Instruments' patents, and issued an order forbidding the sale of The MathWorks Simulink software product once any appeal has been disposed of in favor of National Instruments.

    "We are pleased that the Court of Appeals affirmed the verdict," said David Hugley, NI vice president and general counsel. "LabVIEW has had a revolutionary impact on scientists and engineers with its innovative virtual instrumentation approach. We have invested heavily in the intellectual property in LabVIEW and the Court of Appeals ruling further protects and validates our intellectual property."

    National Instruments continues to offer the LabVIEW Simulation Interface Toolkit, which adds the LabVIEW user interface to the Simulink environment. With the LabVIEW Simulation Interface Toolkit, design engineers can use LabVIEW-based user interfaces to intuitively control and view data within their control models. The toolkit gives The MathWorks customers a licensed manner to control and view Simulink data under these National Instruments patents.

    The final royalty damages will be recorded in the financial statements of the company after the issuance of the Court of Appeals written mandate and the release of the escrow. The company anticipates using a significant portion of the proceeds to fund academic research and classroom projects for improving science, technology, engineering and mathematics education.

    About National Instruments

    National Instruments (www.ni.com) is a technology pioneer and leader in virtual instrumentation -- a revolutionary concept that has changed the way engineers and scientists approach measurement and automation. Leveraging the PC and its related technologies, virtual instrumentation increases productivity and lowers costs through easy-to-integrate software, such as the NI LabVIEW graphical development environment, and modular hardware, such as PXI modules for data acquisition, instrument control and machine vision. Headquartered in Austin, Texas, NI has more than 3,100 employees and direct operations in 41 countries. In 2003, the company sold products to more than 25,000 companies in 90 countries. For the past five years, FORTUNE magazine named NI one of the 100 best companies to work for in America.

    Readers may obtain investment information from the company's investor relations department by calling 512-683-5090, by sending e-mail to nati@ni.com or by visiting www.ni.com/nati.

    LabVIEW, National Instruments, NI and ni.com are trademarks of National Instruments. Simulink and The MathWorks are registered trademarks of The MathWorks, Inc. Other product and company names listed are trademarks or trade names of their respective companies.

    Contact:

        National Instruments, Austin

        Editor Contact:

        Jennifer Howard-Brown, 512-683-8713

    Source: National Instruments

  8. 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?

  9. Sorry - I didn't really have time to finish everything I wanted to say, and it came off harsher than I meant! There appears no way to edit your own posts...

    1407[/snapback]

    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.
  10. You use the same method that you would normaly use when accessing a VI within the same labview.

    Also, when communicating to another executable then you need to specify "localhost" as your servername. VI Server uses the TCP/IP protocol. TCP/IP communications between two executables require that each end of the TCP/IP link has a different TCP/IP port number. When the two VIs are running under LabVIEW, they are within LabVIEW (in other words, not communicating between executables or separate programs).

    You can change the port number in the ini setting for that executable. The .ini file should have the same name and be in the same directory as the executable.

    A typical ini file after the port has been changed on the executable looks like this:

    [MyExecutable]

    server.tcp.enabled=True

    server.tcp.port=3364

    server.tcp.access="+localhost"

    Also, one more thing. If you want to test your code before you create an executable, you can launch multiple instances of LabVIEW. I haven't tried this but it's shown in this post in the FAQ:

    Can I run multiple instances of LabVIEW?

    post-2-1092249067.gif?width=400

  11. I opened the code in LV7.1 and re-saved it in 7.0 for the rest of you.

    I am attaching it.

    As far as the code itself. I would recommend that you create 1 serial IO VI and reuse that. It will make your code easier to manage and read. Also, try to keep your diagram to a limited space like 1024x768 screen resolution. My desktop is 1680x1050 and I still couldn't fit everything on there. When I get a chance, I will try to submit a revision to your code but in the meantime, maybe others can make some suggestions.

    As related to your original question. I think if you create a few sub-vi's as I suggest, you will see that it will solve your problem.

    Download File:post-2-1092243301.llb

  12. Hmmm, ok, I open my .exe file and then it run. But now my radio button is selected by default. I would be better if you must run the .exe manually. Or is it possible to deselect the default value and no radio button is activated?

    1389[/snapback]

    When you create an exe file, LV automatically sets your main toplevel VI to run automatically. What radio button are you talking about?

×
×
  • Create New...

Important Information

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