Retriggerable one shot - polarity change

I'm using a NI-6602 to create retriggerable, one-shot generation on 4 channels. I can get the correct pulse generation for low to hi to low polarity, but simply changing the high to low on the idle state does not invert the signal. I'm using the DAQmx Create Channel node, and my counters are all synchronized, but the program doesn't create the correct output.  Any thoughts?  Thanks.
Marshall

Yeah, the method for reversing polarity was one of the quirks of moving from Trad. NI-DAQ to DAQmx.  Under the traditional drivers, you defined a pulse as a delay interval followed by a pulse interval.  You didn't explicitly set a high time and a low time.  The counter would be in its idle state during the delay and in active state during the pulse.  To define polarity, you would set a single parameter (I don't remember the syntax anymore...), and then the driver would figure out how to map from delay/pulse to low/high.
I think the high time / low time terminology of DAQmx is more universally understandable, but there are occasions where it slightly complicates the configuration of output pulses.  A couple careers ago, I was putting together apps for automatic motor testing that often used a PWM-based speed control.  Some motors had active high PWM and others were active low.  In traditional NI-DAQ, this was actually a little simpler to accomodate than if I were doing it now with DAQmx.  Not that I want to go back or anything -- DAQmx's advatages far outweigh the relatively few inconveniences.
Sorry for the ramble, we now return you to our regularly scheduled inquiries...
-Kevin P.

