Jump to content


Popular Content

Showing content with the highest reputation since 02/20/2018 in all areas

  1. 2 points
    Get the JKI State Machine Editor (just check VIPM for package updates) Version 2013.4.0.186 This new release adds a right-click option called "Find Data Accessors" to Bundle by Name and Unbundle by Name nodes in a JKI State Machine. Using this feature will open a dialog showing all the frames of the JKI State Machine that access the data, as shown below:
  2. 2 points
    I found one problem that occurs to me. "Find Data Accessors" is available in any VI (not only JKI State Machine) for the Unbudle by Name function, but its call does not cause the appropriate list to be displayed in the dialog box, although the application is started and consumes processor resources. Calling it several times on a notebook with an i5-4210M processor results in 100% CPU load. I've attached a screenshot for the FMSM example from LabVIEW example projects. As you can see, also Add Dynamic Events and JKI State Machine Editor... are visible - only when pop-up on Bundle/Unbundle by Name.
  3. 1 point
    @Jim C you may want to tell your coworkers to sit down when the hear about this new release... We've made another great round of improvements to the JKI State Machine Editor that we're excited to tell you about. Integrated Event Structure and Case Structure Viewer The biggest thing you'll notice is that we've integrated the Event Structure and Case Structure into a single tree view -- all of the Event Structure frames have been added under the "Idle" ("Event Structure") item at the top of the tree (as shown in the screenshot below). You can now easily navigate all the Event Structure frames and Case Structure frames from this single tree view. Drag & drop to reorder the Event frames -- it works just as you'd expect! Context Help Shows Documentation for Frames of the JKI SM If you show the Context Help window (<Ctrl+H> or Help >> Show Context Help) and then hover over a frame name in the JKI State Machine Explorer's tree view, the Context Help window will update to show the documentation string for that frame. Explore States Dialog Another cool feature we added is the ability to Explore States on a state string constant. Simply right-click on a state string constant and choose Explore States (as shown below). This will open a dialog (shown below) that looks a lot like your string constant, and allows you to click on individual lines/states of the string constant, which will navigate the JKI State Machine to that frame. This allows you to quickly jump between frames if you'd like to navigate through the sequence of states in the string constant. Grouped Right-click Options on States Finally, we added a small usability improvement where we now group all of the right-click options for a state, under a single submenu (as shown below) -- previously, these were all at the root level and started to get unwieldy. I hope you enjoy this latest round of improvements to the JKI State Machine Editor and it helps your write great code even faster.
  4. 1 point
    Update from JKI: This issue is planned to been fixed in VIPM 2018. So I can successfully build packages with VIMs in them. But I found that if I need to make a package, that depends on a package, which contains a VIM, the build will fail. First install the hooovahh_array_vims- package. Then try to build the File IO package, which at the moment only contains one VI. If it is like my setup the build will fail with this error. If I remove the VIM dependency by replacing it with the OpenG one the build is successful. Build Fail VIM Dependency.zip
  5. 1 point
  6. 1 point
    Hi Jim, THANK YOU! That link did help! Looks like all I needed was to install libXinerama.so.1 WHICH I thought I had already but not for 32 bit! Installed, as a result: Installed: libXinerama.i686 0:1.1.3-2.1.el7 nvidia-x11-drv-32bit.x86_64 0:384.111-1.el7.elrepo Dependency Installed: libX11.i686 0:1.6.5-1.el7 libXau.i686 0:1.0.8-2.1.el7 libXext.i686 0:1.3.3-3.el7 libxcb.i686 0:1.12-1.el7 Didn't require the 2015 run-time install since 2017 pro dev is installed. VIPM is happily doing its package cache download stuff as I am typing this! What a lovely sight!!!! Thank you again! Cheers, Brian
  7. 1 point
    Thanks, Jim. That's great news. I'm not sure whether it addresses Fab's concerns, but it does address mine. I'll let you know if I encounter any issues with VIPM 2017 for Linux. -Chris
  8. 1 point
    @Jim Kring Ahaaaa- in my case, that folder already existed from a previous install; and the jki.conf it contained was owned (755) by the previous user of my machine... I recursively gave myself permissions through the whole folder, which cured the error 8; however, VIPM would then launch, and die silently while still at the splash screen.. So I blow away the whole JKI folder, and everything went fine from a clean start ;-) -Thanks for your help! ~Tom
  9. 1 point
    The OpenG Array Library is not listed in VIPM from the JKI Package Network. I even tried refreshing, but it did not find the required library. Other observations: 1. I am able to see an older version of that library in VIPM 2. I checked the website and was able to find the latest version But I want to understand why my VIPM is not listing it
  10. 1 point
  11. 1 point
    I really like this template. It works great, is easy to use, easy to debug, keeps things well organized, etc, etc, etc. The one issue that I have with it is how it processes events. I do not like the event structure being inside the idle case. This one particular app I wrote runs test sequences consisting of multiple states back to back (essentially a macro). If the user presses the ESC key, they can interrupt the test sequence and skip to the end. To implement this, I had to poll the IDLE case in every one of the states of the test sequence to see if this event had happened. I didn't like doing that so I removed it and I thought I would share how I did it. I like this method much better because it will process the events as they happen but can also, in a way, prioritize the events. So obviously, I had to pull out the event structure and place it in its own process loop. You'll notice the UI Event queue for passing states to the state machine. Next, I create a VI that reads from the queue, with a very small timeout, and adds the event state to the front of the JKI state queue. This VI goes in front of the Parse State Queue VI so that the event is added to the font of the state queue. And within the state machine, I added a UI: Process Event state that accepts two arguments: first is the control and the second is the value associated with the control action. This works for my application but may need to be changed for other needs. Within the state, I can now determine whether to process the event immediately (as in the case of the ESC button scenario that I mentioned above) or I can choose to add another state to the end of the queue to be processed after the current queue is empty. I think this method keeps the UI responsive and doesn't require the additional requests to the IDLE states scattered throughout your program. I would definitely suggest enabling and disabling controls to only allow events to happen that make sense at that point in time. This would prevent a flood of events being added to the front of the queue if the user decides to go on a clicking spree.
  12. 1 point
    Thanks team. I have achieved the authentication using .NET. But it is little slow. Let me try some other methods and post the updates..
  13. 1 point
    I tried installing the new VIPM2017 for Linux in a clean Fedora 27 virtual machine just to give it a try but I can't get it to do anything. I followed the two basic steps: 1) install LVRTE 2015SP1 which installs without any problems or errors 2) copy JKI folder to /usr/local as described in the instruction.txt When launching vipm I just get the blunt error: No such file or directory as shown below sudo ./vipm sudo: unable to execute ./vipm: No such file or directory What could be the problem and how could it be resolved?
  14. 1 point
  15. 1 point
    Tell me where to download the latest version state machine
  16. 1 point
    One of my colleagues almost fell down; he was so happy when I showed him this new feature. Excellent idea & implementation.
  17. 1 point
    I've been tasked with trying to build packages on MacOS, but so far I have not been able to successfully build anything. The builds complete without error, but when I try to open the packages I just built they do not contain any files. I'm running MacOS High Sierra which is not explicitly supported by any version of LabVIEW at the moment, but I'm using LabVIEW 2016. Has anyone successfully built packages on High Sierra?
  18. 1 point
    I've looked into the LabVIEW based API for VIPM, and was wondering if there is an equivalent for MacOS? In general, is there anyway to automate applying vipc files on MacOS? I'm looking to use VIPM as dependency management for a large application that supports windows and mac and I'd like to make applying a vipc part of the automated build process. I understand that the current VIPM API vi package is not compatible with MacOS. But on a low level it seems to just call an executable with key-value pairs as command line arguments, so I'm hopeful that VIPM on Mac is capable of similar functionality.
  19. 1 point
    I installed VIPM (2014 because that's the latest build for Mac) on MacOS. It's showing plenty of packages such as ones from NI, MGI, etc... But oddly, no JKI packages. So I can't find VI tester in the list. Any idea what could be causing that?
  20. 1 point
    Whoops, my bad. I don't really know VIPM very well. My co worker wrote: "I think you're looking at a re-packaged version of JKI VI Tester for MacOS that I made locally. VI Tester still shouldn't be available for mac through VIPM. "
  21. 1 point
    Thanks @Jim Kring for the quick response! Glad I wasn't crazy for thinking it could be done "in theory". My team is definitely in need of VIPM pro but in the near future we would need a way to automate applying vipc files during our build process. Using command line is actually great for our purposes.
  22. 1 point
    On my MacOS machine, VIPM can't find JKI VI Tester and all of the weblinks are vipm:// links and don't seem to work on MacOS. Is there a plan old download link for vi tester .vip file?
  23. 1 point
    I am using a class that I want to generate an xml to archive as final data. I can't just wire the class to the easy generate xml_jki Easy.vi. so I have to use a constant cluster and unbundle and rebundle. Is there an easier way to do this. Thanx Norm
  24. 1 point
    Yes I can see the JKI packages. I noticed there appears to now be a "MacOS JKI VI Tester" package
  25. 1 point
    It worked. Only issue is when opening the visual tester it looks for some stuff from registry.llb (or dll I can't remember) and I have to ignore it, but the tester ran fine after ignoring those files.
  26. 1 point
    I understand cleaning up references is generally a good thing, but is there a reason the JKI State Machine attempts to close the This VI reference of a VI that is in memory? This in my mind is basically a no-op and can be removed because the close can't remove the VI from memory since that is the VI that is running. Which brings me to question why we even get a copy of the This VI reference and put it in the shift register. If you have a property or invoke node set to the VI Server class "VI" then you can leave the reference unwired and it assumes "This VI", which is actually seen in the "Initialize Core Data" case. Is there a good reason to keep a copy of This VI in the cluster? And if so is there a good reason to have a Close Reference in cleanup?
  27. 1 point
    I have a colleague that is interested in learning LabVIEW and I want to get him started on the JKI SM (and SMOs) right out of the gate. Are there any ready-made presentations that demonstrate the common pitfalls facing a new developer, and how the JKI SM handles them? Thank you, Jim
  28. 1 point
    Perfect Jim, thanks. I'll try the workaround and keep an eye out for the fix. I'm not permitted to follow that link, is the workaround the same as Jens Gräwe suggests here?: https://support.jki.net/hc/en-us/community/posts/360000027103-Error-in-Deactivation-Infos-in-VIPM-Pro Cheers, Steen
  29. 1 point
    Confirmed this error on LabVIEW 2017 (no SP1 yet), and VIPM 2017.0.0f1. I'll try it on LabVIEW 2017 SP1 in a few days.
  30. 1 point
    Hello JKI, I wanted to follow up on this issue as it seems that Deactivation still does not work when Binding a license in VIPM Pro. When a product uses this feature in VIPM, and a customer tries to deactivate, they are given an error "Unknown Error". This error is not given if a developer uses the "add-on Licensing Tool" inside LabVIEW and doesn't bind a license during build time. Here is how to reproduce the problem: Install TPLAT from VIPM: vipm://ni_lib_tplat License an LVLIB using TPLAT Standard Mode (Tools > Add-on Licensing Tool) Delete the licensed source code, but keep the .lf file that was created Create a VIPM build spec with the unlicensed lvlib Enable "Bind License to Library at Build Time" in "Licensing and Activation tab. Enable deactivation and use the credentials as described in your help document (http://jkisoft.com/vipm/docs/2014/index.html?turl=licensingactivation.htm) Build package Install Package on test machine Create a test license in SOLO server for the product Activate the product in LabVIEW with test license Deactivate the product in LabVIEW and receive an "UNKNOWN ERROR!" Has there been any investigation into this issue and is there any timeline for resolving it? Please let me know if you need any information from our side. Thanks for your help, David
  31. 1 point
    Note that if you do this you are committed to making sure that any sequence of “states” you call must be able to handle any possible external interruption at any point. In other words, you must be super vigilant against race conditions. With the “idle” method, one can choose where in a sequence of steps one will accept outside input. For example, if you had the macro: Take Data Analysis Data Save Analysis and also a “Set Parameter” event that changes a parameter used in Analysis and Save, then you have a race condition where the analysis may be saved with a different parameter value, if the “Set Parameter” happens between Analysis and Save.
  32. 1 point
    Hello, I've been trying to implement an application using the state machine template. Using Javier Ruiz's excellent webinar as a guide, I configured the template using a 9022 RT with a 9116 chassis. The FPGA code runs well but I get this message when executing the RT: Error 53 occurred at Property Node (arg 1) in RT Main.vi Possible reason(s): LabVIEW: Manager call not supported. I am using LV 2014sp1. I've tried this using the 9024 RT and a sbRIO9641 - both issue the same error. Any ideas as to my (obvious) incompetence? Thanks!
  33. 1 point
    Hello Javier, Ah yes, that solved my problem. You are a giant among LabVIEW developers! Thank you so much. Regards, Kurt
  34. 1 point
    In this example, we show how you can refactor existing code. We have taken the 3 button dialog that ships with the base version of LabVIEW and upgraded it to use the JKI State Machine template. We have not added or changed any functionality. Also, we have not changed the way the functionality is implemented. Here is a screenshot showing how the VI looked before the refactoring: Here is a screenshot showing how the VI looked after applying the JKI State Machine template: We've attached the the refactored VI that has been written in LabVIEW 8.2. Remember that you need to have the JKI State Machine package installed in your version of LabVIEW. Click here for information on how to install the JKI State Machine. Three_Button_Dialog_CORE___JKI.vi The original VI is located at: \Utility\error.llb\Three Button Dialog CORE.vi Click here to watch a video that describes some of the design thought process used in the re-factoring: Video: Refactoring the LabVIEW three button dialog

Important Information

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