How do I build a producer/consumer VI with multiple consumers?

I’m studying for the CLD using this document as a base:
Certified LabVIEW Developer (CLD) Certification and Exam Overview
One of the requirements in that document has me stumped:
6. Select a producer/consumer (events) design pattern to respond to user interface events in the producer loop and defer the processing of the event to one or more consumer loops
I start with LabVIEW's producer/consumer (events) template and give it two consumer loops. However, each event only gets to one of the two loops, not both, as you can see in my attached example VI 1_producer_2_consumers.vi.
I would try LabVIEW notifiers, but I read that a notifer is not guaranteed to reach the consumer loops because they are not queued. I would try user-defined user events which might work, but they are not part of the CLD.
What’s the way to complete requirement 6 above?
Solved!
Go to Solution.
Attachments:
1_producer_2_consumers.vi ‏19 KB

bmihura wrote:
 However, each event only gets to one of the two loops, not both, as you can see in my attached example VI 1_producer_2_consumers.vi.
you must have a 'queue' for each consumer and you were not properly stopping the loops with user interface (using error handling inefficiently, you will get dinged for it on the CLD)...
Spoiler (Highlight to read)
Attachments:
1_producer_2_consumersMOD.vi ‏23 KB

Similar Messages

  • How to Restrict Single Delivery Date for PO with Multiple Line Items

    Dear Experts,
    How to Restrict Single Delivery Date for PO with Multiple Line Items.
    System needs to through Error Message if User Inputs Different Delivery Dates for PO with Multiple Line Items in ME21N Tcode.
    Can we achive this by Some Enhancement in SAP or Not ???
    If so how to do it.
    Any Inputs is highly appreciated.
    Thanks and Regards,
    Selvakumar. M

    Hi Selvakumar,
    we can resrict the PO to have a single delivery date in all the line items by means of giving a error message or overwiting the delivery date keyed/determined in the line item.
    You can use the BADI -> ME_PROCESS_PO_CUST. In which you need to implement the method PROCESS_SCHEDULE.
    (for technical aid - This method will be called for each and every PO line item, From the imporing parameter im_schedule we can get all the details of current PO line, even we can change the data in the current PO line. )
    Regards,
    Madhu.

  • How to investigate high io in a RAC with multiple databases?

    how to investigate high io in a RAC with multiple databases?

    RAC is saying that a single server lacks the processing capacity needed for databaseA. So additional databaseA instances on additional servers are needed in  order to meet the processing demands for databaseA. Thus RAC is required.
    Multiple databases on a single server says that the server has spare processing capacity and that it can not only deal with databaseA processing demands, but also with the processing load of databaseB.
    So how does your statement about running multiple database RAC instances on the same RAC server node, make sense? And does your I/O issue not immediately point to the fact that no, RAC server1 cannot deal with the I/O resources required by both databaseA and databaseB?
    After all, how is I/O scaled on RAC? How is ANYTHING scaled on RAC? By adding more databases to a RAC server node? Of course NOT!!
    RAC scales by adding more servers (with a new database instance each) to a physical database in order to scale processing capacity and I/O. By adding more I/O channels to access the SAN/shared storage. By adding more CPUs to increase processing capacity.
    Bluntly put - multiple RAC database instances on a single RAC server node is kind of an idiotic approach to scalability in my view....

  • How can I share DVD drive on Windows with multiple ODD?

    My Windows machine have 2 ODD -- one CD ROM drive, another DVD R/W
    (and one more virtual drive, which I think is irrelevant)
    Installed "DVD or CD sharing" and remote computer is visible from Air via remote disk.
    BUT when I connect and request for use, only first CD-ROM drive is ejected and MBA waits for that drive... and that drive only.
    I can't see any configuration option to select which drive I will share.
    How can I get DVD sharing work in this case?
    Does anybody have similar problem?
    (Or where can I request for this functionality)

    Hello roaminggnome
    Unfortunately the support is down at the moment, I will have a better look later. I did go though the Apple support previously, however I found nothing that worked.
    The first thread I came across was “Home Sharing” however no mater what I did, it did not appear in the iTunes sharing list (I did go though the “Show Sharing Networks” support as well)
    Secondly, I saw “Using A Single Library With Multiple Accounts On The Same PC” (Something like that) but all this did was let us share the same music location, if I was to rip extra music, it will not show in there library
    Matt

  • How to insert autoincrement record and query it with multiple keys

    Hi all,
    I am not familiar with BerkeyleyDB, I am now doing a project that needs to insert records and then query it out with multiple keys at later time. Since there is no field that can be distinct primary key, I want to user DbSequence as auto increment primary key to db, and set other index keys as secondary db, then using join cursor to do query with multiple keys.
    I don't know how to use DbSequence, can anyone direct me to a example of using DbSequence as auto increment primary key?
    Regards
    -Bruce

    I figured out the method to insert record with auto increment primary key. I listed the code block below:
    char m_SeqNamePositions[32] = "MyPositions";
    DbSequence *m_pSeqPositions;
    m_pDBPositions = new Db(NULL, 0);
              m_pDBPositions->open(NULL, pszFileName, szFileName, DB_BTREE, DB_CREATE, 0);          // 无数据文件
              m_pSeqPositions = new DbSequence(m_pDBPositions, 0);
              Dbt key((void *)m_SeqNamePositions, (u_int32_t)strlen(m_SeqNamePositions));
              m_pSeqPositions->open(NULL, &key, DB_CREATE);
    db_seq_t SeqNum;
         m_pSeqPositions->get(0, 1, &SeqNum, 0);
         Dbt key((void *)&SeqNum, (u_int32_t)sizeof(SeqNum));
         Dbt data(pRecord, sizeof(*pRecord));
         return m_pDBPositions->put(NULL, &key, &data, DB_NOOVERWRITE);
    m_pSeqPositions->close(0);
              m_pDBPositions->close(0);
    delete m_pSeqPositions;
    delete m_pDBPositions;
              m_pDBPositions = NULL;

  • How can I build a ragged Entity dimension with ERPi

    All,
    I am trying to build an Entity dimension for Planning with ERP Integrator v11.1.2.1, the source is EBS 12.
    In the source system I am building from there is a single parent entity with six child entities, there are then 8 hierarchies of cost centres with no common parent, these cost centre groups define different business areas within only one of the entities, the cost centres for the remaining entities have not yet been defined.
    In the ERP Setup I have specified that the Entity dimension should be built from the Entity and Cost Centre segments and I have created metadata mappings for each parent entity and cost centre ancestor pair (eight in all), the Enitiy segment is traversed first followed by the Cost Centre; all are defined as Base Hierarchies. Each pair has a separate hiearchy name, I tried to define only one of these as a base hierarchy and reuse the name for each pair but this resulted in an error:
    Run Time Error: The hierarchy 'Total Entity' cannot share the parent member 'Total Entity' with the hierarchy 'Total Entity'
    At the moment I get a hierarchy where all cost centres are associated with all child entities.
    Can anyone advise what needs to be done to achieve the following:
    - Get the dimension to build with the cost centres as children of the entities to which they relate.
    - Build the entity dimenion beneath a single common parent e.g. 'Total Entity' rather than eight separate parents (one for each entity/cost centre mapping).
    Thanks

    Gavin,
    i have the same issue, can you please share, how you were able to solve this.

  • How do I build a model calendar page with three columns and two or three lines per day?

    I am trying to build a Page that has three columns with lines in each column that will be numbered according to each month. Then each month I plan to type in the birth dates, anniversaries, special occasions of my family. There will be over 120 entries.Thus far when I take a blank page from Pages and begin to type in the event, it remove the underline I had put in. I imagine I should be able to build one model page and then replicate it as I go from month to month. Thus far I have been unsuccessful. Any help will be sincerely appreciated.
    Ken Melley

    You could use a Table to set up your information in Pages 5.2, unfortunately it has a bug that makes the table moire or less unusable after a few pages.
    Contacts stores all your Address Book information. NJust add all the name, telephone number, address etc and there is an additional field for birthdays, anniversaries etc. Anything else you can put in the notes:
    http://computers.tutsplus.com/tutorials/contacts-101-a-beginners-guide-to-contac ts-on-os-x--mac-51751
    Calendar lets you run separate sets of dates in a desktop calendar, which can include birthdays, anniversaries or any single or recurring events. Any names you use here will be cross referenced to Contacts.
    http://www.macworld.com/article/2057229/get-to-know-os-x-mavericks-calendar.html
    Peter

  • Using the DAQ-9178 and 9205 Voltage Module, how do I build a 16 Channel Voltmeter with a range of 0--50Vdc?

    I have already built an 8 channel 10:1 voltage divider using 1% resistors.  My problem is there is a lot of AC noise on the DC signal and the voltages don't match my Fluke DVM which is sitting beside.
    Solved!
    Go to Solution.
    Attachments:
    8 Channel Voltage Screen.JPG ‏172 KB

    A little more info... Only Channels one and two have signal going to them.  Ch1, (a0), is connected to a 9volt battery, and ch2, (a1), is connected to a variable bench supply set for 17Vdc.
    The DVM is rock steady, however the LabVIEW indicators show what I assume is a product of the AC noise.
    Any help would be appreciated
    Thanks so much
    -Matt
    Attachments:
    8 Channel Voltage Block Diag.JPG ‏269 KB

  • What are developers​' opinions on how best to handle upgrading large code libraries with multiple apps to new a labview version?

    I have a large set of code that I've painstakingly migrated from one labview version to another over the years.  I have lots of deployed applications that I need to continue to support.  From experience and interaction with other developers, I don't think I can continue to migrate every application to a new labview version when I upgrade going forward.  Every application seems to break in one way or another, the builds don't work right and need to be re-done, and its too much time to get all my applications working and tested again.  That opinion is solidified by NI's policies that make it impossible to install old toolkit versions on new labview versions, for example.  Compatibility is often being sacrificed so NI can develop labview in the direction they choose.  So I have to take the position that whatever version I write an application in will probably need to be maintained in that labview version throughout it's life.
    In light of this, how are other developers managing older applicatiosn written in older versions of labview.  Right now I have a virtual PC on my system with 7.1, 8.0, 8.2, and 8.5 all running on different virtual PC's so I can keep each installation separate.  I strongly recommend this approach.  But keeping my large libraries of code separate is tough.  They are many GB, they all link to each other, and I always get worried even when I separate them in different directories that somehow labview will search in the wrong place and find the wrong version of a sub-vi.  Are other people also trying to maintain separate copies of all their code in different labview versions?  How are other people managing this problem?
    -Devin
    I got 99 problems but 8.6 ain't one.
    Solved!
    Go to Solution.

    Hi,
    The following directory hierarchy, coupled with a "hierarchical" VI naming strategy, have been effective (for me) at preventing "cross-linking" across projects and LV versions. The storage hierarchy was designed for use within an SCC environment, but works fine independently. Hierarchical-naming insures unique names for application-specific files. Use of Project Libraries (in LabVIEW 8.x) addresses the problem of having different VIs with the same name, still, it gives me warm-fuzzies to have app-specific files named uniquely, and I can't imagine not using Hierarchical-naming anymore - it's described at-length in section 2.1 of attached .doc..
    Note: It's been my experience that companies identify resources as supporting specific "Programs", where a Program is related to a product or "family" of products, so, under <Programs> (below) each "Program" subdirectory encapsulates product-specific (or product-family-specific) applications. Also, assuming no SCC tool is being employed the <Production> directory (below) exists as a repository for distributables.  All distributables required to reproduce a test-station should be located under <Production>.
    <Software_Root>
    <Development>
    | <Common>
    | | <LabVIEW_61>
    | | | <Drivers>
    | | | | <DMM>
    | | | | <OS>
    | | | | <PS>
    | | | <Utilities>
    | | |   <File>
    | | |   <Error>
    | | |   <String>
    | | <LabVIEW_711>
    | | <LabVIEW_82>
    | | <LabVIEW_851>
    <Programs>
    * Program-specific applications that (probably) have distributables
    | <Program_#1>
    | | <Application_#1>
    | |   <Docs>
    | |   <Source>
    *       Individual, application-specific, VIs go here
    | | <Application_#2>
    | | <Application_#3>
    | <Program_2>
    | | <Program_3>
    | <Tools>
    *   Tools are NOT "program"-specific, and, may have distributables
    |   <SomeTool>
    |   <SomeOtherTool>
    <Production>
    | <COTS&Freeware>
    | <Programs>
    | | <Program_1>
    | | | <Application_#1>
    | | | | <Application_#1_Rev#1>
    | | | |   Application_#1.bld>
    | | | |   <EXE>
    | | | |   <Installer>
    | | | |   <Source>
    | | | |     Application_#1.llb>
    *           Distributable is created from LLB "snapshot", not directly from development tree
    | | | <Application_#2>
    | | | | <Application_#2_Rev#1>
    | | | |    Application_#2.lvproj>
    | | | |   <EXE>
    | | | |   <Installer>
    | | | |   <Source>
    | | | |     Application_#2.llb>
    | <Tools>
    "Inside every large program is a small program struggling to get out." (attributed to Tony Hoare)
    Attachments:
    StyleGuide.doc ‏941 KB

  • How to Import an Order via Order Import with multiple shipment lines?

    Good Morning,
    I have a question concerning Oracle's order import functionality. We are importing orders from an outside system and need to consolidate orders by customer id. So if the same customer places 2 orders for different items on the outside system, they should interface to Oracle as a single order to that customer with a shipment line for each ordered item (ex 1.1, 2.1..).
    I know this can be done, but do not know how to implement the solution.
    Can someone please help?
    Thank you!!
    Edited by: user11984882 on Jun 22, 2011 7:03 AM

    Hi,
    I guess that this zip-file contains a transport. This transportfiles have to be copied in the /usr/trans/data und /usr/trans/cofiles and imported by the transaction STMS.
    Thomas Jung wrote how to do this in this: How to import examples from book "Advanced BSP Programming"
    Perhaps your basis administrator can help you to do this?
    Regards,
    Stefan

  • How do I set up a distribution list with multiple email addresses?

    I can't figure out how to do this - I am a .mac member and really have no idea how to use the desktop mail function but I am assuming that I need to set up the distribution list in mail since I can't find anywhere to do it on .mac.
    I am really sorry for this lame question - is it a problem with my ISP (sbc) or is it my operating system - 10.3.9?

    Welcome to the discussions, CassC.
    You may need to re-post in the pre-Tiger mail forum.
    But what I THINK you need to do is use your Address Book, and make a group. Add to the group (by selecting, dragging and dropping) the contacts you need in the distribution list. Now in Mail use the name of the group in the To: or Cc: or Bcc: field to send them all mail.
    AK

  • If I have two separate pages documents, how do I compile them into one document with multiple pages?

    I have two separate documents, but I need them to be in one document in a sort of magazine form. How do I get the documents saved together so there are multiple pages in one document?

    Menu > View > Page Thumbnails > click on the thumbnails > Copy > Paste into second document thumbnails
    Peter

  • How to find page sizes in a document with multiple page sizes

    Hi Ive been given a document that has multiple page sizes in it how do i find the size of each individual page. i tried document setup but that only brings up the size of the first page

    You are going to do that for each page? You might be better off with using the Preflight panel. "Page size" can be flagged as an error, so you get a nice linked list.

  • How To Create An SMS Flash Based Chat with Multiple Usersfor Website

    I have a site, that will need messaging service for up to
    four people at a time. All users are part of a database in mysql. I
    want to use my database to extend the usage of the site to live
    chat. Does anyone know how to start and where to go find out how to
    start, so far in flash I have textfield and input field but how to
    connect is beyond me right now. Please help.

    Have a look
    Here

  • How do you use the same wireless keyboard with multiple devices?

    My apologies in advance if this question has been answered previously.  There was nothing in the owner's manual (for the keyboard) that answered this.  I did do a rough search that did not yield an answer to this:
    I have one wireless keyboard I am using with my Macbook Pro.  I understand this keyboard can also be used as an input device for my Apple TV and my iPhone - both of which I currently own.
    And although I am able to use the keyboard with those devices, I am forced to "forget this device" after having used it on either the Apple TV or my iPhone so that I can use it on my MacBook Pro.  Is there any combination of keys that one can press on the keyboard that would cycle through my three devices?  As it is right now, if I don't "forget the device" on my secondary units, it somehow defaults to a peripheral OTHER than my MacBook Pro and I'd like for it to always default to my computer. 
    Thank you for any information/advice.

    Bump

