Jump to content

Tim_S

Members
  • Posts

    873
  • Joined

  • Last visited

  • Days Won

    17

Everything posted by Tim_S

  1. Tim_S

    Modbus Addresses

    What you have circled in red would be the bit in the word you'd read. The address is 0x0026, though that may not be the actual address; you may have to hunt around for the actual starting address.
  2. The hardest thing to find is the base Modbus address. No manufacturer seems to put the exact correct address in their manuals, so you'll have to hunt a bit to find the correct base address. Everything after that is offset from the base address.
  3. I'm not able to look at your code right now, but I'm confused as to why you are trying to supply power to these devices using a DAQ card. I would be surprised if the card can source enough current to operate the sensor or valve. A better way would be using a 6V power supply for both sensor and valve (assuming the valve can take 6V) and switch the signal to the valve using a digital output going to a SSR.
  4. A dial where one PC controls testing on both test stations and monitor the load and unload stations. PROFIBUS and DAQ cards are common to all stations. The stations on the dial are asynchronous.
  5. Regular computers are good to 30 deg-C. An industrial computer is typically good to 40 deg-C. That extra 10 deg-C may save you when the A/C konks out on a plant floor in BFE. The cards you put in may not have as high of a rating, though. I can also get an industrial computer with redundant power supplies, RAID controller and hot-swap hard drives. This can be significant if it has to run 24x7x365. A warning with industrial computer suppliers, though: Not all provide warranties for more than 30 days.
  6. I looked into it and tried the demo, but can't justify the overhead. My customers typically spec out delivery date, parts per year, perhaps what tests they want done (versus how to do the tests), and GR&R procedure.
  7. I've done this with ~10kHz sample rate. I read in 1/10 of a second of data, pull the min and max values, perform a max/min on shift registered values and then update the shift register. The loop can't run at 10 kHz, but it can process blocks of data to keep up with 10 kHz+ sampling rate.
  8. Condolences. Oh, yes playing with hardware is fun. Especially when it comes in bubble wrap.
  9. I benchmarked hyperthreading about 6 years ago and found a slight performance degradation when using it. That was back with a only one PC, single processor, etc., so take that for what it's worth.
  10. I concur with the above. The actual control, depending on how complex it is, could be a closed loop controller with two digital outputs. Something more complex could be a PLC or equivalent (cRIO, cFP, etc.). These devices are meant to run day-in-and-out for years on end. The data logging can be a real-time or PC system with other features depending on how critical data loss could be.
  11. You can inherit a class if you can see it, so I don't think there is a way to expose a class and not make it inheritable. The next best thing would be to make data and VIs private. Is this a concern, though? The person creating the child class either has access to the source code, or is accessing a distribution of some kind (source distribution or packed library). The first case is moot as the person can change the source to be whatever they want. The second case is one where the original developer has chosen what to expose though design.
  12. I've gotten around this issue (before there was programmable power on state) by using one of the outputs to turn on a time-delay relay. The relay became part of the control power circuit.
  13. If I understand you correctly, you have a pigtail or multiple wires coming off the part you're testing. Spring loaded terminals (similar to some stereo connections) would be the fastest way to get a good connection. The only other option I know of would be screw terminals, which would be a more positive connection. The amount of current you need to run through is as important as the voltage. Put too much current through a pogo pin and it'll become a fuse.
  14. I'm not a fanboy for ActiveX (or .NET or COM or anything else customers require), but I'm curious as to the statement to stay clear of ActiveX in professional role?
  15. I'm assuming your internal reuse libraries are inside the user.lib and would thus show up in the dependencies. You can, in a build specification for the packed library for a parent class, apply a prefix to anything in the dependencies. That should allow your developers the freedom you're looking for so long as no one picks the same prefix for the same original subVI.
  16. My inclination is to follow the plugin example over on the Dark Side using packed libraries. I have had some trouble with using packed libraries with an error message about including compiled code when trying to create the child objects. I was able to get around this by compiling the parent with the debug flag turned on. There is a fair amount of housekeeping that has to be done to make this structure work, but it's easy to create a new plugin once you've got the setup down. The portability between 32 and 64 bit Windows concerns me. I'm wondering if there is a problem when an executable that uses plugins that are both built in 32-bit are run on 64-bit. I see an executable loading packed libraries as the use case rather than a VI in the development environment.
  17. My first impression of what you're describing is you're creating a plugin, or at least something very similar. Did I miss something?
  18. Funny, we're about to send out a quote to upgrade a Watlow temperature controller to have PC control through Modbus TCP. We've had Modbus communication to devices before, but not specifically the Watlow.
  19. It was a huge leap from CS101. CS101 was about 3-4 hours of lecture a week and maybe 5 hours of homework. CS212 was (by my recollection) 6 - 8 hours of lecture and it was taking me 12 - 20 hours to do the homework. My main difficulty was familiarity with the libraries in Python and how to use (exploit) them. I had to call it quits at week 2 (of 7) as I didn't have that kind of time to dedicate. I didn't use the forums for CS101 and started using them for CS212 (they really helped with a couple of questions). I just checked and I'm still taking the course despite it being past the exam. I'm planning on going back and at least watching the lectures as there was good content in there.
  20. Have you taken the Udacity CS101 class? How does it compare to the CS253 class? I took the CS101 then CS212 class, but wound up "dropping" CS212 as I was still just learning Python from CS101 and didn't have the time to catch up. How does Coursera compare?
  21. North America and northern South America are 60 Hz. In general, the rest of the world is 50 Hz. Tim
  22. I think your options are undesirable, not flawed. These may be the best way to handle the issue without major rewrite. On such things I have a "create" and "destroy" VI. The create runs before anything else; failure creates an error that causes everything downstream to fall through. The destroy does not run until I've verified all other code has terminated normally (or timed out waiting for such).
  23. Yes, I've got the Save Instrument method in there. References are all closed, so, yes, that's not a problem. I started thinking about a VI that modifies the constant then starts the build. I'm not getting a modified message, but it may resolve the issue I'm having. Tim
  24. I'm using scripting to update a time/date constant with the current time when the build occurs. This is done in the Pre-Build Action. I have verified the scripting works (the VI is saved as part of the script). The build, however, has the time in the constant before the build occurred. The VI that is modified is not loaded in memory before the build (as far as I can tell). This leads me to two questions: One, why does the changes the scripting makes not get into the built code? Two, how do I get this as part of the build? I have an idea forming that should let me do what I want (create a VI that updates the constant, then runs the build script), but I really need to understand what isn't happening the way I think it should be first. Tim
  25. Check RSLinx capability to restrict access. LabVIEW is out of the picture once it transfers information to the OPC server.
×
×
  • Create New...

Important Information

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