Jump to content

ShaunR

Members
  • Posts

    4,849
  • Joined

  • Days Won

    292

Everything posted by ShaunR

  1. I my bluetooth stuff somewhere on this site, I address multiple transport layers. It'd be worth taking a look to see how its implemented but basically it makes the interface (TCPIP, UDP, IRDA, Buetooth in the example) transparent to the protocol. Might be a way forward for you to simplify your low level stuff.
  2. Are you describing a single device on multiple interfaces an protocols (e.g a dvm that has gpib eternet and rs232 interfaces that you want to test) or is it multiple devices on multiple interfaces such as motors on rs485, dvms on gpib and digitalio on ethernet that are used in conjunction?
  3. Mot much in it really. Labview nowadays creates copies of things if there is a Y in the day and you've just exhaled. The main advantage of data over refs is that data is much easier to debug since you can probe it directly to see the data.
  4. didn't see this thread. Why did you start a new one? I wasn't refering to static VI refs. Indeed. Constants are, well, constant Immutable, unchangeable! If you can change it is not a constant, its a variable. Indeed. Constants are very often used for type information especially with polymorphic vis. I looked at your "confusion" image and it seemed to me to be syntactically identical to: So I didn't think it unusual or erroneous since I use something similar with self initialising functional globals.
  5. Woohooo. Next question. When can I download 2009.1.....tomorrow?
  6. Thats because the number of format specifiers have to be exactly the same as the fields you are trying to extract. From your last example, the last digit is 1. If you are viewing the value in a digital indicator and "hide trailing 0" is set, you will only see the decimal places IF the digits are non-zero. If thats not the reason and you want that to be 1.00 I would suggest using %.2f as the format specifier.
  7. Well. There are a few ways. If the message string is always in a fixed order and fixed length and messages are not concatenated, you can use the "Scan From String" which will give you the results straight away in the format you require. If its not, then you can use the "Spreadsheet String To Array" to break up the string at the delimiters then convert to whatever formats you like.
  8. When you use the port write, the number you wire represents the bit pattern of individual DOs. So "1" would turn on DO 0 and turn off all others, "2" Turns on DO 1 (all others off) and "3" turns on DO 0 AND 1 etc since 3 (in binary) is 00000011.
  9. Do you have the "Database Connectivity Toolkit"? Have you done the following? <h3 id="tocHeadRef">Create a System DSN in Windows</h3> Click Start, point to Control Panel, double-click Administrative Tools, and then double-click Data Sources(ODBC). Click the System DSN tab, and then click Add. Click the database driver that corresponds with the database type to which you are connecting, and then click Finish. Type the data source name. Make sure that you choose a name that you can remember. You will need to use this name later. Click Select. Click the correct database, and then click OK. Click OK, and then click OK. Original Article.
  10. Name: Passa Mak Submitter: ShaunR Submitted: 11 Oct 2009 File Updated: 25 Oct 2009 Category: LabVIEW IDE Version: 2.0.0.0 LabVIEW Version: 2009 License Type: Creative Commons Attribution-Noncommercial-Share Alike 3.0 PassaMak is an API for realising multi-lingual user interfaces in labview. Overview: PassaMak is an alternative to the established methods of creating multi-lingual user interfaces that attempts to simplify both their creation and use. It is a wholely Labview native API (with source) that can scan either a directory of files or vis in memory and create language files that (using the same API) can then be used to translate the user interface at run-time. It is a text file (Excel compatible) translation tool, therefore it doesn't require compiling or special proprietry editors to translate. How It Works: The API can scan a directory (or memory) and extracts the label (tags), captions, tip strips and any ancillary text (such as graph axis, plot names etc) of all controls and indicators on the front panels and any string diagram constants that have their captions (or labels for digrams) visible to a number of language files. These files are in a bar "|" delimited spreadsheet format so they can be sent to translation services where they can easily be edited in a text editor or spreadsheet program. Once the language files have been translated, they can be loaded dynamically at run-time to change all the captions and strings in the application on-the-fly. One, easy to use, vi in your application does all this and supports translations for most complex controls/indicators such as clusters, graphs, booleans, ring controls and many more. Installation. Unzip to a directory of your choice. Do not unzip to the vi.lib directory. Dependencies: Labview 9.0 Find Files (Included) Top Level Vi (Included) Tick Count+ (Included) Cut Array Blanks (Included) LabVIEW Versions: Created with LabVIEW 9.0 Limitations. Unicode not supported. Enumerations not supported. Known Issues: None. License: Distributed under Creative Commons Attribution-Non-Commercial-Share Alike See http://creativecommons.org/ for more information Support: If you have any problems with this code or want to suggest features: please go to www.lavag.org and navigate to the discussion page. Distribution: Full source including examples is available at www.lavag.org Contact: PM ShaunR on www.lava.org Revision History. ----------------------- Version 2.0 Added exectable build example. Added support for Tip Strips. Added support for diagram scanning. Fixed bug #PM-00001 in Top Vi's Path.vi preventing correct identifaction of files when built into executable and no path defined. Version 1.0 Initial Release. Click here to download this file
  11. Hmmm. (Scratches head). What happens if you put the run-time dll in the same directory as your executable? (long shot ).
  12. Try this http://zone.ni.com/devzone/cda/epd/p/id/3491
  13. OK. It probably means you've got a Japanese run-time dll somewhere that is being picked up. Do a search for "LVRT.DLL". There will be a few. Right click on each of them and bring up the properties dialogue. Under details it should tell you the language. Are any of them Japanese?
  14. It is. But it keeps it simple, easy to understand and trivial to migrate to the "proper" way (using stored procs) once a little more experience is gained. PostgreSQL has variable length array datatypes (and then you could use the correct datatype) but MySQL doesn't. These are very, very important considierations.
  15. Try adding the following to your executables "ini" file appFont="Arial" 12 systemFont="Arial" 12
  16. Indeed. But for an introduction to DBs and SQL it will be perfectly adequate and acheive what is required. You gotta open the door before running through it
  17. SQL is all string manipulation e.g INSERT INTO TestDB (Fixture, Employee, Serial) VALUES ('No1', 'Brown','12345'). Will insert a new entry and populate the "fields" Fixture, Employee and Serial number with the values No1, Brown and 12345. (See its not that hard ) For the data, I would use a TEXT field (65,536 chars max should be plenty for most apps) and format my array to colon delimited floating point values. This makes it much easier to get back out and much, much easier to debug. e.g INSERT INTO TestDB (RawData) VALUES ('10.123456,3.1212134,12.11223344') If any calculations are to be made on the data (eg mean values, standard deviation, noise, max-min etc) you can iether post process it in the report query (harder) or save it to the DB as a separate field (easy).
  18. I had to make this dicision a while ago...and never looked back. I set up my own "Test" network which I got IT to link to so that anyone with a browser and login on thier network could view test results and other test information. This is still in use and is incredibaly scaleable. I set up an old PC with a webserver using Xampp. Its a fully functioning webserver including Apache, PHP, CGI, SQL,mail SSL and well, everything. But more importantly it is really easy to install and FREE. About 10 minutes and your up and running. Part of the Xampp installation is an SQL server. I set up a set of "Test" databases (we had 3 product lines at the time so I decided to have a different one for each...personal choice to partition the data better. You could have one or you could have one for each station..its up to you how you set it up). The test stations (18 of them, 6 per line) all pushed thier test data into the various databases using the Labview SQL toolkit. I just made a drop in module for the existing test stations so that instead of writing the results to a file, they wrote it to the database. I then wrote a few webpages (started as two, is now about 80 and quite sophisticated with graphs, process capabilities, searchable queries etc) that queried the databases so that any user could view the results in a web browser. The thing about this setup was that it operated perfectly fine on its own as a standalone system, but once it was up and running, IT really took an interest (especially after the big guns wanted to see the pretty graphs on their laptops in the office ) and they have now taken the responsibility of managing and updating the webserver. From my point of view (and ITs) it creates a defineable partition between the test network and thiers and it is a technology they understand. The big guns loved it because there was no captital cost (well, apart from the SQL) although I did persuade them that they should make a donation.
  19. Still reeling from that one eh?
  20. 1. Read from spreadsheet file. 2. Delete array element. 3. Write To Spreadsheet file. Either way its only a 30 second vi. How easy do you want it?
  21. Even Excel cannot save its own page breaks to a text file.
  22. Ummm. VI, TCPIP, UDP. IMAQ, Bluetooth, IRDA?
  23. As Asbo said. You have to select a scale that shows the minor markers.
×
×
  • Create New...

Important Information

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