TTL signals from motor outputs

I'm currently using a stepper motor with a MID-7604 drive and a PCI-7344 controller. I would like to output TTL signals from the drive at certain motor positions, but do not have an encoder (which is required for breakpoint signals). Is it possible to `construct' a TTL type signal using the low-level motion functions in LabView, and then output them through a motor axis that is not currently being used?

Hello,
Depending on the type of output that you want to generate (single pulse or pulse train) you could use the Digital IO port of the motion controller with the Set IO Port MOMO.flx function to toggle DIO lines or you could use the Configure PWM Output.flx function to generate a pulse train.  The downside is that this will be software timed based on the current position as determined by the controller.
There is not any way to manually modify the motion control signals that are generated by the controller.  That is all handled by the FPGA of the controller.
Regards,
Scott R.
Applications Engineer
National Instruments

Similar Messages

  • How to output a TTL signal from a sine wave [Please Help]?

    Hi evryone!
    I am a bit lost...
    We make the acquisition of voltage (sine wave, 3Hz) which I simulated by a waveform generation in my VI. We want to convert this analog signal to a TTL and output it with a multifunction DAQ (6230).
    I only used Analog to Digital.vi and DAQmx write.vi and I can't get it to work... I get a TTL which is not 3Hz and only If I input a frequency like 3.07 and not 3.00 !!
    Did I forget something ?
    Thanks for helping
    Christophe
    Attachments:
    ADC.vi ‏26 KB

    In your vi, you don't have DAQmx Timing setup.  I don't know what the default value is.  But the timing determines how fast the DAQ will output values.  If not set correctly, you may see slight change in the output frequency.  Another thing is that the timing is based on a master clock, like 50MHz.  The clock gets divided down until it gets near the desired setting.  So it may not be able to achieve 3KHz exactly.  If you are getting 3.07KHz, this may be why.  I don't know if there is anything you can do about it.  Try using the timing vi and setting different sample rates.
    - tbob
    Inventor of the WORM Global

  • How to select signals from the output of a DAQ assistant

    Hi! 
    I am a new user of Labview 8.5 and I am working with a USB-6210. I have two different instruments connected to the same USB device, half of the channels are being used for pressure transducers where I only need to reed and save the data, while the other half are associated to TCD detectors where I need to perform some analysis to the signal to obtain and save the data. I am in the first step of building the block diagram, After I define each of the signals which its corresponding channel using the DAQ assistant, I need to select and separate the signals coming from the pressure transducers from those coming from the TCD detectors, before I can continue drawing the block diagram. I am trying to use the Select Signal function but I am not sure how to do this. Can anyone please let me know at least in which manual can I find a good explanation? I have been reading the Getting Started and the User Manual for LabView but they have not been very useful so far.
    Thanks!
    Solved!
    Go to Solution.

    Wire the Select Signals express VI to your DAQ Assistant and run the VI once (this allows the signal names to propegate).  Then when you open the Select Signals configuration you'll be able to pick out the channels you want by name instead of just "Signal 1" etc.
    It sounds like you'll probably want two Select Signal Express VIs, one for the TCD detectors and one for the pressure transducers.  Something like this:
    If you right click on the VI and select Help or click on the Help button within the configuration dialog you will bring up the LabVIEW help page for this (or any other) VI.  Are you looking for some other information that isn't documented in the help file?
    Hope this helps,
    Simon

  • How to output the digital clock and synchronization signal from the NI USB-6211

    Hello,
    I need to connect the NI USB-6211 to control a digital to analog convertor chip (AD5541). However, this chip requires three input signals :1) Clock input, 2) Logic input or a synchronization signal  and 3) Signal Serial Data input (CS, SCLK, DIN).
    how to output the digital clock and the synchronization signal from the NI USB-6211?

    Hi SaberSaber,
    You should be able to use the counters to generate a pulse train that could be used for clock and synch purposes.  
    Hope this helps.  Let us know if you have more questions.  
    Dave C.
    Applications Engineer
    National Instruments

  • How to get signal from analog input and send it to analog output (real-time​)

    Hi everyone,
    I am doing simple task in Visual C++ and I am using PCI-6221(37 pin).
    Basically, I want to send same signal from 'analog input' to 'analog output'
    at the same time (almost), to make it real-time application.
    Can someone please provide me sample program. 
    I would appreciate if you could provide me with the good tutorial which explains
    step by step everything about programing NI-DAQmx for C/C++.
    Best Regards,
    Khassan
    Solved!
    Go to Solution.

    This is my code in C++, you can optimize it if it looks too messy. This code reads signal from analog input and outputs it through analog output. 
    To make this code work additional  include directories and library directories must be added from NI.
    I hope it helps someone.
    #include <stdio.h>
    #include <conio.h>
    #include "NIDAQmx.h"
    #include <math.h>
    #define DAQmxErrChk(functionCall) { if( DAQmxFailed(error=(functionCall)) ) { goto Error; } }
    int main(int argc, char *argv[])
    int32 error=0;
    TaskHandle taskHandleRead=0,taskHandleWrite=0;
    int32 read=0;
    float64 dataRead[1000];
    char errBuffRead[2048]={'\0'};
    char errBuffWrite[2048]={'\0'};
    bool32 done=0;
    int32 written;
    DAQmxErrChk (DAQmxCreateTask("",&taskHandleRead));
    DAQmxErrChk (DAQmxCreateAIVoltageChan(taskHandleRead,"Dev1/ai0​","",DAQmx_Val_Cfg_Default,-10.0,10.0,DAQmx_Val_Vo​lts,NULL));
    DAQmxErrChk (DAQmxCfgSampClkTiming(taskHandleRead,"",100.0,DAQ​mx_Val_Rising,DAQmx_Val_ContSamps,0));
    DAQmxErrChk (DAQmxCreateTask("",&taskHandleWrite));
    DAQmxErrChk (DAQmxCreateAOVoltageChan(taskHandleWrite,"Dev1/ao​0","",-10.0,10.0,DAQmx_Val_Volts,NULL));
    DAQmxErrChk (DAQmxCfgSampClkTiming(taskHandleWrite,"ai/SampleC​lock",100.0,DAQmx_Val_Rising,DAQmx_Val_ContSamps,1​000));
    DAQmxErrChk (DAQmxStartTask(taskHandleRead));
    DAQmxErrChk (DAQmxStartTask(taskHandleWrite));
    while( !done && !_kbhit() )
    DAQmxErrChk (DAQmxReadAnalogF64(taskHandleRead,1,10,DAQmx_Val_​GroupByScanNumber,dataRead,1000,&read,NULL));
    DAQmxErrChk (DAQmxWriteAnalogF64(taskHandleWrite,read,0,10.0,D​AQmx_Val_GroupByChannel,dataRead,&written,NULL));
    _getch();
    Error:
    if( DAQmxFailed(error) )
    DAQmxGetExtendedErrorInfo(errBuffRead,2048);
    DAQmxGetExtendedErrorInfo(errBuffWrite,2048);
    if( taskHandleRead!=0 )
    DAQmxStopTask(taskHandleRead);
    DAQmxClearTask(taskHandleRead);
    if( taskHandleWrite!=0 )
    DAQmxStopTask(taskHandleWrite);
    DAQmxClearTask(taskHandleWrite);
    if( DAQmxFailed(error) ){
    printf("DAQmx Error: %s\n",errBuffRead);
    printf("DAQmx Error: %s\n",errBuffWrite);
    printf("End of program, press Enter key to quit\n");
    getchar();
    return 0;

  • Recording quadrature encoder and AI signals simultaneo​usly and generating output TTL signals in one VI

    I want to record simultaneously encoder, pressure and other AI signals and output a TTL signal for every other pressure signal. I have two VIs: One is to record all signals and the other is to generate TTL signals.
    1. Since I'm new to Labview, I would like to double check with experts that if my VI (attachment 1) did what I expect. I would like to have DAQ box read and write encoder signals and pressure signals at the same time so I can plot PV diagram.
    2. During acquisition, some data points are usually missed, shown in attachment 2. Is there any way to solve it?
    3. I tried to combine two VIs but it never work (attachment 3). Can anyone give me any suggestions?
    PS. Labview 9.0 and NI USB-6216 are used.
    Dummy signals are 30Hz sine waves for pressure and 2 TTL signals for encoder A and B at 5kHz.
    Thank you!

    Thank you for your help, Peter!
    I attached the wrong file for attachment 1. The initial code for measurement is attached here.
    The sampling rate is 20000 and the sample mode is continuous.
    For missing data points, it improved when I add "wait until next ms multiple" in while loop.
    Follow the example you gave me, I'm able to generate TTL signals in one vi, attachment 2. Could you please check if it's correct?
    It looked fine with simulated signals and hope it will go well with real engine tests.
    I have two more questions:
    1. Does the input number for wait until next ms multiple should always be the same as "samples per channel" in sample clock?
    2. How will the value of "samples per channel" in sample clock affect data acquisition? I tried 1000 and 10 but didn't see any difference between these two.
    Thanks a lot.
    Attachments:
    recording VI.png ‏332 KB
    AI+CI+CO.png ‏72 KB

  • How to change HDMI port settings from output to input to accept signals from cable/sate​llite box?

    I have a new dv8t Entertainment PC with the HP Integrated HDTVHybrid Tuner.  The instruction manual provides 2 ways to connect the laptop to a cable/satellite box:  (1) coax/rf; or (2) HDMI.  The coax is a no-brainer; got it up and running in 10 minutes.  However, I am unable to get it to work connecting the HDMI cable, as the HDMI port on the laptop appears to be stuck in output mode.  How do I change the configuration of the HDMI port to "input" so that it can accept signals from my cable box?

    Thank you Grant for the quick response. Well, it seems I don't know what I'm doing.
    So, Mac Pro doesn't have any video INPUTS just Outputs. CHECK.
    That is correct I have a six-input-port-selector with one input (SWITCH C2G). CHECK.
    What I want is to be able to toggle through the inputs from the HDMI Switch C2G. That way I can use all my devices (Mac Pro, Xbox, PS3, Cable Box) with these monitors.
    Since the Switch C2G only has one OUTPUT Slot, I'm thinking I just need to connect the monitors to the Switch C2G Output slot by using a 2 to 1 HDMI Adapter, but wouldn't I lose the true potential of these monitors by not connecting them directly to the Mac Pro?
    Currently, I have the monitors hooked up with Thunderbolt/Mini Display Adapters to the Mac. So I guess I would just have to run just one HDMI with Thunderbolt/Mini Display from the Mac to the Switch C2G, and connect the other devices to the Switch as well.
    Jeez. Am I right? 
    What If I get an HDMI Switch with 2 Outputs instead of getting the 2 to 1 HDMI Adapter or perhaps a 4 to 2 Adapter. Heck. I'm not sure what to do here.
    I would really appreciate anyones help.
    Thank you.

  • Generating 1mv output signal from AO1 using NI 9381 card

    Hi,
    I am using NI 9074 cRIO & NI 9381 IO card, I am trying to generate 1mv signal from the AI port.
    1. Programatically i am supplying 1mv to AO port and reading AI port.
    2. On the AI port i am getting 22mv without connecting AO port to it .
    3. Is there any method to achieve this task.
    Please help me in this.Thank you.

    According to the specifications the offset error can be as large as 16 mV depending on calibration and temperature.
    Devices with input multiplexers can experience an effect called ghosting which results from capacitances in the input circuitry charging to unknown voltages due to leakage currents from adjacent channel inputs or other internal circuit nodes. Measurements made with the input open or floating do not have any meaning. The manual recommends input source impedances less than 1000 ohms.
    As has already been mentioned the resolution is larger than 1 mV. When you combine the offset and gain errors of both the AO and AI channels, in the best case you will not know the output within 11.5 mV and in the worst case the error could be greater than 66 mV.
    If you need both 1 mV resolution and 1 mV accuracy, you will need a better device.
    Lynn

  • How do I measure the period of one TTL signal and the delay until a second TTL signal?

    Hi,
    I have a PCI 6024E board, the SCB-68 terminal box and am running LabView 6.1.  If needed I could install 7.1.
    I have two Honeywell sensors (HOA7720) which each consist of an infrared transmitter and a infrared reciever.  When the beam is broken they output 5V, when the beam is open it outputs 0V.  These are sensing the presence of a hole in two discs passing thru the sensors.  
    So as disc 1 rotates the signal is 5V until the hole passes thru sensor 1, then it drops to 0V until the hole passes.  Then it jumps back to 5 V. 
    Disc 2 is rotating at exactly the same RPM as disc 1 because they are coupled with a spring loaded coupling.  There is a delay between the first hole passing thru sensor 1 and the second hole passing thru sensor 2.  The delay increases with torque. 
    Using the oscilliscope function and connecting Signal1 and Signal2 to AIn0 and AIn1, I have verified that the TTL signals are there.  So electrically everything is working.  I just need to know how to measure the period and delay.  I'm familiar with A/D, but not with counters/gates etc and I think that's what is required here. 
    The first measurement needed is RPM.   Somehow I need to measure the period of the TTL signal. 
    The second measurement needed is the delay between the 1st falling edge and the 2nd falling edge.  
    I don't think it's possible to use the millisecond timer for anything, because the accuracy wouldn't be good enough.  At 3600RPM the disc will spin 60 revs per second, or one every 17ms.  A resolution of 17 samples per revolution is not good enough.    
    Help please!

    It worked!
    I ended up figuring it out today.  It's really simple.  I went analog in to AIn14 and AIn15 which were free. Then the program does a multichannel scan of the signals (collects array of 2 waveforms), Signal 1 and Signal 2 at some scan rate.  I used 100,000 S/s for 10,000 samples. Then I split the array into two separate waveforms.  Then I did an edge detect on each one and it returns the position in the array where the falling edge occurs.  The difference is the delay (after correcting for the scan rate), unless Sig2 comes first in which case the delay is the period - (or +) the difference
    To find the period I used a subset of the Signal 1 waveform from the first falling edge on to the end of the waveform, then did the same edge detect except set the reset setting to true instead of false so it wouldn't detect the low signal which was now at the position 0 in the waveform.  So it would ignore the initial low value, wait for it to go high, then detect the falling edge position.
    Anyway, it works awesome, seems very accurate and gives very stable readings.  3600rpm no problem.  It detects changes of one or two degrees in angular position, with a range from ~145 degrees to ~280 degrees

  • Counting rising edge during 50ms for a TTL signal

    Hello, I'm using Labwindows 6 and a traditionnal DAQ. I've injected a TTL signal on my card and I would like to count the number of rising edge each 50 ms without using an internal timer in labwindows so that the counting pace cannot be disturbed by Windows.
    Do someone know how to process or which functions should I use?
    Thanks

    Hi it's still me with still some troubles
    I've generated with my counter0 a square wave of 50 ms pulse width from an internal source but then, I don't know how to specify that this signal will also be the  pin gate (ND_PFI_4) of my counter1 which will count the rising edge.
    Moreover I also don't know how to specify my counter1 just to count rising edge while  my gate is at high state; here 's mys code :
        //Generation of an internal 100 KHZ square wave
        GPCTR_Control(1, ND_COUNTER_0, ND_RESET);
        GPCTR_Set_Application(1, ND_COUNTER_0,ND_PULSE_TRAIN_GNR);
        GPCTR_Change_Parameter(1, ND_COUNTER_0, ND_SOURCE,ND_INTERNAL_100_KHZ);
        //Generation of a 100 ms gate
        //50 ms => low state
        //50 ms => high state
        GPCTR_Change_Parameter(1, ND_COUNTER_0, ND_COUNT_1,5000);
        GPCTR_Change_Parameter(1, ND_COUNTER_0, ND_COUNT_2,5000);
         //output the counter pulse, you must call Select_Signal.
        Select_Signal(1, ND_GPCTR0_OUTPUT, ND_GPCTR0_OUTPUT,ND_LOW_TO_HIGH);
        GPCTR_Control(1, ND_COUNTER_0, ND_PROGRAM);  
        //configuration CPTR1 that will count each rising edge while the gate is at high state
        GPCTR_Control (1, ND_COUNTER_1, ND_RESET);
        GPCTR_Set_Application(1, ND_COUNTER_1,ND_SIMPLE_EVENT_CNT);
        GPCTR_Change_Parameter(1, ND_COUNTER_1, ND_SOURCE, ND_PFI_3);
        GPCTR_Change_Parameter (1, ND_COUNTER_1, ND_SOURCE_POLARITY,ND_LOW_TO_HIGH);
        GPCTR_Change_Parameter (1, ND_COUNTER_1, ND_INITIAL_COUNT, 0);
        GPCTR_Control(1,ND_COUNTER_1, ND_PROGRAM);
        GPCTR_Watch (1, ND_COUNTER_1, ND_ARMED, &compteur);
        printf("%d\n",compteur);
    And the value of compteur is not the value expected at all.
    thanks.
    (ps : can you speak french?)

  • How to measure the pulse duration of a TTL signal using AI?

    Hi there.
    I would like to know how to measure the pulse duration of a TTL signal using an Analog input.
    These TTL signals comes from an ultrasonic sensor's output. The pulse width of the signal is
    proportional to the distance of the object the sensor detected.
    I have tried using the example "Measure Pulse Width.vi" which uses a counter to measure the
    pulse duration instead. It provides me with correct results.
    However, i will like to know how can i do it using the AI instead.
    I tried it by using the example "Acq&Graph Voltage-Int Clk.vi" which i modified by including a
    timing and transistion measurement vi. Pulse duration was selected as the output. A graph indicator was also added at the output of the pulse duration to monitor the incoming TTL signals.
    However, everytime the TTL signals was detected on the graph indicator, the numeric indicator always produce a "zero" reading.
    I have attached my vi for your reference.
    Can anybody advice me what i have done wrongly?
    Regard.
    Attachments:
    Acq&Graph Voltage-Int Clkv1.vi ‏190 KB

    Hi Paul,
    Today i tried using 2 different methods to read the pulse duration of my sensor signal.
    Both methods use "Acq&Graph Voltage-IntClk" vi as a guide.
    Method1:
    Add a filter vi(lowpass/bandpass) and a timing and transition measurements vi.
    Pulse duration is selected as the output. With some numeric conversion, a centimeter
    reading indicator was created. However, the reading always remains as "zero"
    Method2:
    Add a Mask and Limit Testing vi and a timing and transition measurements vi.
    By adjusting my upper and lower limits, i manage to "filter" a single pulse out from the actual signal.
    However, like the earlier case, the cm reading still remains at "zero"
    I have attached both the methods resulted waveforms for your reference.
    Are there anything that you can advice on?
    Regard.
    Attachments:
    Results_Waveforms.doc ‏141 KB

  • I want to take (1 or 0 ) signals from the labview

     i want to take (1 or 0 ) signals from the labview to drive the motor using pick  what can i do ? somebody told me to use serial cable is it possible and if it is how can i ?

    khaledyr wrote:
    ok every one i am doing a fire fighting robot that search for the fire using camera i finished the lab view match pattern program and now i can find the fire and locate it in the image so i want to have from the pc any signal represented in voltage when the lab view program find the fire which mean i want to convert the softwear to hardwear this volt or signal i will take it on terminal of relay that will conduct the motor so the robot will continue moving and when the program of lab view didn't find the fire the signal output will be zero so the relay is off an the motor is off i think now every single information has been explained
    khaledyr    
    Wow, that's one long sentence, and an interesting robot that needs to be controlled by software, for which LabVIEW is an excellent choice, but as others have mentionned it will not provide the voltage directly, but can control the device that does, such as a cheap trick by using telecom relays, which draw very little current and are actuated using a 5 volt signal, which could be from the parallel port, and the relay could be closed to provide up to 24v from a battery source to the motor.
    So to recap:
    PC > LabVIEW > algorithm > parallel port control > 5V actuated relay > provide power to the motor (but that means the PC has a tether from the parallel port to the robot)
    However, from what I could understand, you already have the circuit which has a microcontroller.  You could use the RS232 (serial) port and send the appropriate commands. What I would recommend is first trying to communicate with the microcontroller using a terminal emulator such as HyperTerm or TerraTerm or ProComm.  That way, you could confirm that the motor / microcontroller is responding to the appropriate commands.  Once you are satisfied with the communication, you can easily implement using LabVIEW.
    There are many examples of serial communication within this forum.  You can also do a search under the Help Menu and select Find Examples.  Within that enter serial as the keyword to search.  You will find 2 interesting examples a casic and and advanced serial communcation vi's.  Do have a look at the advanced examples as it will most likely be better suited for you.  You can modify the code to suit your needs.
    Enjoy!

  • What hardware do I need to monitor the signal from an incremental encoder?

    We are trying to implement a feeding
    solution for one of our cutting machines and I’m not quite sure how to proceed. 
    I have attached a document from the NI website that outlines exactly what we are
    trying to do but does not go into detail on any of the concepts like programming
    and implementation.
    1.) We have a NI DAQPad-6015
    connected to a SC-2345 which has one SCC-CTR01 module installed.  Which this
    configuration can we read the incremental encoder signal and use to setup our
    cutting machine as outlined in the attached document?  If not what is the
    minimum amount of hardware we need to sample the signal from the incremental
    encoder and obtain both the direction and magnitude of the
    movement?
    2.) If we wanted to use the
    information obtained from the encoder and subsequently send a signal to a
    stepper motor controller or perhaps a PLC what additional hardware would be
    needed.
    Thanks,
    Chris  
    Attachments:
    Incremental Encoder Example.pdf ‏94 KB

    Hi Chris,
    For quadrature encoder measurements your
    hardware is not the ideal equipment. The 6015 doesn't provide X4
    decoding. That means, that the board counts only one raising edge of
    one phase. Still, if you connect phase A and B to the counter inputs,
    it will count up and down, depending on the direction of the axis, but
    as already mentioned, you will loose 75% of the available resolution. Here is some more information about this topic.
    The document that you are referring to recommends a PCI-6624
    and this is in fact a much better option. This board provides X4
    decoding and isolated inputs not only for phase A and B but also for
    the Z-index (not available for the 6015).
    If you need a USB-solution and if you can work with TTL voltages, you might have a look at the USB-6218, that provides isolated I/Os.
    For motion control there are various options. E. g. you could use an NI motion control device like the PCI-7332,
    but there are also options to communicate with external motion
    controllers through CANopen, RS232 or various fieldbusses. Depending on
    the solution that you choose, you may need a bus interface that
    provides support for your programming software.
    I hope that helps,
    Jochen KlierNational Instruments
    Message Edited by Jochen on 09-24-2008 09:24 AM

  • How can I tell if signals from two devices are truly synchronised?

    Hi there,
    How does one check that signals from two devices (two separate devices in a single X-series chassis) that should be synchronised actually are?   I am using a PXIe6361 and PXIe4331 on a PXIe-1073, with Labview 2001 SP1 64-bit. All devices are using the Sample Clock from the 4331 device, and an AI Start Trigger, so they should be synchronised.
    I thought that writing the signal data to file and checking the time stamp for each column of data would be the most accurate, but I have been told that timestamps are software created and therefore don't reflect the actual time that the signals were acquired by the hardware.  When I do this, the timestamps vary by up to 150ms which is larger than I expected.
    If I set the x-axis of the waveform graphs (on the GUI) to "Time" then it appears that the first data sample is taken at different times for the two plots (one plot per device).
    If I set the x-axis of the waveform graphs (on the GUI) to "Ignore time stamp" (so that the x-axis just starts from 0 rather than a date-time) then the first data point occurs at "0" for both graphs. However, I'm not sure that this reflects the actual alignment of the signal.
    What is the best way to check if signals collected on different devices in the same chassis are actually synchronised?
    Thanks,
    Claire.

    Hi Lynn,
    Thanks for your help and for sending the demo.
    I understand the concept of how the signals will look if they're not synchronised and your demo shows that nicely. I guess I have been perplexed by someone else telling me that the timestamps in the output file (and following from that I assume timestamps on a waveform graph) do not give an indication of whether signals are synchronised. The reason they gave for this was that the timestamps are manufactured by the software, not the DAQ hardware.  They suggested that I put the setting "ignore waveform timestamps" on my waveform graphs, and then check that both signals come in at the same time (i.e. both start at zero), but I'm not convinced about this. 
    When I use an analog trigger, neither the timestamps in my output file or on the two waveform graphs are synchronised. If I don't use the trigger, then there is far less disparity in the timestamps in the output file. I've attached two output files here, and my VI.
    This is my first attempt to synchronise a voltage module and a strain gauge module on an X-series chassis, so I want to make sure that I'm achieving the best synchronisation that I can, and the difference in behaviour with and without the trigger worries me.
    Thanks,
    Claire.
    Attachments:
    without trigger.txt ‏5 KB
    with trigger.txt ‏6 KB
    Multi-Device Synch-Analog Input-Finite Acq-Analog Start_Claire_wDigitalin_12June2012 PTbridge.vi ‏196 KB

  • TTL signal vs TCP-IP, parctical and timing considerations

    We have just purchased a BioPac MP1 50 physiological recording system (www.biopac.com). We would like to start/stop an acquisition from another computer system and/or to add annotations and markers.
    To this end it seems there are two routes to consider. We could either use the built-in Trigger in/out capability with TTL signal of (0 and +5V square pulse) or use TCP-IP client-server to control it remotely (i.e. using VIs such as TCP-IP Listen). In the later case, I�d use the Beta LabView API libraries that BioPac is about to release for the MP150, instead of the dedicated AcqKnowledge 3.8.1 software, which is really good.
    Because we need to correlate event during the physiological recording of our experim
    ent, it would be ideal if the resolution were of ms accuracy (i.e. latency less than 1ms) and we need to manage up to 16 trigger channels.
    I have very little technical background knowledge on this. Thus, in order to help me evaluate a solution, I would appreciate any comments and suggestions.
    1) I would like to know first if anyone could recommend an easy solution to generate TTL signal (0 � 5V logical pulse) on both Windows and LINUX PC?
    For instance I read about using the 25-pin parallel port, but I am curious to learn about other possible alternative such as USB, USB2 with or without adapter but also a very cheap card (a couple $100 max). I am already ruling out serial connection, because I am told it is very slow and has horrendous latency.
    2) What are the latencies in read and writing/issuing TTL signals com? How does it compare with a dedicated byte stream through TCP-IP, on a dedicated cable and on a network cable?
    3) Are they any VI application that you c
    ould share to show how LabView 7.0 can talk through the respective ports to generate a pulse forming the trigger information being written or read in?
    I look forward to hearing your feedback and suggestions. Many thanks in advance.
    Donat-Pierre LUIGI

    Use TTL. It is likely that the TCP/IP messages will get there fast enough
    and that the software will respond in a timely manner but there is no way to
    be sure. It is the fastest way to get from your LV application to your
    other device. You may need to check the response time that the BioPac will
    give to the TTL input verses a TCP/IP message.
    You should also consider the level of programming needed to accomplish your
    tasks. I would strongly suggest that you get a seasoned LV programmer on
    the job or you will be wasting a lot of time and enduring needless
    frustration.
    The parallel port will respond is sub-millisecond. You should be able to
    toggle it several hundred times in a millisecond. I've had LV applications
    use the printer port for this type of communications before. I don't
    remember the bandwidth but it's more than adequate for this application.
    TCP/IP will sometimes get delayed by the OS (either Windows or Linux) due to
    other things that are happening at the time which you don't have control of.
    The message should go out in very short order (again sub-millisecond) but
    there is no control over this.
    Good luck,
    Chuck
    "Donat-Pierre" wrote in message
    news:[email protected]...
    We have just purchased a BioPac MP1 50 physiological recording system
    (www.biopac.com). We would like to start/stop an acquisition from
    another computer system and/or to add annotations and markers.
    To this end it seems there are two routes to consider. We could
    either use the built-in Trigger in/out capability with TTL signal of
    (0 and +5V square pulse) or use TCP-IP client-server to control it
    remotely (i.e. using VIs such as TCP-IP Listen). In the later case,
    I'd use the Beta LabView API libraries that BioPac is about to release
    for the MP150, instead of the dedicated AcqKnowledge 3.8.1 software,
    which is really good.
    Because we need to correlate event during the physiological recording
    of our experiment, it would be ideal if the resolution were of ms
    accuracy (i.e. latency less than 1ms) and we need to manage up to 16
    trigger channels.
    I have very little technical background knowledge on this. Thus, in
    order to help me evaluate a solution, I would appreciate any comments
    and suggestions.
    1) I would like to know first if anyone could recommend an easy
    solution to generate TTL signal (0 - 5V logical pulse) on both Windows
    and LINUX PC?
    For instance I read about using the 25-pin parallel port, but I am
    curious to learn about other possible alternative such as USB, USB2
    with or without adapter but also a very cheap card (a couple $100
    max). I am already ruling out serial connection, because I am told it
    is very slow and has horrendous latency.
    2) What are the latencies in read and writing/issuing TTL signals
    com? How does it compare with a dedicated byte stream through TCP-IP,
    on a dedicated cable and on a network cable?
    3) Are they any VI application that you could share to show how
    LabView 7.0 can talk through the respective ports to generate a pulse
    forming the trigger information being written or read in?
    I look forward to hearing your feedback and suggestions. Many thanks
    in advance.
    Donat-Pierre LUIGI

