My data acquisition problem:noise and transducer rocking

Thanks to Otis and Dan, I 've finally got DAQmx installed and run, But I still have some problems with my application:
1>, before my transducer was connected, when I check my board with "traditional NI-DAQ devices test panels", the board acquired noise of-0.02to 0.03volts firts" and then the value dropped to "-0.004-0.005volts", but if I check it with" NI-DAQmx devices", the board sensed noise of" -0.02 to 0.03 volts", why inconsistent for the same board?
2> when I check my board with my transducer turned-on( dispalcemnet transducer, need to push the handle to turn on), the reading is about"-0.3 to 0.2", this is the result without input signal. seems that "pushing down" the handle of the transducer rocking the tested surface and induced vibration of my tested surface.
3> when i check my testing system with transducer turned on and with my signal input (by inducing vibration of the tested surface), my acquired data reading is only about"0.06 maximum",
4> it seems my input signal is too little compared with the system noise or transducer induced vibration.
5>the frequency domain analysis indicated that the noise frequency is wide with some three main peaks of frequencies higher than my expected signal frequency.
Due to the previous reason or some other causes, my acquired data just did not show up any consistency.
I want to know if there are any measures that I can take to get better testing results.
thanks!

Hi fenny,
Are you using any signal conditioning on this device?  It looks
like your signal is still pretty small.  If you have a small
signal and a lot of noise then the data you are getting will be useless.
It sounds like you are trying to do analog triggering.  Make sure
that you are inserting the analog trigger line into APFI 0.  Try
looking at this Example Program:  M Series: Analog Input Acquisition with an Analog Start Hardware Trigger
Keep in mind that if you are trying to do analog triggering that you
need a 625X or a 628X device.  If you don't have one of these
devices. Then you will need to use a software analog trigger. 
Essentially all that is would be to look at the values returned in a
continuous acquisition, and once they go past a certain level, then you
would begin displaying the data that you have acquired.
Regards,
Otis
Training and Certification
Product Support Engineer
National Instruments

