Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 06/28/2018 in all areas

  1. It reminds me of the old quote about solving a programming problem using regular expressions. Punch-line : "Now you've got TWO problems"
    2 points
  2. Add a delay between the last write and close and make sure you are not terminating (closing) the connection before all bytes have been transmitted.
    2 points
  3. Hello, I’ve been working with SQLite for a logging application and I thought I might offer my SQLite LabVIEW wrapper for possible inclusion in OpenG. There are at least two other implementations out there, both with licensing restrictions, but it would be nice to have this in OpenG as I think SQLite is a major addition to the capabilities of LabVIEW. Below is a zip file; it includes a couple of examples. SQLite LabVIEW.zip LabVIEW 2011. SQLite dll for Windows (32-bit) included. NOTE: more recent version now in the Code Repository. An (incomplete) menu: Here is the block diagram of Example2: There are basically two use modes: (1) calling “Execute SQL” on a Connection to run SQL scripts (and optionally return 2D arrays of strings or variants from an SQL statement that returns results); and (2) “Preparing" a single SQL statement and executing it step-by-step explicitly. The advantage of the later is the ability to “Bind” parameters to the statement, and get the column data back in the desired datatype. The “Bind” and “Get Column” VIs are set as properties of the “SQL Statement” object, for convenience in working with large numbers of them. This package closely follows the SQLite C/C++ interface and is intended to facilitate the execution of SQL scripts, rather than provide VIs that substitute for SQL statements. Thus there are no VIs for creating tables, triggers, etc. The SQLite website provides extensive documentation of SQL and the C/C++ interface. The only differences from the C/C++ interface are: 1) “Reset” and “Finalize” do not return the error code from the previous “Step” (as this would be both unnecessary an confusing in LabVIEW) 2) The default busy timeout for waiting for a database file that is temporarily “busy” due to another connection is set at 5000 ms, rather than 0 ms. 3) I created a “First Step” VI that wraps “Step”, intended to be the first call on Step that actually execute the statement (further calls to Step increment through return result rows). I did this to allow future potential retry logic in “First Step”, and to have a clearer set of VI icons showing the difference between executing a statement and stepping through result rows. As I said, it would be really nice to have an SQLite interface in OpenG. I’ve only just scratched the surface of what can be done with SQLite (see, for example, the “Full Text Search” and “R*tree” extensions). — James
    1 point
  4. Today I learned that labview aborts connections immediately even if you dont wire in abort, because... " abort is reserved for future use. " (help)
    1 point
  5. From my perspective, I have designed sequencers in LV that work fine. Recently I had to switch and use teststand as main sequencer and I can tell this tool is amazing. The ammount of flexibility we can have is almost unlimited. Some apis are not ducomented properly and there is high learning curve in my opinion. This is not a tool that You will plug and play in week. It requires investment that returns over time. I have seen NI training materials and to my opinion they provide no valuable information.
    1 point
  6. This post offers a solution (amongst others), which I should have tried before posting this. tldr: Set the "Legend: Plot Minimum" property to the number of plots in the graph. The property name and its documentation seem to suggest a solution to the opposite problem: The number of entries in the plot legend will never go below this value. That's what threw me off, because I was looking for something that would make sure the number of entries in the plot legend will never go above this value. As it turns out, this property node also has the effect of removing "unused" plot names when the number is set to the amount of plots in the graph. And in 2014 it also works with scroll bars in the legend without having to turn them off and on again. Delete Plot Names From Legend.vi
    1 point
×
×
  • Create New...

Important Information

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