Maybe you are looking for

  • What happened to iTunes

    Okay, I admit I'm a Windows User, the only Apple product I is an iPod 2 that was given to me. Apparently I *have to* use iTunes to put content on the iPad because Windows Explorer (Finder for you Apple-ites) only shows me the photos folder. I have 24

  • Firefox 29 screw up - Please consider USERS How to fix this???

    I often get fed up with firefox, the only reason I stay with it is because of the 3rd party plugins, but this is a step too far. I am so seriously pissed off with Mozilla Firefox, not just because of the new design but the complete lack of respect fo

  • Possible to mark and unmark every line of the list (ALV

    Hi Experts, I would like to develop stock compensation report for a client my requirement as below. It must be possible to mark and unmark every line of the list (ALV). On top of the list a button (Create Sales Document) is needed. Pressing this butt

  • Why does my ipod and computer hate me?

    Okay, i spent 2 weeks trying to get my ipod music INTO my itunes library. It worked! I was happy, lahdeedahdeedah. Then (of course) my computer crashed and i have had to get it reformated again. I kept all the papers that helped me get my ipod music

  • SCSM 2012 R2 - In-Place Upgrade to Windows Server 2012 R2

    Hello, is an in-place upgrade of the underlying OS from Windows Server 2012 to Windows Server 2012 R2 supported by SCSM 2012R2. I know of some products where it is supported, some where it isn't (e.g. Exchange) but I haven't found any information on