Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation since 02/19/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
    Hello, I am having trouble loading tests. When VI tester starts it doesn't find my tests. I can manually load 1 test by File/Open File or test class. I can't load multiple tests. I have my classes in folders. Do the test classes need to be in the top level of my project? I have them in a auto populating folder called "Unit tests? Thanks Dan
  4. 1 point
    Tell me where to download the latest version state machine
  5. 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.
  6. 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-1.0.0.6 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
  7. 1 point
    Thank you for giving me hope and help! Kindest Regards, Brian
  8. 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
  9. 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
  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
  14. 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?
  15. 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.
  16. 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.
  17. 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?
  18. 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
  19. 1 point
    Yes I can see the JKI packages. I noticed there appears to now be a "MacOS JKI VI Tester" package
  20. 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.
  21. 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?
  22. 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
  23. 1 point
    There are a number of items that are not adequately covered in the documentation OR (in the case of the video) actually show you the wrong way to do things. This is not intentional on JKI's part but rather the result of improvements to the VI Tester which didn't get added to the pinned getting started stuff. Important things to be aware of (tested with LabVIEW 2014 32 bit): *) Don't copy the testExample.vit as per the video as you won't be able to see your tests EVER! The .vit is a template file and the VI Tester ignores all templates. You need to right click on the testExample.vit and select "New from template" and save your VI starting with the word test and ending with .vi (not.vit) eg. test-anything.vi Rob Calhoun also makes the following important points in this post Test Cases that do not have any test methods do not appear in VI Tester hierarchy. (Maybe this is a feature, but it's not what I would expect.) After creating and saving a new test method the Test Case still does not appear in the VI Tester hierarchy. This is because the Test Case (class) has not been saved, so it still has no test methods from the point of the VI Tester Only test methods that start with the word "test" (at least this appears to be case-insensitive) are considered test methods.
  24. 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.
  25. 1 point
    Hello Javier, Ah yes, that solved my problem. You are a giant among LabVIEW developers! Thank you so much. Regards, Kurt
×

Important Information

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