Jump to content

Neil Pate

Members
  • Posts

    1,155
  • Joined

  • Last visited

  • Days Won

    102

Everything posted by Neil Pate

  1. As a consultant I have to work with whatever code my customer has developed. Some of it does indeed take several monitors to scroll across and I just have to deal with this. The IDE should not choke or do "stuff" constantly while I am editing. Also, as is pretty common during development my code spends a lot of time broken as I develop or refactor stuff, and I have to deal with missing VIs all the time as I integrate other team members code back into the main branch. As LogMAN pointed out, the behaviour of the selection rectangle is so much quicker in 2015 (at the expense of the "amazing must have could not live without" feature of shading the contents of the rectangle). I bet ShaunR is having a quiet chuckle about this whole thing as he gets to use 2012 or something like that. Sorry if I am coming across angry, but I am. LabVIEW is not exactly a new immature product that is given away for free. We really should not put up with this rubbish. If I have to wait for my IDE to draw a shaded rectangle, regardless of the quality of code underneat, something is deeply wrong.
  2. Please don't give them any ideas...🤦‍♂️
  3. LogMAN that looks a lot like what I see on my PC, thanks for confirming. As you say, how can this stuff even make it out the door? ITS A SELECTION BOX, HOW CAN THIS BE SLOW. WHAT IS LABVIEW DOING??? 🤮 NI STOP MESSING WITH LABVIEW. ARE YOU TRYING TO GET US TO LEAVE THE PLATFORM?
  4. Definitely not a notebook. It is a two week old PC, the fastest thing I have ever used. 32 GB of DDR4 RAM, Xeon CPU, extremely fast SSD and a good GPU. LabVIEW struggles to draw the grey selection box around stuff; it is actually a bit embarrasing. If I open a new VI and draw the selection box around a single structure it is "ok" but still quite sluggish. Trying to edit anything sensible leaves me with a slide-show for any editing operations that cause stuff to be redrawn. I have now turned off all options like auto wiring etc and its a bit better, but it is 2019 now. Editing operations in an IDE should not feel slow.
  5. Because a queue is not a class. (I guess you know that, you are more trying say why is it not possible to be able to do this in the language...)
  6. So then can the queue contain objects of the base class? Without seeing much more than this tiny bit of the solution it is a bit tricky to visualise a way forward.
  7. Don't think you can do that, I think a queue ref cannot be dynamic dispatch, even if it contains a class. I am not sure I really follow what you are trying to do, but could you flip the logic around a bit, and have the queue ref as like the second input terminal, and have a StartRun input as the dynamic dispatch input? So you Enqueu Serial Number class which you have shown would have the StartRun object as the primary DD input?
  8. Still not getting you, sorry. You want to wire a queue of classes into a class terminal? Can you post your demo project? Just because the classes might have a hierachy surely that does not imply anything about a queue that may contain these? You cannot set dynamic dispatch on a queue ref, can you???? (it is not a class itself)
  9. What do you mean by dynamic queue reference? Is this something you can configure a queue to be?
  10. I cannot seem to get this to work on 2017 SP1 (64-bit). Tried various combinations of these: DragAutoWire=False LiveDrag=False But nothing seems to help the editing experience which lags so badly when doing "complicated" operations like a a box selection 😞 This is on a brand new dev PC with 32 GB of RAM, very fast SSD and processor.
  11. To badly paraphrase... Some people, when confronted with a problem, think “I know, I'll use packed libraries.” Now they have two problems.
  12. Not sure when I will ever get around to doing anything with these again, so for now I release into the wild "as is". https://github.com/neilpate/LabBASSMOD2 https://github.com/neilpate/LabSDL2 https://github.com/neilpate/LabMelee
  13. Does anybody know how to get a LabVIEW built application to ignore the scaling setting in Windows? I have some code designed to fit nicely in 1280x1024 pixels, but some of my customers say that even on a 1920x1080 display the menu bar at the top is cut off. I guess this is probably because their windows scaling is set to some number other than 100%. In my experience LabVIEW looks really rubbish when run on Windows 10 with this setting to anything other than 100% (blurry and inconsistent). I suppose is to be expected from an application like LabVIEW that is approaching retirement age! Am I missing something obvious here? Although I always set my Windows scaling to 100% on all the PCs I control it is not really practical for me to expect ask my clients to change this setting as some of them have probably gotten used to seeing Windows text nice and big at 125 or 150%. Edit 1 I have done quite a bit of googling and not really come across anything LabVIEW specific. The closest I got was some NI KB about LabWindows. Edit 2. Success! https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000004A7eSAE Note a newer Windows update adds a few more options which are now tucked away in a separate dialogue. I have not tried playing around with the other options yet as this fix works fine on my PC. Edit 3. And this is how it can be done programatically: https://blogs.technet.microsoft.com/mspfe/2013/11/21/disabling-dpi-scaling-on-windows-8-1-the-enterprise-way/ (i.e. as part of an installer action)
  14. I have seen a similar issue quite often with LV2015. When I right click on a build and explore it regularly takes me to the wrong build directory, usually a totally unrelated project. I do not do any programmatic builds.
  15. Sorry if I have mislead you, looking back at my post I have to make a correction to my vocabulary. The whole system probably had about 10 nodes in total and the LabVIEW based controller had to implement several OPC-UA clients and servers (I think two each). In total the system had about 500 tags (not nodes, sorry!). I tested things at a maximum rate of about 1 "update"/s where an "update" was changing all the tags of a particular subsystem. Performance was never an issue at all of this portion of the application, I cannot say I ever saw the CPU particularly taxed. What did cause performance issues was trying to update my tree control view and name based logging. What I gained in elegance in the code I sacrificed in performance. Also, if I never have to write another recursive tree updating routine based on hierarchical tag names I will be quite happy. I am not at liberty to share anything as I did it as consultancy for another company, sorry. In the end OPC-UA worked fine, and I would certainly consider it again. I will never use NSVs in a project; I just have too much distrust of them. In fairness though it has been nearly 7 years since I was scarred by them...
  16. Killer feature: new hardware only supported on NXG 🤦‍♂️
  17. Unfortunately I cannot share the whole project but I will see if I can trim out the broken bit and escalate. At the moment that particular VI is reliably broken, if I take out the "Always Copy" it still shows the weird behaviour, so at least it is consistent.
  18. For one of my projects that used OPC-UA I had probably 500 different nodes in the system. I did not really want to handle the data read using a case structure with 500 cases, so I went 100% down the route of name based lookup data structure implemented using Variant Attributes. I managed to extend this to a tree based system data viewer and configurable data logger, without ever actually using explicit node names (well, not perfectly but close enough). For the most part I did not have to fight with OPC-UA, it just worked.
  19. I used the same client from United Automation to test out my OPC-UA server, it works nicely. How do you plan on integrating that with the rest of your application though?
  20. This is LV2015 SP1 (not too sure the patch). I suspect the moment I start to chop things out to isolate the problem will just go away. Will try this when I get a moment.
  21. The Status.Playback.Position field is not being updated correctly. Works fine if I replace the input with a constant ? Also works fine if I do some IPE "mark as modifier" trickerey.
  22. No, I didn't raise it with them at the time as I was a bit too busy trying to finish the project and then forgot about it.
  23. I have used the NI OPC-UA toolkit in a bunch of projects. Both as a client and server. Had an issue with an earlier version of the toolkit (2015) where it was not working correctly with authentication, but NI released a patch for that. The only other strange thing is that the client (or server, cannot remember which it is) does not support Data Change events, so you have to poll. Oh yes the other weird thing is that when you do get a Data Change event you get the data coming in as a variant, but unlike regular variants this one seems to know nothing about its own type. This actually caused a bit of drama for me but managed to find a work-around as the data change event does actually include the type, so I was able to shove it back into the variant.
  24. Sure he can, I just prefer these days to no output the duplicate object if it is guaranteed to be never modified inside the method.
  25. I only asked because a few years ago I decided to change how I write classes. Methods that do not modify the data do not have the output class. See http://www.walkingthewires.com/2016/02/15/just-passing-through/ I really like this technique as to me as a developer it conveys intent to somebody else looking at the code. From a higher level it shows that the method does not modify any private data in the object.
×
×
  • Create New...

Important Information

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