Go to Post With people from the high northeast, mid east, mid west and far west all in one hotel room, we had the time of our lives simply by sitting there. - Keith Chester [more]
Home
Go Back   Chief Delphi > Technical > Programming > NI LabVIEW
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 15-02-2012, 12:07
Nemo's Avatar
Nemo Nemo is offline
Team 967 Mentor
AKA: Dan Niemitalo
FRC #0967 (Iron Lions)
Team Role: Coach
 
Join Date: Nov 2009
Rookie Year: 2009
Location: Iowa
Posts: 803
Nemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond repute
LabView State Machine Toolkit

Here is a link to a free LabView toolkit that teams might find helpful for autonomous code (we are using it in ours). One of our software mentors has been working with his employer to make this available online (it had already been something that they give away free), and they finally put it online today.

http://www.jetinc.net/tools
It is free, but it does ask for your email so they can track who is using the toolkit.

Our LabView mentor explains what the toolkit does:

"The toolkit is a custom queued state machine toolkit. a QSM allows the users to very quickly and compactly put together very complex code with small physical footprint by breaking it into multiple cases in a state machine, rather than long chunks of sequential code. The big advantage to an FRC team is that flexibility it allows in the creation of cases that be used in different orders. The order of execution is defined by how you enqueue items into the controlling queue, not the order in which they occurs in the vi themselves."

Hopefully some other teams will find this useful.
Reply With Quote
  #2   Spotlight this post!  
Unread 15-02-2012, 14:45
Greg Young Greg Young is offline
Science Enabler
FRC #0587 (Hedgehogs)
Team Role: Mentor
 
Join Date: Jun 2001
Rookie Year: 2001
Location: Hillsborough, NC
Posts: 65
Greg Young has a spectacular aura aboutGreg Young has a spectacular aura about
Re: LabView State Machine Toolkit

Looks interesting. I can see a couple of ways it may be useful but couldn't find any documentation.

Where do I find the documentation?

Thanks
__________________
To invent, you need a good imagination and a pile of junk. -- T.A.Edison
My wife says I must need to work on the imagination thing.
Reply With Quote
  #3   Spotlight this post!  
Unread 16-02-2012, 23:02
kentwedeking's Avatar
kentwedeking kentwedeking is offline
LabVIEW Zealot
FRC #0967
Team Role: Mentor
 
Join Date: Feb 2012
Rookie Year: 2009
Location: Marion, IA
Posts: 3
kentwedeking is on a distinguished road
Re: LabView State Machine Toolkit

Readme.txt

Greg,
Attached is the read me text file that is supposed to ship with the installer and apparently doesn't. Sorry.

Basically, what's REALLY important is that you can open up your Autonomous vi, scroll to the middle of nowhere, and if you go to your functions palette/JET/QSM Template.vi, it will drop the template for you ... while loop .. major functions, case structure already populated.

If you haven't used a QSM before, you're in for a ride, but its a ride you'll never regret going on. We use this toolkit in everything we do at JET. Its the most useful piece of reuse code I've ever had the pleasure of working with.

Basically, a QSM is a state machine, but it uses a queue to process states. In any state, which is an individual case in the case structure, you can add additional states to the queue. You can add them to the end of the queue, and they will run in the order added, AFTER any states already in the queue, or you can "add to front" and they will run immediately.

I'll try to put together some sample code.

One other important thing ... they is a cluster running along the top of the vi ... this is the status cluster or, if you prefer, the GAC for "giant a** cluster." basically, what you do is all of your data that you might use from state to state goes into the status cluster. MAKE SURE YOU TYPE DEFINE IT. For example, we are opening ANY references we might need our code for IO in a state called "References: Get", which is initially called in the "VI Initialize" case, which is ALWAYS the first case that runs. In "References: Get" we open any refs we might need, and then stick them into the status cluster. Then anywhere we need them, we use an Unbundle by Name to use them.

Hope this gets you started. I'll monitor this thread and provide any support I can.

Kent
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 03:55.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi