Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by MikaelH

  1. Here is just a snapshot how much the DGagent is doing in the background. These are the task it does during a 5ms time period, it makes your faster computer start crawling.
  2. I think going by reference object shouldn’t be considered difficult or hard. Most other languages are using references so why shouldn’t a LabVIEW developer succeed in that task? We have around 20 LabVIEW developer at the office here, that are all using by reference objects without any problems. Half of the guys are just users of the By Reference instrument driver layer (200+ drivers). And since all NI hardware drivers (DaqMx, Vision, Visa, FileIO) already are by reference it makes sense to them. So if you can handle the Queue VIs you can handle a by reference lv-class. One of the current application I’m working on has 36 motor driver objects of different types, more than 50 digital input/output objects, vision cameras, a bunch of standard instruments of course and they are all by reference objects. In my case I wouldn’t dare to go by reference value objects here ;-)
  3. The bug is in 2016-64 as well. Also if you remove one event it also defaults back to default view. You seem to be safe if you never hide anything or if you hide all unwired terminals. BTW I've not seen the old bug where the node got disconnected from the frame lately, maybe at least they fixed that one.
  4. By using references objects you don't need to merge the data. It will solve lots of your problems, maybe create some new ones if you don't know what you are doing.
  5. My employer have installed Digital Guardian Windows Agent on all our offices computers in most countries. It monitors all your file access and transfers to and from you PC. The idea is to prevent people to transfer files out from the company to any competitor (INTELLECTUAL PROPERTY PROTECTION). I guess it’s a good to try to prevent this, but it makes the PC much slower and also breaks LabVIEW from time to time. I heard that they are not allowed to install it in some countries in Europe, since the monitoring it performed of you breaks some countries laws of “Surveillance in the workplace”. The DgAgent.exe could have many different modules activated, e.g. monitoring all file movement, hard disk encryption, prevent saving files to any USB device Some of the problem it has caused us are: We couldn’t build executables anymore. The last step when LV zips all files up and adds it to the exe file was treated as a threat, so the exe file got deleted by the agent. File writing failed, because the folder that was created a millisecond before the file was written to that location, was not really created, it was delayed due to the hard disk encryption. So we had to use the magical delay fairy between create the folder and writing a file inside the folder. So if your IT department wants to install DGAgent, I’m sure you’re going to have some interesting problems in front of you.
  6. One file looks a bit small/short only 1m 22sec 2017NIWEEK_403_Ching-Hwa Yu-Jianhua Liu_Automated Test of LabVIEW FPGA Code.mp4
  7. Excellent work, you're the best.
  8. Hi Mike, One question, The CellClicked Event gives me the Row and Column index, but after sorting the data, how do I get the Data of the cell? The DataGridView:Get DataArray.vi, gets me the unsorted order, so Unless I track the sorting my self I'm not sure how to get an sorted grid's cell value based on the CellClicked event. I'm sure there must be a way to do this.
  9. Simple solution LED_Characters.vi
  10. Do you open references to Reentrant VIs and not closing the reference?
  11. I always start by changing the GDI Object limit to 65535, but that just solves your issue for few more days. https://msdn.microsoft.com/en-us/library/windows/desktop/ms724291(v=vs.85).aspx Does this happen in exe file version as well?
  12. I've had these issues. This is not a License Issue, it's a windows permission problem. LV was installed by user X (so the LV files is owned by that use). Now when user Y logs in he/she won't be able to open any files belonging to user X. I've had this issue on some PCs, you can try right clicking on the e.g. LV20XX folders and re-set the user permissions on it and all it's sub folders. Properties->Security->>Add Everyone Full Control. When I get issues like this I normally asks IT to fix it.
  13. You are right the NI-motion driver is not working in 64 bit, which is a really bad thing. But we use the NI motion drivers very successfully on from LV 64 bit....so how do we do that? We create a LV32 bit server application, that our LC64 bit application starts (if it's not already running). We then connect and send instructions over localhost-TCIP/IP, to the 32 bit written LV server application. We use this architecture for several driver components where e.g. the vendor only supplies a 32 bit dll version. Since we're using a GOOP based HAL inheritance structure the driver layer solves all our problems. I hope you don't give up yet on the 64 bit solution, since it will solve a lot of your problems.
  14. I hope you are running LV 64bit to start with, we only run 64 bit here, so we hardly get any out of memory issues. The easiest way it to stop disposing/destroying the image and see if that helps. If you create a "new" image with the same name, you'll just get the same reference. A pool is one way to go as well, but you need a acquire and release images out and into the pool, so if the pool is empty the next user have to wait for his turn.
  15. I would use for loops in your examples. And if you do, it's kind of impressive that you can run the loop with Parallelism activated, but them suddenly it takes 3 times longer time.
  16. The only time I inherit a concrete class, is when I have a Class Called e.g. Instrument123, that has many methods and been verified and work perfectly. Then a new model comes out "Instrument123+", that just needs tweaking in one method or so, to get the same behavior as the old instrument. I guess I do this because I'm lazy, but that's when I do it.
  17. The INI token "ModernBD=True", only changes the wire color for (what I can see) the Blue Numeric into: Instead of the old Blue:
  18. I've just started to use LV2016, and one thing I noticed is that the built-in function Icon's inner color isn't black any more when placed on the BD. It's black in the palette, but when placed it becomes gray. Some functions is still black, is this a new feature?
  19. Just a tip, start off with a base class called: Instrument Then children for the different abstract types, and children to those for the specific ones. Add a FactoryCreateAllInstruments method in the Instrument Base class
  20. I Agree that all those things are very easy to learn, but if the person knows about them, it tells me that they are curious enough to looks at our peoples solutions. So even if you have >10 years LV experiences but never heard about OpenG VIs, Custom Probes, VIPM or QD, that tells me that the person have probable not worked in a team, and been doing the same style of coding since the they started. They probably still thinks global variables are the best way of sending data between processes.
  21. When I interview someone I check: If they are familiar with the OpenG libraries. How much they know about version control If they know what VIPM is If they know and have used: Queues, Dynamic Events, DVRs, libraries(*.lvlib) and classes (*.lvclass) types. Which (if any) LV-forums they visit regularly (it's important that the person is looking around to see how other people solves problems) Then of course I ask them about Quick Drop and QD Short Cuts I ask them about: Custom probes. If you know all these things I would hire you :-)
  22. I would use a Picture control together with a plot, something like this. ExtraX-Scales.vi
  23. What they should have done, is to convert the U32 to U64 inside the node, so it handles the date correctly, but maybe it's not that easy
  • Create New...

Important Information

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