Similar Messages

  • Data acquisition problem with NI-DAQmx 9205 and SignalExpress

    Hi everyone,
    I am using a NI-DAQmx 9205 connected via ethernet to my computer and Labview SignalExpress running to acquire data. I am working with EMG and I use an amplifier system from GrassTechnologies (http://www.grasstechnologies.com/products/ampsystems/ampsystems.html). The way it works is the electrodes are plugged on the amplifier system and the amplifier is plugged to the NI-DAQmx 9205.
    I don't know how to setup the system to be able to read properly the emg signal on SignalExpress.
    Does anyone know how to use it?
    Thank you for youe help
    John

    Hi John,
    If I were an Applications Engineer I'd probably be able to figure this out on my own but would you mind elaborating on your hardware setup a little? You mention plugging into a "NI-DAQmx 9205", however the NI-DAQmx is the data acquisition 'driver', the [NI]9205 is an Analog Input Voltage module. Do you mean to be plugging into a Compact DAQ or cRIO?
    Also, I'm not familiar with EMG readings or the amplifiers/electrodes you're working with.
    What is the signal type going into the amplifier from the electrodes, and what is the signal type and range (amplitude) of the signal coming out of the amplifier; AC, DC? I'm assume it's all voltage?
    Straight voltages are pretty easy to work with provided you can scale it to usable units.
    Lets get your hardware and signal types figured out then we'll be able to tell Signal Express how to handle those signals.  
    SCXI- 1000 Chassis w/ 1346 adapter
    PCI 6281 DAQ card
    SCXI- 1520 Bridge Board w/ 1314 Terminal Block (x2)
    SCXI- 1180 Feedthrough Panel w/ 1302 Block
    Signal Express 2014.
    Win7 Enterprise

  • Data Acquisition problem with multiple length of commands and data received.

    Hello,
    I need to write a program to communicate with a Data Acquisition board. There are about 10 commads and each has a different number of bytes associated with it. For example command-1 has 4 bytes which need to be send to the DAQ, command 2 has 6 bytes, Command 3 has 4 bytes etc...
    When the board responds back to the commands I send, it responds back with different number of bytes for each command. For example, When Command 1 is send to the board, it responds back with 3 bytes of data, whereas when command-2 is send it responds back with 5 bytes of data.
    Each data byte received by my labView program from the board, needs to be displayed after some processing has been done. This processing may or may not happen on all the bytes of data got back.
    I want the program to be scalable, so that if more commands are added later on, the display and the processing changes in accordance with that.
    What will be the best approach for such a system ? I want the system to be dynamic, and dont want to repeat or re-write the code for each case statement ( case statements will be decided by the commands).
    Any input is welcome.
    Thanks,
    birapxi

    Hello Dennis,
    That is certainly one way of doing it, but it is the brute force method. Is there any way to use clusters and add the data bytes coming in and going out to clusters. Also when the user sends a specific command out, can I use the unbundle by name function to send the bytes corresponding to that command.
    For displaying the data received, can I follow a similar approach and use unbundle by name function to just display the specific data bytes for the command i have received.
    Thanks for your input,
    birapxi

  • Triggering a 6024E into data acquisition from start and end number of finite pulse generator from a 6602

    My motion control system is driven by a 6602 I wanted to acquire analog current (to a voltage via I/V converter) from a 6024 AI when:
    (1) At the start of the pulse generation
    (2) Stop at the end of the pulse generation
    (3) Read every possible data between and stream it on the harddisk
    (4) Option to skip at regular intervals to reduce amount of data accumulation
    Anyone have some suggestions? What I did try and attempted was to "loop an AI from a triggered intermediate Analog Input VIs" this is rather erratic!My question for the analog input software are:
    (1)Can you trigger an AI to start a continuous acquisition?
    (2) How do you do AI from a "start" p
    ulse train to "end" pulse train?
    (3) How do you manage time for File I/O meanwhile doing (1) and (2) above?
    Bernardino Jerez Buenaobra
    Senior Test and Systems Development Engineer
    Test and Systems Development Group
    Integrated Microelectronics Inc.- Philippines
    Telephone:+632772-4941-43
    Fax/Data: +632772-4944
    URL: http://www.imiphil.com/our_location.html
    email: [email protected]

    "(1)Can you trigger an AI to start a continuous acquisition?
    (2) How do you do AI from a "start" pulse train to "end" pulse train?
    (3) How do you manage time for File I/O meanwhile doing (1) and (2) above?"
    Answer 1 and 2)
    Yes you can, This VI is part of the search examples that ships with LV:
    "Continuous Acquisition & Graph Using Digital Triggering and External Scan Clock
    Demonstrates how to continuously retrieve data from one or more analog input channels using an external scan clock when a digital start trigger occurs."
    Go to Search Examples in the Help/Contents of LV. Then pick I/O Interfaces/Data Acquisition (DAQ)/Analog Input/Triggering an Acquisition/Triggering a Continuous Acquistion.
    This VI is appropriate ifs you want to clock the DAQ with some clock (external scan clock) other than the on board clock.
    The start trigger required by the DAQ card will be a TTL signal attached to the PFI0/TRIG1 pin of you DAQ card (via whatever signal conditioning you have).
    The external clock also needs to be TTL and is attached to the PFI7/STARTSCAN pin.
    You tell it which AI channel to use and wire that up appropriately.
    All of this stuff is in the context help for the VI.
    Answer 3)
    You have a misconception of how the acquisition makes its way into a file on the hard disk. You don't really "stream to disk." The VI above will run a buffered acquisition. The DAQ card sets up a buffer that fills with the data continously. When you use the VI you set up how the buffer is configured, you will see controls for buffer size, number of scans to read at a time, etc. The acquisition runs data into the buffer continously and reads from the buffer are a parallel process where chuncks of the buffer are extracted serially. You can end up with a scan backlog where the reads are falling behind the data. Making the buffer bigger helps. All of this is limited by the sampling capability of the DAQ card. 200kSamples/second is for one channel of AI. Divide by 2 for 2 channels. etc.
    The short answer is that the VI and DAQ card manage the file I/O for you.
    The VI above writes the scan out to the waveform chart on the front panel. You will want to wire that data out from the AI Read Sub VI to a spreadsheet file in tab delimited form or similar.
    Look inside the VI block diagram. There is a While loop containing the AI Read. Every time the loop runs (unless you hit STOP), the AI Read plucks the specified # of scans from the buffer (starting from the last unread datum). If you wire the double orange wire from AI Read out of the loop (and set the tunnel for Auto Indexing) the Vi will build another buffer in memory that is a series of AI Reads appended to each other, a sequencial record of the acquisition. Here you put in a Write to Spreadsheet VI. This is in the Functions Pallete, it is the first VI in the File I/O Pallette (icon looks like a 3 1/2 disckette).
    There is more to it than this. The spreadsheet Write is 1D or 2D only. By running the array out of the while loop with auto indexing enabled, you create a 3D array. (If you turn off auto indexing you will only get the last array performed by the AI Read.) You will need to create a new array withe the pages of the array placed serially into a 2d array. I don't think I want to get into that. It isn't that bad to do, but you should get some time messing with arrays on your own, then you will see how to do it yourself. One solution is to only run the While loop once with a buffer big enough to hold the whole acquisition, or in other words no loop at all. I don't know how many scans you want. The other thing is by wiring that AI Read out of the loop you are creating an array that must be dynamically resized as the loop runs. Kind of a no no. Better to know what you are acquiring size wise and letting the VI set up buffers and array space that does not need to be changed as the program runs.
    Caveat: I am fairly new to this and I could be wrong about the arrays and buffers and system resources stuff. However, I have done essentially what you are trying to do succesfully, but not "continuously." I limited the AI Read to one large read that gets what I need.
    "Continously" is usually reserved for screen writes as in the VI above. The computer is not required to continually allocate space for an ever expanding array to be written as a file later. Each time this VI runs the While Loop the data goes to the waveforn chart. Each new AI read overwrites the previous one. Sort of like if you turn the Auto Indexing off. When the VI stops, the waveform chart on screen would show the same data as was written to the spreadsheet.
    Feel free to email me directly: [email protected]. I will help as I can.
    Mike Ross

  • High sample rate data acquisition using DAQ and saving data continuously. Also I would like to chunck data into a new file in every 32M

    Hi: 
      I am very new to LabView, so I need some help to come up with an idea that can help me save data continuously in real time. Also I don't want the file to be too big, so I would like to crete a new file in every 32 mega bytes, and clear the previous buffer. Now I have this code can save voltage data to TDMS file, and the sample rate is 2m Hz, so the volume of data increase very fast, and my computer only have 2G ram, so the computer will freeze after 10 seconds I start to collect data. I need some advise from you briliant people.
    Thanks very much I really appreciate that. 
    Solved!
    Go to Solution.
    Attachments:
    hispeedisplayandstorage.vi ‏33 KB

    I am a huge proponent of the Producer/Consumer architecture.  But this is the place I advise against it.  The DAQmx Configure Logging does all of it for you!
    Note: You will want to use a Chart instead of a graph here.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines
    Attachments:
    hispeedisplayandstorage_BD.png ‏36 KB

  • Data load problem - BW and Source System on the same AS

    Hi experts,
    I’m starting with BW (7.0) in a sandbox environment where BW and the source system are installed on the same server (same AS). The source system is the SRM (Supplier Relationship Management) 5.0.
    BW is working on client 001 while SRM is on client 100 and I want to load data from the SRM into BW.
    I’ve configured the RFC connections and the BWREMOTE users with their corresponding profiles in both clients, added a SAP source system (named SRMCLNT100), installed SRM Business Content, replicated the data sources from this source system and everything worked fine.
    Now I want to load data from SRM (client 100) into BW (client 001) using standard data sources and extractors. To do this, I’ve created an  InfoPackage in one standard metadata data source (with data, checked through RSA3 on client 100 – source system). I’ve started the data load process, but the monitor says that “no Idocs arrived from the source system” and keeps the status yellow forever.
    Additional information:
    <u><b>BW Monitor Status:</b></u>
    Request still running
    Diagnosis
    No errors could be found. The current process has probably not finished yet.
    System Response
    The ALE inbox of the SAP BW is identical to the ALE outbox of the source system
    and/or
    the maximum wait time for this request has not yet run out
    and/or
    the batch job in the source system has not yet ended.
    Current status
    No Idocs arrived from the source system.
    <b><u>BW Monitor Details:</u></b>
    0 from 0 records
    – but there are 2 records on RSA3 for this data source
    Overall status: Missing messages or warnings
    -     Requests (messages): Everything OK
    o     Data request arranged
    o     Confirmed with: OK
    -     Extraction (messages): Missing messages
    o     Missing message: Request received
    o     Missing message: Number of sent records
    o     Missing message: Selection completed
    -     Transfer (IDocs and TRFC): Missing messages or warnings
    o     Request IDoc: sent, not arrived ; Data passed to port OK
    -     Processing (data packet): No data
    <b><u>Transactional RFC (sm58):</u></b>
    Function Module: IDOC_INBOUND_ASYNCHRONOUS
    Target System: SRMCLNT100
    Date Time: 08.03.2006 14:55:56
    Status text: No service for system SAPSRM, client 001 in Integration Directory
    Transaction ID: C8C415C718DC440F1AAC064E
    Host: srm
    Program: SAPMSSY1
    Client: 001
    Rpts: 0000
    <b><u>System Log (sm21):</u></b>
    14:55:56 DIA  000 100 BWREMOTE  D0  1 Transaction Canceled IDOC_ADAPTER 601 ( SAPSRM 001 )
    Documentation for system log message D0 1 :
    The transaction has been terminated.  This may be caused by a termination message from the application (MESSAGE Axxx) or by an error detected by the SAP System due to which it makes no sense to proceed with the transaction.  The actual reason for the termination is indicated by the T100 message and the parameters.
    Additional documentation for message IDOC_ADAPTER        601 No service for system &1, client &2 in Integration Directory No documentation exists for message ID601
    <b><u>RFC Destinations (sm59):</u></b>
    Both RFC destinations look fine, with connection and authorization tests successful.
    <b><u>RFC Users (su01):</u></b>
    BW: BWREMOTE with profile S_BI-WHM_RFC (plus SAP_ALL and SAP_NEW temporarily)
    Source System: BWREMOTE with profile S_BI-WX_RFCA (plus SAP_ALL and SAP_NEW temporarily)
    Someone could help ?
    Thanks,
    Guilherme

    Guilherme
    I didn't see any reason why it's not bringing. Are you doing full extraction or Delta. If delta extraction please check the extractor is delta enabled or not. Some times this may cause problems.
    Also check this weblog on data Load errors basic checks. it may help
    /people/siegfried.szameitat/blog/2005/07/28/data-load-errors--basic-checks
    Thanks
    Sat

  • Data refresh problem - QaaWS and Tomcat cache

    Hi Experts,
    I have a problem with data refreshing in Xcelsius 2008 dashboard when I use QaaWS.
    System is: BO XI 3.1 on the Win2008 server.
    When data are changing in the database InfoView documents show it immediately, but into the Xcelsius dashboards new data not coming.
    In the dashboards I use auto refresh, and Refresh button too... It doesn't help.
    New data are appearing just after restarting of Tomcat.
    Maybe Tomcat is caching data...?
    Do somebody have similar issue? Could you suggest me something to do?
    Thx,
    János

    Hi Janos,
    Tomcat has cache which the default time is 60 seconds.
    You can change the cache time when you create QaaWS wsdl.
    If you do NOT want the cache, you can
    1. locate to: ${BOE Install Path}\Business Objects\Tomcat55\webapps\dswsbobje\WEB-INF\classes
    2. Open dsws.properties
    3. Find the property qaaws.cache_dpresult.optim= and set it to false.
    4. Re-start tomcat.
    Hope this can help!

  • Sync data acquisition for Arduino and cDAQ

    Hello,
    I am using the Labview cDAQ, thermocouple (NI 9214) and digital input (NI 9411) modules, as well as an arduino uno
    to read a few signals and do some data processing.  I would like a 0.2-0.5 Hz sampling frequency such that all the data collected is synched to the same timestamp.  I have about 30 thermocouples (2 NI9214 units), 2 TTL signal (approx 1Hz frequency), and the arduino
    is acquiring an analog voltage signal.
    Any examples or guidance would be appreciated.
    Kind Regards,
    Anna

    Hello Anna,
    Just to make sure I understand correctly, you wish you acquire all data (analog, digital, thermocouple) at 0.2-0.5 Hz and have each data point taken along with a timestamp at the same point in time?  In other words, at 0.5 Hz, you will read 30 TC measuremnts, 1 point of each TTL signal, and one point of the analog signal ever 2 seconds, and the associated timestamp for that acquisition?
    Since the timing is relatively slow, you would likely be able to do this fairly well in software alone.  The following Community Example...
    https://decibel.ni.com/content/docs/DOC-9543
    ...uses the producer/consumer architecture to collect Analog Waveform data in one loop (you would acquire analog and digital), and then break it out in the consumer loop to write a timestamp (from the waveform) to the first column of a 2D array, and the corresponding data points to the subsequent columns, which you could then write to a file, display in a table, etc.
    Regards,
    National Instruments

  • Parallel data acquisition problem

    Hi everyone!
    I’m facing a problem with acquiring data from my NI 6259 BNC card.
    What I basically want to do is to measure, let’s say, both RPM of the jet engine as well as temperature. I have thermocouple and of course the voltage of thermocouple is proportional to temp. I also have a phototransistor to measure RPM, but… the signal from phototransistor is non-TTL signal. For measuring RPM I’m using code from: “DAQmx: Counting Non-TTL Pulses with Multifunction Board and Labview”. It is using port redirecting and triggering.
    Both measurements are ok when run separately. I mean I can measure continuously temperature and plot it to graph in real time. I can measure PRM with very good accuracy as well. But I can to this only separately, I don’t know how to write a program to measure them both together in one VI.I want to measure (and save to file) both RPM and temperature at the same time.
    I think it has something with triggering option in RPM measurements, triggering stops all measurements. Is there any way to measure them both?
    Thanks in advance,
    Maciek

    Hi Maciek,
    You are saying it right, there is limitation due the trigger used. The examle you mentioned is elegant for measuring just RPM but adding any other measurement on AI side is nearly impossible since the analog input is triggered depending on RPM value and there is usually requirement on measuring the temperature with fixed sampling period (especially when you want to log it to the file).
    I would propose 2 solutions:
    The first one is easier and does not require any signal conditioning. It would be just measuring the temperature and RPM through analog inputs (each on one AI channel) and processing would be made using LabVIEW. The sampling rate thus must be made with respect on the RPM signal to be sure that you will acquire enough samples to extract the signal shape (mainly the edges) exactly enough to make the measurement precise and reliable. The temperature will be acquired the same sampling rate so you can select just one of e.g. 100th or average multiple samples into one which will be displayed and stored to a file. There is also one recommendation. Since the USB-6259 BNC card has aggregated AI, it is good to have all AI signals on similar range because switching the signals e.g. 10mV and 10V can cause some accuracy issues. Usually, signal condition before connecting is to the card solves the issue.
    Second way how to measure both signals is to convert the signal from RPM to TTL logic, it should not be a problem using one or more transistors. Then it is very easy to measure RPM using only a counter. The temperature measurement will be second separated task, so all will be independently configurable. In my opinion, this is cleaner and more effective how to measure both quantities, but you have to to the converter from your "non-TTL" signal to TTL.
    Please let me know if this is acceptable for you, if not, send here the code with deeper comments (mainly about the parameters of the RPM signal).
    Best regards,
    Martin

  • Data Acquisition Problems

    Hello,
    I have two external devices providing data to my program. One device provides 4 strings and the other one- bothe repeating themselves. I am only able to collect approx. 50 strings of data before their order is lost. Has anyone had such problems? I am using two Polhemus 3D tracking devices.
    Thanks,
    Ivanka

    Hi there,
    Looking at your VI, I�m wondering why you have a �7� wired to the For Loops � how do you know that you are receiving 7 numbers every time?
    What happens to the �Bytes at Port� around the time when the order changes? Try to use a Case Structure to make sure that you only read when the right amount of data is available.
    Do you have an example of the data, around the time when the order got messed up? That would help us to troubleshoot.
    Best regards,
    Philip C.
    Applications Engineer
    National Instruments
    - Philip Courtois, Thinkbot Solutions

  • HT3288 my track pad is jumping around all the time and constantly clicking i tried updating the firmware but the computer states all is up to date, the probleme comes and goes and I'm not shire what triggers it

    my track pad will sudenly start jumping around the screen and clicking very rapidly, since te problem began it operates diferently from normal when ever it apears to be working correctly, specificly i can no longer grab items without removing the tracking finger from the pad before clicking to grab an item, if i do not it will procede as if i double cliked somthing, conversly if i disable the two finger tap double click i am unable to double click anything, sometimes whilst apearing to funtion normally it will scroll from side to side if i do not remove my thumb from the bottom of the pad, again these are during the rare instances its not jumping about  the screen cliking, and reaking havoc on what ever im working on any help would be apreciated thanks.

    You have some type of hardware problem. More then likely the battery is swelling and putting presure on the trackpad. The only thing to do is take to Apple and have them check it all out, replacing any parts that are needed.

  • Linking errors whlie running C examples of data acquisition using niScope and visual C++

    hello,
    I have an NI PXIe-1071 chassis with 2 PXI 5154 digitizer cards and NI PXIe 8102 controller.
    I am trying to acquire data using the same. Right now I am trying to compile some of the C based examples given in the documentation of niScope. But I am unable to do so. for instance when I tried to run "ConfigureAcquisition.c ". I am having many errors like the one given below.
    error LNK2019: unresolved external symbols _niScope_init@16 referenced in function _niScope_GenericConfiguredAcquisition@0
    for every niScope based function used in the example it is showing the same error. 
    I have only 2 files niScope.h and niScope.lib. In niScope.h there are declarations for each function but their definition is not there and I came to know that I also require source file of the same to avoid the error. Is this true????
    if I dont reqire source file please suggest me how to avoid such errors. and if I require source file from where I could find it as I talked with NI people and one of the application engineer told me that this is not available with them. 
    Please help me with the same.
    regards
    Sagar

    Try adding the appropriate source files from C:\Users\Public\Documents\National Instruments\NI-SCOPE\examples\c\common. With the errors posted by vijay, I would suggest adding asciiplot.c and GenericMultiRecord.c.
    National Instruments
    Product Support Engineer

  • Problem with data acquisition and motion control

    I have PCI-6024E and PCI-7342 cards on a single PC. Servo motion control works fine when it goes alone or is accompanied by one point data acquisition in a while loop, but when I start data acquisition with specified sample rate, the motor moves with breaks.
    Does anybody know what is the problem? Is it possible to fix it?

    How are you performing your motion? Is it a position move or a velocity move? How are your triggering the data acquisition? Using breakpoints on the 7342? If so, are you using single breakpoints or modulo? How are you configuring the data acquisition rate? Are you triggering just the start to the acquisition and the unsing the daq scan clock or are you using the motion controller to send the scan clock itself?

  • Driver missing - PCIe Data Acquisition and Signal .....

    Hello, i recently used Boot Camp to install Windows XP on my 2010 15" Macbook Pro.
    All the drivers are working (so far) and i haven't encountered many problems.
    However, there is one thing bugging me:
    When i go into Device Manager in Windows, and look down the list of installed/uninstalled devices, there is a device called "PCIe Data Acquisition and Signal Processing Controller" which has no driver installed.
    I'm PC savvy, but i have never seen this before. My guess is that one of the motherboard drivers is missing, and Boot Camp installer doesn't include that driver?
    Has anyone seen/resolved this, and if so, how?
    Thanks.
    Kaj.

    Okay, will do.
    Thanks.
    Also i wonder if you could help with another problem?
    http://discussions.apple.com/thread.jspa?threadID=2758766&tstart=0

  • Data Acquisition for Position Transducer

    I just purchased an Analog Position Transducer from SpaceAge Control, and was wondering if anyone had any code to gather the data. I must admit i'm lost when it comes to this, I thought the transducer would come like an instron where you just plug it into the computer. I have a six pronged plug that exits the device. I have a couple TI data acquisition boards at my disposal. I am hoping someone has used a similar product or has some advice. Thank You
    Keith

    We have lots of code to gather data in all sorts of ways. Building measurement applications is what we do. Since you are lost when it comes to this, you would do well to hire a guide in the form of an Alliance Member company. We do this stuff every day.
    Your TI DAQ boards may do the trick, but you would have to show someone the specs for them. Also, you need to think about what kind of speed you require and where you want the position data to go. Table? Plot? Database? A good LabVIEW developer can set you up with some code that does exactly what you want.
    Daniel L. Press
    PrimeTest Corp.
    www.primetest.com

Maybe you are looking for