Curve Tracer Program

Hi
I am working on a Curve Tracer project. The purpose of the project is to plot the Current Voltage curves of two and three terminal devices like diodes and transistors. I have a dll file of the program that performs the required function. But the program that I have is of a older version of LabView ( don�t know which version). Is it possible in anyway to convert the whole program( including the sub vi�s ) into LabView 7.0. In the program I have 2 AO channels and 4 AI channels connected to the DAQ board. If you want me to send more information on what I am trying to achieve I can do that.
Thanks
Attachments:
ctrproto.llb ‏160 KB

Hi
Sorry for the confusion I am creating. I was of the belief that I needed use the DAQ assist wizard (version 7.0) to configure the input and the output channels. According to what I think( please correct me if i am wrong) the version 6.0 has a different method of configuring the AI and AO channels and you need to mention the Vout and Vin and buffer rate individually, where as in the DAQ assist wizard ( version 7.0) you can do all this by going though the wizard and the whole step is shown in one icon ( which contains input range, scan rate ). Now my question is do I need to change the AI and AO channels according to version 7.0 DAQ assist wizard or use the orignal program ( version 6.0) and use the channels
mentioned in it AI 3,2,1,0 channels and AO 1,0 channels.
In the program I am trying plot the current and voltage of a two or three terminal device. The Analog output channel AO(1) drives the input side of the device and sets a series of constant levels which is set on the front panel of the VI and AO(0) drives the output side of the device, giving a linear sweep between two levels set in the front panel. The AI is used to measure the values at four different points on the circuit ( figure I am attaching as an attachment). I am sorry for not being more detailed in my earlier mails.
The two questions I have is
1. Do I need to you the DAQ assist ( version 7.0) in the program and if yes what changes do I need to bring about from the original author's VI.
2. If I using the version 6.0 program , do I need to do anyother configuration or can I straight away use the DAQ channels 0, 1, 2, 3 as Analog input channels and 0, 1 in case of the Analog output channels.
Thank you ag
ain for helping me.
Attachments:
Circuit_Diagram.doc ‏64 KB
CTR.pdf ‏670 KB

