Generating digital pulses from the pci 6722

I am trying to generate signals that will drive a piezoelectric motor. I need an analog signal that I will send to an amplifier and 6 digital pulses with varying offsets. I am using a pci 6722 and was hoping to get an offsets between the digital pulses to be around 2 microseconds. I am struggling  to find the best  way to get such exact time delays between multiple tasks. Any help  would  be greatly  appreciated.

The actual offset times is not as important as the digital pulses firing sequentially and all within the envelope of the analog signal for multiple steps.  I guess my question is less about hardware limitations, and more about how execute my desired process in Labview. My experience in Labview is pretty rudimentary and I am struggling to see how to synchronize events in labview.  We are using a BNC 2110 to output our signals, and it is my understanding that the BNC 2110 has a 1 Mhz clock.  We are trying to import that clock from our device use that to clock timed loops and we are having some difficulties with the details.  I am honestly not sure if I am on the right track.  In hopes that it might add some clarity I attached a picture of the signals we are hoping to produce.  The orange signal is our analog output.  Between times t3 and t4 we need the 6 digital triggers to switch to "on" and we need them to all switch off simultaneously at t6.  Again we are definitely willing to compromise on speed if we can use the card we already have.
Attachments:
waveform.PNG ‏28 KB

Similar Messages

  • Reading Digital Pulses from a Flowmeter

    I have a flowmeter that puts out 0 to 5 VDC pulses and has a calibration factor of 50.99 pulses per CC. I do not have a counter card, but have a digital input card and an Analog Input card.
    What will be accurate method to read these pulses from the flowmeter?

    The Detect All Triggers.vi is not included, so I cannot tell what it is doing.
    Several things may affect your results.
    1. It appears that you have the DAQ assistant set to sample at 250,000 samples per second and to acquire 100,000 samples. It creates the task, configures the timing, acquires data, stops and clears the task on every iteration of the loop. The only part which needs to be inside the loop is the acquire data part. All the rest should be outside the loop. You can open up the DAQ Assistant and pull the parts out to do this.
    2. The samples you acquire take about 0.4 seconds but you have a 1 second elapsed time test in the loop. It appears that you are only looking at about 40% of the data available because you do not accumulate the data while waiting for the elapsed time.
    3. The Detect All Triggers boolean output which connects to the case structure where Counter is updated only allows Counter to increment once pper iteration of the while loop, maximum, regardless of the number of pulses detected in the dataset. Unless you never get more than one pulse in 400 ms Counter cannot accurately represent the number of pulses produced by the flowmeter.
    4. Get rid of the local variables. The are not needed and often contribute to race conditions.
    5. Learn about dataflow. The "initialization" of the chart history and local variables at the left of the diagram could occur after the while loop has started or even completed. The sequence structure in the True case is probably not needed either. Shift registers are your friend
    Lynn

  • Generate a report from the grid to get all the 10g instance name and size

    Hi Guru
    Greetings foe the day
    can you help me to Generate a report from the grid to get all the 10g instance name and size.
    If its passible you would help me a ton
    Thank you

    If you can see in you query, you asking to view dba_segments for one instance and the other query is over the MGMT$DB_TABLESPACES view but NOT "WHERE" clouse is using, and if ypu have more once instance then than view sum all the tablespaces sizes.
    How many instanced are registed in your grid control?
    http://www.jpuga.cl
    Regards
    user625256 wrote:
    Hi
    can any one help on this
    The o/p
    SQL> select sum(bytes)/1024/1024/1024 from dba_Segments;
    SUM(BYTES)/1024/1024/1024
    3549.80879
    when i query from the above mgmt its returns 1,507,473.149 GB
    select target_name DB_NAME,host_name Host,sum(trunc(tablespace_used_size/1024/1024/1024,2)) size_GB
    from MGMT$DB_TABLESPACES group by host_name,target_name order by target_name
    it gives the size as 1,507,473.149 GB
    Thank you in advance

  • How to remove the automatically generated text fields from the InfoSet

    I followed the procedure by SAP help.
    Automatically generated text fields are marked with a 'T' on the icon in the InfoSet. You can remove the automatically generated text fields from the InfoSet in the initial screen of the InfoSet maintenance under Further Functions -> Delete Text Fields. Cancel the DataSource creation on the next screen and delete the text fields in the InfoSet maintenance transaction.
    I know that there is an option "No automatic text recognition" when I create a new InfoSet, however, I couldn't find out how to change an existed InfoSet. I checked menu Goto->Global Properties, but that option is disabled. Is there a way to remove text fields from an existed InfoSet?

    Hi,
    In the initial screen (when you enter transaction code SQ02) type your infoset name and goto menu: Infoset -> More functions -> Delete text fields. this will delete all text fields.
    I hope this helps to resolve the issue.
    Ram

  • How can i send and receive a 2us digital pulse from Labview

    i want to communicate with a system using 2us pulse
    like if i want to send 11010100 then i will send
    |----2US----|----2US----|.............
    I      I___I       I_____________I         I______________I         I_______________________
    |----1-----|-------1-------|------0-------|--------1--------|------0-------|---------1---------|------0-------|------0-------|
    when i will send 11010100 to system the system will repond me by sending 10111001 usinf same 2us pulse as i have shown above.
    I have pci-6025E+CB 50LP connector block+Cable and LABVIEW 10 installed in my PC.
    Can this be done using NI's labview and PCI card ?
    if yes then how ?
    i m new to NI and this is my first Project using NI's hardware.

    The fastest I would trust software timing is in the tens of milliseconds.  And even then, don't count on exactness.  The software timed DIO are best used for static applications (only change every once in awhile, usually controlling a relay or the like).  From my quick search, you will want something like the PCI-6220.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Can I use the 2 digital triggers on the PCI-6023E to trigger 2 seperate Analog inputs on the same board?

    I want to monitor 2 analog DC signals (single point measurements, not a waveform) and I want to use the digital triggers to start the acquisition, 1 trigger for 1 AI. the measurements need to be made at 1Hz, maybe slower. Is this possible with the PCI-6023E?
    If not what hardware should I be looking at? I have a total of 6 triggers and 6 AI.

    Dimentia,
    I would need confirmation on what you want to do:
    1) I want to monitor 2 analog DC signals
    This means that you will have one Analog Input operation monitoring two channels. Please confirm.
    2) single point measurements, not a waveform
    Ok, no buffers.
    3) I want to use the digital triggers to start the acquisition, 1 trigger for 1 AI
    This would mean that a single digital pulse or edge on a single line would start your 2-channel analog input operation. Please confirm.
    4) the measurements need to be made at 1Hz, maybe slower.
    Hardware-timed or software-timed? 1 Hz could be easily implemented with software timing. But the triggering could force you to use hardware timing. It will not be a problem but it would be good to know.
    5) Is
    this possible with the PCI-6023E?
    Everything I mention above is possible with the PCI-6023E.
    6) I have a total of 6 triggers and 6 AI.
    This last phrase is what really confuses me and seems to contradict the previous sentences. Does this mean that you will want to perform 6 independent Analog Input operations, with its own triggers (one each)? Will every Analog Input operation have 2 channels?
    I'll clarify why this is important:
    - Each Analog Input operation can only have one hardware digital start trigger assigned to it.
    - Only one Analog Input operation (multiple channels allowed) can be performed per board at any time.
    Since the rates are so slow I would recommend that you perform sample all channels within a continuous acquisition and then discard the data that does not meet a certain condition. You could sample the triggers as well and discard those channels for which the trigger has not been received.
    These are just some ideas based on my assumptions on the
    problem. Assumptions are never a good thing so please confirm on the point s above and we'll try to help.
    Thanks
    Alejandro Asenjo
    Applications Engineering
    National Instruments

  • Generating next number from the SQL database using java

    Hi friends, I have a problem and need your help. I am working on a project about submitting claims form through the adobe PDF file and SQL database. I have problem working on a web service (written in java) that will generate the next Invoice Number from the SQL Database table. The field type for the column is text(var char). *Example: I first need to get into the table and search for the last Invoice number in the table and if the last invoice number in the table from the database is 3, i would want to generate the next number which is 4 and filled it up in the PDF file through web service that i am implementing. Can you all provide me some guidelines on how to implement this method in my web service?
    Thanks a lot. I need it by today. Hope someone can reply this as soon as possible.
    Lim89
    Edited by: LIM89 on Apr 2, 2008 7:10 PM

    far simpler to use a sequence generator, which most databases support.
    Suggested method to get the max value in the column is NOT secure, unless you lock the entire table for update before you do so, which is a severe performance penalty.

  • Count 4th consecutive pulses from the analog output of the encoder

    Hi
    Iam getting analog output from the encoder and i want to count the 4th peak of the analog signal. Kindly suggest the best method Once 4th pulse is detected counter will increments.
    Pl refer the encoder output .
    Thanks
    Attachments:
    encoder sig.JPG ‏26 KB

    Whatever you've counted using your logic, divide it by 4 and convert it to an integer (towards negative infinity)..!!
    This should work.
    I am not allergic to Kudos, in fact I love Kudos.
     Make your LabVIEW experience more CONVENIENT.

  • Generate XML report from the database and send EMail - BPEL 10g

    Hello,
    I was looking for the solution to generate XML report with the values from databaseadapter (select result from any table ) this result can be hundred's of records.
    so I have to generate the xml report from the result I received from DBADapter and send an email with that XML. I am stuck with how to generate XML ? Can any one please help me.
    Thank you very much

    Hello,
    I was looking for the solution to generate XML report with the values from databaseadapter (select result from any table ) this result can be hundred's of records.
    so I have to generate the xml report from the result I received from DBADapter and send an email with that XML. I am stuck with how to generate XML ? Can any one please help me.
    Thank you very much

  • How do you control a 20-30A current cource with digital ouput from a PCI-6034E using LabVIEW?

    I know I have to use a relay of some sort, but I dont know how to modify an existing program to turn on a relay using a digital output, take some measurements and then turn the relay off again. Any suggestions would be grateful.

    You're right you need some reley to switch 30A on and off, and maybe an intermediate relay to drive the main one, since PC cards don't have the power to drive great loads (look at your card AND relay specifications...). Depending on the current ouput (you don't say us if AC or DC) and from your application you could use a SSR...
    For an application we are now developing with a 6035E, we have used an intermediate driver (ULN2003) to drive a small pcb relay and use his contact to drive a large relay for 150A DC current. (We tend to use intermediate drivers in order to achieve isolation from the field too, not only for power reasons).
    In the card's manual there is the connecting circuit for using digital pins as output (once you have configured them in MAX).
    In order to use it in LabVIEW you need to use the digital output vi (found in Data Acquisition/Digital I/O palette).
    Be careful while writing your software: some relays are very slow in actuation (I saw contactors for hevy DC current loads to take more than 50 msecs in opening and some time less in closing), and you must consider it in order to start using the output current after the contactor is effectively closed.
    Hope this helps a little...
    Roberto
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • Any way to generate trace report from the TKPROF formatted trace file?

    As titled.
    Is there any automatically way to make a report on SQL tuning report from the TKPROF formatted trace file(or from the dynamic performance views)
    Paul

    Dave,
    That's what report queries are for, take a look at shared components. Walk through the create report query wizard, and on the final page, you'll get a URL that you can use to integrate this with your page. You'll find the same URL when editing your report query afterwards.
    Alternatively, suppose you already have you report page, but don't want to always go there, you can just copy that report region print link (reference my answer to your previous question), and make that the target of a branch or from another page.
    Regards,
    Marc

  • How to safely disconnect the Reader Digital Book from the computer after using it with the Reader Library software.

    Solved!
    Go to Solution.

    WARNING: The Reader device should never be ejected under the following conditions or permanent damage to the Reader device may occur:
    NOTES:
    A data transfer is in progress
    Your computer is accessing the Reader device or compatible memory card inserted in the Reader device.
    A file in the Reader device or a compatible memory card in the Reader device is open.
    If you are not transferring any data and would like to disconnect your Reader device, click the eject button in the Reader (eBook) Library software. The message on your Reader device will now be USB connected and you can safely remove the connection or continue to charge.
    NOTE: If you have already closed the Reader Library software, you can use the Safely Remove Hardware feature of the Windows® operating system to disconnect your Reader device from the computer.

  • Problems generating multiple services from the same EAR using servicegen

    I have a single EJB JAR that contains multiple stateless session beans. I
    want to expose each of these individually as a service. So I have defined
    the following in my build file:
    <servicegen destEar="${ear.file}" warName="${war.file.name}"
    contextURI="web_services">
    <service ejbJar="${ejbc.jar.file}"
    targetNamespace="http://www.acme.com/xauto" serviceName="AService"
    serviceURI="/AService" includeEJBs="AService" generateTypes="True"
    expandMethods="True"/>
    <service ejbJar="${ejbc.jar.file}"
    targetNamespace="http://www.acme.com/xauto" serviceName="BService"
    serviceURI="/BService" includeEJBs="BService" generateTypes="True"
    expandMethods="True"/>
    <service ejbJar="${ejbc.jar.file}"
    targetNamespace="http://www.acme.com/xauto" serviceName="CService"
    serviceURI="/CService" includeEJBs="CService" generateTypes="True"
    expandMethods="True"/>
    <service ejbJar="${ejbc.jar.file}"
    targetNamespace="http://www.acme.com/xauto" serviceName="DService"
    serviceURI="/DService" includeEJBs="DService" generateTypes="True"
    expandMethods="True"/>
    <service ejbJar="${ejbc.jar.file}"
    targetNamespace="http://www.acme.com/xauto" serviceName="EService"
    serviceURI="/EService" includeEJBs="EService" generateTypes="True"
    expandMethods="True"/>
    </servicegen>
    I execute the task and it runs without issue. However, when I attempt to
    deploy the EAR I get some odd results (there are multiple jars listed all
    with my original name and then a number appended, for example MyApp.ear2).
    The deployment fails because each of these JARs contains the same session
    beans.
    So, I'm wondering if my only option is to package each session bean in a
    separate EJB JAR or if there is another way I could get this to work.
    Thanks,
    Rob

    Thanks, Neal. I'll do as you suggest.
    Just a little feature enhancement request, as well. It would be nice if the
    option existed to break out the webservices for all the session beans in a
    ejb rather than creating one all-encompassing interface of all the methods.
    I think this would be a useful feature.
    Thanks, again,
    Rob
    "Neal Yin" <[email protected]> wrote in message
    news:[email protected]...
    I am not sure what can cause this. But I will make servicegen check for
    duplicate.
    For now, in order to make sure your automatic build process, you can use
    ant's build in task "jar" to update your application.xml with a correctone
    after servicegen.
    -Neal
    "Rob Moore" <[email protected]> wrote in message
    news:[email protected]...
    Neal,
    After discussing this issue with a coworker, I found that when he buildsthe
    ear on his machine using the servicegen entries I specified previously,the
    application.xml is generated correctly. Mine, as you guessed, puts in
    multiple module entries all containing references to the same jar. I'm
    puzzled because we are apparently running in the same environment. Anyidea
    what might be causing it?
    Thanks,
    Rob
    "Neal Yin" <[email protected]> wrote in message
    news:[email protected]...
    Hi Rob,
    There is something wrong during generating application.xml for the
    ear.
    After servicegen, if you open generated application.xml, you probablycan
    see duplicate entries for one module. Please go ahead delete thoseredundant
    entries. Let me know if this works.
    -Neal
    "Rob Moore" <[email protected]> wrote in message
    news:[email protected]...
    I have a single EJB JAR that contains multiple stateless session
    beans.
    I
    want to expose each of these individually as a service. So I havedefined
    the following in my build file:
    <servicegen destEar="${ear.file}" warName="${war.file.name}"
    contextURI="web_services">
    <service ejbJar="${ejbc.jar.file}"
    targetNamespace="http://www.acme.com/xauto" serviceName="AService"
    serviceURI="/AService" includeEJBs="AService" generateTypes="True"
    expandMethods="True"/>
    <service ejbJar="${ejbc.jar.file}"
    targetNamespace="http://www.acme.com/xauto" serviceName="BService"
    serviceURI="/BService" includeEJBs="BService" generateTypes="True"
    expandMethods="True"/>
    <service ejbJar="${ejbc.jar.file}"
    targetNamespace="http://www.acme.com/xauto" serviceName="CService"
    serviceURI="/CService" includeEJBs="CService" generateTypes="True"
    expandMethods="True"/>
    <service ejbJar="${ejbc.jar.file}"
    targetNamespace="http://www.acme.com/xauto" serviceName="DService"
    serviceURI="/DService" includeEJBs="DService" generateTypes="True"
    expandMethods="True"/>
    <service ejbJar="${ejbc.jar.file}"
    targetNamespace="http://www.acme.com/xauto" serviceName="EService"
    serviceURI="/EService" includeEJBs="EService" generateTypes="True"
    expandMethods="True"/>
    </servicegen>
    I execute the task and it runs without issue. However, when I
    attempt
    to
    deploy the EAR I get some odd results (there are multiple jars
    listed
    all
    with my original name and then a number appended, for exampleMyApp.ear2).
    The deployment fails because each of these JARs contains the samesession
    beans.
    So, I'm wondering if my only option is to package each session bean
    in
    a
    separate EJB JAR or if there is another way I could get this to
    work.
    >>>>
    Thanks,
    Rob

  • How to generate digital pulses to run stepper motor in a sinusoidal motion profile using NI DAQ 6229 card

    Hi,
             I need to make a stepper motor undergo rotary oscillation with a sinusoidal motion profile. As it nears the extreme points it should decelerate and finally slow down to zero velocity and then it should reverse direction and accelerate until it reaches the other extremity where it should slow down and stop and reverse direction and repeat this motion.
            The hardware is NI DAQ 6229 and the stepper motor can be controlled using digital Hi-Low (1,0) pulses. For each high pulse(1's) the motor turns 1 step. I am able to generate a analog sine wave and convert it to digital data using Analog-to-Digital.vi  But i am not able to convert the digital data to a stream of 1's and 0's in the correct sequence to get the sinusoidal profile with the amplitude and frequency i require.
            The direction of rotation can be changed by giving a pulse to another input of the stepper motor. So only half cycle of sine wave needs to be generated and it can be replayed after changing the direction to get the full sinusoidal profile.
    Any ways of making this approach work or any new approaches to this problem would be helpful. Thank You.
    Regards,
    Prabu.
    Solved!
    Go to Solution.

    Hi,
             I finally figured out a way to do it. The analog sine wave is converted to digital and sampled. Consecutive values are compared and if the least significant bit(LSB) changes then a pulse is sent to the stepper motor to turn one step.
    I have included the sub-VI's that accomplish it for the particular stepper motor and connector block i have. The front panel of both sub-VI's are quite messy but the block diagrams should be much clearer. The sub-VI's get their inputs from a third VI which i have not included. So take a look at the VI connector panel to figure it out. Hope this helps. Kinda messy but worked out fine in the end for my application. 
    Thanks again for all the help. I appreciate it very much.
    Regards,
    Prabu Sellappan
    Graduate Student
    Aerospace and Mechanical Enggineering
    University of Southern California
    Attachments:
    start motor test waveform dtest.vi ‏73 KB
    sine profile generation subVI.vi ‏41 KB

  • Generate Digital Pulses BNC 2120

    Hello,
    I am new to LabView and I am trying to use a DAQ Assistant to generate a discrete number of digital square pulses to be fed to a stepper motor driver via BNC 2120.  But I don't know how to go about doing this.
    I had an idea that I would use a Timed Sequence with 2 frames, the first frame would have a DAQ in it, and there would be a 1-D array of Boolean (TRUE) input in to the "'data" field of the DAQ. 
    Then the second frame would have a DAQ in it, and there would be a 1-D array of Boolean (FALSE) input in to the "'data" field of the DAQ. 
    But like I said I am very new to LabView and so I don't know if this approach makes sense. Please offer some suggestions!

    Hi all.
    I am currently doing a final year project to run six stepper motors using labview. 
    I was using an arduino mega to control the motors. When I had wrote the program to control the motors realized I only had enough outputs to control one motor.
    Now I intend on using the BNC 2120 to generate the pulses to run the motors but I have no idea where to start. 
    Any help would go along way. 
    I am using 6 Digital inputs for each motor. i have attached the VI i am using
    thanks in advance
    Attachments:
    StepperMotor1 project.vi ‏28 KB

Maybe you are looking for

  • Having issues with starting Reports Server on RHEL5 after installation

    Hi, I installed Oracle Application Server 10.1.2 on RHEL, ran the patches to move it up to 10.1.2.3. I've also put a couple patches in addition. When I go to my application server console, I noticed everything is started up but my Reports Server. I'v

  • Touch screen unresponsive while charging

    The touch screen on my iPod touch 5 can be sluggish or unresponsive. I've isolated the problem to when I've got it plugged in to charge and the charge is complete but I've not unplugged it. I'm using apple charge cord. Has anyone else had this proble

  • TSQL working in 2008 but not in SQL Server 2014

    Hello, We recently have been asked to move from SQL Server 2008 to SQL Server 2014. We are trying to run parallel tests and one of our queries that was working perfectly in 2008 is not working in 2014. One of the filter on the our query(from 2008) is

  • Getting my music b

    i have a creative nomad jukebox 0gig and I'd like to retrieve the music files I've got on there and put them on a newer mp3 player. I don't have the Creative Center CD the player originally came with and I would greatly appreciate anyone who could he

  • SRM: How to be find for Confirmed base on Delivery Date

    Hi In SRM 5.0, would anybody here know what's the function module that retrieves the list of to be confirmed documents based on delivery date? Thanks! Cindy