Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Posts posted by pawhan11

  1. Attached working proof of concept with LabVIEW CLI, To make it work:

    • Disable Error message on logger instance (FGV in C:\Program Files (x86)\National Instruments\Shared\LabVIEW CLI\Operations\Utilities\Logger)
    • Enable multiple instances of LabVIEW
    • Spawn few labview processes that will run Builder.vi and pass instance parameter eg \..\..\Labview.exe \..\..\Builder.vi -- 1
    • Copy ExecuteBuildSpecAsync_class folder to C:\Program Files (x86)\National Instruments\Shared\LabVIEW CLI\Operations
    • Start it the same way from labview CLI but use ExecuteBuildSpecAsync insstead of ExecuteBuildSpec, should compile on free running builder or throw exception



    • Thanks 2
  2. Seems that it is not possible directly using LabVIEWCLI, i managed to 'cheat it' by starting multiple LV instances, one instance was building big proj that takes 30 min, another instance did simple library that takes 40sec, they seemed to work independently and time of individual builds did not increase.

  3. I have app with 30 PPLs that have to be compiled before main application. It takes huge amount of time (30min) for build, probably due to heavy use of classes. I use simple powershell script to execute those builds in order, but most of them could be executed in parallel. Is it possible to start multiple instances of LabView CLI to 'cheat' this? 

  4. @ShaunR I might have formulated question incorrectly 😁 I want 3 separate functions that have:

    - variant input and return 1d array of variants when input variant is array  (any dimension any data type in array)

    - variant input and return array of variants when input variant is  set (any data type in set)

    -variant input and return variant pairs of key values when input is Map (any data type of key and value in map)

    For Maps and Sets I can get type info using Type Parsing Library but not the actual, the only way i see is digging into type descriptors...

  5. I am looking for a way to do convert N dimensional array to 1d array of variants. Can this be done using native labview functions (some hidden gems etc), without using OpenG?

    Another issue is with maps and sets, i want to get data out as array of variants, having set or map as variant.


  6. Started transition from svn to git recently and I might be not 100% accurate there. Branch for git means just an link to a commit.

    When branch is merged and later deleted no history will be lost, all commits from deleted branch will remain as they were.

    If You delete branch that was not merged then commits in that branch will not be 'reachable' and eventually be garbage collected - never seen that one yet. 

  7. We are looking for best way to get rid of PXI controller, due to high cost, low performance and issues with IT policies within company.

    From what I see the best way is to use thunderbolt PXIe-8301. I ve seen many notebooks with TB3 but no desktop PCs. Are there other ways what will be cheaper than PXI controller?


  8. Did You guys have any problems with labview CLI when setting up CI? Or it is just me doing something wrong somewhere. So far I ended up with powershell script that based on params triggers builds, runs caraya tests and creates simple zip package with binaries. What I see is that sometimes build fails one time and when retried works fine when no change to code was made, sometimes cli can not connect to laview. Another problem that i encountered is fact that labview build destination is absolute path, not relative and has to be updated in lvproj xml files. I fear that when we spin off dedicated vm to run those builds it will fail due to potential LV 'problems'. 

  9. I had the same issue with svn and externals. One app pointed to branch of another component. It was a mess when managing this in long run.

    Now when we do transition to git, i try to find alternative solution. So far the most reasonable is pulling component binaries to project that needs them via nuget package or g package manager. From what i see NIPM installs package globally for PC, not per project. 

  10. I want to leave svn behind as soon as possible because current repo structure that was tailored many years ago in my organisation. We have one svn server with one svn project and inside that project people created folders for multiple projects... i once found there labview iso image. After 2 years working with that i still have no idea where to find something.  🙂

    I guess I could migrate to another svn and do it right this time. I want git because local repo is big benefit for offline work that is more common these days. Another reason would be to keep up with technology progress. All sw companies that i know use git.

    For project management we have Jira and it will probably stay that way. Ability to define custom workflows solves many problems for other teams, like projects for equipment calibration, maintenance, production support work really well. We do not have make custom tailored software to manage this. I tried to do this in gitlab and failed.

  11. Thx @Rolf Kalbermatter, is there any magic trick that will allow me to use absolute path instead of relative when they have common root? Or define list of paths where PPL will try to find dependencies? I can edith this in lvlroj file but after save it is replaced back to relative. If I place lvlibp in lvlib folder it will be resolved using tag?

    @Mefistotelis those special tags like <vilib> are somehow predefined in LV? Can I create my own custom tags that LV will understand? Or something like probing or assemblyresolve in c#?

    Problem i am trying to address is that i ve 2 applications and one has public.lvlibp interface that can be used by another one. To make this work app 2 must have relative path to public.lvlibp after build and deployment... 


  12. I work 5 years as labview 'developer' and when someone from other technologies asks me how this compiles and really works my answer is i ve no idea. :)  When on the  other side open technologies give much deeper ride and control. It might be due to my limited understanding of LV but detailed information is not there on official NI forums. I guess it is up to discussion if You need low level understanding how LV or other technology works. In my case as sw engineer I always want to know how things work, and the longer i work as engineer i realize i ve no idea how 90% of things work :D  

    • Thanks 1
  13. I guess User Interface can be fixed and adjusted later without breaking changes, the same for function groups and shortcuts (or i hope it can be). If they deliver more fundamental things that are pain in CG like problems with relative build paths, unicode, sealed classes, packed libraries linkage, building of multiple layers of libraries without killing labview, out of the box support for source control systems & diff/merge operations... i would for sure try it.


    btw, i ve just found this 'hidden gem':



  • Create New...

Important Information

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