Similar Messages

  • Which language is better to develop the software that controls the Tektronix-Sony 370A Curve tracer and how to approach it?

    Which language is better to develop the software that controls the Tektronix-Sony 370A Curve tracer and how to approach it. I a a fresher in this field. Please any one help us developing the software.

    If you're looking to develop a driver for the instrument, one already exists and can be download here or you can get it off of the driver disk that comes with LabVIEW. If you're asking for the best language in which to write an application program that uses the driver, the obviously the answer is going to be LabVIEW. Note that you might get a different answer if you post the question to a Visual Basic or C++ forum but those answers would be wrong.
    Message Edited by Support on 11-26-2008 01:33 PM
    Message Edited by Support on 02-17-2009 09:30 AM

  • I can't find and stet up the Cisco packet tracer program in my Macbook , i need help?

    i can't find and stet up the Cisco packet tracer program in my Macbook , i need help?

    Check my post
    http://rafavg77.wordpress.com/2013/09/07/como-empaquetar-packet-tracer-exe-a-una -app-nativa-en-mac-os-x/
    I think it will help, sorry for my english

  • Does anybody know how to modify the driver for the Tektronix 370A curve tracer so that it will work with the 370B?

    I am trying to control a Tektronix 370B curve tracer using LabView via a GPIB interface. However, there are no drivers available for download for the 370B. There is one available for the 370A, but it is not compatible with the 370B and I have been unable to figure out how to modify it to make it work with the 370B. Does anyone know how to modify this driver, or know of an existing driver that works with the 370B? Thanks!

    Hi S _Bracht,
    Yeah, unfortunately, the Tektronix 370B does not currently have an instrument driver and the driver for the 370A is not supported by National Instruments (it is just posted on our website as a courtesy) - so I am afraid that there is not really any more information on the differences that might exist between the two available from National Instruments.  As an alternative, you can always develop your own driver using the VISA and 488.2 drivers + a copy of the user manual for the Tektronix 370B.  Otherwise, you may consider speaking with Tektronix or getting ahold of a User Manual for the 370A and comparing some of the settings - there are likely some differences in your configuration options at the very least.  Or, if someone out there has tackled this before and shares their knowledge...
    Good luck! 
    Regards,
    Anna M.
    National Instruments

  • Troubleshooting of 370 A tektroniks curve tracer. Output get disabled when we increase the current to the device.how to troubleshoot?

    Output get disabled for Tektronics 370 A curve tracer when i apply current to the device from curve tracer. Please give me some iea to troubleshoot the problem.

    hello,
    i don't have tools needed but , i see one thing is that you enqueue 
    every time you are greater 3 that means about every 2-3 ms so consumer is really   sought
    is it really what you want ?
    may be you want to start on a treshold so you can use a treshold fonction 
    if i don't make mistake your square is 10 hz and the daq is configured 25000 sample 25000 hz
    so you aquire 1s of signal every 100ms , there is something to correct
    make tests and tell us
    Regards
    Tinnitus
    CLAD / Labview 2011, Win Xp
    Mission d'une semaine- à plusieurs mois laissez moi un MP...
    RP et Midi-pyrénées .Km+++ si possibilité de télétravail
    Kudos always accepted / Les petits clicks jaunes sont toujours appréciés
    Don't forget to valid a good answer / pensez à valider une réponse correcte

  • JFET Curve Tracer Problem

    Hello All,
    I have tried everything to get this circuit to work, but it just won't cooperate. I put it on a breadboard and used myDAQ as a function generator and it worked just fine on an old Tektronics scope. Why won't this puppy run under Multisim? The URL for the design is: simple-circuit-turns-scope-function-generator-jfet-curve-tracer
    Thanks,
    -Barry

    Hi Barry,
    It looks like the problem is R1, move it around and you will see the problem.
    I replaced the Tektronix scope with the 2-channel, the B/A button is easier to access.
    Tien P.
    National Instruments
    Attachments:
    JFET Curve Tracer_b.ms13 ‏186 KB

  • Does NI have a LabVIEW vi to simulate a curve tracer?

    Does any version of LabVIEW have a vi in its library to simulate a curve tracer, or would the user need to design it him/herself?
    Thanks very much.

    Hi Lynne12,
    LabVIEW does not have a VI to simulate a curve tracer. You can search the forums for threads like this thread of people simulating curve tracers.
    Mike Lyons
    National Instruments
    http://www.ni.com/devzone

  • Trace For -Loop variable

    I am trying to trace for-loop . The counter variable does not show the last value in the stack frame variables. For example if my code is as:
    public class ForCounter
    public static void main(String args[])
    for (int i =0;i<=5;i++)
    System.out.println(i);
    }My output is as:
    Event Location =ForCounter:5
    ForCounter.java:5 in method main() ****
    java.lang.String[] args = instance of java.lang.String[0] (id=38)
    Event Location =ForCounter:7
    ForCounter.java:7 in method main() ****
    java.lang.String[] args = instance of java.lang.String[0] (id=38)
    int i = 0
    Event Location =ForCounter:5
    ForCounter.java:5 in method main() ****
    java.lang.String[] args = instance of java.lang.String[0] (id=38)
    int i = 0
    Event Location =ForCounter:7
    ForCounter.java:7 in method main() ****
    java.lang.String[] args = instance of java.lang.String[0] (id=38)
    int i = 1
    Event Location =ForCounter:5
    ForCounter.java:5 in method main() ****
    java.lang.String[] args = instance of java.lang.String[0] (id=38)
    int i = 1
    Event Location =ForCounter:7
    ForCounter.java:7 in method main() ****
    java.lang.String[] args = instance of java.lang.String[0] (id=38)
    int i = 2
    Event Location =ForCounter:5
    ForCounter.java:5 in method main() ****
    java.lang.String[] args = instance of java.lang.String[0] (id=38)
    int i = 2
    Event Location =ForCounter:7
    ForCounter.java:7 in method main() ****
    java.lang.String[] args = instance of java.lang.String[0] (id=38)
    int i = 3
    Event Location =ForCounter:5
    ForCounter.java:5 in method main() ****
    java.lang.String[] args = instance of java.lang.String[0] (id=38)
    int i = 3
    Event Location =ForCounter:7
    ForCounter.java:7 in method main() ****
    java.lang.String[] args = instance of java.lang.String[0] (id=38)
    int i = 4
    Event Location =ForCounter:5
    ForCounter.java:5 in method main() ****
    java.lang.String[] args = instance of java.lang.String[0] (id=38)
    int i = 4
    Event Location =ForCounter:7
    ForCounter.java:7 in method main() ****
    java.lang.String[] args = instance of java.lang.String[0] (id=38)
    int i = 5
    Event Location =ForCounter:5
    ForCounter.java:5 in method main() ****
    java.lang.String[] args = instance of java.lang.String[0] (id=38)
    int i = 5
    Event Location =ForCounter:10
    ForCounter.java:10 in method main() ****
    java.lang.String[] args = instance of java.lang.String[0] (id=38)
    *{color:#ff0000}the variable i doesnt get the value 6 as I expected in the comparison process? Any idea How can I see that?*
    *As I understood , the variable i values incremented and at the last step when the comparison failed the body of the for loop doesnt execute. ( 6 is not <= 5){color}*

    I am posting the code here to see what I mean. I need to compare these 2 programs that produces the same output. The stack frame trace must be the sme, but when I run the code on them. it doesn't work. I wish to know why in the for loop the value of i doesn't reach the value 4 as it showes in normal debugging. I am really thanx for your help.
    The two programs that I am comparing is:
    1-
    public class WhileCounter
         public static void main(String args[])
              int i = 0;
             while ( i <= 3)
                   System.out.println(i);
                  i++;
    and
    2-
    public class ForCounter
         public static void main(String args[])
              for (int i =0;i<=3;i++)
                   System.out.println(i);
    The Trace program that I am using is :
    // ****** Trace.java ******
    import java.io.*;
    import java.util.*;
    import com.sun.jdi.*;
    import com.sun.jdi.request.*;
    import com.sun.jdi.event.*;
    import com.sun.jdi.connect.*;
    class Trace {
        // Running remote VM
        private final VirtualMachine vm;
        // Thread transferring remote error stream to our error stream
        private Thread errThread = null;
        // Thread transferring remote output stream to our output stream
        private Thread outThread = null;
         * main
        public static void main(String[] args) {
         new Trace(args);
         * Launch target VM.
         * Generate the trace.
        Trace(String[] args) {
         PrintWriter writer = new PrintWriter(System.out);
         // Launch target VM - Foo is the class to be executed
            vm = launchTarget("WhileCounter");
            generateTrace(writer);
         * Generate the trace.
         * Enable events, start thread to display events,
         * start threads to forward remote error and output streams,
         * resume the remote VM, wait for the final event, and shutdown.
        void generateTrace(PrintWriter writer) {
            vm.setDebugTraceMode(VirtualMachine.TRACE_NONE);
            EventThread eventThread = new EventThread(vm, writer);
            eventThread.start();
            redirectOutput();
            vm.resume();
            // Shutdown begins when event thread terminates
         try {
             eventThread.join();
             errThread.join(); // Make sure output is forwarded
             outThread.join(); // before we exit
         } catch (InterruptedException exc) {
             // we don't interrupt
         writer.close();
         * Launch target VM.
         * Forward target's output and error.
        VirtualMachine launchTarget(String mainArgs) {
         LaunchingConnector connector = findLaunchingConnector();
         Map arguments = connectorArguments(connector, mainArgs);
            try {
             return connector.launch(arguments);
            } catch (IOException exc) {
                throw new Error("Unable to launch target VM: " + exc);
            } catch (IllegalConnectorArgumentsException exc) {
                throw new Error("Internal error: " + exc);
            } catch (VMStartException exc) {
                throw new Error("Target VM failed to initialize: " +
                       exc.getMessage());
        void redirectOutput() {
            Process process = vm.process();
            // Copy target's output and error to our output and error.
            errThread = new StreamRedirectThread("error reader", process.getErrorStream(), System.err);
            outThread = new StreamRedirectThread("output reader",process.getInputStream(), System.out);
            errThread.start();
            outThread.start();
         * Find a com.sun.jdi.CommandLineLaunch connector
        LaunchingConnector findLaunchingConnector() {
            List<Connector> connectors = Bootstrap.virtualMachineManager().allConnectors();
            for(Connector connector: connectors)
                if (connector.name().equals("com.sun.jdi.CommandLineLaunch"))
                    return (LaunchingConnector)connector;
            throw new Error("No launching connector");
         * Return the launching connector's arguments.
        Map connectorArguments(LaunchingConnector connector, String mainArgs) {
            Map arguments = connector.defaultArguments();
            Connector.Argument mainArg =
                            (Connector.Argument)arguments.get("main");
            if (mainArg == null) {
                throw new Error("Bad launching connector");
         mainArg.setValue(mainArgs);
         // Need a VM that supports watchpoints
         Connector.Argument optionArg = (Connector.Argument)arguments.get("options");
         if (optionArg == null) {
             throw new Error("Bad launching connector");
         optionArg.setValue("-classic");
         return arguments;
    import java.io.*;
    import java.util.*;
    import com.sun.jdi.*;
    import com.sun.jdi.request.*;
    import com.sun.jdi.event.*;
    import com.sun.jdi.connect.*;
    class EventThread extends Thread {
        private final VirtualMachine vm;   // Running VM
        private final PrintWriter writer;  // Where output goes
        private boolean connected = true;  // Connected to VM
        private boolean vmDied = true;     // VMDeath occurred
        // Maps ThreadReference to ThreadTrace instances
        private Map traceMap = new HashMap();
        EventThread(VirtualMachine vm, PrintWriter writer) {
            super("Event-Handler");
            this.vm = vm;
            this.writer = writer;
         * Run the event handling thread.
         * As long as we are connected, get event sets off
         * the queue and dispatch the events within them.
        public void run() {
            EventQueue queue = vm.eventQueue();
            while (connected) {
                try {
                    EventSet eventSet = queue.remove();
              for(Event e: eventSet)
                  handleEvent(e);
                    eventSet.resume();
                } catch (InterruptedException exc) {
                    // Ignore
                } catch (VMDisconnectedException discExc) {
                    break;
         * This class keeps context on events in one thread.
         * In this implementation, context is the indentation prefix.
        class ThreadTrace {
            final ThreadReference thread;
         ThreadTrace(ThreadReference thread) {
                this.thread = thread;
                // Create step event which will step through all lines
                EventRequestManager mgr = vm.eventRequestManager();
                StepRequest req = mgr.createStepRequest(thread,
                                                        StepRequest.STEP_LINE,
                                                        StepRequest.STEP_INTO);
                req.setSuspendPolicy(EventRequest.SUSPEND_ALL);
                 req.addClassFilter("WhileCounter");
                req.enable();
         private void println(String str) {
             writer.println(str);
         void printStackFrame(StackFrame sf) {
             try {
              for(LocalVariable localvar: sf.visibleVariables()) {
                  println("Local variable: " + localvar.name() + " = "+sf.getValue(localvar));
             } catch(AbsentInformationException e) {
              println("Got AbsentInformationException");
         void stepEvent(StepEvent event)  {
             try {
              if(!event.thread().frame(0).location().sourceName().equals("WhileCounter.java"))
                  return;
             } catch(Exception e) {
              return;
             try {
              StackFrame sf = event.thread().frame(0);
              println("\n**** " + sf.location().sourceName() +
                   ":" + sf.location().lineNumber() +
                   " in method " + sf.location().method().name() + "() ****");
              for(StackFrame s: event.thread().frames()) {
                  printStackFrame(s);
             } catch(Exception e) {
              //foo
         * Returns the ThreadTrace instance for the specified thread,
         * creating one if needed.
        ThreadTrace threadTrace(ThreadReference thread) {
         return (ThreadTrace)traceMap.get(thread);
         * Dispatch incoming events
        private void handleEvent(Event event) {
         if (event instanceof StepEvent) {
             stepEvent((StepEvent)event);
         } else if(event instanceof VMStartEvent) {
             startEvent((VMStartEvent)event);
        // Create entry in traceMap
        private void startEvent(VMStartEvent event) {
         traceMap.put(event.thread(), new ThreadTrace(event.thread()));
        // Forward event for thread specific processing
        private void stepEvent(StepEvent event)  {
         threadTrace(event.thread()).stepEvent(event);
    import java.io.*;
    import java.util.*;
    import com.sun.jdi.*;
    import com.sun.jdi.request.*;
    import com.sun.jdi.event.*;
    import com.sun.jdi.connect.*;
    * StreamRedirectThread is a thread which copies it's input to
    * it's output and terminates when it completes.
    class StreamRedirectThread extends Thread {
        private final Reader in;
        private final Writer out;
        private static final int BUFFER_SIZE = 2048;
         * Set up.
         * @param name  Name of the thread
         * @param in    Stream to copy from
         * @param out   Stream to copy to
        StreamRedirectThread(String name, InputStream in, OutputStream out) {
         super(name);
         this.in = new InputStreamReader(in);
         this.out = new OutputStreamWriter(out);
         setPriority(Thread.MAX_PRIORITY-1);
        public void run() {
            try {
             char[] cbuf = new char[BUFFER_SIZE];
             int count;
             while ((count = in.read(cbuf, 0, BUFFER_SIZE)) >= 0) {
              out.write(cbuf, 0, count);
                out.flush();
         } catch(IOException exc) {
             System.err.println("Child I/O Transfer - " + exc);
    The output from WhileCounter.java
    --------------------Configuration: <Default>--------------------
    Warning: classic VM not supported; client VM will be used
    0
    1
    2
    3
    **** WhileCounter.java:5 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    **** WhileCounter.java:6 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Local variable: i = 0
    **** WhileCounter.java:8 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Local variable: i = 0
    **** WhileCounter.java:9 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Local variable: i = 0
    **** WhileCounter.java:6 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Local variable: i = 1
    **** WhileCounter.java:8 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Local variable: i = 1
    **** WhileCounter.java:9 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Local variable: i = 1
    **** WhileCounter.java:6 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Local variable: i = 2
    **** WhileCounter.java:8 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Local variable: i = 2
    **** WhileCounter.java:9 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Local variable: i = 2
    **** WhileCounter.java:6 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Local variable: i = 3
    **** WhileCounter.java:8 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Local variable: i = 3
    **** WhileCounter.java:9 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Local variable: i = 3
    **** WhileCounter.java:6 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Local variable: i = 4
    **** WhileCounter.java:12 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Local variable: i = 4
    Process completed.
    The output for ForCounter.java is
    --------------------Configuration: <Default>--------------------
    Warning: classic VM not supported; client VM will be used
    0
    1
    2
    3
    **** ForCounter.java:5 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    **** ForCounter.java:7 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Local variable: i = 0
    **** ForCounter.java:5 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Local variable: i = 0
    **** ForCounter.java:7 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Local variable: i = 1
    **** ForCounter.java:5 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Local variable: i = 1
    **** ForCounter.java:7 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Local variable: i = 2
    **** ForCounter.java:5 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Local variable: i = 2
    **** ForCounter.java:7 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Local variable: i = 3
    **** ForCounter.java:5 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Local variable: i = 3
    **** ForCounter.java:10 in method main() ****
    Local variable: args = instance of java.lang.String[0] (id=29)
    Process completed.

  • Problem multiplying a double

    Hi All,
    I have some code where I do something like
    for (int i=0;i<11;i++) {
    double currentValue = i * 0.01;
    System.out.println(currentValue);
    The result is
    0.09
    0.19
    0.29
    0.39
    0.49
    0.59
    0.690000000000001
    0.79
    etc.....
    How can I prevent the extra decimal points.
    I know I could just cat the value to a string and
    watch the lenght, then if its too long I can substring
    out 4 chars. But I was wondering if I can prevent the
    calculation frmo doing this.
    Thanks,
    Pat

    Ok here is the fix, I think people should always post the fix.
    Dont forget to import java.text.DecimalFormat
    Here is the actual code. The stuff I posted earlier was
    a simple example. The actual code is a program that
    graphs a curve trace of a diode.
             for (int i=0; i < points.size(); i++) {
                g.fillRect(i*4+1,12,1,5);
                point = (Point)points.get(i);
                if (point.x%10 == 0) g.fillRect(i*4+1,6,1,11);
                double currentStep = i * currentStepValue;
                DecimalFormat df = new DecimalFormat("##0.000");
                if (point.x%10 == 0) {
                   g.drawString(""+df.format(currentStep),i*4+1,10);
          }The part that fixes the precision problem is
    DecimalFormat df = new DecimalFormat("##0.000");
    g.drawString(""+df.format(currentStep),i*4+1,10);
    or in the simple example I used the fix is :
    for (int i=0;i<11;i++) {
       double currentValue = i * 0.01;
       DecimalFormat df = new DecimalFormat("##0.000");
       System.out.println(df.format(currentStep);
    }I hope this helps someone :)
    [email protected]

  • Drawing a realistic aircraft propeller blade

    Find myself a bit stumped on this one. I'm working on a logo that needs to have what appears to be wooden propeller blades (4) projecting from a center hub. I've looked everywhere trying to find some examples on how to draw realistic blades, i.e. proper curves and shading to show pitch etc. not just flower petals, but only come up with sites that have working drawing for manufacturing them. Looked over previous comments from 06/07 but Teri's suggestions only appear to show how to do a polar rotation. Any ideas or sites to search is greatly appreciated.
    BTW, using CS3, WIN XP Pro
    Thx in advance.

    > I did several samplings with LiveTrace to see what the linework might entail.
    If I'm reading this comment correctly, you may have a gross misunderstainding of what auto-tracing (LiveTrace) is all about.
    In almost all cases, running an auto trace on a raster image would in no way yield results that one would use as an "instructional guide" for the proper way to draw something deliberately from scratch. An auto trace program simply tries to scribe a path around a group of contiguous same-colored pixels. Even doing that, its result is seldom indicative of the *optimum* path that could be drawn to describe the intended shape. Most autotrace programs have no "intelligence" to discern what the shape *is supposed to be.*
    The following is not meant to beat up on you, so don't take offense. This is one of those kinds of topics which recur here often, so the rest of this is not directed specifically at you, but is offered to all those who have posted (or will) similar questions.
    "How do I draw a...." questions like this appear all the time. Such questions are very difficult to answer without alot of guesswork, when the questioner fails to provide any indication of the desired *stylistic* results.
    You do not say what part of the illustration you are having trouble with. I assume it is not the sillouette or profile of the whole blade itself, but a treatment of the shading that would be necessary to suggest the twist of the blade.
    Shading can be suggested in many different ways, and the problem of shading the surface of a propeller blade is no different from that of any other subject. The method chosen depends upon the desired style, and the practical/ limitations of the intended use.
    You only say you are creating a "logo" (a grossly overused term these days), that it needs to specifically be a "wooden" blade, and that you want it to appear "realistic." Those may very well be contradictory requirements.
    WhenEVER you use "how do I draw..." and "logo" in the same breath, you really should include some parameters:
    - Continuous-tone or Line-art?
    - Number of colors?
    - Spot color or process color?
    - Intended usage? (Print, web, signage, video? All of those? Some of those? Only one of those?)
    - Scaling reqirements? (Billboards? Pencil imprints?)
    Most actual identity marks ("logos") have to be very versatile in terms of reproduction--everything from full-color print brochures and placement ads to signage to embroidered golf shirts to tiny imprints on ballpoint pens. That usually means that the base logo must be tastefully designed to the lowest common denominator of one or two color line art--which by definition is very stylized and not what one would usually call "realistic." It also may preclude the kind of detail necessary to suggest a specific texture or material (in this case, wood).
    You can create "realistic" shading in programs like Illustrator in several ways: Blends, Gradient Fills, or Mesh Gradients. And you can even make them resemble woodgrain. But those techniques imply (at least) continuous-tone artwork, which rules out many common uses of proper identity marks.
    You can create highly-stylized, "shading" by employing a number of line art techniques: hatching, parallel lines, dot screens, posterization. But those techniques are not what one would call "realistic."
    If you need the design to be robust enough to withstand extreme reduction, then you may have to sacrifice the woodgrain requirement. If the woodgrain requirement is critial or central to the mesage, then you probably will have to come up with a way to depict it and sacrifice something else; for example design the mark as a zoomed-in detail of the propeller, that symbolically suggests a twist, rather than trying to depict an entire propeller.
    "How to draw a...." questions, whether from vector newcomers or longtime users, are most of the fun in this forum. But I (and others here) could draw "propellers" all day long and still not hit upon what you need or have in mind. So when the question is vague, or ambiguous, we often just pass. That's why a stylistic example and/or some definitive parameters are needed.
    JET

  • Plot XY graph from while loop

    I am trying to make a curve tracer with a DC power supply, DAQ, and Labview 7.1. Everything is ok, until I want to plot an x-y plot from a while loop. I can do this function fine using a for loop and cluster cells, but I need the while loop for the interruption function. When I change to the while loop, it had data formating issues, but I believe I have it to something that should work. It seems like my xy plots want to graph (the auto scale moves the axis respectively) but I do not get a line. I'm not sure if Labview is seing this as just one point and not an array, or if there is a labview bug. Attached is my code with a few different trials to make an xy plot. If anyone can be of help I would be very thankful.
    -Jon
    Attachments:
    Curve_trace_w_relays_while.vi ‏122 KB

    If it works in a FOR loop, but nor in a while loop, most likely your output tunnels are not autoindexing (FOR: on by default, WHILE: off by default). Right-click on the output tunnels and select "enable indexing".
    If you want to watch your graph update during the while loop, you could accumulate your x and y data in a shift register and graph it. (See attached modification).
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    Curve_trace_w_relays_whileMOD.vi ‏74 KB

  • Using XY Graph to plot current and voltage

    Hi,
       I'm making an I-V curve tracer, and am hoping to plot current and voltage measurements I'm acquiring onto an XY Graph in realtime.  I'm using Labview 2010 on Windows Vista, with the VISA drivers installed; my acquisition hardware is an Arduino Uno communicating over USB to serial via VISA drivers.
    My data is coming in over the serial port formatted like "voltage,current":
    237,521
    320,402
    I've read through the relevant documentation for the graph builder, the 4 samples included with LabView, and quite a few posts on this forum.  I modified Jazlan's sample VI to read the current and voltage, and display the values on the front panel - it works just fine.  However, when I wire those values to an Express XY Graph builder (and set the 'clear data on each call' property to false) and run the software, it just sort of freezes... I try to stop it, but it keeps running for about 10-20 seconds.  The current/voltage values are not updated, nor is anything displayed in the XY graph.
    Am I not sending the correct input to the graph builder?
    Should I just wire up my values directly to the XY graph by concatenating values to an array, and then clustering it?
    Also, on the right border of my case structure, one of the orange squares is not solid - how do I fix that?
    any help much appreciated!
    imran
    Attachments:
    block.jpg ‏140 KB
    project.vi ‏76 KB

    thanks for the tip Tim,
        I wired up the stop button to the VISA close block, and now I'm able to run and stop it multiple times without freezing.
    1)  I know how to add shift registers, but why do I need one?  It doesn't seem like I need to pass values from one iteration of the while loop to another...
    regards,
    imran
    Attachments:
    project.vi ‏43 KB

  • Want help to execute the programm of MethodEntryEvent

    Hi,
    I am trying to develop a programm for automatic logging in the programme. I took the hepl of java API and the Google site for searching some programms and successed also. but while running these sample programms i am getting classNotFound exception and some other exceptions also. i executed the programm Seq.java downloaded from the site http://search.cpan.org/src/PHILCROW/UML-Sequence-0.05/java/Seq.java. i am not able to understand how to execute it. what ever i tried its giving the same output whatever defined in the System.err() in the file. but it should display the corrosponding class details for which i need to see the output.
    can anyone help me in this regard and tell me the process to execute the programm.
    i took another e.g. trace example, which (in J2SE 1.4.x or 5.x) will be found in $JAVA_HOME/demo/jpda/examples.jar and unpacking it by
    jar -xvf $JAVA_HOME/demo/jpda/examples.jar i found the
    com/sun/tools/example/trace/Trace.java
    when i tried to execute it to see the output for some other programm i got the following exceptions,
    -- VM Started --
    ====== main ======
    main -- DateExample
    | Exception: instance of java.lang.ClassNotFoundException(id=97) catch: java.lang.ClassLoader:286
    | | | | | | | | | | | | | | | | | | | | Exception: instance of java.lang.ClassNotFoundException(id=98) catch: java.lang.ClassLoader:286
    | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.lang.ClassNotFoundException(id=98) catch: java.lang.ClassLoader:286
    | | | | | | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=99) catch: sun.misc.URLClassPath:293
    | | | | | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=99) catch: sun.misc.URLClassPath:293
    | | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=100) catch: sun.misc.URLClassPath:293
    | | | | | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=100) catch: sun.misc.URLClassPath:293
    | | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=101) catch: sun.misc.URLClassPath:293
    | | | | | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=101) catch: sun.misc.URLClassPath:293
    | | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.lang.ClassNotFoundException(id=102) catch: java.util.ResourceBundle:1074
    | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.lang.ClassNotFoundException(id=102) catch: java.util.ResourceBundle:1074
    | | | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=105) catch: sun.misc.URLClassPath:293
    | | | | | | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=105) catch: sun.misc.URLClassPath:293
    | | | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=106) catch: sun.misc.URLClassPath:293
    | | | | | | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=106) catch: sun.misc.URLClassPath:293
    | | | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=115) catch: null
    | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=118) catch: null
    ====== main end ======
    -- The application exited --
    i execute this programm i used the command as
    java Trace -output trace.log DateExample
    where trace.log is output file and DateExample is the java file.
    Can any one help me in this regard to execute the programms and can give me a detailed solution procedure.
    can anyone suggest me any other programm for auto exit and entry display for classes or methods with detailed execution steps.
    Thanks,

    Hi,
    i tried by setting the class path in the environment variables.
    still i am getting the same exceptions. i m sending the files on which i m working and requesting to give some solution. the files are
    // Trace.java
    import com.sun.jdi.VirtualMachine;
    import com.sun.jdi.Bootstrap;
    import com.sun.jdi.connect.*;
    import java.util.Map;
    import java.util.List;
    import java.util.Iterator;
    import java.io.PrintWriter;
    import java.io.FileWriter;
    import java.io.IOException;
    * This program traces the execution of another program.
    * See "java Trace -help".
    * It is a simple example of the use of the Java Debug Interface.
    * @version @(#) Trace.java 1.4 03/01/23 17:55:38
    * @author Robert Field
    public class Trace {
    // Running remote VM
    private final VirtualMachine vm;
    // Thread transferring remote error stream to our error stream
    private Thread errThread = null;
    // Thread transferring remote output stream to our output stream
    private Thread outThread = null;
    // Mode for tracing the Trace program (default= 0 off)
    private int debugTraceMode = 0;
    // Do we want to watch assignments to fields
    private boolean watchFields = false;
    // Class patterns for which we don't want events
    private String[] excludes = {"java.*", "javax.*", "sun.*",
    "com.sun.*"};
    * main
    public static void main(String[] args) {
    //new Trace(args);
    //DateExample d = new DateExample();
    //String[] arg = {(new DateExample().toString())};
    //String[] arg = {"E:/java_progs/classLoader/project logging/com/sun/tools/example/trace/DateExample.java"};
    //d.dateDisplay();
    new Trace(args);
    * Parse the command line arguments.
    * Launch target VM.
    * Generate the trace.
    Trace(String[] args) {
    System.out.println("entered into the method Trace(String[] args)");
    PrintWriter writer = new PrintWriter(System.out);
    System.out.println("Printer object created.....");
    int inx;
    for (inx = 0; inx < args.length; ++inx) {
    System.out.println("inside for loop args.length is "+args.length+" and the data is "+args[inx]);
    String arg = args[inx];
    if (arg.charAt(0) != '-') {
    break;
    if (arg.equals("-output")) {
    System.out.println("inside args== -output");
    try {
    writer = new PrintWriter(new FileWriter(args[++inx]));
    System.out.println("writer object createed....");
    } catch (IOException exc) {
    System.err.println("Cannot open output file: " + args[inx]
    + " - " + exc);
    System.exit(1);
    } else if (arg.equals("-all")) {
    System.out.println("inside args== -all");
    excludes = new String[0];
    } else if (arg.equals("-fields")) {
    System.out.println("inside args== -fields");
    watchFields = true;
    } else if (arg.equals("-dbgtrace")) {
    System.out.println("inside args== -bdgtrace");
    debugTraceMode = Integer.parseInt(args[++inx]);
    System.out.println("inside args== -bdgtrace the debugTraceMode is "+debugTraceMode);
    } else if (arg.equals("-help")) {
    System.out.println("inside args== -help called usage();");
    usage();
    System.exit(0);
    } else {
    System.err.println("No option: " + arg);
    usage();
    System.exit(1);
    System.out.println("the index is "+inx+" the args.length is "+args.length);
    if (inx >= args.length) {
    System.err.println("<class> missing");
    usage();
    System.exit(1);
    StringBuffer sb = new StringBuffer();
    sb.append(args[inx]);
    for (++inx; inx < args.length; ++inx) {
    sb.append(' ');
    sb.append(args[inx]);
    System.out.println("the string buffer contains \n "+sb);
    vm = launchTarget(sb.toString());
    generateTrace(writer);
    System.out.println("after generateTrace(writer)");
    * Generate the trace.
    * Enable events, start thread to display events,
    * start threads to forward remote error and output streams,
    * resume the remote VM, wait for the final event, and shutdown.
    void generateTrace(PrintWriter writer) {
    System.out.println("inside generateTrace(PrintWriter writer) the debugTraceMode is "+debugTraceMode);
    vm.setDebugTraceMode(debugTraceMode);
    EventThread eventThread = new EventThread(vm, excludes, writer);
    eventThread.setEventRequests(watchFields);
    System.out.println("inside generateTrace(PrintWriter writer) the eventThread.setEventRequests(watchFields) is ");
    eventThread.start();
    redirectOutput();
    vm.resume();
    // Shutdown begins when event thread terminates
    try {
    eventThread.join();
    errThread.join(); // Make sure output is forwarded
    outThread.join(); // before we exit
    } catch (InterruptedException exc) {
    // we don't interrupt
    writer.close();
    System.out.println("the writer is closed....");
    * Launch target VM.
    * Forward target's output and error.
    VirtualMachine launchTarget(String mainArgs) {
    System.out.println("inside VirtualMachine launchTarget(String mainArgs) "+mainArgs);
    LaunchingConnector connector = findLaunchingConnector();
    System.out.println("Lunching connector found "+connector);
    Map arguments = connectorArguments(connector, mainArgs);
    try {
    return connector.launch(arguments);
    } catch (IOException exc) {
    throw new Error("Unable to launch target VM: " + exc);
    } catch (IllegalConnectorArgumentsException exc) {
    throw new Error("Internal error: " + exc);
    } catch (VMStartException exc) {
    throw new Error("Target VM failed to initialize: " +
    exc.getMessage());
    void redirectOutput() {
    Process process = vm.process();
    System.out.println("inside redirectOutput() after getting the virtual m/c process");
    // Copy target's output and error to our output and error.
    errThread = new StreamRedirectThread("error reader",
    process.getErrorStream(),
    System.err);
    outThread = new StreamRedirectThread("output reader",
    process.getInputStream(),
    System.out);
    errThread.start();
    outThread.start();
    * Find a com.sun.jdi.CommandLineLaunch connector
    LaunchingConnector findLaunchingConnector() {
    List connectors = Bootstrap.virtualMachineManager().allConnectors();
    System.out.println("inside redirectOutput() after getting the connectors list");
    Iterator iter = connectors.iterator();
    while (iter.hasNext()) {
    Connector connector = (Connector)iter.next();
    System.out.println("inside while (iter.hasNext()) after getting the connector objects from itterator");
    if (connector.name().equals("com.sun.jdi.CommandLineLaunch")) {
    System.out.println("inside if (connector.name().equals('com.sun.jdi.CommandLineLaunch'))");
    return (LaunchingConnector)connector;
    throw new Error("No launching connector");
    * Return the launching connector's arguments.
    Map connectorArguments(LaunchingConnector connector, String mainArgs) {
    System.out.println("Map connectorArguments(LaunchingConnector connector, String mainArgs) the mainArgs is "+mainArgs);
    Map arguments = connector.defaultArguments();
    Connector.Argument mainArg =
    (Connector.Argument)arguments.get("main");
    if (mainArg == null) {
    System.out.println("inside the mainArg==null ");
    throw new Error("Bad launching connector");
    mainArg.setValue(mainArgs);
    System.out.println("the mainArg is "+mainArg);
    if (watchFields) {
    System.out.println("inside the if (watchFields)********");
    // We need a VM that supports watchpoints
    Connector.Argument optionArg =
    (Connector.Argument)arguments.get("options");
    if (optionArg == null) {
    throw new Error("Bad launching connector");
    System.out.println("inside the if (watchFields)the optionArg is "+optionArg);
    optionArg.setValue("-classic");
    System.out.println("optionArg.getValue() is ");
    return arguments;
    * Print command line usage help
    void usage() {
    System.out.println("inside usage()");
    System.err.println("Usage: java Trace <options> <class> <args>");
    System.err.println("<options> are:");
    System.err.println(
    " -output <filename> Output trace to <filename>");
    System.err.println(
    " -all Include system classes in output");
    System.err.println(
    " -help Print this help message");
    System.err.println("<class> is the program to trace");
    System.err.println("<args> are the arguments to <class>");
    // DateExample.java
    import java.util.Date;
    import java.text.DateFormat;
    import java.util.Calendar;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    public class DateExample {
    public static void main(String[] args) {
    Date a = new Date();
    System.out.println("Today is : "+a);
    Calendar ca= Calendar.getInstance();
    ca.set(a.getYear(),a.getMonth(),a.getDate());
    ca.add(Calendar.DATE,1);
    DateFormat df1 = DateFormat.getDateInstance(DateFormat.SHORT);
    String s1 = df1.format(ca.getTime());
    System.out.println("(SHORT) Today is + 1 :" + s1);
    //java.sql.Date s = new java.sql.Date(2005,6,1);
    //System.out.println("Date from sql is : "+s);
    Date a1 = new Date(2005,06,01);
    System.out.println("Today is a1 : "+a1);
    java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("MM-dd-yyyy HH:mm:ss");
    System.out.println("After format :"+formatter.format(a1));
    System.out.println("After format :"+formatter.format(new Date(s1)));
    java.text.SimpleDateFormat formatter1 = new java.text.SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
    System.out.println("After format :"+formatter1.format(a1));
    // EventThread.java
    import com.sun.jdi.*;
    import com.sun.jdi.request.*;
    import com.sun.jdi.event.*;
    import java.util.*;
    import java.io.PrintWriter;
    * This class processes incoming JDI events and displays them
    * @version @(#) EventThread.java 1.4 03/01/23 17:55:38
    * @author Robert Field
    public class EventThread extends Thread {
    private final VirtualMachine vm; // Running VM
    private final String[] excludes; // Packages to exclude
    private final PrintWriter writer; // Where output goes
    static String nextBaseIndent = ""; // Starting indent for next thread
    private boolean connected = true; // Connected to VM
    private boolean vmDied = true; // VMDeath occurred
    // Maps ThreadReference to ThreadTrace instances
    private Map traceMap = new HashMap();
    EventThread(VirtualMachine vm, String[] excludes, PrintWriter writer) {
    super("event-handler");
    this.vm = vm;
    this.excludes = excludes;
    this.writer = writer;
    System.out.println("inside EventThread(VirtualMachine vm, String[] excludes, PrintWriter writer) ");
    * Run the event handling thread.
    * As long as we are connected, get event sets off
    * the queue and dispatch the events within them.
    public void run() {
    System.out.println("inside run() ");
    EventQueue queue = vm.eventQueue();
    while (connected) {
    System.out.println("inside while (connected) ");
    try {
    EventSet eventSet = queue.remove();
    EventIterator it = eventSet.eventIterator();
    System.out.println("got EventSet and EventIterator *** ");
    while (it.hasNext()) {
    System.out.println("inside while (it.hasNext())");
    handleEvent(it.nextEvent());
    eventSet.resume();
    System.out.println("event is resumed ***** ");
    } catch (InterruptedException exc) {
    // Ignore
    } catch (VMDisconnectedException discExc) {
    handleDisconnectedException();
    break;
    * Create the desired event requests, and enable
    * them so that we will get events.
    * @param excludes Class patterns for which we don't want events
    * @param watchFields Do we want to watch assignments to fields
    void setEventRequests(boolean watchFields) {
    System.out.println("inside setEventRequests(boolean watchFields) ");
    EventRequestManager mgr = vm.eventRequestManager();
    // want all exceptions
    ExceptionRequest excReq = mgr.createExceptionRequest(null,
    true, true);
    // suspend so we can step
    excReq.setSuspendPolicy(EventRequest.SUSPEND_ALL);
    excReq.enable();
    MethodEntryRequest menr = mgr.createMethodEntryRequest();
    for (int i=0; i<excludes.length; ++i) {
    System.out.println("inside for (int i=0; i><excludes.length; ++i) for createMethodEntryRequest() ");
    menr.addClassExclusionFilter(excludes);
    menr.setSuspendPolicy(EventRequest.SUSPEND_NONE);
    menr.enable();
    MethodExitRequest mexr = mgr.createMethodExitRequest();
    for (int i=0; i><excludes.length; ++i) {
    System.out.println("inside for (int i=0; i><excludes.length; ++i) for createMethodExitRequest() ");
    mexr.addClassExclusionFilter(excludes);
    mexr.setSuspendPolicy(EventRequest.SUSPEND_NONE);
    mexr.enable();
    ThreadDeathRequest tdr = mgr.createThreadDeathRequest();
    // Make sure we sync on thread death
    tdr.setSuspendPolicy(EventRequest.SUSPEND_ALL);
    tdr.enable();
    if (watchFields) {
    System.out.println("inside if (watchFields) ************** ");
    ClassPrepareRequest cpr = mgr.createClassPrepareRequest();
    for (int i=0; i><excludes.length; ++i) {
    System.out.println("inside for (int i=0; i><excludes.length; ++i) the excludes.length is ************** "+excludes.length);
    cpr.addClassExclusionFilter(excludes);
    cpr.setSuspendPolicy(EventRequest.SUSPEND_ALL);
    cpr.enable();
    * This class keeps context on events in one thread.
    * In this implementation, context is the indentation prefix.
    class ThreadTrace {
    final ThreadReference thread;
    final String baseIndent;
    static final String threadDelta = " ";
    StringBuffer indent;
    ThreadTrace(ThreadReference thread) {
    System.out.println("inside ThreadTrace(ThreadReference thread)");
    this.thread = thread;
    this.baseIndent = nextBaseIndent;
    indent = new StringBuffer(baseIndent);
    nextBaseIndent += threadDelta;
    println("====== " + thread.name() + " ======");
    private void println(String str) {
    System.out.println("inside void println(String str)");
    writer.print(indent);
    writer.println(str);
    void methodEntryEvent(MethodEntryEvent event) {
    System.out.println("inside methodEntryEvent(MethodEntryEvent event)");
    println(event.method().name() + " -- "
    + event.method().declaringType().name());
    indent.append("| ");
    void methodExitEvent(MethodExitEvent event) {
    System.out.println("inside methodExitEvent(MethodExitEvent event)");
    indent.setLength(indent.length()-2);
    void fieldWatchEvent(ModificationWatchpointEvent event) {
    System.out.println("inside fieldWatchEvent(ModificationWatchpointEvent event)");
    Field field = event.field();
    Value value = event.valueToBe();
    println(" " + field.name() + " = " + value);
    void exceptionEvent(ExceptionEvent event) {
    System.out.println("inside exceptionEvent(ExceptionEvent event) ");
    println("Exception: " + event.exception() +
    " catch: " + event.catchLocation());
    // Step to the catch
    EventRequestManager mgr = vm.eventRequestManager();
    StepRequest req = mgr.createStepRequest(thread,
    StepRequest.STEP_MIN,
    StepRequest.STEP_INTO);
    System.out.println("stepRequest is created "+req);
    req.addCountFilter(1); // next step only
    req.setSuspendPolicy(EventRequest.SUSPEND_ALL);
    req.enable();
    // Step to exception catch
    void stepEvent(StepEvent event) {
    System.out.println("inside stepEvent(StepEvent event) ");
    // Adjust call depth
    int cnt = 0;
    indent = new StringBuffer(baseIndent);
    try {
    cnt = thread.frameCount();
    System.out.println("inside try cnt is "+cnt);
    } catch (IncompatibleThreadStateException exc) {
    while (cnt-- > 0) {
    System.out.println("inside while indent is "+indent);
    indent.append("| ");
    EventRequestManager mgr = vm.eventRequestManager();
    mgr.deleteEventRequest(event.request());
    void threadDeathEvent(ThreadDeathEvent event) {
    System.out.println("inside threadDeathEvent(ThreadDeathEvent event) ");
    indent = new StringBuffer(baseIndent);
    println("====== " + thread.name() + " end ======");
    * Returns the ThreadTrace instance for the specified thread,
    * creating one if needed.
    ThreadTrace threadTrace(ThreadReference thread) {
    ThreadTrace trace = (ThreadTrace)traceMap.get(thread);
    System.out.println("inside ThreadTrace threadTrace(ThreadReference thread) trace is "+trace);
    if (trace == null) {
    trace = new ThreadTrace(thread);
    traceMap.put(thread, trace);
    return trace;
    * Dispatch incoming events
    private void handleEvent(Event event) {
    System.out.println("inside handleEvent(Event event) ");
    if (event instanceof ExceptionEvent) {
    System.out.println("inside handleEvent(Event event) in ExceptionEvent ");
    exceptionEvent((ExceptionEvent)event);
    } else if (event instanceof ModificationWatchpointEvent) {
    System.out.println("inside handleEvent(Event event) in ModificationWatchpointEvent ");
    fieldWatchEvent((ModificationWatchpointEvent)event);
    } else if (event instanceof MethodEntryEvent) {
    System.out.println("inside handleEvent(Event event) in MethodEntryEvent ");
    methodEntryEvent((MethodEntryEvent)event);
    } else if (event instanceof MethodExitEvent) {
    System.out.println("inside handleEvent(Event event) in MethodExitEvent ");
    methodExitEvent((MethodExitEvent)event);
    } else if (event instanceof StepEvent) {
    System.out.println("inside handleEvent(Event event) in StepEvent ");
    stepEvent((StepEvent)event);
    } else if (event instanceof ThreadDeathEvent) {
    System.out.println("inside handleEvent(Event event) in ThreadDeathEvent ");
    threadDeathEvent((ThreadDeathEvent)event);
    } else if (event instanceof ClassPrepareEvent) {
    System.out.println("inside handleEvent(Event event) in ClassPrepareEvent ");
    classPrepareEvent((ClassPrepareEvent)event);
    } else if (event instanceof VMStartEvent) {
    System.out.println("inside handleEvent(Event event) in VMStartEvent ");
    vmStartEvent((VMStartEvent)event);
    } else if (event instanceof VMDeathEvent) {
    System.out.println("inside handleEvent(Event event) in VMDeathEvent ");
    vmDeathEvent((VMDeathEvent)event);
    } else if (event instanceof VMDisconnectEvent) {
    System.out.println("inside handleEvent(Event event) in VMDisconnectEvent ");
    vmDisconnectEvent((VMDisconnectEvent)event);
    } else {
    System.out.println("inside handleEvent(Event event) in else unexcepted type ");
    throw new Error("Unexpected event type");
    * A VMDisconnectedException has happened while dealing with
    * another event. We need to flush the event queue, dealing only
    * with exit events (VMDeath, VMDisconnect) so that we terminate
    * correctly.
    synchronized void handleDisconnectedException() {
    System.out.println("inside handleDisconnectedException() ");
    EventQueue queue = vm.eventQueue();
    while (connected) {
    System.out.println("inside handleDisconnectedException() in while (connected) ");
    try {
    EventSet eventSet = queue.remove();
    EventIterator iter = eventSet.eventIterator();
    System.out.println("inside handleDisconnectedException() got EventSet & EventIterator ");
    while (iter.hasNext()) {
    System.out.println("inside handleDisconnectedException() in while (iter.hasNext()) ");
    Event event = iter.nextEvent();
    if (event instanceof VMDeathEvent) {
    System.out.println("inside handleDisconnectedException() in if ");
    vmDeathEvent((VMDeathEvent)event);
    } else if (event instanceof VMDisconnectEvent) {
    System.out.println("inside handleDisconnectedException() in else ");
    vmDisconnectEvent((VMDisconnectEvent)event);
    eventSet.resume(); // Resume the VM
    } catch (InterruptedException exc) {
    // ignore
    private void vmStartEvent(VMStartEvent event) {
    System.out.println("inside vmStartEvent(VMStartEvent event)**** ");
    writer.println("-- VM Started --");
    // Forward event for thread specific processing
    private void methodEntryEvent(MethodEntryEvent event) {
    System.out.println("inside methodEntryEvent(MethodEntryEvent event)****** ");
    threadTrace(event.thread()).methodEntryEvent(event);
    // Forward event for thread specific processing
    private void methodExitEvent(MethodExitEvent event) {
    System.out.println("inside methodExitEvent(MethodExitEvent event)****** ");
    threadTrace(event.thread()).methodExitEvent(event);
    // Forward event for thread specific processing
    private void stepEvent(StepEvent event) {
    System.out.println("inside stepEvent(StepEvent event)****** ");
    threadTrace(event.thread()).stepEvent(event);
    // Forward event for thread specific processing
    private void fieldWatchEvent(ModificationWatchpointEvent event) {
    System.out.println("inside fieldWatchEvent(ModificationWatchpointEvent event)***** ");
    threadTrace(event.thread()).fieldWatchEvent(event);
    void threadDeathEvent(ThreadDeathEvent event) {
    System.out.println("inside threadDeathEvent(ThreadDeathEvent event)****** ");
    ThreadTrace trace = (ThreadTrace)traceMap.get(event.thread());
    if (trace != null) { // only want threads we care about
    trace.threadDeathEvent(event); // Forward event
    * A new class has been loaded.
    * Set watchpoints on each of its fields
    private void classPrepareEvent(ClassPrepareEvent event) {
    System.out.println("inside classPrepareEvent(ClassPrepareEvent event)****** ");
    EventRequestManager mgr = vm.eventRequestManager();
    List fields = event.referenceType().visibleFields();
    for (Iterator it = fields.iterator(); it.hasNext(); ) {
    System.out.println("inside classPrepareEvent(ClassPrepareEvent event) inside for loop Iterator ****** ");
    Field field = (Field)it.next();
    ModificationWatchpointRequest req =
    mgr.createModificationWatchpointRequest(field);
    for (int i=0; i<excludes.length; ++i) {
    System.out.println("inside classPrepareEvent(ClassPrepareEvent event) inside for loop int ****** ");
    req.addClassExclusionFilter(excludes);
    req.setSuspendPolicy(EventRequest.SUSPEND_NONE);
    req.enable();
    private void exceptionEvent(ExceptionEvent event) {
    System.out.println("inside exceptionEvent(ExceptionEvent event)****** ");
    ThreadTrace trace = (ThreadTrace)traceMap.get(event.thread());
    if (trace != null) { // only want threads we care about
    trace.exceptionEvent(event); // Forward event
    public void vmDeathEvent(VMDeathEvent event) {
    System.out.println("inside vmDeathEvent(VMDeathEvent event)****** ");
    vmDied = true;
    writer.println("-- The application exited --");
    public void vmDisconnectEvent(VMDisconnectEvent event) {
    System.out.println("inside vmDisconnectEvent(VMDisconnectEvent event)****** ");
    connected = false;
    if (!vmDied) {
    System.out.println("inside vmDisconnectEvent(VMDisconnectEvent event)in if loop ****** ");
    writer.println("-- The application has been disconnected --");
    // StreamRedirectThread.java
    import java.io.*;
    * StreamRedirectThread is a thread which copies it's input to
    * it's output and terminates when it completes.
    * @version @(#) StreamRedirectThread.java 1.4 03/01/23 17:55:38
    * @author Robert Field
    class StreamRedirectThread extends Thread {
    private final Reader in;
    private final Writer out;
    private static final int BUFFER_SIZE = 2048;
    * Set up for copy.
    * @param name Name of the thread
    * @param in Stream to copy from
    * @param out Stream to copy to
    StreamRedirectThread(String name, InputStream in, OutputStream out) {
    super(name);
    this.in = new InputStreamReader(in);
    this.out = new OutputStreamWriter(out);
    setPriority(Thread.MAX_PRIORITY-1);
    System.out.println("inside StreamRedirectThread(String name, InputStream in, OutputStream out) ****** ");
    * Copy.
    public void run() {
    System.out.println("inside StreamRedirectThread class in run() ****** ");
    try {
    char[] cbuf = new char[BUFFER_SIZE];
    int count;
    while ((count = in.read(cbuf, 0, BUFFER_SIZE)) >= 0) {
    System.out.println("inside run() in while loop the count is ****** "+count);
    out.write(cbuf, 0, count);
    out.flush();
    } catch(IOException exc) {
    System.err.println("Child I/O Transfer - " + exc);
    by using these files i m trying to trace the execution of DateExample.java through the Trace.java by using the command
    java Trace -output trace.log DateExample
    by executiing i m getting the exceptions in the output file trace.log
    -- VM Started --
    ====== main ======
    main -- DateExample
    | Exception: instance of java.lang.ClassNotFoundException(id=97) catch: java.lang.ClassLoader:286
    | | | | | | | | | | | | | | | | | | | | Exception: instance of java.lang.ClassNotFoundException(id=99) catch: java.lang.ClassLoader:286
    | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.lang.ClassNotFoundException(id=99) catch: java.lang.ClassLoader:286
    | | | | | | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=100) catch: sun.misc.URLClassPath:293
    | | | | | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=100) catch: sun.misc.URLClassPath:293
    | | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=101) catch: sun.misc.URLClassPath:293
    | | | | | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=101) catch: sun.misc.URLClassPath:293
    | | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=102) catch: sun.misc.URLClassPath:293
    | | | | | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=102) catch: sun.misc.URLClassPath:293
    | | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.util.zip.ZipException(id=104) catch: sun.misc.URLClassPath:293
    | | | | | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.util.zip.ZipException(id=104) catch: sun.misc.URLClassPath:293
    | | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.lang.ClassNotFoundException(id=105) catch: java.util.ResourceBundle:1074
    | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.lang.ClassNotFoundException(id=105) catch: java.util.ResourceBundle:1074
    | | | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=108) catch: sun.misc.URLClassPath:293
    | | | | | | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=108) catch: sun.misc.URLClassPath:293
    | | | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=109) catch: sun.misc.URLClassPath:293
    | | | | | | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=109) catch: sun.misc.URLClassPath:293
    | | | | | | | | | | | | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=118) catch: null
    | | | | | | | | | | | | | | Exception: instance of java.io.FileNotFoundException(id=121) catch: null
    ====== main end ======
    -- The application exited --
    Could any one help me in this regard to execute the programm.
    Could any one help to show the execution of the Seq.java downloaded from the site http://search.cpan.org/src/PHILCROW/UML-Sequence-0.05/java/Seq.java, what i mentioned in my previous mail.
    thanks,

  • Segmentation fault in __memp_fget

    Hi bdb experts,
    My program encountered the segfault with the following detailed inf:
    # lsb_release -a
    LSB Version: :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
    Distributor ID: RedHatEnterpriseServer
    Description: Red Hat Enterprise Linux Server release 5.5 (Tikanga)
    Release: 5.5
    Codename: Tikanga
    filesystem: ext2
    gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)
    the BDB config:
    ==================
    set_cachesize 2 0 3
    env flag: DB_CREATE | DB_INIT_MPOOL | DB_THREAD
    db flag: DB_CREATE | DB_THREAD
    And my Berkeley database was configured with 3 partitions
    as config above, my bdb was configured within a multithread environment
    dbp->set_partition(dbp, 3, NULL, db_partition_index)
    ==================
    The coredump back trace:
    Program terminated with signal 11, Segmentation fault.
    #0 0x00002ad2db2a78b1 in __memp_fget (dbmfp=0x1f9301e0, pgnoaddr=0x46582324, ip=0x0, txn=0x0, flags=0, addrp=0x46582328) at ../src/mp/mp_fget.c:260
    260 if (bhp->pgno != *pgnoaddr || bhp->mf_offset != mf_offset)
    (gdb) bt
    #0 0x00002ad2db2a78b1 in __memp_fget (dbmfp=0x1f9301e0, pgnoaddr=0x46582324, ip=0x0, txn=0x0, flags=0, addrp=0x46582328) at ../src/mp/mp_fget.c:260
    #1 0x00002ad2db14adb7 in __bam_search (dbc=0x2aaab89d1430, root_pgno=1, key=0x46582b20, flags=12802, slevel=1, recnop=0x0, exactp=0x465826b4) at ../src/btree/bt_search.c:806
    #2 0x00002ad2db1305c4 in __bamc_search (dbc=0x2aaab89d1430, root_pgno=1, key=0x46582b20, flags=14, exactp=0x465826b4) at ../src/btree/bt_cursor.c:2804
    #3 0x00002ad2db12e170 in __bamc_put (dbc=0x2aaab89d1430, key=0x46582b20, data=0x46582af0, flags=20, pgnop=0x46582784) at ../src/btree/bt_cursor.c:2143
    #4 0x00002ad2db22fd95 in __dbc_iput (dbc=0x2aaab49c68e0, key=0x46582b20, data=0x46582af0, flags=20) at ../src/db/db_cam.c:2134
    #5 0x00002ad2db22fbf7 in __dbc_put (dbc=0x2aaab49c68e0, key=0x46582b20, data=0x46582af0, flags=20) at ../src/db/db_cam.c:2047
    #6 0x00002ad2db2c6b91 in __partc_put (dbc=0x2aaab5389810, key=0x46582b20, data=0x46582af0, flags=20, pgnop=0x465828b4) at ../src/db/partition.c:1055
    #7 0x00002ad2db22fd95 in __dbc_iput (dbc=0x2aaab5389810, key=0x46582b20, data=0x46582af0, flags=20) at ../src/db/db_cam.c:2134
    #8 0x00002ad2db22fbf7 in __dbc_put (dbc=0x2aaab5389810, key=0x46582b20, data=0x46582af0, flags=20) at ../src/db/db_cam.c:2047
    #9 0x00002ad2db22aad1 in __db_put (dbp=0x1f92db90, ip=0x0, txn=0x0, key=0x46582b20, data=0x46582af0, flags=20) at ../src/db/db_am.c:537
    #10 0x00002ad2db24488c in __db_put_pp (dbp=0x1f92db90, txn=0x0, key=0x46582b20, data=0x46582af0, flags=20) at ../src/db/db_iface.c:1640
    #11 0x000000000041be46 in bdb::put (this=0x1f92c0a0, key=0x2aaab800103c "Layout:http://emap3.mapabc.com/mapabc/maptile?v=w2.61&x=54&y=26&z=6",
    value=0x2aaab8001240 "256|256▒\232-N", vsize=11, ts=1311611596) at backend/bdb.cc:268
    #12 0x00000000004151bf in cache_process_add (cmd_no=2, req_head=0x2aaab8001010, req_buf=0x46582e90, res_head=0x2aaacc0008c0, res_buf=0x46582e70) at gate_cache.cpp:1061
    #13 0x00000000004121e0 in ub_process_cmdmap (cmd_map=0x508a60, cmd_no=2, req_head=0x2aaab8001010, req_buf=0x46582e90, res_head=0x2aaacc0008c0, res_buf=0x46582e70)
    at ../../../../../../public/ub/output/include/ub_proccmd.h:27
    #14 0x0000000000414245 in cache_cmdproc_callback () at gate_cache.cpp:1302
    #15 0x0000000000469701 in apool_consume (pool=0x1f92e950, data=0x1f92e858) at apool_native.cpp:39
    #16 0x000000000044407f in apoolworkers (param=0x1f92e858) at apool.cpp:533
    #17 0x00000033b100673d in start_thread () from /lib64/libpthread.so.0
    #18 0x00000033b04d3d1d in clone () from /lib64/libc.so.6
    My question is:
    1) in multithread env bdb put and get method should have some other flag exception DB_THREAD or other config for env and db open?
    2) does the ext2 fs may affect the disk read and write for bdb?
    3) does the number of threads of my program affect the bdb put and get?
    4) what is the suitable page size for 64bit machine of bdb?

    Hello,
    What is the Berkeley DB version?
    For your question on page size please take a look at the
    documentation on, "Selecting a page size" at:
    http://download.oracle.com/docs/cd/E17076_02/html/programmer_reference/general_am_conf.html#am_conf_pagesize
    and for those on multithreaded environments please take a
    look at the documentation on, "Multithreaded applications" at:
    http://download.oracle.com/docs/cd/E17076_02/html/programmer_reference/program_mt.html
    I am not aware of any impacts of the ext2 filesystem. Perhaps
    someone else might have more information on that.
    Some other suggestions are to:
    0. Build with --enable-diagnostic to enable run-time
    debugging checks.
    1. turn on verbose error messaging as that often provides
    additional run-time error information. Please see the,
    "Run-time error information", documentation at:
    http://download.oracle.com/docs/cd/E17076_02/html/installation/debug_runtime.html
    2. Collect db_stat -MA statistics to to verify that the cache details
    look to be in order. See:
    http://download.oracle.com/docs/cd/E17076_02/html/api_reference/C/db_stat.html
    Thanks,
    Sandra

  • Unstable connection

    Hello. I play WoW and I've recently been having problems with my connection. I am experiencing intermittent lag and frequently get disconnected from the game.
    I have my Windows Firewall and  Norton set up to allow the ports recommended by WOW for smooth playing, but no dice. If someone could please tell me what's wrong I'd appreciate it.
    Attached below is a tracert to the game. I am particularly concerned that the first line on the tracert times out. Please help. I'd like to know where the problem lies so I can fix it.
    Tracing route to 63.241.255.10 over a maximum of 30 hops
      1     *        *        *     Request timed out.
      2    24 ms    23 ms    24 ms  L100.TAMPFL-DSL-07.verizon-gni.net [71.101.112.1]
      3    24 ms    24 ms    24 ms  P2-1.TAMPFL-LCR-01.verizon-gni.net [130.81.34.168]
      4    25 ms    25 ms    26 ms  so-7-2-0-0.TPA01-BB-RTR1.verizon-gni.net [130.81.28.233]
      5    37 ms    37 ms    37 ms  so-7-3-0-0.ATL01-BB-RTR1.verizon-gni.net [130.81.19.30]
      6    38 ms    37 ms    37 ms  0.so-7-1-0.XT1.ATL4.ALTER.NET [152.63.86.69]
      7    38 ms    37 ms    37 ms  0.so-6-0-0.BR2.ATL4.ALTER.NET [152.63.81.145]
      8    42 ms    42 ms    42 ms  204.255.169.250
      9    58 ms    58 ms    58 ms  cr1.attga.ip.att.net [12.122.87.62]
     10    57 ms    58 ms    58 ms  cr2.dlstx.ip.att.net [12.122.28.174]
     11    57 ms    57 ms    56 ms  gar5.dlstx.ip.att.net [12.122.138.5]
     12    58 ms    58 ms    58 ms  12.122.255.226
     13    58 ms    58 ms    58 ms  mdf001c7613r0004-gig-12-1.dal1.attens.net [63.241.193.14]
     14     *        *        *     Request timed out.
     15     *        *        *     Request timed out.
     16     *        *        *     Request timed out.
     17     *        *        *     Request timed out.
     18     *        *        *     Request timed out.
     19     *        *        *     Request timed out.
     20     *        *        *     Request timed out.
     21     *        *        *     Request timed out.
     22     *        *        *     Request timed out.
     23     *        *        *     Request timed out.
     24     *        *        *     Request timed out.
     25     *        *        *     Request timed out.
     26     *        *        *     Request timed out.
     27     *        *        *     Request timed out.
     28     *        *        *     Request timed out.
     29     *        *        *     Request timed out.
     30     *        *        *     Request timed out.
    Trace complete.

    I am also having the same problem with Everquest 2...the tracer program is showing a erradic packet loss at a AT&T server in Atlanta, Georgia...how AT&T is connected with Verizon DSL is unknown to me, but there it is...
    Target Name: thebazaar.everquest2.com
             IP: 199.108.11.97
      Date/Time: 4/23/2009 7:05:31 AM to 4/23/2009 7:06:41 AM
    Hop Sent Err PL% Min Max Avg  Host Name / [IP]
     2    15   0 0.0  22 158  32  L100.TAMPFL-DSL-13.verizon-gni.net [71.100.0.1]
     3    15   0 0.0  23 129  30  P4-1.TAMPFL-LCR-02.verizon-gni.net [130.81.34.194]
     4    15   0 0.0  24  97  29  so-7-2-0-0.TPA01-BB-RTR2.verizon-gni.net [130.81.28.237]
     5    15   0 0.0  43 206  55  ge-1-0-0-0.ATL01-BB-RTR2.verizon-gni.net [130.81.17.48]
     6    15   0 0.0  44 174  52  0.so-2-2-0.XT2.ATL5.ALTER.NET [152.63.86.73]
     7    15   0 0.0  46 142  53  0.so-7-0-0.XT2.ATL4.ALTER.NET [152.63.86.109]
     8    15   0 0.0  46 154  58  [204.255.169.250]
     9    15   1 6.7  96 171 102  cr1.attga.ip.att.net [12.122.82.98]
    10    15   0 0.0  96 137  99  cr2.dlstx.ip.att.net [12.122.28.174]
    11    15   0 0.0  97 108  98  cr1.dlstx.ip.att.net [12.122.1.209]
    12    15   0 0.0  95  97  95  cr1.phmaz.ip.att.net [12.122.28.182]
    13    15   0 0.0  96  98  97  cr1.sd2ca.ip.att.net [12.122.31.233]
    14    15   0 0.0  95 277 115  gar3.sd2ca.ip.att.net [12.122.109.9]
    15    15   1 6.7  96  97  96  [12.122.255.30]
    16    15   0 0.0  95  96  95  mdf4-bi8k-2-eth-2-2.san2.attens.net [63.241.0.166]
    17    15   0 0.0  95 202 102  vl20.sdkollsw-2.sonyonline.net [63.241.6.50]
    18    15   0 0.0  95  96  95  thebazaar.everquest2.com [199.108.11.97]
    At Hop 9, DNS Name cr1.attga.ip.att.net (IP 12.122.82.98), I suffered a irregular packet loss resulting in a error...this was copied at Hop 15 (IP 12.122.255.30)....and my game froze for 10 to 12 seconds.
    I looked up DNS cr1.attga.ip.att.net...it is registered to AT&T.
    I contacted AT&T Customer Service via phone...and was informed I could not be suffering packet loss from a AT&T server because I'm not a AT&T customer....right.
    I contacted Verison DSL Customer Service via phone...where the representative wanted me to reset my Internet Explorer browser...unable to see a connection between a packet loss 9 hops away and my IE settings, I politely declined...but was successful in getting the rep to "share my screen"...where he could personally see the packet loss in real time, coming from a AT&T server.
    He promised to look into it and would open a "ticket" on the matter...whatever that means.
    Anybody got a clue?
    When ever the tracer shows a packet loss...my game freezes...a very irritating situation...and it's consistently at this AT&T server.
    Oh...and by the way...I've been playing EQ2 for over 5 years....this modem is less then a year old and this computer is under 2 years old...and the really odd thing...is this just started happening last Friday.

Maybe you are looking for

  • Update Delivery qty via user exits

    Hello all, I need to replace the delivery qty that is copied from sales order with another qty during delivery creation (or) at the time of saving the delivery. I have tried replacing the field LIPS-LFIMG in various user exits. But none had updated t

  • Report Data Problem

    Hi All, I have a query which is not dispalying the keyfigure data. the data is displaying in MP. What are the possible ways to check it and to get data in Report. Please help ASAP. Thanks

  • Flex Functions or methods available in javascript

    How do i know which methods and functions of flex are available in javascript? Are there some API's or documentation where we can get these functions which are available in java script. Like how do i know that var catXAxis = FABridge.testOne.create("

  • Recording Graduations, creative tips, and advice

    Recording Graduations, creative tips, and advice. Can someone direct me to some where I can find real creative graduation footage tips and advice. I have a proposal to make to a school and I do not want it to look like a traditional recording for a g

  • System dependet default SAP GUI Design

    Hi to all! In the SAP GUI, there is the possibility to set  system design dependent. So it is different from R3 system to R3 system. Is there a way to change the design on the R3 system or what criteria will be the default design chosen? Thanks Herma