JKI State Machine Objects

Highlighted

What you need to know about the State Machine Objects framework: Intro

Take a look at our latest blog post to learn some of the basics about the framework, including a short video on how to create your first SMO class.

sm-smo-graphic (1).jpg

Javier Ruiz - Partner at JKI
jki.net
vipm.io
Message 1 of 9
(6,465 Views)
8 REPLIES 8
Highlighted

Re: What you need to know about the State Machine Objects framework: Intro

I am still at the beginning to understand the concept of the framework and I think I did not catch the idea behind it completely. What is the reason behind the converting from object to reference number than to ref of cluster and back  to object ?.

Message 2 of 9
(5,301 Views)
Highlighted

Re: What you need to know about the State Machine Objects framework: Intro

Hi jeornheit,

Thanks for the comment. This is a good questions when it comes to ByReference SMOs. Using a reference number instead of directly the DVR on the private data allows for faster edit-time performance. The only caveat is that we had to add the Ref to DVR and DVR to Ref methods wrapping the in place structure that accesses the DVR's data (as shown below).

DVR to Ref.png

I hope that helps!

Javier Ruiz - Partner at JKI
jki.net
vipm.io
Message 3 of 9
(5,301 Views)
Highlighted

Re: What you need to know about the State Machine Objects framework: Intro

Hi all!

There is a thing wich is or missing, or I am too bad at finding it.

You provide number of templates, which differ severly in functionality. However, I cannot find practical description of whea actually they do.

E.g. If I wouldn't read the post about dependency insertion, I would have no clue that "Instrument" template allows for such thing.

Is there any documentation, or plan for cerating one, which describes those "hidden" (i.e. not avaliable through SMO editor) features?

Message 4 of 9
(5,301 Views)
Highlighted

Re: What you need to know about the State Machine Objects framework: Intro


@_Mike_ wrote:

Hi all!

 

There is a thing wich is or missing, or I am too bad at finding it.

You provide number of templates, which differ severly in functionality. However, I cannot find practical description of whea actually they do.

 

E.g. If I wouldn't read the post about dependency insertion, I would have no clue that "Instrument" template allows for such thing.

 

Is there any documentation, or plan for cerating one, which describes those "hidden" (i.e. not avaliable through SMO editor) features?


+1.

 

It'ss been 3 years since this comment. Is there any documentation available?

 

Lack of real documentation about JKI SMO is really not helping me adopt it. I have a CLD for quite some time now, but I guest I'm not smart enough to just guess how the SMO works, how templates differ, etc.

Even the HAL webinar video skips over some of the more detailed aspects and does not explain why he chose the Instrument template for microscope, and ByRefWithEvent for XYstage and Camera.

Message 5 of 9
(1,662 Views)
Highlighted

Re: What you need to know about the State Machine Objects framework: Intro

+1 and 7 month. It looks like for us there is no way to use SMO's (despite that according to HAL webinar this is exactly a thing that we need). No documentation, and even an example from HAL webinar is impossible to run with the latest JKI framework.

0 Kudos
Message 6 of 9
(867 Views)
Highlighted

Re: What you need to know about the State Machine Objects framework: Intro

Check this discussion : https://forums.ni.com/t5/JKI-State-Machine-Objects/JKI-SMO-vs-Actor-Framework/gpm-p/3992000#M123

Francois acknowledges the lack of doc and vows to make videos


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Kudos
Message 7 of 9
(858 Views)
Highlighted

Re: What you need to know about the State Machine Objects framework: Intro


@D_mitriy wrote:

even an example from HAL webinar is impossible to run with the latest JKI framework.


@D_mitriy, can you tell me what is missing to make the example code run? If there is a backwards compatibility issue, I would like to fix it. (Have you applied the VI package configuration before loading the project?)

GCentralChampionCLA
0 Kudos
Message 8 of 9
(822 Views)
Highlighted

Re: What you need to know about the State Machine Objects framework: Intro

The problem that I found was that the events in the event structure was broken. I think the state machine editor had something to do with it.

 

What I did was disconnected the wires in the Register Events case and then shorten and unshorten the user event register vi..

 

Going back into the idle case I had to reassign events to the event structure that was broken.

 

Next, I had to fix the Dictionary SMO. I think it was a similar problem. I don't remember exactly off the top of my head.

0 Kudos
Message 9 of 9
(115 Views)
Reply
This is an open group. Sign in and click the "Join Group" button to become a group member and start posting.