Similar Messages

  • Non-retriggerable one shot utilizing While Loop

    Hello,
    I would like to generate a non-retriggerable pulse (long - 5 to 10 minutes) from the rising edge of an asynchronous pulse (short - 1/2 to 1 sec). I do not want the short pulse to retrigger the long one. In fact if this happens I would like to flag it as an error.
    I am running LabVIEW 6i Real Time on an PXI-8170 controller with a 6071E DAQ board.
    I have a hardware timed 1ms While Loop that I would like to use for the timing. Can this be done without using Global or Local Variables? I have been trying to figure out a way to use shift resgistars to avoid the possibility of the "i" terminal rolling over.
    Any ideas, comments or suggestions much appreciated.
    Attached is my vi.
    Thanks
    Hans
    Attachments:
    DCPS_PROTO.vi ‏225 KB

    Hans,
    Unfortunately I wasn't able to open your VI but I will give you my suggestion anyway.
    As you probably have noticed, the counters are not capable of generating that long pulses, so that leaves you with the options of digital or analog output.
    The digital I/O on the E series devices doesn't support any handshaking, so you would have to generate a DAQ event from your trigger and then write to the port.
    You can trigger the analog output operation with a digital pulse and reset the output value when your timer loop reaches a certain value. You don't necessarily need to use a local variable to pass this information out of the loop (assuming you want to keep the loop iterating). The LabVIEW occurrence is a nice way to implement it (under Advanced -> Synch
    ronization palette).
    It's going to take almost 25 days for your iteration terminal to roll over at 1 ms iteration. When it does the output from the terminal stays at the maximum value, 2147483647. If this is a problem you can check for the terminal value and when you reach start counting the following iterations using a shift register.
    Kai

  • Select each page's text frame in one shot and resize them

    Hello, I want to make a 400 page text book. How can I select each page's text frame in one shot and change their size simultaneusly? (each text frame has same size per page)

    Make a backup copy of the file incase something goes wrong, then:
    Make sure the frames snap to the margins on all sides -- change the margins on the applied master page to achieve this, if necessary.
    Enable Layout Adjustment (Layout > Layout Adjustment...)
    On the master page change the margins to be the size you want the new text frame dimensions to be.
    If, for some strange reason, you don't want to use these margin settings in the layout, turn OFF layout adjustment and reset them on the master page again to what you want.

  • How do i select a whole heap of bands and change there genre in one shot .

    how do i select a whole heap of bands and change there genre in one shot like old itunes, before i was able to hold ctrl and select all the bands, now i have to do it individually or go to songs and select them individually.
    ctrl or shift doesnt do anything anymore.
    thaks for your help.

    Use the Songs or List views.
    tt2

  • One shot (Single shot) mode for LM3S8962

    Hss anyone successfully programmed a one-shot output pulse with an external interrupt?  I am trying to program a one-shot output .  I know that the input trigger is on CCP0.  I am trying to understand how I can control an external pin to put out an accurate one-shot pulse, or will i just have to just use elemental I/O when servicing the interrupt?    
    I looked at this link already:
    http://208.74.204.114/t5/LabVIEW-Embedded/Programm​ing-timer-A-in-LM3S8962/m-p/1076794#M2113
    I tried this:
    I changed the TimerConfigure to "OS", but it still is periodic.  I also used the timer config vi's to try to change the operation from periodic to single shot, it does not seem to work.
    I am about to try this:
    Thanks, George
    P.S.  I used an external trigger to generate an interrupt.  In the interrupt, i turn on an elemental I/O bit, then I use an empty for-loop to do a delay, then i turn off the bit.  If the external interrupt is asychronous, I get dither in my output pulse.  If I use the internal PWM module and use this as the interrupt, then the output pulse is stable.  It doesn't make sense.......

    Try using OmniDazzle to help draw attention to what you want:
    http://www.omnigroup.com/products/omnidazzle/

  • Help with a One-Shot Multivibrator

    Ive beem  asked to create a LED that turns on  with a press of a button for a certain amount of time, 
    so far so good, code works and everything is great, now Ive been asked to add a noise filtering unit, 
    in the entrance of the one-shot.
    I dont have a basic clue on how to begin with it, the hint i recieved was , this about how LPF works.
    Now I know it transfers frequencys up to a certain value, but what know?
    Thanks 

    A true LPF would not only debounce, but also de-glitch.  That means if you could somehow press and release the switch faster than the LPF time constant, it would not trigger the monostable.  For debouncing, you typically don't really need this because you actually do want to respond to the button press and as quickly as possible.  Making the one-shot non-retriggerable is already good enough to handle bouncing on switch press.  You would need some other method of debouncing to handle bounce on switch release.  Otherwise if you held the switch on longer than the monostable time constant, you could retrigger when you release the button.

  • How to delete multiple InfoObjects in one shot?

    Hello Experts,
    Is there any way to delete a bunch of InfoObjects / ODSs in one shot?
    Scenarios:
    1. We have thousands of custom IO which are no use any more and we want to get rid of these IO to save space. How to do it?
    2. We have thousands of custom ODS too which need to be deleted. We want to delete ODS which are not used any more and also the InfoObjects in ODSs which are not used by any other ODS or any other places. How do I do that in one shot?
    BTW way our BW is 3.1 version but will be upgrading soon.
    Regards,
    Mau

    Hi,
    goto RSD1 and mark the option "Free Selection of IObjs"
    Hit the Maintain button In the next screen Select your IObjs to be maintained (at this stage the system will lock the selected IObj !!)
    In the next screen mark the IObjs you want to delete
    Then Menu Characteristics / Delete (shift + F2)
    this should work.
    Alternatively, try developping an ABAP based on function module RSDG_IOBJ_MULTI_DELETE.
    hope this helps...
    Olviier.

  • Close all the open Application in one-shot ?

    Is there are any way to close all the open application in one shot in ipad rather than double-click the home button and close the apps one by one.

    In principle, I agree with you...
    But it appears that reality is not perfect. I observed on iPhone 3 that memory could be pretty clogged from time to time and I needed to restart it to free up memory and get it back to original speed again. It all depends on which apps you are running. Some appears to eat more memory than others. On iPhone 4, it appears to be less of a problem and I have seen that later iOS releases also makes this less of a problem. I only have a first generation iPad, but I have seen that later iOS releases have improved memory handling significantly there as well. However, it appears to be a good idea to reboot the device after a week or two just to flush the memory. I can't prove this theory scientifically, but I do see a difference in memory usage when doing this.
    The reason I actually tried "Process Killer" was a tip that it addressed the problems many of us encountered with the first iOS 5 release: frequent crashes and slow performance. After the pretty quickly released iOS 5 update, that wes pretty much solved, but occasionally killing processes actually helped me at that point, It made both my devices more stable.
    The original question was about battery performance, there I don't think that the amount of processes running is the key. A much better way of getting more out of your battery is shutting off location services in apps where they are not really needed. I would guess that turning off push notofications for as many apps as possible helps as well.
    Also, turn off the Personal Hotspot on iPhone when it's not needed!

  • Deletion of multiple sale orders at one shot

    Hi Friends,
    Can anyone tell me how to delete multiple sale orders at one shot?
    Friendly
    Rama Rao

    Hi
    Try doing it through LSMW, I used LSMW for deleting deliveries in mass and it worked
    Anurag

  • Is it  possible to change the name of a photo in one album without changing the name in other albums?

    I use the photos in events to create more than one album and I want to use a unique name in each album. When I change the name in one album, all instances of the photo also change.

    Correct. Albums just reference the photos in an Event - it's why a pic can be in 50 albums and use no extra disk space. So, change one and you change all. The alternative is to duplicate the pic in the Event.

  • Fetch the characteristic of multiple  BATCHs in one shot

    Dear Expert,
    I am facing performance issue in custom report and on analysis i have found that this because of  calling the function module 'CLAF_CLASSIFICATION_OF_OBJECTS' in loop to get batch characteristics .
    Report is calling the function module  more than 60,000 to get batch characteristics.
    Is there any function module, BAPI or any class to get the all batch characteristics in one shot instead of calling individual batch .
    Thanks & Regards,
    Arun

    Directly fetch characteristic values from AUSP table instead of using FM in Loop.
    Thanks,
    Anmol.

  • How to put 58 columns of data into an array in one shot?

    I have a set of data with 58 columns and 5000 rows. However, I need to find offset for all the elements in this 5000x58 set of data. Is there an easier way to put all the data (offset) into an array in one shot other than using build array function? This is because if I use the build array function, I will need to separate all the data into 58 columns by indexing them. This is too time consuming.
    Thanks for the suggestion! Have a good day!

    VanessaWen wrote:
    I have a set of data with 58 columns and 5000 rows. However, I need to find offset for all the elements in this 5000x58 set of data. Is there an easier way to put all the data (offset) into an array in one shot other than using build array function? This is because if I use the build array function, I will need to separate all the data into 58 columns by indexing them. This is too time consuming.
    You need to explain in much more detail, because your problem is not clear.
    Is this a 2D array with 58 columns and 5000 rows?
    What is your definition of "offset"?
    Where does the offset value come from?
    Is "offset" it the same for each row (or column) or does it depend on the data?
    What is the definition of "one shot"?
    Why would you need to seperate all the data into columns in order to use build array?
    It it "too time consuming" to write the program or is the execution slower than expected?
    Is the final output a 1D or 2D array or something else?
    Please attach a VI containing a small 2D array diagram constant with typical data, then show us what kind of output you would expect after applying the described operation.
    LabVIEW Champion . Do more with less code and in less time .

  • Greying out multiple fileds in one shot?

    Hello,
    I am developing a interactive form (visitor info form) with webdynpro ABAP.
    In the initial screen of my_webdynpro, there are couple of radio buttons, US, Europe, Asia.
    If user selects US radio button: I have to greyout & readOnly the below 4 input text fields (pls. note these input fields are SCATTERED all around the FORM at different positions, subforms, pages, corners)
    VISITOR.Page_1.Subform_1.TextField_4.fillColor = "192,192,192"
    VISITOR.Page_1.Subform_6.TextField_17.fillColor = "192,192,192"
    VISITOR.Page_4.Subform_13.TextField_24.fillColor = "192,192,192"
    VISITOR.Page_5.Subform_21.TextField_31.fillColor = "192,192,192"
    If user selects Europe radio button: I have to greyout & readOnly the below 3 input text fields
    VISITOR.Page_2.Subform_23.TextField_21.fillColor = "192,192,192"
    VISITOR.Page_4.Subform_35.TextField_37.fillColor = "192,192,192"
    VISITOR.Page_5.Subform_39.TextField_41.fillColor = "192,192,192"
    I can achive my requirement, by writing the below code at input text field LEVEL
    if (this.rawValue == "US")
    then
    VISITOR.Page_1.Subform_1.TextField_4.fillColor = "192,192,192"
    endif
    As its tediuos, code redennecy, I want to do all US stuff (greying out all 4 fields) IN ONE SHOT, pls let me know is there any option for me, i guess GROUPing will not work for me?
    Thank you

    Hi,
    First of all, instead of greying out the fields, you could make them Read Only in this way..
    TextField1.access = "readOnly";
    To make them editable again, you could use
    TextField1.access = "open";
    As for your current problem, I think there is some amount of code that has to be repeated..
    But I have small solution in mind. Maybe it would be useful.
    1) Create 3 hidden text fields - one each for the radio button value.. (US, Europe, Asia etc)
    2) As soon as the radio button is selected, set the corresponding hidden text field to readOnly or open accordingly..
    3) In each of the text fields's 'Calculate' event , write the following script.
    this.access = Hiddenfield_US.access;
    Regards, Amith

  • Deletion in one shot.

    Hi Guys,
    i hava requirement after a condtion check ...if it becomes true ..i have to delete all the rows from that table.
    can any body suggest me the statement which do this..
    i got syntax from documentation like this.
    To DELETE all the lines..
    where condition must use a itab which is empty..
    then u r able to delete all the lines in one shot..
    But i need a simple soltuion.
    any body help me plz.
    i appreciate ur help in advance.

    strange....
    read this...
    DELETE dbtab - cond
    Syntax
    ... WHERE sql_cond.
    Effect
    The WHERE addition uses a logical expression sql_cond to specify which rows in the database table are deleted. The same applies to the logical expression sql_cond as for the WHERE condition of the SELECT statement. If there is no row in the database that satisfies the WHERE condition, no row is deleted and sy-subrc is set to 4. <b>If no WHERE condition is specified, all rows are deleted.</b>
    Note
    As of Release 6.10, specifying the WHERE condition is optional. Prior to Release 6.10, you had to specify the WHERE condition in this variant of the DELETE statement and you could not use dynamic logical expressions.

  • Not allow more than one person to change program

    Hi All,
    My requirement is that i want to change details of purchase order in module pool programming. I dont want more than one prson to change the same purchase order at the same time. Can someone tell me how can i achive this.
    Regards
    Shilpa

    Hi Shilpa,
    Is this a Z module pool or you are talking about the standard.
    If it is Z module pool create a new lock object of type exclusive or look out for standard lock object for purchase order in SE11.
    after generating the custome lock object SAP would generate 2 function modules 1) Enqueue_<lock object name> (Request lock) 2) Dequeue_<lock object name>(Release lock).
    call these lock FM'S in your module pool likely in the PBO call the Enqueue FM and process your transaction and finally by the end of the transaction call the Dequeue FM to release the lock locked.
    I believe you can try with the lock object 'EMEKKOE'
    Hope this helps you.
    Thanks and Regards,
    Ranjith Nambiar

Maybe you are looking for