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
-
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 KBHi 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 -
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 AMHi 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 -
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 AMHi 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,
RainbowMAXcount=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 ? -
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 BurianSergiu,
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 -
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,
-CBJohnsonHi 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 -
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 SuiteCan 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 -
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
-
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.
-
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 ?