Counter timeout 6211

Hello,
if wrote a driver for NI-DAQmx and it worked well, until today.
By using counter inputs we are now running into troubles.
The following lines of code are part of my driver.
mLastError= DAQmxReadCounterScalarF64(GetTaskHandle(),
                                                  ​               1.0,          // timeout in seconds
                                                                 value,
                                                                 NULL);
if (mLastError == 0)
   return true;
// Timeout expired -> no signal connected
if (mLastError == -200474) {
   *value= 0.0;
   return true;
return false;
Here the problem:
Developed with DAQpad-6016 it worked always. When I disconnected the input signal i got a timeout, by connecting again i got valid values.
Now, with USB-6211 after first timeout I am getting always a timeout.
Any idea ?
Best Regards
Heinrich

mLastError = 0 will not bring a effect.
mLastError is the result of DAQmxReadCounterScalarF64();
The full code is similar to the following
bool MyClass::GetCurrentFrequency(double * value)
  mLastError = DAQmxReadCounterScalarF64(GetTaskHandle(), 1.0 /* timeout in seconds */, value, NULL);
  if (mLastError == 0) return true;
  // Timeout expired -> no signal connected
  if (mLastError == -200474)
    *value= 0.0;
     return true;
  return false;
After getting the first -200474 i get always -200474.
Best Regards
Heinrich

Similar Messages

  • Samplerate problem using Analog In and Counter In from a NI 6259 USB. "Counter timeout" setting in DAQmx?!

    Hello,
    I got a fundamental problem with the correlation of the timer settings of the DAQmx driver in DIAdem DAQ. I dont know where the problem is located exactly but maybe someone can help me if I explain what happens:
    In my configuration I use some analog inputs from a USB 6259 with 20kHz samplerate and two counter inputs for frequency measuring via DAQmx in DIAdem DAQ.
    There has to be an extra DAQin block for the analog inputs and the counter inputs with also an extra "Clock"-block for each of them. The clock of the analog inputs runs with 20kHz hardware clock and the other one with 10Hz software clock because the hardware clock mode is not allowed or supported.
    My problem is the display refresh rate in VIEW. If the counter signal has no input (because the measured system is not active) the display seems to wait for any input and doesnt refresh the analog values on screen. If the system is active and a rectangle signal is seen by the counter in, the display refresh rate raises and the frequency value is displayed more or less accurate. Has that something to do with the counter timeout setting in the DAQin driver options block (marked in the attached image)? If i decrease the timeout, the display refresh rate gets better but not as good as without using the counter inputs in my DAQ diagram. I think the counter input is not as easy to handle as the usual analog inputs... I only want to see the measured frequency on the display during the measurement without getting any influence on the analog input channels and their displaying.
    The other problem is the display and the measurement of the frequency itself. If i check the function of the counter input in the Meas. & Automation Explorer the frequency is display correct without any dropouts or something like that. The signal I measure in DIAdem on the other side looks quite bad because there are spikes of some MHz and even more although the measured range is between 20 and 80Hz!
    Has anybody made similar experiences?
    Regards
    S. Zimmer
    Attachments:
    probs.png ‏112 KB

    Hi there,
    it seems that german is your mothertongue, so I'll reply on german.
    Digitale Eingänge müssen Software getaktet werden, da nur analoge Eingänge Hardware-Takt Unterstützung haben!
    Sie können den Hardware-Takt nur mit analogen Eingängen einsetzen, die, von einem Timer gesteuert, gepuffert Werte einlesen können. Digitale Größen verarbeitet der Hardware-Takt nicht.
    Mit dem Hardware-Takt erreichen Sie sehr hohe Abtastraten. DIAdem überträgt die gewünschte Rate und die Kanalliste auf die Karte und startet die Messung. Die Hardware erfasst die Daten selbstständig und sammelt die Daten. Der PC ist nur für den Abtransport und die Weiterverarbeitung verantwortlich.[...]
    Da digitale Signale nicht im Hardware-Takt erfasst werden können, müssen diese Signale parallel in Software-Takten ermittelt werden. Dies kann zu zeitlichen Verschiebungen führen, weil sowohl beim Start der Messung als auch während der Messung keine Synchronisierung der Timer im PC und im Messgerät erfolgen kann. Da zwei Timer nie ganz genau gleichzeitig gestartet werden und auch nie ganz genau gleich schnell laufen, stimmen die Zeiten in den Zeitkanälen nach der Messung nicht genau überein. Üblicherweise betragen die Abweichungen einige Millisekunden.[...]
    Weiters hab ich mal n Versuchsaufbau für die Frequenzmessung gemacht. Ich konnte problemlos Frequenzen messen...
    Am besten du schilderst kurz den Aufbau deiner Messung, was du messen möchtest und wie du den Max konfiguriert hast.
    Mfg Markus

  • How can I adjust the Timeout setting?

    I'm running some OBIEE reports in Firefox that by nature do take a long time to run. One of my local Tech Support folks suggested increasing the Firefox Timeout setting (he showed me how to do this once, but I didn't write it down). Can you provide written instructions (or annotated screen pictures), please?

    Alright. There are two ways to do this. You can extend your timeout, or you can totally disable timeout. Depending on the way you use firefox, either may be helpful. If you want to extend your timeout, type about:config in your search bar on the top. From there it will take you to a list of preferences. There is a search bar. Type "Timeout" into it. The top two are disable timeout and the "count timeout". If you want to disable timeout, simply double click the "enabletimeout" on the top. This will change the value to false. If you would like to change the value of how long it takes to timeout, double click the "CountTimeout" and enter in your new value. If this doesn't make sense, see the screenshots.
    Have a great day!!
    -Jon

  • DAQmx counter rollback

    Hi
    We developped a VCD in order to measure the speed of a motor. To measure this speed, we use some counter.
    We use the Daqmx Create Channel function (CI Position angular Encoder) , and then we read the angular position using the DAqmx Read (counter dbl 1channel 1 sample).  Then we calculate the speed with the angular position difference and the time difference between two calls.
    All this things works, but after a while (depending on the speed of the motor) , we have a rollback of the counter and then a false speed measurement. It is normal to have a rollback, but why isn't this rollback managed by NI when we use the angular position. The driver returns me a angle position, it should return me the good position even if i have a rollback of the counter ...
    We found a solution in order to get rid of thi sproblem : We don't read the angle position but the value of the counter, and then we manage the rollback and we calculate the angle position from the value of the counter. But as i said, for me the driver is bugged ... 

    Try the meathod in the attached VI.
    It looks at the error cluster and clears the timeout error if it's there. The output will be 0 when it sees this error. Make sure and specify a short timeout so your program will not hang waiting for the timeout.
    Ed
    Ed Dickens - Certified LabVIEW Architect - DISTek Integration, Inc. - NI Certified Alliance Partner
    Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.
    Attachments:
    Clear Counter Timeout.vi ‏35 KB

  • How can i set dynamic properties in HTTP Binding adapter  at run time

    Hi,
    I am trying to put dynamic properties in HTTP Binding adapter at run time. I am able to Set endpointURI, UserName and Password dynamically using below code.
    Is it possible to set Version , Retry Count, timeout, authentication type at run time.
    below is code for setting endpointURI, UserName and Password dynamically.
    <invoke name="HttpInvoke" bpelx:invokeAsDetail="no"
    partnerLink="SACS_Http_Adapter"
    portType="ns1:Request_Response_ptt" operation="Request-Response"
    inputVariable="HttpInvoke_Request-Response_InputVariable"
    outputVariable="HttpInvoke_Request-Response_OutputVariable">
    <bpelx:toProperties>
    <bpelx:toProperty name="endpointURI" variable="inputVariable"
    part="payload" query="@endpoint"/>
    <bpelx:toProperty name="javax.xml.ws.security.auth.username"
    variable="inputVariable" part="payload"
    query="@username"/>
    <bpelx:toProperty name="javax.xml.ws.security.auth.password"
    variable="inputVariable" part="payload"
    query="@password"/>
    </bpelx:toProperties>
    </invoke>
    Thanks,
    Siva
    Edited by: 929920 on Apr 25, 2012 7:45 AM

    Hi Bastain,
    Assuming your using the Batch Process Model, you can programatically insert a new SN into the correct parameter in the postUUT callback sequence.
    This sequence has access to the UUT.SerialNumber parameter so you can use a File Global to pass the SN from the main sequence to the postUUT callback. 
    Here is an example of what I mean. 
    Adam
    Attachments:
    set SN within Main Sequence.seq ‏80 KB

  • EDI Advanced Batching

    Hi All,
    We have a requirement to Batch HIPAA 834 Document Type messages. We are using differed batch (ACTION_NAME = D:BatchID:Count:TimeOut) and need to batch large number of messages together(On a peak load expected messages can be around 30000 in the XML) in to one EDI file. XML will be around 150 MB, So we decided to dived the XML in to smaller chunks around 8 to 10MB(Each file having around 1500 messages) for BPEL to processes smoothly. Each divided  File will be processed in Separate Instance and with same batch ID to generate one EDI file with multiple ST SE segments in one ISA segment. We should not send the EDI file even if one instance fails due to some error. Currently what ever the messages reached the B2B are being batched in the specified time Interval. So to be simple, Is it possible to instruct B2B not send an EDI file if Count does not match in the Specified time Interval? Any thoughts how to achieve this? If any message fails in b2b level, we are using b2b.outboundOneErrorAllError property for not sending partial file. We are using B2B 11.1.1.7.
    Thanks in Advance!!

    Just ran a simple test in development (which I beleive has PS5 installed). Below are the App Messages produced from my two documents.
    App Message property     {MSG_ID=2d343332343531393731343433353631, DOCTYPE_REVISION=5040, MSG_TYPE=1, FROM_PARTY=Schneider, DOCTYPE_NAME=309, tracking_conversationId=urn:CF2B30800BB011E2BFDD3F57AE9437AC, tracking_ecid=0000JcRoVZh0Vswj8DzW4D1GMUCd04RWhl, JMSXDeliveryCount=1, tracking_compositeInstanceId=8360054, tracking_parentComponentInstanceId=bpel:8725125, Sequencing=false, *ACTION_NAME=D:ST302587799:5:4,* TO_PARTY=CanadaCustoms}
    App Message property     {MSG_ID=33323235323531393137323731303933, DOCTYPE_REVISION=5040, MSG_TYPE=1, FROM_PARTY=Schneider, DOCTYPE_NAME=358, tracking_conversationId=urn:D720D9200BB011E2BFDD3F57AE9437AC, tracking_ecid=0000JcRoVZh0Vswj8DzW4D1GMUCd04RWhl, JMSXDeliveryCount=1, tracking_compositeInstanceId=8360057, tracking_parentComponentInstanceId=bpel:8725130, Sequencing=false, *ACTION_NAME=D:ST302587799:5:4*, TO_PARTY=CanadaCustoms}
    Message #1 was created/received at 10/01/2012 05:14:41 AM. It was sent at 10/01/2012 05:18:55 AM.
    Message #2 was created/received at 10/01/2012 05:14:54 AM. It was sent at 10/01/2012 05:18:56 AM.
    Two different files were created on the FTP Server configured in the agreements, both at 5:18 AM.
    ISA*00* *00* *02*SCNN ZZCANC *121001*0518*U*00401*100000073*0*T*\
    GS*AQ*SCNN*ACIA8A*20121001*0518*1085*X*005040
    ST*309*1091
    ISA*00* *00* *02*SCNN ZZCANC *121001*0518*U*00401*100000074*0*T*\
    GS*BD*SCNN*ACIA9*20121001*0518*1086*X*005040
    ST*358*1092
    I believe that I sent everything correctly (batchIds, timeframe, etc), but it still didn't batch them into 1 file/ISA. Is there something else I'm missing?
    Do I need to have any additional batching scheduled via the UI for this Trading Parner?

  • What is B2B setup for grouping transaction sets based on criteria.

    Hi,
    Oracle B2B offers a time bound Batching feature . However to handle following case such as Batching based on Order Number it is required to define the criterion.
    Could you please provide the information on B2B Setup for grouping transactionsets based on input parameter(Invoice id OR Invoice Number or Payment ID ) passing from back end application(BPEL) to B2B.
    For count based batching , my understanding is need to pass information in the format " <BatchMode>:<BatchID>:<Count>:<timeout>:" by parameters delivered with the IP_MESSAGE_TYPE construct. Which paramter of IP_MESSAGE_TYPE construct I have to use for passing the values to B2B in the format " <BatchMode>:<BatchID>:<Count>:<timeout>:"
    I am unable to find Action name attribute of IP_MESSAGE_TYPE construct to pass the values. Please provide the required information.
    Thanks&Regards,
    Sridhar.Rachumallu.
    Edited by: sridhar.rachumallu on Sep 7, 2010 11:06 AM

    Hi Anuj,
    Thanks for the information.
    ACTION_NAME attribute is not available with SCA. Three channels (Default,AQ,JMS ) are provided in B2B adapter for connecting to B2B. Which one supports action_name attribute?
    Design Time:
    Presently by using 'Default' channel of B2B adapter i am connecting to B2B. I am unable to pass the value for b2b property "ACTION_NAME" because invoke activity does not has respective sca normalized message propertie "b2b.actionName". So i am adding input property tab in .bpel file under corresponding B2B Adapter invoke tag as given below.
    <invoke name="Invoke_Put3070EDI820"
    inputVariable="Put3070EDI820_InVar"
    partnerLink="Put3070EDI820"
    portType="ns1:B2B_send_ptt" operation="send">
    <bpelx:inputProperty name="b2b.toTradingPartnerId"
    variable="Variable_TargetTPartner"/>
    <bpelx:inputProperty name="b2b.fromTradingPartnerId"
    variable="Variable_SourceTPartner"/>
    <bpelx:inputProperty name="b2b.documentTypeName"
    variable="Variable_TransactionSet"/>
    <bpelx:inputProperty name="b2b.documentProtocolVersion"
    variable="Variable_EDIVersionNo"/>
    *<bpelx:inputProperty name="b2b.actionName"*
    variable="Var_B2Baction"/>+
    </invoke>
    Defined variable ' Var_B2Baction' as string and assigned the expression as "concat('D:',bpws:getVariableData('Var_B2BBatchID'),':2:60')" and composite instance id expression "ora:getCompositeInstanceId()"mapped to 'Var_B2BBatchID' in BPEL.
    Run time :
    In application message of B2B coming the value as "b2b.actionName=D:608469:2:60". Here count coming as 2 but B2B is not grouping 2 transaction sets.Creating one EDI file for one transaction set.
    Why B2B is not considering incoming value "b2b.actionName=D:608469:2:60" for batching the transaction sets.
    Please suggest me the correct approach if i am wrong.
    Thanks&Regards,
    Sridhar.Rachumallu
    Edited by: sridhar.rachumallu on Sep 8, 2010 4:24 AM
    Edited by: sridhar.rachumallu on Sep 8, 2010 4:25 AM
    Edited by: sridhar.rachumallu on Sep 8, 2010 4:27 AM
    Edited by: sridhar.rachumallu on Sep 8, 2010 4:27 AM

  • Why does this script behavior change with the phase of the moon ?

    Can anyone from adobe corp or non-adobe volunteers tell me where to look in their docs to find out why this script change its behavior or how to use the debugger to figure out the same. I read the guide and the whole section on debugger and break points etc well.
    try{
    this.getField('Button4').strokeColor = color.red   ;
    app.setTimeOut( "this.getField('Button4').strokeColor = color.green ;" , 500 );
    app.setTimeOut( "this.getField('Button4').strokeColor = color.blue  ;" , 1000 );
    app.setTimeOut( "this.getField('Button4').strokeColor = color.red   ;" , 1500 );
    app.setTimeOut( "this.getField('Button4').strokeColor = color.green ;" , 2000 );
    app.setTimeOut( "this.getField('Button4').strokeColor = color.blue  ;" , 2500 );
    app.setTimeOut( "this.getField('Button4').strokeColor = color.red   ;" , 3000 );
    app.setTimeOut( "this.getField('Button4').strokeColor = color.green ;" , 3500 );
    app.setTimeOut( "this.getField('Button4').strokeColor = color.blue  ;" , 4000 );
    catch(e){}
    Sometimes the above script cycle thru all the colors in proper order and other time it get stuck.
    I have linked it to a button so its part of the button javascript.
    Is there a way to craft setTimeOut calls that it becomes a reliable delay ?
    How to craft it such that the file does not change and does not have to be saved ? This is wanted in addition but not the essential issue at the moment.
    Thanks,
    Rainbow

    MAXcount=20
    // Create a simple color animation on a field called “Color” that changes every second.
    function DoIt() {
      var f = this.getField("Button4");
      var nColor = (timeout.count++ % 10 / 10);
      // Various shades of red.
      var aColor = new Array("RGB", nColor, 0, 0);
      f.fillColor = aColor;
      console.println( 'change' + ' ' + nColor + '; count=' + timeout.count );
      if (timeout.count >= MAXcount)
        app.clearInterval ( timeout );
    console.show();
    console.clear();
    console.println('Start');
    // save return value as a variable
    timeout = app.setInterval("DoIt()", 1000);
    // Add a property to our timeout object so that DoIt() can keep a count going.
    timeout.count = 0;
    console.println('End of code');
    // And observe the results. I expect your new timer events are conflicting with each other. Note that in the above code the change is performed within the called function and not as new line of code.
    I ran it but did not follow your last comment and acrobat disk icon prompts for saving the file. Can anyone remove this "latter problem" ? Can it be solved by any means ?

  • TSV and DRecord on Solaris

    Hello,
    Currently I am trying to monitor my Java RealTime application that runs with Sun Java RTS 2.2 on Solaris 10, using the TSV tool (that comes with Java RTS 2.2) and the DTrace utility.
    The problem that I have is, that the "dmonitor" script (available under the <TSV_InstallDir>/bin directory), recommended to be used by the TSV documentation, will not work since the sched:::change-pri probe does not work. Please note that I have tried to use the drecord script as well, which also uses this DTrace probe, and it does not work either. (Please note that the dmonitor script only comes with the TSV delivered with Java RTS 2.2).
    The message I get is : “... in action list: args[ ] may not be referenced because probe description sched:::change-pri matches an unstable set of probes”.
    I have set the –x amin to the lowest in the dmonitor script (-x amin=Private/Private/Unknown) but the error stays.
    Maybe also important to mention is, that I am starting the "dtrace" tool using "pfexec", like "pfexec dtrace ....". I have adapted the drecord and dmonitor tools for that.
    For completeness, here's the dtrace script used by the dmonitor:
    script='
    BEGIN
       timeout = $1;
    profile:::tick-1s
      this->count++;
    profile-1s
    /this->count >= timeout/
      exit(0);
    sched:::on-cpu
    /pid == $target && self->on_cpu == 0/
        printf("%d on-cpu %d %d %d\n",timestamp,tid,cpu,curthread->t_pri);
        self->on_cpu = 1;
    sched:::off-cpu
    /pid == $target && self->on_cpu == 1/
        printf("%d off-cpu %d \n",timestamp,tid);
        self->on_cpu = 0;
    sched:::change-pri
    /pid == $target/
        printf("%d change-pri %d %d\n",timestamp,args[0]->pr_lwpid,args[2]);
    jrts$target:::thread-set-name
      printf("%d set-name %d %s\n",timestamp,(int)arg0,copyinstr(arg1,arg2));
    jrts$target:::thread-start
      printf("%d set-name %d %s\n",timestamp,(int)arg0,copyinstr(arg4,arg5));
    jrts$target:::user-event
        printf("%d user-event %d %d %d %s\n",timestamp,tid,cpu,curthread->t_pri,copyinstr(arg0,arg1));
    'Once I remove the sched:::change-pri probe completelly, the rest works.
    Thank you a lot in advance for any hints ;)
    Best regards,
    Sergiu Burian

    Sergiu,
    Thanks for the detailed post (my own copy of TSV was downrev and missing the very useful dmonitor script).
    This is very puzzling. The error message means that either:
    a) the probe did not exist when Dtrace was started; or
    b) the clause matches more than one probe
    and in both cases the argument array can not be typed so you can not use arg[n] syntax to access them.
    There are a couple of possible work-arounds:
    1. Be more specific with the probe. Trying editing the script to use sched:RT:rt_change_priority:change-pri
    Of course if you want all the priority-change events then you need to produce additional clauses for the TS class as well. The full list of probes seems to be:
      986      sched           genunix                 thread_change_pri change-pri
    1020      sched                TS                ts_change_priority change-pri
    1021      sched                TS                          ts_yield change-pri
    1022      sched                TS                         ts_wakeup change-pri
    1023      sched                TS                        ts_trapret change-pri
    1024      sched                TS                          ts_sleep change-pri
    1025      sched                TS                         ts_setrun change-pri
    1026      sched                TS                        ts_preempt change-pri
    2192      sched                FX                fx_change_priority change-pri
    2193      sched                FX                          fx_yield change-pri
    2194      sched                FX                         fx_wakeup change-pri
    2195      sched                FX                        fx_preempt change-pri
    2214      sched                RT                rt_change_priority change-pri2. Change the script to use arg0, arg1, arg2 rather than arg[0], arg[1], arg[2] (this might entail some type casting - sorry not really my area)
    I will see if I can find out anything which may have changed in this area.
    Thanks,
    David Holmes

  • Socket works, but read() is pending

    I am writing a POP3 proxy server. The Application catchs a POP3 connection of a client and connects to the real POP3 server. Then all the messages sent by the client goes through the application that redirects the messages to the POP3 server. It does also the reverse way (from the POP3 server to the POP3 client)
    The problem is that when the message is too big it is cut. The BufferedReader.read() command will not read all the data and the QUIT will be executed. But if you try to read from the server you will see that the rest of the data is there.
    I assume here that you have a big message with attachments as the message number one. Try to run the following code and change the variables m_host, USER yyyyy and PASS xxxxx.
    How could I solve this problem ?
    Any comments ideas will be appreciated
    Joao Araujo
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.net.Socket;
    public class test2 {
        private int m_port=110;                         // port to connect
        private static int m_timeout=120;                    // general timeout in seonds
        private boolean m_bReaderFailed=false;               // if the timeout is reached, then the reader failed
        private Socket serverSocket;                    // server socket
         void handleConnection()
              try {
              String m_host="pop.ig.com.br";     
              // connect to the real POP3 server
              serverSocket = new Socket (m_host, m_port);
              // get the server output stream
              BufferedWriter serverWriter = new BufferedWriter (new OutputStreamWriter( serverSocket.getOutputStream()),
                                                                            serverSocket.getSendBufferSize());
              // get the server input stream
              BufferedReader serverReader = new BufferedReader(new InputStreamReader(serverSocket.getInputStream()),
                        serverSocket.getSendBufferSize());
              String POPCommand="";
              String Answer=null;
              int commandCounter=0;
              while (true)
                   // read the answer from the server
                   Answer = getLineFromInputStream(serverReader);
                   // if the reader failed, exit
                   if (m_bReaderFailed)
                        break;
                   System.out.println("S: " + Answer);
                   // QUIT
                   if (POPCommand.toUpperCase().startsWith("QUIT"))
                        break;
                   // read the POP command from the client
                   POPCommand = simulatePOPComannd(commandCounter++) + "\r\n";
                   // if the reader failed, exit
                   if (m_bReaderFailed)
                        break;
                   System.out.println("C: " + POPCommand);
                   // write it to the POP server
                   serverWriter.write(POPCommand);
                   serverWriter.flush();
              }  // while
              // close the connections
              System.out.println("Closing Connection...");
              serverWriter.close();
              serverReader.close();
              } catch (Exception e) {
                   e.printStackTrace();
         }  // handleConnection
         private String getLineFromInputStream (BufferedReader reader)
              int counter=0;
              StringBuffer output = new StringBuffer("");
              try {
                   while (!reader.ready())  // not ready. Go to sleep...
                        counter++;
                        // if counter = timeout
                        if (counter==m_timeout)
                             m_bReaderFailed=true;
                             System.out.println("Timeout triggered.");
                        else
                             Thread.sleep(1000); // sleeps 1 second
                   // create
                   char buffer[] = new char[serverSocket.getReceiveBufferSize()];
                 while (reader.ready())
                      int ReadBytes = reader.read(buffer);
                      System.out.println("Bytes read : " + ReadBytes); 
                      output.append( buffer, 0, ReadBytes -1);
              } catch (Exception e) {
                   // reader failed
                   m_bReaderFailed=true;
                   e.printStackTrace();
              return output.toString();
         }  // getLineFromInputStream
         private String simulatePOPComannd(int x)
              switch (x)
               case 0:
                    return "USER yyyyy";
               case 1:
                    return "PASS xxxxxx";
               case 2:
                    return "STAT";
               case 3:
                    return "RETR 1";
               default:
                    return "QUIT";
        public static void main(String[] args) {
            test2 t = new test2();
            t.handleConnection();
            String msg=null;
    }

    I have read many messages on this topic (Socket programming) before and your answers were always helpful, ejp. Thanks again !
    The problem is how to set a functional timeout for all POP3 server in all of the world. Some servers are quicker, some are slower. Some clients use Modem, others use DSL.
    Furthermore some POP commands needs more time to become a answer from the real pop server than other commands. For example: PASS, LIST and RETR.
    I had tried already solutions with Socket.setSoTimeout() and BufferedReader.readLine(). I changed the source code and it works sometimes and sometimes doesn't. I could increase the timeout, but the answer time of the proxy would increase.
    Any ideas ?
              // connect to the real POP3 server
              serverSocket = new Socket (m_host, m_port);
              // set the timeout
              serverSocket.setSoTimeout(400);   // 0,4 seconds
         private String getLineFromInputStream (BufferedReader reader)
              int counter=0;
              StringBuffer output = new StringBuffer("");
              try {
                   String LineRead=null;
                   LineRead = reader.readLine();
                 while (LineRead!=null)
                      output.append(LineRead + "\r\n");
                      // read the next line
                      LineRead = reader.readLine() ;
              } catch (SocketTimeoutException ste) {
                   // timeout triggered
                   // if there is no data,  failed
                   if (output.length()==0)
                        m_bReaderFailed=true;
              }  catch (Exception e) {
                   // reader failed
                   m_bReaderFailed=true;
                   e.printStackTrace();
              return output.toString();
         }  // getLineFromInputStream

  • EJB Monitoring

    Hi
    I would like to find an api with resources to manage EJB monitoring. There is
    a tool for that in the weblogic console (that monitor can monitor Idle Beans ,Count
    Beans In Use, Count Waiter Total Count, Timeout Total Count, Transactions Committed
    Total Count, Transactions Rolled Back Total Count, Transactions Timed Out Total
    Count). I would like to know if it is posible to have access to the api weblogic
    use or if there is any api to handle ejb events for develop the monitoring tool).
    Thanks in advance.

    use the JMX api
    http://e-docs.bea.com/wls/docs61/jmx/overview.html#1024175
    "Alvaro" <[email protected]> wrote in message
    news:3c73a799$[email protected]..
    >
    Hi
    I would like to find an api with resources to manage EJB monitoring. Thereis
    a tool for that in the weblogic console (that monitor can monitor IdleBeans ,Count
    Beans In Use, Count Waiter Total Count, Timeout Total Count, TransactionsCommitted
    Total Count, Transactions Rolled Back Total Count, Transactions Timed OutTotal
    Count). I would like to know if it is posible to have access to the apiweblogic
    use or if there is any api to handle ejb events for develop the monitoringtool).
    Thanks in advance.

  • USB-6211 - Getting Error 50103 when attempting to use two counter method

    I am using a USB-6211 and want to measure the speed of a motor by counting pulses coming back from sensors on the motor. Speed will vary from 0 to about 5k Hz.
    My strategy is to use "Method 2" in the manual to measure using two counters.  To do this I am attempting to generate pulses of known duration with Counter 0, route these pulses to the gate of Counter 1, send the motor pulses into the source of the counter1 and letting the counter determine and report the number of pulses that occur during the "gate time".
    To get the pulse generator going at 8,333 Hz I do this:
    AGniDAQmx_CreateTask(instrHandle,"TimingPulses, Task_Handle8)
    AGniDAQmx_CreateCOPulseChanFreq(instrHandle, Task_Handle8,"Dev1/Ctr0","Out",DAQmx_Val_Hz,0,8.333,0.5)
    AGniDAQmx_CfgImplicitTiming(instHandle, Task_Handle8, DAQmx_ValContStamps,1000)
    AGniDAQmx_StartTask(instrHandle, Task_Handle8)
    This works fine.  (By the way, I do stop and clear the task before exiting.)
    Now I add this code in a new task to try to use the Counter0 pulses to measure the input pulses with Counter1.
    AGniDAQmx_CreateTask(instrHandle,"MotorPulses, Task_Handle5)
    AGniDAQmx_CreateCIFreqChan(instrHandle,Task_Handle5,"Dev/ctr1",MotorPulses,0,10k,DAQmx_Val_Hz,DAQmx_Val_Rising,DAQmx_ValHighFreq2Ctr,0.12,10,"")
    AGniDAQmx_ReadCounterScalarU32(instrHandle,Task_Handle5,10,E)
    AGniDAQmx_ClearTask(instrHandle,Task_Handle5)
    This function fails on the CreateCIFreqChan() call with an DAQMXError 50103.
    Apparently Counter1 resources are being tied up by Counter0.  Is this true?
    Any suggestions?
    Thanks,
    -CBJohnson

    Hi Mallori,
    Thanks for the great reply message.  I do appreciate your help.
    Yes, I think you understand my application.  The motor can turn from zero to about 5K RPM and one pulse is generated with each turn of the motor.
    This application is using Agilent VEE but the statements are "C-like" so that's why I posted them like that.  I can't "cut-and-paste" directly from the VEE statements and I have to type them.  I mis-typed the Implicit Timing statement.  It was missing an "_".  It should have been:
    AGniDAQmx_CfgImplicitTiming(instrHandle,Task_Handle8,DAQmx_Val_ContStamps,1000)
    I think I understand what you are saying about DAQmx_Val_HighFreq2Ctr using the resources from both counters  That explains why I get the message about resources not being available.  
    I have tried to use Counter Method 1 and it *almost* worked.  A problem comes about when the motor speed is zero (stopped) and, since these motor pulses are being fed into the Gate of the counter, the zero value makes it simply time out.  Increasing the timeout value to infinite (-1) makes the entire program hang.  I need it to go on -- looking for other user input, reporting other data being collected, etc. If the counter is waiting for the Gate signal to rise to start counting and to drop to stop counting and do the calculation, it will not work since it just times out.  I went to this counter method (actually called counter method 3 in the DAQ manual) because then I am trying to generate the pulses of known period and send these pulses to the Gate.  Then I am feeding my pulses into the Source of the counter and letting it determine how many pulses occured during the "gate time".  In this case, zero pulses during the "gate time" should be OK; it should simply report that zero pulses were detected and start counting again on the next rise of the Gate pulse.  I thought I could simpy adjust the length the "gate time" to measure my range of frequencies.
    Make sense?  Any way to do this with the two counters of the USB-6211?
    Thanks, Mallori,
    -Craig

  • Locker failed to offer due to timeout.Please increase worker thread count by increasing DeferredWorkerThreadCount in mediator-config.xml

    Can some one please assist me to get rid of the below error when trying to bring up the SOA services in Weblogic?
    "Locker failed to offer due to timeout.Please increase worker thread count by increasing DeferredWorkerThreadCount in mediator-config.xml"
    We tested the agent, node manager and everything seems to be working fine. Its persistent in UAT environment which is a clustered environment. 1st managed server for SOA is having the issue while the second one is working fine. Below are the list of manages servers in the env:
    2 managed servers for ADF,
    2 managed servers for BAM,
    2 managed servers for SOA,
    2 managed servers for WSM.
    The affected SOA1 managed server was working fine till last week and there were no changes made to the environment. Please let me know if I can furnish any further info.
    Thanks!
    Nidhi Gangadhar.
    WebLogic PortalSOA Suite

    Can some one please assist me to get rid of the below error when trying to bring up the SOA services in Weblogic?
    "Locker failed to offer due to timeout.Please increase worker thread count by increasing DeferredWorkerThreadCount in mediator-config.xml"
    We tested the agent, node manager and everything seems to be working fine. Its persistent in UAT environment which is a clustered environment. 1st managed server for SOA is having the issue while the second one is working fine. Below are the list of manages servers in the env:
    2 managed servers for ADF,
    2 managed servers for BAM,
    2 managed servers for SOA,
    2 managed servers for WSM.
    The affected SOA1 managed server was working fine till last week and there were no changes made to the environment. Please let me know if I can furnish any further info.
    Thanks!
    Nidhi Gangadhar.
    WebLogic PortalSOA Suite

  • USB 6211 Counter

    Hi.  Does anyone know how I can drive a 0-12V PWM device with the 6211?  How can I control the frequency of the pulse?
    Thanks!

    Hi Seascan, 
    What type of application are you working with in regards to PWM and this device?  The 6211 does not support hardware timing, therefore the duty cycle/frequency will update as fast as the processor can handle or execute.  There was a similar question on using PWM with the USB-6211 on a previous forum.  Have a look at it here and if you have any further questions please let me know.  
    http://forums.ni.com/t5/Counter-Timer/NI-DAQmx-M-Series-Pulse-Width-Modulation-PWM-not-working-with/...
    Regards,
    Ben N.
    Applications Engineering
    ni.com/support

  • Externally controlled counter direction with USB-6211

    I am using a USB-6211 and created a simple read counter application with the DAQ Assistant. It counts pulses (1 sample on demand) on Counter 0 (PFI0). When I set Direction to Externally Contolled it does not work properly. It counts random up and down. According to the manual my direction input line is Ctr 0 B (PFI1), but the level of this pin has no effect. What am I doing wrong?

    Hello Steffan,
    According to the following Knowledge Base you have cannot use the default settings wehn trying to externaly control the direction of the counter:
    http://digital.ni.com/public.nsf/allkb/1A8818274130FA388625722E00760CC9?OpenDocument
    Since these changes cannot be done in the DAQ assistant you have to use the DAQmx API to resolve this. I have attached a small example that does a simple event count on the source pin of counter 0 (which is also the A input of the counter). With a property node I have set the Counter Direction input terminal to PFI 1 (which is the B input). Now when the PFI 1 is low you will count up, when it is high you will count down.
    hope this helps,
    Regards,
    RikP - National Instruments Applications Engineering
    Message Edited by RikP on 06-05-2008 10:12 AM
    Rik Prins, CLD
    Applications Engineering Specialist Northern Europe, National Instruments
    Please tip your answer providers with kudos.
    Any attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system,
    or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject
    to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense
    Attachments:
    Count Digital Events Up-Down USB-621x.vi ‏33 KB

Maybe you are looking for

  • Distilling QuarkXpress 7 file in Acrobat 9 Standard

    When trying to distill a QuarkXpress7 file for uploading to the printers to the Pass4Press standards, I get the following message in the log - it is driving me crazy as this file needs to go off urgently! (This log is from one test page I attempted t

  • Syncing Music to my mini 4GB on windows vista

    i try to sync music to my mini on windows vista and it works but like once in a blue moon and it only works on like 1 song thats it a while ago i had like 60 songs on it but i did it on a different computer and operating system which was windows xp t

  • DD multiples, perte du chemin d'accès aux photos

    Bonjour à tous, Je souhaite transférer toutes mes photos depuis un DD externe vers un autre DD externe. Mes photos sont réparties dans des dossiers par séance photo, toutes logées dans un dossier "images". Comment faire pour ne pas perdre le chemin d

  • Photoshop as external editor

    When using elements 12 as an external editor from aperture the elements opens but no photo appears. In elements 9 it worked fine. Do I have a set up issue? It worked fine with elements 9 always worked well.

  • Keyboard in Flex ?

    Hi, I need to build a Keyboard for my Flex project , are there a ways or libraries to make it without build the keyboard button by button it take so much time ?