Jump to content

Jim Kring

JKI Team
  • Posts

    2,200
  • Joined

  • Last visited

  • Days Won

    105

Everything posted by Jim Kring

  1. Great question @Joerg Hampel. It's basically the same thing, but requires the extra step of telling VIPM that you want to apply the .vipc (install the packages) into the virtual environment. We're working on extending the VIPM API to allow for specifying an "lv-venv" when performing package installation/uninstallation actions. That isn't quite there yet, since we've been focusing on the User Interface side of things, up to this point. Is your team at a point where you'd like to try this? Keep me posted...
  2. Dragon supports both 32-bit and 64-bit LabVIEW. Here's some related information. Dragon Project Required Bitness Setting When you create a Dragon project, you can specify whether your project requires 32-bit or 64-bit LabVIEW (as shown below). If your project sources run fine in either bitness of LabVIEW, then just leave this setting set to “any” and Dragon will take care of the rest. Note: the project's required bitness setting specifies "Which LabVIEW version must be used on every developer's computer to work on the project." Note that most projects do not need to use this setting, and should leave it set to "any". Virtual Environment Bitness Virtual environments have a “bitness” setting, too. You can think of this setting as specifying “Which LabVIEW version I am using on this computer to work on the project”. Dragon uses this setting to know whether to open the project in 32-bit LabVIEW or 64-bit LabVIEW on your computer. Known Issue: When both 32-bit LabVIEW and 64-bit LabVIEW are installed, Dragon will create a 32-bit virtual environment If you have both LabVIEW 2020 32-bit and LabVIEW 2020 64-bit installed, for example, Dragon will create a 32-bit virtual environment for your project. Because of this, you will find that if you try to open your LabVIEW project in dragon, it will always open in LabVIEW 32-bit. If you wish to work on your project in LabVIEW 64-bit, you will need to edit the bitness setting of the virtual environment manually (and, you'll notice there's no way to change this in the Configuration user interface). Here's how you can change the virtual environment to 64-bit Inside of the lv-venv folder you'll find a lv-venv.config file -- open it in a text editor and make the following edits: - change labview-path to the path to LabVIEW 64-bit, and note that 64-bit LabVIEW is not in “Program Files (x86)” folder - change labview-bitness to “64-bit” Save the lv-venv.config file and then re-open your Dragon project. The project should now open in 64-bit LabVIEW.
  3. When working with a source code control system like Git or SVN, here's how you'll want to treat the various files used by Dragon. First, it's important to note that, in general, you should NOT add the virtual environment ("lv-venv" folder) to source code control (see LabVIEW Virtual Environments for more information about working with virtual environments). Dragon will create and manage the virtual environment on each developer's system independently. This folder may contain platform and system dependent components, which could be different on each developer's system. With that said, here are the file types that you DO want to add to source code control: *.dragon - This is a Dragon Project file and all of its settings. *.vipc - This is a VI Package Configuration file. It contains a list of all the packages required by your project, and optionally can contain a copy of the actual package file itself. *.vipb - This is a VI Package Build Specification file. It is used by projects that have a VI Package build output.
  4. Dragon and Virtual Environments integrate nicely with package building. Here's what you need to know... Add the VI Package Build specification (*.vipb) file to the Dragon project configuration Add the existing VI Package Configuration (*.vipc) file (used by the .vipb file) to the dragon project configuration Be sure to launch VI Package Builder from Dragon (via the button/tab on the sidebar), so that the virtual environment for the Dragon project is active when you start the package build. That's it! Here's a short video showing this process in action. The password for the video is "dragon" (without quotes)
  5. Some projects benefit from having multiple LabVIEW project (*.lvproj) files for a variety of reasons. One common use case is to have a LabVIEW project file for each target in a distributed/embedded system. For example, we might have three LabVIEW project files in our project folder: MyProject_Host.lvproj MyProject_RT.lvproj MyProject_FPGA.lvproj However, a Dragon project allows you to specify only one LabVIEW project file. Yet, we can work around this by copying and renaming your .dragon file, creating one copy for each LabVIEW project file. To do this, simply copy the .dragon file so that you have three copies that are named: MyProject_Host.dragon MyProject_RT.dragon MyProject_FPGA.dragon Then, open each dragon project and edit it's configuration: (1) change the display name and (2) change the path to the LabVIEW project file. Note: Multiple .dragon project can use the same virtual environment. You can experiment with whether this works best for your application. You might also experiment with using a separate virtual environment for each project/target, but be careful to avoid cross-linking and keep the codebases for the different targets separate on disk (isolate them into separate project folders on disk). Here is a video, below, showing how to do this. The password for the video is "dragon" (without quotes)
  6. Warning: Do not uninstall any packages from LabVIEW (the global environment) until you have a VI Package Configuration (*.vipc) file that contains the list of all these packages, which are required for your project. Otherwise, you may not know which packages are being used by your project. We'll show you how to create that VIPC file, below. Overview Existing projects (developed outside of Dragon) will, typically, already have their packages installed into the global environment. This guide will help you migrate to using a virtual environment for the project, so that you can take full advantage of this great new feature. Pre-Migration Questions First, before you start the migration (and especially before you uninstall any packages from LabVIEW), it's important to know which packages your project is already using. This guide will help you figure that out. Here are two important questions: Please read both of them, before continuing on to the Question 1) Does your project have an existing VIPC file? (read more about VIPC files here) If you answered "yes", you're probably in good shape and you probably already know a little bit about VIPC files (which is good). Note: Even if you have a VIPC file, there may still be a chance that some VIs called by your project are in packages that are not yet in your VIPC file, so you may want to scan your project to be sure that you've got all the required packages in your VIPC file, before you move on. If you answered "no", then you're going to want to be very careful not to uninstall any packages until you create a VIPC file. Question 2) When you open your project are there any missing package VIs? If you answered "yes" that might be a problem. You'll need to figure out which packages your project depends upon. This guide can't really help with this, but If you answered "no, everything opens just fine -- no missing VIs" that means you probably have all the required packages installed. We'll want to be sure to create and/or update a VIPC file, before we uninstall anything. Creating (or Updating) Your VIPC file Before you continue, you might want to make sure you're feeling comfortable with the Dragon beta documentation page Managing Package Dependencies (and working with VIPC files) and you may also want to read more about VIPC files here. Here is a video that shows the process for a project that does not yet have a VIPC file: The password for the video is "dragon" (without quotes)
  7. We'll have more to say about this topic very soon. For now, we'll just say that CI with Dragon involves programmatically (via the command-line) doing the following two key steps: - Checking to see if a dragon project needs packages installed (whether globally or in it's virtual environment) - Installing any required packages into a dragon project's global or virtual environment We're actively working on the APIs required to do this. Please stay tuned and feel free to express your interest by commenting below
  8. Dragon uses a VI Package Configuration (*.vipc) file to store your projects package dependency declarations. A VIPC file defines which exact versions of packages your project depends upon (and it should be kept in source code control). When you open your project, Dragon checks to ensure all the packages in your VIPC are installed and will prompt you to install them, if they are not already installed. You can easily add packages to your project's VI Package Configuration (*.vipc) file and manage the VIPC file, as shown in the sectiosn below. Adding Packages to the VIPC Dragon does not automatically add packages to your VIPC file, when you install them into your project -- you must explicitly add them, by right-clicking on the package and choosing "Add Package to VIPC". Dragon Prompts to Install Packages (When you Open Your Project) When you open your project, Dragon will prompt you to install the required packages (those in your VIPC file) before you start working on the project. Editing your VIPC File in VIPM You can open your VIPC file in VIPM by right-clicking on the Resources tab/button or node in the tree and choosing "Open VIPC File". This will open the VIPC file in VIPM's Package Configuration Editor. Scanning your Project for Package Dependencies (automatically adding packages to the VIPC) You can scan your project to automatically detect which packages are being called by your project source code. This will automatically add package dependencies to the VIPC and remove packages that are not dependencies from the VIPC. To do this, simply right-click on the Resources tab/button, Resource tree node, or Virtual Environment and choose "Scan Project for Package Dependencies". Specifying which VIPC file to use for your Dragon Project On the Configuration page, you can specify which VIPC file to use for storing your project's package dependencies. When you open a new project, Dragon will find and automatically choose the first VIPC file it finds next to your LabVIEW project. And, if it doesn't find one, it will create one automatically. However, if you need to change this, you can do so from the configuration page, as shown below. More about VIPC Files You can find more information and tips for working with VIPC files here.
  9. One of the key new features in Dragon and VIPM 2021 is support for installing packages underneath the project source folder. This is achieved using a LabVIEW Virtual Environment which is kept in an "lv-venv" subfolder of your project. Note: This feature is kept mostly behind the scenes in Dragon, and users generally do not have to worry about how they work. Here are the most important things you need to know about LabVIEW Virtual Environments, along with some details you may find helpful: About the "lv-venv" (LabVIEW Virtual Environment) Folder A Dragon project will have the contents of packages installed, by default, into a virtual environment folder named "lv-venv", located next to the dragon project (*.dragon) file. This folder contains VIs (and other LabVIEW files), a VIPM package installation database, and other important files. Warning - Do Not Modify: It is recommended to NOT modify any files in the virtual environment folder, in the same way you would take care not to modify any files installed beneath LabVIEW. However, deleting an lv-venv folder is generally not a problem, assuming you have saved your .dragon and .vipc file(s), which contain your project's configuration and can be used by Dragon to recreate the virtual environment. Installing Packages Into the Virtual Environment (vs Global Environment) The Resources page shows both the Global Environment and the Virtual Environment. Installing a Package To install packages in the Virtual Environment right-click on the "Virtual Environment (lv-venv)" or "LabVIEW YYYY" (Global Environment) node and select "Install Package" -- this will install the package into that environment (virtual or global, depending on which node you selected). Note: If you right-click on the Resources tab/button and choose "Install a Package" or click on the Search Button, any install actions will target the virtual environment (for projects with a virtual environment). Uninstalling a Package To uninstall a package, simply right-click on any package and choose "Uninstall Package" and it will be uninstalled from whichever environment it's currently installed. Finding Installed VIs in the Palettes and QuickDrop VIs for packages installed into a virtual environment will appear in a palette with the name "PROJECT_NAME (lv-venv)" as shown below. They will also be available in QuickDrop. Note: If you're using a virtual environment, be sure you have the "VIPM Extensions for LabVIEW" package installed in the Global Environment for the LabVIEW version you're working in. Dragon will install this package automatically (after prompting you to confirm the action), if it's not already installed and you're using a virtual environment. Using Virtual Environments with Source Code Control (e.g. Git) You should generally not keep the LabVIEW Virtual Environment ("lv-venv") folder in source code control -- it will be created separately on each developer's machine. However, do keep any *.dragon and *.vipc files in source code control, since they contain the information used by Dragon to create and maintain the LabVIEW Virtual Environment. Please read Integrating Dragon with Source Code Control (e.g. Git or SVN) for details. Turning Virtual Environments OFF (or ON) for a Project You can turn Virtual Environments OFF on a per-project basis, in the Dragon project's Configuration page. Simply uncheck the "Install Packages Under Dragon Project Folder" checkbox (and then press the "Save" button). Note that if you toggle this setting to OFF (where you previous had it turned ON), you may need to manually delete the virtual environment ("lv-venv") folder and make sure that your project's VIs are relinked to the installed package VIs in the global environment. Similarly, if you had this setting OFF and you turn it ON, you may need to manually uninstall packages from the global environment, install packages into the virtual environment, and then relink/resave your project VIs that link to those package VIs. There is a right-click option on the Project tab/button to Mass Compile the project folder, if you wish to use it. Virtual Environments and VIPM Main UI (Only an FYI) In order to install/uninstall packages in a virtual environment, Dragon activates the virtual environment in VIPM. Note: Dragon does this behind the scenes when you're installing/uninstalling packages from the Resources page of the Dragon project window. IN GENERAL, YOU DO NOT NEED TO OPEN VIPM TO USE DRAGON. This information is only provided so that if you should have VIPM open, you will understand what you're seeing. If you DO happen to open VIPM's Main UI, you can tell if a virtual environment is active, because a Dragon project name will be visible in the location where the LabVIEW Version selector is typically located (as shown below). You can Deactivate the virtual environment in VIPM by pressing the close "(X)" button on the Dragon project name indicator in VIPM.
  10. Totally. I've opened a service request with NI to dig into it some more. I'll post updates, once I find out more.
  11. I was able to reproduce the issue with the help of a colleague who has an RT Target. I've written up some info about this issue here: https://lavag.org/topic/21753-1d-array-to-string-not-compiling-correctly/ OpenG String v4.1.1.16 should fix this issue (although it's simply working around the LabVIEW compilation bug, which could potentially be causing other issues) I'm going to work to report this to NI, since we can reproduce the issue.
  12. Also, are you able to reproduce this issue right now? I might have a fix/test for you. If you've fixed it locally, maybe you can reproduce by uninstalling OpenG String from 2019 and then re-install OpenG. Being able to reproduce would really help me test a fix.
  13. Oh, that's very interesting! Thanks. Question: is there any possibility that you opened this code on a Mac? (where the EOL character is a "\n" -- note that the EOL character is "\r\n" on Windows).
  14. Hi Antoine, Thanks for posting this. Question: Do you have LabVIEW 2020 SP1 (2020.0.1) installed or LabVIEW 2020 (2020.0.0)? I'm trying to figure out how to reproduce this bug. -Jim
  15. There are the ones that come to mind: C:\Program Files (x86)\JKI C:\ProgramData\JKI C:\Program Files (x86)\National Instruments C:\Program Files\National Instruments
  16. @Mads Toppe, Thanks again. We've created an official knowledge-base entry for this issue: Knowledge Base: VI Package Manager Runtime Engine - Installation Media Required for Repair
  17. Ah, that's good to hear that IT was able to figure it out. Glad it's working for you now.
  18. Would you be able to check which versions of .NET you have installed? That's the only thing I can think of that would cause the code to open but be in a broken state.
  19. Hi There. Sorry for the trouble. You said you tried installing VIPM that you download from JKI, here, right? vipm.io/desktop Yes, something seems broken. What do you see if you click on the broken run arrow?
  20. Hi @Mads Toppe, Thats fantastic news. I’m really glad that worked for you. Thanks for sharing all the details about the problem and how you fixed it. We will create a knowledge base entry about all this to hopefully help anyone else who may get stuck in a similar situation.
  21. Hi @Mads Toppe, Can you try this? Download this zipped up version of the VIPM Runtime Engine installer and point the "Select Distribution" dialog to where you extracted it? vipm-runtime-engine-19.1.3-windows.zip I'm hoping that will help you get past this step. The longer story is that it seems there's some deadlock happening due to the way NIPM and NI's older driver installers work. Hopefully, we'll get you going again. Please let me know if this works for you.
  22. Work in progress... Download and Activation Download: vipm-21.0.xxxx-windows-setup.exe (this link will always get you the latest version) Note: Dragon Beta is installed along with VIPM 2021 Beta. Activating: Please sign in to VIPM using the email address you used for the beta and activate with the Serial Number: DRAGON-2021-YOUR-FULL-NAME (Note regarding special characters: e.g. use "N" instead of "Ñ" and "U" instead of "Ü"). This will activate Dragon. Getting Started with Dragon What is Dragon? Dragon is a project environment that sits above LabVIEW and VIPM and makes it easy to work on your LabVIEW projects. It works with all the LabVIEW versions on your computer. It has some amazing features... What can Dragon do? Always opens your projects in the correct version of LabVIEW and makes sure all your project’s dependencies are installed. Makes it easy to find and install packages directly from your project, and manage all your project’s dependencies in one location. Installs package contents underneath your project source folder (instead of underneath LabVIEW), so you can open and switch projects faster (and even have multiple projects open at once that use different versions of the same package). Topics and Tutorials You may want to explore these more advanced feature topics (after you've watched the Quick Start Video below) LabVIEW Virtual Environments ("lv-venv" folders) Integrating Dragon with Source Code Control (e.g. Git or SVN) Managing Package Dependencies (and working with VIPC files) Migrating an Existing Project to Use a Virtual Environment Working with Multiple LabVIEW Project Files (e.g. RT, FPGA, Host) Building VI Packages with Dragon and Virtual Environments Using Dragon with Continuous Integration (command-line build tools) Using Dragon with 64-bit LabVIEW (using the "Required Bitness" setting and how to change a virtual environment's bitness) Quick Start Video Please watch the following video for a quick tutorial of how to create a new LabVIEW project and use Dragon to find, install, and manage packages. The password for the video is "dragon" (without quotes)
  23. Hi @Mads Toppe, So that I can get NI support into the loop on this, can you please submit a bug report with NI and then respond back to me with the link to that ticket (you can send it to me off-line if you prefer). When you submit the ticket to NI, please list the steps you took to get into the situation (if you can) and also provide the screenshots you posted here in the forum. I can then work to get the ticket escalated and reproduced internally by NI so their dev team can figure out what happened. Thanks!
  24. Hi James. Thanks for that extra information. Also, I am curious to lear more about how you're doing programmatic scan for package dependencies on a project. What I've seem most often is that the developer team is responsible for deciding which packages are dependencies of a project. Then, the automated build tool makes sure those dependencies are installed before the build. Can you tell me more about this? is this something you're doing on projects or just part of the proof-of concept? I'm working with our team to reproduce these issues and see if they can be fixed. Thanks.
×
×
  • Create New...

Important Information

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