I've created a LabVIEW VI as per the spec found here. Because my VBAI is the 2015 edition, my LabVIEW VI was "saved to a previous version" and then opened into a project file to be built to the aforementioned spec. When I open the "Run LabVIEW VI" step in VBAI and locate my build, I receive an error:
"This step only supports LabVIEW 2015 VIs or earlier. To fix this problem, save the VI to a previous version of LabVIEW."
I've attempted re-saving my VI multiple times to no success. Could the previous version be overridden by the build process?
Solved! Go to Solution.
Could you attach the VI and the VBAI library as well? Attaching the project doesn't automatically include the project files.
What version of LabVIEW are you using for development? Have you tried saving the VI as LabVIEW 2014 or older, and running the same steps?
I've attached my VI. I'm not sure what specific VBAI library you're referring to, but I've included the library from my project (shared variables between the VI and VBAI) and another I found in the VBAI portion of the Program Files.
My development version of LabVIEW is 2017. I haven't tried a date later than 2015, but I can go ahead and do that. I've confirmed that my source VI is v15 by checking the VI properties. Post build, the version reverts to 17.
I notice you have a service request open regarding this same issue. If you find a resolution over the course of that service request please post it here, in case somebody comes across this thread later on. Could you please describe your steps between saving for previous version and opening in VBAI, in detail? If you open the VI in LabVIEW 2017 at all between when you save for previous version and when you find it in VBAI, it will upconvert automatically. Could you also check and see if you have the LabVIEW 2015 run-time installed? When you use the Run LabVIEW step in VBAI, it is very similar to building a LabVIEW executable. If you do not have the appropriate underlying LabVIEW Run-Time engine installed, my concern is that it's using whatever run-time you do have installed which may be automatically upconverting the file. This reasoning is based on the notes in the following whitepaper:
Vision Builder AI and LabVIEW, LabVIEW Real-Time and Run-Time Engine Compatibility
If you do not have the LabVIEW 2015 run-time installed, please download and install it from the link below, save your VI for previous version and try the step again.
LabVIEW Run-Time Engine 2015
I took a look at your code, and here are my comments:
1. You need to have a LV 2015 Project to compile the source distribution. Because of the links to lvlibs, VBAI will not be able to recompile things in LV 2015 even if you save for previous.
2. You should NOT use a While Loop because the Run LV VI Step in VBAI waits until the VI completes before it can continues.
3. You should not associate controls/indicators with shared variables directly in the VI. Instead, use the Run LV VI Step in VBAI to set controls to previous measurements or variables and after the VI runs once, use the indicator values to update variables or just log the values as a result of the step and use the results of the Run LV step in VBAI to update variables or use in subsequent steps in VBAI.
I built the LLB using LV 2015 project and I made a Windows LLB as well as a Linux RT LLB in case you're using an RT target.
Hope this helps,
Here's what it looks like to use associate controls with variables or previous results and assign the results of the Run LV step to variables. By default, the indicator results will be logged as results of the step that you can use in subsequent steps, but you can also directly update variable values from within the Run LV VI Step.
Hope this helps,
Thanks for your reply. With my project open, I save the VI to a previous version. At this point, the VI itself has been closed. Switching to my project window, I r-click "My Computer" then "add a file" to the project (the file being my VI). When added, the VI appears at the top of the project tree (underneath "My Computer"). From there, I follow the steps (contained in the link in my first post) to build a source distribution. Once the build is generated, I switch to my VBAI window and add the "Run LabVIEW VI" step to my inspection, locate my build, select it, and receive the error.
I've attempted to install the 2015 runtime, but the installation was blocked due to LabVIEW 2017 being on my computer. The poster below you has offered me some changes to implement in my code that may streamline the process, and I plan on calling NI today. Once I get to the bottom of this, I'll post the steps I took to the solution. I will also mark a post the solution in case something works.
Thanks for your help
As I mentioned earlier, you will need to use the LV 2015 development environment to build the source distribution. Building with LV 2017 and trying to save for previous won't work well. In some limited cases, the Save for Previous can work, but when there are dependencies on lvlibs, this prevents the Save for Previous from working with VBAI.
Hope that helps,
This and your other message are both incredibly helpful. Thank you! The files your provided work with my VBAI, and it seems that the outputs from my VI are correct. However, I still need to test through the process with my device, but that will not be available to me until Monday.
I'll work on getting that runtime environment setup. In order to mark your reply as a solution, I'd like to be able to reproduce the effect for myself.