Jump to content

asbo

Members
  • Posts

    1,256
  • Joined

  • Last visited

  • Days Won

    29

Everything posted by asbo

  1. The IEngine has a ShutDown method which has a "final" parameter: I vaguely recall messing with execution stuff at some point but I don't recall anything in specific working. That doesn't mean it's a dead end, per se, but I don't remember anything promising. Does it still present if the block diagram is visible? Have you tried highlight execution and seeing if that changes the behavior? I guess it's important to consider what version of TestStand you're using - we used 4.1. Just out of curiosity, have you tried putting any code at the end of that VI to fake keyboard/mouse input to see how it responds. Solve the problem by hiding it
  2. We saw this problem at one point on a project which uses TestStand API; this may be an important difference as the Simple OI uses callbacks instead of API calls and the Exit button callback really should be doing everything properly. The issue is gone now and it was the least of our TestStand worries at the time, so I can't tell you for sure what's made it go away. It may not be the culprit, but the shutdown procedure in your OI is a good place to start. This is the shutdown procedure we settled on after lots of debugging and extensive support from NI for our API system: 1) Close all the references you have open which related to sequences (Execution, MainSequence, SequenceFile, ModelFile) in the opposite order they were opened. 2) Call a "final" ShutDown on the IEngine automation; close its reference. 3) Call a Shutdown on the IApplicationManager. If this doesn't return true, you need to wait for the ExitApplication event from TestStand. Close the IApplication reference. 4) Close whatever references (events, whatever) you have left. Since we’re not using the same approach, you need to make sure you’re doing the equivalent for the callback approach. It’s possible you might be looking at an issue with windowing rather than shutdown – you could try removing the Set TestStand Application Window VI call. I can’t explain why that’s possible, it’s more of a gut feeling. Good luck.
  3. Is there some reason you can't use an Automation reference and Variant To Data? ActiveXVariantToAutomationRefnum.vi
  4. You'll need to use scripting to create controls at run-time - unless there's an upper limit to how many you'll need. If that's the case, you can hide/show controls as you need. Either way, that page has a few examples to show you how scripting works.
  5. D'oh. Perhaps next time I'll check my palette first.
  6. I imagined you imagining a NI employee randomly reading LAVA and being like "Oh I knew I forgot something" and frantically writing code and then you writing a post about it -- crazy.
  7. LabVIEW doesn't have the erf function natively, but the MathScript node seems to. You could implement your function as a whole using that.
  8. This is a horrible abuse of SQL datatypes. If there's four values per point, you should have four columns for data per record, one record per point. Tie all the points in a set with an additional column, it could be as simple as a TIMESTAMP. Caveat: you should pick a timestamp before inserting any records and then use that pre-generated timestamp in each record; otherwise, the default behavior for a TIMESTAMP field is use the time of insertion). As for ease of debugging, just "SELECT * FROM `table` WHERE `timestamp`=(the data set you're interested in)". If you clarify your data structure a bit more, I could give you a better recommendation.
  9. I see two ways to approach that: 1) Insert the data to the database as you read those points (maybe write the data to a buffer which commits it asynchronously at a lower priority than your test in the background?) 2) Write a wrapper which expects to have an array of data points and have it loop through the array, committing each point. There are ways to save arrays to a database (serialization comes to mind) but I have never found a good reason to do so. It adds a lot of overhead and there is always a better approach to storing the information. Like I mentioned, you could use phpMyAdmin, but that necessitates the people who are using it to be fairly intuitive and competent. Definitely not the solution to use if big wigs are going to try and review the data.
  10. Based on your description of how much data there's going to be and the interface requirements, I would agree that SQL would be a good solution - if you think it won't suck up too much of your time getting aquainted. Not that I've any experience with it in LabVIEW, but you could have a backend set up for this in less than an hour. I'd use MySQL (unless you find that another flavor is more suite to your task) and throw up a package like phpMyAdmin on a basic Apache install - there are guides everywhere for Apache+PHP installs. If you don't want people to be able to modify the database, then you can create a credential for just viewing the data. phpMyAdmin is designed for use by people who know SQL, but I (believe) the interface does allow more basic use. It's worth checking out if you want more of a turn-key interface. Like I said, I've yet to actually use SQL in LabVIEW, so hopefully someone else can chime in on how troublesome that will be. I think more than anything it's going to come down to just how much motivation you have to not shell out for licenses.
  11. asbo

    Lilah Kring

    LabVIEW In Life Assures Happiness? Congrats!
  12. Very cool! For some reason, I thought the OLE provider needed some sort of extension from the Excel install. (And I actually skimmed that very article before posting - oops!)
  13. That won't work since he doesn't have Excel installed, though, right?
  14. Good catch - I didn't notice that he was doing that. A space there is just completely incorrect syntax; the driver letter must be immediately followed by a colon and either nothing OR a backslash. That is, "c:" is correct (in some circumstances) but "c:\" is always correct. As a side note, you can have leading spaces in directory names, but trailing are trimmed.
  15. It sounds like a few of you are mixing up page breaks with new worksheets altogether.
  16. Properties >> Scales >> "Time (X-Axis)" >> Scale Style and Colors. Select the top left icon.
  17. This really makes me think functional globals.
  18. I'm seeing this too (with Outlook 2007) and I'm curious - is there anyone who has this problem but isn't deleting each post after having read it? I always deleted them in the LAVA 1.0 feed and never had any problems, but I think it's been established already that this is an IP.Board issue. Also, I think the thread I've noticed doing this most often is the Mat-file IO thread.
  19. In a quick test just now in 8.6, it does in fact reload from disk VIs it does not consider to be changed.
  20. Trying to run an error wire through a local is would just be unnatural looking anyway... the flat sequence structure once again finds purpose.
  21. I don't think that's enough of a difference, personally - what about a strike or a slash through the "!?" instead of a color difference?
  22. Personally, I'm more into bready fish.
  23. As jcarmody pointed out, you didn't properly escape your regex - "d" is a the digit group and needs to be proceeded with a backslash. Likewise, a period is a single wildcard character and must be escaped if you're actually looking for a literal period.
  24. Based on the VIs you're using, I'd wager the error is coming out of your macro. Post the post for that as well.
×
×
  • Create New...

Important Information

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