Input signal between -/+10V, but output is wrong

yes, i am using the PCI-6023, input signals is between the range of +/-10V. But the output signal of DAQ is wrong, and can not display the siganl as it should be.

Hi lvg,
You have posted similar questions (I think) more than once and I still do not have enough info to be able to help you. I believe others would say the same. If you want assistance, please provide enough information to allow us to do exactly that.
Please answer as many of these questions as possible.
When you say "the output signal is wrong" are you refering to an output voltage is wrong or
is a displayed value is wrong?
What kind of software are you using when this "output" is wrong?
If is software you have developed yourself, what environment did you develop it in (i.e. LabVIEW, C++, CVI, VB, or other)?
If is software from NI, what is it called (i.e. MAX, LabVIEW examples....)?
If it is NI software, what version is it?
Does anything
seem to work correctly?
If this is code you developed yourself, please post an example so we can take a look at it.
I can generally answer most of the questions posted to this exchange, but your recent questions have me completely baffled.
Just trying to help you get the help you want.
Ben
Ben Rayner
I am currently active on.. MainStream Preppers
Rayner's Ridge is under construction

Similar Messages

  • I am trying to log data from 4 voltage input signal using labview, but when i use DAQ assistant i am able to log data from one signal at a time only.

    I am trying to log data from 4 voltage input signal using labview, but when i use DAQ assiatant i am able to log data from one signal at a time only.I am trying to get all 4 input data to logged in a single file againt time. I am new to Labview, I need to sample this data within a couple of days can someone help please.

    Naveen
    Check out the info in the Analog Input section of the document linked below.  (Ignore the part about Global Channels.)  In Figure 5, notice that you can select multiple channels while holding <Ctrl> or <Shift>.
    Developer Zone Tutorial: NI-DAQmx Express VI Tutorial
    Kyle B  |  Product Support Engineer  |  ni.com/support

  • Bandpass filter of cFP input signal

    Hi,
    I have a continuous input signal from analog compact field point. In normal, the input signal is steady, but it may oscillate sometimes. I would like to detect the oscillation frequency (0.5HZ~2HZ), that means I have to build a bandpass filter to keep the signal in 0.5 to 2 hz. Is anyone have better idea to implement this function? Thsnks for help.
    Fred

    Fred,
    Here is a small example on Point by Point filtering. The point by point VIs allow you to perform filtering and other DSP operations one sample at a time. The example uses a butterworth filter that will give you the flattest amplitud response.
    Please take a look at the example and let me know if you have any questions.
    Regards,
    Juan Carlos
    N.I.
    Attachments:
    PtbyPt_FIlter.vi ‏35 KB

  • How to create 2 output signal locked in phase from a one input signal

    Hi all,
    I have a case in which I want read in a signal analog input (voltage) from a photodiode, I want to create a 2 sinewave signal locked in with same phase as the input signal and output them as analog output to my 2 laser diode. the frequency of the input signal is low aroud 15 Hz , the 2 output signal i want to be  around 120 hz and 150 hz . 
    I am using USB - 6003 daq card.
    I have created a vi to see the input signal but I dnt know how to create 2 signal from the waveform generator locked in the phase as the input signal. I have seen a PLL vi , but dont know how to use that with my program.
    can any one tell me how to proceed.
    thanks
    AG
    Attachments:
    pulse_PLL.vi ‏27 KB

    Hi AnkitG,
    Here are a couple of links that might help you understand a little more how the PLL work and a way to synchronize the task to perform a PLL.
    http://digital.ni.com/public.nsf/allkb/07BC8D77D4E9AE258625708B007CE74F?OpenDocument
    http://digital.ni.com/public.nsf/allkb/2F675A9F2162EA24862572570059A308?OpenDocument
    Also, you should be able to find a lot of examples on how to accomplish the synchronization of tasks on the community, if you consider that the only consideration is that both must start at the same moment. 
    I hope, these examples might show you some useful concepts:
    http://digital.ni.com/public.nsf/allkb/EBD603683446EC13862575B3006A63A2
    http://digital.ni.com/public.nsf/allkb/9E71F8D7D3CD1B0886257688004AE353
    Regards,
    Luis C.
    National Instruments

  • Output to input mapping between actions in Guided Procdure

    Hi,
    i had requirement to create process i.e. user request for group access to manager this one developed in Web dynpro.
    I can able create initial screen in process i.e. display available groups in portal using table in this user can select required groups and click submit then request pass to manager for approval but i'm unable pass whatever groups selected by user to manager view means i didn't no how to map parameters user request view to manager approval view  and  also tell me once pass parameters to input of manager view how to read the list of input (here selected groups by user).
    Please give me if u have any example url to explaining about mapping between list of output to list of input between actions of wd gp process.
    reagrds,
    Nari.

    It is better to avoid more customization from maintainability point of view, if possible . Meaning I would try to make standard map as much as possible(less customization, no custom functoids, less customized xslt etc). Since your source xml format and
    destination root is known, I can see your destination format is also known. Hence, you can copy the same schema format from source into destination with the root which you are referring as one element rather than just creating one element, To avoid all drawing
    all lines manually, you can use "mass copy" functoid
    to recursively copy all data in an input instance message, to arbitrary depth, that corresponds to a specified node in the source schema to the position in an output instance message that is specified by the output link. also refer
    anytype with masscopy.
    If you are just searching for a solution to pass raw xml, then I would go with your second approach already. You can also pass the output to external assembly to allow more flexibility in terms of coding if needed.
    Please mark it as Answer if this answers your question
    Thanks.
    Mo
    The contents I write here is my personal views, not the view of my employer and anyone else.

  • Why is it that when I saved the waveform of my acquired signal into a wav file, the output waveform of my saved file turn out to be different from my input signal?

    Hi all,
    I am currently doing a heart sound analyzer project. I acquired signal using NI USB 6008 continuosly. My program is able to saved the acquired signal into a wave file. But when I browse open the saved file, the output waveform did not look the same as the acquired input signal and also the sound of the heartbeat captured cannot be heard from the loud speaker though I have saved the file as a wav file. I am not sure if the method i use to save the acquired data as a wav file is correct.  I have attach the print screen of the differences of the output I have notice and the program I have created. I would be glad if anyone here is able to troubleshoot my program.
    Thanks. 
    Attachments:
    heart sound analyzer.zip ‏257 KB

    Hi Brett Burger,
    Thanks for your reply. For your information, I have set the sampling rate as 10000 as for the sound format, I have set the bits per sample as 16 bit, the rate as 11025 and the sound quality as mono. I tried using your method by changing the sampling rate as 8K but still my program encounter the same problem.
    I wish to also create a button that is able to generate a preformatted report that contains VI documentation, data the VI returns, and report properties, such as the author, company, and number of pages only when I click on the button.  I have created this in my program, but I am not sure why is it not working. Can you help troubleshoot my program. Or do you have any samples to provide me. Hope to hear from you soon.
    Many thanks.
    Regards,
    min
    Attachments:
    Heart Sounds1.vi ‏971 KB

  • Is it save to use digital output as a digital input signal for another channel

    Hi all,
    I know this is a stupid question, but I do not have other signal generator by hand. So what I want to know is, can I use the digital output signal of my USB-6001 as an input signal for the same device but on other digital port? I did not try out directly because I do not want to burn the device down......
    Thanks
    Solved!
    Go to Solution.

    I do loop backs all the time, especially in my test systems as a way of making sure my signal is making it to the UUT pin.  I typically throw in a 10k resistor just in case, but I have never had an issue.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Digital audio input via mini jack/toslink from ADA, monitored via USB audio output... is this do-able? I know digital audio input should be okay but how do I monitor it, apart from using the internal speakers?

    Digital audio input via mini jack/toslink from ADA converter, monitored via USB audio output to amplifier... is this do-able? I know digital audio input should be okay but how do I monitor it, apart from using the internal speakers?

    You can output audio thru HDMI, with appropriate adapter.
    You can use additional cheap external usb audio for monitoring.

  • I am using the dynamic signal analyzer.vi but this vi has the output as single precision. How can I change this to DBL precision?

    I am using the dynamic signal analyzer.vi but this vi has the output as single precision. How can I change this to DBL precision? If I change the representation from single to double in the AI buffer read.vi labview returns ilegal operation and crash. I have labview 5.1 on windows 95 and one AT-MIO16XE50 DAQ board.
    Thanks in advance
    Ricardo.

    Probably by changing the data type that lvdaq.dll expects to write to is causing the crash. I can't test this since I have only 6.1 installed now. In any case, since the daq card is only 16 bits, the single precision is probably adequate for AI Buffer Read. If you do need the greater precision later on, you should be able to change representation in any one of the upper level VIs.

  • Is there a difference between the earphone output and the audio output of the docking connector, or is it in fact the same signal ?

    Is there a difference between the earphone output and the audiooutput of the docking connector of the iphone 4, or is it in fact the same signal ?

    One basic difference is that the LTE frequencies each is able to operate on are different. After that, it is pretty much the same phone. Others might be able to add to this.

  • Can SE generate an output signal that is the derivative of an input signal?

    It there a "step" available in SE to calculate the derivative/integral of an input signal?

    Querty999,
    This functionality is not natively available in Signal Express.  However, it is possible to run a LabVIEW VI from Signal Express.  Here is an example from our website that has already created the VI to do the derivative with instructions for how to call it from Signal Express. 
    -Christina

  • Trying to decimate with Signal Compression but get the wrong result.

    Here is my problem: I'm sampling a signal with 1kHz sampling rate for 24 hours or more so this would generate a huge amount of data. I only need data for every minute so I need to compress 60K samples into one, taking the minimum of that 60K samples. I tried using the Signal Compression VI but it doesn't do what it supposed to.
    My understanding is that the Signal Compression would take the "Reduction factor" amount of data and then would generate one number and would start over taking another bunch and generate one number and so on...
    Is there anything else I'm forgetting?

    Hi Chris,
    I attached a screenshot of the original version which did not work.
    I was able to work around the problem by putting a timer in that resets the Sample Compression every minute (that's the frequency I need the data).
    Thanks,
    T.
    Attachments:
    SS.JPG ‏94 KB

  • How do I reduce the time from the detection of a input threshold to changing the output?

    Hi,
    I am using LabWindows 8.1 and a PXI-4461 with Vista (home) on a 2.81 GHz Dual Core Processor.  I wrote code to do the following:
    (1) output a ramp, input a signal concurrently (precise sychronization of these two is not important at this point)
    (2) if the input signal rises above 0.5 V, hold the output constant for 2 seconds, while continuing the input
    (3) finish the ramp
    More info: I do a continuous sampling, with 4 samples per Write, to do the output.  The input is read and analyzed with RegisterEveryNSamples (where N = 4).  The communication between the tasks is through a global variable "trap," which is set to 1 when threshold is reached.  I achieve holding the output constant by stopping the task (maintain existing value = true), and then restarting after the pause.  At 40kHz and 4 samples per Write, the limit imposed by the discrete data blocks would be  0.1 msec, but in fact I am getting delays of about 2.5 msec.  My write buffer is 120x4 samples, just so that there is space for me to write.  I do need to save the input data after the
    acquisition, preferably the whole sweep, but most importantly the data
    while the output is held constant.  
    So my questions are:
    (a) Does it really take 2 ms to stop a task? When I put in "Timer()"  functions as below, I get a difference of 0.002, which is of course limited to the resolution of the Timer() function. Returning from a function (the EveryN callback) should not take that long, right?
    (b) Can you suggest any better ways of doing this?
    /*****begin excerpt *****/
    DAQmxErrChk (DAQmxRegisterEveryNSamplesEvent(inputTaskHandle,DAQmx_Val_Acquired_Into_Buffer,4 ,0,EveryNCallback,NULL));
    DAQmxErrChk (DAQmxWriteAnalogF64(outputTaskHandle,480,0,10.0,DAQmx_Val_GroupByChannel,outData,&written, NULL));
    DAQmxErrChk (DAQmxStartTask(inputTaskHandle));
    DAQmxErrChk (DAQmxStartTask(outputTaskHandle));
        for (count =120;count<10000; count++)
            if (trap==0) {
                DAQmxErrChk (DAQmxWriteAnalogF64(gTaskHandle,4,0,10.0,DAQmx_Val_GroupByChannel,&outData[count*sampsToWrite],&written,NULL));
            } else {
                    DAQmxErrChk (DAQmxStopTask(outputTaskHandle));
                    time2 = Timer();
                    done = 1;
                    ProcessDrawEvents();
                    ProcessSystemEvents();
                    Delay (2.0);
                    trap = 0;
                    count++;
                    DAQmxErrChk (DAQmxWriteAnalogF64(outputTaskHandle,480,0,10.0,DAQmx_Val_GroupByChannel,&outData[count*4],&written,NULL));
                    count = count+119;
                    DAQmxErrChk (DAQmxStartTask(outputTaskHandle));
    /*****end excerpt *****/
    int32 CVICALLBACK EveryNCallback(TaskHandle taskHandle, int32 everyNsamplesEventType, uInt32 nSamples,void *callbackData)
        DAQmxErrChk (DAQmxReadAnalogF64(taskHandle,nSamples,10.0,DAQmx_Val_GroupByScanNumber,&readData[inCount*nSamples],nSamples,&numRead,NULL));
        if (trap == 0 && done == 0) {
            for (i=0; i<nSamples; i++) {
                if (readData[inCount*nSamples+i] > 0.5) {
                    trap = 1;
                    time1 = Timer();
                    break;
        } else done = 1;
        inCount++;
    Error:
        return 0;
    I would appreciate any help or advice! Thanks.  (Sorry about oddities in the code.)

    There are a number of applictations like Carbonite, Aperture, Entourage, VM Fusion, Parellels, etc that treat any change to the application as a complete change to application's database.
    So, if you make one small email change in Entourage for example, the entire database is backed up on the next pass. As you might imagine, this can fill up a Time Capsule very quickly.
    Suggest that you download a utility like BackupLoupe to find out exactly what is being backed up on each pass. Then you can exclude that item from backups if you wish.
    http://soma-zone.com/BackupLoupe/

  • Acquiring two input signals simultaneously

    Hi,
    I have an LVDT and a force sensor (both attached to a motor) plugged into my SC board and I am trying to read out & save the output data from both sensors simultaneously while the motor is in motion. The SC-2350 board is connected to the laptop via DAQCard 6036E . Two questions:
              1) in my block diagram, the DAQ assistant blocks for both sensors are wired to their respective waveform graphs (one for the LVDT signal and one for the force signal), the whole being included in a while loop (which remains true until the motor stops moving). When running the program, only one signal is read out at a time and I have no control on which signal is transmitted (this seems to occur in a random fashion). Do I need to "link"/synchronize the two DAQ assistants in some ways so that both signals will appear simultaneously? If so, how would it be possible?
              2) ideally, I'd like to read out both input signals on the same graph (with 2 different y-scales but the same time scale) to observe the phase shift. I tried to "bundle" the two data output coming from the two DAQ assistants but it resulted in an error saying that the two outputs were of different types. Is there a way to plot these two physical quantities on the same graph even though they're different and come from different sensors?
    Thanks for your help!
    Thibault.

    Hello Dani,
    I assume, based on your position sensors and the image you posted, that you are using counters to acquire your data. Is this correct? If so, it is important to note that you cannot add multiple counter operations to a single task because they have different timing requirements and all channels in a single task must share the same timing and triggering. In fact, if you attempt to add a second counter channel to a DAQ Assistant for a counter operation, you will receive the following error when you try to close the configuration window:
    So, you will have to use two different tasks to acquire your counter data. You can do this either by using two separate DAQ Assistants or by using two different tasks in the NI-DAQmx sub-VIs in LabVIEW. Since you are trying to compare the phase difference between the two measurements, you will also need to synchronize the operations so that you are reading from both counters simultaneously. There are several resources online which discuss synchronizing counters, and I have linked some that I thought might be useful below:
    KnowledgeBase 1JPES6LL: How Do I Synchronize a Buffered Quadrature Encoder Measurement to a Signal
    KnowledgeBase 3GGATSCC: Hardware Counter Start Trigger for Counter Synchronization
    It would probably be easier to use the NI-DAQmx Sub-VIs to implement this synchronization because they give you more control over specific parameters of your task. You can use the NI Example Finder to browse some examples which use the NI-DAQmx sub-VIs for counters. You can open the NI Example Finder by going to Help>>Find Examples... in LabVIEW. Once in the NI Example Finder, you can find the counter examples by selecting the Browse tab and navigating to Hardware Input and Output>>DAQmx>>Counter Measurements; then you can select the Position category (shown below) to find the Position measurement examples.
    Let us know if you have any other questions about taking position measurements.
    Message Edited by Matt A on 04-09-2008 03:55 PM
    Matt Anderson
    Hardware Services Marketing Manager
    National Instruments
    Attachments:
    Error -200147.jpg ‏32 KB
    Example Finder Position.jpg ‏124 KB

  • Crazy problem with FSM in VHDL already synchronized the input signals

    background:
    To Let FPGA communicate with a DSP board. i am trying to send three datas from DSP board to the FPGA board. 
    code:
    library ieee;
    use ieee.std_logic_1164.all;
    use ieee.numeric_std.all;
    entity dsp_com is port
         clock :   in std_logic;
    FPGA_CLK : out std_logic;
    led1: out std_logic_vector(3 downto 0) := (others => '1');
    Reset: in std_logic :='Z';
        dsp_db   : inout std_logic_vector(12 downto 0) := (others =>'Z');
    dsp_db_output : out std_logic_vector(12 downto 0);
    dsp_db_input : in std_logic_vector(12 downto 0);
    wr_en : out std_logic:='0';  -- initial state is input
    FPGA_ACK : out std_logic := '0';  --default state is 0
    DSP_ACK : in std_logic := 'Z'
    end dsp_com;
    architecture FSM_Moore of dsp_com is
    TYPE State_type IS (S0, S1, S8, S9, S10, S11);  -- 12 States
    signal PresentState: State_type;
    signal s_DSP_ACK : std_logic ;
    signal s_Reset : std_logic;
    signal s_dsp_db_input : std_logic_vector(12 downto 0);
    signal Adc_address : std_logic_vector(3 downto 0);
    signal Adc_buffer : std_logic_vector(12 downto 0);
    signal data_from_dsp1 : std_logic_vector(3 downto 0);
    signal data_from_dsp2 : std_logic_vector(3 downto 0);
    signal data_from_dsp3 : std_logic_vector(3 downto 0);
    begin
    --5k Hz signal work as FPGA_CLK
    clkdsp :  process(clock)
    variable count : integer range 0 to 2000 :=0;
    variable n :std_logic := '0';
    begin 
    if rising_edge(clock) then
    count := count + 1;
    if(count >= 2000) then
    n := not n;
    FPGA_CLK <= n ;
    count := 0;
    end if;
    end if;
    end process clkdsp;
    synchronous : process(clock)
    begin
    if rising_edge(clock)then
    s_DSP_ACK <= DSP_ACK;
    s_Reset <= Reset;
    s_dsp_db_input <= dsp_db_input;
    else
    null;
    end if;
     end process synchronous;
     --read the address and get the data
    --first:  process(clock,s_Reset)
    -- begin 
    -- if (s_Reset = '0') then
    -- PresentState <= S0;
    --elsif rising_edge(clock) then
    -- PresentState <= PresentState;
    -- end if;
    --   end process;
    first : process(s_Reset, clock)
    begin
    if (s_Reset = '0') then
     PresentState <= S0;
    elsif(rising_edge(clock)) then
    case PresentState is
    when S0 => if s_DSP_ACK = '1' then PresentState <= S1;
    else PresentState <= S0; end if;
    -- wr_en <= '0'; -- input
    -------------------------------single read ADC------------------------------------
    when S1 => 
    if ((s_DSP_ACK = '0') and (s_dsp_db_input(3 downto 0) = "0100")) then PresentState <= S8;
    else  PresentState <= S1;end if; 
    -- wr_en <= '0'; -- input
    --------------------------receive 3 datas in sequence ------------------------------------
    when S8 => if s_DSP_ACK = '1' then  PresentState <= S9;
    else PresentState <= S8 ; end if;
    --wr_en <= '0'; -- input
    when S9 => if s_DSP_ACK = '0' then  PresentState <= S10;
    else PresentState <= S9 ; end if;
    --wr_en <= '0'; -- input
    when S10 => if s_DSP_ACK = '1' then  PresentState <= S11;
    else PresentState <= S10; end if;
    --wr_en <= '0'; -- input
    when S11 => if s_DSP_ACK = '0' then PresentState <= S0;
    else PresentState <= S11; end if;
    -- wr_en <= '0';
      end case;
      end if;
    end process;
    -- Output depends solely on the current state
    second :   process(PresentState, data_from_dsp1, data_from_dsp2, data_from_dsp3, s_dsp_db_input(3 downto 0))
    --variable DATA &colon; std_logic_vector(12 downto 0);
    begin 
    case PresentState is
    when S0 => 
    FPGA_ACK <= '0';  
    led1 <= "0000";
    wr_en <= '0'; -- input
    -----------------get the adc-buffer--------------
    when S1 =>
    adc_address <= s_dsp_db_input(3 downto 0);  -- get the address
    FPGA_ACK <= '1';
          led1 <= "0001";
    wr_en <= '0'; -- input
    when S8 =>
    FPGA_ACK <= '0';
    led1 <= "1000";
    wr_en <= '0'; -- input
    when S9 =>
    FPGA_ACK <= '1';
    data_from_dsp1(3 downto 0) <= s_dsp_db_input(3 downto 0);
    if(data_from_dsp1 = "0101")then
    led1 <= "1001";
    else
    led1 <= "0000";
    end if;
    wr_en <= '0'; -- input
    when S10 =>
    FPGA_ACK <= '0';
    data_from_dsp2(3 downto 0) <= s_dsp_db_input(3 downto 0);
    if(data_from_dsp2 ="0111")then
    led1 <= "1010";
    else
    led1 <= "0000";
    end if;
    wr_en <= '0'; -- input
    when S11 =>
    FPGA_ACK <= '1';
    data_from_dsp3(3 downto 0) <= s_dsp_db_input(3 downto 0);
    if(data_from_dsp3 ="1000")then
    led1 <= "1011";
    else
    led1 <= "0000";
    end if;
    wr_en <= '0'; -- input
    end case;
    end process;
    end FSM_Moore ;
    i have already synchronize the input signals e.g. dsp_ack, and db_input to the FSM. this is the most frequency problem that cause FSM runs misbehavior
    Issue:
    Issues:
    when i debug the c program in DSP board and FPGA, every thing is ok ! FSM can switch to the next state according to the DSP_ACK. 
    but if i let the program run. i saw the state is alway stuck at S0 in FPGA, but for the DSP side, the code are still running.
    anyone has any ideas to this problem?
    appreciate for you guys' reply !
    regard,
    napon

    As a bit of a guess with the limited detail you provided on your overall control mechanism I would say you are missing  s_DSP_ACK = 1 when you allow the code to execute at full speed.
    What is the period of your FPGA clock vs the minimum  s_DSP_ACK = 1 length? I would just probe this up using CS.. Pretty simple to figure out where it is going wrong then.

Maybe you are looking for

  • Plz help me on the hangman code

    Consider the venerable "hangman" game, in which a player attempts to guess a word one letter at a time. If you are unfamiliar with hangman, simply google it; you'll be playing in no time. Consider the following abstract view of hangman. The input is

  • Another user who can't get this thing started, Listener will not operate!!!

    I installed from root, used port 8085 for the database (8080 used by Tomcat) and 1521 for the listener. Logged out, log back in as user oracle. Takes three full minutes to "start" the listener, but netstat -a does not show any listener on port 1521,

  • Issue in RFC to File Scenario

    Hi All, I am working on SAP PI 7.31 dual stack. I have configured a simple RFC to File scenario with aysnchronous interface. I am using classic configuration. In Sender RFC channel monitoring I am getting the below exception and the file is not creat

  • Send message from java not client

    I have a java app running on my server and I'd like to send messages to subscribed clients. All the messaging examples I find have the messages originating from a flex producer. I want java to be the producer.

  • Totals not Displaying at hierarchy Level.

    Hi All, There are 2 questions.: 1)I have a report G/L a/c wise profit center hierarchy report which shows as for this G/l ac this is the profit center hier and hence there corresponding currency key figure values. I am nt able to c the total for each