Counter as divider and acquisitioin trigger

Hi!
I would like to do the following in LabView (7), using a PXI 6030E in a PXI (1010) chassis. (If neccesary I'll get a PXI6602).
I would like to have a counter counting down from N, and then generating a pulse, or a trigger on an RTSI line, which starts an analog acquisition on the 6030E. The counter meanwhile has to reload to N and start counting down again. To put it another way, I need a configurable frequency divider which triggers an acquisition. The process needs to be done in hardware as much as possible, because I cannot afford to re-initialize the counter programatically each time it gets to zero. I was planning to use the 6030E's own counter/timers, but the chances are we'll get a 6602 because we need more c
ounters.
Here's your chance to earn my eternal gratitude...
Thanks,
Walter Tansini

Walter,
Although it is possible to load an initial count into a counter, it is not possible to have this value reloaded each time terminal count is reached. You could try using the Z-index functionality of an NI-TIO counter (NI 660x), but I have another idea that may provide the behavior you desire, and it can be accomplished with your PXI-6030E. You should configure a counter to perform pulse train generation. The signal you want to count should be specified as the source of the counter. You should then specify "raw" pulse specs for your pulse train. This will allow you to specify how many pulses of your source signal constitute the delay and pulse width of your pulse train. The shipping example Generate Pulse Train (DAQ-STC).vi demonstrates how to prog
ram this task.
Good luck with your application.
Spencer S.

Similar Messages

  • Quadrature counter dividing and triggering

    I'm currently looking into using an NI USB 6353 device in a project, and I'm confused about its capabilities. Here is what I'm trying to achieve:
    1. Reading an A/B (no Z) quadrature input to increment/decrement a counter (preferrably in X4 mode).
    2. Produce a digital output signal with transitions on each counter increment/decrement.
    3. Frequency dividing the counter transitions to produce a digital signal used to trigger various external hardware. The divider should be specifiable (probably around a few thousand).
    4. Using another frequency divided version of the counter to trigger simultaneous analogue/digital sampling on the device.
    5. Have the ability to make the counter time based (just incrementing at a set frequency), rather than using the quadrature input. The resulting signals should all still be divided and output correctly.
    Being able to use the digital outputs on the device independently (on demand, timing isn't particularly important here) would be great, too.
    Is this possible using the DAQmx C or C# API? Are there any other devices I should be looking at?

    Hi Matthew,
    Matthew S wrote:
    Wouldn't the change detection mean that I couldn't sample the digital input lines at a divided rate? Or can I simply implement the change detection using a single DIO port and still have the remaining DI lines to use?
    I'm glad you brought it up--I guess I overlooked that you were planning to use clocked DI.  If you're using DI change detection you cannot sample the DI lines off of another clock source.  Unfortunately, port 0 is the only port that supports change detection (even though the manual currently implies otherwise) as well as the only port that supports clocked DIO.  You can still do static DI on other lines, but the clocked DI subsystem can only have one timing source.  You can always oversample your DI using the change detection, then index out 1 out of every N samples in software (the DI should be good at rates of up to at least 1 MHz continuously).
    Matthew S wrote:
    It sounds like the X-Series can do what we need. We'll probably stick with the 6353, because we need at least 20 analogue inputs, and sampling rates of at least 1MSps.
    Keep in mind the 6353 is multiplexed--the aggregate rate is 1 MHz, but sampling 20 lines at the same time would only give you 50 kHz per channel.
    Matthew S wrote:
    I'm slightly confused as to how to use the change detection to implement what we want. Essentially, we'd like to take the X4 quadrature input and convert it to a step signal (as in, step/direction) that will be used to control a hardware variable antialiasing filter. Will this require another counter? If this can't easily be done on the USB DAQ device, we can do it using external hardware.
    You can get the step from your x4 encoder with change detection easily enough, but I don't think there is a good way to get the direction as an external hardware signal.  I think the better option is to use a flip flop to latch the encoder state (either latch A using B as the clock or vice-versa) to obtain the direction.
    Matthew S wrote:
    How hard is it to get the direction and also speed (or frequency) of the
    original quadrature input for each AI and DI sample taken? I assume
    that the frequency measurement would require another counter? How about
    direction?
    If you're using a latching circuit to output the direction, you could just sample this off of one of the DI lines (assuming you have one available).  To measure the frequency of the encoder, I suggest looking into the method described in Figure 7-15 of the X Series User Manual to use another counter to measure the frequency of either A or B.  During each sample clock period the counter counts the number of encoder pulses as well as the number of internal timebase ticks that occurred during those pulses.  The driver uses this information to return the average frequency of your signal in between sample clock pulses.
    So... you were right to have some concerns about using change detection alongside clocked DI.  You'll have to pick one or the other--I think I'd prefer to oversample DI and throw away samples, depending on the maximum frequency coming from your encoder.  Also of concern is the number of counters (there are 4 available on the board).  In addition to the 4 counters, keep in mind taht there is a Frequency Generator that can be used to output specific frequencies:
        {20 MHz, 10 MHz, 100 kHz} / {1:16}
    Please don't hesitate to post back if you have any questions--there's alot you need to do so you might have to make some compromises.  We're starting to get into territory where an FPGA might be more suitable for your digital requirements.
    Best Regards,
    John Passiak

  • How to use counter as an start and stop trigger in 6009

    Hi ALL.
    I'm using USB 6009 as a subject of to acquire data.
    I would like to know on how to use the counter digital input as a start and stop trigger. 
    The acquisition will only start when the first pulse of the digital signal is received and it will stop when the desired number of pulse is received.
    I was trying to use the VI as attachment as my reference. However, after tried, the VI is not working for USB 6009 as the counter input cannot be used as a trigger.  
    I would be happy if anyone could suggest me some ideas on this matter.
    Thanks.
    Attachments:
    DigitalStartandStopTrigger.vi ‏32 KB

    Hi Kate. 
    Thanks for your response.
    For your information, I've design my VI using the counter method. However, it doesnt work well. Please see the figure below. The file also attached with this reply.
     At first, the first counter from Device 2 will start counting. If the counting equal 0, then the acquisition for Device 1/AIO also the counter of Device 1/ctr0 begin acquiring data and counting the edges respectively.
    However, when I did the test, it doesn't work as wanted. It is happened because when counter of device 2 in not equal to 0, the acquisition for Device 1 not happened as it will go to false state.
    Is there anything that someone could suggest on how to start the acquisition for device 1 only and if the counter of device 2 is equal to 1. I would like the acquisition of device 1 start only when the counter of device 2 is equal to 1. I cannot use the trigger as 6009 is not support for it. 
    -Fird- 
    Message Edited by Fird on 07-02-2009 04:28 AM
    Attachments:
    Acquire Data Test 4.vi ‏27 KB

  • Start and Stop Trigger using PXI-6120 and DigitalSta​rtAndStopT​rigger.vi not working :-(

    Hello,
    I've been trying for a while now to get my PXI unit to capture a waveform between a Start and Stop (Reference) Trigger using the NI example DigitalStartAndStopTrigger.vi downloaded from the NI website. However, whilst the start trigger and stop trigger seem to be working i.e. the VI runs and stops at  the correct times there is never any data read from my DAQmx compatible PXI-6120 card. So I can see the VI is running around the aquisition loop but the Property Node AvailSampPerChan is always returning zero... this has me slightly puzzled. I thought this might just be a driver issue so I've updated my box to the following software versions (see below) and installed the latest drivers e.g. DCDNov07.exe (also from the NI site) but nothing has changed.
    my software as of now.
    Labview 7.1 (with the 7.1.1 upgrade applied)
    Max 4.3.0.49152
    DAQmx 8.6.0f12
    Trad DAQ 7.4.4f7
    before I updated I had the same problem but with the following versions:
    Labview 7.1 (with the 7.1.1 upgrade applied)
    Max 4.2.1.3001
    DAQmx 8.5.0f5
    Trad DAQ 6.9.3f4
    So to cut a long story short I still have the same problem with the triggers... does anybody have any ideas what is going wrong?
    To add insult to injury it the traditional DAQ example ai_start-stop_d-trig.vi was almost working correctly before I did the upgrade. It had the strange behaviour of capturing the AI0 channel but on the wrong edges (e.g. if I set Start on Rise and Stop on Fall it would do the opposite, Start on Fall and Stop on Rise).
    I'm going to leave my box doing a mass compile over night but i'd really like it if someone could suggest a solution or point me in the right direction.
    Many thanks,
    Mike

    Hi Graham
    I'm out of the lab today but I'll try and answer your questions as best I can...
    1) What are the values you have set for Buffer size, Rate, samples per read and post trigger Samples?
    At the moment I have all the values (e.g. sample rate, buffer size etc) unchanged apart from the ones I mentioned in my previous post (see above). I have in the past played around with changing the buffer sizes and rates in the example VI but as this appeared to have no effect on the behaviour I now have them setup as in the download.
    2) Does the program end after the stop trigger is implemented?
    Yep, if I toggle the trigger line high then low I see the program exits the read loop and the VI stops running as expected.
    3) Lastly can you give me the details of triggering method. Are you
    using a digital train of users set digital pulses? how long is the
    program running.I'm using the WriteDigChan.vi to manually toggle the first digital line of the PXI-6733 card which is wired directly to PFI0 of the PXI-6120 card. Generally, I just start the VI running  and then toggle the line high, wait a couple of seconds and then toggle it low.
    To me it all looks like it should be acquiring samples but as I said yesterday it just refuses to fill the buffer with any data (and hence no samples are read).
    Any ideas? and thanks for you help,
    Mike

  • Link between Delivery schedule line counter from PO and the material docume

    Dear Gurus,
    I have one PO with single line item having delivery schedule -
    Material 1 -
    delivery schedule 01.01.2009     2000
                                                         01.03.2009    5000
    I have received quantity against this Po
    I want to know where I can find the link between Delivery schedule line counter from PO and the material document
    Best regards
    Sar

    There is no link from the MAterial document line item (Table Mseg) to the PO Schedule Line (EKET).
    If this is for Evaluating an on time delivery or GR, you may consider the following approach.
    PO details Po Date  QTY
    Sch1   01Jun2009   200   
    SCH2  08Jun2009   100
    GR Details
    GR1   01Jun2009   180
    GR2   07Jun2009   110
    GR3  09Jun2009      10
    Calculate a *** total qty for the PO Line.
    PO details Po Date  CUMUL QTY
    Sch1   01Jun2009   200   
    SCH2  08Jun2009   300
    Calculate a *** total qty for the ontime GR.
    PO details Po Date  CUMUL PO QTY  CUMUL GR on time
    Sch1   01Jun2009   200                180
    SCH2  08Jun2009   300                 290 (180+110)  the 3rd GR was too late
    Evaluate the PO SChedule Lines as follows:
    Po SCL qty + CUMUL GR QTY - CUMUL PO QTY = ADJ GR ON Time Qty
    SCH1 01Jun2009
    200 + 180 - 200 = 180 on time for 01Jun2009 date ( 90% fill rate)
    SCH2 08Jun2009
    100 + 290 - 300 = 90 on time for 08Jun2009 date (90 % fill rate) the first 20 of the GR on 07Jun2009 went to fill the late, early date.
    Best of luck !
    SCH2 100 +290 - 300 = 90 on time for 07Jun2009 date

  • How can I create software start and stop trigger in LabView using 6023E series DAQ card? I don't want to use the external trigger.

    I am using 6023E DAQ card to collect the signals, such as AE, Force, Torque from the machine. I want to collect only some part of signal for example between start triger and stop trigger. I'd like to know how I can creat those triggers in LabView from one of the channels that I am acquiring at the same time. I found one or two library file that is only for start trigger. I know that this is availabe in some of DIAdem functions. Please let me know if you have done some example for this requirement.

    If you are wanting to create a software trigger based on an analog input voltage in LabVIEW, there are several options. One suggestion would be to compare the voltage values from one input channel to a number within a loop. If the input voltage crosses that threshold (is greater than the number), have a case statement that will acquire data from the other channels. This would simulate a software start trigger in LabVIEW.

  • Using Java Embedding Unzip Code and a Trigger File in a BPEL Process

    Hello,
    Thanks in advance to anyone that contributes with any insight.  It is much appreciated.  Having said that I will get to the crux of my problem.
    I am currently using Oracle 11g.  I have created a SOA composite application that incorporates BPEL and Java.  I have the code needed to unzip and extract compressed folders.  However, when this was first built out using BPEL it automatically created a web service in the "exposed service" lane and not a file adapter which I believe is needed in order to trigger the process via a start.txt file for example.  Based on what I know ... this web service automatically connecting to the BPEL process was simply due to the order of operations, etc.  So by creating a 'read' file adapter first and then creating the BPEL process and selecting the template "Define Service Later", it does not automatcially connect the web service to the BPEL process and it will allow me to connect a file adapter to this BPEL process instead ... great.  When opening up the BPEL file I then connect a recieve component to this file adapter and configure appropriately.
    Essentially, my objective in setting up a trigger to start this unzip process is due to the BPEL process before that outputs or writes the .zip folder to the same directory that I want to poll and/or trigger via a start.txt file.  I can get this process to work with a webservice connecting to the BPEL process and by using a Java Embedded in BPEL file, which in turns calls the package/ class that has the java code needed to unzip.
    For some reason whenever I try to use a file adapter instead of the native web service that gets created (as mentioned above) it doesn't work.  It seems to build or compile just fine however, I am getting errors when I try to deploy.
    Note:  The Java code contains all the paths where the zip file is to be taken from and extracted to.  So because this is in the code I don't need the file adapter to handle this.  I just want to use the file adapter so that I can trigger the process via start.txt or something of that nature.
    Thanks to anyone that has any suggestions.
    Kind Regards,
    Kevin
    Errors when attempting to deploy are as follows:
    [04:12:54 PM] Error deploying archive sca_Job2_UnZip_rev1.0.jar to partition "default" on server soa_server1 [http://WN017A.homedepot.com:8001]
    [04:12:54 PM] HTTP error code returned [500]
    [04:12:54 PM] Error message from server:
    There was an error deploying the composite on soa_server1: Deployment Failed: Error occurred during deployment of component: BPELProcess1 to service engine: implementation.bpel, for composite: Job2_UnZip: ORABPEL-05250
    Error deploying BPEL suitcase.
    error while attempting to deploy the BPEL component file "H:\Oracle\Middleware\user_projects\domains\Dev_Acorde\servers\soa_server1\dc\soa_d78eb301-314c-422a-a748-bcfe7d0906e8"; the exception reported is: java.lang.RuntimeException: failed to compile execlets of BPELProcess1
    This error contained an exception thrown by the underlying deployment module.
    Verify the exception trace in the log (with logging level set to debug mode).
    [04:12:54 PM] Check server log for more details.
    [04:12:54 PM] Error deploying archive sca_Job2_UnZip_rev1.0.jar to partition "default" on server soa_server1 [http://WN017A.homedepot.com:8001]
    [04:12:54 PM] ####  Deployment incomplete.  ####
    [04:12:54 PM] Error deploying archive file:/C:/JDeveloper/mywork/Job2_UnZip/Job2_UnZip/deploy/sca_Job2_UnZip_rev1.0.jar
    (oracle.tip.tools.ide.fabric.deploy.common.SOARemoteDeployer)

    Just wanted to provide a screenshot of the BPEL file as supporting documentation to better illustrate my issue.
    Thanks so much,
    Kevin

  • Sync play count, last played, and rating with iOS 5

    From other threads (https://discussions.apple.com/message/16563011#16563011 and https://discussions.apple.com/message/16505730#16505730 for example) it is clear that there are some problems with play count, last played, and rating information updating and syncing under iOS 5. I have at least a partial solution. I am posting it here instead of under one of the existing threads because 1) some discussions seem to be confusing the difference between updating the iOS 5 device data and syncing the updated data to the computer, and 2) some of the discussions are focused iPhone, and though the problem appears similar I only have an iPod touch to test the solution on.
    First of all, this is not a new problem. Prior to iOS 5, I would plug my iPod Touch into the computer and not see any play count or last played data for songs I knew I had just listened to. I discovered that if I clicked (in my computer's iTunes display of the iPod) on one song that I had recently listened to, it would suddenly display play count and last played for all the songs played since the last update. I could then transfer this playlist data (more on this in a minute) to the corresponding songs on the computer. Under iOS 5, this no longer works, and in fact causes the new play count and last played data on the iPod to be lost. However, under iOS 5 there is a way to get this information to update, even though you don't see it when you first connect to the computer.
    To make this work, you have your iPod set on Manually manage music and videos under the Summary tab of the iPod settings in iTunes. I have messed around with this for hours, including several restores and resets of my iPod touch, and have found no way to get this to work under various Sync Music options. I have been using the Manually manage mode for years because I use my iPod with numerous different iTunes Libraries on several different external hard drives.
    Here's the trick: Manually manage must be in effect before you connect the iPod to the computer. After your iPod shows up in the iTunes interface on your computer, in the main view (where it shows the different tabs at the top and capacity at the bottom) there is a Sync button at the very bottom right. Click on this and wait for it to go through the Sync steps (don't worry, you're not losing anything), and, voila, when you go to the songs (on the iPod) you have listened to since the last time you connected to the computer, the play count and last played data will be there.
    Unfortunately, it's not a simple matter to get this data synced to the computer, but it can be done. At first I thought that once I got the data to show up on the iPod I could go to the Music tab and Sync Music to get the playlist data to the computer, but this does not work. It will sync the play count and last played data that are on the computer to the iPod, overriding the newer data. The way I have been getting my playlist data from my iPod to my computer without ever changing the Manually manage setting is by using the Copy Tag Info Tracks To Tracks script from Doug's AppleScripts for iTunes <http://dougscripts.com/itunes/scripts/ss.php?sp=copytinforackstotracks>. This isn't hard to download or install or use and copies playlist information very quickly.
    I have never had a problem with play count or last played on my 2nd generation nano, which still works beautifully. As far as I can tell, play count and last played have never worked well on the iPod touch; there are threads in discussions complaining about this from years ago. It would be nice if Apple would recognize that these are extremely important features to many users and make it a priority to make these basics work before (or while) adding a lot of other fancy features.

    Just for posterity in case anyone else ever has a similar problem.
    I found out I can work around my problem, but I have limitations. The only time it'll update the correct songs is after I restore it and then add the initial songs on to the Shuffle. The key is to not ever have a situation where I reshuffle the order of those songs. If I ever shuffle to better alphebatize or categorize things, the sync updating screws everything up. If say Song #3 on my Shuffle's playlist after the intitial transfer gets moved around to being anything other than the third song played, my Shuffle/iTunes will still think that song has been played although the Song #3 I actually listened to after the sync update will be different. Now I have to carefully compose and place what songs I want loaded on since I can't mess around with the playlist setup at all.
    I know Apple support would likely blame my Shuffle for the problem (it's over 6 years old now). But it's funny how this only happened right after I installed 11.0. The update to 11.0.2 did nothing.

  • I rest my iphone 4 now it told me to connect to itunes I did that it restored and everything but it still saying counted to itunes and my computer shows a error

    I rest my iphone 4 now it told me to connect to itunes I did that it restored and everything but it still saying counted to itunes and my computer shows a error

    iOS: Unknown error containing '0xE' when connecting to a Windows PC
    iTunes: Possible iTunes Store errors
    Resolve iOS update and restore errors
    I don't see that error code in any of the apple support links.

  • How can i use an ao card (pci 6723) to output data and to trigger an ai o acquire the data coming from the ao card?card (pci 6254) t

    Hello
    I am trying to perform AO (pci 6723) and to trigger my AO card (pci
    6254) to read the data coming from the AO card. I am using LV7,1,
    win2000.
    Is an RTSI cable necessary or I can connect the trigger signals externally ?
    I am using the LV example " multi function - synch ai-ao.vi" but i can't for some reason configure the trigger lines.
    thank you in advance for your time.
    Yiannis

    Hello Yiannis,
    If I understand you correctly, you want to synchronize your analog input and analog output that are started by a trigger on the analog input board. If you don't want to use the RTSI lines, your best bet is to export the AI Sample Clock and then read it in to the AO board. There is an example on ni.com called DAQmx - Synchronized AIAO Shared Clock. It appears to be having techincal issues so I have attached the example below. To export ai/sampleclock, use DAQmx Export Signal.vi after Get Terminal Name with Device Prefix.vi. Export Sample Clock to PFI3 (There are only connections between the sample clock and PCI3/4/8/9). Connect PFI3 on your AI board to PFI0 on your AO board (with a wire). Then change the source for the AO Timing.vi to Devx/PFI0. If you want to do triggering, stick the DAQmx Trigger.vi between the Timing property node and the DAQmx Start.vi on the AI task. I have shown how to do this in the modified version below. Please take a look at it and let me know if you have any questions. If you still get an error please take a screenshot of it and post to the forum. Have a great day!
    Sincerely,
    Marni S.
    Attachments:
    Synchronized_AIAO_Shared_Clock[Modified].vi ‏140 KB

  • Passing of old and new trigger details to a generic function or procedure

    Hi all.
    I have a requirement to pass all the new and old column information from a database trigger ( for the purposes of this discussion, it will be a before row, insert, update and delete trigger) to a procedure/function ( either is fine).
    My first thought was to create a separate routine for each table I wish to implement this in, which has a new and old input parameter for every column, however I realised I needed a solution where the called routine needs to be generic (because we'll let other developers call the same routine and we dont want them to have to create their own version for their table).
    This presents a problem as every table I wish to implement this on could have a completely different amount of columns (and dataypes). The called routine will operate under a pragma autnonmous_transaction (as it will be performing commits) so I need to pass all the fields across in one go.
    Another idea I had was to create an type object with (potentially) 300 generic fields that I assign the values to and pass that as a parameter, however I could never know before hand what datatypes are needed, CLOBS, DATE, VARCHAR, etc...
    Does anyone have any ideas on how I can accomplish this with a generic routine?
    Regards,
    Greg.

    Greg wrote:
    I hadn't heard of the ANYDATA type, I'll have a lookThe Data Cartridge Developer's Guide has all the details - http://docs.oracle.com/cd/E11882_01/appdev.112/e10765/toc.htm
    Here's a link that has some simple examples just for ANYDATA - http://orafaq.com/node/1853
    TOOLKIT ALERT - Here is a classic link you will want to keep - How to pipeline a function with a dynamic number of columns?
    I asked in another thread if they could create a locked TOOLKIT thread (like report abuse here - a global one for mods only) to put these nuggets in one place.
    see ascheffer's responses where he shows how to create a pipelined function that call return a result set with a different (dnynamic) number of columns for different calls! It uses functionality in the
    ANYTYPE - metadata
    ANYDATA - data with metadata
    ANYRESULTSET - A resultset where every column is of type ANYDATA - meaning whatever you define it to be.
    Rough overview - The cartridge exposes some interface functions (3-5 are typically needed) that you implement in a procedure. See scheffer post for his procedure:
      static function ODCITableDescribe( rtype out anytype, p_parm in varchar2, p_rows_req in number := 2 )
      return number,
      static function ODCITablePrepare( sctx out NColPipe, ti in sys.ODCITabFuncInfo, p_parm in varchar2, p_rows_req in number := 2 )
      return number,
      static function ODCITableStart( sctx in out NColPipe, p_parm in varchar2, p_rows_req in number := 2 )
      return number,
      member function ODCITableFetch( self in out NColPipe, nrows in number, outset out anydataset )
      return number,
      member function ODCITableClose( self in NColPipe )The TableDescribe does just what it's name says.
    Oracle calls these functions to get the metadata about your custom types, to describe and return result sets.
    Are you familiar with VARIANTs that are used in COM programming? A variant is a 16 byte object (record) type. 2 bytes contain the 'type' of the variant (int, char, etc) and other bytes contain data of that 'type'. It is a generic container that can hold any type of data.
    The ANYTYPE, ANYDATA and ANYRESULTSET are roughly analogous to that.

  • How to use Java code to implement Divide-and-Conquer multiplication???

    i think use Divide-and-Conquer multiplication algorithm to multiply 31415975 by 81882818. Because i have study data structure and algorithm for needs people helps to solve this problem!!! The answer is should equals the both number (31415975 * 81882818) multiplication! There are must pass the program to calculation the multiply with use divide-and-Conquer!
    How to use the program calculation the both number multiplication with divide-and-Conquer??? That is needs display the different number multiplication on the screen!!!

    This is what I think you meant to say
    yijun1988 wrote:
    I am considering using Divide-and-Conquer multiplication algorithm to multiply 31415975 by 81882818.
    Because i have study data structure and algorithm.
    I need help to solve this problem!
    The result should equal the product (multiplication) of the two numbers (31415975 * 81882818)
    The input must be passed as parameters to the program to calculate the product using Divide-and-Conquer!
    How to implement number multiplication with divide-and-Conquer?
    The steps of the algorithm need to be displayed on the screen!Which part of this are you having problems with?

  • How to create button programmatically and assign trigger for it and add code

    is that possible ?
    How can I create item a button for example programmatically (at run time)
    and create trigger (when-button-pressed) programmatically and write a code
    in the trigger body as well programmatically.
    thankx

    Hello David
    I used the way list and go button which is more safer than creating buttons because
    you can populate the list on fly.
         | dropdown list     \/
              | go button |
    PROCEDURE populate_user_function_list IS
         rg_list_id RECORDGROUP;
         ret_code     NUMBER;
    BEGIN
         rg_list_id := FIND_GROUP('RG_LIST');
         IF NOT ID_NULL(rg_list_id) THEN
              DELETE_GROUP(rg_list_id);
         END IF;
         rg_list_id := CREATE_GROUP_FROM_QUERY('RG_LIST','SELECT FUNCTION_ID, FUNCTION_ID FROM SMS_ROLE_FUNCTION WHERE SMS_ROLE_FUNCTION.DB_ROLE ='||''''||:GLOBAL.USER_ROLE||''''||' ORDER BY SEQUENCE_NO');
         ret_code := POPULATE_GROUP(rg_list_id);
         --Populate record group.
              IF ret_code <> 0 THEN
              bell;
              MESSAGE('Record Group could not be populated');
              RAISE FORM_TRIGGER_FAILURE;
              END IF;
         POPULATE_LIST('DYNAMIC_BLK.USER_FUNCTION','RG_LIST');
         DELETE_GROUP(rg_list_id);
    END;
    --this is the button to go the user selection
    begin
         if :DYNAMIC_BLK.USER_FUNCTION is not null then
              --go to selected form
              call_form(:DYNAMIC_BLK.USER_FUNCTION,NO_HIDE,DO_REPLACE,NO_QUERY_ONLY,NO_SHARE_LIBRARY_DATA);     
         else
              bell;
              message('Please select a function');
         end if;
    end;

  • Making a counter with enable and reset

    Hi.  
    First of all, I looked online for this solultion and no success.
    What I am trying to do is have a counter with enable and reset.  
    1.  Increment from 0 to 5 everytime true boolean is received.  Q, the output should then be 1
    2.  If boolean false is received, Q should be 0
    3.  Once the count reaches 5, reset the counter to 0 and repeat.
    4.  Step 1-3 only happens when enable is true.  Anytime enable is false, the process is stopped.
    Please help!
    Rose

    This is something called an Action Engine, closely related to "Functional Global Variables" (FGV) or "VI Globals" (VIG).  Basically, you have a While Loop with one or more Shift Registers acting as "memory" and an "Action" input (typically a Boolean or an Enum) that says what the Action should be.
    As you posed your problem, I'm unsure if you require one Boolean (Enable/Disable) or two (Enable/Disable and "Count").  This is a situation where having an Enum input and more "Actions" might be appropriate.  For example:
    Load      Save the Max Count (5 in your example) in a Shift Register
    Reset    Set the internal Count to 0
    Enable   Allow Count Action to proceed
    Disable  Don't allow Count Action to proceed
    Count    Increment counter if "enabled", and output current count
    Each time you call this VI (did I say that this should be written as a sub-VI, with inputs Action and Max Count, and output Current Count?), depending on the Action you wire in, you will either perform "setup" actions (Load, Reset, Enable, Disable) or "Counting" actions (Count).  Note that it is easy to modify it so that if the Counter is disabled (ooh, that's a good name for this sub-VI, "Counter", has a mnemonic ring to it), the output is, say, -1, "Not a Count", instead of (as I described it above) the last Count while Enabled.
    Action Engines (and similar constructs, where there's a While loop with "True" wired to the Stop terminal, useful as a "memory" unit) are pretty common in LabVIEW.  More accomplished LabVIEW users might also accomplish this with a Feedback loop, but I find that the "Do Once" loop shown above is easier for me to recognize and understand.
    Bob (hard to teach an old dog new tricks) Schor

  • Can I set autoSubmit="true" and partial trigger in Application Def. Editor?

    Hello Expert,
    Can I set autoSubmit="true" and partial trigger or other properties through JHeadstart Application Definition Editor?
    If I have changed the layout or add item though the Def. Editor, I have to regenerate and the manually modification
    on jsff will be overridden. Any suggestion to solve this problem?
    So far I know the page generation can be disabled, however, what if I have to regenerate the definition but want
    to remain the manual modification in Jsff?
    Thanks
    Neon

    Neon,
    You can use the "Depends on Item" property in the application definition editor. You can set this property on an item, or an item region, region container.
    The items that is specified as depends on item, will get autoSubmit="true" and the dependent items of region will get partial triggers that listen to the depends on item.
    Even if you need settings you can't generate, there is no need to switch off generation of the entire page.
    We never do this, we always specify custom templates for the bits and pieces of the page that we want to customize.
    Have you read section 4.7 "Customizing Using Generator Templates" in JHeadstart Developer's Guide?
    Steven Davelaar,
    JHeadstart team.

Maybe you are looking for

  • Generate Zip File on the fly

    I need to dynamically create a zip file by calling images in a certain directory. Is there any sort of coldfusion tag (possibly custom tag) that will allow me to do this? Thanks.

  • Modifying a web template

    Can anyone describe to me the way to find a web template file? I would like to modify one of the templates with this script <SCRIPT LANGUAGE="JavaScript"> var loginname = top.theApplication().GetProfileAttr("Login Name"); document.cookie = 'siebeluse

  • Interactive booklet of "The Open Door" doesnt work

    The interactive booklet of Evanescence's "The Open Door" doesnt seem to work. Everytime I open it, all I see is black. Can someone help me find a way to help it work?

  • Looking for Ribbon cabble for Seagate HD for my Zen Mi

    Hello, i'm looking for the following spare pieces : the ribbon cable between the seagate HD and my zen micro player. Does anyone have one I'm ready to buy it right now ! :-) Thanks in advance. Franck

  • The application "COMSOL Installer" can't be opened.

    Hi I'm trying to install comsol 5.0 from my university licence but when I try to run the Comsol installer it comes with this error "The application "COMSOL Installer" can't be opened." do anyone know what to do im running yosemite if that could have