Maybe you are looking for

  • Premiere Pro won't let me drag an imported video from the Source window to my timeline

    I've tried to insert it, but it won't me do that either. It just gives me a "Do not Enter" sign next to my cursor. Any ideas?

  • Unable to undeploy a dictionary project

    Hi, I have  a DC that is of the type Dictionary project. I have my tables defined in this. How do I undeploy this DC. I tried it from the SDM and it is greyed out and does not allow me to undeploy it. So if I have it in my SDA it does not deploy as i

  • What does a Blinking Earth in a box mean when you turn off your computer.

    We had a power outage and when the power come back on I turned the computer on to get on. What came up was a blinking planet earth in a box on a grey screen. After 10 minutes the computer came on. What does this mean? Anyone know?

  • JMS 125 Error

    Hi, We have implemented Oracle AQ to post messages to AIA and at times we are getting the error javax.jms*.InvalidDestinationException: JMS-125: Invalid Queue specified*at oracle.jms.AQjmsError.throwInvalidDestEx(AQjmsError.java:500) om.siebel.eai.jm

  • 6220c - Wrong time & date

    Hi, after updating the firmware to 3.46 on my 6220c it changes time and date by itself - everyday! Never had such a problem before. I already did a hard reset, but that didnt change anything.  All i do is to set the alarm and turn the phone off befor