Jump to content

MikaelH

Members
  • Posts

    828
  • Joined

  • Last visited

  • Days Won

    47

Posts posted by MikaelH

  1. Mostly we use 3 levels for the instrument driver (InstrumentBase <- InstrumentType(e.g. PowerSupply) <- RealInstrumentDriver (but also a simulated type)
    We currently have 398 classes in our instrument hierarchy, 60 different InstrumentTypes such as: (TemperatureControllers, Robots, WeldingLasers, GlueDispensers, StepperMotors)


     

    • Like 1
  2. I have several instances where I get null back for different datatypes, what I have to do is just to ignore the Errors from the JSON VIs.
    So it will convert everything it can' but when trying to convert NULL to a string it will be empty or for an int it will be zero.
    Ideally it would be good to be able to say when you find Null for:
    A strings use "" or "NULL"
    A INT use 0 or -1

    For DBL/SGL it uses NaN and that is prefect.

    • Thanks 1
  3. What you could do is to start just using the Singleton Class template, sure it's based on OO, but you don't need to think of that, it's just like a action Engine, but instead of having everything in one VI, you can add several VIs (methods) to the Singleton library (lvlcass), and just because they belong to the same class they all share the same data.
    You just have to learn how to use the IPE structure to read and modify the shared data.

  4. On 7/13/2022 at 10:12 AM, spread_knowledge said:

    I have been trying to track a object in real time in LabVIEW with Intel L515 camera. I am trying it with Vision Express. But every time I try to capture, it captures a single frame. I am using LabVIEW 2019.
    Can anyone suggest me how I could solve this problem ?
    Thanks
    Arfin

    I guess Vision Express, is using the Express VIs for vision?!?

    First never use Express VIs ;-).
    Second open the example VI of tracking objects: Not sure if it's in LV2019, I'm using 2020. LabVIEW 2020\examples\Vision\Tracking
    Third, start using LV 64-bit,

     

  5. On 7/22/2022 at 4:02 AM, sprezzaturon said:

    Does anyone have examples of LVOOP vs FGV?  I've been using AE for several years now and, after reading this thread, I think I need to rethink what I've been doing.  Thanks.

    So always use Singletons instead of FGV when I know I only need one instance of an object, i.e. one memory space that should be shared in my application.
    Just like a global variable, but using the class to control access to the global data.
    I've attached a Singleton example that should get you going.
    The OpenGDS toolkit generates these classes and Access VIs (methods) to make it easy for you.
    Also I talk a bit about the Singleton pattern and how to create that here:

     

    Singletons.zip

  6. You can fix it in 2 ways.

    1. Force open the VI and change the dll call (LabVIEW.exe) to not run in the user interface thread.
      I've tested this and this will speed it up 1000 times or so but... this could crash LV if this code is running in any of LV's special Application instances like Project Provider App instance (And that is where I need the performance improvements in the OpenGDS UML Modeller).

    2. Yes, use a Map or Variant look up.
    See example VI

    GetTextRect_AnyThread.vi

     

  7. I've not dared to outsource the building to a build server yet, mostly because we get these strange build errors from time to time, like "This VI broke during the build".

    Also since my team does quite many builds and we would need multiple build servers since a build could take an hour, and sometime I need to build 6 version right away and that could lock up the build server for 6 hours.
    But if you get it working close to 100% let me know, then we might switch over.

×
×
  • Create New...

Important Information

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