Jump to content

ShaunR

Members
  • Posts

    4,936
  • Joined

  • Days Won

    304

Everything posted by ShaunR

  1. Apart from the aforementioned aspects. Another major reason is that Industrial PCs have a guaranteed availability and parts longevity with a definitive obsolescence time scale (usually 5-10 years from introduction). They also tend to come with things like RS485, serial com ports and oodles of usb ports as well as the large PCI /PCIE count..
  2. If it works. It's good. There are many ways of doing things and whilst there are "accepted" solutions to common problems; "Smart" is subjective. Your only objective was to "sequence" the drive shutdown since LabVIEW is inherently parallel, and there are a lot of ways you could have achieved that. For example. In addition to your solution, you could also have wired the error terminals on the express VIs to outside the loop (a very common way of sequencing VIs). or for that matter, the 0. You could also have OR'd the STOP boolean to the selector. Worry about "smart" when you know where all the things are in the palettes, you've got a few utilities in your toolbox, written a few programs and been on some courses. This program is the "first pass" (your prototype, if you like). I can guarantee you will be revisiting it making it "smarter", prettier or more flexible. The stop button in the IDE is for the developer only. In deployed applications, users should not have access to it since it circumvents shutdown procedures by stopping the code dead. Never give the user any opportunity to do something you are not expecting otherwise he/she will!
  3. Just put another motor stop (set the motor value to zero) outside the while loop so that it gets executed after the while loop stops. I'll leave you to figure out how to sequence it to make sure it happens after the loop stops rather than while the loop is running (hint, don't use sequence frames, ever!)
  4. Give this a go. not sure I got the "sense/direction" you are trying to achieve right (and had to reorganise a bit to make be able to read it). but the "latching" is there.
  5. The output will be "TRUE" if the direction is detected. It looks like your case structure is set to "False" to turn off. Try swapping the cases around. It is usually better to post your VI or an example of what you are trying to achieve rather than an image. For simple VIs you sometimes get back the VI with the changes. There is a lot of replication in the openG VIs, presumably for completeness. Not using the openG stuff forces me to look in some of the more obscure palettes.
  6. There are several ways. For example, you can use this VI to detect the "direction" of your boolean change.
  7. I use base64 because everyone has base64 decoders and it has the benefit that images can be planted straight in a browser without explicit conversion (although that's probably not much of interest for your use case)
  8. There are filter examples shipped with the FPGA (look for "notch filter") and there are IPs that you can download from NI that also give you more filters such as the median filter. You can even create your own IP using the IP wizard in the project manager if push comes to shove, but I've never used it (I'm lazy like that) It is not unusual for the derivative term to do nothing in some systems. With such a small integral, it is arguable whether you really need a PI controller even.(P only with deadband for example). However. It's "software", so what the heck eh? It works and that's the main point.
  9. Well. As you know. It is the integral term that dampens ringing and overshoot. +-0.02v out of +-10V is 0.2% of FSD and I expect that is within the spec of the device. So the choices as I see it in the absence of being able to increase the integral and without getting into process modelling are: 1. Apply a 50-60Hz band-stop filter on the input (try and reduce the amplitude of the mains signal). 2. Apply a median filter to the Derivative term (reduce the feedback sensitivity to noise) 3. Introduce a dead-band (turn off control when within set limits-good for mechanical systems) 4. All or a combination of the above.
  10. Interesting little project that opens up a couple of possibilities (like automagically in-lining those identified as capable of being in-lined). Maybe it can be used for older versions by running it in 2012 and back-saving to a previous version (2010/2011?). Can it be extended to include or say something about subroutined vis? I get many error prompts (error 1026 occured at Close reference-vi ref invalid) when scanning either a directory or a project. I can get file output and do analysis though. A bit of documentation wouldn't go amiss as to what "complexity" actually means and what can be gleaned from it. I assume a complexity of >5 is "too complex"? Does this mean it is a candidate for refactoring? If a vi is marked as "Partially Optimised", what does it mean and what can be done about it, if anything? etc. It Needs a bit of love , but very interesting.
  11. What frequency is the sine wave. 50Hz? What is the +-0,02 in comparison to the range (+-5v sensor?) Does your PID controller implementation have a dead band?
  12. A guesstimate is not a guess. It is an estimate without having all the facts. As Order Of Growth is a simplified relational analysis and usually only denotes a upper bound; it is a "guesstimate" however much maths you put around it. It is a very crude way of describing processes.
  13. Perhaps you are just more use to the older terminology of "guesstimate"
  14. It was a "play on words". Intelligent? Me? Naaah. I write LabVIEW programs. If I was intelligent I'd write Malbolge.
  15. I bet you say that to all the boys
  16. Have you got a CAR number?
  17. No. As Phillip states. It is not a modem and therefore does not use Modem hardware signalling.
  18. Not even a week and there's a patch?
  19. Are you trying to open the port on the LabVIEW side twice? You can only open a port once or, more specifically, you can only bind one socket. If you are trying to "multicast" then you must use a multicast address, however, you will still open only one socket.
  20. Use the VISA property node.
  21. This is quite common so I wouldn't feel too left behind. Moving to a newer version represents a significant project risk and if/when you upgrade (which should be for a very good reason rather than there is just a new one) it's better to let other people find all the bugs/issues and any work-arounds for them. I'm still on 2009 which is far more stable and performant than than 8.6 (and, anecdotally/arguably, more performant than everything to date) and I'm waiting for a feature list or bug list that warrants an upgrade. However. Back to toolbars. The change was made in 2011. 2009 and 2010 both have the (much better IMHO) standard 3D button bar.
  22. Woah. Cats resurfaced. That's worth a "like" in itself
×
×
  • Create New...

Important Information

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