JKISoftware / JKI-State-Machine-Objects

Object-oriented framework for LabVIEW based on the JKI State Machine
BSD 3-Clause "New" or "Revised" License
95 stars 56 forks source link
active-object actor-model jki-smo jki-state-machine labview smo smo-framework

Do you have JKI State Machine questions, ideas, or challenges you'd like discuss? Join the conversation happening in the JKI State Machine Objects Community Forum.

smo_logo.png

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.

SMO-Usage.png

Installation

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.

Get JKI SMO and SMO Editor

Useful Videos

Usage

After installing the JKI SMO Editor, you can go to the Tools menu in LabVIEW and open the Editor window.

SMO-Editor.png

Then, select a destination folder, template, and name for your new SMO class.

New-SMO-Editor.png

When you are ready, click on the + button and ... voilà, you have created a brand new SMO class.

New-SMO-Class.png

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!

Templates

Make sure to check out and collaborate on the SMO templates repository.

Examples

You can find a very cool example on how to use JKI SMO under the palette in LabVIEW.

SMO-Example-FP.png

Support

Do you have JKI State Machine questions, ideas, or challenges you'd like discuss? Join the conversation happening in the JKI State Machine Objects Community Forum.

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request

To contribute to JKI SMO, you will need a 32-bit LabVIEW 2013 professional development environment.

Credits

JKI State Machine Objects is an open source project maintained by JKI.

License

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.