READ TIME TO LABVIEW FROM KSI TRPO-PCI BOARD

I HAVE A NEW SYSTEM WITH WINDOWS 2000, I BOUGHT A TIMMING CARD FROM KSI TPRO-PCI, HOW DO I READ TIME FROM THE BOARD REGISTERS IF I/O PORT IS NOT SUPPORTED ON WINDOWS 2000. BEFORE I COULD DO I/O FROM AN ISA TIMMING CARD ON WINDOWS 98.WHICH DRIVERS DO I NEED TO GET TO DO THE I/O

On windows NT and 2000, you need a kernel level driver to access these hardware registers. Take a look at this Knowledge Base:
http://exchange.ni.com/servlet/Redirect?id=1009247
At the bottom of this document is a link to port and memory utilities for windows called accesshw. You will need to download and install this.

Similar Messages

  • How to read time capsule files from iphone

    any one knows how to do this?
    i have used in the past an application call Soonr to access the mac but haven't tried if it works with time capsule.
    thanks for any thoughts/suggestions...

    Hi Harish,
    U can read all the files from a App's dir with this FM.
      CONCATENATE  '' '.'
             INTO LV_FILE1.
    *FM lists out the files present in App Server directory matching with given pattern.
      CALL FUNCTION 'EPS_GET_DIRECTORY_LISTING'
        EXPORTING
          DIR_NAME                     = DIR_NAME
          FILE_MASK                    = LV_FILE1
       IMPORTING
    DIR_NAME                     =
         FILE_COUNTER                 =  FLE_CNT
    ERROR_COUNTER                =
        TABLES
          DIR_LIST                     = IT_DIRTAB
       EXCEPTIONS
         INVALID_EPS_SUBDIR           = 1
         SAPGPARAM_FAILED             = 2
         BUILD_DIRECTORY_FAILED       = 3
         NO_AUTHORIZATION             = 4
         READ_DIRECTORY_FAILED        = 5
         TOO_MANY_READ_ERRORS         = 6
         EMPTY_DIRECTORY_LIST         = 7
         OTHERS                       = 8
    Regards,
    KC

  • Way to acquire more than one sample at a time into Labview from cFP?

    In reading data from my cFP into Labview I see that I can use the FP Read.vi but it only grabs one sample per call (loop iteration).  In other devices, I could just use the AI Acquire Waveform.vi to grab multiple samples per call.  Can I use this for cFP?  Is there another way to grab more than one sample per call from my cFP?  I'm just running it from a host computer, not using RT.
    My specific problem is that I have two things I want to do with the same signal, one slow (PID control loop) and one fast (data logging).  If I put the FP Read.vi in the same loop as the PID control, I can only get one sample in the time it takes the PID loop to run which is too slow.  I'm trying to think of ways around this problem.
    Thanks,
    Hosehead

    Hello Hosehead,
    With FieldPoint there is no way to acquire more than one same at a time like
    you can with NI-DAQ.  With the FieldPoint read and write VIs
    you can only read or write a single point at a time.
    Please see the Sampling
    Speed of FieldPoint Modules document for more information on cFP
    acquisition rates.  This document explains how channels are updated, how
    often the data is updated, and what happens if you miss samples.  Please
    note that you will be able to acquire more samples if you are running your
    application on the RT controller and not on your host computer.
    If this does not answer your question, can you please post more data about the rate
    you want your PID loop and your data logging loop to run at.
    Regards,
    Jesse O.
    Applications Engineering
    National Instruments
    Jesse O. | National Instruments R&D

  • Power supply from CAN hardware PCI board

    I am using a PCI-CAN/2 board to construct a network among some equipments. I need know how to get the power supply ( 5v ) from the two ports of that board to a circuit which contains a PCA82c250 can controller from phillips. I have already tried switch the board's jumpers to internal power mode and external power mode but no voltage was appeared. How can I do this ????

    Yes, this can be quite confusing. The internally/externally powered option refers to how the transceiver of the NI-CAN board is powered. When internal, the transceiver gets its power from the computer. When external, the transceiver gets its power from the V+ line of the CAN bus. Changing to external power will NOT bring any power to the V+ line.
    If a CAN bus requires power, try adding a power supply that can produce the recommended voltage. In such a case it is best to either set the NI-CAN board to externally powered or do not connect the V+ line to the board.
    Randy Solomonson
    Application Engineer
    National Instruments

  • Is it possible to get 2-ch signals from TDS2012 oscilloscope at the same time with LabVIEW "7.0"?

    Hi, everyone.
    I've been trying to get the signals from 2-ch of Tektronix TDS2012 oscilloscope at the same time using IVI connection with LabVIEW "7.0"
    I've already searched this developer zone for the answer.
    I've tried the famous example: "IviScope - Acq Dual Wfm Edge Triggered.vi"
    and it gave me the error message like:
    Error -1074110451 occurred at IviScope Initialize With Options.vi
    Possible reason(s):
    Driver Status:  (Hex 0xBFFA600D) Primary Error: (Hex 0xBFFA600D) The Config Server module is not present on the system.
    I think I've installed all~ the required softwares for IVI. For example, ICP 2.2, IVI engine 2.0.46, and tktds1k2k ivi (instrument driver for tds2012, in fact this one is for LabVIEW "7.1"... :-P)
    TDS2012 and my computer is connected through HPIB(GPIB) and it is shown on the MAX (a GPIB instrument as well as an IVI hardware asset)
    I've tried GPIB connection but it gives me asynchronous signals...
    Is it possible to get 2 signals at the same time with LabVIEW 7.0(not 7.1 or higher) by any means?
    What in the earth is the "Config Server" in this case?
    I don't need to sticking to IVI and any method to achieve my goal will be welcome.
    Could anyone give me the hint for this problem, plz?

    I think your problem is that the instrument specific driver is version 7.1 and you are using the class driver with 7.0. You can create your own 7.0 driver by downloading the LabWindows driver and using the Import CVI Instrument Driver under the Tools>Instrumentation menu.
    Since you don't seem to have a good reason to use IVI, why don't you try the native LabVIEW driver at http://sine.ni.com/apps/utf8/niid_web_display.download_page?p_id_guid=E3B19B3E9139659CE034080020E748.... I believe you have all of the functions to setup each channel and then when you trigger the scope, both channels will be captured. You would then transfer each waveform separately. The data is always read sequentially but that's not important as long as both channels are triggered at the same time.

  • Create a continuous data stream from C++, and read it in LabView

    Hello all.
    I'm working on a project which involves connecting to a motion tracker and reading position and orientation data from it in realtime. The code to get the data is in c++, so I decided that the best way to do this would be to create a c++ DLL file which contains all the necessary functions to first connect to the device and read the data from it, and use the Call Library Function node to feed this data into Labview. 
    I'm having trouble though, since ideally I would like a continuous stream of data from the c++ code into Labview, and I'm not sure how to achieve this. Putting the call library function node in a while loop seems like an obvious solution, but if I do it this way I would have to reconnect to the device every time I get the data, which is quite a bit too slow. 
    So my question is, if I created c++ function which created a data stream, could I read this into Labview without having to continually call a function? I'd prefer to only have to call a function once, and then read the data stream until a stop command is given.
    I'm using Labview 2010, version 10.0.
    Apologies if the question is poorly phrased, many thanks for your help.
    Dave
    Solved!
    Go to Solution.

    dr8086 wrote:
    This method sounds like an excellent suggestion, but I do have a few questions where I dont think I've understood fully.
    From what I understand the basic premise is to use one call library function node to access a DLL which creates an instance of the device object, and passes a pointer too it into labview. Then a seperate call library function node would pass this pointer to another DLL which could access the device object, update it and read the data. This part could be in a while loop and carry on reading the data until a stop command is given.
    That's it. I'm including some skeleton code as an example. I'm also including the code because I don't know how much you have experience with multi threading, so I'm showing how you'd have to use critical sections to guard the interactions between threads so that they don't lead to issues.
    // exported function to access the devices
    extern "C" __declspec(dllexport) int __stdcall init(uintptr_t *ptrOut)
    *ptrOut= (uintptr_t)new CDevice();
    return 0;
    extern "C" __declspec(dllexport) int __stdcall get_data(uintptr_t ptr, double vals[], int size)
    return ((CDevice*)ptr)->get_data(vals, size);
    extern "C" __declspec(dllexport) int __stdcall close(uintptr_t ptr, double last_vals[], int size)
    int r= ((CDevice*)ptr)->close();
    ((CDevice*)ptr)->get_data(last_vals, size);
    delete (CDevice*)ptr;
    return r;
    // h file
    // Represents a device
    class CDevice
    public:
    virtual ~CDevice();
    int init();
    int get_data(double vals[], int size);
    int close();
    // only called by new thread
    int ThreadProc();
    private:
    CRITICAL_SECTION rBufferSafe; // Needed for thread saftey
    vhtTrackerEmulator *tracker;
    HANDLE hThread;
    double buffer[500];
    int buffer_used;
    bool done; // this HAS to be protected by critical section since 2 threads access it. Use a get/set method with critical sections inside
    //cpp file
    DWORD WINAPI DeviceProc(LPVOID lpParam)
    ((CDevice*)lpParam)->ThreadProc(); // Call the function to do the work
    return 0;
    CDevice::~CDevice()
    DeleteCriticalSection(&rBufferSafe);
    int CDevice::init()
    tracker = new vhtTrackerEmulator();
    InitializeCriticalSection(&rBufferSafe);
    buffer_used= 0;
    done= false;
    hThread = CreateThread(NULL, 0, DeviceProc, this, 0, NULL); // this thread will now be saving data to an internal buffer
    return 0;
    int CDevice::get_data(double vals[], int size)
    EnterCriticalSection(&rBufferSafe);
    if (vals) // provides a way to get the current used buffer size
    memcpy(vals, buffer, min(size, buffer_used));
    int len= min(size, buffer_used);
    buffer_used= 0; // Whatever wasn't read is erased
    } else // just return the buffer size
    int len= buffer_used;
    LeaveCriticalSection(&rBufferSafe);
    return len;
    int CDevice::close()
    done= true;
    WaitForSingleObject(hThread, INFINITE); // handle timeouts etc.
    delete tracker;
    tracker= NULL;
    return 0;
    int CDevice::ThreadProc()
    while (!bdone)
    tracker->update();
    EnterCriticalSection(&rBufferSafe);
    if (buffer_used<500)
    buffer[buffer_used++]= tracker->getRawData(0);
    LeaveCriticalSection(&rBufferSafe);
    Sleep(100);
    return 0;
    dr8086 wrote:
    My main concern is that the object may go out of memory or be deallocated, since it wouldnt be held in any namespace or anything.
    Since you create the object with new, the object won't expire until either the dll is unloaded or the process (LabVIEW) closes. So the object will stay valid between dll calls provided LabVIEW didn't unload the dll (which it does if the VIs are closed). When that happens, I'm not exactly sure what happens to live objects (i.e. if you forgot to call close), I imagine the system reclaims the memory but the device might still be open.
    What I do to make sure that everything gets closed when the dll unloads before I could call close and delete the object is to everytime I create a new object in the dll I add it to a list, when the dll unloads, if the object is still on the list I delete it.
    dr8086 wrote:
    I also have a more general programming question about the purpose of the buffer. Would the buffer basically be a big table of position values, which are stored until they can be read into the rest of the VI? 
    Yes, see the example code.
    However, depending on the frequency with which you need to collect data from the device you might not need this buffer at all. I.e. if you collect a sample about every 100ms then you could remove all threading and buffer related functions and instead read the data from the read function itself like this:
    double CDevice::get_data()
    tracker->update();
    return tracker->getRawData(0);
     Because you'd only need a buffer and a seperate thread if you collect data at a high frequency and you cannot lose any data.
    Matt

  • Sensirion EKP-3 Code to read the raw ticks from the SDP6xx Pressure Transducer with LabVIEW

    Guys:
    I have seen the post here about the Temp Humidity sensor: Ref: http://forums.ni.com/t5/forums/replypage/board-id/170/message-id/749141
    Pardon the post under a new topic but I was advised to post it in a "new thread"... With the Device name in the title..  If this is a no-no let me know...
    Here is a question for the EKP-3 using the USB for the SDP6xx Here is an overview of what I am looking for... 
    http://www.screencast.com/t/RUDOisSvqC
    I have the Sensirion EK-P3 Stick to talk to the pressure transducer..
    This stick is made by these guys: http://www.codemercs.com/349/
    My question is how did you figure out the binary code to read the T and RH from the  iowkit.dll
    I want to read the RAW TICKS from the device that represent pressure. They go from 0 - 65535 and I have spied on it with WireShark and can not wrangle the binary code to read the raw ticks I am after.
    I made a video you can look at to see what I want from my learnings from this post: 
    http://www.screencast.com/t/UnCTJtvWLe
    I attached the DLL as well (Just rename it to iowkit.dll because LabVIEW does nol like dll's in attachments... so you do not have to mess with the msi.
    You may contact me directly at [email protected]
    Thanks!
    Dave Korpi
    Ref: http://forums.ni.com/t5/forums/replypage/board-id/170/message-id/749141
    Attachments:
    SHT75_IOWarrior.llb ‏139 KB
    iowkitdll.txt ‏71 KB

    Cameron... Wondering if you knnow how to get a 2's compliment for a 12 bit value in LabVIEW?
    I am looking to get the code to communicate to this top secret Sensirion product.
    Anyone know if I am properly sending the commands at 1, 2 and 3 of the image below?
    At issue, I think, is getting the two's compliment of the two 8 bit registers at Data LSB and Data MSB using LabVIEW...
    I have been working with the wizards at http://www.codemercs.com/258/?L=1 who have been EXTREMELY helpful.
    They have an AWESOME I2C to USB converter that you can get OEM devices to work for your I2C project. It is a single channel version of the NI-8451
    Anyone out there can figure this out so I can read the RAW TICKS from the Sensirion SDP6xx product line?
    Thanks a million! 
    Feel free to contact me at 831-455-0418 (pacific time) or [email protected]
    Attachments:
    SensirionCalls.png ‏121 KB
    Sensirion_Differential_Pressure_SDP6x0_Sample_Code_V1.pdf ‏97 KB
    LabVIEW_IOWarrior_V150Second.zip ‏1403 KB

  • LabVIEW Compare Tool load time of files from repository

    I have the LabVIEW compare tool setup for differences for .ctl and .vi files in Surround SCM source code control system.  The source code control system runs on a networked server.  My PC is on the same network as the server.
    When the LabVIEW compare tool reads VIs that are from a source control repository for diffing against files on my computer, it seems to load the repository files from a temporary folder located in users\username\appdata.  It takes a long time to load VIs that have lots of subVIs because as the tool searches for each subVI the tool begins its search in the vi.lib and instr.lib folders before finding the subVI in the temporary folder.  It is taking a few seconds and sometimes as much as 10 seconds to load each subVI.  This takes a lot of time to Diff VIs that have many subVIs.  Is there a way to make the diffing process go quicker?  Or is this something that would need to be fixed in the LabVIEW compare tool?
    Thanks,
    Gary
    Solved!
    Go to Solution.

    That's the normal behavior of the LVCompare.exe, and the folders at which starts looking for subVIs or control files (.ctl) cannot be modified. The available options that can be configured are the following:
    Configuring Source Control with LVCompare.exe
    http://zone.ni.com/reference/en-XX/help/371361H-01/lvhowto/configlvcomp_thirdparty/

  • I'm trying to read some XML data from temperature logger over my network. I'm using LabView version 2009 sp1. I'm using the URL Get Document Vi. It works fine when using Internet sites like google or foxnews etc...

    I'm trying to read some XML data from temperature logger over my network.  I'm using LabView version 2009 sp1.  I'm using the URL Get Document Vi.  It works fine when using Internet sites like google or foxnews etc...
    When I use it with my temperature logger most of the time I get an Error 66...but some times it does work and actually retrieves the document. 
    I can use the same address "http://172.22.21.68/XMLfeed.rb" (Internet Explorer or Google Chrome) in my browser and get a response every time.  When accessing from my browser the server in the temperature logger does take around 6 seconds to respond, but it does respond every time. 
    Is the URL Get Document Vi exceeding a timeout?  If so, where can I set it to wait longer?
    Attachments:
    Error 66.jpg ‏183 KB

    It looks like the TCP Buffered Read has a 2.5 sec timeout, I believe that is where I had trouble as well.  Try creating your own URL Get HTTP Doc vi in which you call URL Get Document in normal mode, with an appropriate number of characters to fetch (enough characters so that you capture all the important data in the XML file).
    Attachments:
    ex1.PNG ‏33 KB

  • Function modules to read Time clusters B1 and B2 from PCL1 and PCL2

    Hi All
    Are there any function modules or macros to read time clusters B1 & B2?
    I want to read time data in the clusters for reporting purpose.
    Regards,
    Rupesh Mhatre

    You can also call the FM HR_TIME_RESULTS_GET and get the exact cluster you need from B2 like WPBP, ZE, SALDO etc.
    Otherwise if you want to use the older FM declare the GET_TBUFF and GET_BUFFER_DIR as of below structure.
    DATA: BEGIN OF TBUFF OCCURS 5000.                           "XPMK014785
            INCLUDE STRUCTURE PCL1.
            DATA: SGART(2),
          END OF TBUFF.
    DATA: BEGIN OF BUFFER_DIR OCCURS 2000,                      "XPMK014785
            SGART(2),
            CLIENT LIKE PCL1-CLIENT,
            RELID LIKE PCL1-RELID,
            SRTFD LIKE PCL1-SRTFD,
            NTABX LIKE SY-TABIX, "pointer auf aktuellen satz
            OTABX LIKE SY-TABIX, "pointer auf alten satz (falls vorhanden)
            NNUXT LIKE PCL1-SRTF2, "anzahl folgesaetze aktueller Satz
            ONUXT LIKE PCL1-SRTF2, "anzahl folgesaetze alter Satz
          ofset(3) type p,     "offset innerhalb eines entry
          END OF BUFFER_DIR.
    INT_TIME_RESULTS should be of type PTM_TIME_RESULTS.
    Regards
    Ranganath

  • On windows 8 and itunes I have importing problems the DVD is only reading the music cd from 1.5x to 4.0x for 95% of the time, it does hit speeds of 30x for the other 5% of the time. Is it a driver issue with the DVD or is it  a windows 8 issue?

    on windows 8 and itunes I have importing problems the DVD is only reading the music cd from 1.5x to 4.0x for 95% of the time, it does hit speeds of 30x for the other 5% of the time. Is it a driver issue with the DVD or is it  a windows 8 issue?

    No. You have no alternative but to plug it into a computer running iTunes and restore it.

  • I've got the labview vi written to read my IMU data from a serial port in COM1 and it displays onto the table on the front panel. I'm having trouble getting this data onto an excel spreadshee​t. Any ideas?

    I've got the labview vi written to read my IMU data from a serial port in COM1 and it displays onto the table on the front panel. I'm having trouble getting this data onto an excel spreadsheet. Any ideas? Right now my data will collect one reading instead of continuously reading my IMU which displays data in a continuous stream.
    Thanks
    Attachments:
    Read_IMU_Drew.vi ‏21 KB

    Hi
    Your vi is in 2009 version, which i am unable to open in 8.6
    However, if you want your data to be saved in excel sheet, here is the VI
    Somil Gautam
    Think Weird
    Attachments:
    save to excel.vi ‏12 KB

  • Error at the time of MIGO- not reading the excise base from invoice

    hi gurus
    when we do inward the material during sto using migo, the following error occurs Error at the time of MIGO- not reading the excise base from invoice
    kindly suggest right answers to overcome this?
    with regards
    baalakrushnan.da

    hi,
    Go to logistics general and see whether for the excise group migo settings are maintained.
    See for the material in depot chapter id and excise indicators are maintained ie J1ID.
    since depot also considered as plant so the chapter id and plant combination has to be maintained.
    Regards
    Saju

  • There is a problem in updating iphoto and iMovie, read a response here from a certain Dahveed if I'm not wrong to try this, however I'm a first time mac user, how do you delete this ... /Mac HD/Library/Caches/com.apple.appstore/adoption.plist

    There is a problem in updating iphoto and iMovie, read a response here from a certain Dahveed if I'm not wrong to try this, however I'm a first time mac user, how do you delete this ... /Mac HD/Library/Caches/com.apple.appstore/adoption.plist

    It says 'To update this application, sign in to the account you used to purchase it.'
    However I only have one account. I've tried to sign out and in several times. But it doesn't work. I do remember changing my password recently. Secondly I'd like to add that I got this macbook air 3 days ago. I'm a first time mac user. It had three updates initially. Mountain lion 10.8.2, iphoto and the imovie. I updated the mountain lion, thinking I'd get the iphoto and imovie done later. However now this problem has come up. Thanks for responding. Hoping to hear from you soon again regarding this.

  • Slow waveform reading time when digitizer is combined with serial port command

    Hi All,
    I'm using Digitizer PCI-5112 to capture and differenciate waveforms. The waveform measurement from NIScope will be used to determine the command to be sent to Newport ESP 300 motion controller.
    When I run read.vi the digitizer will read the waveforms in a high speed as I wanted. For the same waveform, when I combined read.vi with command to ESP 300 (becomes control.vi) the waveform reading becomes very slow (approximately only 1 waveform per second). Is this happened because of hardware limitation of ESP 300 ? Is there anything wrong with my program to send the command to ESP 300? or Is there any other way so I can keep reading the waveform in a high speed? I realize may be this is because I put the waveform reading part and sending command part in the same loop. But I don't know any other way to do this. I would appreciate any clue or answer. Thank you very much.
    Attachments:
    control.vi ‏156 KB
    read.vi ‏108 KB

    Hi Dennis, Thank you for the response.
    Sorry, I forgot to attach Positioning.vi at my previous message. This Positioning.vi is used to read the position of the axis. I think I get what you mean, I've tried to remove the while loop for the Positioning.vi but it didn't give any effect. Could you kindly check this positioning.vi for me? 
    Actually this is my first time communicating Labview with motion controller. I got those functions from my colleague. Is there any example or library I can refer for the 'normally used' serial functions? (my connection is RS232) It would be very helpful for me.. Thanx 
    Attachments:
    Positioning.vi ‏18 KB

Maybe you are looking for

  • IPod sometimes recognized, never updates songs

    For the past few days I've tried to update my iPod. The first few times I tried it said I needed to update my iPod with the iPod updater. But the program froze when I tried. I went online and it said to reinstall iTunes and the updater. I did that. S

  • Carrier logo sometimes shows as 000-00 and loses signal

    Hiya, My girlfriends iphone 5 sometimes loses all signal and the carrier shows as 000-00 rather than EE. Regardless of signal in the area, the only way to get a signal back is to restart the phone! The phones not jailbroken or anything and is only ab

  • UJR_WRITE_BACK: disaggregation based on previous yearu2019s data

    Hi Guys, We implement a UJR_WRITE_BACK that performs correctly the evenly disaggregation on two dimensions (product and time). We have to implement the disaggregation based on previous yearu2019s data mentioned in the How-To u201CHow To... Use the Wr

  • Safari Dosen't have right search engine.

    ok so I had safari and found this website I don't rember why but when I entered the website is changed my search engine. I know how to change the search engine  so I made sure it was on google like I want it to be and it was their but now every time

  • Safari bookmarks suddenly started deleting themselves today...

    Safari bookmarks suddenly started deleting themselves today - I could only watch while it happened, and took just a matter of seconds. My bookmarks sync across my iPhone and iCloud, so they're gone everywhere - and I don't have my Time Machine workin