Jump to content

bbean

Members
  • Posts

    258
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by bbean

  1. QUOTE(yogi reddy @ Nov 19 2007, 12:22 PM) Try using this framework Simple TCP/IP Messaging (STM) Component http://zone.ni.com/devzone/cda/epd/p/id/2739 Command-based Communication Using Simple TCP/IP Messaging http://zone.ni.com/devzone/cda/tut/p/id/3098
  2. QUOTE(jpc @ Nov 16 2007, 05:53 PM) Can you post the code where the DB is called?
  3. Is this happening on the server side? Are there any LabVIEW applications on the server? Many Database Servers, MS SQL Server for example, will hog memory up as they go. The memory won't be released by the DB until another application requests it. I believe they do this so they can store queries and frequently executed statements in memory for faster exection. Check to see if the Oracle DB has some way of limiting the maximum amount of memory it uses. Regards
  4. I've found this activex grid to be quite useful where the builtin mcl control in labview lacks: http://www.devexpress.com/Downloads/ActiveX/XQuantumGrid/ If you can stomach using activeX.
  5. QUOTE(Karl Rony @ Oct 25 2007, 10:05 PM) You are right. I was just trying to show him a typical insert with SQL Server that I could throw together quickly. I downloaded mysql and the odbc driver and ran my program again and it is definitely slower with mysql. My hunch is that the ODBC driver actually uses Http instead of shared memory, but that is just a guess. Maybe tweaking the connection string/mysql setup/ stored procedures would help. The wierd thing is that my CPU usuage hovered around 2% whereas with SQL Server it hovered around 40%. Here are the results: median insert : 9ms min 7ms max 250 ms
  6. Here you go. On my computer: Dual Core 2.2 ghz 2mb ram SQL Server 2005 I can insert 10,000 records on average about once per millisecond with max cpu usage on both cores of around 40%.
  7. QUOTE(tmot @ Oct 23 2007, 08:30 AM) Can you please post a connection string for the "mattias" database ? Have you tried a stored procedure yet? If you have anti-virus software running, you may want to turn that off and see if things speed up any. Brian
  8. One other suggestion: Since your app and the db are on the same computer, use a "shared memory" protocol instead of TCP/IP if you haven't already. Also as mentioned above, 1) Separate DAQ and DB Loops 2) Initialize connections to DB outside loop 3) Use stored procedure for inserts Can you post a snapshot of the code? and a SQL script of the create database commands?
  9. QUOTE(Dean Mills @ Oct 15 2007, 04:25 PM) Dean's right. Don't forget to return settings to normal after your done debugging. Sometimes not having reentrancy on can screw up some events. I also use the attached tool to record event occurrences as they happen to a file.
  10. QUOTE(yen @ Sep 2 2007, 02:16 PM) Sorry Yen, Backsaving doesn't work.
  11. QUOTE(Neville D @ Aug 23 2007, 08:08 PM) BD and FP size are available during runtime but Data Size is not. BD and FP don't seem to change while the VI is running
  12. Is there a VI property/method or way to return the currnt memory usuage of a VI that is running? How does the profiler accomplish this? The reason I need to do this is that I want to monitor the memory usuage of template vi instances that I run. If I start the profiler before I run the application to track memory usage, the instances of the VIs are shown when they are opened, but they always show 0k for their use. I was also contemplating creating a graphical memory profiler....has this been done before in LV? B
  13. QUOTE(tcplomp @ Aug 21 2007, 12:56 PM) :ninja: I see
  14. QUOTE(tcplomp @ Aug 21 2007, 12:23 AM) Redraw event? I'm using LV8.2 and don't see it.
  15. QUOTE(MikaelH @ Aug 20 2007, 06:05 PM) Thats what I was afraid of.
  16. I want to capture when a user clicks the title bar and drags a front panel window to a new location. I only found a "Panel Resize" Event which doesn't fire when the user "moves" the front panel. Am I missing an easy way to do this?
  17. QUOTE(yen @ Aug 18 2007, 02:49 PM) Just what I was looking for. Thanks.
  18. Is there a way to get a cluster of all the properties for a graph? I would like to store most of the properties of a graph to file and then recall them later in. It seems like there should be an easier way than building a giant cluster manually and saving it to an INI file. I've found a "Plot Attributes" cluster that can be retrieved utilizing the event structure. http://forums.lavag.org/index.php?act=attach&type=post&id=6674 But I haven't found a way to pump this cluster back into the graph without unbundling the entire thing an manually wiring up each property to a giant plot property node. http://forums.lavag.org/index.php?act=attach&type=post&id=6675
  19. http://forums.lavag.org/index.php?act=attach&type=post&id=6526 I keep getting this error and even if I delete the file it mentions. It doesn't get fixed. Also I don't even think I have a "controls" pallete in the user.lib directory. :headbang:
  20. anyone ever seen this error caused by a registered activex event in LabVIEW 7.1: http://forums.lavag.org/index.php?act=attach&type=post&id=5856 It crashes the VI after execution and the error log says: D:\lvmerc\src\source\execsupp\eventoracle.cpp(392) : DAbort: panel-locking Event callback not in UI! The interesting thing is that only one of the registered events "cmdended" causes the crash, but the other one works fine. And, it does not crash in LabVIEW 8.2. I googled and looked at the NI boards, but nothing was very clear about how to fix the problem.
  21. Found the problem. Turns out even though the USB-6211 has 2 ctr outputs (Ctr0 and Ctr1), you can only use one at a time if you are doing a finite pulse generatation. If you set up one ctr as finite pulse generation it uses the other ctr output for a gate. So in my case, when I moved the stepper motor using ctr1, it sent ctr 0 (gate) high (causing unwanted strobe). As a work around I moved the strobe to an analog output and used square wave generation to fire the pulses.
  22. QUOTE(PJM_labview @ Apr 26 2007, 02:56 PM) I guess I'm suggesting abandoning storing numbers as strings and store them as their true type. I believe the only reason they are stored as strings in the OpenG is because config file format is a string. I guess I don't see why "float number format" is relevant to TDMS files, because you will probably never use a text editor to look at a TDMS file. If the numbers are stored in their native format, you can always use "format into string" primative to display in the "float number format" of your choice
  23. QUOTE(PJM_labview @ Apr 24 2007, 11:35 AM) I think it would work best by removing the "float number format" and adding three inputs on the original VIs.: 1) Group (string - optional): for the TDMS group. If blank chooses how to write based on 3). 2) Channel (string - optional): for the TDMS channel. If blank writes to the Group specified 3) Use cluster name for Group if group/channel blank (boolean - default true). If you set this to false and left channel and group blank, the VIs would read/write to the root of the TDMS file I believe you can remove the float number format since the number type is stored natively in the TDMS file (except the complex at this point).
  24. QUOTE(PJM_labview @ Apr 23 2007, 05:01 PM) I have already found a need for it. When I store multiple traces (channels) of data with peak detection, I store the cursor list cluster (peaks) to the channel's property. Then I can pull up all the channels and the peaks recorded during data acquisition and plop them on the graph pretty easily using the "TDMS File Viewer.vi" and the TDMS file. Its nice because it keeps everything in one file. What do you mean by more complex? Do you mean you have to specify the channel and group every time you write a cluster? I was thinking the "channel and group" write/read functionality would be additional VIs not replacements for the default option which would be to write/read everything automatically. Brian
  25. I have a USB6211 DAQ device I'm using to control a strobe and a stepper motor. The strobe is controlled by ctr 0 (a high pulse fires the strobe). ctr 0 is also jumpered to P0.0 (a digital input) to trigger acquisition of some analog signals. The stepper is controlled by ctr1 and Digital Input P0.1 is used to find a zero position on the stepper index (high is zero). http://forums.lavag.org/index.php?act=attach&type=post&id=5611 Everything seems to work fine most of the time, but sometimes the USB6211 gets in a weird state where every time the stepper zero input (P0.1) goes high or the ctr1 task for stepping starts, the strobe (ctr 0) fires. This undesirable behavior seems to happen after the user hits the stop/abort button and then restarts the program. Its almost as if there's crosstalk between the P0.1 and P0.0 inputs that gets fed back to the CTR0 output via the jumper. If I send a reset device command via max this behavior stops. Does anyone know what might be happening? Do I need an additional pulldown resistor on the ctr0 output to hold it low? Thanks, Brian
×
×
  • Create New...

Important Information

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