JKI State Machine Objects™ (SMO) is an easy-to-use yet powerful object-oriented framework based on the JKI State Machine. It is the very same framework that is used by the JKI team in our everyday project work, and is the result of years of refinement by our team of LabVIEW™ experts.
Download and install the JKI SMO Editor using VI Package Manager. This will install the JKI SMO package and create a utility in the LabVIEW Tools menu to create new SMOs from a template.
You can also directly download and install JKI SMO with VI Package Manager.
After installing the JKI SMO Editor, you can go to the Tools menu in LabVIEW and open the Editor window.
Then, select a destination folder, template, and name for your new SMO class.
When you are ready, click on the + button and ... voilà, you have created a brand new SMO class.
The main part of any SMO class is the Process.vi method. This method consists of a JKI State Machine with some extra elements built into it that are part of the SMO framework. You should customize this VI to fit the needs of your application.
Now that you are an SMO framework expert, you can run the [your class name].TestLauncher.vi method and you will be asynchronously launching the JKI State Machine inside the Process.vi method.
Have fun and let us know what you think!
Make sure to check out and collaborate on the SMO templates repository.
You can find a very cool example on how to use JKI SMO under the palette in LabVIEW.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request
To contribute to JKI SMO, you will need a 32-bit LabVIEW 2013 professional development environment.
JKI State Machine Objects is an open source project maintained by JKI.
JKI State Machine Objects is distributed under the open source three clause BSD license providing everyone right to use and distribute both souce code and compiled versions of JKI State Machine Objects. See LICENSE file for details.