Jump to content

Neil Pate

Members
  • Posts

    1,190
  • Joined

  • Last visited

  • Days Won

    110

Neil Pate last won the day on June 5

Neil Pate had the most liked content!

8 Followers

Profile Information

  • Gender
    Not Telling

LabVIEW Information

  • Version
    LabVIEW 2020
  • Since
    2004

Contact Methods

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Neil Pate's Achievements

  1. yup, completely agree with this ^^^^ I have done something similar in the past where I used a global variant as a data store, and then used attributes to store/get data (and some convenience VIs to convert to the known types). It was a bit of an experiment in a system that had many data generators (different interfaces to independent pieces of hardware) and several hundreds of data variables (tags) all communicated over OPC-UA, so had a fairly sophisticated method to set/get by name as I didn't want to deal with such a mega-cluster anywhere. It worked fine, but in the end I would not really recommend it for simple systems where you just dont want to make the proper data types.
  2. Have you looked into typedefs? This solves the problem of VIs breaking if you modify the data structures as there is then only a single instance of the definition of a data type.
  3. How do you look up the data in your array? Via --Tag? If you are going to do that you might as well just use a map. But anyway, I am not a huge fan of this approach. I think better composition into clusters or objects will also make your wiring neater, more testable, scalable etc I do recognise the need for nice neat diagrams without wires going all over the place, but proper decomposition/architecture normally fixes this. So in general I would have to say you are not on the right track with this approach, but this is of course just my opinion.
  4. That is weird. No sorry not seen that before! So you have tried manually changing the tool?
  5. @Rolf Kalbermatter the admins removed that setting for you as everything you say should be written down and never deleted 🙂
  6. yeah that is the payload 😉
  7. I also realised I messed up my benchmark and the final High Precision Time should be after the sorting. I meant to do this just forgot!
  8. Done some simple testing. On a directory containing 838 files it took 60 ms.
  9. Have you tried this? The `last mod` output should hopefully give you the timestamp of the last modification, and it would then be pretty simple to find the latest. I have no idea what the performance of this would be if you loop over 10000 files. That is something you would just have to try.
  10. I actually had a similar experience when first moving everything to the new OpenG structure. It broke heaps of stuff (even inside its own OpenG stuff), so I rolled back the change. Some time later I tried again, and think I did have to deal with a bit of pain initially with relinking or maybe some missing stuff, but since then things have been stable.
  11. Put the acquire image and save to file in the event structure timeout case, but only write to file conditionally (i.e. if the user has clicked the button)
  12. ok, a couple of things to address. The IMAQ close error probably happens because there is no open session the first time. It would probably be fine just to silence that error by clearing it. The first error is a bit surprising as you dont have a timeout value wired into the case-structure so I would have expect that portion of the code to never execute. Another slightly strange thing is the name of the VI in the error message does not match the name of the VI in your code (IMAQ Write BMP vs IMAQ AVI 2 Write Frame). Try wire a value into the timeout (like 1000 ms or something like that) and move your acquisition code into that event., I do not currently have the vision toolkit installed so cannot test your code.
  13. @Natiq this (non-functional example) should be enough to get you started. The weird arrow thing on the boundaries of the while loop is a shift register. The event structure can also be configured to have a timeout case where you can then perform other stuff, like reading your image and writing it to the reference on the the shift register. There is heaps of information out there (YouTube for example), a bit of searching will lead to some more details.
×
×
  • Create New...

Important Information

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