-
Posts
4,883 -
Joined
-
Days Won
296
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by ShaunR
-
LabVIEW, Websockets, and SVG
ShaunR replied to smarlow's topic in Remote Control, Monitoring and the Internet
Yup. This is what she looks like, face-on. -
LabVIEW, Websockets, and SVG
ShaunR replied to smarlow's topic in Remote Control, Monitoring and the Internet
I've really got the web-socket bug now http://screencast.com/t/TqFOatnbfmC (frame rate is due to Jing, not the apps) -
Why does it need to be disconnected? I'm asking (this seemingly inane question) because if you have to have a wire running out to a wireless router/DAQ, that won't help if you have to disconnect at the sensor terminals. Additionally, you will still have to have a power lead to the wireless device so it just complicates and moves the problem. If moving the problem further up the cable is OK (e.g you have to have a cover over the hole), then perhaps just cut the cable and put a male to female connector in the covering or a connector just outside the hole enabling you to disconnect it. The only other (non-cable) alternative is using a battery powered device (like the Arduino as mentioned by François). You could use bluetooth or wireless (bluetooth is better for battery life, but wireless will give you a better range).
-
Parallel ports are TTL compliant. So that means anything between 2.7v and 5v is considered "high" (conversely 0-0.5v is low). A diode only needs a forward voltage of about 2v so it's not a problem. The resistor isn't there as a potential divider. It's there to limit the current so you don't fry the port and/or the LED. For this purpose, the lower the voltage, the less current->good thing! A 4k7 resistor (470 with pull-ups if you want to be ultra safe) will give you about 1ma@5v with no pull-ups, or, if you like 0.7ma@3.3. If you find its not bright enough then a 1K will give you 5/3ma but I wouldn't go any lower without buffering. But it's not hard. You can forget the maths. A 10k pot and an ammeter will give you the perfect values for your port. Just twiddle it (the technical term) until you get the brightness you want whilst keeping an eye on the current. You can then measure it and find a preferred value for when you "productionise" it You'll be wanting to drive LCD displays in no time 3.5 Using the Parallel Port of the Computer (click on "more" to expand the article) You'll only blow the port. If you never use it, you won't miss it
-
The scariest thing (IMHO) is that people go to the effort This is a fun one though. LOLCODE HAI CAN HAS STDIO? PLZ OPEN FILE "LOLCATS.TXT"? AWSUM THX VISIBLE FILE O NOES INVISIBLE "ERROR!" KTHXBYE [/CODE]
-
Why is 3,3v a problem? Chicken Seriously though. This is kindergarten stuff. But if you've never used a screwdriver as a chisel, then maybe it's better to just throw money at it. Not one of mine by the way
-
Much better than serial (8 bit bi-directional, i.e digital inputs OR outputs ). My favourite low cost digital IO. Fantastic for foot-switches and system monitoring and essentially free. Unfortunately, not many PCs come with them nowadays. http://digital.ni.com/public.nsf/allkb/B937AC4D8664E37886257206000551CB There are also a couple of examples in the "Example" finder. You have to check whether your motherboard already has pull-up resistors (most do, some don't). Then you can connect 5V LEDs directly or just short them to ground (if using as digital in). Note that logic is reversed since you sink to ground THROUGH the IO line to light an LED. I always stick a transistor in there too to be on the safe-side, since if you get it wrong...you blow the port. It also inverts the logic so I don't get confused (happens regularly). http://www.beyondlogic.org/spp/parallel.htm
-
Real programmers do it in Malbolge.
-
Yup, but you only get 4 (DCD, DTR, RI and RTS). You also need a 4k7 resistor in line to limit the current (supply, according to spec, is +-15V by the way-so choose an appropriate LED, although most motherboard manufacturers run off of +-12V).
-
Inline SubVIs inside rentrant DD causes bad behavior?
ShaunR replied to Jon Kokott's topic in Object-Oriented Programming
Not an issue. Comparatively. X64 is slower in most (all?) of my use cases than X32 (regardless of LV version) So I was simply implying compare apples with apples. Don't get me started on the "don't always work". Still can't back-save to <8.5 and 2011 x32 just crashes on start-up since it was installed -
Inline SubVIs inside rentrant DD causes bad behavior?
ShaunR replied to Jon Kokott's topic in Object-Oriented Programming
9 times out of 10...Yes. But don't go comparing 2011 x64 with 2009 x32. It'll make you cry. -
how to have a break on a serial bus which is 1ms
ShaunR replied to spaghetti_developer's topic in LabVIEW General
Sneaky...I like it -
Inline SubVIs inside rentrant DD causes bad behavior?
ShaunR replied to Jon Kokott's topic in Object-Oriented Programming
Naaah. Downgrade to 2009. It's faster and you probably already have it -
Expert (ɛk.spɛʁ) -> An old drip under pressure
-
how to have a break on a serial bus which is 1ms
ShaunR replied to spaghetti_developer's topic in LabVIEW General
Much more difficult than using a pic as a serial pass-through to just chop the break Not to mention <$10 -
*********************************** ERROR ************************************* ERROR: 3.1 kernels are not supported! ** Running a 2.4.x or 2.6.x kernel is required to continue this installation ************************************ ERROR ************************************ Thats as far as I got on 12.1 before switching to 11.4. I don't have a 2009 linux distro (rocking-horse droppings ) so unfortunately cannot try it to see if I get the same problem. All I can say is that 8.5 started ok and even installed everything properly on 11.4. Perhaps a call to NI?
-
this is what I did. 1. Goto YaST Control Center → Software → Software Management 2. View → Patterns 3 Select "Base Development" check box. 4. Install. After that I went to "Search" and typed in "kernel". Selected "kernel source" (which is 3.1 for 12.1 and 2.6.37 for 11.4) and then installed that. Like I said. I had problems with the NIVisa on 12.1 (which is one of the ones that needed the source and gcc) but no problems on 11.4.
-
http://forums.ni.com/t5/LabVIEW/Help-using-invoke-node-Ctrl-Val-Set-with-cluster-elements/td-p/887434
-
-
This is probably a case of the blind leading the blind but.... you've got a few errors e.g gcc Not found in current path*** ERROR: Some required tools are missing or were not found. ***[/CODE] I got a little further (since I have gcc and the kernel source installed) but then got this error [code] *********************************** ERROR ************************************* ERROR: 3.1 kernels are not supported! ** Running a 2.4.x or 2.6.x kernel is required to continue this installation. ************************************ ERROR ************************************ So I'm guessing it won't work (properly?) with 12.1. I am just going through installing 11.4 (which uses kernel version 2.6.x). NB: These errors were for only the GPIB and the VISA but I'm not going to faff around with seeing which "parts" might work although Labview did run without quitting (version 8.5)
-
Actually this is a slightly older one than I use currently. The latest one passes the errors via a queue to an asynchronous process that then writes the to DB but the main bulk of it is still the same.
-
I briefly mentioned a logging API that I've been using for logging errors, warnings etc to a SQLite database in the NLog thread. Since it seemed to be of interest, I thought I'd knock together a demo so that peeps could see how I use it and demonstrate some of the features using database enables above and beyond boring old text file logs (it requires the SQLite API for Labview installed) So here she is..... If people approve and think it's useful, I will add it to the SQLite API for Labview as an example.
-
NLog logging engine for LabVIEW
ShaunR replied to JodyK's topic in Application Design & Architecture
Well. I've been around a bit.It's my 3rd most re-used piece of code. Maybe I should include it as an example in the API library -
NLog logging engine for LabVIEW
ShaunR replied to JodyK's topic in Application Design & Architecture
I do the same and insist on result data as well. I think you've just picked up on the error bit because of my last comment (my bad), but previously I did say log file with info, warnings and debug so I think we are on the same page. If the log table is in the same DB as the results then you get them by default when they send the file. A few MB is nothing really in the scheme of things and it makes no difference in performance for a database of couple of GB. Of course, with text files you would really be struggling even with 10s of MB, As to what you save in the log table, well that's just down to your category partitioning. The sort of info (comms etc) that you describe, for me, would be "debug" and only as and when required. Maybe you would just have an extra category "Comms" since categories are not mutually exclusive, But I would still want errors, warnings and info logged during normal operation and over extremely long periods. Because you can handle such large data files you can leave error, warning and info logging enabled permanently and just switch in the "debug" for all the low level stuff as and when required.You then get useful things like how often they restarted the machine, what operators were logged in when the errors happened, if there were any warnings before the errors occurred, any alarms emitted etc. And all filterable Of course. Errors should be minimal if the software is working as intended. So it's really info and usage I would primarily be interested in and I request customers send me the DB file every month for the first 6 months so I can see how it is being used/abused and what can be done to improve it. Quality departments love the info too since you are logging calibration and tool-change info over time and they can run data through their 6 sigma software I'm not sure I like the idea of including a database in a database. I don't really see the point since it wouldn't be searchable from the TDMS. Like with most things I prefer to stick with one technology rather than mix, If I were to consider it, I think I would just keep the Sqlite file separate or include the errors/info in the TDMS (SQLite cannot beat TDMS for streaming).