Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation


About Maxwell_Peng

  • Rank
    LAVA groupie

LabVIEW Information

  • Version
    LabVIEW 2012
  • Since
  1. Hi, everyone, Recently, I'm using TestStand in my work. I have meet some problems about the "object reference variable" which need your help. The problem is descriped below: 1: I have pre-defined some station global variables by sequence editor which means the instruments class which I will use in the sequence actions; 2: I have writted a Application UI by LabVIEW. When the user start the application(.exe), it will initial all instruments in my systems and write the all inited instrument objs to these pre-defined object references. The reason why I design this mechanism is that some instruments will use TCP/IP for remote control and I don't want connect and dis-connect TCP/IP frequency. The way to write object reference from LabVIEW to TS is below: 3: After write the object reference to TS, I try to run a sequence file, the TS says "the object reference is nothing"; I want to whether it is possible to write object reference in LabVIEW to TS? If anyone knows, please help me, thanks a lot!
  2. Hello,Everyone, I'm a LabVIEW developer from China,Wuhan. In the recent, I start to use TestStand in my project. However, I have meet some problems which need help. The problems are descriped below: 1: I write a log class (help to record log info in my program) based on actor framework to archive multi-thread log printing; The Log source code structure is in the attatched figure; 2: I want to use the Log class API(write log/clear log/Open/Close) in TestStand; 3: I use the TestStand code module and select the "Class member call". However, when I selected the log class, the sequence editor become very slow, the CPU is 25%; 4: After about 1 min, the write log API finally loaded to TestStand , but if I switch to this action from other action, the Teststand will slow again; I think the reason is the Log class is involved with to to many classes(Since Actor Framework is make up with many classes). But I think this problems may be caused by a setting that I don't know in TestStand. So, if you know anything which can help me solve this problem, please tell me, Thanks!
  3. LabVIEW's main characters is graphic and data flow program. Everything in LabVIEW seems to be a "value". In Java, we can use "new" operation to allocate memory for a object, so we can share this object buy multi objects. But in LabVIEW, I think it will allocate and release memory for any data type automatically. So I think some design patterns may not be implemented by LabVIEW and LabVIEW is not really suit for OOP.
  4. Thanks for your adviceļ¼ The "Parameter Class" is a abstract class, it has many properties. For example, a parameter class has properties named "upper limit" and "lower limit" to judge the parameter test value is pass or fail. Many child class will inherit from the "Prameter Class", For example, the Vbr class is a child class of the "Parameter Class". The difference between these child parameter classes is the way to get its parameter test value. For example, when call the GetParameterTestValue() mehod of Vbr class(Child class of Parameter Class), it will make Keithley 2635A to output a current and measure a voltage, then return the voltage measure value to the caller. For the Cj class which is also inherit from the "Parameter Class", it will use Agilent E4980A to measure the capacity of the UUT. My actual question is about the relationship between the "Parameter Class" and the "Instrument Class". In LabVIEW, the class object is a instance, if the Vbr class want to use a instrument, it must contain a Instrument class object instance. For example, if I want to measure three parameters and they use Keithley 2635A both, so every parameter class will contain a Keithley 2635A class instance. However, a test system only have one Keithley 2635A and it should be shared by multi paramter class. If LabVIEW approve for using "class reference" which is similar to the pointer in C language or reference type in Java, the instrument share problem can be solved. But everything in LabVIEW is a "Value" which occupies some memory.
  5. Hello, everyone. I'm new to the LabVIEW OOP. What the difference bettween the dynamic dispatch vi and static dispatch vi in LabVIEW class?
  6. Hello, everybody.I'm new to the LVOOP and I meet a problem in my wafer auto-test system about the class responsibility. the wafer auto-test system uses many instruments to measure the wafer parameters such as Vbr, Vf... Firstly, I want build class for every instrument. For example, I have create a app class named WaferTester, and many instrument classes such as Keithy 2600B class, EXFO PM1600 class, etc. The WaferTester class contains these instrument classes. However, I also want to create parameter class such as Vbr class, Vf class. These parameter class have many properties such as test delay time, upper limit, lower limit etc. Most importantly, the parameter class have a method to get parameter measurement result. For example, when calling the measure method of Vbr class, it use instrument to measure the Vbr parameter of the wafer and return it to the caller. My question is about the relationship the instrument class and the parameter class. The method of parameter class will use different instrument classes, so the instrument classes is a part of the parameter class. For example, the Vbr class will contain Keithy 2600B class. However, different parameter class may use the same instrument and I think the instrument is a static part of the test system. I have no idea to achieve a reasonable relationship about the parameter class and the instrument class.
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.