-
Posts
456 -
Joined
-
Last visited
-
Days Won
17
Content Type
Profiles
Forums
Downloads
Gallery
Posts posted by viSci
-
-
If you revert to traditional DAQ you
might be able to use what was called 'software triggering'
http://zone.ni.com/devzone/cda/epd/p/id/165
BTW, nice video
-
If you monitor them one at a time (assuming different electrode placement) then a common EMG/ECG amplifier would work assuming you could adjust input filtering
individually for each case.
-
Tomi Maila peeked my curiosity about the language Erlang. Here is a interesting interview on SE Radio about this newly rediscovered concurrent functional programming language. http://www.se-radio.net/podcast/2008-03/ep...rmstrong-erlang
-
QUOTE (rolfk @ Apr 15 2008, 12:24 AM)
Windows CE or Windows Mobile as it is named nowadays really is not a realtime OS at all. It is rather designed to bring the Windows desktop experience to small and resource restricted devices than to do anything in realtime. And the LabVIEW module to create applications for PDA devices certainly doesn't make many attempts to squezze extra performance out of the whole thing. In my experience LabVIEW PDA is best used to create simple GUIs for control and/or supervision of RT applications or such elsewhere, such as on a cRIO target or similar.Rolf Kalbermatter
Well, you may be correct but here is a report that makes it seem like Windows CE has more capability than that.
www.qnx.com/download/download/8124/QNX_Neutrino_v61_vs_VXAE_and_WinCE.pdf -
-
Greetings,
I am interested in getting some performance benchmarks on LV running under Windows CE. I would think that, in theory, it
should be possible to achieve real time performance in the league of LVRT which runs under the VXworks OS. I went looking
in the LVPDA 8.5 help for details on the implementation of the timed loop but could not find anything except some mention that
while loops execute with cooperative multitasking with a 50ms timeslice. I hope that is not the upper end of performance!
Mike Sachs
viScience
-
Here are a couple of links to get you started.
http://www.ni.com/academic/bme_course.htm
http://zone.ni.com/devzone/cda/tut/p/id/6349
http://zone.ni.com/devzone/cda/epd/p/id/5832
Also you might try to implement the standard Pan-Tomkins
QRS detector which is described in the attached PDF written
by Monnie Anderson from NI.Download File:post-162-1208116855.pdf
Mike Sachs
www.viScience.com
-
Have you tried Buffered Network Shared Variables? I have used them in applications were multiple clients communicate with a single server. Also you can look at the error
out of the Shared Variable node to see if there are any messages pending. NI has put alot of enginnering into the performance of Network Shared Variables so they should be up to the task you have in mind.
Mike Sachs
Intelligent Systems
-
I had a working LV8.2.1 application using IEEE1394 low level vi's until I loaded an unlicensed copy of the IMAQ Acq. Software drivers v8.5. I have tried to back out and uninstall the v8.5 drivers and reinstall the 1394 drivers but all my vi's are now broken as shown in the attachment. I checked to see that the 1394 low level.llb vi's match the imaq1394.dll and they do match and are from the same installation. I called NI and they are still scratching their heads. Any thoughts....
-
Here is something that I think could be modified for your purpose. It was designed for lab stations that have corporate mandated inactivity lockout, causing you to have
to login to the workstation again if you leave it unattended for a period of time.
Mike Sachs
iSG Technologies
-
I would like to pass along this method of creating transparent bitmap overlays. The example uses IMAQ but the core vi
will process any 2D bitmap images.
Let me know what you think...
Mike Sachs
Intelligent Systems
-
I have sucessfully used network buffered shared variables for transfering complex and high speed data from a cRIO or cVision system to a PC. One of the really nice
things is that you can setup arbitrary shared variable data types and you can specify client and/or server buffering. I believe shared variables
are the future in distributed system design. Also LV8.5 has a totally rewritten network protocol for shared variables that has greatly improved performance over previous versions of LabVIEW, which, by the way, had very respectable performance. Forgot to mention that you can specify the buffer size when creating the shared variables in your project and in operation they function very much like a queue. You can also poll the error out of a shared variable to determine if there is any data in the buffer to read or if there was an overflow condition.
Mike Sachs
Intelligent Systems
-
QUOTE(Neville D @ Nov 5 2007, 04:21 PM)
Yes I am using an exotic IMAQ image display and those seem to be the most problematic. In regards to value property nodes, there is an NI app note that specifically suggests doing this. http://digital.ni.com/public.nsf/allkb/FC5...6256C8C0054689B
-
I understand that an RT application is headless (i.e. does not have a front panel) for that reason it makes sense to check when a client connection is made and then enable writing to any front panel indicators. What is mysterious to me is that if you do update a some indicator values before any remote connection is made, then that indicator may 'stall'. In other words subsequent updates, even if forced via property value nodes or local variables does not visually update on the remote panel. Could anyone offer a theory to explain this? I have observed this in LV 8.2.1
Thanks,
Mike Sachs
Intelligent Systems
-
Thanks to everyone who has tried to help. Here is the version of a batch file that finally worked:
cd c:\Program Files\Ecg Stairstep
regsvr32.exe """c:\program files\ecg stairstep\anigif.ocx"""
"c:\program files\ecg stairstep\vrmixr\setup.exe"
Lessons learned:
The cd command does not have any effect when this batch file is called from
the installer. The following snippet does not work even though anigif.ocx is located at c:\Program Files\Ecg Stairstep -
cd c:\Program Files\Ecg Stairstep
regsvr32.exe anigif.ocx
The complete absolute path always needs to be provided. The use of triple quotes is required to create a literal path string that contains quotes.
The last line will not work without quotes since there are spaces in the pathname.
Maybe Vista Powershell will finally extricate us from DOS hell.
-
Unfortunately, in LV8.2.1 you can only run executables that are .exe or .bat not .vbs
-
I am trying to run a batch file called register.bat after the installation is complete. It gets installed in the program files directory with all the other installation files.
The installer seems to be invoking this batch file but none of the intended actions go off. If I go to the installation directory and launch the batch file manually it goes off without a hitch. I have tried calling it from the run window and it also works fine. BTW, the batch file calls a VBscript which runs a regsrv32 and it also runs another setup.exe
Here is the register.bat file contents:
register.vbs
Here is the register.vbs file contents:
option explicit
dim ws
set ws = CreateObject("WScript.Shell")
ws.exec "C:\Program Files\ECG Stairstep\vrmixr\setup.exe"
ws.run "regsvr32.exe anigif.ocx"
set ws = nothing
Thanks,
Mike Sachs
Intelligent Systems
-
I have found that network shared variables also make it very easy to connect your PC GUI with your cRIO app. This route gives you tighter control over cpu and network bandwidth. Shared variables can also be customized to be any LV data type or custom control.
Mike Sachs
Intelligent Systems
-
I think this question was asked awhile ago but I am checking to see if anyone has yet to find an efficient way of appending image frames to an existing avi file. I am currently using the NI Vision tools but would be willing to switch for this one feature.
Thanks,
-
You will need the NI TDMS Excel add-on plugin
-
For a couple of months, in my spare time, I have been thinking about how to create this visualization. I first tried animated GIF's, but you cannot really control them.
I tried converting the GIF frames to a picture ring and that worked but it seemed like there should be an easier and better way. I finally realized that you could
do this by modifying a 3 needle meter control.
I was wondering if there is any technical reason why LV could not offer more control of a animated GIF image. Like frame rate control and frame direction.
Test it out by running the vi continously and watching the pump rotor follow the control dial. In my application this will be driven by reading the actual servo motor position.
-
Think of the intriguing possibilities...
Actually, my interest is in creating encapsulated graphic simulations using xcontrols.
I am wondering if it is possible to have an xcontrol execute periodically, perhaps with events from a 10ms timer or self regenerated events?
Ideally, all the code would reside within the xcontrol.
-
I am using the ACBR and have noticed that if the UI thread of the parent vi is held up (like with a ring control showing its menu items)then the ABCR will not complete. I presume this is the result of the Set Control Value Method. Is there a way to decouple the threads to avoid this problem.
Thanks,
Mike Sachs
-
Hi Nipon,
Thanks for the nice mp3 player, good example of clean LV coding style.
BTW, pohm cow jai pasa thai nit noy kup.
P.S. Carabao is a great group, I saw them 2 years ago at a outdoor restaurant courtyard in Chang Mai.
-
QUOTE(Aristos Queue @ May 2 2007, 08:28 PM)
Open up the "classic notifier" VIs... you'll find that internally they use the new notifiers. No plans to update any existing callers, nor to depricate the older VIs. We took them out of the palettes but they continue to ship with versions of LV.Ok AQ, thanks for pointing that out. As an aside to this topic I was wondering why the new queues and notifiers do not have an option to return the original reference, thus greatly simplifying things like the msgqueue libraries which internally have to keep track of which previous refnum's have been generated.
To be or not to be - Variant Array LV2's in RT
in Real-Time
Posted
I was wondering why this architecture is not based on Shared Variables. It seems (with the DSC) it is possible to programmatically create and read Network Shared variables of any type.
More and more it seems that the DSC is being melded into LV itself, so why not just absorb it completely and not have to reinvent the wheel here. The CIE component makes alot of sense but again it would be better if NI would just build this functionality into LVRT/FPGA to be able to read cRIO I/O directly in LVRT. Also was wondering why the CVT does not use Variant attributes to store tags, it seems like it would be faster than indexing through an array.