Conditional probes

Hello everyone,
I have a question regarding conditional probes. What conditions allow you to have a conditional probe. I have seen in some of my subvis that the condtional probes are not always available. See attached picture. I can have conditional probe on the output of one add function, but not the other. Why is this?
thanks
Attachments:
conditional probe.PNG ‏204 KB

Under "Custom Probe" you can normally see the list of the last Customized Probes you used. LabVIEW has a list of already defined Conditional Probes which are already programmed.
You should go to "Custom Probe -> New... -> Create from existing Probe and choose the Probe (f.e. Conditional Double Probe.vi) you want to use. After choosing, the probe will appear directly by "Custom Probe".
Regards
Ken

Similar Messages

  • Multiple condition prob

    Hi,
    I have one query regarding different condition. Suppose i have to one internal table itab.
    Now i read the data from vbak & vbap table. My parameters r p_vbeln, p_posnr.
    parameters: p_vbeln  LIKE  vbak-vbeln,
             p_posnr  LIKE  vbak-posnr.
    I have to select all records from table vbak for parameter p_vbeln.
    after it for each entry on table vbak select single on table vbap for the material. & store
    it into internal table itab.
    if only one entry exists on table itab check the entry matches the input parameters p_vbeln,
    p_posnr. If no match then generate error. If match then proceed.
    anybody will tell me how to write the logic for the above condition.
    thanks in advance.

    Why do you want to add a condition again. because
    select * into corresponding fields of table itab
      from vbap
      where vbeln in (
                select vbeln from vbak where vbeln eq p_vbeln )
        and matnr eq p_matnr
        and posnr eq p_posnr.
    if not sy-subrc is initial.
      "not match.
    endif.
    itab already has conditioned value.
    ibrahim
    ok i have changed the code.
    Message was edited by: Ibrahim UGUR

  • Using a hashmap for caching -- performance problems

    Hello!
    1) DESCRIPTION OF MY PROBLEM:
    I was planing to speed up computations in my algorithm by using a caching-mechanism based on a Java HashMap. But it does not work. In fact the performance decreased instead.
    My task is to compute conditional probabilities P(result | event), given an event (e.g. "rainy day") and a result of a measurement (e.g. "degree of humidity").
    2) SITUATION AS AN EXCERPT OF MY CODE:
    Here is an abstraction of my code:
    ====================================================================================================================================
    int numOfevents = 343;
    // initialize cache for precomputed probabilities
    HashMap<String,Map<String,Double>> precomputedProbabilities = new HashMap<String,Map<String,Double>>(numOfEvents);
    // Given a combination of an event and a result, test if the conditional probability has already been computed
    if (this.precomputedProbability.containsKey(eventID)) {
    if (this.precomputedProbability.get(eventID).containsKey(result)) {
    return this.precomputedProbability.get(eventID).get(result);
    } else {
    // initialize a new hashmap to maintain the mappings
    Map<String,Double> resultProbs4event = new HashMap<String,Double>();
    precomputedProbability.put(eventID,resultProbs4event);
    // unless we could use the above short-cut via the cache, we have to really compute the conditional probability for the specific combination of the event and result
    * make the necessary computations to compute the variable "condProb"
    // store in map
    precomputedProbabilities.get(eventID).put(result, condProb);
    ====================================================================================================================================
    3) FINAL COMMENTS
    After introducing this cache-mechanism I encountered a severe decrease in performance of my algorithm. In total there are over 94 millions of combinations for which the conditional probabilities have to be computed. But there is a lot of redundancy in this set of feasible combinations. Basically it can be brought down to just about 260.000 different combinations that have to be captured in the caching structure. Therefore I expected a significant increase of the performance.
    What do I do wrong? Or is the overhead of a nested HashMap so severe? The computation of the conditional probabilities only contains basic operations.
    Only for those who are interested in more details
    4) DEEPER CONSIDERATION OF THE PROCEDURE
    Each defined event stores a list of associated results. These results lists include 7 items on average. To actually compute the conditional probability for a combination of an event and a result, I have to run through the results list of this event and perform an Java "equals"-operation for each list item to compute the relative frequency of the result item at hand. So, without using the caching, I would estimate to perform on average:
    7 "equal"-operations (--> to compute the number of occurences of this result item in a list of 7 items on average)
    plus
    1 double fractions (--> to compute a relative frequency)
    for 94 million combinations.
    Considering the computation for one combination (event, result) this would mean to compare the overhead of the look-up operations in the nested HashMap with the computational cost of performing 7 "equal' operations + one double fration operation.
    I would have expected that it should be less expensive to perform the lookups.
    Best regards!
    Edited by: Coding_But_Still_Alive on Sep 10, 2008 7:01 AM

    Hello!
    Thank you very much! I have performed several optimization steps. But still caching is slower than without caching. This may be due to the fact, that the eventID and results all share long common prefixes. I am not sure how this affects the computation of the values of the hash method.
    * Attention: result and eventID are given as input of the method
    Map<String,Map<String,Double>> precomputedProbs = new HashMap<String,Map<String,Double>>(1200);
    HashMap<String,Double> results2probs = (HashMap<String,Double>)this.precomputedProbs.get(eventID);
    if (results2Probs != null) {
           Double prob = results2Probs.get(result);
           if (prob != null) {
                 return prob;
    } else {
           // so far there are no conditional probs for the annotated results of this event
           // initialize a new hashmap to maintain the mappings
           results2Probs = new HashMap<String,Double>(2000);
           precomputedProbs.put(eventID,results2Probs);
    * Later, in case of the computation of the conditional probability... use the initialized map to save one "get"-operation on "precomputedProbs"
    // the variable results2probs still holds a reference to the inner HashMap<String,Double> entry of the HashMap  "precomputedProbs"
    results2probs.put(result, condProb);And... because it was asked for, here is the computation of the conditional probability in detail:
    * Attention: result and eventID are given as input of the method
    // the computed conditional probabaility
    double condProb = -1.0;
    ArrayList resultsList = (ArrayList<String>)this.eventID2resultsList.get(eventID);
    if (resultsList != null) {
                // listSize is expected to be about 7 on average
                int listSize = resultsList.size(); 
                // sanity check
                if (listSize > 0) {
                    // check if given result is defined in the list of defined results
                    if (this.definedResults.containsKey(result)) { 
                        // store conditional prob. for the specific event/result combination
                        // Analyze the list for matching results
                        for (int i = 0; i < listSize; i++) {
                            if (result.equals(resultsList.get(i))) {
                                occurrence_count++;
                        if (occurrence_count == 0) {
                            condProb = 0.0;
                        } else {
                            condProb = ((double)occurrence_count) / ((double)listSize);
                        // the variable results2probs still holds a reference to the inner HashMap<String,Double> entry of the HashMap  "precomputedProbs"
                        results2probs.put(result, condProb);
                        return condProb;
                    } else {
                        // mark that result is not part of the list of defined results
                        return -1.0;
                } else {
                    throw new NullPointerException("Unexpected happening. Event " + eventID + " contains no result definitions.");
            } else {
                throw new IllegalArgumentException("unknown event ID:"+ eventID);
            }I have performed tests on a decreased data input set. I processed only 100.000 result instances, instead of about 250K. This means there are 343 * 100K = 34.300K = 34M calls of my method per each iteration of the algorithm. I performed 20 iterations. With caching it took 8 min 5 sec, without only 7 min 5 sec.
    I also tried to profile the lookup-operations for the HashMaps, but they took less than a ms. The same as with the operations for computing the conditional probability. So regarding this, there was no additional insight from comparing the times on ms level.
    Edited by: Coding_But_Still_Alive on Sep 11, 2008 9:22 AM
    Edited by: Coding_But_Still_Alive on Sep 11, 2008 9:24 AM

  • Make visa write return sooner

    This is somewhat a continuation from this thread but I figured it was different enough to warrant another one. My question is this: I have multiple visa (serial) references in an array. I use an autoindexing for loop to write to each one. I have benchmarked the VISA write function and it takes 14 ms to execute when writing 68 bytes of data with a 38,400 baud rate. Because I have them in a for loop if I am using 8 serial ports, it takes over 100 ms for the for loop to complete. By this time, the hardware has expected another write to have happened on the first serial port, but because the subsequent writes (which are in serial..ha..ha.) take so long to execute, it hasn't written again. I know one solution is to put them in parallel, but I am trying to avoid spawning off threads on a PXI chassis based on the number of serial connections I have. This not only complicates the serial communication, but greatly complicates my application because then I would need to manage a dynamic number of queues being used to pass data to my host communication thread.
    As a side note, I have tried both synchronous and asych writes.
    Is their any way to communicate via serial, maybe on a lower level than visa, so it just sticks the data in a transmit buffer and leaves it there for the hardware to manage, rather than waiting for what looks to be a return after the data has been sent.
    CLA, LabVIEW Versions 2010-2013

    Jeff Bohrer wrote:
    Well, the async writes should be about as fast as you can go.  but the math (14mS for 68 bytes at 38400 Baud) seems off.  How are you connected to the PXI device.  I'm thinking a chassis controller might have less latency than say a MXI bridge.  You aren't doining anything silly like re-initing the VISA session right?  Put a conditional probe on the session in- is it valid?
    Currently I'm not sure how I am connected. However, I can say that no, I am not opening and closing the session in the loop. I made a test program that is just visa open, loop with visa writes, then visa close outside the loop. I have also verified the string truly is 68 bytes and there aren't extra characters in there I'm missing, or something like that.
    I have connected a scope up to the serial line. I put a gap of a few ms between writes so I can see where one transmission ends and the next one starts when looking at the scope. If I (on the scope) measure the delta time between the start and end of the transmission, it's ~19.4 ms. If I calculate 68 bytes*8 bits/byte + 3 bits for start stop parity / 38400 baud I get .0142 seconds or 14.2 ms. Is this calculation correct? The result is very close to what my benchmarking of the Visa Write is showing. Also, I'm curious of the 5 ms discrepancy between the delta t on the scope and the visa function time to execute. Any more thoughts?
    CLA, LabVIEW Versions 2010-2013

  • BD Array Constant cannot be "browsed"?

    I've been annoyed by this in the past and a quick search did not yield any answer, so here is it:
    Is there a good reason why an array constant on the BD cannot be looked at, in the sense that the array index is no clickable?
    For instance, I am parsing a header using an array of strings and while I am debugging the process, I'd like to rapidly check what the index of entry "this" or "that" is so that I can put some conditional probe that will get me there quickly. The problem is, the array is too large to be seen at once on the diagram. Moreover, what I want to do is bring the item I am interested in to the top of the list so that I can check its index:
    The problem is, once I step through the code, the array is "frozen" and I can't play with the index control.
    That should not change anything to the code, so I don't understand why I am prevented from doing that.
    I can browse through cases of a structure or a sequence. Why not an array constant?
    Tested in LV 2011, but has been here forever.

    You are specifically talking about run mode, right (in edit mode you can change the index).
    You can show the scroll bar of the array container. It seems that still works in run mode, but I agree that the index should maybe also keep working.
    LabVIEW Champion . Do more with less code and in less time .

  • Stop loop

    Hi, i want to stop execution the vi in a loop when it running greater than 5 sec.
    how can I do it?
    thanks

    Thanks tbob. I am not doing as you say. An you are right the picture is local to my pc hard drive. Doh!
    Take 2.....
    I am assuming that you want to pause your code after 5 seconds of execution. I suggest
    1. Implement a timer into your code. i.e Elapsed Time = Current Time - Start Time
    2. Wire the elasped time result to an indicator or a boolean when its greater than your target time.
    3. Place a conditional probe on the wire that has the elasped time and set it to >= 5 or 5000 if you are in ms.
    Like this
    Message Edited by David Crawford on 10-21-2005 01:12 AM
    Attachments:
    Elapsed Time Pause Using Conditional Probe.jpg ‏58 KB

  • Break on boolean wire state

    This seems basic but I can't find any way to set a breakpoint on a wire that carries a boolean state that stops execution when the state goes to FALSE. Is there any way to do that?
    Solved!
    Go to Solution.

    Put a 'Conditional Probe'.
    I am not allergic to Kudos, in fact I love Kudos.
     Make your LabVIEW experience more CONVENIENT.

  • Simple OR condition..but getting prob

    Hi all,
    Please help me
    I am trying to use simple OR condition in a where clause
    here is my script
    Select * from table 1
    where is_numeric(acct_no) = 0 --- is_numeric is function which returns 0 for non digit acc no
    or
    count_no in ( select count_no from table 1
    minus
    select count_no from table2)
    i dont knw why query is taking a long long time to run w/o out put itired to put braket also but didnt worked.
    i knw we can use union too but i dont want to use that.
    please help me ....
    Thanks
    Edited by: user10647455 on Dec 3, 2008 8:04 AM

    Hi,
    Like Jortri, I would use EXISTS.
    I suspect this way is faster:
    Select  *
    from    table1
    where   is_numeric (acct_no) = 0 --- is_numeric is function which returns 0 for non digit acc no
    or      NOT EXISTS
            (   select  NULL
                from    table2
                where   count_no = t1.count_no
            );There's no need to reference table1 in the sub-query. You already know count_no exists in table1: that's where you got it.
    Calling the PL/SQL function is taking considerable time. If you're only checking for simple types of numbers (such as unsigned integers) you can do that a lot quicker using SQL, especially regular expressions, as Blushadow and Michaels showed you in [your previous thread|http://forums.oracle.com/forums/message.jspa?messageID=3155232#3155232]. If you need to check for any possible number (such as '+1.4E-5') then you probably do need a function. The function may be faster if it is declared as DETEMINISTIC.
    Edited by: Frank Kulash on Dec 4, 2008 1:03 PM

  • Newbie Probs (IF conditions)

    Hi
    Can anyone tell me why when I input 1 it works, yet input 2 and it doesnt run the code for choice 2?
              if (option==1)
                   while (callsPointer<6)
                   System.out.print("Enter Reminder time (as int) ");
                   intTime = EasyIn.getInt();
                   System.out.print("Enter Text ");
                   theText = EasyIn.getString();
                   theReminder[callsPointer] = new Reminder(theText,
    intTime);
                   callsPointer ++;
              else if (option==2)
                   //print call list
                   for (int index=0;index<callsPointer;index++)
                   System.out.print("Reminder state is: ");
    System.out.println(theReminder[index].getAlarmTime().getFormattedTime()
                   System.out.println(theReminder[index].isOn() );
                   System.out.println(theReminder[index].getText() );
    Thanks

    the datatype of 'option' is int
    i can change the value from 1 or 2 but somehow the 'IF' checks dont spot this.
    I can change the first 'IF' loop to 2 and the second to 1, only the 'IF' for option=1 works, change it back and the same again but this time the other 'IF' loop works.
    Its as though any other value than 1 is not detected

  • Freight condition calculated on header level , not at item level

    Hi,
    I am creating PO with 2 line items..
    mat X qty 1 price 100 INR
    mat Y qty 1 price 100 INR
    Now i have given freight as 500 INR in header level...
    My prob is freight is getting calculated based on number of  item level...
    It means if i have 2 item levels my freight is coming 1000 INR....
    it is adding based on line item.....
    but it shud come 500 INR....
    I want my freight to be added at header level......
    Utsav

    HI
    What will u do if in case freight shud be 500 + 500 = 1000
    So leave this condition as it is
    Goto Tcode M/06 ... and create a new condition for freight ... by copying the present condition type and then add it in pricing procedure
    But in "details "of this new condition type  put a tick mark against group condition and header condition.
    "To go into details of a condition type ... select the condition type and then click on lens button"

  • Terms & Conditions problem in App Store

    I want to install a free app on my Iphone. But every time that I try, app store show me a message of "Terms & Conditions have changed.." that I should agree. I have agreed around 15 times and I still can't download the app. Can anybody help me?

    I'm using the Guatemala itunes store with a Guatemalan credit card, and i have downloaded about 40 aplications since april 09' and never with a problem, until this monday, that every time i try it shows me that "Terms & Conditions have change"
    Yo estoy en las mismas, y es que ni en la compu me deja bajar ninguna sola aplicacion, ni menos en el iphone.
    Lo raro es que probe bajar una aplicacion gratis en mi ipod touch y si me dejo, y otro cuate con otra cuenta probamos y en la cuenta de él si puede descargar todas las aplicaciones. hay me cuentan si saben algo...

  • Printing error due to out of memory condition...

    hi i got this problem of "printing error due to out of memory condition" and i cannot save it as a pdf file too. How to solve this prob? i using cs3 and acro 9.. pls help me... got a proj due and cannot afford to waste too much time...

    I've also seen this error message for the first time today "printing error due to out of memory condition" - I have 2GB of RAM, 300Gb+ free on my hard drive and have closed all other programs that were using some memory, however have had no problems printing to pdf ever before in Indesign... is there a solution to this problem?

  • ACE 4710 Probes on other servers than the real server

    Hi,
    I wanted to know if there is a means to configure a probe that is independent of the real servers.
    The aim is to configure a probe a real server but also probe another intermediate server which is not in the server farm.
    The objective is to declare the real server down if its probe fails but also the probe to an intermediate server fails as well as a or condition.
    From the document, there is no mention of it.
    But is there a means to do it.
    Thanks.

    Hi Ashley,
    i see it is not mentioned anywhere in document but i think ou should be able to bind two probes with real server of which one probe is actually probing another server.
    I would configure one probe let's say TCP based and bind it with serverfarm. Then i would configure another probe TCP based and define IP address in that probe (the other server IP which we need to probe) and bind this probe with same serverfarm. Serverfarm will not have this rserver added. And then i would configure "fail-on-all" and test if that works for you.
    i know you can set probe on redirect server/serverfarm which actually probes another real server so logically should work for normal host rserver as well. But i have never tested it myself.
    Regards,
    Kanwal

  • SNMP Probe monitor query

    Hi ,
    I have created SNMP Probe based monitor to check the Total RAM free on certain Network devices. 
    I have total 16GB RAM space and i want to alert if lesser than 3 GB of Total RAM. I had configured /DataItem/SnmpVarBinds/SnmpVarBind[1]/Value lesser than 3467826 to be critical and alert. The other condition is /DataItem/SnmpVarBinds/SnmpVarBind[1]/Value
    greater than 3467826 to be healthy.
    Once configured i am getting alerts for higher values like 19458676. could someone please help me with this scenario and correct me if i am wrong.
    Jesty Sam

    Why you use SNMP to monitor RAM, you can create custom monitor for RAM between 2 value min. and Max.
    SNMP is the most commonly used method mainly because it is easy to set up and requires minimal bandwidth and CPU cycles. If your network devices support SNMP and/or if you want to monitor large networks with several hundred or thousands of sensors, we recommend
    you to start with SNMP. Besides network usage monitoring, another well-known feature of SNMP is the ability to also watch other network parameters such as CPU load, disk usage, temperature, as well as monitoring many other readings, depending on the queried
    device.
    Please remember, if you see a post that helped you please click "Vote As Helpful" and if it answered your question, please click "Mark As Answer"Mai Ali | My blog:
    Technical | Twitter:
    Mai Ali

  • Prob in loading

    Hi 2 all               i am new to BI .i got a prob while iam loading from r/3 to dso. actualLY in r/3 there is 9000 rec  i put load to psa .THEN 10000 rec came to psa from therE  i put load to dso  .There I GOT ONLY 75OO  rec this  is my prob can any one hepltome its vey urgent
    thnks
    satish

    Hi Satish,
    The problem you are saying may not be a problem actaully
    Reasons of your observation:
    1.Firstly ,where did u check the no. of records??Is the loading delta..then why should no.of records be the 9000???(only new/changed records come in delta)
    2.Now...your observation can happen in three cases:
    a.Your functionmodule which is used in extraction may be having some filter criteria
    b.Your Infopackage has some selection condition
    c.Your Infopackage is loading delta request
    d.Now your DTP which is loading to target is having some filter
    e.Your transformation/update rules etc having routine to filter records..
    It is never mandatory to have transferred records same as added records.In some cases the transferred records can be greater than added records..(filter)
    or in some cases transferred records can be less than added records(appending data to result package)
    Regards,
    rocks

Maybe you are looking for

  • Quantity field in ALV

    Hello All,       I am using OO - ALV in which I am displaying a quantity field.This field is an editable field and if user tries to change the value and SAVE , it is taking some wrong values. Say suppose I am having 1.000 as the initial value and if

  • Error(?) while exporting slideshow

    Hi, so while I was exporting a slideshow with about about 100 photos at 1080p (high def.) the bar that shows the progress stops moving when it is two thirds done and the preview thumbnail thing next to it goes pitch black and it stays that way. In th

  • How to call webservice from OAF

    Hi, I need to call a webservice in one of my custom OAF page. I am very new to OAF and Java and have no idea about how webservice works. Does anybody has any example of that, are there any setups I need to perform. I will appreciate if someone can sh

  • Issue with Total Number of SODs at user level.

    Friends, Quick question - We are using GRC 5.3 Production on NT 20003 server. and back end systems are ECC 6.0 1.We added the Additional Role to one of the business users in ECC 6.0 2.We ran the FULL synch after adding this role in backend. Issue : T

  • Finder Arrange by Kind - Disable Coverflow/Show All by Default?

    I have Finder set to Arrange by Kind and sort by name in OS X 10.7 and it's much better than on Snow Leopard with one exception.  Folders are shown first (which I love) and the icons are shown in groups (which I love), but the groups by default are i