Jump to content

Tim_S

Members
  • Posts

    874
  • Joined

  • Last visited

  • Days Won

    17

Everything posted by Tim_S

  1. I ran across a bug in LabVIEW 2012 the other day. This does not exist in LV 2011 or prior. The CAR is 416470 if you want to track it. The bug occurs when a subVI has a Get Waveform Attribute with the default value terminal wired to a control. What appears to happen is the Get reads the value which can be seen on an indicator connected to the value connection of the Get Waveform Attribute primitive, however the calling VI gets a default value (in my case an empty string) instead of the value at the subVI's indicator. The workaround is the either use a constant for the default value, or put a Always Copy primitive between the Get Waveform Attribute and the indicator. What I believe technical support was trying to explain to me (as he wasn't quite sure what was explained to him, so take this game of telephone for what you will) is the memory location of the control is reused for the indicator rather than creating a new memory location. This prevents the calling VI from reading the memory location of the indicator as one was never created.
  2. How is your ambient lighting? Could there be a light that is occasionally shining into the camera?
  3. Is the panel resizing? The controls could be resizing with the panel.
  4. I don't think there is any restrictions on compilers for exporting (though a lawyer would be needed to say for sure) and LabVIEW ships with the compiler on the install media, so I would have to assume that LabVIEW isn't legally available in that country.
  5. I don't have a functional reason, but, from a style viewpoint, I would rather dequeue the message and process based on the state (first image) as that method reads better to me. I'm suspicious there is a reason to prefer that method beyond style, but it's not coming to me this early on a Monday.
  6. Good tip. Sadly it would have been a better tip so many VIs ago...
  7. It's not just different OS, but versions of OS. I went from WinXP to Win7 with the new work laptop; now I have bends in wires that were strait before mainly because the spacing of property nodes and bundle/unbundle by name.
  8. China's cell phone system is far better than their landlines to where we've plugged in cell phones into customer's test equipment so we could get a workable connection. Touristy cities or those that cater to businesses should have better internet connections. We've had a lot of problems in countries like India where we could only rely on phones and email at the hotel (VPN was out); this could be due to where the plants we've installed equipment in are located as the plant was built and running, but the road and power lines to the plant hadn't been built yet. PCAnywhere and Remote Administrator have been good friends. Both allow you to see the screen and interact with the computer as if you were there. We typically turn down to 256 colors to help with refresh rates. I believe both have chat features, though we've used notepad to chat when in a pinch.
  9. I implemented something like you're describing back before objects. It worked, but it was a lot of work to document and remember what was needed for everything to show up properly. I've switched to objects for plugins; the objects have properties for name, description, etc., which could be set up for localization.
  10. My company has a German office that also programs LabVIEW code. Their comments are, of course, in German, but so are the control labels. My German is limited to things such as sauerkraut and bratwurst. I could identify the ideas of what was happening, but fully understanding the code was very difficult.
  11. I ran across an article on when to comment you code. Thought I'd pass it along as an interesting read. http://ardalis.com/when-to-comment-your-code
  12. I'm not sure there is something that will evaluate that exactly, however look in the Mathematics->Scripts & Formulas->1D & 2D Evaluation pallet.
  13. What has bit me before is with running code are VIs that are "fire and forget" that I've forgotten about (particularly clones of VIs). All the VIs have stopped executing, except the dynamically called. If you're using a lot of memory that has swapped out, then Windows (I'm assuming you're using Windows) has to swap it back in to physical memory to release it. This can take a Very Long Time. You can see it happening in Task Manager/Resource Monitor.
  14. What initially (because these are what have bit me) comes to mind is: - Do you still have any code running at all that could take that long to terminate? - How much memory are you using? How much of the memory is swapped out?
  15. The manufacturer of the card provides drivers and examples on how to use their hardware. The examples may or may not be in LabVIEW.
  16. OK, that's making more sense now. I had (erroneously) thought that the aliasing/lookup of the port was done more directly to the OS. I appreciate the explanation of what's going on. I think this is a feature.
  17. What I'm looking for is: 1. Is this reproducible? Do others get the same errors? 2. Is this expected (I believe so)? After that, I have to decide what to do about it. My customer has discovered this, brought it up and is questioning what's wrong with the software and why is it trying to access webpages. There is actually nothing "wrong", save that the service that the software is trying to connect to isn't running and that the description of the event is misleading.
  18. I've got two LabVIEW 8.6 executables trying to talk to each other over TCP on Win7. The listening side has a service name which the other side uses. Should the listening side not be running, an entry goes into the Windows event log. I created a little LabVIEW 2011 test program that demonstrates this. Are people seeing the same behavior? The event I'm getting is: Event ID: 3299 Level: Error Source: LabVIEW LabVIEW information: Error: 404 "Not Found" for "testtcpservice", file "c:/program files (x86)/national instruments/shared/ni webserver/www/testtcpservice": Can't access URL Event Viewer Entries.vi
  19. How fast is your data changing? Does it make sense to use a single large picture control to display all of your information? Tim
  20. Yes. The initial setup takes a while, but I have different versions of LabVIEW and drivers that I support. There is significant space requirement, however the time savings when a customer calls up and I don't need to spend part of a day reconfiguring my system is huge.You do want a fast , memory rich machine to keep the overhead down, though.You do want a fast , memory rich machine to keep the performance hit down, though. Not related to LabVIEW, but my company also uses virtual machines for Siemens and Rockwell software (PLC/HMI programming). Rockwell doesn't play nice with Siemens in particular and Siemens doesn't play nice with anyone (including some NI software). Virtual machines are a great way to sandbox applications.
  21. Can you post an example of your code that illustrates your problem?
  22. Have you checked out: https://decibel.ni.com/content/docs/DOC-10153 ? This has everything you need to know about unicode and LabVIEW (ok, well not everything, but enough).
  23. If you have a fixed length array, you can do what you want by having a cluster of numerics and use the cluster to array.
  24. I've used some aspects of the actor-framework, but not implemented it wholly so this may be a silly question... Wouldn't the top-level know the order to start up/shut down?
  25. I've solved this two ways: 1. Errors during shutdown get dropped. I try do do this only when the program has received a shutdown from the operating system (for instance, when the UPS is running out of juice). 2. Sequence the shutdown so that higher-level components shut down first. This has been the reverse order from starting up the system for me (e.g., startup might be load configuration->start error management->start security->load & start plugins->start UI, and shutdown would be stop UI->stop & unload plugins->stop security->stop error management->write configuration).
×
×
  • Create New...

Important Information

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