Jump to content

viSci

Members
  • Posts

    466
  • Joined

  • Last visited

  • Days Won

    20

Posts posted by viSci

  1. In case anyone besides myself is still using the Excel GOOP toolkit by Martin Vernhout from Philips Research, you will find that it no longer works in LV 8.6.

    Apparently LV 8.6 rejects depricated activex properties that were working just fine in LV 8.5. I am attaching the fixed version. Also, LV 8.6 no longer installs the old

    _goopsup.llb files so you will need to install them yourself.

  2. I have been investigating the new RT Scan Engine and would like to compare notes. I have been testing the Forced I/O vi's and have found

    them to be very slow (~500ms/call) Anyone else tried this yet? Also, am curious to know what the plans are to extend the I/O Variable API so

    that we can programmatically create and/or rename Variables and modify scaling properties. It seems that the dll's under the hood have the hooks to

    do these things but the function prototypes are not published or wrapped yet.

  3. Ok, the problem with 'scan from string' is that it cannot be used when trying to transfer an enum into a subvi. The only way to do that is with a variant. So how about adding some goodies to the scan function to scan a variant and we could have it do all sorts of cool lvdata parsing including obtaining the enum string.

  4. I should have explained my application...

    I would like to create a generic CVT (Current Value Table) for cRIO applications. Instead of strings, I would like to use typedef'd enums

    as the tag key on my diagram. The generic interface for a CVT read or write would have a variant input for the enum key and a DBL,STR, or BOOL

    as the data input. I need to convert the enum to a string and use it as the key of a variant attribute which is used to strore all the CVT data. I thought

    it would be nice if the enum could be automatically converted to a string at the vi interface (I am sure NI could do it more efficiently than I can).

    I am currently preprocessing the enum typedef to extract all the strings and then use the enum cast to a I32 to index

    out the string. Overall, on the cRIO, it turns out that working with variant attributes is quite costly in performance so I may have to rethink the whole approach.

  5. I was wondering why LabVIEW does not automatically convert enum's to strings on subvi inputs. The information is available on the wire so why not just offer this as a convenience instead of having

    to send it in as a variant and doing the conversion manually inside the subvi. I think it would promote the idea of using typedef'd enum's as diagram tags instead of having to use strings which cannot be

    're-applied' when the typedef changes.

  6. 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.

  7. 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 -

  8. 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

  9. 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

  10. 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....

    post-162-1205376916.png?width=400

  11. 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

  12. 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

  13. 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.

×
×
  • Create New...

Important Information

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